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