@commercetools/nimbus 0.0.0-canary-20250826065101 → 0.0.0-canary-20250826133439

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.
Files changed (89) hide show
  1. package/dist/chunks/DatePicker-5cKqpUC9.cjs.js +2 -0
  2. package/dist/chunks/{DatePicker-BQ6EfAU2.cjs.js.map → DatePicker-5cKqpUC9.cjs.js.map} +1 -1
  3. package/dist/chunks/{DatePicker-ByWwypbW.es.js → DatePicker-8Z6Kf838.es.js} +17 -18
  4. package/dist/chunks/{DatePicker-ByWwypbW.es.js.map → DatePicker-8Z6Kf838.es.js.map} +1 -1
  5. package/dist/chunks/{Dialog-DNPIKkGE.es.js → Dialog-C7IjW1jR.es.js} +24 -25
  6. package/dist/chunks/{Dialog-DNPIKkGE.es.js.map → Dialog-C7IjW1jR.es.js.map} +1 -1
  7. package/dist/chunks/Dialog-Cbq66gyc.cjs.js +2 -0
  8. package/dist/chunks/{Dialog-B4OIDU7t.cjs.js.map → Dialog-Cbq66gyc.cjs.js.map} +1 -1
  9. package/dist/chunks/OverlayArrow-C5Ymp9MC.cjs.js +2 -0
  10. package/dist/chunks/OverlayArrow-C5Ymp9MC.cjs.js.map +1 -0
  11. package/dist/chunks/OverlayArrow-ERS8ZqL3.es.js +479 -0
  12. package/dist/chunks/OverlayArrow-ERS8ZqL3.es.js.map +1 -0
  13. package/dist/chunks/combobox-CFH0OaAM.cjs.js +2 -0
  14. package/dist/chunks/{combobox-BYyNTj5m.cjs.js.map → combobox-CFH0OaAM.cjs.js.map} +1 -1
  15. package/dist/chunks/{combobox-qA8TjWPw.es.js → combobox-CkVqkKdA.es.js} +14 -15
  16. package/dist/chunks/{combobox-qA8TjWPw.es.js.map → combobox-CkVqkKdA.es.js.map} +1 -1
  17. package/dist/chunks/data-table-DIXPr3ke.cjs.js +2 -0
  18. package/dist/chunks/{data-table-D6qEg2qp.cjs.js.map → data-table-DIXPr3ke.cjs.js.map} +1 -1
  19. package/dist/chunks/{data-table-D7Gq4ZYT.es.js → data-table-cBq9JXG7.es.js} +1606 -1476
  20. package/dist/chunks/{data-table-D7Gq4ZYT.es.js.map → data-table-cBq9JXG7.es.js.map} +1 -1
  21. package/dist/chunks/{date-picker-COI-tlHx.es.js → date-picker-Bx2J-sPg.es.js} +3 -3
  22. package/dist/chunks/{date-picker-COI-tlHx.es.js.map → date-picker-Bx2J-sPg.es.js.map} +1 -1
  23. package/dist/chunks/{date-picker-RC0pSYZe.cjs.js → date-picker-UEQeFHA8.cjs.js} +2 -2
  24. package/dist/chunks/{date-picker-RC0pSYZe.cjs.js.map → date-picker-UEQeFHA8.cjs.js.map} +1 -1
  25. package/dist/chunks/{date-range-picker-BnI3m8z-.es.js → date-range-picker-DvaRIy3T.es.js} +3 -3
  26. package/dist/chunks/{date-range-picker-BnI3m8z-.es.js.map → date-range-picker-DvaRIy3T.es.js.map} +1 -1
  27. package/dist/chunks/{date-range-picker-BMAaQ7cS.cjs.js → date-range-picker-Dx1nE1Br.cjs.js} +2 -2
  28. package/dist/chunks/{date-range-picker-BMAaQ7cS.cjs.js.map → date-range-picker-Dx1nE1Br.cjs.js.map} +1 -1
  29. package/dist/chunks/{form-field-B6lCvcf4.cjs.js → form-field-DiW_0hSy.cjs.js} +2 -2
  30. package/dist/chunks/{form-field-B6lCvcf4.cjs.js.map → form-field-DiW_0hSy.cjs.js.map} +1 -1
  31. package/dist/chunks/{form-field-BgKHtyTH.es.js → form-field-Do0NhI0D.es.js} +2 -2
  32. package/dist/chunks/{form-field-BgKHtyTH.es.js.map → form-field-Do0NhI0D.es.js.map} +1 -1
  33. package/dist/chunks/{password-input-XSc2MhLG.es.js → password-input-BT594v5p.es.js} +2 -2
  34. package/dist/chunks/{password-input-XSc2MhLG.es.js.map → password-input-BT594v5p.es.js.map} +1 -1
  35. package/dist/chunks/{password-input--fYkZAW3.cjs.js → password-input-D1LSzb9p.cjs.js} +2 -2
  36. package/dist/chunks/{password-input--fYkZAW3.cjs.js.map → password-input-D1LSzb9p.cjs.js.map} +1 -1
  37. package/dist/chunks/select-BnN5zaBu.cjs.js +2 -0
  38. package/dist/chunks/{select-CxIiux8H.cjs.js.map → select-BnN5zaBu.cjs.js.map} +1 -1
  39. package/dist/chunks/{select-CMZAeYTf.es.js → select-Cr0CSahh.es.js} +12 -13
  40. package/dist/chunks/{select-CMZAeYTf.es.js.map → select-Cr0CSahh.es.js.map} +1 -1
  41. package/dist/chunks/{split-button-BZHi7r1E.es.js → split-button-DhYWuU3x.es.js} +2 -2
  42. package/dist/chunks/{split-button-BZHi7r1E.es.js.map → split-button-DhYWuU3x.es.js.map} +1 -1
  43. package/dist/chunks/{split-button-hRYYvfbx.cjs.js → split-button-DrujRAqS.cjs.js} +2 -2
  44. package/dist/chunks/{split-button-hRYYvfbx.cjs.js.map → split-button-DrujRAqS.cjs.js.map} +1 -1
  45. package/dist/chunks/{tooltip-BLyAAnK-.es.js → tooltip-BOK0Uejw.es.js} +2 -2
  46. package/dist/chunks/{tooltip-BLyAAnK-.es.js.map → tooltip-BOK0Uejw.es.js.map} +1 -1
  47. package/dist/chunks/{tooltip-tZKuAv4E.cjs.js → tooltip-DjUjwciC.cjs.js} +2 -2
  48. package/dist/chunks/{tooltip-tZKuAv4E.cjs.js.map → tooltip-DjUjwciC.cjs.js.map} +1 -1
  49. package/dist/components/combobox.cjs +1 -1
  50. package/dist/components/combobox.es.js +1 -1
  51. package/dist/components/components.cjs +1 -1
  52. package/dist/components/components.es.js +9 -9
  53. package/dist/components/data-table.cjs +1 -1
  54. package/dist/components/data-table.es.js +1 -1
  55. package/dist/components/date-picker.cjs +1 -1
  56. package/dist/components/date-picker.es.js +1 -1
  57. package/dist/components/date-range-picker.cjs +1 -1
  58. package/dist/components/date-range-picker.es.js +1 -1
  59. package/dist/components/form-field.cjs +1 -1
  60. package/dist/components/form-field.es.js +1 -1
  61. package/dist/components/password-input.cjs +1 -1
  62. package/dist/components/password-input.es.js +1 -1
  63. package/dist/components/popover.cjs +1 -1
  64. package/dist/components/popover.es.js +1 -1
  65. package/dist/components/select.cjs +1 -1
  66. package/dist/components/select.es.js +1 -1
  67. package/dist/components/split-button.cjs +1 -1
  68. package/dist/components/split-button.es.js +1 -1
  69. package/dist/components/tooltip.cjs +1 -1
  70. package/dist/components/tooltip.es.js +1 -1
  71. package/dist/components.d.ts +6 -0
  72. package/dist/data-table.d.ts +6 -0
  73. package/dist/index.cjs +1 -1
  74. package/dist/index.d.ts +6 -0
  75. package/dist/index.es.js +9 -9
  76. package/package.json +5 -5
  77. package/dist/chunks/DatePicker-BQ6EfAU2.cjs.js +0 -2
  78. package/dist/chunks/Dialog-B4OIDU7t.cjs.js +0 -2
  79. package/dist/chunks/OverlayArrow-BD-oGsXg.es.js +0 -452
  80. package/dist/chunks/OverlayArrow-BD-oGsXg.es.js.map +0 -1
  81. package/dist/chunks/OverlayArrow-aq8OInch.cjs.js +0 -2
  82. package/dist/chunks/OverlayArrow-aq8OInch.cjs.js.map +0 -1
  83. package/dist/chunks/combobox-BYyNTj5m.cjs.js +0 -2
  84. package/dist/chunks/data-table-D6qEg2qp.cjs.js +0 -2
  85. package/dist/chunks/select-CxIiux8H.cjs.js +0 -2
  86. package/dist/chunks/useResizeObserver-Dx-vDLiW.cjs.js +0 -2
  87. package/dist/chunks/useResizeObserver-Dx-vDLiW.cjs.js.map +0 -1
  88. package/dist/chunks/useResizeObserver-FIPBIG5S.es.js +0 -32
  89. package/dist/chunks/useResizeObserver-FIPBIG5S.es.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"split-button-hRYYvfbx.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.separator.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","../../src/components/split-button/split-button.slots.tsx","../../src/components/split-button/split-button.tsx"],"sourcesContent":["import {\n createSlotRecipeContext,\n type HTMLChakraProps,\n} from \"@chakra-ui/react/styled-system\";\nimport { menuSlotRecipe } from \"./menu.recipe\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n recipe: menuSlotRecipe,\n});\n\n// Menu Root\nexport type MenuRootSlotProps = HTMLChakraProps<\"div\">;\nexport const MenuRootSlot = withProvider<HTMLDivElement, MenuRootSlotProps>(\n \"div\",\n \"root\"\n);\n\n// Menu Trigger\nexport type MenuTriggerSlotProps = HTMLChakraProps<\"button\">;\nexport const MenuTriggerSlot = withContext<\n HTMLButtonElement,\n MenuTriggerSlotProps\n>(\"button\", \"trigger\");\n\n// Menu Popover\nexport type MenuPopoverSlotProps = HTMLChakraProps<\"div\">;\nexport const MenuPopoverSlot = withContext<\n HTMLDivElement,\n MenuPopoverSlotProps\n>(\"div\", \"popover\");\n\n// Menu Content\nexport type MenuContentSlotProps = HTMLChakraProps<\"div\">;\nexport const MenuContentSlot = withContext<\n HTMLDivElement,\n MenuContentSlotProps\n>(\"div\", \"content\");\n\n// Menu Item\nexport type MenuItemSlotProps = HTMLChakraProps<\"div\">;\nexport const MenuItemSlot = withContext<HTMLDivElement, MenuItemSlotProps>(\n \"div\",\n \"item\"\n);\n\n// Menu Separator\nexport type MenuSeparatorSlotProps = HTMLChakraProps<\"div\">;\nexport const MenuSeparatorSlot = withContext<\n HTMLDivElement,\n MenuSeparatorSlotProps\n>(\"div\", \"separator\");\n\n// Menu Section\nexport type MenuSectionSlotProps = HTMLChakraProps<\"div\">;\nexport const MenuSectionSlot = withContext<\n HTMLDivElement,\n MenuSectionSlotProps\n>(\"div\", \"section\");\n\n// Menu Section Label\nexport type MenuSectionLabelSlotProps = HTMLChakraProps<\"div\">;\nexport const MenuSectionLabelSlot = withContext<\n HTMLDivElement,\n MenuSectionLabelSlotProps\n>(\"div\", \"sectionLabel\");\n\n// Menu Group Label\nexport type MenuSubmenuSlotProps = HTMLChakraProps<\"div\">;\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/extractStyleProps\";\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 interface 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/extractStyleProps\";\nimport {\n CheckBox as CheckboxCheckedIcon,\n CheckBoxOutlineBlank as CheckboxUncheckedIcon,\n ChevronRight,\n RadioButtonChecked,\n RadioButtonUnchecked,\n} from \"@commercetools/nimbus-icons\";\nimport { Icon } from \"@/components/icon\";\nimport { useMenuContext } from \"./menu.context\";\nimport { useMenuSectionContext } from \"./menu.section-context\";\nimport { Box } from \"@/components/box\";\n\nexport const MenuItem = ({\n children,\n isCritical,\n ref,\n ...props\n}: MenuItemProps) => {\n const [styleProps, restProps] = extractStyleProps(props);\n const menuContext = useMenuContext();\n const sectionContext = useMenuSectionContext();\n\n // Use section context if available, otherwise fall back to menu context\n const selectionMode =\n sectionContext?.selectionMode ?? menuContext?.selectionMode;\n\n return (\n <MenuItemSlot\n asChild\n {...styleProps}\n data-critical={isCritical ? \"\" : undefined}\n >\n <RaMenuItem ref={ref} {...restProps}>\n {({ hasSubmenu, isSelected }) => (\n <>\n {selectionMode && (\n <Box slot=\"selection\" role=\"presentation\" aria-hidden=\"true\">\n {selectionMode === \"single\" && (\n <>\n {isSelected && <RadioButtonChecked />}\n {!isSelected && <RadioButtonUnchecked />}\n </>\n )}\n {selectionMode === \"multiple\" && (\n <>\n {isSelected && <CheckboxCheckedIcon />}\n {!isSelected && <CheckboxUncheckedIcon />}\n </>\n )}\n </Box>\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 { Separator } from \"react-aria-components\";\nimport { MenuSeparatorSlot } from \"../menu.slots\";\nimport type { MenuSeparatorProps } from \"../menu.types\";\nimport { extractStyleProps } from \"@/utils/extractStyleProps\";\n\nexport const MenuSeparator = ({ ref, ...props }: MenuSeparatorProps) => {\n const [styleProps, restProps] = extractStyleProps(props);\n\n return (\n <MenuSeparatorSlot asChild {...styleProps}>\n <Separator ref={ref} {...restProps} />\n </MenuSeparatorSlot>\n );\n};\n\nMenuSeparator.displayName = \"Menu.Separator\";\n","import { Header } from \"react-aria-components\";\nimport { MenuSectionLabelSlot } from \"../menu.slots\";\nimport type { MenuSectionLabelProps } from \"../menu.types\";\nimport { extractStyleProps } from \"@/utils/extractStyleProps\";\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/extractStyleProps\";\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 { MenuSeparator } from \"./components/menu.separator\";\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 Separator: MenuSeparator,\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 MenuSeparator as _MenuSeparator,\n MenuSection as _MenuSection,\n MenuSubmenuTrigger as _MenuSubmenuTrigger,\n MenuSubmenu as _MenuSubmenu,\n};\n","/* eslint-disable @typescript-eslint/no-empty-object-type */\nimport {\n createSlotRecipeContext,\n type HTMLChakraProps,\n type RecipeVariantProps,\n} from \"@chakra-ui/react\";\nimport { splitButtonSlotRecipe } from \"./split-button.recipe\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n recipe: splitButtonSlotRecipe,\n});\n\n// Root Container\nexport interface SplitButtonRootSlotProps\n extends HTMLChakraProps<\n \"div\",\n RecipeVariantProps<typeof splitButtonSlotRecipe>\n > {}\nexport const SplitButtonRootSlot = withProvider<\n HTMLDivElement,\n SplitButtonRootSlotProps\n>(\"div\", \"root\");\n\n// Button Group Container\nexport interface SplitButtonButtonGroupSlotProps\n extends HTMLChakraProps<\"div\"> {}\nexport const SplitButtonButtonGroupSlot = withContext<\n HTMLDivElement,\n SplitButtonButtonGroupSlotProps\n>(\"div\", \"buttonGroup\");\n\n// Primary Action Button\nexport interface SplitButtonPrimaryButtonSlotProps\n extends HTMLChakraProps<\"button\"> {}\nexport const SplitButtonPrimaryButtonSlot = withContext<\n HTMLButtonElement,\n SplitButtonPrimaryButtonSlotProps\n>(\"button\", \"primaryButton\");\n\n// Dropdown Trigger Button\nexport interface SplitButtonTriggerSlotProps\n extends HTMLChakraProps<\"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 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 Menu.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 } = 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 interface MenuItemProps {\n id: string;\n children: React.ReactNode;\n isDisabled?: boolean;\n isCritical?: boolean;\n }\n\n interface 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 // Separate Icon slots from Menu items\n const childArray = React.Children.toArray(props.children);\n const iconElement = childArray.find(\n (child): child is React.ReactElement =>\n React.isValidElement(child) &&\n (child.props as { slot?: string })?.slot === \"icon\"\n );\n const menuItems = childArray.filter(\n (child) =>\n !React.isValidElement(child) ||\n (child.props as { slot?: string })?.slot !== \"icon\"\n );\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 {iconElement}\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","menuSlotRecipe","MenuRootSlot","MenuTriggerSlot","MenuPopoverSlot","MenuContentSlot","MenuItemSlot","MenuSeparatorSlot","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","useMenuSectionContext","MenuContent","placementOverride","contextProps","placement","menuProps","finalPlacement","Popover","Menu","MenuItem","isCritical","menuContext","selectionMode","RaMenuItem","hasSubmenu","isSelected","jsxs","Fragment","Box","RadioButtonChecked","RadioButtonUnchecked","CheckboxCheckedIcon","CheckboxUncheckedIcon","Icon","ChevronRight","MenuSeparator","Separator","MenuSectionLabel","Header","MenuSection","label","items","selectedKeys","defaultSelectedKeys","onSelectionChange","disallowEmptySelection","otherProps","RaMenuSection","Collection","MenuSubmenuTrigger","RaSubmenuTrigger","MenuSubmenu","splitButtonSlotRecipe","SplitButtonRootSlot","SplitButtonButtonGroupSlot","SplitButtonPrimaryButtonSlot","SplitButtonTriggerSlot","SplitButton","size","variant","tone","isDisabled","ariaLabel","onAction","buttonProps","isMenuItemWithId","element","React","hasChildren","childArray","iconElement","child","menuItems","hasActionableMenuItems","hasActionable","findPrimaryMenuItem","allMenuItems","collectMenuItems","item","hasActionableItems","buttonContent","executePrimaryAction","isPrimaryDisabled","isDropdownTriggerDisabled","key","IconButton","KeyboardArrowDown"],"mappings":"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"}
1
+ {"version":3,"file":"split-button-DrujRAqS.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.separator.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","../../src/components/split-button/split-button.slots.tsx","../../src/components/split-button/split-button.tsx"],"sourcesContent":["import {\n createSlotRecipeContext,\n type HTMLChakraProps,\n} from \"@chakra-ui/react/styled-system\";\nimport { menuSlotRecipe } from \"./menu.recipe\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n recipe: menuSlotRecipe,\n});\n\n// Menu Root\nexport type MenuRootSlotProps = HTMLChakraProps<\"div\">;\nexport const MenuRootSlot = withProvider<HTMLDivElement, MenuRootSlotProps>(\n \"div\",\n \"root\"\n);\n\n// Menu Trigger\nexport type MenuTriggerSlotProps = HTMLChakraProps<\"button\">;\nexport const MenuTriggerSlot = withContext<\n HTMLButtonElement,\n MenuTriggerSlotProps\n>(\"button\", \"trigger\");\n\n// Menu Popover\nexport type MenuPopoverSlotProps = HTMLChakraProps<\"div\">;\nexport const MenuPopoverSlot = withContext<\n HTMLDivElement,\n MenuPopoverSlotProps\n>(\"div\", \"popover\");\n\n// Menu Content\nexport type MenuContentSlotProps = HTMLChakraProps<\"div\">;\nexport const MenuContentSlot = withContext<\n HTMLDivElement,\n MenuContentSlotProps\n>(\"div\", \"content\");\n\n// Menu Item\nexport type MenuItemSlotProps = HTMLChakraProps<\"div\">;\nexport const MenuItemSlot = withContext<HTMLDivElement, MenuItemSlotProps>(\n \"div\",\n \"item\"\n);\n\n// Menu Separator\nexport type MenuSeparatorSlotProps = HTMLChakraProps<\"div\">;\nexport const MenuSeparatorSlot = withContext<\n HTMLDivElement,\n MenuSeparatorSlotProps\n>(\"div\", \"separator\");\n\n// Menu Section\nexport type MenuSectionSlotProps = HTMLChakraProps<\"div\">;\nexport const MenuSectionSlot = withContext<\n HTMLDivElement,\n MenuSectionSlotProps\n>(\"div\", \"section\");\n\n// Menu Section Label\nexport type MenuSectionLabelSlotProps = HTMLChakraProps<\"div\">;\nexport const MenuSectionLabelSlot = withContext<\n HTMLDivElement,\n MenuSectionLabelSlotProps\n>(\"div\", \"sectionLabel\");\n\n// Menu Group Label\nexport type MenuSubmenuSlotProps = HTMLChakraProps<\"div\">;\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/extractStyleProps\";\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 interface 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/extractStyleProps\";\nimport {\n CheckBox as CheckboxCheckedIcon,\n CheckBoxOutlineBlank as CheckboxUncheckedIcon,\n ChevronRight,\n RadioButtonChecked,\n RadioButtonUnchecked,\n} from \"@commercetools/nimbus-icons\";\nimport { Icon } from \"@/components/icon\";\nimport { useMenuContext } from \"./menu.context\";\nimport { useMenuSectionContext } from \"./menu.section-context\";\nimport { Box } from \"@/components/box\";\n\nexport const MenuItem = ({\n children,\n isCritical,\n ref,\n ...props\n}: MenuItemProps) => {\n const [styleProps, restProps] = extractStyleProps(props);\n const menuContext = useMenuContext();\n const sectionContext = useMenuSectionContext();\n\n // Use section context if available, otherwise fall back to menu context\n const selectionMode =\n sectionContext?.selectionMode ?? menuContext?.selectionMode;\n\n return (\n <MenuItemSlot\n asChild\n {...styleProps}\n data-critical={isCritical ? \"\" : undefined}\n >\n <RaMenuItem ref={ref} {...restProps}>\n {({ hasSubmenu, isSelected }) => (\n <>\n {selectionMode && (\n <Box slot=\"selection\" role=\"presentation\" aria-hidden=\"true\">\n {selectionMode === \"single\" && (\n <>\n {isSelected && <RadioButtonChecked />}\n {!isSelected && <RadioButtonUnchecked />}\n </>\n )}\n {selectionMode === \"multiple\" && (\n <>\n {isSelected && <CheckboxCheckedIcon />}\n {!isSelected && <CheckboxUncheckedIcon />}\n </>\n )}\n </Box>\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 { Separator } from \"react-aria-components\";\nimport { MenuSeparatorSlot } from \"../menu.slots\";\nimport type { MenuSeparatorProps } from \"../menu.types\";\nimport { extractStyleProps } from \"@/utils/extractStyleProps\";\n\nexport const MenuSeparator = ({ ref, ...props }: MenuSeparatorProps) => {\n const [styleProps, restProps] = extractStyleProps(props);\n\n return (\n <MenuSeparatorSlot asChild {...styleProps}>\n <Separator ref={ref} {...restProps} />\n </MenuSeparatorSlot>\n );\n};\n\nMenuSeparator.displayName = \"Menu.Separator\";\n","import { Header } from \"react-aria-components\";\nimport { MenuSectionLabelSlot } from \"../menu.slots\";\nimport type { MenuSectionLabelProps } from \"../menu.types\";\nimport { extractStyleProps } from \"@/utils/extractStyleProps\";\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/extractStyleProps\";\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 { MenuSeparator } from \"./components/menu.separator\";\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 Separator: MenuSeparator,\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 MenuSeparator as _MenuSeparator,\n MenuSection as _MenuSection,\n MenuSubmenuTrigger as _MenuSubmenuTrigger,\n MenuSubmenu as _MenuSubmenu,\n};\n","/* eslint-disable @typescript-eslint/no-empty-object-type */\nimport {\n createSlotRecipeContext,\n type HTMLChakraProps,\n type RecipeVariantProps,\n} from \"@chakra-ui/react\";\nimport { splitButtonSlotRecipe } from \"./split-button.recipe\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n recipe: splitButtonSlotRecipe,\n});\n\n// Root Container\nexport interface SplitButtonRootSlotProps\n extends HTMLChakraProps<\n \"div\",\n RecipeVariantProps<typeof splitButtonSlotRecipe>\n > {}\nexport const SplitButtonRootSlot = withProvider<\n HTMLDivElement,\n SplitButtonRootSlotProps\n>(\"div\", \"root\");\n\n// Button Group Container\nexport interface SplitButtonButtonGroupSlotProps\n extends HTMLChakraProps<\"div\"> {}\nexport const SplitButtonButtonGroupSlot = withContext<\n HTMLDivElement,\n SplitButtonButtonGroupSlotProps\n>(\"div\", \"buttonGroup\");\n\n// Primary Action Button\nexport interface SplitButtonPrimaryButtonSlotProps\n extends HTMLChakraProps<\"button\"> {}\nexport const SplitButtonPrimaryButtonSlot = withContext<\n HTMLButtonElement,\n SplitButtonPrimaryButtonSlotProps\n>(\"button\", \"primaryButton\");\n\n// Dropdown Trigger Button\nexport interface SplitButtonTriggerSlotProps\n extends HTMLChakraProps<\"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 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 Menu.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 } = 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 interface MenuItemProps {\n id: string;\n children: React.ReactNode;\n isDisabled?: boolean;\n isCritical?: boolean;\n }\n\n interface 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 // Separate Icon slots from Menu items\n const childArray = React.Children.toArray(props.children);\n const iconElement = childArray.find(\n (child): child is React.ReactElement =>\n React.isValidElement(child) &&\n (child.props as { slot?: string })?.slot === \"icon\"\n );\n const menuItems = childArray.filter(\n (child) =>\n !React.isValidElement(child) ||\n (child.props as { slot?: string })?.slot !== \"icon\"\n );\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 {iconElement}\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","menuSlotRecipe","MenuRootSlot","MenuTriggerSlot","MenuPopoverSlot","MenuContentSlot","MenuItemSlot","MenuSeparatorSlot","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","useMenuSectionContext","MenuContent","placementOverride","contextProps","placement","menuProps","finalPlacement","Popover","Menu","MenuItem","isCritical","menuContext","selectionMode","RaMenuItem","hasSubmenu","isSelected","jsxs","Fragment","Box","RadioButtonChecked","RadioButtonUnchecked","CheckboxCheckedIcon","CheckboxUncheckedIcon","Icon","ChevronRight","MenuSeparator","Separator","MenuSectionLabel","Header","MenuSection","label","items","selectedKeys","defaultSelectedKeys","onSelectionChange","disallowEmptySelection","otherProps","RaMenuSection","Collection","MenuSubmenuTrigger","RaSubmenuTrigger","MenuSubmenu","splitButtonSlotRecipe","SplitButtonRootSlot","SplitButtonButtonGroupSlot","SplitButtonPrimaryButtonSlot","SplitButtonTriggerSlot","SplitButton","size","variant","tone","isDisabled","ariaLabel","onAction","buttonProps","isMenuItemWithId","element","React","hasChildren","childArray","iconElement","child","menuItems","hasActionableMenuItems","hasActionable","findPrimaryMenuItem","allMenuItems","collectMenuItems","item","hasActionableItems","buttonContent","executePrimaryAction","isPrimaryDisabled","isDropdownTriggerDisabled","key","IconButton","KeyboardArrowDown"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as O } from "react/jsx-runtime";
2
2
  import c, { useContext as E, useState as S, useMemo as M, useRef as v, useEffect as h, forwardRef as k, createContext as H } from "react";
3
3
  import { d as U, $ as K, a as V } from "./utils-BkdW_cdL.es.js";
4
- import { a as j, $ as z, b as Y, c as q, d as G, e as J } from "./OverlayArrow-BD-oGsXg.es.js";
4
+ import { b as j, $ as z, c as Y, d as q, e as G, f as J } from "./OverlayArrow-ERS8ZqL3.es.js";
5
5
  import { $ as T, a as Q, c as X } from "./mergeProps-B_9syxhT.es.js";
6
6
  import { $ as I } from "./filterDOMProps-BSVCO5jK.es.js";
7
7
  import { $ as Z, a as ee } from "./useFocusable-BghVNiQU.es.js";
@@ -271,4 +271,4 @@ export {
271
271
  N as a,
272
272
  Le as b
273
273
  };
274
- //# sourceMappingURL=tooltip-BLyAAnK-.es.js.map
274
+ //# sourceMappingURL=tooltip-BOK0Uejw.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip-BLyAAnK-.es.js","sources":["../../../../node_modules/.pnpm/@react-aria+overlays@3.28.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@react-aria/overlays/dist/useModal.mjs","../../../../node_modules/.pnpm/@react-aria+tooltip@3.8.6_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@react-aria/tooltip/dist/useTooltip.mjs","../../../../node_modules/.pnpm/@react-aria+tooltip@3.8.6_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@react-aria/tooltip/dist/useTooltipTrigger.mjs","../../../../node_modules/.pnpm/@react-stately+tooltip@3.5.6_react@19.1.0/node_modules/@react-stately/tooltip/dist/useTooltipTriggerState.mjs","../../../../node_modules/.pnpm/react-aria-components@1.11.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria-components/dist/Tooltip.mjs","../../src/components/tooltip/components/tooltip.root.tsx","../../src/components/tooltip/tooltip.slots.ts","../../src/components/tooltip/components/tooltip.content.tsx","../../src/components/tooltip/tooltip.tsx"],"sourcesContent":["import {useUNSAFE_PortalContext as $96b38030c423d352$export$9fc1347d4195ccb3} from \"./PortalProvider.mjs\";\nimport $4AOtR$react, {useContext as $4AOtR$useContext, useState as $4AOtR$useState, useMemo as $4AOtR$useMemo, useEffect as $4AOtR$useEffect} from \"react\";\nimport $4AOtR$reactdom from \"react-dom\";\nimport {useIsSSR as $4AOtR$useIsSSR} from \"@react-aria/ssr\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\nconst $f57aed4a881a3485$var$Context = /*#__PURE__*/ (0, $4AOtR$react).createContext(null);\nfunction $f57aed4a881a3485$export$178405afcd8c5eb(props) {\n let { children: children } = props;\n let parent = (0, $4AOtR$useContext)($f57aed4a881a3485$var$Context);\n let [modalCount, setModalCount] = (0, $4AOtR$useState)(0);\n let context = (0, $4AOtR$useMemo)(()=>({\n parent: parent,\n modalCount: modalCount,\n addModal () {\n setModalCount((count)=>count + 1);\n if (parent) parent.addModal();\n },\n removeModal () {\n setModalCount((count)=>count - 1);\n if (parent) parent.removeModal();\n }\n }), [\n parent,\n modalCount\n ]);\n return /*#__PURE__*/ (0, $4AOtR$react).createElement($f57aed4a881a3485$var$Context.Provider, {\n value: context\n }, children);\n}\nfunction $f57aed4a881a3485$export$d9aaed4c3ece1bc0() {\n let context = (0, $4AOtR$useContext)($f57aed4a881a3485$var$Context);\n return {\n modalProviderProps: {\n 'aria-hidden': context && context.modalCount > 0 ? true : undefined\n }\n };\n}\n/**\n * Creates a root node that will be aria-hidden if there are other modals open.\n */ function $f57aed4a881a3485$var$OverlayContainerDOM(props) {\n let { modalProviderProps: modalProviderProps } = $f57aed4a881a3485$export$d9aaed4c3ece1bc0();\n return /*#__PURE__*/ (0, $4AOtR$react).createElement(\"div\", {\n \"data-overlay-container\": true,\n ...props,\n ...modalProviderProps\n });\n}\nfunction $f57aed4a881a3485$export$bf688221f59024e5(props) {\n return /*#__PURE__*/ (0, $4AOtR$react).createElement($f57aed4a881a3485$export$178405afcd8c5eb, null, /*#__PURE__*/ (0, $4AOtR$react).createElement($f57aed4a881a3485$var$OverlayContainerDOM, props));\n}\nfunction $f57aed4a881a3485$export$b47c3594eab58386(props) {\n let isSSR = (0, $4AOtR$useIsSSR)();\n let { portalContainer: portalContainer = isSSR ? null : document.body, ...rest } = props;\n let { getContainer: getContainer } = (0, $96b38030c423d352$export$9fc1347d4195ccb3)();\n if (!props.portalContainer && getContainer) portalContainer = getContainer();\n (0, $4AOtR$react).useEffect(()=>{\n if (portalContainer === null || portalContainer === void 0 ? void 0 : portalContainer.closest('[data-overlay-container]')) throw new Error('An OverlayContainer must not be inside another container. Please change the portalContainer prop.');\n }, [\n portalContainer\n ]);\n if (!portalContainer) return null;\n let contents = /*#__PURE__*/ (0, $4AOtR$react).createElement($f57aed4a881a3485$export$bf688221f59024e5, rest);\n return /*#__PURE__*/ (0, $4AOtR$reactdom).createPortal(contents, portalContainer);\n}\nfunction $f57aed4a881a3485$export$33ffd74ebf07f060(options) {\n // Add aria-hidden to all parent providers on mount, and restore on unmount.\n let context = (0, $4AOtR$useContext)($f57aed4a881a3485$var$Context);\n if (!context) throw new Error('Modal is not contained within a provider');\n (0, $4AOtR$useEffect)(()=>{\n if ((options === null || options === void 0 ? void 0 : options.isDisabled) || !context || !context.parent) return;\n // The immediate context is from the provider containing this modal, so we only\n // want to trigger aria-hidden on its parents not on the modal provider itself.\n context.parent.addModal();\n return ()=>{\n if (context && context.parent) context.parent.removeModal();\n };\n }, [\n context,\n context.parent,\n options === null || options === void 0 ? void 0 : options.isDisabled\n ]);\n return {\n modalProps: {\n 'data-ismodal': !(options === null || options === void 0 ? void 0 : options.isDisabled)\n }\n };\n}\n\n\nexport {$f57aed4a881a3485$export$178405afcd8c5eb as ModalProvider, $f57aed4a881a3485$export$d9aaed4c3ece1bc0 as useModalProvider, $f57aed4a881a3485$export$bf688221f59024e5 as OverlayProvider, $f57aed4a881a3485$export$b47c3594eab58386 as OverlayContainer, $f57aed4a881a3485$export$33ffd74ebf07f060 as useModal};\n//# sourceMappingURL=useModal.module.js.map\n","import {filterDOMProps as $kwmr2$filterDOMProps, mergeProps as $kwmr2$mergeProps} from \"@react-aria/utils\";\nimport {useHover as $kwmr2$useHover} from \"@react-aria/interactions\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $326e436e94273fe1$export$1c4b08e0eca38426(props, state) {\n let domProps = (0, $kwmr2$filterDOMProps)(props, {\n labelable: true\n });\n let { hoverProps: hoverProps } = (0, $kwmr2$useHover)({\n onHoverStart: ()=>state === null || state === void 0 ? void 0 : state.open(true),\n onHoverEnd: ()=>state === null || state === void 0 ? void 0 : state.close()\n });\n return {\n tooltipProps: (0, $kwmr2$mergeProps)(domProps, hoverProps, {\n role: 'tooltip'\n })\n };\n}\n\n\nexport {$326e436e94273fe1$export$1c4b08e0eca38426 as useTooltip};\n//# sourceMappingURL=useTooltip.module.js.map\n","import {getInteractionModality as $6VwSn$getInteractionModality, isFocusVisible as $6VwSn$isFocusVisible, useHover as $6VwSn$useHover, useFocusable as $6VwSn$useFocusable} from \"@react-aria/interactions\";\nimport {useId as $6VwSn$useId, mergeProps as $6VwSn$mergeProps} from \"@react-aria/utils\";\nimport {useRef as $6VwSn$useRef, useEffect as $6VwSn$useEffect} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nfunction $4e1b34546679e357$export$a6da6c504e4bba8b(props, state, ref) {\n let { isDisabled: isDisabled, trigger: trigger } = props;\n let tooltipId = (0, $6VwSn$useId)();\n let isHovered = (0, $6VwSn$useRef)(false);\n let isFocused = (0, $6VwSn$useRef)(false);\n let handleShow = ()=>{\n if (isHovered.current || isFocused.current) state.open(isFocused.current);\n };\n let handleHide = (immediate)=>{\n if (!isHovered.current && !isFocused.current) state.close(immediate);\n };\n (0, $6VwSn$useEffect)(()=>{\n let onKeyDown = (e)=>{\n if (ref && ref.current) // Escape after clicking something can give it keyboard focus\n // dismiss tooltip on esc key press\n {\n if (e.key === 'Escape') {\n e.stopPropagation();\n state.close(true);\n }\n }\n };\n if (state.isOpen) {\n document.addEventListener('keydown', onKeyDown, true);\n return ()=>{\n document.removeEventListener('keydown', onKeyDown, true);\n };\n }\n }, [\n ref,\n state\n ]);\n let onHoverStart = ()=>{\n if (trigger === 'focus') return;\n // In chrome, if you hover a trigger, then another element obscures it, due to keyboard\n // interactions for example, hover will end. When hover is restored after that element disappears,\n // focus moves on for example, then the tooltip will reopen. We check the modality to know if the hover\n // is the result of moving the mouse.\n if ((0, $6VwSn$getInteractionModality)() === 'pointer') isHovered.current = true;\n else isHovered.current = false;\n handleShow();\n };\n let onHoverEnd = ()=>{\n if (trigger === 'focus') return;\n // no matter how the trigger is left, we should close the tooltip\n isFocused.current = false;\n isHovered.current = false;\n handleHide();\n };\n let onPressStart = ()=>{\n // no matter how the trigger is pressed, we should close the tooltip\n isFocused.current = false;\n isHovered.current = false;\n handleHide(true);\n };\n let onFocus = ()=>{\n let isVisible = (0, $6VwSn$isFocusVisible)();\n if (isVisible) {\n isFocused.current = true;\n handleShow();\n }\n };\n let onBlur = ()=>{\n isFocused.current = false;\n isHovered.current = false;\n handleHide(true);\n };\n let { hoverProps: hoverProps } = (0, $6VwSn$useHover)({\n isDisabled: isDisabled,\n onHoverStart: onHoverStart,\n onHoverEnd: onHoverEnd\n });\n let { focusableProps: focusableProps } = (0, $6VwSn$useFocusable)({\n isDisabled: isDisabled,\n onFocus: onFocus,\n onBlur: onBlur\n }, ref);\n return {\n triggerProps: {\n 'aria-describedby': state.isOpen ? tooltipId : undefined,\n ...(0, $6VwSn$mergeProps)(focusableProps, hoverProps, {\n onPointerDown: onPressStart,\n onKeyDown: onPressStart,\n tabIndex: undefined\n })\n },\n tooltipProps: {\n id: tooltipId\n }\n };\n}\n\n\nexport {$4e1b34546679e357$export$a6da6c504e4bba8b as useTooltipTrigger};\n//# sourceMappingURL=useTooltipTrigger.module.js.map\n","import {useMemo as $50cCT$useMemo, useRef as $50cCT$useRef, useEffect as $50cCT$useEffect} from \"react\";\nimport {useOverlayTriggerState as $50cCT$useOverlayTriggerState} from \"@react-stately/overlays\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nconst $8796f90736e175cb$var$TOOLTIP_DELAY = 1500; // this seems to be a 1.5 second delay, check with design\nconst $8796f90736e175cb$var$TOOLTIP_COOLDOWN = 500;\nlet $8796f90736e175cb$var$tooltips = {};\nlet $8796f90736e175cb$var$tooltipId = 0;\nlet $8796f90736e175cb$var$globalWarmedUp = false;\nlet $8796f90736e175cb$var$globalWarmUpTimeout = null;\nlet $8796f90736e175cb$var$globalCooldownTimeout = null;\nfunction $8796f90736e175cb$export$4d40659c25ecb50b(props = {}) {\n let { delay: delay = $8796f90736e175cb$var$TOOLTIP_DELAY, closeDelay: closeDelay = $8796f90736e175cb$var$TOOLTIP_COOLDOWN } = props;\n let { isOpen: isOpen, open: open, close: close } = (0, $50cCT$useOverlayTriggerState)(props);\n let id = (0, $50cCT$useMemo)(()=>`${++$8796f90736e175cb$var$tooltipId}`, []);\n let closeTimeout = (0, $50cCT$useRef)(null);\n let closeCallback = (0, $50cCT$useRef)(close);\n let ensureTooltipEntry = ()=>{\n $8796f90736e175cb$var$tooltips[id] = hideTooltip;\n };\n let closeOpenTooltips = ()=>{\n for(let hideTooltipId in $8796f90736e175cb$var$tooltips)if (hideTooltipId !== id) {\n $8796f90736e175cb$var$tooltips[hideTooltipId](true);\n delete $8796f90736e175cb$var$tooltips[hideTooltipId];\n }\n };\n let showTooltip = ()=>{\n if (closeTimeout.current) clearTimeout(closeTimeout.current);\n closeTimeout.current = null;\n closeOpenTooltips();\n ensureTooltipEntry();\n $8796f90736e175cb$var$globalWarmedUp = true;\n open();\n if ($8796f90736e175cb$var$globalWarmUpTimeout) {\n clearTimeout($8796f90736e175cb$var$globalWarmUpTimeout);\n $8796f90736e175cb$var$globalWarmUpTimeout = null;\n }\n if ($8796f90736e175cb$var$globalCooldownTimeout) {\n clearTimeout($8796f90736e175cb$var$globalCooldownTimeout);\n $8796f90736e175cb$var$globalCooldownTimeout = null;\n }\n };\n let hideTooltip = (immediate)=>{\n if (immediate || closeDelay <= 0) {\n if (closeTimeout.current) clearTimeout(closeTimeout.current);\n closeTimeout.current = null;\n closeCallback.current();\n } else if (!closeTimeout.current) closeTimeout.current = setTimeout(()=>{\n closeTimeout.current = null;\n closeCallback.current();\n }, closeDelay);\n if ($8796f90736e175cb$var$globalWarmUpTimeout) {\n clearTimeout($8796f90736e175cb$var$globalWarmUpTimeout);\n $8796f90736e175cb$var$globalWarmUpTimeout = null;\n }\n if ($8796f90736e175cb$var$globalWarmedUp) {\n if ($8796f90736e175cb$var$globalCooldownTimeout) clearTimeout($8796f90736e175cb$var$globalCooldownTimeout);\n $8796f90736e175cb$var$globalCooldownTimeout = setTimeout(()=>{\n delete $8796f90736e175cb$var$tooltips[id];\n $8796f90736e175cb$var$globalCooldownTimeout = null;\n $8796f90736e175cb$var$globalWarmedUp = false;\n }, Math.max($8796f90736e175cb$var$TOOLTIP_COOLDOWN, closeDelay));\n }\n };\n let warmupTooltip = ()=>{\n closeOpenTooltips();\n ensureTooltipEntry();\n if (!isOpen && !$8796f90736e175cb$var$globalWarmUpTimeout && !$8796f90736e175cb$var$globalWarmedUp) $8796f90736e175cb$var$globalWarmUpTimeout = setTimeout(()=>{\n $8796f90736e175cb$var$globalWarmUpTimeout = null;\n $8796f90736e175cb$var$globalWarmedUp = true;\n showTooltip();\n }, delay);\n else if (!isOpen) showTooltip();\n };\n (0, $50cCT$useEffect)(()=>{\n closeCallback.current = close;\n }, [\n close\n ]);\n (0, $50cCT$useEffect)(()=>{\n return ()=>{\n if (closeTimeout.current) clearTimeout(closeTimeout.current);\n let tooltip = $8796f90736e175cb$var$tooltips[id];\n if (tooltip) delete $8796f90736e175cb$var$tooltips[id];\n };\n }, [\n id\n ]);\n return {\n isOpen: isOpen,\n open: (immediate)=>{\n if (!immediate && delay > 0 && !closeTimeout.current) warmupTooltip();\n else showTooltip();\n },\n close: hideTooltip\n };\n}\n\n\nexport {$8796f90736e175cb$export$4d40659c25ecb50b as useTooltipTriggerState};\n//# sourceMappingURL=useTooltipTriggerState.module.js.map\n","import {Provider as $64fa3d84918910a7$export$2881499e37b75b9a, useContextProps as $64fa3d84918910a7$export$29f1550f4b0d4415, useRenderProps as $64fa3d84918910a7$export$4d86445c2cf5e3} from \"./utils.mjs\";\nimport {OverlayArrowContext as $44f671af83e7d9e0$export$2de4954e8ae13b9f} from \"./OverlayArrow.mjs\";\nimport {useTooltipTrigger as $cCslV$useTooltipTrigger, OverlayContainer as $cCslV$OverlayContainer, useOverlayPosition as $cCslV$useOverlayPosition, mergeProps as $cCslV$mergeProps, useTooltip as $cCslV$useTooltip} from \"react-aria\";\nimport {useExitAnimation as $cCslV$useExitAnimation, useLayoutEffect as $cCslV$useLayoutEffect, useEnterAnimation as $cCslV$useEnterAnimation, filterDOMProps as $cCslV$filterDOMProps} from \"@react-aria/utils\";\nimport {FocusableProvider as $cCslV$FocusableProvider} from \"@react-aria/focus\";\nimport {useTooltipTriggerState as $cCslV$useTooltipTriggerState} from \"react-stately\";\nimport $cCslV$react, {createContext as $cCslV$createContext, useRef as $cCslV$useRef, forwardRef as $cCslV$forwardRef, useContext as $cCslV$useContext, useState as $cCslV$useState} from \"react\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\nconst $4e3b923658d69c60$export$7a7623236eec67fa = /*#__PURE__*/ (0, $cCslV$createContext)(null);\nconst $4e3b923658d69c60$export$39ae08fa83328b12 = /*#__PURE__*/ (0, $cCslV$createContext)(null);\nfunction $4e3b923658d69c60$export$8c610744efcf8a1d(props) {\n let state = (0, $cCslV$useTooltipTriggerState)(props);\n let ref = (0, $cCslV$useRef)(null);\n let { triggerProps: triggerProps, tooltipProps: tooltipProps } = (0, $cCslV$useTooltipTrigger)(props, state, ref);\n return /*#__PURE__*/ (0, $cCslV$react).createElement((0, $64fa3d84918910a7$export$2881499e37b75b9a), {\n values: [\n [\n $4e3b923658d69c60$export$7a7623236eec67fa,\n state\n ],\n [\n $4e3b923658d69c60$export$39ae08fa83328b12,\n {\n ...tooltipProps,\n triggerRef: ref\n }\n ]\n ]\n }, /*#__PURE__*/ (0, $cCslV$react).createElement((0, $cCslV$FocusableProvider), {\n ...triggerProps,\n ref: ref\n }, props.children));\n}\nconst $4e3b923658d69c60$export$28c660c63b792dea = /*#__PURE__*/ (0, $cCslV$forwardRef)(function Tooltip({ UNSTABLE_portalContainer: UNSTABLE_portalContainer, ...props }, ref) {\n [props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $4e3b923658d69c60$export$39ae08fa83328b12);\n let contextState = (0, $cCslV$useContext)($4e3b923658d69c60$export$7a7623236eec67fa);\n let localState = (0, $cCslV$useTooltipTriggerState)(props);\n let state = props.isOpen != null || props.defaultOpen != null || !contextState ? localState : contextState;\n let isExiting = (0, $cCslV$useExitAnimation)(ref, state.isOpen) || props.isExiting || false;\n if (!state.isOpen && !isExiting) return null;\n return /*#__PURE__*/ (0, $cCslV$react).createElement((0, $cCslV$OverlayContainer), {\n portalContainer: UNSTABLE_portalContainer\n }, /*#__PURE__*/ (0, $cCslV$react).createElement($4e3b923658d69c60$var$TooltipInner, {\n ...props,\n tooltipRef: ref,\n isExiting: isExiting\n }));\n});\nfunction $4e3b923658d69c60$var$TooltipInner(props) {\n let state = (0, $cCslV$useContext)($4e3b923658d69c60$export$7a7623236eec67fa);\n // Calculate the arrow size internally\n // Referenced from: packages/@react-spectrum/tooltip/src/TooltipTrigger.tsx\n let arrowRef = (0, $cCslV$useRef)(null);\n let [arrowWidth, setArrowWidth] = (0, $cCslV$useState)(0);\n (0, $cCslV$useLayoutEffect)(()=>{\n if (arrowRef.current && state.isOpen) setArrowWidth(arrowRef.current.getBoundingClientRect().width);\n }, [\n state.isOpen,\n arrowRef\n ]);\n let { overlayProps: overlayProps, arrowProps: arrowProps, placement: placement } = (0, $cCslV$useOverlayPosition)({\n placement: props.placement || 'top',\n targetRef: props.triggerRef,\n overlayRef: props.tooltipRef,\n offset: props.offset,\n crossOffset: props.crossOffset,\n isOpen: state.isOpen,\n arrowSize: arrowWidth,\n arrowBoundaryOffset: props.arrowBoundaryOffset,\n shouldFlip: props.shouldFlip,\n onClose: ()=>state.close(true)\n });\n let isEntering = (0, $cCslV$useEnterAnimation)(props.tooltipRef, !!placement) || props.isEntering || false;\n let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({\n ...props,\n defaultClassName: 'react-aria-Tooltip',\n values: {\n placement: placement,\n isEntering: isEntering,\n isExiting: props.isExiting,\n state: state\n }\n });\n props = (0, $cCslV$mergeProps)(props, overlayProps);\n let { tooltipProps: tooltipProps } = (0, $cCslV$useTooltip)(props, state);\n let DOMProps = (0, $cCslV$filterDOMProps)(props, {\n global: true\n });\n return /*#__PURE__*/ (0, $cCslV$react).createElement(\"div\", {\n ...(0, $cCslV$mergeProps)(DOMProps, renderProps, tooltipProps),\n ref: props.tooltipRef,\n style: {\n ...overlayProps.style,\n ...renderProps.style\n },\n \"data-placement\": placement !== null && placement !== void 0 ? placement : undefined,\n \"data-entering\": isEntering || undefined,\n \"data-exiting\": props.isExiting || undefined\n }, /*#__PURE__*/ (0, $cCslV$react).createElement((0, $44f671af83e7d9e0$export$2de4954e8ae13b9f).Provider, {\n value: {\n ...arrowProps,\n placement: placement,\n ref: arrowRef\n }\n }, renderProps.children));\n}\n\n\nexport {$4e3b923658d69c60$export$7a7623236eec67fa as TooltipTriggerStateContext, $4e3b923658d69c60$export$39ae08fa83328b12 as TooltipContext, $4e3b923658d69c60$export$8c610744efcf8a1d as TooltipTrigger, $4e3b923658d69c60$export$28c660c63b792dea as Tooltip};\n//# sourceMappingURL=Tooltip.module.js.map\n","import React from \"react\";\nimport { TooltipTrigger } from \"react-aria-components\";\nimport type { TooltipTriggerComponentProps } from \"react-aria-components\";\n\n/**\n * # Tooltip\n *\n * A contextual popup that displays a description for an element.\n *\n * @see {@link https://nimbus-documentation.vercel.app/components/feedback/tooltip}\n */\nexport function TooltipRoot({\n // Match delays to current ui-kit tooltip\n delay = 300,\n closeDelay = 200,\n ...props\n}: TooltipTriggerComponentProps) {\n // Note: In React 19, ref forwarding is automatic for function components\n // The ref should be placed on the trigger element directly when needed\n return <TooltipTrigger delay={delay} closeDelay={closeDelay} {...props} />;\n}\n\nTooltipRoot.displayName = \"Tooltip.Root\";\n","import {\n type HTMLChakraProps,\n type RecipeProps,\n type UnstyledProp,\n createRecipeContext,\n} from \"@chakra-ui/react/styled-system\";\n\nimport { type TooltipProps as RATooltipProps } from \"react-aria-components\";\n\nimport { tooltipRecipe } from \"./tooltip.recipe\";\n\n/**\n * Base recipe props interface that combines Chakra UI's recipe props\n */\ninterface TooltipRecipeProps extends RecipeProps<\"div\">, UnstyledProp {}\n\n/**\n * Root props interface that extends Chakra's HTML props with our recipe props.\n * This creates a complete set of props for the root element, combining\n * HTML attributes, Chakra's styling system, and our custom recipe props.\n */\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface TooltipRootProps\n extends HTMLChakraProps<\"div\", TooltipRecipeProps> {}\n\nconst { withContext } = createRecipeContext({ recipe: tooltipRecipe });\n\n/**\n * Root component that provides the styling context for the Tooltip component.\n * Uses Chakra UI's recipe context system for consistent styling across instances.\n */\nexport const TooltipRootSlot = withContext<\n HTMLDivElement,\n TooltipRootProps & RATooltipProps\n>(\"div\");\n","import { Tooltip as RATooltip } from \"react-aria-components\";\nimport { TooltipRootSlot } from \"../tooltip.slots\";\nimport type { TooltipProps } from \"../tooltip.types\";\n\n/**\n * TooltipContent\n * ============================================================\n * A contextual popup that displays a description for an element, uses `Tooltip` component from `react-aria-components`.\n *\n * Features:\n * - allows forwarding refs to the underlying DOM element\n * - accepts all native html 'HTMLDivElement' attributes (including aria- & data-attributes)\n * - allows overriding styles by using style-props\n *\n * Further Context:\n * - [React Aria Components Tooltip Documentation](https://react-spectrum.adobe.com/react-aria/Tooltip.html)\n * - [ARIA Tooltip Pattern](https://www.w3.org/TR/wai-aria-1.2/#tooltip)\n */\nexport function TooltipContent({\n children,\n placement = \"bottom\",\n ref,\n ...props\n}: TooltipProps & { ref?: React.Ref<HTMLDivElement> }) {\n return (\n <TooltipRootSlot ref={ref} asChild {...props}>\n <RATooltip placement={placement} {...props}>\n {children}\n </RATooltip>\n </TooltipRootSlot>\n );\n}\n\nTooltipContent.displayName = \"Tooltip.Content\";\n","import { TooltipRoot } from \"./components/tooltip.root\";\nimport { TooltipContent } from \"./components/tooltip.content\";\n\n// Exports for internal use by react-docgen\nexport { TooltipRoot as _TooltipRoot, TooltipContent as _TooltipContent };\n\n// Export compound component object\nexport const Tooltip = {\n Root: TooltipRoot,\n Content: TooltipContent,\n};\n"],"names":["$f57aed4a881a3485$var$Context","$4AOtR$react","$f57aed4a881a3485$export$178405afcd8c5eb","props","children","parent","$4AOtR$useContext","modalCount","setModalCount","$4AOtR$useState","context","$4AOtR$useMemo","count","$f57aed4a881a3485$export$d9aaed4c3ece1bc0","$f57aed4a881a3485$var$OverlayContainerDOM","modalProviderProps","$f57aed4a881a3485$export$bf688221f59024e5","$f57aed4a881a3485$export$b47c3594eab58386","isSSR","$4AOtR$useIsSSR","portalContainer","rest","getContainer","$96b38030c423d352$export$9fc1347d4195ccb3","contents","$4AOtR$reactdom","$326e436e94273fe1$export$1c4b08e0eca38426","state","domProps","$kwmr2$filterDOMProps","hoverProps","$kwmr2$useHover","$kwmr2$mergeProps","$4e1b34546679e357$export$a6da6c504e4bba8b","ref","isDisabled","trigger","tooltipId","$6VwSn$useId","isHovered","$6VwSn$useRef","isFocused","handleShow","handleHide","immediate","$6VwSn$useEffect","onKeyDown","e","onHoverStart","$6VwSn$getInteractionModality","onHoverEnd","onPressStart","onFocus","$6VwSn$isFocusVisible","onBlur","$6VwSn$useHover","focusableProps","$6VwSn$useFocusable","$6VwSn$mergeProps","$8796f90736e175cb$var$TOOLTIP_DELAY","$8796f90736e175cb$var$TOOLTIP_COOLDOWN","$8796f90736e175cb$var$tooltips","$8796f90736e175cb$var$tooltipId","$8796f90736e175cb$var$globalWarmedUp","$8796f90736e175cb$var$globalWarmUpTimeout","$8796f90736e175cb$var$globalCooldownTimeout","$8796f90736e175cb$export$4d40659c25ecb50b","delay","closeDelay","isOpen","open","close","$50cCT$useOverlayTriggerState","id","$50cCT$useMemo","closeTimeout","$50cCT$useRef","closeCallback","ensureTooltipEntry","hideTooltip","closeOpenTooltips","hideTooltipId","showTooltip","warmupTooltip","$50cCT$useEffect","$4e3b923658d69c60$export$7a7623236eec67fa","$cCslV$createContext","$4e3b923658d69c60$export$39ae08fa83328b12","$4e3b923658d69c60$export$8c610744efcf8a1d","$cCslV$useTooltipTriggerState","$cCslV$useRef","triggerProps","tooltipProps","$cCslV$useTooltipTrigger","$cCslV$react","$64fa3d84918910a7$export$2881499e37b75b9a","$cCslV$FocusableProvider","$4e3b923658d69c60$export$28c660c63b792dea","$cCslV$forwardRef","UNSTABLE_portalContainer","$64fa3d84918910a7$export$29f1550f4b0d4415","contextState","$cCslV$useContext","localState","isExiting","$cCslV$useExitAnimation","$cCslV$OverlayContainer","$4e3b923658d69c60$var$TooltipInner","arrowRef","arrowWidth","setArrowWidth","$cCslV$useState","$cCslV$useLayoutEffect","overlayProps","arrowProps","placement","$cCslV$useOverlayPosition","isEntering","$cCslV$useEnterAnimation","renderProps","$64fa3d84918910a7$export$4d86445c2cf5e3","$cCslV$mergeProps","$cCslV$useTooltip","DOMProps","$cCslV$filterDOMProps","$44f671af83e7d9e0$export$2de4954e8ae13b9f","TooltipRoot","jsx","TooltipTrigger","withContext","createRecipeContext","tooltipRecipe","TooltipRootSlot","TooltipContent","RATooltip","Tooltip"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}
1
+ {"version":3,"file":"tooltip-BOK0Uejw.es.js","sources":["../../../../node_modules/.pnpm/@react-aria+overlays@3.28.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@react-aria/overlays/dist/useModal.mjs","../../../../node_modules/.pnpm/@react-aria+tooltip@3.8.6_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@react-aria/tooltip/dist/useTooltip.mjs","../../../../node_modules/.pnpm/@react-aria+tooltip@3.8.6_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@react-aria/tooltip/dist/useTooltipTrigger.mjs","../../../../node_modules/.pnpm/@react-stately+tooltip@3.5.6_react@19.1.0/node_modules/@react-stately/tooltip/dist/useTooltipTriggerState.mjs","../../../../node_modules/.pnpm/react-aria-components@1.11.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria-components/dist/Tooltip.mjs","../../src/components/tooltip/components/tooltip.root.tsx","../../src/components/tooltip/tooltip.slots.ts","../../src/components/tooltip/components/tooltip.content.tsx","../../src/components/tooltip/tooltip.tsx"],"sourcesContent":["import {useUNSAFE_PortalContext as $96b38030c423d352$export$9fc1347d4195ccb3} from \"./PortalProvider.mjs\";\nimport $4AOtR$react, {useContext as $4AOtR$useContext, useState as $4AOtR$useState, useMemo as $4AOtR$useMemo, useEffect as $4AOtR$useEffect} from \"react\";\nimport $4AOtR$reactdom from \"react-dom\";\nimport {useIsSSR as $4AOtR$useIsSSR} from \"@react-aria/ssr\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\nconst $f57aed4a881a3485$var$Context = /*#__PURE__*/ (0, $4AOtR$react).createContext(null);\nfunction $f57aed4a881a3485$export$178405afcd8c5eb(props) {\n let { children: children } = props;\n let parent = (0, $4AOtR$useContext)($f57aed4a881a3485$var$Context);\n let [modalCount, setModalCount] = (0, $4AOtR$useState)(0);\n let context = (0, $4AOtR$useMemo)(()=>({\n parent: parent,\n modalCount: modalCount,\n addModal () {\n setModalCount((count)=>count + 1);\n if (parent) parent.addModal();\n },\n removeModal () {\n setModalCount((count)=>count - 1);\n if (parent) parent.removeModal();\n }\n }), [\n parent,\n modalCount\n ]);\n return /*#__PURE__*/ (0, $4AOtR$react).createElement($f57aed4a881a3485$var$Context.Provider, {\n value: context\n }, children);\n}\nfunction $f57aed4a881a3485$export$d9aaed4c3ece1bc0() {\n let context = (0, $4AOtR$useContext)($f57aed4a881a3485$var$Context);\n return {\n modalProviderProps: {\n 'aria-hidden': context && context.modalCount > 0 ? true : undefined\n }\n };\n}\n/**\n * Creates a root node that will be aria-hidden if there are other modals open.\n */ function $f57aed4a881a3485$var$OverlayContainerDOM(props) {\n let { modalProviderProps: modalProviderProps } = $f57aed4a881a3485$export$d9aaed4c3ece1bc0();\n return /*#__PURE__*/ (0, $4AOtR$react).createElement(\"div\", {\n \"data-overlay-container\": true,\n ...props,\n ...modalProviderProps\n });\n}\nfunction $f57aed4a881a3485$export$bf688221f59024e5(props) {\n return /*#__PURE__*/ (0, $4AOtR$react).createElement($f57aed4a881a3485$export$178405afcd8c5eb, null, /*#__PURE__*/ (0, $4AOtR$react).createElement($f57aed4a881a3485$var$OverlayContainerDOM, props));\n}\nfunction $f57aed4a881a3485$export$b47c3594eab58386(props) {\n let isSSR = (0, $4AOtR$useIsSSR)();\n let { portalContainer: portalContainer = isSSR ? null : document.body, ...rest } = props;\n let { getContainer: getContainer } = (0, $96b38030c423d352$export$9fc1347d4195ccb3)();\n if (!props.portalContainer && getContainer) portalContainer = getContainer();\n (0, $4AOtR$react).useEffect(()=>{\n if (portalContainer === null || portalContainer === void 0 ? void 0 : portalContainer.closest('[data-overlay-container]')) throw new Error('An OverlayContainer must not be inside another container. Please change the portalContainer prop.');\n }, [\n portalContainer\n ]);\n if (!portalContainer) return null;\n let contents = /*#__PURE__*/ (0, $4AOtR$react).createElement($f57aed4a881a3485$export$bf688221f59024e5, rest);\n return /*#__PURE__*/ (0, $4AOtR$reactdom).createPortal(contents, portalContainer);\n}\nfunction $f57aed4a881a3485$export$33ffd74ebf07f060(options) {\n // Add aria-hidden to all parent providers on mount, and restore on unmount.\n let context = (0, $4AOtR$useContext)($f57aed4a881a3485$var$Context);\n if (!context) throw new Error('Modal is not contained within a provider');\n (0, $4AOtR$useEffect)(()=>{\n if ((options === null || options === void 0 ? void 0 : options.isDisabled) || !context || !context.parent) return;\n // The immediate context is from the provider containing this modal, so we only\n // want to trigger aria-hidden on its parents not on the modal provider itself.\n context.parent.addModal();\n return ()=>{\n if (context && context.parent) context.parent.removeModal();\n };\n }, [\n context,\n context.parent,\n options === null || options === void 0 ? void 0 : options.isDisabled\n ]);\n return {\n modalProps: {\n 'data-ismodal': !(options === null || options === void 0 ? void 0 : options.isDisabled)\n }\n };\n}\n\n\nexport {$f57aed4a881a3485$export$178405afcd8c5eb as ModalProvider, $f57aed4a881a3485$export$d9aaed4c3ece1bc0 as useModalProvider, $f57aed4a881a3485$export$bf688221f59024e5 as OverlayProvider, $f57aed4a881a3485$export$b47c3594eab58386 as OverlayContainer, $f57aed4a881a3485$export$33ffd74ebf07f060 as useModal};\n//# sourceMappingURL=useModal.module.js.map\n","import {filterDOMProps as $kwmr2$filterDOMProps, mergeProps as $kwmr2$mergeProps} from \"@react-aria/utils\";\nimport {useHover as $kwmr2$useHover} from \"@react-aria/interactions\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $326e436e94273fe1$export$1c4b08e0eca38426(props, state) {\n let domProps = (0, $kwmr2$filterDOMProps)(props, {\n labelable: true\n });\n let { hoverProps: hoverProps } = (0, $kwmr2$useHover)({\n onHoverStart: ()=>state === null || state === void 0 ? void 0 : state.open(true),\n onHoverEnd: ()=>state === null || state === void 0 ? void 0 : state.close()\n });\n return {\n tooltipProps: (0, $kwmr2$mergeProps)(domProps, hoverProps, {\n role: 'tooltip'\n })\n };\n}\n\n\nexport {$326e436e94273fe1$export$1c4b08e0eca38426 as useTooltip};\n//# sourceMappingURL=useTooltip.module.js.map\n","import {getInteractionModality as $6VwSn$getInteractionModality, isFocusVisible as $6VwSn$isFocusVisible, useHover as $6VwSn$useHover, useFocusable as $6VwSn$useFocusable} from \"@react-aria/interactions\";\nimport {useId as $6VwSn$useId, mergeProps as $6VwSn$mergeProps} from \"@react-aria/utils\";\nimport {useRef as $6VwSn$useRef, useEffect as $6VwSn$useEffect} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nfunction $4e1b34546679e357$export$a6da6c504e4bba8b(props, state, ref) {\n let { isDisabled: isDisabled, trigger: trigger } = props;\n let tooltipId = (0, $6VwSn$useId)();\n let isHovered = (0, $6VwSn$useRef)(false);\n let isFocused = (0, $6VwSn$useRef)(false);\n let handleShow = ()=>{\n if (isHovered.current || isFocused.current) state.open(isFocused.current);\n };\n let handleHide = (immediate)=>{\n if (!isHovered.current && !isFocused.current) state.close(immediate);\n };\n (0, $6VwSn$useEffect)(()=>{\n let onKeyDown = (e)=>{\n if (ref && ref.current) // Escape after clicking something can give it keyboard focus\n // dismiss tooltip on esc key press\n {\n if (e.key === 'Escape') {\n e.stopPropagation();\n state.close(true);\n }\n }\n };\n if (state.isOpen) {\n document.addEventListener('keydown', onKeyDown, true);\n return ()=>{\n document.removeEventListener('keydown', onKeyDown, true);\n };\n }\n }, [\n ref,\n state\n ]);\n let onHoverStart = ()=>{\n if (trigger === 'focus') return;\n // In chrome, if you hover a trigger, then another element obscures it, due to keyboard\n // interactions for example, hover will end. When hover is restored after that element disappears,\n // focus moves on for example, then the tooltip will reopen. We check the modality to know if the hover\n // is the result of moving the mouse.\n if ((0, $6VwSn$getInteractionModality)() === 'pointer') isHovered.current = true;\n else isHovered.current = false;\n handleShow();\n };\n let onHoverEnd = ()=>{\n if (trigger === 'focus') return;\n // no matter how the trigger is left, we should close the tooltip\n isFocused.current = false;\n isHovered.current = false;\n handleHide();\n };\n let onPressStart = ()=>{\n // no matter how the trigger is pressed, we should close the tooltip\n isFocused.current = false;\n isHovered.current = false;\n handleHide(true);\n };\n let onFocus = ()=>{\n let isVisible = (0, $6VwSn$isFocusVisible)();\n if (isVisible) {\n isFocused.current = true;\n handleShow();\n }\n };\n let onBlur = ()=>{\n isFocused.current = false;\n isHovered.current = false;\n handleHide(true);\n };\n let { hoverProps: hoverProps } = (0, $6VwSn$useHover)({\n isDisabled: isDisabled,\n onHoverStart: onHoverStart,\n onHoverEnd: onHoverEnd\n });\n let { focusableProps: focusableProps } = (0, $6VwSn$useFocusable)({\n isDisabled: isDisabled,\n onFocus: onFocus,\n onBlur: onBlur\n }, ref);\n return {\n triggerProps: {\n 'aria-describedby': state.isOpen ? tooltipId : undefined,\n ...(0, $6VwSn$mergeProps)(focusableProps, hoverProps, {\n onPointerDown: onPressStart,\n onKeyDown: onPressStart,\n tabIndex: undefined\n })\n },\n tooltipProps: {\n id: tooltipId\n }\n };\n}\n\n\nexport {$4e1b34546679e357$export$a6da6c504e4bba8b as useTooltipTrigger};\n//# sourceMappingURL=useTooltipTrigger.module.js.map\n","import {useMemo as $50cCT$useMemo, useRef as $50cCT$useRef, useEffect as $50cCT$useEffect} from \"react\";\nimport {useOverlayTriggerState as $50cCT$useOverlayTriggerState} from \"@react-stately/overlays\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nconst $8796f90736e175cb$var$TOOLTIP_DELAY = 1500; // this seems to be a 1.5 second delay, check with design\nconst $8796f90736e175cb$var$TOOLTIP_COOLDOWN = 500;\nlet $8796f90736e175cb$var$tooltips = {};\nlet $8796f90736e175cb$var$tooltipId = 0;\nlet $8796f90736e175cb$var$globalWarmedUp = false;\nlet $8796f90736e175cb$var$globalWarmUpTimeout = null;\nlet $8796f90736e175cb$var$globalCooldownTimeout = null;\nfunction $8796f90736e175cb$export$4d40659c25ecb50b(props = {}) {\n let { delay: delay = $8796f90736e175cb$var$TOOLTIP_DELAY, closeDelay: closeDelay = $8796f90736e175cb$var$TOOLTIP_COOLDOWN } = props;\n let { isOpen: isOpen, open: open, close: close } = (0, $50cCT$useOverlayTriggerState)(props);\n let id = (0, $50cCT$useMemo)(()=>`${++$8796f90736e175cb$var$tooltipId}`, []);\n let closeTimeout = (0, $50cCT$useRef)(null);\n let closeCallback = (0, $50cCT$useRef)(close);\n let ensureTooltipEntry = ()=>{\n $8796f90736e175cb$var$tooltips[id] = hideTooltip;\n };\n let closeOpenTooltips = ()=>{\n for(let hideTooltipId in $8796f90736e175cb$var$tooltips)if (hideTooltipId !== id) {\n $8796f90736e175cb$var$tooltips[hideTooltipId](true);\n delete $8796f90736e175cb$var$tooltips[hideTooltipId];\n }\n };\n let showTooltip = ()=>{\n if (closeTimeout.current) clearTimeout(closeTimeout.current);\n closeTimeout.current = null;\n closeOpenTooltips();\n ensureTooltipEntry();\n $8796f90736e175cb$var$globalWarmedUp = true;\n open();\n if ($8796f90736e175cb$var$globalWarmUpTimeout) {\n clearTimeout($8796f90736e175cb$var$globalWarmUpTimeout);\n $8796f90736e175cb$var$globalWarmUpTimeout = null;\n }\n if ($8796f90736e175cb$var$globalCooldownTimeout) {\n clearTimeout($8796f90736e175cb$var$globalCooldownTimeout);\n $8796f90736e175cb$var$globalCooldownTimeout = null;\n }\n };\n let hideTooltip = (immediate)=>{\n if (immediate || closeDelay <= 0) {\n if (closeTimeout.current) clearTimeout(closeTimeout.current);\n closeTimeout.current = null;\n closeCallback.current();\n } else if (!closeTimeout.current) closeTimeout.current = setTimeout(()=>{\n closeTimeout.current = null;\n closeCallback.current();\n }, closeDelay);\n if ($8796f90736e175cb$var$globalWarmUpTimeout) {\n clearTimeout($8796f90736e175cb$var$globalWarmUpTimeout);\n $8796f90736e175cb$var$globalWarmUpTimeout = null;\n }\n if ($8796f90736e175cb$var$globalWarmedUp) {\n if ($8796f90736e175cb$var$globalCooldownTimeout) clearTimeout($8796f90736e175cb$var$globalCooldownTimeout);\n $8796f90736e175cb$var$globalCooldownTimeout = setTimeout(()=>{\n delete $8796f90736e175cb$var$tooltips[id];\n $8796f90736e175cb$var$globalCooldownTimeout = null;\n $8796f90736e175cb$var$globalWarmedUp = false;\n }, Math.max($8796f90736e175cb$var$TOOLTIP_COOLDOWN, closeDelay));\n }\n };\n let warmupTooltip = ()=>{\n closeOpenTooltips();\n ensureTooltipEntry();\n if (!isOpen && !$8796f90736e175cb$var$globalWarmUpTimeout && !$8796f90736e175cb$var$globalWarmedUp) $8796f90736e175cb$var$globalWarmUpTimeout = setTimeout(()=>{\n $8796f90736e175cb$var$globalWarmUpTimeout = null;\n $8796f90736e175cb$var$globalWarmedUp = true;\n showTooltip();\n }, delay);\n else if (!isOpen) showTooltip();\n };\n (0, $50cCT$useEffect)(()=>{\n closeCallback.current = close;\n }, [\n close\n ]);\n (0, $50cCT$useEffect)(()=>{\n return ()=>{\n if (closeTimeout.current) clearTimeout(closeTimeout.current);\n let tooltip = $8796f90736e175cb$var$tooltips[id];\n if (tooltip) delete $8796f90736e175cb$var$tooltips[id];\n };\n }, [\n id\n ]);\n return {\n isOpen: isOpen,\n open: (immediate)=>{\n if (!immediate && delay > 0 && !closeTimeout.current) warmupTooltip();\n else showTooltip();\n },\n close: hideTooltip\n };\n}\n\n\nexport {$8796f90736e175cb$export$4d40659c25ecb50b as useTooltipTriggerState};\n//# sourceMappingURL=useTooltipTriggerState.module.js.map\n","import {Provider as $64fa3d84918910a7$export$2881499e37b75b9a, useContextProps as $64fa3d84918910a7$export$29f1550f4b0d4415, useRenderProps as $64fa3d84918910a7$export$4d86445c2cf5e3} from \"./utils.mjs\";\nimport {OverlayArrowContext as $44f671af83e7d9e0$export$2de4954e8ae13b9f} from \"./OverlayArrow.mjs\";\nimport {useTooltipTrigger as $cCslV$useTooltipTrigger, OverlayContainer as $cCslV$OverlayContainer, useOverlayPosition as $cCslV$useOverlayPosition, mergeProps as $cCslV$mergeProps, useTooltip as $cCslV$useTooltip} from \"react-aria\";\nimport {useExitAnimation as $cCslV$useExitAnimation, useLayoutEffect as $cCslV$useLayoutEffect, useEnterAnimation as $cCslV$useEnterAnimation, filterDOMProps as $cCslV$filterDOMProps} from \"@react-aria/utils\";\nimport {FocusableProvider as $cCslV$FocusableProvider} from \"@react-aria/focus\";\nimport {useTooltipTriggerState as $cCslV$useTooltipTriggerState} from \"react-stately\";\nimport $cCslV$react, {createContext as $cCslV$createContext, useRef as $cCslV$useRef, forwardRef as $cCslV$forwardRef, useContext as $cCslV$useContext, useState as $cCslV$useState} from \"react\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\nconst $4e3b923658d69c60$export$7a7623236eec67fa = /*#__PURE__*/ (0, $cCslV$createContext)(null);\nconst $4e3b923658d69c60$export$39ae08fa83328b12 = /*#__PURE__*/ (0, $cCslV$createContext)(null);\nfunction $4e3b923658d69c60$export$8c610744efcf8a1d(props) {\n let state = (0, $cCslV$useTooltipTriggerState)(props);\n let ref = (0, $cCslV$useRef)(null);\n let { triggerProps: triggerProps, tooltipProps: tooltipProps } = (0, $cCslV$useTooltipTrigger)(props, state, ref);\n return /*#__PURE__*/ (0, $cCslV$react).createElement((0, $64fa3d84918910a7$export$2881499e37b75b9a), {\n values: [\n [\n $4e3b923658d69c60$export$7a7623236eec67fa,\n state\n ],\n [\n $4e3b923658d69c60$export$39ae08fa83328b12,\n {\n ...tooltipProps,\n triggerRef: ref\n }\n ]\n ]\n }, /*#__PURE__*/ (0, $cCslV$react).createElement((0, $cCslV$FocusableProvider), {\n ...triggerProps,\n ref: ref\n }, props.children));\n}\nconst $4e3b923658d69c60$export$28c660c63b792dea = /*#__PURE__*/ (0, $cCslV$forwardRef)(function Tooltip({ UNSTABLE_portalContainer: UNSTABLE_portalContainer, ...props }, ref) {\n [props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $4e3b923658d69c60$export$39ae08fa83328b12);\n let contextState = (0, $cCslV$useContext)($4e3b923658d69c60$export$7a7623236eec67fa);\n let localState = (0, $cCslV$useTooltipTriggerState)(props);\n let state = props.isOpen != null || props.defaultOpen != null || !contextState ? localState : contextState;\n let isExiting = (0, $cCslV$useExitAnimation)(ref, state.isOpen) || props.isExiting || false;\n if (!state.isOpen && !isExiting) return null;\n return /*#__PURE__*/ (0, $cCslV$react).createElement((0, $cCslV$OverlayContainer), {\n portalContainer: UNSTABLE_portalContainer\n }, /*#__PURE__*/ (0, $cCslV$react).createElement($4e3b923658d69c60$var$TooltipInner, {\n ...props,\n tooltipRef: ref,\n isExiting: isExiting\n }));\n});\nfunction $4e3b923658d69c60$var$TooltipInner(props) {\n let state = (0, $cCslV$useContext)($4e3b923658d69c60$export$7a7623236eec67fa);\n // Calculate the arrow size internally\n // Referenced from: packages/@react-spectrum/tooltip/src/TooltipTrigger.tsx\n let arrowRef = (0, $cCslV$useRef)(null);\n let [arrowWidth, setArrowWidth] = (0, $cCslV$useState)(0);\n (0, $cCslV$useLayoutEffect)(()=>{\n if (arrowRef.current && state.isOpen) setArrowWidth(arrowRef.current.getBoundingClientRect().width);\n }, [\n state.isOpen,\n arrowRef\n ]);\n let { overlayProps: overlayProps, arrowProps: arrowProps, placement: placement } = (0, $cCslV$useOverlayPosition)({\n placement: props.placement || 'top',\n targetRef: props.triggerRef,\n overlayRef: props.tooltipRef,\n offset: props.offset,\n crossOffset: props.crossOffset,\n isOpen: state.isOpen,\n arrowSize: arrowWidth,\n arrowBoundaryOffset: props.arrowBoundaryOffset,\n shouldFlip: props.shouldFlip,\n onClose: ()=>state.close(true)\n });\n let isEntering = (0, $cCslV$useEnterAnimation)(props.tooltipRef, !!placement) || props.isEntering || false;\n let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({\n ...props,\n defaultClassName: 'react-aria-Tooltip',\n values: {\n placement: placement,\n isEntering: isEntering,\n isExiting: props.isExiting,\n state: state\n }\n });\n props = (0, $cCslV$mergeProps)(props, overlayProps);\n let { tooltipProps: tooltipProps } = (0, $cCslV$useTooltip)(props, state);\n let DOMProps = (0, $cCslV$filterDOMProps)(props, {\n global: true\n });\n return /*#__PURE__*/ (0, $cCslV$react).createElement(\"div\", {\n ...(0, $cCslV$mergeProps)(DOMProps, renderProps, tooltipProps),\n ref: props.tooltipRef,\n style: {\n ...overlayProps.style,\n ...renderProps.style\n },\n \"data-placement\": placement !== null && placement !== void 0 ? placement : undefined,\n \"data-entering\": isEntering || undefined,\n \"data-exiting\": props.isExiting || undefined\n }, /*#__PURE__*/ (0, $cCslV$react).createElement((0, $44f671af83e7d9e0$export$2de4954e8ae13b9f).Provider, {\n value: {\n ...arrowProps,\n placement: placement,\n ref: arrowRef\n }\n }, renderProps.children));\n}\n\n\nexport {$4e3b923658d69c60$export$7a7623236eec67fa as TooltipTriggerStateContext, $4e3b923658d69c60$export$39ae08fa83328b12 as TooltipContext, $4e3b923658d69c60$export$8c610744efcf8a1d as TooltipTrigger, $4e3b923658d69c60$export$28c660c63b792dea as Tooltip};\n//# sourceMappingURL=Tooltip.module.js.map\n","import React from \"react\";\nimport { TooltipTrigger } from \"react-aria-components\";\nimport type { TooltipTriggerComponentProps } from \"react-aria-components\";\n\n/**\n * # Tooltip\n *\n * A contextual popup that displays a description for an element.\n *\n * @see {@link https://nimbus-documentation.vercel.app/components/feedback/tooltip}\n */\nexport function TooltipRoot({\n // Match delays to current ui-kit tooltip\n delay = 300,\n closeDelay = 200,\n ...props\n}: TooltipTriggerComponentProps) {\n // Note: In React 19, ref forwarding is automatic for function components\n // The ref should be placed on the trigger element directly when needed\n return <TooltipTrigger delay={delay} closeDelay={closeDelay} {...props} />;\n}\n\nTooltipRoot.displayName = \"Tooltip.Root\";\n","import {\n type HTMLChakraProps,\n type RecipeProps,\n type UnstyledProp,\n createRecipeContext,\n} from \"@chakra-ui/react/styled-system\";\n\nimport { type TooltipProps as RATooltipProps } from \"react-aria-components\";\n\nimport { tooltipRecipe } from \"./tooltip.recipe\";\n\n/**\n * Base recipe props interface that combines Chakra UI's recipe props\n */\ninterface TooltipRecipeProps extends RecipeProps<\"div\">, UnstyledProp {}\n\n/**\n * Root props interface that extends Chakra's HTML props with our recipe props.\n * This creates a complete set of props for the root element, combining\n * HTML attributes, Chakra's styling system, and our custom recipe props.\n */\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface TooltipRootProps\n extends HTMLChakraProps<\"div\", TooltipRecipeProps> {}\n\nconst { withContext } = createRecipeContext({ recipe: tooltipRecipe });\n\n/**\n * Root component that provides the styling context for the Tooltip component.\n * Uses Chakra UI's recipe context system for consistent styling across instances.\n */\nexport const TooltipRootSlot = withContext<\n HTMLDivElement,\n TooltipRootProps & RATooltipProps\n>(\"div\");\n","import { Tooltip as RATooltip } from \"react-aria-components\";\nimport { TooltipRootSlot } from \"../tooltip.slots\";\nimport type { TooltipProps } from \"../tooltip.types\";\n\n/**\n * TooltipContent\n * ============================================================\n * A contextual popup that displays a description for an element, uses `Tooltip` component from `react-aria-components`.\n *\n * Features:\n * - allows forwarding refs to the underlying DOM element\n * - accepts all native html 'HTMLDivElement' attributes (including aria- & data-attributes)\n * - allows overriding styles by using style-props\n *\n * Further Context:\n * - [React Aria Components Tooltip Documentation](https://react-spectrum.adobe.com/react-aria/Tooltip.html)\n * - [ARIA Tooltip Pattern](https://www.w3.org/TR/wai-aria-1.2/#tooltip)\n */\nexport function TooltipContent({\n children,\n placement = \"bottom\",\n ref,\n ...props\n}: TooltipProps & { ref?: React.Ref<HTMLDivElement> }) {\n return (\n <TooltipRootSlot ref={ref} asChild {...props}>\n <RATooltip placement={placement} {...props}>\n {children}\n </RATooltip>\n </TooltipRootSlot>\n );\n}\n\nTooltipContent.displayName = \"Tooltip.Content\";\n","import { TooltipRoot } from \"./components/tooltip.root\";\nimport { TooltipContent } from \"./components/tooltip.content\";\n\n// Exports for internal use by react-docgen\nexport { TooltipRoot as _TooltipRoot, TooltipContent as _TooltipContent };\n\n// Export compound component object\nexport const Tooltip = {\n Root: TooltipRoot,\n Content: TooltipContent,\n};\n"],"names":["$f57aed4a881a3485$var$Context","$4AOtR$react","$f57aed4a881a3485$export$178405afcd8c5eb","props","children","parent","$4AOtR$useContext","modalCount","setModalCount","$4AOtR$useState","context","$4AOtR$useMemo","count","$f57aed4a881a3485$export$d9aaed4c3ece1bc0","$f57aed4a881a3485$var$OverlayContainerDOM","modalProviderProps","$f57aed4a881a3485$export$bf688221f59024e5","$f57aed4a881a3485$export$b47c3594eab58386","isSSR","$4AOtR$useIsSSR","portalContainer","rest","getContainer","$96b38030c423d352$export$9fc1347d4195ccb3","contents","$4AOtR$reactdom","$326e436e94273fe1$export$1c4b08e0eca38426","state","domProps","$kwmr2$filterDOMProps","hoverProps","$kwmr2$useHover","$kwmr2$mergeProps","$4e1b34546679e357$export$a6da6c504e4bba8b","ref","isDisabled","trigger","tooltipId","$6VwSn$useId","isHovered","$6VwSn$useRef","isFocused","handleShow","handleHide","immediate","$6VwSn$useEffect","onKeyDown","e","onHoverStart","$6VwSn$getInteractionModality","onHoverEnd","onPressStart","onFocus","$6VwSn$isFocusVisible","onBlur","$6VwSn$useHover","focusableProps","$6VwSn$useFocusable","$6VwSn$mergeProps","$8796f90736e175cb$var$TOOLTIP_DELAY","$8796f90736e175cb$var$TOOLTIP_COOLDOWN","$8796f90736e175cb$var$tooltips","$8796f90736e175cb$var$tooltipId","$8796f90736e175cb$var$globalWarmedUp","$8796f90736e175cb$var$globalWarmUpTimeout","$8796f90736e175cb$var$globalCooldownTimeout","$8796f90736e175cb$export$4d40659c25ecb50b","delay","closeDelay","isOpen","open","close","$50cCT$useOverlayTriggerState","id","$50cCT$useMemo","closeTimeout","$50cCT$useRef","closeCallback","ensureTooltipEntry","hideTooltip","closeOpenTooltips","hideTooltipId","showTooltip","warmupTooltip","$50cCT$useEffect","$4e3b923658d69c60$export$7a7623236eec67fa","$cCslV$createContext","$4e3b923658d69c60$export$39ae08fa83328b12","$4e3b923658d69c60$export$8c610744efcf8a1d","$cCslV$useTooltipTriggerState","$cCslV$useRef","triggerProps","tooltipProps","$cCslV$useTooltipTrigger","$cCslV$react","$64fa3d84918910a7$export$2881499e37b75b9a","$cCslV$FocusableProvider","$4e3b923658d69c60$export$28c660c63b792dea","$cCslV$forwardRef","UNSTABLE_portalContainer","$64fa3d84918910a7$export$29f1550f4b0d4415","contextState","$cCslV$useContext","localState","isExiting","$cCslV$useExitAnimation","$cCslV$OverlayContainer","$4e3b923658d69c60$var$TooltipInner","arrowRef","arrowWidth","setArrowWidth","$cCslV$useState","$cCslV$useLayoutEffect","overlayProps","arrowProps","placement","$cCslV$useOverlayPosition","isEntering","$cCslV$useEnterAnimation","renderProps","$64fa3d84918910a7$export$4d86445c2cf5e3","$cCslV$mergeProps","$cCslV$useTooltip","DOMProps","$cCslV$filterDOMProps","$44f671af83e7d9e0$export$2de4954e8ae13b9f","TooltipRoot","jsx","TooltipTrigger","withContext","createRecipeContext","tooltipRecipe","TooltipRootSlot","TooltipContent","RATooltip","Tooltip"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}
@@ -1,2 +1,2 @@
1
- "use strict";const E=require("react/jsx-runtime"),o=require("react"),R=require("./utils-BHdR5Nww.cjs.js"),m=require("./OverlayArrow-aq8OInch.cjs.js"),v=require("./mergeProps-BA5Cwf5w.cjs.js"),M=require("./filterDOMProps-WUskt27c.cjs.js"),H=require("./useFocusable-avM9w6OE.cjs.js"),D=require("./useFocusVisible-bRnVksaU.cjs.js"),F=require("./useHover-BlZx5CU2.cjs.js"),N=require("react-dom"),W=require("./SSRProvider-Bc-sMhsT.cjs.js"),j=require("./tooltip.recipe-VqGdDqQD.cjs.js"),k=require("./create-recipe-context-D0_lCuqq.cjs.js"),O=o.createContext(null);function _(t){let{children:r}=t,e=o.useContext(O),[l,a]=o.useState(0),c=o.useMemo(()=>({parent:e,modalCount:l,addModal(){a(i=>i+1),e&&e.addModal()},removeModal(){a(i=>i-1),e&&e.removeModal()}}),[e,l]);return o.createElement(O.Provider,{value:c},r)}function U(){let t=o.useContext(O);return{modalProviderProps:{"aria-hidden":t&&t.modalCount>0?!0:void 0}}}function V(t){let{modalProviderProps:r}=U();return o.createElement("div",{"data-overlay-container":!0,...t,...r})}function K(t){return o.createElement(_,null,o.createElement(V,t))}function z(t){let r=W.$b5e257d569688ac6$export$535bd6ca7f90a273(),{portalContainer:e=r?null:document.body,...l}=t,{getContainer:a}=m.$96b38030c423d352$export$9fc1347d4195ccb3();if(!t.portalContainer&&a&&(e=a()),o.useEffect(()=>{if(e?.closest("[data-overlay-container]"))throw new Error("An OverlayContainer must not be inside another container. Please change the portalContainer prop.")},[e]),!e)return null;let c=o.createElement(K,l);return N.createPortal(c,e)}function Y(t,r){let e=M.$65484d02dcb7eb3e$export$457c3d6518dd4c6f(t,{labelable:!0}),{hoverProps:l}=F.$6179b936705e76d3$export$ae780daf29e6d456({onHoverStart:()=>r?.open(!0),onHoverEnd:()=>r?.close()});return{tooltipProps:v.$3ef42575df84b30b$export$9d1611c77c2fe928(e,l,{role:"tooltip"})}}function G(t,r,e){let{isDisabled:l,trigger:a}=t,c=v.$bdb11010cef70236$export$f680877a34711e37(),i=o.useRef(!1),n=o.useRef(!1),f=()=>{(i.current||n.current)&&r.open(n.current)},u=g=>{!i.current&&!n.current&&r.close(g)};o.useEffect(()=>{let g=S=>{e&&e.current&&S.key==="Escape"&&(S.stopPropagation(),r.close(!0))};if(r.isOpen)return document.addEventListener("keydown",g,!0),()=>{document.removeEventListener("keydown",g,!0)}},[e,r]);let x=()=>{a!=="focus"&&(D.$507fabe10e71c6fb$export$630ff653c5ada6a9()==="pointer"?i.current=!0:i.current=!1,f())},$=()=>{a!=="focus"&&(n.current=!1,i.current=!1,u())},P=()=>{n.current=!1,i.current=!1,u(!0)},T=()=>{D.$507fabe10e71c6fb$export$b9b3dfddab17db27()&&(n.current=!0,f())},d=()=>{n.current=!1,i.current=!1,u(!0)},{hoverProps:A}=F.$6179b936705e76d3$export$ae780daf29e6d456({isDisabled:l,onHoverStart:x,onHoverEnd:$}),{focusableProps:B}=H.$f645667febf57a63$export$4c014de7c8940b4c({isDisabled:l,onFocus:T,onBlur:d},e);return{triggerProps:{"aria-describedby":r.isOpen?c:void 0,...v.$3ef42575df84b30b$export$9d1611c77c2fe928(B,A,{onPointerDown:P,onKeyDown:P,tabIndex:void 0})},tooltipProps:{id:c}}}const J=1500,q=500;let p={},Q=0,C=!1,s=null,b=null;function I(t={}){let{delay:r=J,closeDelay:e=q}=t,{isOpen:l,open:a,close:c}=m.$fc909762b330b746$export$61c6a8c84e605fb6(t),i=o.useMemo(()=>`${++Q}`,[]),n=o.useRef(null),f=o.useRef(c),u=()=>{p[i]=P},x=()=>{for(let d in p)d!==i&&(p[d](!0),delete p[d])},$=()=>{n.current&&clearTimeout(n.current),n.current=null,x(),u(),C=!0,a(),s&&(clearTimeout(s),s=null),b&&(clearTimeout(b),b=null)},P=d=>{d||e<=0?(n.current&&clearTimeout(n.current),n.current=null,f.current()):n.current||(n.current=setTimeout(()=>{n.current=null,f.current()},e)),s&&(clearTimeout(s),s=null),C&&(b&&clearTimeout(b),b=setTimeout(()=>{delete p[i],b=null,C=!1},Math.max(q,e)))},T=()=>{x(),u(),!l&&!s&&!C?s=setTimeout(()=>{s=null,C=!0,$()},r):l||$()};return o.useEffect(()=>{f.current=c},[c]),o.useEffect(()=>()=>{n.current&&clearTimeout(n.current),p[i]&&delete p[i]},[i]),{isOpen:l,open:d=>{!d&&r>0&&!n.current?T():$()},close:P}}const h=o.createContext(null),L=o.createContext(null);function X(t){let r=I(t),e=o.useRef(null),{triggerProps:l,tooltipProps:a}=G(t,r,e);return o.createElement(R.$64fa3d84918910a7$export$2881499e37b75b9a,{values:[[h,r],[L,{...a,triggerRef:e}]]},o.createElement(H.$f645667febf57a63$export$13f3202a3e5ddd5,{...l,ref:e},t.children))}const Z=o.forwardRef(function({UNSTABLE_portalContainer:r,...e},l){[e,l]=R.$64fa3d84918910a7$export$29f1550f4b0d4415(e,l,L);let a=o.useContext(h),c=I(e),i=e.isOpen!=null||e.defaultOpen!=null||!a?c:a,n=m.$d3f049242431219c$export$45fda7c47f93fd48(l,i.isOpen)||e.isExiting||!1;return!i.isOpen&&!n?null:o.createElement(z,{portalContainer:r},o.createElement(ee,{...e,tooltipRef:l,isExiting:n}))});function ee(t){let r=o.useContext(h),e=o.useRef(null),[l,a]=o.useState(0);v.$f0a04ccd8dbdd83b$export$e5c5a5f917a5871c(()=>{e.current&&r.isOpen&&a(e.current.getBoundingClientRect().width)},[r.isOpen,e]);let{overlayProps:c,arrowProps:i,placement:n}=m.$2a41e45df1593e64$export$d39e1813b3bdd0e1({placement:t.placement||"top",targetRef:t.triggerRef,overlayRef:t.tooltipRef,offset:t.offset,crossOffset:t.crossOffset,isOpen:r.isOpen,arrowSize:l,arrowBoundaryOffset:t.arrowBoundaryOffset,shouldFlip:t.shouldFlip,onClose:()=>r.close(!0)}),f=m.$d3f049242431219c$export$6d3443f2c48bfc20(t.tooltipRef,!!n)||t.isEntering||!1,u=R.$64fa3d84918910a7$export$4d86445c2cf5e3({...t,defaultClassName:"react-aria-Tooltip",values:{placement:n,isEntering:f,isExiting:t.isExiting,state:r}});t=v.$3ef42575df84b30b$export$9d1611c77c2fe928(t,c);let{tooltipProps:x}=Y(t,r),$=M.$65484d02dcb7eb3e$export$457c3d6518dd4c6f(t,{global:!0});return o.createElement("div",{...v.$3ef42575df84b30b$export$9d1611c77c2fe928($,u,x),ref:t.tooltipRef,style:{...c.style,...u.style},"data-placement":n??void 0,"data-entering":f||void 0,"data-exiting":t.isExiting||void 0},o.createElement(m.$44f671af83e7d9e0$export$2de4954e8ae13b9f.Provider,{value:{...i,placement:n,ref:e}},u.children))}function y({delay:t=300,closeDelay:r=200,...e}){return E.jsx(X,{delay:t,closeDelay:r,...e})}y.displayName="Tooltip.Root";const{withContext:te}=k.createRecipeContext({recipe:j.tooltipRecipe}),re=te("div");function w({children:t,placement:r="bottom",ref:e,...l}){return E.jsx(re,{ref:e,asChild:!0,...l,children:E.jsx(Z,{placement:r,...l,children:t})})}w.displayName="Tooltip.Content";const oe={Root:y,Content:w};exports.Tooltip=oe;exports.TooltipContent=w;exports.TooltipRoot=y;
2
- //# sourceMappingURL=tooltip-tZKuAv4E.cjs.js.map
1
+ "use strict";const E=require("react/jsx-runtime"),o=require("react"),R=require("./utils-BHdR5Nww.cjs.js"),m=require("./OverlayArrow-C5Ymp9MC.cjs.js"),v=require("./mergeProps-BA5Cwf5w.cjs.js"),M=require("./filterDOMProps-WUskt27c.cjs.js"),H=require("./useFocusable-avM9w6OE.cjs.js"),D=require("./useFocusVisible-bRnVksaU.cjs.js"),F=require("./useHover-BlZx5CU2.cjs.js"),N=require("react-dom"),W=require("./SSRProvider-Bc-sMhsT.cjs.js"),j=require("./tooltip.recipe-VqGdDqQD.cjs.js"),k=require("./create-recipe-context-D0_lCuqq.cjs.js"),O=o.createContext(null);function _(t){let{children:r}=t,e=o.useContext(O),[l,a]=o.useState(0),c=o.useMemo(()=>({parent:e,modalCount:l,addModal(){a(i=>i+1),e&&e.addModal()},removeModal(){a(i=>i-1),e&&e.removeModal()}}),[e,l]);return o.createElement(O.Provider,{value:c},r)}function U(){let t=o.useContext(O);return{modalProviderProps:{"aria-hidden":t&&t.modalCount>0?!0:void 0}}}function V(t){let{modalProviderProps:r}=U();return o.createElement("div",{"data-overlay-container":!0,...t,...r})}function K(t){return o.createElement(_,null,o.createElement(V,t))}function z(t){let r=W.$b5e257d569688ac6$export$535bd6ca7f90a273(),{portalContainer:e=r?null:document.body,...l}=t,{getContainer:a}=m.$96b38030c423d352$export$9fc1347d4195ccb3();if(!t.portalContainer&&a&&(e=a()),o.useEffect(()=>{if(e?.closest("[data-overlay-container]"))throw new Error("An OverlayContainer must not be inside another container. Please change the portalContainer prop.")},[e]),!e)return null;let c=o.createElement(K,l);return N.createPortal(c,e)}function Y(t,r){let e=M.$65484d02dcb7eb3e$export$457c3d6518dd4c6f(t,{labelable:!0}),{hoverProps:l}=F.$6179b936705e76d3$export$ae780daf29e6d456({onHoverStart:()=>r?.open(!0),onHoverEnd:()=>r?.close()});return{tooltipProps:v.$3ef42575df84b30b$export$9d1611c77c2fe928(e,l,{role:"tooltip"})}}function G(t,r,e){let{isDisabled:l,trigger:a}=t,c=v.$bdb11010cef70236$export$f680877a34711e37(),i=o.useRef(!1),n=o.useRef(!1),f=()=>{(i.current||n.current)&&r.open(n.current)},u=g=>{!i.current&&!n.current&&r.close(g)};o.useEffect(()=>{let g=S=>{e&&e.current&&S.key==="Escape"&&(S.stopPropagation(),r.close(!0))};if(r.isOpen)return document.addEventListener("keydown",g,!0),()=>{document.removeEventListener("keydown",g,!0)}},[e,r]);let x=()=>{a!=="focus"&&(D.$507fabe10e71c6fb$export$630ff653c5ada6a9()==="pointer"?i.current=!0:i.current=!1,f())},$=()=>{a!=="focus"&&(n.current=!1,i.current=!1,u())},P=()=>{n.current=!1,i.current=!1,u(!0)},T=()=>{D.$507fabe10e71c6fb$export$b9b3dfddab17db27()&&(n.current=!0,f())},d=()=>{n.current=!1,i.current=!1,u(!0)},{hoverProps:A}=F.$6179b936705e76d3$export$ae780daf29e6d456({isDisabled:l,onHoverStart:x,onHoverEnd:$}),{focusableProps:B}=H.$f645667febf57a63$export$4c014de7c8940b4c({isDisabled:l,onFocus:T,onBlur:d},e);return{triggerProps:{"aria-describedby":r.isOpen?c:void 0,...v.$3ef42575df84b30b$export$9d1611c77c2fe928(B,A,{onPointerDown:P,onKeyDown:P,tabIndex:void 0})},tooltipProps:{id:c}}}const J=1500,q=500;let p={},Q=0,C=!1,s=null,b=null;function I(t={}){let{delay:r=J,closeDelay:e=q}=t,{isOpen:l,open:a,close:c}=m.$fc909762b330b746$export$61c6a8c84e605fb6(t),i=o.useMemo(()=>`${++Q}`,[]),n=o.useRef(null),f=o.useRef(c),u=()=>{p[i]=P},x=()=>{for(let d in p)d!==i&&(p[d](!0),delete p[d])},$=()=>{n.current&&clearTimeout(n.current),n.current=null,x(),u(),C=!0,a(),s&&(clearTimeout(s),s=null),b&&(clearTimeout(b),b=null)},P=d=>{d||e<=0?(n.current&&clearTimeout(n.current),n.current=null,f.current()):n.current||(n.current=setTimeout(()=>{n.current=null,f.current()},e)),s&&(clearTimeout(s),s=null),C&&(b&&clearTimeout(b),b=setTimeout(()=>{delete p[i],b=null,C=!1},Math.max(q,e)))},T=()=>{x(),u(),!l&&!s&&!C?s=setTimeout(()=>{s=null,C=!0,$()},r):l||$()};return o.useEffect(()=>{f.current=c},[c]),o.useEffect(()=>()=>{n.current&&clearTimeout(n.current),p[i]&&delete p[i]},[i]),{isOpen:l,open:d=>{!d&&r>0&&!n.current?T():$()},close:P}}const h=o.createContext(null),L=o.createContext(null);function X(t){let r=I(t),e=o.useRef(null),{triggerProps:l,tooltipProps:a}=G(t,r,e);return o.createElement(R.$64fa3d84918910a7$export$2881499e37b75b9a,{values:[[h,r],[L,{...a,triggerRef:e}]]},o.createElement(H.$f645667febf57a63$export$13f3202a3e5ddd5,{...l,ref:e},t.children))}const Z=o.forwardRef(function({UNSTABLE_portalContainer:r,...e},l){[e,l]=R.$64fa3d84918910a7$export$29f1550f4b0d4415(e,l,L);let a=o.useContext(h),c=I(e),i=e.isOpen!=null||e.defaultOpen!=null||!a?c:a,n=m.$d3f049242431219c$export$45fda7c47f93fd48(l,i.isOpen)||e.isExiting||!1;return!i.isOpen&&!n?null:o.createElement(z,{portalContainer:r},o.createElement(ee,{...e,tooltipRef:l,isExiting:n}))});function ee(t){let r=o.useContext(h),e=o.useRef(null),[l,a]=o.useState(0);v.$f0a04ccd8dbdd83b$export$e5c5a5f917a5871c(()=>{e.current&&r.isOpen&&a(e.current.getBoundingClientRect().width)},[r.isOpen,e]);let{overlayProps:c,arrowProps:i,placement:n}=m.$2a41e45df1593e64$export$d39e1813b3bdd0e1({placement:t.placement||"top",targetRef:t.triggerRef,overlayRef:t.tooltipRef,offset:t.offset,crossOffset:t.crossOffset,isOpen:r.isOpen,arrowSize:l,arrowBoundaryOffset:t.arrowBoundaryOffset,shouldFlip:t.shouldFlip,onClose:()=>r.close(!0)}),f=m.$d3f049242431219c$export$6d3443f2c48bfc20(t.tooltipRef,!!n)||t.isEntering||!1,u=R.$64fa3d84918910a7$export$4d86445c2cf5e3({...t,defaultClassName:"react-aria-Tooltip",values:{placement:n,isEntering:f,isExiting:t.isExiting,state:r}});t=v.$3ef42575df84b30b$export$9d1611c77c2fe928(t,c);let{tooltipProps:x}=Y(t,r),$=M.$65484d02dcb7eb3e$export$457c3d6518dd4c6f(t,{global:!0});return o.createElement("div",{...v.$3ef42575df84b30b$export$9d1611c77c2fe928($,u,x),ref:t.tooltipRef,style:{...c.style,...u.style},"data-placement":n??void 0,"data-entering":f||void 0,"data-exiting":t.isExiting||void 0},o.createElement(m.$44f671af83e7d9e0$export$2de4954e8ae13b9f.Provider,{value:{...i,placement:n,ref:e}},u.children))}function y({delay:t=300,closeDelay:r=200,...e}){return E.jsx(X,{delay:t,closeDelay:r,...e})}y.displayName="Tooltip.Root";const{withContext:te}=k.createRecipeContext({recipe:j.tooltipRecipe}),re=te("div");function w({children:t,placement:r="bottom",ref:e,...l}){return E.jsx(re,{ref:e,asChild:!0,...l,children:E.jsx(Z,{placement:r,...l,children:t})})}w.displayName="Tooltip.Content";const oe={Root:y,Content:w};exports.Tooltip=oe;exports.TooltipContent=w;exports.TooltipRoot=y;
2
+ //# sourceMappingURL=tooltip-DjUjwciC.cjs.js.map