@dxos/react-ui 0.8.2-main.fbd8ed0 → 0.8.2-staging.7ac8446
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/dist/lib/browser/index.mjs +1081 -1616
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node/index.cjs +1404 -1941
- package/dist/lib/node/index.cjs.map +4 -4
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +1081 -1616
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/types/src/components/Avatars/Avatar.d.ts +2 -2
- package/dist/types/src/components/Avatars/Avatar.d.ts.map +1 -1
- package/dist/types/src/components/Avatars/Avatar.stories.d.ts +3 -3
- package/dist/types/src/components/Avatars/Avatar.stories.d.ts.map +1 -1
- package/dist/types/src/components/Avatars/AvatarGroup.stories.d.ts +1 -0
- package/dist/types/src/components/Avatars/AvatarGroup.stories.d.ts.map +1 -1
- package/dist/types/src/components/Buttons/Button.stories.d.ts +44 -10
- package/dist/types/src/components/Buttons/Button.stories.d.ts.map +1 -1
- package/dist/types/src/components/Buttons/IconButton.d.ts +5 -4
- package/dist/types/src/components/Buttons/IconButton.d.ts.map +1 -1
- package/dist/types/src/components/Buttons/IconButton.stories.d.ts +6 -7
- package/dist/types/src/components/Buttons/IconButton.stories.d.ts.map +1 -1
- package/dist/types/src/components/Buttons/Toggle.stories.d.ts.map +1 -1
- package/dist/types/src/components/Buttons/ToggleGroup.stories.d.ts +4 -1
- package/dist/types/src/components/Buttons/ToggleGroup.stories.d.ts.map +1 -1
- package/dist/types/src/components/Clipboard/ClipboardProvider.d.ts.map +1 -1
- package/dist/types/src/components/Clipboard/CopyButton.d.ts +1 -2
- package/dist/types/src/components/Clipboard/CopyButton.d.ts.map +1 -1
- package/dist/types/src/components/Clipboard/index.d.ts +2 -2
- package/dist/types/src/components/DensityProvider/DensityProvider.d.ts.map +1 -1
- package/dist/types/src/components/Dialogs/AlertDialog.stories.d.ts +2 -2
- package/dist/types/src/components/Dialogs/AlertDialog.stories.d.ts.map +1 -1
- package/dist/types/src/components/Dialogs/Dialog.d.ts +2 -2
- package/dist/types/src/components/Dialogs/Dialog.d.ts.map +1 -1
- package/dist/types/src/components/Dialogs/Dialog.stories.d.ts +2 -2
- package/dist/types/src/components/Dialogs/Dialog.stories.d.ts.map +1 -1
- package/dist/types/src/components/ElevationProvider/ElevationProvider.d.ts.map +1 -1
- package/dist/types/src/components/Input/Input.d.ts +1 -1
- package/dist/types/src/components/Input/Input.d.ts.map +1 -1
- package/dist/types/src/components/Input/Input.stories.d.ts +159 -33
- package/dist/types/src/components/Input/Input.stories.d.ts.map +1 -1
- package/dist/types/src/components/Lists/ListDropIndicator.d.ts.map +1 -1
- package/dist/types/src/components/Lists/Tree.stories.d.ts.map +1 -1
- package/dist/types/src/components/Lists/TreeDropIndicator.d.ts.map +1 -1
- package/dist/types/src/components/Lists/Treegrid.stories.d.ts +1 -1
- package/dist/types/src/components/Lists/Treegrid.stories.d.ts.map +1 -1
- package/dist/types/src/components/Main/Main.d.ts.map +1 -1
- package/dist/types/src/components/Main/Main.stories.d.ts.map +1 -1
- package/dist/types/src/components/Main/useSwipeToDismiss.d.ts.map +1 -1
- package/dist/types/src/components/Message/Message.stories.d.ts +2 -2
- package/dist/types/src/components/Message/Message.stories.d.ts.map +1 -1
- package/dist/types/src/components/Popover/Popover.d.ts +6 -15
- package/dist/types/src/components/Popover/Popover.d.ts.map +1 -1
- package/dist/types/src/components/Popover/Popover.stories.d.ts +1 -5
- package/dist/types/src/components/Popover/Popover.stories.d.ts.map +1 -1
- package/dist/types/src/components/ScrollArea/ScrollArea.d.ts.map +1 -1
- package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts.map +1 -1
- package/dist/types/src/components/Status/Status.stories.d.ts.map +1 -1
- package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts.map +1 -1
- package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts +1 -1
- package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts.map +1 -1
- package/dist/types/src/components/Toast/Toast.stories.d.ts +2 -2
- package/dist/types/src/components/Toast/Toast.stories.d.ts.map +1 -1
- package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts.map +1 -1
- package/dist/types/src/components/Tooltip/Tooltip.d.ts +20 -94
- package/dist/types/src/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts +17 -41
- package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +1 -1
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useDensityContext.d.ts.map +1 -1
- package/dist/types/src/hooks/useElevationContext.d.ts.map +1 -1
- package/dist/types/src/hooks/useIconHref.d.ts.map +1 -1
- package/dist/types/src/hooks/useSafeCollisionPadding.d.ts.map +1 -1
- package/dist/types/src/hooks/useVisualViewport.d.ts.map +1 -1
- package/dist/types/src/playground/Controls.stories.d.ts +1 -1
- package/dist/types/src/playground/Controls.stories.d.ts.map +1 -1
- package/dist/types/src/testing/decorators/withVariants.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +13 -14
- package/src/components/Avatars/Avatar.stories.tsx +27 -27
- package/src/components/Avatars/Avatar.tsx +13 -17
- package/src/components/Avatars/AvatarGroup.stories.tsx +5 -4
- package/src/components/Breadcrumb/Breadcrumb.stories.tsx +2 -2
- package/src/components/Buttons/Button.stories.tsx +14 -19
- package/src/components/Buttons/IconButton.stories.tsx +10 -9
- package/src/components/Buttons/IconButton.tsx +33 -8
- package/src/components/Buttons/Toggle.stories.tsx +2 -2
- package/src/components/Buttons/ToggleGroup.stories.tsx +7 -3
- package/src/components/Clipboard/CopyButton.tsx +24 -22
- package/src/components/Dialogs/AlertDialog.stories.tsx +11 -4
- package/src/components/Dialogs/Dialog.stories.tsx +3 -3
- package/src/components/Dialogs/Dialog.tsx +4 -8
- package/src/components/Input/Input.stories.tsx +56 -67
- package/src/components/Input/Input.tsx +0 -1
- package/src/components/Lists/Tree.stories.tsx +2 -2
- package/src/components/Lists/Treegrid.stories.tsx +12 -12
- package/src/components/Main/Main.stories.tsx +2 -2
- package/src/components/Menus/ContextMenu.stories.tsx +2 -2
- package/src/components/Menus/DropdownMenu.stories.tsx +2 -2
- package/src/components/Message/Message.stories.tsx +3 -3
- package/src/components/Popover/Popover.stories.tsx +2 -2
- package/src/components/Popover/Popover.tsx +4 -8
- package/src/components/ScrollArea/ScrollArea.stories.tsx +2 -2
- package/src/components/ScrollArea/ScrollArea.tsx +0 -3
- package/src/components/Toast/Toast.stories.tsx +10 -15
- package/src/components/Toolbar/Toolbar.stories.tsx +2 -2
- package/src/components/Tooltip/Tooltip.stories.tsx +18 -43
- package/src/components/Tooltip/Tooltip.tsx +58 -748
- package/src/components/index.ts +1 -1
- package/src/playground/Controls.stories.tsx +2 -2
- package/src/playground/Typography.stories.tsx +2 -2
- package/dist/types/src/playground/Custom.stories.d.ts +0 -8
- package/dist/types/src/playground/Custom.stories.d.ts.map +0 -1
- package/src/playground/Custom.stories.tsx +0 -137
package/dist/lib/node/index.cjs
CHANGED
|
@@ -74,7 +74,6 @@ __export(node_exports, {
|
|
|
74
74
|
Treegrid: () => Treegrid,
|
|
75
75
|
createDropdownMenuScope: () => createDropdownMenuScope,
|
|
76
76
|
createPopoverScope: () => createPopoverScope,
|
|
77
|
-
createTooltipScope: () => createTooltipScope,
|
|
78
77
|
hasIosKeyboard: () => hasIosKeyboard,
|
|
79
78
|
initialSafeArea: () => initialSafeArea,
|
|
80
79
|
isLabel: () => isLabel,
|
|
@@ -94,7 +93,6 @@ __export(node_exports, {
|
|
|
94
93
|
useSafeArea: () => useSafeArea,
|
|
95
94
|
useSidebars: () => useSidebars,
|
|
96
95
|
useThemeContext: () => useThemeContext,
|
|
97
|
-
useTooltipContext: () => useTooltipContext,
|
|
98
96
|
useTranslation: () => useTranslation,
|
|
99
97
|
useTranslationsContext: () => useTranslationsContext,
|
|
100
98
|
useVisualViewport: () => useVisualViewport
|
|
@@ -141,98 +139,86 @@ var import_react_slot5 = require("@radix-ui/react-slot");
|
|
|
141
139
|
var import_react14 = __toESM(require("react"));
|
|
142
140
|
var import_react15 = __toESM(require("react"));
|
|
143
141
|
var import_react16 = __toESM(require("react"));
|
|
144
|
-
var
|
|
145
|
-
var import_react_compose_refs = require("@radix-ui/react-compose-refs");
|
|
146
|
-
var import_react_context3 = require("@radix-ui/react-context");
|
|
147
|
-
var import_react_dismissable_layer = require("@radix-ui/react-dismissable-layer");
|
|
148
|
-
var import_react_id = require("@radix-ui/react-id");
|
|
149
|
-
var PopperPrimitive = __toESM(require("@radix-ui/react-popper"));
|
|
150
|
-
var import_react_popper = require("@radix-ui/react-popper");
|
|
151
|
-
var import_react_portal = require("@radix-ui/react-portal");
|
|
152
|
-
var import_react_presence = require("@radix-ui/react-presence");
|
|
153
|
-
var import_react_primitive6 = require("@radix-ui/react-primitive");
|
|
154
|
-
var import_react_slot6 = require("@radix-ui/react-slot");
|
|
155
|
-
var import_react_use_controllable_state = require("@radix-ui/react-use-controllable-state");
|
|
156
|
-
var VisuallyHiddenPrimitive = __toESM(require("@radix-ui/react-visually-hidden"));
|
|
142
|
+
var import_react_tooltip = require("@radix-ui/react-tooltip");
|
|
157
143
|
var import_react17 = __toESM(require("react"));
|
|
144
|
+
var import_react18 = require("react");
|
|
158
145
|
var import_react_toggle = require("@radix-ui/react-toggle");
|
|
159
|
-
var import_react18 = __toESM(require("react"));
|
|
160
|
-
var import_react_toggle_group = require("@radix-ui/react-toggle-group");
|
|
161
146
|
var import_react19 = __toESM(require("react"));
|
|
147
|
+
var import_react_toggle_group = require("@radix-ui/react-toggle-group");
|
|
162
148
|
var import_react20 = __toESM(require("react"));
|
|
163
149
|
var import_react21 = __toESM(require("react"));
|
|
150
|
+
var import_react22 = __toESM(require("react"));
|
|
164
151
|
var import_react_ui_theme2 = require("@dxos/react-ui-theme");
|
|
165
152
|
var import_keyborg = require("keyborg");
|
|
166
|
-
var import_react22 = __toESM(require("react"));
|
|
167
153
|
var import_react23 = __toESM(require("react"));
|
|
168
154
|
var import_react24 = __toESM(require("react"));
|
|
169
|
-
var import_react_context4 = require("@radix-ui/react-context");
|
|
170
|
-
var import_react_dialog = require("@radix-ui/react-dialog");
|
|
171
155
|
var import_react25 = __toESM(require("react"));
|
|
156
|
+
var import_react_context3 = require("@radix-ui/react-context");
|
|
157
|
+
var import_react_dialog = require("@radix-ui/react-dialog");
|
|
158
|
+
var import_react26 = __toESM(require("react"));
|
|
172
159
|
var import_react_alert_dialog = require("@radix-ui/react-alert-dialog");
|
|
160
|
+
var import_react_context4 = require("@radix-ui/react-context");
|
|
161
|
+
var import_react27 = __toESM(require("react"));
|
|
162
|
+
var ContextMenuPrimitive = __toESM(require("@radix-ui/react-context-menu"));
|
|
163
|
+
var import_react_primitive6 = require("@radix-ui/react-primitive");
|
|
164
|
+
var import_react_slot6 = require("@radix-ui/react-slot");
|
|
165
|
+
var import_react28 = __toESM(require("react"));
|
|
166
|
+
var import_primitive = require("@radix-ui/primitive");
|
|
167
|
+
var import_react_compose_refs = require("@radix-ui/react-compose-refs");
|
|
173
168
|
var import_react_context5 = require("@radix-ui/react-context");
|
|
174
|
-
var
|
|
169
|
+
var import_react_id = require("@radix-ui/react-id");
|
|
170
|
+
var MenuPrimitive = __toESM(require("@radix-ui/react-menu"));
|
|
171
|
+
var import_react_menu = require("@radix-ui/react-menu");
|
|
172
|
+
var import_react_primitive7 = require("@radix-ui/react-primitive");
|
|
173
|
+
var import_react_slot7 = require("@radix-ui/react-slot");
|
|
174
|
+
var import_react_use_controllable_state = require("@radix-ui/react-use-controllable-state");
|
|
175
|
+
var import_react29 = __toESM(require("react"));
|
|
175
176
|
var import_react_checkbox = require("@radix-ui/react-checkbox");
|
|
176
177
|
var import_react_use_controllable_state2 = require("@radix-ui/react-use-controllable-state");
|
|
177
|
-
var
|
|
178
|
+
var import_react30 = __toESM(require("react"));
|
|
178
179
|
var import_react_input = require("@dxos/react-input");
|
|
179
180
|
var import_react_ui_theme3 = require("@dxos/react-ui-theme");
|
|
180
|
-
var
|
|
181
|
-
var
|
|
182
|
-
var import_react29 = __toESM(require("react"));
|
|
183
|
-
var import_react_list = require("@dxos/react-list");
|
|
184
|
-
var import_react30 = __toESM(require("react"));
|
|
185
|
-
var import_react31 = __toESM(require("react"));
|
|
181
|
+
var import_react31 = require("@phosphor-icons/react");
|
|
182
|
+
var import_react_slot8 = require("@radix-ui/react-slot");
|
|
186
183
|
var import_react32 = __toESM(require("react"));
|
|
184
|
+
var import_react_list = require("@dxos/react-list");
|
|
185
|
+
var import_react33 = __toESM(require("react"));
|
|
186
|
+
var import_react34 = __toESM(require("react"));
|
|
187
|
+
var import_react35 = __toESM(require("react"));
|
|
187
188
|
var import_react_tabster = require("@fluentui/react-tabster");
|
|
188
189
|
var import_react_context6 = require("@radix-ui/react-context");
|
|
189
|
-
var
|
|
190
|
-
var
|
|
190
|
+
var import_react_primitive8 = require("@radix-ui/react-primitive");
|
|
191
|
+
var import_react_slot9 = require("@radix-ui/react-slot");
|
|
191
192
|
var import_react_use_controllable_state3 = require("@radix-ui/react-use-controllable-state");
|
|
192
|
-
var
|
|
193
|
+
var import_react36 = __toESM(require("react"));
|
|
193
194
|
var import_react_context7 = require("@radix-ui/react-context");
|
|
194
195
|
var import_react_dialog2 = require("@radix-ui/react-dialog");
|
|
195
|
-
var
|
|
196
|
-
var
|
|
196
|
+
var import_react_primitive9 = require("@radix-ui/react-primitive");
|
|
197
|
+
var import_react_slot10 = require("@radix-ui/react-slot");
|
|
197
198
|
var import_react_use_controllable_state4 = require("@radix-ui/react-use-controllable-state");
|
|
198
|
-
var
|
|
199
|
+
var import_react37 = __toESM(require("react"));
|
|
199
200
|
var import_log = require("@dxos/log");
|
|
200
201
|
var import_react_hooks4 = require("@dxos/react-hooks");
|
|
201
|
-
var
|
|
202
|
-
var ContextMenuPrimitive = __toESM(require("@radix-ui/react-context-menu"));
|
|
203
|
-
var import_react_primitive9 = require("@radix-ui/react-primitive");
|
|
204
|
-
var import_react_slot10 = require("@radix-ui/react-slot");
|
|
205
|
-
var import_react36 = __toESM(require("react"));
|
|
206
|
-
var import_react37 = require("react");
|
|
207
|
-
var import_primitive2 = require("@radix-ui/primitive");
|
|
208
|
-
var import_react_compose_refs2 = require("@radix-ui/react-compose-refs");
|
|
202
|
+
var import_react38 = require("react");
|
|
209
203
|
var import_react_context8 = require("@radix-ui/react-context");
|
|
210
|
-
var import_react_id2 = require("@radix-ui/react-id");
|
|
211
|
-
var MenuPrimitive = __toESM(require("@radix-ui/react-menu"));
|
|
212
|
-
var import_react_menu = require("@radix-ui/react-menu");
|
|
213
204
|
var import_react_primitive10 = require("@radix-ui/react-primitive");
|
|
214
205
|
var import_react_slot11 = require("@radix-ui/react-slot");
|
|
215
|
-
var import_react_use_controllable_state5 = require("@radix-ui/react-use-controllable-state");
|
|
216
|
-
var import_react38 = __toESM(require("react"));
|
|
217
|
-
var import_react_context9 = require("@radix-ui/react-context");
|
|
218
|
-
var import_react_primitive11 = require("@radix-ui/react-primitive");
|
|
219
|
-
var import_react_slot12 = require("@radix-ui/react-slot");
|
|
220
206
|
var import_react39 = __toESM(require("react"));
|
|
221
207
|
var import_react_hooks5 = require("@dxos/react-hooks");
|
|
222
|
-
var
|
|
223
|
-
var
|
|
224
|
-
var
|
|
225
|
-
var
|
|
208
|
+
var import_primitive2 = require("@radix-ui/primitive");
|
|
209
|
+
var import_react_compose_refs2 = require("@radix-ui/react-compose-refs");
|
|
210
|
+
var import_react_context9 = require("@radix-ui/react-context");
|
|
211
|
+
var import_react_dismissable_layer = require("@radix-ui/react-dismissable-layer");
|
|
226
212
|
var import_react_focus_guards = require("@radix-ui/react-focus-guards");
|
|
227
213
|
var import_react_focus_scope = require("@radix-ui/react-focus-scope");
|
|
228
|
-
var
|
|
229
|
-
var
|
|
230
|
-
var
|
|
231
|
-
var
|
|
232
|
-
var
|
|
233
|
-
var
|
|
234
|
-
var
|
|
235
|
-
var
|
|
214
|
+
var import_react_id2 = require("@radix-ui/react-id");
|
|
215
|
+
var PopperPrimitive = __toESM(require("@radix-ui/react-popper"));
|
|
216
|
+
var import_react_popper = require("@radix-ui/react-popper");
|
|
217
|
+
var import_react_portal = require("@radix-ui/react-portal");
|
|
218
|
+
var import_react_presence = require("@radix-ui/react-presence");
|
|
219
|
+
var import_react_primitive11 = require("@radix-ui/react-primitive");
|
|
220
|
+
var import_react_slot12 = require("@radix-ui/react-slot");
|
|
221
|
+
var import_react_use_controllable_state5 = require("@radix-ui/react-use-controllable-state");
|
|
236
222
|
var import_aria_hidden = require("aria-hidden");
|
|
237
223
|
var import_react40 = __toESM(require("react"));
|
|
238
224
|
var import_react_remove_scroll = require("react-remove-scroll");
|
|
@@ -244,11 +230,11 @@ var SelectPrimitive = __toESM(require("@radix-ui/react-select"));
|
|
|
244
230
|
var import_react44 = __toESM(require("react"));
|
|
245
231
|
var import_react_separator = require("@radix-ui/react-separator");
|
|
246
232
|
var import_react45 = __toESM(require("react"));
|
|
233
|
+
var import_react_primitive12 = require("@radix-ui/react-primitive");
|
|
234
|
+
var import_react_slot13 = require("@radix-ui/react-slot");
|
|
235
|
+
var import_react46 = __toESM(require("react"));
|
|
247
236
|
var import_react_primitive13 = require("@radix-ui/react-primitive");
|
|
248
237
|
var import_react_slot14 = require("@radix-ui/react-slot");
|
|
249
|
-
var import_react46 = __toESM(require("react"));
|
|
250
|
-
var import_react_primitive14 = require("@radix-ui/react-primitive");
|
|
251
|
-
var import_react_slot15 = require("@radix-ui/react-slot");
|
|
252
238
|
var import_react_toast = require("@radix-ui/react-toast");
|
|
253
239
|
var import_react47 = __toESM(require("react"));
|
|
254
240
|
var ToolbarPrimitive = __toESM(require("@radix-ui/react-toolbar"));
|
|
@@ -363,8 +349,8 @@ var useVisualViewport = (deps) => {
|
|
|
363
349
|
};
|
|
364
350
|
var AnchoredOverflowRoot = /* @__PURE__ */ (0, import_react.forwardRef)(({ asChild, classNames, children, ...props }, forwardedRef) => {
|
|
365
351
|
const { tx } = useThemeContext();
|
|
366
|
-
const
|
|
367
|
-
return /* @__PURE__ */ import_react.default.createElement(
|
|
352
|
+
const Root5 = asChild ? import_react_slot.Slot : import_react_primitive.Primitive.div;
|
|
353
|
+
return /* @__PURE__ */ import_react.default.createElement(Root5, {
|
|
368
354
|
role: "none",
|
|
369
355
|
...props,
|
|
370
356
|
className: tx("anchoredOverflow.root", "overflow-anchored", {}, classNames),
|
|
@@ -373,8 +359,8 @@ var AnchoredOverflowRoot = /* @__PURE__ */ (0, import_react.forwardRef)(({ asChi
|
|
|
373
359
|
});
|
|
374
360
|
var AnchoredOverflowAnchor = /* @__PURE__ */ (0, import_react.forwardRef)(({ asChild, classNames, children, ...props }, forwardedRef) => {
|
|
375
361
|
const { tx } = useThemeContext();
|
|
376
|
-
const
|
|
377
|
-
return /* @__PURE__ */ import_react.default.createElement(
|
|
362
|
+
const Root5 = asChild ? import_react_slot.Slot : import_react_primitive.Primitive.div;
|
|
363
|
+
return /* @__PURE__ */ import_react.default.createElement(Root5, {
|
|
378
364
|
role: "none",
|
|
379
365
|
...props,
|
|
380
366
|
className: tx("anchoredOverflow.anchor", "overflow-anchor", {}, classNames),
|
|
@@ -400,23 +386,22 @@ var DxAvatar = (0, import_react9.createComponent)({
|
|
|
400
386
|
elementClass: import_lit_ui.DxAvatar,
|
|
401
387
|
react: import_react10.default
|
|
402
388
|
});
|
|
403
|
-
var AvatarContent =
|
|
389
|
+
var AvatarContent = ({ icon, classNames, ...props }) => {
|
|
404
390
|
const href = useIconHref(icon);
|
|
405
391
|
const { labelId, descriptionId } = useAvatarContext("AvatarContent");
|
|
406
392
|
return /* @__PURE__ */ import_react10.default.createElement(DxAvatar, {
|
|
407
393
|
...props,
|
|
408
394
|
icon: href,
|
|
409
|
-
|
|
395
|
+
labelId,
|
|
410
396
|
"aria-describedby": descriptionId,
|
|
411
|
-
rootClassName: (0, import_react_ui_theme.mx)(classNames)
|
|
412
|
-
ref: forwardedRef
|
|
397
|
+
rootClassName: (0, import_react_ui_theme.mx)(classNames)
|
|
413
398
|
});
|
|
414
|
-
}
|
|
399
|
+
};
|
|
415
400
|
var AvatarLabel = /* @__PURE__ */ (0, import_react10.forwardRef)(({ asChild, srOnly, classNames, ...props }, forwardedRef) => {
|
|
416
|
-
const
|
|
401
|
+
const Root5 = asChild ? import_react_slot2.Slot : import_react_primitive2.Primitive.span;
|
|
417
402
|
const { tx } = useThemeContext();
|
|
418
403
|
const { labelId } = useAvatarContext("AvatarLabel");
|
|
419
|
-
return /* @__PURE__ */ import_react10.default.createElement(
|
|
404
|
+
return /* @__PURE__ */ import_react10.default.createElement(Root5, {
|
|
420
405
|
...props,
|
|
421
406
|
id: labelId,
|
|
422
407
|
ref: forwardedRef,
|
|
@@ -426,10 +411,10 @@ var AvatarLabel = /* @__PURE__ */ (0, import_react10.forwardRef)(({ asChild, srO
|
|
|
426
411
|
});
|
|
427
412
|
});
|
|
428
413
|
var AvatarDescription = /* @__PURE__ */ (0, import_react10.forwardRef)(({ asChild, srOnly, classNames, ...props }, forwardedRef) => {
|
|
429
|
-
const
|
|
414
|
+
const Root5 = asChild ? import_react_slot2.Slot : import_react_primitive2.Primitive.span;
|
|
430
415
|
const { tx } = useThemeContext();
|
|
431
416
|
const { descriptionId } = useAvatarContext("AvatarDescription");
|
|
432
|
-
return /* @__PURE__ */ import_react10.default.createElement(
|
|
417
|
+
return /* @__PURE__ */ import_react10.default.createElement(Root5, {
|
|
433
418
|
...props,
|
|
434
419
|
id: descriptionId,
|
|
435
420
|
ref: forwardedRef,
|
|
@@ -446,8 +431,8 @@ var Avatar = {
|
|
|
446
431
|
};
|
|
447
432
|
var Link = /* @__PURE__ */ (0, import_react13.forwardRef)(({ asChild, variant, classNames, ...props }, forwardedRef) => {
|
|
448
433
|
const { tx } = useThemeContext();
|
|
449
|
-
const
|
|
450
|
-
return /* @__PURE__ */ import_react13.default.createElement(
|
|
434
|
+
const Root5 = asChild ? import_react_slot4.Slot : import_react_primitive4.Primitive.a;
|
|
435
|
+
return /* @__PURE__ */ import_react13.default.createElement(Root5, {
|
|
451
436
|
...props,
|
|
452
437
|
className: tx("link.root", "link", {
|
|
453
438
|
variant
|
|
@@ -457,8 +442,8 @@ var Link = /* @__PURE__ */ (0, import_react13.forwardRef)(({ asChild, variant, c
|
|
|
457
442
|
});
|
|
458
443
|
var BreadcrumbRoot = /* @__PURE__ */ (0, import_react12.forwardRef)(({ asChild, classNames, ...props }, forwardedRef) => {
|
|
459
444
|
const { tx } = useThemeContext();
|
|
460
|
-
const
|
|
461
|
-
return /* @__PURE__ */ import_react12.default.createElement(
|
|
445
|
+
const Root5 = asChild ? import_react_slot3.Slot : import_react_primitive3.Primitive.div;
|
|
446
|
+
return /* @__PURE__ */ import_react12.default.createElement(Root5, {
|
|
462
447
|
role: "navigation",
|
|
463
448
|
...props,
|
|
464
449
|
className: tx("breadcrumb.root", "breadcrumb", {}, classNames),
|
|
@@ -467,8 +452,8 @@ var BreadcrumbRoot = /* @__PURE__ */ (0, import_react12.forwardRef)(({ asChild,
|
|
|
467
452
|
});
|
|
468
453
|
var BreadcrumbList = /* @__PURE__ */ (0, import_react12.forwardRef)(({ asChild, classNames, ...props }, forwardedRef) => {
|
|
469
454
|
const { tx } = useThemeContext();
|
|
470
|
-
const
|
|
471
|
-
return /* @__PURE__ */ import_react12.default.createElement(
|
|
455
|
+
const Root5 = asChild ? import_react_slot3.Slot : import_react_primitive3.Primitive.ol;
|
|
456
|
+
return /* @__PURE__ */ import_react12.default.createElement(Root5, {
|
|
472
457
|
role: "list",
|
|
473
458
|
...props,
|
|
474
459
|
className: tx("breadcrumb.list", "breadcrumb__list", {}, classNames),
|
|
@@ -477,8 +462,8 @@ var BreadcrumbList = /* @__PURE__ */ (0, import_react12.forwardRef)(({ asChild,
|
|
|
477
462
|
});
|
|
478
463
|
var BreadcrumbListItem = /* @__PURE__ */ (0, import_react12.forwardRef)(({ asChild, classNames, ...props }, forwardedRef) => {
|
|
479
464
|
const { tx } = useThemeContext();
|
|
480
|
-
const
|
|
481
|
-
return /* @__PURE__ */ import_react12.default.createElement(
|
|
465
|
+
const Root5 = asChild ? import_react_slot3.Slot : import_react_primitive3.Primitive.li;
|
|
466
|
+
return /* @__PURE__ */ import_react12.default.createElement(Root5, {
|
|
482
467
|
role: "listitem",
|
|
483
468
|
...props,
|
|
484
469
|
className: tx("breadcrumb.listItem", "breadcrumb__list__item", {}, classNames),
|
|
@@ -486,16 +471,16 @@ var BreadcrumbListItem = /* @__PURE__ */ (0, import_react12.forwardRef)(({ asChi
|
|
|
486
471
|
});
|
|
487
472
|
});
|
|
488
473
|
var BreadcrumbLink = /* @__PURE__ */ (0, import_react12.forwardRef)(({ asChild, ...props }, forwardedRef) => {
|
|
489
|
-
const
|
|
490
|
-
return /* @__PURE__ */ import_react12.default.createElement(
|
|
474
|
+
const Root5 = asChild ? import_react_slot3.Slot : Link;
|
|
475
|
+
return /* @__PURE__ */ import_react12.default.createElement(Root5, {
|
|
491
476
|
...props,
|
|
492
477
|
ref: forwardedRef
|
|
493
478
|
});
|
|
494
479
|
});
|
|
495
480
|
var BreadcrumbCurrent = /* @__PURE__ */ (0, import_react12.forwardRef)(({ asChild, classNames, ...props }, forwardedRef) => {
|
|
496
481
|
const { tx } = useThemeContext();
|
|
497
|
-
const
|
|
498
|
-
return /* @__PURE__ */ import_react12.default.createElement(
|
|
482
|
+
const Root5 = asChild ? import_react_slot3.Slot : "h1";
|
|
483
|
+
return /* @__PURE__ */ import_react12.default.createElement(Root5, {
|
|
499
484
|
...props,
|
|
500
485
|
"aria-current": "page",
|
|
501
486
|
className: tx("breadcrumb.current", "breadcrumb__item__heading--current", {}, classNames),
|
|
@@ -531,8 +516,8 @@ var Button = /* @__PURE__ */ (0, import_react14.memo)(/* @__PURE__ */ (0, import
|
|
|
531
516
|
const { tx } = useThemeContext();
|
|
532
517
|
const elevation = useElevationContext(propsElevation);
|
|
533
518
|
const density = useDensityContext(propsDensity);
|
|
534
|
-
const
|
|
535
|
-
return /* @__PURE__ */ import_react14.default.createElement(
|
|
519
|
+
const Root5 = asChild ? import_react_slot5.Slot : import_react_primitive5.Primitive.button;
|
|
520
|
+
return /* @__PURE__ */ import_react14.default.createElement(Root5, {
|
|
536
521
|
ref,
|
|
537
522
|
...props,
|
|
538
523
|
"data-variant": variant,
|
|
@@ -554,8 +539,8 @@ Button.displayName = BUTTON_NAME;
|
|
|
554
539
|
var ButtonGroup = /* @__PURE__ */ (0, import_react14.forwardRef)(({ children, elevation: propsElevation, classNames, asChild, ...props }, forwardedRef) => {
|
|
555
540
|
const { tx } = useThemeContext();
|
|
556
541
|
const elevation = useElevationContext(propsElevation);
|
|
557
|
-
const
|
|
558
|
-
return /* @__PURE__ */ import_react14.default.createElement(
|
|
542
|
+
const Root5 = asChild ? import_react_slot5.Slot : import_react_primitive5.Primitive.div;
|
|
543
|
+
return /* @__PURE__ */ import_react14.default.createElement(Root5, {
|
|
559
544
|
role: "none",
|
|
560
545
|
...props,
|
|
561
546
|
className: tx("button.group", "button-group", {
|
|
@@ -580,674 +565,161 @@ var Icon = /* @__PURE__ */ (0, import_react16.memo)(/* @__PURE__ */ (0, import_r
|
|
|
580
565
|
href
|
|
581
566
|
}));
|
|
582
567
|
}));
|
|
583
|
-
var
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
var
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
return () => window.clearTimeout(skipDelayTimer);
|
|
599
|
-
}, []);
|
|
600
|
-
const popperScope = usePopperScope(__scopeTooltip);
|
|
601
|
-
const [trigger, setTrigger] = (0, import_react17.useState)(null);
|
|
602
|
-
const [content, setContent] = (0, import_react17.useState)("");
|
|
603
|
-
const [side, setSide] = (0, import_react17.useState)(void 0);
|
|
604
|
-
const triggerRef = (0, import_react17.useRef)(trigger);
|
|
605
|
-
const handleTriggerChange = (0, import_react17.useCallback)((nextTrigger) => {
|
|
606
|
-
setTrigger(nextTrigger);
|
|
607
|
-
triggerRef.current = nextTrigger;
|
|
608
|
-
setContent(nextTrigger?.getAttribute("data-tooltip-content") ?? "");
|
|
609
|
-
setSide(nextTrigger?.getAttribute("data-tooltip-side") ?? void 0);
|
|
610
|
-
}, []);
|
|
611
|
-
const contentId = (0, import_react_id.useId)();
|
|
612
|
-
const openTimerRef = (0, import_react17.useRef)(0);
|
|
613
|
-
const wasOpenDelayedRef = (0, import_react17.useRef)(false);
|
|
614
|
-
const handleOpenChange = (0, import_react17.useCallback)((open2) => {
|
|
615
|
-
if (open2) {
|
|
616
|
-
window.clearTimeout(skipDelayTimerRef.current);
|
|
617
|
-
isOpenDelayedRef.current = false;
|
|
618
|
-
document.dispatchEvent(new CustomEvent(TOOLTIP_OPEN));
|
|
619
|
-
} else {
|
|
620
|
-
window.clearTimeout(skipDelayTimerRef.current);
|
|
621
|
-
skipDelayTimerRef.current = window.setTimeout(() => isOpenDelayedRef.current = true, skipDelayDuration);
|
|
622
|
-
}
|
|
623
|
-
onOpenChange?.(open2);
|
|
624
|
-
}, [
|
|
625
|
-
skipDelayDuration,
|
|
626
|
-
onOpenChange
|
|
568
|
+
var propIsNumber = (prop) => Number.isFinite(prop);
|
|
569
|
+
var propsIsRecord = (prop) => !!(prop && typeof prop === "object");
|
|
570
|
+
var safePadding = (propsPadding, safePadding2, side) => {
|
|
571
|
+
return (propIsNumber(safePadding2[side]) ? safePadding2[side] : 0) + (propIsNumber(propsPadding) ? propsPadding : propsIsRecord(propsPadding) ? propsPadding[side] ?? 0 : 0);
|
|
572
|
+
};
|
|
573
|
+
var useSafeCollisionPadding = (collisionPadding) => {
|
|
574
|
+
const { safeAreaPadding } = useThemeContext();
|
|
575
|
+
return (0, import_react18.useMemo)(() => ({
|
|
576
|
+
top: safePadding(collisionPadding, safeAreaPadding, "top"),
|
|
577
|
+
right: safePadding(collisionPadding, safeAreaPadding, "right"),
|
|
578
|
+
bottom: safePadding(collisionPadding, safeAreaPadding, "bottom"),
|
|
579
|
+
left: safePadding(collisionPadding, safeAreaPadding, "left")
|
|
580
|
+
}), [
|
|
581
|
+
collisionPadding,
|
|
582
|
+
safeAreaPadding
|
|
627
583
|
]);
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
584
|
+
};
|
|
585
|
+
var TooltipProvider = import_react_tooltip.Provider;
|
|
586
|
+
var TooltipRoot = import_react_tooltip.Root;
|
|
587
|
+
var TooltipPortal = import_react_tooltip.TooltipPortal;
|
|
588
|
+
var TooltipTrigger = import_react_tooltip.TooltipTrigger;
|
|
589
|
+
var TooltipArrow = /* @__PURE__ */ (0, import_react17.forwardRef)(({ classNames, ...props }, forwardedRef) => {
|
|
590
|
+
const { tx } = useThemeContext();
|
|
591
|
+
return /* @__PURE__ */ import_react17.default.createElement(import_react_tooltip.TooltipArrow, {
|
|
592
|
+
...props,
|
|
593
|
+
className: tx("tooltip.arrow", "tooltip__arrow", {}, classNames),
|
|
594
|
+
ref: forwardedRef
|
|
632
595
|
});
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
}, [
|
|
636
|
-
open
|
|
637
|
-
]);
|
|
638
|
-
const handleOpen = (0, import_react17.useCallback)(() => {
|
|
639
|
-
window.clearTimeout(openTimerRef.current);
|
|
640
|
-
openTimerRef.current = 0;
|
|
641
|
-
wasOpenDelayedRef.current = false;
|
|
642
|
-
setOpen(true);
|
|
643
|
-
}, [
|
|
644
|
-
setOpen
|
|
645
|
-
]);
|
|
646
|
-
const handleClose = (0, import_react17.useCallback)(() => {
|
|
647
|
-
window.clearTimeout(openTimerRef.current);
|
|
648
|
-
openTimerRef.current = 0;
|
|
649
|
-
setOpen(false);
|
|
650
|
-
}, [
|
|
651
|
-
setOpen
|
|
652
|
-
]);
|
|
653
|
-
const handleDelayedOpen = (0, import_react17.useCallback)(() => {
|
|
654
|
-
window.clearTimeout(openTimerRef.current);
|
|
655
|
-
openTimerRef.current = window.setTimeout(() => {
|
|
656
|
-
wasOpenDelayedRef.current = true;
|
|
657
|
-
setOpen(true);
|
|
658
|
-
openTimerRef.current = 0;
|
|
659
|
-
}, delayDuration);
|
|
660
|
-
}, [
|
|
661
|
-
delayDuration,
|
|
662
|
-
setOpen
|
|
663
|
-
]);
|
|
664
|
-
(0, import_react17.useEffect)(() => {
|
|
665
|
-
return () => {
|
|
666
|
-
if (openTimerRef.current) {
|
|
667
|
-
window.clearTimeout(openTimerRef.current);
|
|
668
|
-
openTimerRef.current = 0;
|
|
669
|
-
}
|
|
670
|
-
};
|
|
671
|
-
}, []);
|
|
596
|
+
});
|
|
597
|
+
var TooltipContent = /* @__PURE__ */ (0, import_react17.forwardRef)(({ classNames, collisionPadding = 8, ...props }, forwardedRef) => {
|
|
672
598
|
const { tx } = useThemeContext();
|
|
673
599
|
const elevation = useElevationContext();
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
trigger,
|
|
680
|
-
onTriggerChange: handleTriggerChange,
|
|
681
|
-
onTriggerEnter: (0, import_react17.useCallback)(() => {
|
|
682
|
-
if (isOpenDelayedRef.current) {
|
|
683
|
-
handleDelayedOpen();
|
|
684
|
-
} else {
|
|
685
|
-
handleOpen();
|
|
686
|
-
}
|
|
687
|
-
}, [
|
|
688
|
-
isOpenDelayedRef,
|
|
689
|
-
handleDelayedOpen,
|
|
690
|
-
handleOpen
|
|
691
|
-
]),
|
|
692
|
-
onTriggerLeave: (0, import_react17.useCallback)(() => {
|
|
693
|
-
if (disableHoverableContent) {
|
|
694
|
-
handleClose();
|
|
695
|
-
} else {
|
|
696
|
-
window.clearTimeout(openTimerRef.current);
|
|
697
|
-
openTimerRef.current = 0;
|
|
698
|
-
}
|
|
699
|
-
}, [
|
|
700
|
-
handleClose,
|
|
701
|
-
disableHoverableContent
|
|
702
|
-
]),
|
|
703
|
-
onOpen: handleOpen,
|
|
704
|
-
onClose: handleClose,
|
|
705
|
-
disableHoverableContent,
|
|
706
|
-
isPointerInTransitRef,
|
|
707
|
-
onPointerInTransitChange: (0, import_react17.useCallback)((inTransit) => {
|
|
708
|
-
isPointerInTransitRef.current = inTransit;
|
|
709
|
-
}, [])
|
|
710
|
-
}, /* @__PURE__ */ import_react17.default.createElement(TooltipContent, {
|
|
711
|
-
side,
|
|
600
|
+
const safeCollisionPadding = useSafeCollisionPadding(collisionPadding);
|
|
601
|
+
return /* @__PURE__ */ import_react17.default.createElement(import_react_tooltip.TooltipContent, {
|
|
602
|
+
sideOffset: 4,
|
|
603
|
+
...props,
|
|
604
|
+
collisionPadding: safeCollisionPadding,
|
|
712
605
|
className: tx("tooltip.content", "tooltip", {
|
|
713
606
|
elevation
|
|
714
|
-
})
|
|
715
|
-
|
|
716
|
-
className: tx("tooltip.arrow", "tooltip__arrow")
|
|
717
|
-
})), /* @__PURE__ */ import_react17.default.createElement(TooltipVirtualTrigger, {
|
|
718
|
-
virtualRef: triggerRef
|
|
719
|
-
}), children));
|
|
720
|
-
};
|
|
721
|
-
TooltipProvider.displayName = TOOLTIP_NAME;
|
|
722
|
-
var TooltipVirtualTrigger = ({ virtualRef, __scopeTooltip }) => {
|
|
723
|
-
const popperScope = usePopperScope(__scopeTooltip);
|
|
724
|
-
return /* @__PURE__ */ import_react17.default.createElement(PopperPrimitive.Anchor, {
|
|
725
|
-
asChild: true,
|
|
726
|
-
...popperScope,
|
|
727
|
-
virtualRef
|
|
607
|
+
}, classNames),
|
|
608
|
+
ref: forwardedRef
|
|
728
609
|
});
|
|
729
|
-
};
|
|
730
|
-
var
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
const
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
}, [
|
|
751
|
-
handlePointerUp
|
|
752
|
-
]);
|
|
753
|
-
return /* @__PURE__ */ import_react17.default.createElement(import_react_primitive6.Primitive.button, {
|
|
754
|
-
// We purposefully avoid adding `type=button` here because tooltip triggers are also
|
|
755
|
-
// commonly anchors and the anchor `type` attribute signifies MIME type.
|
|
756
|
-
"aria-describedby": context.open ? context.contentId : void 0,
|
|
757
|
-
"data-state": context.stateAttribute,
|
|
758
|
-
"data-tooltip-content": content,
|
|
759
|
-
"data-tooltip-side": side,
|
|
760
|
-
...triggerProps,
|
|
761
|
-
ref: composedRefs,
|
|
762
|
-
onPointerMove: (0, import_primitive.composeEventHandlers)(props.onPointerMove, (event) => {
|
|
763
|
-
if (event.pointerType === "touch") {
|
|
764
|
-
return;
|
|
765
|
-
}
|
|
766
|
-
if (!hasPointerMoveOpenedRef.current && !context.isPointerInTransitRef.current) {
|
|
767
|
-
onInteract?.(event);
|
|
768
|
-
if (event.defaultPrevented) {
|
|
769
|
-
return;
|
|
770
|
-
}
|
|
771
|
-
context.onTriggerChange(ref.current);
|
|
772
|
-
context.onTriggerEnter();
|
|
773
|
-
hasPointerMoveOpenedRef.current = true;
|
|
774
|
-
}
|
|
775
|
-
}),
|
|
776
|
-
onPointerLeave: (0, import_primitive.composeEventHandlers)(props.onPointerLeave, () => {
|
|
777
|
-
context.onTriggerLeave();
|
|
778
|
-
hasPointerMoveOpenedRef.current = false;
|
|
779
|
-
}),
|
|
780
|
-
onPointerDown: (0, import_primitive.composeEventHandlers)(props.onPointerDown, () => {
|
|
781
|
-
if (context.open) {
|
|
782
|
-
context.onClose();
|
|
610
|
+
});
|
|
611
|
+
var Tooltip = {
|
|
612
|
+
Provider: TooltipProvider,
|
|
613
|
+
Root: TooltipRoot,
|
|
614
|
+
Portal: TooltipPortal,
|
|
615
|
+
Trigger: TooltipTrigger,
|
|
616
|
+
Arrow: TooltipArrow,
|
|
617
|
+
Content: TooltipContent
|
|
618
|
+
};
|
|
619
|
+
var IconOnlyButton = /* @__PURE__ */ (0, import_react15.forwardRef)(({ noTooltip, tooltipPortal = true, tooltipZIndex: zIndex, tooltipSide, suppressNextTooltip, ...props }, forwardedRef) => {
|
|
620
|
+
const [triggerTooltipOpen, setTriggerTooltipOpen] = (0, import_react15.useState)(false);
|
|
621
|
+
if (noTooltip) {
|
|
622
|
+
return /* @__PURE__ */ import_react15.default.createElement(LabelledIconButton, {
|
|
623
|
+
...props,
|
|
624
|
+
ref: forwardedRef
|
|
625
|
+
});
|
|
626
|
+
}
|
|
627
|
+
const content = /* @__PURE__ */ import_react15.default.createElement(Tooltip.Content, {
|
|
628
|
+
...zIndex && {
|
|
629
|
+
style: {
|
|
630
|
+
zIndex
|
|
783
631
|
}
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
if (
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
if (suppressNextTooltip?.current) {
|
|
796
|
-
suppressNextTooltip.current = false;
|
|
797
|
-
} else {
|
|
798
|
-
context.onTriggerChange(ref.current);
|
|
799
|
-
context.onOpen();
|
|
800
|
-
}
|
|
632
|
+
},
|
|
633
|
+
side: tooltipSide
|
|
634
|
+
}, props.label, /* @__PURE__ */ import_react15.default.createElement(Tooltip.Arrow, null));
|
|
635
|
+
return /* @__PURE__ */ import_react15.default.createElement(Tooltip.Root, {
|
|
636
|
+
open: triggerTooltipOpen,
|
|
637
|
+
onOpenChange: (nextOpen) => {
|
|
638
|
+
if (suppressNextTooltip?.current) {
|
|
639
|
+
setTriggerTooltipOpen(false);
|
|
640
|
+
suppressNextTooltip.current = false;
|
|
641
|
+
} else {
|
|
642
|
+
setTriggerTooltipOpen(nextOpen);
|
|
801
643
|
}
|
|
802
|
-
}
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
}
|
|
644
|
+
}
|
|
645
|
+
}, /* @__PURE__ */ import_react15.default.createElement(Tooltip.Trigger, {
|
|
646
|
+
asChild: true
|
|
647
|
+
}, /* @__PURE__ */ import_react15.default.createElement(LabelledIconButton, {
|
|
648
|
+
...props,
|
|
649
|
+
ref: forwardedRef
|
|
650
|
+
})), tooltipPortal ? /* @__PURE__ */ import_react15.default.createElement(Tooltip.Portal, null, content) : content);
|
|
806
651
|
});
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
652
|
+
var LabelledIconButton = /* @__PURE__ */ (0, import_react15.forwardRef)(({ icon, size, iconOnly, label, classNames, iconClassNames, caretDown, suppressNextTooltip, ...props }, forwardedRef) => {
|
|
653
|
+
const { tx } = useThemeContext();
|
|
654
|
+
return /* @__PURE__ */ import_react15.default.createElement(Button, {
|
|
655
|
+
...props,
|
|
656
|
+
classNames: tx("iconButton.root", "iconButton", {}, classNames),
|
|
657
|
+
ref: forwardedRef
|
|
658
|
+
}, /* @__PURE__ */ import_react15.default.createElement(Icon, {
|
|
659
|
+
icon,
|
|
660
|
+
size,
|
|
661
|
+
classNames: iconClassNames
|
|
662
|
+
}), /* @__PURE__ */ import_react15.default.createElement("span", {
|
|
663
|
+
className: iconOnly ? "sr-only" : void 0
|
|
664
|
+
}, label), caretDown && /* @__PURE__ */ import_react15.default.createElement(Icon, {
|
|
665
|
+
size: 3,
|
|
666
|
+
icon: "ph--caret-down--bold"
|
|
667
|
+
}));
|
|
811
668
|
});
|
|
812
|
-
var
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
var TooltipContent = /* @__PURE__ */ (0, import_react17.forwardRef)((props, forwardedRef) => {
|
|
828
|
-
const portalContext = usePortalContext(CONTENT_NAME, props.__scopeTooltip);
|
|
829
|
-
const { forceMount = portalContext.forceMount, side = "top", ...contentProps } = props;
|
|
830
|
-
const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);
|
|
831
|
-
return /* @__PURE__ */ import_react17.default.createElement(import_react_presence.Presence, {
|
|
832
|
-
present: forceMount || context.open
|
|
833
|
-
}, context.disableHoverableContent ? /* @__PURE__ */ import_react17.default.createElement(TooltipContentImpl, {
|
|
834
|
-
side,
|
|
835
|
-
...contentProps,
|
|
669
|
+
var IconButton = /* @__PURE__ */ (0, import_react15.forwardRef)((props, forwardedRef) => props.iconOnly ? /* @__PURE__ */ import_react15.default.createElement(IconOnlyButton, {
|
|
670
|
+
...props,
|
|
671
|
+
ref: forwardedRef
|
|
672
|
+
}) : /* @__PURE__ */ import_react15.default.createElement(LabelledIconButton, {
|
|
673
|
+
...props,
|
|
674
|
+
ref: forwardedRef
|
|
675
|
+
}));
|
|
676
|
+
var Toggle = /* @__PURE__ */ (0, import_react19.forwardRef)(({ defaultPressed, pressed, onPressedChange, ...props }, forwardedRef) => {
|
|
677
|
+
return /* @__PURE__ */ import_react19.default.createElement(import_react_toggle.Toggle, {
|
|
678
|
+
defaultPressed,
|
|
679
|
+
pressed,
|
|
680
|
+
onPressedChange,
|
|
681
|
+
asChild: true
|
|
682
|
+
}, /* @__PURE__ */ import_react19.default.createElement(Button, {
|
|
683
|
+
...props,
|
|
836
684
|
ref: forwardedRef
|
|
837
|
-
})
|
|
838
|
-
|
|
839
|
-
|
|
685
|
+
}));
|
|
686
|
+
});
|
|
687
|
+
var ToggleGroup = /* @__PURE__ */ (0, import_react20.forwardRef)(({ classNames, children, ...props }, forwardedRef) => {
|
|
688
|
+
return /* @__PURE__ */ import_react20.default.createElement(import_react_toggle_group.ToggleGroup, {
|
|
689
|
+
...props,
|
|
690
|
+
asChild: true
|
|
691
|
+
}, /* @__PURE__ */ import_react20.default.createElement(ButtonGroup, {
|
|
692
|
+
classNames,
|
|
693
|
+
children,
|
|
840
694
|
ref: forwardedRef
|
|
841
695
|
}));
|
|
842
696
|
});
|
|
843
|
-
var
|
|
844
|
-
|
|
845
|
-
const ref = (0, import_react17.useRef)(null);
|
|
846
|
-
const composedRefs = (0, import_react_compose_refs.useComposedRefs)(forwardedRef, ref);
|
|
847
|
-
const [pointerGraceArea, setPointerGraceArea] = (0, import_react17.useState)(null);
|
|
848
|
-
const { trigger, onClose } = context;
|
|
849
|
-
const content = ref.current;
|
|
850
|
-
const { onPointerInTransitChange } = context;
|
|
851
|
-
const handleRemoveGraceArea = (0, import_react17.useCallback)(() => {
|
|
852
|
-
setPointerGraceArea(null);
|
|
853
|
-
onPointerInTransitChange(false);
|
|
854
|
-
}, [
|
|
855
|
-
onPointerInTransitChange
|
|
856
|
-
]);
|
|
857
|
-
const handleCreateGraceArea = (0, import_react17.useCallback)((event, hoverTarget) => {
|
|
858
|
-
const currentTarget = event.currentTarget;
|
|
859
|
-
const exitPoint = {
|
|
860
|
-
x: event.clientX,
|
|
861
|
-
y: event.clientY
|
|
862
|
-
};
|
|
863
|
-
const exitSide = getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect());
|
|
864
|
-
const paddedExitPoints = getPaddedExitPoints(exitPoint, exitSide);
|
|
865
|
-
const hoverTargetPoints = getPointsFromRect(hoverTarget.getBoundingClientRect());
|
|
866
|
-
const graceArea = getHull([
|
|
867
|
-
...paddedExitPoints,
|
|
868
|
-
...hoverTargetPoints
|
|
869
|
-
]);
|
|
870
|
-
setPointerGraceArea(graceArea);
|
|
871
|
-
onPointerInTransitChange(true);
|
|
872
|
-
}, [
|
|
873
|
-
onPointerInTransitChange
|
|
874
|
-
]);
|
|
875
|
-
(0, import_react17.useEffect)(() => {
|
|
876
|
-
return () => handleRemoveGraceArea();
|
|
877
|
-
}, [
|
|
878
|
-
handleRemoveGraceArea
|
|
879
|
-
]);
|
|
880
|
-
(0, import_react17.useEffect)(() => {
|
|
881
|
-
if (trigger && content) {
|
|
882
|
-
const handleTriggerLeave = (event) => handleCreateGraceArea(event, content);
|
|
883
|
-
const handleContentLeave = (event) => handleCreateGraceArea(event, trigger);
|
|
884
|
-
trigger.addEventListener("pointerleave", handleTriggerLeave);
|
|
885
|
-
content.addEventListener("pointerleave", handleContentLeave);
|
|
886
|
-
return () => {
|
|
887
|
-
trigger.removeEventListener("pointerleave", handleTriggerLeave);
|
|
888
|
-
content.removeEventListener("pointerleave", handleContentLeave);
|
|
889
|
-
};
|
|
890
|
-
}
|
|
891
|
-
}, [
|
|
892
|
-
trigger,
|
|
893
|
-
content,
|
|
894
|
-
handleCreateGraceArea,
|
|
895
|
-
handleRemoveGraceArea
|
|
896
|
-
]);
|
|
897
|
-
(0, import_react17.useEffect)(() => {
|
|
898
|
-
if (pointerGraceArea) {
|
|
899
|
-
const handleTrackPointerGrace = (event) => {
|
|
900
|
-
const target = event.target;
|
|
901
|
-
const pointerPosition = {
|
|
902
|
-
x: event.clientX,
|
|
903
|
-
y: event.clientY
|
|
904
|
-
};
|
|
905
|
-
const hasEnteredTarget = trigger?.contains(target) || content?.contains(target);
|
|
906
|
-
const isPointerOutsideGraceArea = !isPointInPolygon(pointerPosition, pointerGraceArea);
|
|
907
|
-
if (hasEnteredTarget) {
|
|
908
|
-
handleRemoveGraceArea();
|
|
909
|
-
} else if (isPointerOutsideGraceArea) {
|
|
910
|
-
handleRemoveGraceArea();
|
|
911
|
-
onClose();
|
|
912
|
-
}
|
|
913
|
-
};
|
|
914
|
-
document.addEventListener("pointermove", handleTrackPointerGrace);
|
|
915
|
-
return () => document.removeEventListener("pointermove", handleTrackPointerGrace);
|
|
916
|
-
}
|
|
917
|
-
}, [
|
|
918
|
-
trigger,
|
|
919
|
-
content,
|
|
920
|
-
pointerGraceArea,
|
|
921
|
-
onClose,
|
|
922
|
-
handleRemoveGraceArea
|
|
923
|
-
]);
|
|
924
|
-
return /* @__PURE__ */ import_react17.default.createElement(TooltipContentImpl, {
|
|
697
|
+
var ToggleGroupItem = /* @__PURE__ */ (0, import_react20.forwardRef)(({ variant, elevation, density, classNames, children, ...props }, forwardedRef) => {
|
|
698
|
+
return /* @__PURE__ */ import_react20.default.createElement(import_react_toggle_group.ToggleGroupItem, {
|
|
925
699
|
...props,
|
|
926
|
-
|
|
927
|
-
}
|
|
700
|
+
asChild: true
|
|
701
|
+
}, /* @__PURE__ */ import_react20.default.createElement(Button, {
|
|
702
|
+
variant,
|
|
703
|
+
elevation,
|
|
704
|
+
density,
|
|
705
|
+
classNames,
|
|
706
|
+
children,
|
|
707
|
+
ref: forwardedRef
|
|
708
|
+
}));
|
|
928
709
|
});
|
|
929
|
-
var
|
|
930
|
-
|
|
710
|
+
var ClipboardContext = /* @__PURE__ */ (0, import_react21.createContext)({
|
|
711
|
+
textValue: "",
|
|
712
|
+
setTextValue: async (_) => {
|
|
713
|
+
}
|
|
931
714
|
});
|
|
932
|
-
var
|
|
933
|
-
const { __scopeTooltip, children, "aria-label": ariaLabel, onEscapeKeyDown, onPointerDownOutside, ...contentProps } = props;
|
|
934
|
-
const context = useTooltipContext(CONTENT_NAME, __scopeTooltip);
|
|
935
|
-
const popperScope = usePopperScope(__scopeTooltip);
|
|
936
|
-
const { onClose } = context;
|
|
937
|
-
(0, import_react17.useEffect)(() => {
|
|
938
|
-
document.addEventListener(TOOLTIP_OPEN, onClose);
|
|
939
|
-
return () => document.removeEventListener(TOOLTIP_OPEN, onClose);
|
|
940
|
-
}, [
|
|
941
|
-
onClose
|
|
942
|
-
]);
|
|
943
|
-
(0, import_react17.useEffect)(() => {
|
|
944
|
-
if (context.trigger) {
|
|
945
|
-
const handleScroll = (event) => {
|
|
946
|
-
const target = event.target;
|
|
947
|
-
if (target?.contains(context.trigger)) {
|
|
948
|
-
onClose();
|
|
949
|
-
}
|
|
950
|
-
};
|
|
951
|
-
window.addEventListener("scroll", handleScroll, {
|
|
952
|
-
capture: true
|
|
953
|
-
});
|
|
954
|
-
return () => window.removeEventListener("scroll", handleScroll, {
|
|
955
|
-
capture: true
|
|
956
|
-
});
|
|
957
|
-
}
|
|
958
|
-
}, [
|
|
959
|
-
context.trigger,
|
|
960
|
-
onClose
|
|
961
|
-
]);
|
|
962
|
-
return /* @__PURE__ */ import_react17.default.createElement(import_react_dismissable_layer.DismissableLayer, {
|
|
963
|
-
asChild: true,
|
|
964
|
-
disableOutsidePointerEvents: false,
|
|
965
|
-
onEscapeKeyDown,
|
|
966
|
-
onPointerDownOutside,
|
|
967
|
-
onFocusOutside: (event) => event.preventDefault(),
|
|
968
|
-
onDismiss: onClose
|
|
969
|
-
}, /* @__PURE__ */ import_react17.default.createElement(PopperPrimitive.Content, {
|
|
970
|
-
"data-state": context.stateAttribute,
|
|
971
|
-
...popperScope,
|
|
972
|
-
...contentProps,
|
|
973
|
-
ref: forwardedRef,
|
|
974
|
-
style: {
|
|
975
|
-
...contentProps.style,
|
|
976
|
-
// re-namespace exposed content custom properties
|
|
977
|
-
...{
|
|
978
|
-
"--radix-tooltip-content-transform-origin": "var(--radix-popper-transform-origin)",
|
|
979
|
-
"--radix-tooltip-content-available-width": "var(--radix-popper-available-width)",
|
|
980
|
-
"--radix-tooltip-content-available-height": "var(--radix-popper-available-height)",
|
|
981
|
-
"--radix-tooltip-trigger-width": "var(--radix-popper-anchor-width)",
|
|
982
|
-
"--radix-tooltip-trigger-height": "var(--radix-popper-anchor-height)"
|
|
983
|
-
}
|
|
984
|
-
}
|
|
985
|
-
}, /* @__PURE__ */ import_react17.default.createElement(import_react_slot6.Slottable, null, children), /* @__PURE__ */ import_react17.default.createElement(VisuallyHiddenContentContextProvider, {
|
|
986
|
-
scope: __scopeTooltip,
|
|
987
|
-
isInside: true
|
|
988
|
-
}, /* @__PURE__ */ import_react17.default.createElement(VisuallyHiddenPrimitive.Root, {
|
|
989
|
-
id: context.contentId,
|
|
990
|
-
role: "tooltip"
|
|
991
|
-
}, ariaLabel || children))));
|
|
992
|
-
});
|
|
993
|
-
TooltipContent.displayName = CONTENT_NAME;
|
|
994
|
-
var ARROW_NAME = "TooltipArrow";
|
|
995
|
-
var TooltipArrow = /* @__PURE__ */ (0, import_react17.forwardRef)((props, forwardedRef) => {
|
|
996
|
-
const { __scopeTooltip, ...arrowProps } = props;
|
|
997
|
-
const popperScope = usePopperScope(__scopeTooltip);
|
|
998
|
-
const visuallyHiddenContentContext = useVisuallyHiddenContentContext(ARROW_NAME, __scopeTooltip);
|
|
999
|
-
return visuallyHiddenContentContext.isInside ? null : /* @__PURE__ */ import_react17.default.createElement(PopperPrimitive.Arrow, {
|
|
1000
|
-
...popperScope,
|
|
1001
|
-
...arrowProps,
|
|
1002
|
-
ref: forwardedRef
|
|
1003
|
-
});
|
|
1004
|
-
});
|
|
1005
|
-
TooltipArrow.displayName = ARROW_NAME;
|
|
1006
|
-
var getExitSideFromRect = (point, rect) => {
|
|
1007
|
-
const top = Math.abs(rect.top - point.y);
|
|
1008
|
-
const bottom = Math.abs(rect.bottom - point.y);
|
|
1009
|
-
const right = Math.abs(rect.right - point.x);
|
|
1010
|
-
const left = Math.abs(rect.left - point.x);
|
|
1011
|
-
switch (Math.min(top, bottom, right, left)) {
|
|
1012
|
-
case left:
|
|
1013
|
-
return "left";
|
|
1014
|
-
case right:
|
|
1015
|
-
return "right";
|
|
1016
|
-
case top:
|
|
1017
|
-
return "top";
|
|
1018
|
-
case bottom:
|
|
1019
|
-
return "bottom";
|
|
1020
|
-
default:
|
|
1021
|
-
throw new Error("unreachable");
|
|
1022
|
-
}
|
|
1023
|
-
};
|
|
1024
|
-
var getPaddedExitPoints = (exitPoint, exitSide, padding = 5) => {
|
|
1025
|
-
const paddedExitPoints = [];
|
|
1026
|
-
switch (exitSide) {
|
|
1027
|
-
case "top":
|
|
1028
|
-
paddedExitPoints.push({
|
|
1029
|
-
x: exitPoint.x - padding,
|
|
1030
|
-
y: exitPoint.y + padding
|
|
1031
|
-
}, {
|
|
1032
|
-
x: exitPoint.x + padding,
|
|
1033
|
-
y: exitPoint.y + padding
|
|
1034
|
-
});
|
|
1035
|
-
break;
|
|
1036
|
-
case "bottom":
|
|
1037
|
-
paddedExitPoints.push({
|
|
1038
|
-
x: exitPoint.x - padding,
|
|
1039
|
-
y: exitPoint.y - padding
|
|
1040
|
-
}, {
|
|
1041
|
-
x: exitPoint.x + padding,
|
|
1042
|
-
y: exitPoint.y - padding
|
|
1043
|
-
});
|
|
1044
|
-
break;
|
|
1045
|
-
case "left":
|
|
1046
|
-
paddedExitPoints.push({
|
|
1047
|
-
x: exitPoint.x + padding,
|
|
1048
|
-
y: exitPoint.y - padding
|
|
1049
|
-
}, {
|
|
1050
|
-
x: exitPoint.x + padding,
|
|
1051
|
-
y: exitPoint.y + padding
|
|
1052
|
-
});
|
|
1053
|
-
break;
|
|
1054
|
-
case "right":
|
|
1055
|
-
paddedExitPoints.push({
|
|
1056
|
-
x: exitPoint.x - padding,
|
|
1057
|
-
y: exitPoint.y - padding
|
|
1058
|
-
}, {
|
|
1059
|
-
x: exitPoint.x - padding,
|
|
1060
|
-
y: exitPoint.y + padding
|
|
1061
|
-
});
|
|
1062
|
-
break;
|
|
1063
|
-
}
|
|
1064
|
-
return paddedExitPoints;
|
|
1065
|
-
};
|
|
1066
|
-
var getPointsFromRect = (rect) => {
|
|
1067
|
-
const { top, right, bottom, left } = rect;
|
|
1068
|
-
return [
|
|
1069
|
-
{
|
|
1070
|
-
x: left,
|
|
1071
|
-
y: top
|
|
1072
|
-
},
|
|
1073
|
-
{
|
|
1074
|
-
x: right,
|
|
1075
|
-
y: top
|
|
1076
|
-
},
|
|
1077
|
-
{
|
|
1078
|
-
x: right,
|
|
1079
|
-
y: bottom
|
|
1080
|
-
},
|
|
1081
|
-
{
|
|
1082
|
-
x: left,
|
|
1083
|
-
y: bottom
|
|
1084
|
-
}
|
|
1085
|
-
];
|
|
1086
|
-
};
|
|
1087
|
-
var isPointInPolygon = (point, polygon) => {
|
|
1088
|
-
const { x, y } = point;
|
|
1089
|
-
let inside = false;
|
|
1090
|
-
for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {
|
|
1091
|
-
const xi = polygon[i].x;
|
|
1092
|
-
const yi = polygon[i].y;
|
|
1093
|
-
const xj = polygon[j].x;
|
|
1094
|
-
const yj = polygon[j].y;
|
|
1095
|
-
const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;
|
|
1096
|
-
if (intersect) {
|
|
1097
|
-
inside = !inside;
|
|
1098
|
-
}
|
|
1099
|
-
}
|
|
1100
|
-
return inside;
|
|
1101
|
-
};
|
|
1102
|
-
var getHull = (points) => {
|
|
1103
|
-
const newPoints = points.slice();
|
|
1104
|
-
newPoints.sort((a, b) => {
|
|
1105
|
-
if (a.x < b.x) {
|
|
1106
|
-
return -1;
|
|
1107
|
-
} else if (a.x > b.x) {
|
|
1108
|
-
return 1;
|
|
1109
|
-
} else if (a.y < b.y) {
|
|
1110
|
-
return -1;
|
|
1111
|
-
} else if (a.y > b.y) {
|
|
1112
|
-
return 1;
|
|
1113
|
-
} else {
|
|
1114
|
-
return 0;
|
|
1115
|
-
}
|
|
1116
|
-
});
|
|
1117
|
-
return getHullPresorted(newPoints);
|
|
1118
|
-
};
|
|
1119
|
-
var getHullPresorted = (points) => {
|
|
1120
|
-
if (points.length <= 1) {
|
|
1121
|
-
return points.slice();
|
|
1122
|
-
}
|
|
1123
|
-
const upperHull = [];
|
|
1124
|
-
for (let i = 0; i < points.length; i++) {
|
|
1125
|
-
const p = points[i];
|
|
1126
|
-
while (upperHull.length >= 2) {
|
|
1127
|
-
const q = upperHull[upperHull.length - 1];
|
|
1128
|
-
const r = upperHull[upperHull.length - 2];
|
|
1129
|
-
if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) {
|
|
1130
|
-
upperHull.pop();
|
|
1131
|
-
} else {
|
|
1132
|
-
break;
|
|
1133
|
-
}
|
|
1134
|
-
}
|
|
1135
|
-
upperHull.push(p);
|
|
1136
|
-
}
|
|
1137
|
-
upperHull.pop();
|
|
1138
|
-
const lowerHull = [];
|
|
1139
|
-
for (let i = points.length - 1; i >= 0; i--) {
|
|
1140
|
-
const p = points[i];
|
|
1141
|
-
while (lowerHull.length >= 2) {
|
|
1142
|
-
const q = lowerHull[lowerHull.length - 1];
|
|
1143
|
-
const r = lowerHull[lowerHull.length - 2];
|
|
1144
|
-
if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) {
|
|
1145
|
-
lowerHull.pop();
|
|
1146
|
-
} else {
|
|
1147
|
-
break;
|
|
1148
|
-
}
|
|
1149
|
-
}
|
|
1150
|
-
lowerHull.push(p);
|
|
1151
|
-
}
|
|
1152
|
-
lowerHull.pop();
|
|
1153
|
-
if (upperHull.length === 1 && lowerHull.length === 1 && upperHull[0].x === lowerHull[0].x && upperHull[0].y === lowerHull[0].y) {
|
|
1154
|
-
return upperHull;
|
|
1155
|
-
} else {
|
|
1156
|
-
return upperHull.concat(lowerHull);
|
|
1157
|
-
}
|
|
1158
|
-
};
|
|
1159
|
-
var Tooltip = {
|
|
1160
|
-
Provider: TooltipProvider,
|
|
1161
|
-
Trigger: TooltipTrigger
|
|
1162
|
-
};
|
|
1163
|
-
var IconOnlyButton = /* @__PURE__ */ (0, import_react15.forwardRef)(({ noTooltip, tooltipPortal = true, tooltipSide, suppressNextTooltip, ...props }, forwardedRef) => {
|
|
1164
|
-
if (noTooltip) {
|
|
1165
|
-
return /* @__PURE__ */ import_react15.default.createElement(LabelledIconButton, {
|
|
1166
|
-
...props,
|
|
1167
|
-
ref: forwardedRef
|
|
1168
|
-
});
|
|
1169
|
-
}
|
|
1170
|
-
return /* @__PURE__ */ import_react15.default.createElement(Tooltip.Trigger, {
|
|
1171
|
-
asChild: true,
|
|
1172
|
-
content: props.label,
|
|
1173
|
-
side: tooltipSide,
|
|
1174
|
-
suppressNextTooltip
|
|
1175
|
-
}, /* @__PURE__ */ import_react15.default.createElement(LabelledIconButton, {
|
|
1176
|
-
...props,
|
|
1177
|
-
ref: forwardedRef
|
|
1178
|
-
}));
|
|
1179
|
-
});
|
|
1180
|
-
var LabelledIconButton = /* @__PURE__ */ (0, import_react15.forwardRef)(({ icon, size, iconOnly, label, classNames, iconClassNames, caretDown, suppressNextTooltip, ...props }, forwardedRef) => {
|
|
1181
|
-
const { tx } = useThemeContext();
|
|
1182
|
-
return /* @__PURE__ */ import_react15.default.createElement(Button, {
|
|
1183
|
-
...props,
|
|
1184
|
-
classNames: tx("iconButton.root", "iconButton", {}, classNames),
|
|
1185
|
-
ref: forwardedRef
|
|
1186
|
-
}, /* @__PURE__ */ import_react15.default.createElement(Icon, {
|
|
1187
|
-
icon,
|
|
1188
|
-
size,
|
|
1189
|
-
classNames: iconClassNames
|
|
1190
|
-
}), /* @__PURE__ */ import_react15.default.createElement("span", {
|
|
1191
|
-
className: iconOnly ? "sr-only" : void 0
|
|
1192
|
-
}, label), caretDown && /* @__PURE__ */ import_react15.default.createElement(Icon, {
|
|
1193
|
-
size: 3,
|
|
1194
|
-
icon: "ph--caret-down--bold"
|
|
1195
|
-
}));
|
|
1196
|
-
});
|
|
1197
|
-
var IconButton = /* @__PURE__ */ (0, import_react15.forwardRef)((props, forwardedRef) => props.iconOnly ? /* @__PURE__ */ import_react15.default.createElement(IconOnlyButton, {
|
|
1198
|
-
...props,
|
|
1199
|
-
ref: forwardedRef
|
|
1200
|
-
}) : /* @__PURE__ */ import_react15.default.createElement(LabelledIconButton, {
|
|
1201
|
-
...props,
|
|
1202
|
-
ref: forwardedRef
|
|
1203
|
-
}));
|
|
1204
|
-
var Toggle = /* @__PURE__ */ (0, import_react18.forwardRef)(({ defaultPressed, pressed, onPressedChange, ...props }, forwardedRef) => {
|
|
1205
|
-
return /* @__PURE__ */ import_react18.default.createElement(import_react_toggle.Toggle, {
|
|
1206
|
-
defaultPressed,
|
|
1207
|
-
pressed,
|
|
1208
|
-
onPressedChange,
|
|
1209
|
-
asChild: true
|
|
1210
|
-
}, /* @__PURE__ */ import_react18.default.createElement(Button, {
|
|
1211
|
-
...props,
|
|
1212
|
-
ref: forwardedRef
|
|
1213
|
-
}));
|
|
1214
|
-
});
|
|
1215
|
-
var ToggleGroup = /* @__PURE__ */ (0, import_react19.forwardRef)(({ classNames, children, ...props }, forwardedRef) => {
|
|
1216
|
-
return /* @__PURE__ */ import_react19.default.createElement(import_react_toggle_group.ToggleGroup, {
|
|
1217
|
-
...props,
|
|
1218
|
-
asChild: true
|
|
1219
|
-
}, /* @__PURE__ */ import_react19.default.createElement(ButtonGroup, {
|
|
1220
|
-
classNames,
|
|
1221
|
-
children,
|
|
1222
|
-
ref: forwardedRef
|
|
1223
|
-
}));
|
|
1224
|
-
});
|
|
1225
|
-
var ToggleGroupItem = /* @__PURE__ */ (0, import_react19.forwardRef)(({ variant, elevation, density, classNames, children, ...props }, forwardedRef) => {
|
|
1226
|
-
return /* @__PURE__ */ import_react19.default.createElement(import_react_toggle_group.ToggleGroupItem, {
|
|
1227
|
-
...props,
|
|
1228
|
-
asChild: true
|
|
1229
|
-
}, /* @__PURE__ */ import_react19.default.createElement(Button, {
|
|
1230
|
-
variant,
|
|
1231
|
-
elevation,
|
|
1232
|
-
density,
|
|
1233
|
-
classNames,
|
|
1234
|
-
children,
|
|
1235
|
-
ref: forwardedRef
|
|
1236
|
-
}));
|
|
1237
|
-
});
|
|
1238
|
-
var ClipboardContext = /* @__PURE__ */ (0, import_react20.createContext)({
|
|
1239
|
-
textValue: "",
|
|
1240
|
-
setTextValue: async (_) => {
|
|
1241
|
-
}
|
|
1242
|
-
});
|
|
1243
|
-
var useClipboard = () => (0, import_react20.useContext)(ClipboardContext);
|
|
715
|
+
var useClipboard = () => (0, import_react21.useContext)(ClipboardContext);
|
|
1244
716
|
var ClipboardProvider = ({ children }) => {
|
|
1245
|
-
const [textValue, setInternalTextValue] = (0,
|
|
1246
|
-
const setTextValue = (0,
|
|
717
|
+
const [textValue, setInternalTextValue] = (0, import_react21.useState)("");
|
|
718
|
+
const setTextValue = (0, import_react21.useCallback)(async (nextValue) => {
|
|
1247
719
|
await navigator.clipboard.writeText(nextValue);
|
|
1248
720
|
return setInternalTextValue(nextValue);
|
|
1249
721
|
}, []);
|
|
1250
|
-
return /* @__PURE__ */
|
|
722
|
+
return /* @__PURE__ */ import_react21.default.createElement(ClipboardContext.Provider, {
|
|
1251
723
|
value: {
|
|
1252
724
|
textValue,
|
|
1253
725
|
setTextValue
|
|
@@ -1257,25 +729,25 @@ var ClipboardProvider = ({ children }) => {
|
|
|
1257
729
|
var hasIosKeyboard = () => {
|
|
1258
730
|
return !!navigator.userAgent.match(/iP(ad|od|hone).+Safari/);
|
|
1259
731
|
};
|
|
1260
|
-
var DensityContext = /* @__PURE__ */ (0,
|
|
732
|
+
var DensityContext = /* @__PURE__ */ (0, import_react24.createContext)({
|
|
1261
733
|
density: "fine"
|
|
1262
734
|
});
|
|
1263
|
-
var DensityProvider = ({ density, children }) => /* @__PURE__ */
|
|
735
|
+
var DensityProvider = ({ density, children }) => /* @__PURE__ */ import_react24.default.createElement(DensityContext.Provider, {
|
|
1264
736
|
value: {
|
|
1265
737
|
density
|
|
1266
738
|
}
|
|
1267
739
|
}, children);
|
|
1268
|
-
var ElevationContext = /* @__PURE__ */ (0,
|
|
740
|
+
var ElevationContext = /* @__PURE__ */ (0, import_react25.createContext)({
|
|
1269
741
|
elevation: "base"
|
|
1270
742
|
});
|
|
1271
|
-
var ElevationProvider = ({ elevation, children }) => /* @__PURE__ */
|
|
743
|
+
var ElevationProvider = ({ elevation, children }) => /* @__PURE__ */ import_react25.default.createElement(ElevationContext.Provider, {
|
|
1272
744
|
value: {
|
|
1273
745
|
elevation
|
|
1274
746
|
}
|
|
1275
747
|
}, children);
|
|
1276
|
-
var ThemeContext = /* @__PURE__ */ (0,
|
|
748
|
+
var ThemeContext = /* @__PURE__ */ (0, import_react23.createContext)(void 0);
|
|
1277
749
|
var ThemeProvider = ({ children, fallback = null, resourceExtensions, appNs, tx = (_path, defaultClassName, _styleProps, ..._options) => defaultClassName, themeMode = "dark", rootDensity = "fine", ...rest }) => {
|
|
1278
|
-
(0,
|
|
750
|
+
(0, import_react23.useEffect)(() => {
|
|
1279
751
|
if (document.defaultView) {
|
|
1280
752
|
const kb = (0, import_keyborg.createKeyborg)(document.defaultView);
|
|
1281
753
|
kb.subscribe(handleInputModalityChange);
|
|
@@ -1283,7 +755,7 @@ var ThemeProvider = ({ children, fallback = null, resourceExtensions, appNs, tx
|
|
|
1283
755
|
}
|
|
1284
756
|
}, []);
|
|
1285
757
|
const safeAreaPadding = useSafeArea();
|
|
1286
|
-
const contextValue = (0,
|
|
758
|
+
const contextValue = (0, import_react23.useMemo)(() => ({
|
|
1287
759
|
tx,
|
|
1288
760
|
themeMode,
|
|
1289
761
|
hasIosKeyboard: hasIosKeyboard(),
|
|
@@ -1295,15 +767,15 @@ var ThemeProvider = ({ children, fallback = null, resourceExtensions, appNs, tx
|
|
|
1295
767
|
safeAreaPadding,
|
|
1296
768
|
rest
|
|
1297
769
|
]);
|
|
1298
|
-
return /* @__PURE__ */
|
|
770
|
+
return /* @__PURE__ */ import_react23.default.createElement(ThemeContext.Provider, {
|
|
1299
771
|
value: contextValue
|
|
1300
|
-
}, /* @__PURE__ */
|
|
772
|
+
}, /* @__PURE__ */ import_react23.default.createElement(TranslationsProvider, {
|
|
1301
773
|
fallback,
|
|
1302
774
|
resourceExtensions,
|
|
1303
775
|
appNs
|
|
1304
|
-
}, /* @__PURE__ */
|
|
776
|
+
}, /* @__PURE__ */ import_react23.default.createElement(ElevationProvider, {
|
|
1305
777
|
elevation: "base"
|
|
1306
|
-
}, /* @__PURE__ */
|
|
778
|
+
}, /* @__PURE__ */ import_react23.default.createElement(DensityProvider, {
|
|
1307
779
|
density: rootDensity
|
|
1308
780
|
}, children))));
|
|
1309
781
|
};
|
|
@@ -1319,7 +791,7 @@ var CopyButton = ({ value, classNames, iconProps, ...props }) => {
|
|
|
1319
791
|
const { t } = useTranslation("os");
|
|
1320
792
|
const { textValue, setTextValue } = useClipboard();
|
|
1321
793
|
const isCopied = textValue === value;
|
|
1322
|
-
return /* @__PURE__ */
|
|
794
|
+
return /* @__PURE__ */ import_react22.default.createElement(Button, {
|
|
1323
795
|
...props,
|
|
1324
796
|
classNames: [
|
|
1325
797
|
"inline-flex flex-col justify-center",
|
|
@@ -1327,59 +799,70 @@ var CopyButton = ({ value, classNames, iconProps, ...props }) => {
|
|
|
1327
799
|
],
|
|
1328
800
|
onClick: () => setTextValue(value),
|
|
1329
801
|
"data-testid": "copy-invitation"
|
|
1330
|
-
}, /* @__PURE__ */
|
|
802
|
+
}, /* @__PURE__ */ import_react22.default.createElement("div", {
|
|
1331
803
|
role: "none",
|
|
1332
804
|
className: (0, import_react_ui_theme2.mx)("flex gap-1 items-center", isCopied && inactiveLabelStyles)
|
|
1333
|
-
}, /* @__PURE__ */
|
|
805
|
+
}, /* @__PURE__ */ import_react22.default.createElement("span", {
|
|
1334
806
|
className: "pli-1"
|
|
1335
|
-
}, t("copy label")), /* @__PURE__ */
|
|
807
|
+
}, t("copy label")), /* @__PURE__ */ import_react22.default.createElement(Icon, {
|
|
1336
808
|
icon: "ph--copy--regular",
|
|
1337
809
|
size: 5,
|
|
1338
810
|
...iconProps
|
|
1339
|
-
})), /* @__PURE__ */
|
|
811
|
+
})), /* @__PURE__ */ import_react22.default.createElement("div", {
|
|
1340
812
|
role: "none",
|
|
1341
813
|
className: (0, import_react_ui_theme2.mx)("flex gap-1 items-center", !isCopied && inactiveLabelStyles)
|
|
1342
|
-
}, /* @__PURE__ */
|
|
814
|
+
}, /* @__PURE__ */ import_react22.default.createElement("span", {
|
|
1343
815
|
className: "pli-1"
|
|
1344
|
-
}, t("copy success label")), /* @__PURE__ */
|
|
816
|
+
}, t("copy success label")), /* @__PURE__ */ import_react22.default.createElement(Icon, {
|
|
1345
817
|
icon: "ph--check--regular",
|
|
1346
818
|
size: 5,
|
|
1347
819
|
...iconProps
|
|
1348
820
|
})));
|
|
1349
821
|
};
|
|
1350
|
-
var CopyButtonIconOnly = ({
|
|
822
|
+
var CopyButtonIconOnly = ({ value, classNames, iconProps, variant, ...props }) => {
|
|
1351
823
|
const { t } = useTranslation("os");
|
|
1352
824
|
const { textValue, setTextValue } = useClipboard();
|
|
1353
825
|
const isCopied = textValue === value;
|
|
1354
826
|
const label = isCopied ? t("copy success label") : props.label ?? t("copy label");
|
|
1355
|
-
const
|
|
1356
|
-
return /* @__PURE__ */
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
827
|
+
const [open, setOpen] = (0, import_react22.useState)(false);
|
|
828
|
+
return /* @__PURE__ */ import_react22.default.createElement(Tooltip.Root, {
|
|
829
|
+
delayDuration: 1500,
|
|
830
|
+
open,
|
|
831
|
+
onOpenChange: setOpen
|
|
832
|
+
}, /* @__PURE__ */ import_react22.default.createElement(Tooltip.Portal, null, /* @__PURE__ */ import_react22.default.createElement(Tooltip.Content, {
|
|
833
|
+
side: "bottom",
|
|
834
|
+
sideOffset: 12
|
|
835
|
+
}, /* @__PURE__ */ import_react22.default.createElement("span", null, label), /* @__PURE__ */ import_react22.default.createElement(Tooltip.Arrow, null))), /* @__PURE__ */ import_react22.default.createElement(Tooltip.Trigger, {
|
|
836
|
+
"aria-label": label,
|
|
837
|
+
...props,
|
|
838
|
+
onClick: () => setTextValue(value).then(() => setOpen(true)),
|
|
839
|
+
"data-testid": "copy-invitation",
|
|
840
|
+
asChild: true
|
|
841
|
+
}, /* @__PURE__ */ import_react22.default.createElement(Button, {
|
|
1361
842
|
variant,
|
|
1362
843
|
classNames: [
|
|
1363
844
|
"inline-flex flex-col justify-center",
|
|
1364
845
|
classNames
|
|
1365
|
-
]
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
846
|
+
]
|
|
847
|
+
}, /* @__PURE__ */ import_react22.default.createElement(Icon, {
|
|
848
|
+
icon: "ph--copy--regular",
|
|
849
|
+
size: 5,
|
|
850
|
+
...iconProps
|
|
851
|
+
}))));
|
|
1369
852
|
};
|
|
1370
853
|
var Clipboard = {
|
|
1371
854
|
Button: CopyButton,
|
|
1372
855
|
IconButton: CopyButtonIconOnly,
|
|
1373
856
|
Provider: ClipboardProvider
|
|
1374
857
|
};
|
|
1375
|
-
var DialogRoot = (props) => /* @__PURE__ */
|
|
858
|
+
var DialogRoot = (props) => /* @__PURE__ */ import_react26.default.createElement(ElevationProvider, {
|
|
1376
859
|
elevation: "dialog"
|
|
1377
|
-
}, /* @__PURE__ */
|
|
860
|
+
}, /* @__PURE__ */ import_react26.default.createElement(import_react_dialog.Root, props));
|
|
1378
861
|
var DialogTrigger = import_react_dialog.DialogTrigger;
|
|
1379
862
|
var DialogPortal = import_react_dialog.DialogPortal;
|
|
1380
|
-
var DialogTitle = /* @__PURE__ */ (0,
|
|
863
|
+
var DialogTitle = /* @__PURE__ */ (0, import_react26.forwardRef)(({ classNames, srOnly, ...props }, forwardedRef) => {
|
|
1381
864
|
const { tx } = useThemeContext();
|
|
1382
|
-
return /* @__PURE__ */
|
|
865
|
+
return /* @__PURE__ */ import_react26.default.createElement(import_react_dialog.DialogTitle, {
|
|
1383
866
|
...props,
|
|
1384
867
|
className: tx("dialog.title", "dialog__title", {
|
|
1385
868
|
srOnly
|
|
@@ -1387,9 +870,9 @@ var DialogTitle = /* @__PURE__ */ (0, import_react25.forwardRef)(({ classNames,
|
|
|
1387
870
|
ref: forwardedRef
|
|
1388
871
|
});
|
|
1389
872
|
});
|
|
1390
|
-
var DialogDescription = /* @__PURE__ */ (0,
|
|
873
|
+
var DialogDescription = /* @__PURE__ */ (0, import_react26.forwardRef)(({ classNames, srOnly, ...props }, forwardedRef) => {
|
|
1391
874
|
const { tx } = useThemeContext();
|
|
1392
|
-
return /* @__PURE__ */
|
|
875
|
+
return /* @__PURE__ */ import_react26.default.createElement(import_react_dialog.DialogDescription, {
|
|
1393
876
|
...props,
|
|
1394
877
|
className: tx("dialog.description", "dialog__description", {
|
|
1395
878
|
srOnly
|
|
@@ -1400,26 +883,25 @@ var DialogDescription = /* @__PURE__ */ (0, import_react25.forwardRef)(({ classN
|
|
|
1400
883
|
var DialogClose = import_react_dialog.DialogClose;
|
|
1401
884
|
var DIALOG_OVERLAY_NAME = "DialogOverlay";
|
|
1402
885
|
var DIALOG_CONTENT_NAME = "DialogContent";
|
|
1403
|
-
var [OverlayLayoutProvider, useOverlayLayoutContext] = (0,
|
|
1404
|
-
|
|
886
|
+
var [OverlayLayoutProvider, useOverlayLayoutContext] = (0, import_react_context3.createContext)(DIALOG_OVERLAY_NAME, {
|
|
887
|
+
inOverlayLayout: false
|
|
888
|
+
});
|
|
889
|
+
var DialogOverlay = /* @__PURE__ */ (0, import_react26.forwardRef)(({ classNames, children, blockAlign, ...props }, forwardedRef) => {
|
|
1405
890
|
const { tx } = useThemeContext();
|
|
1406
|
-
return /* @__PURE__ */
|
|
891
|
+
return /* @__PURE__ */ import_react26.default.createElement(import_react_dialog.DialogOverlay, {
|
|
1407
892
|
...props,
|
|
1408
893
|
className: tx("dialog.overlay", "dialog__overlay", {}, classNames),
|
|
1409
894
|
ref: forwardedRef,
|
|
1410
895
|
"data-block-align": blockAlign
|
|
1411
|
-
}, /* @__PURE__ */
|
|
896
|
+
}, /* @__PURE__ */ import_react26.default.createElement(OverlayLayoutProvider, {
|
|
1412
897
|
inOverlayLayout: true
|
|
1413
898
|
}, children));
|
|
1414
899
|
});
|
|
1415
900
|
DialogOverlay.displayName = DIALOG_OVERLAY_NAME;
|
|
1416
|
-
var DialogContent = /* @__PURE__ */ (0,
|
|
901
|
+
var DialogContent = /* @__PURE__ */ (0, import_react26.forwardRef)(({ classNames, children, inOverlayLayout: propsInOverlayLayout, ...props }, forwardedRef) => {
|
|
1417
902
|
const { tx } = useThemeContext();
|
|
1418
903
|
const { inOverlayLayout } = useOverlayLayoutContext(DIALOG_CONTENT_NAME);
|
|
1419
|
-
return /* @__PURE__ */
|
|
1420
|
-
// NOTE: Radix warning unless set to undefined.
|
|
1421
|
-
// https://www.radix-ui.com/primitives/docs/components/dialog#description
|
|
1422
|
-
"aria-describedby": void 0,
|
|
904
|
+
return /* @__PURE__ */ import_react26.default.createElement(import_react_dialog.DialogContent, {
|
|
1423
905
|
...props,
|
|
1424
906
|
className: tx("dialog.content", "dialog", {
|
|
1425
907
|
inOverlayLayout: propsInOverlayLayout || inOverlayLayout
|
|
@@ -1438,16 +920,16 @@ var Dialog = {
|
|
|
1438
920
|
Description: DialogDescription,
|
|
1439
921
|
Close: DialogClose
|
|
1440
922
|
};
|
|
1441
|
-
var AlertDialogRoot = (props) => /* @__PURE__ */
|
|
923
|
+
var AlertDialogRoot = (props) => /* @__PURE__ */ import_react27.default.createElement(ElevationProvider, {
|
|
1442
924
|
elevation: "dialog"
|
|
1443
|
-
}, /* @__PURE__ */
|
|
925
|
+
}, /* @__PURE__ */ import_react27.default.createElement(import_react_alert_dialog.Root, props));
|
|
1444
926
|
var AlertDialogTrigger = import_react_alert_dialog.AlertDialogTrigger;
|
|
1445
927
|
var AlertDialogPortal = import_react_alert_dialog.AlertDialogPortal;
|
|
1446
928
|
var AlertDialogCancel = import_react_alert_dialog.AlertDialogCancel;
|
|
1447
929
|
var AlertDialogAction = import_react_alert_dialog.AlertDialogAction;
|
|
1448
|
-
var AlertDialogTitle = /* @__PURE__ */ (0,
|
|
930
|
+
var AlertDialogTitle = /* @__PURE__ */ (0, import_react27.forwardRef)(({ classNames, srOnly, ...props }, forwardedRef) => {
|
|
1449
931
|
const { tx } = useThemeContext();
|
|
1450
|
-
return /* @__PURE__ */
|
|
932
|
+
return /* @__PURE__ */ import_react27.default.createElement(import_react_alert_dialog.AlertDialogTitle, {
|
|
1451
933
|
...props,
|
|
1452
934
|
className: tx("dialog.title", "dialog--alert__title", {
|
|
1453
935
|
srOnly
|
|
@@ -1455,9 +937,9 @@ var AlertDialogTitle = /* @__PURE__ */ (0, import_react26.forwardRef)(({ classNa
|
|
|
1455
937
|
ref: forwardedRef
|
|
1456
938
|
});
|
|
1457
939
|
});
|
|
1458
|
-
var AlertDialogDescription = /* @__PURE__ */ (0,
|
|
940
|
+
var AlertDialogDescription = /* @__PURE__ */ (0, import_react27.forwardRef)(({ classNames, srOnly, ...props }, forwardedRef) => {
|
|
1459
941
|
const { tx } = useThemeContext();
|
|
1460
|
-
return /* @__PURE__ */
|
|
942
|
+
return /* @__PURE__ */ import_react27.default.createElement(import_react_alert_dialog.AlertDialogDescription, {
|
|
1461
943
|
...props,
|
|
1462
944
|
className: tx("dialog.description", "dialog--alert__description", {
|
|
1463
945
|
srOnly
|
|
@@ -1467,25 +949,25 @@ var AlertDialogDescription = /* @__PURE__ */ (0, import_react26.forwardRef)(({ c
|
|
|
1467
949
|
});
|
|
1468
950
|
var ALERT_DIALOG_OVERLAY_NAME = "AlertDialogOverlay";
|
|
1469
951
|
var ALERT_DIALOG_CONTENT_NAME = "AlertDialogContent";
|
|
1470
|
-
var [OverlayLayoutProvider2, useOverlayLayoutContext2] = (0,
|
|
952
|
+
var [OverlayLayoutProvider2, useOverlayLayoutContext2] = (0, import_react_context4.createContext)(ALERT_DIALOG_OVERLAY_NAME, {
|
|
1471
953
|
inOverlayLayout: false
|
|
1472
954
|
});
|
|
1473
|
-
var AlertDialogOverlay = /* @__PURE__ */ (0,
|
|
955
|
+
var AlertDialogOverlay = /* @__PURE__ */ (0, import_react27.forwardRef)(({ classNames, children, blockAlign, ...props }, forwardedRef) => {
|
|
1474
956
|
const { tx } = useThemeContext();
|
|
1475
|
-
return /* @__PURE__ */
|
|
957
|
+
return /* @__PURE__ */ import_react27.default.createElement(import_react_alert_dialog.AlertDialogOverlay, {
|
|
1476
958
|
...props,
|
|
1477
959
|
className: tx("dialog.overlay", "dialog--alert__overlay", {}, classNames, "data-[block-align=start]:justify-center", "data-[block-align=start]:items-start", "data-[block-align=center]:place-content-center"),
|
|
1478
960
|
ref: forwardedRef,
|
|
1479
961
|
"data-block-align": blockAlign
|
|
1480
|
-
}, /* @__PURE__ */
|
|
962
|
+
}, /* @__PURE__ */ import_react27.default.createElement(OverlayLayoutProvider2, {
|
|
1481
963
|
inOverlayLayout: true
|
|
1482
964
|
}, children));
|
|
1483
965
|
});
|
|
1484
966
|
AlertDialogOverlay.displayName = ALERT_DIALOG_OVERLAY_NAME;
|
|
1485
|
-
var AlertDialogContent = /* @__PURE__ */ (0,
|
|
967
|
+
var AlertDialogContent = /* @__PURE__ */ (0, import_react27.forwardRef)(({ classNames, children, ...props }, forwardedRef) => {
|
|
1486
968
|
const { tx } = useThemeContext();
|
|
1487
969
|
const { inOverlayLayout } = useOverlayLayoutContext2(ALERT_DIALOG_CONTENT_NAME);
|
|
1488
|
-
return /* @__PURE__ */
|
|
970
|
+
return /* @__PURE__ */ import_react27.default.createElement(import_react_alert_dialog.AlertDialogContent, {
|
|
1489
971
|
...props,
|
|
1490
972
|
className: tx("dialog.content", "dialog--alert", {
|
|
1491
973
|
inOverlayLayout
|
|
@@ -1505,1273 +987,1256 @@ var AlertDialog = {
|
|
|
1505
987
|
Cancel: AlertDialogCancel,
|
|
1506
988
|
Action: AlertDialogAction
|
|
1507
989
|
};
|
|
1508
|
-
var
|
|
990
|
+
var ContextMenuRoot = ContextMenuPrimitive.ContextMenu;
|
|
991
|
+
var ContextMenuTrigger = ContextMenuPrimitive.Trigger;
|
|
992
|
+
var ContextMenuPortal = ContextMenuPrimitive.Portal;
|
|
993
|
+
var ContextMenuContent = /* @__PURE__ */ (0, import_react28.forwardRef)(({ classNames, children, collisionPadding = 8, ...props }, forwardedRef) => {
|
|
1509
994
|
const { tx } = useThemeContext();
|
|
1510
|
-
|
|
995
|
+
const elevation = useElevationContext();
|
|
996
|
+
const safeCollisionPadding = useSafeCollisionPadding(collisionPadding);
|
|
997
|
+
return /* @__PURE__ */ import_react28.default.createElement(ContextMenuPrimitive.Content, {
|
|
1511
998
|
...props,
|
|
1512
|
-
|
|
1513
|
-
|
|
999
|
+
collisionPadding: safeCollisionPadding,
|
|
1000
|
+
className: tx("menu.content", "menu", {
|
|
1001
|
+
elevation
|
|
1514
1002
|
}, classNames),
|
|
1515
1003
|
ref: forwardedRef
|
|
1516
1004
|
}, children);
|
|
1517
1005
|
});
|
|
1518
|
-
var
|
|
1006
|
+
var ContextMenuViewport = /* @__PURE__ */ (0, import_react28.forwardRef)(({ classNames, asChild, children, ...props }, forwardedRef) => {
|
|
1519
1007
|
const { tx } = useThemeContext();
|
|
1520
|
-
|
|
1008
|
+
const Root5 = asChild ? import_react_slot6.Slot : import_react_primitive6.Primitive.div;
|
|
1009
|
+
return /* @__PURE__ */ import_react28.default.createElement(Root5, {
|
|
1521
1010
|
...props,
|
|
1522
|
-
className: tx("
|
|
1523
|
-
srOnly
|
|
1524
|
-
}, classNames),
|
|
1011
|
+
className: tx("menu.viewport", "menu__viewport", {}, classNames),
|
|
1525
1012
|
ref: forwardedRef
|
|
1526
1013
|
}, children);
|
|
1527
1014
|
});
|
|
1528
|
-
var
|
|
1015
|
+
var ContextMenuArrow = /* @__PURE__ */ (0, import_react28.forwardRef)(({ classNames, ...props }, forwardedRef) => {
|
|
1529
1016
|
const { tx } = useThemeContext();
|
|
1530
|
-
|
|
1531
|
-
return /* @__PURE__ */ import_react27.default.createElement(import_react_input.Validation, {
|
|
1017
|
+
return /* @__PURE__ */ import_react28.default.createElement(ContextMenuPrimitive.Arrow, {
|
|
1532
1018
|
...props,
|
|
1533
|
-
className: tx("
|
|
1534
|
-
srOnly,
|
|
1535
|
-
validationValence
|
|
1536
|
-
}, classNames),
|
|
1019
|
+
className: tx("menu.arrow", "menu__arrow", {}, classNames),
|
|
1537
1020
|
ref: forwardedRef
|
|
1538
|
-
}
|
|
1021
|
+
});
|
|
1539
1022
|
});
|
|
1540
|
-
var
|
|
1023
|
+
var ContextMenuGroup = ContextMenuPrimitive.Group;
|
|
1024
|
+
var ContextMenuItemIndicator = ContextMenuPrimitive.ItemIndicator;
|
|
1025
|
+
var ContextMenuItem = /* @__PURE__ */ (0, import_react28.forwardRef)(({ classNames, ...props }, forwardedRef) => {
|
|
1541
1026
|
const { tx } = useThemeContext();
|
|
1542
|
-
return /* @__PURE__ */
|
|
1027
|
+
return /* @__PURE__ */ import_react28.default.createElement(ContextMenuPrimitive.Item, {
|
|
1543
1028
|
...props,
|
|
1544
|
-
className: tx("
|
|
1545
|
-
srOnly
|
|
1546
|
-
}, classNames),
|
|
1029
|
+
className: tx("menu.item", "menu__item", {}, classNames),
|
|
1547
1030
|
ref: forwardedRef
|
|
1548
|
-
}
|
|
1031
|
+
});
|
|
1549
1032
|
});
|
|
1550
|
-
var
|
|
1551
|
-
const { hasIosKeyboard: hasIosKeyboard2 } = useThemeContext();
|
|
1033
|
+
var ContextMenuCheckboxItem = /* @__PURE__ */ (0, import_react28.forwardRef)(({ classNames, ...props }, forwardedRef) => {
|
|
1552
1034
|
const { tx } = useThemeContext();
|
|
1553
|
-
|
|
1554
|
-
const elevation = useElevationContext(propsElevation);
|
|
1555
|
-
const segmentClassName = (0, import_react27.useCallback)(({ focused, validationValence }) => tx("input.input", "input--pin-segment", {
|
|
1556
|
-
variant: "static",
|
|
1557
|
-
focused,
|
|
1558
|
-
disabled: props.disabled,
|
|
1559
|
-
density,
|
|
1560
|
-
elevation,
|
|
1561
|
-
validationValence
|
|
1562
|
-
}, propsSegmentClassName), [
|
|
1563
|
-
tx,
|
|
1564
|
-
props.disabled,
|
|
1565
|
-
elevation,
|
|
1566
|
-
propsElevation,
|
|
1567
|
-
density
|
|
1568
|
-
]);
|
|
1569
|
-
return /* @__PURE__ */ import_react27.default.createElement(import_react_input.PinInput, {
|
|
1035
|
+
return /* @__PURE__ */ import_react28.default.createElement(ContextMenuPrimitive.CheckboxItem, {
|
|
1570
1036
|
...props,
|
|
1571
|
-
|
|
1572
|
-
...props.autoFocus && !hasIosKeyboard2 && {
|
|
1573
|
-
autoFocus: true
|
|
1574
|
-
},
|
|
1575
|
-
inputClassName: tx("input.inputWithSegments", "input input--pin", {
|
|
1576
|
-
disabled: props.disabled
|
|
1577
|
-
}, inputClassName),
|
|
1037
|
+
className: tx("menu.item", "menu__item--checkbox", {}, classNames),
|
|
1578
1038
|
ref: forwardedRef
|
|
1579
1039
|
});
|
|
1580
1040
|
});
|
|
1581
|
-
var
|
|
1582
|
-
const {
|
|
1583
|
-
|
|
1584
|
-
const density = useDensityContext(propsDensity);
|
|
1585
|
-
const elevation = useElevationContext(propsElevation);
|
|
1586
|
-
const { validationValence } = (0, import_react_input.useInputContext)(import_react_input.INPUT_NAME, __inputScope);
|
|
1587
|
-
const { tx } = themeContextValue;
|
|
1588
|
-
return /* @__PURE__ */ import_react27.default.createElement(import_react_input.TextInput, {
|
|
1041
|
+
var ContextMenuSeparator = /* @__PURE__ */ (0, import_react28.forwardRef)(({ classNames, ...props }, forwardedRef) => {
|
|
1042
|
+
const { tx } = useThemeContext();
|
|
1043
|
+
return /* @__PURE__ */ import_react28.default.createElement(ContextMenuPrimitive.Separator, {
|
|
1589
1044
|
...props,
|
|
1590
|
-
className: tx("
|
|
1591
|
-
variant,
|
|
1592
|
-
disabled: props.disabled,
|
|
1593
|
-
density,
|
|
1594
|
-
elevation,
|
|
1595
|
-
validationValence
|
|
1596
|
-
}, classNames),
|
|
1597
|
-
...props.autoFocus && !hasIosKeyboard2 && {
|
|
1598
|
-
autoFocus: true
|
|
1599
|
-
},
|
|
1045
|
+
className: tx("menu.separator", "menu__item", {}, classNames),
|
|
1600
1046
|
ref: forwardedRef
|
|
1601
1047
|
});
|
|
1602
1048
|
});
|
|
1603
|
-
var
|
|
1604
|
-
const { hasIosKeyboard: hasIosKeyboard2 } = useThemeContext();
|
|
1049
|
+
var ContextMenuGroupLabel = /* @__PURE__ */ (0, import_react28.forwardRef)(({ classNames, ...props }, forwardedRef) => {
|
|
1605
1050
|
const { tx } = useThemeContext();
|
|
1606
|
-
|
|
1607
|
-
const elevation = useElevationContext(propsElevation);
|
|
1608
|
-
const { validationValence } = (0, import_react_input.useInputContext)(import_react_input.INPUT_NAME, __inputScope);
|
|
1609
|
-
return /* @__PURE__ */ import_react27.default.createElement(import_react_input.TextArea, {
|
|
1051
|
+
return /* @__PURE__ */ import_react28.default.createElement(ContextMenuPrimitive.Label, {
|
|
1610
1052
|
...props,
|
|
1611
|
-
className: tx("
|
|
1612
|
-
variant,
|
|
1613
|
-
disabled: props.disabled,
|
|
1614
|
-
density,
|
|
1615
|
-
elevation,
|
|
1616
|
-
validationValence
|
|
1617
|
-
}, classNames),
|
|
1618
|
-
...props.autoFocus && !hasIosKeyboard2 && {
|
|
1619
|
-
autoFocus: true
|
|
1620
|
-
},
|
|
1053
|
+
className: tx("menu.groupLabel", "menu__group__label", {}, classNames),
|
|
1621
1054
|
ref: forwardedRef
|
|
1622
1055
|
});
|
|
1623
1056
|
});
|
|
1624
|
-
var
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1057
|
+
var ContextMenu2 = {
|
|
1058
|
+
Root: ContextMenuRoot,
|
|
1059
|
+
Trigger: ContextMenuTrigger,
|
|
1060
|
+
Portal: ContextMenuPortal,
|
|
1061
|
+
Content: ContextMenuContent,
|
|
1062
|
+
Viewport: ContextMenuViewport,
|
|
1063
|
+
Arrow: ContextMenuArrow,
|
|
1064
|
+
Group: ContextMenuGroup,
|
|
1065
|
+
Item: ContextMenuItem,
|
|
1066
|
+
CheckboxItem: ContextMenuCheckboxItem,
|
|
1067
|
+
ItemIndicator: ContextMenuItemIndicator,
|
|
1068
|
+
Separator: ContextMenuSeparator,
|
|
1069
|
+
GroupLabel: ContextMenuGroupLabel
|
|
1070
|
+
};
|
|
1071
|
+
var DROPDOWN_MENU_NAME = "DropdownMenu";
|
|
1072
|
+
var [createDropdownMenuContext, createDropdownMenuScope] = (0, import_react_context5.createContextScope)(DROPDOWN_MENU_NAME, [
|
|
1073
|
+
import_react_menu.createMenuScope
|
|
1074
|
+
]);
|
|
1075
|
+
var useMenuScope = (0, import_react_menu.createMenuScope)();
|
|
1076
|
+
var [DropdownMenuProvider, useDropdownMenuContext] = createDropdownMenuContext(DROPDOWN_MENU_NAME);
|
|
1077
|
+
var DropdownMenuRoot = (props) => {
|
|
1078
|
+
const { __scopeDropdownMenu, children, dir, open: openProp, defaultOpen, onOpenChange, modal = true } = props;
|
|
1079
|
+
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1080
|
+
const triggerRef = (0, import_react29.useRef)(null);
|
|
1081
|
+
const [open = false, setOpen] = (0, import_react_use_controllable_state.useControllableState)({
|
|
1082
|
+
prop: openProp,
|
|
1083
|
+
defaultProp: defaultOpen,
|
|
1084
|
+
onChange: onOpenChange
|
|
1629
1085
|
});
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
|
|
1086
|
+
return /* @__PURE__ */ import_react29.default.createElement(DropdownMenuProvider, {
|
|
1087
|
+
scope: __scopeDropdownMenu,
|
|
1088
|
+
triggerId: (0, import_react_id.useId)(),
|
|
1089
|
+
triggerRef,
|
|
1090
|
+
contentId: (0, import_react_id.useId)(),
|
|
1091
|
+
open,
|
|
1092
|
+
onOpenChange: setOpen,
|
|
1093
|
+
onOpenToggle: (0, import_react29.useCallback)(() => setOpen((prevOpen) => !prevOpen), [
|
|
1094
|
+
setOpen
|
|
1095
|
+
]),
|
|
1096
|
+
modal
|
|
1097
|
+
}, /* @__PURE__ */ import_react29.default.createElement(MenuPrimitive.Root, {
|
|
1098
|
+
...menuScope,
|
|
1099
|
+
open,
|
|
1100
|
+
onOpenChange: setOpen,
|
|
1101
|
+
dir,
|
|
1102
|
+
modal
|
|
1103
|
+
}, children));
|
|
1104
|
+
};
|
|
1105
|
+
DropdownMenuRoot.displayName = DROPDOWN_MENU_NAME;
|
|
1106
|
+
var TRIGGER_NAME = "DropdownMenuTrigger";
|
|
1107
|
+
var DropdownMenuTrigger = /* @__PURE__ */ (0, import_react29.forwardRef)((props, forwardedRef) => {
|
|
1108
|
+
const { __scopeDropdownMenu, disabled = false, ...triggerProps } = props;
|
|
1109
|
+
const context = useDropdownMenuContext(TRIGGER_NAME, __scopeDropdownMenu);
|
|
1110
|
+
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1111
|
+
return /* @__PURE__ */ import_react29.default.createElement(MenuPrimitive.Anchor, {
|
|
1112
|
+
asChild: true,
|
|
1113
|
+
...menuScope
|
|
1114
|
+
}, /* @__PURE__ */ import_react29.default.createElement(import_react_primitive7.Primitive.button, {
|
|
1115
|
+
type: "button",
|
|
1116
|
+
id: context.triggerId,
|
|
1117
|
+
"aria-haspopup": "menu",
|
|
1118
|
+
"aria-expanded": context.open,
|
|
1119
|
+
"aria-controls": context.open ? context.contentId : void 0,
|
|
1120
|
+
"data-state": context.open ? "open" : "closed",
|
|
1121
|
+
"data-disabled": disabled ? "" : void 0,
|
|
1122
|
+
disabled,
|
|
1123
|
+
...triggerProps,
|
|
1124
|
+
ref: (0, import_react_compose_refs.composeRefs)(forwardedRef, context.triggerRef),
|
|
1125
|
+
onPointerDown: (0, import_primitive.composeEventHandlers)(props.onPointerDown, (event) => {
|
|
1126
|
+
if (!disabled && event.button === 0 && event.ctrlKey === false) {
|
|
1127
|
+
context.onOpenToggle();
|
|
1128
|
+
if (!context.open) {
|
|
1129
|
+
event.preventDefault();
|
|
1130
|
+
}
|
|
1131
|
+
}
|
|
1132
|
+
}),
|
|
1133
|
+
onKeyDown: (0, import_primitive.composeEventHandlers)(props.onKeyDown, (event) => {
|
|
1134
|
+
if (disabled) {
|
|
1135
|
+
return;
|
|
1136
|
+
}
|
|
1137
|
+
if ([
|
|
1138
|
+
"Enter",
|
|
1139
|
+
" "
|
|
1140
|
+
].includes(event.key)) {
|
|
1141
|
+
context.onOpenToggle();
|
|
1142
|
+
}
|
|
1143
|
+
if (event.key === "ArrowDown") {
|
|
1144
|
+
context.onOpenChange(true);
|
|
1145
|
+
}
|
|
1146
|
+
if ([
|
|
1147
|
+
"Enter",
|
|
1148
|
+
" ",
|
|
1149
|
+
"ArrowDown"
|
|
1150
|
+
].includes(event.key)) {
|
|
1151
|
+
event.preventDefault();
|
|
1152
|
+
}
|
|
1651
1153
|
})
|
|
1652
1154
|
}));
|
|
1653
1155
|
});
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
|
|
1156
|
+
DropdownMenuTrigger.displayName = TRIGGER_NAME;
|
|
1157
|
+
var VIRTUAL_TRIGGER_NAME = "DropdownMenuVirtualTrigger";
|
|
1158
|
+
var DropdownMenuVirtualTrigger = (props) => {
|
|
1159
|
+
const { __scopeDropdownMenu, virtualRef } = props;
|
|
1160
|
+
const context = useDropdownMenuContext(VIRTUAL_TRIGGER_NAME, __scopeDropdownMenu);
|
|
1161
|
+
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1162
|
+
(0, import_react29.useEffect)(() => {
|
|
1163
|
+
if (virtualRef.current) {
|
|
1164
|
+
context.triggerRef.current = virtualRef.current;
|
|
1165
|
+
}
|
|
1659
1166
|
});
|
|
1660
|
-
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
className: (0, import_react_ui_theme3.mx)("dx-checkbox--switch dx-focus-ring", classNames),
|
|
1664
|
-
checked,
|
|
1665
|
-
onChange: (event) => {
|
|
1666
|
-
onCheckedChange(event.target.checked);
|
|
1667
|
-
},
|
|
1668
|
-
id,
|
|
1669
|
-
"aria-describedby": descriptionId,
|
|
1670
|
-
...props,
|
|
1671
|
-
...validationValence === "error" && {
|
|
1672
|
-
"aria-invalid": "true",
|
|
1673
|
-
"aria-errormessage": errorMessageId
|
|
1674
|
-
},
|
|
1675
|
-
ref: forwardedRef
|
|
1167
|
+
return /* @__PURE__ */ import_react29.default.createElement(MenuPrimitive.Anchor, {
|
|
1168
|
+
...menuScope,
|
|
1169
|
+
virtualRef
|
|
1676
1170
|
});
|
|
1677
|
-
});
|
|
1678
|
-
var Input = {
|
|
1679
|
-
Root: import_react_input.InputRoot,
|
|
1680
|
-
PinInput,
|
|
1681
|
-
TextInput,
|
|
1682
|
-
TextArea,
|
|
1683
|
-
Checkbox,
|
|
1684
|
-
Switch,
|
|
1685
|
-
Label,
|
|
1686
|
-
Description,
|
|
1687
|
-
Validation,
|
|
1688
|
-
DescriptionAndValidation
|
|
1689
|
-
};
|
|
1690
|
-
var edgeToOrientationMap = {
|
|
1691
|
-
top: "horizontal",
|
|
1692
|
-
bottom: "horizontal",
|
|
1693
|
-
left: "vertical",
|
|
1694
|
-
right: "vertical"
|
|
1695
|
-
};
|
|
1696
|
-
var orientationStyles = {
|
|
1697
|
-
horizontal: "h-[--line-thickness] left-[calc(var(--line-inset)+var(--terminal-radius))] right-[--line-inset] before:left-[--terminal-inset]",
|
|
1698
|
-
vertical: "w-[--line-thickness] top-[calc(var(--line-inset)+var(--terminal-radius))] bottom-[--line-inset] before:top-[--terminal-inset]"
|
|
1699
|
-
};
|
|
1700
|
-
var edgeStyles = {
|
|
1701
|
-
top: "top-[--line-offset] before:top-[--offset-terminal]",
|
|
1702
|
-
right: "right-[--line-offset] before:right-[--offset-terminal]",
|
|
1703
|
-
bottom: "bottom-[--line-offset] before:bottom-[--offset-terminal]",
|
|
1704
|
-
left: "left-[--line-offset] before:left-[--offset-terminal]"
|
|
1705
1171
|
};
|
|
1706
|
-
|
|
1707
|
-
var
|
|
1708
|
-
var
|
|
1709
|
-
|
|
1710
|
-
const
|
|
1711
|
-
return /* @__PURE__ */
|
|
1712
|
-
|
|
1713
|
-
|
|
1714
|
-
"--line-thickness": `${strokeSize}px`,
|
|
1715
|
-
"--line-offset": `calc(-0.5 * (${gap}px + ${strokeSize}px))`,
|
|
1716
|
-
"--line-inset": `${lineInset}px`,
|
|
1717
|
-
"--terminal-size": `${terminalSize}px`,
|
|
1718
|
-
"--terminal-radius": `${terminalSize / 2}px`,
|
|
1719
|
-
"--terminal-inset": `${terminalInset}px`,
|
|
1720
|
-
"--offset-terminal": `${offsetToAlignTerminalWithLine}px`
|
|
1721
|
-
},
|
|
1722
|
-
className: `absolute z-10 pointer-events-none bg-accentSurface before:content-[''] before:w-[--terminal-size] before:h-[--terminal-size] box-border before:absolute before:border-[length:--line-thickness] before:border-solid before:border-accentSurface before:rounded-full ${orientationStyles[orientation]} ${edgeStyles[edge]}`
|
|
1172
|
+
DropdownMenuVirtualTrigger.displayName = VIRTUAL_TRIGGER_NAME;
|
|
1173
|
+
var PORTAL_NAME = "DropdownMenuPortal";
|
|
1174
|
+
var DropdownMenuPortal = (props) => {
|
|
1175
|
+
const { __scopeDropdownMenu, ...portalProps } = props;
|
|
1176
|
+
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1177
|
+
return /* @__PURE__ */ import_react29.default.createElement(MenuPrimitive.Portal, {
|
|
1178
|
+
...menuScope,
|
|
1179
|
+
...portalProps
|
|
1723
1180
|
});
|
|
1724
1181
|
};
|
|
1725
|
-
|
|
1182
|
+
DropdownMenuPortal.displayName = PORTAL_NAME;
|
|
1183
|
+
var DropdownMenuViewport = /* @__PURE__ */ (0, import_react29.forwardRef)(({ classNames, asChild, children, ...props }, forwardedRef) => {
|
|
1726
1184
|
const { tx } = useThemeContext();
|
|
1727
|
-
const
|
|
1728
|
-
return /* @__PURE__ */ import_react29.default.createElement(
|
|
1729
|
-
density
|
|
1730
|
-
}, /* @__PURE__ */ import_react29.default.createElement(import_react_list.List, {
|
|
1185
|
+
const Root5 = asChild ? import_react_slot7.Slot : import_react_primitive7.Primitive.div;
|
|
1186
|
+
return /* @__PURE__ */ import_react29.default.createElement(Root5, {
|
|
1731
1187
|
...props,
|
|
1732
|
-
className: tx("
|
|
1188
|
+
className: tx("menu.viewport", "menu__viewport", {}, classNames),
|
|
1733
1189
|
ref: forwardedRef
|
|
1734
|
-
}, children)
|
|
1190
|
+
}, children);
|
|
1735
1191
|
});
|
|
1736
|
-
var
|
|
1737
|
-
|
|
1738
|
-
const
|
|
1192
|
+
var CONTENT_NAME = "DropdownMenuContent";
|
|
1193
|
+
var DropdownMenuContent = /* @__PURE__ */ (0, import_react29.forwardRef)((props, forwardedRef) => {
|
|
1194
|
+
const { __scopeDropdownMenu, classNames, collisionPadding = 8, ...contentProps } = props;
|
|
1739
1195
|
const { tx } = useThemeContext();
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
|
|
1196
|
+
const context = useDropdownMenuContext(CONTENT_NAME, __scopeDropdownMenu);
|
|
1197
|
+
const elevation = useElevationContext();
|
|
1198
|
+
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1199
|
+
const hasInteractedOutsideRef = (0, import_react29.useRef)(false);
|
|
1200
|
+
const safeCollisionPadding = useSafeCollisionPadding(collisionPadding);
|
|
1201
|
+
return /* @__PURE__ */ import_react29.default.createElement(MenuPrimitive.Content, {
|
|
1202
|
+
id: context.contentId,
|
|
1203
|
+
"aria-labelledby": context.triggerId,
|
|
1204
|
+
...menuScope,
|
|
1205
|
+
...contentProps,
|
|
1206
|
+
collisionPadding: safeCollisionPadding,
|
|
1207
|
+
ref: forwardedRef,
|
|
1208
|
+
onCloseAutoFocus: (0, import_primitive.composeEventHandlers)(props.onCloseAutoFocus, (event) => {
|
|
1209
|
+
if (!hasInteractedOutsideRef.current) {
|
|
1210
|
+
context.triggerRef.current?.focus();
|
|
1211
|
+
}
|
|
1212
|
+
hasInteractedOutsideRef.current = false;
|
|
1213
|
+
event.preventDefault();
|
|
1214
|
+
}),
|
|
1215
|
+
onInteractOutside: (0, import_primitive.composeEventHandlers)(props.onInteractOutside, (event) => {
|
|
1216
|
+
const originalEvent = event.detail.originalEvent;
|
|
1217
|
+
const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;
|
|
1218
|
+
const isRightClick = originalEvent.button === 2 || ctrlLeftClick;
|
|
1219
|
+
if (!context.modal || isRightClick) {
|
|
1220
|
+
hasInteractedOutsideRef.current = true;
|
|
1221
|
+
}
|
|
1222
|
+
}),
|
|
1223
|
+
className: tx("menu.content", "menu", {
|
|
1224
|
+
elevation
|
|
1747
1225
|
}, classNames),
|
|
1226
|
+
style: {
|
|
1227
|
+
...props.style,
|
|
1228
|
+
// re-namespace exposed content custom properties
|
|
1229
|
+
...{
|
|
1230
|
+
"--radix-dropdown-menu-content-transform-origin": "var(--radix-popper-transform-origin)",
|
|
1231
|
+
"--radix-dropdown-menu-content-available-width": "var(--radix-popper-available-width)",
|
|
1232
|
+
"--radix-dropdown-menu-content-available-height": "var(--radix-popper-available-height)",
|
|
1233
|
+
"--radix-dropdown-menu-trigger-width": "var(--radix-popper-anchor-width)",
|
|
1234
|
+
"--radix-dropdown-menu-trigger-height": "var(--radix-popper-anchor-height)"
|
|
1235
|
+
}
|
|
1236
|
+
}
|
|
1237
|
+
});
|
|
1238
|
+
});
|
|
1239
|
+
DropdownMenuContent.displayName = CONTENT_NAME;
|
|
1240
|
+
var GROUP_NAME = "DropdownMenuGroup";
|
|
1241
|
+
var DropdownMenuGroup = /* @__PURE__ */ (0, import_react29.forwardRef)((props, forwardedRef) => {
|
|
1242
|
+
const { __scopeDropdownMenu, ...groupProps } = props;
|
|
1243
|
+
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1244
|
+
return /* @__PURE__ */ import_react29.default.createElement(MenuPrimitive.Group, {
|
|
1245
|
+
...menuScope,
|
|
1246
|
+
...groupProps,
|
|
1748
1247
|
ref: forwardedRef
|
|
1749
|
-
}
|
|
1248
|
+
});
|
|
1750
1249
|
});
|
|
1751
|
-
|
|
1752
|
-
|
|
1250
|
+
DropdownMenuGroup.displayName = GROUP_NAME;
|
|
1251
|
+
var LABEL_NAME = "DropdownMenuLabel";
|
|
1252
|
+
var DropdownMenuGroupLabel = /* @__PURE__ */ (0, import_react29.forwardRef)((props, forwardedRef) => {
|
|
1253
|
+
const { __scopeDropdownMenu, classNames, ...labelProps } = props;
|
|
1254
|
+
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1753
1255
|
const { tx } = useThemeContext();
|
|
1754
|
-
return /* @__PURE__ */ import_react29.default.createElement(
|
|
1755
|
-
|
|
1756
|
-
...
|
|
1757
|
-
className: tx("
|
|
1758
|
-
|
|
1759
|
-
}, classNames)
|
|
1256
|
+
return /* @__PURE__ */ import_react29.default.createElement(MenuPrimitive.Label, {
|
|
1257
|
+
...menuScope,
|
|
1258
|
+
...labelProps,
|
|
1259
|
+
className: tx("menu.groupLabel", "menu__group__label", {}, classNames),
|
|
1260
|
+
ref: forwardedRef
|
|
1760
1261
|
});
|
|
1761
|
-
};
|
|
1762
|
-
|
|
1262
|
+
});
|
|
1263
|
+
DropdownMenuGroupLabel.displayName = LABEL_NAME;
|
|
1264
|
+
var ITEM_NAME = "DropdownMenuItem";
|
|
1265
|
+
var DropdownMenuItem = /* @__PURE__ */ (0, import_react29.forwardRef)((props, forwardedRef) => {
|
|
1266
|
+
const { __scopeDropdownMenu, classNames, ...itemProps } = props;
|
|
1267
|
+
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1763
1268
|
const { tx } = useThemeContext();
|
|
1764
|
-
|
|
1765
|
-
|
|
1766
|
-
...
|
|
1767
|
-
className: tx("
|
|
1768
|
-
density
|
|
1769
|
-
}, classNames),
|
|
1269
|
+
return /* @__PURE__ */ import_react29.default.createElement(MenuPrimitive.Item, {
|
|
1270
|
+
...menuScope,
|
|
1271
|
+
...itemProps,
|
|
1272
|
+
className: tx("menu.item", "menu__item", {}, classNames),
|
|
1770
1273
|
ref: forwardedRef
|
|
1771
|
-
}
|
|
1274
|
+
});
|
|
1772
1275
|
});
|
|
1773
|
-
|
|
1276
|
+
DropdownMenuItem.displayName = ITEM_NAME;
|
|
1277
|
+
var CHECKBOX_ITEM_NAME = "DropdownMenuCheckboxItem";
|
|
1278
|
+
var DropdownMenuCheckboxItem = /* @__PURE__ */ (0, import_react29.forwardRef)((props, forwardedRef) => {
|
|
1279
|
+
const { __scopeDropdownMenu, classNames, ...checkboxItemProps } = props;
|
|
1280
|
+
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1774
1281
|
const { tx } = useThemeContext();
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
...props,
|
|
1780
|
-
className: tx("list.item.openTrigger", "list__listItem__openTrigger", {
|
|
1781
|
-
density
|
|
1782
|
-
}, classNames),
|
|
1282
|
+
return /* @__PURE__ */ import_react29.default.createElement(MenuPrimitive.CheckboxItem, {
|
|
1283
|
+
...menuScope,
|
|
1284
|
+
...checkboxItemProps,
|
|
1285
|
+
className: tx("menu.item", "menu__item--checkbox", {}, classNames),
|
|
1783
1286
|
ref: forwardedRef
|
|
1784
|
-
}
|
|
1785
|
-
weight: "bold",
|
|
1786
|
-
className: tx("list.item.openTriggerIcon", "list__listItem__openTrigger__icon", {})
|
|
1787
|
-
}));
|
|
1287
|
+
});
|
|
1788
1288
|
});
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
|
-
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
}, classNames),
|
|
1289
|
+
DropdownMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;
|
|
1290
|
+
var RADIO_GROUP_NAME = "DropdownMenuRadioGroup";
|
|
1291
|
+
var DropdownMenuRadioGroup = /* @__PURE__ */ (0, import_react29.forwardRef)((props, forwardedRef) => {
|
|
1292
|
+
const { __scopeDropdownMenu, ...radioGroupProps } = props;
|
|
1293
|
+
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1294
|
+
return /* @__PURE__ */ import_react29.default.createElement(MenuPrimitive.RadioGroup, {
|
|
1295
|
+
...menuScope,
|
|
1296
|
+
...radioGroupProps,
|
|
1798
1297
|
ref: forwardedRef
|
|
1799
|
-
}
|
|
1298
|
+
});
|
|
1800
1299
|
});
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
var edgeToOrientationMap2 = {
|
|
1811
|
-
"reorder-above": "sibling",
|
|
1812
|
-
"reorder-below": "sibling",
|
|
1813
|
-
"make-child": "child",
|
|
1814
|
-
reparent: "child"
|
|
1815
|
-
};
|
|
1816
|
-
var orientationStyles2 = {
|
|
1817
|
-
// TODO(wittjosiah): Stop using left/right here.
|
|
1818
|
-
sibling: "bs-[--line-thickness] left-[--horizontal-indent] right-0 bg-accentSurface before:left-[--negative-terminal-size]",
|
|
1819
|
-
child: "is-full block-start-0 block-end-0 border-[length:--line-thickness] before:invisible"
|
|
1820
|
-
};
|
|
1821
|
-
var instructionStyles = {
|
|
1822
|
-
"reorder-above": "block-start-[--line-offset] before:block-start-[--offset-terminal]",
|
|
1823
|
-
"reorder-below": "block-end-[--line-offset] before:block-end-[--offset-terminal]",
|
|
1824
|
-
"make-child": "border-accentSurface",
|
|
1825
|
-
// TODO(wittjosiah): This is not occurring in the current implementation.
|
|
1826
|
-
reparent: ""
|
|
1827
|
-
};
|
|
1828
|
-
var strokeSize2 = 2;
|
|
1829
|
-
var terminalSize2 = 8;
|
|
1830
|
-
var offsetToAlignTerminalWithLine2 = (strokeSize2 - terminalSize2) / 2;
|
|
1831
|
-
var TreeDropIndicator = ({ instruction, gap = 0 }) => {
|
|
1832
|
-
const lineOffset = `calc(-0.5 * (${gap}px + ${strokeSize2}px))`;
|
|
1833
|
-
const isBlocked = instruction.type === "instruction-blocked";
|
|
1834
|
-
const desiredInstruction = isBlocked ? instruction.desired : instruction;
|
|
1835
|
-
const orientation = edgeToOrientationMap2[desiredInstruction.type];
|
|
1836
|
-
if (isBlocked) {
|
|
1837
|
-
return null;
|
|
1838
|
-
}
|
|
1839
|
-
return /* @__PURE__ */ import_react32.default.createElement("div", {
|
|
1840
|
-
style: {
|
|
1841
|
-
"--line-thickness": `${strokeSize2}px`,
|
|
1842
|
-
"--line-offset": `${lineOffset}`,
|
|
1843
|
-
"--terminal-size": `${terminalSize2}px`,
|
|
1844
|
-
"--terminal-radius": `${terminalSize2 / 2}px`,
|
|
1845
|
-
"--negative-terminal-size": `-${terminalSize2}px`,
|
|
1846
|
-
"--offset-terminal": `${offsetToAlignTerminalWithLine2}px`,
|
|
1847
|
-
"--horizontal-indent": `${desiredInstruction.currentLevel * desiredInstruction.indentPerLevel + 4}px`
|
|
1848
|
-
},
|
|
1849
|
-
className: `absolute z-10 pointer-events-none before:is-[--terminal-size] before:bs-[--terminal-size] box-border before:absolute before:border-[length:--line-thickness] before:border-solid before:border-accentSurface before:rounded-full ${orientationStyles2[orientation]} ${instructionStyles[desiredInstruction.type]}`
|
|
1300
|
+
DropdownMenuRadioGroup.displayName = RADIO_GROUP_NAME;
|
|
1301
|
+
var RADIO_ITEM_NAME = "DropdownMenuRadioItem";
|
|
1302
|
+
var DropdownMenuRadioItem = /* @__PURE__ */ (0, import_react29.forwardRef)((props, forwardedRef) => {
|
|
1303
|
+
const { __scopeDropdownMenu, ...radioItemProps } = props;
|
|
1304
|
+
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1305
|
+
return /* @__PURE__ */ import_react29.default.createElement(MenuPrimitive.RadioItem, {
|
|
1306
|
+
...menuScope,
|
|
1307
|
+
...radioItemProps,
|
|
1308
|
+
ref: forwardedRef
|
|
1850
1309
|
});
|
|
1851
|
-
};
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1310
|
+
});
|
|
1311
|
+
DropdownMenuRadioItem.displayName = RADIO_ITEM_NAME;
|
|
1312
|
+
var INDICATOR_NAME = "DropdownMenuItemIndicator";
|
|
1313
|
+
var DropdownMenuItemIndicator = /* @__PURE__ */ (0, import_react29.forwardRef)((props, forwardedRef) => {
|
|
1314
|
+
const { __scopeDropdownMenu, ...itemIndicatorProps } = props;
|
|
1315
|
+
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1316
|
+
return /* @__PURE__ */ import_react29.default.createElement(MenuPrimitive.ItemIndicator, {
|
|
1317
|
+
...menuScope,
|
|
1318
|
+
...itemIndicatorProps,
|
|
1855
1319
|
ref: forwardedRef
|
|
1856
1320
|
});
|
|
1857
1321
|
});
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1322
|
+
DropdownMenuItemIndicator.displayName = INDICATOR_NAME;
|
|
1323
|
+
var SEPARATOR_NAME = "DropdownMenuSeparator";
|
|
1324
|
+
var DropdownMenuSeparator = /* @__PURE__ */ (0, import_react29.forwardRef)((props, forwardedRef) => {
|
|
1325
|
+
const { __scopeDropdownMenu, classNames, ...separatorProps } = props;
|
|
1326
|
+
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1327
|
+
const { tx } = useThemeContext();
|
|
1328
|
+
return /* @__PURE__ */ import_react29.default.createElement(MenuPrimitive.Separator, {
|
|
1329
|
+
...menuScope,
|
|
1330
|
+
...separatorProps,
|
|
1331
|
+
className: tx("menu.separator", "menu__item", {}, classNames),
|
|
1863
1332
|
ref: forwardedRef
|
|
1864
1333
|
});
|
|
1865
1334
|
});
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1335
|
+
DropdownMenuSeparator.displayName = SEPARATOR_NAME;
|
|
1336
|
+
var ARROW_NAME = "DropdownMenuArrow";
|
|
1337
|
+
var DropdownMenuArrow = /* @__PURE__ */ (0, import_react29.forwardRef)((props, forwardedRef) => {
|
|
1338
|
+
const { __scopeDropdownMenu, classNames, ...arrowProps } = props;
|
|
1339
|
+
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1340
|
+
const { tx } = useThemeContext();
|
|
1341
|
+
return /* @__PURE__ */ import_react29.default.createElement(MenuPrimitive.Arrow, {
|
|
1342
|
+
...menuScope,
|
|
1343
|
+
...arrowProps,
|
|
1344
|
+
className: tx("menu.arrow", "menu__arrow", {}, classNames),
|
|
1870
1345
|
ref: forwardedRef
|
|
1871
1346
|
});
|
|
1872
1347
|
});
|
|
1873
|
-
|
|
1874
|
-
var
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1348
|
+
DropdownMenuArrow.displayName = ARROW_NAME;
|
|
1349
|
+
var DropdownMenuSub = (props) => {
|
|
1350
|
+
const { __scopeDropdownMenu, children, open: openProp, onOpenChange, defaultOpen } = props;
|
|
1351
|
+
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1352
|
+
const [open = false, setOpen] = (0, import_react_use_controllable_state.useControllableState)({
|
|
1353
|
+
prop: openProp,
|
|
1354
|
+
defaultProp: defaultOpen,
|
|
1355
|
+
onChange: onOpenChange
|
|
1356
|
+
});
|
|
1357
|
+
return /* @__PURE__ */ import_react29.default.createElement(MenuPrimitive.Sub, {
|
|
1358
|
+
...menuScope,
|
|
1359
|
+
open,
|
|
1360
|
+
onOpenChange: setOpen
|
|
1361
|
+
}, children);
|
|
1880
1362
|
};
|
|
1881
|
-
var
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1363
|
+
var SUB_TRIGGER_NAME = "DropdownMenuSubTrigger";
|
|
1364
|
+
var DropdownMenuSubTrigger = /* @__PURE__ */ (0, import_react29.forwardRef)((props, forwardedRef) => {
|
|
1365
|
+
const { __scopeDropdownMenu, ...subTriggerProps } = props;
|
|
1366
|
+
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1367
|
+
return /* @__PURE__ */ import_react29.default.createElement(MenuPrimitive.SubTrigger, {
|
|
1368
|
+
...menuScope,
|
|
1369
|
+
...subTriggerProps,
|
|
1370
|
+
ref: forwardedRef
|
|
1371
|
+
});
|
|
1372
|
+
});
|
|
1373
|
+
DropdownMenuSubTrigger.displayName = SUB_TRIGGER_NAME;
|
|
1374
|
+
var SUB_CONTENT_NAME = "DropdownMenuSubContent";
|
|
1375
|
+
var DropdownMenuSubContent = /* @__PURE__ */ (0, import_react29.forwardRef)((props, forwardedRef) => {
|
|
1376
|
+
const { __scopeDropdownMenu, ...subContentProps } = props;
|
|
1377
|
+
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1378
|
+
return /* @__PURE__ */ import_react29.default.createElement(MenuPrimitive.SubContent, {
|
|
1379
|
+
...menuScope,
|
|
1380
|
+
...subContentProps,
|
|
1381
|
+
ref: forwardedRef,
|
|
1382
|
+
style: {
|
|
1383
|
+
...props.style,
|
|
1384
|
+
// re-namespace exposed content custom properties
|
|
1385
|
+
...{
|
|
1386
|
+
"--radix-dropdown-menu-content-transform-origin": "var(--radix-popper-transform-origin)",
|
|
1387
|
+
"--radix-dropdown-menu-content-available-width": "var(--radix-popper-available-width)",
|
|
1388
|
+
"--radix-dropdown-menu-content-available-height": "var(--radix-popper-available-height)",
|
|
1389
|
+
"--radix-dropdown-menu-trigger-width": "var(--radix-popper-anchor-width)",
|
|
1390
|
+
"--radix-dropdown-menu-trigger-height": "var(--radix-popper-anchor-height)"
|
|
1391
|
+
}
|
|
1392
|
+
}
|
|
1393
|
+
});
|
|
1394
|
+
});
|
|
1395
|
+
DropdownMenuSubContent.displayName = SUB_CONTENT_NAME;
|
|
1396
|
+
var DropdownMenu = {
|
|
1397
|
+
Root: DropdownMenuRoot,
|
|
1398
|
+
Trigger: DropdownMenuTrigger,
|
|
1399
|
+
VirtualTrigger: DropdownMenuVirtualTrigger,
|
|
1400
|
+
Portal: DropdownMenuPortal,
|
|
1401
|
+
Content: DropdownMenuContent,
|
|
1402
|
+
Viewport: DropdownMenuViewport,
|
|
1403
|
+
Group: DropdownMenuGroup,
|
|
1404
|
+
GroupLabel: DropdownMenuGroupLabel,
|
|
1405
|
+
Item: DropdownMenuItem,
|
|
1406
|
+
CheckboxItem: DropdownMenuCheckboxItem,
|
|
1407
|
+
RadioGroup: DropdownMenuRadioGroup,
|
|
1408
|
+
RadioItem: DropdownMenuRadioItem,
|
|
1409
|
+
ItemIndicator: DropdownMenuItemIndicator,
|
|
1410
|
+
Separator: DropdownMenuSeparator,
|
|
1411
|
+
Arrow: DropdownMenuArrow,
|
|
1412
|
+
Sub: DropdownMenuSub,
|
|
1413
|
+
SubTrigger: DropdownMenuSubTrigger,
|
|
1414
|
+
SubContent: DropdownMenuSubContent
|
|
1888
1415
|
};
|
|
1889
|
-
var
|
|
1890
|
-
var
|
|
1891
|
-
var [TreegridRowProvider, useTreegridRowContext] = createTreegridRowContext(TREEGRID_ROW_NAME);
|
|
1892
|
-
var PATH_SEPARATOR = "~";
|
|
1893
|
-
var PARENT_OF_SEPARATOR = " ";
|
|
1894
|
-
var TreegridRoot = /* @__PURE__ */ (0, import_react33.forwardRef)(({ asChild, classNames, children, style, gridTemplateColumns, ...props }, forwardedRef) => {
|
|
1416
|
+
var useDropdownMenuMenuScope = useMenuScope;
|
|
1417
|
+
var Label3 = /* @__PURE__ */ (0, import_react30.forwardRef)(({ srOnly, classNames, children, ...props }, forwardedRef) => {
|
|
1895
1418
|
const { tx } = useThemeContext();
|
|
1896
|
-
|
|
1897
|
-
const arrowNavigationAttrs = (0, import_react_tabster.useArrowNavigationGroup)({
|
|
1898
|
-
axis: "vertical",
|
|
1899
|
-
tabbable: false,
|
|
1900
|
-
circular: true
|
|
1901
|
-
});
|
|
1902
|
-
return /* @__PURE__ */ import_react33.default.createElement(Root7, {
|
|
1903
|
-
role: "treegrid",
|
|
1904
|
-
...arrowNavigationAttrs,
|
|
1419
|
+
return /* @__PURE__ */ import_react30.default.createElement(import_react_input.Label, {
|
|
1905
1420
|
...props,
|
|
1906
|
-
className: tx("
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
gridTemplateColumns
|
|
1910
|
-
},
|
|
1421
|
+
className: tx("input.label", "input__label", {
|
|
1422
|
+
srOnly
|
|
1423
|
+
}, classNames),
|
|
1911
1424
|
ref: forwardedRef
|
|
1912
1425
|
}, children);
|
|
1913
1426
|
});
|
|
1914
|
-
var
|
|
1427
|
+
var Description = /* @__PURE__ */ (0, import_react30.forwardRef)(({ srOnly, classNames, children, ...props }, forwardedRef) => {
|
|
1915
1428
|
const { tx } = useThemeContext();
|
|
1916
|
-
|
|
1917
|
-
const pathParts = id.split(PATH_SEPARATOR);
|
|
1918
|
-
const level = pathParts.length - 1;
|
|
1919
|
-
const [open, onOpenChange] = (0, import_react_use_controllable_state3.useControllableState)({
|
|
1920
|
-
prop: propsOpen,
|
|
1921
|
-
onChange: propsOnOpenChange,
|
|
1922
|
-
defaultProp: defaultOpen
|
|
1923
|
-
});
|
|
1924
|
-
const focusableGroupAttrs = (0, import_react_tabster.useFocusableGroup)({
|
|
1925
|
-
tabBehavior: "limited"
|
|
1926
|
-
});
|
|
1927
|
-
const arrowGroupAttrs = (0, import_react_tabster.useArrowNavigationGroup)({
|
|
1928
|
-
axis: "horizontal",
|
|
1929
|
-
tabbable: false,
|
|
1930
|
-
circular: false,
|
|
1931
|
-
memorizeCurrent: false
|
|
1932
|
-
});
|
|
1933
|
-
return /* @__PURE__ */ import_react33.default.createElement(TreegridRowProvider, {
|
|
1934
|
-
open,
|
|
1935
|
-
onOpenChange,
|
|
1936
|
-
scope: __treegridRowScope
|
|
1937
|
-
}, /* @__PURE__ */ import_react33.default.createElement(Root7, {
|
|
1938
|
-
role: "row",
|
|
1939
|
-
"aria-level": level,
|
|
1940
|
-
className: tx("treegrid.row", "treegrid__row", {
|
|
1941
|
-
level
|
|
1942
|
-
}, classNames),
|
|
1943
|
-
...parentOf && {
|
|
1944
|
-
"aria-expanded": open,
|
|
1945
|
-
"aria-owns": parentOf
|
|
1946
|
-
},
|
|
1947
|
-
tabIndex: 0,
|
|
1948
|
-
...focusableGroupAttrs,
|
|
1429
|
+
return /* @__PURE__ */ import_react30.default.createElement(import_react_input.Description, {
|
|
1949
1430
|
...props,
|
|
1950
|
-
|
|
1431
|
+
className: tx("input.description", "input__description", {
|
|
1432
|
+
srOnly
|
|
1433
|
+
}, classNames),
|
|
1951
1434
|
ref: forwardedRef
|
|
1952
|
-
},
|
|
1953
|
-
role: "none",
|
|
1954
|
-
className: "contents",
|
|
1955
|
-
...arrowGroupAttrs
|
|
1956
|
-
}, children)));
|
|
1435
|
+
}, children);
|
|
1957
1436
|
});
|
|
1958
|
-
var
|
|
1437
|
+
var Validation = /* @__PURE__ */ (0, import_react30.forwardRef)(({ __inputScope, srOnly, classNames, children, ...props }, forwardedRef) => {
|
|
1959
1438
|
const { tx } = useThemeContext();
|
|
1960
|
-
|
|
1961
|
-
|
|
1962
|
-
|
|
1963
|
-
|
|
1439
|
+
const { validationValence } = (0, import_react_input.useInputContext)(import_react_input.INPUT_NAME, __inputScope);
|
|
1440
|
+
return /* @__PURE__ */ import_react30.default.createElement(import_react_input.Validation, {
|
|
1441
|
+
...props,
|
|
1442
|
+
className: tx("input.validation", `input__validation-message input__validation-message--${validationValence}`, {
|
|
1443
|
+
srOnly,
|
|
1444
|
+
validationValence
|
|
1964
1445
|
}, classNames),
|
|
1446
|
+
ref: forwardedRef
|
|
1447
|
+
}, children);
|
|
1448
|
+
});
|
|
1449
|
+
var DescriptionAndValidation = /* @__PURE__ */ (0, import_react30.forwardRef)(({ srOnly, classNames, children, ...props }, forwardedRef) => {
|
|
1450
|
+
const { tx } = useThemeContext();
|
|
1451
|
+
return /* @__PURE__ */ import_react30.default.createElement(import_react_input.DescriptionAndValidation, {
|
|
1965
1452
|
...props,
|
|
1453
|
+
className: tx("input.descriptionAndValidation", "input__description-and-validation", {
|
|
1454
|
+
srOnly
|
|
1455
|
+
}, classNames),
|
|
1966
1456
|
ref: forwardedRef
|
|
1967
1457
|
}, children);
|
|
1968
1458
|
});
|
|
1969
|
-
var
|
|
1970
|
-
|
|
1971
|
-
Row: TreegridRow,
|
|
1972
|
-
Cell: TreegridCell,
|
|
1973
|
-
PARENT_OF_SEPARATOR,
|
|
1974
|
-
PATH_SEPARATOR,
|
|
1975
|
-
createTreegridRowScope,
|
|
1976
|
-
useTreegridRowContext
|
|
1977
|
-
};
|
|
1978
|
-
var MotionState;
|
|
1979
|
-
(function(MotionState2) {
|
|
1980
|
-
MotionState2[MotionState2["IDLE"] = 0] = "IDLE";
|
|
1981
|
-
MotionState2[MotionState2["DEBOUNCING"] = 1] = "DEBOUNCING";
|
|
1982
|
-
MotionState2[MotionState2["FOLLOWING"] = 2] = "FOLLOWING";
|
|
1983
|
-
})(MotionState || (MotionState = {}));
|
|
1984
|
-
var useSwipeToDismiss = (ref, {
|
|
1985
|
-
onDismiss,
|
|
1986
|
-
dismissThreshold = 64,
|
|
1987
|
-
debounceThreshold = 8,
|
|
1988
|
-
offset = 0
|
|
1989
|
-
/* side = 'inline-start' */
|
|
1990
|
-
}) => {
|
|
1991
|
-
const $root = ref.current;
|
|
1992
|
-
const [motionState, setMotionState] = (0, import_react35.useState)(0);
|
|
1993
|
-
const [gestureStartX, setGestureStartX] = (0, import_react35.useState)(0);
|
|
1994
|
-
const setIdle = (0, import_react35.useCallback)(() => {
|
|
1995
|
-
setMotionState(0);
|
|
1996
|
-
$root?.style.removeProperty("inset-inline-start");
|
|
1997
|
-
$root?.style.setProperty("transition-duration", "200ms");
|
|
1998
|
-
}, [
|
|
1999
|
-
$root
|
|
2000
|
-
]);
|
|
2001
|
-
const setFollowing = (0, import_react35.useCallback)(() => {
|
|
2002
|
-
setMotionState(2);
|
|
2003
|
-
$root?.style.setProperty("transition-duration", "0ms");
|
|
2004
|
-
}, [
|
|
2005
|
-
$root
|
|
2006
|
-
]);
|
|
2007
|
-
const handlePointerDown = (0, import_react35.useCallback)(({ screenX }) => {
|
|
2008
|
-
if (motionState === 0) {
|
|
2009
|
-
setMotionState(1);
|
|
2010
|
-
setGestureStartX(screenX);
|
|
2011
|
-
}
|
|
2012
|
-
}, [
|
|
2013
|
-
motionState
|
|
2014
|
-
]);
|
|
2015
|
-
const handlePointerMove = (0, import_react35.useCallback)(({ screenX }) => {
|
|
2016
|
-
if ($root) {
|
|
2017
|
-
const delta = Math.min(screenX - gestureStartX, 0);
|
|
2018
|
-
switch (motionState) {
|
|
2019
|
-
case 2:
|
|
2020
|
-
if (Math.abs(delta) > dismissThreshold) {
|
|
2021
|
-
setIdle();
|
|
2022
|
-
onDismiss?.();
|
|
2023
|
-
} else {
|
|
2024
|
-
$root.style.setProperty("inset-inline-start", `${offset + delta}px`);
|
|
2025
|
-
}
|
|
2026
|
-
break;
|
|
2027
|
-
case 1:
|
|
2028
|
-
if (Math.abs(delta) > debounceThreshold) {
|
|
2029
|
-
setFollowing();
|
|
2030
|
-
}
|
|
2031
|
-
break;
|
|
2032
|
-
}
|
|
2033
|
-
}
|
|
2034
|
-
}, [
|
|
2035
|
-
$root,
|
|
2036
|
-
motionState,
|
|
2037
|
-
gestureStartX
|
|
2038
|
-
]);
|
|
2039
|
-
const handlePointerUp = (0, import_react35.useCallback)(() => {
|
|
2040
|
-
setIdle();
|
|
2041
|
-
}, [
|
|
2042
|
-
setIdle
|
|
2043
|
-
]);
|
|
2044
|
-
(0, import_react35.useEffect)(() => {
|
|
2045
|
-
$root?.addEventListener("pointerdown", handlePointerDown);
|
|
2046
|
-
return () => {
|
|
2047
|
-
$root?.removeEventListener("pointerdown", handlePointerDown);
|
|
2048
|
-
};
|
|
2049
|
-
}, [
|
|
2050
|
-
$root,
|
|
2051
|
-
handlePointerDown
|
|
2052
|
-
]);
|
|
2053
|
-
(0, import_react35.useEffect)(() => {
|
|
2054
|
-
$root && document.documentElement.addEventListener("pointermove", handlePointerMove);
|
|
2055
|
-
return () => {
|
|
2056
|
-
document.documentElement.removeEventListener("pointermove", handlePointerMove);
|
|
2057
|
-
};
|
|
2058
|
-
}, [
|
|
2059
|
-
$root,
|
|
2060
|
-
handlePointerMove
|
|
2061
|
-
]);
|
|
2062
|
-
(0, import_react35.useEffect)(() => {
|
|
2063
|
-
$root && document.documentElement.addEventListener("pointerup", handlePointerUp);
|
|
2064
|
-
return () => {
|
|
2065
|
-
document.documentElement.removeEventListener("pointerup", handlePointerUp);
|
|
2066
|
-
};
|
|
2067
|
-
}, [
|
|
2068
|
-
$root,
|
|
2069
|
-
handlePointerUp
|
|
2070
|
-
]);
|
|
2071
|
-
};
|
|
2072
|
-
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/ui/react-ui/src/components/Main/Main.tsx";
|
|
2073
|
-
var MAIN_ROOT_NAME = "MainRoot";
|
|
2074
|
-
var NAVIGATION_SIDEBAR_NAME = "NavigationSidebar";
|
|
2075
|
-
var COMPLEMENTARY_SIDEBAR_NAME = "ComplementarySidebar";
|
|
2076
|
-
var MAIN_NAME = "Main";
|
|
2077
|
-
var GENERIC_CONSUMER_NAME = "GenericConsumer";
|
|
2078
|
-
var landmarkAttr = "data-main-landmark";
|
|
2079
|
-
var useLandmarkMover = (propsOnKeyDown, landmark) => {
|
|
2080
|
-
const handleKeyDown = (0, import_react34.useCallback)((event) => {
|
|
2081
|
-
const target = event.target;
|
|
2082
|
-
if (event.target === event.currentTarget && event.key === "Tab" && target.hasAttribute(landmarkAttr)) {
|
|
2083
|
-
event.preventDefault();
|
|
2084
|
-
const landmarks = Array.from(document.querySelectorAll(`[${landmarkAttr}]:not([inert])`)).map((el) => el.hasAttribute(landmarkAttr) ? parseInt(el.getAttribute(landmarkAttr)) : NaN).sort();
|
|
2085
|
-
const l = landmarks.length;
|
|
2086
|
-
const cursor = landmarks.indexOf(parseInt(target.getAttribute(landmarkAttr)));
|
|
2087
|
-
const nextLandmark = landmarks[(cursor + l + (event.getModifierState("Shift") ? -1 : 1)) % l];
|
|
2088
|
-
document.querySelector(`[${landmarkAttr}="${nextLandmark}"]`)?.focus();
|
|
2089
|
-
}
|
|
2090
|
-
propsOnKeyDown?.(event);
|
|
2091
|
-
}, [
|
|
2092
|
-
propsOnKeyDown
|
|
2093
|
-
]);
|
|
2094
|
-
const focusableGroupAttrs = window ? {} : {
|
|
2095
|
-
tabBehavior: "limited",
|
|
2096
|
-
ignoreDefaultKeydown: {
|
|
2097
|
-
Tab: true
|
|
2098
|
-
}
|
|
2099
|
-
};
|
|
2100
|
-
return {
|
|
2101
|
-
onKeyDown: handleKeyDown,
|
|
2102
|
-
[landmarkAttr]: landmark,
|
|
2103
|
-
tabIndex: 0,
|
|
2104
|
-
...focusableGroupAttrs
|
|
2105
|
-
};
|
|
2106
|
-
};
|
|
2107
|
-
var [MainProvider, useMainContext] = (0, import_react_context7.createContext)(MAIN_NAME, {
|
|
2108
|
-
resizing: false,
|
|
2109
|
-
navigationSidebarState: "closed",
|
|
2110
|
-
setNavigationSidebarState: (nextState) => {
|
|
2111
|
-
import_log.log.warn("Attempt to set sidebar state without initializing `MainRoot`", void 0, {
|
|
2112
|
-
F: __dxlog_file,
|
|
2113
|
-
L: 82,
|
|
2114
|
-
S: void 0,
|
|
2115
|
-
C: (f, a) => f(...a)
|
|
2116
|
-
});
|
|
2117
|
-
},
|
|
2118
|
-
complementarySidebarState: "closed",
|
|
2119
|
-
setComplementarySidebarState: (nextState) => {
|
|
2120
|
-
import_log.log.warn("Attempt to set sidebar state without initializing `MainRoot`", void 0, {
|
|
2121
|
-
F: __dxlog_file,
|
|
2122
|
-
L: 87,
|
|
2123
|
-
S: void 0,
|
|
2124
|
-
C: (f, a) => f(...a)
|
|
2125
|
-
});
|
|
2126
|
-
}
|
|
2127
|
-
});
|
|
2128
|
-
var useSidebars = (consumerName = GENERIC_CONSUMER_NAME) => {
|
|
2129
|
-
const { setNavigationSidebarState, navigationSidebarState, setComplementarySidebarState, complementarySidebarState } = useMainContext(consumerName);
|
|
2130
|
-
return {
|
|
2131
|
-
navigationSidebarState,
|
|
2132
|
-
setNavigationSidebarState,
|
|
2133
|
-
toggleNavigationSidebar: (0, import_react34.useCallback)(() => setNavigationSidebarState(navigationSidebarState === "expanded" ? "closed" : "expanded"), [
|
|
2134
|
-
navigationSidebarState,
|
|
2135
|
-
setNavigationSidebarState
|
|
2136
|
-
]),
|
|
2137
|
-
openNavigationSidebar: (0, import_react34.useCallback)(() => setNavigationSidebarState("expanded"), []),
|
|
2138
|
-
collapseNavigationSidebar: (0, import_react34.useCallback)(() => setNavigationSidebarState("collapsed"), []),
|
|
2139
|
-
closeNavigationSidebar: (0, import_react34.useCallback)(() => setNavigationSidebarState("closed"), []),
|
|
2140
|
-
complementarySidebarState,
|
|
2141
|
-
setComplementarySidebarState,
|
|
2142
|
-
toggleComplementarySidebar: (0, import_react34.useCallback)(() => setComplementarySidebarState(complementarySidebarState === "expanded" ? "closed" : "expanded"), [
|
|
2143
|
-
complementarySidebarState,
|
|
2144
|
-
setComplementarySidebarState
|
|
2145
|
-
]),
|
|
2146
|
-
openComplementarySidebar: (0, import_react34.useCallback)(() => setComplementarySidebarState("expanded"), []),
|
|
2147
|
-
collapseComplementarySidebar: (0, import_react34.useCallback)(() => setComplementarySidebarState("collapsed"), []),
|
|
2148
|
-
closeComplementarySidebar: (0, import_react34.useCallback)(() => setComplementarySidebarState("closed"), [])
|
|
2149
|
-
};
|
|
2150
|
-
};
|
|
2151
|
-
var resizeDebounce = 3e3;
|
|
2152
|
-
var MainRoot = ({ navigationSidebarState: propsNavigationSidebarState, defaultNavigationSidebarState, onNavigationSidebarStateChange, complementarySidebarState: propsComplementarySidebarState, defaultComplementarySidebarState, onComplementarySidebarStateChange, children, ...props }) => {
|
|
2153
|
-
const [isLg] = (0, import_react_hooks4.useMediaQuery)("lg", {
|
|
2154
|
-
ssr: false
|
|
2155
|
-
});
|
|
2156
|
-
const [navigationSidebarState = isLg ? "expanded" : "collapsed", setNavigationSidebarState] = (0, import_react_use_controllable_state4.useControllableState)({
|
|
2157
|
-
prop: propsNavigationSidebarState,
|
|
2158
|
-
defaultProp: defaultNavigationSidebarState,
|
|
2159
|
-
onChange: onNavigationSidebarStateChange
|
|
2160
|
-
});
|
|
2161
|
-
const [complementarySidebarState = isLg ? "expanded" : "collapsed", setComplementarySidebarState] = (0, import_react_use_controllable_state4.useControllableState)({
|
|
2162
|
-
prop: propsComplementarySidebarState,
|
|
2163
|
-
defaultProp: defaultComplementarySidebarState,
|
|
2164
|
-
onChange: onComplementarySidebarStateChange
|
|
2165
|
-
});
|
|
2166
|
-
const [resizing, setResizing] = (0, import_react34.useState)(false);
|
|
2167
|
-
const resizeInterval = (0, import_react34.useRef)(null);
|
|
2168
|
-
const handleResize = (0, import_react34.useCallback)(() => {
|
|
2169
|
-
setResizing(true);
|
|
2170
|
-
if (resizeInterval.current) {
|
|
2171
|
-
clearTimeout(resizeInterval.current);
|
|
2172
|
-
}
|
|
2173
|
-
resizeInterval.current = setTimeout(() => {
|
|
2174
|
-
setResizing(false);
|
|
2175
|
-
resizeInterval.current = null;
|
|
2176
|
-
}, resizeDebounce);
|
|
2177
|
-
}, []);
|
|
2178
|
-
(0, import_react34.useEffect)(() => {
|
|
2179
|
-
window.addEventListener("resize", handleResize);
|
|
2180
|
-
return () => window.removeEventListener("resize", handleResize);
|
|
2181
|
-
}, [
|
|
2182
|
-
handleResize
|
|
2183
|
-
]);
|
|
2184
|
-
return /* @__PURE__ */ import_react34.default.createElement(MainProvider, {
|
|
2185
|
-
...props,
|
|
2186
|
-
navigationSidebarState,
|
|
2187
|
-
setNavigationSidebarState,
|
|
2188
|
-
complementarySidebarState,
|
|
2189
|
-
setComplementarySidebarState,
|
|
2190
|
-
resizing
|
|
2191
|
-
}, children);
|
|
2192
|
-
};
|
|
2193
|
-
MainRoot.displayName = MAIN_ROOT_NAME;
|
|
2194
|
-
var handleOpenAutoFocus = (event) => {
|
|
2195
|
-
!document.body.hasAttribute("data-is-keyboard") && event.preventDefault();
|
|
2196
|
-
};
|
|
2197
|
-
var MainSidebar = /* @__PURE__ */ (0, import_react34.forwardRef)(({ classNames, children, swipeToDismiss, onOpenAutoFocus, state, resizing, onStateChange, side, label, ...props }, forwardedRef) => {
|
|
2198
|
-
const [isLg] = (0, import_react_hooks4.useMediaQuery)("lg", {
|
|
2199
|
-
ssr: false
|
|
2200
|
-
});
|
|
1459
|
+
var PinInput = /* @__PURE__ */ (0, import_react30.forwardRef)(({ density: propsDensity, elevation: propsElevation, segmentClassName: propsSegmentClassName, inputClassName, variant, ...props }, forwardedRef) => {
|
|
1460
|
+
const { hasIosKeyboard: hasIosKeyboard2 } = useThemeContext();
|
|
2201
1461
|
const { tx } = useThemeContext();
|
|
2202
|
-
const
|
|
2203
|
-
const
|
|
2204
|
-
const
|
|
2205
|
-
|
|
2206
|
-
|
|
2207
|
-
|
|
2208
|
-
|
|
2209
|
-
|
|
2210
|
-
|
|
2211
|
-
|
|
2212
|
-
|
|
2213
|
-
|
|
2214
|
-
|
|
1462
|
+
const density = useDensityContext(propsDensity);
|
|
1463
|
+
const elevation = useElevationContext(propsElevation);
|
|
1464
|
+
const segmentClassName = (0, import_react30.useCallback)(({ focused, validationValence }) => tx("input.input", "input--pin-segment", {
|
|
1465
|
+
variant: "static",
|
|
1466
|
+
focused,
|
|
1467
|
+
disabled: props.disabled,
|
|
1468
|
+
density,
|
|
1469
|
+
elevation,
|
|
1470
|
+
validationValence
|
|
1471
|
+
}, propsSegmentClassName), [
|
|
1472
|
+
tx,
|
|
1473
|
+
props.disabled,
|
|
1474
|
+
elevation,
|
|
1475
|
+
propsElevation,
|
|
1476
|
+
density
|
|
2215
1477
|
]);
|
|
2216
|
-
|
|
2217
|
-
return /* @__PURE__ */ import_react34.default.createElement(import_react_dialog2.Root, {
|
|
2218
|
-
open: state !== "closed",
|
|
2219
|
-
"aria-label": toLocalizedString(label, t),
|
|
2220
|
-
modal: false
|
|
2221
|
-
}, !isLg && /* @__PURE__ */ import_react34.default.createElement(import_react_dialog2.DialogTitle, {
|
|
2222
|
-
className: "sr-only"
|
|
2223
|
-
}, toLocalizedString(label, t)), /* @__PURE__ */ import_react34.default.createElement(Root7, {
|
|
2224
|
-
...!isLg && {
|
|
2225
|
-
forceMount: true,
|
|
2226
|
-
tabIndex: -1,
|
|
2227
|
-
onOpenAutoFocus: onOpenAutoFocus ?? handleOpenAutoFocus
|
|
2228
|
-
},
|
|
1478
|
+
return /* @__PURE__ */ import_react30.default.createElement(import_react_input.PinInput, {
|
|
2229
1479
|
...props,
|
|
2230
|
-
|
|
2231
|
-
|
|
2232
|
-
|
|
2233
|
-
className: tx("main.sidebar", "main__sidebar", {}, classNames),
|
|
2234
|
-
onKeyDown: handleKeyDown,
|
|
2235
|
-
...state === "closed" && {
|
|
2236
|
-
inert: "true"
|
|
1480
|
+
segmentClassName,
|
|
1481
|
+
...props.autoFocus && !hasIosKeyboard2 && {
|
|
1482
|
+
autoFocus: true
|
|
2237
1483
|
},
|
|
2238
|
-
|
|
2239
|
-
|
|
2240
|
-
})
|
|
2241
|
-
var MainNavigationSidebar = /* @__PURE__ */ (0, import_react34.forwardRef)((props, forwardedRef) => {
|
|
2242
|
-
const { navigationSidebarState, setNavigationSidebarState, resizing } = useMainContext(NAVIGATION_SIDEBAR_NAME);
|
|
2243
|
-
const mover = useLandmarkMover(props.onKeyDown, "0");
|
|
2244
|
-
return /* @__PURE__ */ import_react34.default.createElement(MainSidebar, {
|
|
2245
|
-
...mover,
|
|
2246
|
-
...props,
|
|
2247
|
-
state: navigationSidebarState,
|
|
2248
|
-
onStateChange: setNavigationSidebarState,
|
|
2249
|
-
resizing,
|
|
2250
|
-
side: "inline-start",
|
|
1484
|
+
inputClassName: tx("input.inputWithSegments", "input input--pin", {
|
|
1485
|
+
disabled: props.disabled
|
|
1486
|
+
}, inputClassName),
|
|
2251
1487
|
ref: forwardedRef
|
|
2252
1488
|
});
|
|
2253
1489
|
});
|
|
2254
|
-
|
|
2255
|
-
|
|
2256
|
-
const
|
|
2257
|
-
const
|
|
2258
|
-
|
|
2259
|
-
|
|
1490
|
+
var TextInput = /* @__PURE__ */ (0, import_react30.forwardRef)(({ __inputScope, classNames, density: propsDensity, elevation: propsElevation, variant, ...props }, forwardedRef) => {
|
|
1491
|
+
const { hasIosKeyboard: hasIosKeyboard2 } = useThemeContext();
|
|
1492
|
+
const themeContextValue = useThemeContext();
|
|
1493
|
+
const density = useDensityContext(propsDensity);
|
|
1494
|
+
const elevation = useElevationContext(propsElevation);
|
|
1495
|
+
const { validationValence } = (0, import_react_input.useInputContext)(import_react_input.INPUT_NAME, __inputScope);
|
|
1496
|
+
const { tx } = themeContextValue;
|
|
1497
|
+
return /* @__PURE__ */ import_react30.default.createElement(import_react_input.TextInput, {
|
|
2260
1498
|
...props,
|
|
2261
|
-
|
|
2262
|
-
|
|
2263
|
-
|
|
2264
|
-
|
|
1499
|
+
className: tx("input.input", "input", {
|
|
1500
|
+
variant,
|
|
1501
|
+
disabled: props.disabled,
|
|
1502
|
+
density,
|
|
1503
|
+
elevation,
|
|
1504
|
+
validationValence
|
|
1505
|
+
}, classNames),
|
|
1506
|
+
...props.autoFocus && !hasIosKeyboard2 && {
|
|
1507
|
+
autoFocus: true
|
|
1508
|
+
},
|
|
2265
1509
|
ref: forwardedRef
|
|
2266
1510
|
});
|
|
2267
1511
|
});
|
|
2268
|
-
|
|
2269
|
-
|
|
2270
|
-
const { navigationSidebarState, complementarySidebarState } = useMainContext(MAIN_NAME);
|
|
1512
|
+
var TextArea = /* @__PURE__ */ (0, import_react30.forwardRef)(({ __inputScope, classNames, density: propsDensity, elevation: propsElevation, variant, ...props }, forwardedRef) => {
|
|
1513
|
+
const { hasIosKeyboard: hasIosKeyboard2 } = useThemeContext();
|
|
2271
1514
|
const { tx } = useThemeContext();
|
|
2272
|
-
const
|
|
2273
|
-
const
|
|
2274
|
-
|
|
2275
|
-
|
|
2276
|
-
...handlesFocus && {
|
|
2277
|
-
...mover
|
|
2278
|
-
},
|
|
1515
|
+
const density = useDensityContext(propsDensity);
|
|
1516
|
+
const elevation = useElevationContext(propsElevation);
|
|
1517
|
+
const { validationValence } = (0, import_react_input.useInputContext)(import_react_input.INPUT_NAME, __inputScope);
|
|
1518
|
+
return /* @__PURE__ */ import_react30.default.createElement(import_react_input.TextArea, {
|
|
2279
1519
|
...props,
|
|
2280
|
-
"
|
|
2281
|
-
|
|
2282
|
-
|
|
2283
|
-
|
|
2284
|
-
|
|
1520
|
+
className: tx("input.input", "input--text-area", {
|
|
1521
|
+
variant,
|
|
1522
|
+
disabled: props.disabled,
|
|
1523
|
+
density,
|
|
1524
|
+
elevation,
|
|
1525
|
+
validationValence
|
|
2285
1526
|
}, classNames),
|
|
1527
|
+
...props.autoFocus && !hasIosKeyboard2 && {
|
|
1528
|
+
autoFocus: true
|
|
1529
|
+
},
|
|
2286
1530
|
ref: forwardedRef
|
|
2287
|
-
}
|
|
1531
|
+
});
|
|
2288
1532
|
});
|
|
2289
|
-
|
|
2290
|
-
|
|
2291
|
-
|
|
2292
|
-
|
|
1533
|
+
var Checkbox = /* @__PURE__ */ (0, import_react30.forwardRef)(({ __inputScope, checked: propsChecked, defaultChecked: propsDefaultChecked, onCheckedChange: propsOnCheckedChange, size, weight = "bold", classNames, ...props }, forwardedRef) => {
|
|
1534
|
+
const [checked, onCheckedChange] = (0, import_react_use_controllable_state2.useControllableState)({
|
|
1535
|
+
prop: propsChecked,
|
|
1536
|
+
defaultProp: propsDefaultChecked,
|
|
1537
|
+
onChange: propsOnCheckedChange
|
|
2293
1538
|
});
|
|
2294
|
-
const {
|
|
1539
|
+
const { id, validationValence, descriptionId, errorMessageId } = (0, import_react_input.useInputContext)(import_react_input.INPUT_NAME, __inputScope);
|
|
2295
1540
|
const { tx } = useThemeContext();
|
|
2296
|
-
return /* @__PURE__ */
|
|
2297
|
-
|
|
2298
|
-
|
|
2299
|
-
|
|
1541
|
+
return /* @__PURE__ */ import_react30.default.createElement(import_react_checkbox.Root, {
|
|
1542
|
+
...props,
|
|
1543
|
+
checked,
|
|
1544
|
+
onCheckedChange,
|
|
1545
|
+
id,
|
|
1546
|
+
"aria-describedby": descriptionId,
|
|
1547
|
+
...validationValence === "error" && {
|
|
1548
|
+
"aria-invalid": "true",
|
|
1549
|
+
"aria-errormessage": errorMessageId
|
|
1550
|
+
},
|
|
1551
|
+
className: tx("input.checkbox", "input--checkbox", {
|
|
1552
|
+
size
|
|
1553
|
+
}, "shrink-0", classNames),
|
|
1554
|
+
ref: forwardedRef
|
|
1555
|
+
}, /* @__PURE__ */ import_react30.default.createElement(Icon, {
|
|
1556
|
+
icon: checked === "indeterminate" ? "ph--minus--regular" : "ph--check--regular",
|
|
1557
|
+
classNames: tx("input.checkboxIndicator", "input--checkbox__indicator", {
|
|
1558
|
+
size,
|
|
1559
|
+
checked
|
|
1560
|
+
})
|
|
1561
|
+
}));
|
|
1562
|
+
});
|
|
1563
|
+
var Switch = /* @__PURE__ */ (0, import_react30.forwardRef)(({ __inputScope, checked: propsChecked, defaultChecked: propsDefaultChecked, onCheckedChange: propsOnCheckedChange, classNames, ...props }, forwardedRef) => {
|
|
1564
|
+
const [checked, onCheckedChange] = (0, import_react_use_controllable_state2.useControllableState)({
|
|
1565
|
+
prop: propsChecked,
|
|
1566
|
+
defaultProp: propsDefaultChecked ?? false,
|
|
1567
|
+
onChange: propsOnCheckedChange
|
|
1568
|
+
});
|
|
1569
|
+
const { id, validationValence, descriptionId, errorMessageId } = (0, import_react_input.useInputContext)(import_react_input.INPUT_NAME, __inputScope);
|
|
1570
|
+
return /* @__PURE__ */ import_react30.default.createElement("input", {
|
|
1571
|
+
type: "checkbox",
|
|
1572
|
+
className: (0, import_react_ui_theme3.mx)("dx-checkbox--switch dx-focus-ring", classNames),
|
|
1573
|
+
checked,
|
|
1574
|
+
onChange: (event) => {
|
|
1575
|
+
onCheckedChange(event.target.checked);
|
|
2300
1576
|
},
|
|
1577
|
+
id,
|
|
1578
|
+
"aria-describedby": descriptionId,
|
|
2301
1579
|
...props,
|
|
2302
|
-
|
|
2303
|
-
|
|
2304
|
-
|
|
2305
|
-
|
|
2306
|
-
}, classNames),
|
|
2307
|
-
"data-state": navigationSidebarState === "expanded" || complementarySidebarState === "expanded" ? "open" : "closed",
|
|
2308
|
-
"aria-hidden": "true",
|
|
1580
|
+
...validationValence === "error" && {
|
|
1581
|
+
"aria-invalid": "true",
|
|
1582
|
+
"aria-errormessage": errorMessageId
|
|
1583
|
+
},
|
|
2309
1584
|
ref: forwardedRef
|
|
2310
1585
|
});
|
|
2311
1586
|
});
|
|
2312
|
-
var
|
|
2313
|
-
Root:
|
|
2314
|
-
|
|
2315
|
-
|
|
2316
|
-
|
|
2317
|
-
|
|
1587
|
+
var Input = {
|
|
1588
|
+
Root: import_react_input.InputRoot,
|
|
1589
|
+
PinInput,
|
|
1590
|
+
TextInput,
|
|
1591
|
+
TextArea,
|
|
1592
|
+
Checkbox,
|
|
1593
|
+
Switch,
|
|
1594
|
+
Label: Label3,
|
|
1595
|
+
Description,
|
|
1596
|
+
Validation,
|
|
1597
|
+
DescriptionAndValidation
|
|
2318
1598
|
};
|
|
2319
|
-
var
|
|
2320
|
-
|
|
2321
|
-
|
|
2322
|
-
|
|
1599
|
+
var edgeToOrientationMap = {
|
|
1600
|
+
top: "horizontal",
|
|
1601
|
+
bottom: "horizontal",
|
|
1602
|
+
left: "vertical",
|
|
1603
|
+
right: "vertical"
|
|
2323
1604
|
};
|
|
2324
|
-
var
|
|
2325
|
-
|
|
2326
|
-
|
|
2327
|
-
|
|
2328
|
-
|
|
2329
|
-
|
|
2330
|
-
|
|
2331
|
-
|
|
2332
|
-
|
|
2333
|
-
|
|
2334
|
-
|
|
1605
|
+
var orientationStyles = {
|
|
1606
|
+
horizontal: "h-[--line-thickness] left-[calc(var(--line-inset)+var(--terminal-radius))] right-[--line-inset] before:left-[--terminal-inset]",
|
|
1607
|
+
vertical: "w-[--line-thickness] top-[calc(var(--line-inset)+var(--terminal-radius))] bottom-[--line-inset] before:top-[--terminal-inset]"
|
|
1608
|
+
};
|
|
1609
|
+
var edgeStyles = {
|
|
1610
|
+
top: "top-[--line-offset] before:top-[--offset-terminal]",
|
|
1611
|
+
right: "right-[--line-offset] before:right-[--offset-terminal]",
|
|
1612
|
+
bottom: "bottom-[--line-offset] before:bottom-[--offset-terminal]",
|
|
1613
|
+
left: "left-[--line-offset] before:left-[--offset-terminal]"
|
|
1614
|
+
};
|
|
1615
|
+
var strokeSize = 2;
|
|
1616
|
+
var terminalSize = 8;
|
|
1617
|
+
var offsetToAlignTerminalWithLine = (strokeSize - terminalSize) / 2;
|
|
1618
|
+
var ListDropIndicator = ({ edge, gap = 0, lineInset = 0, terminalInset = lineInset - terminalSize }) => {
|
|
1619
|
+
const orientation = edgeToOrientationMap[edge];
|
|
1620
|
+
return /* @__PURE__ */ import_react33.default.createElement("div", {
|
|
1621
|
+
role: "none",
|
|
1622
|
+
style: {
|
|
1623
|
+
"--line-thickness": `${strokeSize}px`,
|
|
1624
|
+
"--line-offset": `calc(-0.5 * (${gap}px + ${strokeSize}px))`,
|
|
1625
|
+
"--line-inset": `${lineInset}px`,
|
|
1626
|
+
"--terminal-size": `${terminalSize}px`,
|
|
1627
|
+
"--terminal-radius": `${terminalSize / 2}px`,
|
|
1628
|
+
"--terminal-inset": `${terminalInset}px`,
|
|
1629
|
+
"--offset-terminal": `${offsetToAlignTerminalWithLine}px`
|
|
1630
|
+
},
|
|
1631
|
+
className: `absolute z-10 pointer-events-none bg-accentSurface before:content-[''] before:w-[--terminal-size] before:h-[--terminal-size] box-border before:absolute before:border-[length:--line-thickness] before:border-solid before:border-accentSurface before:rounded-full ${orientationStyles[orientation]} ${edgeStyles[edge]}`
|
|
1632
|
+
});
|
|
2335
1633
|
};
|
|
2336
|
-
var
|
|
2337
|
-
var ContextMenuTrigger = ContextMenuPrimitive.Trigger;
|
|
2338
|
-
var ContextMenuPortal = ContextMenuPrimitive.Portal;
|
|
2339
|
-
var ContextMenuContent = /* @__PURE__ */ (0, import_react36.forwardRef)(({ classNames, children, collisionPadding = 8, ...props }, forwardedRef) => {
|
|
1634
|
+
var List = /* @__PURE__ */ (0, import_react32.forwardRef)(({ classNames, children, ...props }, forwardedRef) => {
|
|
2340
1635
|
const { tx } = useThemeContext();
|
|
2341
|
-
const
|
|
2342
|
-
|
|
2343
|
-
|
|
1636
|
+
const density = useDensityContext(props.density);
|
|
1637
|
+
return /* @__PURE__ */ import_react32.default.createElement(DensityProvider, {
|
|
1638
|
+
density
|
|
1639
|
+
}, /* @__PURE__ */ import_react32.default.createElement(import_react_list.List, {
|
|
2344
1640
|
...props,
|
|
2345
|
-
|
|
2346
|
-
|
|
2347
|
-
|
|
1641
|
+
className: tx("list.root", "list", {}, classNames),
|
|
1642
|
+
ref: forwardedRef
|
|
1643
|
+
}, children));
|
|
1644
|
+
});
|
|
1645
|
+
var ListItemEndcap = /* @__PURE__ */ (0, import_react32.forwardRef)(({ children, classNames, asChild, ...props }, forwardedRef) => {
|
|
1646
|
+
const Root5 = asChild ? import_react_slot8.Slot : "div";
|
|
1647
|
+
const density = useDensityContext();
|
|
1648
|
+
const { tx } = useThemeContext();
|
|
1649
|
+
return /* @__PURE__ */ import_react32.default.createElement(Root5, {
|
|
1650
|
+
...!asChild && {
|
|
1651
|
+
role: "none"
|
|
1652
|
+
},
|
|
1653
|
+
...props,
|
|
1654
|
+
className: tx("list.item.endcap", "list__listItem__endcap", {
|
|
1655
|
+
density
|
|
2348
1656
|
}, classNames),
|
|
2349
1657
|
ref: forwardedRef
|
|
2350
1658
|
}, children);
|
|
2351
1659
|
});
|
|
2352
|
-
var
|
|
1660
|
+
var MockListItemOpenTrigger = ({ classNames, ...props }) => {
|
|
1661
|
+
const density = useDensityContext();
|
|
2353
1662
|
const { tx } = useThemeContext();
|
|
2354
|
-
|
|
2355
|
-
|
|
1663
|
+
return /* @__PURE__ */ import_react32.default.createElement("div", {
|
|
1664
|
+
role: "none",
|
|
2356
1665
|
...props,
|
|
2357
|
-
className: tx("
|
|
1666
|
+
className: tx("list.item.openTrigger", "list__listItem__openTrigger--mock", {
|
|
1667
|
+
density
|
|
1668
|
+
}, classNames)
|
|
1669
|
+
});
|
|
1670
|
+
};
|
|
1671
|
+
var ListItemHeading = /* @__PURE__ */ (0, import_react32.forwardRef)(({ children, classNames, ...props }, forwardedRef) => {
|
|
1672
|
+
const { tx } = useThemeContext();
|
|
1673
|
+
const density = useDensityContext();
|
|
1674
|
+
return /* @__PURE__ */ import_react32.default.createElement(import_react_list.ListItemHeading, {
|
|
1675
|
+
...props,
|
|
1676
|
+
className: tx("list.item.heading", "list__listItem__heading", {
|
|
1677
|
+
density
|
|
1678
|
+
}, classNames),
|
|
2358
1679
|
ref: forwardedRef
|
|
2359
1680
|
}, children);
|
|
2360
1681
|
});
|
|
2361
|
-
var
|
|
1682
|
+
var ListItemOpenTrigger = /* @__PURE__ */ (0, import_react32.forwardRef)(({ __listItemScope, classNames, children, ...props }, forwardedRef) => {
|
|
2362
1683
|
const { tx } = useThemeContext();
|
|
2363
|
-
|
|
1684
|
+
const density = useDensityContext();
|
|
1685
|
+
const { open } = (0, import_react_list.useListItemContext)(import_react_list.LIST_ITEM_NAME, __listItemScope);
|
|
1686
|
+
const Icon3 = open ? import_react31.CaretDown : import_react31.CaretRight;
|
|
1687
|
+
return /* @__PURE__ */ import_react32.default.createElement(import_react_list.ListItemOpenTrigger, {
|
|
2364
1688
|
...props,
|
|
2365
|
-
className: tx("
|
|
1689
|
+
className: tx("list.item.openTrigger", "list__listItem__openTrigger", {
|
|
1690
|
+
density
|
|
1691
|
+
}, classNames),
|
|
2366
1692
|
ref: forwardedRef
|
|
2367
|
-
}
|
|
1693
|
+
}, children || /* @__PURE__ */ import_react32.default.createElement(Icon3, {
|
|
1694
|
+
weight: "bold",
|
|
1695
|
+
className: tx("list.item.openTriggerIcon", "list__listItem__openTrigger__icon", {})
|
|
1696
|
+
}));
|
|
2368
1697
|
});
|
|
2369
|
-
var
|
|
2370
|
-
var ContextMenuItemIndicator = ContextMenuPrimitive.ItemIndicator;
|
|
2371
|
-
var ContextMenuItem = /* @__PURE__ */ (0, import_react36.forwardRef)(({ classNames, ...props }, forwardedRef) => {
|
|
1698
|
+
var ListItemRoot = /* @__PURE__ */ (0, import_react32.forwardRef)(({ classNames, children, ...props }, forwardedRef) => {
|
|
2372
1699
|
const { tx } = useThemeContext();
|
|
2373
|
-
|
|
1700
|
+
const density = useDensityContext();
|
|
1701
|
+
return /* @__PURE__ */ import_react32.default.createElement(import_react_list.ListItem, {
|
|
2374
1702
|
...props,
|
|
2375
|
-
className: tx("
|
|
1703
|
+
className: tx("list.item.root", "list__listItem", {
|
|
1704
|
+
density,
|
|
1705
|
+
collapsible: props.collapsible
|
|
1706
|
+
}, classNames),
|
|
2376
1707
|
ref: forwardedRef
|
|
2377
|
-
});
|
|
1708
|
+
}, children);
|
|
2378
1709
|
});
|
|
2379
|
-
var
|
|
2380
|
-
|
|
2381
|
-
|
|
1710
|
+
var ListItem = {
|
|
1711
|
+
Root: ListItemRoot,
|
|
1712
|
+
Endcap: ListItemEndcap,
|
|
1713
|
+
Heading: ListItemHeading,
|
|
1714
|
+
OpenTrigger: ListItemOpenTrigger,
|
|
1715
|
+
CollapsibleContent: import_react_list.ListItemCollapsibleContent,
|
|
1716
|
+
MockOpenTrigger: MockListItemOpenTrigger,
|
|
1717
|
+
DropIndicator: ListDropIndicator
|
|
1718
|
+
};
|
|
1719
|
+
var edgeToOrientationMap2 = {
|
|
1720
|
+
"reorder-above": "sibling",
|
|
1721
|
+
"reorder-below": "sibling",
|
|
1722
|
+
"make-child": "child",
|
|
1723
|
+
reparent: "child"
|
|
1724
|
+
};
|
|
1725
|
+
var orientationStyles2 = {
|
|
1726
|
+
// TODO(wittjosiah): Stop using left/right here.
|
|
1727
|
+
sibling: "bs-[--line-thickness] left-[--horizontal-indent] right-0 bg-accentSurface before:left-[--negative-terminal-size]",
|
|
1728
|
+
child: "is-full block-start-0 block-end-0 border-[length:--line-thickness] before:invisible"
|
|
1729
|
+
};
|
|
1730
|
+
var instructionStyles = {
|
|
1731
|
+
"reorder-above": "block-start-[--line-offset] before:block-start-[--offset-terminal]",
|
|
1732
|
+
"reorder-below": "block-end-[--line-offset] before:block-end-[--offset-terminal]",
|
|
1733
|
+
"make-child": "border-accentSurface",
|
|
1734
|
+
// TODO(wittjosiah): This is not occurring in the current implementation.
|
|
1735
|
+
reparent: ""
|
|
1736
|
+
};
|
|
1737
|
+
var strokeSize2 = 2;
|
|
1738
|
+
var terminalSize2 = 8;
|
|
1739
|
+
var offsetToAlignTerminalWithLine2 = (strokeSize2 - terminalSize2) / 2;
|
|
1740
|
+
var TreeDropIndicator = ({ instruction, gap = 0 }) => {
|
|
1741
|
+
const lineOffset = `calc(-0.5 * (${gap}px + ${strokeSize2}px))`;
|
|
1742
|
+
const isBlocked = instruction.type === "instruction-blocked";
|
|
1743
|
+
const desiredInstruction = isBlocked ? instruction.desired : instruction;
|
|
1744
|
+
const orientation = edgeToOrientationMap2[desiredInstruction.type];
|
|
1745
|
+
if (isBlocked) {
|
|
1746
|
+
return null;
|
|
1747
|
+
}
|
|
1748
|
+
return /* @__PURE__ */ import_react35.default.createElement("div", {
|
|
1749
|
+
style: {
|
|
1750
|
+
"--line-thickness": `${strokeSize2}px`,
|
|
1751
|
+
"--line-offset": `${lineOffset}`,
|
|
1752
|
+
"--terminal-size": `${terminalSize2}px`,
|
|
1753
|
+
"--terminal-radius": `${terminalSize2 / 2}px`,
|
|
1754
|
+
"--negative-terminal-size": `-${terminalSize2}px`,
|
|
1755
|
+
"--offset-terminal": `${offsetToAlignTerminalWithLine2}px`,
|
|
1756
|
+
"--horizontal-indent": `${desiredInstruction.currentLevel * desiredInstruction.indentPerLevel + 4}px`
|
|
1757
|
+
},
|
|
1758
|
+
className: `absolute z-10 pointer-events-none before:is-[--terminal-size] before:bs-[--terminal-size] box-border before:absolute before:border-[length:--line-thickness] before:border-solid before:border-accentSurface before:rounded-full ${orientationStyles2[orientation]} ${instructionStyles[desiredInstruction.type]}`
|
|
1759
|
+
});
|
|
1760
|
+
};
|
|
1761
|
+
var TreeRoot = /* @__PURE__ */ (0, import_react34.forwardRef)((props, forwardedRef) => {
|
|
1762
|
+
return /* @__PURE__ */ import_react34.default.createElement(List, {
|
|
2382
1763
|
...props,
|
|
2383
|
-
className: tx("menu.item", "menu__item--checkbox", {}, classNames),
|
|
2384
1764
|
ref: forwardedRef
|
|
2385
1765
|
});
|
|
2386
1766
|
});
|
|
2387
|
-
var
|
|
2388
|
-
const {
|
|
2389
|
-
return /* @__PURE__ */
|
|
1767
|
+
var TreeBranch = /* @__PURE__ */ (0, import_react34.forwardRef)(({ __listScope, ...props }, forwardedRef) => {
|
|
1768
|
+
const { headingId } = (0, import_react_list.useListItemContext)(import_react_list.LIST_ITEM_NAME, __listScope);
|
|
1769
|
+
return /* @__PURE__ */ import_react34.default.createElement(List, {
|
|
2390
1770
|
...props,
|
|
2391
|
-
|
|
1771
|
+
"aria-labelledby": headingId,
|
|
2392
1772
|
ref: forwardedRef
|
|
2393
1773
|
});
|
|
2394
1774
|
});
|
|
2395
|
-
var
|
|
2396
|
-
|
|
2397
|
-
|
|
1775
|
+
var TreeItemRoot = /* @__PURE__ */ (0, import_react34.forwardRef)((props, forwardedRef) => {
|
|
1776
|
+
return /* @__PURE__ */ import_react34.default.createElement(ListItem.Root, {
|
|
1777
|
+
role: "treeitem",
|
|
2398
1778
|
...props,
|
|
2399
|
-
className: tx("menu.groupLabel", "menu__group__label", {}, classNames),
|
|
2400
1779
|
ref: forwardedRef
|
|
2401
1780
|
});
|
|
2402
1781
|
});
|
|
2403
|
-
var
|
|
2404
|
-
|
|
2405
|
-
|
|
2406
|
-
|
|
2407
|
-
|
|
2408
|
-
|
|
2409
|
-
|
|
2410
|
-
Group: ContextMenuGroup,
|
|
2411
|
-
Item: ContextMenuItem,
|
|
2412
|
-
CheckboxItem: ContextMenuCheckboxItem,
|
|
2413
|
-
ItemIndicator: ContextMenuItemIndicator,
|
|
2414
|
-
Separator: ContextMenuSeparator,
|
|
2415
|
-
GroupLabel: ContextMenuGroupLabel
|
|
1782
|
+
var TreeItemHeading = ListItem.Heading;
|
|
1783
|
+
var TreeItemOpenTrigger = ListItem.OpenTrigger;
|
|
1784
|
+
var MockTreeItemOpenTrigger = ListItem.MockOpenTrigger;
|
|
1785
|
+
var TreeItemBody = ListItem.CollapsibleContent;
|
|
1786
|
+
var Tree = {
|
|
1787
|
+
Root: TreeRoot,
|
|
1788
|
+
Branch: TreeBranch
|
|
2416
1789
|
};
|
|
2417
|
-
var
|
|
2418
|
-
|
|
2419
|
-
|
|
2420
|
-
|
|
2421
|
-
|
|
2422
|
-
|
|
2423
|
-
|
|
2424
|
-
const { __scopeDropdownMenu, children, dir, open: openProp, defaultOpen, onOpenChange, modal = true } = props;
|
|
2425
|
-
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
2426
|
-
const triggerRef = (0, import_react38.useRef)(null);
|
|
2427
|
-
const [open = false, setOpen] = (0, import_react_use_controllable_state5.useControllableState)({
|
|
2428
|
-
prop: openProp,
|
|
2429
|
-
defaultProp: defaultOpen,
|
|
2430
|
-
onChange: onOpenChange
|
|
2431
|
-
});
|
|
2432
|
-
return /* @__PURE__ */ import_react38.default.createElement(DropdownMenuProvider, {
|
|
2433
|
-
scope: __scopeDropdownMenu,
|
|
2434
|
-
triggerId: (0, import_react_id2.useId)(),
|
|
2435
|
-
triggerRef,
|
|
2436
|
-
contentId: (0, import_react_id2.useId)(),
|
|
2437
|
-
open,
|
|
2438
|
-
onOpenChange: setOpen,
|
|
2439
|
-
onOpenToggle: (0, import_react38.useCallback)(() => setOpen((prevOpen) => !prevOpen), [
|
|
2440
|
-
setOpen
|
|
2441
|
-
]),
|
|
2442
|
-
modal
|
|
2443
|
-
}, /* @__PURE__ */ import_react38.default.createElement(MenuPrimitive.Root, {
|
|
2444
|
-
...menuScope,
|
|
2445
|
-
open,
|
|
2446
|
-
onOpenChange: setOpen,
|
|
2447
|
-
dir,
|
|
2448
|
-
modal
|
|
2449
|
-
}, children));
|
|
1790
|
+
var TreeItem = {
|
|
1791
|
+
Root: TreeItemRoot,
|
|
1792
|
+
Heading: TreeItemHeading,
|
|
1793
|
+
Body: TreeItemBody,
|
|
1794
|
+
OpenTrigger: TreeItemOpenTrigger,
|
|
1795
|
+
MockOpenTrigger: MockTreeItemOpenTrigger,
|
|
1796
|
+
DropIndicator: TreeDropIndicator
|
|
2450
1797
|
};
|
|
2451
|
-
|
|
2452
|
-
var
|
|
2453
|
-
var
|
|
2454
|
-
|
|
2455
|
-
|
|
2456
|
-
|
|
2457
|
-
|
|
2458
|
-
|
|
2459
|
-
|
|
2460
|
-
|
|
2461
|
-
|
|
2462
|
-
|
|
2463
|
-
|
|
2464
|
-
|
|
2465
|
-
"
|
|
2466
|
-
|
|
2467
|
-
|
|
2468
|
-
|
|
2469
|
-
|
|
2470
|
-
|
|
2471
|
-
|
|
2472
|
-
|
|
2473
|
-
|
|
2474
|
-
|
|
2475
|
-
event.preventDefault();
|
|
2476
|
-
}
|
|
2477
|
-
}
|
|
2478
|
-
}),
|
|
2479
|
-
onKeyDown: (0, import_primitive2.composeEventHandlers)(props.onKeyDown, (event) => {
|
|
2480
|
-
if (disabled) {
|
|
2481
|
-
return;
|
|
2482
|
-
}
|
|
2483
|
-
if ([
|
|
2484
|
-
"Enter",
|
|
2485
|
-
" "
|
|
2486
|
-
].includes(event.key)) {
|
|
2487
|
-
context.onOpenToggle();
|
|
2488
|
-
}
|
|
2489
|
-
if (event.key === "ArrowDown") {
|
|
2490
|
-
context.onOpenChange(true);
|
|
2491
|
-
}
|
|
2492
|
-
if ([
|
|
2493
|
-
"Enter",
|
|
2494
|
-
" ",
|
|
2495
|
-
"ArrowDown"
|
|
2496
|
-
].includes(event.key)) {
|
|
2497
|
-
event.preventDefault();
|
|
2498
|
-
}
|
|
2499
|
-
})
|
|
2500
|
-
}));
|
|
1798
|
+
var TREEGRID_ROW_NAME = "TreegridRow";
|
|
1799
|
+
var [createTreegridRowContext, createTreegridRowScope] = (0, import_react_context6.createContextScope)(TREEGRID_ROW_NAME, []);
|
|
1800
|
+
var [TreegridRowProvider, useTreegridRowContext] = createTreegridRowContext(TREEGRID_ROW_NAME);
|
|
1801
|
+
var PATH_SEPARATOR = "~";
|
|
1802
|
+
var PARENT_OF_SEPARATOR = " ";
|
|
1803
|
+
var TreegridRoot = /* @__PURE__ */ (0, import_react36.forwardRef)(({ asChild, classNames, children, style, gridTemplateColumns, ...props }, forwardedRef) => {
|
|
1804
|
+
const { tx } = useThemeContext();
|
|
1805
|
+
const Root5 = asChild ? import_react_slot9.Slot : import_react_primitive8.Primitive.div;
|
|
1806
|
+
const arrowNavigationAttrs = (0, import_react_tabster.useArrowNavigationGroup)({
|
|
1807
|
+
axis: "vertical",
|
|
1808
|
+
tabbable: false,
|
|
1809
|
+
circular: true
|
|
1810
|
+
});
|
|
1811
|
+
return /* @__PURE__ */ import_react36.default.createElement(Root5, {
|
|
1812
|
+
role: "treegrid",
|
|
1813
|
+
...arrowNavigationAttrs,
|
|
1814
|
+
...props,
|
|
1815
|
+
className: tx("treegrid.root", "treegrid", {}, classNames),
|
|
1816
|
+
style: {
|
|
1817
|
+
...style,
|
|
1818
|
+
gridTemplateColumns
|
|
1819
|
+
},
|
|
1820
|
+
ref: forwardedRef
|
|
1821
|
+
}, children);
|
|
2501
1822
|
});
|
|
2502
|
-
|
|
2503
|
-
|
|
2504
|
-
|
|
2505
|
-
const
|
|
2506
|
-
const
|
|
2507
|
-
const
|
|
2508
|
-
|
|
2509
|
-
|
|
2510
|
-
|
|
2511
|
-
}
|
|
1823
|
+
var TreegridRow = /* @__PURE__ */ (0, import_react36.forwardRef)(({ __treegridRowScope, asChild, classNames, children, id, parentOf, open: propsOpen, defaultOpen, onOpenChange: propsOnOpenChange, ...props }, forwardedRef) => {
|
|
1824
|
+
const { tx } = useThemeContext();
|
|
1825
|
+
const Root5 = asChild ? import_react_slot9.Slot : import_react_primitive8.Primitive.div;
|
|
1826
|
+
const pathParts = id.split(PATH_SEPARATOR);
|
|
1827
|
+
const level = pathParts.length - 1;
|
|
1828
|
+
const [open, onOpenChange] = (0, import_react_use_controllable_state3.useControllableState)({
|
|
1829
|
+
prop: propsOpen,
|
|
1830
|
+
onChange: propsOnOpenChange,
|
|
1831
|
+
defaultProp: defaultOpen
|
|
2512
1832
|
});
|
|
2513
|
-
|
|
2514
|
-
|
|
2515
|
-
virtualRef
|
|
1833
|
+
const focusableGroupAttrs = (0, import_react_tabster.useFocusableGroup)({
|
|
1834
|
+
tabBehavior: "limited"
|
|
2516
1835
|
});
|
|
2517
|
-
|
|
2518
|
-
|
|
2519
|
-
|
|
2520
|
-
|
|
2521
|
-
|
|
2522
|
-
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
2523
|
-
return /* @__PURE__ */ import_react38.default.createElement(MenuPrimitive.Portal, {
|
|
2524
|
-
...menuScope,
|
|
2525
|
-
...portalProps
|
|
1836
|
+
const arrowGroupAttrs = (0, import_react_tabster.useArrowNavigationGroup)({
|
|
1837
|
+
axis: "horizontal",
|
|
1838
|
+
tabbable: false,
|
|
1839
|
+
circular: false,
|
|
1840
|
+
memorizeCurrent: false
|
|
2526
1841
|
});
|
|
2527
|
-
|
|
2528
|
-
|
|
2529
|
-
|
|
1842
|
+
return /* @__PURE__ */ import_react36.default.createElement(TreegridRowProvider, {
|
|
1843
|
+
open,
|
|
1844
|
+
onOpenChange,
|
|
1845
|
+
scope: __treegridRowScope
|
|
1846
|
+
}, /* @__PURE__ */ import_react36.default.createElement(Root5, {
|
|
1847
|
+
role: "row",
|
|
1848
|
+
"aria-level": level,
|
|
1849
|
+
className: tx("treegrid.row", "treegrid__row", {
|
|
1850
|
+
level
|
|
1851
|
+
}, classNames),
|
|
1852
|
+
...parentOf && {
|
|
1853
|
+
"aria-expanded": open,
|
|
1854
|
+
"aria-owns": parentOf
|
|
1855
|
+
},
|
|
1856
|
+
tabIndex: 0,
|
|
1857
|
+
...focusableGroupAttrs,
|
|
1858
|
+
...props,
|
|
1859
|
+
id,
|
|
1860
|
+
ref: forwardedRef
|
|
1861
|
+
}, /* @__PURE__ */ import_react36.default.createElement("div", {
|
|
1862
|
+
role: "none",
|
|
1863
|
+
className: "contents",
|
|
1864
|
+
...arrowGroupAttrs
|
|
1865
|
+
}, children)));
|
|
1866
|
+
});
|
|
1867
|
+
var TreegridCell = /* @__PURE__ */ (0, import_react36.forwardRef)(({ classNames, children, indent, ...props }, forwardedRef) => {
|
|
2530
1868
|
const { tx } = useThemeContext();
|
|
2531
|
-
|
|
2532
|
-
|
|
1869
|
+
return /* @__PURE__ */ import_react36.default.createElement("div", {
|
|
1870
|
+
role: "gridcell",
|
|
1871
|
+
className: tx("treegrid.cell", "treegrid__cell", {
|
|
1872
|
+
indent
|
|
1873
|
+
}, classNames),
|
|
2533
1874
|
...props,
|
|
2534
|
-
className: tx("menu.viewport", "menu__viewport", {}, classNames),
|
|
2535
1875
|
ref: forwardedRef
|
|
2536
1876
|
}, children);
|
|
2537
1877
|
});
|
|
2538
|
-
var
|
|
2539
|
-
|
|
2540
|
-
|
|
2541
|
-
|
|
2542
|
-
|
|
2543
|
-
|
|
2544
|
-
|
|
2545
|
-
|
|
2546
|
-
|
|
2547
|
-
|
|
2548
|
-
|
|
2549
|
-
|
|
2550
|
-
|
|
2551
|
-
|
|
2552
|
-
|
|
2553
|
-
|
|
2554
|
-
|
|
2555
|
-
|
|
2556
|
-
|
|
1878
|
+
var Treegrid = {
|
|
1879
|
+
Root: TreegridRoot,
|
|
1880
|
+
Row: TreegridRow,
|
|
1881
|
+
Cell: TreegridCell,
|
|
1882
|
+
PARENT_OF_SEPARATOR,
|
|
1883
|
+
PATH_SEPARATOR,
|
|
1884
|
+
createTreegridRowScope,
|
|
1885
|
+
useTreegridRowContext
|
|
1886
|
+
};
|
|
1887
|
+
var MotionState;
|
|
1888
|
+
(function(MotionState2) {
|
|
1889
|
+
MotionState2[MotionState2["IDLE"] = 0] = "IDLE";
|
|
1890
|
+
MotionState2[MotionState2["DEBOUNCING"] = 1] = "DEBOUNCING";
|
|
1891
|
+
MotionState2[MotionState2["FOLLOWING"] = 2] = "FOLLOWING";
|
|
1892
|
+
})(MotionState || (MotionState = {}));
|
|
1893
|
+
var useSwipeToDismiss = (ref, {
|
|
1894
|
+
onDismiss,
|
|
1895
|
+
dismissThreshold = 64,
|
|
1896
|
+
debounceThreshold = 8,
|
|
1897
|
+
offset = 0
|
|
1898
|
+
/* side = 'inline-start' */
|
|
1899
|
+
}) => {
|
|
1900
|
+
const $root = ref.current;
|
|
1901
|
+
const [motionState, setMotionState] = (0, import_react38.useState)(0);
|
|
1902
|
+
const [gestureStartX, setGestureStartX] = (0, import_react38.useState)(0);
|
|
1903
|
+
const setIdle = (0, import_react38.useCallback)(() => {
|
|
1904
|
+
setMotionState(0);
|
|
1905
|
+
$root?.style.removeProperty("inset-inline-start");
|
|
1906
|
+
$root?.style.setProperty("transition-duration", "200ms");
|
|
1907
|
+
}, [
|
|
1908
|
+
$root
|
|
1909
|
+
]);
|
|
1910
|
+
const setFollowing = (0, import_react38.useCallback)(() => {
|
|
1911
|
+
setMotionState(2);
|
|
1912
|
+
$root?.style.setProperty("transition-duration", "0ms");
|
|
1913
|
+
}, [
|
|
1914
|
+
$root
|
|
1915
|
+
]);
|
|
1916
|
+
const handlePointerDown = (0, import_react38.useCallback)(({ screenX }) => {
|
|
1917
|
+
if (motionState === 0) {
|
|
1918
|
+
setMotionState(1);
|
|
1919
|
+
setGestureStartX(screenX);
|
|
1920
|
+
}
|
|
1921
|
+
}, [
|
|
1922
|
+
motionState
|
|
1923
|
+
]);
|
|
1924
|
+
const handlePointerMove = (0, import_react38.useCallback)(({ screenX }) => {
|
|
1925
|
+
if ($root) {
|
|
1926
|
+
const delta = Math.min(screenX - gestureStartX, 0);
|
|
1927
|
+
switch (motionState) {
|
|
1928
|
+
case 2:
|
|
1929
|
+
if (Math.abs(delta) > dismissThreshold) {
|
|
1930
|
+
setIdle();
|
|
1931
|
+
onDismiss?.();
|
|
1932
|
+
} else {
|
|
1933
|
+
$root.style.setProperty("inset-inline-start", `${offset + delta}px`);
|
|
1934
|
+
}
|
|
1935
|
+
break;
|
|
1936
|
+
case 1:
|
|
1937
|
+
if (Math.abs(delta) > debounceThreshold) {
|
|
1938
|
+
setFollowing();
|
|
1939
|
+
}
|
|
1940
|
+
break;
|
|
2557
1941
|
}
|
|
2558
|
-
|
|
1942
|
+
}
|
|
1943
|
+
}, [
|
|
1944
|
+
$root,
|
|
1945
|
+
motionState,
|
|
1946
|
+
gestureStartX
|
|
1947
|
+
]);
|
|
1948
|
+
const handlePointerUp = (0, import_react38.useCallback)(() => {
|
|
1949
|
+
setIdle();
|
|
1950
|
+
}, [
|
|
1951
|
+
setIdle
|
|
1952
|
+
]);
|
|
1953
|
+
(0, import_react38.useEffect)(() => {
|
|
1954
|
+
$root?.addEventListener("pointerdown", handlePointerDown);
|
|
1955
|
+
return () => {
|
|
1956
|
+
$root?.removeEventListener("pointerdown", handlePointerDown);
|
|
1957
|
+
};
|
|
1958
|
+
}, [
|
|
1959
|
+
$root,
|
|
1960
|
+
handlePointerDown
|
|
1961
|
+
]);
|
|
1962
|
+
(0, import_react38.useEffect)(() => {
|
|
1963
|
+
$root && document.documentElement.addEventListener("pointermove", handlePointerMove);
|
|
1964
|
+
return () => {
|
|
1965
|
+
document.documentElement.removeEventListener("pointermove", handlePointerMove);
|
|
1966
|
+
};
|
|
1967
|
+
}, [
|
|
1968
|
+
$root,
|
|
1969
|
+
handlePointerMove
|
|
1970
|
+
]);
|
|
1971
|
+
(0, import_react38.useEffect)(() => {
|
|
1972
|
+
$root && document.documentElement.addEventListener("pointerup", handlePointerUp);
|
|
1973
|
+
return () => {
|
|
1974
|
+
document.documentElement.removeEventListener("pointerup", handlePointerUp);
|
|
1975
|
+
};
|
|
1976
|
+
}, [
|
|
1977
|
+
$root,
|
|
1978
|
+
handlePointerUp
|
|
1979
|
+
]);
|
|
1980
|
+
};
|
|
1981
|
+
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/ui/react-ui/src/components/Main/Main.tsx";
|
|
1982
|
+
var MAIN_ROOT_NAME = "MainRoot";
|
|
1983
|
+
var NAVIGATION_SIDEBAR_NAME = "NavigationSidebar";
|
|
1984
|
+
var COMPLEMENTARY_SIDEBAR_NAME = "ComplementarySidebar";
|
|
1985
|
+
var MAIN_NAME = "Main";
|
|
1986
|
+
var GENERIC_CONSUMER_NAME = "GenericConsumer";
|
|
1987
|
+
var landmarkAttr = "data-main-landmark";
|
|
1988
|
+
var useLandmarkMover = (propsOnKeyDown, landmark) => {
|
|
1989
|
+
const handleKeyDown = (0, import_react37.useCallback)((event) => {
|
|
1990
|
+
const target = event.target;
|
|
1991
|
+
if (event.target === event.currentTarget && event.key === "Tab" && target.hasAttribute(landmarkAttr)) {
|
|
2559
1992
|
event.preventDefault();
|
|
2560
|
-
|
|
2561
|
-
|
|
2562
|
-
const
|
|
2563
|
-
const
|
|
2564
|
-
|
|
2565
|
-
if (!context.modal || isRightClick) {
|
|
2566
|
-
hasInteractedOutsideRef.current = true;
|
|
2567
|
-
}
|
|
2568
|
-
}),
|
|
2569
|
-
className: tx("menu.content", "menu", {
|
|
2570
|
-
elevation
|
|
2571
|
-
}, classNames),
|
|
2572
|
-
style: {
|
|
2573
|
-
...props.style,
|
|
2574
|
-
// re-namespace exposed content custom properties
|
|
2575
|
-
...{
|
|
2576
|
-
"--radix-dropdown-menu-content-transform-origin": "var(--radix-popper-transform-origin)",
|
|
2577
|
-
"--radix-dropdown-menu-content-available-width": "var(--radix-popper-available-width)",
|
|
2578
|
-
"--radix-dropdown-menu-content-available-height": "var(--radix-popper-available-height)",
|
|
2579
|
-
"--radix-dropdown-menu-trigger-width": "var(--radix-popper-anchor-width)",
|
|
2580
|
-
"--radix-dropdown-menu-trigger-height": "var(--radix-popper-anchor-height)"
|
|
2581
|
-
}
|
|
1993
|
+
const landmarks = Array.from(document.querySelectorAll(`[${landmarkAttr}]:not([inert])`)).map((el) => el.hasAttribute(landmarkAttr) ? parseInt(el.getAttribute(landmarkAttr)) : NaN).sort();
|
|
1994
|
+
const l = landmarks.length;
|
|
1995
|
+
const cursor = landmarks.indexOf(parseInt(target.getAttribute(landmarkAttr)));
|
|
1996
|
+
const nextLandmark = landmarks[(cursor + l + (event.getModifierState("Shift") ? -1 : 1)) % l];
|
|
1997
|
+
document.querySelector(`[${landmarkAttr}="${nextLandmark}"]`)?.focus();
|
|
2582
1998
|
}
|
|
2583
|
-
|
|
2584
|
-
}
|
|
2585
|
-
|
|
2586
|
-
|
|
2587
|
-
|
|
2588
|
-
|
|
2589
|
-
|
|
2590
|
-
|
|
2591
|
-
|
|
2592
|
-
|
|
2593
|
-
|
|
2594
|
-
|
|
1999
|
+
propsOnKeyDown?.(event);
|
|
2000
|
+
}, [
|
|
2001
|
+
propsOnKeyDown
|
|
2002
|
+
]);
|
|
2003
|
+
const focusableGroupAttrs = window ? {} : {
|
|
2004
|
+
tabBehavior: "limited",
|
|
2005
|
+
ignoreDefaultKeydown: {
|
|
2006
|
+
Tab: true
|
|
2007
|
+
}
|
|
2008
|
+
};
|
|
2009
|
+
return {
|
|
2010
|
+
onKeyDown: handleKeyDown,
|
|
2011
|
+
[landmarkAttr]: landmark,
|
|
2012
|
+
tabIndex: 0,
|
|
2013
|
+
...focusableGroupAttrs
|
|
2014
|
+
};
|
|
2015
|
+
};
|
|
2016
|
+
var [MainProvider, useMainContext] = (0, import_react_context7.createContext)(MAIN_NAME, {
|
|
2017
|
+
resizing: false,
|
|
2018
|
+
navigationSidebarState: "closed",
|
|
2019
|
+
setNavigationSidebarState: (nextState) => {
|
|
2020
|
+
import_log.log.warn("Attempt to set sidebar state without initializing `MainRoot`", void 0, {
|
|
2021
|
+
F: __dxlog_file,
|
|
2022
|
+
L: 82,
|
|
2023
|
+
S: void 0,
|
|
2024
|
+
C: (f, a) => f(...a)
|
|
2025
|
+
});
|
|
2026
|
+
},
|
|
2027
|
+
complementarySidebarState: "closed",
|
|
2028
|
+
setComplementarySidebarState: (nextState) => {
|
|
2029
|
+
import_log.log.warn("Attempt to set sidebar state without initializing `MainRoot`", void 0, {
|
|
2030
|
+
F: __dxlog_file,
|
|
2031
|
+
L: 87,
|
|
2032
|
+
S: void 0,
|
|
2033
|
+
C: (f, a) => f(...a)
|
|
2034
|
+
});
|
|
2035
|
+
}
|
|
2595
2036
|
});
|
|
2596
|
-
|
|
2597
|
-
|
|
2598
|
-
|
|
2599
|
-
|
|
2600
|
-
|
|
2601
|
-
|
|
2602
|
-
|
|
2603
|
-
|
|
2604
|
-
|
|
2605
|
-
|
|
2606
|
-
|
|
2037
|
+
var useSidebars = (consumerName = GENERIC_CONSUMER_NAME) => {
|
|
2038
|
+
const { setNavigationSidebarState, navigationSidebarState, setComplementarySidebarState, complementarySidebarState } = useMainContext(consumerName);
|
|
2039
|
+
return {
|
|
2040
|
+
navigationSidebarState,
|
|
2041
|
+
setNavigationSidebarState,
|
|
2042
|
+
toggleNavigationSidebar: (0, import_react37.useCallback)(() => setNavigationSidebarState(navigationSidebarState === "expanded" ? "closed" : "expanded"), [
|
|
2043
|
+
navigationSidebarState,
|
|
2044
|
+
setNavigationSidebarState
|
|
2045
|
+
]),
|
|
2046
|
+
openNavigationSidebar: (0, import_react37.useCallback)(() => setNavigationSidebarState("expanded"), []),
|
|
2047
|
+
collapseNavigationSidebar: (0, import_react37.useCallback)(() => setNavigationSidebarState("collapsed"), []),
|
|
2048
|
+
closeNavigationSidebar: (0, import_react37.useCallback)(() => setNavigationSidebarState("closed"), []),
|
|
2049
|
+
complementarySidebarState,
|
|
2050
|
+
setComplementarySidebarState,
|
|
2051
|
+
toggleComplementarySidebar: (0, import_react37.useCallback)(() => setComplementarySidebarState(complementarySidebarState === "expanded" ? "closed" : "expanded"), [
|
|
2052
|
+
complementarySidebarState,
|
|
2053
|
+
setComplementarySidebarState
|
|
2054
|
+
]),
|
|
2055
|
+
openComplementarySidebar: (0, import_react37.useCallback)(() => setComplementarySidebarState("expanded"), []),
|
|
2056
|
+
collapseComplementarySidebar: (0, import_react37.useCallback)(() => setComplementarySidebarState("collapsed"), []),
|
|
2057
|
+
closeComplementarySidebar: (0, import_react37.useCallback)(() => setComplementarySidebarState("closed"), [])
|
|
2058
|
+
};
|
|
2059
|
+
};
|
|
2060
|
+
var resizeDebounce = 3e3;
|
|
2061
|
+
var MainRoot = ({ navigationSidebarState: propsNavigationSidebarState, defaultNavigationSidebarState, onNavigationSidebarStateChange, complementarySidebarState: propsComplementarySidebarState, defaultComplementarySidebarState, onComplementarySidebarStateChange, children, ...props }) => {
|
|
2062
|
+
const [isLg] = (0, import_react_hooks4.useMediaQuery)("lg", {
|
|
2063
|
+
ssr: false
|
|
2607
2064
|
});
|
|
2608
|
-
|
|
2609
|
-
|
|
2610
|
-
|
|
2611
|
-
|
|
2612
|
-
const { __scopeDropdownMenu, classNames, ...itemProps } = props;
|
|
2613
|
-
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
2614
|
-
const { tx } = useThemeContext();
|
|
2615
|
-
return /* @__PURE__ */ import_react38.default.createElement(MenuPrimitive.Item, {
|
|
2616
|
-
...menuScope,
|
|
2617
|
-
...itemProps,
|
|
2618
|
-
className: tx("menu.item", "menu__item", {}, classNames),
|
|
2619
|
-
ref: forwardedRef
|
|
2065
|
+
const [navigationSidebarState = isLg ? "expanded" : "collapsed", setNavigationSidebarState] = (0, import_react_use_controllable_state4.useControllableState)({
|
|
2066
|
+
prop: propsNavigationSidebarState,
|
|
2067
|
+
defaultProp: defaultNavigationSidebarState,
|
|
2068
|
+
onChange: onNavigationSidebarStateChange
|
|
2620
2069
|
});
|
|
2621
|
-
|
|
2622
|
-
|
|
2623
|
-
|
|
2624
|
-
|
|
2625
|
-
const { __scopeDropdownMenu, classNames, ...checkboxItemProps } = props;
|
|
2626
|
-
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
2627
|
-
const { tx } = useThemeContext();
|
|
2628
|
-
return /* @__PURE__ */ import_react38.default.createElement(MenuPrimitive.CheckboxItem, {
|
|
2629
|
-
...menuScope,
|
|
2630
|
-
...checkboxItemProps,
|
|
2631
|
-
className: tx("menu.item", "menu__item--checkbox", {}, classNames),
|
|
2632
|
-
ref: forwardedRef
|
|
2070
|
+
const [complementarySidebarState = isLg ? "expanded" : "collapsed", setComplementarySidebarState] = (0, import_react_use_controllable_state4.useControllableState)({
|
|
2071
|
+
prop: propsComplementarySidebarState,
|
|
2072
|
+
defaultProp: defaultComplementarySidebarState,
|
|
2073
|
+
onChange: onComplementarySidebarStateChange
|
|
2633
2074
|
});
|
|
2634
|
-
|
|
2635
|
-
|
|
2636
|
-
|
|
2637
|
-
|
|
2638
|
-
|
|
2639
|
-
|
|
2640
|
-
|
|
2641
|
-
|
|
2642
|
-
|
|
2643
|
-
|
|
2075
|
+
const [resizing, setResizing] = (0, import_react37.useState)(false);
|
|
2076
|
+
const resizeInterval = (0, import_react37.useRef)(null);
|
|
2077
|
+
const handleResize = (0, import_react37.useCallback)(() => {
|
|
2078
|
+
setResizing(true);
|
|
2079
|
+
if (resizeInterval.current) {
|
|
2080
|
+
clearTimeout(resizeInterval.current);
|
|
2081
|
+
}
|
|
2082
|
+
resizeInterval.current = setTimeout(() => {
|
|
2083
|
+
setResizing(false);
|
|
2084
|
+
resizeInterval.current = null;
|
|
2085
|
+
}, resizeDebounce);
|
|
2086
|
+
}, []);
|
|
2087
|
+
(0, import_react37.useEffect)(() => {
|
|
2088
|
+
window.addEventListener("resize", handleResize);
|
|
2089
|
+
return () => window.removeEventListener("resize", handleResize);
|
|
2090
|
+
}, [
|
|
2091
|
+
handleResize
|
|
2092
|
+
]);
|
|
2093
|
+
return /* @__PURE__ */ import_react37.default.createElement(MainProvider, {
|
|
2094
|
+
...props,
|
|
2095
|
+
navigationSidebarState,
|
|
2096
|
+
setNavigationSidebarState,
|
|
2097
|
+
complementarySidebarState,
|
|
2098
|
+
setComplementarySidebarState,
|
|
2099
|
+
resizing
|
|
2100
|
+
}, children);
|
|
2101
|
+
};
|
|
2102
|
+
MainRoot.displayName = MAIN_ROOT_NAME;
|
|
2103
|
+
var handleOpenAutoFocus = (event) => {
|
|
2104
|
+
!document.body.hasAttribute("data-is-keyboard") && event.preventDefault();
|
|
2105
|
+
};
|
|
2106
|
+
var MainSidebar = /* @__PURE__ */ (0, import_react37.forwardRef)(({ classNames, children, swipeToDismiss, onOpenAutoFocus, state, resizing, onStateChange, side, label, ...props }, forwardedRef) => {
|
|
2107
|
+
const [isLg] = (0, import_react_hooks4.useMediaQuery)("lg", {
|
|
2108
|
+
ssr: false
|
|
2644
2109
|
});
|
|
2645
|
-
});
|
|
2646
|
-
|
|
2647
|
-
|
|
2648
|
-
|
|
2649
|
-
|
|
2650
|
-
|
|
2651
|
-
return /* @__PURE__ */ import_react38.default.createElement(MenuPrimitive.RadioItem, {
|
|
2652
|
-
...menuScope,
|
|
2653
|
-
...radioItemProps,
|
|
2654
|
-
ref: forwardedRef
|
|
2110
|
+
const { tx } = useThemeContext();
|
|
2111
|
+
const { t } = useTranslation();
|
|
2112
|
+
const ref = (0, import_react_hooks4.useForwardedRef)(forwardedRef);
|
|
2113
|
+
const noopRef = (0, import_react37.useRef)(null);
|
|
2114
|
+
useSwipeToDismiss(swipeToDismiss ? ref : noopRef, {
|
|
2115
|
+
onDismiss: () => onStateChange?.("closed")
|
|
2655
2116
|
});
|
|
2117
|
+
const handleKeyDown = (0, import_react37.useCallback)((event) => {
|
|
2118
|
+
if (event.key === "Escape") {
|
|
2119
|
+
event.target.closest("[data-tabster]")?.focus();
|
|
2120
|
+
}
|
|
2121
|
+
props.onKeyDown?.(event);
|
|
2122
|
+
}, [
|
|
2123
|
+
props.onKeyDown
|
|
2124
|
+
]);
|
|
2125
|
+
const Root5 = isLg ? import_react_primitive9.Primitive.div : import_react_dialog2.DialogContent;
|
|
2126
|
+
return /* @__PURE__ */ import_react37.default.createElement(import_react_dialog2.Root, {
|
|
2127
|
+
open: state !== "closed",
|
|
2128
|
+
"aria-label": toLocalizedString(label, t),
|
|
2129
|
+
modal: false
|
|
2130
|
+
}, !isLg && /* @__PURE__ */ import_react37.default.createElement(import_react_dialog2.DialogTitle, {
|
|
2131
|
+
className: "sr-only"
|
|
2132
|
+
}, toLocalizedString(label, t)), /* @__PURE__ */ import_react37.default.createElement(Root5, {
|
|
2133
|
+
...!isLg && {
|
|
2134
|
+
forceMount: true,
|
|
2135
|
+
tabIndex: -1,
|
|
2136
|
+
onOpenAutoFocus: onOpenAutoFocus ?? handleOpenAutoFocus
|
|
2137
|
+
},
|
|
2138
|
+
...props,
|
|
2139
|
+
"data-side": side === "inline-end" ? "ie" : "is",
|
|
2140
|
+
"data-state": state,
|
|
2141
|
+
"data-resizing": resizing ? "true" : "false",
|
|
2142
|
+
className: tx("main.sidebar", "main__sidebar", {}, classNames),
|
|
2143
|
+
onKeyDown: handleKeyDown,
|
|
2144
|
+
...state === "closed" && {
|
|
2145
|
+
inert: "true"
|
|
2146
|
+
},
|
|
2147
|
+
ref
|
|
2148
|
+
}, children));
|
|
2656
2149
|
});
|
|
2657
|
-
|
|
2658
|
-
|
|
2659
|
-
|
|
2660
|
-
|
|
2661
|
-
|
|
2662
|
-
|
|
2663
|
-
|
|
2664
|
-
|
|
2150
|
+
var MainNavigationSidebar = /* @__PURE__ */ (0, import_react37.forwardRef)((props, forwardedRef) => {
|
|
2151
|
+
const { navigationSidebarState, setNavigationSidebarState, resizing } = useMainContext(NAVIGATION_SIDEBAR_NAME);
|
|
2152
|
+
const mover = useLandmarkMover(props.onKeyDown, "0");
|
|
2153
|
+
return /* @__PURE__ */ import_react37.default.createElement(MainSidebar, {
|
|
2154
|
+
...mover,
|
|
2155
|
+
...props,
|
|
2156
|
+
state: navigationSidebarState,
|
|
2157
|
+
onStateChange: setNavigationSidebarState,
|
|
2158
|
+
resizing,
|
|
2159
|
+
side: "inline-start",
|
|
2665
2160
|
ref: forwardedRef
|
|
2666
2161
|
});
|
|
2667
2162
|
});
|
|
2668
|
-
|
|
2669
|
-
var
|
|
2670
|
-
|
|
2671
|
-
const
|
|
2672
|
-
|
|
2673
|
-
|
|
2674
|
-
|
|
2675
|
-
|
|
2676
|
-
|
|
2677
|
-
|
|
2163
|
+
MainNavigationSidebar.displayName = NAVIGATION_SIDEBAR_NAME;
|
|
2164
|
+
var MainComplementarySidebar = /* @__PURE__ */ (0, import_react37.forwardRef)((props, forwardedRef) => {
|
|
2165
|
+
const { complementarySidebarState, setComplementarySidebarState, resizing } = useMainContext(COMPLEMENTARY_SIDEBAR_NAME);
|
|
2166
|
+
const mover = useLandmarkMover(props.onKeyDown, "2");
|
|
2167
|
+
return /* @__PURE__ */ import_react37.default.createElement(MainSidebar, {
|
|
2168
|
+
...mover,
|
|
2169
|
+
...props,
|
|
2170
|
+
state: complementarySidebarState,
|
|
2171
|
+
onStateChange: setComplementarySidebarState,
|
|
2172
|
+
resizing,
|
|
2173
|
+
side: "inline-end",
|
|
2678
2174
|
ref: forwardedRef
|
|
2679
2175
|
});
|
|
2680
2176
|
});
|
|
2681
|
-
|
|
2682
|
-
var
|
|
2683
|
-
|
|
2684
|
-
const { __scopeDropdownMenu, classNames, ...arrowProps } = props;
|
|
2685
|
-
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
2177
|
+
MainNavigationSidebar.displayName = NAVIGATION_SIDEBAR_NAME;
|
|
2178
|
+
var MainContent = /* @__PURE__ */ (0, import_react37.forwardRef)(({ asChild, classNames, bounce, handlesFocus, children, role, ...props }, forwardedRef) => {
|
|
2179
|
+
const { navigationSidebarState, complementarySidebarState } = useMainContext(MAIN_NAME);
|
|
2686
2180
|
const { tx } = useThemeContext();
|
|
2687
|
-
|
|
2688
|
-
|
|
2689
|
-
|
|
2690
|
-
|
|
2181
|
+
const Root5 = asChild ? import_react_slot10.Slot : role ? "div" : "main";
|
|
2182
|
+
const mover = useLandmarkMover(props.onKeyDown, "1");
|
|
2183
|
+
return /* @__PURE__ */ import_react37.default.createElement(Root5, {
|
|
2184
|
+
role,
|
|
2185
|
+
...handlesFocus && {
|
|
2186
|
+
...mover
|
|
2187
|
+
},
|
|
2188
|
+
...props,
|
|
2189
|
+
"data-sidebar-inline-start-state": navigationSidebarState,
|
|
2190
|
+
"data-sidebar-inline-end-state": complementarySidebarState,
|
|
2191
|
+
className: tx("main.content", "main", {
|
|
2192
|
+
bounce,
|
|
2193
|
+
handlesFocus
|
|
2194
|
+
}, classNames),
|
|
2691
2195
|
ref: forwardedRef
|
|
2692
|
-
});
|
|
2196
|
+
}, children);
|
|
2693
2197
|
});
|
|
2694
|
-
|
|
2695
|
-
var
|
|
2696
|
-
const
|
|
2697
|
-
|
|
2698
|
-
const [open = false, setOpen] = (0, import_react_use_controllable_state5.useControllableState)({
|
|
2699
|
-
prop: openProp,
|
|
2700
|
-
defaultProp: defaultOpen,
|
|
2701
|
-
onChange: onOpenChange
|
|
2198
|
+
MainContent.displayName = MAIN_NAME;
|
|
2199
|
+
var MainOverlay = /* @__PURE__ */ (0, import_react37.forwardRef)(({ classNames, ...props }, forwardedRef) => {
|
|
2200
|
+
const [isLg] = (0, import_react_hooks4.useMediaQuery)("lg", {
|
|
2201
|
+
ssr: false
|
|
2702
2202
|
});
|
|
2703
|
-
|
|
2704
|
-
|
|
2705
|
-
|
|
2706
|
-
|
|
2707
|
-
|
|
2708
|
-
|
|
2709
|
-
|
|
2710
|
-
|
|
2711
|
-
|
|
2712
|
-
|
|
2713
|
-
|
|
2714
|
-
|
|
2715
|
-
|
|
2203
|
+
const { navigationSidebarState, setNavigationSidebarState, complementarySidebarState, setComplementarySidebarState } = useMainContext(MAIN_NAME);
|
|
2204
|
+
const { tx } = useThemeContext();
|
|
2205
|
+
return /* @__PURE__ */ import_react37.default.createElement("div", {
|
|
2206
|
+
onClick: () => {
|
|
2207
|
+
setNavigationSidebarState("collapsed");
|
|
2208
|
+
setComplementarySidebarState("collapsed");
|
|
2209
|
+
},
|
|
2210
|
+
...props,
|
|
2211
|
+
className: tx("main.overlay", "main__overlay", {
|
|
2212
|
+
isLg,
|
|
2213
|
+
inlineStartSidebarOpen: navigationSidebarState,
|
|
2214
|
+
inlineEndSidebarOpen: complementarySidebarState
|
|
2215
|
+
}, classNames),
|
|
2216
|
+
"data-state": navigationSidebarState === "expanded" || complementarySidebarState === "expanded" ? "open" : "closed",
|
|
2217
|
+
"aria-hidden": "true",
|
|
2716
2218
|
ref: forwardedRef
|
|
2717
2219
|
});
|
|
2718
2220
|
});
|
|
2719
|
-
|
|
2720
|
-
|
|
2721
|
-
|
|
2722
|
-
|
|
2723
|
-
|
|
2724
|
-
|
|
2725
|
-
...menuScope,
|
|
2726
|
-
...subContentProps,
|
|
2727
|
-
ref: forwardedRef,
|
|
2728
|
-
style: {
|
|
2729
|
-
...props.style,
|
|
2730
|
-
// re-namespace exposed content custom properties
|
|
2731
|
-
...{
|
|
2732
|
-
"--radix-dropdown-menu-content-transform-origin": "var(--radix-popper-transform-origin)",
|
|
2733
|
-
"--radix-dropdown-menu-content-available-width": "var(--radix-popper-available-width)",
|
|
2734
|
-
"--radix-dropdown-menu-content-available-height": "var(--radix-popper-available-height)",
|
|
2735
|
-
"--radix-dropdown-menu-trigger-width": "var(--radix-popper-anchor-width)",
|
|
2736
|
-
"--radix-dropdown-menu-trigger-height": "var(--radix-popper-anchor-height)"
|
|
2737
|
-
}
|
|
2738
|
-
}
|
|
2739
|
-
});
|
|
2740
|
-
});
|
|
2741
|
-
DropdownMenuSubContent.displayName = SUB_CONTENT_NAME;
|
|
2742
|
-
var DropdownMenu = {
|
|
2743
|
-
Root: DropdownMenuRoot,
|
|
2744
|
-
Trigger: DropdownMenuTrigger,
|
|
2745
|
-
VirtualTrigger: DropdownMenuVirtualTrigger,
|
|
2746
|
-
Portal: DropdownMenuPortal,
|
|
2747
|
-
Content: DropdownMenuContent,
|
|
2748
|
-
Viewport: DropdownMenuViewport,
|
|
2749
|
-
Group: DropdownMenuGroup,
|
|
2750
|
-
GroupLabel: DropdownMenuGroupLabel,
|
|
2751
|
-
Item: DropdownMenuItem,
|
|
2752
|
-
CheckboxItem: DropdownMenuCheckboxItem,
|
|
2753
|
-
RadioGroup: DropdownMenuRadioGroup,
|
|
2754
|
-
RadioItem: DropdownMenuRadioItem,
|
|
2755
|
-
ItemIndicator: DropdownMenuItemIndicator,
|
|
2756
|
-
Separator: DropdownMenuSeparator,
|
|
2757
|
-
Arrow: DropdownMenuArrow,
|
|
2758
|
-
Sub: DropdownMenuSub,
|
|
2759
|
-
SubTrigger: DropdownMenuSubTrigger,
|
|
2760
|
-
SubContent: DropdownMenuSubContent
|
|
2221
|
+
var Main = {
|
|
2222
|
+
Root: MainRoot,
|
|
2223
|
+
Content: MainContent,
|
|
2224
|
+
Overlay: MainOverlay,
|
|
2225
|
+
NavigationSidebar: MainNavigationSidebar,
|
|
2226
|
+
ComplementarySidebar: MainComplementarySidebar
|
|
2761
2227
|
};
|
|
2762
|
-
var useDropdownMenuMenuScope = useMenuScope;
|
|
2763
2228
|
var MESSAGE_NAME = "Message";
|
|
2764
|
-
var [MessageProvider, useMessageContext] = (0,
|
|
2229
|
+
var [MessageProvider, useMessageContext] = (0, import_react_context8.createContext)(MESSAGE_NAME);
|
|
2765
2230
|
var MessageRoot = /* @__PURE__ */ (0, import_react39.forwardRef)(({ asChild, valence, elevation: propsElevation, className, titleId: propsTitleId, descriptionId: propsDescriptionId, children, ...props }, forwardedRef) => {
|
|
2766
2231
|
const { tx } = useThemeContext();
|
|
2767
2232
|
const titleId = (0, import_react_hooks5.useId)("message__title", propsTitleId);
|
|
2768
2233
|
const descriptionId = (0, import_react_hooks5.useId)("message__description", propsDescriptionId);
|
|
2769
2234
|
const elevation = useElevationContext(propsElevation);
|
|
2770
|
-
const
|
|
2235
|
+
const Root5 = asChild ? import_react_slot11.Slot : import_react_primitive10.Primitive.div;
|
|
2771
2236
|
return /* @__PURE__ */ import_react39.default.createElement(MessageProvider, {
|
|
2772
2237
|
titleId,
|
|
2773
2238
|
descriptionId
|
|
2774
|
-
}, /* @__PURE__ */ import_react39.default.createElement(
|
|
2239
|
+
}, /* @__PURE__ */ import_react39.default.createElement(Root5, {
|
|
2775
2240
|
...props,
|
|
2776
2241
|
className: tx("message.root", "message", {
|
|
2777
2242
|
valence,
|
|
@@ -2787,8 +2252,8 @@ var MESSAGE_TITLE_NAME = "MessageTitle";
|
|
|
2787
2252
|
var MessageTitle = /* @__PURE__ */ (0, import_react39.forwardRef)(({ asChild, className, children, ...props }, forwardedRef) => {
|
|
2788
2253
|
const { tx } = useThemeContext();
|
|
2789
2254
|
const { titleId } = useMessageContext(MESSAGE_TITLE_NAME);
|
|
2790
|
-
const
|
|
2791
|
-
return /* @__PURE__ */ import_react39.default.createElement(
|
|
2255
|
+
const Root5 = asChild ? import_react_slot11.Slot : import_react_primitive10.Primitive.h2;
|
|
2256
|
+
return /* @__PURE__ */ import_react39.default.createElement(Root5, {
|
|
2792
2257
|
...props,
|
|
2793
2258
|
className: tx("message.title", "message__title", {}, className),
|
|
2794
2259
|
id: titleId,
|
|
@@ -2800,8 +2265,8 @@ var MESSAGE_BODY_NAME = "MessageBody";
|
|
|
2800
2265
|
var MessageBody = /* @__PURE__ */ (0, import_react39.forwardRef)(({ asChild, className, children, ...props }, forwardedRef) => {
|
|
2801
2266
|
const { tx } = useThemeContext();
|
|
2802
2267
|
const { descriptionId } = useMessageContext(MESSAGE_BODY_NAME);
|
|
2803
|
-
const
|
|
2804
|
-
return /* @__PURE__ */ import_react39.default.createElement(
|
|
2268
|
+
const Root5 = asChild ? import_react_slot11.Slot : import_react_primitive10.Primitive.p;
|
|
2269
|
+
return /* @__PURE__ */ import_react39.default.createElement(Root5, {
|
|
2805
2270
|
...props,
|
|
2806
2271
|
className: tx("message.body", "message__body", {}, className),
|
|
2807
2272
|
id: descriptionId,
|
|
@@ -2815,24 +2280,24 @@ var Message = {
|
|
|
2815
2280
|
Body: MessageBody
|
|
2816
2281
|
};
|
|
2817
2282
|
var POPOVER_NAME = "Popover";
|
|
2818
|
-
var [createPopoverContext, createPopoverScope] = (0,
|
|
2819
|
-
|
|
2283
|
+
var [createPopoverContext, createPopoverScope] = (0, import_react_context9.createContextScope)(POPOVER_NAME, [
|
|
2284
|
+
import_react_popper.createPopperScope
|
|
2820
2285
|
]);
|
|
2821
|
-
var
|
|
2286
|
+
var usePopperScope = (0, import_react_popper.createPopperScope)();
|
|
2822
2287
|
var [PopoverProvider, usePopoverContext] = createPopoverContext(POPOVER_NAME);
|
|
2823
2288
|
var PopoverRoot = (props) => {
|
|
2824
2289
|
const { __scopePopover, children, open: openProp, defaultOpen, onOpenChange, modal = false } = props;
|
|
2825
|
-
const popperScope =
|
|
2290
|
+
const popperScope = usePopperScope(__scopePopover);
|
|
2826
2291
|
const triggerRef = (0, import_react40.useRef)(null);
|
|
2827
2292
|
const [hasCustomAnchor, setHasCustomAnchor] = (0, import_react40.useState)(false);
|
|
2828
|
-
const [open = false, setOpen] = (0,
|
|
2293
|
+
const [open = false, setOpen] = (0, import_react_use_controllable_state5.useControllableState)({
|
|
2829
2294
|
prop: openProp,
|
|
2830
2295
|
defaultProp: defaultOpen,
|
|
2831
2296
|
onChange: onOpenChange
|
|
2832
2297
|
});
|
|
2833
|
-
return /* @__PURE__ */ import_react40.default.createElement(
|
|
2298
|
+
return /* @__PURE__ */ import_react40.default.createElement(PopperPrimitive.Root, popperScope, /* @__PURE__ */ import_react40.default.createElement(PopoverProvider, {
|
|
2834
2299
|
scope: __scopePopover,
|
|
2835
|
-
contentId: (0,
|
|
2300
|
+
contentId: (0, import_react_id2.useId)(),
|
|
2836
2301
|
triggerRef,
|
|
2837
2302
|
open,
|
|
2838
2303
|
onOpenChange: setOpen,
|
|
@@ -2850,7 +2315,7 @@ var ANCHOR_NAME = "PopoverAnchor";
|
|
|
2850
2315
|
var PopoverAnchor = /* @__PURE__ */ (0, import_react40.forwardRef)((props, forwardedRef) => {
|
|
2851
2316
|
const { __scopePopover, ...anchorProps } = props;
|
|
2852
2317
|
const context = usePopoverContext(ANCHOR_NAME, __scopePopover);
|
|
2853
|
-
const popperScope =
|
|
2318
|
+
const popperScope = usePopperScope(__scopePopover);
|
|
2854
2319
|
const { onCustomAnchorAdd, onCustomAnchorRemove } = context;
|
|
2855
2320
|
(0, import_react40.useEffect)(() => {
|
|
2856
2321
|
onCustomAnchorAdd();
|
|
@@ -2859,20 +2324,20 @@ var PopoverAnchor = /* @__PURE__ */ (0, import_react40.forwardRef)((props, forwa
|
|
|
2859
2324
|
onCustomAnchorAdd,
|
|
2860
2325
|
onCustomAnchorRemove
|
|
2861
2326
|
]);
|
|
2862
|
-
return /* @__PURE__ */ import_react40.default.createElement(
|
|
2327
|
+
return /* @__PURE__ */ import_react40.default.createElement(PopperPrimitive.Anchor, {
|
|
2863
2328
|
...popperScope,
|
|
2864
2329
|
...anchorProps,
|
|
2865
2330
|
ref: forwardedRef
|
|
2866
2331
|
});
|
|
2867
2332
|
});
|
|
2868
2333
|
PopoverAnchor.displayName = ANCHOR_NAME;
|
|
2869
|
-
var
|
|
2334
|
+
var TRIGGER_NAME2 = "PopoverTrigger";
|
|
2870
2335
|
var PopoverTrigger = /* @__PURE__ */ (0, import_react40.forwardRef)((props, forwardedRef) => {
|
|
2871
2336
|
const { __scopePopover, ...triggerProps } = props;
|
|
2872
|
-
const context = usePopoverContext(
|
|
2873
|
-
const popperScope =
|
|
2874
|
-
const composedTriggerRef = (0,
|
|
2875
|
-
const trigger = /* @__PURE__ */ import_react40.default.createElement(
|
|
2337
|
+
const context = usePopoverContext(TRIGGER_NAME2, __scopePopover);
|
|
2338
|
+
const popperScope = usePopperScope(__scopePopover);
|
|
2339
|
+
const composedTriggerRef = (0, import_react_compose_refs2.useComposedRefs)(forwardedRef, context.triggerRef);
|
|
2340
|
+
const trigger = /* @__PURE__ */ import_react40.default.createElement(import_react_primitive11.Primitive.button, {
|
|
2876
2341
|
type: "button",
|
|
2877
2342
|
"aria-haspopup": "dialog",
|
|
2878
2343
|
"aria-expanded": context.open,
|
|
@@ -2880,54 +2345,54 @@ var PopoverTrigger = /* @__PURE__ */ (0, import_react40.forwardRef)((props, forw
|
|
|
2880
2345
|
"data-state": getState(context.open),
|
|
2881
2346
|
...triggerProps,
|
|
2882
2347
|
ref: composedTriggerRef,
|
|
2883
|
-
onClick: (0,
|
|
2348
|
+
onClick: (0, import_primitive2.composeEventHandlers)(props.onClick, context.onOpenToggle)
|
|
2884
2349
|
});
|
|
2885
|
-
return context.hasCustomAnchor ? trigger : /* @__PURE__ */ import_react40.default.createElement(
|
|
2350
|
+
return context.hasCustomAnchor ? trigger : /* @__PURE__ */ import_react40.default.createElement(PopperPrimitive.Anchor, {
|
|
2886
2351
|
asChild: true,
|
|
2887
2352
|
...popperScope
|
|
2888
2353
|
}, trigger);
|
|
2889
2354
|
});
|
|
2890
|
-
PopoverTrigger.displayName =
|
|
2355
|
+
PopoverTrigger.displayName = TRIGGER_NAME2;
|
|
2891
2356
|
var VIRTUAL_TRIGGER_NAME2 = "PopoverVirtualTrigger";
|
|
2892
2357
|
var PopoverVirtualTrigger = (props) => {
|
|
2893
2358
|
const { __scopePopover, virtualRef } = props;
|
|
2894
2359
|
const context = usePopoverContext(VIRTUAL_TRIGGER_NAME2, __scopePopover);
|
|
2895
|
-
const popperScope =
|
|
2360
|
+
const popperScope = usePopperScope(__scopePopover);
|
|
2896
2361
|
(0, import_react40.useEffect)(() => {
|
|
2897
2362
|
if (virtualRef.current) {
|
|
2898
2363
|
context.triggerRef.current = virtualRef.current;
|
|
2899
2364
|
}
|
|
2900
2365
|
});
|
|
2901
|
-
return /* @__PURE__ */ import_react40.default.createElement(
|
|
2366
|
+
return /* @__PURE__ */ import_react40.default.createElement(PopperPrimitive.Anchor, {
|
|
2902
2367
|
...popperScope,
|
|
2903
2368
|
virtualRef
|
|
2904
2369
|
});
|
|
2905
2370
|
};
|
|
2906
2371
|
PopoverVirtualTrigger.displayName = VIRTUAL_TRIGGER_NAME2;
|
|
2907
|
-
var
|
|
2908
|
-
var [
|
|
2372
|
+
var PORTAL_NAME2 = "PopoverPortal";
|
|
2373
|
+
var [PortalProvider, usePortalContext] = createPopoverContext(PORTAL_NAME2, {
|
|
2909
2374
|
forceMount: void 0
|
|
2910
2375
|
});
|
|
2911
2376
|
var PopoverPortal = (props) => {
|
|
2912
2377
|
const { __scopePopover, forceMount, children, container } = props;
|
|
2913
|
-
const context = usePopoverContext(
|
|
2914
|
-
return /* @__PURE__ */ import_react40.default.createElement(
|
|
2378
|
+
const context = usePopoverContext(PORTAL_NAME2, __scopePopover);
|
|
2379
|
+
return /* @__PURE__ */ import_react40.default.createElement(PortalProvider, {
|
|
2915
2380
|
scope: __scopePopover,
|
|
2916
2381
|
forceMount
|
|
2917
|
-
}, /* @__PURE__ */ import_react40.default.createElement(
|
|
2382
|
+
}, /* @__PURE__ */ import_react40.default.createElement(import_react_presence.Presence, {
|
|
2918
2383
|
present: forceMount || context.open
|
|
2919
|
-
}, /* @__PURE__ */ import_react40.default.createElement(
|
|
2384
|
+
}, /* @__PURE__ */ import_react40.default.createElement(import_react_portal.Portal, {
|
|
2920
2385
|
asChild: true,
|
|
2921
2386
|
container
|
|
2922
2387
|
}, children)));
|
|
2923
2388
|
};
|
|
2924
|
-
PopoverPortal.displayName =
|
|
2925
|
-
var
|
|
2389
|
+
PopoverPortal.displayName = PORTAL_NAME2;
|
|
2390
|
+
var CONTENT_NAME2 = "PopoverContent";
|
|
2926
2391
|
var PopoverContent = /* @__PURE__ */ (0, import_react40.forwardRef)((props, forwardedRef) => {
|
|
2927
|
-
const portalContext =
|
|
2392
|
+
const portalContext = usePortalContext(CONTENT_NAME2, props.__scopePopover);
|
|
2928
2393
|
const { forceMount = portalContext.forceMount, ...contentProps } = props;
|
|
2929
|
-
const context = usePopoverContext(
|
|
2930
|
-
return /* @__PURE__ */ import_react40.default.createElement(
|
|
2394
|
+
const context = usePopoverContext(CONTENT_NAME2, props.__scopePopover);
|
|
2395
|
+
return /* @__PURE__ */ import_react40.default.createElement(import_react_presence.Presence, {
|
|
2931
2396
|
present: forceMount || context.open
|
|
2932
2397
|
}, context.modal ? /* @__PURE__ */ import_react40.default.createElement(PopoverContentModal, {
|
|
2933
2398
|
...contentProps,
|
|
@@ -2937,11 +2402,11 @@ var PopoverContent = /* @__PURE__ */ (0, import_react40.forwardRef)((props, forw
|
|
|
2937
2402
|
ref: forwardedRef
|
|
2938
2403
|
}));
|
|
2939
2404
|
});
|
|
2940
|
-
PopoverContent.displayName =
|
|
2405
|
+
PopoverContent.displayName = CONTENT_NAME2;
|
|
2941
2406
|
var PopoverContentModal = /* @__PURE__ */ (0, import_react40.forwardRef)((props, forwardedRef) => {
|
|
2942
|
-
const context = usePopoverContext(
|
|
2407
|
+
const context = usePopoverContext(CONTENT_NAME2, props.__scopePopover);
|
|
2943
2408
|
const contentRef = (0, import_react40.useRef)(null);
|
|
2944
|
-
const composedRefs = (0,
|
|
2409
|
+
const composedRefs = (0, import_react_compose_refs2.useComposedRefs)(forwardedRef, contentRef);
|
|
2945
2410
|
const isRightClickOutsideRef = (0, import_react40.useRef)(false);
|
|
2946
2411
|
(0, import_react40.useEffect)(() => {
|
|
2947
2412
|
const content = contentRef.current;
|
|
@@ -2950,7 +2415,7 @@ var PopoverContentModal = /* @__PURE__ */ (0, import_react40.forwardRef)((props,
|
|
|
2950
2415
|
}
|
|
2951
2416
|
}, []);
|
|
2952
2417
|
return /* @__PURE__ */ import_react40.default.createElement(import_react_remove_scroll.RemoveScroll, {
|
|
2953
|
-
as:
|
|
2418
|
+
as: import_react_slot12.Slot,
|
|
2954
2419
|
allowPinchZoom: true
|
|
2955
2420
|
}, /* @__PURE__ */ import_react40.default.createElement(PopoverContentImpl, {
|
|
2956
2421
|
...props,
|
|
@@ -2959,13 +2424,13 @@ var PopoverContentModal = /* @__PURE__ */ (0, import_react40.forwardRef)((props,
|
|
|
2959
2424
|
// (closed !== unmounted when animating out)
|
|
2960
2425
|
trapFocus: context.open,
|
|
2961
2426
|
disableOutsidePointerEvents: true,
|
|
2962
|
-
onCloseAutoFocus: (0,
|
|
2427
|
+
onCloseAutoFocus: (0, import_primitive2.composeEventHandlers)(props.onCloseAutoFocus, (event) => {
|
|
2963
2428
|
event.preventDefault();
|
|
2964
2429
|
if (!isRightClickOutsideRef.current) {
|
|
2965
2430
|
context.triggerRef.current?.focus();
|
|
2966
2431
|
}
|
|
2967
2432
|
}),
|
|
2968
|
-
onPointerDownOutside: (0,
|
|
2433
|
+
onPointerDownOutside: (0, import_primitive2.composeEventHandlers)(props.onPointerDownOutside, (event) => {
|
|
2969
2434
|
const originalEvent = event.detail.originalEvent;
|
|
2970
2435
|
const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;
|
|
2971
2436
|
const isRightClick = originalEvent.button === 2 || ctrlLeftClick;
|
|
@@ -2975,13 +2440,13 @@ var PopoverContentModal = /* @__PURE__ */ (0, import_react40.forwardRef)((props,
|
|
|
2975
2440
|
}),
|
|
2976
2441
|
// When focus is trapped, a `focusout` event may still happen.
|
|
2977
2442
|
// We make sure we don't trigger our `onDismiss` in such case.
|
|
2978
|
-
onFocusOutside: (0,
|
|
2443
|
+
onFocusOutside: (0, import_primitive2.composeEventHandlers)(props.onFocusOutside, (event) => event.preventDefault(), {
|
|
2979
2444
|
checkForDefaultPrevented: false
|
|
2980
2445
|
})
|
|
2981
2446
|
}));
|
|
2982
2447
|
});
|
|
2983
2448
|
var PopoverContentNonModal = /* @__PURE__ */ (0, import_react40.forwardRef)((props, forwardedRef) => {
|
|
2984
|
-
const context = usePopoverContext(
|
|
2449
|
+
const context = usePopoverContext(CONTENT_NAME2, props.__scopePopover);
|
|
2985
2450
|
const hasInteractedOutsideRef = (0, import_react40.useRef)(false);
|
|
2986
2451
|
const hasPointerDownOutsideRef = (0, import_react40.useRef)(false);
|
|
2987
2452
|
return /* @__PURE__ */ import_react40.default.createElement(PopoverContentImpl, {
|
|
@@ -3021,8 +2486,8 @@ var PopoverContentNonModal = /* @__PURE__ */ (0, import_react40.forwardRef)((pro
|
|
|
3021
2486
|
});
|
|
3022
2487
|
var PopoverContentImpl = /* @__PURE__ */ (0, import_react40.forwardRef)((props, forwardedRef) => {
|
|
3023
2488
|
const { __scopePopover, trapFocus, onOpenAutoFocus, onCloseAutoFocus, disableOutsidePointerEvents, onEscapeKeyDown, onPointerDownOutside, onFocusOutside, onInteractOutside, collisionPadding = 8, classNames, ...contentProps } = props;
|
|
3024
|
-
const context = usePopoverContext(
|
|
3025
|
-
const popperScope =
|
|
2489
|
+
const context = usePopoverContext(CONTENT_NAME2, __scopePopover);
|
|
2490
|
+
const popperScope = usePopperScope(__scopePopover);
|
|
3026
2491
|
const { tx } = useThemeContext();
|
|
3027
2492
|
const elevation = useElevationContext();
|
|
3028
2493
|
const safeCollisionPadding = useSafeCollisionPadding(collisionPadding);
|
|
@@ -3033,7 +2498,7 @@ var PopoverContentImpl = /* @__PURE__ */ (0, import_react40.forwardRef)((props,
|
|
|
3033
2498
|
trapped: trapFocus,
|
|
3034
2499
|
onMountAutoFocus: onOpenAutoFocus,
|
|
3035
2500
|
onUnmountAutoFocus: onCloseAutoFocus
|
|
3036
|
-
}, /* @__PURE__ */ import_react40.default.createElement(
|
|
2501
|
+
}, /* @__PURE__ */ import_react40.default.createElement(import_react_dismissable_layer.DismissableLayer, {
|
|
3037
2502
|
asChild: true,
|
|
3038
2503
|
disableOutsidePointerEvents,
|
|
3039
2504
|
onInteractOutside,
|
|
@@ -3041,7 +2506,7 @@ var PopoverContentImpl = /* @__PURE__ */ (0, import_react40.forwardRef)((props,
|
|
|
3041
2506
|
onPointerDownOutside,
|
|
3042
2507
|
onFocusOutside,
|
|
3043
2508
|
onDismiss: () => context.onOpenChange(false)
|
|
3044
|
-
}, /* @__PURE__ */ import_react40.default.createElement(
|
|
2509
|
+
}, /* @__PURE__ */ import_react40.default.createElement(PopperPrimitive.Content, {
|
|
3045
2510
|
"data-state": getState(context.open),
|
|
3046
2511
|
role: "dialog",
|
|
3047
2512
|
id: context.contentId,
|
|
@@ -3069,31 +2534,31 @@ var CLOSE_NAME = "PopoverClose";
|
|
|
3069
2534
|
var PopoverClose = /* @__PURE__ */ (0, import_react40.forwardRef)((props, forwardedRef) => {
|
|
3070
2535
|
const { __scopePopover, ...closeProps } = props;
|
|
3071
2536
|
const context = usePopoverContext(CLOSE_NAME, __scopePopover);
|
|
3072
|
-
return /* @__PURE__ */ import_react40.default.createElement(
|
|
2537
|
+
return /* @__PURE__ */ import_react40.default.createElement(import_react_primitive11.Primitive.button, {
|
|
3073
2538
|
type: "button",
|
|
3074
2539
|
...closeProps,
|
|
3075
2540
|
ref: forwardedRef,
|
|
3076
|
-
onClick: (0,
|
|
2541
|
+
onClick: (0, import_primitive2.composeEventHandlers)(props.onClick, () => context.onOpenChange(false))
|
|
3077
2542
|
});
|
|
3078
2543
|
});
|
|
3079
2544
|
PopoverClose.displayName = CLOSE_NAME;
|
|
3080
|
-
var
|
|
2545
|
+
var ARROW_NAME2 = "PopoverArrow";
|
|
3081
2546
|
var PopoverArrow = /* @__PURE__ */ (0, import_react40.forwardRef)((props, forwardedRef) => {
|
|
3082
2547
|
const { __scopePopover, classNames, ...arrowProps } = props;
|
|
3083
|
-
const popperScope =
|
|
2548
|
+
const popperScope = usePopperScope(__scopePopover);
|
|
3084
2549
|
const { tx } = useThemeContext();
|
|
3085
|
-
return /* @__PURE__ */ import_react40.default.createElement(
|
|
2550
|
+
return /* @__PURE__ */ import_react40.default.createElement(PopperPrimitive.Arrow, {
|
|
3086
2551
|
...popperScope,
|
|
3087
2552
|
...arrowProps,
|
|
3088
2553
|
className: tx("popover.arrow", "popover__arrow", {}, classNames),
|
|
3089
2554
|
ref: forwardedRef
|
|
3090
2555
|
});
|
|
3091
2556
|
});
|
|
3092
|
-
PopoverArrow.displayName =
|
|
2557
|
+
PopoverArrow.displayName = ARROW_NAME2;
|
|
3093
2558
|
var PopoverViewport = /* @__PURE__ */ (0, import_react40.forwardRef)(({ classNames, asChild, constrainInline = true, constrainBlock = true, children, ...props }, forwardedRef) => {
|
|
3094
2559
|
const { tx } = useThemeContext();
|
|
3095
|
-
const
|
|
3096
|
-
return /* @__PURE__ */ import_react40.default.createElement(
|
|
2560
|
+
const Root5 = asChild ? import_react_slot12.Slot : import_react_primitive11.Primitive.div;
|
|
2561
|
+
return /* @__PURE__ */ import_react40.default.createElement(Root5, {
|
|
3097
2562
|
...props,
|
|
3098
2563
|
className: tx("popover.viewport", "popover__viewport", {
|
|
3099
2564
|
constrainInline,
|
|
@@ -3328,8 +2793,8 @@ var Separator4 = /* @__PURE__ */ (0, import_react45.forwardRef)(({ classNames, o
|
|
|
3328
2793
|
});
|
|
3329
2794
|
var Tag = /* @__PURE__ */ (0, import_react46.forwardRef)(({ asChild, palette = "neutral", classNames, ...props }, forwardedRef) => {
|
|
3330
2795
|
const { tx } = useThemeContext();
|
|
3331
|
-
const
|
|
3332
|
-
return /* @__PURE__ */ import_react46.default.createElement(
|
|
2796
|
+
const Root5 = asChild ? import_react_slot13.Slot : import_react_primitive12.Primitive.span;
|
|
2797
|
+
return /* @__PURE__ */ import_react46.default.createElement(Root5, {
|
|
3333
2798
|
...props,
|
|
3334
2799
|
className: tx("tag.root", "dx-tag", {
|
|
3335
2800
|
palette
|
|
@@ -3358,8 +2823,8 @@ var ToastRoot = /* @__PURE__ */ (0, import_react47.forwardRef)(({ classNames, ch
|
|
|
3358
2823
|
});
|
|
3359
2824
|
var ToastBody = /* @__PURE__ */ (0, import_react47.forwardRef)(({ asChild, classNames, ...props }, forwardedRef) => {
|
|
3360
2825
|
const { tx } = useThemeContext();
|
|
3361
|
-
const
|
|
3362
|
-
return /* @__PURE__ */ import_react47.default.createElement(
|
|
2826
|
+
const Root5 = asChild ? import_react_slot14.Slot : import_react_primitive13.Primitive.div;
|
|
2827
|
+
return /* @__PURE__ */ import_react47.default.createElement(Root5, {
|
|
3363
2828
|
...props,
|
|
3364
2829
|
className: tx("toast.body", "toast__body", {}, classNames),
|
|
3365
2830
|
ref: forwardedRef
|
|
@@ -3367,8 +2832,8 @@ var ToastBody = /* @__PURE__ */ (0, import_react47.forwardRef)(({ asChild, class
|
|
|
3367
2832
|
});
|
|
3368
2833
|
var ToastTitle = /* @__PURE__ */ (0, import_react47.forwardRef)(({ asChild, classNames, ...props }, forwardedRef) => {
|
|
3369
2834
|
const { tx } = useThemeContext();
|
|
3370
|
-
const
|
|
3371
|
-
return /* @__PURE__ */ import_react47.default.createElement(
|
|
2835
|
+
const Root5 = asChild ? import_react_slot14.Slot : import_react_toast.ToastTitle;
|
|
2836
|
+
return /* @__PURE__ */ import_react47.default.createElement(Root5, {
|
|
3372
2837
|
...props,
|
|
3373
2838
|
className: tx("toast.title", "toast__title", {}, classNames),
|
|
3374
2839
|
ref: forwardedRef
|
|
@@ -3376,8 +2841,8 @@ var ToastTitle = /* @__PURE__ */ (0, import_react47.forwardRef)(({ asChild, clas
|
|
|
3376
2841
|
});
|
|
3377
2842
|
var ToastDescription = /* @__PURE__ */ (0, import_react47.forwardRef)(({ asChild, classNames, ...props }, forwardedRef) => {
|
|
3378
2843
|
const { tx } = useThemeContext();
|
|
3379
|
-
const
|
|
3380
|
-
return /* @__PURE__ */ import_react47.default.createElement(
|
|
2844
|
+
const Root5 = asChild ? import_react_slot14.Slot : import_react_toast.ToastDescription;
|
|
2845
|
+
return /* @__PURE__ */ import_react47.default.createElement(Root5, {
|
|
3381
2846
|
...props,
|
|
3382
2847
|
className: tx("toast.description", "toast__description", {}, classNames),
|
|
3383
2848
|
ref: forwardedRef
|
|
@@ -3385,8 +2850,8 @@ var ToastDescription = /* @__PURE__ */ (0, import_react47.forwardRef)(({ asChild
|
|
|
3385
2850
|
});
|
|
3386
2851
|
var ToastActions = /* @__PURE__ */ (0, import_react47.forwardRef)(({ asChild, classNames, ...props }, forwardedRef) => {
|
|
3387
2852
|
const { tx } = useThemeContext();
|
|
3388
|
-
const
|
|
3389
|
-
return /* @__PURE__ */ import_react47.default.createElement(
|
|
2853
|
+
const Root5 = asChild ? import_react_slot14.Slot : import_react_primitive13.Primitive.div;
|
|
2854
|
+
return /* @__PURE__ */ import_react47.default.createElement(Root5, {
|
|
3390
2855
|
...props,
|
|
3391
2856
|
className: tx("toast.actions", "toast__actions", {}, classNames),
|
|
3392
2857
|
ref: forwardedRef
|
|
@@ -3553,7 +3018,6 @@ var Toolbar = {
|
|
|
3553
3018
|
Treegrid,
|
|
3554
3019
|
createDropdownMenuScope,
|
|
3555
3020
|
createPopoverScope,
|
|
3556
|
-
createTooltipScope,
|
|
3557
3021
|
hasIosKeyboard,
|
|
3558
3022
|
initialSafeArea,
|
|
3559
3023
|
isLabel,
|
|
@@ -3573,7 +3037,6 @@ var Toolbar = {
|
|
|
3573
3037
|
useSafeArea,
|
|
3574
3038
|
useSidebars,
|
|
3575
3039
|
useThemeContext,
|
|
3576
|
-
useTooltipContext,
|
|
3577
3040
|
useTranslation,
|
|
3578
3041
|
useTranslationsContext,
|
|
3579
3042
|
useVisualViewport,
|