@codemem/server 0.46.3 → 0.47.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/static/app.js.br CHANGED
Binary file
package/static/app.js.gz CHANGED
Binary file
@@ -1,5 +1,136 @@
1
- /* Global native-control baseline. Keep selectors low-specificity so component
2
- * styles can refine layout and variants without opting out of theme safety. */
1
+ /* Shared control defaults. Native selectors stay low-specificity; component
2
+ * classes own shared geometry and let callers refine layout and size. */
3
+
4
+ :root {
5
+ --control-height: 38px;
6
+ --control-button-height: 36px;
7
+ --control-compact-height: 30px;
8
+ --control-focus-shadow: 0 0 0 3px var(--focus-ring);
9
+ --popup-radius: var(--radius-md);
10
+ --popup-shadow: var(--shadow-lg);
11
+ --popup-padding: 6px;
12
+ }
13
+
14
+ .radix-select-trigger,
15
+ select.native-select:not([multiple]):not([hidden]):not([aria-hidden="true"]):where(:not([size]), [size="0"], [size="1"]) {
16
+ display: inline-flex;
17
+ align-items: center;
18
+ justify-content: space-between;
19
+ gap: var(--sp-2);
20
+ width: var(--select-width, 100%);
21
+ min-width: var(--select-min-width, 0);
22
+ min-height: var(--control-height);
23
+ padding: var(--sp-2) var(--sp-3);
24
+ border: 1px solid var(--border);
25
+ border-radius: var(--radius-sm);
26
+ background: var(--input-bg);
27
+ color: var(--text-primary);
28
+ font-family: var(--font-sans);
29
+ font-size: var(--font-size-md);
30
+ text-align: left;
31
+ transition: border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);
32
+ }
33
+
34
+ /* Intentional native variant: keep select.value, input/change events and the
35
+ * platform picker. Opt in explicitly so Radix bubble selects stay untouched;
36
+ * multiple/size listboxes retain their native presentation. appearance:none
37
+ * also lets Safari apply the shared padding instead of its menu-button inset.
38
+ * Two token-colored strokes match the chevron within Radix's 14px icon box. */
39
+ select.native-select:not([multiple]):not([hidden]):not([aria-hidden="true"]):where(:not([size]), [size="0"], [size="1"]) {
40
+ appearance: none;
41
+ display: inline-block;
42
+ box-sizing: border-box;
43
+ max-width: 100%;
44
+ /* WebKit otherwise paints the selected option beyond the select's box,
45
+ * contributing that text to document scroll width despite width:100%. */
46
+ overflow: hidden;
47
+ text-overflow: ellipsis;
48
+ white-space: nowrap;
49
+ line-height: 20px;
50
+ padding-right: calc(var(--sp-3) + 14px + var(--sp-2));
51
+ background-image:
52
+ linear-gradient(45deg, transparent 38%, var(--text-tertiary) 38% 62%, transparent 62%),
53
+ linear-gradient(-45deg, transparent 38%, var(--text-tertiary) 38% 62%, transparent 62%);
54
+ background-position: right calc(var(--sp-3) + 7px) center, right calc(var(--sp-3) + 3.5px) center;
55
+ background-size: 3.5px 3.5px;
56
+ background-repeat: no-repeat;
57
+ }
58
+
59
+ .radix-select-trigger[data-size="compact"],
60
+ select.native-select[data-size="compact"]:not([multiple]):not([hidden]):not([aria-hidden="true"]):where(:not([size]), [size="0"], [size="1"]) {
61
+ min-height: var(--control-compact-height);
62
+ padding: 5px 10px;
63
+ font-size: var(--font-size-sm);
64
+ line-height: 18px;
65
+ }
66
+
67
+ select.native-select[data-size="compact"]:not([multiple]):not([hidden]):not([aria-hidden="true"]):where(:not([size]), [size="0"], [size="1"]) {
68
+ padding-right: calc(10px + 14px + var(--sp-2));
69
+ background-position: right calc(10px + 7px) center, right calc(10px + 3.5px) center;
70
+ }
71
+
72
+ .radix-select-trigger:hover:not(:disabled),
73
+ select.native-select:not([multiple]):not([hidden]):not([aria-hidden="true"]):where(:not([size]), [size="0"], [size="1"]):hover:not(:disabled) {
74
+ border-color: var(--border-hover);
75
+ }
76
+
77
+ .radix-select-trigger > span:first-child,
78
+ .radix-select-item > span:first-child {
79
+ min-width: 0;
80
+ overflow: hidden;
81
+ text-overflow: ellipsis;
82
+ white-space: nowrap;
83
+ }
84
+
85
+ .radix-select-icon,
86
+ .radix-select-indicator {
87
+ display: inline-flex;
88
+ flex: 0 0 auto;
89
+ }
90
+
91
+ .radix-select-icon { color: var(--text-tertiary); }
92
+ .radix-select-indicator { color: var(--accent); }
93
+
94
+ .radix-select-content {
95
+ z-index: 30;
96
+ min-width: var(--radix-select-trigger-width);
97
+ max-width: min(420px, calc(100vw - 24px));
98
+ max-height: var(--radix-select-content-available-height);
99
+ overflow: hidden;
100
+ border: 1px solid var(--border);
101
+ border-radius: var(--popup-radius);
102
+ background: var(--surface-1);
103
+ box-shadow: var(--popup-shadow);
104
+ }
105
+
106
+ .radix-select-viewport { padding: var(--popup-padding); }
107
+
108
+ .radix-select-item {
109
+ position: relative;
110
+ display: flex;
111
+ align-items: center;
112
+ justify-content: space-between;
113
+ gap: var(--sp-3);
114
+ min-height: var(--control-button-height);
115
+ padding: var(--sp-2) var(--sp-3);
116
+ border-radius: var(--radius-sm);
117
+ color: var(--text-primary);
118
+ font-family: var(--font-sans);
119
+ font-size: var(--font-size-md);
120
+ cursor: pointer;
121
+ user-select: none;
122
+ }
123
+
124
+ .radix-select-item[data-highlighted] {
125
+ outline: none;
126
+ background: var(--accent-subtle);
127
+ color: var(--accent);
128
+ }
129
+
130
+ .radix-select-item[data-disabled] {
131
+ opacity: 0.45;
132
+ cursor: default;
133
+ }
3
134
 
4
135
  :where(button, input, select, textarea) {
5
136
  color: var(--text-primary);
@@ -93,6 +224,34 @@
93
224
  box-shadow: 0 0 0 4px var(--focus-ring);
94
225
  }
95
226
 
227
+ /* Text fields and selects share the inset-safe halo; buttons retain an
228
+ * offset outline. This also covers fields without feature-specific classes. */
229
+ input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="button"]):not([type="reset"]):not([type="submit"]):focus-visible,
230
+ textarea:focus-visible,
231
+ select:focus-visible,
232
+ select.native-select:not([multiple]):not([hidden]):not([aria-hidden="true"]):where(:not([size]), [size="0"], [size="1"]):focus-visible,
233
+ .radix-select-trigger:focus-visible {
234
+ outline: none;
235
+ border-color: var(--accent);
236
+ box-shadow: var(--control-focus-shadow);
237
+ }
238
+
239
+ .sync-legacy-button,
240
+ .settings-button,
241
+ .settings-save {
242
+ display: inline-flex;
243
+ align-items: center;
244
+ justify-content: center;
245
+ box-sizing: border-box;
246
+ min-height: var(--control-button-height);
247
+ padding: var(--sp-2) var(--sp-3);
248
+ border-radius: var(--radius-md);
249
+ font-family: var(--font-sans);
250
+ font-size: var(--font-size-sm);
251
+ line-height: 18px;
252
+ white-space: nowrap;
253
+ }
254
+
96
255
  :where(input[type="checkbox"], input[type="radio"]) {
97
256
  appearance: none;
98
257
  display: inline-grid;
@@ -186,11 +345,24 @@
186
345
  }
187
346
 
188
347
  @media (forced-colors: active) {
348
+ select.native-select:not([multiple]):not([hidden]):not([aria-hidden="true"]):where(:not([size]), [size="0"], [size="1"]) {
349
+ appearance: auto;
350
+ background-image: none;
351
+ }
352
+
189
353
  :where(input[type="checkbox"], input[type="radio"]) {
190
354
  appearance: auto;
191
355
  }
192
356
 
193
- :where(button, input, select, textarea):focus-visible {
357
+ :is(button, input, select, textarea):focus-visible {
358
+ outline: 2px solid CanvasText;
359
+ }
360
+
361
+ input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="button"]):not([type="reset"]):not([type="submit"]):focus-visible,
362
+ textarea:focus-visible,
363
+ select:focus-visible,
364
+ select.native-select:not([multiple]):not([hidden]):not([aria-hidden="true"]):where(:not([size]), [size="0"], [size="1"]):focus-visible,
365
+ .radix-select-trigger:focus-visible {
194
366
  outline: 2px solid CanvasText;
195
367
  }
196
368
  }
Binary file
Binary file