@televet/kibble-ui 5.0.2-beta.menu.7 → 5.0.2-beta.menu.9

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 (63) hide show
  1. package/dist/chunks/{avatarGroup.component-DyozTOj5.js → avatarGroup.component-C4GDvGxl.js} +2 -2
  2. package/dist/chunks/{avatarGroup.component-DyozTOj5.js.map → avatarGroup.component-C4GDvGxl.js.map} +1 -1
  3. package/dist/chunks/{avatarGroup.component-FTLP0Jal.js → avatarGroup.component-Dbdqswyw.js} +2 -2
  4. package/dist/chunks/{avatarGroup.component-FTLP0Jal.js.map → avatarGroup.component-Dbdqswyw.js.map} +1 -1
  5. package/dist/chunks/{buttonGroup.component-B_9-EN21.js → buttonGroup.component-BV17ZdL4.js} +2 -2
  6. package/dist/chunks/{buttonGroup.component-B_9-EN21.js.map → buttonGroup.component-BV17ZdL4.js.map} +1 -1
  7. package/dist/chunks/{buttonGroup.component-DKGtj8kw.js → buttonGroup.component-jnc_Q3rd.js} +2 -2
  8. package/dist/chunks/{buttonGroup.component-DKGtj8kw.js.map → buttonGroup.component-jnc_Q3rd.js.map} +1 -1
  9. package/dist/chunks/{calendar.component-CTOkkJ8O.js → calendar.component-DL2m-HcV.js} +2 -2
  10. package/dist/chunks/{calendar.component-CTOkkJ8O.js.map → calendar.component-DL2m-HcV.js.map} +1 -1
  11. package/dist/chunks/{calendar.component-CJ8NMtYi.js → calendar.component-TsOuGZvC.js} +2 -2
  12. package/dist/chunks/{calendar.component-CJ8NMtYi.js.map → calendar.component-TsOuGZvC.js.map} +1 -1
  13. package/dist/chunks/{conversationCard.component-CSh8fs-M.js → conversationCard.component-DRkkbSqD.js} +2 -2
  14. package/dist/chunks/{conversationCard.component-CSh8fs-M.js.map → conversationCard.component-DRkkbSqD.js.map} +1 -1
  15. package/dist/chunks/{conversationCard.component-BLR9RgKh.js → conversationCard.component-Dv1MXqSi.js} +2 -2
  16. package/dist/chunks/{conversationCard.component-BLR9RgKh.js.map → conversationCard.component-Dv1MXqSi.js.map} +1 -1
  17. package/dist/chunks/{datePicker.component-CXt7RSQT.js → datePicker.component-B0K3ITSC.js} +2 -2
  18. package/dist/chunks/{datePicker.component-CXt7RSQT.js.map → datePicker.component-B0K3ITSC.js.map} +1 -1
  19. package/dist/chunks/{datePicker.component-Ii07ufVf.js → datePicker.component-D3cAXVrn.js} +2 -2
  20. package/dist/chunks/{datePicker.component-Ii07ufVf.js.map → datePicker.component-D3cAXVrn.js.map} +1 -1
  21. package/dist/chunks/{datePicker.provider-DaF-w-4X.js → datePicker.provider-C1u43gpB.js} +2 -2
  22. package/dist/chunks/{datePicker.provider-DaF-w-4X.js.map → datePicker.provider-C1u43gpB.js.map} +1 -1
  23. package/dist/chunks/{datePicker.provider-6pNpL-zo.js → datePicker.provider-DNCBCIhW.js} +2 -2
  24. package/dist/chunks/{datePicker.provider-6pNpL-zo.js.map → datePicker.provider-DNCBCIhW.js.map} +1 -1
  25. package/dist/chunks/{dateTimePicker.component-m104dT6Q.js → dateTimePicker.component-C2Yt3eoS.js} +2 -2
  26. package/dist/chunks/{dateTimePicker.component-m104dT6Q.js.map → dateTimePicker.component-C2Yt3eoS.js.map} +1 -1
  27. package/dist/chunks/{dateTimePicker.component-Beqo7en9.js → dateTimePicker.component-DODxXJ5L.js} +2 -2
  28. package/dist/chunks/{dateTimePicker.component-Beqo7en9.js.map → dateTimePicker.component-DODxXJ5L.js.map} +1 -1
  29. package/dist/chunks/{menu.component-B5NMBVf4.js → menu.component-DLVhYnzq.js} +4 -4
  30. package/dist/chunks/{menu.component-B5NMBVf4.js.map → menu.component-DLVhYnzq.js.map} +1 -1
  31. package/dist/chunks/{menu.component-B9eZzXdR.js → menu.component-xDY2PvWy.js} +2 -2
  32. package/dist/chunks/{menu.component-B9eZzXdR.js.map → menu.component-xDY2PvWy.js.map} +1 -1
  33. package/dist/chunks/{radioGroup.types-BGUjKomB.js → radioGroup.types-DaoDD7ey.js} +2 -2
  34. package/dist/chunks/{radioGroup.types-BGUjKomB.js.map → radioGroup.types-DaoDD7ey.js.map} +1 -1
  35. package/dist/chunks/{radioGroup.types-B7lXEvLu.js → radioGroup.types-DnAaFsyY.js} +2 -2
  36. package/dist/chunks/{radioGroup.types-B7lXEvLu.js.map → radioGroup.types-DnAaFsyY.js.map} +1 -1
  37. package/dist/chunks/{tagBlock.component-BdBKHAbN.js → tagBlock.component-DLm26qMk.js} +2 -2
  38. package/dist/chunks/{tagBlock.component-BdBKHAbN.js.map → tagBlock.component-DLm26qMk.js.map} +1 -1
  39. package/dist/chunks/{tagBlock.component-DtA4K6zn.js → tagBlock.component-DcHt1PpT.js} +2 -2
  40. package/dist/chunks/{tagBlock.component-DtA4K6zn.js.map → tagBlock.component-DcHt1PpT.js.map} +1 -1
  41. package/dist/cjs/components/AvatarGroup/index.cjs +1 -1
  42. package/dist/cjs/components/ButtonGroup/index.cjs +1 -1
  43. package/dist/cjs/components/Calendar/index.cjs +1 -1
  44. package/dist/cjs/components/ConversationCard/index.cjs +1 -1
  45. package/dist/cjs/components/DatePicker/index.cjs +1 -1
  46. package/dist/cjs/components/DateTimePicker/index.cjs +1 -1
  47. package/dist/cjs/components/Menu/index.cjs +1 -1
  48. package/dist/cjs/components/RadioGroup/index.cjs +1 -1
  49. package/dist/cjs/components/TagBlock/index.cjs +1 -1
  50. package/dist/cjs/components/index.cjs +1 -1
  51. package/dist/cjs/index.cjs +1 -1
  52. package/dist/esm/components/AvatarGroup/index.js +1 -1
  53. package/dist/esm/components/ButtonGroup/index.js +1 -1
  54. package/dist/esm/components/Calendar/index.js +1 -1
  55. package/dist/esm/components/ConversationCard/index.js +1 -1
  56. package/dist/esm/components/DatePicker/index.js +2 -2
  57. package/dist/esm/components/DateTimePicker/index.js +1 -1
  58. package/dist/esm/components/Menu/index.js +1 -1
  59. package/dist/esm/components/RadioGroup/index.js +1 -1
  60. package/dist/esm/components/TagBlock/index.js +1 -1
  61. package/dist/esm/components/index.js +10 -10
  62. package/dist/esm/index.js +10 -10
  63. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"menu.component-B9eZzXdR.js","sources":["../../node_modules/@ark-ui/react/dist/components/menu/use-menu-context.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-arrow.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-arrow-tip.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-item-context.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-option-item-props-context.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-checkbox-item.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-content.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-context-trigger.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-indicator.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-item-group-context.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item-group.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item-group-label.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item-indicator.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item-text.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-positioner.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-radio-item.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-radio-item-group.js","../../node_modules/@ark-ui/react/dist/utils/use-effect-once.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-machine-context.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-trigger-item-context.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-root.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-root-provider.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-separator.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-trigger.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-trigger-item.js","../../node_modules/@chakra-ui/react/dist/esm/components/menu/menu.js","../../src/components/Menu/components/MenuButton/menuButton.component.tsx","../../src/components/Menu/components/MenuItem/menuItem.component.tsx","../../src/components/Menu/components/MenuToggleButtons/menuToggleButtons.component.tsx","../../src/components/Menu/menu.component.tsx"],"sourcesContent":["'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuProvider, useMenuContext] = createContext({\n name: \"MenuContext\",\n hookName: \"useMenuContext\",\n providerName: \"<MenuProvider />\",\n strict: false\n});\n\nexport { MenuProvider, useMenuContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuArrow = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getArrowProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuArrow.displayName = \"MenuArrow\";\n\nexport { MenuArrow };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuArrowTip = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getArrowTipProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuArrowTip.displayName = \"MenuArrowTip\";\n\nexport { MenuArrowTip };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuItemProvider, useMenuItemContext] = createContext({\n name: \"MenuItemContext\",\n hookName: \"useMenuItemContext\",\n providerName: \"<MenuItemProvider />\"\n});\n\nexport { MenuItemProvider, useMenuItemContext };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuItemPropsProvider, useMenuItemPropsContext] = createContext({\n name: \"MenuItemPropsContext\",\n hookName: \"useMenuItemPropsContext\",\n providerName: \"<MenuItemPropsProvider />\"\n});\n\nexport { MenuItemPropsProvider, useMenuItemPropsContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { MenuItemProvider } from './use-menu-item-context.js';\nimport { MenuItemPropsProvider } from './use-menu-option-item-props-context.js';\n\nconst MenuCheckboxItem = forwardRef((props, ref) => {\n const [partialOptionItemProps, localProps] = createSplitProps()(props, [\n \"checked\",\n \"closeOnSelect\",\n \"disabled\",\n \"onCheckedChange\",\n \"value\",\n \"valueText\"\n ]);\n const optionItemProps = {\n ...partialOptionItemProps,\n type: \"checkbox\"\n };\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getOptionItemProps(optionItemProps), localProps);\n const optionItemState = menu.getOptionItemState(optionItemProps);\n return /* @__PURE__ */ jsx(MenuItemPropsProvider, { value: optionItemProps, children: /* @__PURE__ */ jsx(MenuItemProvider, { value: optionItemState, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) }) });\n});\nMenuCheckboxItem.displayName = \"MenuCheckboxItem\";\n\nexport { MenuCheckboxItem };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { composeRefs } from '../../utils/compose-refs.js';\nimport { ark } from '../factory.js';\nimport { usePresenceContext } from '../presence/use-presence-context.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuContent = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const presence = usePresenceContext();\n const mergedProps = mergeProps(menu.getContentProps(), presence.getPresenceProps(), props);\n if (presence.unmounted) {\n return null;\n }\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref: composeRefs(presence.ref, ref) });\n});\nMenuContent.displayName = \"MenuContent\";\n\nexport { MenuContent };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuContextTrigger = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getContextTriggerProps(), props);\n return /* @__PURE__ */ jsx(ark.button, { ...mergedProps, ref });\n});\nMenuContextTrigger.displayName = \"MenuContextTrigger\";\n\nexport { MenuContextTrigger };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuIndicator = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getIndicatorProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuIndicator.displayName = \"MenuIndicator\";\n\nexport { MenuIndicator };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef, useEffect } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { MenuItemProvider } from './use-menu-item-context.js';\nimport { MenuItemPropsProvider } from './use-menu-option-item-props-context.js';\n\nconst MenuItem = forwardRef((props, ref) => {\n const [itemProps, localProps] = createSplitProps()(props, [\n \"closeOnSelect\",\n \"disabled\",\n \"value\",\n \"valueText\",\n \"onSelect\"\n ]);\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getItemProps(itemProps), localProps);\n const itemState = menu.getItemState(itemProps);\n useEffect(() => {\n return menu.addItemListener({ id: itemState.id, onSelect: itemProps.onSelect });\n }, [itemState.id, itemProps.onSelect]);\n return /* @__PURE__ */ jsx(MenuItemPropsProvider, { value: itemProps, children: /* @__PURE__ */ jsx(MenuItemProvider, { value: itemState, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) }) });\n});\nMenuItem.displayName = \"MenuItem\";\n\nexport { MenuItem };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuItemGroupProvider, useMenuItemGroupContext] = createContext({\n name: \"MenuItemGroupContext\",\n hookName: \"useMenuItemGroupContext\",\n providerName: \"<MenuItemGroupProvider />\"\n});\n\nexport { MenuItemGroupProvider, useMenuItemGroupContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef, useId } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { MenuItemGroupProvider } from './use-menu-item-group-context.js';\n\nconst MenuItemGroup = forwardRef((props, ref) => {\n const [optionalItemGroupProps, localProps] = createSplitProps()(props, [\"id\"]);\n const menu = useMenuContext();\n const id = useId();\n const itemGroupProps = { id, ...optionalItemGroupProps };\n const mergedProps = mergeProps(menu.getItemGroupProps(itemGroupProps), localProps);\n return /* @__PURE__ */ jsx(MenuItemGroupProvider, { value: itemGroupProps, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nMenuItemGroup.displayName = \"MenuItemGroup\";\n\nexport { MenuItemGroup };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { useMenuItemGroupContext } from './use-menu-item-group-context.js';\n\nconst MenuItemGroupLabel = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const itemGroup = useMenuItemGroupContext();\n const mergedProps = mergeProps(menu.getItemGroupLabelProps({ htmlFor: itemGroup.id }), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuItemGroupLabel.displayName = \"MenuItemGroupLabel\";\n\nexport { MenuItemGroupLabel };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { useMenuItemPropsContext } from './use-menu-option-item-props-context.js';\n\nconst MenuItemIndicator = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const itemProps = useMenuItemPropsContext();\n const mergedProps = mergeProps(menu.getItemIndicatorProps(itemProps), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuItemIndicator.displayName = \"MenuItemIndicator\";\n\nexport { MenuItemIndicator };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { useMenuItemPropsContext } from './use-menu-option-item-props-context.js';\n\nconst MenuItemText = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const itemProps = useMenuItemPropsContext();\n const mergedProps = mergeProps(menu.getItemTextProps(itemProps), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuItemText.displayName = \"MenuItemText\";\n\nexport { MenuItemText };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { usePresenceContext } from '../presence/use-presence-context.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuPositioner = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getPositionerProps(), props);\n const presence = usePresenceContext();\n if (presence.unmounted) {\n return null;\n }\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuPositioner.displayName = \"MenuPositioner\";\n\nexport { MenuPositioner };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { MenuItemProvider } from './use-menu-item-context.js';\nimport { useMenuItemGroupContext } from './use-menu-item-group-context.js';\nimport { MenuItemPropsProvider } from './use-menu-option-item-props-context.js';\n\nconst MenuRadioItem = forwardRef((props, ref) => {\n const [partialItemProps, localProps] = createSplitProps()(props, [\n \"closeOnSelect\",\n \"disabled\",\n \"value\",\n \"valueText\"\n ]);\n const menu = useMenuContext();\n const itemGroup = useMenuItemGroupContext();\n const optionItemProps = {\n ...partialItemProps,\n checked: itemGroup.value === partialItemProps.value,\n type: \"radio\",\n onCheckedChange: () => itemGroup.onValueChange?.({ value: partialItemProps.value })\n };\n const mergedProps = mergeProps(menu.getOptionItemProps(optionItemProps), localProps);\n const optionItemState = menu.getOptionItemState(optionItemProps);\n return /* @__PURE__ */ jsx(MenuItemPropsProvider, { value: optionItemProps, children: /* @__PURE__ */ jsx(MenuItemProvider, { value: optionItemState, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) }) });\n});\nMenuRadioItem.displayName = \"MenuRadioItem\";\n\nexport { MenuRadioItem };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef, useId } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { MenuItemGroupProvider } from './use-menu-item-group-context.js';\n\nconst MenuRadioItemGroup = forwardRef((props, ref) => {\n const [optionalItemGroupProps, localProps] = createSplitProps()(props, [\n \"id\",\n \"onValueChange\",\n \"value\"\n ]);\n const menu = useMenuContext();\n const id = useId();\n const itemGroupProps = { id, ...optionalItemGroupProps };\n const mergedProps = mergeProps(menu.getItemGroupProps({ id: itemGroupProps.id }), localProps);\n return /* @__PURE__ */ jsx(MenuItemGroupProvider, { value: itemGroupProps, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nMenuRadioItemGroup.displayName = \"MenuRadioItemGroup\";\n\nexport { MenuRadioItemGroup };\n","'use client';\nimport { useRef, useEffect } from 'react';\n\nconst useEffectOnce = (cb) => {\n const savedCallback = useRef(cb);\n const effectGuard = useRef(false);\n useEffect(() => {\n savedCallback.current = cb;\n });\n useEffect(() => {\n if (effectGuard.current !== true) {\n effectGuard.current = true;\n savedCallback.current();\n }\n }, []);\n};\n\nexport { useEffectOnce };\n","'use client';\nimport * as menu from '@zag-js/menu';\nimport { useMachine, normalizeProps } from '@zag-js/react';\nimport { useId } from 'react';\nimport { useEnvironmentContext } from '../../providers/environment/use-environment-context.js';\nimport { useLocaleContext } from '../../providers/locale/use-locale-context.js';\n\nconst useMenu = (props) => {\n const id = useId();\n const { getRootNode } = useEnvironmentContext();\n const { dir } = useLocaleContext();\n const machineProps = {\n id,\n dir,\n getRootNode,\n ...props\n };\n const service = useMachine(menu.machine, machineProps);\n const api = menu.connect(service, normalizeProps);\n return { api, service };\n};\n\nexport { useMenu };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuMachineProvider, useMenuMachineContext] = createContext({\n name: \"MenuMachineContext\",\n hookName: \"useMenuMachineContext\",\n providerName: \"<MenuMachineProvider />\",\n strict: false\n});\n\nexport { MenuMachineProvider, useMenuMachineContext };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuTriggerItemProvider, useMenuTriggerItemContext] = createContext({\n name: \"MenuMachineContext\",\n hookName: \"useMenuMachineContext\",\n providerName: \"<MenuMachineProvider />\",\n strict: false\n});\n\nexport { MenuTriggerItemProvider, useMenuTriggerItemContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { useCallback } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { useEffectOnce } from '../../utils/use-effect-once.js';\nimport { splitPresenceProps } from '../presence/split-presence-props.js';\nimport { usePresence } from '../presence/use-presence.js';\nimport { PresenceProvider } from '../presence/use-presence-context.js';\nimport { useMenu } from './use-menu.js';\nimport { useMenuContext, MenuProvider } from './use-menu-context.js';\nimport { useMenuMachineContext, MenuMachineProvider } from './use-menu-machine-context.js';\nimport { MenuTriggerItemProvider } from './use-menu-trigger-item-context.js';\n\nconst MenuRoot = (props) => {\n const [presenceProps, menuProps] = splitPresenceProps(props);\n const [useMenuProps, localProps] = createSplitProps()(menuProps, [\n \"anchorPoint\",\n \"aria-label\",\n \"closeOnSelect\",\n \"composite\",\n \"defaultHighlightedValue\",\n \"defaultOpen\",\n \"highlightedValue\",\n \"id\",\n \"ids\",\n \"loopFocus\",\n \"navigate\",\n \"onEscapeKeyDown\",\n \"onFocusOutside\",\n \"onHighlightChange\",\n \"onInteractOutside\",\n \"onOpenChange\",\n \"onPointerDownOutside\",\n \"onSelect\",\n \"open\",\n \"positioning\",\n \"typeahead\"\n ]);\n const parentApi = useMenuContext();\n const parentMachine = useMenuMachineContext();\n const { api, service } = useMenu(useMenuProps);\n const presence = usePresence(mergeProps({ present: api.open }, presenceProps));\n useEffectOnce(() => {\n if (!parentMachine) return;\n if (!parentApi) return;\n parentApi.setChild(service);\n api.setParent(parentMachine);\n });\n const triggerItemContext = useCallback(() => parentApi?.getTriggerItemProps(api), [api, parentApi]);\n return /* @__PURE__ */ jsx(MenuTriggerItemProvider, { value: triggerItemContext, children: /* @__PURE__ */ jsx(MenuMachineProvider, { value: service, children: /* @__PURE__ */ jsx(MenuProvider, { value: api, children: /* @__PURE__ */ jsx(PresenceProvider, { value: presence, ...localProps }) }) }) });\n};\n\nexport { MenuRoot };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { useCallback } from 'react';\nimport { useEffectOnce } from '../../utils/use-effect-once.js';\nimport { splitPresenceProps } from '../presence/split-presence-props.js';\nimport { usePresence } from '../presence/use-presence.js';\nimport { PresenceProvider } from '../presence/use-presence-context.js';\nimport { useMenuContext, MenuProvider } from './use-menu-context.js';\nimport { useMenuMachineContext, MenuMachineProvider } from './use-menu-machine-context.js';\nimport { MenuTriggerItemProvider } from './use-menu-trigger-item-context.js';\n\nconst MenuRootProvider = (props) => {\n const parentApi = useMenuContext();\n const parentMachine = useMenuMachineContext();\n const [presenceProps, { value: menu, children }] = splitPresenceProps(props);\n const { api, service } = menu;\n const presence = usePresence(mergeProps({ present: api.open }, presenceProps));\n useEffectOnce(() => {\n if (!parentMachine) return;\n if (!parentApi) return;\n parentApi.setChild(service);\n api.setParent(parentMachine);\n });\n const triggerItemContext = useCallback(() => parentApi?.getTriggerItemProps(api), [api, parentApi]);\n return /* @__PURE__ */ jsx(MenuTriggerItemProvider, { value: triggerItemContext, children: /* @__PURE__ */ jsx(MenuMachineProvider, { value: service, children: /* @__PURE__ */ jsx(MenuProvider, { value: api, children: /* @__PURE__ */ jsx(PresenceProvider, { value: presence, children }) }) }) });\n};\n\nexport { MenuRootProvider };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuSeparator = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getSeparatorProps(), props);\n return /* @__PURE__ */ jsx(ark.hr, { ...mergedProps, ref });\n});\nMenuSeparator.displayName = \"MenuSeparator\";\n\nexport { MenuSeparator };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { usePresenceContext } from '../presence/use-presence-context.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuTrigger = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const presence = usePresenceContext();\n const mergedProps = mergeProps(\n {\n ...menu.getTriggerProps(),\n \"aria-controls\": presence.unmounted ? void 0 : menu.getTriggerProps()[\"aria-controls\"]\n },\n props\n );\n return /* @__PURE__ */ jsx(ark.button, { ...mergedProps, ref });\n});\nMenuTrigger.displayName = \"MenuTrigger\";\n\nexport { MenuTrigger };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuTriggerItemContext } from './use-menu-trigger-item-context.js';\n\nconst MenuTriggerItem = forwardRef((props, ref) => {\n const getTriggerItemProps = useMenuTriggerItemContext();\n const mergedProps = mergeProps(getTriggerItemProps?.() ?? {}, props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuTriggerItem.displayName = \"MenuTriggerItem\";\n\nexport { MenuTriggerItem };\n","\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { Menu } from '@ark-ui/react/menu';\nimport { createSlotRecipeContext } from '../../styled-system/create-slot-recipe-context.js';\nimport { CheckIcon } from '../icons.js';\n\nconst {\n withRootProvider,\n withContext,\n useStyles: useMenuStyles,\n PropsProvider\n} = createSlotRecipeContext({ key: \"menu\" });\nconst MenuRootProvider = withRootProvider(\n Menu.RootProvider\n);\nconst MenuRoot = withRootProvider(Menu.Root, {\n defaultProps: { lazyMount: true, unmountOnExit: true }\n});\nconst MenuPropsProvider = PropsProvider;\nconst MenuTrigger = withContext(\n Menu.Trigger,\n \"trigger\",\n { forwardAsChild: true }\n);\nconst MenuContextTrigger = withContext(Menu.ContextTrigger, \"contextTrigger\", { forwardAsChild: true });\nconst MenuPositioner = withContext(\n Menu.Positioner,\n \"positioner\",\n { forwardAsChild: true }\n);\nconst MenuSeparator = withContext(\n Menu.Separator,\n \"separator\",\n { forwardAsChild: true }\n);\nconst MenuContent = withContext(\n Menu.Content,\n \"content\",\n { forwardAsChild: true }\n);\nconst MenuArrowTip = withContext(\n Menu.ArrowTip,\n \"arrowTip\",\n { forwardAsChild: true }\n);\nconst MenuArrow = withContext(\n Menu.Arrow,\n \"arrow\",\n { forwardAsChild: true, defaultProps: { children: /* @__PURE__ */ jsx(MenuArrowTip, {}) } }\n);\nconst MenuIndicator = withContext(\n Menu.Indicator,\n \"indicator\",\n { forwardAsChild: true }\n);\nconst MenuItemGroup = withContext(\n Menu.ItemGroup,\n \"itemGroup\",\n { forwardAsChild: true }\n);\nconst MenuItemGroupLabel = withContext(Menu.ItemGroupLabel, \"itemGroupLabel\", { forwardAsChild: true });\nconst MenuItem = withContext(\n Menu.Item,\n \"item\",\n { forwardAsChild: true }\n);\nconst MenuTriggerItem = withContext(Menu.TriggerItem, \"item\", { forwardAsChild: true });\nconst MenuItemText = withContext(\n Menu.ItemText,\n \"itemText\",\n { forwardAsChild: true }\n);\nconst MenuItemCommand = withContext(\n \"kbd\",\n \"itemCommand\"\n);\nconst MenuItemIndicator = withContext(Menu.ItemIndicator, \"itemIndicator\", {\n forwardAsChild: true,\n defaultProps: { children: /* @__PURE__ */ jsx(CheckIcon, { boxSize: \"4\" }) }\n});\nconst MenuCheckboxItem = withContext(Menu.CheckboxItem, \"item\", { forwardAsChild: true });\nconst MenuRadioItemGroup = withContext(Menu.RadioItemGroup, \"itemGroup\", { forwardAsChild: true });\nconst MenuRadioItem = withContext(\n Menu.RadioItem,\n \"item\",\n { forwardAsChild: true }\n);\nconst MenuContext = Menu.Context;\nconst MenuItemContext = Menu.ItemContext;\n\nexport { MenuArrow, MenuArrowTip, MenuCheckboxItem, MenuContent, MenuContext, MenuContextTrigger, MenuIndicator, MenuItem, MenuItemCommand, MenuItemContext, MenuItemGroup, MenuItemGroupLabel, MenuItemIndicator, MenuItemText, MenuPositioner, MenuPropsProvider, MenuRadioItem, MenuRadioItemGroup, MenuRoot, MenuRootProvider, MenuSeparator, MenuTrigger, MenuTriggerItem, useMenuStyles };\n","import { Flex } from '@chakra-ui/react/flex';\nimport { Box } from '@chakra-ui/react/box';\nimport { Button, ButtonProps } from 'components/Button/button.component';\nimport { Icon } from 'components/Icon/icon.component';\nimport { Text, TextProps } from 'components/Text/text.component';\nimport { Tooltip, TooltipProps } from 'components/Tooltip/tooltip.component';\nimport React, { useCallback, useEffect, useState } from 'react';\n\nexport interface MenuButtonProps extends Omit<ButtonProps, 'children'> {\n /** If true, the caret will be hidden.\n * @default false\n */\n hideCaret?: boolean;\n /** Text to display in the menu button. */\n text?: string;\n /** Props to customize the text. */\n textProps?: TextProps;\n /** Props to customize the tooltip. */\n tooltipProps?: Omit<TooltipProps, 'children' | 'label' | 'isOpen' | 'onClose'>;\n /** If true, the tooltip will be shown. */\n showTooltip?: boolean;\n /** Determines if the menu is open. */\n isMenuOpen?: boolean;\n}\n\nexport const MenuButton = ({\n hideCaret = false,\n size = 'md',\n text,\n textProps,\n variant,\n onClick,\n ['data-testid']: dataTestId = 'kibble-menu-button',\n ...rest\n}: MenuButtonProps): React.JSX.Element => {\n return (\n <Button\n className=\"Menu__Button\"\n data-testid={dataTestId}\n size={size}\n variant={variant}\n {...rest}\n {...(!text && hideCaret && { paddingInline: 0, paddingBlock: 0 })}\n onClick={(e) => {\n e.stopPropagation();\n onClick?.(e);\n }}\n >\n {text && (\n <Text\n className=\"Menu__ButtonText\"\n data-testid={`${dataTestId}-text`}\n fontWeight=\"semibold\"\n size={size}\n color={variant ? 'inherit' : textProps?.color || 'text.contrast'}\n truncated\n {...textProps}\n >\n {text}\n </Text>\n )}\n {!hideCaret && (\n <Flex className=\"Menu__ButtonCaret\" data-testid={`${dataTestId}-caret`}>\n <Icon name=\"chevronDown\" size={size === 'lg' ? 'sm' : 'xs'} />\n </Flex>\n )}\n </Button>\n );\n};\n\nexport const MenuButtonTooltip = ({ tooltipProps, isMenuOpen, ...rest }: MenuButtonProps): React.JSX.Element => {\n // Needed to manage tooltip open state separately to avoid sticky issues when we open and close menu list\n const [isTooltipOpen, setIsTooltipOpen] = useState(false);\n\n const onMouseEnter = useCallback((): void => {\n if (!isMenuOpen) {\n setIsTooltipOpen(true);\n }\n }, [isMenuOpen]);\n\n const onMouseLeave = useCallback((): void => {\n if (!isMenuOpen) {\n setIsTooltipOpen(false);\n }\n }, [isMenuOpen]);\n\n // Close tooltip when menu opens\n useEffect(() => {\n if (isMenuOpen) {\n setIsTooltipOpen(false);\n }\n }, [isMenuOpen]);\n\n return (\n <Tooltip label={rest.text || ''} open={isTooltipOpen && !isMenuOpen} {...tooltipProps}>\n <Box\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n setIsTooltipOpen(false);\n }}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n <MenuButton {...rest} />\n </Box>\n </Tooltip>\n );\n};\n","import { Flex } from '@chakra-ui/react/flex';\nimport { Menu as CMenu } from '@chakra-ui/react/menu';\nimport React, { useCallback, useState } from 'react';\nimport { Text } from 'components/Text/text.component';\nimport { MenuItemType } from './menuItem.types';\nimport { Menu, MenuProps } from 'components/Menu';\nimport { TypographyVariant } from 'shared/types/typography';\nimport { Checkbox } from 'components/Checkbox/checkbox.component';\nimport { Icon } from 'components/Icon/icon.component';\nimport { Tooltip } from 'components/Tooltip';\n\ninterface BaseMenuItemProps {\n /** Label to display in the menu item. */\n label?: React.ReactNode;\n /** Left element to display in the menu item. */\n leftElement?: React.ReactNode;\n /** Group label to display in the menu item. */\n groupLabel?: string;\n /** Callback function to be called when the menu item is selected. */\n onSelect?: (value: string) => void;\n /** If true, the text will be truncated. */\n shouldTruncateText?: boolean;\n /** Type of the menu item.\n * @default default\n */\n type?: MenuItemType;\n /** Value of the menu item. */\n value: string;\n /** Variant of the menu item. */\n variant?: TypographyVariant;\n /** Data test id for the menu item.\n * @default kibble-menu-item\n */\n 'data-testid'?: string;\n}\n\ninterface DefaultMenuItemProps extends Omit<CMenu.ItemProps, 'onSelect' | 'isDisabled'> {\n /** Type of the menu item.\n * @default default\n */\n type?: 'default';\n /** If true, the menu item will be selected. */\n selected?: boolean;\n /** Tooltip label to display in the menu item. */\n tooltipLabel?: string;\n}\n\ninterface CheckboxMenuItemProps extends Omit<CMenu.CheckboxItemProps, 'onSelect'> {\n /** Type of the menu item.\n * @default checkbox\n */\n type: 'checkbox';\n /** If true, the checkbox will be checked. */\n checked: boolean;\n /** Tooltip label to display in the menu item. */\n tooltipLabel?: string;\n}\n\ninterface SubmenuMenuItemProps extends Omit<MenuProps, 'children' | 'buttonProps'> {\n /** Type of the menu item.\n * @default submenu\n */\n type: 'submenu';\n /** Value text for keyboard navigation. */\n valueText?: string;\n}\n\nexport type MenuItemProps = BaseMenuItemProps & (DefaultMenuItemProps | CheckboxMenuItemProps | SubmenuMenuItemProps);\n\nexport const MenuItem = ({\n label,\n leftElement,\n onSelect,\n shouldTruncateText,\n type = 'default',\n variant,\n ['data-testid']: dataTestId = 'kibble-menu-item',\n ...rest\n}: MenuItemProps): React.JSX.Element => {\n const [isSubmenuOpen, setIsSubmenuOpen] = useState(false);\n\n const handleItemSelect = useCallback(() => {\n if (onSelect) {\n onSelect(rest.value);\n }\n }, [onSelect, rest.value]);\n\n if (type === 'submenu') {\n const {\n valueText,\n listProps,\n positionerProps,\n portalled = true,\n open,\n lazyMount = true,\n unmountOnExit = true,\n } = rest as Omit<SubmenuMenuItemProps, 'type'>;\n\n return (\n <Menu\n lazyMount={lazyMount}\n unmountOnExit={unmountOnExit}\n submenuTrigger={\n <CMenu.TriggerItem\n className=\"Menu__Item--Submenu\"\n data-testid={`${dataTestId}-submenu`}\n justifyContent=\"space-between\"\n aria-valuetext={valueText}\n position=\"relative\"\n onClick={(): void => {\n // If the submenu is controlled, call the onSelect callback passed to the menu\n if (open !== undefined && onSelect) {\n onSelect(rest.value);\n } else {\n // Otherwise, toggle the internalsubmenu open state\n setIsSubmenuOpen(!isSubmenuOpen);\n }\n }}\n >\n <MenuItemLabel\n label={label}\n leftElement={leftElement}\n shouldTruncateText={shouldTruncateText}\n variant={variant}\n />\n <Icon name=\"chevronRight\" size=\"sm\" />\n </CMenu.TriggerItem>\n }\n portalled={portalled}\n open={open !== undefined ? open : isSubmenuOpen}\n listProps={listProps}\n positionerProps={positionerProps}\n />\n );\n }\n\n if (type === 'checkbox') {\n const { checked, value, disabled, tooltipLabel, ...checkboxRest } = rest as CheckboxMenuItemProps;\n return (\n <CMenu.Item\n className=\"Menu__Item--Checkbox\"\n data-testid={`${dataTestId}-checkbox`}\n value={value}\n closeOnSelect={false}\n onSelect={disabled ? undefined : handleItemSelect}\n gap={3}\n disabled={disabled}\n {...checkboxRest}\n >\n <Checkbox checked={!!checked} disabled={disabled} size=\"md\" fullWidth={false} />\n <MenuItemLabel\n label={label}\n leftElement={leftElement}\n shouldTruncateText={shouldTruncateText}\n variant={variant}\n tooltipLabel={tooltipLabel}\n />\n </CMenu.Item>\n );\n }\n\n if (type === 'default') {\n const { selected = false, disabled, value, tooltipLabel, ...defaultRest } = rest as DefaultMenuItemProps;\n return (\n <CMenu.Item\n className=\"Menu__Item--Default\"\n data-testid={`${dataTestId}-default`}\n value={value}\n onSelect={disabled ? undefined : handleItemSelect}\n disabled={disabled}\n {...(selected && { bgColor: 'background.secondaryAlpha.hover' })}\n {...defaultRest}\n >\n <MenuItemLabel\n label={label}\n leftElement={leftElement}\n shouldTruncateText={shouldTruncateText}\n variant={selected ? 'info' : variant}\n tooltipLabel={tooltipLabel}\n />\n </CMenu.Item>\n );\n }\n\n return <></>;\n};\n\nconst MenuItemLabel = ({\n label,\n leftElement,\n shouldTruncateText,\n variant,\n tooltipLabel,\n}: {\n label?: React.ReactNode;\n leftElement?: React.ReactNode;\n shouldTruncateText?: boolean;\n variant?: TypographyVariant;\n tooltipLabel?: string;\n}): React.JSX.Element => {\n const content = (\n <Flex className=\"Menu__ItemLabel\" alignItems=\"center\" gap={3}>\n {leftElement}\n {typeof label === 'string' ? (\n <Text size=\"sm\" truncated={shouldTruncateText} variant={variant}>\n {label}\n </Text>\n ) : (\n label\n )}\n </Flex>\n );\n return tooltipLabel ? <Tooltip label={tooltipLabel}>{content}</Tooltip> : content;\n};\n","import { Box } from '@chakra-ui/react/box';\nimport { Flex } from '@chakra-ui/react/flex';\nimport { Button } from 'components/Button/button.component';\n\ninterface MenuToggleButtonsProps {\n /** Determines if there are selected items. */\n hasSelectedItems?: boolean;\n /** Name of the group. */\n groupName?: string;\n /** Callback function to toggle the selected items. */\n onToggle: ({ groupName, clear }: { clear: boolean; groupName?: string }) => void;\n /** Data test id for the menu toggle buttons.\n * @default kibble-menu-toggle-buttons\n */\n 'data-testid'?: string;\n}\n\nexport const MenuToggleButtons = ({\n groupName,\n hasSelectedItems = false,\n onToggle,\n ['data-testid']: dataTestId = 'kibble-menu-toggle-buttons',\n}: MenuToggleButtonsProps): React.JSX.Element => {\n const isGrouped = !!groupName;\n return (\n <Box className=\"Menu__ToggleButtons\" data-testid={dataTestId} {...(isGrouped && { textAlign: 'right', w: '50%' })}>\n {isGrouped ? (\n <>\n {hasSelectedItems ? (\n <ClearAllButton hasSelectedItems={hasSelectedItems} groupName={groupName} onToggle={onToggle} />\n ) : (\n <SelectAllButton groupName={groupName} onToggle={onToggle} />\n )}\n </>\n ) : (\n <Flex justifyContent=\"space-between\">\n <SelectAllButton groupName={groupName} onToggle={onToggle} />\n <ClearAllButton hasSelectedItems={hasSelectedItems} groupName={groupName} onToggle={onToggle} />\n </Flex>\n )}\n </Box>\n );\n};\n\nconst SelectAllButton = ({ groupName, onToggle }: MenuToggleButtonsProps): React.JSX.Element => {\n return (\n <Button variant=\"ghost\" size=\"xs\" onClick={(): void => onToggle({ groupName, clear: false })}>\n Select All\n </Button>\n );\n};\n\nconst ClearAllButton = ({ hasSelectedItems, groupName, onToggle }: MenuToggleButtonsProps): React.JSX.Element => {\n return (\n <Button\n variant=\"ghostNeutral\"\n iconName=\"arrowCircle\"\n size=\"xs\"\n disabled={!hasSelectedItems}\n onClick={(): void => onToggle({ groupName, clear: true })}\n >\n Clear All\n </Button>\n );\n};\n","import React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { Menu as CMenu } from '@chakra-ui/react/menu';\nimport { Portal } from '@chakra-ui/react/portal';\nimport { MenuButton, MenuButtonTooltip, MenuButtonProps } from './components/MenuButton/menuButton.component';\nimport { MenuItem, MenuItemProps } from './components/MenuItem/menuItem.component';\nimport { Box } from '@chakra-ui/react/box';\nimport { Text } from 'components/Text/text.component';\nimport { TextInput } from 'components/TextInput/textInput.component';\nimport { Flex } from '@chakra-ui/react/flex';\nimport { Spinner } from 'components/Spinner/spinner.component';\nimport { MenuToggleButtons } from './components/MenuToggleButtons/menuToggleButtons.component';\nimport { usePortalContentRef } from 'hooks/usePortalContentRef';\nimport { MenuListOnOpenChangeProps } from './menu.types';\nimport { MenuListProps } from './components/MenuList/menuList.types';\n\nexport interface MenuProps extends Omit<CMenu.RootProps, 'children' | 'onSelect' | 'onOpenChange'> {\n /** Props to customize the menu button trigger. */\n buttonProps?: MenuButtonProps;\n /** Props to customize the menu list. */\n listProps?: MenuListProps;\n /** Props to customize the positioner of the menu. */\n positionerProps?: CMenu.PositionerProps;\n /**\n * If true, the menu will be rendered in a Portal.\n * @default false\n */\n portalled?: boolean;\n /** Callback function to be called when the menu is opened or closed. */\n onOpenChange?: ({ open, allSelectedItems }: MenuListOnOpenChangeProps) => void;\n /** Data test id for the menu.\n * @default kibble-menu\n */\n 'data-testid'?: string;\n}\n\ninterface InternalMenuProps extends MenuProps {\n /** React element to be used as the trigger for the submenu.\n * @internal\n */\n submenuTrigger?: React.ReactNode;\n}\n\nexport const Menu = ({\n buttonProps,\n listProps,\n positionerProps,\n portalled = false,\n submenuTrigger,\n lazyMount = true,\n onOpenChange,\n ['data-testid']: dataTestId = 'kibble-menu',\n ...rest\n}: InternalMenuProps): React.JSX.Element => {\n const { contentRef } = usePortalContentRef();\n const {\n canSelectAll,\n canSelectGroups,\n emptyState = 'No results found',\n groupSortOrder,\n loading,\n maxH = '480px',\n menuItems = [],\n minW = '240px',\n onSearch,\n onSelect: onListSelect,\n onSelectAll,\n searchable,\n searchPlaceholder = 'Search...',\n shouldTruncateText,\n ...restListProps\n } = listProps || {};\n const [isOpen, setIsOpen] = useState(false);\n const [searchText, setSearchText] = useState<string>('');\n const [filteredMenuItems, setFilteredMenuItems] = useState<MenuItemProps[]>(menuItems);\n\n // Menu Items\n const groupedItems = useMemo(() => {\n const groups: Record<string, Record<string, MenuItemProps[]>> = {};\n\n filteredMenuItems?.forEach((item) => {\n const group = item.groupLabel || 'default';\n // Default and submenu items are grouped under \"default\"\n const type = item.type === 'checkbox' ? 'checkbox' : 'default';\n\n if (!groups[group]) {\n groups[group] = {};\n }\n\n if (!groups[group][type]) {\n groups[group][type] = [];\n }\n\n groups[group][type].push(item);\n });\n\n return groups;\n }, [filteredMenuItems]);\n\n const groups = useMemo(() => {\n const entries = Object.entries(groupedItems);\n\n if (!groupSortOrder || groupSortOrder.length === 0) {\n return entries;\n }\n\n // Sort groups based on groupSortOrder\n return entries.sort(([groupLabelA], [groupLabelB]) => {\n const indexA = groupSortOrder.indexOf(groupLabelA);\n const indexB = groupSortOrder.indexOf(groupLabelB);\n\n // If both groups are in the sort order, sort by their index\n if (indexA !== -1 && indexB !== -1) {\n return indexA - indexB;\n }\n\n // If only groupA is in the sort order, it comes first\n if (indexA !== -1) {\n return -1;\n }\n\n // If only groupB is in the sort order, it comes first\n if (indexB !== -1) {\n return 1;\n }\n\n // If neither group is in the sort order, maintain original order\n return 0;\n });\n }, [groupedItems, groupSortOrder]);\n\n // Checkbox State Management\n const checkboxItems = useMemo(() => menuItems?.filter((item) => item.type === 'checkbox') || [], [menuItems]);\n\n // Helper functions for checkbox state management\n const isChecked = useCallback(\n (value: string) => {\n return checkboxItems.some((item) => item.value === value && item.checked);\n },\n [checkboxItems],\n );\n\n // Helper function to get selected menu items based on selected values\n const selectedCheckboxItems = useMemo(() => {\n return checkboxItems.filter((item) => item.checked);\n }, [checkboxItems]);\n\n const handleToggleSelectAll = useCallback(\n ({ groupName, clear }: { groupName?: string; clear: boolean }) => {\n let newSelectedItems: MenuItemProps[];\n // Only allow checkbox items that are not disabled to be toggled\n const filteredCheckboxItems = filteredMenuItems.filter((item) => item.type === 'checkbox' && !item.disabled);\n\n // If the group name is provided, only toggle the items in the group\n if (groupName) {\n // Get the items in the group\n const groupedItems = filteredCheckboxItems.filter((item) => item.groupLabel === groupName);\n\n // If the clear flag is true, remove the items in the group\n newSelectedItems = clear\n ? selectedCheckboxItems.filter((cItem) => cItem.groupLabel !== groupName)\n : // Otherwise, add the items in the group to the selected items\n [...new Set([...selectedCheckboxItems, ...groupedItems])];\n } else {\n // If the group name is not provided, toggle all the items\n newSelectedItems = clear\n ? []\n : filteredCheckboxItems.map((item) => {\n return { ...item, checked: true };\n });\n }\n\n // Call the onSelectAll callback with the updated values\n onSelectAll?.({ allSelectedItems: newSelectedItems });\n },\n [onSelectAll, filteredMenuItems, selectedCheckboxItems],\n );\n\n const handleSelect = useCallback(\n (item: MenuItemProps) => {\n // If the item is a checkbox, update the selected checkbox values\n if (item.type === 'checkbox') {\n // Get the new list of selected checkbox items\n const allSelectedItems = isChecked(item.value)\n ? selectedCheckboxItems.filter((cItem) => cItem.value !== item.value)\n : [...selectedCheckboxItems, item];\n\n // If the item has it's own onSelect, call it with just the item value\n if (item.onSelect) {\n item.onSelect(item.value);\n return;\n }\n\n // Otherwise call the onSelect callback with the updated values\n onListSelect?.({ item, allSelectedItems });\n return;\n }\n\n // Otherwise this is a default item, so first check if the item has it's own onSelect callback\n if (item.onSelect) {\n item.onSelect(item.value);\n return;\n }\n\n // Otherwise call the onSelect callback with just the item itself\n onListSelect?.({ item, allSelectedItems: [item] });\n },\n [onListSelect, isChecked, selectedCheckboxItems],\n );\n\n // Search\n const filterOptions = useCallback((searchInput: string, itemsToFilter: MenuItemProps[]) => {\n if (searchInput === '' || !searchInput) {\n return itemsToFilter;\n }\n\n return itemsToFilter.filter((item): boolean => {\n const labelText = typeof item.label === 'string' ? item.label : item.valueText;\n\n return !!labelText?.toLowerCase().includes(searchInput.toLowerCase());\n });\n }, []);\n\n const handleSearch = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const searchInput = e.target.value;\n setSearchText(searchInput);\n\n if (onSearch) {\n onSearch(e);\n }\n },\n [onSearch],\n );\n\n const clearSearch = useCallback(() => {\n setSearchText('');\n\n if (onSearch) {\n onSearch({\n target: { value: '' },\n } as React.ChangeEvent<HTMLInputElement>);\n }\n }, [onSearch]);\n\n // Cleanup\n const handleOpenChange = useCallback(\n (open: boolean) => {\n setIsOpen(open); // Track open state\n if (!open) {\n setSearchText('');\n setFilteredMenuItems(menuItems);\n }\n\n if (onOpenChange) {\n onOpenChange({ open, allSelectedItems: selectedCheckboxItems });\n }\n },\n [menuItems, onOpenChange, selectedCheckboxItems],\n );\n\n useEffect(() => {\n if (onSearch) {\n setFilteredMenuItems(menuItems);\n } else {\n setFilteredMenuItems(filterOptions(searchText, menuItems));\n }\n }, [searchText, onSearch, filterOptions, menuItems]);\n\n return (\n <CMenu.Root\n lazyMount={lazyMount}\n unmountOnExit={lazyMount}\n onOpenChange={(details) => {\n handleOpenChange(details.open);\n }}\n {...rest}\n >\n {!submenuTrigger ? (\n <CMenu.Trigger asChild className=\"Menu__Trigger\" data-testid={`${dataTestId}-trigger`}>\n {buttonProps?.showTooltip ? (\n <MenuButtonTooltip isMenuOpen={isOpen} {...buttonProps} />\n ) : (\n <MenuButton {...buttonProps} />\n )}\n </CMenu.Trigger>\n ) : (\n submenuTrigger\n )}\n <Portal disabled={!portalled} container={contentRef || undefined}>\n <CMenu.Positioner className=\"Menu\" data-testid={dataTestId} {...positionerProps}>\n <CMenu.Content\n className=\"Menu__Content\"\n data-testid={`${dataTestId}-content`}\n maxH={maxH}\n minW={minW}\n {...restListProps}\n {...(searchable && { pt: '0' })}\n onClick={(e) => {\n e.stopPropagation();\n restListProps?.onClick?.(e);\n }}\n >\n {searchable && (\n <Box\n className=\"Menu__SearchBarContainer\"\n data-testid={`${dataTestId}-search-bar-container`}\n px={3}\n py={2}\n position=\"sticky\"\n top={0}\n bg=\"background\"\n zIndex=\"docked\"\n >\n <TextInput\n className=\"Menu__SearchBar\"\n data-testid={`${dataTestId}-search-bar`}\n placeholder={searchPlaceholder}\n onChange={handleSearch}\n size=\"sm\"\n value={searchText}\n clearable\n onClear={clearSearch}\n // Necessary to prevent the Menu from intercepting the Space key press and opening the menu when the search input is focused\n onKeyDown={(e) => {\n if (e.code === 'Space') {\n e.stopPropagation();\n }\n }}\n />\n </Box>\n )}\n {canSelectAll && (\n <Box\n className=\"Menu__CheckboxGroupHeader\"\n data-testid={`${dataTestId}-checkbox-group-header`}\n px={3}\n mt={searchable ? 1 : 2}\n >\n {canSelectAll && !!checkboxItems.length && (\n <MenuToggleButtons\n onToggle={handleToggleSelectAll}\n hasSelectedItems={!!selectedCheckboxItems.length}\n />\n )}\n </Box>\n )}\n {loading && (\n <Flex justifyContent=\"center\" py={5}>\n <Spinner fullScreen />\n </Flex>\n )}\n <Box className=\"Menu__List\" data-testid={`${dataTestId}-list`}>\n {groups.length ? (\n <>\n {groups.map(([groupLabel, types]) => {\n const isDefaultGroup = groupLabel === 'default';\n const itemTypes = Object.keys(types);\n const MenuGroupContainer = !isDefaultGroup ? CMenu.ItemGroup : React.Fragment;\n const groupValues = types['checkbox']?.map((item) => item.value);\n const hasSelectedItems = groupValues?.some((value) =>\n selectedCheckboxItems.some((item) => item.value === value && item.checked),\n );\n return (\n <MenuGroupContainer key={groupLabel}>\n {!isDefaultGroup && (\n <CMenu.ItemGroupLabel>\n <Flex alignItems=\"center\" justifyContent=\"space-between\">\n {groupLabel}\n {canSelectGroups && itemTypes.includes('checkbox') && (\n <MenuToggleButtons\n groupName={groupLabel}\n onToggle={handleToggleSelectAll}\n hasSelectedItems={hasSelectedItems}\n />\n )}\n </Flex>\n </CMenu.ItemGroupLabel>\n )}\n {Object.entries(types).map(([type, items]) =>\n items.map((item, index) => {\n const { groupLabel, ...rest } = item;\n return (\n <MenuItem\n key={`menu-item-${groupLabel}-${type}-${index}`}\n {...rest}\n shouldTruncateText={shouldTruncateText}\n {...(item.type === 'checkbox' && {\n checked: isChecked(item.value),\n })}\n data-testid={`${dataTestId}-item-${item.label}`}\n onSelect={() => handleSelect(item)}\n {...(item.type === 'submenu' && {\n positionerProps,\n })}\n />\n );\n }),\n )}\n </MenuGroupContainer>\n );\n })}\n </>\n ) : (\n <>\n <Box p={3}>\n {typeof emptyState === 'string' ? (\n <Box textAlign=\"center\">\n <Text size=\"sm\" variant=\"subtle\" data-testid={`${dataTestId}-empty-state`}>\n {emptyState}\n </Text>\n </Box>\n ) : (\n emptyState\n )}\n </Box>\n </>\n )}\n </Box>\n </CMenu.Content>\n </CMenu.Positioner>\n </Portal>\n </CMenu.Root>\n );\n};\n"],"names":["MenuProvider","useMenuContext","createContext","MenuArrow","forwardRef","props","ref","menu","mergedProps","mergeProps","jsx","ark","MenuArrowTip","MenuItemProvider","useMenuItemContext","MenuItemPropsProvider","useMenuItemPropsContext","MenuCheckboxItem","partialOptionItemProps","localProps","createSplitProps","optionItemProps","optionItemState","MenuContent","presence","usePresenceContext","composeRefs","MenuContextTrigger","MenuIndicator","MenuItem","itemProps","itemState","useEffect","MenuItemGroupProvider","useMenuItemGroupContext","MenuItemGroup","optionalItemGroupProps","itemGroupProps","useId","MenuItemGroupLabel","itemGroup","MenuItemIndicator","MenuItemText","MenuPositioner","MenuRadioItem","partialItemProps","MenuRadioItemGroup","useEffectOnce","cb","savedCallback","useRef","effectGuard","useMenu","id","getRootNode","useEnvironmentContext","dir","useLocaleContext","machineProps","service","useMachine","menu.machine","menu.connect","normalizeProps","MenuMachineProvider","useMenuMachineContext","MenuTriggerItemProvider","useMenuTriggerItemContext","MenuRoot","presenceProps","menuProps","splitPresenceProps","useMenuProps","parentApi","parentMachine","api","usePresence","triggerItemContext","useCallback","PresenceProvider","MenuRootProvider","children","MenuSeparator","MenuTrigger","MenuTriggerItem","getTriggerItemProps","withRootProvider","withContext","createSlotRecipeContext","Menu.RootProvider","Menu.Root","Menu.Trigger","Menu.ContextTrigger","Menu.Positioner","Menu.Separator","Menu.Content","Menu.ArrowTip","Menu.Arrow","Menu.Indicator","Menu.ItemGroup","Menu.ItemGroupLabel","Menu.Item","Menu.TriggerItem","Menu.ItemText","Menu.ItemIndicator","CheckIcon","Menu.CheckboxItem","Menu.RadioItemGroup","Menu.RadioItem","MenuButton","hideCaret","size","text","textProps","variant","onClick","dataTestId","rest","jsxs","Button","e","Text","Flex","Icon","MenuButtonTooltip","tooltipProps","isMenuOpen","isTooltipOpen","setIsTooltipOpen","useState","onMouseEnter","onMouseLeave","Tooltip","Box","label","leftElement","onSelect","shouldTruncateText","type","isSubmenuOpen","setIsSubmenuOpen","handleItemSelect","valueText","listProps","positionerProps","portalled","open","lazyMount","unmountOnExit","Menu","CMenu.TriggerItem","MenuItemLabel","checked","value","disabled","tooltipLabel","checkboxRest","CMenu.Item","Checkbox","selected","defaultRest","Fragment","content","MenuToggleButtons","groupName","hasSelectedItems","onToggle","isGrouped","ClearAllButton","SelectAllButton","buttonProps","submenuTrigger","onOpenChange","contentRef","usePortalContentRef","canSelectAll","canSelectGroups","emptyState","groupSortOrder","loading","maxH","menuItems","minW","onSearch","onListSelect","onSelectAll","searchable","searchPlaceholder","restListProps","isOpen","setIsOpen","searchText","setSearchText","filteredMenuItems","setFilteredMenuItems","groupedItems","useMemo","groups","item","group","entries","groupLabelA","groupLabelB","indexA","indexB","checkboxItems","isChecked","selectedCheckboxItems","handleToggleSelectAll","clear","newSelectedItems","filteredCheckboxItems","cItem","handleSelect","allSelectedItems","filterOptions","searchInput","itemsToFilter","handleSearch","clearSearch","handleOpenChange","CMenu.Root","details","CMenu.Trigger","Portal","CMenu.Positioner","CMenu.Content","TextInput","Spinner","groupLabel","types","isDefaultGroup","itemTypes","MenuGroupContainer","React","CMenu.ItemGroup","CMenu.ItemGroupLabel","items","index"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}
1
+ {"version":3,"file":"menu.component-xDY2PvWy.js","sources":["../../node_modules/@ark-ui/react/dist/components/menu/use-menu-context.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-arrow.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-arrow-tip.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-item-context.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-option-item-props-context.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-checkbox-item.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-content.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-context-trigger.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-indicator.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-item-group-context.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item-group.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item-group-label.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item-indicator.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-item-text.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-positioner.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-radio-item.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-radio-item-group.js","../../node_modules/@ark-ui/react/dist/utils/use-effect-once.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-machine-context.js","../../node_modules/@ark-ui/react/dist/components/menu/use-menu-trigger-item-context.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-root.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-root-provider.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-separator.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-trigger.js","../../node_modules/@ark-ui/react/dist/components/menu/menu-trigger-item.js","../../node_modules/@chakra-ui/react/dist/esm/components/menu/menu.js","../../src/components/Menu/components/MenuButton/menuButton.component.tsx","../../src/components/Menu/components/MenuItem/menuItem.component.tsx","../../src/components/Menu/components/MenuToggleButtons/menuToggleButtons.component.tsx","../../src/components/Menu/menu.component.tsx"],"sourcesContent":["'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuProvider, useMenuContext] = createContext({\n name: \"MenuContext\",\n hookName: \"useMenuContext\",\n providerName: \"<MenuProvider />\",\n strict: false\n});\n\nexport { MenuProvider, useMenuContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuArrow = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getArrowProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuArrow.displayName = \"MenuArrow\";\n\nexport { MenuArrow };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuArrowTip = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getArrowTipProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuArrowTip.displayName = \"MenuArrowTip\";\n\nexport { MenuArrowTip };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuItemProvider, useMenuItemContext] = createContext({\n name: \"MenuItemContext\",\n hookName: \"useMenuItemContext\",\n providerName: \"<MenuItemProvider />\"\n});\n\nexport { MenuItemProvider, useMenuItemContext };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuItemPropsProvider, useMenuItemPropsContext] = createContext({\n name: \"MenuItemPropsContext\",\n hookName: \"useMenuItemPropsContext\",\n providerName: \"<MenuItemPropsProvider />\"\n});\n\nexport { MenuItemPropsProvider, useMenuItemPropsContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { MenuItemProvider } from './use-menu-item-context.js';\nimport { MenuItemPropsProvider } from './use-menu-option-item-props-context.js';\n\nconst MenuCheckboxItem = forwardRef((props, ref) => {\n const [partialOptionItemProps, localProps] = createSplitProps()(props, [\n \"checked\",\n \"closeOnSelect\",\n \"disabled\",\n \"onCheckedChange\",\n \"value\",\n \"valueText\"\n ]);\n const optionItemProps = {\n ...partialOptionItemProps,\n type: \"checkbox\"\n };\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getOptionItemProps(optionItemProps), localProps);\n const optionItemState = menu.getOptionItemState(optionItemProps);\n return /* @__PURE__ */ jsx(MenuItemPropsProvider, { value: optionItemProps, children: /* @__PURE__ */ jsx(MenuItemProvider, { value: optionItemState, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) }) });\n});\nMenuCheckboxItem.displayName = \"MenuCheckboxItem\";\n\nexport { MenuCheckboxItem };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { composeRefs } from '../../utils/compose-refs.js';\nimport { ark } from '../factory.js';\nimport { usePresenceContext } from '../presence/use-presence-context.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuContent = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const presence = usePresenceContext();\n const mergedProps = mergeProps(menu.getContentProps(), presence.getPresenceProps(), props);\n if (presence.unmounted) {\n return null;\n }\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref: composeRefs(presence.ref, ref) });\n});\nMenuContent.displayName = \"MenuContent\";\n\nexport { MenuContent };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuContextTrigger = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getContextTriggerProps(), props);\n return /* @__PURE__ */ jsx(ark.button, { ...mergedProps, ref });\n});\nMenuContextTrigger.displayName = \"MenuContextTrigger\";\n\nexport { MenuContextTrigger };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuIndicator = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getIndicatorProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuIndicator.displayName = \"MenuIndicator\";\n\nexport { MenuIndicator };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef, useEffect } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { MenuItemProvider } from './use-menu-item-context.js';\nimport { MenuItemPropsProvider } from './use-menu-option-item-props-context.js';\n\nconst MenuItem = forwardRef((props, ref) => {\n const [itemProps, localProps] = createSplitProps()(props, [\n \"closeOnSelect\",\n \"disabled\",\n \"value\",\n \"valueText\",\n \"onSelect\"\n ]);\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getItemProps(itemProps), localProps);\n const itemState = menu.getItemState(itemProps);\n useEffect(() => {\n return menu.addItemListener({ id: itemState.id, onSelect: itemProps.onSelect });\n }, [itemState.id, itemProps.onSelect]);\n return /* @__PURE__ */ jsx(MenuItemPropsProvider, { value: itemProps, children: /* @__PURE__ */ jsx(MenuItemProvider, { value: itemState, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) }) });\n});\nMenuItem.displayName = \"MenuItem\";\n\nexport { MenuItem };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuItemGroupProvider, useMenuItemGroupContext] = createContext({\n name: \"MenuItemGroupContext\",\n hookName: \"useMenuItemGroupContext\",\n providerName: \"<MenuItemGroupProvider />\"\n});\n\nexport { MenuItemGroupProvider, useMenuItemGroupContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef, useId } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { MenuItemGroupProvider } from './use-menu-item-group-context.js';\n\nconst MenuItemGroup = forwardRef((props, ref) => {\n const [optionalItemGroupProps, localProps] = createSplitProps()(props, [\"id\"]);\n const menu = useMenuContext();\n const id = useId();\n const itemGroupProps = { id, ...optionalItemGroupProps };\n const mergedProps = mergeProps(menu.getItemGroupProps(itemGroupProps), localProps);\n return /* @__PURE__ */ jsx(MenuItemGroupProvider, { value: itemGroupProps, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nMenuItemGroup.displayName = \"MenuItemGroup\";\n\nexport { MenuItemGroup };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { useMenuItemGroupContext } from './use-menu-item-group-context.js';\n\nconst MenuItemGroupLabel = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const itemGroup = useMenuItemGroupContext();\n const mergedProps = mergeProps(menu.getItemGroupLabelProps({ htmlFor: itemGroup.id }), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuItemGroupLabel.displayName = \"MenuItemGroupLabel\";\n\nexport { MenuItemGroupLabel };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { useMenuItemPropsContext } from './use-menu-option-item-props-context.js';\n\nconst MenuItemIndicator = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const itemProps = useMenuItemPropsContext();\n const mergedProps = mergeProps(menu.getItemIndicatorProps(itemProps), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuItemIndicator.displayName = \"MenuItemIndicator\";\n\nexport { MenuItemIndicator };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { useMenuItemPropsContext } from './use-menu-option-item-props-context.js';\n\nconst MenuItemText = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const itemProps = useMenuItemPropsContext();\n const mergedProps = mergeProps(menu.getItemTextProps(itemProps), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuItemText.displayName = \"MenuItemText\";\n\nexport { MenuItemText };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { usePresenceContext } from '../presence/use-presence-context.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuPositioner = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getPositionerProps(), props);\n const presence = usePresenceContext();\n if (presence.unmounted) {\n return null;\n }\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuPositioner.displayName = \"MenuPositioner\";\n\nexport { MenuPositioner };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { MenuItemProvider } from './use-menu-item-context.js';\nimport { useMenuItemGroupContext } from './use-menu-item-group-context.js';\nimport { MenuItemPropsProvider } from './use-menu-option-item-props-context.js';\n\nconst MenuRadioItem = forwardRef((props, ref) => {\n const [partialItemProps, localProps] = createSplitProps()(props, [\n \"closeOnSelect\",\n \"disabled\",\n \"value\",\n \"valueText\"\n ]);\n const menu = useMenuContext();\n const itemGroup = useMenuItemGroupContext();\n const optionItemProps = {\n ...partialItemProps,\n checked: itemGroup.value === partialItemProps.value,\n type: \"radio\",\n onCheckedChange: () => itemGroup.onValueChange?.({ value: partialItemProps.value })\n };\n const mergedProps = mergeProps(menu.getOptionItemProps(optionItemProps), localProps);\n const optionItemState = menu.getOptionItemState(optionItemProps);\n return /* @__PURE__ */ jsx(MenuItemPropsProvider, { value: optionItemProps, children: /* @__PURE__ */ jsx(MenuItemProvider, { value: optionItemState, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) }) });\n});\nMenuRadioItem.displayName = \"MenuRadioItem\";\n\nexport { MenuRadioItem };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef, useId } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\nimport { MenuItemGroupProvider } from './use-menu-item-group-context.js';\n\nconst MenuRadioItemGroup = forwardRef((props, ref) => {\n const [optionalItemGroupProps, localProps] = createSplitProps()(props, [\n \"id\",\n \"onValueChange\",\n \"value\"\n ]);\n const menu = useMenuContext();\n const id = useId();\n const itemGroupProps = { id, ...optionalItemGroupProps };\n const mergedProps = mergeProps(menu.getItemGroupProps({ id: itemGroupProps.id }), localProps);\n return /* @__PURE__ */ jsx(MenuItemGroupProvider, { value: itemGroupProps, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nMenuRadioItemGroup.displayName = \"MenuRadioItemGroup\";\n\nexport { MenuRadioItemGroup };\n","'use client';\nimport { useRef, useEffect } from 'react';\n\nconst useEffectOnce = (cb) => {\n const savedCallback = useRef(cb);\n const effectGuard = useRef(false);\n useEffect(() => {\n savedCallback.current = cb;\n });\n useEffect(() => {\n if (effectGuard.current !== true) {\n effectGuard.current = true;\n savedCallback.current();\n }\n }, []);\n};\n\nexport { useEffectOnce };\n","'use client';\nimport * as menu from '@zag-js/menu';\nimport { useMachine, normalizeProps } from '@zag-js/react';\nimport { useId } from 'react';\nimport { useEnvironmentContext } from '../../providers/environment/use-environment-context.js';\nimport { useLocaleContext } from '../../providers/locale/use-locale-context.js';\n\nconst useMenu = (props) => {\n const id = useId();\n const { getRootNode } = useEnvironmentContext();\n const { dir } = useLocaleContext();\n const machineProps = {\n id,\n dir,\n getRootNode,\n ...props\n };\n const service = useMachine(menu.machine, machineProps);\n const api = menu.connect(service, normalizeProps);\n return { api, service };\n};\n\nexport { useMenu };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuMachineProvider, useMenuMachineContext] = createContext({\n name: \"MenuMachineContext\",\n hookName: \"useMenuMachineContext\",\n providerName: \"<MenuMachineProvider />\",\n strict: false\n});\n\nexport { MenuMachineProvider, useMenuMachineContext };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [MenuTriggerItemProvider, useMenuTriggerItemContext] = createContext({\n name: \"MenuMachineContext\",\n hookName: \"useMenuMachineContext\",\n providerName: \"<MenuMachineProvider />\",\n strict: false\n});\n\nexport { MenuTriggerItemProvider, useMenuTriggerItemContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { useCallback } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { useEffectOnce } from '../../utils/use-effect-once.js';\nimport { splitPresenceProps } from '../presence/split-presence-props.js';\nimport { usePresence } from '../presence/use-presence.js';\nimport { PresenceProvider } from '../presence/use-presence-context.js';\nimport { useMenu } from './use-menu.js';\nimport { useMenuContext, MenuProvider } from './use-menu-context.js';\nimport { useMenuMachineContext, MenuMachineProvider } from './use-menu-machine-context.js';\nimport { MenuTriggerItemProvider } from './use-menu-trigger-item-context.js';\n\nconst MenuRoot = (props) => {\n const [presenceProps, menuProps] = splitPresenceProps(props);\n const [useMenuProps, localProps] = createSplitProps()(menuProps, [\n \"anchorPoint\",\n \"aria-label\",\n \"closeOnSelect\",\n \"composite\",\n \"defaultHighlightedValue\",\n \"defaultOpen\",\n \"highlightedValue\",\n \"id\",\n \"ids\",\n \"loopFocus\",\n \"navigate\",\n \"onEscapeKeyDown\",\n \"onFocusOutside\",\n \"onHighlightChange\",\n \"onInteractOutside\",\n \"onOpenChange\",\n \"onPointerDownOutside\",\n \"onSelect\",\n \"open\",\n \"positioning\",\n \"typeahead\"\n ]);\n const parentApi = useMenuContext();\n const parentMachine = useMenuMachineContext();\n const { api, service } = useMenu(useMenuProps);\n const presence = usePresence(mergeProps({ present: api.open }, presenceProps));\n useEffectOnce(() => {\n if (!parentMachine) return;\n if (!parentApi) return;\n parentApi.setChild(service);\n api.setParent(parentMachine);\n });\n const triggerItemContext = useCallback(() => parentApi?.getTriggerItemProps(api), [api, parentApi]);\n return /* @__PURE__ */ jsx(MenuTriggerItemProvider, { value: triggerItemContext, children: /* @__PURE__ */ jsx(MenuMachineProvider, { value: service, children: /* @__PURE__ */ jsx(MenuProvider, { value: api, children: /* @__PURE__ */ jsx(PresenceProvider, { value: presence, ...localProps }) }) }) });\n};\n\nexport { MenuRoot };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { useCallback } from 'react';\nimport { useEffectOnce } from '../../utils/use-effect-once.js';\nimport { splitPresenceProps } from '../presence/split-presence-props.js';\nimport { usePresence } from '../presence/use-presence.js';\nimport { PresenceProvider } from '../presence/use-presence-context.js';\nimport { useMenuContext, MenuProvider } from './use-menu-context.js';\nimport { useMenuMachineContext, MenuMachineProvider } from './use-menu-machine-context.js';\nimport { MenuTriggerItemProvider } from './use-menu-trigger-item-context.js';\n\nconst MenuRootProvider = (props) => {\n const parentApi = useMenuContext();\n const parentMachine = useMenuMachineContext();\n const [presenceProps, { value: menu, children }] = splitPresenceProps(props);\n const { api, service } = menu;\n const presence = usePresence(mergeProps({ present: api.open }, presenceProps));\n useEffectOnce(() => {\n if (!parentMachine) return;\n if (!parentApi) return;\n parentApi.setChild(service);\n api.setParent(parentMachine);\n });\n const triggerItemContext = useCallback(() => parentApi?.getTriggerItemProps(api), [api, parentApi]);\n return /* @__PURE__ */ jsx(MenuTriggerItemProvider, { value: triggerItemContext, children: /* @__PURE__ */ jsx(MenuMachineProvider, { value: service, children: /* @__PURE__ */ jsx(MenuProvider, { value: api, children: /* @__PURE__ */ jsx(PresenceProvider, { value: presence, children }) }) }) });\n};\n\nexport { MenuRootProvider };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuSeparator = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const mergedProps = mergeProps(menu.getSeparatorProps(), props);\n return /* @__PURE__ */ jsx(ark.hr, { ...mergedProps, ref });\n});\nMenuSeparator.displayName = \"MenuSeparator\";\n\nexport { MenuSeparator };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { usePresenceContext } from '../presence/use-presence-context.js';\nimport { useMenuContext } from './use-menu-context.js';\n\nconst MenuTrigger = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const presence = usePresenceContext();\n const mergedProps = mergeProps(\n {\n ...menu.getTriggerProps(),\n \"aria-controls\": presence.unmounted ? void 0 : menu.getTriggerProps()[\"aria-controls\"]\n },\n props\n );\n return /* @__PURE__ */ jsx(ark.button, { ...mergedProps, ref });\n});\nMenuTrigger.displayName = \"MenuTrigger\";\n\nexport { MenuTrigger };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useMenuTriggerItemContext } from './use-menu-trigger-item-context.js';\n\nconst MenuTriggerItem = forwardRef((props, ref) => {\n const getTriggerItemProps = useMenuTriggerItemContext();\n const mergedProps = mergeProps(getTriggerItemProps?.() ?? {}, props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nMenuTriggerItem.displayName = \"MenuTriggerItem\";\n\nexport { MenuTriggerItem };\n","\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { Menu } from '@ark-ui/react/menu';\nimport { createSlotRecipeContext } from '../../styled-system/create-slot-recipe-context.js';\nimport { CheckIcon } from '../icons.js';\n\nconst {\n withRootProvider,\n withContext,\n useStyles: useMenuStyles,\n PropsProvider\n} = createSlotRecipeContext({ key: \"menu\" });\nconst MenuRootProvider = withRootProvider(\n Menu.RootProvider\n);\nconst MenuRoot = withRootProvider(Menu.Root, {\n defaultProps: { lazyMount: true, unmountOnExit: true }\n});\nconst MenuPropsProvider = PropsProvider;\nconst MenuTrigger = withContext(\n Menu.Trigger,\n \"trigger\",\n { forwardAsChild: true }\n);\nconst MenuContextTrigger = withContext(Menu.ContextTrigger, \"contextTrigger\", { forwardAsChild: true });\nconst MenuPositioner = withContext(\n Menu.Positioner,\n \"positioner\",\n { forwardAsChild: true }\n);\nconst MenuSeparator = withContext(\n Menu.Separator,\n \"separator\",\n { forwardAsChild: true }\n);\nconst MenuContent = withContext(\n Menu.Content,\n \"content\",\n { forwardAsChild: true }\n);\nconst MenuArrowTip = withContext(\n Menu.ArrowTip,\n \"arrowTip\",\n { forwardAsChild: true }\n);\nconst MenuArrow = withContext(\n Menu.Arrow,\n \"arrow\",\n { forwardAsChild: true, defaultProps: { children: /* @__PURE__ */ jsx(MenuArrowTip, {}) } }\n);\nconst MenuIndicator = withContext(\n Menu.Indicator,\n \"indicator\",\n { forwardAsChild: true }\n);\nconst MenuItemGroup = withContext(\n Menu.ItemGroup,\n \"itemGroup\",\n { forwardAsChild: true }\n);\nconst MenuItemGroupLabel = withContext(Menu.ItemGroupLabel, \"itemGroupLabel\", { forwardAsChild: true });\nconst MenuItem = withContext(\n Menu.Item,\n \"item\",\n { forwardAsChild: true }\n);\nconst MenuTriggerItem = withContext(Menu.TriggerItem, \"item\", { forwardAsChild: true });\nconst MenuItemText = withContext(\n Menu.ItemText,\n \"itemText\",\n { forwardAsChild: true }\n);\nconst MenuItemCommand = withContext(\n \"kbd\",\n \"itemCommand\"\n);\nconst MenuItemIndicator = withContext(Menu.ItemIndicator, \"itemIndicator\", {\n forwardAsChild: true,\n defaultProps: { children: /* @__PURE__ */ jsx(CheckIcon, { boxSize: \"4\" }) }\n});\nconst MenuCheckboxItem = withContext(Menu.CheckboxItem, \"item\", { forwardAsChild: true });\nconst MenuRadioItemGroup = withContext(Menu.RadioItemGroup, \"itemGroup\", { forwardAsChild: true });\nconst MenuRadioItem = withContext(\n Menu.RadioItem,\n \"item\",\n { forwardAsChild: true }\n);\nconst MenuContext = Menu.Context;\nconst MenuItemContext = Menu.ItemContext;\n\nexport { MenuArrow, MenuArrowTip, MenuCheckboxItem, MenuContent, MenuContext, MenuContextTrigger, MenuIndicator, MenuItem, MenuItemCommand, MenuItemContext, MenuItemGroup, MenuItemGroupLabel, MenuItemIndicator, MenuItemText, MenuPositioner, MenuPropsProvider, MenuRadioItem, MenuRadioItemGroup, MenuRoot, MenuRootProvider, MenuSeparator, MenuTrigger, MenuTriggerItem, useMenuStyles };\n","import { Flex } from '@chakra-ui/react/flex';\nimport { Box } from '@chakra-ui/react/box';\nimport { Button, ButtonProps } from 'components/Button/button.component';\nimport { Icon } from 'components/Icon/icon.component';\nimport { Text, TextProps } from 'components/Text/text.component';\nimport { Tooltip, TooltipProps } from 'components/Tooltip/tooltip.component';\nimport React, { useCallback, useEffect, useState } from 'react';\n\nexport interface MenuButtonProps extends Omit<ButtonProps, 'children'> {\n /** If true, the caret will be hidden.\n * @default false\n */\n hideCaret?: boolean;\n /** Text to display in the menu button. */\n text?: string;\n /** Props to customize the text. */\n textProps?: TextProps;\n /** Props to customize the tooltip. */\n tooltipProps?: Omit<TooltipProps, 'children' | 'label' | 'isOpen' | 'onClose'>;\n /** If true, the tooltip will be shown. */\n showTooltip?: boolean;\n /** Determines if the menu is open. */\n isMenuOpen?: boolean;\n}\n\nexport const MenuButton = ({\n hideCaret = false,\n size = 'md',\n text,\n textProps,\n variant,\n onClick,\n ['data-testid']: dataTestId = 'kibble-menu-button',\n ...rest\n}: MenuButtonProps): React.JSX.Element => {\n return (\n <Button\n className=\"Menu__Button\"\n data-testid={dataTestId}\n size={size}\n variant={variant}\n {...rest}\n {...(!text && hideCaret && { paddingInline: 0, paddingBlock: 0 })}\n onClick={(e) => {\n e.stopPropagation();\n onClick?.(e);\n }}\n >\n {text && (\n <Text\n className=\"Menu__ButtonText\"\n data-testid={`${dataTestId}-text`}\n fontWeight=\"semibold\"\n size={size}\n color={variant ? 'inherit' : textProps?.color || 'text.contrast'}\n truncated\n {...textProps}\n >\n {text}\n </Text>\n )}\n {!hideCaret && (\n <Flex className=\"Menu__ButtonCaret\" data-testid={`${dataTestId}-caret`}>\n <Icon name=\"chevronDown\" size={size === 'lg' ? 'sm' : 'xs'} />\n </Flex>\n )}\n </Button>\n );\n};\n\nexport const MenuButtonTooltip = ({ tooltipProps, isMenuOpen, ...rest }: MenuButtonProps): React.JSX.Element => {\n // Needed to manage tooltip open state separately to avoid sticky issues when we open and close menu list\n const [isTooltipOpen, setIsTooltipOpen] = useState(false);\n\n const onMouseEnter = useCallback((): void => {\n if (!isMenuOpen) {\n setIsTooltipOpen(true);\n }\n }, [isMenuOpen]);\n\n const onMouseLeave = useCallback((): void => {\n if (!isMenuOpen) {\n setIsTooltipOpen(false);\n }\n }, [isMenuOpen]);\n\n // Close tooltip when menu opens\n useEffect(() => {\n if (isMenuOpen) {\n setIsTooltipOpen(false);\n }\n }, [isMenuOpen]);\n\n return (\n <Tooltip label={rest.text || ''} open={isTooltipOpen && !isMenuOpen} {...tooltipProps}>\n <Box\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n setIsTooltipOpen(false);\n }}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n <MenuButton {...rest} />\n </Box>\n </Tooltip>\n );\n};\n","import { Flex } from '@chakra-ui/react/flex';\nimport { Menu as CMenu } from '@chakra-ui/react/menu';\nimport React, { useCallback, useState } from 'react';\nimport { Text } from 'components/Text/text.component';\nimport { MenuItemType } from './menuItem.types';\nimport { Menu, MenuProps } from 'components/Menu';\nimport { TypographyVariant } from 'shared/types/typography';\nimport { Checkbox } from 'components/Checkbox/checkbox.component';\nimport { Icon } from 'components/Icon/icon.component';\nimport { Tooltip } from 'components/Tooltip';\n\ninterface BaseMenuItemProps {\n /** Label to display in the menu item. */\n label?: React.ReactNode;\n /** Left element to display in the menu item. */\n leftElement?: React.ReactNode;\n /** Group label to display in the menu item. */\n groupLabel?: string;\n /** Callback function to be called when the menu item is selected. */\n onSelect?: (value: string) => void;\n /** If true, the text will be truncated. */\n shouldTruncateText?: boolean;\n /** Type of the menu item.\n * @default default\n */\n type?: MenuItemType;\n /** Value of the menu item. */\n value: string;\n /** Variant of the menu item. */\n variant?: TypographyVariant;\n /** Data test id for the menu item.\n * @default kibble-menu-item\n */\n 'data-testid'?: string;\n}\n\ninterface DefaultMenuItemProps extends Omit<CMenu.ItemProps, 'onSelect' | 'isDisabled'> {\n /** Type of the menu item.\n * @default default\n */\n type?: 'default';\n /** If true, the menu item will be selected. */\n selected?: boolean;\n /** Tooltip label to display in the menu item. */\n tooltipLabel?: string;\n}\n\ninterface CheckboxMenuItemProps extends Omit<CMenu.CheckboxItemProps, 'onSelect'> {\n /** Type of the menu item.\n * @default checkbox\n */\n type: 'checkbox';\n /** If true, the checkbox will be checked. */\n checked: boolean;\n /** Tooltip label to display in the menu item. */\n tooltipLabel?: string;\n}\n\ninterface SubmenuMenuItemProps extends Omit<MenuProps, 'children' | 'buttonProps'> {\n /** Type of the menu item.\n * @default submenu\n */\n type: 'submenu';\n /** Value text for keyboard navigation. */\n valueText?: string;\n}\n\nexport type MenuItemProps = BaseMenuItemProps & (DefaultMenuItemProps | CheckboxMenuItemProps | SubmenuMenuItemProps);\n\nexport const MenuItem = ({\n label,\n leftElement,\n onSelect,\n shouldTruncateText,\n type = 'default',\n variant,\n ['data-testid']: dataTestId = 'kibble-menu-item',\n ...rest\n}: MenuItemProps): React.JSX.Element => {\n const [isSubmenuOpen, setIsSubmenuOpen] = useState(false);\n\n const handleItemSelect = useCallback(() => {\n if (onSelect) {\n onSelect(rest.value);\n }\n }, [onSelect, rest.value]);\n\n if (type === 'submenu') {\n const {\n valueText,\n listProps,\n positionerProps,\n portalled = true,\n open,\n lazyMount = true,\n unmountOnExit = true,\n } = rest as Omit<SubmenuMenuItemProps, 'type'>;\n\n return (\n <Menu\n lazyMount={lazyMount}\n unmountOnExit={unmountOnExit}\n submenuTrigger={\n <CMenu.TriggerItem\n className=\"Menu__Item--Submenu\"\n data-testid={`${dataTestId}-submenu`}\n justifyContent=\"space-between\"\n aria-valuetext={valueText}\n position=\"relative\"\n onClick={(): void => {\n // If the submenu is controlled, call the onSelect callback passed to the menu\n if (open !== undefined && onSelect) {\n onSelect(rest.value);\n } else {\n // Otherwise, toggle the internalsubmenu open state\n setIsSubmenuOpen(!isSubmenuOpen);\n }\n }}\n >\n <MenuItemLabel\n label={label}\n leftElement={leftElement}\n shouldTruncateText={shouldTruncateText}\n variant={variant}\n />\n <Icon name=\"chevronRight\" size=\"sm\" />\n </CMenu.TriggerItem>\n }\n portalled={portalled}\n open={open !== undefined ? open : isSubmenuOpen}\n listProps={listProps}\n positionerProps={positionerProps}\n />\n );\n }\n\n if (type === 'checkbox') {\n const { checked, value, disabled, tooltipLabel, ...checkboxRest } = rest as CheckboxMenuItemProps;\n return (\n <CMenu.Item\n className=\"Menu__Item--Checkbox\"\n data-testid={`${dataTestId}-checkbox`}\n value={value}\n closeOnSelect={false}\n onSelect={disabled ? undefined : handleItemSelect}\n gap={3}\n disabled={disabled}\n {...checkboxRest}\n >\n <Checkbox checked={!!checked} disabled={disabled} size=\"md\" fullWidth={false} />\n <MenuItemLabel\n label={label}\n leftElement={leftElement}\n shouldTruncateText={shouldTruncateText}\n variant={variant}\n tooltipLabel={tooltipLabel}\n />\n </CMenu.Item>\n );\n }\n\n if (type === 'default') {\n const { selected = false, disabled, value, tooltipLabel, ...defaultRest } = rest as DefaultMenuItemProps;\n return (\n <CMenu.Item\n className=\"Menu__Item--Default\"\n data-testid={`${dataTestId}-default`}\n value={value}\n onSelect={disabled ? undefined : handleItemSelect}\n disabled={disabled}\n {...(selected && { bgColor: 'background.secondaryAlpha.hover' })}\n {...defaultRest}\n >\n <MenuItemLabel\n label={label}\n leftElement={leftElement}\n shouldTruncateText={shouldTruncateText}\n variant={selected ? 'info' : variant}\n tooltipLabel={tooltipLabel}\n />\n </CMenu.Item>\n );\n }\n\n return <></>;\n};\n\nconst MenuItemLabel = ({\n label,\n leftElement,\n shouldTruncateText,\n variant,\n tooltipLabel,\n}: {\n label?: React.ReactNode;\n leftElement?: React.ReactNode;\n shouldTruncateText?: boolean;\n variant?: TypographyVariant;\n tooltipLabel?: string;\n}): React.JSX.Element => {\n const content = (\n <Flex className=\"Menu__ItemLabel\" alignItems=\"center\" gap={3}>\n {leftElement}\n {typeof label === 'string' ? (\n <Text size=\"sm\" truncated={shouldTruncateText} variant={variant}>\n {label}\n </Text>\n ) : (\n label\n )}\n </Flex>\n );\n return tooltipLabel ? <Tooltip label={tooltipLabel}>{content}</Tooltip> : content;\n};\n","import { Box } from '@chakra-ui/react/box';\nimport { Flex } from '@chakra-ui/react/flex';\nimport { Button } from 'components/Button/button.component';\n\ninterface MenuToggleButtonsProps {\n /** Determines if there are selected items. */\n hasSelectedItems?: boolean;\n /** Name of the group. */\n groupName?: string;\n /** Callback function to toggle the selected items. */\n onToggle: ({ groupName, clear }: { clear: boolean; groupName?: string }) => void;\n /** Data test id for the menu toggle buttons.\n * @default kibble-menu-toggle-buttons\n */\n 'data-testid'?: string;\n}\n\nexport const MenuToggleButtons = ({\n groupName,\n hasSelectedItems = false,\n onToggle,\n ['data-testid']: dataTestId = 'kibble-menu-toggle-buttons',\n}: MenuToggleButtonsProps): React.JSX.Element => {\n const isGrouped = !!groupName;\n return (\n <Box className=\"Menu__ToggleButtons\" data-testid={dataTestId} {...(isGrouped && { textAlign: 'right', w: '50%' })}>\n {isGrouped ? (\n <>\n {hasSelectedItems ? (\n <ClearAllButton hasSelectedItems={hasSelectedItems} groupName={groupName} onToggle={onToggle} />\n ) : (\n <SelectAllButton groupName={groupName} onToggle={onToggle} />\n )}\n </>\n ) : (\n <Flex justifyContent=\"space-between\">\n <SelectAllButton groupName={groupName} onToggle={onToggle} />\n <ClearAllButton hasSelectedItems={hasSelectedItems} groupName={groupName} onToggle={onToggle} />\n </Flex>\n )}\n </Box>\n );\n};\n\nconst SelectAllButton = ({ groupName, onToggle }: MenuToggleButtonsProps): React.JSX.Element => {\n return (\n <Button variant=\"ghost\" size=\"xs\" onClick={(): void => onToggle({ groupName, clear: false })}>\n Select All\n </Button>\n );\n};\n\nconst ClearAllButton = ({ hasSelectedItems, groupName, onToggle }: MenuToggleButtonsProps): React.JSX.Element => {\n return (\n <Button\n variant=\"ghostNeutral\"\n iconName=\"arrowCircle\"\n size=\"xs\"\n disabled={!hasSelectedItems}\n onClick={(): void => onToggle({ groupName, clear: true })}\n >\n Clear All\n </Button>\n );\n};\n","import React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { Menu as CMenu } from '@chakra-ui/react/menu';\nimport { Portal } from '@chakra-ui/react/portal';\nimport { MenuButton, MenuButtonTooltip, MenuButtonProps } from './components/MenuButton/menuButton.component';\nimport { MenuItem, MenuItemProps } from './components/MenuItem/menuItem.component';\nimport { Box } from '@chakra-ui/react/box';\nimport { Text } from 'components/Text/text.component';\nimport { TextInput } from 'components/TextInput/textInput.component';\nimport { Flex } from '@chakra-ui/react/flex';\nimport { Spinner } from 'components/Spinner/spinner.component';\nimport { MenuToggleButtons } from './components/MenuToggleButtons/menuToggleButtons.component';\nimport { usePortalContentRef } from 'hooks/usePortalContentRef';\nimport { MenuListOnOpenChangeProps } from './menu.types';\nimport { MenuListProps } from './components/MenuList/menuList.types';\n\nexport interface MenuProps extends Omit<CMenu.RootProps, 'children' | 'onSelect' | 'onOpenChange'> {\n /** Props to customize the menu button trigger. */\n buttonProps?: MenuButtonProps;\n /** Props to customize the menu list. */\n listProps?: MenuListProps;\n /** Props to customize the positioner of the menu. */\n positionerProps?: CMenu.PositionerProps;\n /**\n * If true, the menu will be rendered in a Portal.\n * @default false\n */\n portalled?: boolean;\n /** Callback function to be called when the menu is opened or closed. */\n onOpenChange?: ({ open, allSelectedItems }: MenuListOnOpenChangeProps) => void;\n /** Data test id for the menu.\n * @default kibble-menu\n */\n 'data-testid'?: string;\n}\n\ninterface InternalMenuProps extends MenuProps {\n /** React element to be used as the trigger for the submenu.\n * @internal\n */\n submenuTrigger?: React.ReactNode;\n}\n\nexport const Menu = ({\n buttonProps,\n listProps,\n positionerProps,\n portalled = false,\n submenuTrigger,\n lazyMount = true,\n onOpenChange,\n ['data-testid']: dataTestId = 'kibble-menu',\n ...rest\n}: InternalMenuProps): React.JSX.Element => {\n const { contentRef } = usePortalContentRef();\n const {\n canSelectAll,\n canSelectGroups,\n emptyState = 'No results found',\n groupSortOrder,\n loading,\n maxH = '480px',\n menuItems = [],\n minW = '240px',\n onSearch,\n onSelect: onListSelect,\n onSelectAll,\n searchable,\n searchPlaceholder = 'Search...',\n shouldTruncateText,\n ...restListProps\n } = listProps || {};\n const [isOpen, setIsOpen] = useState(false);\n const [searchText, setSearchText] = useState<string>('');\n const [filteredMenuItems, setFilteredMenuItems] = useState<MenuItemProps[]>(menuItems);\n\n // Menu Items\n const groupedItems = useMemo(() => {\n const groups: Record<string, Record<string, MenuItemProps[]>> = {};\n\n filteredMenuItems?.forEach((item) => {\n const group = item.groupLabel || 'default';\n // Default and submenu items are grouped under \"default\"\n const type = item.type === 'checkbox' ? 'checkbox' : 'default';\n\n if (!groups[group]) {\n groups[group] = {};\n }\n\n if (!groups[group][type]) {\n groups[group][type] = [];\n }\n\n groups[group][type].push(item);\n });\n\n return groups;\n }, [filteredMenuItems]);\n\n const groups = useMemo(() => {\n const entries = Object.entries(groupedItems);\n\n if (!groupSortOrder || groupSortOrder.length === 0) {\n return entries;\n }\n\n // Sort groups based on groupSortOrder\n return entries.sort(([groupLabelA], [groupLabelB]) => {\n const indexA = groupSortOrder.indexOf(groupLabelA);\n const indexB = groupSortOrder.indexOf(groupLabelB);\n\n // If both groups are in the sort order, sort by their index\n if (indexA !== -1 && indexB !== -1) {\n return indexA - indexB;\n }\n\n // If only groupA is in the sort order, it comes first\n if (indexA !== -1) {\n return -1;\n }\n\n // If only groupB is in the sort order, it comes first\n if (indexB !== -1) {\n return 1;\n }\n\n // If neither group is in the sort order, maintain original order\n return 0;\n });\n }, [groupedItems, groupSortOrder]);\n\n // Checkbox State Management\n const checkboxItems = useMemo(() => menuItems?.filter((item) => item.type === 'checkbox') || [], [menuItems]);\n\n // Helper functions for checkbox state management\n const isChecked = useCallback(\n (value: string) => {\n return checkboxItems.some((item) => item.value === value && item.checked);\n },\n [checkboxItems],\n );\n\n // Helper function to get selected menu items based on selected values\n const selectedCheckboxItems = useMemo(() => {\n return checkboxItems.filter((item) => item.checked);\n }, [checkboxItems]);\n\n const handleToggleSelectAll = useCallback(\n ({ groupName, clear }: { groupName?: string; clear: boolean }) => {\n let newSelectedItems: MenuItemProps[];\n // Only allow checkbox items that are not disabled to be toggled\n const filteredCheckboxItems = filteredMenuItems.filter((item) => item.type === 'checkbox' && !item.disabled);\n\n // If the group name is provided, only toggle the items in the group\n if (groupName) {\n // Get the items in the group\n const groupedItems = filteredCheckboxItems.filter((item) => item.groupLabel === groupName);\n\n // If the clear flag is true, remove the items in the group\n newSelectedItems = clear\n ? selectedCheckboxItems.filter((cItem) => cItem.groupLabel !== groupName)\n : // Otherwise, add the items in the group to the selected items\n [...new Set([...selectedCheckboxItems, ...groupedItems])];\n } else {\n // If the group name is not provided, toggle all the items\n newSelectedItems = clear\n ? []\n : filteredCheckboxItems.map((item) => {\n return { ...item, checked: true };\n });\n }\n\n // Call the onSelectAll callback with the updated values\n onSelectAll?.({ allSelectedItems: newSelectedItems });\n },\n [onSelectAll, filteredMenuItems, selectedCheckboxItems],\n );\n\n const handleSelect = useCallback(\n (item: MenuItemProps) => {\n // If the item is a checkbox, update the selected checkbox values\n if (item.type === 'checkbox') {\n // Get the new list of selected checkbox items\n const allSelectedItems = isChecked(item.value)\n ? selectedCheckboxItems.filter((cItem) => cItem.value !== item.value)\n : [...selectedCheckboxItems, item];\n\n // If the item has it's own onSelect, call it with just the item value\n if (item.onSelect) {\n item.onSelect(item.value);\n return;\n }\n\n // Otherwise call the onSelect callback with the updated values\n onListSelect?.({ item, allSelectedItems });\n return;\n }\n\n // Otherwise this is a default item, so first check if the item has it's own onSelect callback\n if (item.onSelect) {\n item.onSelect(item.value);\n return;\n }\n\n // Otherwise call the onSelect callback with just the item itself\n onListSelect?.({ item, allSelectedItems: [item] });\n },\n [onListSelect, isChecked, selectedCheckboxItems],\n );\n\n // Search\n const filterOptions = useCallback((searchInput: string, itemsToFilter: MenuItemProps[]) => {\n if (searchInput === '' || !searchInput) {\n return itemsToFilter;\n }\n\n return itemsToFilter.filter((item): boolean => {\n const labelText = typeof item.label === 'string' ? item.label : item.valueText;\n\n return !!labelText?.toLowerCase().includes(searchInput.toLowerCase());\n });\n }, []);\n\n const handleSearch = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const searchInput = e.target.value;\n setSearchText(searchInput);\n\n if (onSearch) {\n onSearch(e);\n }\n },\n [onSearch],\n );\n\n const clearSearch = useCallback(() => {\n setSearchText('');\n\n if (onSearch) {\n onSearch({\n target: { value: '' },\n } as React.ChangeEvent<HTMLInputElement>);\n }\n }, [onSearch]);\n\n // Cleanup\n const handleOpenChange = useCallback(\n (open: boolean) => {\n setIsOpen(open); // Track open state\n if (!open) {\n setSearchText('');\n setFilteredMenuItems(menuItems);\n }\n\n if (onOpenChange) {\n onOpenChange({ open, allSelectedItems: selectedCheckboxItems });\n }\n },\n [menuItems, onOpenChange, selectedCheckboxItems],\n );\n\n useEffect(() => {\n if (onSearch) {\n setFilteredMenuItems(menuItems);\n } else {\n setFilteredMenuItems(filterOptions(searchText, menuItems));\n }\n }, [searchText, onSearch, filterOptions, menuItems]);\n\n return (\n <CMenu.Root\n lazyMount={lazyMount}\n unmountOnExit={lazyMount}\n onOpenChange={(details) => {\n handleOpenChange(details.open);\n }}\n {...rest}\n >\n {!submenuTrigger ? (\n <CMenu.Trigger asChild className=\"Menu__Trigger\" data-testid={`${dataTestId}-trigger`}>\n {buttonProps?.showTooltip ? (\n <MenuButtonTooltip isMenuOpen={isOpen} {...buttonProps} />\n ) : (\n <MenuButton {...buttonProps} />\n )}\n </CMenu.Trigger>\n ) : (\n submenuTrigger\n )}\n <Portal disabled={!portalled} container={contentRef || undefined}>\n <CMenu.Positioner className=\"Menu\" data-testid={dataTestId} {...positionerProps}>\n <CMenu.Content\n className=\"Menu__Content\"\n data-testid={`${dataTestId}-content`}\n maxH={maxH}\n minW={minW}\n {...restListProps}\n {...(searchable && { pt: '0' })}\n onClick={(e) => {\n e.stopPropagation();\n restListProps?.onClick?.(e);\n }}\n >\n {searchable && (\n <Box\n className=\"Menu__SearchBarContainer\"\n data-testid={`${dataTestId}-search-bar-container`}\n px={3}\n py={2}\n position=\"sticky\"\n top={0}\n bg=\"background\"\n zIndex=\"docked\"\n >\n <TextInput\n className=\"Menu__SearchBar\"\n data-testid={`${dataTestId}-search-bar`}\n placeholder={searchPlaceholder}\n onChange={handleSearch}\n size=\"sm\"\n value={searchText}\n clearable\n onClear={clearSearch}\n // Necessary to prevent the Menu from intercepting the Space key press and opening the menu when the search input is focused\n onKeyDown={(e) => {\n if (e.code === 'Space') {\n e.stopPropagation();\n }\n }}\n />\n </Box>\n )}\n {canSelectAll && (\n <Box\n className=\"Menu__CheckboxGroupHeader\"\n data-testid={`${dataTestId}-checkbox-group-header`}\n px={3}\n mt={searchable ? 1 : 2}\n >\n {canSelectAll && !!checkboxItems.length && (\n <MenuToggleButtons\n onToggle={handleToggleSelectAll}\n hasSelectedItems={!!selectedCheckboxItems.length}\n />\n )}\n </Box>\n )}\n {loading && (\n <Flex justifyContent=\"center\" py={5}>\n <Spinner fullScreen />\n </Flex>\n )}\n <Box className=\"Menu__List\" data-testid={`${dataTestId}-list`}>\n {groups.length ? (\n <>\n {groups.map(([groupLabel, types]) => {\n const isDefaultGroup = groupLabel === 'default';\n const itemTypes = Object.keys(types);\n const MenuGroupContainer = !isDefaultGroup ? CMenu.ItemGroup : React.Fragment;\n const groupValues = types['checkbox']?.map((item) => item.value);\n const hasSelectedItems = groupValues?.some((value) =>\n selectedCheckboxItems.some((item) => item.value === value && item.checked),\n );\n return (\n <MenuGroupContainer key={groupLabel}>\n {!isDefaultGroup && (\n <CMenu.ItemGroupLabel>\n <Flex alignItems=\"center\" justifyContent=\"space-between\">\n {groupLabel}\n {canSelectGroups && itemTypes.includes('checkbox') && (\n <MenuToggleButtons\n groupName={groupLabel}\n onToggle={handleToggleSelectAll}\n hasSelectedItems={hasSelectedItems}\n />\n )}\n </Flex>\n </CMenu.ItemGroupLabel>\n )}\n {Object.entries(types).map(([type, items]) =>\n items.map((item, index) => {\n const { groupLabel, ...rest } = item;\n return (\n <MenuItem\n key={`menu-item-${groupLabel}-${type}-${index}`}\n shouldTruncateText={shouldTruncateText}\n {...(item.type === 'checkbox' && {\n checked: isChecked(item.value),\n })}\n onSelect={() => handleSelect(item)}\n {...(item.type === 'submenu' && {\n positionerProps,\n })}\n {...rest}\n data-testid={`${dataTestId}-item-${item.label}`}\n />\n );\n }),\n )}\n </MenuGroupContainer>\n );\n })}\n </>\n ) : (\n <>\n <Box p={3}>\n {typeof emptyState === 'string' ? (\n <Box textAlign=\"center\">\n <Text size=\"sm\" variant=\"subtle\" data-testid={`${dataTestId}-empty-state`}>\n {emptyState}\n </Text>\n </Box>\n ) : (\n emptyState\n )}\n </Box>\n </>\n )}\n </Box>\n </CMenu.Content>\n </CMenu.Positioner>\n </Portal>\n </CMenu.Root>\n );\n};\n"],"names":["MenuProvider","useMenuContext","createContext","MenuArrow","forwardRef","props","ref","menu","mergedProps","mergeProps","jsx","ark","MenuArrowTip","MenuItemProvider","useMenuItemContext","MenuItemPropsProvider","useMenuItemPropsContext","MenuCheckboxItem","partialOptionItemProps","localProps","createSplitProps","optionItemProps","optionItemState","MenuContent","presence","usePresenceContext","composeRefs","MenuContextTrigger","MenuIndicator","MenuItem","itemProps","itemState","useEffect","MenuItemGroupProvider","useMenuItemGroupContext","MenuItemGroup","optionalItemGroupProps","itemGroupProps","useId","MenuItemGroupLabel","itemGroup","MenuItemIndicator","MenuItemText","MenuPositioner","MenuRadioItem","partialItemProps","MenuRadioItemGroup","useEffectOnce","cb","savedCallback","useRef","effectGuard","useMenu","id","getRootNode","useEnvironmentContext","dir","useLocaleContext","machineProps","service","useMachine","menu.machine","menu.connect","normalizeProps","MenuMachineProvider","useMenuMachineContext","MenuTriggerItemProvider","useMenuTriggerItemContext","MenuRoot","presenceProps","menuProps","splitPresenceProps","useMenuProps","parentApi","parentMachine","api","usePresence","triggerItemContext","useCallback","PresenceProvider","MenuRootProvider","children","MenuSeparator","MenuTrigger","MenuTriggerItem","getTriggerItemProps","withRootProvider","withContext","createSlotRecipeContext","Menu.RootProvider","Menu.Root","Menu.Trigger","Menu.ContextTrigger","Menu.Positioner","Menu.Separator","Menu.Content","Menu.ArrowTip","Menu.Arrow","Menu.Indicator","Menu.ItemGroup","Menu.ItemGroupLabel","Menu.Item","Menu.TriggerItem","Menu.ItemText","Menu.ItemIndicator","CheckIcon","Menu.CheckboxItem","Menu.RadioItemGroup","Menu.RadioItem","MenuButton","hideCaret","size","text","textProps","variant","onClick","dataTestId","rest","jsxs","Button","e","Text","Flex","Icon","MenuButtonTooltip","tooltipProps","isMenuOpen","isTooltipOpen","setIsTooltipOpen","useState","onMouseEnter","onMouseLeave","Tooltip","Box","label","leftElement","onSelect","shouldTruncateText","type","isSubmenuOpen","setIsSubmenuOpen","handleItemSelect","valueText","listProps","positionerProps","portalled","open","lazyMount","unmountOnExit","Menu","CMenu.TriggerItem","MenuItemLabel","checked","value","disabled","tooltipLabel","checkboxRest","CMenu.Item","Checkbox","selected","defaultRest","Fragment","content","MenuToggleButtons","groupName","hasSelectedItems","onToggle","isGrouped","ClearAllButton","SelectAllButton","buttonProps","submenuTrigger","onOpenChange","contentRef","usePortalContentRef","canSelectAll","canSelectGroups","emptyState","groupSortOrder","loading","maxH","menuItems","minW","onSearch","onListSelect","onSelectAll","searchable","searchPlaceholder","restListProps","isOpen","setIsOpen","searchText","setSearchText","filteredMenuItems","setFilteredMenuItems","groupedItems","useMemo","groups","item","group","entries","groupLabelA","groupLabelB","indexA","indexB","checkboxItems","isChecked","selectedCheckboxItems","handleToggleSelectAll","clear","newSelectedItems","filteredCheckboxItems","cItem","handleSelect","allSelectedItems","filterOptions","searchInput","itemsToFilter","handleSearch","clearSearch","handleOpenChange","CMenu.Root","details","CMenu.Trigger","Portal","CMenu.Positioner","CMenu.Content","TextInput","Spinner","groupLabel","types","isDefaultGroup","itemTypes","MenuGroupContainer","React","CMenu.ItemGroup","CMenu.ItemGroupLabel","items","index"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}
@@ -1,2 +1,2 @@
1
- "use strict";const s=require("./jsx-runtime-BjDatQAs.js"),g=require("./withFormControl-wZA87Sd4.js"),d=require("react"),T=require("./text.component-CeioUl0G.js"),B=require("./create-slot-recipe-context-HXE1VazG.js"),F=require("./radiomark-Cj0NEJeE.js"),i=require("./use-locale-context-ym21RUxU.js"),v=require("./index-D6HBfqAu.js"),m=require("./index-CQURjLlA.js"),M=require("./buttonGroup.component-B_9-EN21.js"),h=require("./button.recipe-flk0XJTS.js"),O=require("./stack-BE-r1yqU.js"),D=o=>o&&o.__esModule?o:{default:o},V=D(d),[E,x]=i.createContext({name:"RadioGroupContext",hookName:"useRadioGroupContext",providerName:"<RadioGroupProvider />"}),[J,K]=i.createContext({name:"RadioGroupItemContext",hookName:"useRadioGroupItemContext",providerName:"<RadioGroupItemProvider />"}),[Q,f]=i.createContext({name:"RadioGroupItemPropsContext",hookName:"useRadioGroupItemPropsContext",providerName:"<RadioGroupItemPropsProvider />"}),y=d.forwardRef((o,r)=>{const[t,e]=i.createSplitProps()(o,["value","disabled","invalid"]),a=x(),n=m.mergeProps(a.getItemProps(t),e),u=a.getItemState(t);return s.jsxRuntimeExports.jsx(J,{value:u,children:s.jsxRuntimeExports.jsx(Q,{value:t,children:s.jsxRuntimeExports.jsx(i.ark.label,{...n,ref:r})})})});y.displayName="RadioGroupItem";const U=o=>o.children(K()),C=d.forwardRef((o,r)=>{const t=x(),e=f(),a=m.mergeProps(t.getItemControlProps(e),o);return s.jsxRuntimeExports.jsx(i.ark.div,{...a,ref:r})});C.displayName="RadioGroupItemControl";const w=d.forwardRef((o,r)=>{const t=x(),e=f(),a=m.mergeProps(t.getItemHiddenInputProps(e),o);return s.jsxRuntimeExports.jsx(i.ark.input,{...a,ref:r})});w.displayName="RadioGroupItemHiddenInput";const b=d.forwardRef((o,r)=>{const t=x(),e=f(),a=m.mergeProps(t.getItemTextProps(e),o);return s.jsxRuntimeExports.jsx(i.ark.span,{...a,ref:r})});b.displayName="RadioGroupItemText";const k=d.forwardRef((o,r)=>{const t=x(),e=m.mergeProps(t.getLabelProps(),o);return s.jsxRuntimeExports.jsx(i.ark.label,{...e,ref:r})});k.displayName="RadioGroupLabel";const X=o=>{const r=d.useId(),{getRootNode:t}=i.useEnvironmentContext(),{dir:e}=i.useLocaleContext(),a={id:r,dir:e,getRootNode:t,...o},n=i.useMachine(v.machine,a);return v.connect(n,i.normalizeProps)},N=d.forwardRef((o,r)=>{const[t,e]=i.createSplitProps()(o,["defaultValue","disabled","form","id","ids","name","onValueChange","orientation","readOnly","value"]),a=X(t),n=m.mergeProps(a.getRootProps(),e);return s.jsxRuntimeExports.jsx(E,{value:a,children:s.jsxRuntimeExports.jsx(i.ark.div,{...n,ref:r})})});N.displayName="RadioGroupRoot";const _=d.forwardRef((o,r)=>{const[{value:t},e]=i.createSplitProps()(o,["value"]),a=m.mergeProps(t.getRootProps(),e);return s.jsxRuntimeExports.jsx(E,{value:t,children:s.jsxRuntimeExports.jsx(i.ark.div,{...a,ref:r})})});_.displayName="RadioGroupRootProvider";const{withProvider:S,withContext:G,useStyles:Y}=B.createSlotRecipeContext({key:"radioGroup"});S(_,"root",{forwardAsChild:!0});const Z=S(N,"root",{forwardAsChild:!0});G(k,"label",{forwardAsChild:!0});const z=G(y,"item",{forwardAsChild:!0}),oo=G(b,"itemText",{forwardAsChild:!0});G(C,"itemControl",{forwardAsChild:!0});const to=d.forwardRef(function(r,t){const e=Y();return s.jsxRuntimeExports.jsx(U,{children:a=>s.jsxRuntimeExports.jsx(C,{asChild:!0,children:s.jsxRuntimeExports.jsx(F.Radiomark,{ref:t,unstyled:!0,...r,checked:a.checked,disabled:a.disabled,css:[e.itemControl,r.css]})})})}),eo=w,q=V.default.forwardRef(({children:o,disabled:r=!1,invalid:t=!1,onContrast:e=!1,radioRef:a,radioType:n,rootRef:u,size:l="md",["data-testid"]:p="kibble-radio",...R},P)=>s.jsxRuntimeExports.jsxs(z,{className:"Radio","data-testid":p,invalid:t,disabled:r,ref:u,...R,children:[s.jsxRuntimeExports.jsx(eo,{className:"Radio__Input","data-testid":`${p}-input`,ref:a||P}),s.jsxRuntimeExports.jsx(to,{className:"Radio__Indicator","data-testid":`${p}-indicator`}),o&&s.jsxRuntimeExports.jsx(oo,{className:"Radio__Text","data-testid":`${p}-label`,...n==="cards"&&typeof o!="string"&&{mt:"-4px"},children:typeof o=="string"?s.jsxRuntimeExports.jsx(T.WrappedText,{size:l,lineHeight:"unset",variant:e?"onContrast":"default",children:o}):o})]}));q.displayName="Radio";const ro=g.withFormControl(q),$=({radios:o,defaultValue:r,direction:t="column",disabled:e,invalid:a,onContrast:n,size:u="md",radioType:l="default",onValueChange:p,value:R,gap:P=2,radioAlignment:A="start",["data-testid"]:H="kibble-radio-group",...L})=>{const W=n?"onContrast":"default";return s.jsxRuntimeExports.jsx(Z,{className:"RadioGroup","data-testid":H,disabled:e,defaultValue:r,value:R,size:u,variant:W,withCard:l==="cards",radioAlignment:A,onValueChange:p,...L,children:l==="buttons"?s.jsxRuntimeExports.jsx(M.ButtonGroup,{onContrast:n,variant:"secondarySubtle",size:u,buttons:o.map((c,j)=>{const I=r===c.value||R===c.value;return{key:`button-radio-${j}`,children:c.children,active:I,disabled:e,"data-testid":c["data-testid"],onClick:()=>p?.({value:c.value}),...e&&I&&{...n?h.secondarySubtleOnContrastButtonStyles:h.secondarySubtleButtonStyles}}})}):s.jsxRuntimeExports.jsx(O.Stack,{gap:P,direction:t,children:o.map((c,j)=>s.jsxRuntimeExports.jsx(ro,{invalid:a,disabled:e,size:u,radioType:l,onContrast:n,...t==="row"&&{fullWidth:!1},...c},`radio-${j}`))})})};$.displayName="RadioGroup";const so=g.withFormControl($),ao=["default","buttons","cards"],io=["start","center","end"];exports.WrappedRadioGroup=so;exports.radioAlignments=io;exports.radioTypes=ao;
2
- //# sourceMappingURL=radioGroup.types-BGUjKomB.js.map
1
+ "use strict";const s=require("./jsx-runtime-BjDatQAs.js"),g=require("./withFormControl-wZA87Sd4.js"),d=require("react"),T=require("./text.component-CeioUl0G.js"),B=require("./create-slot-recipe-context-HXE1VazG.js"),F=require("./radiomark-Cj0NEJeE.js"),i=require("./use-locale-context-ym21RUxU.js"),v=require("./index-D6HBfqAu.js"),m=require("./index-CQURjLlA.js"),M=require("./buttonGroup.component-BV17ZdL4.js"),h=require("./button.recipe-flk0XJTS.js"),O=require("./stack-BE-r1yqU.js"),D=o=>o&&o.__esModule?o:{default:o},V=D(d),[E,x]=i.createContext({name:"RadioGroupContext",hookName:"useRadioGroupContext",providerName:"<RadioGroupProvider />"}),[J,K]=i.createContext({name:"RadioGroupItemContext",hookName:"useRadioGroupItemContext",providerName:"<RadioGroupItemProvider />"}),[Q,f]=i.createContext({name:"RadioGroupItemPropsContext",hookName:"useRadioGroupItemPropsContext",providerName:"<RadioGroupItemPropsProvider />"}),y=d.forwardRef((o,r)=>{const[t,e]=i.createSplitProps()(o,["value","disabled","invalid"]),a=x(),n=m.mergeProps(a.getItemProps(t),e),u=a.getItemState(t);return s.jsxRuntimeExports.jsx(J,{value:u,children:s.jsxRuntimeExports.jsx(Q,{value:t,children:s.jsxRuntimeExports.jsx(i.ark.label,{...n,ref:r})})})});y.displayName="RadioGroupItem";const U=o=>o.children(K()),C=d.forwardRef((o,r)=>{const t=x(),e=f(),a=m.mergeProps(t.getItemControlProps(e),o);return s.jsxRuntimeExports.jsx(i.ark.div,{...a,ref:r})});C.displayName="RadioGroupItemControl";const w=d.forwardRef((o,r)=>{const t=x(),e=f(),a=m.mergeProps(t.getItemHiddenInputProps(e),o);return s.jsxRuntimeExports.jsx(i.ark.input,{...a,ref:r})});w.displayName="RadioGroupItemHiddenInput";const b=d.forwardRef((o,r)=>{const t=x(),e=f(),a=m.mergeProps(t.getItemTextProps(e),o);return s.jsxRuntimeExports.jsx(i.ark.span,{...a,ref:r})});b.displayName="RadioGroupItemText";const k=d.forwardRef((o,r)=>{const t=x(),e=m.mergeProps(t.getLabelProps(),o);return s.jsxRuntimeExports.jsx(i.ark.label,{...e,ref:r})});k.displayName="RadioGroupLabel";const X=o=>{const r=d.useId(),{getRootNode:t}=i.useEnvironmentContext(),{dir:e}=i.useLocaleContext(),a={id:r,dir:e,getRootNode:t,...o},n=i.useMachine(v.machine,a);return v.connect(n,i.normalizeProps)},N=d.forwardRef((o,r)=>{const[t,e]=i.createSplitProps()(o,["defaultValue","disabled","form","id","ids","name","onValueChange","orientation","readOnly","value"]),a=X(t),n=m.mergeProps(a.getRootProps(),e);return s.jsxRuntimeExports.jsx(E,{value:a,children:s.jsxRuntimeExports.jsx(i.ark.div,{...n,ref:r})})});N.displayName="RadioGroupRoot";const _=d.forwardRef((o,r)=>{const[{value:t},e]=i.createSplitProps()(o,["value"]),a=m.mergeProps(t.getRootProps(),e);return s.jsxRuntimeExports.jsx(E,{value:t,children:s.jsxRuntimeExports.jsx(i.ark.div,{...a,ref:r})})});_.displayName="RadioGroupRootProvider";const{withProvider:S,withContext:G,useStyles:Y}=B.createSlotRecipeContext({key:"radioGroup"});S(_,"root",{forwardAsChild:!0});const Z=S(N,"root",{forwardAsChild:!0});G(k,"label",{forwardAsChild:!0});const z=G(y,"item",{forwardAsChild:!0}),oo=G(b,"itemText",{forwardAsChild:!0});G(C,"itemControl",{forwardAsChild:!0});const to=d.forwardRef(function(r,t){const e=Y();return s.jsxRuntimeExports.jsx(U,{children:a=>s.jsxRuntimeExports.jsx(C,{asChild:!0,children:s.jsxRuntimeExports.jsx(F.Radiomark,{ref:t,unstyled:!0,...r,checked:a.checked,disabled:a.disabled,css:[e.itemControl,r.css]})})})}),eo=w,q=V.default.forwardRef(({children:o,disabled:r=!1,invalid:t=!1,onContrast:e=!1,radioRef:a,radioType:n,rootRef:u,size:l="md",["data-testid"]:p="kibble-radio",...R},P)=>s.jsxRuntimeExports.jsxs(z,{className:"Radio","data-testid":p,invalid:t,disabled:r,ref:u,...R,children:[s.jsxRuntimeExports.jsx(eo,{className:"Radio__Input","data-testid":`${p}-input`,ref:a||P}),s.jsxRuntimeExports.jsx(to,{className:"Radio__Indicator","data-testid":`${p}-indicator`}),o&&s.jsxRuntimeExports.jsx(oo,{className:"Radio__Text","data-testid":`${p}-label`,...n==="cards"&&typeof o!="string"&&{mt:"-4px"},children:typeof o=="string"?s.jsxRuntimeExports.jsx(T.WrappedText,{size:l,lineHeight:"unset",variant:e?"onContrast":"default",children:o}):o})]}));q.displayName="Radio";const ro=g.withFormControl(q),$=({radios:o,defaultValue:r,direction:t="column",disabled:e,invalid:a,onContrast:n,size:u="md",radioType:l="default",onValueChange:p,value:R,gap:P=2,radioAlignment:A="start",["data-testid"]:H="kibble-radio-group",...L})=>{const W=n?"onContrast":"default";return s.jsxRuntimeExports.jsx(Z,{className:"RadioGroup","data-testid":H,disabled:e,defaultValue:r,value:R,size:u,variant:W,withCard:l==="cards",radioAlignment:A,onValueChange:p,...L,children:l==="buttons"?s.jsxRuntimeExports.jsx(M.ButtonGroup,{onContrast:n,variant:"secondarySubtle",size:u,buttons:o.map((c,j)=>{const I=r===c.value||R===c.value;return{key:`button-radio-${j}`,children:c.children,active:I,disabled:e,"data-testid":c["data-testid"],onClick:()=>p?.({value:c.value}),...e&&I&&{...n?h.secondarySubtleOnContrastButtonStyles:h.secondarySubtleButtonStyles}}})}):s.jsxRuntimeExports.jsx(O.Stack,{gap:P,direction:t,children:o.map((c,j)=>s.jsxRuntimeExports.jsx(ro,{invalid:a,disabled:e,size:u,radioType:l,onContrast:n,...t==="row"&&{fullWidth:!1},...c},`radio-${j}`))})})};$.displayName="RadioGroup";const so=g.withFormControl($),ao=["default","buttons","cards"],io=["start","center","end"];exports.WrappedRadioGroup=so;exports.radioAlignments=io;exports.radioTypes=ao;
2
+ //# sourceMappingURL=radioGroup.types-DaoDD7ey.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"radioGroup.types-BGUjKomB.js","sources":["../../node_modules/@ark-ui/react/dist/components/radio-group/use-radio-group-context.js","../../node_modules/@ark-ui/react/dist/components/radio-group/use-radio-group-item-context.js","../../node_modules/@ark-ui/react/dist/components/radio-group/use-radio-group-item-props-context.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item-context.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item-control.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item-hidden-input.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item-text.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-label.js","../../node_modules/@ark-ui/react/dist/components/radio-group/use-radio-group.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-root.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-root-provider.js","../../node_modules/@chakra-ui/react/dist/esm/components/radio-group/radio-group.js","../../src/components/RadioGroup/components/Radio/radio.component.tsx","../../src/components/RadioGroup/radioGroup.component.tsx","../../src/components/RadioGroup/radioGroup.types.ts"],"sourcesContent":["'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [RadioGroupProvider, useRadioGroupContext] = createContext({\n name: \"RadioGroupContext\",\n hookName: \"useRadioGroupContext\",\n providerName: \"<RadioGroupProvider />\"\n});\n\nexport { RadioGroupProvider, useRadioGroupContext };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [RadioGroupItemProvider, useRadioGroupItemContext] = createContext({\n name: \"RadioGroupItemContext\",\n hookName: \"useRadioGroupItemContext\",\n providerName: \"<RadioGroupItemProvider />\"\n});\n\nexport { RadioGroupItemProvider, useRadioGroupItemContext };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [RadioGroupItemPropsProvider, useRadioGroupItemPropsContext] = createContext({\n name: \"RadioGroupItemPropsContext\",\n hookName: \"useRadioGroupItemPropsContext\",\n providerName: \"<RadioGroupItemPropsProvider />\"\n});\n\nexport { RadioGroupItemPropsProvider, useRadioGroupItemPropsContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useRadioGroupContext } from './use-radio-group-context.js';\nimport { RadioGroupItemProvider } from './use-radio-group-item-context.js';\nimport { RadioGroupItemPropsProvider } from './use-radio-group-item-props-context.js';\n\nconst RadioGroupItem = forwardRef((props, ref) => {\n const [itemProps, localProps] = createSplitProps()(props, [\"value\", \"disabled\", \"invalid\"]);\n const radioGroup = useRadioGroupContext();\n const mergedProps = mergeProps(radioGroup.getItemProps(itemProps), localProps);\n const itemState = radioGroup.getItemState(itemProps);\n return /* @__PURE__ */ jsx(RadioGroupItemProvider, { value: itemState, children: /* @__PURE__ */ jsx(RadioGroupItemPropsProvider, { value: itemProps, children: /* @__PURE__ */ jsx(ark.label, { ...mergedProps, ref }) }) });\n});\nRadioGroupItem.displayName = \"RadioGroupItem\";\n\nexport { RadioGroupItem };\n","'use client';\nimport { useRadioGroupItemContext } from './use-radio-group-item-context.js';\n\nconst RadioGroupItemContext = (props) => props.children(useRadioGroupItemContext());\n\nexport { RadioGroupItemContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useRadioGroupContext } from './use-radio-group-context.js';\nimport { useRadioGroupItemPropsContext } from './use-radio-group-item-props-context.js';\n\nconst RadioGroupItemControl = forwardRef((props, ref) => {\n const radioGroup = useRadioGroupContext();\n const itemProps = useRadioGroupItemPropsContext();\n const mergedProps = mergeProps(radioGroup.getItemControlProps(itemProps), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nRadioGroupItemControl.displayName = \"RadioGroupItemControl\";\n\nexport { RadioGroupItemControl };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useRadioGroupContext } from './use-radio-group-context.js';\nimport { useRadioGroupItemPropsContext } from './use-radio-group-item-props-context.js';\n\nconst RadioGroupItemHiddenInput = forwardRef((props, ref) => {\n const radioGroup = useRadioGroupContext();\n const itemProps = useRadioGroupItemPropsContext();\n const mergedProps = mergeProps(radioGroup.getItemHiddenInputProps(itemProps), props);\n return /* @__PURE__ */ jsx(ark.input, { ...mergedProps, ref });\n});\nRadioGroupItemHiddenInput.displayName = \"RadioGroupItemHiddenInput\";\n\nexport { RadioGroupItemHiddenInput };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useRadioGroupContext } from './use-radio-group-context.js';\nimport { useRadioGroupItemPropsContext } from './use-radio-group-item-props-context.js';\n\nconst RadioGroupItemText = forwardRef((props, ref) => {\n const radioGroup = useRadioGroupContext();\n const itemProps = useRadioGroupItemPropsContext();\n const mergedProps = mergeProps(radioGroup.getItemTextProps(itemProps), props);\n return /* @__PURE__ */ jsx(ark.span, { ...mergedProps, ref });\n});\nRadioGroupItemText.displayName = \"RadioGroupItemText\";\n\nexport { RadioGroupItemText };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useRadioGroupContext } from './use-radio-group-context.js';\n\nconst RadioGroupLabel = forwardRef((props, ref) => {\n const radioGroup = useRadioGroupContext();\n const mergedProps = mergeProps(radioGroup.getLabelProps(), props);\n return /* @__PURE__ */ jsx(ark.label, { ...mergedProps, ref });\n});\nRadioGroupLabel.displayName = \"RadioGroupLabel\";\n\nexport { RadioGroupLabel };\n","'use client';\nimport * as radio from '@zag-js/radio-group';\nimport { useMachine, normalizeProps } from '@zag-js/react';\nimport { useId } from 'react';\nimport { useEnvironmentContext } from '../../providers/environment/use-environment-context.js';\nimport { useLocaleContext } from '../../providers/locale/use-locale-context.js';\n\nconst useRadioGroup = (props) => {\n const id = useId();\n const { getRootNode } = useEnvironmentContext();\n const { dir } = useLocaleContext();\n const machineProps = {\n id,\n dir,\n getRootNode,\n ...props\n };\n const service = useMachine(radio.machine, machineProps);\n return radio.connect(service, normalizeProps);\n};\n\nexport { useRadioGroup };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useRadioGroup } from './use-radio-group.js';\nimport { RadioGroupProvider } from './use-radio-group-context.js';\n\nconst RadioGroupRoot = forwardRef((props, ref) => {\n const [useRadioGroupProps, localProps] = createSplitProps()(props, [\n \"defaultValue\",\n \"disabled\",\n \"form\",\n \"id\",\n \"ids\",\n \"name\",\n \"onValueChange\",\n \"orientation\",\n \"readOnly\",\n \"value\"\n ]);\n const radioGroup = useRadioGroup(useRadioGroupProps);\n const mergedProps = mergeProps(radioGroup.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(RadioGroupProvider, { value: radioGroup, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nRadioGroupRoot.displayName = \"RadioGroupRoot\";\n\nexport { RadioGroupRoot };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { RadioGroupProvider } from './use-radio-group-context.js';\n\nconst RadioGroupRootProvider = forwardRef((props, ref) => {\n const [{ value: radioGroup }, localProps] = createSplitProps()(props, [\"value\"]);\n const mergedProps = mergeProps(radioGroup.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(RadioGroupProvider, { value: radioGroup, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nRadioGroupRootProvider.displayName = \"RadioGroupRootProvider\";\n\nexport { RadioGroupRootProvider };\n","\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { RadioGroup } from '@ark-ui/react/radio-group';\nimport { forwardRef } from 'react';\nimport { createSlotRecipeContext } from '../../styled-system/create-slot-recipe-context.js';\nimport { Radiomark } from '../radiomark/radiomark.js';\n\nconst {\n withProvider,\n withContext,\n useStyles: useRadioGroupStyles,\n PropsProvider\n} = createSlotRecipeContext({ key: \"radioGroup\" });\nconst RadioGroupRootProvider = withProvider(RadioGroup.RootProvider, \"root\", { forwardAsChild: true });\nconst RadioGroupRoot = withProvider(\n RadioGroup.Root,\n \"root\",\n { forwardAsChild: true }\n);\nconst RadioGroupPropsProvider = PropsProvider;\nconst RadioGroupLabel = withContext(RadioGroup.Label, \"label\", { forwardAsChild: true });\nconst RadioGroupItem = withContext(\n RadioGroup.Item,\n \"item\",\n { forwardAsChild: true }\n);\nconst RadioGroupItemText = withContext(RadioGroup.ItemText, \"itemText\", { forwardAsChild: true });\nconst RadioGroupItemControl = withContext(RadioGroup.ItemControl, \"itemControl\", { forwardAsChild: true });\nconst RadioGroupItemIndicator = forwardRef(function RadioGroupItemIndicator2(props, ref) {\n const styles = useRadioGroupStyles();\n return /* @__PURE__ */ jsx(RadioGroup.ItemContext, { children: (itemState) => /* @__PURE__ */ jsx(RadioGroup.ItemControl, { asChild: true, children: /* @__PURE__ */ jsx(\n Radiomark,\n {\n ref,\n unstyled: true,\n ...props,\n checked: itemState.checked,\n disabled: itemState.disabled,\n css: [styles[\"itemControl\"], props.css]\n }\n ) }) });\n});\nconst RadioGroupContext = RadioGroup.Context;\nconst RadioGroupItemContext = RadioGroup.ItemContext;\nconst RadioGroupItemHiddenInput = RadioGroup.ItemHiddenInput;\n\nexport { RadioGroupContext, RadioGroupItem, RadioGroupItemContext, RadioGroupItemControl, RadioGroupItemHiddenInput, RadioGroupItemIndicator, RadioGroupItemText, RadioGroupLabel, RadioGroupPropsProvider, RadioGroupRoot, RadioGroupRootProvider, useRadioGroupStyles };\n","import React from 'react';\nimport { RadioGroup } from '@chakra-ui/react/radio-group';\nimport { FormControlSize } from 'hocs/withFormControl/withFormControl.types';\nimport { withFormControl, WithFormControlProps } from 'hocs/withFormControl/withFormControl';\nimport { Text } from 'components/Text/text.component';\nimport { RadioType } from 'components/RadioGroup/radioGroup.types';\n\nexport interface RadioProps extends WithFormControlProps, RadioGroup.ItemProps {\n /** If true, the radio will render a contrasting variant.\n * @default false\n */\n onContrast?: boolean;\n /** Ref to the hidden input element. */\n radioRef?: React.Ref<HTMLInputElement | null>;\n /** Ref to the radio component. */\n rootRef?: React.Ref<HTMLDivElement | null>;\n /** Size of the radio.\n * @default md\n */\n size?: FormControlSize;\n /** Data test id for the radio.\n * @default kibble-radio\n */\n 'data-testid'?: string;\n}\n\ninterface InternalRadioProps extends RadioProps {\n /** Type of the radio.\n * @internal\n */\n radioType?: RadioType;\n}\n\nconst Radio = React.forwardRef<HTMLInputElement, InternalRadioProps>(\n (\n {\n children,\n disabled = false,\n invalid = false,\n onContrast = false,\n radioRef,\n radioType,\n rootRef,\n size = 'md',\n ['data-testid']: dataTestId = 'kibble-radio',\n ...rest\n },\n ref,\n ): React.JSX.Element => {\n return (\n <RadioGroup.Item\n className=\"Radio\"\n data-testid={dataTestId}\n invalid={invalid}\n disabled={disabled}\n ref={rootRef}\n {...rest}\n >\n <RadioGroup.ItemHiddenInput\n className=\"Radio__Input\"\n data-testid={`${dataTestId}-input`}\n ref={radioRef || ref}\n />\n <RadioGroup.ItemIndicator className=\"Radio__Indicator\" data-testid={`${dataTestId}-indicator`} />\n {children && (\n <RadioGroup.ItemText\n className=\"Radio__Text\"\n data-testid={`${dataTestId}-label`}\n {...(radioType === 'cards' && typeof children !== 'string' && { mt: '-4px' })}\n >\n {typeof children === 'string' ? (\n <Text size={size} lineHeight=\"unset\" variant={onContrast ? 'onContrast' : 'default'}>\n {children}\n </Text>\n ) : (\n children\n )}\n </RadioGroup.ItemText>\n )}\n </RadioGroup.Item>\n );\n },\n);\n\nRadio.displayName = 'Radio';\nconst WrappedRadio = withFormControl<InternalRadioProps>(Radio);\n\nexport { WrappedRadio as Radio };\n","import React from 'react';\nimport { withFormControl, WithFormControlProps } from 'hocs/withFormControl/withFormControl';\nimport { Radio, RadioProps } from './components/Radio/radio.component';\nimport { RadioGroup as CRadioGroup } from '@chakra-ui/react/radio-group';\nimport { Stack } from '@chakra-ui/react/stack';\nimport { ConditionalValue } from '@chakra-ui/react/styled-system';\nimport { FlexDirection } from 'shared/types/alignment';\nimport { FormControlSize } from 'hocs/withFormControl/withFormControl.types';\nimport { ButtonGroup } from 'components/ButtonGroup';\nimport { RadioAlignment, RadioType } from './radioGroup.types';\nimport { secondarySubtleOnContrastButtonStyles, secondarySubtleButtonStyles } from 'components/Button/button.recipe';\n\nexport interface RadioGroupProps extends WithFormControlProps, CRadioGroup.RootProps {\n /**\n * The direction to stack the radios.\n * @default column\n */\n direction?: ConditionalValue<FlexDirection>;\n /**\n * Size of the radio group.\n * @default md\n */\n size?: FormControlSize;\n /**\n * The visual type of the radio group.\n * @default default\n */\n radioType?: RadioType;\n /** An array of Radio props to be rendered inside the group. See `Radio` for more information. */\n radios: RadioProps[];\n /**\n * The alignment of the radio input element.\n * @default start\n */\n radioAlignment?: RadioAlignment;\n /** Data test id for the radio group.\n * @default kibble-radio-group\n */\n 'data-testid'?: string;\n}\n\nconst RadioGroup = ({\n radios,\n defaultValue,\n direction = 'column',\n disabled,\n invalid,\n onContrast,\n size = 'md',\n radioType = 'default',\n onValueChange,\n value,\n gap = 2,\n radioAlignment = 'start',\n ['data-testid']: dataTestId = 'kibble-radio-group',\n ...rest\n}: RadioGroupProps): React.JSX.Element => {\n const _computedVariant = onContrast ? 'onContrast' : 'default';\n\n return (\n <CRadioGroup.Root\n className=\"RadioGroup\"\n data-testid={dataTestId}\n disabled={disabled}\n defaultValue={defaultValue}\n value={value}\n size={size}\n variant={_computedVariant}\n withCard={radioType === 'cards'}\n radioAlignment={radioAlignment}\n onValueChange={onValueChange}\n {...rest}\n >\n {radioType === 'buttons' ? (\n <ButtonGroup\n onContrast={onContrast}\n variant=\"secondarySubtle\"\n size={size}\n buttons={radios.map((radio, index) => {\n const active = defaultValue === radio.value || value === radio.value;\n return {\n key: `button-radio-${index}`,\n children: radio.children,\n active,\n disabled,\n 'data-testid': radio['data-testid'],\n onClick: () => onValueChange?.({ value: radio.value }),\n ...(disabled &&\n active && { ...(onContrast ? secondarySubtleOnContrastButtonStyles : secondarySubtleButtonStyles) }),\n };\n })}\n />\n ) : (\n <Stack gap={gap} direction={direction}>\n {radios.map((radio, index) => (\n <Radio\n key={`radio-${index}`}\n invalid={invalid}\n disabled={disabled}\n size={size}\n radioType={radioType}\n onContrast={onContrast}\n {...(direction === 'row' && { fullWidth: false })}\n {...radio}\n />\n ))}\n </Stack>\n )}\n </CRadioGroup.Root>\n );\n};\n\nRadioGroup.displayName = 'RadioGroup';\nconst WrappedRadioGroup = withFormControl(RadioGroup);\n\nexport { WrappedRadioGroup as RadioGroup };\n","export const radioTypes = ['default', 'buttons', 'cards'] as const;\nexport type RadioType = (typeof radioTypes)[number];\n\nexport const radioAlignments = ['start', 'center', 'end'] as const;\nexport type RadioAlignment = (typeof radioAlignments)[number];\n"],"names":["RadioGroupProvider","useRadioGroupContext","createContext","RadioGroupItemProvider","useRadioGroupItemContext","RadioGroupItemPropsProvider","useRadioGroupItemPropsContext","RadioGroupItem","forwardRef","props","ref","itemProps","localProps","createSplitProps","radioGroup","mergedProps","mergeProps","itemState","jsx","ark","RadioGroupItemContext","RadioGroupItemControl","RadioGroupItemHiddenInput","RadioGroupItemText","RadioGroupLabel","useRadioGroup","id","useId","getRootNode","useEnvironmentContext","dir","useLocaleContext","machineProps","service","useMachine","radio.machine","radio.connect","normalizeProps","RadioGroupRoot","useRadioGroupProps","RadioGroupRootProvider","withProvider","withContext","useRadioGroupStyles","createSlotRecipeContext","RadioGroup.RootProvider","RadioGroup.Root","RadioGroup.Label","RadioGroup.Item","RadioGroup.ItemText","RadioGroup.ItemControl","RadioGroupItemIndicator","styles","RadioGroup.ItemContext","Radiomark","RadioGroup.ItemHiddenInput","Radio","React","children","disabled","invalid","onContrast","radioRef","radioType","rootRef","size","dataTestId","rest","jsxs","RadioGroup.ItemIndicator","Text","WrappedRadio","withFormControl","RadioGroup","radios","defaultValue","direction","onValueChange","value","gap","radioAlignment","_computedVariant","CRadioGroup.Root","ButtonGroup","radio","index","active","secondarySubtleOnContrastButtonStyles","secondarySubtleButtonStyles","Stack","WrappedRadioGroup","radioTypes","radioAlignments"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12]}
1
+ {"version":3,"file":"radioGroup.types-DaoDD7ey.js","sources":["../../node_modules/@ark-ui/react/dist/components/radio-group/use-radio-group-context.js","../../node_modules/@ark-ui/react/dist/components/radio-group/use-radio-group-item-context.js","../../node_modules/@ark-ui/react/dist/components/radio-group/use-radio-group-item-props-context.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item-context.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item-control.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item-hidden-input.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item-text.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-label.js","../../node_modules/@ark-ui/react/dist/components/radio-group/use-radio-group.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-root.js","../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-root-provider.js","../../node_modules/@chakra-ui/react/dist/esm/components/radio-group/radio-group.js","../../src/components/RadioGroup/components/Radio/radio.component.tsx","../../src/components/RadioGroup/radioGroup.component.tsx","../../src/components/RadioGroup/radioGroup.types.ts"],"sourcesContent":["'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [RadioGroupProvider, useRadioGroupContext] = createContext({\n name: \"RadioGroupContext\",\n hookName: \"useRadioGroupContext\",\n providerName: \"<RadioGroupProvider />\"\n});\n\nexport { RadioGroupProvider, useRadioGroupContext };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [RadioGroupItemProvider, useRadioGroupItemContext] = createContext({\n name: \"RadioGroupItemContext\",\n hookName: \"useRadioGroupItemContext\",\n providerName: \"<RadioGroupItemProvider />\"\n});\n\nexport { RadioGroupItemProvider, useRadioGroupItemContext };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [RadioGroupItemPropsProvider, useRadioGroupItemPropsContext] = createContext({\n name: \"RadioGroupItemPropsContext\",\n hookName: \"useRadioGroupItemPropsContext\",\n providerName: \"<RadioGroupItemPropsProvider />\"\n});\n\nexport { RadioGroupItemPropsProvider, useRadioGroupItemPropsContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useRadioGroupContext } from './use-radio-group-context.js';\nimport { RadioGroupItemProvider } from './use-radio-group-item-context.js';\nimport { RadioGroupItemPropsProvider } from './use-radio-group-item-props-context.js';\n\nconst RadioGroupItem = forwardRef((props, ref) => {\n const [itemProps, localProps] = createSplitProps()(props, [\"value\", \"disabled\", \"invalid\"]);\n const radioGroup = useRadioGroupContext();\n const mergedProps = mergeProps(radioGroup.getItemProps(itemProps), localProps);\n const itemState = radioGroup.getItemState(itemProps);\n return /* @__PURE__ */ jsx(RadioGroupItemProvider, { value: itemState, children: /* @__PURE__ */ jsx(RadioGroupItemPropsProvider, { value: itemProps, children: /* @__PURE__ */ jsx(ark.label, { ...mergedProps, ref }) }) });\n});\nRadioGroupItem.displayName = \"RadioGroupItem\";\n\nexport { RadioGroupItem };\n","'use client';\nimport { useRadioGroupItemContext } from './use-radio-group-item-context.js';\n\nconst RadioGroupItemContext = (props) => props.children(useRadioGroupItemContext());\n\nexport { RadioGroupItemContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useRadioGroupContext } from './use-radio-group-context.js';\nimport { useRadioGroupItemPropsContext } from './use-radio-group-item-props-context.js';\n\nconst RadioGroupItemControl = forwardRef((props, ref) => {\n const radioGroup = useRadioGroupContext();\n const itemProps = useRadioGroupItemPropsContext();\n const mergedProps = mergeProps(radioGroup.getItemControlProps(itemProps), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nRadioGroupItemControl.displayName = \"RadioGroupItemControl\";\n\nexport { RadioGroupItemControl };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useRadioGroupContext } from './use-radio-group-context.js';\nimport { useRadioGroupItemPropsContext } from './use-radio-group-item-props-context.js';\n\nconst RadioGroupItemHiddenInput = forwardRef((props, ref) => {\n const radioGroup = useRadioGroupContext();\n const itemProps = useRadioGroupItemPropsContext();\n const mergedProps = mergeProps(radioGroup.getItemHiddenInputProps(itemProps), props);\n return /* @__PURE__ */ jsx(ark.input, { ...mergedProps, ref });\n});\nRadioGroupItemHiddenInput.displayName = \"RadioGroupItemHiddenInput\";\n\nexport { RadioGroupItemHiddenInput };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useRadioGroupContext } from './use-radio-group-context.js';\nimport { useRadioGroupItemPropsContext } from './use-radio-group-item-props-context.js';\n\nconst RadioGroupItemText = forwardRef((props, ref) => {\n const radioGroup = useRadioGroupContext();\n const itemProps = useRadioGroupItemPropsContext();\n const mergedProps = mergeProps(radioGroup.getItemTextProps(itemProps), props);\n return /* @__PURE__ */ jsx(ark.span, { ...mergedProps, ref });\n});\nRadioGroupItemText.displayName = \"RadioGroupItemText\";\n\nexport { RadioGroupItemText };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useRadioGroupContext } from './use-radio-group-context.js';\n\nconst RadioGroupLabel = forwardRef((props, ref) => {\n const radioGroup = useRadioGroupContext();\n const mergedProps = mergeProps(radioGroup.getLabelProps(), props);\n return /* @__PURE__ */ jsx(ark.label, { ...mergedProps, ref });\n});\nRadioGroupLabel.displayName = \"RadioGroupLabel\";\n\nexport { RadioGroupLabel };\n","'use client';\nimport * as radio from '@zag-js/radio-group';\nimport { useMachine, normalizeProps } from '@zag-js/react';\nimport { useId } from 'react';\nimport { useEnvironmentContext } from '../../providers/environment/use-environment-context.js';\nimport { useLocaleContext } from '../../providers/locale/use-locale-context.js';\n\nconst useRadioGroup = (props) => {\n const id = useId();\n const { getRootNode } = useEnvironmentContext();\n const { dir } = useLocaleContext();\n const machineProps = {\n id,\n dir,\n getRootNode,\n ...props\n };\n const service = useMachine(radio.machine, machineProps);\n return radio.connect(service, normalizeProps);\n};\n\nexport { useRadioGroup };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useRadioGroup } from './use-radio-group.js';\nimport { RadioGroupProvider } from './use-radio-group-context.js';\n\nconst RadioGroupRoot = forwardRef((props, ref) => {\n const [useRadioGroupProps, localProps] = createSplitProps()(props, [\n \"defaultValue\",\n \"disabled\",\n \"form\",\n \"id\",\n \"ids\",\n \"name\",\n \"onValueChange\",\n \"orientation\",\n \"readOnly\",\n \"value\"\n ]);\n const radioGroup = useRadioGroup(useRadioGroupProps);\n const mergedProps = mergeProps(radioGroup.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(RadioGroupProvider, { value: radioGroup, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nRadioGroupRoot.displayName = \"RadioGroupRoot\";\n\nexport { RadioGroupRoot };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { RadioGroupProvider } from './use-radio-group-context.js';\n\nconst RadioGroupRootProvider = forwardRef((props, ref) => {\n const [{ value: radioGroup }, localProps] = createSplitProps()(props, [\"value\"]);\n const mergedProps = mergeProps(radioGroup.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(RadioGroupProvider, { value: radioGroup, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nRadioGroupRootProvider.displayName = \"RadioGroupRootProvider\";\n\nexport { RadioGroupRootProvider };\n","\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { RadioGroup } from '@ark-ui/react/radio-group';\nimport { forwardRef } from 'react';\nimport { createSlotRecipeContext } from '../../styled-system/create-slot-recipe-context.js';\nimport { Radiomark } from '../radiomark/radiomark.js';\n\nconst {\n withProvider,\n withContext,\n useStyles: useRadioGroupStyles,\n PropsProvider\n} = createSlotRecipeContext({ key: \"radioGroup\" });\nconst RadioGroupRootProvider = withProvider(RadioGroup.RootProvider, \"root\", { forwardAsChild: true });\nconst RadioGroupRoot = withProvider(\n RadioGroup.Root,\n \"root\",\n { forwardAsChild: true }\n);\nconst RadioGroupPropsProvider = PropsProvider;\nconst RadioGroupLabel = withContext(RadioGroup.Label, \"label\", { forwardAsChild: true });\nconst RadioGroupItem = withContext(\n RadioGroup.Item,\n \"item\",\n { forwardAsChild: true }\n);\nconst RadioGroupItemText = withContext(RadioGroup.ItemText, \"itemText\", { forwardAsChild: true });\nconst RadioGroupItemControl = withContext(RadioGroup.ItemControl, \"itemControl\", { forwardAsChild: true });\nconst RadioGroupItemIndicator = forwardRef(function RadioGroupItemIndicator2(props, ref) {\n const styles = useRadioGroupStyles();\n return /* @__PURE__ */ jsx(RadioGroup.ItemContext, { children: (itemState) => /* @__PURE__ */ jsx(RadioGroup.ItemControl, { asChild: true, children: /* @__PURE__ */ jsx(\n Radiomark,\n {\n ref,\n unstyled: true,\n ...props,\n checked: itemState.checked,\n disabled: itemState.disabled,\n css: [styles[\"itemControl\"], props.css]\n }\n ) }) });\n});\nconst RadioGroupContext = RadioGroup.Context;\nconst RadioGroupItemContext = RadioGroup.ItemContext;\nconst RadioGroupItemHiddenInput = RadioGroup.ItemHiddenInput;\n\nexport { RadioGroupContext, RadioGroupItem, RadioGroupItemContext, RadioGroupItemControl, RadioGroupItemHiddenInput, RadioGroupItemIndicator, RadioGroupItemText, RadioGroupLabel, RadioGroupPropsProvider, RadioGroupRoot, RadioGroupRootProvider, useRadioGroupStyles };\n","import React from 'react';\nimport { RadioGroup } from '@chakra-ui/react/radio-group';\nimport { FormControlSize } from 'hocs/withFormControl/withFormControl.types';\nimport { withFormControl, WithFormControlProps } from 'hocs/withFormControl/withFormControl';\nimport { Text } from 'components/Text/text.component';\nimport { RadioType } from 'components/RadioGroup/radioGroup.types';\n\nexport interface RadioProps extends WithFormControlProps, RadioGroup.ItemProps {\n /** If true, the radio will render a contrasting variant.\n * @default false\n */\n onContrast?: boolean;\n /** Ref to the hidden input element. */\n radioRef?: React.Ref<HTMLInputElement | null>;\n /** Ref to the radio component. */\n rootRef?: React.Ref<HTMLDivElement | null>;\n /** Size of the radio.\n * @default md\n */\n size?: FormControlSize;\n /** Data test id for the radio.\n * @default kibble-radio\n */\n 'data-testid'?: string;\n}\n\ninterface InternalRadioProps extends RadioProps {\n /** Type of the radio.\n * @internal\n */\n radioType?: RadioType;\n}\n\nconst Radio = React.forwardRef<HTMLInputElement, InternalRadioProps>(\n (\n {\n children,\n disabled = false,\n invalid = false,\n onContrast = false,\n radioRef,\n radioType,\n rootRef,\n size = 'md',\n ['data-testid']: dataTestId = 'kibble-radio',\n ...rest\n },\n ref,\n ): React.JSX.Element => {\n return (\n <RadioGroup.Item\n className=\"Radio\"\n data-testid={dataTestId}\n invalid={invalid}\n disabled={disabled}\n ref={rootRef}\n {...rest}\n >\n <RadioGroup.ItemHiddenInput\n className=\"Radio__Input\"\n data-testid={`${dataTestId}-input`}\n ref={radioRef || ref}\n />\n <RadioGroup.ItemIndicator className=\"Radio__Indicator\" data-testid={`${dataTestId}-indicator`} />\n {children && (\n <RadioGroup.ItemText\n className=\"Radio__Text\"\n data-testid={`${dataTestId}-label`}\n {...(radioType === 'cards' && typeof children !== 'string' && { mt: '-4px' })}\n >\n {typeof children === 'string' ? (\n <Text size={size} lineHeight=\"unset\" variant={onContrast ? 'onContrast' : 'default'}>\n {children}\n </Text>\n ) : (\n children\n )}\n </RadioGroup.ItemText>\n )}\n </RadioGroup.Item>\n );\n },\n);\n\nRadio.displayName = 'Radio';\nconst WrappedRadio = withFormControl<InternalRadioProps>(Radio);\n\nexport { WrappedRadio as Radio };\n","import React from 'react';\nimport { withFormControl, WithFormControlProps } from 'hocs/withFormControl/withFormControl';\nimport { Radio, RadioProps } from './components/Radio/radio.component';\nimport { RadioGroup as CRadioGroup } from '@chakra-ui/react/radio-group';\nimport { Stack } from '@chakra-ui/react/stack';\nimport { ConditionalValue } from '@chakra-ui/react/styled-system';\nimport { FlexDirection } from 'shared/types/alignment';\nimport { FormControlSize } from 'hocs/withFormControl/withFormControl.types';\nimport { ButtonGroup } from 'components/ButtonGroup';\nimport { RadioAlignment, RadioType } from './radioGroup.types';\nimport { secondarySubtleOnContrastButtonStyles, secondarySubtleButtonStyles } from 'components/Button/button.recipe';\n\nexport interface RadioGroupProps extends WithFormControlProps, CRadioGroup.RootProps {\n /**\n * The direction to stack the radios.\n * @default column\n */\n direction?: ConditionalValue<FlexDirection>;\n /**\n * Size of the radio group.\n * @default md\n */\n size?: FormControlSize;\n /**\n * The visual type of the radio group.\n * @default default\n */\n radioType?: RadioType;\n /** An array of Radio props to be rendered inside the group. See `Radio` for more information. */\n radios: RadioProps[];\n /**\n * The alignment of the radio input element.\n * @default start\n */\n radioAlignment?: RadioAlignment;\n /** Data test id for the radio group.\n * @default kibble-radio-group\n */\n 'data-testid'?: string;\n}\n\nconst RadioGroup = ({\n radios,\n defaultValue,\n direction = 'column',\n disabled,\n invalid,\n onContrast,\n size = 'md',\n radioType = 'default',\n onValueChange,\n value,\n gap = 2,\n radioAlignment = 'start',\n ['data-testid']: dataTestId = 'kibble-radio-group',\n ...rest\n}: RadioGroupProps): React.JSX.Element => {\n const _computedVariant = onContrast ? 'onContrast' : 'default';\n\n return (\n <CRadioGroup.Root\n className=\"RadioGroup\"\n data-testid={dataTestId}\n disabled={disabled}\n defaultValue={defaultValue}\n value={value}\n size={size}\n variant={_computedVariant}\n withCard={radioType === 'cards'}\n radioAlignment={radioAlignment}\n onValueChange={onValueChange}\n {...rest}\n >\n {radioType === 'buttons' ? (\n <ButtonGroup\n onContrast={onContrast}\n variant=\"secondarySubtle\"\n size={size}\n buttons={radios.map((radio, index) => {\n const active = defaultValue === radio.value || value === radio.value;\n return {\n key: `button-radio-${index}`,\n children: radio.children,\n active,\n disabled,\n 'data-testid': radio['data-testid'],\n onClick: () => onValueChange?.({ value: radio.value }),\n ...(disabled &&\n active && { ...(onContrast ? secondarySubtleOnContrastButtonStyles : secondarySubtleButtonStyles) }),\n };\n })}\n />\n ) : (\n <Stack gap={gap} direction={direction}>\n {radios.map((radio, index) => (\n <Radio\n key={`radio-${index}`}\n invalid={invalid}\n disabled={disabled}\n size={size}\n radioType={radioType}\n onContrast={onContrast}\n {...(direction === 'row' && { fullWidth: false })}\n {...radio}\n />\n ))}\n </Stack>\n )}\n </CRadioGroup.Root>\n );\n};\n\nRadioGroup.displayName = 'RadioGroup';\nconst WrappedRadioGroup = withFormControl(RadioGroup);\n\nexport { WrappedRadioGroup as RadioGroup };\n","export const radioTypes = ['default', 'buttons', 'cards'] as const;\nexport type RadioType = (typeof radioTypes)[number];\n\nexport const radioAlignments = ['start', 'center', 'end'] as const;\nexport type RadioAlignment = (typeof radioAlignments)[number];\n"],"names":["RadioGroupProvider","useRadioGroupContext","createContext","RadioGroupItemProvider","useRadioGroupItemContext","RadioGroupItemPropsProvider","useRadioGroupItemPropsContext","RadioGroupItem","forwardRef","props","ref","itemProps","localProps","createSplitProps","radioGroup","mergedProps","mergeProps","itemState","jsx","ark","RadioGroupItemContext","RadioGroupItemControl","RadioGroupItemHiddenInput","RadioGroupItemText","RadioGroupLabel","useRadioGroup","id","useId","getRootNode","useEnvironmentContext","dir","useLocaleContext","machineProps","service","useMachine","radio.machine","radio.connect","normalizeProps","RadioGroupRoot","useRadioGroupProps","RadioGroupRootProvider","withProvider","withContext","useRadioGroupStyles","createSlotRecipeContext","RadioGroup.RootProvider","RadioGroup.Root","RadioGroup.Label","RadioGroup.Item","RadioGroup.ItemText","RadioGroup.ItemControl","RadioGroupItemIndicator","styles","RadioGroup.ItemContext","Radiomark","RadioGroup.ItemHiddenInput","Radio","React","children","disabled","invalid","onContrast","radioRef","radioType","rootRef","size","dataTestId","rest","jsxs","RadioGroup.ItemIndicator","Text","WrappedRadio","withFormControl","RadioGroup","radios","defaultValue","direction","onValueChange","value","gap","radioAlignment","_computedVariant","CRadioGroup.Root","ButtonGroup","radio","index","active","secondarySubtleOnContrastButtonStyles","secondarySubtleButtonStyles","Stack","WrappedRadioGroup","radioTypes","radioAlignments"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12]}