@commercetools/nimbus 0.0.0-canary-20251023155107 → 0.0.0-canary-20251024075337
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/chunks/{localized-field-DUVUwcg1.es.js → localized-field-D4HBEdq0.es.js} +2 -2
- package/dist/chunks/{localized-field-DUVUwcg1.es.js.map → localized-field-D4HBEdq0.es.js.map} +1 -1
- package/dist/chunks/{localized-field-Bf0Cw_ok.cjs.js → localized-field-u03KZc2G.cjs.js} +2 -2
- package/dist/chunks/{localized-field-Bf0Cw_ok.cjs.js.map → localized-field-u03KZc2G.cjs.js.map} +1 -1
- package/dist/chunks/menu-CvowvbXh.es.js +263 -0
- package/dist/chunks/menu-CvowvbXh.es.js.map +1 -0
- package/dist/chunks/{menu-BwvV9d6-.cjs.js → menu-DK0AShnF.cjs.js} +2 -2
- package/dist/chunks/menu-DK0AShnF.cjs.js.map +1 -0
- package/dist/chunks/{rich-text-input-CYTQBdtv.cjs.js → rich-text-input-B41QcSHY.cjs.js} +2 -2
- package/dist/chunks/{rich-text-input-CYTQBdtv.cjs.js.map → rich-text-input-B41QcSHY.cjs.js.map} +1 -1
- package/dist/chunks/{rich-text-input-d2ztVFjc.es.js → rich-text-input-BGVyDm30.es.js} +2 -2
- package/dist/chunks/{rich-text-input-d2ztVFjc.es.js.map → rich-text-input-BGVyDm30.es.js.map} +1 -1
- package/dist/chunks/{split-button-D76dk27b.cjs.js → split-button-C8BsVNhR.cjs.js} +2 -2
- package/dist/chunks/{split-button-D76dk27b.cjs.js.map → split-button-C8BsVNhR.cjs.js.map} +1 -1
- package/dist/chunks/{split-button-B36Wmkbs.es.js → split-button-YwopMYuE.es.js} +2 -2
- package/dist/chunks/{split-button-B36Wmkbs.es.js.map → split-button-YwopMYuE.es.js.map} +1 -1
- package/dist/components/localized-field.cjs +1 -1
- package/dist/components/localized-field.es.js +1 -1
- package/dist/components/menu/components/index.d.ts +7 -0
- package/dist/components/menu/components/menu.content.d.ts +5 -0
- package/dist/components/menu/components/menu.item.d.ts +5 -0
- package/dist/components/menu/components/menu.root.d.ts +5 -0
- package/dist/components/menu/components/menu.section-label.d.ts +3 -1
- package/dist/components/menu/components/menu.section.d.ts +5 -0
- package/dist/components/menu/components/menu.submenu-trigger.d.ts +5 -0
- package/dist/components/menu/components/menu.submenu.d.ts +5 -0
- package/dist/components/menu/components/menu.trigger.d.ts +5 -0
- package/dist/components/menu/menu.d.ts +117 -8
- package/dist/components/menu/menu.types.d.ts +1 -1
- package/dist/components/rich-text-input.cjs +1 -1
- package/dist/components/rich-text-input.es.js +1 -1
- package/dist/components/split-button.cjs +1 -1
- package/dist/components/split-button.es.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.es.js +5 -5
- package/package.json +5 -5
- package/dist/chunks/menu-BwvV9d6-.cjs.js.map +0 -1
- package/dist/chunks/menu-oyta69vX.es.js +0 -147
- package/dist/chunks/menu-oyta69vX.es.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"split-button-B36Wmkbs.es.js","sources":["../../src/components/split-button/split-button.slots.tsx","../../src/components/split-button/split-button.tsx"],"sourcesContent":["import { createSlotRecipeContext } from \"@chakra-ui/react\";\nimport type { SlotComponent } from \"@/type-utils\";\nimport type {\n SplitButtonRootSlotProps,\n SplitButtonButtonGroupSlotProps,\n SplitButtonPrimaryButtonSlotProps,\n SplitButtonTriggerSlotProps,\n} from \"./split-button.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"splitButton\",\n});\n\n// Root Container\nexport const SplitButtonRootSlot: SlotComponent<\n HTMLDivElement,\n SplitButtonRootSlotProps\n> = withProvider<HTMLDivElement, SplitButtonRootSlotProps>(\"div\", \"root\");\n\n// Button Group Container\nexport const SplitButtonButtonGroupSlot = withContext<\n HTMLDivElement,\n SplitButtonButtonGroupSlotProps\n>(\"div\", \"buttonGroup\");\n\n// Primary Action Button\nexport const SplitButtonPrimaryButtonSlot = withContext<\n HTMLButtonElement,\n SplitButtonPrimaryButtonSlotProps\n>(\"button\", \"primaryButton\");\n\n// Dropdown Trigger Button\nexport const SplitButtonTriggerSlot = withContext<\n HTMLButtonElement,\n SplitButtonTriggerSlotProps\n>(\"button\", \"dropdownTrigger\");\n","import React from \"react\";\nimport { Button } from \"@/components/button\";\nimport { IconButton } from \"@/components/icon-button\";\nimport { Menu } from \"@/components/menu\";\nimport { Icon } from \"@/components/icon\";\nimport type { SplitButtonProps } from \"./split-button.types\";\nimport {\n SplitButtonRootSlot,\n SplitButtonButtonGroupSlot,\n SplitButtonPrimaryButtonSlot,\n SplitButtonTriggerSlot,\n} from \"./split-button.slots\";\nimport { KeyboardArrowDown } from \"@commercetools/nimbus-icons\";\n\n// Re-export types\nexport type * from \"./split-button.types\";\n\n/**\n * # SplitButton\n *\n * A split-button component that combines a primary action button with a dropdown menu.\n *\n * Shows a primary action button + dropdown trigger. The primary button automatically\n * executes the first enabled Menu.Item action, while the dropdown trigger opens a menu\n * with all available options.\n *\n * Use with Menu.Item, Menu.Section, and Separator components for content.\n */\nexport const SplitButton = (props: SplitButtonProps) => {\n const {\n size = \"md\",\n variant = \"solid\",\n tone,\n isDisabled = false,\n \"aria-label\": ariaLabel,\n onAction,\n isOpen,\n defaultOpen,\n onOpenChange,\n icon,\n } = props;\n\n const buttonProps = { size, variant, tone };\n\n /**\n * CORE CONCEPT: In split button mode, we need to populate the primary button\n * with content from a Menu.Item (specified by defaultAction prop).\n *\n * Why this complexity exists:\n * - Users define actions as <Menu.Item id=\"save\">Save Document</Menu.Item>\n * - We need to extract \"Save Document\" text to show on the primary button\n * - Menu.Items can be nested inside Menu.Section components\n * - We need to handle disabled states and fallbacks\n */\n\n // Type guards for safe prop access\n type MenuItemProps = {\n id: string;\n children: React.ReactNode;\n isDisabled?: boolean;\n isCritical?: boolean;\n };\n\n type ComponentWithChildren = {\n children: React.ReactNode;\n };\n\n // Check if element is a Menu.Item with required props\n const isMenuItemWithId = (\n element: React.ReactNode\n ): element is React.ReactElement<MenuItemProps> => {\n if (!React.isValidElement(element) || !element.props) return false;\n const props = element.props as Record<string, unknown>;\n return \"id\" in props && typeof props.id === \"string\";\n };\n\n // Check if element has children prop\n const hasChildren = (\n element: React.ReactNode\n ): element is React.ReactElement<ComponentWithChildren> => {\n if (!React.isValidElement(element) || !element.props) return false;\n const props = element.props as Record<string, unknown>;\n return \"children\" in props;\n };\n\n // All children are menu items\n const menuItems = props.children;\n\n /**\n * Check if there are any actionable (enabled) Menu.Items in the children.\n * This is used to determine if the dropdown trigger should be disabled.\n */\n const hasActionableMenuItems = (children: React.ReactNode): boolean => {\n let hasActionable = false;\n\n React.Children.forEach(children, (child) => {\n if (hasActionable) return;\n\n // Check if this is an enabled Menu.Item\n if (isMenuItemWithId(child) && !child.props.isDisabled) {\n hasActionable = true;\n return;\n }\n\n // Recurse into Menu.Section or any component with children\n if (hasChildren(child)) {\n hasActionable = hasActionableMenuItems(child.props.children);\n }\n });\n\n return hasActionable;\n };\n\n /**\n * Find the primary Menu.Item using the same logic as the original PrimaryActionDropdown.\n * Selects the first enabled Menu.Item, or falls back to the first Menu.Item if all are disabled.\n */\n const findPrimaryMenuItem = () => {\n const allMenuItems: Array<{\n content: React.ReactNode;\n isDisabled: boolean;\n actionId: string | null;\n }> = [];\n\n // Recursively collect all Menu.Items from children (including nested ones)\n const collectMenuItems = (children: React.ReactNode): void => {\n React.Children.forEach(children, (child) => {\n if (isMenuItemWithId(child)) {\n allMenuItems.push({\n content: child.props.children,\n isDisabled: child.props.isDisabled || false,\n actionId: child.props.id,\n });\n }\n\n // Recurse into Menu.Section or any component with children\n if (hasChildren(child)) {\n collectMenuItems(child.props.children);\n }\n });\n };\n\n collectMenuItems(menuItems);\n\n // Find first enabled Menu.Item, or fallback to first Menu.Item\n const primaryMenuItem =\n allMenuItems.find((item) => !item.isDisabled) || allMenuItems[0];\n\n return (\n primaryMenuItem || {\n // TODO: Localize this\n content: \"No actions available\",\n isDisabled: true,\n actionId: null,\n }\n );\n };\n\n // Check if there are any actionable menu items for dropdown functionality\n const hasActionableItems = hasActionableMenuItems(menuItems);\n\n // Get the primary button content using smart selection\n const buttonContent = findPrimaryMenuItem();\n\n const executePrimaryAction = () => {\n if (!buttonContent.isDisabled && buttonContent.actionId && onAction) {\n onAction(buttonContent.actionId);\n }\n };\n\n const isPrimaryDisabled = isDisabled || buttonContent.isDisabled;\n const isDropdownTriggerDisabled = isDisabled || !hasActionableItems;\n\n return (\n <SplitButtonRootSlot variant={variant} data-mode=\"split\">\n <SplitButtonButtonGroupSlot>\n {/* Primary Action Button */}\n <SplitButtonPrimaryButtonSlot asChild>\n <Button\n {...buttonProps}\n isDisabled={isPrimaryDisabled}\n onPress={executePrimaryAction}\n >\n {icon && <Icon>{icon}</Icon>}\n {buttonContent.content}\n </Button>\n </SplitButtonPrimaryButtonSlot>\n\n {/* Menu Trigger and Dropdown */}\n <Menu.Root\n trigger=\"press\"\n isOpen={isOpen}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n placement=\"bottom end\"\n selectionMode=\"none\"\n onAction={onAction ? (key) => onAction(String(key)) : undefined}\n >\n <Menu.Trigger asChild>\n <SplitButtonTriggerSlot asChild>\n <IconButton\n {...buttonProps}\n aria-label={ariaLabel}\n isDisabled={isDropdownTriggerDisabled}\n >\n <KeyboardArrowDown />\n </IconButton>\n </SplitButtonTriggerSlot>\n </Menu.Trigger>\n\n <Menu.Content>{menuItems}</Menu.Content>\n </Menu.Root>\n </SplitButtonButtonGroupSlot>\n </SplitButtonRootSlot>\n );\n};\n\nSplitButton.displayName = \"SplitButton\";\n\n// Export for internal use by react-docgen\nexport { SplitButton as _SplitButton };\n"],"names":["withProvider","withContext","createSlotRecipeContext","SplitButtonRootSlot","SplitButtonButtonGroupSlot","SplitButtonPrimaryButtonSlot","SplitButtonTriggerSlot","SplitButton","props","size","variant","tone","isDisabled","ariaLabel","onAction","isOpen","defaultOpen","onOpenChange","icon","buttonProps","isMenuItemWithId","element","React","hasChildren","menuItems","hasActionableMenuItems","children","hasActionable","child","findPrimaryMenuItem","allMenuItems","collectMenuItems","item","hasActionableItems","buttonContent","executePrimaryAction","isPrimaryDisabled","isDropdownTriggerDisabled","jsx","jsxs","Button","Icon","Menu","key","IconButton","KeyboardArrowDown"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"split-button-YwopMYuE.es.js","sources":["../../src/components/split-button/split-button.slots.tsx","../../src/components/split-button/split-button.tsx"],"sourcesContent":["import { createSlotRecipeContext } from \"@chakra-ui/react\";\nimport type { SlotComponent } from \"@/type-utils\";\nimport type {\n SplitButtonRootSlotProps,\n SplitButtonButtonGroupSlotProps,\n SplitButtonPrimaryButtonSlotProps,\n SplitButtonTriggerSlotProps,\n} from \"./split-button.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"splitButton\",\n});\n\n// Root Container\nexport const SplitButtonRootSlot: SlotComponent<\n HTMLDivElement,\n SplitButtonRootSlotProps\n> = withProvider<HTMLDivElement, SplitButtonRootSlotProps>(\"div\", \"root\");\n\n// Button Group Container\nexport const SplitButtonButtonGroupSlot = withContext<\n HTMLDivElement,\n SplitButtonButtonGroupSlotProps\n>(\"div\", \"buttonGroup\");\n\n// Primary Action Button\nexport const SplitButtonPrimaryButtonSlot = withContext<\n HTMLButtonElement,\n SplitButtonPrimaryButtonSlotProps\n>(\"button\", \"primaryButton\");\n\n// Dropdown Trigger Button\nexport const SplitButtonTriggerSlot = withContext<\n HTMLButtonElement,\n SplitButtonTriggerSlotProps\n>(\"button\", \"dropdownTrigger\");\n","import React from \"react\";\nimport { Button } from \"@/components/button\";\nimport { IconButton } from \"@/components/icon-button\";\nimport { Menu } from \"@/components/menu\";\nimport { Icon } from \"@/components/icon\";\nimport type { SplitButtonProps } from \"./split-button.types\";\nimport {\n SplitButtonRootSlot,\n SplitButtonButtonGroupSlot,\n SplitButtonPrimaryButtonSlot,\n SplitButtonTriggerSlot,\n} from \"./split-button.slots\";\nimport { KeyboardArrowDown } from \"@commercetools/nimbus-icons\";\n\n// Re-export types\nexport type * from \"./split-button.types\";\n\n/**\n * # SplitButton\n *\n * A split-button component that combines a primary action button with a dropdown menu.\n *\n * Shows a primary action button + dropdown trigger. The primary button automatically\n * executes the first enabled Menu.Item action, while the dropdown trigger opens a menu\n * with all available options.\n *\n * Use with Menu.Item, Menu.Section, and Separator components for content.\n */\nexport const SplitButton = (props: SplitButtonProps) => {\n const {\n size = \"md\",\n variant = \"solid\",\n tone,\n isDisabled = false,\n \"aria-label\": ariaLabel,\n onAction,\n isOpen,\n defaultOpen,\n onOpenChange,\n icon,\n } = props;\n\n const buttonProps = { size, variant, tone };\n\n /**\n * CORE CONCEPT: In split button mode, we need to populate the primary button\n * with content from a Menu.Item (specified by defaultAction prop).\n *\n * Why this complexity exists:\n * - Users define actions as <Menu.Item id=\"save\">Save Document</Menu.Item>\n * - We need to extract \"Save Document\" text to show on the primary button\n * - Menu.Items can be nested inside Menu.Section components\n * - We need to handle disabled states and fallbacks\n */\n\n // Type guards for safe prop access\n type MenuItemProps = {\n id: string;\n children: React.ReactNode;\n isDisabled?: boolean;\n isCritical?: boolean;\n };\n\n type ComponentWithChildren = {\n children: React.ReactNode;\n };\n\n // Check if element is a Menu.Item with required props\n const isMenuItemWithId = (\n element: React.ReactNode\n ): element is React.ReactElement<MenuItemProps> => {\n if (!React.isValidElement(element) || !element.props) return false;\n const props = element.props as Record<string, unknown>;\n return \"id\" in props && typeof props.id === \"string\";\n };\n\n // Check if element has children prop\n const hasChildren = (\n element: React.ReactNode\n ): element is React.ReactElement<ComponentWithChildren> => {\n if (!React.isValidElement(element) || !element.props) return false;\n const props = element.props as Record<string, unknown>;\n return \"children\" in props;\n };\n\n // All children are menu items\n const menuItems = props.children;\n\n /**\n * Check if there are any actionable (enabled) Menu.Items in the children.\n * This is used to determine if the dropdown trigger should be disabled.\n */\n const hasActionableMenuItems = (children: React.ReactNode): boolean => {\n let hasActionable = false;\n\n React.Children.forEach(children, (child) => {\n if (hasActionable) return;\n\n // Check if this is an enabled Menu.Item\n if (isMenuItemWithId(child) && !child.props.isDisabled) {\n hasActionable = true;\n return;\n }\n\n // Recurse into Menu.Section or any component with children\n if (hasChildren(child)) {\n hasActionable = hasActionableMenuItems(child.props.children);\n }\n });\n\n return hasActionable;\n };\n\n /**\n * Find the primary Menu.Item using the same logic as the original PrimaryActionDropdown.\n * Selects the first enabled Menu.Item, or falls back to the first Menu.Item if all are disabled.\n */\n const findPrimaryMenuItem = () => {\n const allMenuItems: Array<{\n content: React.ReactNode;\n isDisabled: boolean;\n actionId: string | null;\n }> = [];\n\n // Recursively collect all Menu.Items from children (including nested ones)\n const collectMenuItems = (children: React.ReactNode): void => {\n React.Children.forEach(children, (child) => {\n if (isMenuItemWithId(child)) {\n allMenuItems.push({\n content: child.props.children,\n isDisabled: child.props.isDisabled || false,\n actionId: child.props.id,\n });\n }\n\n // Recurse into Menu.Section or any component with children\n if (hasChildren(child)) {\n collectMenuItems(child.props.children);\n }\n });\n };\n\n collectMenuItems(menuItems);\n\n // Find first enabled Menu.Item, or fallback to first Menu.Item\n const primaryMenuItem =\n allMenuItems.find((item) => !item.isDisabled) || allMenuItems[0];\n\n return (\n primaryMenuItem || {\n // TODO: Localize this\n content: \"No actions available\",\n isDisabled: true,\n actionId: null,\n }\n );\n };\n\n // Check if there are any actionable menu items for dropdown functionality\n const hasActionableItems = hasActionableMenuItems(menuItems);\n\n // Get the primary button content using smart selection\n const buttonContent = findPrimaryMenuItem();\n\n const executePrimaryAction = () => {\n if (!buttonContent.isDisabled && buttonContent.actionId && onAction) {\n onAction(buttonContent.actionId);\n }\n };\n\n const isPrimaryDisabled = isDisabled || buttonContent.isDisabled;\n const isDropdownTriggerDisabled = isDisabled || !hasActionableItems;\n\n return (\n <SplitButtonRootSlot variant={variant} data-mode=\"split\">\n <SplitButtonButtonGroupSlot>\n {/* Primary Action Button */}\n <SplitButtonPrimaryButtonSlot asChild>\n <Button\n {...buttonProps}\n isDisabled={isPrimaryDisabled}\n onPress={executePrimaryAction}\n >\n {icon && <Icon>{icon}</Icon>}\n {buttonContent.content}\n </Button>\n </SplitButtonPrimaryButtonSlot>\n\n {/* Menu Trigger and Dropdown */}\n <Menu.Root\n trigger=\"press\"\n isOpen={isOpen}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n placement=\"bottom end\"\n selectionMode=\"none\"\n onAction={onAction ? (key) => onAction(String(key)) : undefined}\n >\n <Menu.Trigger asChild>\n <SplitButtonTriggerSlot asChild>\n <IconButton\n {...buttonProps}\n aria-label={ariaLabel}\n isDisabled={isDropdownTriggerDisabled}\n >\n <KeyboardArrowDown />\n </IconButton>\n </SplitButtonTriggerSlot>\n </Menu.Trigger>\n\n <Menu.Content>{menuItems}</Menu.Content>\n </Menu.Root>\n </SplitButtonButtonGroupSlot>\n </SplitButtonRootSlot>\n );\n};\n\nSplitButton.displayName = \"SplitButton\";\n\n// Export for internal use by react-docgen\nexport { SplitButton as _SplitButton };\n"],"names":["withProvider","withContext","createSlotRecipeContext","SplitButtonRootSlot","SplitButtonButtonGroupSlot","SplitButtonPrimaryButtonSlot","SplitButtonTriggerSlot","SplitButton","props","size","variant","tone","isDisabled","ariaLabel","onAction","isOpen","defaultOpen","onOpenChange","icon","buttonProps","isMenuItemWithId","element","React","hasChildren","menuItems","hasActionableMenuItems","children","hasActionable","child","findPrimaryMenuItem","allMenuItems","collectMenuItems","item","hasActionableItems","buttonContent","executePrimaryAction","isPrimaryDisabled","isDropdownTriggerDisabled","jsx","jsxs","Button","Icon","Menu","key","IconButton","KeyboardArrowDown"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const e=require("../chunks/localized-field-
|
|
1
|
+
"use strict";const e=require("../chunks/localized-field-u03KZc2G.cjs.js");exports.LocalizedField=e.LocalizedField;
|
|
2
2
|
//# sourceMappingURL=localized-field.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { MenuRoot } from './menu.root';
|
|
2
|
+
export { MenuTrigger } from './menu.trigger';
|
|
3
|
+
export { MenuContent } from './menu.content';
|
|
4
|
+
export { MenuItem } from './menu.item';
|
|
5
|
+
export { MenuSection } from './menu.section';
|
|
6
|
+
export { MenuSubmenuTrigger } from './menu.submenu-trigger';
|
|
7
|
+
export { MenuSubmenu } from './menu.submenu';
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { MenuContentProps } from '../menu.types';
|
|
2
|
+
/**
|
|
3
|
+
* Menu.Content - The popover container that displays menu items
|
|
4
|
+
*
|
|
5
|
+
* @supportsStyleProps
|
|
6
|
+
*/
|
|
2
7
|
export declare const MenuContent: {
|
|
3
8
|
({ children, placement: placementOverride, ref, }: MenuContentProps): import("react/jsx-runtime").JSX.Element;
|
|
4
9
|
displayName: string;
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { MenuItemProps } from '../menu.types';
|
|
2
|
+
/**
|
|
3
|
+
* Menu.Item - An individual menu item that can be selected
|
|
4
|
+
*
|
|
5
|
+
* @supportsStyleProps
|
|
6
|
+
*/
|
|
2
7
|
export declare const MenuItem: {
|
|
3
8
|
({ children, isCritical, ref, ...props }: MenuItemProps): import("react/jsx-runtime").JSX.Element;
|
|
4
9
|
displayName: string;
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { MenuRootProps } from '../menu.types';
|
|
2
|
+
/**
|
|
3
|
+
* Menu.Root - Container component that provides configuration and state management
|
|
4
|
+
*
|
|
5
|
+
* @supportsStyleProps
|
|
6
|
+
*/
|
|
2
7
|
export declare const MenuRoot: {
|
|
3
8
|
(props: MenuRootProps): import("react/jsx-runtime").JSX.Element;
|
|
4
9
|
displayName: string;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { MenuSectionLabelProps } from '../menu.types';
|
|
2
2
|
/**
|
|
3
|
-
* Used in MenuSection for rendering the `label` property
|
|
3
|
+
* Menu.SectionLabel - Used in MenuSection for rendering the `label` property
|
|
4
|
+
*
|
|
5
|
+
* @supportsStyleProps
|
|
4
6
|
*/
|
|
5
7
|
export declare const MenuSectionLabel: {
|
|
6
8
|
({ children, ref, ...props }: MenuSectionLabelProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { MenuSectionProps } from '../menu.types';
|
|
2
|
+
/**
|
|
3
|
+
* Menu.Section - Groups related menu items with an optional label
|
|
4
|
+
*
|
|
5
|
+
* @supportsStyleProps
|
|
6
|
+
*/
|
|
2
7
|
export declare const MenuSection: {
|
|
3
8
|
<T extends object = object>({ children, ref, label, items, ...props }: MenuSectionProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
4
9
|
displayName: string;
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { MenuSubmenuTriggerProps } from '../menu.types';
|
|
2
|
+
/**
|
|
3
|
+
* Menu.SubmenuTrigger - The trigger element for opening a submenu
|
|
4
|
+
*
|
|
5
|
+
* @supportsStyleProps
|
|
6
|
+
*/
|
|
2
7
|
export declare const MenuSubmenuTrigger: {
|
|
3
8
|
({ children, ...props }: MenuSubmenuTriggerProps): import("react/jsx-runtime").JSX.Element;
|
|
4
9
|
displayName: string;
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { MenuSubmenuProps } from '../menu.types';
|
|
2
|
+
/**
|
|
3
|
+
* Menu.Submenu - A nested menu that appears when hovering over or selecting a submenu trigger
|
|
4
|
+
*
|
|
5
|
+
* @supportsStyleProps
|
|
6
|
+
*/
|
|
2
7
|
export declare const MenuSubmenu: {
|
|
3
8
|
({ children, ...props }: MenuSubmenuProps): import("react/jsx-runtime").JSX.Element;
|
|
4
9
|
displayName: string;
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { MenuTriggerProps } from '../menu.types';
|
|
2
|
+
/**
|
|
3
|
+
* Menu.Trigger - The button or element that opens the menu when activated
|
|
4
|
+
*
|
|
5
|
+
* @supportsStyleProps
|
|
6
|
+
*/
|
|
2
7
|
export declare const MenuTrigger: {
|
|
3
8
|
({ children, asChild, ref, ...props }: MenuTriggerProps): import("react/jsx-runtime").JSX.Element;
|
|
4
9
|
displayName: string;
|
|
@@ -1,36 +1,145 @@
|
|
|
1
|
-
import { MenuRoot } from './components
|
|
2
|
-
import { MenuTrigger } from './components/menu.trigger';
|
|
3
|
-
import { MenuContent } from './components/menu.content';
|
|
4
|
-
import { MenuItem } from './components/menu.item';
|
|
5
|
-
import { MenuSection } from './components/menu.section';
|
|
6
|
-
import { MenuSubmenuTrigger } from './components/menu.submenu-trigger';
|
|
7
|
-
import { MenuSubmenu } from './components/menu.submenu';
|
|
8
|
-
export type * from './menu.types';
|
|
1
|
+
import { MenuRoot, MenuTrigger, MenuContent, MenuItem, MenuSection, MenuSubmenuTrigger, MenuSubmenu } from './components';
|
|
9
2
|
export declare const Menu: {
|
|
3
|
+
/**
|
|
4
|
+
* # Menu.Root
|
|
5
|
+
*
|
|
6
|
+
* The root container component that provides configuration and state management
|
|
7
|
+
* for the entire menu. Wraps MenuTrigger and handles open/close state.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```tsx
|
|
11
|
+
* <Menu.Root onAction={(key) => console.log(key)}>
|
|
12
|
+
* <Menu.Trigger>Options</Menu.Trigger>
|
|
13
|
+
* <Menu.Content>
|
|
14
|
+
* <Menu.Item id="edit">Edit</Menu.Item>
|
|
15
|
+
* </Menu.Content>
|
|
16
|
+
* </Menu.Root>
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
10
19
|
Root: {
|
|
11
20
|
(props: import('./menu.types').MenuRootProps): import("react/jsx-runtime").JSX.Element;
|
|
12
21
|
displayName: string;
|
|
13
22
|
};
|
|
23
|
+
/**
|
|
24
|
+
* # Menu.Trigger
|
|
25
|
+
*
|
|
26
|
+
* The button or element that opens the menu when activated.
|
|
27
|
+
* Supports custom trigger elements via the `asChild` prop.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```tsx
|
|
31
|
+
* <Menu.Root>
|
|
32
|
+
* <Menu.Trigger>Open Menu</Menu.Trigger>
|
|
33
|
+
* <Menu.Content>...</Menu.Content>
|
|
34
|
+
* </Menu.Root>
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
14
37
|
Trigger: {
|
|
15
38
|
({ children, asChild, ref, ...props }: import('./menu.types').MenuTriggerProps): import("react/jsx-runtime").JSX.Element;
|
|
16
39
|
displayName: string;
|
|
17
40
|
};
|
|
41
|
+
/**
|
|
42
|
+
* # Menu.Content
|
|
43
|
+
*
|
|
44
|
+
* The popover container that displays menu items. Automatically positions
|
|
45
|
+
* relative to the trigger and handles focus management.
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ```tsx
|
|
49
|
+
* <Menu.Root>
|
|
50
|
+
* <Menu.Trigger>Options</Menu.Trigger>
|
|
51
|
+
* <Menu.Content>
|
|
52
|
+
* <Menu.Item id="save">Save</Menu.Item>
|
|
53
|
+
* <Menu.Item id="delete">Delete</Menu.Item>
|
|
54
|
+
* </Menu.Content>
|
|
55
|
+
* </Menu.Root>
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
18
58
|
Content: {
|
|
19
59
|
({ children, placement: placementOverride, ref, }: import('./menu.types').MenuContentProps): import("react/jsx-runtime").JSX.Element;
|
|
20
60
|
displayName: string;
|
|
21
61
|
};
|
|
62
|
+
/**
|
|
63
|
+
* # Menu.Item
|
|
64
|
+
*
|
|
65
|
+
* An individual menu item that can be selected. Supports icons, labels,
|
|
66
|
+
* descriptions, keyboard shortcuts, and critical styling.
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```tsx
|
|
70
|
+
* <Menu.Item id="delete" isCritical>
|
|
71
|
+
* <Icon slot="icon"><Icons.Delete /></Icon>
|
|
72
|
+
* <Text slot="label">Delete</Text>
|
|
73
|
+
* <Text slot="description">Remove permanently</Text>
|
|
74
|
+
* <Kbd slot="keyboard">⌘⌫</Kbd>
|
|
75
|
+
* </Menu.Item>
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
22
78
|
Item: {
|
|
23
79
|
({ children, isCritical, ref, ...props }: import('./menu.types').MenuItemProps): import("react/jsx-runtime").JSX.Element;
|
|
24
80
|
displayName: string;
|
|
25
81
|
};
|
|
82
|
+
/**
|
|
83
|
+
* # Menu.Section
|
|
84
|
+
*
|
|
85
|
+
* Groups related menu items with an optional label. Supports selection modes
|
|
86
|
+
* for single or multiple selections within the section.
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* ```tsx
|
|
90
|
+
* <Menu.Content>
|
|
91
|
+
* <Menu.Section label="Edit Actions">
|
|
92
|
+
* <Menu.Item id="copy">Copy</Menu.Item>
|
|
93
|
+
* <Menu.Item id="paste">Paste</Menu.Item>
|
|
94
|
+
* </Menu.Section>
|
|
95
|
+
* </Menu.Content>
|
|
96
|
+
* ```
|
|
97
|
+
*/
|
|
26
98
|
Section: {
|
|
27
99
|
<T extends object = object>({ children, ref, label, items, ...props }: import('./menu.types').MenuSectionProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
28
100
|
displayName: string;
|
|
29
101
|
};
|
|
102
|
+
/**
|
|
103
|
+
* # Menu.Submenu
|
|
104
|
+
*
|
|
105
|
+
* A nested menu that appears when hovering over or selecting a submenu trigger.
|
|
106
|
+
* Automatically positioned to the side of the parent menu.
|
|
107
|
+
*
|
|
108
|
+
* @example
|
|
109
|
+
* ```tsx
|
|
110
|
+
* <Menu.Item>
|
|
111
|
+
* <Menu.SubmenuTrigger>
|
|
112
|
+
* <Text slot="label">More Options</Text>
|
|
113
|
+
* </Menu.SubmenuTrigger>
|
|
114
|
+
* <Menu.Submenu>
|
|
115
|
+
* <Menu.Item id="option1">Option 1</Menu.Item>
|
|
116
|
+
* </Menu.Submenu>
|
|
117
|
+
* </Menu.Item>
|
|
118
|
+
* ```
|
|
119
|
+
*/
|
|
30
120
|
Submenu: {
|
|
31
121
|
({ children, ...props }: import('./menu.types').MenuSubmenuProps): import("react/jsx-runtime").JSX.Element;
|
|
32
122
|
displayName: string;
|
|
33
123
|
};
|
|
124
|
+
/**
|
|
125
|
+
* # Menu.SubmenuTrigger
|
|
126
|
+
*
|
|
127
|
+
* The trigger element for opening a submenu. Must be used within a Menu.Item
|
|
128
|
+
* and paired with Menu.Submenu.
|
|
129
|
+
*
|
|
130
|
+
* @example
|
|
131
|
+
* ```tsx
|
|
132
|
+
* <Menu.Item>
|
|
133
|
+
* <Menu.SubmenuTrigger>
|
|
134
|
+
* <Text slot="label">Export</Text>
|
|
135
|
+
* </Menu.SubmenuTrigger>
|
|
136
|
+
* <Menu.Submenu>
|
|
137
|
+
* <Menu.Item id="pdf">PDF</Menu.Item>
|
|
138
|
+
* <Menu.Item id="csv">CSV</Menu.Item>
|
|
139
|
+
* </Menu.Submenu>
|
|
140
|
+
* </Menu.Item>
|
|
141
|
+
* ```
|
|
142
|
+
*/
|
|
34
143
|
SubmenuTrigger: {
|
|
35
144
|
({ children, ...props }: import('./menu.types').MenuSubmenuTriggerProps): import("react/jsx-runtime").JSX.Element;
|
|
36
145
|
displayName: string;
|
|
@@ -14,7 +14,7 @@ export type MenuRootProps = Omit<RaMenuTriggerProps, "trigger" | "children"> & O
|
|
|
14
14
|
/**
|
|
15
15
|
* The trigger element and menu content
|
|
16
16
|
*/
|
|
17
|
-
children:
|
|
17
|
+
children: RaMenuTriggerProps["children"];
|
|
18
18
|
/**
|
|
19
19
|
* The trigger event to use for the menu.
|
|
20
20
|
* @default "press"
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const t=require("../chunks/rich-text-input-
|
|
1
|
+
"use strict";const t=require("../chunks/rich-text-input-B41QcSHY.cjs.js");exports.RichTextInput=t.RichTextInput;
|
|
2
2
|
//# sourceMappingURL=rich-text-input.cjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const t=require("../chunks/split-button-
|
|
1
|
+
"use strict";const t=require("../chunks/split-button-C8BsVNhR.cjs.js");exports.SplitButton=t.SplitButton;
|
|
2
2
|
//# sourceMappingURL=split-button.cjs.map
|
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const ae=require("./chunks/index-CxLKWOES.cjs.js"),Q=require("./chunks/rich-text-input-CYTQBdtv.cjs.js"),m=require("react"),ie=require("./chunks/avatar-BGM-BDJa.cjs.js"),ue=require("./chunks/box-CWni3A32.cjs.js"),ce=require("./chunks/button-CA3VvD2G.cjs.js"),se=require("./chunks/code-q31e3vT2.cjs.js"),x=require("./chunks/combobox-CKozWtj7.cjs.js"),le=require("./chunks/dialog-siPuFsFT.cjs.js"),Y=require("./chunks/field-errors-D2re_C_c.cjs.js"),_t=require("@chakra-ui/react/flex"),de=require("./chunks/group-Cjq5lNQD.cjs.js"),pe=require("./chunks/heading-DWweWKGQ.cjs.js"),me=require("./chunks/nimbus-i18n-provider-BbsapOze.cjs.js"),fe=require("./chunks/icon-button-B28VUff9.cjs.js"),ge=require("./chunks/icon-toggle-button-DPOco2hU.cjs.js"),be=require("./chunks/image-CGOYoc2s.cjs.js"),ye=require("./chunks/kbd-tKeWcdmy.cjs.js"),Ce=require("./chunks/link-CI7W-6L3.cjs.js"),E=require("./chunks/list-DJC9BmoC.cjs.js"),A=require("./chunks/draggable-list-B7Qhle4N.cjs.js"),Te=require("./chunks/simple-grid-Cd2MJxSX.cjs.js"),kt=require("@chakra-ui/react/table"),ve=require("./chunks/text-BtRhIklG.cjs.js"),G=require("./chunks/tooltip-Aar_qzmT.cjs.js"),he=require("./chunks/make-element-focusable-Cdmdc8sd.cjs.js"),Lt=require("react-intl"),Z=require("./chunks/nimbus-provider-DNBQi83M.cjs.js"),Se=require("./chunks/checkbox-Dzerp7O0.cjs.js"),qe=require("./chunks/collapsible-motion-TeGpQ5f7.cjs.js"),Ie=require("./chunks/stack-CIN13EDn.cjs.js"),we=require("./chunks/visually-hidden-BjtXUoFK.cjs.js"),De=require("./chunks/text-input-BO570MbY.cjs.js"),Re=require("./chunks/number-input-BUdRuDBZ.cjs.js"),_e=require("./chunks/grid-Chuw1xje.cjs.js"),k=require("./chunks/select-DLnPgZGL.cjs.js"),ke=require("./chunks/separator-Vxu9fPdc.cjs.js"),Le=require("./chunks/spacer-BvQD2vU1.cjs.js"),D=require("./chunks/accordion-D0ulscBP.cjs.js"),R=require("./chunks/alert-CC87lB5H.cjs.js"),xe=require("./chunks/badge-CDruffyj.cjs.js"),F=require("./chunks/card-SYS662CL.cjs.js"),I=require("./chunks/form-field-B9wlWUcK.cjs.js"),Ee=require("./chunks/icon-D39U--jA.cjs.js"),Ae=require("./chunks/inline-svg-Yb2OyzRw.cjs.js"),Fe=require("./chunks/loading-spinner-DsKcjJ2b.cjs.js"),Be=require("./chunks/password-input-Dtu0_JiV.cjs.js"),Me=require("./chunks/search-input-D4ISfjCg.cjs.js"),Pe=require("./chunks/scoped-search-input-COM1I724.cjs.js"),Oe=require("./chunks/split-button-D76dk27b.cjs.js"),Ke=require("./chunks/time-input-C8BWH8SA.cjs.js"),Ge=require("./chunks/multiline-text-input-CHM3_4FO.cjs.js"),Ne=require("./chunks/money-input-qNQdmjtx.cjs.js"),N=require("./chunks/radio-input-BYDBQDtr.cjs.js"),He=require("./chunks/switch-Dg4jxYqx.cjs.js"),je=require("./chunks/tag-group-Beqgbttp.cjs.js"),Ue=require("./chunks/toggle-button-jNsiq27z.cjs.js"),H=require("./chunks/toggle-button-group-BQczQ6D_.cjs.js"),Ve=require("./chunks/date-input-DTM_24C2.cjs.js"),ze=require("./chunks/calendar-57M9FKqt.cjs.js"),$e=require("./chunks/date-picker-Dk3QgvCN.cjs.js"),We=require("./chunks/progress-bar-BwrjTuCz.cjs.js"),Xe=require("./chunks/range-calendar-Cjqu4SXg.cjs.js"),S=require("./chunks/menu-BwvV9d6-.cjs.js"),Qe=require("./chunks/date-range-picker-CMWsBL9j.cjs.js"),Ye=require("./chunks/toolbar-BHdgjOW4.cjs.js"),b=require("./chunks/data-table-Depm8_y5.cjs.js"),Ze=require("./chunks/pagination-CnPACrJ5.cjs.js"),Je=require("./chunks/drawer-D3PNF9As.cjs.js"),_=require("./chunks/tabs-DoJOIjOb.cjs.js"),et=require("./chunks/localized-field-Bf0Cw_ok.cjs.js");require("react/jsx-runtime");const J=["shift","alt","meta","mod","ctrl","control"],tt={esc:"escape",return:"enter",left:"arrowleft",right:"arrowright",up:"arrowup",down:"arrowdown",ShiftLeft:"shift",ShiftRight:"shift",AltLeft:"alt",AltRight:"alt",MetaLeft:"meta",MetaRight:"meta",OSLeft:"meta",OSRight:"meta",ControlLeft:"ctrl",ControlRight:"ctrl"};function w(e){return(tt[e.trim()]||e.trim()).toLowerCase().replace(/key|digit|numpad/,"")}function ee(e){return J.includes(e)}function M(e,t=","){return e.toLowerCase().split(t)}function P(e,t="+",o=">",i=!1,u){let n=[],a=!1;e=e.trim(),e.includes(o)?(a=!0,n=e.toLocaleLowerCase().split(o).map(g=>w(g))):n=e.toLocaleLowerCase().split(t).map(g=>w(g));const d={alt:n.includes("alt"),ctrl:n.includes("ctrl")||n.includes("control"),shift:n.includes("shift"),meta:n.includes("meta"),mod:n.includes("mod"),useKey:i},s=n.filter(g=>!J.includes(g));return{...d,keys:s,description:u,isSequence:a,hotkey:e}}const q=new Set;function j(e){return Array.isArray(e)}function ot(e,t=","){return(j(e)?e:e.split(t)).every(o=>q.has(o.trim().toLowerCase()))}function rt(e){const t=Array.isArray(e)?e:[e];q.has("meta")&&q.forEach(o=>!ee(o)&&q.delete(o.toLowerCase())),t.forEach(o=>q.add(o.toLowerCase()))}function nt(e){const t=Array.isArray(e)?e:[e];e==="meta"?q.clear():t.forEach(o=>q.delete(o.toLowerCase()))}function at(e,t,o){(typeof o=="function"&&o(e,t)||o===!0)&&e.preventDefault()}function it(e,t,o){return typeof o=="function"?o(e,t):o===!0||o===void 0}const ut=["input","textarea","select","searchbox","slider","spinbutton","menuitem","menuitemcheckbox","menuitemradio","option","radio","textbox"];function ct(e){return te(e,ut)}function te(e,t=!1){const{target:o,composed:i}=e;let u,n;return st(o)&&i?(u=e.composedPath()[0]&&e.composedPath()[0].tagName,n=e.composedPath()[0]&&e.composedPath()[0].role):(u=o&&o.tagName,n=o&&o.role),j(t)?!!(u&&t&&t.some(a=>a.toLowerCase()===u.toLowerCase()||a===n)):!!(u&&t&&t)}function st(e){return!!e.tagName&&!e.tagName.startsWith("-")&&e.tagName.includes("-")}function lt(e,t){return e.length===0&&t?(console.warn('A hotkey has the "scopes" option set, however no active scopes were found. If you want to use the global scopes feature, you need to wrap your app in a <HotkeysProvider>'),!0):t?e.some(o=>t.includes(o))||e.includes("*"):!0}const dt=(e,t,o=!1)=>{const{alt:i,meta:u,mod:n,shift:a,ctrl:d,keys:s,useKey:g}=t,{code:y,key:r,ctrlKey:l,metaKey:C,shiftKey:T,altKey:p}=e,f=w(y);if(g&&s?.length===1&&s.includes(r))return!0;if(!s?.includes(f)&&!["ctrl","control","unknown","meta","alt","shift","os"].includes(f))return!1;if(!o){if(i!==p&&f!=="alt"||a!==T&&f!=="shift")return!1;if(n){if(!C&&!l)return!1}else if(u!==C&&f!=="meta"&&f!=="os"||d!==l&&f!=="ctrl"&&f!=="control")return!1}return s&&s.length===1&&s.includes(f)?!0:s?ot(s):!s},pt=m.createContext(void 0),mt=()=>m.useContext(pt);function oe(e,t){return e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(e).length===Object.keys(t).length&&Object.keys(e).reduce((o,i)=>o&&oe(e[i],t[i]),!0):e===t}const ft=m.createContext({hotkeys:[],activeScopes:[],toggleScope:()=>{},enableScope:()=>{},disableScope:()=>{}}),gt=()=>m.useContext(ft);function bt(e){const t=m.useRef(void 0);return oe(t.current,e)||(t.current=e),t.current}const $=e=>{e.stopPropagation(),e.preventDefault(),e.stopImmediatePropagation()},yt=typeof window<"u"?m.useLayoutEffect:m.useEffect;function Ct(e,t,o,i){const u=m.useRef(null),n=m.useRef(!1),a=Array.isArray(o)?Array.isArray(i)?void 0:i:o,d=j(e)?e.join(a?.delimiter):e,s=Array.isArray(o)?o:Array.isArray(i)?i:void 0,g=m.useCallback(t,s??[]),y=m.useRef(g);s?y.current=g:y.current=t;const r=bt(a),{activeScopes:l}=gt(),C=mt();return yt(()=>{if(r?.enabled===!1||!lt(l,r?.scopes))return;let T=[],p;const f=(c,z=!1)=>{if(!(ct(c)&&!te(c,r?.enableOnFormTags))){if(u.current!==null){const h=u.current.getRootNode();if((h instanceof Document||h instanceof ShadowRoot)&&h.activeElement!==u.current&&!u.current.contains(h.activeElement)){$(c);return}}c.target?.isContentEditable&&!r?.enableOnContentEditable||M(d,r?.delimiter).forEach(h=>{if(h.includes(r?.splitKey??"+")&&h.includes(r?.sequenceSplitKey??">")){console.warn(`Hotkey ${h} contains both ${r?.splitKey??"+"} and ${r?.sequenceSplitKey??">"} which is not supported.`);return}const v=P(h,r?.splitKey,r?.sequenceSplitKey,r?.useKey,r?.description);if(v.isSequence){p=setTimeout(()=>{T=[]},r?.sequenceTimeoutMs??1e3);const B=v.useKey?c.key:w(c.code);if(ee(B.toLowerCase()))return;T.push(B);const ne=v.keys?.[T.length-1];if(B!==ne){T=[],p&&clearTimeout(p);return}T.length===v.keys?.length&&(y.current(c,v),p&&clearTimeout(p),T=[])}else if(dt(c,v,r?.ignoreModifiers)||v.keys?.includes("*")){if(r?.ignoreEventWhen?.(c)||z&&n.current)return;if(at(c,v,r?.preventDefault),!it(c,v,r?.enabled)){$(c);return}y.current(c,v),z||(n.current=!0)}})}},U=c=>{c.code!==void 0&&(rt(w(c.code)),(r?.keydown===void 0&&r?.keyup!==!0||r?.keydown)&&f(c))},V=c=>{c.code!==void 0&&(nt(w(c.code)),n.current=!1,r?.keyup&&f(c,!0))},L=u.current||a?.document||document;return L.addEventListener("keyup",V,a?.eventListenerOptions),L.addEventListener("keydown",U,a?.eventListenerOptions),C&&M(d,r?.delimiter).forEach(c=>C.addHotkey(P(c,r?.splitKey,r?.sequenceSplitKey,r?.useKey,r?.description))),()=>{L.removeEventListener("keyup",V,a?.eventListenerOptions),L.removeEventListener("keydown",U,a?.eventListenerOptions),C&&M(d,r?.delimiter).forEach(c=>C.removeHotkey(P(c,r?.splitKey,r?.sequenceSplitKey,r?.useKey,r?.description))),T=[],p&&clearTimeout(p)}},[d,r,l]),u}function Tt(){var e=m.useRef(!1),t=m.useCallback(function(){return e.current},[]);return m.useEffect(function(){return e.current=!0,function(){e.current=!1}},[]),t}var vt=function(e){e===void 0&&(e={});var t=m.useState(e),o=t[0],i=t[1],u=m.useCallback(function(n){i(function(a){return Object.assign({},a,n instanceof Function?n(a):n)})},[]);return[o,u]},O,W;function ht(){return W||(W=1,O=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,o=[],i=0;i<e.rangeCount;i++)o.push(e.getRangeAt(i));switch(t.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":t.blur();break;default:t=null;break}return e.removeAllRanges(),function(){e.type==="Caret"&&e.removeAllRanges(),e.rangeCount||o.forEach(function(u){e.addRange(u)}),t&&t.focus()}}),O}var K,X;function St(){if(X)return K;X=1;var e=ht(),t={"text/plain":"Text","text/html":"Url",default:"Text"},o="Copy to clipboard: #{key}, Enter";function i(n){var a=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C";return n.replace(/#{\s*key\s*}/g,a)}function u(n,a){var d,s,g,y,r,l,C=!1;a||(a={}),d=a.debug||!1;try{g=e(),y=document.createRange(),r=document.getSelection(),l=document.createElement("span"),l.textContent=n,l.ariaHidden="true",l.style.all="unset",l.style.position="fixed",l.style.top=0,l.style.clip="rect(0, 0, 0, 0)",l.style.whiteSpace="pre",l.style.webkitUserSelect="text",l.style.MozUserSelect="text",l.style.msUserSelect="text",l.style.userSelect="text",l.addEventListener("copy",function(p){if(p.stopPropagation(),a.format)if(p.preventDefault(),typeof p.clipboardData>"u"){d&&console.warn("unable to use e.clipboardData"),d&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var f=t[a.format]||t.default;window.clipboardData.setData(f,n)}else p.clipboardData.clearData(),p.clipboardData.setData(a.format,n);a.onCopy&&(p.preventDefault(),a.onCopy(p.clipboardData))}),document.body.appendChild(l),y.selectNodeContents(l),r.addRange(y);var T=document.execCommand("copy");if(!T)throw new Error("copy command was unsuccessful");C=!0}catch(p){d&&console.error("unable to copy using execCommand: ",p),d&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(a.format||"text",n),a.onCopy&&a.onCopy(window.clipboardData),C=!0}catch(f){d&&console.error("unable to copy using clipboardData: ",f),d&&console.error("falling back to prompt"),s=i("message"in a?a.message:o),window.prompt(s,n)}}finally{r&&(typeof r.removeRange=="function"?r.removeRange(y):r.removeAllRanges()),l&&document.body.removeChild(l),g()}return C}return K=u,K}var qt=St();const It=Q.getDefaultExportFromCjs(qt);var wt=function(){var e=Tt(),t=vt({value:void 0,error:void 0,noUserInteraction:!0}),o=t[0],i=t[1],u=m.useCallback(function(n){if(e()){var a,d;try{if(typeof n!="string"&&typeof n!="number"){var s=new Error("Cannot copy typeof "+typeof n+" to clipboard, must be a string");process.env.NODE_ENV==="development"&&console.error(s),i({value:n,error:s,noUserInteraction:!0});return}else if(n===""){var s=new Error("Cannot copy empty string to clipboard.");process.env.NODE_ENV==="development"&&console.error(s),i({value:n,error:s,noUserInteraction:!0});return}d=n.toString(),a=It(d),i({value:d,error:void 0,noUserInteraction:a})}catch(g){i({value:d,error:g,noUserInteraction:a})}}},[]);return[o,u]};function Dt(){const[e,t]=m.useState(o());function o(){return document.documentElement.style.getPropertyValue("color-scheme")||localStorage.getItem("theme")||"light"}return m.useEffect(()=>{const i=document.documentElement,u=new MutationObserver(()=>{const n=o();t(n)});return u.observe(i,{attributes:!0,attributeFilter:["style"]}),()=>u.disconnect()},[]),e}function re(){const{resolvedTheme:e,setTheme:t}=Z.z();return{colorMode:e,setColorMode:t,toggleColorMode:()=>{t(e==="light"?"dark":"light")}}}function Rt(e,t){const{colorMode:o}=re();return o==="light"?e:t}exports.system=ae.system;exports.RichTextInput=Q.RichTextInput;exports.Avatar=ie.Avatar;exports.Box=ue.Box;exports.Button=ce.Button;exports.Code=se.Code;exports.ComboBox=x.ComboBox;exports._ComboBoxOption=x.ComboBoxOption;exports._ComboBoxOptionGroup=x.ComboBoxOptionGroup;exports._ComboBoxRoot=x.ComboBoxRoot;exports.Dialog=le.Dialog;exports.FieldErrorTypes=Y.FieldErrorTypes;exports.FieldErrors=Y.FieldErrors;exports.Group=de.Group;exports.Heading=pe.Heading;exports.NimbusI18nProvider=me.NimbusI18nProvider;exports.IconButton=fe.IconButton;exports.IconToggleButton=ge.IconToggleButton;exports.Image=be.Image;exports.Kbd=ye.Kbd;exports.Link=Ce.Link;exports.List=E.List;exports._ListIndicator=E.ListIndicator;exports._ListItem=E.ListItem;exports._ListRoot=E.ListRoot;exports.DraggableList=A.DraggableList;exports._DraggableListField=A.DraggableListField;exports._DraggableListItem=A.DraggableListItem;exports._DraggableListRoot=A.DraggableListRoot;exports.SimpleGrid=Te.SimpleGrid;exports.Text=ve.Text;exports.Tooltip=G.Tooltip;exports._TooltipContent=G.TooltipContent;exports._TooltipRoot=G.TooltipRoot;exports.MakeElementFocusable=he.MakeElementFocusable;exports.NimbusProvider=Z.NimbusProvider;exports.Checkbox=Se.Checkbox;exports.CollapsibleMotion=qe.CollapsibleMotion;exports.Stack=Ie.Stack;exports.VisuallyHidden=we.VisuallyHidden;exports.TextInput=De.TextInput;exports.NumberInput=Re.NumberInput;exports.Grid=_e.Grid;exports.Select=k.Select;exports._SelectOption=k.SelectOption;exports._SelectOptionGroup=k.SelectOptionGroup;exports._SelectOptions=k.SelectOptions;exports._SelectRoot=k.SelectRoot;exports.Separator=ke.Separator;exports.Spacer=Le.Spacer;exports.Accordion=D.Accordion;exports._AccordionContent=D.AccordionContent;exports._AccordionHeader=D.AccordionHeader;exports._AccordionHeaderRightContent=D.AccordionHeaderRightContentSlot;exports._AccordionItem=D.AccordionItem;exports._AccordionRoot=D.AccordionRoot;exports.Alert=R.Alert;exports._AlertActions=R.AlertActions;exports._AlertDescription=R.AlertDescription;exports._AlertDismissButton=R.AlertDismissButton;exports._AlertRoot=R.AlertRoot;exports._AlertTitle=R.AlertTitle;exports.Badge=xe.Badge;exports.Card=F.Card;exports._CardContent=F.CardContent;exports._CardHeader=F.CardHeader;exports._CardRoot=F.CardRoot;exports.FormField=I.FormField;exports._FormFieldDescription=I.FormFieldDescription;exports._FormFieldError=I.FormFieldError;exports._FormFieldInfoBox=I.FormFieldInfoBox;exports._FormFieldInput=I.FormFieldInput;exports._FormFieldLabel=I.FormFieldLabel;exports._FormFieldRoot=I.FormFieldRoot;exports.Icon=Ee.Icon;exports.InlineSvg=Ae.InlineSvg;exports.LoadingSpinner=Fe.LoadingSpinner;exports.PasswordInput=Be.PasswordInput;exports.SearchInput=Me.SearchInput;exports.ScopedSearchInput=Pe.ScopedSearchInput;exports.SplitButton=Oe.SplitButton;exports.TimeInput=Ke.TimeInput;exports.MultilineTextInput=Ge.MultilineTextInput;exports.MoneyInput=Ne.MoneyInput;exports.RadioInput=N.RadioInput;exports._RadioInputOption=N.RadioInputOption;exports._RadioInputRoot=N.RadioInputRoot;exports.Switch=He.Switch;exports.TagGroup=je.TagGroup;exports.ToggleButton=Ue.ToggleButton;exports.ToggleButtonGroup=H.ToggleButtonGroup;exports._ToggleButtonGroupButton=H.ToggleButtonGroupButton;exports._ToggleButtonGroupRoot=H.ToggleButtonGroupRoot;exports.DateInput=Ve.DateInput;exports.Calendar=ze.Calendar;exports.DatePicker=$e.DatePicker;exports.ProgressBar=We.ProgressBar;exports.RangeCalendar=Xe.RangeCalendar;exports.Menu=S.Menu;exports._MenuContent=S.MenuContent;exports._MenuItem=S.MenuItem;exports._MenuRoot=S.MenuRoot;exports._MenuSection=S.MenuSection;exports._MenuSubmenu=S.MenuSubmenu;exports._MenuSubmenuTrigger=S.MenuSubmenuTrigger;exports._MenuTrigger=S.MenuTrigger;exports.DateRangePicker=Qe.DateRangePicker;exports.Toolbar=Ye.Toolbar;exports.DataTable=b.DataTable;exports._DataTableBody=b.DataTableBody;exports._DataTableCell=b.DataTableCell;exports._DataTableColumn=b.DataTableColumn;exports._DataTableExpandButton=b.DataTableExpandButton;exports._DataTableFooter=b.DataTableFooter;exports._DataTableHeader=b.DataTableHeader;exports._DataTableNestedIcon=b.DataTableNestedIcon;exports._DataTableRoot=b.DataTableRoot;exports._DataTableRow=b.DataTableRow;exports._DataTableSelectionCell=b.DataTableSelectionCell;exports._DataTableTable=b.DataTableTable;exports.Pagination=Ze.Pagination;exports.Drawer=Je.Drawer;exports.Tabs=_.Tabs;exports._Tab=_.Tab;exports._TabList=_.TabList;exports._TabPanel=_.TabPanel;exports._TabPanels=_.TabPanels;exports._TabsRoot=_.TabsRoot;exports.LocalizedField=et.LocalizedField;exports.useColorMode=re;exports.useColorModeValue=Rt;exports.useColorScheme=Dt;exports.useCopyToClipboard=wt;exports.useHotkeys=Ct;
|
|
1
|
+
"use strict";const ae=require("./chunks/index-CxLKWOES.cjs.js"),Q=require("./chunks/rich-text-input-B41QcSHY.cjs.js"),m=require("react"),ie=require("./chunks/avatar-BGM-BDJa.cjs.js"),ue=require("./chunks/box-CWni3A32.cjs.js"),ce=require("./chunks/button-CA3VvD2G.cjs.js"),se=require("./chunks/code-q31e3vT2.cjs.js"),x=require("./chunks/combobox-CKozWtj7.cjs.js"),le=require("./chunks/dialog-siPuFsFT.cjs.js"),Y=require("./chunks/field-errors-D2re_C_c.cjs.js"),_t=require("@chakra-ui/react/flex"),de=require("./chunks/group-Cjq5lNQD.cjs.js"),pe=require("./chunks/heading-DWweWKGQ.cjs.js"),me=require("./chunks/nimbus-i18n-provider-BbsapOze.cjs.js"),fe=require("./chunks/icon-button-B28VUff9.cjs.js"),ge=require("./chunks/icon-toggle-button-DPOco2hU.cjs.js"),be=require("./chunks/image-CGOYoc2s.cjs.js"),ye=require("./chunks/kbd-tKeWcdmy.cjs.js"),Ce=require("./chunks/link-CI7W-6L3.cjs.js"),E=require("./chunks/list-DJC9BmoC.cjs.js"),A=require("./chunks/draggable-list-B7Qhle4N.cjs.js"),Te=require("./chunks/simple-grid-Cd2MJxSX.cjs.js"),kt=require("@chakra-ui/react/table"),ve=require("./chunks/text-BtRhIklG.cjs.js"),G=require("./chunks/tooltip-Aar_qzmT.cjs.js"),he=require("./chunks/make-element-focusable-Cdmdc8sd.cjs.js"),Lt=require("react-intl"),Z=require("./chunks/nimbus-provider-DNBQi83M.cjs.js"),Se=require("./chunks/checkbox-Dzerp7O0.cjs.js"),qe=require("./chunks/collapsible-motion-TeGpQ5f7.cjs.js"),Ie=require("./chunks/stack-CIN13EDn.cjs.js"),we=require("./chunks/visually-hidden-BjtXUoFK.cjs.js"),De=require("./chunks/text-input-BO570MbY.cjs.js"),Re=require("./chunks/number-input-BUdRuDBZ.cjs.js"),_e=require("./chunks/grid-Chuw1xje.cjs.js"),k=require("./chunks/select-DLnPgZGL.cjs.js"),ke=require("./chunks/separator-Vxu9fPdc.cjs.js"),Le=require("./chunks/spacer-BvQD2vU1.cjs.js"),D=require("./chunks/accordion-D0ulscBP.cjs.js"),R=require("./chunks/alert-CC87lB5H.cjs.js"),xe=require("./chunks/badge-CDruffyj.cjs.js"),F=require("./chunks/card-SYS662CL.cjs.js"),I=require("./chunks/form-field-B9wlWUcK.cjs.js"),Ee=require("./chunks/icon-D39U--jA.cjs.js"),Ae=require("./chunks/inline-svg-Yb2OyzRw.cjs.js"),Fe=require("./chunks/loading-spinner-DsKcjJ2b.cjs.js"),Be=require("./chunks/password-input-Dtu0_JiV.cjs.js"),Me=require("./chunks/search-input-D4ISfjCg.cjs.js"),Pe=require("./chunks/scoped-search-input-COM1I724.cjs.js"),Oe=require("./chunks/split-button-C8BsVNhR.cjs.js"),Ke=require("./chunks/time-input-C8BWH8SA.cjs.js"),Ge=require("./chunks/multiline-text-input-CHM3_4FO.cjs.js"),Ne=require("./chunks/money-input-qNQdmjtx.cjs.js"),N=require("./chunks/radio-input-BYDBQDtr.cjs.js"),He=require("./chunks/switch-Dg4jxYqx.cjs.js"),je=require("./chunks/tag-group-Beqgbttp.cjs.js"),Ue=require("./chunks/toggle-button-jNsiq27z.cjs.js"),H=require("./chunks/toggle-button-group-BQczQ6D_.cjs.js"),Ve=require("./chunks/date-input-DTM_24C2.cjs.js"),ze=require("./chunks/calendar-57M9FKqt.cjs.js"),$e=require("./chunks/date-picker-Dk3QgvCN.cjs.js"),We=require("./chunks/progress-bar-BwrjTuCz.cjs.js"),Xe=require("./chunks/range-calendar-Cjqu4SXg.cjs.js"),S=require("./chunks/menu-DK0AShnF.cjs.js"),Qe=require("./chunks/date-range-picker-CMWsBL9j.cjs.js"),Ye=require("./chunks/toolbar-BHdgjOW4.cjs.js"),b=require("./chunks/data-table-Depm8_y5.cjs.js"),Ze=require("./chunks/pagination-CnPACrJ5.cjs.js"),Je=require("./chunks/drawer-D3PNF9As.cjs.js"),_=require("./chunks/tabs-DoJOIjOb.cjs.js"),et=require("./chunks/localized-field-u03KZc2G.cjs.js");require("react/jsx-runtime");const J=["shift","alt","meta","mod","ctrl","control"],tt={esc:"escape",return:"enter",left:"arrowleft",right:"arrowright",up:"arrowup",down:"arrowdown",ShiftLeft:"shift",ShiftRight:"shift",AltLeft:"alt",AltRight:"alt",MetaLeft:"meta",MetaRight:"meta",OSLeft:"meta",OSRight:"meta",ControlLeft:"ctrl",ControlRight:"ctrl"};function w(e){return(tt[e.trim()]||e.trim()).toLowerCase().replace(/key|digit|numpad/,"")}function ee(e){return J.includes(e)}function M(e,t=","){return e.toLowerCase().split(t)}function P(e,t="+",o=">",i=!1,u){let n=[],a=!1;e=e.trim(),e.includes(o)?(a=!0,n=e.toLocaleLowerCase().split(o).map(g=>w(g))):n=e.toLocaleLowerCase().split(t).map(g=>w(g));const d={alt:n.includes("alt"),ctrl:n.includes("ctrl")||n.includes("control"),shift:n.includes("shift"),meta:n.includes("meta"),mod:n.includes("mod"),useKey:i},s=n.filter(g=>!J.includes(g));return{...d,keys:s,description:u,isSequence:a,hotkey:e}}const q=new Set;function j(e){return Array.isArray(e)}function ot(e,t=","){return(j(e)?e:e.split(t)).every(o=>q.has(o.trim().toLowerCase()))}function rt(e){const t=Array.isArray(e)?e:[e];q.has("meta")&&q.forEach(o=>!ee(o)&&q.delete(o.toLowerCase())),t.forEach(o=>q.add(o.toLowerCase()))}function nt(e){const t=Array.isArray(e)?e:[e];e==="meta"?q.clear():t.forEach(o=>q.delete(o.toLowerCase()))}function at(e,t,o){(typeof o=="function"&&o(e,t)||o===!0)&&e.preventDefault()}function it(e,t,o){return typeof o=="function"?o(e,t):o===!0||o===void 0}const ut=["input","textarea","select","searchbox","slider","spinbutton","menuitem","menuitemcheckbox","menuitemradio","option","radio","textbox"];function ct(e){return te(e,ut)}function te(e,t=!1){const{target:o,composed:i}=e;let u,n;return st(o)&&i?(u=e.composedPath()[0]&&e.composedPath()[0].tagName,n=e.composedPath()[0]&&e.composedPath()[0].role):(u=o&&o.tagName,n=o&&o.role),j(t)?!!(u&&t&&t.some(a=>a.toLowerCase()===u.toLowerCase()||a===n)):!!(u&&t&&t)}function st(e){return!!e.tagName&&!e.tagName.startsWith("-")&&e.tagName.includes("-")}function lt(e,t){return e.length===0&&t?(console.warn('A hotkey has the "scopes" option set, however no active scopes were found. If you want to use the global scopes feature, you need to wrap your app in a <HotkeysProvider>'),!0):t?e.some(o=>t.includes(o))||e.includes("*"):!0}const dt=(e,t,o=!1)=>{const{alt:i,meta:u,mod:n,shift:a,ctrl:d,keys:s,useKey:g}=t,{code:y,key:r,ctrlKey:l,metaKey:C,shiftKey:T,altKey:p}=e,f=w(y);if(g&&s?.length===1&&s.includes(r))return!0;if(!s?.includes(f)&&!["ctrl","control","unknown","meta","alt","shift","os"].includes(f))return!1;if(!o){if(i!==p&&f!=="alt"||a!==T&&f!=="shift")return!1;if(n){if(!C&&!l)return!1}else if(u!==C&&f!=="meta"&&f!=="os"||d!==l&&f!=="ctrl"&&f!=="control")return!1}return s&&s.length===1&&s.includes(f)?!0:s?ot(s):!s},pt=m.createContext(void 0),mt=()=>m.useContext(pt);function oe(e,t){return e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(e).length===Object.keys(t).length&&Object.keys(e).reduce((o,i)=>o&&oe(e[i],t[i]),!0):e===t}const ft=m.createContext({hotkeys:[],activeScopes:[],toggleScope:()=>{},enableScope:()=>{},disableScope:()=>{}}),gt=()=>m.useContext(ft);function bt(e){const t=m.useRef(void 0);return oe(t.current,e)||(t.current=e),t.current}const $=e=>{e.stopPropagation(),e.preventDefault(),e.stopImmediatePropagation()},yt=typeof window<"u"?m.useLayoutEffect:m.useEffect;function Ct(e,t,o,i){const u=m.useRef(null),n=m.useRef(!1),a=Array.isArray(o)?Array.isArray(i)?void 0:i:o,d=j(e)?e.join(a?.delimiter):e,s=Array.isArray(o)?o:Array.isArray(i)?i:void 0,g=m.useCallback(t,s??[]),y=m.useRef(g);s?y.current=g:y.current=t;const r=bt(a),{activeScopes:l}=gt(),C=mt();return yt(()=>{if(r?.enabled===!1||!lt(l,r?.scopes))return;let T=[],p;const f=(c,z=!1)=>{if(!(ct(c)&&!te(c,r?.enableOnFormTags))){if(u.current!==null){const h=u.current.getRootNode();if((h instanceof Document||h instanceof ShadowRoot)&&h.activeElement!==u.current&&!u.current.contains(h.activeElement)){$(c);return}}c.target?.isContentEditable&&!r?.enableOnContentEditable||M(d,r?.delimiter).forEach(h=>{if(h.includes(r?.splitKey??"+")&&h.includes(r?.sequenceSplitKey??">")){console.warn(`Hotkey ${h} contains both ${r?.splitKey??"+"} and ${r?.sequenceSplitKey??">"} which is not supported.`);return}const v=P(h,r?.splitKey,r?.sequenceSplitKey,r?.useKey,r?.description);if(v.isSequence){p=setTimeout(()=>{T=[]},r?.sequenceTimeoutMs??1e3);const B=v.useKey?c.key:w(c.code);if(ee(B.toLowerCase()))return;T.push(B);const ne=v.keys?.[T.length-1];if(B!==ne){T=[],p&&clearTimeout(p);return}T.length===v.keys?.length&&(y.current(c,v),p&&clearTimeout(p),T=[])}else if(dt(c,v,r?.ignoreModifiers)||v.keys?.includes("*")){if(r?.ignoreEventWhen?.(c)||z&&n.current)return;if(at(c,v,r?.preventDefault),!it(c,v,r?.enabled)){$(c);return}y.current(c,v),z||(n.current=!0)}})}},U=c=>{c.code!==void 0&&(rt(w(c.code)),(r?.keydown===void 0&&r?.keyup!==!0||r?.keydown)&&f(c))},V=c=>{c.code!==void 0&&(nt(w(c.code)),n.current=!1,r?.keyup&&f(c,!0))},L=u.current||a?.document||document;return L.addEventListener("keyup",V,a?.eventListenerOptions),L.addEventListener("keydown",U,a?.eventListenerOptions),C&&M(d,r?.delimiter).forEach(c=>C.addHotkey(P(c,r?.splitKey,r?.sequenceSplitKey,r?.useKey,r?.description))),()=>{L.removeEventListener("keyup",V,a?.eventListenerOptions),L.removeEventListener("keydown",U,a?.eventListenerOptions),C&&M(d,r?.delimiter).forEach(c=>C.removeHotkey(P(c,r?.splitKey,r?.sequenceSplitKey,r?.useKey,r?.description))),T=[],p&&clearTimeout(p)}},[d,r,l]),u}function Tt(){var e=m.useRef(!1),t=m.useCallback(function(){return e.current},[]);return m.useEffect(function(){return e.current=!0,function(){e.current=!1}},[]),t}var vt=function(e){e===void 0&&(e={});var t=m.useState(e),o=t[0],i=t[1],u=m.useCallback(function(n){i(function(a){return Object.assign({},a,n instanceof Function?n(a):n)})},[]);return[o,u]},O,W;function ht(){return W||(W=1,O=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,o=[],i=0;i<e.rangeCount;i++)o.push(e.getRangeAt(i));switch(t.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":t.blur();break;default:t=null;break}return e.removeAllRanges(),function(){e.type==="Caret"&&e.removeAllRanges(),e.rangeCount||o.forEach(function(u){e.addRange(u)}),t&&t.focus()}}),O}var K,X;function St(){if(X)return K;X=1;var e=ht(),t={"text/plain":"Text","text/html":"Url",default:"Text"},o="Copy to clipboard: #{key}, Enter";function i(n){var a=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C";return n.replace(/#{\s*key\s*}/g,a)}function u(n,a){var d,s,g,y,r,l,C=!1;a||(a={}),d=a.debug||!1;try{g=e(),y=document.createRange(),r=document.getSelection(),l=document.createElement("span"),l.textContent=n,l.ariaHidden="true",l.style.all="unset",l.style.position="fixed",l.style.top=0,l.style.clip="rect(0, 0, 0, 0)",l.style.whiteSpace="pre",l.style.webkitUserSelect="text",l.style.MozUserSelect="text",l.style.msUserSelect="text",l.style.userSelect="text",l.addEventListener("copy",function(p){if(p.stopPropagation(),a.format)if(p.preventDefault(),typeof p.clipboardData>"u"){d&&console.warn("unable to use e.clipboardData"),d&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var f=t[a.format]||t.default;window.clipboardData.setData(f,n)}else p.clipboardData.clearData(),p.clipboardData.setData(a.format,n);a.onCopy&&(p.preventDefault(),a.onCopy(p.clipboardData))}),document.body.appendChild(l),y.selectNodeContents(l),r.addRange(y);var T=document.execCommand("copy");if(!T)throw new Error("copy command was unsuccessful");C=!0}catch(p){d&&console.error("unable to copy using execCommand: ",p),d&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(a.format||"text",n),a.onCopy&&a.onCopy(window.clipboardData),C=!0}catch(f){d&&console.error("unable to copy using clipboardData: ",f),d&&console.error("falling back to prompt"),s=i("message"in a?a.message:o),window.prompt(s,n)}}finally{r&&(typeof r.removeRange=="function"?r.removeRange(y):r.removeAllRanges()),l&&document.body.removeChild(l),g()}return C}return K=u,K}var qt=St();const It=Q.getDefaultExportFromCjs(qt);var wt=function(){var e=Tt(),t=vt({value:void 0,error:void 0,noUserInteraction:!0}),o=t[0],i=t[1],u=m.useCallback(function(n){if(e()){var a,d;try{if(typeof n!="string"&&typeof n!="number"){var s=new Error("Cannot copy typeof "+typeof n+" to clipboard, must be a string");process.env.NODE_ENV==="development"&&console.error(s),i({value:n,error:s,noUserInteraction:!0});return}else if(n===""){var s=new Error("Cannot copy empty string to clipboard.");process.env.NODE_ENV==="development"&&console.error(s),i({value:n,error:s,noUserInteraction:!0});return}d=n.toString(),a=It(d),i({value:d,error:void 0,noUserInteraction:a})}catch(g){i({value:d,error:g,noUserInteraction:a})}}},[]);return[o,u]};function Dt(){const[e,t]=m.useState(o());function o(){return document.documentElement.style.getPropertyValue("color-scheme")||localStorage.getItem("theme")||"light"}return m.useEffect(()=>{const i=document.documentElement,u=new MutationObserver(()=>{const n=o();t(n)});return u.observe(i,{attributes:!0,attributeFilter:["style"]}),()=>u.disconnect()},[]),e}function re(){const{resolvedTheme:e,setTheme:t}=Z.z();return{colorMode:e,setColorMode:t,toggleColorMode:()=>{t(e==="light"?"dark":"light")}}}function Rt(e,t){const{colorMode:o}=re();return o==="light"?e:t}exports.system=ae.system;exports.RichTextInput=Q.RichTextInput;exports.Avatar=ie.Avatar;exports.Box=ue.Box;exports.Button=ce.Button;exports.Code=se.Code;exports.ComboBox=x.ComboBox;exports._ComboBoxOption=x.ComboBoxOption;exports._ComboBoxOptionGroup=x.ComboBoxOptionGroup;exports._ComboBoxRoot=x.ComboBoxRoot;exports.Dialog=le.Dialog;exports.FieldErrorTypes=Y.FieldErrorTypes;exports.FieldErrors=Y.FieldErrors;exports.Group=de.Group;exports.Heading=pe.Heading;exports.NimbusI18nProvider=me.NimbusI18nProvider;exports.IconButton=fe.IconButton;exports.IconToggleButton=ge.IconToggleButton;exports.Image=be.Image;exports.Kbd=ye.Kbd;exports.Link=Ce.Link;exports.List=E.List;exports._ListIndicator=E.ListIndicator;exports._ListItem=E.ListItem;exports._ListRoot=E.ListRoot;exports.DraggableList=A.DraggableList;exports._DraggableListField=A.DraggableListField;exports._DraggableListItem=A.DraggableListItem;exports._DraggableListRoot=A.DraggableListRoot;exports.SimpleGrid=Te.SimpleGrid;exports.Text=ve.Text;exports.Tooltip=G.Tooltip;exports._TooltipContent=G.TooltipContent;exports._TooltipRoot=G.TooltipRoot;exports.MakeElementFocusable=he.MakeElementFocusable;exports.NimbusProvider=Z.NimbusProvider;exports.Checkbox=Se.Checkbox;exports.CollapsibleMotion=qe.CollapsibleMotion;exports.Stack=Ie.Stack;exports.VisuallyHidden=we.VisuallyHidden;exports.TextInput=De.TextInput;exports.NumberInput=Re.NumberInput;exports.Grid=_e.Grid;exports.Select=k.Select;exports._SelectOption=k.SelectOption;exports._SelectOptionGroup=k.SelectOptionGroup;exports._SelectOptions=k.SelectOptions;exports._SelectRoot=k.SelectRoot;exports.Separator=ke.Separator;exports.Spacer=Le.Spacer;exports.Accordion=D.Accordion;exports._AccordionContent=D.AccordionContent;exports._AccordionHeader=D.AccordionHeader;exports._AccordionHeaderRightContent=D.AccordionHeaderRightContentSlot;exports._AccordionItem=D.AccordionItem;exports._AccordionRoot=D.AccordionRoot;exports.Alert=R.Alert;exports._AlertActions=R.AlertActions;exports._AlertDescription=R.AlertDescription;exports._AlertDismissButton=R.AlertDismissButton;exports._AlertRoot=R.AlertRoot;exports._AlertTitle=R.AlertTitle;exports.Badge=xe.Badge;exports.Card=F.Card;exports._CardContent=F.CardContent;exports._CardHeader=F.CardHeader;exports._CardRoot=F.CardRoot;exports.FormField=I.FormField;exports._FormFieldDescription=I.FormFieldDescription;exports._FormFieldError=I.FormFieldError;exports._FormFieldInfoBox=I.FormFieldInfoBox;exports._FormFieldInput=I.FormFieldInput;exports._FormFieldLabel=I.FormFieldLabel;exports._FormFieldRoot=I.FormFieldRoot;exports.Icon=Ee.Icon;exports.InlineSvg=Ae.InlineSvg;exports.LoadingSpinner=Fe.LoadingSpinner;exports.PasswordInput=Be.PasswordInput;exports.SearchInput=Me.SearchInput;exports.ScopedSearchInput=Pe.ScopedSearchInput;exports.SplitButton=Oe.SplitButton;exports.TimeInput=Ke.TimeInput;exports.MultilineTextInput=Ge.MultilineTextInput;exports.MoneyInput=Ne.MoneyInput;exports.RadioInput=N.RadioInput;exports._RadioInputOption=N.RadioInputOption;exports._RadioInputRoot=N.RadioInputRoot;exports.Switch=He.Switch;exports.TagGroup=je.TagGroup;exports.ToggleButton=Ue.ToggleButton;exports.ToggleButtonGroup=H.ToggleButtonGroup;exports._ToggleButtonGroupButton=H.ToggleButtonGroupButton;exports._ToggleButtonGroupRoot=H.ToggleButtonGroupRoot;exports.DateInput=Ve.DateInput;exports.Calendar=ze.Calendar;exports.DatePicker=$e.DatePicker;exports.ProgressBar=We.ProgressBar;exports.RangeCalendar=Xe.RangeCalendar;exports.Menu=S.Menu;exports._MenuContent=S.MenuContent;exports._MenuItem=S.MenuItem;exports._MenuRoot=S.MenuRoot;exports._MenuSection=S.MenuSection;exports._MenuSubmenu=S.MenuSubmenu;exports._MenuSubmenuTrigger=S.MenuSubmenuTrigger;exports._MenuTrigger=S.MenuTrigger;exports.DateRangePicker=Qe.DateRangePicker;exports.Toolbar=Ye.Toolbar;exports.DataTable=b.DataTable;exports._DataTableBody=b.DataTableBody;exports._DataTableCell=b.DataTableCell;exports._DataTableColumn=b.DataTableColumn;exports._DataTableExpandButton=b.DataTableExpandButton;exports._DataTableFooter=b.DataTableFooter;exports._DataTableHeader=b.DataTableHeader;exports._DataTableNestedIcon=b.DataTableNestedIcon;exports._DataTableRoot=b.DataTableRoot;exports._DataTableRow=b.DataTableRow;exports._DataTableSelectionCell=b.DataTableSelectionCell;exports._DataTableTable=b.DataTableTable;exports.Pagination=Ze.Pagination;exports.Drawer=Je.Drawer;exports.Tabs=_.Tabs;exports._Tab=_.Tab;exports._TabList=_.TabList;exports._TabPanel=_.TabPanel;exports._TabPanels=_.TabPanels;exports._TabsRoot=_.TabsRoot;exports.LocalizedField=et.LocalizedField;exports.useColorMode=re;exports.useColorModeValue=Rt;exports.useColorScheme=Dt;exports.useCopyToClipboard=wt;exports.useHotkeys=Ct;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.es.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { s as Ee } from "./chunks/index-jNM4sRnI.es.js";
|
|
2
|
-
import { g as z } from "./chunks/rich-text-input-
|
|
3
|
-
import { R as Re } from "./chunks/rich-text-input-
|
|
2
|
+
import { g as z } from "./chunks/rich-text-input-BGVyDm30.es.js";
|
|
3
|
+
import { R as Re } from "./chunks/rich-text-input-BGVyDm30.es.js";
|
|
4
4
|
import { useRef as T, useCallback as S, useContext as O, useLayoutEffect as $, useEffect as I, createContext as N, useState as H } from "react";
|
|
5
5
|
import { A as Me } from "./chunks/avatar-CTiSGVoD.es.js";
|
|
6
6
|
import { B as Pe } from "./chunks/box-DuBoAZvq.es.js";
|
|
@@ -49,7 +49,7 @@ import { L as Vo } from "./chunks/loading-spinner-ByHGBHzt.es.js";
|
|
|
49
49
|
import { P as $o } from "./chunks/password-input-D4vhdbQW.es.js";
|
|
50
50
|
import { S as Xo } from "./chunks/search-input-CD_OQQwA.es.js";
|
|
51
51
|
import { S as Yo } from "./chunks/scoped-search-input-CO9xtMOE.es.js";
|
|
52
|
-
import { S as Jo } from "./chunks/split-button-
|
|
52
|
+
import { S as Jo } from "./chunks/split-button-YwopMYuE.es.js";
|
|
53
53
|
import { T as tr } from "./chunks/time-input-CHA4irr4.es.js";
|
|
54
54
|
import { M as rr } from "./chunks/multiline-text-input-BD_Pe10q.es.js";
|
|
55
55
|
import { M as nr } from "./chunks/money-input-DHiEn7XA.es.js";
|
|
@@ -63,14 +63,14 @@ import { C as wr } from "./chunks/calendar-Kwoe0bYZ.es.js";
|
|
|
63
63
|
import { D as _r } from "./chunks/date-picker-FvaPPqXZ.es.js";
|
|
64
64
|
import { P as Lr } from "./chunks/progress-bar-h8RUoyYt.es.js";
|
|
65
65
|
import { R as Er } from "./chunks/range-calendar-BjuErXNK.es.js";
|
|
66
|
-
import { M as Rr, c as Ar, d as Mr, a as Fr, e as Pr, g as Kr, f as Br, b as Or } from "./chunks/menu-
|
|
66
|
+
import { M as Rr, c as Ar, d as Mr, a as Fr, e as Pr, g as Kr, f as Br, b as Or } from "./chunks/menu-CvowvbXh.es.js";
|
|
67
67
|
import { D as Hr } from "./chunks/date-range-picker-vH5DixcB.es.js";
|
|
68
68
|
import { T as Ur } from "./chunks/toolbar-CdR1MLqf.es.js";
|
|
69
69
|
import { D as jr, e as Vr, g as zr, d as $r, i as Wr, h as Xr, c as Qr, j as Yr, a as Zr, f as Jr, k as ea, b as ta } from "./chunks/data-table-BxITOPnx.es.js";
|
|
70
70
|
import { P as ra } from "./chunks/pagination-CjUoltTe.es.js";
|
|
71
71
|
import { D as na } from "./chunks/drawer-BsHkmwKB.es.js";
|
|
72
72
|
import { T as ia, c as ca, b as ua, e as la, d as da, a as fa } from "./chunks/tabs-BXoJTX6z.es.js";
|
|
73
|
-
import { L as ma } from "./chunks/localized-field-
|
|
73
|
+
import { L as ma } from "./chunks/localized-field-D4HBEdq0.es.js";
|
|
74
74
|
import "react/jsx-runtime";
|
|
75
75
|
const q = ["shift", "alt", "meta", "mod", "ctrl", "control"], X = {
|
|
76
76
|
esc: "escape",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@commercetools/nimbus",
|
|
3
|
-
"version": "0.0.0-canary-
|
|
3
|
+
"version": "0.0.0-canary-20251024075337",
|
|
4
4
|
"main": "./dist/index.cjs",
|
|
5
5
|
"module": "./dist/index.es.js",
|
|
6
6
|
"type": "module",
|
|
@@ -101,8 +101,8 @@
|
|
|
101
101
|
"vite-plugin-dts": "^4.5.4",
|
|
102
102
|
"vite-tsconfig-paths": "^5.1.4",
|
|
103
103
|
"vitest": "^3.2.4",
|
|
104
|
-
"@commercetools/nimbus-icons": "^0.0.0-canary-
|
|
105
|
-
"@commercetools/nimbus-tokens": "^0.0.0-canary-
|
|
104
|
+
"@commercetools/nimbus-icons": "^0.0.0-canary-20251024075337",
|
|
105
|
+
"@commercetools/nimbus-tokens": "^0.0.0-canary-20251024075337"
|
|
106
106
|
},
|
|
107
107
|
"peerDependencies": {
|
|
108
108
|
"@chakra-ui/react": "^3.27.1",
|
|
@@ -112,8 +112,8 @@
|
|
|
112
112
|
"slate-history": "^0.113.1",
|
|
113
113
|
"slate-hyperscript": "^0.77.0",
|
|
114
114
|
"slate-react": "^0.75.0",
|
|
115
|
-
"@commercetools/nimbus-icons": "^0.0.0-canary-
|
|
116
|
-
"@commercetools/nimbus-tokens": "^0.0.0-canary-
|
|
115
|
+
"@commercetools/nimbus-icons": "^0.0.0-canary-20251024075337",
|
|
116
|
+
"@commercetools/nimbus-tokens": "^0.0.0-canary-20251024075337"
|
|
117
117
|
},
|
|
118
118
|
"scripts": {
|
|
119
119
|
"build": "pnpm run build-theme-typings && pnpm run build:lib",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"menu-BwvV9d6-.cjs.js","sources":["../../src/components/menu/menu.slots.tsx","../../src/components/menu/components/menu.context.tsx","../../src/components/menu/components/menu.root.tsx","../../src/components/menu/components/menu.trigger.tsx","../../src/components/menu/components/menu.section-context.tsx","../../src/components/menu/components/menu.content.tsx","../../src/components/menu/components/menu.item.tsx","../../src/components/menu/components/menu.section-label.tsx","../../src/components/menu/components/menu.section.tsx","../../src/components/menu/components/menu.submenu-trigger.tsx","../../src/components/menu/components/menu.submenu.tsx","../../src/components/menu/menu.tsx"],"sourcesContent":["import { createSlotRecipeContext } from \"@chakra-ui/react\";\nimport type { SlotComponent } from \"@/type-utils\";\nimport type {\n MenuRootSlotProps,\n MenuTriggerSlotProps,\n MenuPopoverSlotProps,\n MenuContentSlotProps,\n MenuItemSlotProps,\n MenuSectionSlotProps,\n MenuSectionLabelSlotProps,\n MenuSubmenuSlotProps,\n} from \"./menu.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"menu\",\n});\n\n// Menu Root\nexport const MenuRootSlot: SlotComponent<HTMLDivElement, MenuRootSlotProps> =\n withProvider<HTMLDivElement, MenuRootSlotProps>(\"div\", \"root\");\n\n// Menu Trigger\nexport const MenuTriggerSlot = withContext<\n HTMLButtonElement,\n MenuTriggerSlotProps\n>(\"button\", \"trigger\");\n\n// Menu Popover\nexport const MenuPopoverSlot = withContext<\n HTMLDivElement,\n MenuPopoverSlotProps\n>(\"div\", \"popover\");\n\n// Menu Content\nexport const MenuContentSlot = withContext<\n HTMLDivElement,\n MenuContentSlotProps\n>(\"div\", \"content\");\n\n// Menu Item\nexport const MenuItemSlot = withContext<HTMLDivElement, MenuItemSlotProps>(\n \"div\",\n \"item\"\n);\n\n// Menu Section\nexport const MenuSectionSlot = withContext<\n HTMLDivElement,\n MenuSectionSlotProps\n>(\"div\", \"section\");\n\n// Menu Section Label\nexport const MenuSectionLabelSlot = withContext<\n HTMLDivElement,\n MenuSectionLabelSlotProps\n>(\"div\", \"sectionLabel\");\n\n// Menu Group Label\nexport const MenuSubmenuSlot = withContext<\n HTMLDivElement,\n MenuSubmenuSlotProps\n>(\"div\", \"submenu\");\n","import { createContext, useContext } from \"react\";\nimport type { MenuRootProps } from \"./../menu.types\";\nimport type { MenuTriggerProps as RaMenuTriggerProps } from \"react-aria-components\";\n\n// Context should contain all Menu props (excluding MenuTrigger-specific props)\nexport type MenuContextValue = Omit<\n MenuRootProps,\n keyof RaMenuTriggerProps | \"children\" | \"trigger\"\n>;\n\nconst MenuContext = createContext<MenuContextValue | undefined>(undefined);\n\nexport const MenuProvider = MenuContext.Provider;\n\nexport const useMenuContext = () => {\n const context = useContext(MenuContext);\n return context;\n};\n","import { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { MenuTrigger as RaMenuTrigger } from \"react-aria-components\";\nimport type { MenuRootProps } from \"../menu.types\";\nimport { MenuRootSlot } from \"../menu.slots\";\nimport { MenuProvider } from \"./menu.context\";\n\nexport const MenuRoot = (props: MenuRootProps) => {\n const recipe = useSlotRecipe({ key: \"menu\" });\n const [recipeProps, functionalProps] = recipe.splitVariantProps(props);\n\n // Separate MenuTrigger props from Menu props\n const {\n children,\n trigger,\n isOpen,\n defaultOpen,\n onOpenChange,\n ...menuContextProps\n } = functionalProps;\n\n const menuTriggerProps = {\n trigger,\n isOpen,\n defaultOpen,\n onOpenChange,\n };\n\n return (\n <MenuRootSlot {...recipeProps} asChild>\n <RaMenuTrigger {...menuTriggerProps}>\n <MenuProvider value={menuContextProps}>{children}</MenuProvider>\n </RaMenuTrigger>\n </MenuRootSlot>\n );\n};\n\nMenuRoot.displayName = \"Menu.Root\";\n","import { Button } from \"react-aria-components\";\nimport { MenuTriggerSlot } from \"../menu.slots\";\nimport type { MenuTriggerProps } from \"../menu.types\";\nimport { extractStyleProps } from \"@/utils\";\nimport type { ReactNode } from \"react\";\n\nexport const MenuTrigger = ({\n children,\n asChild,\n ref,\n ...props\n}: MenuTriggerProps) => {\n const [styleProps, restProps] = extractStyleProps(props);\n\n /**\n * The user supplied a Button as the trigger\n */\n if (asChild) {\n // When asChild is true, apply styles to the child element\n return (\n <MenuTriggerSlot ref={ref} asChild {...styleProps}>\n {children as ReactNode}\n </MenuTriggerSlot>\n );\n }\n\n /**\n * The user did not supply a Button as trigger, use an unstyled button\n * to wrap which ever element the user supplied and make it a trigger\n */\n return (\n <MenuTriggerSlot asChild {...styleProps}>\n <Button ref={ref} {...restProps}>\n {children}\n </Button>\n </MenuTriggerSlot>\n );\n};\n\nMenuTrigger.displayName = \"Menu.Trigger\";\n","import { createContext, useContext } from \"react\";\n\nexport type MenuSectionContextValue = {\n selectionMode?: \"single\" | \"multiple\" | \"none\";\n};\n/**\n * Why is a second context (MenuSectionContext) needed?\n *\n * MenuSectionContext enables section-level config for menu items, such as\n * selection mode, which may differ from the global menu context. This allows\n * advanced menus where each section can have its own selection behavior\n * (e.g., one section is single-select, another is multi-select).\n * By scoping context to a section, menu items inherit settings from their\n * nearest section, falling back to the global menu context if not present.\n * This pattern improves flexibility and composability for complex menus,\n * and avoids prop drilling or awkward prop merging.\n */\n\nconst MenuSectionContext = createContext<MenuSectionContextValue | undefined>(\n undefined\n);\n\nexport const MenuSectionProvider = MenuSectionContext.Provider;\n\nexport const useMenuSectionContext = () => {\n return useContext(MenuSectionContext);\n};\n","import { Menu, Popover } from \"react-aria-components\";\nimport { MenuContentSlot, MenuPopoverSlot } from \"../menu.slots\";\nimport type { MenuContentProps } from \"../menu.types\";\nimport { useMenuContext } from \"./menu.context\";\nimport { MenuSectionProvider } from \"./menu.section-context\";\n\nexport const MenuContent = ({\n children,\n placement: placementOverride,\n ref,\n}: MenuContentProps) => {\n const contextProps = useMenuContext();\n\n if (!contextProps) {\n throw new Error(\"Menu.Content must be used within Menu.Root\");\n }\n\n // Separate placement from other props since it's handled by Popover\n const { placement, ...menuProps } = contextProps;\n const finalPlacement = placementOverride || placement || \"bottom start\";\n\n return (\n <MenuSectionProvider value={{ selectionMode: menuProps.selectionMode }}>\n <MenuPopoverSlot asChild>\n <Popover placement={finalPlacement} offset={4} shouldFlip>\n <MenuContentSlot asChild>\n <Menu ref={ref} shouldFocusWrap autoFocus=\"first\" {...menuProps}>\n {children}\n </Menu>\n </MenuContentSlot>\n </Popover>\n </MenuPopoverSlot>\n </MenuSectionProvider>\n );\n};\n\nMenuContent.displayName = \"Menu.Content\";\n","import { MenuItem as RaMenuItem } from \"react-aria-components\";\nimport { MenuItemSlot } from \"../menu.slots\";\nimport type { MenuItemProps } from \"../menu.types\";\nimport { extractStyleProps } from \"@/utils\";\nimport { ChevronRight } from \"@commercetools/nimbus-icons\";\nimport { Icon } from \"@/components/icon\";\n\nexport const MenuItem = ({\n children,\n isCritical,\n ref,\n ...props\n}: MenuItemProps) => {\n const [styleProps, restProps] = extractStyleProps(props);\n\n return (\n <MenuItemSlot\n asChild\n {...styleProps}\n data-critical={isCritical ? \"\" : undefined}\n >\n <RaMenuItem ref={ref} {...restProps}>\n {({ hasSubmenu }) => (\n <>\n {children}\n {hasSubmenu && (\n <Icon slot=\"caretIcon\">\n <ChevronRight />\n </Icon>\n )}\n </>\n )}\n </RaMenuItem>\n </MenuItemSlot>\n );\n};\n\nMenuItem.displayName = \"Menu.Item\";\n","import { Header } from \"react-aria-components\";\nimport { MenuSectionLabelSlot } from \"../menu.slots\";\nimport type { MenuSectionLabelProps } from \"../menu.types\";\nimport { extractStyleProps } from \"@/utils\";\n\n/**\n * Used in MenuSection for rendering the `label` property.\n */\nexport const MenuSectionLabel = ({\n children,\n ref,\n ...props\n}: MenuSectionLabelProps) => {\n const [styleProps, restProps] = extractStyleProps(props);\n\n return (\n <MenuSectionLabelSlot asChild {...styleProps}>\n <Header ref={ref} {...restProps}>\n {children}\n </Header>\n </MenuSectionLabelSlot>\n );\n};\n\nMenuSectionLabel.displayName = \"Menu.SectionLabel\";\n","import {\n MenuSection as RaMenuSection,\n Collection,\n} from \"react-aria-components\";\nimport { MenuSectionSlot } from \"../menu.slots\";\nimport type { MenuSectionProps } from \"../menu.types\";\nimport { extractStyleProps } from \"@/utils\";\nimport { useMenuContext } from \"./menu.context\";\nimport { MenuSectionProvider } from \"./menu.section-context\";\nimport { MenuSectionLabel } from \"./menu.section-label\";\nimport type { ReactNode } from \"react\";\n\nexport const MenuSection = <T extends object = object>({\n children,\n ref,\n label,\n items,\n ...props\n}: MenuSectionProps<T>) => {\n const contextProps = useMenuContext();\n\n // Extract selection-related props before extracting style props\n const {\n selectionMode = contextProps?.selectionMode,\n selectedKeys = contextProps?.selectedKeys,\n defaultSelectedKeys = contextProps?.defaultSelectedKeys,\n onSelectionChange = contextProps?.onSelectionChange,\n disallowEmptySelection = contextProps?.disallowEmptySelection,\n ...restProps\n } = props;\n\n const [styleProps, otherProps] = extractStyleProps(restProps);\n\n return (\n <MenuSectionProvider value={{ selectionMode }}>\n <MenuSectionSlot asChild {...styleProps}>\n <RaMenuSection\n ref={ref}\n selectionMode={selectionMode}\n selectedKeys={selectedKeys}\n defaultSelectedKeys={defaultSelectedKeys}\n onSelectionChange={onSelectionChange}\n disallowEmptySelection={disallowEmptySelection}\n {...otherProps}\n >\n <MenuSectionLabel>{label}</MenuSectionLabel>\n {items ? (\n <Collection items={items}>{children}</Collection>\n ) : (\n (children as ReactNode)\n )}\n </RaMenuSection>\n </MenuSectionSlot>\n </MenuSectionProvider>\n );\n};\n\nMenuSection.displayName = \"Menu.Section\";\n","import { SubmenuTrigger as RaSubmenuTrigger } from \"react-aria-components\";\nimport type { MenuSubmenuTriggerProps } from \"../menu.types\";\n\nexport const MenuSubmenuTrigger = ({\n children,\n ...props\n}: MenuSubmenuTriggerProps) => {\n return <RaSubmenuTrigger {...props}>{children}</RaSubmenuTrigger>;\n};\n\nMenuSubmenuTrigger.displayName = \"Menu.SubmenuTrigger\";\n","import type { MenuSubmenuProps } from \"../menu.types\";\nimport { MenuContent } from \"./menu.content\";\n\nexport const MenuSubmenu = ({ children, ...props }: MenuSubmenuProps) => {\n return (\n <MenuContent {...props} placement=\"end\">\n {children}\n </MenuContent>\n );\n};\n\nMenuSubmenu.displayName = \"Menu.Submenu\";\n","import { MenuRoot } from \"./components/menu.root\";\nimport { MenuTrigger } from \"./components/menu.trigger\";\nimport { MenuContent } from \"./components/menu.content\";\nimport { MenuItem } from \"./components/menu.item\";\nimport { MenuSection } from \"./components/menu.section\";\nimport { MenuSubmenuTrigger } from \"./components/menu.submenu-trigger\";\nimport { MenuSubmenu } from \"./components/menu.submenu\";\n\n// Re-export types\nexport type * from \"./menu.types\";\n\nexport const Menu = {\n Root: MenuRoot,\n Trigger: MenuTrigger,\n Content: MenuContent,\n Item: MenuItem,\n Section: MenuSection,\n Submenu: MenuSubmenu,\n SubmenuTrigger: MenuSubmenuTrigger,\n};\n\n// Exports for internal use by react-docgen\nexport {\n MenuRoot as _MenuRoot,\n MenuTrigger as _MenuTrigger,\n MenuContent as _MenuContent,\n MenuItem as _MenuItem,\n MenuSection as _MenuSection,\n MenuSubmenuTrigger as _MenuSubmenuTrigger,\n MenuSubmenu as _MenuSubmenu,\n};\n"],"names":["withProvider","withContext","createSlotRecipeContext","MenuRootSlot","MenuTriggerSlot","MenuPopoverSlot","MenuContentSlot","MenuItemSlot","MenuSectionSlot","MenuSectionLabelSlot","MenuContext","createContext","MenuProvider","useMenuContext","useContext","MenuRoot","props","recipe","useSlotRecipe","recipeProps","functionalProps","children","trigger","isOpen","defaultOpen","onOpenChange","menuContextProps","menuTriggerProps","jsx","RaMenuTrigger","MenuTrigger","asChild","ref","styleProps","restProps","extractStyleProps","Button","MenuSectionContext","MenuSectionProvider","MenuContent","placementOverride","contextProps","placement","menuProps","finalPlacement","Popover","Menu","MenuItem","isCritical","RaMenuItem","hasSubmenu","jsxs","Fragment","Icon","ChevronRight","MenuSectionLabel","Header","MenuSection","label","items","selectionMode","selectedKeys","defaultSelectedKeys","onSelectionChange","disallowEmptySelection","otherProps","RaMenuSection","Collection","MenuSubmenuTrigger","RaSubmenuTrigger","MenuSubmenu"],"mappings":"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"}
|