@refineui/react 0.0.5 → 0.0.7
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/index.cjs +205 -209
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +45 -34
- package/dist/index.d.ts +45 -34
- package/dist/index.js +190 -194
- package/dist/index.js.map +1 -1
- package/dist/spec/components/menu.json +1 -1
- package/dist/spec/contract-index.json +2 -2
- package/dist/spec/manifest.json +1 -1
- package/dist/spec/token-graph.json +33 -33
- package/dist/spec/token-trace-v2.json +34 -28
- package/package.json +3 -3
- package/refineui.css +92 -54
- package/spec/components/menu.json +1 -1
- package/spec/manifest.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -90,7 +90,6 @@ __export(index_exports, {
|
|
|
90
90
|
Chip: () => Chip,
|
|
91
91
|
Collapsible: () => Collapsible,
|
|
92
92
|
CollapsibleContent: () => CollapsibleContent,
|
|
93
|
-
CollapsibleRoot: () => CollapsibleRoot,
|
|
94
93
|
CollapsibleTrigger: () => CollapsibleTrigger,
|
|
95
94
|
Command: () => Command,
|
|
96
95
|
CommandDialog: () => CommandDialog,
|
|
@@ -106,9 +105,8 @@ __export(index_exports, {
|
|
|
106
105
|
ContextMenu: () => ContextMenu,
|
|
107
106
|
ContextMenuContent: () => ContextMenuContent,
|
|
108
107
|
ContextMenuItem: () => ContextMenuItem,
|
|
108
|
+
ContextMenuLabel: () => ContextMenuLabel,
|
|
109
109
|
ContextMenuPortal: () => ContextMenuPortal,
|
|
110
|
-
ContextMenuRoot: () => ContextMenuRoot,
|
|
111
|
-
ContextMenuSection: () => ContextMenuSection,
|
|
112
110
|
ContextMenuSeparator: () => ContextMenuSeparator,
|
|
113
111
|
ContextMenuSub: () => ContextMenuSub,
|
|
114
112
|
ContextMenuSubContent: () => ContextMenuSubContent,
|
|
@@ -176,9 +174,9 @@ __export(index_exports, {
|
|
|
176
174
|
Menu: () => Menu,
|
|
177
175
|
MenuDivider: () => MenuDivider,
|
|
178
176
|
MenuItem: () => MenuItem,
|
|
177
|
+
MenuLabel: () => MenuLabel,
|
|
179
178
|
MenuList: () => MenuList,
|
|
180
179
|
MenuPopover: () => MenuPopover,
|
|
181
|
-
MenuSection: () => MenuSection,
|
|
182
180
|
MenuSub: () => MenuSub,
|
|
183
181
|
MenuSubContent: () => MenuSubContent,
|
|
184
182
|
MenuSubTrigger: () => MenuSubTrigger,
|
|
@@ -235,7 +233,6 @@ __export(index_exports, {
|
|
|
235
233
|
SelectPortal: () => SelectPortal,
|
|
236
234
|
SelectScrollDownButton: () => SelectScrollDownButton,
|
|
237
235
|
SelectScrollUpButton: () => SelectScrollUpButton,
|
|
238
|
-
SelectSection: () => SelectSection,
|
|
239
236
|
SelectSeparator: () => SelectSeparator,
|
|
240
237
|
SelectTrigger: () => SelectTrigger,
|
|
241
238
|
SelectValue: () => SelectValue,
|
|
@@ -431,7 +428,7 @@ var componentColorTokens = {
|
|
|
431
428
|
border: semanticToken("borderDefault")
|
|
432
429
|
},
|
|
433
430
|
menu: {
|
|
434
|
-
background: semanticToken("
|
|
431
|
+
background: semanticToken("surfaceFrosted"),
|
|
435
432
|
border: semanticToken("borderDefault"),
|
|
436
433
|
title: semanticToken("foregroundPrimary"),
|
|
437
434
|
itemText: semanticToken("foregroundPrimary"),
|
|
@@ -445,6 +442,10 @@ var componentColorTokens = {
|
|
|
445
442
|
placeholder: semanticToken("foregroundPlaceholder"),
|
|
446
443
|
background: semanticToken("backgroundPrimary"),
|
|
447
444
|
disabledBackground: semanticToken("backgroundSurfaceDisabled"),
|
|
445
|
+
menu: {
|
|
446
|
+
background: semanticToken("surfaceFrosted"),
|
|
447
|
+
border: semanticToken("borderDefault")
|
|
448
|
+
},
|
|
448
449
|
border: {
|
|
449
450
|
default: semanticToken("borderDefault"),
|
|
450
451
|
disabled: semanticToken("borderDisabled"),
|
|
@@ -836,15 +837,15 @@ var componentColorTokens = {
|
|
|
836
837
|
},
|
|
837
838
|
menu: {
|
|
838
839
|
panel: {
|
|
839
|
-
/**
|
|
840
|
-
background: semanticToken("
|
|
840
|
+
/** Frosted glass — `surfaceFrosted` fill + `surfaceFrost` blur in refineui.css */
|
|
841
|
+
background: semanticToken("surfaceFrosted"),
|
|
841
842
|
border: semanticToken("borderDefault")
|
|
842
843
|
},
|
|
843
844
|
popover: {
|
|
844
845
|
background: "transparent"
|
|
845
846
|
},
|
|
846
847
|
list: {
|
|
847
|
-
background: semanticToken("
|
|
848
|
+
background: semanticToken("surfaceFrosted"),
|
|
848
849
|
border: semanticToken("borderDefault")
|
|
849
850
|
},
|
|
850
851
|
section: semanticToken("foregroundPrimary"),
|
|
@@ -1085,7 +1086,7 @@ var componentTypographyTokens = {
|
|
|
1085
1086
|
link: role("bodyMd"),
|
|
1086
1087
|
copyright: role("bodyMd")
|
|
1087
1088
|
},
|
|
1088
|
-
/** App sidebar — group labels
|
|
1089
|
+
/** App sidebar — group labels share `captionLg` + tight py with Menu/Dropdown/Select/Command. */
|
|
1089
1090
|
sidebar: {
|
|
1090
1091
|
brand: role("bodyMd"),
|
|
1091
1092
|
groupLabel: role("captionLg"),
|
|
@@ -1280,7 +1281,10 @@ var componentTokens = {
|
|
|
1280
1281
|
foundation: import_tokens.semanticElevations.surface
|
|
1281
1282
|
},
|
|
1282
1283
|
motion: {
|
|
1283
|
-
/**
|
|
1284
|
+
/**
|
|
1285
|
+
* Indicator slide after first layout.
|
|
1286
|
+
* CSS applies transform=`medium` / width=`slow` so edges arrive apart.
|
|
1287
|
+
*/
|
|
1284
1288
|
indicator: motion.indicator,
|
|
1285
1289
|
/** Item label color fade */
|
|
1286
1290
|
itemColor: motion.fast
|
|
@@ -1896,6 +1900,7 @@ function InputOTP({
|
|
|
1896
1900
|
function InputOTPSlot({
|
|
1897
1901
|
index,
|
|
1898
1902
|
className,
|
|
1903
|
+
style,
|
|
1899
1904
|
onChange,
|
|
1900
1905
|
onKeyDown,
|
|
1901
1906
|
onPaste,
|
|
@@ -1982,6 +1987,10 @@ function InputOTPSlot({
|
|
|
1982
1987
|
value: char,
|
|
1983
1988
|
"aria-label": `Digit ${index + 1} of ${maxLength}`,
|
|
1984
1989
|
className: (0, import_clsx5.clsx)(inputOtpStyles.slot, inputOtpSlotSizeClass[size], className),
|
|
1990
|
+
style: {
|
|
1991
|
+
...style,
|
|
1992
|
+
["--refineui-input-otp-slot-index"]: index
|
|
1993
|
+
},
|
|
1985
1994
|
onChange: onSlotChange,
|
|
1986
1995
|
onKeyDown: onSlotKeyDown,
|
|
1987
1996
|
onPaste: onSlotPaste,
|
|
@@ -3208,8 +3217,9 @@ var selectStyles = {
|
|
|
3208
3217
|
iconWrap: "inline-flex size-refineui-icon-xsmall shrink-0 items-center justify-center",
|
|
3209
3218
|
chevron: "shrink-0 transition-transform duration-[var(--refineui-motion-duration-fast)] ease-[var(--refineui-motion-easing-ease-out)]",
|
|
3210
3219
|
chevronOpen: "rotate-180",
|
|
3211
|
-
|
|
3212
|
-
|
|
3220
|
+
/* No overflow-hidden — it isolates descendants and kills panel `backdrop-filter`. */
|
|
3221
|
+
positioner: "z-refineui-popup flex flex-col",
|
|
3222
|
+
contentShell: "box-border flex w-full min-h-0 flex-col overflow-hidden rounded-refineui-xx-large border-refineui-hairline border-refineui-alias-border-default p-refineui-size-xx-small shadow-refineui-2 outline-none",
|
|
3213
3223
|
contentPopper: "h-auto max-h-[var(--refineui-select-content-available-height,100dvh)]",
|
|
3214
3224
|
contentItemAligned: "max-h-full",
|
|
3215
3225
|
viewportPopper: "relative flex max-h-full min-h-0 min-w-full w-full flex-col",
|
|
@@ -3219,7 +3229,7 @@ var selectStyles = {
|
|
|
3219
3229
|
group: "flex flex-col gap-px",
|
|
3220
3230
|
label: (0, import_clsx27.clsx)(
|
|
3221
3231
|
componentTextClass(componentTypographyTokens.select.label),
|
|
3222
|
-
"px-refineui-size-x-small py-refineui-size-
|
|
3232
|
+
"px-refineui-size-x-small py-refineui-size-xxx-small text-refineui-alias-foreground-tertiary"
|
|
3223
3233
|
),
|
|
3224
3234
|
separator: "my-refineui-size-x-small h-px bg-refineui-alias-border-default",
|
|
3225
3235
|
item: (0, import_clsx27.clsx)(
|
|
@@ -3874,9 +3884,6 @@ function SelectGroup({ children, className, ...props }) {
|
|
|
3874
3884
|
function SelectLabel({ children, className, ...props }) {
|
|
3875
3885
|
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: (0, import_clsx28.clsx)(selectStyles.label, className), ...props, children });
|
|
3876
3886
|
}
|
|
3877
|
-
function SelectSection({ children, className, ...props }) {
|
|
3878
|
-
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: (0, import_clsx28.clsx)(selectStyles.label, className), ...props, children });
|
|
3879
|
-
}
|
|
3880
3887
|
function SelectSeparator({ className, ...props }) {
|
|
3881
3888
|
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { role: "separator", className: (0, import_clsx28.clsx)(selectStyles.separator, className), ...props });
|
|
3882
3889
|
}
|
|
@@ -4501,7 +4508,7 @@ var COMMAND_LIST_MAX_HEIGHT = `min(60vh, ${import_tokens11.foundationSizes.found
|
|
|
4501
4508
|
var commandStyles = {
|
|
4502
4509
|
root: (0, import_clsx33.clsx)(
|
|
4503
4510
|
"flex w-full flex-col overflow-hidden outline-none",
|
|
4504
|
-
"rounded-refineui-large border-refineui-hairline border-refineui-alias-border-default",
|
|
4511
|
+
"rounded-refineui-xx-large border-refineui-hairline border-refineui-alias-border-default",
|
|
4505
4512
|
"bg-refineui-alias-background-primary text-refineui-alias-foreground-primary",
|
|
4506
4513
|
"shadow-refineui-2"
|
|
4507
4514
|
),
|
|
@@ -4529,7 +4536,7 @@ var commandStyles = {
|
|
|
4529
4536
|
group: "flex flex-col gap-refineui-size-xxx-small overflow-hidden",
|
|
4530
4537
|
groupHeading: (0, import_clsx33.clsx)(
|
|
4531
4538
|
componentTextClass(componentTypographyTokens.command.group),
|
|
4532
|
-
"flex w-full items-center overflow-hidden px-refineui-size-x-small
|
|
4539
|
+
"flex w-full items-center overflow-hidden px-refineui-size-x-small py-refineui-size-xxx-small text-refineui-alias-foreground-tertiary"
|
|
4533
4540
|
),
|
|
4534
4541
|
separatorWrap: "flex w-full items-center px-refineui-size-x-small py-refineui-size-x-small",
|
|
4535
4542
|
separatorLine: "h-px w-full shrink-0 bg-refineui-alias-border-default",
|
|
@@ -7210,6 +7217,7 @@ var import_react28 = require("react");
|
|
|
7210
7217
|
var import_tokens17 = require("@refineui/tokens");
|
|
7211
7218
|
|
|
7212
7219
|
// src/components/Breadcrumb/style.ts
|
|
7220
|
+
var ellipsisChip = "box-border inline-flex min-h-refineui-button-min-height-sm min-w-refineui-button-min-height-sm shrink-0 items-center justify-center rounded-refineui-large p-refineui-size-xx-small leading-none";
|
|
7213
7221
|
var breadcrumbStyles = {
|
|
7214
7222
|
textRow: `${componentTextClass(componentTypographyTokens.breadcrumb.row)} whitespace-nowrap`,
|
|
7215
7223
|
root: "py-refineui-size-x-small",
|
|
@@ -7219,8 +7227,9 @@ var breadcrumbStyles = {
|
|
|
7219
7227
|
page: "inline-flex items-center px-refineui-size-medium py-refineui-size-x-small font-medium text-refineui-alias-foreground-primary",
|
|
7220
7228
|
separator: "inline-flex shrink-0 items-center",
|
|
7221
7229
|
separatorText: "inline-flex items-center text-refineui-alias-foreground-tertiary select-none",
|
|
7222
|
-
ellipsis:
|
|
7223
|
-
|
|
7230
|
+
ellipsis: `${ellipsisChip} text-refineui-alias-foreground-tertiary`,
|
|
7231
|
+
/** Color only — size/layout come from Button `layout="icon" size="sm"`. */
|
|
7232
|
+
ellipsisTrigger: "text-refineui-alias-foreground-tertiary"
|
|
7224
7233
|
};
|
|
7225
7234
|
|
|
7226
7235
|
// src/components/Breadcrumb/Breadcrumb.tsx
|
|
@@ -7293,52 +7302,43 @@ function BreadcrumbSeparator({ children, className, ...props }) {
|
|
|
7293
7302
|
}
|
|
7294
7303
|
);
|
|
7295
7304
|
}
|
|
7305
|
+
function EllipsisIcon() {
|
|
7306
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
7307
|
+
WebIcon,
|
|
7308
|
+
{
|
|
7309
|
+
name: "more-horizontal",
|
|
7310
|
+
size: import_tokens17.iconSizes.small,
|
|
7311
|
+
color: "currentColor",
|
|
7312
|
+
fallback: "\u22EF",
|
|
7313
|
+
className: "items-center justify-center"
|
|
7314
|
+
}
|
|
7315
|
+
);
|
|
7316
|
+
}
|
|
7296
7317
|
function BreadcrumbEllipsis({ className, ...props }) {
|
|
7297
7318
|
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
7298
7319
|
"span",
|
|
7299
7320
|
{
|
|
7300
7321
|
"data-refineui": "breadcrumb-ellipsis",
|
|
7301
|
-
className: (0, import_clsx55.clsx)(
|
|
7302
|
-
breadcrumbStyles.ellipsis,
|
|
7303
|
-
className
|
|
7304
|
-
),
|
|
7322
|
+
className: (0, import_clsx55.clsx)(breadcrumbStyles.ellipsis, className),
|
|
7305
7323
|
...props,
|
|
7306
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
7307
|
-
WebIcon,
|
|
7308
|
-
{
|
|
7309
|
-
name: "more-horizontal",
|
|
7310
|
-
size: import_tokens17.iconSizes.small,
|
|
7311
|
-
color: "currentColor",
|
|
7312
|
-
fallback: "\u22EF",
|
|
7313
|
-
className: "items-center justify-center"
|
|
7314
|
-
}
|
|
7315
|
-
)
|
|
7324
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(EllipsisIcon, {})
|
|
7316
7325
|
}
|
|
7317
7326
|
);
|
|
7318
7327
|
}
|
|
7319
7328
|
var BreadcrumbEllipsisTrigger = (0, import_react28.forwardRef)(
|
|
7320
7329
|
function BreadcrumbEllipsisTrigger2({ className, type = "button", children, ...props }, ref) {
|
|
7321
7330
|
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
7322
|
-
|
|
7331
|
+
Button,
|
|
7323
7332
|
{
|
|
7324
7333
|
ref,
|
|
7325
7334
|
type,
|
|
7335
|
+
variant: "ghost",
|
|
7336
|
+
size: "sm",
|
|
7337
|
+
layout: "icon",
|
|
7326
7338
|
"data-refineui": "breadcrumb-ellipsis",
|
|
7327
|
-
className: (0, import_clsx55.clsx)(
|
|
7328
|
-
breadcrumbStyles.ellipsisTrigger,
|
|
7329
|
-
className
|
|
7330
|
-
),
|
|
7339
|
+
className: (0, import_clsx55.clsx)(breadcrumbStyles.ellipsisTrigger, className),
|
|
7331
7340
|
...props,
|
|
7332
|
-
children: children ?? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
7333
|
-
WebIcon,
|
|
7334
|
-
{
|
|
7335
|
-
name: "more-horizontal",
|
|
7336
|
-
size: import_tokens17.iconSizes.small,
|
|
7337
|
-
color: "currentColor",
|
|
7338
|
-
fallback: "\u22EF",
|
|
7339
|
-
className: "items-center justify-center"
|
|
7340
|
-
}
|
|
7341
|
-
)
|
|
7341
|
+
children: children ?? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(EllipsisIcon, {})
|
|
7342
7342
|
}
|
|
7343
7343
|
);
|
|
7344
7344
|
}
|
|
@@ -8786,13 +8786,17 @@ var import_color8 = require("@refineui/utilities/color");
|
|
|
8786
8786
|
|
|
8787
8787
|
// src/components/Dropdown/style.ts
|
|
8788
8788
|
var import_clsx69 = require("clsx");
|
|
8789
|
+
var dropdownPanelChrome = "box-border flex w-refineui-dropdown-menu-width min-w-refineui-dropdown-menu-width flex-col overflow-hidden rounded-refineui-xx-large border-refineui-hairline border-refineui-alias-border-default shadow-refineui-2 outline-none";
|
|
8789
8790
|
var dropdownStyles = {
|
|
8790
|
-
menuShell:
|
|
8791
|
-
|
|
8791
|
+
menuShell: (0, import_clsx69.clsx)(
|
|
8792
|
+
dropdownPanelChrome,
|
|
8793
|
+
"max-w-[min(100vw-16px,calc(100vw-2rem))]"
|
|
8794
|
+
),
|
|
8795
|
+
submenuShell: dropdownPanelChrome,
|
|
8792
8796
|
menuViewport: "box-border flex flex-col gap-px p-refineui-size-xx-small",
|
|
8793
8797
|
label: (0, import_clsx69.clsx)(
|
|
8794
8798
|
componentTextClass(componentTypographyTokens.dropdown.label),
|
|
8795
|
-
"shrink-0 px-refineui-size-x-small py-refineui-size-
|
|
8799
|
+
"shrink-0 px-refineui-size-x-small py-refineui-size-xxx-small text-refineui-alias-foreground-tertiary"
|
|
8796
8800
|
),
|
|
8797
8801
|
item: (0, import_clsx69.clsx)(
|
|
8798
8802
|
componentTextClass(componentTypographyTokens.dropdown.item),
|
|
@@ -9662,16 +9666,21 @@ var import_react37 = require("@refineui/utilities/react");
|
|
|
9662
9666
|
|
|
9663
9667
|
// src/components/Menu/style.ts
|
|
9664
9668
|
var import_clsx75 = require("clsx");
|
|
9669
|
+
var menuPanelChrome = "box-border flex flex-col gap-px overflow-hidden rounded-refineui-xx-large border-refineui-hairline border-refineui-alias-border-default p-refineui-size-xx-small shadow-refineui-2";
|
|
9665
9670
|
var menuStyles = {
|
|
9666
|
-
/** Panel chrome — Web Kit Menu `633:4268` (fill
|
|
9667
|
-
panel:
|
|
9671
|
+
/** Panel chrome — Web Kit Menu `633:4268` (fill/blur: `surfaceFrosted` + `surfaceFrost`) */
|
|
9672
|
+
panel: (0, import_clsx75.clsx)(menuPanelChrome, "w-refineui-menu-panel-width"),
|
|
9668
9673
|
root: "relative inline-flex items-center leading-none",
|
|
9669
9674
|
triggerFallback: "cursor-pointer border-none bg-transparent p-0 font-inherit text-inherit",
|
|
9670
9675
|
/** Portal shell — position/z-index from `MenuPopover` fixed style */
|
|
9671
9676
|
popover: "z-refineui-messages",
|
|
9672
|
-
list:
|
|
9673
|
-
subPanel:
|
|
9674
|
-
|
|
9677
|
+
list: (0, import_clsx75.clsx)(menuPanelChrome, "w-full min-w-refineui-menu-panel-width outline-none"),
|
|
9678
|
+
subPanel: (0, import_clsx75.clsx)(
|
|
9679
|
+
menuPanelChrome,
|
|
9680
|
+
"w-refineui-menu-panel-width min-w-refineui-menu-panel-width outline-none"
|
|
9681
|
+
),
|
|
9682
|
+
/** Vertical density matches Sidebar `groupLabel` (`py-xxx-small`). */
|
|
9683
|
+
section: "flex w-full items-center overflow-hidden px-refineui-size-x-small py-refineui-size-xxx-small",
|
|
9675
9684
|
sectionText: (0, import_clsx75.clsx)(
|
|
9676
9685
|
componentTextClass(componentTypographyTokens.menu.section),
|
|
9677
9686
|
"text-refineui-alias-foreground-tertiary"
|
|
@@ -9854,11 +9863,11 @@ function MenuList({ className, ...props }) {
|
|
|
9854
9863
|
}
|
|
9855
9864
|
);
|
|
9856
9865
|
}
|
|
9857
|
-
function
|
|
9866
|
+
function MenuLabel({ className, children, ...props }) {
|
|
9858
9867
|
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
9859
9868
|
"div",
|
|
9860
9869
|
{
|
|
9861
|
-
"data-refineui": "menu-
|
|
9870
|
+
"data-refineui": "menu-label",
|
|
9862
9871
|
className: (0, import_clsx76.clsx)(menuStyles.section, className),
|
|
9863
9872
|
...props,
|
|
9864
9873
|
children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: menuStyles.sectionText, children })
|
|
@@ -14813,7 +14822,7 @@ var CHART_VIEWBOX_HEIGHT = 320;
|
|
|
14813
14822
|
var CHART_PLOT_PADDING_TOP = parseFloat(import_tokens34.spacings.sizeMedium);
|
|
14814
14823
|
var CHART_PLOT_PADDING_BOTTOM = parseFloat(import_tokens34.spacings.sizeXXSmall);
|
|
14815
14824
|
var CHART_PLOT_PADDING_X = parseFloat(import_tokens34.spacings.sizeMedium);
|
|
14816
|
-
var CHART_BAR_RADIUS = parseFloat(import_tokens34.borderRadii.
|
|
14825
|
+
var CHART_BAR_RADIUS = parseFloat(import_tokens34.borderRadii.roundedXLarge);
|
|
14817
14826
|
var CHART_BAR_BAND_FILL = 0.5;
|
|
14818
14827
|
var CHART_POINT_RADIUS = parseFloat(import_tokens34.foundationSizes.foundationSize40);
|
|
14819
14828
|
var CHART_POINT_STROKE = parseFloat(import_tokens34.foundationSizes.foundationSize20);
|
|
@@ -15462,40 +15471,63 @@ function ChartLegendItem({
|
|
|
15462
15471
|
var import_react57 = require("@refineui/utilities/react");
|
|
15463
15472
|
|
|
15464
15473
|
// src/components/Collapsible/Collapsible.tsx
|
|
15465
|
-
var
|
|
15474
|
+
var import_react59 = require("react");
|
|
15466
15475
|
var import_clsx108 = require("clsx");
|
|
15476
|
+
var import_react60 = require("@refineui/utilities/react");
|
|
15477
|
+
|
|
15478
|
+
// src/components/Collapsible/context.ts
|
|
15479
|
+
var import_react58 = require("react");
|
|
15467
15480
|
var import_tokens36 = require("@refineui/tokens");
|
|
15468
|
-
var
|
|
15469
|
-
var import_jsx_runtime78 = require("react/jsx-runtime");
|
|
15481
|
+
var import_animation9 = require("@refineui/utilities/animation");
|
|
15470
15482
|
var CollapsibleContext = (0, import_react58.createContext)(null);
|
|
15471
|
-
function
|
|
15483
|
+
function useCollapsibleContext(part) {
|
|
15472
15484
|
const value = (0, import_react58.useContext)(CollapsibleContext);
|
|
15473
|
-
if (!value) throw new Error(
|
|
15485
|
+
if (!value) throw new Error(`${part} must be used within Collapsible`);
|
|
15474
15486
|
return value;
|
|
15475
15487
|
}
|
|
15476
15488
|
function usePrefersReducedMotion3() {
|
|
15477
15489
|
const [reduce, setReduce] = (0, import_react58.useState)(false);
|
|
15478
15490
|
(0, import_react58.useEffect)(() => {
|
|
15479
|
-
const
|
|
15480
|
-
const sync = () => setReduce(
|
|
15491
|
+
const mql = window.matchMedia((0, import_animation9.getReducedMotionQuery)().replace("@media ", ""));
|
|
15492
|
+
const sync = () => setReduce(mql.matches);
|
|
15481
15493
|
sync();
|
|
15482
|
-
|
|
15483
|
-
return () =>
|
|
15494
|
+
mql.addEventListener("change", sync);
|
|
15495
|
+
return () => mql.removeEventListener("change", sync);
|
|
15484
15496
|
}, []);
|
|
15485
15497
|
return reduce;
|
|
15486
15498
|
}
|
|
15487
|
-
var
|
|
15488
|
-
|
|
15499
|
+
var PANEL_HEIGHT_MS2 = Number.parseFloat(import_tokens36.semanticInteraction.duration.panel) / 1e3;
|
|
15500
|
+
var PANEL_CONTENT_MS2 = Number.parseFloat(import_tokens36.semanticInteraction.duration.normal) / 1e3;
|
|
15501
|
+
var PANEL_HEIGHT_EASE2 = import_tokens36.semanticInteraction.easing.panel;
|
|
15502
|
+
var PANEL_CONTENT_EASE2 = import_tokens36.semanticInteraction.easing.content;
|
|
15503
|
+
|
|
15504
|
+
// src/components/Collapsible/style.ts
|
|
15505
|
+
var collapsibleStyles = {
|
|
15506
|
+
panelOuter: "min-h-0 overflow-hidden"
|
|
15507
|
+
};
|
|
15508
|
+
|
|
15509
|
+
// src/components/Collapsible/Collapsible.tsx
|
|
15510
|
+
var import_jsx_runtime78 = require("react/jsx-runtime");
|
|
15511
|
+
var Collapsible = (0, import_react59.forwardRef)(function Collapsible2({ open: openProp, defaultOpen = false, onOpenChange, asChild = false, className, children, ...props }, ref) {
|
|
15512
|
+
const [uncontrolled, setUncontrolled] = (0, import_react59.useState)(defaultOpen);
|
|
15489
15513
|
const open = openProp ?? uncontrolled;
|
|
15490
|
-
const
|
|
15491
|
-
openRef.current = open;
|
|
15492
|
-
const reactId = (0, import_react58.useId)();
|
|
15514
|
+
const reactId = (0, import_react59.useId)();
|
|
15493
15515
|
const reduceMotion = usePrefersReducedMotion3();
|
|
15494
|
-
const toggle = () => {
|
|
15495
|
-
const next = !
|
|
15516
|
+
const toggle = (0, import_react59.useCallback)(() => {
|
|
15517
|
+
const next = !(openProp ?? uncontrolled);
|
|
15496
15518
|
if (openProp === void 0) setUncontrolled(next);
|
|
15497
15519
|
onOpenChange?.(next);
|
|
15498
|
-
};
|
|
15520
|
+
}, [onOpenChange, openProp, uncontrolled]);
|
|
15521
|
+
const contextValue = (0, import_react59.useMemo)(
|
|
15522
|
+
() => ({
|
|
15523
|
+
open,
|
|
15524
|
+
toggle,
|
|
15525
|
+
contentId: `${reactId}-content`,
|
|
15526
|
+
triggerId: `${reactId}-trigger`,
|
|
15527
|
+
reduceMotion
|
|
15528
|
+
}),
|
|
15529
|
+
[open, reactId, reduceMotion, toggle]
|
|
15530
|
+
);
|
|
15499
15531
|
const shared = {
|
|
15500
15532
|
...props,
|
|
15501
15533
|
ref,
|
|
@@ -15503,98 +15535,77 @@ var CollapsibleRoot = (0, import_react58.forwardRef)(function CollapsibleRoot2({
|
|
|
15503
15535
|
"data-refineui": "collapsible",
|
|
15504
15536
|
className
|
|
15505
15537
|
};
|
|
15506
|
-
return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
15507
|
-
CollapsibleContext.Provider,
|
|
15508
|
-
{
|
|
15509
|
-
value: {
|
|
15510
|
-
open,
|
|
15511
|
-
toggle,
|
|
15512
|
-
contentId: `${reactId}-content`,
|
|
15513
|
-
triggerId: `${reactId}-trigger`,
|
|
15514
|
-
reduceMotion
|
|
15515
|
-
},
|
|
15516
|
-
children: asChild ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_react59.Slot, { ...shared, children }) : /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { ...shared, children })
|
|
15517
|
-
}
|
|
15518
|
-
);
|
|
15538
|
+
return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(CollapsibleContext.Provider, { value: contextValue, children: asChild ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_react60.Slot, { ...shared, children }) : /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { ...shared, children }) });
|
|
15519
15539
|
});
|
|
15520
|
-
var CollapsibleTrigger = (0,
|
|
15521
|
-
|
|
15522
|
-
|
|
15523
|
-
|
|
15524
|
-
ref,
|
|
15525
|
-
id: triggerId,
|
|
15526
|
-
"aria-expanded": open,
|
|
15527
|
-
"aria-controls": contentId,
|
|
15528
|
-
"data-state": open ? "open" : "closed",
|
|
15529
|
-
"data-refineui": "collapsible-trigger",
|
|
15530
|
-
className,
|
|
15531
|
-
onClick: (event) => {
|
|
15532
|
-
onClick?.(event);
|
|
15533
|
-
if (!event.defaultPrevented) toggle();
|
|
15534
|
-
}
|
|
15535
|
-
};
|
|
15536
|
-
if (asChild) return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_react59.Slot, { ...shared, children });
|
|
15537
|
-
return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("button", { ...shared, type: "button", children });
|
|
15538
|
-
});
|
|
15539
|
-
var CollapsibleContent = (0, import_react58.forwardRef)(function CollapsibleContent2({ className, children, style, ...props }, ref) {
|
|
15540
|
-
const { open, contentId, triggerId, reduceMotion } = useCollapsible();
|
|
15541
|
-
const innerRef = (0, import_react58.useRef)(null);
|
|
15542
|
-
const [size, setSize] = (0, import_react58.useState)({ height: 0, width: 0 });
|
|
15543
|
-
(0, import_react58.useLayoutEffect)(() => {
|
|
15544
|
-
const node = innerRef.current;
|
|
15545
|
-
if (!node) return;
|
|
15546
|
-
const measure = () => {
|
|
15547
|
-
setSize({ height: node.scrollHeight, width: node.scrollWidth });
|
|
15548
|
-
};
|
|
15549
|
-
measure();
|
|
15550
|
-
const observer = new ResizeObserver(measure);
|
|
15551
|
-
observer.observe(node);
|
|
15552
|
-
return () => observer.disconnect();
|
|
15553
|
-
}, [children, open]);
|
|
15554
|
-
const clipStyle = {
|
|
15555
|
-
["--refineui-collapsible-content-height"]: `${size.height}px`,
|
|
15556
|
-
["--refineui-collapsible-content-width"]: `${size.width}px`,
|
|
15557
|
-
height: open ? size.height : 0,
|
|
15558
|
-
overflow: "hidden",
|
|
15559
|
-
transition: reduceMotion ? void 0 : `height ${import_tokens36.semanticInteraction.duration.panel} ${import_tokens36.semanticInteraction.easing.panel}`
|
|
15560
|
-
};
|
|
15561
|
-
return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
15562
|
-
"div",
|
|
15563
|
-
{
|
|
15540
|
+
var CollapsibleTrigger = (0, import_react59.forwardRef)(
|
|
15541
|
+
function CollapsibleTrigger2({ asChild = false, onClick, className, children, ...props }, ref) {
|
|
15542
|
+
const { open, toggle, contentId, triggerId } = useCollapsibleContext("CollapsibleTrigger");
|
|
15543
|
+
const shared = {
|
|
15564
15544
|
...props,
|
|
15565
15545
|
ref,
|
|
15566
|
-
id:
|
|
15567
|
-
|
|
15568
|
-
"aria-
|
|
15569
|
-
"aria-hidden": !open,
|
|
15546
|
+
id: triggerId,
|
|
15547
|
+
"aria-expanded": open,
|
|
15548
|
+
"aria-controls": contentId,
|
|
15570
15549
|
"data-state": open ? "open" : "closed",
|
|
15571
|
-
"data-refineui": "collapsible-
|
|
15572
|
-
|
|
15573
|
-
|
|
15574
|
-
|
|
15575
|
-
|
|
15576
|
-
}
|
|
15577
|
-
|
|
15578
|
-
|
|
15579
|
-
|
|
15580
|
-
|
|
15581
|
-
|
|
15550
|
+
"data-refineui": "collapsible-trigger",
|
|
15551
|
+
className,
|
|
15552
|
+
onClick: (event) => {
|
|
15553
|
+
onClick?.(event);
|
|
15554
|
+
if (!event.defaultPrevented) toggle();
|
|
15555
|
+
}
|
|
15556
|
+
};
|
|
15557
|
+
if (asChild) return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_react60.Slot, { ...shared, children });
|
|
15558
|
+
return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("button", { ...shared, type: "button", children });
|
|
15559
|
+
}
|
|
15560
|
+
);
|
|
15561
|
+
var CollapsibleContent = (0, import_react59.forwardRef)(
|
|
15562
|
+
function CollapsibleContent2({ className, children, style, ...props }, ref) {
|
|
15563
|
+
const { open, contentId, triggerId, reduceMotion } = useCollapsibleContext("CollapsibleContent");
|
|
15564
|
+
const gridStyle = {
|
|
15565
|
+
display: "grid",
|
|
15566
|
+
gridTemplateRows: open ? "1fr" : "0fr",
|
|
15567
|
+
transition: reduceMotion ? void 0 : `grid-template-rows ${PANEL_HEIGHT_MS2}s ${PANEL_HEIGHT_EASE2}`
|
|
15568
|
+
};
|
|
15569
|
+
const innerMotionStyle = {
|
|
15570
|
+
opacity: open ? 1 : 0,
|
|
15571
|
+
transform: open ? "translate3d(0, 0, 0)" : "translate3d(0, calc(-1 * var(--refineui-spacing-size-x-small)), 0)",
|
|
15572
|
+
transition: reduceMotion ? void 0 : `opacity ${PANEL_CONTENT_MS2}s ${PANEL_CONTENT_EASE2}, transform ${PANEL_CONTENT_MS2}s ${PANEL_CONTENT_EASE2}`,
|
|
15573
|
+
pointerEvents: open ? void 0 : "none",
|
|
15574
|
+
...style
|
|
15575
|
+
};
|
|
15576
|
+
return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
15577
|
+
"div",
|
|
15578
|
+
{
|
|
15579
|
+
...props,
|
|
15580
|
+
ref,
|
|
15581
|
+
id: contentId,
|
|
15582
|
+
role: "region",
|
|
15583
|
+
"aria-labelledby": triggerId,
|
|
15584
|
+
"aria-hidden": !open,
|
|
15585
|
+
"data-state": open ? "open" : "closed",
|
|
15586
|
+
"data-refineui": "collapsible-content",
|
|
15587
|
+
style: gridStyle,
|
|
15588
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: collapsibleStyles.panelOuter, children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: (0, import_clsx108.clsx)(className), style: innerMotionStyle, children }) })
|
|
15589
|
+
}
|
|
15590
|
+
);
|
|
15591
|
+
}
|
|
15592
|
+
);
|
|
15582
15593
|
|
|
15583
15594
|
// src/components/ContextMenu/ContextMenu.tsx
|
|
15584
|
-
var
|
|
15595
|
+
var import_react61 = require("react");
|
|
15585
15596
|
var import_react_dom7 = require("react-dom");
|
|
15586
15597
|
var import_clsx109 = require("clsx");
|
|
15587
15598
|
var import_tokens37 = require("@refineui/tokens");
|
|
15588
|
-
var
|
|
15589
|
-
var
|
|
15599
|
+
var import_animation10 = require("@refineui/utilities/animation");
|
|
15600
|
+
var import_react62 = require("@refineui/utilities/react");
|
|
15590
15601
|
var import_jsx_runtime79 = require("react/jsx-runtime");
|
|
15591
15602
|
var MENU_ATTR = "data-refineui-context-menu";
|
|
15592
|
-
var CLOSE_MS = (0,
|
|
15593
|
-
var MenuContext2 = (0,
|
|
15594
|
-
var SubContext = (0,
|
|
15603
|
+
var CLOSE_MS = (0, import_animation10.motionMsToNumber)(import_tokens37.semanticInteraction.duration.normal);
|
|
15604
|
+
var MenuContext2 = (0, import_react61.createContext)(null);
|
|
15605
|
+
var SubContext = (0, import_react61.createContext)(null);
|
|
15595
15606
|
function useMenu() {
|
|
15596
|
-
const value = (0,
|
|
15597
|
-
if (!value) throw new Error("Context menu parts must be used
|
|
15607
|
+
const value = (0, import_react61.useContext)(MenuContext2);
|
|
15608
|
+
if (!value) throw new Error("Context menu parts must be used within ContextMenu");
|
|
15598
15609
|
return value;
|
|
15599
15610
|
}
|
|
15600
15611
|
function placeInView(element, x, y) {
|
|
@@ -15608,31 +15619,31 @@ function placeInView(element, x, y) {
|
|
|
15608
15619
|
element.style.left = `${left}px`;
|
|
15609
15620
|
element.style.top = `${top}px`;
|
|
15610
15621
|
}
|
|
15611
|
-
function
|
|
15622
|
+
function ContextMenu({ modal = true, onOpenChange, children }) {
|
|
15612
15623
|
void modal;
|
|
15613
|
-
const [open, setOpen] = (0,
|
|
15614
|
-
const [point, setPoint] = (0,
|
|
15615
|
-
const openRef = (0,
|
|
15616
|
-
const onOpenChangeRef = (0,
|
|
15624
|
+
const [open, setOpen] = (0, import_react61.useState)(false);
|
|
15625
|
+
const [point, setPoint] = (0, import_react61.useState)({ x: 0, y: 0 });
|
|
15626
|
+
const openRef = (0, import_react61.useRef)(false);
|
|
15627
|
+
const onOpenChangeRef = (0, import_react61.useRef)(onOpenChange);
|
|
15617
15628
|
openRef.current = open;
|
|
15618
15629
|
onOpenChangeRef.current = onOpenChange;
|
|
15619
|
-
const close = (0,
|
|
15630
|
+
const close = (0, import_react61.useCallback)(() => {
|
|
15620
15631
|
if (!openRef.current) return;
|
|
15621
15632
|
openRef.current = false;
|
|
15622
15633
|
setOpen(false);
|
|
15623
15634
|
onOpenChangeRef.current?.(false);
|
|
15624
15635
|
}, []);
|
|
15625
|
-
const openAt = (0,
|
|
15636
|
+
const openAt = (0, import_react61.useCallback)((x, y) => {
|
|
15626
15637
|
setPoint({ x, y });
|
|
15627
15638
|
const wasOpen = openRef.current;
|
|
15628
15639
|
openRef.current = true;
|
|
15629
15640
|
setOpen(true);
|
|
15630
15641
|
if (!wasOpen) onOpenChangeRef.current?.(true);
|
|
15631
15642
|
}, []);
|
|
15632
|
-
const value = (0,
|
|
15643
|
+
const value = (0, import_react61.useMemo)(() => ({ open, point, openAt, close }), [open, point, openAt, close]);
|
|
15633
15644
|
return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(MenuContext2.Provider, { value, children });
|
|
15634
15645
|
}
|
|
15635
|
-
var ContextMenuTrigger = (0,
|
|
15646
|
+
var ContextMenuTrigger = (0, import_react61.forwardRef)(function ContextMenuTrigger2({ asChild = false, onContextMenu, children, ...props }, ref) {
|
|
15636
15647
|
const { openAt } = useMenu();
|
|
15637
15648
|
const shared = {
|
|
15638
15649
|
...props,
|
|
@@ -15645,18 +15656,18 @@ var ContextMenuTrigger = (0, import_react60.forwardRef)(function ContextMenuTrig
|
|
|
15645
15656
|
openAt(event.clientX, event.clientY);
|
|
15646
15657
|
}
|
|
15647
15658
|
};
|
|
15648
|
-
if (asChild) return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
15659
|
+
if (asChild) return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_react62.Slot, { ...shared, children });
|
|
15649
15660
|
return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { ...shared, className: (0, import_clsx109.clsx)(menuStyles.triggerFallback, props.className), children });
|
|
15650
15661
|
});
|
|
15651
15662
|
function ContextMenuPortal({ children }) {
|
|
15652
15663
|
return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_jsx_runtime79.Fragment, { children });
|
|
15653
15664
|
}
|
|
15654
|
-
var ContextMenuContent = (0,
|
|
15665
|
+
var ContextMenuContent = (0, import_react61.forwardRef)(function ContextMenuContent2({ className, style, onPointerDown, children, ...props }, ref) {
|
|
15655
15666
|
const { open, point, close } = useMenu();
|
|
15656
|
-
const localRef = (0,
|
|
15657
|
-
const [shouldRender, setShouldRender] = (0,
|
|
15658
|
-
const [isClosing, setIsClosing] = (0,
|
|
15659
|
-
(0,
|
|
15667
|
+
const localRef = (0, import_react61.useRef)(null);
|
|
15668
|
+
const [shouldRender, setShouldRender] = (0, import_react61.useState)(open);
|
|
15669
|
+
const [isClosing, setIsClosing] = (0, import_react61.useState)(false);
|
|
15670
|
+
(0, import_react61.useEffect)(() => {
|
|
15660
15671
|
if (open) {
|
|
15661
15672
|
setShouldRender(true);
|
|
15662
15673
|
setIsClosing(false);
|
|
@@ -15670,11 +15681,11 @@ var ContextMenuContent = (0, import_react60.forwardRef)(function ContextMenuCont
|
|
|
15670
15681
|
}, CLOSE_MS);
|
|
15671
15682
|
return () => window.clearTimeout(timeout);
|
|
15672
15683
|
}, [open, shouldRender]);
|
|
15673
|
-
(0,
|
|
15684
|
+
(0, import_react61.useLayoutEffect)(() => {
|
|
15674
15685
|
if (!shouldRender || !localRef.current) return;
|
|
15675
15686
|
placeInView(localRef.current, point.x, point.y);
|
|
15676
15687
|
}, [shouldRender, point.x, point.y]);
|
|
15677
|
-
(0,
|
|
15688
|
+
(0, import_react61.useEffect)(() => {
|
|
15678
15689
|
if (!open) return;
|
|
15679
15690
|
const onKey = (event) => {
|
|
15680
15691
|
if (event.key === "Escape") close();
|
|
@@ -15737,7 +15748,7 @@ function runSelect(onSelect, close, disabled) {
|
|
|
15737
15748
|
onSelect?.(selectEvent);
|
|
15738
15749
|
if (!selectEvent.defaultPrevented) close();
|
|
15739
15750
|
}
|
|
15740
|
-
var ContextMenuItem = (0,
|
|
15751
|
+
var ContextMenuItem = (0, import_react61.forwardRef)(function ContextMenuItem2({ disabled = false, description, shortcut, startIcon, endIcon, state = "default", onSelect, className, onClick, onKeyDown, children, ...props }, ref) {
|
|
15741
15752
|
const { close } = useMenu();
|
|
15742
15753
|
const isDisabled = disabled || state === "disabled";
|
|
15743
15754
|
const slotted = startIcon != null || description != null || shortcut != null || endIcon != null;
|
|
@@ -15795,7 +15806,7 @@ var ContextMenuItem = (0, import_react60.forwardRef)(function ContextMenuItem2({
|
|
|
15795
15806
|
}
|
|
15796
15807
|
);
|
|
15797
15808
|
});
|
|
15798
|
-
var ContextMenuSeparator = (0,
|
|
15809
|
+
var ContextMenuSeparator = (0, import_react61.forwardRef)(
|
|
15799
15810
|
function ContextMenuSeparator2({ className, ...props }, ref) {
|
|
15800
15811
|
return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
15801
15812
|
"div",
|
|
@@ -15812,19 +15823,19 @@ var ContextMenuSeparator = (0, import_react60.forwardRef)(
|
|
|
15812
15823
|
);
|
|
15813
15824
|
}
|
|
15814
15825
|
);
|
|
15815
|
-
function
|
|
15816
|
-
return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { "data-refineui": "menu-
|
|
15826
|
+
function ContextMenuLabel({ className, children, ...props }) {
|
|
15827
|
+
return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { "data-refineui": "menu-label", className: (0, import_clsx109.clsx)(menuStyles.section, className), ...props, children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: menuStyles.sectionText, children }) });
|
|
15817
15828
|
}
|
|
15818
15829
|
function ContextMenuSub({ children }) {
|
|
15819
|
-
const [open, setOpen] = (0,
|
|
15820
|
-
const triggerRef = (0,
|
|
15821
|
-
const timer = (0,
|
|
15830
|
+
const [open, setOpen] = (0, import_react61.useState)(false);
|
|
15831
|
+
const triggerRef = (0, import_react61.useRef)(null);
|
|
15832
|
+
const timer = (0, import_react61.useRef)(null);
|
|
15822
15833
|
const clear = () => {
|
|
15823
15834
|
if (timer.current != null) window.clearTimeout(timer.current);
|
|
15824
15835
|
timer.current = null;
|
|
15825
15836
|
};
|
|
15826
|
-
(0,
|
|
15827
|
-
const value = (0,
|
|
15837
|
+
(0, import_react61.useEffect)(() => clear, []);
|
|
15838
|
+
const value = (0, import_react61.useMemo)(
|
|
15828
15839
|
() => ({
|
|
15829
15840
|
open,
|
|
15830
15841
|
triggerRef,
|
|
@@ -15842,11 +15853,11 @@ function ContextMenuSub({ children }) {
|
|
|
15842
15853
|
return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(SubContext.Provider, { value, children });
|
|
15843
15854
|
}
|
|
15844
15855
|
function useSub2() {
|
|
15845
|
-
const value = (0,
|
|
15846
|
-
if (!value) throw new Error("
|
|
15856
|
+
const value = (0, import_react61.useContext)(SubContext);
|
|
15857
|
+
if (!value) throw new Error("ContextMenuSubTrigger must be used within ContextMenuSub");
|
|
15847
15858
|
return value;
|
|
15848
15859
|
}
|
|
15849
|
-
var ContextMenuSubTrigger = (0,
|
|
15860
|
+
var ContextMenuSubTrigger = (0, import_react61.forwardRef)(
|
|
15850
15861
|
function ContextMenuSubTrigger2({ asChild = false, description, startIcon, onMouseEnter, onMouseLeave, onClick, className, children, ...props }, ref) {
|
|
15851
15862
|
const sub = useSub2();
|
|
15852
15863
|
const shared = {
|
|
@@ -15882,7 +15893,7 @@ var ContextMenuSubTrigger = (0, import_react60.forwardRef)(
|
|
|
15882
15893
|
if (!event.defaultPrevented) sub.show();
|
|
15883
15894
|
}
|
|
15884
15895
|
};
|
|
15885
|
-
if (asChild) return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
15896
|
+
if (asChild) return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_react62.Slot, { ...shared, children });
|
|
15886
15897
|
return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("button", { ...shared, children: /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("span", { className: menuStyles.row, children: [
|
|
15887
15898
|
startIcon ? /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
15888
15899
|
"span",
|
|
@@ -15907,12 +15918,12 @@ var ContextMenuSubTrigger = (0, import_react60.forwardRef)(
|
|
|
15907
15918
|
] }) });
|
|
15908
15919
|
}
|
|
15909
15920
|
);
|
|
15910
|
-
var ContextMenuSubContent = (0,
|
|
15921
|
+
var ContextMenuSubContent = (0, import_react61.forwardRef)(
|
|
15911
15922
|
function ContextMenuSubContent2({ className, style, onPointerDown, onMouseEnter, onMouseLeave, ...props }, ref) {
|
|
15912
15923
|
const sub = useSub2();
|
|
15913
|
-
const localRef = (0,
|
|
15914
|
-
const [side, setSide] = (0,
|
|
15915
|
-
(0,
|
|
15924
|
+
const localRef = (0, import_react61.useRef)(null);
|
|
15925
|
+
const [side, setSide] = (0, import_react61.useState)("right");
|
|
15926
|
+
(0, import_react61.useLayoutEffect)(() => {
|
|
15916
15927
|
const trigger = sub.triggerRef.current;
|
|
15917
15928
|
const element = localRef.current;
|
|
15918
15929
|
if (!sub.open || !trigger || !element) return;
|
|
@@ -15966,18 +15977,6 @@ var ContextMenuSubContent = (0, import_react60.forwardRef)(
|
|
|
15966
15977
|
);
|
|
15967
15978
|
}
|
|
15968
15979
|
);
|
|
15969
|
-
var ContextMenu = Object.assign(ContextMenuRoot, {
|
|
15970
|
-
Root: ContextMenuRoot,
|
|
15971
|
-
Trigger: ContextMenuTrigger,
|
|
15972
|
-
Portal: ContextMenuPortal,
|
|
15973
|
-
Content: ContextMenuContent,
|
|
15974
|
-
Item: ContextMenuItem,
|
|
15975
|
-
Section: ContextMenuSection,
|
|
15976
|
-
Separator: ContextMenuSeparator,
|
|
15977
|
-
Sub: ContextMenuSub,
|
|
15978
|
-
SubTrigger: ContextMenuSubTrigger,
|
|
15979
|
-
SubContent: ContextMenuSubContent
|
|
15980
|
-
});
|
|
15981
15980
|
// Annotate the CommonJS export names for ESM import in node:
|
|
15982
15981
|
0 && (module.exports = {
|
|
15983
15982
|
Accordion,
|
|
@@ -16050,7 +16049,6 @@ var ContextMenu = Object.assign(ContextMenuRoot, {
|
|
|
16050
16049
|
Chip,
|
|
16051
16050
|
Collapsible,
|
|
16052
16051
|
CollapsibleContent,
|
|
16053
|
-
CollapsibleRoot,
|
|
16054
16052
|
CollapsibleTrigger,
|
|
16055
16053
|
Command,
|
|
16056
16054
|
CommandDialog,
|
|
@@ -16066,9 +16064,8 @@ var ContextMenu = Object.assign(ContextMenuRoot, {
|
|
|
16066
16064
|
ContextMenu,
|
|
16067
16065
|
ContextMenuContent,
|
|
16068
16066
|
ContextMenuItem,
|
|
16067
|
+
ContextMenuLabel,
|
|
16069
16068
|
ContextMenuPortal,
|
|
16070
|
-
ContextMenuRoot,
|
|
16071
|
-
ContextMenuSection,
|
|
16072
16069
|
ContextMenuSeparator,
|
|
16073
16070
|
ContextMenuSub,
|
|
16074
16071
|
ContextMenuSubContent,
|
|
@@ -16136,9 +16133,9 @@ var ContextMenu = Object.assign(ContextMenuRoot, {
|
|
|
16136
16133
|
Menu,
|
|
16137
16134
|
MenuDivider,
|
|
16138
16135
|
MenuItem,
|
|
16136
|
+
MenuLabel,
|
|
16139
16137
|
MenuList,
|
|
16140
16138
|
MenuPopover,
|
|
16141
|
-
MenuSection,
|
|
16142
16139
|
MenuSub,
|
|
16143
16140
|
MenuSubContent,
|
|
16144
16141
|
MenuSubTrigger,
|
|
@@ -16195,7 +16192,6 @@ var ContextMenu = Object.assign(ContextMenuRoot, {
|
|
|
16195
16192
|
SelectPortal,
|
|
16196
16193
|
SelectScrollDownButton,
|
|
16197
16194
|
SelectScrollUpButton,
|
|
16198
|
-
SelectSection,
|
|
16199
16195
|
SelectSeparator,
|
|
16200
16196
|
SelectTrigger,
|
|
16201
16197
|
SelectValue,
|