@adecore/ui 0.33.3 → 0.34.1

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.
Files changed (63) hide show
  1. package/dist/Banner.d.ts +2 -1
  2. package/dist/Banner.js +92 -51
  3. package/dist/CopyButton.d.ts +24 -0
  4. package/dist/CopyButton.js +144 -0
  5. package/dist/ErrorBoundary.js +16 -18
  6. package/dist/ProjectSwitcher.js +66 -73
  7. package/dist/RelativeTime.d.ts +9 -0
  8. package/dist/RelativeTime.js +38 -0
  9. package/dist/Segmented.d.ts +4 -1
  10. package/dist/Segmented.js +111 -86
  11. package/dist/Toasts.js +1 -1
  12. package/dist/combobox/index.parts.d.ts +1 -0
  13. package/dist/combobox/index.parts.js +1 -0
  14. package/dist/combobox/parts.d.ts +32 -0
  15. package/dist/combobox/parts.js +556 -0
  16. package/dist/command-palette/index.parts.d.ts +2 -0
  17. package/dist/command-palette/index.parts.js +3 -0
  18. package/dist/command-palette/parts.d.ts +32 -0
  19. package/dist/command-palette/parts.js +422 -0
  20. package/dist/format/datetime.d.ts +1 -0
  21. package/dist/format/datetime.js +8 -0
  22. package/dist/format/duration.d.ts +1 -0
  23. package/dist/format/duration.js +24 -1
  24. package/dist/format/index.d.ts +2 -2
  25. package/dist/format/index.js +2 -2
  26. package/dist/index.d.ts +7 -0
  27. package/dist/index.js +5 -0
  28. package/dist/locales/en.d.ts +8 -0
  29. package/dist/locales/en.js +8 -0
  30. package/dist/locales/nl.d.ts +8 -0
  31. package/dist/locales/nl.js +8 -0
  32. package/dist/match.d.ts +1 -0
  33. package/dist/match.js +47 -0
  34. package/dist/segmented-keys.d.ts +3 -0
  35. package/dist/segmented-keys.js +33 -0
  36. package/dist/theme.css +15 -0
  37. package/dist/toast-store.d.ts +1 -0
  38. package/dist/toast-store.js +16 -6
  39. package/dist/workspace/TabStrip.d.ts +2 -1
  40. package/dist/workspace/TabStrip.js +432 -372
  41. package/package.json +1 -1
  42. package/src/Banner.tsx +33 -9
  43. package/src/CopyButton.tsx +86 -0
  44. package/src/ErrorBoundary.tsx +3 -4
  45. package/src/ProjectSwitcher.tsx +4 -2
  46. package/src/RelativeTime.tsx +44 -0
  47. package/src/Segmented.tsx +60 -33
  48. package/src/Toasts.tsx +1 -1
  49. package/src/combobox/index.parts.ts +12 -0
  50. package/src/combobox/parts.tsx +147 -0
  51. package/src/command-palette/index.parts.ts +16 -0
  52. package/src/command-palette/parts.tsx +145 -0
  53. package/src/format/datetime.ts +5 -0
  54. package/src/format/duration.ts +25 -1
  55. package/src/format/index.ts +2 -1
  56. package/src/index.ts +7 -0
  57. package/src/locales/en.ts +8 -0
  58. package/src/locales/nl.ts +8 -0
  59. package/src/match.ts +50 -0
  60. package/src/segmented-keys.ts +33 -0
  61. package/src/theme.css +15 -0
  62. package/src/toast-store.ts +16 -6
  63. package/src/workspace/TabStrip.tsx +31 -2
@@ -0,0 +1,556 @@
1
+ import { c as _c } from "react/compiler-runtime";
2
+ import clsx from 'clsx';
3
+ import { useTranslation } from 'react-i18next';
4
+ import { Autocomplete } from '@base-ui/react/autocomplete';
5
+ import { withClass } from '../class-name.js';
6
+ import { fieldControlProps, useFieldControl } from '../field-context.js';
7
+ import { Icon } from "../Icon.js";
8
+ import { Kbd } from "../Kbd.js";
9
+ import { MENU_LABEL } from "../menu/parts.js";
10
+ import { splitPlacement } from '../placement.js';
11
+ import { renderPositioner } from '../popup-layer.js';
12
+ /* A line in the list instead of rows: nothing found, a search still running. It takes no room while it has nothing to say. */
13
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
+ const LIST_NOTE = 'text-center text-xs text-text-faint not-empty:px-3 not-empty:py-4';
15
+ /* The field keeps free text: Base UI's autocomplete, whose suggestions only offer text, rather than its combobox, which holds a value. */
16
+ export const ComboboxRoot = Autocomplete.Root;
17
+ /* The field the suggestions open under, drawn as the library's `Input`. */
18
+ export function ComboboxInput(t0) {
19
+ const $ = _c(39);
20
+ let className;
21
+ let icon;
22
+ let id;
23
+ let props;
24
+ let t1;
25
+ let t2;
26
+ if ($[0] !== t0) {
27
+ ({
28
+ size: t1,
29
+ mono: t2,
30
+ icon,
31
+ className,
32
+ id,
33
+ ...props
34
+ } = t0);
35
+ $[0] = t0;
36
+ $[1] = className;
37
+ $[2] = icon;
38
+ $[3] = id;
39
+ $[4] = props;
40
+ $[5] = t1;
41
+ $[6] = t2;
42
+ } else {
43
+ className = $[1];
44
+ icon = $[2];
45
+ id = $[3];
46
+ props = $[4];
47
+ t1 = $[5];
48
+ t2 = $[6];
49
+ }
50
+ const size = t1 === undefined ? "md" : t1;
51
+ const mono = t2 === undefined ? false : t2;
52
+ const field = useFieldControl();
53
+ const small = size === "sm";
54
+ let t3;
55
+ if ($[7] !== field || $[8] !== id) {
56
+ t3 = fieldControlProps(field, id);
57
+ $[7] = field;
58
+ $[8] = id;
59
+ $[9] = t3;
60
+ } else {
61
+ t3 = $[9];
62
+ }
63
+ let t4;
64
+ if ($[10] !== props || $[11] !== t3) {
65
+ t4 = {
66
+ ...t3,
67
+ ...props
68
+ };
69
+ $[10] = props;
70
+ $[11] = t3;
71
+ $[12] = t4;
72
+ } else {
73
+ t4 = $[12];
74
+ }
75
+ const control = t4;
76
+ if (icon === undefined) {
77
+ const t5 = small && "field-sm";
78
+ const t6 = mono && "font-mono text-code";
79
+ let t7;
80
+ if ($[13] !== className || $[14] !== t5 || $[15] !== t6) {
81
+ t7 = clsx("field", t5, t6, className);
82
+ $[13] = className;
83
+ $[14] = t5;
84
+ $[15] = t6;
85
+ $[16] = t7;
86
+ } else {
87
+ t7 = $[16];
88
+ }
89
+ let t8;
90
+ if ($[17] !== control || $[18] !== t7) {
91
+ t8 = /*#__PURE__*/_jsx(Autocomplete.Input, {
92
+ ...control,
93
+ className: t7
94
+ });
95
+ $[17] = control;
96
+ $[18] = t7;
97
+ $[19] = t8;
98
+ } else {
99
+ t8 = $[19];
100
+ }
101
+ return t8;
102
+ }
103
+ const t5 = small && "field-sm";
104
+ let t6;
105
+ if ($[20] !== className || $[21] !== t5) {
106
+ t6 = clsx("field relative flex p-0", t5, className);
107
+ $[20] = className;
108
+ $[21] = t5;
109
+ $[22] = t6;
110
+ } else {
111
+ t6 = $[22];
112
+ }
113
+ const t7 = small ? 12 : 14;
114
+ const t8 = small ? "left-2" : "left-2.5";
115
+ let t9;
116
+ if ($[23] !== t8) {
117
+ t9 = clsx("pointer-events-none absolute top-1/2 -translate-y-1/2 text-text-faint", t8);
118
+ $[23] = t8;
119
+ $[24] = t9;
120
+ } else {
121
+ t9 = $[24];
122
+ }
123
+ let t10;
124
+ if ($[25] !== icon || $[26] !== t7 || $[27] !== t9) {
125
+ t10 = /*#__PURE__*/_jsx(Icon, {
126
+ icon: icon,
127
+ size: t7,
128
+ className: t9
129
+ });
130
+ $[25] = icon;
131
+ $[26] = t7;
132
+ $[27] = t9;
133
+ $[28] = t10;
134
+ } else {
135
+ t10 = $[28];
136
+ }
137
+ const t11 = small ? "pr-2 pl-7" : "pr-2.5 pl-8";
138
+ const t12 = mono && "font-mono text-code";
139
+ let t13;
140
+ if ($[29] !== t11 || $[30] !== t12) {
141
+ t13 = clsx("min-w-0 flex-1 bg-transparent outline-none placeholder:text-text-faint", t11, t12);
142
+ $[29] = t11;
143
+ $[30] = t12;
144
+ $[31] = t13;
145
+ } else {
146
+ t13 = $[31];
147
+ }
148
+ let t14;
149
+ if ($[32] !== control || $[33] !== t13) {
150
+ t14 = /*#__PURE__*/_jsx(Autocomplete.Input, {
151
+ ...control,
152
+ className: t13
153
+ });
154
+ $[32] = control;
155
+ $[33] = t13;
156
+ $[34] = t14;
157
+ } else {
158
+ t14 = $[34];
159
+ }
160
+ let t15;
161
+ if ($[35] !== t10 || $[36] !== t14 || $[37] !== t6) {
162
+ t15 = /*#__PURE__*/_jsxs(Autocomplete.InputGroup, {
163
+ className: t6,
164
+ children: [t10, t14]
165
+ });
166
+ $[35] = t10;
167
+ $[36] = t14;
168
+ $[37] = t6;
169
+ $[38] = t15;
170
+ } else {
171
+ t15 = $[38];
172
+ }
173
+ return t15;
174
+ }
175
+ /* The portal, the positioner and the menu surface of the suggestions: under the field and at least as wide as it. */
176
+ export function ComboboxPopup(t0) {
177
+ const $ = _c(17);
178
+ let align;
179
+ let className;
180
+ let side;
181
+ let sideOffset;
182
+ let t1;
183
+ if ($[0] !== t0) {
184
+ const {
185
+ side: t2,
186
+ align: t3,
187
+ sideOffset: t4,
188
+ className: t5,
189
+ ...props
190
+ } = t0;
191
+ className = t5;
192
+ side = t2 === undefined ? "bottom" : t2;
193
+ align = t3 === undefined ? "start" : t3;
194
+ sideOffset = t4 === undefined ? 6 : t4;
195
+ t1 = splitPlacement(props);
196
+ $[0] = t0;
197
+ $[1] = align;
198
+ $[2] = className;
199
+ $[3] = side;
200
+ $[4] = sideOffset;
201
+ $[5] = t1;
202
+ } else {
203
+ align = $[1];
204
+ className = $[2];
205
+ side = $[3];
206
+ sideOffset = $[4];
207
+ t1 = $[5];
208
+ }
209
+ const [placement, popupProps] = t1;
210
+ let t2;
211
+ if ($[6] !== className) {
212
+ t2 = withClass("menu-popup min-w-(--anchor-width)", className);
213
+ $[6] = className;
214
+ $[7] = t2;
215
+ } else {
216
+ t2 = $[7];
217
+ }
218
+ let t3;
219
+ if ($[8] !== popupProps || $[9] !== t2) {
220
+ t3 = /*#__PURE__*/_jsx(Autocomplete.Popup, {
221
+ className: t2,
222
+ ...popupProps
223
+ });
224
+ $[8] = popupProps;
225
+ $[9] = t2;
226
+ $[10] = t3;
227
+ } else {
228
+ t3 = $[10];
229
+ }
230
+ let t4;
231
+ if ($[11] !== align || $[12] !== placement || $[13] !== side || $[14] !== sideOffset || $[15] !== t3) {
232
+ t4 = /*#__PURE__*/_jsx(Autocomplete.Portal, {
233
+ children: /*#__PURE__*/_jsx(Autocomplete.Positioner, {
234
+ className: "popup-positioner",
235
+ render: renderPositioner,
236
+ ...placement,
237
+ side: side,
238
+ align: align,
239
+ sideOffset: sideOffset,
240
+ children: t3
241
+ })
242
+ });
243
+ $[11] = align;
244
+ $[12] = placement;
245
+ $[13] = side;
246
+ $[14] = sideOffset;
247
+ $[15] = t3;
248
+ $[16] = t4;
249
+ } else {
250
+ t4 = $[16];
251
+ }
252
+ return t4;
253
+ }
254
+ export function ComboboxList(props) {
255
+ const $ = _c(5);
256
+ const {
257
+ t
258
+ } = useTranslation("ui");
259
+ let t0;
260
+ if ($[0] !== t) {
261
+ t0 = t("combobox.suggestions");
262
+ $[0] = t;
263
+ $[1] = t0;
264
+ } else {
265
+ t0 = $[1];
266
+ }
267
+ let t1;
268
+ if ($[2] !== props || $[3] !== t0) {
269
+ t1 = /*#__PURE__*/_jsx(Autocomplete.List, {
270
+ "aria-label": t0,
271
+ ...props
272
+ });
273
+ $[2] = props;
274
+ $[3] = t0;
275
+ $[4] = t1;
276
+ } else {
277
+ t1 = $[4];
278
+ }
279
+ return t1;
280
+ }
281
+ /*
282
+ * One suggestion. Its children are the label. `onClick` runs for a click and for Enter on the
283
+ * highlighted row; Base UI clicks the row for Enter, so a modifier held with Enter is read in the
284
+ * field's `onKeyDown` instead.
285
+ */
286
+ export function ComboboxItem(t0) {
287
+ const $ = _c(36);
288
+ let children;
289
+ let className;
290
+ let description;
291
+ let hint;
292
+ let icon;
293
+ let props;
294
+ let shortcut;
295
+ let t1;
296
+ let trailing;
297
+ if ($[0] !== t0) {
298
+ ({
299
+ icon,
300
+ hint,
301
+ description,
302
+ trailing,
303
+ shortcut,
304
+ unstyled: t1,
305
+ className,
306
+ children,
307
+ ...props
308
+ } = t0);
309
+ $[0] = t0;
310
+ $[1] = children;
311
+ $[2] = className;
312
+ $[3] = description;
313
+ $[4] = hint;
314
+ $[5] = icon;
315
+ $[6] = props;
316
+ $[7] = shortcut;
317
+ $[8] = t1;
318
+ $[9] = trailing;
319
+ } else {
320
+ children = $[1];
321
+ className = $[2];
322
+ description = $[3];
323
+ hint = $[4];
324
+ icon = $[5];
325
+ props = $[6];
326
+ shortcut = $[7];
327
+ t1 = $[8];
328
+ trailing = $[9];
329
+ }
330
+ const unstyled = t1 === undefined ? false : t1;
331
+ if (unstyled) {
332
+ let t2;
333
+ if ($[10] !== children || $[11] !== className || $[12] !== props) {
334
+ t2 = /*#__PURE__*/_jsx(Autocomplete.Item, {
335
+ className: className,
336
+ ...props,
337
+ children: children
338
+ });
339
+ $[10] = children;
340
+ $[11] = className;
341
+ $[12] = props;
342
+ $[13] = t2;
343
+ } else {
344
+ t2 = $[13];
345
+ }
346
+ return t2;
347
+ }
348
+ let t2;
349
+ if ($[14] !== children) {
350
+ t2 = /*#__PURE__*/_jsx("span", {
351
+ className: "min-w-0 truncate",
352
+ children: children
353
+ });
354
+ $[14] = children;
355
+ $[15] = t2;
356
+ } else {
357
+ t2 = $[15];
358
+ }
359
+ const label = t2;
360
+ let t3;
361
+ if ($[16] !== className || $[17] !== description) {
362
+ t3 = withClass(clsx("menu-item", description !== undefined && "items-start"), className);
363
+ $[16] = className;
364
+ $[17] = description;
365
+ $[18] = t3;
366
+ } else {
367
+ t3 = $[18];
368
+ }
369
+ let t4;
370
+ if ($[19] !== icon) {
371
+ t4 = icon !== undefined && /*#__PURE__*/_jsx("span", {
372
+ className: "flex h-lh shrink-0 items-center text-text-faint",
373
+ children: icon
374
+ });
375
+ $[19] = icon;
376
+ $[20] = t4;
377
+ } else {
378
+ t4 = $[20];
379
+ }
380
+ let t5;
381
+ if ($[21] !== description || $[22] !== label) {
382
+ t5 = description === undefined ? label : /*#__PURE__*/_jsxs("span", {
383
+ className: "flex min-w-0 flex-col",
384
+ children: [label, /*#__PURE__*/_jsx("span", {
385
+ className: "truncate text-xs text-text-faint",
386
+ children: description
387
+ })]
388
+ });
389
+ $[21] = description;
390
+ $[22] = label;
391
+ $[23] = t5;
392
+ } else {
393
+ t5 = $[23];
394
+ }
395
+ let t6;
396
+ if ($[24] !== hint) {
397
+ t6 = hint !== undefined && /*#__PURE__*/_jsx("span", {
398
+ className: "min-w-0 shrink-1000 truncate text-xs/[inherit] text-text-faint",
399
+ children: hint
400
+ });
401
+ $[24] = hint;
402
+ $[25] = t6;
403
+ } else {
404
+ t6 = $[25];
405
+ }
406
+ let t7;
407
+ if ($[26] !== shortcut || $[27] !== trailing) {
408
+ t7 = (trailing !== undefined || shortcut !== undefined) && /*#__PURE__*/_jsxs("span", {
409
+ className: "ml-auto flex h-lh shrink-0 items-center gap-2 pl-3",
410
+ children: [trailing, shortcut !== undefined && /*#__PURE__*/_jsx(Kbd, {
411
+ shortcut: shortcut
412
+ })]
413
+ });
414
+ $[26] = shortcut;
415
+ $[27] = trailing;
416
+ $[28] = t7;
417
+ } else {
418
+ t7 = $[28];
419
+ }
420
+ let t8;
421
+ if ($[29] !== props || $[30] !== t3 || $[31] !== t4 || $[32] !== t5 || $[33] !== t6 || $[34] !== t7) {
422
+ t8 = /*#__PURE__*/_jsxs(Autocomplete.Item, {
423
+ className: t3,
424
+ ...props,
425
+ children: [t4, t5, t6, t7]
426
+ });
427
+ $[29] = props;
428
+ $[30] = t3;
429
+ $[31] = t4;
430
+ $[32] = t5;
431
+ $[33] = t6;
432
+ $[34] = t7;
433
+ $[35] = t8;
434
+ } else {
435
+ t8 = $[35];
436
+ }
437
+ return t8;
438
+ }
439
+ export const ComboboxGroup = Autocomplete.Group;
440
+ export function ComboboxGroupLabel(t0) {
441
+ const $ = _c(8);
442
+ let className;
443
+ let props;
444
+ if ($[0] !== t0) {
445
+ ({
446
+ className,
447
+ ...props
448
+ } = t0);
449
+ $[0] = t0;
450
+ $[1] = className;
451
+ $[2] = props;
452
+ } else {
453
+ className = $[1];
454
+ props = $[2];
455
+ }
456
+ let t1;
457
+ if ($[3] !== className) {
458
+ t1 = withClass(MENU_LABEL, className);
459
+ $[3] = className;
460
+ $[4] = t1;
461
+ } else {
462
+ t1 = $[4];
463
+ }
464
+ let t2;
465
+ if ($[5] !== props || $[6] !== t1) {
466
+ t2 = /*#__PURE__*/_jsx(Autocomplete.GroupLabel, {
467
+ className: t1,
468
+ ...props
469
+ });
470
+ $[5] = props;
471
+ $[6] = t1;
472
+ $[7] = t2;
473
+ } else {
474
+ t2 = $[7];
475
+ }
476
+ return t2;
477
+ }
478
+ export const ComboboxCollection = Autocomplete.Collection;
479
+ /* Its children show only while the list has no rows. Needs `items` on the root. */
480
+ export function ComboboxEmpty(t0) {
481
+ const $ = _c(8);
482
+ let className;
483
+ let props;
484
+ if ($[0] !== t0) {
485
+ ({
486
+ className,
487
+ ...props
488
+ } = t0);
489
+ $[0] = t0;
490
+ $[1] = className;
491
+ $[2] = props;
492
+ } else {
493
+ className = $[1];
494
+ props = $[2];
495
+ }
496
+ let t1;
497
+ if ($[3] !== className) {
498
+ t1 = withClass(LIST_NOTE, className);
499
+ $[3] = className;
500
+ $[4] = t1;
501
+ } else {
502
+ t1 = $[4];
503
+ }
504
+ let t2;
505
+ if ($[5] !== props || $[6] !== t1) {
506
+ t2 = /*#__PURE__*/_jsx(Autocomplete.Empty, {
507
+ className: t1,
508
+ ...props
509
+ });
510
+ $[5] = props;
511
+ $[6] = t1;
512
+ $[7] = t2;
513
+ } else {
514
+ t2 = $[7];
515
+ }
516
+ return t2;
517
+ }
518
+ /* A line read out as it changes, such as a search that is still running or how many it found. It stays mounted; only its children come and go. */
519
+ export function ComboboxStatus(t0) {
520
+ const $ = _c(8);
521
+ let className;
522
+ let props;
523
+ if ($[0] !== t0) {
524
+ ({
525
+ className,
526
+ ...props
527
+ } = t0);
528
+ $[0] = t0;
529
+ $[1] = className;
530
+ $[2] = props;
531
+ } else {
532
+ className = $[1];
533
+ props = $[2];
534
+ }
535
+ let t1;
536
+ if ($[3] !== className) {
537
+ t1 = withClass(LIST_NOTE, className);
538
+ $[3] = className;
539
+ $[4] = t1;
540
+ } else {
541
+ t1 = $[4];
542
+ }
543
+ let t2;
544
+ if ($[5] !== props || $[6] !== t1) {
545
+ t2 = /*#__PURE__*/_jsx(Autocomplete.Status, {
546
+ className: t1,
547
+ ...props
548
+ });
549
+ $[5] = props;
550
+ $[6] = t1;
551
+ $[7] = t2;
552
+ } else {
553
+ t2 = $[7];
554
+ }
555
+ return t2;
556
+ }
@@ -0,0 +1,2 @@
1
+ export { ComboboxCollection as Collection, ComboboxEmpty as Empty, ComboboxGroup as Group, ComboboxGroupLabel as GroupLabel, ComboboxItem as Item, ComboboxStatus as Status } from '../combobox/parts.tsx';
2
+ export { CommandPaletteFooter as Footer, CommandPaletteInput as Input, CommandPaletteList as List, CommandPalettePopup as Popup, CommandPaletteRoot as Root } from './parts.tsx';
@@ -0,0 +1,3 @@
1
+ /* A command palette is a combobox in a dialog; its rows, groups and notes are the combobox's own. */
2
+ export { ComboboxCollection as Collection, ComboboxEmpty as Empty, ComboboxGroup as Group, ComboboxGroupLabel as GroupLabel, ComboboxItem as Item, ComboboxStatus as Status } from "../combobox/parts.js";
3
+ export { CommandPaletteFooter as Footer, CommandPaletteInput as Input, CommandPaletteList as List, CommandPalettePopup as Popup, CommandPaletteRoot as Root } from "./parts.js";
@@ -0,0 +1,32 @@
1
+ import { type ComponentProps, type ReactNode } from 'react';
2
+ import { Autocomplete } from '@base-ui/react/autocomplete';
3
+ import { useRender } from '@base-ui/react/use-render';
4
+ import { DialogRoot, type DialogPopupProps } from '../dialog/parts.tsx';
5
+ declare const SIZE: {
6
+ readonly md: 'w-[576px]';
7
+ readonly lg: 'w-[760px]';
8
+ };
9
+ type AutocompleteProps<ItemValue> = Omit<Autocomplete.Root.Props<ItemValue>, 'open' | 'defaultOpen' | 'onOpenChange' | 'onOpenChangeComplete' | 'inline' | 'openOnInputClick' | 'modal' | 'actionsRef' | 'items'> & {
10
+ items?: readonly ItemValue[] | readonly {
11
+ readonly items: readonly ItemValue[];
12
+ }[];
13
+ };
14
+ type DialogProps = Pick<ComponentProps<typeof DialogRoot>, 'open' | 'defaultOpen' | 'onOpenChange' | 'onOpenChangeComplete'>;
15
+ export type CommandPaletteRootProps<ItemValue> = AutocompleteProps<ItemValue> & DialogProps;
16
+ export declare function CommandPaletteRoot<ItemValue>({ open, defaultOpen, onOpenChange, onOpenChangeComplete, autoHighlight, keepHighlight, items, children, ...props }: CommandPaletteRootProps<ItemValue>): import("react").JSX.Element;
17
+ export type CommandPalettePopupProps = Omit<DialogPopupProps, 'size'> & {
18
+ size?: keyof typeof SIZE;
19
+ };
20
+ export declare function CommandPalettePopup({ size, initialFocus, className, ...props }: CommandPalettePopupProps): import("react").JSX.Element;
21
+ export type CommandPaletteInputProps = Omit<ComponentProps<typeof Autocomplete.Input>, 'className'> & {
22
+ leading?: ReactNode;
23
+ trailing?: ReactNode;
24
+ escapeHint?: boolean;
25
+ mono?: boolean;
26
+ className?: string;
27
+ };
28
+ export declare function CommandPaletteInput({ leading, trailing, escapeHint, mono, className, ref, ...props }: CommandPaletteInputProps): import("react").JSX.Element;
29
+ export declare function CommandPaletteList({ className, ...props }: ComponentProps<typeof Autocomplete.List>): import("react").JSX.Element;
30
+ export type CommandPaletteFooterProps = useRender.ComponentProps<'div'>;
31
+ export declare function CommandPaletteFooter({ render, className, ref, ...props }: CommandPaletteFooterProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
32
+ export {};