@dxos/react-ui 0.6.14-main.2b6a0f3 → 0.6.14-main.69511f5
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 +697 -169
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node/index.cjs +670 -140
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +697 -169
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/types/src/components/Buttons/Button.d.ts +1 -1
- package/dist/types/src/components/Buttons/Button.d.ts.map +1 -1
- package/dist/types/src/components/Buttons/Button.stories.d.ts +1 -1
- package/dist/types/src/components/Icon/Icon.d.ts +1 -1
- package/dist/types/src/components/Icon/Icon.d.ts.map +1 -1
- package/dist/types/src/components/Menus/DropdownMenu.d.ts +105 -44
- package/dist/types/src/components/Menus/DropdownMenu.d.ts.map +1 -1
- package/dist/types/src/components/Menus/DropdownMenu.stories.d.ts +25 -25
- package/dist/types/src/components/Menus/DropdownMenu.stories.d.ts.map +1 -1
- package/dist/types/src/components/Popover/Popover.d.ts +87 -21
- package/dist/types/src/components/Popover/Popover.d.ts.map +1 -1
- package/dist/types/src/components/Popover/Popover.stories.d.ts +16 -11
- package/dist/types/src/components/Popover/Popover.stories.d.ts.map +1 -1
- package/package.json +25 -20
- package/src/components/Buttons/Button.tsx +46 -36
- package/src/components/Icon/Icon.tsx +11 -9
- package/src/components/Menus/DropdownMenu.stories.tsx +40 -1
- package/src/components/Menus/DropdownMenu.tsx +518 -69
- package/src/components/Popover/Popover.stories.tsx +24 -1
- package/src/components/Popover/Popover.tsx +524 -55
package/dist/lib/node/index.cjs
CHANGED
|
@@ -42,7 +42,7 @@ __export(node_exports, {
|
|
|
42
42
|
DensityContext: () => DensityContext,
|
|
43
43
|
DensityProvider: () => DensityProvider,
|
|
44
44
|
Dialog: () => Dialog,
|
|
45
|
-
DropdownMenu: () =>
|
|
45
|
+
DropdownMenu: () => DropdownMenu,
|
|
46
46
|
ElevationContext: () => ElevationContext,
|
|
47
47
|
ElevationProvider: () => ElevationProvider,
|
|
48
48
|
Icon: () => Icon,
|
|
@@ -72,14 +72,16 @@ __export(node_exports, {
|
|
|
72
72
|
Tree: () => Tree,
|
|
73
73
|
TreeItem: () => TreeItem,
|
|
74
74
|
Treegrid: () => Treegrid,
|
|
75
|
+
createDropdownMenuScope: () => createDropdownMenuScope,
|
|
76
|
+
createPopoverScope: () => createPopoverScope,
|
|
75
77
|
hasIosKeyboard: () => hasIosKeyboard,
|
|
76
78
|
isLabel: () => isLabel,
|
|
77
79
|
toLocalizedString: () => toLocalizedString,
|
|
78
80
|
useAvatarContext: () => useAvatarContext,
|
|
79
81
|
useButtonGroupContext: () => useButtonGroupContext,
|
|
80
82
|
useDensityContext: () => useDensityContext,
|
|
81
|
-
useDropdownMenuContext: () =>
|
|
82
|
-
useDropdownMenuMenuScope: () =>
|
|
83
|
+
useDropdownMenuContext: () => useDropdownMenuContext,
|
|
84
|
+
useDropdownMenuMenuScope: () => useDropdownMenuMenuScope,
|
|
83
85
|
useElevationContext: () => useElevationContext,
|
|
84
86
|
useListContext: () => import_react_list.useListContext,
|
|
85
87
|
useListItemContext: () => import_react_list.useListItemContext,
|
|
@@ -142,14 +144,20 @@ var ContextMenuPrimitive = __toESM(require("@radix-ui/react-context-menu"));
|
|
|
142
144
|
var import_react_primitive6 = require("@radix-ui/react-primitive");
|
|
143
145
|
var import_react_slot6 = require("@radix-ui/react-slot");
|
|
144
146
|
var import_react20 = __toESM(require("react"));
|
|
145
|
-
var
|
|
147
|
+
var import_primitive = require("@radix-ui/primitive");
|
|
148
|
+
var import_react_compose_refs = require("@radix-ui/react-compose-refs");
|
|
149
|
+
var import_react_context5 = require("@radix-ui/react-context");
|
|
150
|
+
var import_react_id = require("@radix-ui/react-id");
|
|
151
|
+
var MenuPrimitive = __toESM(require("@radix-ui/react-menu"));
|
|
152
|
+
var import_react_menu = require("@radix-ui/react-menu");
|
|
146
153
|
var import_react_primitive7 = require("@radix-ui/react-primitive");
|
|
147
154
|
var import_react_slot7 = require("@radix-ui/react-slot");
|
|
155
|
+
var import_react_use_controllable_state = require("@radix-ui/react-use-controllable-state");
|
|
148
156
|
var import_react21 = __toESM(require("react"));
|
|
149
157
|
var import_react22 = require("@phosphor-icons/react");
|
|
150
158
|
var import_react_checkbox = require("@radix-ui/react-checkbox");
|
|
151
159
|
var import_react_switch = require("@radix-ui/react-switch");
|
|
152
|
-
var
|
|
160
|
+
var import_react_use_controllable_state2 = require("@radix-ui/react-use-controllable-state");
|
|
153
161
|
var import_react23 = __toESM(require("react"));
|
|
154
162
|
var import_react_input = require("@dxos/react-input");
|
|
155
163
|
var import_react24 = require("@phosphor-icons/react");
|
|
@@ -159,31 +167,44 @@ var import_react_list = require("@dxos/react-list");
|
|
|
159
167
|
var import_react26 = __toESM(require("react"));
|
|
160
168
|
var import_react27 = __toESM(require("react"));
|
|
161
169
|
var import_react_tabster = require("@fluentui/react-tabster");
|
|
162
|
-
var
|
|
170
|
+
var import_react_context6 = require("@radix-ui/react-context");
|
|
163
171
|
var import_react_primitive8 = require("@radix-ui/react-primitive");
|
|
164
172
|
var import_react_slot9 = require("@radix-ui/react-slot");
|
|
165
|
-
var
|
|
173
|
+
var import_react_use_controllable_state3 = require("@radix-ui/react-use-controllable-state");
|
|
166
174
|
var import_react28 = __toESM(require("react"));
|
|
167
175
|
var import_react_tabster2 = require("@fluentui/react-tabster");
|
|
168
|
-
var
|
|
169
|
-
var
|
|
176
|
+
var import_react_compose_refs2 = require("@radix-ui/react-compose-refs");
|
|
177
|
+
var import_react_context7 = require("@radix-ui/react-context");
|
|
170
178
|
var import_react_dialog2 = require("@radix-ui/react-dialog");
|
|
171
179
|
var import_react_primitive9 = require("@radix-ui/react-primitive");
|
|
172
180
|
var import_react_slot10 = require("@radix-ui/react-slot");
|
|
173
|
-
var
|
|
181
|
+
var import_react_use_controllable_state4 = require("@radix-ui/react-use-controllable-state");
|
|
174
182
|
var import_react29 = __toESM(require("react"));
|
|
175
183
|
var import_log = require("@dxos/log");
|
|
176
184
|
var import_react_hooks3 = require("@dxos/react-hooks");
|
|
177
185
|
var import_react30 = require("react");
|
|
178
|
-
var
|
|
186
|
+
var import_react_context8 = require("@radix-ui/react-context");
|
|
179
187
|
var import_react_primitive10 = require("@radix-ui/react-primitive");
|
|
180
188
|
var import_react_slot11 = require("@radix-ui/react-slot");
|
|
181
189
|
var import_react31 = __toESM(require("react"));
|
|
182
190
|
var import_react_hooks4 = require("@dxos/react-hooks");
|
|
183
|
-
var
|
|
191
|
+
var import_primitive2 = require("@radix-ui/primitive");
|
|
192
|
+
var import_react_compose_refs3 = require("@radix-ui/react-compose-refs");
|
|
193
|
+
var import_react_context9 = require("@radix-ui/react-context");
|
|
194
|
+
var import_react_dismissable_layer = require("@radix-ui/react-dismissable-layer");
|
|
195
|
+
var import_react_focus_guards = require("@radix-ui/react-focus-guards");
|
|
196
|
+
var import_react_focus_scope = require("@radix-ui/react-focus-scope");
|
|
197
|
+
var import_react_id2 = require("@radix-ui/react-id");
|
|
198
|
+
var PopperPrimitive = __toESM(require("@radix-ui/react-popper"));
|
|
199
|
+
var import_react_popper = require("@radix-ui/react-popper");
|
|
200
|
+
var import_react_portal = require("@radix-ui/react-portal");
|
|
201
|
+
var import_react_presence = require("@radix-ui/react-presence");
|
|
184
202
|
var import_react_primitive11 = require("@radix-ui/react-primitive");
|
|
185
203
|
var import_react_slot12 = require("@radix-ui/react-slot");
|
|
204
|
+
var import_react_use_controllable_state5 = require("@radix-ui/react-use-controllable-state");
|
|
205
|
+
var import_aria_hidden = require("aria-hidden");
|
|
186
206
|
var import_react32 = __toESM(require("react"));
|
|
207
|
+
var import_react_remove_scroll = require("react-remove-scroll");
|
|
187
208
|
var import_react33 = __toESM(require("react"));
|
|
188
209
|
var import_react_scroll_area = require("@radix-ui/react-scroll-area");
|
|
189
210
|
var import_react34 = __toESM(require("react"));
|
|
@@ -294,8 +315,8 @@ var useVisualViewport = (deps) => {
|
|
|
294
315
|
};
|
|
295
316
|
var AnchoredOverflowRoot = /* @__PURE__ */ (0, import_react.forwardRef)(({ asChild, classNames, children, ...props }, forwardedRef) => {
|
|
296
317
|
const { tx } = useThemeContext();
|
|
297
|
-
const
|
|
298
|
-
return /* @__PURE__ */ import_react.default.createElement(
|
|
318
|
+
const Root5 = asChild ? import_react_slot.Slot : import_react_primitive.Primitive.div;
|
|
319
|
+
return /* @__PURE__ */ import_react.default.createElement(Root5, {
|
|
299
320
|
role: "none",
|
|
300
321
|
...props,
|
|
301
322
|
className: tx("anchoredOverflow.root", "overflow-anchored", {}, classNames),
|
|
@@ -304,8 +325,8 @@ var AnchoredOverflowRoot = /* @__PURE__ */ (0, import_react.forwardRef)(({ asChi
|
|
|
304
325
|
});
|
|
305
326
|
var AnchoredOverflowAnchor = /* @__PURE__ */ (0, import_react.forwardRef)(({ asChild, classNames, children, ...props }, forwardedRef) => {
|
|
306
327
|
const { tx } = useThemeContext();
|
|
307
|
-
const
|
|
308
|
-
return /* @__PURE__ */ import_react.default.createElement(
|
|
328
|
+
const Root5 = asChild ? import_react_slot.Slot : import_react_primitive.Primitive.div;
|
|
329
|
+
return /* @__PURE__ */ import_react.default.createElement(Root5, {
|
|
309
330
|
role: "none",
|
|
310
331
|
...props,
|
|
311
332
|
className: tx("anchoredOverflow.anchor", "overflow-anchor", {}, classNames),
|
|
@@ -316,7 +337,7 @@ var AnchoredOverflow = {
|
|
|
316
337
|
Root: AnchoredOverflowRoot,
|
|
317
338
|
Anchor: AnchoredOverflowAnchor
|
|
318
339
|
};
|
|
319
|
-
var Icon = /* @__PURE__ */ (0, import_react9.forwardRef)(({ icon, classNames, size, ...props }, forwardedRef) => {
|
|
340
|
+
var Icon = /* @__PURE__ */ (0, import_react9.memo)(/* @__PURE__ */ (0, import_react9.forwardRef)(({ icon, classNames, size, ...props }, forwardedRef) => {
|
|
320
341
|
const { tx } = useThemeContext();
|
|
321
342
|
return /* @__PURE__ */ import_react9.default.createElement("svg", {
|
|
322
343
|
...props,
|
|
@@ -327,7 +348,7 @@ var Icon = /* @__PURE__ */ (0, import_react9.forwardRef)(({ icon, classNames, si
|
|
|
327
348
|
}, /* @__PURE__ */ import_react9.default.createElement("use", {
|
|
328
349
|
href: `/icons.svg#${icon}`
|
|
329
350
|
}));
|
|
330
|
-
});
|
|
351
|
+
}));
|
|
331
352
|
var AVATAR_NAME = "Avatar";
|
|
332
353
|
var [AvatarProvider, useAvatarContext] = (0, import_react_context.createContext)(AVATAR_NAME);
|
|
333
354
|
var AvatarRoot = ({ size = 10, variant = "circle", status, animation, children, labelId: propsLabelId, descriptionId: propsDescriptionId, maskId: propsMaskId, inGroup, hue }) => {
|
|
@@ -419,10 +440,10 @@ var AvatarFrame = /* @__PURE__ */ (0, import_react8.forwardRef)(({ classNames, c
|
|
|
419
440
|
}));
|
|
420
441
|
});
|
|
421
442
|
var AvatarLabel = /* @__PURE__ */ (0, import_react8.forwardRef)(({ asChild, srOnly, classNames, ...props }, forwardedRef) => {
|
|
422
|
-
const
|
|
443
|
+
const Root5 = asChild ? import_react_slot2.Slot : import_react_primitive2.Primitive.span;
|
|
423
444
|
const { tx } = useThemeContext();
|
|
424
445
|
const { labelId } = useAvatarContext("AvatarLabel");
|
|
425
|
-
return /* @__PURE__ */ import_react8.default.createElement(
|
|
446
|
+
return /* @__PURE__ */ import_react8.default.createElement(Root5, {
|
|
426
447
|
...props,
|
|
427
448
|
id: labelId,
|
|
428
449
|
ref: forwardedRef,
|
|
@@ -432,10 +453,10 @@ var AvatarLabel = /* @__PURE__ */ (0, import_react8.forwardRef)(({ asChild, srOn
|
|
|
432
453
|
});
|
|
433
454
|
});
|
|
434
455
|
var AvatarDescription = /* @__PURE__ */ (0, import_react8.forwardRef)(({ asChild, srOnly, classNames, ...props }, forwardedRef) => {
|
|
435
|
-
const
|
|
456
|
+
const Root5 = asChild ? import_react_slot2.Slot : import_react_primitive2.Primitive.span;
|
|
436
457
|
const { tx } = useThemeContext();
|
|
437
458
|
const { descriptionId } = useAvatarContext("AvatarDescription");
|
|
438
|
-
return /* @__PURE__ */ import_react8.default.createElement(
|
|
459
|
+
return /* @__PURE__ */ import_react8.default.createElement(Root5, {
|
|
439
460
|
...props,
|
|
440
461
|
id: descriptionId,
|
|
441
462
|
ref: forwardedRef,
|
|
@@ -583,8 +604,8 @@ var AvatarGroupItem = {
|
|
|
583
604
|
};
|
|
584
605
|
var Link = /* @__PURE__ */ (0, import_react13.forwardRef)(({ asChild, variant, classNames, ...props }, forwardedRef) => {
|
|
585
606
|
const { tx } = useThemeContext();
|
|
586
|
-
const
|
|
587
|
-
return /* @__PURE__ */ import_react13.default.createElement(
|
|
607
|
+
const Root5 = asChild ? import_react_slot4.Slot : import_react_primitive4.Primitive.a;
|
|
608
|
+
return /* @__PURE__ */ import_react13.default.createElement(Root5, {
|
|
588
609
|
...props,
|
|
589
610
|
className: tx("link.root", "link", {
|
|
590
611
|
variant
|
|
@@ -594,8 +615,8 @@ var Link = /* @__PURE__ */ (0, import_react13.forwardRef)(({ asChild, variant, c
|
|
|
594
615
|
});
|
|
595
616
|
var BreadcrumbRoot = /* @__PURE__ */ (0, import_react12.forwardRef)(({ asChild, classNames, ...props }, forwardedRef) => {
|
|
596
617
|
const { tx } = useThemeContext();
|
|
597
|
-
const
|
|
598
|
-
return /* @__PURE__ */ import_react12.default.createElement(
|
|
618
|
+
const Root5 = asChild ? import_react_slot3.Slot : import_react_primitive3.Primitive.div;
|
|
619
|
+
return /* @__PURE__ */ import_react12.default.createElement(Root5, {
|
|
599
620
|
role: "navigation",
|
|
600
621
|
...props,
|
|
601
622
|
className: tx("breadcrumb.root", "breadcrumb", {}, classNames),
|
|
@@ -604,8 +625,8 @@ var BreadcrumbRoot = /* @__PURE__ */ (0, import_react12.forwardRef)(({ asChild,
|
|
|
604
625
|
});
|
|
605
626
|
var BreadcrumbList = /* @__PURE__ */ (0, import_react12.forwardRef)(({ asChild, classNames, ...props }, forwardedRef) => {
|
|
606
627
|
const { tx } = useThemeContext();
|
|
607
|
-
const
|
|
608
|
-
return /* @__PURE__ */ import_react12.default.createElement(
|
|
628
|
+
const Root5 = asChild ? import_react_slot3.Slot : import_react_primitive3.Primitive.ol;
|
|
629
|
+
return /* @__PURE__ */ import_react12.default.createElement(Root5, {
|
|
609
630
|
role: "list",
|
|
610
631
|
...props,
|
|
611
632
|
className: tx("breadcrumb.list", "breadcrumb__list", {}, classNames),
|
|
@@ -614,8 +635,8 @@ var BreadcrumbList = /* @__PURE__ */ (0, import_react12.forwardRef)(({ asChild,
|
|
|
614
635
|
});
|
|
615
636
|
var BreadcrumbListItem = /* @__PURE__ */ (0, import_react12.forwardRef)(({ asChild, classNames, ...props }, forwardedRef) => {
|
|
616
637
|
const { tx } = useThemeContext();
|
|
617
|
-
const
|
|
618
|
-
return /* @__PURE__ */ import_react12.default.createElement(
|
|
638
|
+
const Root5 = asChild ? import_react_slot3.Slot : import_react_primitive3.Primitive.li;
|
|
639
|
+
return /* @__PURE__ */ import_react12.default.createElement(Root5, {
|
|
619
640
|
role: "listitem",
|
|
620
641
|
...props,
|
|
621
642
|
className: tx("breadcrumb.listItem", "breadcrumb__list__item", {}, classNames),
|
|
@@ -623,16 +644,16 @@ var BreadcrumbListItem = /* @__PURE__ */ (0, import_react12.forwardRef)(({ asChi
|
|
|
623
644
|
});
|
|
624
645
|
});
|
|
625
646
|
var BreadcrumbLink = /* @__PURE__ */ (0, import_react12.forwardRef)(({ asChild, ...props }, forwardedRef) => {
|
|
626
|
-
const
|
|
627
|
-
return /* @__PURE__ */ import_react12.default.createElement(
|
|
647
|
+
const Root5 = asChild ? import_react_slot3.Slot : Link;
|
|
648
|
+
return /* @__PURE__ */ import_react12.default.createElement(Root5, {
|
|
628
649
|
...props,
|
|
629
650
|
ref: forwardedRef
|
|
630
651
|
});
|
|
631
652
|
});
|
|
632
653
|
var BreadcrumbCurrent = /* @__PURE__ */ (0, import_react12.forwardRef)(({ asChild, classNames, ...props }, forwardedRef) => {
|
|
633
654
|
const { tx } = useThemeContext();
|
|
634
|
-
const
|
|
635
|
-
return /* @__PURE__ */ import_react12.default.createElement(
|
|
655
|
+
const Root5 = asChild ? import_react_slot3.Slot : "h1";
|
|
656
|
+
return /* @__PURE__ */ import_react12.default.createElement(Root5, {
|
|
636
657
|
...props,
|
|
637
658
|
"aria-current": "page",
|
|
638
659
|
className: tx("breadcrumb.current", "breadcrumb__item__heading--current", {}, classNames),
|
|
@@ -663,13 +684,13 @@ var BUTTON_NAME = "Button";
|
|
|
663
684
|
var [ButtonGroupProvider, useButtonGroupContext] = (0, import_react_context2.createContext)(BUTTON_GROUP_NAME, {
|
|
664
685
|
inGroup: false
|
|
665
686
|
});
|
|
666
|
-
var Button = /* @__PURE__ */ (0, import_react14.forwardRef)(({ classNames, children, density: propsDensity, elevation: propsElevation, variant = "default", asChild, ...props }, ref) => {
|
|
687
|
+
var Button = /* @__PURE__ */ (0, import_react14.memo)(/* @__PURE__ */ (0, import_react14.forwardRef)(({ classNames, children, density: propsDensity, elevation: propsElevation, variant = "default", asChild, ...props }, ref) => {
|
|
667
688
|
const { inGroup } = useButtonGroupContext(BUTTON_NAME);
|
|
668
689
|
const { tx } = useThemeContext();
|
|
669
690
|
const elevation = useElevationContext(propsElevation);
|
|
670
691
|
const density = useDensityContext(propsDensity);
|
|
671
|
-
const
|
|
672
|
-
return /* @__PURE__ */ import_react14.default.createElement(
|
|
692
|
+
const Root5 = asChild ? import_react_slot5.Slot : import_react_primitive5.Primitive.button;
|
|
693
|
+
return /* @__PURE__ */ import_react14.default.createElement(Root5, {
|
|
673
694
|
ref,
|
|
674
695
|
...props,
|
|
675
696
|
"data-variant": variant,
|
|
@@ -686,13 +707,13 @@ var Button = /* @__PURE__ */ (0, import_react14.forwardRef)(({ classNames, child
|
|
|
686
707
|
disabled: true
|
|
687
708
|
}
|
|
688
709
|
}, children);
|
|
689
|
-
});
|
|
710
|
+
}));
|
|
690
711
|
Button.displayName = BUTTON_NAME;
|
|
691
712
|
var ButtonGroup = /* @__PURE__ */ (0, import_react14.forwardRef)(({ children, elevation: propsElevation, classNames, asChild, ...props }, forwardedRef) => {
|
|
692
713
|
const { tx } = useThemeContext();
|
|
693
714
|
const elevation = useElevationContext(propsElevation);
|
|
694
|
-
const
|
|
695
|
-
return /* @__PURE__ */ import_react14.default.createElement(
|
|
715
|
+
const Root5 = asChild ? import_react_slot5.Slot : import_react_primitive5.Primitive.div;
|
|
716
|
+
return /* @__PURE__ */ import_react14.default.createElement(Root5, {
|
|
696
717
|
role: "none",
|
|
697
718
|
...props,
|
|
698
719
|
className: tx("button.group", "button-group", {
|
|
@@ -893,8 +914,8 @@ var ContextMenuContent = /* @__PURE__ */ (0, import_react20.forwardRef)(({ class
|
|
|
893
914
|
});
|
|
894
915
|
var ContextMenuViewport = /* @__PURE__ */ (0, import_react20.forwardRef)(({ classNames, asChild, children, ...props }, forwardedRef) => {
|
|
895
916
|
const { tx } = useThemeContext();
|
|
896
|
-
const
|
|
897
|
-
return /* @__PURE__ */ import_react20.default.createElement(
|
|
917
|
+
const Root5 = asChild ? import_react_slot6.Slot : import_react_primitive6.Primitive.div;
|
|
918
|
+
return /* @__PURE__ */ import_react20.default.createElement(Root5, {
|
|
898
919
|
...props,
|
|
899
920
|
className: tx("menu.viewport", "menu__viewport", {}, classNames),
|
|
900
921
|
ref: forwardedRef
|
|
@@ -956,88 +977,347 @@ var ContextMenu2 = {
|
|
|
956
977
|
Separator: ContextMenuSeparator,
|
|
957
978
|
GroupLabel: ContextMenuGroupLabel
|
|
958
979
|
};
|
|
959
|
-
var
|
|
960
|
-
var
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
var
|
|
964
|
-
var
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
980
|
+
var DROPDOWN_MENU_NAME = "DropdownMenu";
|
|
981
|
+
var [createDropdownMenuContext, createDropdownMenuScope] = (0, import_react_context5.createContextScope)(DROPDOWN_MENU_NAME, [
|
|
982
|
+
import_react_menu.createMenuScope
|
|
983
|
+
]);
|
|
984
|
+
var useMenuScope = (0, import_react_menu.createMenuScope)();
|
|
985
|
+
var [DropdownMenuProvider, useDropdownMenuContext] = createDropdownMenuContext(DROPDOWN_MENU_NAME);
|
|
986
|
+
var DropdownMenuRoot = (props) => {
|
|
987
|
+
const { __scopeDropdownMenu, children, dir, open: openProp, defaultOpen, onOpenChange, modal = true } = props;
|
|
988
|
+
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
989
|
+
const triggerRef = (0, import_react21.useRef)(null);
|
|
990
|
+
const [open = false, setOpen] = (0, import_react_use_controllable_state.useControllableState)({
|
|
991
|
+
prop: openProp,
|
|
992
|
+
defaultProp: defaultOpen,
|
|
993
|
+
onChange: onOpenChange
|
|
994
|
+
});
|
|
995
|
+
return /* @__PURE__ */ import_react21.default.createElement(DropdownMenuProvider, {
|
|
996
|
+
scope: __scopeDropdownMenu,
|
|
997
|
+
triggerId: (0, import_react_id.useId)(),
|
|
998
|
+
triggerRef,
|
|
999
|
+
contentId: (0, import_react_id.useId)(),
|
|
1000
|
+
open,
|
|
1001
|
+
onOpenChange: setOpen,
|
|
1002
|
+
onOpenToggle: (0, import_react21.useCallback)(() => setOpen((prevOpen) => !prevOpen), [
|
|
1003
|
+
setOpen
|
|
1004
|
+
]),
|
|
1005
|
+
modal
|
|
1006
|
+
}, /* @__PURE__ */ import_react21.default.createElement(MenuPrimitive.Root, {
|
|
1007
|
+
...menuScope,
|
|
1008
|
+
open,
|
|
1009
|
+
onOpenChange: setOpen,
|
|
1010
|
+
dir,
|
|
1011
|
+
modal
|
|
974
1012
|
}, children));
|
|
1013
|
+
};
|
|
1014
|
+
DropdownMenuRoot.displayName = DROPDOWN_MENU_NAME;
|
|
1015
|
+
var TRIGGER_NAME = "DropdownMenuTrigger";
|
|
1016
|
+
var DropdownMenuTrigger = /* @__PURE__ */ (0, import_react21.forwardRef)((props, forwardedRef) => {
|
|
1017
|
+
const { __scopeDropdownMenu, disabled = false, ...triggerProps } = props;
|
|
1018
|
+
const context = useDropdownMenuContext(TRIGGER_NAME, __scopeDropdownMenu);
|
|
1019
|
+
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1020
|
+
return /* @__PURE__ */ import_react21.default.createElement(MenuPrimitive.Anchor, {
|
|
1021
|
+
asChild: true,
|
|
1022
|
+
...menuScope
|
|
1023
|
+
}, /* @__PURE__ */ import_react21.default.createElement(import_react_primitive7.Primitive.button, {
|
|
1024
|
+
type: "button",
|
|
1025
|
+
id: context.triggerId,
|
|
1026
|
+
"aria-haspopup": "menu",
|
|
1027
|
+
"aria-expanded": context.open,
|
|
1028
|
+
"aria-controls": context.open ? context.contentId : void 0,
|
|
1029
|
+
"data-state": context.open ? "open" : "closed",
|
|
1030
|
+
"data-disabled": disabled ? "" : void 0,
|
|
1031
|
+
disabled,
|
|
1032
|
+
...triggerProps,
|
|
1033
|
+
ref: (0, import_react_compose_refs.composeRefs)(forwardedRef, context.triggerRef),
|
|
1034
|
+
onPointerDown: (0, import_primitive.composeEventHandlers)(props.onPointerDown, (event) => {
|
|
1035
|
+
if (!disabled && event.button === 0 && event.ctrlKey === false) {
|
|
1036
|
+
context.onOpenToggle();
|
|
1037
|
+
if (!context.open) {
|
|
1038
|
+
event.preventDefault();
|
|
1039
|
+
}
|
|
1040
|
+
}
|
|
1041
|
+
}),
|
|
1042
|
+
onKeyDown: (0, import_primitive.composeEventHandlers)(props.onKeyDown, (event) => {
|
|
1043
|
+
if (disabled) {
|
|
1044
|
+
return;
|
|
1045
|
+
}
|
|
1046
|
+
if ([
|
|
1047
|
+
"Enter",
|
|
1048
|
+
" "
|
|
1049
|
+
].includes(event.key)) {
|
|
1050
|
+
context.onOpenToggle();
|
|
1051
|
+
}
|
|
1052
|
+
if (event.key === "ArrowDown") {
|
|
1053
|
+
context.onOpenChange(true);
|
|
1054
|
+
}
|
|
1055
|
+
if ([
|
|
1056
|
+
"Enter",
|
|
1057
|
+
" ",
|
|
1058
|
+
"ArrowDown"
|
|
1059
|
+
].includes(event.key)) {
|
|
1060
|
+
event.preventDefault();
|
|
1061
|
+
}
|
|
1062
|
+
})
|
|
1063
|
+
}));
|
|
975
1064
|
});
|
|
1065
|
+
DropdownMenuTrigger.displayName = TRIGGER_NAME;
|
|
1066
|
+
var VIRTUAL_TRIGGER_NAME = "DropdownMenuVirtualTrigger";
|
|
1067
|
+
var DropdownMenuVirtualTrigger = (props) => {
|
|
1068
|
+
const { __scopeDropdownMenu, virtualRef } = props;
|
|
1069
|
+
const context = useDropdownMenuContext(VIRTUAL_TRIGGER_NAME, __scopeDropdownMenu);
|
|
1070
|
+
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1071
|
+
(0, import_react21.useEffect)(() => {
|
|
1072
|
+
if (virtualRef.current) {
|
|
1073
|
+
context.triggerRef.current = virtualRef.current;
|
|
1074
|
+
}
|
|
1075
|
+
});
|
|
1076
|
+
return /* @__PURE__ */ import_react21.default.createElement(MenuPrimitive.Anchor, {
|
|
1077
|
+
...menuScope,
|
|
1078
|
+
virtualRef
|
|
1079
|
+
});
|
|
1080
|
+
};
|
|
1081
|
+
DropdownMenuVirtualTrigger.displayName = VIRTUAL_TRIGGER_NAME;
|
|
1082
|
+
var PORTAL_NAME = "DropdownMenuPortal";
|
|
1083
|
+
var DropdownMenuPortal = (props) => {
|
|
1084
|
+
const { __scopeDropdownMenu, ...portalProps } = props;
|
|
1085
|
+
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1086
|
+
return /* @__PURE__ */ import_react21.default.createElement(MenuPrimitive.Portal, {
|
|
1087
|
+
...menuScope,
|
|
1088
|
+
...portalProps
|
|
1089
|
+
});
|
|
1090
|
+
};
|
|
1091
|
+
DropdownMenuPortal.displayName = PORTAL_NAME;
|
|
976
1092
|
var DropdownMenuViewport = /* @__PURE__ */ (0, import_react21.forwardRef)(({ classNames, asChild, children, ...props }, forwardedRef) => {
|
|
977
1093
|
const { tx } = useThemeContext();
|
|
978
|
-
const
|
|
979
|
-
return /* @__PURE__ */ import_react21.default.createElement(
|
|
1094
|
+
const Root5 = asChild ? import_react_slot7.Slot : import_react_primitive7.Primitive.div;
|
|
1095
|
+
return /* @__PURE__ */ import_react21.default.createElement(Root5, {
|
|
980
1096
|
...props,
|
|
981
1097
|
className: tx("menu.viewport", "menu__viewport", {}, classNames),
|
|
982
1098
|
ref: forwardedRef
|
|
983
1099
|
}, children);
|
|
984
1100
|
});
|
|
985
|
-
var
|
|
1101
|
+
var CONTENT_NAME = "DropdownMenuContent";
|
|
1102
|
+
var DropdownMenuContent = /* @__PURE__ */ (0, import_react21.forwardRef)((props, forwardedRef) => {
|
|
1103
|
+
const { __scopeDropdownMenu, classNames, ...contentProps } = props;
|
|
1104
|
+
const { tx } = useThemeContext();
|
|
1105
|
+
const context = useDropdownMenuContext(CONTENT_NAME, __scopeDropdownMenu);
|
|
1106
|
+
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1107
|
+
const hasInteractedOutsideRef = (0, import_react21.useRef)(false);
|
|
1108
|
+
return /* @__PURE__ */ import_react21.default.createElement(MenuPrimitive.Content, {
|
|
1109
|
+
id: context.contentId,
|
|
1110
|
+
"aria-labelledby": context.triggerId,
|
|
1111
|
+
...menuScope,
|
|
1112
|
+
...contentProps,
|
|
1113
|
+
ref: forwardedRef,
|
|
1114
|
+
onCloseAutoFocus: (0, import_primitive.composeEventHandlers)(props.onCloseAutoFocus, (event) => {
|
|
1115
|
+
if (!hasInteractedOutsideRef.current) {
|
|
1116
|
+
context.triggerRef.current?.focus();
|
|
1117
|
+
}
|
|
1118
|
+
hasInteractedOutsideRef.current = false;
|
|
1119
|
+
event.preventDefault();
|
|
1120
|
+
}),
|
|
1121
|
+
onInteractOutside: (0, import_primitive.composeEventHandlers)(props.onInteractOutside, (event) => {
|
|
1122
|
+
const originalEvent = event.detail.originalEvent;
|
|
1123
|
+
const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;
|
|
1124
|
+
const isRightClick = originalEvent.button === 2 || ctrlLeftClick;
|
|
1125
|
+
if (!context.modal || isRightClick) {
|
|
1126
|
+
hasInteractedOutsideRef.current = true;
|
|
1127
|
+
}
|
|
1128
|
+
}),
|
|
1129
|
+
className: tx("menu.content", "menu", {}, classNames),
|
|
1130
|
+
style: {
|
|
1131
|
+
...props.style,
|
|
1132
|
+
// re-namespace exposed content custom properties
|
|
1133
|
+
...{
|
|
1134
|
+
"--radix-dropdown-menu-content-transform-origin": "var(--radix-popper-transform-origin)",
|
|
1135
|
+
"--radix-dropdown-menu-content-available-width": "var(--radix-popper-available-width)",
|
|
1136
|
+
"--radix-dropdown-menu-content-available-height": "var(--radix-popper-available-height)",
|
|
1137
|
+
"--radix-dropdown-menu-trigger-width": "var(--radix-popper-anchor-width)",
|
|
1138
|
+
"--radix-dropdown-menu-trigger-height": "var(--radix-popper-anchor-height)"
|
|
1139
|
+
}
|
|
1140
|
+
}
|
|
1141
|
+
});
|
|
1142
|
+
});
|
|
1143
|
+
DropdownMenuContent.displayName = CONTENT_NAME;
|
|
1144
|
+
var GROUP_NAME = "DropdownMenuGroup";
|
|
1145
|
+
var DropdownMenuGroup = /* @__PURE__ */ (0, import_react21.forwardRef)((props, forwardedRef) => {
|
|
1146
|
+
const { __scopeDropdownMenu, ...groupProps } = props;
|
|
1147
|
+
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1148
|
+
return /* @__PURE__ */ import_react21.default.createElement(MenuPrimitive.Group, {
|
|
1149
|
+
...menuScope,
|
|
1150
|
+
...groupProps,
|
|
1151
|
+
ref: forwardedRef
|
|
1152
|
+
});
|
|
1153
|
+
});
|
|
1154
|
+
DropdownMenuGroup.displayName = GROUP_NAME;
|
|
1155
|
+
var LABEL_NAME = "DropdownMenuLabel";
|
|
1156
|
+
var DropdownMenuGroupLabel = /* @__PURE__ */ (0, import_react21.forwardRef)((props, forwardedRef) => {
|
|
1157
|
+
const { __scopeDropdownMenu, classNames, ...labelProps } = props;
|
|
1158
|
+
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
986
1159
|
const { tx } = useThemeContext();
|
|
987
|
-
return /* @__PURE__ */ import_react21.default.createElement(
|
|
988
|
-
...
|
|
989
|
-
|
|
1160
|
+
return /* @__PURE__ */ import_react21.default.createElement(MenuPrimitive.Label, {
|
|
1161
|
+
...menuScope,
|
|
1162
|
+
...labelProps,
|
|
1163
|
+
className: tx("menu.groupLabel", "menu__group__label", {}, classNames),
|
|
990
1164
|
ref: forwardedRef
|
|
991
1165
|
});
|
|
992
1166
|
});
|
|
993
|
-
|
|
994
|
-
var
|
|
995
|
-
var DropdownMenuItem = /* @__PURE__ */ (0, import_react21.forwardRef)((
|
|
1167
|
+
DropdownMenuGroupLabel.displayName = LABEL_NAME;
|
|
1168
|
+
var ITEM_NAME = "DropdownMenuItem";
|
|
1169
|
+
var DropdownMenuItem = /* @__PURE__ */ (0, import_react21.forwardRef)((props, forwardedRef) => {
|
|
1170
|
+
const { __scopeDropdownMenu, classNames, ...itemProps } = props;
|
|
1171
|
+
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
996
1172
|
const { tx } = useThemeContext();
|
|
997
|
-
return /* @__PURE__ */ import_react21.default.createElement(
|
|
998
|
-
...
|
|
1173
|
+
return /* @__PURE__ */ import_react21.default.createElement(MenuPrimitive.Item, {
|
|
1174
|
+
...menuScope,
|
|
1175
|
+
...itemProps,
|
|
999
1176
|
className: tx("menu.item", "menu__item", {}, classNames),
|
|
1000
1177
|
ref: forwardedRef
|
|
1001
1178
|
});
|
|
1002
1179
|
});
|
|
1003
|
-
|
|
1180
|
+
DropdownMenuItem.displayName = ITEM_NAME;
|
|
1181
|
+
var CHECKBOX_ITEM_NAME = "DropdownMenuCheckboxItem";
|
|
1182
|
+
var DropdownMenuCheckboxItem = /* @__PURE__ */ (0, import_react21.forwardRef)((props, forwardedRef) => {
|
|
1183
|
+
const { __scopeDropdownMenu, classNames, ...checkboxItemProps } = props;
|
|
1184
|
+
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1004
1185
|
const { tx } = useThemeContext();
|
|
1005
|
-
return /* @__PURE__ */ import_react21.default.createElement(
|
|
1006
|
-
...
|
|
1186
|
+
return /* @__PURE__ */ import_react21.default.createElement(MenuPrimitive.CheckboxItem, {
|
|
1187
|
+
...menuScope,
|
|
1188
|
+
...checkboxItemProps,
|
|
1007
1189
|
className: tx("menu.item", "menu__item--checkbox", {}, classNames),
|
|
1008
1190
|
ref: forwardedRef
|
|
1009
1191
|
});
|
|
1010
1192
|
});
|
|
1011
|
-
|
|
1193
|
+
DropdownMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;
|
|
1194
|
+
var RADIO_GROUP_NAME = "DropdownMenuRadioGroup";
|
|
1195
|
+
var DropdownMenuRadioGroup = /* @__PURE__ */ (0, import_react21.forwardRef)((props, forwardedRef) => {
|
|
1196
|
+
const { __scopeDropdownMenu, ...radioGroupProps } = props;
|
|
1197
|
+
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1198
|
+
return /* @__PURE__ */ import_react21.default.createElement(MenuPrimitive.RadioGroup, {
|
|
1199
|
+
...menuScope,
|
|
1200
|
+
...radioGroupProps,
|
|
1201
|
+
ref: forwardedRef
|
|
1202
|
+
});
|
|
1203
|
+
});
|
|
1204
|
+
DropdownMenuRadioGroup.displayName = RADIO_GROUP_NAME;
|
|
1205
|
+
var RADIO_ITEM_NAME = "DropdownMenuRadioItem";
|
|
1206
|
+
var DropdownMenuRadioItem = /* @__PURE__ */ (0, import_react21.forwardRef)((props, forwardedRef) => {
|
|
1207
|
+
const { __scopeDropdownMenu, ...radioItemProps } = props;
|
|
1208
|
+
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1209
|
+
return /* @__PURE__ */ import_react21.default.createElement(MenuPrimitive.RadioItem, {
|
|
1210
|
+
...menuScope,
|
|
1211
|
+
...radioItemProps,
|
|
1212
|
+
ref: forwardedRef
|
|
1213
|
+
});
|
|
1214
|
+
});
|
|
1215
|
+
DropdownMenuRadioItem.displayName = RADIO_ITEM_NAME;
|
|
1216
|
+
var INDICATOR_NAME = "DropdownMenuItemIndicator";
|
|
1217
|
+
var DropdownMenuItemIndicator = /* @__PURE__ */ (0, import_react21.forwardRef)((props, forwardedRef) => {
|
|
1218
|
+
const { __scopeDropdownMenu, ...itemIndicatorProps } = props;
|
|
1219
|
+
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1220
|
+
return /* @__PURE__ */ import_react21.default.createElement(MenuPrimitive.ItemIndicator, {
|
|
1221
|
+
...menuScope,
|
|
1222
|
+
...itemIndicatorProps,
|
|
1223
|
+
ref: forwardedRef
|
|
1224
|
+
});
|
|
1225
|
+
});
|
|
1226
|
+
DropdownMenuItemIndicator.displayName = INDICATOR_NAME;
|
|
1227
|
+
var SEPARATOR_NAME = "DropdownMenuSeparator";
|
|
1228
|
+
var DropdownMenuSeparator = /* @__PURE__ */ (0, import_react21.forwardRef)((props, forwardedRef) => {
|
|
1229
|
+
const { __scopeDropdownMenu, classNames, ...separatorProps } = props;
|
|
1230
|
+
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1012
1231
|
const { tx } = useThemeContext();
|
|
1013
|
-
return /* @__PURE__ */ import_react21.default.createElement(
|
|
1014
|
-
...
|
|
1232
|
+
return /* @__PURE__ */ import_react21.default.createElement(MenuPrimitive.Separator, {
|
|
1233
|
+
...menuScope,
|
|
1234
|
+
...separatorProps,
|
|
1015
1235
|
className: tx("menu.separator", "menu__item", {}, classNames),
|
|
1016
1236
|
ref: forwardedRef
|
|
1017
1237
|
});
|
|
1018
1238
|
});
|
|
1019
|
-
|
|
1239
|
+
DropdownMenuSeparator.displayName = SEPARATOR_NAME;
|
|
1240
|
+
var ARROW_NAME = "DropdownMenuArrow";
|
|
1241
|
+
var DropdownMenuArrow = /* @__PURE__ */ (0, import_react21.forwardRef)((props, forwardedRef) => {
|
|
1242
|
+
const { __scopeDropdownMenu, classNames, ...arrowProps } = props;
|
|
1243
|
+
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1020
1244
|
const { tx } = useThemeContext();
|
|
1021
|
-
return /* @__PURE__ */ import_react21.default.createElement(
|
|
1022
|
-
...
|
|
1023
|
-
|
|
1245
|
+
return /* @__PURE__ */ import_react21.default.createElement(MenuPrimitive.Arrow, {
|
|
1246
|
+
...menuScope,
|
|
1247
|
+
...arrowProps,
|
|
1248
|
+
className: tx("menu.arrow", "menu__arrow", {}, classNames),
|
|
1024
1249
|
ref: forwardedRef
|
|
1025
1250
|
});
|
|
1026
1251
|
});
|
|
1027
|
-
|
|
1252
|
+
DropdownMenuArrow.displayName = ARROW_NAME;
|
|
1253
|
+
var DropdownMenuSub = (props) => {
|
|
1254
|
+
const { __scopeDropdownMenu, children, open: openProp, onOpenChange, defaultOpen } = props;
|
|
1255
|
+
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1256
|
+
const [open = false, setOpen] = (0, import_react_use_controllable_state.useControllableState)({
|
|
1257
|
+
prop: openProp,
|
|
1258
|
+
defaultProp: defaultOpen,
|
|
1259
|
+
onChange: onOpenChange
|
|
1260
|
+
});
|
|
1261
|
+
return /* @__PURE__ */ import_react21.default.createElement(MenuPrimitive.Sub, {
|
|
1262
|
+
...menuScope,
|
|
1263
|
+
open,
|
|
1264
|
+
onOpenChange: setOpen
|
|
1265
|
+
}, children);
|
|
1266
|
+
};
|
|
1267
|
+
var SUB_TRIGGER_NAME = "DropdownMenuSubTrigger";
|
|
1268
|
+
var DropdownMenuSubTrigger = /* @__PURE__ */ (0, import_react21.forwardRef)((props, forwardedRef) => {
|
|
1269
|
+
const { __scopeDropdownMenu, ...subTriggerProps } = props;
|
|
1270
|
+
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1271
|
+
return /* @__PURE__ */ import_react21.default.createElement(MenuPrimitive.SubTrigger, {
|
|
1272
|
+
...menuScope,
|
|
1273
|
+
...subTriggerProps,
|
|
1274
|
+
ref: forwardedRef
|
|
1275
|
+
});
|
|
1276
|
+
});
|
|
1277
|
+
DropdownMenuSubTrigger.displayName = SUB_TRIGGER_NAME;
|
|
1278
|
+
var SUB_CONTENT_NAME = "DropdownMenuSubContent";
|
|
1279
|
+
var DropdownMenuSubContent = /* @__PURE__ */ (0, import_react21.forwardRef)((props, forwardedRef) => {
|
|
1280
|
+
const { __scopeDropdownMenu, ...subContentProps } = props;
|
|
1281
|
+
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1282
|
+
return /* @__PURE__ */ import_react21.default.createElement(MenuPrimitive.SubContent, {
|
|
1283
|
+
...menuScope,
|
|
1284
|
+
...subContentProps,
|
|
1285
|
+
ref: forwardedRef,
|
|
1286
|
+
style: {
|
|
1287
|
+
...props.style,
|
|
1288
|
+
// re-namespace exposed content custom properties
|
|
1289
|
+
...{
|
|
1290
|
+
"--radix-dropdown-menu-content-transform-origin": "var(--radix-popper-transform-origin)",
|
|
1291
|
+
"--radix-dropdown-menu-content-available-width": "var(--radix-popper-available-width)",
|
|
1292
|
+
"--radix-dropdown-menu-content-available-height": "var(--radix-popper-available-height)",
|
|
1293
|
+
"--radix-dropdown-menu-trigger-width": "var(--radix-popper-anchor-width)",
|
|
1294
|
+
"--radix-dropdown-menu-trigger-height": "var(--radix-popper-anchor-height)"
|
|
1295
|
+
}
|
|
1296
|
+
}
|
|
1297
|
+
});
|
|
1298
|
+
});
|
|
1299
|
+
DropdownMenuSubContent.displayName = SUB_CONTENT_NAME;
|
|
1300
|
+
var DropdownMenu = {
|
|
1028
1301
|
Root: DropdownMenuRoot,
|
|
1029
1302
|
Trigger: DropdownMenuTrigger,
|
|
1303
|
+
VirtualTrigger: DropdownMenuVirtualTrigger,
|
|
1030
1304
|
Portal: DropdownMenuPortal,
|
|
1031
1305
|
Content: DropdownMenuContent,
|
|
1032
1306
|
Viewport: DropdownMenuViewport,
|
|
1033
|
-
Arrow: DropdownMenuArrow,
|
|
1034
1307
|
Group: DropdownMenuGroup,
|
|
1308
|
+
GroupLabel: DropdownMenuGroupLabel,
|
|
1035
1309
|
Item: DropdownMenuItem,
|
|
1036
1310
|
CheckboxItem: DropdownMenuCheckboxItem,
|
|
1311
|
+
RadioGroup: DropdownMenuRadioGroup,
|
|
1312
|
+
RadioItem: DropdownMenuRadioItem,
|
|
1037
1313
|
ItemIndicator: DropdownMenuItemIndicator,
|
|
1038
1314
|
Separator: DropdownMenuSeparator,
|
|
1039
|
-
|
|
1315
|
+
Arrow: DropdownMenuArrow,
|
|
1316
|
+
Sub: DropdownMenuSub,
|
|
1317
|
+
SubTrigger: DropdownMenuSubTrigger,
|
|
1318
|
+
SubContent: DropdownMenuSubContent
|
|
1040
1319
|
};
|
|
1320
|
+
var useDropdownMenuMenuScope = useMenuScope;
|
|
1041
1321
|
var Label3 = /* @__PURE__ */ (0, import_react23.forwardRef)(({ srOnly, classNames, children, ...props }, forwardedRef) => {
|
|
1042
1322
|
const { tx } = useThemeContext();
|
|
1043
1323
|
return /* @__PURE__ */ import_react23.default.createElement(import_react_input.Label, {
|
|
@@ -1155,7 +1435,7 @@ var TextArea = /* @__PURE__ */ (0, import_react23.forwardRef)(({ __inputScope, c
|
|
|
1155
1435
|
});
|
|
1156
1436
|
});
|
|
1157
1437
|
var Checkbox = /* @__PURE__ */ (0, import_react23.forwardRef)(({ __inputScope, checked: propsChecked, defaultChecked: propsDefaultChecked, onCheckedChange: propsOnCheckedChange, size, weight = "bold", classNames, ...props }, forwardedRef) => {
|
|
1158
|
-
const [checked, onCheckedChange] = (0,
|
|
1438
|
+
const [checked, onCheckedChange] = (0, import_react_use_controllable_state2.useControllableState)({
|
|
1159
1439
|
prop: propsChecked,
|
|
1160
1440
|
defaultProp: propsDefaultChecked,
|
|
1161
1441
|
onChange: propsOnCheckedChange
|
|
@@ -1188,7 +1468,7 @@ var Checkbox = /* @__PURE__ */ (0, import_react23.forwardRef)(({ __inputScope, c
|
|
|
1188
1468
|
});
|
|
1189
1469
|
var Switch = /* @__PURE__ */ (0, import_react23.forwardRef)(({ __inputScope, checked: propsChecked, defaultChecked: propsDefaultChecked, onCheckedChange: propsOnCheckedChange, size = 5, classNames, ...props }, forwardedRef) => {
|
|
1190
1470
|
const { tx } = useThemeContext();
|
|
1191
|
-
const [checked, onCheckedChange] = (0,
|
|
1471
|
+
const [checked, onCheckedChange] = (0, import_react_use_controllable_state2.useControllableState)({
|
|
1192
1472
|
prop: propsChecked,
|
|
1193
1473
|
defaultProp: propsDefaultChecked,
|
|
1194
1474
|
onChange: propsOnCheckedChange
|
|
@@ -1246,10 +1526,10 @@ var List = /* @__PURE__ */ (0, import_react25.forwardRef)(({ classNames, childre
|
|
|
1246
1526
|
}, children));
|
|
1247
1527
|
});
|
|
1248
1528
|
var ListItemEndcap = /* @__PURE__ */ (0, import_react25.forwardRef)(({ children, classNames, asChild, ...props }, forwardedRef) => {
|
|
1249
|
-
const
|
|
1529
|
+
const Root5 = asChild ? import_react_slot8.Slot : "div";
|
|
1250
1530
|
const density = useDensityContext();
|
|
1251
1531
|
const { tx } = useThemeContext();
|
|
1252
|
-
return /* @__PURE__ */ import_react25.default.createElement(
|
|
1532
|
+
return /* @__PURE__ */ import_react25.default.createElement(Root5, {
|
|
1253
1533
|
...!asChild && {
|
|
1254
1534
|
role: "none"
|
|
1255
1535
|
},
|
|
@@ -1355,19 +1635,19 @@ var TreeItem = {
|
|
|
1355
1635
|
MockOpenTrigger: MockTreeItemOpenTrigger
|
|
1356
1636
|
};
|
|
1357
1637
|
var TREEGRID_ROW_NAME = "TreegridRow";
|
|
1358
|
-
var [createTreegridRowContext, createTreegridRowScope] = (0,
|
|
1638
|
+
var [createTreegridRowContext, createTreegridRowScope] = (0, import_react_context6.createContextScope)(TREEGRID_ROW_NAME, []);
|
|
1359
1639
|
var [TreegridRowProvider, useTreegridRowContext] = createTreegridRowContext(TREEGRID_ROW_NAME);
|
|
1360
1640
|
var PATH_SEPARATOR = "~";
|
|
1361
1641
|
var PARENT_OF_SEPARATOR = " ";
|
|
1362
1642
|
var TreegridRoot = /* @__PURE__ */ (0, import_react28.forwardRef)(({ asChild, classNames, children, style, gridTemplateColumns, ...props }, forwardedRef) => {
|
|
1363
1643
|
const { tx } = useThemeContext();
|
|
1364
|
-
const
|
|
1644
|
+
const Root5 = asChild ? import_react_slot9.Slot : import_react_primitive8.Primitive.div;
|
|
1365
1645
|
const arrowNavigationAttrs = (0, import_react_tabster.useArrowNavigationGroup)({
|
|
1366
1646
|
axis: "vertical",
|
|
1367
1647
|
tabbable: false,
|
|
1368
1648
|
circular: true
|
|
1369
1649
|
});
|
|
1370
|
-
return /* @__PURE__ */ import_react28.default.createElement(
|
|
1650
|
+
return /* @__PURE__ */ import_react28.default.createElement(Root5, {
|
|
1371
1651
|
role: "treegrid",
|
|
1372
1652
|
...arrowNavigationAttrs,
|
|
1373
1653
|
...props,
|
|
@@ -1381,10 +1661,10 @@ var TreegridRoot = /* @__PURE__ */ (0, import_react28.forwardRef)(({ asChild, cl
|
|
|
1381
1661
|
});
|
|
1382
1662
|
var TreegridRow = /* @__PURE__ */ (0, import_react28.forwardRef)(({ __treegridRowScope, asChild, classNames, children, id, parentOf, open: propsOpen, defaultOpen, onOpenChange: propsOnOpenChange, ...props }, forwardedRef) => {
|
|
1383
1663
|
const { tx } = useThemeContext();
|
|
1384
|
-
const
|
|
1664
|
+
const Root5 = asChild ? import_react_slot9.Slot : import_react_primitive8.Primitive.div;
|
|
1385
1665
|
const pathParts = id.split(PATH_SEPARATOR);
|
|
1386
1666
|
const level = pathParts.length - 1;
|
|
1387
|
-
const [open, onOpenChange] = (0,
|
|
1667
|
+
const [open, onOpenChange] = (0, import_react_use_controllable_state3.useControllableState)({
|
|
1388
1668
|
prop: propsOpen,
|
|
1389
1669
|
onChange: propsOnOpenChange,
|
|
1390
1670
|
defaultProp: defaultOpen
|
|
@@ -1402,7 +1682,7 @@ var TreegridRow = /* @__PURE__ */ (0, import_react28.forwardRef)(({ __treegridRo
|
|
|
1402
1682
|
open,
|
|
1403
1683
|
onOpenChange,
|
|
1404
1684
|
scope: __treegridRowScope
|
|
1405
|
-
}, /* @__PURE__ */ import_react28.default.createElement(
|
|
1685
|
+
}, /* @__PURE__ */ import_react28.default.createElement(Root5, {
|
|
1406
1686
|
role: "row",
|
|
1407
1687
|
"aria-level": level,
|
|
1408
1688
|
className: tx("treegrid.row", "treegrid__row", {
|
|
@@ -1572,7 +1852,7 @@ var useLandmarkMover = (propsOnKeyDown, landmark) => {
|
|
|
1572
1852
|
...focusableAttrs
|
|
1573
1853
|
};
|
|
1574
1854
|
};
|
|
1575
|
-
var [MainProvider, useMainContext] = (0,
|
|
1855
|
+
var [MainProvider, useMainContext] = (0, import_react_context7.createContext)(MAIN_NAME, {
|
|
1576
1856
|
resizing: false,
|
|
1577
1857
|
navigationSidebarOpen: false,
|
|
1578
1858
|
setNavigationSidebarOpen: (nextOpen) => {
|
|
@@ -1627,12 +1907,12 @@ var MainRoot = ({ navigationSidebarOpen: propsNavigationSidebarOpen, defaultNavi
|
|
|
1627
1907
|
const [isLg] = (0, import_react_hooks3.useMediaQuery)("lg", {
|
|
1628
1908
|
ssr: false
|
|
1629
1909
|
});
|
|
1630
|
-
const [navigationSidebarOpen = isLg, setNavigationSidebarOpen] = (0,
|
|
1910
|
+
const [navigationSidebarOpen = isLg, setNavigationSidebarOpen] = (0, import_react_use_controllable_state4.useControllableState)({
|
|
1631
1911
|
prop: propsNavigationSidebarOpen,
|
|
1632
1912
|
defaultProp: defaultNavigationSidebarOpen,
|
|
1633
1913
|
onChange: onNavigationSidebarOpenChange
|
|
1634
1914
|
});
|
|
1635
|
-
const [complementarySidebarOpen = false, setComplementarySidebarOpen] = (0,
|
|
1915
|
+
const [complementarySidebarOpen = false, setComplementarySidebarOpen] = (0, import_react_use_controllable_state4.useControllableState)({
|
|
1636
1916
|
prop: propsComplementarySidebarOpen,
|
|
1637
1917
|
defaultProp: defaultComplementarySidebarOpen,
|
|
1638
1918
|
onChange: onComplementarySidebarOpenChange
|
|
@@ -1686,11 +1966,11 @@ var MainSidebar = /* @__PURE__ */ (0, import_react29.forwardRef)(({ classNames,
|
|
|
1686
1966
|
}, [
|
|
1687
1967
|
props.onKeyDown
|
|
1688
1968
|
]);
|
|
1689
|
-
const
|
|
1969
|
+
const Root5 = isLg ? import_react_primitive9.Primitive.div : import_react_dialog2.DialogContent;
|
|
1690
1970
|
return /* @__PURE__ */ import_react29.default.createElement(import_react_dialog2.Root, {
|
|
1691
1971
|
open,
|
|
1692
1972
|
modal: false
|
|
1693
|
-
}, /* @__PURE__ */ import_react29.default.createElement(
|
|
1973
|
+
}, /* @__PURE__ */ import_react29.default.createElement(Root5, {
|
|
1694
1974
|
...!isLg && {
|
|
1695
1975
|
forceMount: true,
|
|
1696
1976
|
tabIndex: -1,
|
|
@@ -1741,9 +2021,9 @@ MainNavigationSidebar.displayName = NAVIGATION_SIDEBAR_NAME;
|
|
|
1741
2021
|
var MainContent = /* @__PURE__ */ (0, import_react29.forwardRef)(({ asChild, classNames, bounce, handlesFocus, children, role, ...props }, forwardedRef) => {
|
|
1742
2022
|
const { navigationSidebarOpen, complementarySidebarOpen } = useMainContext(MAIN_NAME);
|
|
1743
2023
|
const { tx } = useThemeContext();
|
|
1744
|
-
const
|
|
2024
|
+
const Root5 = asChild ? import_react_slot10.Slot : role ? "div" : "main";
|
|
1745
2025
|
const mover = useLandmarkMover(props.onKeyDown, "1");
|
|
1746
|
-
return /* @__PURE__ */ import_react29.default.createElement(
|
|
2026
|
+
return /* @__PURE__ */ import_react29.default.createElement(Root5, {
|
|
1747
2027
|
role,
|
|
1748
2028
|
...handlesFocus && {
|
|
1749
2029
|
...mover
|
|
@@ -1785,7 +2065,7 @@ var MainNotch = /* @__PURE__ */ (0, import_react29.forwardRef)(({ classNames, ..
|
|
|
1785
2065
|
const { tx } = useThemeContext();
|
|
1786
2066
|
const { navigationSidebarOpen } = useMainContext(MAIN_NAME);
|
|
1787
2067
|
const notchElement = (0, import_react29.useRef)(null);
|
|
1788
|
-
const ref = (0,
|
|
2068
|
+
const ref = (0, import_react_compose_refs2.useComposedRefs)(forwardedRef, notchElement);
|
|
1789
2069
|
const handleKeyDown = (0, import_react29.useCallback)((event) => {
|
|
1790
2070
|
switch (event.key) {
|
|
1791
2071
|
case "Escape":
|
|
@@ -1814,17 +2094,17 @@ var Main = {
|
|
|
1814
2094
|
Notch: MainNotch
|
|
1815
2095
|
};
|
|
1816
2096
|
var MESSAGE_NAME = "Message";
|
|
1817
|
-
var [MessageProvider, useMessageContext] = (0,
|
|
2097
|
+
var [MessageProvider, useMessageContext] = (0, import_react_context8.createContext)(MESSAGE_NAME);
|
|
1818
2098
|
var MessageRoot = /* @__PURE__ */ (0, import_react31.forwardRef)(({ asChild, valence, elevation: propsElevation, className, titleId: propsTitleId, descriptionId: propsDescriptionId, children, ...props }, forwardedRef) => {
|
|
1819
2099
|
const { tx } = useThemeContext();
|
|
1820
2100
|
const titleId = (0, import_react_hooks4.useId)("message__title", propsTitleId);
|
|
1821
2101
|
const descriptionId = (0, import_react_hooks4.useId)("message__description", propsDescriptionId);
|
|
1822
2102
|
const elevation = useElevationContext(propsElevation);
|
|
1823
|
-
const
|
|
2103
|
+
const Root5 = asChild ? import_react_slot11.Slot : import_react_primitive10.Primitive.div;
|
|
1824
2104
|
return /* @__PURE__ */ import_react31.default.createElement(MessageProvider, {
|
|
1825
2105
|
titleId,
|
|
1826
2106
|
descriptionId
|
|
1827
|
-
}, /* @__PURE__ */ import_react31.default.createElement(
|
|
2107
|
+
}, /* @__PURE__ */ import_react31.default.createElement(Root5, {
|
|
1828
2108
|
...props,
|
|
1829
2109
|
className: tx("message.root", "message", {
|
|
1830
2110
|
valence,
|
|
@@ -1840,8 +2120,8 @@ var MESSAGE_TITLE_NAME = "MessageTitle";
|
|
|
1840
2120
|
var MessageTitle = /* @__PURE__ */ (0, import_react31.forwardRef)(({ asChild, className, children, ...props }, forwardedRef) => {
|
|
1841
2121
|
const { tx } = useThemeContext();
|
|
1842
2122
|
const { titleId } = useMessageContext(MESSAGE_TITLE_NAME);
|
|
1843
|
-
const
|
|
1844
|
-
return /* @__PURE__ */ import_react31.default.createElement(
|
|
2123
|
+
const Root5 = asChild ? import_react_slot11.Slot : import_react_primitive10.Primitive.h2;
|
|
2124
|
+
return /* @__PURE__ */ import_react31.default.createElement(Root5, {
|
|
1845
2125
|
...props,
|
|
1846
2126
|
className: tx("message.title", "message__title", {}, className),
|
|
1847
2127
|
id: titleId,
|
|
@@ -1853,8 +2133,8 @@ var MESSAGE_BODY_NAME = "MessageBody";
|
|
|
1853
2133
|
var MessageBody = /* @__PURE__ */ (0, import_react31.forwardRef)(({ asChild, className, children, ...props }, forwardedRef) => {
|
|
1854
2134
|
const { tx } = useThemeContext();
|
|
1855
2135
|
const { descriptionId } = useMessageContext(MESSAGE_BODY_NAME);
|
|
1856
|
-
const
|
|
1857
|
-
return /* @__PURE__ */ import_react31.default.createElement(
|
|
2136
|
+
const Root5 = asChild ? import_react_slot11.Slot : import_react_primitive10.Primitive.p;
|
|
2137
|
+
return /* @__PURE__ */ import_react31.default.createElement(Root5, {
|
|
1858
2138
|
...props,
|
|
1859
2139
|
className: tx("message.body", "message__body", {}, className),
|
|
1860
2140
|
id: descriptionId,
|
|
@@ -1867,35 +2147,281 @@ var Message = {
|
|
|
1867
2147
|
Title: MessageTitle,
|
|
1868
2148
|
Body: MessageBody
|
|
1869
2149
|
};
|
|
1870
|
-
var
|
|
1871
|
-
var
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
var
|
|
1875
|
-
var
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
2150
|
+
var POPOVER_NAME = "Popover";
|
|
2151
|
+
var [createPopoverContext, createPopoverScope] = (0, import_react_context9.createContextScope)(POPOVER_NAME, [
|
|
2152
|
+
import_react_popper.createPopperScope
|
|
2153
|
+
]);
|
|
2154
|
+
var usePopperScope = (0, import_react_popper.createPopperScope)();
|
|
2155
|
+
var [PopoverProvider, usePopoverContext] = createPopoverContext(POPOVER_NAME);
|
|
2156
|
+
var PopoverRoot = (props) => {
|
|
2157
|
+
const { __scopePopover, children, open: openProp, defaultOpen, onOpenChange, modal = false } = props;
|
|
2158
|
+
const popperScope = usePopperScope(__scopePopover);
|
|
2159
|
+
const triggerRef = (0, import_react32.useRef)(null);
|
|
2160
|
+
const [hasCustomAnchor, setHasCustomAnchor] = (0, import_react32.useState)(false);
|
|
2161
|
+
const [open = false, setOpen] = (0, import_react_use_controllable_state5.useControllableState)({
|
|
2162
|
+
prop: openProp,
|
|
2163
|
+
defaultProp: defaultOpen,
|
|
2164
|
+
onChange: onOpenChange
|
|
2165
|
+
});
|
|
2166
|
+
return /* @__PURE__ */ import_react32.default.createElement(PopperPrimitive.Root, popperScope, /* @__PURE__ */ import_react32.default.createElement(PopoverProvider, {
|
|
2167
|
+
scope: __scopePopover,
|
|
2168
|
+
contentId: (0, import_react_id2.useId)(),
|
|
2169
|
+
triggerRef,
|
|
2170
|
+
open,
|
|
2171
|
+
onOpenChange: setOpen,
|
|
2172
|
+
onOpenToggle: (0, import_react32.useCallback)(() => setOpen((prevOpen) => !prevOpen), [
|
|
2173
|
+
setOpen
|
|
2174
|
+
]),
|
|
2175
|
+
hasCustomAnchor,
|
|
2176
|
+
onCustomAnchorAdd: (0, import_react32.useCallback)(() => setHasCustomAnchor(true), []),
|
|
2177
|
+
onCustomAnchorRemove: (0, import_react32.useCallback)(() => setHasCustomAnchor(false), []),
|
|
2178
|
+
modal
|
|
2179
|
+
}, children));
|
|
2180
|
+
};
|
|
2181
|
+
PopoverRoot.displayName = POPOVER_NAME;
|
|
2182
|
+
var ANCHOR_NAME = "PopoverAnchor";
|
|
2183
|
+
var PopoverAnchor = /* @__PURE__ */ (0, import_react32.forwardRef)((props, forwardedRef) => {
|
|
2184
|
+
const { __scopePopover, ...anchorProps } = props;
|
|
2185
|
+
const context = usePopoverContext(ANCHOR_NAME, __scopePopover);
|
|
2186
|
+
const popperScope = usePopperScope(__scopePopover);
|
|
2187
|
+
const { onCustomAnchorAdd, onCustomAnchorRemove } = context;
|
|
2188
|
+
(0, import_react32.useEffect)(() => {
|
|
2189
|
+
onCustomAnchorAdd();
|
|
2190
|
+
return () => onCustomAnchorRemove();
|
|
2191
|
+
}, [
|
|
2192
|
+
onCustomAnchorAdd,
|
|
2193
|
+
onCustomAnchorRemove
|
|
2194
|
+
]);
|
|
2195
|
+
return /* @__PURE__ */ import_react32.default.createElement(PopperPrimitive.Anchor, {
|
|
2196
|
+
...popperScope,
|
|
2197
|
+
...anchorProps,
|
|
2198
|
+
ref: forwardedRef
|
|
2199
|
+
});
|
|
2200
|
+
});
|
|
2201
|
+
PopoverAnchor.displayName = ANCHOR_NAME;
|
|
2202
|
+
var TRIGGER_NAME2 = "PopoverTrigger";
|
|
2203
|
+
var PopoverTrigger = /* @__PURE__ */ (0, import_react32.forwardRef)((props, forwardedRef) => {
|
|
2204
|
+
const { __scopePopover, ...triggerProps } = props;
|
|
2205
|
+
const context = usePopoverContext(TRIGGER_NAME2, __scopePopover);
|
|
2206
|
+
const popperScope = usePopperScope(__scopePopover);
|
|
2207
|
+
const composedTriggerRef = (0, import_react_compose_refs3.useComposedRefs)(forwardedRef, context.triggerRef);
|
|
2208
|
+
const trigger = /* @__PURE__ */ import_react32.default.createElement(import_react_primitive11.Primitive.button, {
|
|
2209
|
+
type: "button",
|
|
2210
|
+
"aria-haspopup": "dialog",
|
|
2211
|
+
"aria-expanded": context.open,
|
|
2212
|
+
"aria-controls": context.contentId,
|
|
2213
|
+
"data-state": getState(context.open),
|
|
2214
|
+
...triggerProps,
|
|
2215
|
+
ref: composedTriggerRef,
|
|
2216
|
+
onClick: (0, import_primitive2.composeEventHandlers)(props.onClick, context.onOpenToggle)
|
|
2217
|
+
});
|
|
2218
|
+
return context.hasCustomAnchor ? trigger : /* @__PURE__ */ import_react32.default.createElement(PopperPrimitive.Anchor, {
|
|
2219
|
+
asChild: true,
|
|
2220
|
+
...popperScope
|
|
2221
|
+
}, trigger);
|
|
2222
|
+
});
|
|
2223
|
+
PopoverTrigger.displayName = TRIGGER_NAME2;
|
|
2224
|
+
var VIRTUAL_TRIGGER_NAME2 = "PopoverVirtualTrigger";
|
|
2225
|
+
var PopoverVirtualTrigger = (props) => {
|
|
2226
|
+
const { __scopePopover, virtualRef } = props;
|
|
2227
|
+
const context = usePopoverContext(VIRTUAL_TRIGGER_NAME2, __scopePopover);
|
|
2228
|
+
const popperScope = usePopperScope(__scopePopover);
|
|
2229
|
+
(0, import_react32.useEffect)(() => {
|
|
2230
|
+
if (virtualRef.current) {
|
|
2231
|
+
context.triggerRef.current = virtualRef.current;
|
|
2232
|
+
}
|
|
2233
|
+
});
|
|
2234
|
+
return /* @__PURE__ */ import_react32.default.createElement(PopperPrimitive.Anchor, {
|
|
2235
|
+
...popperScope,
|
|
2236
|
+
virtualRef
|
|
2237
|
+
});
|
|
2238
|
+
};
|
|
2239
|
+
PopoverVirtualTrigger.displayName = VIRTUAL_TRIGGER_NAME2;
|
|
2240
|
+
var PORTAL_NAME2 = "PopoverPortal";
|
|
2241
|
+
var [PortalProvider, usePortalContext] = createPopoverContext(PORTAL_NAME2, {
|
|
2242
|
+
forceMount: void 0
|
|
2243
|
+
});
|
|
2244
|
+
var PopoverPortal = (props) => {
|
|
2245
|
+
const { __scopePopover, forceMount, children, container } = props;
|
|
2246
|
+
const context = usePopoverContext(PORTAL_NAME2, __scopePopover);
|
|
2247
|
+
return /* @__PURE__ */ import_react32.default.createElement(PortalProvider, {
|
|
2248
|
+
scope: __scopePopover,
|
|
2249
|
+
forceMount
|
|
2250
|
+
}, /* @__PURE__ */ import_react32.default.createElement(import_react_presence.Presence, {
|
|
2251
|
+
present: forceMount || context.open
|
|
2252
|
+
}, /* @__PURE__ */ import_react32.default.createElement(import_react_portal.Portal, {
|
|
2253
|
+
asChild: true,
|
|
2254
|
+
container
|
|
2255
|
+
}, children)));
|
|
2256
|
+
};
|
|
2257
|
+
PopoverPortal.displayName = PORTAL_NAME2;
|
|
2258
|
+
var CONTENT_NAME2 = "PopoverContent";
|
|
2259
|
+
var PopoverContent = /* @__PURE__ */ (0, import_react32.forwardRef)((props, forwardedRef) => {
|
|
2260
|
+
const portalContext = usePortalContext(CONTENT_NAME2, props.__scopePopover);
|
|
2261
|
+
const { forceMount = portalContext.forceMount, ...contentProps } = props;
|
|
2262
|
+
const context = usePopoverContext(CONTENT_NAME2, props.__scopePopover);
|
|
2263
|
+
return /* @__PURE__ */ import_react32.default.createElement(import_react_presence.Presence, {
|
|
2264
|
+
present: forceMount || context.open
|
|
2265
|
+
}, context.modal ? /* @__PURE__ */ import_react32.default.createElement(PopoverContentModal, {
|
|
2266
|
+
...contentProps,
|
|
2267
|
+
ref: forwardedRef
|
|
2268
|
+
}) : /* @__PURE__ */ import_react32.default.createElement(PopoverContentNonModal, {
|
|
2269
|
+
...contentProps,
|
|
1880
2270
|
ref: forwardedRef
|
|
2271
|
+
}));
|
|
2272
|
+
});
|
|
2273
|
+
PopoverContent.displayName = CONTENT_NAME2;
|
|
2274
|
+
var PopoverContentModal = /* @__PURE__ */ (0, import_react32.forwardRef)((props, forwardedRef) => {
|
|
2275
|
+
const context = usePopoverContext(CONTENT_NAME2, props.__scopePopover);
|
|
2276
|
+
const contentRef = (0, import_react32.useRef)(null);
|
|
2277
|
+
const composedRefs = (0, import_react_compose_refs3.useComposedRefs)(forwardedRef, contentRef);
|
|
2278
|
+
const isRightClickOutsideRef = (0, import_react32.useRef)(false);
|
|
2279
|
+
(0, import_react32.useEffect)(() => {
|
|
2280
|
+
const content = contentRef.current;
|
|
2281
|
+
if (content) {
|
|
2282
|
+
return (0, import_aria_hidden.hideOthers)(content);
|
|
2283
|
+
}
|
|
2284
|
+
}, []);
|
|
2285
|
+
return /* @__PURE__ */ import_react32.default.createElement(import_react_remove_scroll.RemoveScroll, {
|
|
2286
|
+
as: import_react_slot12.Slot,
|
|
2287
|
+
allowPinchZoom: true
|
|
2288
|
+
}, /* @__PURE__ */ import_react32.default.createElement(PopoverContentImpl, {
|
|
2289
|
+
...props,
|
|
2290
|
+
ref: composedRefs,
|
|
2291
|
+
// we make sure we're not trapping once it's been closed
|
|
2292
|
+
// (closed !== unmounted when animating out)
|
|
2293
|
+
trapFocus: context.open,
|
|
2294
|
+
disableOutsidePointerEvents: true,
|
|
2295
|
+
onCloseAutoFocus: (0, import_primitive2.composeEventHandlers)(props.onCloseAutoFocus, (event) => {
|
|
2296
|
+
event.preventDefault();
|
|
2297
|
+
if (!isRightClickOutsideRef.current) {
|
|
2298
|
+
context.triggerRef.current?.focus();
|
|
2299
|
+
}
|
|
2300
|
+
}),
|
|
2301
|
+
onPointerDownOutside: (0, import_primitive2.composeEventHandlers)(props.onPointerDownOutside, (event) => {
|
|
2302
|
+
const originalEvent = event.detail.originalEvent;
|
|
2303
|
+
const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;
|
|
2304
|
+
const isRightClick = originalEvent.button === 2 || ctrlLeftClick;
|
|
2305
|
+
isRightClickOutsideRef.current = isRightClick;
|
|
2306
|
+
}, {
|
|
2307
|
+
checkForDefaultPrevented: false
|
|
2308
|
+
}),
|
|
2309
|
+
// When focus is trapped, a `focusout` event may still happen.
|
|
2310
|
+
// We make sure we don't trigger our `onDismiss` in such case.
|
|
2311
|
+
onFocusOutside: (0, import_primitive2.composeEventHandlers)(props.onFocusOutside, (event) => event.preventDefault(), {
|
|
2312
|
+
checkForDefaultPrevented: false
|
|
2313
|
+
})
|
|
2314
|
+
}));
|
|
2315
|
+
});
|
|
2316
|
+
var PopoverContentNonModal = /* @__PURE__ */ (0, import_react32.forwardRef)((props, forwardedRef) => {
|
|
2317
|
+
const context = usePopoverContext(CONTENT_NAME2, props.__scopePopover);
|
|
2318
|
+
const hasInteractedOutsideRef = (0, import_react32.useRef)(false);
|
|
2319
|
+
const hasPointerDownOutsideRef = (0, import_react32.useRef)(false);
|
|
2320
|
+
return /* @__PURE__ */ import_react32.default.createElement(PopoverContentImpl, {
|
|
2321
|
+
...props,
|
|
2322
|
+
ref: forwardedRef,
|
|
2323
|
+
trapFocus: false,
|
|
2324
|
+
disableOutsidePointerEvents: false,
|
|
2325
|
+
onCloseAutoFocus: (event) => {
|
|
2326
|
+
props.onCloseAutoFocus?.(event);
|
|
2327
|
+
if (!event.defaultPrevented) {
|
|
2328
|
+
if (!hasInteractedOutsideRef.current) {
|
|
2329
|
+
context.triggerRef.current?.focus();
|
|
2330
|
+
}
|
|
2331
|
+
event.preventDefault();
|
|
2332
|
+
}
|
|
2333
|
+
hasInteractedOutsideRef.current = false;
|
|
2334
|
+
hasPointerDownOutsideRef.current = false;
|
|
2335
|
+
},
|
|
2336
|
+
onInteractOutside: (event) => {
|
|
2337
|
+
props.onInteractOutside?.(event);
|
|
2338
|
+
if (!event.defaultPrevented) {
|
|
2339
|
+
hasInteractedOutsideRef.current = true;
|
|
2340
|
+
if (event.detail.originalEvent.type === "pointerdown") {
|
|
2341
|
+
hasPointerDownOutsideRef.current = true;
|
|
2342
|
+
}
|
|
2343
|
+
}
|
|
2344
|
+
const target = event.target;
|
|
2345
|
+
const targetIsTrigger = context.triggerRef.current?.contains(target);
|
|
2346
|
+
if (targetIsTrigger) {
|
|
2347
|
+
event.preventDefault();
|
|
2348
|
+
}
|
|
2349
|
+
if (event.detail.originalEvent.type === "focusin" && hasPointerDownOutsideRef.current) {
|
|
2350
|
+
event.preventDefault();
|
|
2351
|
+
}
|
|
2352
|
+
}
|
|
1881
2353
|
});
|
|
1882
2354
|
});
|
|
1883
|
-
var
|
|
2355
|
+
var PopoverContentImpl = /* @__PURE__ */ (0, import_react32.forwardRef)((props, forwardedRef) => {
|
|
2356
|
+
const { __scopePopover, trapFocus, onOpenAutoFocus, onCloseAutoFocus, disableOutsidePointerEvents, onEscapeKeyDown, onPointerDownOutside, onFocusOutside, onInteractOutside, classNames, ...contentProps } = props;
|
|
2357
|
+
const context = usePopoverContext(CONTENT_NAME2, __scopePopover);
|
|
2358
|
+
const popperScope = usePopperScope(__scopePopover);
|
|
1884
2359
|
const { tx } = useThemeContext();
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
2360
|
+
(0, import_react_focus_guards.useFocusGuards)();
|
|
2361
|
+
return /* @__PURE__ */ import_react32.default.createElement(import_react_focus_scope.FocusScope, {
|
|
2362
|
+
asChild: true,
|
|
2363
|
+
loop: true,
|
|
2364
|
+
trapped: trapFocus,
|
|
2365
|
+
onMountAutoFocus: onOpenAutoFocus,
|
|
2366
|
+
onUnmountAutoFocus: onCloseAutoFocus
|
|
2367
|
+
}, /* @__PURE__ */ import_react32.default.createElement(import_react_dismissable_layer.DismissableLayer, {
|
|
2368
|
+
asChild: true,
|
|
2369
|
+
disableOutsidePointerEvents,
|
|
2370
|
+
onInteractOutside,
|
|
2371
|
+
onEscapeKeyDown,
|
|
2372
|
+
onPointerDownOutside,
|
|
2373
|
+
onFocusOutside,
|
|
2374
|
+
onDismiss: () => context.onOpenChange(false)
|
|
2375
|
+
}, /* @__PURE__ */ import_react32.default.createElement(PopperPrimitive.Content, {
|
|
2376
|
+
"data-state": getState(context.open),
|
|
2377
|
+
role: "dialog",
|
|
2378
|
+
id: context.contentId,
|
|
2379
|
+
...popperScope,
|
|
2380
|
+
...contentProps,
|
|
1889
2381
|
className: tx("popover.content", "popover", {}, classNames),
|
|
2382
|
+
ref: forwardedRef,
|
|
2383
|
+
style: {
|
|
2384
|
+
...contentProps.style,
|
|
2385
|
+
// re-namespace exposed content custom properties
|
|
2386
|
+
...{
|
|
2387
|
+
"--radix-popover-content-transform-origin": "var(--radix-popper-transform-origin)",
|
|
2388
|
+
"--radix-popover-content-available-width": "var(--radix-popper-available-width)",
|
|
2389
|
+
"--radix-popover-content-available-height": "var(--radix-popper-available-height)",
|
|
2390
|
+
"--radix-popover-trigger-width": "var(--radix-popper-anchor-width)",
|
|
2391
|
+
"--radix-popover-trigger-height": "var(--radix-popper-anchor-height)"
|
|
2392
|
+
}
|
|
2393
|
+
}
|
|
2394
|
+
})));
|
|
2395
|
+
});
|
|
2396
|
+
var CLOSE_NAME = "PopoverClose";
|
|
2397
|
+
var PopoverClose = /* @__PURE__ */ (0, import_react32.forwardRef)((props, forwardedRef) => {
|
|
2398
|
+
const { __scopePopover, ...closeProps } = props;
|
|
2399
|
+
const context = usePopoverContext(CLOSE_NAME, __scopePopover);
|
|
2400
|
+
return /* @__PURE__ */ import_react32.default.createElement(import_react_primitive11.Primitive.button, {
|
|
2401
|
+
type: "button",
|
|
2402
|
+
...closeProps,
|
|
2403
|
+
ref: forwardedRef,
|
|
2404
|
+
onClick: (0, import_primitive2.composeEventHandlers)(props.onClick, () => context.onOpenChange(false))
|
|
2405
|
+
});
|
|
2406
|
+
});
|
|
2407
|
+
PopoverClose.displayName = CLOSE_NAME;
|
|
2408
|
+
var ARROW_NAME2 = "PopoverArrow";
|
|
2409
|
+
var PopoverArrow = /* @__PURE__ */ (0, import_react32.forwardRef)((props, forwardedRef) => {
|
|
2410
|
+
const { __scopePopover, classNames, ...arrowProps } = props;
|
|
2411
|
+
const popperScope = usePopperScope(__scopePopover);
|
|
2412
|
+
const { tx } = useThemeContext();
|
|
2413
|
+
return /* @__PURE__ */ import_react32.default.createElement(PopperPrimitive.Arrow, {
|
|
2414
|
+
...popperScope,
|
|
2415
|
+
...arrowProps,
|
|
2416
|
+
className: tx("popover.arrow", "popover__arrow", {}, classNames),
|
|
1890
2417
|
ref: forwardedRef
|
|
1891
|
-
}
|
|
1892
|
-
elevation: "chrome"
|
|
1893
|
-
}, children));
|
|
2418
|
+
});
|
|
1894
2419
|
});
|
|
2420
|
+
PopoverArrow.displayName = ARROW_NAME2;
|
|
1895
2421
|
var PopoverViewport = /* @__PURE__ */ (0, import_react32.forwardRef)(({ classNames, asChild, constrainInline = true, constrainBlock = true, children, ...props }, forwardedRef) => {
|
|
1896
2422
|
const { tx } = useThemeContext();
|
|
1897
|
-
const
|
|
1898
|
-
return /* @__PURE__ */ import_react32.default.createElement(
|
|
2423
|
+
const Root5 = asChild ? import_react_slot12.Slot : import_react_primitive11.Primitive.div;
|
|
2424
|
+
return /* @__PURE__ */ import_react32.default.createElement(Root5, {
|
|
1899
2425
|
...props,
|
|
1900
2426
|
className: tx("popover.viewport", "popover__viewport", {
|
|
1901
2427
|
constrainInline,
|
|
@@ -1904,14 +2430,16 @@ var PopoverViewport = /* @__PURE__ */ (0, import_react32.forwardRef)(({ classNam
|
|
|
1904
2430
|
ref: forwardedRef
|
|
1905
2431
|
}, children);
|
|
1906
2432
|
});
|
|
2433
|
+
var getState = (open) => open ? "open" : "closed";
|
|
1907
2434
|
var Popover = {
|
|
1908
2435
|
Root: PopoverRoot,
|
|
1909
|
-
Portal: PopoverPortal,
|
|
1910
|
-
Trigger: PopoverTrigger,
|
|
1911
2436
|
Anchor: PopoverAnchor,
|
|
1912
|
-
|
|
1913
|
-
|
|
2437
|
+
Trigger: PopoverTrigger,
|
|
2438
|
+
VirtualTrigger: PopoverVirtualTrigger,
|
|
2439
|
+
Portal: PopoverPortal,
|
|
1914
2440
|
Content: PopoverContent,
|
|
2441
|
+
Close: PopoverClose,
|
|
2442
|
+
Arrow: PopoverArrow,
|
|
1915
2443
|
Viewport: PopoverViewport
|
|
1916
2444
|
};
|
|
1917
2445
|
var Status = /* @__PURE__ */ (0, import_react33.forwardRef)(({ classNames, children, progress = 0, indeterminate, ...props }, forwardedRef) => {
|
|
@@ -2113,8 +2641,8 @@ var Separator4 = ({ classNames, orientation = "horizontal", ...props }) => {
|
|
|
2113
2641
|
};
|
|
2114
2642
|
var Tag = /* @__PURE__ */ (0, import_react38.forwardRef)(({ asChild, palette, classNames, ...props }, forwardedRef) => {
|
|
2115
2643
|
const { tx } = useThemeContext();
|
|
2116
|
-
const
|
|
2117
|
-
return /* @__PURE__ */ import_react38.default.createElement(
|
|
2644
|
+
const Root5 = asChild ? import_react_slot13.Slot : import_react_primitive12.Primitive.span;
|
|
2645
|
+
return /* @__PURE__ */ import_react38.default.createElement(Root5, {
|
|
2118
2646
|
...props,
|
|
2119
2647
|
className: tx("tag.root", "tag", {
|
|
2120
2648
|
palette
|
|
@@ -2142,8 +2670,8 @@ var ToastRoot = /* @__PURE__ */ (0, import_react39.forwardRef)(({ classNames, ch
|
|
|
2142
2670
|
});
|
|
2143
2671
|
var ToastBody = /* @__PURE__ */ (0, import_react39.forwardRef)(({ asChild, classNames, ...props }, forwardedRef) => {
|
|
2144
2672
|
const { tx } = useThemeContext();
|
|
2145
|
-
const
|
|
2146
|
-
return /* @__PURE__ */ import_react39.default.createElement(
|
|
2673
|
+
const Root5 = asChild ? import_react_slot14.Slot : import_react_primitive13.Primitive.div;
|
|
2674
|
+
return /* @__PURE__ */ import_react39.default.createElement(Root5, {
|
|
2147
2675
|
...props,
|
|
2148
2676
|
className: tx("toast.body", "toast__body", {}, classNames),
|
|
2149
2677
|
ref: forwardedRef
|
|
@@ -2151,8 +2679,8 @@ var ToastBody = /* @__PURE__ */ (0, import_react39.forwardRef)(({ asChild, class
|
|
|
2151
2679
|
});
|
|
2152
2680
|
var ToastTitle = /* @__PURE__ */ (0, import_react39.forwardRef)(({ asChild, classNames, ...props }, forwardedRef) => {
|
|
2153
2681
|
const { tx } = useThemeContext();
|
|
2154
|
-
const
|
|
2155
|
-
return /* @__PURE__ */ import_react39.default.createElement(
|
|
2682
|
+
const Root5 = asChild ? import_react_slot14.Slot : import_react_toast.ToastTitle;
|
|
2683
|
+
return /* @__PURE__ */ import_react39.default.createElement(Root5, {
|
|
2156
2684
|
...props,
|
|
2157
2685
|
className: tx("toast.title", "toast__title", {}, classNames),
|
|
2158
2686
|
ref: forwardedRef
|
|
@@ -2160,8 +2688,8 @@ var ToastTitle = /* @__PURE__ */ (0, import_react39.forwardRef)(({ asChild, clas
|
|
|
2160
2688
|
});
|
|
2161
2689
|
var ToastDescription = /* @__PURE__ */ (0, import_react39.forwardRef)(({ asChild, classNames, ...props }, forwardedRef) => {
|
|
2162
2690
|
const { tx } = useThemeContext();
|
|
2163
|
-
const
|
|
2164
|
-
return /* @__PURE__ */ import_react39.default.createElement(
|
|
2691
|
+
const Root5 = asChild ? import_react_slot14.Slot : import_react_toast.ToastDescription;
|
|
2692
|
+
return /* @__PURE__ */ import_react39.default.createElement(Root5, {
|
|
2165
2693
|
...props,
|
|
2166
2694
|
className: tx("toast.description", "toast__description", {}, classNames),
|
|
2167
2695
|
ref: forwardedRef
|
|
@@ -2169,8 +2697,8 @@ var ToastDescription = /* @__PURE__ */ (0, import_react39.forwardRef)(({ asChild
|
|
|
2169
2697
|
});
|
|
2170
2698
|
var ToastActions = /* @__PURE__ */ (0, import_react39.forwardRef)(({ asChild, classNames, ...props }, forwardedRef) => {
|
|
2171
2699
|
const { tx } = useThemeContext();
|
|
2172
|
-
const
|
|
2173
|
-
return /* @__PURE__ */ import_react39.default.createElement(
|
|
2700
|
+
const Root5 = asChild ? import_react_slot14.Slot : import_react_primitive13.Primitive.div;
|
|
2701
|
+
return /* @__PURE__ */ import_react39.default.createElement(Root5, {
|
|
2174
2702
|
...props,
|
|
2175
2703
|
className: tx("toast.actions", "toast__actions", {}, classNames),
|
|
2176
2704
|
ref: forwardedRef
|
|
@@ -2372,6 +2900,8 @@ var handleInputModalityChange = (isUsingKeyboard) => {
|
|
|
2372
2900
|
Tree,
|
|
2373
2901
|
TreeItem,
|
|
2374
2902
|
Treegrid,
|
|
2903
|
+
createDropdownMenuScope,
|
|
2904
|
+
createPopoverScope,
|
|
2375
2905
|
hasIosKeyboard,
|
|
2376
2906
|
isLabel,
|
|
2377
2907
|
toLocalizedString,
|