Commit 38710da
Switch the language control to a native select
The menu was a <details> with a hand-built option list, and eighteen of its
lines re-implemented Escape-to-close and click-away-to-close. A <select> comes
with those, plus keyboard navigation, focus handling and the mobile picker.
code-blocks.js drops from 256 lines to 201, and the CSS loses the popup panel
along with it.
The trigger still matches the design. The list it opens is the browser's, so
that part no longer matches the Figma panel: worth Mandy's eye before this
merges.
The caret is a mask on a wrapper span, since a <select> renders no
pseudo-element of its own and a background image cannot follow the theme.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>1 parent 5b4f030 commit 38710da
4 files changed
Lines changed: 73 additions & 138 deletions
File tree
- src
- assets/icons
- scripts/modules
- styles
- tests
Loading
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
12 | | - | |
13 | | - | |
14 | | - | |
15 | | - | |
16 | | - | |
17 | | - | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | 11 | | |
24 | 12 | | |
25 | 13 | | |
| |||
33 | 21 | | |
34 | 22 | | |
35 | 23 | | |
36 | | - | |
| 24 | + | |
37 | 25 | | |
38 | 26 | | |
39 | | - | |
| 27 | + | |
| 28 | + | |
40 | 29 | | |
41 | 30 | | |
42 | 31 | | |
43 | 32 | | |
44 | | - | |
| 33 | + | |
45 | 34 | | |
46 | 35 | | |
47 | 36 | | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
59 | 40 | | |
60 | | - | |
61 | | - | |
62 | | - | |
63 | | - | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
64 | 47 | | |
65 | | - | |
| 48 | + | |
| 49 | + | |
66 | 50 | | |
67 | 51 | | |
68 | 52 | | |
69 | 53 | | |
70 | 54 | | |
71 | 55 | | |
72 | | - | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
| 56 | + | |
79 | 57 | | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
96 | | - | |
97 | | - | |
98 | | - | |
99 | | - | |
100 | | - | |
101 | | - | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
102 | 62 | | |
103 | | - | |
104 | | - | |
105 | | - | |
106 | | - | |
107 | | - | |
108 | | - | |
109 | | - | |
110 | | - | |
111 | | - | |
112 | | - | |
113 | | - | |
114 | | - | |
115 | | - | |
116 | | - | |
117 | | - | |
118 | | - | |
119 | | - | |
| 63 | + | |
| 64 | + | |
120 | 65 | | |
121 | 66 | | |
122 | 67 | | |
| |||
170 | 115 | | |
171 | 116 | | |
172 | 117 | | |
173 | | - | |
| 118 | + | |
174 | 119 | | |
175 | 120 | | |
176 | 121 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2783 | 2783 | | |
2784 | 2784 | | |
2785 | 2785 | | |
2786 | | - | |
2787 | | - | |
| 2786 | + | |
| 2787 | + | |
| 2788 | + | |
2788 | 2789 | | |
| 2790 | + | |
| 2791 | + | |
2789 | 2792 | | |
2790 | 2793 | | |
2791 | | - | |
2792 | | - | |
| 2794 | + | |
| 2795 | + | |
| 2796 | + | |
2793 | 2797 | | |
| 2798 | + | |
| 2799 | + | |
2794 | 2800 | | |
2795 | 2801 | | |
2796 | | - | |
2797 | | - | |
2798 | | - | |
2799 | | - | |
2800 | | - | |
2801 | | - | |
2802 | | - | |
2803 | | - | |
2804 | | - | |
2805 | | - | |
2806 | | - | |
2807 | | - | |
2808 | | - | |
| 2802 | + | |
| 2803 | + | |
| 2804 | + | |
| 2805 | + | |
2809 | 2806 | | |
2810 | | - | |
2811 | | - | |
2812 | | - | |
2813 | | - | |
2814 | | - | |
2815 | | - | |
2816 | | - | |
2817 | | - | |
2818 | | - | |
2819 | | - | |
2820 | | - | |
2821 | | - | |
2822 | | - | |
2823 | | - | |
2824 | | - | |
2825 | | - | |
2826 | | - | |
2827 | | - | |
2828 | | - | |
2829 | | - | |
2830 | | - | |
2831 | | - | |
2832 | | - | |
2833 | | - | |
2834 | | - | |
2835 | | - | |
2836 | | - | |
2837 | | - | |
2838 | | - | |
2839 | | - | |
2840 | | - | |
2841 | | - | |
2842 | | - | |
| 2807 | + | |
| 2808 | + | |
| 2809 | + | |
| 2810 | + | |
| 2811 | + | |
| 2812 | + | |
| 2813 | + | |
| 2814 | + | |
2843 | 2815 | | |
2844 | 2816 | | |
2845 | 2817 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
43 | | - | |
| 43 | + | |
44 | 44 | | |
45 | | - | |
| 45 | + | |
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
| |||
87 | 87 | | |
88 | 88 | | |
89 | 89 | | |
90 | | - | |
| 90 | + | |
91 | 91 | | |
92 | 92 | | |
93 | 93 | | |
94 | 94 | | |
95 | 95 | | |
96 | | - | |
97 | | - | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
98 | 102 | | |
99 | 103 | | |
100 | 104 | | |
101 | 105 | | |
102 | 106 | | |
103 | | - | |
104 | | - | |
105 | | - | |
106 | | - | |
| 107 | + | |
107 | 108 | | |
108 | | - | |
109 | 109 | | |
110 | 110 | | |
111 | 111 | | |
112 | 112 | | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
113 | 127 | | |
114 | 128 | | |
115 | 129 | | |
| |||
0 commit comments