@adecore/ui 0.31.11 → 0.32.0

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 (163) hide show
  1. package/dist/AccentSwatches.js +290 -13
  2. package/dist/Banner.js +90 -9
  3. package/dist/Button.js +114 -22
  4. package/dist/ButtonGroup.js +62 -8
  5. package/dist/Checkbox.js +73 -4
  6. package/dist/ChoiceCards.js +205 -11
  7. package/dist/CloseButton.js +87 -7
  8. package/dist/ColorSwatch.js +132 -15
  9. package/dist/ColorWheelPicker.js +305 -71
  10. package/dist/ColumnResizeHandle.js +43 -8
  11. package/dist/DisabledReason.js +27 -8
  12. package/dist/DockShell.js +144 -37
  13. package/dist/EmptyState.js +95 -6
  14. package/dist/ErrorBoundary.js +254 -31
  15. package/dist/Field.js +349 -31
  16. package/dist/FileIcon.js +67 -6
  17. package/dist/Icon.js +38 -6
  18. package/dist/IconButton.js +176 -20
  19. package/dist/IconPicker.js +344 -73
  20. package/dist/Input.js +233 -14
  21. package/dist/Kbd.js +150 -10
  22. package/dist/LazyBoundary.js +14 -5
  23. package/dist/ListRow.js +75 -15
  24. package/dist/Meter.js +108 -5
  25. package/dist/MiddleTruncate.js +126 -45
  26. package/dist/PanelEmpty.js +64 -5
  27. package/dist/PanelHeader.js +95 -13
  28. package/dist/Pill.js +114 -19
  29. package/dist/ProjectSwitcher.js +225 -12
  30. package/dist/PromptDialog.js +352 -37
  31. package/dist/SectionLabel.js +62 -8
  32. package/dist/SegmentBar.js +197 -36
  33. package/dist/Segmented.js +130 -23
  34. package/dist/Select.js +310 -19
  35. package/dist/SelectSearch.js +344 -29
  36. package/dist/Separator.js +35 -4
  37. package/dist/ShortcutHints.js +146 -76
  38. package/dist/Skeleton.js +31 -4
  39. package/dist/Slider.js +172 -10
  40. package/dist/SlidingColumn.js +194 -34
  41. package/dist/Spinner.js +100 -3
  42. package/dist/Stepper.js +232 -11
  43. package/dist/Surface.js +62 -8
  44. package/dist/Switch.js +60 -6
  45. package/dist/TextMenu.js +212 -17
  46. package/dist/Tile.js +149 -5
  47. package/dist/Toasts.js +391 -33
  48. package/dist/Tooltip.js +153 -16
  49. package/dist/UIProvider.js +62 -15
  50. package/dist/Waveform.js +362 -93
  51. package/dist/Wipe.js +259 -34
  52. package/dist/ZoomControls.js +356 -14
  53. package/dist/class-name.js +1 -1
  54. package/dist/clipboard.js +15 -17
  55. package/dist/context-menu/index.parts.js +1 -1
  56. package/dist/dialog/index.parts.js +1 -1
  57. package/dist/dialog/parts.js +378 -29
  58. package/dist/dialog-layer.js +51 -18
  59. package/dist/error-boundary.js +19 -19
  60. package/dist/error-message.js +1 -1
  61. package/dist/field-context.js +7 -5
  62. package/dist/file-icon.js +23 -21
  63. package/dist/file-tree/helpers.js +133 -119
  64. package/dist/file-tree/index.parts.js +3 -3
  65. package/dist/file-tree/parts.js +418 -127
  66. package/dist/file-tree/style.js +1 -1
  67. package/dist/file-tree/use-file-tree-shift.js +43 -30
  68. package/dist/file-tree/use-file-tree.js +60 -18
  69. package/dist/file-tree/use-slots.js +220 -192
  70. package/dist/floating.js +2 -2
  71. package/dist/format/datetime.js +88 -38
  72. package/dist/format/duration.js +59 -53
  73. package/dist/format/index.js +1 -1
  74. package/dist/format/locale.js +76 -56
  75. package/dist/format/number.js +77 -61
  76. package/dist/format/regions.js +4 -2
  77. package/dist/format/time-zone.js +1 -1
  78. package/dist/icon-button-size.js +12 -2
  79. package/dist/icon-picker.js +70 -61
  80. package/dist/index.js +57 -57
  81. package/dist/key-value-list/index.parts.js +1 -1
  82. package/dist/key-value-list/parts.js +256 -22
  83. package/dist/lazy-landings.js +10 -10
  84. package/dist/lazy.js +84 -71
  85. package/dist/locales/en.js +80 -80
  86. package/dist/locales/nl.js +80 -80
  87. package/dist/locales.js +10 -7
  88. package/dist/menu/index.parts.js +1 -1
  89. package/dist/menu/parts.js +882 -44
  90. package/dist/merge-refs.js +8 -9
  91. package/dist/middle-truncate.js +24 -25
  92. package/dist/modality.js +27 -19
  93. package/dist/placement.js +11 -20
  94. package/dist/platform.js +6 -6
  95. package/dist/popover/index.parts.js +1 -1
  96. package/dist/popover/parts.js +173 -11
  97. package/dist/popup-layer.js +38 -17
  98. package/dist/prefetch.js +78 -79
  99. package/dist/preview-card/index.parts.js +1 -1
  100. package/dist/project-switcher-row.js +153 -12
  101. package/dist/select-row.js +69 -5
  102. package/dist/select-shared.js +6 -6
  103. package/dist/selection.js +16 -16
  104. package/dist/seti-icons.js +413 -413
  105. package/dist/settings/ConfirmDialog.js +55 -8
  106. package/dist/settings/DetailHeader.js +72 -4
  107. package/dist/settings/MasterDetail.js +119 -7
  108. package/dist/settings/SettingsDialog.js +820 -80
  109. package/dist/settings/SettingsRow.js +205 -18
  110. package/dist/settings/SettingsSection.js +96 -6
  111. package/dist/settings/index.js +7 -7
  112. package/dist/settings/target.js +7 -2
  113. package/dist/shortcut-hints.js +73 -55
  114. package/dist/shortcut.js +140 -104
  115. package/dist/step-places.js +1 -1
  116. package/dist/tabs/index.parts.js +1 -1
  117. package/dist/tabs/overflow.js +18 -18
  118. package/dist/tabs/parts.js +780 -166
  119. package/dist/testing/dedupe.js +82 -75
  120. package/dist/testing/fake-source.js +12 -12
  121. package/dist/testing/index.js +1 -1
  122. package/dist/toast-store.js +65 -46
  123. package/dist/tree/index.parts.js +1 -1
  124. package/dist/tree/parts.js +721 -94
  125. package/dist/tree/shift.js +28 -22
  126. package/dist/tree/style.js +2 -2
  127. package/dist/tree/use-tree-shift.js +178 -117
  128. package/dist/useAsyncAction.js +23 -19
  129. package/dist/useColumnResize.js +36 -34
  130. package/dist/useContentSize.js +62 -18
  131. package/dist/useMeasuredWidth.js +14 -3
  132. package/dist/useNow.js +73 -30
  133. package/dist/wipe-split.js +14 -14
  134. package/dist/workspace/DropPreview.js +60 -7
  135. package/dist/workspace/SplitView.js +1025 -441
  136. package/dist/workspace/TabStrip.js +810 -191
  137. package/dist/workspace/Workspace.js +276 -26
  138. package/dist/workspace/context.js +8 -3
  139. package/dist/workspace/geometry.js +173 -150
  140. package/dist/workspace/model.js +313 -250
  141. package/dist/workspace/preview.js +61 -61
  142. package/dist/zoom.js +2 -2
  143. package/package.json +1 -1
  144. package/src/ErrorBoundary.tsx +1 -1
  145. package/src/Field.tsx +4 -3
  146. package/src/IconPicker.tsx +3 -3
  147. package/src/LazyBoundary.tsx +2 -0
  148. package/src/MiddleTruncate.tsx +2 -2
  149. package/src/SegmentBar.tsx +2 -2
  150. package/src/Toasts.tsx +3 -1
  151. package/src/Tooltip.tsx +7 -10
  152. package/src/Waveform.tsx +3 -3
  153. package/src/file-tree/parts.tsx +6 -9
  154. package/src/file-tree/use-file-tree-shift.tsx +6 -9
  155. package/src/lazy.tsx +4 -0
  156. package/src/locales/en.ts +4 -4
  157. package/src/locales/nl.ts +5 -5
  158. package/src/settings/SettingsDialog.tsx +1 -1
  159. package/src/tree/parts.tsx +5 -8
  160. package/src/useContentSize.ts +3 -3
  161. package/src/workspace/SplitView.tsx +2 -2
  162. package/src/workspace/TabStrip.tsx +2 -3
  163. package/src/workspace/Workspace.tsx +2 -5
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { c as _c } from "react/compiler-runtime";
2
2
  import { createContext, useContext } from 'react';
3
3
  import clsx from 'clsx';
4
4
  import { Check, ChevronRight } from 'lucide-react';
@@ -7,10 +7,11 @@ import { Menu as BaseMenu } from '@base-ui/react/menu';
7
7
  import { Separator as BaseSeparator } from '@base-ui/react/separator';
8
8
  import { useRender } from '@base-ui/react/use-render';
9
9
  import { withClass } from '../class-name.js';
10
- import { Icon } from '../Icon.js';
11
- import { Tooltip } from '../Tooltip.js';
10
+ import { Icon } from "../Icon.js";
11
+ import { Tooltip } from "../Tooltip.js";
12
12
  import { splitPlacement } from '../placement.js';
13
13
  import { renderPositioner } from '../popup-layer.js';
14
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
15
  const MenuKindContext = createContext('menu');
15
16
  /*
16
17
  * A menu hangs under its trigger, lined up with its start, unless there is no room. A context menu
@@ -18,9 +19,16 @@ const MenuKindContext = createContext('menu');
18
19
  * up by the popup's own padding so its first row lines up with the row that opened it.
19
20
  */
20
21
  const PLACEMENT = {
21
- menu: { side: 'bottom', align: 'start', sideOffset: 6 },
22
- context: {},
23
- submenu: { sideOffset: 4, alignOffset: -4 }
22
+ menu: {
23
+ side: 'bottom',
24
+ align: 'start',
25
+ sideOffset: 6
26
+ },
27
+ context: {},
28
+ submenu: {
29
+ sideOffset: 4,
30
+ alignOffset: -4
31
+ }
24
32
  };
25
33
  /* The label above a group of rows. It takes the line height of the row it sits in. */
26
34
  export const MENU_LABEL = 'px-2.5 pt-1.5 pb-0.5 text-xs/[inherit] text-text-faint';
@@ -30,13 +38,55 @@ const MENU_HINT = 'ml-auto pl-3 text-xs/[inherit] text-text-faint';
30
38
  negative margin buys back from its 4px of padding, and it is softer than a border a surface ends with. */
31
39
  const MENU_SEPARATOR = '-mx-1 my-1 h-px bg-border-soft';
32
40
  export function MenuRoot(props) {
33
- return (_jsx(MenuKindContext, { value: "menu", children: _jsx(BaseMenu.Root, { ...props }) }));
41
+ const $ = _c(2);
42
+ let t0;
43
+ if ($[0] !== props) {
44
+ t0 = /*#__PURE__*/_jsx(MenuKindContext, {
45
+ value: "menu",
46
+ children: /*#__PURE__*/_jsx(BaseMenu.Root, {
47
+ ...props
48
+ })
49
+ });
50
+ $[0] = props;
51
+ $[1] = t0;
52
+ } else {
53
+ t0 = $[1];
54
+ }
55
+ return t0;
34
56
  }
35
57
  export function ContextMenuRoot(props) {
36
- return (_jsx(MenuKindContext, { value: "context", children: _jsx(BaseContextMenu.Root, { ...props }) }));
58
+ const $ = _c(2);
59
+ let t0;
60
+ if ($[0] !== props) {
61
+ t0 = /*#__PURE__*/_jsx(MenuKindContext, {
62
+ value: "context",
63
+ children: /*#__PURE__*/_jsx(BaseContextMenu.Root, {
64
+ ...props
65
+ })
66
+ });
67
+ $[0] = props;
68
+ $[1] = t0;
69
+ } else {
70
+ t0 = $[1];
71
+ }
72
+ return t0;
37
73
  }
38
74
  export function MenuSubmenuRoot(props) {
39
- return (_jsx(MenuKindContext, { value: "submenu", children: _jsx(BaseMenu.SubmenuRoot, { ...props }) }));
75
+ const $ = _c(2);
76
+ let t0;
77
+ if ($[0] !== props) {
78
+ t0 = /*#__PURE__*/_jsx(MenuKindContext, {
79
+ value: "submenu",
80
+ children: /*#__PURE__*/_jsx(BaseMenu.SubmenuRoot, {
81
+ ...props
82
+ })
83
+ });
84
+ $[0] = props;
85
+ $[1] = t0;
86
+ } else {
87
+ t0 = $[1];
88
+ }
89
+ return t0;
40
90
  }
41
91
  export const MenuTrigger = BaseMenu.Trigger;
42
92
  export const ContextMenuTrigger = BaseContextMenu.Trigger;
@@ -45,72 +95,860 @@ export const ContextMenuTrigger = BaseContextMenu.Trigger;
45
95
  * decided once. The popup scrolls inside the room the window leaves it; `className` adds a minimum
46
96
  * width or a layout of its own, such as a grid of swatches.
47
97
  */
48
- export function MenuPopup({ className, ...props }) {
49
- const defaults = PLACEMENT[useContext(MenuKindContext)];
50
- const [placement, popupProps] = splitPlacement(props);
51
- return (_jsx(BaseMenu.Portal, { children: _jsx(BaseMenu.Positioner, { className: "popup-positioner", render: renderPositioner, ...placement, side: placement.side ?? defaults.side, align: placement.align ?? defaults.align, sideOffset: placement.sideOffset ?? defaults.sideOffset, alignOffset: placement.alignOffset ?? defaults.alignOffset, children: _jsx(BaseMenu.Popup, { className: withClass('menu-popup', className), ...popupProps }) }) }));
98
+ export function MenuPopup(t0) {
99
+ const $ = _c(12);
100
+ const {
101
+ className,
102
+ ...props
103
+ } = t0;
104
+ const defaults = PLACEMENT[useContext(MenuKindContext)];
105
+ const [placement, popupProps] = splitPlacement(props);
106
+ const t1 = placement.side ?? defaults.side;
107
+ const t2 = placement.align ?? defaults.align;
108
+ const t3 = placement.sideOffset ?? defaults.sideOffset;
109
+ const t4 = placement.alignOffset ?? defaults.alignOffset;
110
+ let t5;
111
+ if ($[0] !== className) {
112
+ t5 = withClass("menu-popup", className);
113
+ $[0] = className;
114
+ $[1] = t5;
115
+ } else {
116
+ t5 = $[1];
117
+ }
118
+ let t6;
119
+ if ($[2] !== popupProps || $[3] !== t5) {
120
+ t6 = /*#__PURE__*/_jsx(BaseMenu.Popup, {
121
+ className: t5,
122
+ ...popupProps
123
+ });
124
+ $[2] = popupProps;
125
+ $[3] = t5;
126
+ $[4] = t6;
127
+ } else {
128
+ t6 = $[4];
129
+ }
130
+ let t7;
131
+ if ($[5] !== placement || $[6] !== t1 || $[7] !== t2 || $[8] !== t3 || $[9] !== t4 || $[10] !== t6) {
132
+ t7 = /*#__PURE__*/_jsx(BaseMenu.Portal, {
133
+ children: /*#__PURE__*/_jsx(BaseMenu.Positioner, {
134
+ className: "popup-positioner",
135
+ render: renderPositioner,
136
+ ...placement,
137
+ side: t1,
138
+ align: t2,
139
+ sideOffset: t3,
140
+ alignOffset: t4,
141
+ children: t6
142
+ })
143
+ });
144
+ $[5] = placement;
145
+ $[6] = t1;
146
+ $[7] = t2;
147
+ $[8] = t3;
148
+ $[9] = t4;
149
+ $[10] = t6;
150
+ $[11] = t7;
151
+ } else {
152
+ t7 = $[11];
153
+ }
154
+ return t7;
52
155
  }
53
- export function MenuItem({ unstyled = false, className, ...props }) {
54
- return _jsx(BaseMenu.Item, { className: unstyled ? className : withClass('menu-item', className), ...props });
156
+ export function MenuItem(t0) {
157
+ const $ = _c(10);
158
+ let className;
159
+ let props;
160
+ let t1;
161
+ if ($[0] !== t0) {
162
+ ({
163
+ unstyled: t1,
164
+ className,
165
+ ...props
166
+ } = t0);
167
+ $[0] = t0;
168
+ $[1] = className;
169
+ $[2] = props;
170
+ $[3] = t1;
171
+ } else {
172
+ className = $[1];
173
+ props = $[2];
174
+ t1 = $[3];
175
+ }
176
+ const unstyled = t1 === undefined ? false : t1;
177
+ let t2;
178
+ if ($[4] !== className || $[5] !== unstyled) {
179
+ t2 = unstyled ? className : withClass("menu-item", className);
180
+ $[4] = className;
181
+ $[5] = unstyled;
182
+ $[6] = t2;
183
+ } else {
184
+ t2 = $[6];
185
+ }
186
+ let t3;
187
+ if ($[7] !== props || $[8] !== t2) {
188
+ t3 = /*#__PURE__*/_jsx(BaseMenu.Item, {
189
+ className: t2,
190
+ ...props
191
+ });
192
+ $[7] = props;
193
+ $[8] = t2;
194
+ $[9] = t3;
195
+ } else {
196
+ t3 = $[9];
197
+ }
198
+ return t3;
55
199
  }
56
200
  /*
57
201
  * The slot before the label of a row that can be checked, in a menu or a list that reads as one. It
58
202
  * is one line of the row tall, so a row with a second line keeps the tick beside its first. Radio and
59
203
  * checkbox items draw it themselves; a plain row that shows a state hands it `checked`.
60
204
  */
61
- export function MenuCheck({ kind, checked, className, ref }) {
62
- const tick = _jsx(Icon, { icon: Check, size: kind === 'radio' ? 14 : 12 });
63
- const indicator = checked !== undefined ? (checked && tick) : kind === 'radio' ? (_jsx(BaseMenu.RadioItemIndicator, { className: "flex", children: tick })) : (_jsx(BaseMenu.CheckboxItemIndicator, { className: "flex", children: tick }));
64
- return (_jsx("span", { ref: ref, className: clsx('grid h-lh w-4 shrink-0 place-items-center', className), children: kind === 'checkbox' ? _jsx("span", { className: "grid h-4 w-4 place-items-center rounded border border-border-strong", children: indicator }) : indicator }));
205
+ export function MenuCheck(t0) {
206
+ const $ = _c(15);
207
+ const {
208
+ kind,
209
+ checked,
210
+ className,
211
+ ref
212
+ } = t0;
213
+ const t1 = kind === "radio" ? 14 : 12;
214
+ let t2;
215
+ if ($[0] !== t1) {
216
+ t2 = /*#__PURE__*/_jsx(Icon, {
217
+ icon: Check,
218
+ size: t1
219
+ });
220
+ $[0] = t1;
221
+ $[1] = t2;
222
+ } else {
223
+ t2 = $[1];
224
+ }
225
+ const tick = t2;
226
+ let t3;
227
+ if ($[2] !== checked || $[3] !== kind || $[4] !== tick) {
228
+ t3 = checked !== undefined ? checked && tick : kind === "radio" ? /*#__PURE__*/_jsx(BaseMenu.RadioItemIndicator, {
229
+ className: "flex",
230
+ children: tick
231
+ }) : /*#__PURE__*/_jsx(BaseMenu.CheckboxItemIndicator, {
232
+ className: "flex",
233
+ children: tick
234
+ });
235
+ $[2] = checked;
236
+ $[3] = kind;
237
+ $[4] = tick;
238
+ $[5] = t3;
239
+ } else {
240
+ t3 = $[5];
241
+ }
242
+ const indicator = t3;
243
+ let t4;
244
+ if ($[6] !== className) {
245
+ t4 = clsx("grid h-lh w-4 shrink-0 place-items-center", className);
246
+ $[6] = className;
247
+ $[7] = t4;
248
+ } else {
249
+ t4 = $[7];
250
+ }
251
+ let t5;
252
+ if ($[8] !== indicator || $[9] !== kind) {
253
+ t5 = kind === "checkbox" ? /*#__PURE__*/_jsx("span", {
254
+ className: "grid h-4 w-4 place-items-center rounded border border-border-strong",
255
+ children: indicator
256
+ }) : indicator;
257
+ $[8] = indicator;
258
+ $[9] = kind;
259
+ $[10] = t5;
260
+ } else {
261
+ t5 = $[10];
262
+ }
263
+ let t6;
264
+ if ($[11] !== ref || $[12] !== t4 || $[13] !== t5) {
265
+ t6 = /*#__PURE__*/_jsx("span", {
266
+ ref: ref,
267
+ className: t4,
268
+ children: t5
269
+ });
270
+ $[11] = ref;
271
+ $[12] = t4;
272
+ $[13] = t5;
273
+ $[14] = t6;
274
+ } else {
275
+ t6 = $[14];
276
+ }
277
+ return t6;
65
278
  }
66
279
  /* A row that is on or off. The box before its label is part of it. */
67
- export function MenuCheckboxItem({ unstyled = false, indicator = 'start', className, children, ...props }) {
68
- if (unstyled) {
69
- return (_jsx(BaseMenu.CheckboxItem, { className: className, ...props, children: children }));
280
+ export function MenuCheckboxItem(t0) {
281
+ const $ = _c(22);
282
+ let children;
283
+ let className;
284
+ let props;
285
+ let t1;
286
+ let t2;
287
+ if ($[0] !== t0) {
288
+ ({
289
+ unstyled: t1,
290
+ indicator: t2,
291
+ className,
292
+ children,
293
+ ...props
294
+ } = t0);
295
+ $[0] = t0;
296
+ $[1] = children;
297
+ $[2] = className;
298
+ $[3] = props;
299
+ $[4] = t1;
300
+ $[5] = t2;
301
+ } else {
302
+ children = $[1];
303
+ className = $[2];
304
+ props = $[3];
305
+ t1 = $[4];
306
+ t2 = $[5];
307
+ }
308
+ const unstyled = t1 === undefined ? false : t1;
309
+ const indicator = t2 === undefined ? "start" : t2;
310
+ if (unstyled) {
311
+ let t3;
312
+ if ($[6] !== children || $[7] !== className || $[8] !== props) {
313
+ t3 = /*#__PURE__*/_jsx(BaseMenu.CheckboxItem, {
314
+ className: className,
315
+ ...props,
316
+ children: children
317
+ });
318
+ $[6] = children;
319
+ $[7] = className;
320
+ $[8] = props;
321
+ $[9] = t3;
322
+ } else {
323
+ t3 = $[9];
70
324
  }
71
- return (_jsxs(BaseMenu.CheckboxItem, { className: withClass('menu-item', className), ...props, children: [indicator === 'start' && _jsx(MenuCheck, { kind: "checkbox" }), children, indicator === 'end' && _jsx(MenuCheck, { kind: "checkbox", className: "ml-auto" })] }));
325
+ return t3;
326
+ }
327
+ let t3;
328
+ if ($[10] !== className) {
329
+ t3 = withClass("menu-item", className);
330
+ $[10] = className;
331
+ $[11] = t3;
332
+ } else {
333
+ t3 = $[11];
334
+ }
335
+ let t4;
336
+ if ($[12] !== indicator) {
337
+ t4 = indicator === "start" && /*#__PURE__*/_jsx(MenuCheck, {
338
+ kind: "checkbox"
339
+ });
340
+ $[12] = indicator;
341
+ $[13] = t4;
342
+ } else {
343
+ t4 = $[13];
344
+ }
345
+ let t5;
346
+ if ($[14] !== indicator) {
347
+ t5 = indicator === "end" && /*#__PURE__*/_jsx(MenuCheck, {
348
+ kind: "checkbox",
349
+ className: "ml-auto"
350
+ });
351
+ $[14] = indicator;
352
+ $[15] = t5;
353
+ } else {
354
+ t5 = $[15];
355
+ }
356
+ let t6;
357
+ if ($[16] !== children || $[17] !== props || $[18] !== t3 || $[19] !== t4 || $[20] !== t5) {
358
+ t6 = /*#__PURE__*/_jsxs(BaseMenu.CheckboxItem, {
359
+ className: t3,
360
+ ...props,
361
+ children: [t4, children, t5]
362
+ });
363
+ $[16] = children;
364
+ $[17] = props;
365
+ $[18] = t3;
366
+ $[19] = t4;
367
+ $[20] = t5;
368
+ $[21] = t6;
369
+ } else {
370
+ t6 = $[21];
371
+ }
372
+ return t6;
72
373
  }
73
374
  export const MenuRadioGroup = BaseMenu.RadioGroup;
74
375
  /* One of several. The tick before its label is part of it. */
75
- export function MenuRadioItem({ unstyled = false, indicator = 'start', className, children, ...props }) {
76
- if (unstyled) {
77
- return (_jsx(BaseMenu.RadioItem, { className: className, ...props, children: children }));
376
+ export function MenuRadioItem(t0) {
377
+ const $ = _c(22);
378
+ let children;
379
+ let className;
380
+ let props;
381
+ let t1;
382
+ let t2;
383
+ if ($[0] !== t0) {
384
+ ({
385
+ unstyled: t1,
386
+ indicator: t2,
387
+ className,
388
+ children,
389
+ ...props
390
+ } = t0);
391
+ $[0] = t0;
392
+ $[1] = children;
393
+ $[2] = className;
394
+ $[3] = props;
395
+ $[4] = t1;
396
+ $[5] = t2;
397
+ } else {
398
+ children = $[1];
399
+ className = $[2];
400
+ props = $[3];
401
+ t1 = $[4];
402
+ t2 = $[5];
403
+ }
404
+ const unstyled = t1 === undefined ? false : t1;
405
+ const indicator = t2 === undefined ? "start" : t2;
406
+ if (unstyled) {
407
+ let t3;
408
+ if ($[6] !== children || $[7] !== className || $[8] !== props) {
409
+ t3 = /*#__PURE__*/_jsx(BaseMenu.RadioItem, {
410
+ className: className,
411
+ ...props,
412
+ children: children
413
+ });
414
+ $[6] = children;
415
+ $[7] = className;
416
+ $[8] = props;
417
+ $[9] = t3;
418
+ } else {
419
+ t3 = $[9];
78
420
  }
79
- return (_jsxs(BaseMenu.RadioItem, { className: withClass('menu-item', className), ...props, children: [indicator === 'start' && _jsx(MenuCheck, { kind: "radio" }), children, indicator === 'end' && _jsx(MenuCheck, { kind: "radio", className: "ml-auto" })] }));
421
+ return t3;
422
+ }
423
+ let t3;
424
+ if ($[10] !== className) {
425
+ t3 = withClass("menu-item", className);
426
+ $[10] = className;
427
+ $[11] = t3;
428
+ } else {
429
+ t3 = $[11];
430
+ }
431
+ let t4;
432
+ if ($[12] !== indicator) {
433
+ t4 = indicator === "start" && /*#__PURE__*/_jsx(MenuCheck, {
434
+ kind: "radio"
435
+ });
436
+ $[12] = indicator;
437
+ $[13] = t4;
438
+ } else {
439
+ t4 = $[13];
440
+ }
441
+ let t5;
442
+ if ($[14] !== indicator) {
443
+ t5 = indicator === "end" && /*#__PURE__*/_jsx(MenuCheck, {
444
+ kind: "radio",
445
+ className: "ml-auto"
446
+ });
447
+ $[14] = indicator;
448
+ $[15] = t5;
449
+ } else {
450
+ t5 = $[15];
451
+ }
452
+ let t6;
453
+ if ($[16] !== children || $[17] !== props || $[18] !== t3 || $[19] !== t4 || $[20] !== t5) {
454
+ t6 = /*#__PURE__*/_jsxs(BaseMenu.RadioItem, {
455
+ className: t3,
456
+ ...props,
457
+ children: [t4, children, t5]
458
+ });
459
+ $[16] = children;
460
+ $[17] = props;
461
+ $[18] = t3;
462
+ $[19] = t4;
463
+ $[20] = t5;
464
+ $[21] = t6;
465
+ } else {
466
+ t6 = $[21];
467
+ }
468
+ return t6;
80
469
  }
81
- export function MenuSubmenuTrigger({ className, children, chevron = true, ...props }) {
82
- return (_jsxs(BaseMenu.SubmenuTrigger, { className: withClass('menu-item', className), ...props, children: [children, chevron && _jsx(Icon, { icon: ChevronRight, size: 14, className: "ml-auto text-text-faint" })] }));
470
+ export function MenuSubmenuTrigger(t0) {
471
+ const $ = _c(14);
472
+ let children;
473
+ let className;
474
+ let props;
475
+ let t1;
476
+ if ($[0] !== t0) {
477
+ ({
478
+ className,
479
+ children,
480
+ chevron: t1,
481
+ ...props
482
+ } = t0);
483
+ $[0] = t0;
484
+ $[1] = children;
485
+ $[2] = className;
486
+ $[3] = props;
487
+ $[4] = t1;
488
+ } else {
489
+ children = $[1];
490
+ className = $[2];
491
+ props = $[3];
492
+ t1 = $[4];
493
+ }
494
+ const chevron = t1 === undefined ? true : t1;
495
+ let t2;
496
+ if ($[5] !== className) {
497
+ t2 = withClass("menu-item", className);
498
+ $[5] = className;
499
+ $[6] = t2;
500
+ } else {
501
+ t2 = $[6];
502
+ }
503
+ let t3;
504
+ if ($[7] !== chevron) {
505
+ t3 = chevron && /*#__PURE__*/_jsx(Icon, {
506
+ icon: ChevronRight,
507
+ size: 14,
508
+ className: "ml-auto text-text-faint"
509
+ });
510
+ $[7] = chevron;
511
+ $[8] = t3;
512
+ } else {
513
+ t3 = $[8];
514
+ }
515
+ let t4;
516
+ if ($[9] !== children || $[10] !== props || $[11] !== t2 || $[12] !== t3) {
517
+ t4 = /*#__PURE__*/_jsxs(BaseMenu.SubmenuTrigger, {
518
+ className: t2,
519
+ ...props,
520
+ children: [children, t3]
521
+ });
522
+ $[9] = children;
523
+ $[10] = props;
524
+ $[11] = t2;
525
+ $[12] = t3;
526
+ $[13] = t4;
527
+ } else {
528
+ t4 = $[13];
529
+ }
530
+ return t4;
83
531
  }
84
532
  /*
85
533
  * A row with buttons at its end that reads as one row. Its first item is the row, every `RowAction`
86
534
  * and `RowSubmenuTrigger` after it an item of its own, so the arrow keys reach each.
87
535
  */
88
- export function MenuRow({ render, className, ref, ...props }) {
89
- return useRender({ render, ref, defaultTagName: 'div', props: { role: 'group', ...props, className: clsx('menu-row', className) } });
536
+ export function MenuRow(t0) {
537
+ const $ = _c(14);
538
+ let className;
539
+ let props;
540
+ let ref;
541
+ let render;
542
+ if ($[0] !== t0) {
543
+ ({
544
+ render,
545
+ className,
546
+ ref,
547
+ ...props
548
+ } = t0);
549
+ $[0] = t0;
550
+ $[1] = className;
551
+ $[2] = props;
552
+ $[3] = ref;
553
+ $[4] = render;
554
+ } else {
555
+ className = $[1];
556
+ props = $[2];
557
+ ref = $[3];
558
+ render = $[4];
559
+ }
560
+ let t1;
561
+ if ($[5] !== className) {
562
+ t1 = clsx("menu-row", className);
563
+ $[5] = className;
564
+ $[6] = t1;
565
+ } else {
566
+ t1 = $[6];
567
+ }
568
+ let t2;
569
+ if ($[7] !== props || $[8] !== t1) {
570
+ t2 = {
571
+ role: "group",
572
+ ...props,
573
+ className: t1
574
+ };
575
+ $[7] = props;
576
+ $[8] = t1;
577
+ $[9] = t2;
578
+ } else {
579
+ t2 = $[9];
580
+ }
581
+ let t3;
582
+ if ($[10] !== ref || $[11] !== render || $[12] !== t2) {
583
+ t3 = {
584
+ render,
585
+ ref,
586
+ defaultTagName: "div",
587
+ props: t2
588
+ };
589
+ $[10] = ref;
590
+ $[11] = render;
591
+ $[12] = t2;
592
+ $[13] = t3;
593
+ } else {
594
+ t3 = $[13];
595
+ }
596
+ return useRender(t3);
90
597
  }
91
598
  /* A button in a `Menu.Row` that acts at once, named by its tooltip. `closeOnClick={false}` keeps the menu open. */
92
- export function MenuRowAction({ icon, label, iconClassName, className, ...props }) {
93
- return (_jsx(Tooltip, { label: label, name: true, children: _jsx(BaseMenu.Item, { className: withClass('menu-item menu-row-action', className), ...props, children: _jsx(Icon, { icon: icon, size: 14, className: iconClassName }) }) }));
599
+ export function MenuRowAction(t0) {
600
+ const $ = _c(18);
601
+ let className;
602
+ let icon;
603
+ let iconClassName;
604
+ let label;
605
+ let props;
606
+ if ($[0] !== t0) {
607
+ ({
608
+ icon,
609
+ label,
610
+ iconClassName,
611
+ className,
612
+ ...props
613
+ } = t0);
614
+ $[0] = t0;
615
+ $[1] = className;
616
+ $[2] = icon;
617
+ $[3] = iconClassName;
618
+ $[4] = label;
619
+ $[5] = props;
620
+ } else {
621
+ className = $[1];
622
+ icon = $[2];
623
+ iconClassName = $[3];
624
+ label = $[4];
625
+ props = $[5];
626
+ }
627
+ let t1;
628
+ if ($[6] !== className) {
629
+ t1 = withClass("menu-item menu-row-action", className);
630
+ $[6] = className;
631
+ $[7] = t1;
632
+ } else {
633
+ t1 = $[7];
634
+ }
635
+ let t2;
636
+ if ($[8] !== icon || $[9] !== iconClassName) {
637
+ t2 = /*#__PURE__*/_jsx(Icon, {
638
+ icon: icon,
639
+ size: 14,
640
+ className: iconClassName
641
+ });
642
+ $[8] = icon;
643
+ $[9] = iconClassName;
644
+ $[10] = t2;
645
+ } else {
646
+ t2 = $[10];
647
+ }
648
+ let t3;
649
+ if ($[11] !== props || $[12] !== t1 || $[13] !== t2) {
650
+ t3 = /*#__PURE__*/_jsx(BaseMenu.Item, {
651
+ className: t1,
652
+ ...props,
653
+ children: t2
654
+ });
655
+ $[11] = props;
656
+ $[12] = t1;
657
+ $[13] = t2;
658
+ $[14] = t3;
659
+ } else {
660
+ t3 = $[14];
661
+ }
662
+ let t4;
663
+ if ($[15] !== label || $[16] !== t3) {
664
+ t4 = /*#__PURE__*/_jsx(Tooltip, {
665
+ label: label,
666
+ name: true,
667
+ children: t3
668
+ });
669
+ $[15] = label;
670
+ $[16] = t3;
671
+ $[17] = t4;
672
+ } else {
673
+ t4 = $[17];
674
+ }
675
+ return t4;
94
676
  }
95
677
  /*
96
678
  * A button in a `Menu.Row` that opens a submenu, inside a `Menu.SubmenuRoot`. It has no tooltip: the
97
679
  * submenu opens on the same hover and says what the button holds.
98
680
  */
99
- export function MenuRowSubmenuTrigger({ icon, label, iconClassName, className, ...props }) {
100
- return (_jsx(BaseMenu.SubmenuTrigger, { className: withClass('menu-item menu-row-action', className), "aria-label": label, ...props, children: _jsx(Icon, { icon: icon, size: 14, className: iconClassName }) }));
681
+ export function MenuRowSubmenuTrigger(t0) {
682
+ const $ = _c(16);
683
+ let className;
684
+ let icon;
685
+ let iconClassName;
686
+ let label;
687
+ let props;
688
+ if ($[0] !== t0) {
689
+ ({
690
+ icon,
691
+ label,
692
+ iconClassName,
693
+ className,
694
+ ...props
695
+ } = t0);
696
+ $[0] = t0;
697
+ $[1] = className;
698
+ $[2] = icon;
699
+ $[3] = iconClassName;
700
+ $[4] = label;
701
+ $[5] = props;
702
+ } else {
703
+ className = $[1];
704
+ icon = $[2];
705
+ iconClassName = $[3];
706
+ label = $[4];
707
+ props = $[5];
708
+ }
709
+ let t1;
710
+ if ($[6] !== className) {
711
+ t1 = withClass("menu-item menu-row-action", className);
712
+ $[6] = className;
713
+ $[7] = t1;
714
+ } else {
715
+ t1 = $[7];
716
+ }
717
+ let t2;
718
+ if ($[8] !== icon || $[9] !== iconClassName) {
719
+ t2 = /*#__PURE__*/_jsx(Icon, {
720
+ icon: icon,
721
+ size: 14,
722
+ className: iconClassName
723
+ });
724
+ $[8] = icon;
725
+ $[9] = iconClassName;
726
+ $[10] = t2;
727
+ } else {
728
+ t2 = $[10];
729
+ }
730
+ let t3;
731
+ if ($[11] !== label || $[12] !== props || $[13] !== t1 || $[14] !== t2) {
732
+ t3 = /*#__PURE__*/_jsx(BaseMenu.SubmenuTrigger, {
733
+ className: t1,
734
+ "aria-label": label,
735
+ ...props,
736
+ children: t2
737
+ });
738
+ $[11] = label;
739
+ $[12] = props;
740
+ $[13] = t1;
741
+ $[14] = t2;
742
+ $[15] = t3;
743
+ } else {
744
+ t3 = $[15];
745
+ }
746
+ return t3;
101
747
  }
102
748
  /* Also right between two groups of rows in a popover that reads as a menu. */
103
- export function MenuSeparator({ className, ...props }) {
104
- return _jsx(BaseSeparator, { className: withClass(MENU_SEPARATOR, className), ...props });
749
+ export function MenuSeparator(t0) {
750
+ const $ = _c(8);
751
+ let className;
752
+ let props;
753
+ if ($[0] !== t0) {
754
+ ({
755
+ className,
756
+ ...props
757
+ } = t0);
758
+ $[0] = t0;
759
+ $[1] = className;
760
+ $[2] = props;
761
+ } else {
762
+ className = $[1];
763
+ props = $[2];
764
+ }
765
+ let t1;
766
+ if ($[3] !== className) {
767
+ t1 = withClass(MENU_SEPARATOR, className);
768
+ $[3] = className;
769
+ $[4] = t1;
770
+ } else {
771
+ t1 = $[4];
772
+ }
773
+ let t2;
774
+ if ($[5] !== props || $[6] !== t1) {
775
+ t2 = /*#__PURE__*/_jsx(BaseSeparator, {
776
+ className: t1,
777
+ ...props
778
+ });
779
+ $[5] = props;
780
+ $[6] = t1;
781
+ $[7] = t2;
782
+ } else {
783
+ t2 = $[7];
784
+ }
785
+ return t2;
105
786
  }
106
787
  export const MenuGroup = BaseMenu.Group;
107
- export function MenuGroupLabel({ unstyled = false, className, ...props }) {
108
- return _jsx(BaseMenu.GroupLabel, { className: unstyled ? className : withClass(MENU_LABEL, className), ...props });
788
+ export function MenuGroupLabel(t0) {
789
+ const $ = _c(10);
790
+ let className;
791
+ let props;
792
+ let t1;
793
+ if ($[0] !== t0) {
794
+ ({
795
+ unstyled: t1,
796
+ className,
797
+ ...props
798
+ } = t0);
799
+ $[0] = t0;
800
+ $[1] = className;
801
+ $[2] = props;
802
+ $[3] = t1;
803
+ } else {
804
+ className = $[1];
805
+ props = $[2];
806
+ t1 = $[3];
807
+ }
808
+ const unstyled = t1 === undefined ? false : t1;
809
+ let t2;
810
+ if ($[4] !== className || $[5] !== unstyled) {
811
+ t2 = unstyled ? className : withClass(MENU_LABEL, className);
812
+ $[4] = className;
813
+ $[5] = unstyled;
814
+ $[6] = t2;
815
+ } else {
816
+ t2 = $[6];
817
+ }
818
+ let t3;
819
+ if ($[7] !== props || $[8] !== t2) {
820
+ t3 = /*#__PURE__*/_jsx(BaseMenu.GroupLabel, {
821
+ className: t2,
822
+ ...props
823
+ });
824
+ $[7] = props;
825
+ $[8] = t2;
826
+ $[9] = t3;
827
+ } else {
828
+ t3 = $[9];
829
+ }
830
+ return t3;
109
831
  }
110
832
  /* A label above rows that are not a `Menu.Group` of their own, such as a row of swatches. */
111
- export function MenuLabel({ render, className, ref, ...props }) {
112
- return useRender({ render, ref, defaultTagName: 'div', props: { ...props, className: clsx(MENU_LABEL, className) } });
113
- }
114
- export function MenuHint({ render, className, ref, ...props }) {
115
- return useRender({ render, ref, defaultTagName: 'span', props: { ...props, className: clsx(MENU_HINT, className) } });
833
+ export function MenuLabel(t0) {
834
+ const $ = _c(14);
835
+ let className;
836
+ let props;
837
+ let ref;
838
+ let render;
839
+ if ($[0] !== t0) {
840
+ ({
841
+ render,
842
+ className,
843
+ ref,
844
+ ...props
845
+ } = t0);
846
+ $[0] = t0;
847
+ $[1] = className;
848
+ $[2] = props;
849
+ $[3] = ref;
850
+ $[4] = render;
851
+ } else {
852
+ className = $[1];
853
+ props = $[2];
854
+ ref = $[3];
855
+ render = $[4];
856
+ }
857
+ let t1;
858
+ if ($[5] !== className) {
859
+ t1 = clsx(MENU_LABEL, className);
860
+ $[5] = className;
861
+ $[6] = t1;
862
+ } else {
863
+ t1 = $[6];
864
+ }
865
+ let t2;
866
+ if ($[7] !== props || $[8] !== t1) {
867
+ t2 = {
868
+ ...props,
869
+ className: t1
870
+ };
871
+ $[7] = props;
872
+ $[8] = t1;
873
+ $[9] = t2;
874
+ } else {
875
+ t2 = $[9];
876
+ }
877
+ let t3;
878
+ if ($[10] !== ref || $[11] !== render || $[12] !== t2) {
879
+ t3 = {
880
+ render,
881
+ ref,
882
+ defaultTagName: "div",
883
+ props: t2
884
+ };
885
+ $[10] = ref;
886
+ $[11] = render;
887
+ $[12] = t2;
888
+ $[13] = t3;
889
+ } else {
890
+ t3 = $[13];
891
+ }
892
+ return useRender(t3);
116
893
  }
894
+ export function MenuHint(t0) {
895
+ const $ = _c(14);
896
+ let className;
897
+ let props;
898
+ let ref;
899
+ let render;
900
+ if ($[0] !== t0) {
901
+ ({
902
+ render,
903
+ className,
904
+ ref,
905
+ ...props
906
+ } = t0);
907
+ $[0] = t0;
908
+ $[1] = className;
909
+ $[2] = props;
910
+ $[3] = ref;
911
+ $[4] = render;
912
+ } else {
913
+ className = $[1];
914
+ props = $[2];
915
+ ref = $[3];
916
+ render = $[4];
917
+ }
918
+ let t1;
919
+ if ($[5] !== className) {
920
+ t1 = clsx(MENU_HINT, className);
921
+ $[5] = className;
922
+ $[6] = t1;
923
+ } else {
924
+ t1 = $[6];
925
+ }
926
+ let t2;
927
+ if ($[7] !== props || $[8] !== t1) {
928
+ t2 = {
929
+ ...props,
930
+ className: t1
931
+ };
932
+ $[7] = props;
933
+ $[8] = t1;
934
+ $[9] = t2;
935
+ } else {
936
+ t2 = $[9];
937
+ }
938
+ let t3;
939
+ if ($[10] !== ref || $[11] !== render || $[12] !== t2) {
940
+ t3 = {
941
+ render,
942
+ ref,
943
+ defaultTagName: "span",
944
+ props: t2
945
+ };
946
+ $[10] = ref;
947
+ $[11] = render;
948
+ $[12] = t2;
949
+ $[13] = t3;
950
+ } else {
951
+ t3 = $[13];
952
+ }
953
+ return useRender(t3);
954
+ }