@epilot/zenith-react 0.3.0-next.15 → 0.3.0-next.17
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/CHANGELOG.md
CHANGED
|
@@ -5,7 +5,7 @@ history belongs to the source project and remains available through Git.
|
|
|
5
5
|
|
|
6
6
|
## Unreleased
|
|
7
7
|
|
|
8
|
-
## [0.3.0-next.
|
|
8
|
+
## [0.3.0-next.17] - 2026-11-02
|
|
9
9
|
|
|
10
10
|
- changed: Release preparation takes the changelog version from the package manifest, validates fragments by one rule that the merge request gate shares, checks the real packed tarball and keeps it for publishing, keeps the host bundle out of the runtime package, and stops a React-only release on unpublished runtime changes. Private workspace versions no longer need to follow the React release. — @wmolinari ([!164](https://gitlab.com/e-pilot/product/frontend/zenith/-/merge_requests/164))
|
|
11
11
|
- **BREAKING**: `@epilot/zenith-react/tokens.json` no longer has a `version` field; read the version from `@epilot/zenith-react/package.json`. — @wmolinari ([!164](https://gitlab.com/e-pilot/product/frontend/zenith/-/merge_requests/164))
|
|
@@ -13,6 +13,7 @@ history belongs to the source project and remains available through Git.
|
|
|
13
13
|
- removed: **BREAKING**: from FieldCombobox and Command: `FieldComboboxItem`'s `keywords` and `forceMount` (pass `filter={null}` for items the caller already filtered), `FieldComboboxGroup`'s `value` and `forceMount` (a group is its data, `{ value, items }`: key and label it with that `value`, and pass `filter={null}` with the caller's own filtering to keep a group that cmdk force-mounted), `FieldComboboxLoading`'s `progress` and `label`, `FieldComboboxSeparator`'s `alwaysRender`, `FieldComboboxList`'s `label` (pass `aria-label`), `id` on `FieldComboboxList` and `FieldComboboxItem` (Base UI's ids are what `aria-controls` and `aria-activedescendant` point at), `asChild` on every search part, Label's props on `FieldComboboxGroupLabel` (now a `<div>`), cmdk's fuzzy ranking, Home/End, Ctrl+N/J/P/K and the Alt/Meta arrow jumps, the `cmdk-*` attributes, and the `cmdk` dependency, so `dist/` bundles no `@radix-ui` module (#106) — @wmolinari ([!151](https://gitlab.com/e-pilot/product/frontend/zenith/-/merge_requests/151)) (experiment: https://gitlab.com/e-pilot/product/frontend/zenith/-/merge_requests/151)
|
|
14
14
|
- changed: `FieldLabel` inside a `Field` renders with an id (a caller's own `id` wins), and `FieldComboboxList` points its `aria-labelledby` at the Field's label that names the trigger (the one whose `htmlFor` is the trigger's id, else the first `FieldLabel`), so the list carries the trigger's name (#106) — @wmolinari ([!151](https://gitlab.com/e-pilot/product/frontend/zenith/-/merge_requests/151)) (experiment: https://gitlab.com/e-pilot/product/frontend/zenith/-/merge_requests/151)
|
|
15
15
|
- added: `FieldComboboxCollection`, which renders a `FieldComboboxGroup`'s matches. This release requires `@epilot/zenith-runtime` 0.3.0 or later (serves autocomplete); release the runtime and deploy root-config first (#106) — @wmolinari ([!151](https://gitlab.com/e-pilot/product/frontend/zenith/-/merge_requests/151)) (experiment: https://gitlab.com/e-pilot/product/frontend/zenith/-/merge_requests/151)
|
|
16
|
+
- changed: the combobox search row draws no focus frame. The caret marks focus, and the placeholder and typed text stay clear of the row's edges (#106) — @wmolinari ([!151](https://gitlab.com/e-pilot/product/frontend/zenith/-/merge_requests/151)) (experiment: https://gitlab.com/e-pilot/product/frontend/zenith/-/merge_requests/151)
|
|
16
17
|
|
|
17
18
|
## [0.2.2] - 2026-10-30
|
|
18
19
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import * as
|
|
1
|
+
import { jsx as n, jsxs as B } from "react/jsx-runtime";
|
|
2
|
+
import * as i from "react";
|
|
3
3
|
import { Autocomplete as g } from "../../_virtual/_zenith-runtime-family_autocomplete.js";
|
|
4
|
-
import { mergeClasses as l, SLOT_ATTR as r, shorthands as
|
|
4
|
+
import { mergeClasses as l, SLOT_ATTR as r, shorthands as h } from "@epilot/zenith-runtime/v1";
|
|
5
5
|
import { makeZenithStyles as z } from "../../styles/make-styles.js";
|
|
6
6
|
import { boxModel as s } from "../../styles/host-reset.js";
|
|
7
|
-
import { spacingElement3 as f, spacingElement2 as m, fontWeightMedium as E, grayA11 as
|
|
8
|
-
import { Dialog as
|
|
9
|
-
const
|
|
7
|
+
import { spacingElement3 as f, spacingElement2 as m, fontWeightMedium as E, grayA11 as u, leadingXs as H, textXs as $, accentA3 as A, grayA12 as N, leadingSm as q, textSm as I, spacingElement1 as x, graySoft as Y, body as M, radiusSm as P, radiusMd as X, grayA3 as O } from "../../tokens/index.js";
|
|
8
|
+
import { Dialog as Z, DialogHeader as j, DialogTitle as _, DialogDescription as F, DialogContent as J } from "../dialog/dialog.js";
|
|
9
|
+
const K = (d) => /* @__PURE__ */ n(
|
|
10
10
|
"svg",
|
|
11
11
|
{
|
|
12
12
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -14,13 +14,13 @@ const Q = (i) => /* @__PURE__ */ a(
|
|
|
14
14
|
viewBox: "0 -960 960 960",
|
|
15
15
|
width: "24px",
|
|
16
16
|
fill: "currentColor",
|
|
17
|
-
...
|
|
18
|
-
children: /* @__PURE__ */
|
|
17
|
+
...d,
|
|
18
|
+
children: /* @__PURE__ */ n("path", { d: "M380-320q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l224 224q11 11 11 28t-11 28q-11 11-28 11t-28-11L532-372q-30 24-69 38t-83 14Zm0-80q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z" })
|
|
19
19
|
}
|
|
20
20
|
), c = z({
|
|
21
21
|
root: {
|
|
22
22
|
...s,
|
|
23
|
-
backgroundColor:
|
|
23
|
+
backgroundColor: M,
|
|
24
24
|
color: N,
|
|
25
25
|
display: "flex",
|
|
26
26
|
height: "100%",
|
|
@@ -28,27 +28,18 @@ const Q = (i) => /* @__PURE__ */ a(
|
|
|
28
28
|
flexDirection: "column",
|
|
29
29
|
overflowX: "hidden",
|
|
30
30
|
overflowY: "hidden",
|
|
31
|
-
...
|
|
31
|
+
...h.borderRadius(X)
|
|
32
32
|
},
|
|
33
33
|
inputWrapper: {
|
|
34
34
|
...s,
|
|
35
35
|
display: "flex",
|
|
36
36
|
alignItems: "center",
|
|
37
|
-
...
|
|
38
|
-
...
|
|
37
|
+
...h.gap(m),
|
|
38
|
+
...h.borderBottom("1px", "solid", O),
|
|
39
39
|
paddingLeft: f,
|
|
40
|
-
paddingRight: f
|
|
41
|
-
//
|
|
42
|
-
//
|
|
43
|
-
// the row's only focusable element and a text input matches :focus-visible whenever it has
|
|
44
|
-
// focus. Inset (negative), not the outward +2px every other audited control uses: the row sits
|
|
45
|
-
// flush against the edges of the Command root, which clips overflow for its rounded corners.
|
|
46
|
-
"&:focus-within": {
|
|
47
|
-
outlineWidth: "2px",
|
|
48
|
-
outlineStyle: "solid",
|
|
49
|
-
outlineOffset: "-2px",
|
|
50
|
-
outlineColor: M
|
|
51
|
-
}
|
|
40
|
+
paddingRight: f
|
|
41
|
+
// No focus frame: the caret marks focus, the example WCAG 2.4.7's Understanding gives for a
|
|
42
|
+
// text field. The row's padding keeps the text clear of the edges; the input keeps outline none.
|
|
52
43
|
},
|
|
53
44
|
searchIcon: {
|
|
54
45
|
...s,
|
|
@@ -62,7 +53,7 @@ const Q = (i) => /* @__PURE__ */ a(
|
|
|
62
53
|
height: "3rem",
|
|
63
54
|
display: "flex",
|
|
64
55
|
width: "100%",
|
|
65
|
-
...
|
|
56
|
+
...h.borderRadius(X),
|
|
66
57
|
backgroundColor: "transparent",
|
|
67
58
|
paddingTop: f,
|
|
68
59
|
paddingBottom: f,
|
|
@@ -70,7 +61,7 @@ const Q = (i) => /* @__PURE__ */ a(
|
|
|
70
61
|
lineHeight: q,
|
|
71
62
|
outlineStyle: "none",
|
|
72
63
|
"::placeholder": {
|
|
73
|
-
color:
|
|
64
|
+
color: u
|
|
74
65
|
},
|
|
75
66
|
":disabled": {
|
|
76
67
|
cursor: "not-allowed",
|
|
@@ -90,7 +81,7 @@ const Q = (i) => /* @__PURE__ */ a(
|
|
|
90
81
|
textAlign: "center",
|
|
91
82
|
fontSize: I,
|
|
92
83
|
lineHeight: q,
|
|
93
|
-
color:
|
|
84
|
+
color: u,
|
|
94
85
|
// Base UI keeps the empty state mounted as a live region and empties it while items match.
|
|
95
86
|
":empty": {
|
|
96
87
|
paddingTop: 0,
|
|
@@ -102,11 +93,11 @@ const Q = (i) => /* @__PURE__ */ a(
|
|
|
102
93
|
color: N,
|
|
103
94
|
overflowX: "hidden",
|
|
104
95
|
overflowY: "hidden",
|
|
105
|
-
...
|
|
96
|
+
...h.padding(x)
|
|
106
97
|
},
|
|
107
98
|
groupLabel: {
|
|
108
99
|
...s,
|
|
109
|
-
color:
|
|
100
|
+
color: u,
|
|
110
101
|
paddingLeft: m,
|
|
111
102
|
paddingRight: m,
|
|
112
103
|
paddingTop: "0.375rem",
|
|
@@ -128,8 +119,8 @@ const Q = (i) => /* @__PURE__ */ a(
|
|
|
128
119
|
display: "flex",
|
|
129
120
|
cursor: "default",
|
|
130
121
|
alignItems: "center",
|
|
131
|
-
...
|
|
132
|
-
...
|
|
122
|
+
...h.gap(m),
|
|
123
|
+
...h.borderRadius(P),
|
|
133
124
|
paddingLeft: m,
|
|
134
125
|
paddingRight: m,
|
|
135
126
|
paddingTop: "0.375rem",
|
|
@@ -156,28 +147,28 @@ const Q = (i) => /* @__PURE__ */ a(
|
|
|
156
147
|
height: "1rem"
|
|
157
148
|
},
|
|
158
149
|
"& svg:not([class*='text-'])": {
|
|
159
|
-
color:
|
|
150
|
+
color: u
|
|
160
151
|
}
|
|
161
152
|
},
|
|
162
153
|
shortcut: {
|
|
163
|
-
color:
|
|
154
|
+
color: u,
|
|
164
155
|
marginLeft: "auto",
|
|
165
156
|
fontSize: $,
|
|
166
157
|
lineHeight: H,
|
|
167
158
|
letterSpacing: "0.1em"
|
|
168
159
|
},
|
|
169
160
|
loading: {
|
|
170
|
-
color:
|
|
161
|
+
color: u
|
|
171
162
|
},
|
|
172
163
|
dialogContent: {
|
|
173
164
|
...s,
|
|
174
165
|
overflowX: "hidden",
|
|
175
166
|
overflowY: "hidden",
|
|
176
|
-
...
|
|
167
|
+
...h.padding(0)
|
|
177
168
|
},
|
|
178
169
|
dialogCommand: {
|
|
179
170
|
[`& [${r}="command-group-label"]`]: {
|
|
180
|
-
color:
|
|
171
|
+
color: u,
|
|
181
172
|
paddingLeft: m,
|
|
182
173
|
paddingRight: m,
|
|
183
174
|
fontWeight: E
|
|
@@ -220,24 +211,24 @@ const Q = (i) => /* @__PURE__ */ a(
|
|
|
220
211
|
overflowY: "hidden",
|
|
221
212
|
clip: "rect(0, 0, 0, 0)",
|
|
222
213
|
whiteSpace: "nowrap",
|
|
223
|
-
...
|
|
214
|
+
...h.borderWidth(0)
|
|
224
215
|
}
|
|
225
|
-
}),
|
|
216
|
+
}), G = i.createContext(""), Q = i.forwardRef(
|
|
226
217
|
function({
|
|
227
218
|
className: e,
|
|
228
219
|
"data-slot": o = "command",
|
|
229
220
|
items: t,
|
|
230
|
-
filter:
|
|
221
|
+
filter: a,
|
|
231
222
|
itemToStringValue: p,
|
|
232
223
|
limit: y,
|
|
233
|
-
value:
|
|
234
|
-
defaultValue:
|
|
224
|
+
value: b,
|
|
225
|
+
defaultValue: S,
|
|
235
226
|
onValueChange: w,
|
|
236
227
|
children: R,
|
|
237
228
|
...v
|
|
238
229
|
}, L) {
|
|
239
|
-
const T = c(), [k, C] =
|
|
240
|
-
return /* @__PURE__ */
|
|
230
|
+
const T = c(), [k, C] = i.useState(S ?? ""), W = b ?? k;
|
|
231
|
+
return /* @__PURE__ */ n(
|
|
241
232
|
g.Root,
|
|
242
233
|
{
|
|
243
234
|
inline: !0,
|
|
@@ -245,15 +236,15 @@ const Q = (i) => /* @__PURE__ */ a(
|
|
|
245
236
|
autoHighlight: "always",
|
|
246
237
|
keepHighlight: !0,
|
|
247
238
|
items: t,
|
|
248
|
-
filter:
|
|
239
|
+
filter: a,
|
|
249
240
|
itemToStringValue: p,
|
|
250
241
|
limit: y,
|
|
251
|
-
value:
|
|
252
|
-
defaultValue:
|
|
242
|
+
value: b,
|
|
243
|
+
defaultValue: S,
|
|
253
244
|
onValueChange: (D) => {
|
|
254
245
|
C(D), w == null || w(D);
|
|
255
246
|
},
|
|
256
|
-
children: /* @__PURE__ */
|
|
247
|
+
children: /* @__PURE__ */ n(G.Provider, { value: W, children: /* @__PURE__ */ n(
|
|
257
248
|
"div",
|
|
258
249
|
{
|
|
259
250
|
ref: L,
|
|
@@ -268,16 +259,16 @@ const Q = (i) => /* @__PURE__ */ a(
|
|
|
268
259
|
);
|
|
269
260
|
}
|
|
270
261
|
);
|
|
271
|
-
|
|
262
|
+
i.forwardRef(
|
|
272
263
|
function({
|
|
273
264
|
title: e = "Command Palette",
|
|
274
265
|
description: o = "Search for a command to run...",
|
|
275
266
|
children: t,
|
|
276
|
-
className:
|
|
267
|
+
className: a,
|
|
277
268
|
showCloseButton: p = !0,
|
|
278
269
|
items: y,
|
|
279
|
-
filter:
|
|
280
|
-
itemToStringValue:
|
|
270
|
+
filter: b,
|
|
271
|
+
itemToStringValue: S,
|
|
281
272
|
limit: w,
|
|
282
273
|
value: R,
|
|
283
274
|
defaultValue: v,
|
|
@@ -285,23 +276,23 @@ d.forwardRef(
|
|
|
285
276
|
...T
|
|
286
277
|
}, k) {
|
|
287
278
|
const C = c();
|
|
288
|
-
return /* @__PURE__ */ B(
|
|
289
|
-
/* @__PURE__ */ B(
|
|
290
|
-
/* @__PURE__ */
|
|
291
|
-
/* @__PURE__ */
|
|
279
|
+
return /* @__PURE__ */ B(Z, { ...T, children: [
|
|
280
|
+
/* @__PURE__ */ B(j, { className: C.srOnly, children: [
|
|
281
|
+
/* @__PURE__ */ n(_, { children: e }),
|
|
282
|
+
/* @__PURE__ */ n(F, { children: o })
|
|
292
283
|
] }),
|
|
293
|
-
/* @__PURE__ */
|
|
294
|
-
|
|
284
|
+
/* @__PURE__ */ n(
|
|
285
|
+
J,
|
|
295
286
|
{
|
|
296
|
-
className: l(C.dialogContent,
|
|
287
|
+
className: l(C.dialogContent, a),
|
|
297
288
|
showCloseButton: p,
|
|
298
|
-
children: /* @__PURE__ */
|
|
299
|
-
|
|
289
|
+
children: /* @__PURE__ */ n(
|
|
290
|
+
Q,
|
|
300
291
|
{
|
|
301
292
|
className: C.dialogCommand,
|
|
302
293
|
items: y,
|
|
303
|
-
filter:
|
|
304
|
-
itemToStringValue:
|
|
294
|
+
filter: b,
|
|
295
|
+
itemToStringValue: S,
|
|
305
296
|
limit: w,
|
|
306
297
|
value: R,
|
|
307
298
|
defaultValue: v,
|
|
@@ -314,7 +305,7 @@ d.forwardRef(
|
|
|
314
305
|
] });
|
|
315
306
|
}
|
|
316
307
|
);
|
|
317
|
-
const
|
|
308
|
+
const ro = i.forwardRef(function({ className: e, wrapperClassName: o, ...t }, a) {
|
|
318
309
|
const p = c();
|
|
319
310
|
return /* @__PURE__ */ B(
|
|
320
311
|
"div",
|
|
@@ -323,11 +314,11 @@ const io = d.forwardRef(function({ className: e, wrapperClassName: o, ...t }, n)
|
|
|
323
314
|
[r]: "command-input-wrapper",
|
|
324
315
|
className: l(p.inputWrapper, o),
|
|
325
316
|
children: [
|
|
326
|
-
/* @__PURE__ */
|
|
327
|
-
/* @__PURE__ */
|
|
317
|
+
/* @__PURE__ */ n(K, { className: p.searchIcon }),
|
|
318
|
+
/* @__PURE__ */ n(
|
|
328
319
|
g.Input,
|
|
329
320
|
{
|
|
330
|
-
ref:
|
|
321
|
+
ref: a,
|
|
331
322
|
"data-slot": "command-input",
|
|
332
323
|
[r]: "command-input",
|
|
333
324
|
className: l(p.input, e),
|
|
@@ -337,15 +328,15 @@ const io = d.forwardRef(function({ className: e, wrapperClassName: o, ...t }, n)
|
|
|
337
328
|
]
|
|
338
329
|
}
|
|
339
330
|
);
|
|
340
|
-
}),
|
|
331
|
+
}), io = i.forwardRef(
|
|
341
332
|
function({
|
|
342
333
|
className: e,
|
|
343
334
|
"aria-label": o,
|
|
344
335
|
"aria-labelledby": t,
|
|
345
|
-
...
|
|
336
|
+
...a
|
|
346
337
|
}, p) {
|
|
347
338
|
const y = c();
|
|
348
|
-
return /* @__PURE__ */
|
|
339
|
+
return /* @__PURE__ */ n(
|
|
349
340
|
g.List,
|
|
350
341
|
{
|
|
351
342
|
ref: p,
|
|
@@ -354,114 +345,114 @@ const io = d.forwardRef(function({ className: e, wrapperClassName: o, ...t }, n)
|
|
|
354
345
|
className: l(y.list, e),
|
|
355
346
|
"aria-labelledby": t,
|
|
356
347
|
"aria-label": o ?? (t ? void 0 : "Suggestions"),
|
|
357
|
-
...
|
|
348
|
+
...a
|
|
358
349
|
}
|
|
359
350
|
);
|
|
360
351
|
}
|
|
361
|
-
),
|
|
352
|
+
), mo = i.forwardRef(
|
|
362
353
|
function({ className: e, ...o }, t) {
|
|
363
|
-
const
|
|
364
|
-
return /* @__PURE__ */
|
|
354
|
+
const a = c();
|
|
355
|
+
return /* @__PURE__ */ n(
|
|
365
356
|
g.Empty,
|
|
366
357
|
{
|
|
367
358
|
ref: t,
|
|
368
359
|
"data-slot": "command-empty",
|
|
369
360
|
[r]: "command-empty",
|
|
370
|
-
className: l(
|
|
361
|
+
className: l(a.empty, e),
|
|
371
362
|
...o
|
|
372
363
|
}
|
|
373
364
|
);
|
|
374
365
|
}
|
|
375
|
-
),
|
|
366
|
+
), lo = i.forwardRef(
|
|
376
367
|
function({ className: e, ...o }, t) {
|
|
377
|
-
const
|
|
378
|
-
return /* @__PURE__ */
|
|
368
|
+
const a = c();
|
|
369
|
+
return /* @__PURE__ */ n(
|
|
379
370
|
g.Group,
|
|
380
371
|
{
|
|
381
372
|
ref: t,
|
|
382
373
|
"data-slot": "command-group",
|
|
383
374
|
[r]: "command-group",
|
|
384
|
-
className: l(
|
|
375
|
+
className: l(a.group, e),
|
|
385
376
|
...o
|
|
386
377
|
}
|
|
387
378
|
);
|
|
388
379
|
}
|
|
389
|
-
),
|
|
390
|
-
const
|
|
391
|
-
return /* @__PURE__ */
|
|
380
|
+
), so = i.forwardRef(function({ className: e, ...o }, t) {
|
|
381
|
+
const a = c();
|
|
382
|
+
return /* @__PURE__ */ n(
|
|
392
383
|
g.GroupLabel,
|
|
393
384
|
{
|
|
394
385
|
ref: t,
|
|
395
386
|
"data-slot": "command-group-label",
|
|
396
387
|
[r]: "command-group-label",
|
|
397
|
-
className: l(
|
|
388
|
+
className: l(a.groupLabel, e),
|
|
398
389
|
...o
|
|
399
390
|
}
|
|
400
391
|
);
|
|
401
|
-
}),
|
|
402
|
-
const
|
|
403
|
-
return
|
|
392
|
+
}), co = ({ children: d }) => /* @__PURE__ */ n(g.Collection, { children: d }), po = i.forwardRef(function({ className: e, ...o }, t) {
|
|
393
|
+
const a = c();
|
|
394
|
+
return i.useContext(G).trim() !== "" ? null : /* @__PURE__ */ n(
|
|
404
395
|
g.Separator,
|
|
405
396
|
{
|
|
406
397
|
ref: t,
|
|
407
398
|
"data-slot": "command-separator",
|
|
408
399
|
[r]: "command-separator",
|
|
409
|
-
className: l(
|
|
400
|
+
className: l(a.separator, e),
|
|
410
401
|
...o
|
|
411
402
|
}
|
|
412
403
|
);
|
|
413
|
-
}),
|
|
404
|
+
}), go = i.forwardRef(
|
|
414
405
|
function({ className: e, ...o }, t) {
|
|
415
|
-
const
|
|
416
|
-
return /* @__PURE__ */
|
|
406
|
+
const a = c();
|
|
407
|
+
return /* @__PURE__ */ n(
|
|
417
408
|
g.Item,
|
|
418
409
|
{
|
|
419
410
|
ref: t,
|
|
420
411
|
"data-slot": "command-item",
|
|
421
412
|
[r]: "command-item",
|
|
422
|
-
className: l(
|
|
413
|
+
className: l(a.item, e),
|
|
423
414
|
...o
|
|
424
415
|
}
|
|
425
416
|
);
|
|
426
417
|
}
|
|
427
418
|
);
|
|
428
|
-
|
|
429
|
-
const
|
|
430
|
-
return /* @__PURE__ */
|
|
419
|
+
i.forwardRef(function({ className: e, ...o }, t) {
|
|
420
|
+
const a = c();
|
|
421
|
+
return /* @__PURE__ */ n(
|
|
431
422
|
"span",
|
|
432
423
|
{
|
|
433
424
|
ref: t,
|
|
434
425
|
"data-slot": "command-shortcut",
|
|
435
426
|
[r]: "command-shortcut",
|
|
436
|
-
className: l(
|
|
427
|
+
className: l(a.shortcut, e),
|
|
437
428
|
...o
|
|
438
429
|
}
|
|
439
430
|
);
|
|
440
431
|
});
|
|
441
|
-
const ho =
|
|
442
|
-
const
|
|
443
|
-
return /* @__PURE__ */
|
|
432
|
+
const ho = i.forwardRef(function({ className: e, ...o }, t) {
|
|
433
|
+
const a = c();
|
|
434
|
+
return /* @__PURE__ */ n(
|
|
444
435
|
g.Status,
|
|
445
436
|
{
|
|
446
437
|
ref: t,
|
|
447
438
|
"data-slot": "command-loading",
|
|
448
439
|
[r]: "command-loading",
|
|
449
|
-
className: l(
|
|
440
|
+
className: l(a.loading, e),
|
|
450
441
|
...o
|
|
451
442
|
}
|
|
452
443
|
);
|
|
453
444
|
});
|
|
454
445
|
export {
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
446
|
+
Q as Command,
|
|
447
|
+
co as CommandCollection,
|
|
448
|
+
mo as CommandEmpty,
|
|
449
|
+
lo as CommandGroup,
|
|
450
|
+
so as CommandGroupLabel,
|
|
451
|
+
ro as CommandInput,
|
|
452
|
+
go as CommandItem,
|
|
453
|
+
io as CommandList,
|
|
463
454
|
ho as CommandLoading,
|
|
464
|
-
|
|
465
|
-
|
|
455
|
+
Q as CommandRoot,
|
|
456
|
+
po as CommandSeparator
|
|
466
457
|
};
|
|
467
458
|
//# sourceMappingURL=command.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sources":["../../../src/components/command/command.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { Autocomplete as AutocompletePrimitive } from \"@base-ui/react/autocomplete\"\nimport { mergeClasses, shorthands } from \"@epilot/zenith-runtime/v1\"\n\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeZenithStyles } from \"../../styles/make-styles\"\nimport { boxModel } from \"../../styles/host-reset\"\nimport * as tokens from \"../../tokens\"\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle,\n type DialogProps,\n} from \"../dialog/dialog\"\n\nconst SearchIcon = (props: React.SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 -960 960 960\"\n width=\"24px\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M380-320q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l224 224q11 11 11 28t-11 28q-11 11-28 11t-28-11L532-372q-30 24-69 38t-83 14Zm0-80q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z\" />\n </svg>\n)\n\nconst useStyles = makeZenithStyles({\n root: {\n ...boxModel,\n backgroundColor: tokens.body,\n color: tokens.grayA12,\n display: \"flex\",\n height: \"100%\",\n width: \"100%\",\n flexDirection: \"column\",\n overflowX: \"hidden\",\n overflowY: \"hidden\",\n ...shorthands.borderRadius(tokens.radiusMd),\n },\n inputWrapper: {\n ...boxModel,\n display: \"flex\",\n alignItems: \"center\",\n ...shorthands.gap(tokens.spacingElement2),\n ...shorthands.borderBottom(\"1px\", \"solid\", tokens.grayA3),\n paddingLeft: tokens.spacingElement3,\n paddingRight: tokens.spacingElement3,\n // The input's focus ring, drawn on the whole search row: the row holds the inline padding, so a\n // ring on the input itself ran through the first letter. `:focus-within` because the input is\n // the row's only focusable element and a text input matches :focus-visible whenever it has\n // focus. Inset (negative), not the outward +2px every other audited control uses: the row sits\n // flush against the edges of the Command root, which clips overflow for its rounded corners.\n \"&:focus-within\": {\n outlineWidth: \"2px\",\n outlineStyle: \"solid\",\n outlineOffset: \"-2px\",\n outlineColor: tokens.focusRing,\n },\n },\n searchIcon: {\n ...boxModel,\n width: \"1.25rem\",\n height: \"1.25rem\",\n flexShrink: 0,\n opacity: 0.5,\n },\n input: {\n ...boxModel,\n height: \"3rem\",\n display: \"flex\",\n width: \"100%\",\n ...shorthands.borderRadius(tokens.radiusMd),\n backgroundColor: \"transparent\",\n paddingTop: tokens.spacingElement3,\n paddingBottom: tokens.spacingElement3,\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n outlineStyle: \"none\",\n \"::placeholder\": {\n color: tokens.grayA11,\n },\n \":disabled\": {\n cursor: \"not-allowed\",\n opacity: 0.5,\n },\n },\n list: {\n overflowX: \"hidden\",\n overflowY: \"auto\",\n scrollPaddingTop: tokens.spacingElement1,\n scrollPaddingBottom: tokens.spacingElement1,\n },\n empty: {\n ...boxModel,\n paddingTop: \"1.5rem\",\n paddingBottom: \"1.5rem\",\n textAlign: \"center\",\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n color: tokens.grayA11,\n // Base UI keeps the empty state mounted as a live region and empties it while items match.\n \":empty\": {\n paddingTop: 0,\n paddingBottom: 0,\n },\n },\n group: {\n ...boxModel,\n color: tokens.grayA12,\n overflowX: \"hidden\",\n overflowY: \"hidden\",\n ...shorthands.padding(tokens.spacingElement1),\n },\n groupLabel: {\n ...boxModel,\n color: tokens.grayA11,\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n paddingTop: \"0.375rem\",\n paddingBottom: \"0.375rem\",\n fontSize: tokens.textXs,\n lineHeight: tokens.leadingXs,\n fontWeight: tokens.fontWeightMedium,\n },\n separator: {\n ...boxModel,\n backgroundColor: tokens.graySoft,\n marginLeft: `calc(-1 * ${tokens.spacingElement1})`,\n marginRight: `calc(-1 * ${tokens.spacingElement1})`,\n height: \"1px\",\n },\n item: {\n ...boxModel,\n position: \"relative\",\n display: \"flex\",\n cursor: \"default\",\n alignItems: \"center\",\n ...shorthands.gap(tokens.spacingElement2),\n ...shorthands.borderRadius(tokens.radiusSm),\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n paddingTop: \"0.375rem\",\n paddingBottom: \"0.375rem\",\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n outlineStyle: \"none\",\n userSelect: \"none\",\n color: tokens.grayA12,\n \"&[data-highlighted]\": {\n backgroundColor: tokens.accentA3,\n },\n \":hover\": {\n backgroundColor: tokens.accentA3,\n },\n \"&[data-disabled]\": {\n pointerEvents: \"none\",\n opacity: 0.5,\n },\n \"& svg\": {\n pointerEvents: \"none\",\n flexShrink: 0,\n width: \"1rem\",\n height: \"1rem\",\n },\n \"& svg:not([class*='text-'])\": {\n color: tokens.grayA11,\n },\n },\n shortcut: {\n color: tokens.grayA11,\n marginLeft: \"auto\",\n fontSize: tokens.textXs,\n lineHeight: tokens.leadingXs,\n letterSpacing: \"0.1em\",\n },\n loading: {\n color: tokens.grayA11,\n },\n dialogContent: {\n ...boxModel,\n overflowX: \"hidden\",\n overflowY: \"hidden\",\n ...shorthands.padding(0),\n },\n dialogCommand: {\n [`& [${SLOT_ATTR}=\"command-group-label\"]`]: {\n color: tokens.grayA11,\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n fontWeight: tokens.fontWeightMedium,\n },\n [`& [${SLOT_ATTR}=\"command-input-wrapper\"]`]: {\n height: \"3rem\",\n },\n [`& [${SLOT_ATTR}=\"command-group\"]`]: {\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n },\n [`& [${SLOT_ATTR}=\"command-item\"]`]: {\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n paddingTop: tokens.spacingElement3,\n paddingBottom: tokens.spacingElement3,\n },\n [`& [${SLOT_ATTR}=\"command-item\"] svg`]: {\n width: \"1.25rem\",\n height: \"1.25rem\",\n },\n [`& [${SLOT_ATTR}=\"command-input\"]`]: {\n height: \"3rem\",\n },\n },\n srOnly: {\n ...boxModel,\n position: \"absolute\",\n width: \"1px\",\n height: \"1px\",\n paddingTop: 0,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n marginTop: \"-1px\",\n marginBottom: \"-1px\",\n marginLeft: \"-1px\",\n marginRight: \"-1px\",\n overflowX: \"hidden\",\n overflowY: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n whiteSpace: \"nowrap\",\n ...shorthands.borderWidth(0),\n },\n})\n\n/**\n * Whether an item matches the search text. `itemToString` is the string Command matches an\n * object item by. Typed as a method so a filter written for the caller's own item type is accepted.\n */\nexport type CommandFilter = {\n bivarianceHack(\n item: unknown,\n query: string,\n itemToString?: (item: unknown) => string\n ): boolean\n}[\"bivarianceHack\"]\n\n/** Renders one item (or one group) of `items`; `index` is its position among the matches. */\nexport type CommandRenderItem = {\n bivarianceHack(item: unknown, index: number): React.ReactNode\n}[\"bivarianceHack\"]\n\n/** The string an object item is matched by and announced as. */\nexport type CommandItemToString = {\n bivarianceHack(item: unknown): string\n}[\"bivarianceHack\"]\n\n/**\n * Filtering, as Base UI's Autocomplete does it: the items are data, matched against the search\n * text, and the list renders the matches.\n */\nexport type CommandRootProps = {\n /**\n * The items to filter: a flat array, or groups shaped `{ items: [...] }`, which the list renders\n * as one group each, with a collection inside that renders the group's matches. Required:\n * without it nothing would filter and the empty state would show beside the options.\n */\n items: readonly unknown[]\n /**\n * Whether an item matches the search text. Defaults to a locale-aware, case-insensitive\n * \"contains\" on the item's string (`label` for `{ value, label }` objects). `null` turns\n * filtering off, for items the caller has already filtered (a server-side search).\n */\n filter?: CommandFilter | null\n /** The string an object item is matched by. `{ value, label }` items need none: `label` is used. */\n itemToStringValue?: CommandItemToString\n /** The most matches to render. All of them by default. */\n limit?: number\n /** The search text, when controlled. */\n value?: string\n /** The search text it starts with, when uncontrolled. */\n defaultValue?: string\n /** Called with the new search text as the user types. */\n onValueChange?: (value: string) => void\n}\n\n/**\n * never exported it and its only consumer is `field/field-combobox.tsx`, which builds its listbox\n * out of these pieces. This was a decision, not an oversight: a public Command is a surface nobody\n * has reviewed as public API, and exporting it after 0.1 is additive and non-breaking, whereas un-\n * exporting it would not be.\n * @internal not part of the 0.1 public API. Command is fully implemented and tested, but the barrel\n */\nexport type CommandProps = Omit<React.ComponentProps<\"div\">, \"defaultValue\"> &\n CommandRootProps & {\n \"data-slot\"?: string\n }\n\n/** The search text, for parts that change while a search is under way (the separators). */\nconst CommandSearchContext = React.createContext(\"\")\n\n/**\n * Base UI's Autocomplete, inline and always open: the search input filters the list in place.\n * The first match stays highlighted, so Enter runs it.\n */\nexport const Command = React.forwardRef<HTMLDivElement, CommandProps>(\n function Command(\n {\n className,\n \"data-slot\": dataSlot = \"command\",\n items,\n filter,\n itemToStringValue,\n limit,\n value,\n defaultValue,\n onValueChange,\n children,\n ...props\n },\n ref\n ) {\n const styles = useStyles()\n // Base UI keeps the search text to itself; Command mirrors it for the separators.\n const [typed, setTyped] = React.useState(defaultValue ?? \"\")\n const search = value ?? typed\n\n return (\n <AutocompletePrimitive.Root\n inline\n open\n autoHighlight=\"always\"\n keepHighlight\n items={items}\n filter={filter}\n itemToStringValue={itemToStringValue}\n limit={limit}\n value={value}\n defaultValue={defaultValue}\n onValueChange={(next: string) => {\n setTyped(next)\n onValueChange?.(next)\n }}\n >\n <CommandSearchContext.Provider value={search}>\n <div\n ref={ref}\n data-slot={dataSlot}\n {...{ [SLOT_ATTR]: dataSlot }}\n className={mergeClasses(styles.root, className)}\n {...props}\n >\n {children}\n </div>\n </CommandSearchContext.Provider>\n </AutocompletePrimitive.Root>\n )\n }\n)\n\nexport type CommandDialogProps = Omit<DialogProps, \"children\"> &\n CommandRootProps & {\n children?: React.ReactNode\n title?: string\n description?: string\n className?: string\n showCloseButton?: boolean\n }\n\nexport const CommandDialog = React.forwardRef<HTMLElement, CommandDialogProps>(\n function CommandDialog(\n {\n title = \"Command Palette\",\n description = \"Search for a command to run...\",\n children,\n className,\n showCloseButton = true,\n items,\n filter,\n itemToStringValue,\n limit,\n value,\n defaultValue,\n onValueChange,\n ...props\n },\n _ref\n ) {\n const styles = useStyles()\n\n return (\n <Dialog {...props}>\n <DialogHeader className={styles.srOnly}>\n <DialogTitle>{title}</DialogTitle>\n <DialogDescription>{description}</DialogDescription>\n </DialogHeader>\n <DialogContent\n className={mergeClasses(styles.dialogContent, className)}\n showCloseButton={showCloseButton}\n >\n <Command\n className={styles.dialogCommand}\n items={items}\n filter={filter}\n itemToStringValue={itemToStringValue}\n limit={limit}\n value={value}\n defaultValue={defaultValue}\n onValueChange={onValueChange}\n >\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n )\n }\n)\n\nexport type CommandInputProps = Omit<\n React.ComponentProps<\"input\">,\n \"value\" | \"defaultValue\" | \"type\"\n> & {\n wrapperClassName?: string\n}\n\nexport const CommandInput = React.forwardRef<\n HTMLInputElement,\n CommandInputProps\n>(function CommandInput({ className, wrapperClassName, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n data-slot=\"command-input-wrapper\"\n {...{ [SLOT_ATTR]: \"command-input-wrapper\" }}\n className={mergeClasses(styles.inputWrapper, wrapperClassName)}\n >\n <SearchIcon className={styles.searchIcon} />\n <AutocompletePrimitive.Input\n ref={ref}\n data-slot=\"command-input\"\n {...{ [SLOT_ATTR]: \"command-input\" }}\n className={mergeClasses(styles.input, className)}\n {...props}\n />\n </div>\n )\n})\n\n/** Base UI owns the list's and the options' ids: the input's `aria-controls` and\n * `aria-activedescendant` point at them. */\nexport type CommandListProps = Omit<\n React.ComponentProps<\"div\">,\n \"children\" | \"id\"\n> & {\n /** The items: a function of each match of the root's `items`, or static content. */\n children?: React.ReactNode | CommandRenderItem\n}\n\n/**\n * The listbox. It is named \"Suggestions\" unless the caller names it: a translated `aria-label`\n * for another locale, or `aria-labelledby`, which wins over both.\n */\nexport const CommandList = React.forwardRef<HTMLDivElement, CommandListProps>(\n function CommandList(\n {\n className,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n ...props\n },\n ref\n ) {\n const styles = useStyles()\n\n return (\n <AutocompletePrimitive.List\n ref={ref}\n data-slot=\"command-list\"\n {...{ [SLOT_ATTR]: \"command-list\" }}\n className={mergeClasses(styles.list, className)}\n aria-labelledby={ariaLabelledBy}\n aria-label={ariaLabel ?? (ariaLabelledBy ? undefined : \"Suggestions\")}\n {...props}\n />\n )\n }\n)\n\nexport type CommandEmptyProps = React.ComponentProps<\"div\">\n\n/** Shows its children while no item matches. It stays mounted (a live region) and is empty otherwise. */\nexport const CommandEmpty = React.forwardRef<HTMLDivElement, CommandEmptyProps>(\n function CommandEmpty({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <AutocompletePrimitive.Empty\n ref={ref}\n data-slot=\"command-empty\"\n {...{ [SLOT_ATTR]: \"command-empty\" }}\n className={mergeClasses(styles.empty, className)}\n {...props}\n />\n )\n }\n)\n\nexport type CommandGroupProps = React.ComponentProps<\"div\"> & {\n /** This group's items, for the collection inside the group to render. */\n items?: readonly unknown[]\n}\n\nexport const CommandGroup = React.forwardRef<HTMLDivElement, CommandGroupProps>(\n function CommandGroup({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <AutocompletePrimitive.Group\n ref={ref}\n data-slot=\"command-group\"\n {...{ [SLOT_ATTR]: \"command-group\" }}\n className={mergeClasses(styles.group, className)}\n {...props}\n />\n )\n }\n)\n\nexport type CommandGroupLabelProps = React.ComponentProps<\"div\">\n\n/** Names its group for assistive technology. */\nexport const CommandGroupLabel = React.forwardRef<\n HTMLDivElement,\n CommandGroupLabelProps\n>(function CommandGroupLabel({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <AutocompletePrimitive.GroupLabel\n ref={ref}\n data-slot=\"command-group-label\"\n {...{ [SLOT_ATTR]: \"command-group-label\" }}\n className={mergeClasses(styles.groupLabel, className)}\n {...props}\n />\n )\n})\n\nexport type CommandCollectionProps = {\n /** Renders each match of the enclosing group's `items`. */\n children: CommandRenderItem\n}\n\n/**\n * Renders a group's matching items.\n * @no-host-element Base UI's Collection renders only the items, so there is no element to take a ref.\n */\nexport const CommandCollection = ({ children }: CommandCollectionProps) => (\n <AutocompletePrimitive.Collection>\n {children}\n </AutocompletePrimitive.Collection>\n)\n\nexport type CommandSeparatorProps = React.ComponentProps<\"div\">\n\n/** A divider between groups. It steps aside while the search text is not empty, as matches regroup. */\nexport const CommandSeparator = React.forwardRef<\n HTMLDivElement,\n CommandSeparatorProps\n>(function CommandSeparator({ className, ...props }, ref) {\n const styles = useStyles()\n const searching = React.useContext(CommandSearchContext).trim() !== \"\"\n\n if (searching) return null\n return (\n <AutocompletePrimitive.Separator\n ref={ref}\n data-slot=\"command-separator\"\n {...{ [SLOT_ATTR]: \"command-separator\" }}\n className={mergeClasses(styles.separator, className)}\n {...props}\n />\n )\n})\n\n/** No `onSelect`: the DOM's would never run on click or Enter; `onClick` does both. */\nexport type CommandItemProps = Omit<\n React.ComponentProps<\"div\">,\n \"id\" | \"onSelect\"\n> & {\n /** The item of `items` this option stands for. */\n value?: unknown\n /** Whether the option ignores pointer and keyboard selection. */\n disabled?: boolean\n /** The option's position among the matches, which spares a DOM lookup. */\n index?: number\n}\n\n/** One option. `onClick` runs on a click and on Enter while the option is highlighted. */\nexport const CommandItem = React.forwardRef<HTMLDivElement, CommandItemProps>(\n function CommandItem({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <AutocompletePrimitive.Item\n ref={ref}\n data-slot=\"command-item\"\n {...{ [SLOT_ATTR]: \"command-item\" }}\n className={mergeClasses(styles.item, className)}\n {...props}\n />\n )\n }\n)\n\nexport type CommandShortcutProps = React.ComponentProps<\"span\">\n\nexport const CommandShortcut = React.forwardRef<\n HTMLSpanElement,\n CommandShortcutProps\n>(function CommandShortcut({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <span\n ref={ref}\n data-slot=\"command-shortcut\"\n {...{ [SLOT_ATTR]: \"command-shortcut\" }}\n className={mergeClasses(styles.shortcut, className)}\n {...props}\n />\n )\n})\n\nexport type CommandLoadingProps = React.ComponentProps<\"div\">\n\n/**\n * A polite live region for the list's status, such as loading. Keep it mounted and change its\n * children: a region that mounts with its message is not announced everywhere.\n */\nexport const CommandLoading = React.forwardRef<\n HTMLDivElement,\n CommandLoadingProps\n>(function CommandLoading({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <AutocompletePrimitive.Status\n ref={ref}\n data-slot=\"command-loading\"\n {...{ [SLOT_ATTR]: \"command-loading\" }}\n className={mergeClasses(styles.loading, className)}\n {...props}\n />\n )\n})\n\nexport { Command as CommandRoot }\n"],"names":["SearchIcon","props","jsx","useStyles","makeZenithStyles","boxModel","tokens.body","tokens.grayA12","shorthands","tokens.radiusMd","tokens.spacingElement2","tokens.grayA3","tokens.spacingElement3","tokens.focusRing","tokens.textSm","tokens.leadingSm","tokens.grayA11","tokens.spacingElement1","tokens.textXs","tokens.leadingXs","tokens.fontWeightMedium","tokens.graySoft","tokens.radiusSm","tokens.accentA3","SLOT_ATTR","CommandSearchContext","React","Command","className","dataSlot","items","filter","itemToStringValue","limit","value","defaultValue","onValueChange","children","ref","styles","typed","setTyped","search","AutocompletePrimitive","next","mergeClasses","title","description","showCloseButton","_ref","jsxs","Dialog","DialogHeader","DialogTitle","DialogDescription","DialogContent","CommandInput","wrapperClassName","CommandList","ariaLabel","ariaLabelledBy","CommandEmpty","CommandGroup","CommandGroupLabel","CommandCollection","CommandSeparator","CommandItem","CommandLoading"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"command.js","sources":["../../../src/components/command/command.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { Autocomplete as AutocompletePrimitive } from \"@base-ui/react/autocomplete\"\nimport { mergeClasses, shorthands } from \"@epilot/zenith-runtime/v1\"\n\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeZenithStyles } from \"../../styles/make-styles\"\nimport { boxModel } from \"../../styles/host-reset\"\nimport * as tokens from \"../../tokens\"\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle,\n type DialogProps,\n} from \"../dialog/dialog\"\n\nconst SearchIcon = (props: React.SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 -960 960 960\"\n width=\"24px\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M380-320q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l224 224q11 11 11 28t-11 28q-11 11-28 11t-28-11L532-372q-30 24-69 38t-83 14Zm0-80q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z\" />\n </svg>\n)\n\nconst useStyles = makeZenithStyles({\n root: {\n ...boxModel,\n backgroundColor: tokens.body,\n color: tokens.grayA12,\n display: \"flex\",\n height: \"100%\",\n width: \"100%\",\n flexDirection: \"column\",\n overflowX: \"hidden\",\n overflowY: \"hidden\",\n ...shorthands.borderRadius(tokens.radiusMd),\n },\n inputWrapper: {\n ...boxModel,\n display: \"flex\",\n alignItems: \"center\",\n ...shorthands.gap(tokens.spacingElement2),\n ...shorthands.borderBottom(\"1px\", \"solid\", tokens.grayA3),\n paddingLeft: tokens.spacingElement3,\n paddingRight: tokens.spacingElement3,\n // No focus frame: the caret marks focus, the example WCAG 2.4.7's Understanding gives for a\n // text field. The row's padding keeps the text clear of the edges; the input keeps outline none.\n },\n searchIcon: {\n ...boxModel,\n width: \"1.25rem\",\n height: \"1.25rem\",\n flexShrink: 0,\n opacity: 0.5,\n },\n input: {\n ...boxModel,\n height: \"3rem\",\n display: \"flex\",\n width: \"100%\",\n ...shorthands.borderRadius(tokens.radiusMd),\n backgroundColor: \"transparent\",\n paddingTop: tokens.spacingElement3,\n paddingBottom: tokens.spacingElement3,\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n outlineStyle: \"none\",\n \"::placeholder\": {\n color: tokens.grayA11,\n },\n \":disabled\": {\n cursor: \"not-allowed\",\n opacity: 0.5,\n },\n },\n list: {\n overflowX: \"hidden\",\n overflowY: \"auto\",\n scrollPaddingTop: tokens.spacingElement1,\n scrollPaddingBottom: tokens.spacingElement1,\n },\n empty: {\n ...boxModel,\n paddingTop: \"1.5rem\",\n paddingBottom: \"1.5rem\",\n textAlign: \"center\",\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n color: tokens.grayA11,\n // Base UI keeps the empty state mounted as a live region and empties it while items match.\n \":empty\": {\n paddingTop: 0,\n paddingBottom: 0,\n },\n },\n group: {\n ...boxModel,\n color: tokens.grayA12,\n overflowX: \"hidden\",\n overflowY: \"hidden\",\n ...shorthands.padding(tokens.spacingElement1),\n },\n groupLabel: {\n ...boxModel,\n color: tokens.grayA11,\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n paddingTop: \"0.375rem\",\n paddingBottom: \"0.375rem\",\n fontSize: tokens.textXs,\n lineHeight: tokens.leadingXs,\n fontWeight: tokens.fontWeightMedium,\n },\n separator: {\n ...boxModel,\n backgroundColor: tokens.graySoft,\n marginLeft: `calc(-1 * ${tokens.spacingElement1})`,\n marginRight: `calc(-1 * ${tokens.spacingElement1})`,\n height: \"1px\",\n },\n item: {\n ...boxModel,\n position: \"relative\",\n display: \"flex\",\n cursor: \"default\",\n alignItems: \"center\",\n ...shorthands.gap(tokens.spacingElement2),\n ...shorthands.borderRadius(tokens.radiusSm),\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n paddingTop: \"0.375rem\",\n paddingBottom: \"0.375rem\",\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n outlineStyle: \"none\",\n userSelect: \"none\",\n color: tokens.grayA12,\n \"&[data-highlighted]\": {\n backgroundColor: tokens.accentA3,\n },\n \":hover\": {\n backgroundColor: tokens.accentA3,\n },\n \"&[data-disabled]\": {\n pointerEvents: \"none\",\n opacity: 0.5,\n },\n \"& svg\": {\n pointerEvents: \"none\",\n flexShrink: 0,\n width: \"1rem\",\n height: \"1rem\",\n },\n \"& svg:not([class*='text-'])\": {\n color: tokens.grayA11,\n },\n },\n shortcut: {\n color: tokens.grayA11,\n marginLeft: \"auto\",\n fontSize: tokens.textXs,\n lineHeight: tokens.leadingXs,\n letterSpacing: \"0.1em\",\n },\n loading: {\n color: tokens.grayA11,\n },\n dialogContent: {\n ...boxModel,\n overflowX: \"hidden\",\n overflowY: \"hidden\",\n ...shorthands.padding(0),\n },\n dialogCommand: {\n [`& [${SLOT_ATTR}=\"command-group-label\"]`]: {\n color: tokens.grayA11,\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n fontWeight: tokens.fontWeightMedium,\n },\n [`& [${SLOT_ATTR}=\"command-input-wrapper\"]`]: {\n height: \"3rem\",\n },\n [`& [${SLOT_ATTR}=\"command-group\"]`]: {\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n },\n [`& [${SLOT_ATTR}=\"command-item\"]`]: {\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n paddingTop: tokens.spacingElement3,\n paddingBottom: tokens.spacingElement3,\n },\n [`& [${SLOT_ATTR}=\"command-item\"] svg`]: {\n width: \"1.25rem\",\n height: \"1.25rem\",\n },\n [`& [${SLOT_ATTR}=\"command-input\"]`]: {\n height: \"3rem\",\n },\n },\n srOnly: {\n ...boxModel,\n position: \"absolute\",\n width: \"1px\",\n height: \"1px\",\n paddingTop: 0,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n marginTop: \"-1px\",\n marginBottom: \"-1px\",\n marginLeft: \"-1px\",\n marginRight: \"-1px\",\n overflowX: \"hidden\",\n overflowY: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n whiteSpace: \"nowrap\",\n ...shorthands.borderWidth(0),\n },\n})\n\n/**\n * Whether an item matches the search text. `itemToString` is the string Command matches an\n * object item by. Typed as a method so a filter written for the caller's own item type is accepted.\n */\nexport type CommandFilter = {\n bivarianceHack(\n item: unknown,\n query: string,\n itemToString?: (item: unknown) => string\n ): boolean\n}[\"bivarianceHack\"]\n\n/** Renders one item (or one group) of `items`; `index` is its position among the matches. */\nexport type CommandRenderItem = {\n bivarianceHack(item: unknown, index: number): React.ReactNode\n}[\"bivarianceHack\"]\n\n/** The string an object item is matched by and announced as. */\nexport type CommandItemToString = {\n bivarianceHack(item: unknown): string\n}[\"bivarianceHack\"]\n\n/**\n * Filtering, as Base UI's Autocomplete does it: the items are data, matched against the search\n * text, and the list renders the matches.\n */\nexport type CommandRootProps = {\n /**\n * The items to filter: a flat array, or groups shaped `{ items: [...] }`, which the list renders\n * as one group each, with a collection inside that renders the group's matches. Required:\n * without it nothing would filter and the empty state would show beside the options.\n */\n items: readonly unknown[]\n /**\n * Whether an item matches the search text. Defaults to a locale-aware, case-insensitive\n * \"contains\" on the item's string (`label` for `{ value, label }` objects). `null` turns\n * filtering off, for items the caller has already filtered (a server-side search).\n */\n filter?: CommandFilter | null\n /** The string an object item is matched by. `{ value, label }` items need none: `label` is used. */\n itemToStringValue?: CommandItemToString\n /** The most matches to render. All of them by default. */\n limit?: number\n /** The search text, when controlled. */\n value?: string\n /** The search text it starts with, when uncontrolled. */\n defaultValue?: string\n /** Called with the new search text as the user types. */\n onValueChange?: (value: string) => void\n}\n\n/**\n * never exported it and its only consumer is `field/field-combobox.tsx`, which builds its listbox\n * out of these pieces. This was a decision, not an oversight: a public Command is a surface nobody\n * has reviewed as public API, and exporting it after 0.1 is additive and non-breaking, whereas un-\n * exporting it would not be.\n * @internal not part of the 0.1 public API. Command is fully implemented and tested, but the barrel\n */\nexport type CommandProps = Omit<React.ComponentProps<\"div\">, \"defaultValue\"> &\n CommandRootProps & {\n \"data-slot\"?: string\n }\n\n/** The search text, for parts that change while a search is under way (the separators). */\nconst CommandSearchContext = React.createContext(\"\")\n\n/**\n * Base UI's Autocomplete, inline and always open: the search input filters the list in place.\n * The first match stays highlighted, so Enter runs it.\n */\nexport const Command = React.forwardRef<HTMLDivElement, CommandProps>(\n function Command(\n {\n className,\n \"data-slot\": dataSlot = \"command\",\n items,\n filter,\n itemToStringValue,\n limit,\n value,\n defaultValue,\n onValueChange,\n children,\n ...props\n },\n ref\n ) {\n const styles = useStyles()\n // Base UI keeps the search text to itself; Command mirrors it for the separators.\n const [typed, setTyped] = React.useState(defaultValue ?? \"\")\n const search = value ?? typed\n\n return (\n <AutocompletePrimitive.Root\n inline\n open\n autoHighlight=\"always\"\n keepHighlight\n items={items}\n filter={filter}\n itemToStringValue={itemToStringValue}\n limit={limit}\n value={value}\n defaultValue={defaultValue}\n onValueChange={(next: string) => {\n setTyped(next)\n onValueChange?.(next)\n }}\n >\n <CommandSearchContext.Provider value={search}>\n <div\n ref={ref}\n data-slot={dataSlot}\n {...{ [SLOT_ATTR]: dataSlot }}\n className={mergeClasses(styles.root, className)}\n {...props}\n >\n {children}\n </div>\n </CommandSearchContext.Provider>\n </AutocompletePrimitive.Root>\n )\n }\n)\n\nexport type CommandDialogProps = Omit<DialogProps, \"children\"> &\n CommandRootProps & {\n children?: React.ReactNode\n title?: string\n description?: string\n className?: string\n showCloseButton?: boolean\n }\n\nexport const CommandDialog = React.forwardRef<HTMLElement, CommandDialogProps>(\n function CommandDialog(\n {\n title = \"Command Palette\",\n description = \"Search for a command to run...\",\n children,\n className,\n showCloseButton = true,\n items,\n filter,\n itemToStringValue,\n limit,\n value,\n defaultValue,\n onValueChange,\n ...props\n },\n _ref\n ) {\n const styles = useStyles()\n\n return (\n <Dialog {...props}>\n <DialogHeader className={styles.srOnly}>\n <DialogTitle>{title}</DialogTitle>\n <DialogDescription>{description}</DialogDescription>\n </DialogHeader>\n <DialogContent\n className={mergeClasses(styles.dialogContent, className)}\n showCloseButton={showCloseButton}\n >\n <Command\n className={styles.dialogCommand}\n items={items}\n filter={filter}\n itemToStringValue={itemToStringValue}\n limit={limit}\n value={value}\n defaultValue={defaultValue}\n onValueChange={onValueChange}\n >\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n )\n }\n)\n\nexport type CommandInputProps = Omit<\n React.ComponentProps<\"input\">,\n \"value\" | \"defaultValue\" | \"type\"\n> & {\n wrapperClassName?: string\n}\n\nexport const CommandInput = React.forwardRef<\n HTMLInputElement,\n CommandInputProps\n>(function CommandInput({ className, wrapperClassName, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n data-slot=\"command-input-wrapper\"\n {...{ [SLOT_ATTR]: \"command-input-wrapper\" }}\n className={mergeClasses(styles.inputWrapper, wrapperClassName)}\n >\n <SearchIcon className={styles.searchIcon} />\n <AutocompletePrimitive.Input\n ref={ref}\n data-slot=\"command-input\"\n {...{ [SLOT_ATTR]: \"command-input\" }}\n className={mergeClasses(styles.input, className)}\n {...props}\n />\n </div>\n )\n})\n\n/** Base UI owns the list's and the options' ids: the input's `aria-controls` and\n * `aria-activedescendant` point at them. */\nexport type CommandListProps = Omit<\n React.ComponentProps<\"div\">,\n \"children\" | \"id\"\n> & {\n /** The items: a function of each match of the root's `items`, or static content. */\n children?: React.ReactNode | CommandRenderItem\n}\n\n/**\n * The listbox. It is named \"Suggestions\" unless the caller names it: a translated `aria-label`\n * for another locale, or `aria-labelledby`, which wins over both.\n */\nexport const CommandList = React.forwardRef<HTMLDivElement, CommandListProps>(\n function CommandList(\n {\n className,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n ...props\n },\n ref\n ) {\n const styles = useStyles()\n\n return (\n <AutocompletePrimitive.List\n ref={ref}\n data-slot=\"command-list\"\n {...{ [SLOT_ATTR]: \"command-list\" }}\n className={mergeClasses(styles.list, className)}\n aria-labelledby={ariaLabelledBy}\n aria-label={ariaLabel ?? (ariaLabelledBy ? undefined : \"Suggestions\")}\n {...props}\n />\n )\n }\n)\n\nexport type CommandEmptyProps = React.ComponentProps<\"div\">\n\n/** Shows its children while no item matches. It stays mounted (a live region) and is empty otherwise. */\nexport const CommandEmpty = React.forwardRef<HTMLDivElement, CommandEmptyProps>(\n function CommandEmpty({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <AutocompletePrimitive.Empty\n ref={ref}\n data-slot=\"command-empty\"\n {...{ [SLOT_ATTR]: \"command-empty\" }}\n className={mergeClasses(styles.empty, className)}\n {...props}\n />\n )\n }\n)\n\nexport type CommandGroupProps = React.ComponentProps<\"div\"> & {\n /** This group's items, for the collection inside the group to render. */\n items?: readonly unknown[]\n}\n\nexport const CommandGroup = React.forwardRef<HTMLDivElement, CommandGroupProps>(\n function CommandGroup({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <AutocompletePrimitive.Group\n ref={ref}\n data-slot=\"command-group\"\n {...{ [SLOT_ATTR]: \"command-group\" }}\n className={mergeClasses(styles.group, className)}\n {...props}\n />\n )\n }\n)\n\nexport type CommandGroupLabelProps = React.ComponentProps<\"div\">\n\n/** Names its group for assistive technology. */\nexport const CommandGroupLabel = React.forwardRef<\n HTMLDivElement,\n CommandGroupLabelProps\n>(function CommandGroupLabel({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <AutocompletePrimitive.GroupLabel\n ref={ref}\n data-slot=\"command-group-label\"\n {...{ [SLOT_ATTR]: \"command-group-label\" }}\n className={mergeClasses(styles.groupLabel, className)}\n {...props}\n />\n )\n})\n\nexport type CommandCollectionProps = {\n /** Renders each match of the enclosing group's `items`. */\n children: CommandRenderItem\n}\n\n/**\n * Renders a group's matching items.\n * @no-host-element Base UI's Collection renders only the items, so there is no element to take a ref.\n */\nexport const CommandCollection = ({ children }: CommandCollectionProps) => (\n <AutocompletePrimitive.Collection>\n {children}\n </AutocompletePrimitive.Collection>\n)\n\nexport type CommandSeparatorProps = React.ComponentProps<\"div\">\n\n/** A divider between groups. It steps aside while the search text is not empty, as matches regroup. */\nexport const CommandSeparator = React.forwardRef<\n HTMLDivElement,\n CommandSeparatorProps\n>(function CommandSeparator({ className, ...props }, ref) {\n const styles = useStyles()\n const searching = React.useContext(CommandSearchContext).trim() !== \"\"\n\n if (searching) return null\n return (\n <AutocompletePrimitive.Separator\n ref={ref}\n data-slot=\"command-separator\"\n {...{ [SLOT_ATTR]: \"command-separator\" }}\n className={mergeClasses(styles.separator, className)}\n {...props}\n />\n )\n})\n\n/** No `onSelect`: the DOM's would never run on click or Enter; `onClick` does both. */\nexport type CommandItemProps = Omit<\n React.ComponentProps<\"div\">,\n \"id\" | \"onSelect\"\n> & {\n /** The item of `items` this option stands for. */\n value?: unknown\n /** Whether the option ignores pointer and keyboard selection. */\n disabled?: boolean\n /** The option's position among the matches, which spares a DOM lookup. */\n index?: number\n}\n\n/** One option. `onClick` runs on a click and on Enter while the option is highlighted. */\nexport const CommandItem = React.forwardRef<HTMLDivElement, CommandItemProps>(\n function CommandItem({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <AutocompletePrimitive.Item\n ref={ref}\n data-slot=\"command-item\"\n {...{ [SLOT_ATTR]: \"command-item\" }}\n className={mergeClasses(styles.item, className)}\n {...props}\n />\n )\n }\n)\n\nexport type CommandShortcutProps = React.ComponentProps<\"span\">\n\nexport const CommandShortcut = React.forwardRef<\n HTMLSpanElement,\n CommandShortcutProps\n>(function CommandShortcut({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <span\n ref={ref}\n data-slot=\"command-shortcut\"\n {...{ [SLOT_ATTR]: \"command-shortcut\" }}\n className={mergeClasses(styles.shortcut, className)}\n {...props}\n />\n )\n})\n\nexport type CommandLoadingProps = React.ComponentProps<\"div\">\n\n/**\n * A polite live region for the list's status, such as loading. Keep it mounted and change its\n * children: a region that mounts with its message is not announced everywhere.\n */\nexport const CommandLoading = React.forwardRef<\n HTMLDivElement,\n CommandLoadingProps\n>(function CommandLoading({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <AutocompletePrimitive.Status\n ref={ref}\n data-slot=\"command-loading\"\n {...{ [SLOT_ATTR]: \"command-loading\" }}\n className={mergeClasses(styles.loading, className)}\n {...props}\n />\n )\n})\n\nexport { Command as CommandRoot }\n"],"names":["SearchIcon","props","jsx","useStyles","makeZenithStyles","boxModel","tokens.body","tokens.grayA12","shorthands","tokens.radiusMd","tokens.spacingElement2","tokens.grayA3","tokens.spacingElement3","tokens.textSm","tokens.leadingSm","tokens.grayA11","tokens.spacingElement1","tokens.textXs","tokens.leadingXs","tokens.fontWeightMedium","tokens.graySoft","tokens.radiusSm","tokens.accentA3","SLOT_ATTR","CommandSearchContext","React","Command","className","dataSlot","items","filter","itemToStringValue","limit","value","defaultValue","onValueChange","children","ref","styles","typed","setTyped","search","AutocompletePrimitive","next","mergeClasses","title","description","showCloseButton","_ref","jsxs","Dialog","DialogHeader","DialogTitle","DialogDescription","DialogContent","CommandInput","wrapperClassName","CommandList","ariaLabel","ariaLabelledBy","CommandEmpty","CommandGroup","CommandGroupLabel","CommandCollection","CommandSeparator","CommandItem","CommandLoading"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@epilot/zenith-react",
|
|
3
|
-
"version": "0.3.0-next.
|
|
3
|
+
"version": "0.3.0-next.17",
|
|
4
4
|
"description": "Zenith React components, styled with Griffel and designed for isolated micro-frontend delivery",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
@@ -149,19 +149,19 @@
|
|
|
149
149
|
"zenith": {
|
|
150
150
|
"next": {
|
|
151
151
|
"mainSha": "16dfd03884fe211c78e36ad8c3c3ba39dd79f628",
|
|
152
|
-
"buildJobUrl": "https://gitlab.com/e-pilot/product/frontend/zenith/-/jobs/
|
|
153
|
-
"pipelineId":
|
|
152
|
+
"buildJobUrl": "https://gitlab.com/e-pilot/product/frontend/zenith/-/jobs/17658842142",
|
|
153
|
+
"pipelineId": 3017044585,
|
|
154
154
|
"included": [
|
|
155
155
|
{
|
|
156
156
|
"iid": 151,
|
|
157
|
-
"headSha": "
|
|
157
|
+
"headSha": "d9a06f33f112feb4fa8c098ac7808d75d07734c6",
|
|
158
158
|
"url": "https://gitlab.com/e-pilot/product/frontend/zenith/-/merge_requests/151",
|
|
159
159
|
"order": 1
|
|
160
160
|
}
|
|
161
161
|
],
|
|
162
162
|
"leftOut": [],
|
|
163
163
|
"versions": {
|
|
164
|
-
"react": "0.3.0-next.
|
|
164
|
+
"react": "0.3.0-next.17",
|
|
165
165
|
"runtime": "0.3.0-next.1"
|
|
166
166
|
},
|
|
167
167
|
"runtime": {
|