@televet/kibble-ui 4.0.0-beta.63 → 4.0.0-beta.64
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/{alert.types-QjdV89J8.js → alert.types-BdMaGbwu.js} +3 -3
- package/dist/chunks/{alert.types-QjdV89J8.js.map → alert.types-BdMaGbwu.js.map} +1 -1
- package/dist/chunks/{alert.types-D-Oi8lzU.js → alert.types-C1GVh2D6.js} +2 -2
- package/dist/chunks/{alert.types-D-Oi8lzU.js.map → alert.types-C1GVh2D6.js.map} +1 -1
- package/dist/chunks/{avatar.component-DhnsK_Su.js → avatar.component-BKp_pbGA.js} +2 -2
- package/dist/chunks/{avatar.component-DhnsK_Su.js.map → avatar.component-BKp_pbGA.js.map} +1 -1
- package/dist/chunks/{avatar.component-Bx-G6wRN.js → avatar.component-BRjxOsjQ.js} +2 -2
- package/dist/chunks/{avatar.component-Bx-G6wRN.js.map → avatar.component-BRjxOsjQ.js.map} +1 -1
- package/dist/chunks/{avatarGroup.component-DQ-llmL4.js → avatarGroup.component-B3cA6J2Z.js} +2 -2
- package/dist/chunks/{avatarGroup.component-DQ-llmL4.js.map → avatarGroup.component-B3cA6J2Z.js.map} +1 -1
- package/dist/chunks/{avatarGroup.component-BuIOss-r.js → avatarGroup.component-DIfCXmiw.js} +2 -2
- package/dist/chunks/{avatarGroup.component-BuIOss-r.js.map → avatarGroup.component-DIfCXmiw.js.map} +1 -1
- package/dist/chunks/{buttonGroup.component-CUgf40bo.js → buttonGroup.component-CLTkO5BF.js} +2 -2
- package/dist/chunks/{buttonGroup.component-CUgf40bo.js.map → buttonGroup.component-CLTkO5BF.js.map} +1 -1
- package/dist/chunks/{buttonGroup.component-BniN5aY0.js → buttonGroup.component-DuNSCwga.js} +2 -2
- package/dist/chunks/{buttonGroup.component-BniN5aY0.js.map → buttonGroup.component-DuNSCwga.js.map} +1 -1
- package/dist/chunks/{characterCounter.component-0krhcDgO.js → characterCounter.component-BEg4MItI.js} +2 -2
- package/dist/chunks/{characterCounter.component-0krhcDgO.js.map → characterCounter.component-BEg4MItI.js.map} +1 -1
- package/dist/chunks/{characterCounter.component-C5Ju67wX.js → characterCounter.component-C2e2l-WJ.js} +2 -2
- package/dist/chunks/{characterCounter.component-C5Ju67wX.js.map → characterCounter.component-C2e2l-WJ.js.map} +1 -1
- package/dist/chunks/{checkbox.component-CanZsQHo.js → checkbox.component-CYpG_LI3.js} +2 -2
- package/dist/chunks/{checkbox.component-CanZsQHo.js.map → checkbox.component-CYpG_LI3.js.map} +1 -1
- package/dist/chunks/{checkbox.component-D1hf8o_B.js → checkbox.component-Dxvk8exv.js} +3 -3
- package/dist/chunks/{checkbox.component-D1hf8o_B.js.map → checkbox.component-Dxvk8exv.js.map} +1 -1
- package/dist/chunks/{checkboxGroup.component-yDUy5BQi.js → checkboxGroup.component-CCY-tnlz.js} +3 -3
- package/dist/chunks/{checkboxGroup.component-yDUy5BQi.js.map → checkboxGroup.component-CCY-tnlz.js.map} +1 -1
- package/dist/chunks/{checkboxGroup.component-CfynWbnU.js → checkboxGroup.component-DXuYKyDD.js} +2 -2
- package/dist/chunks/{checkboxGroup.component-CfynWbnU.js.map → checkboxGroup.component-DXuYKyDD.js.map} +1 -1
- package/dist/chunks/{conversationCard.component-C5lvyhtU.js → conversationCard.component-BbV9kzvn.js} +2 -2
- package/dist/chunks/{conversationCard.component-C5lvyhtU.js.map → conversationCard.component-BbV9kzvn.js.map} +1 -1
- package/dist/chunks/{conversationCard.component-E9e_Kl-G.js → conversationCard.component-DvUZFdws.js} +6 -6
- package/dist/chunks/{conversationCard.component-E9e_Kl-G.js.map → conversationCard.component-DvUZFdws.js.map} +1 -1
- package/dist/chunks/{datePicker.component-DabILO51.js → datePicker.component-CaX-nDYU.js} +2 -2
- package/dist/chunks/{datePicker.component-DabILO51.js.map → datePicker.component-CaX-nDYU.js.map} +1 -1
- package/dist/chunks/{datePicker.component-Cv88ibpq.js → datePicker.component-CfULnyaz.js} +4 -4
- package/dist/chunks/{datePicker.component-Cv88ibpq.js.map → datePicker.component-CfULnyaz.js.map} +1 -1
- package/dist/chunks/{heading.component-DZ7kmGcE.js → heading.component-CUa8MRJt.js} +2 -2
- package/dist/chunks/{heading.component-DZ7kmGcE.js.map → heading.component-CUa8MRJt.js.map} +1 -1
- package/dist/chunks/{heading.component-CcrIqjxB.js → heading.component-Cuqs0DsG.js} +2 -2
- package/dist/chunks/{heading.component-CcrIqjxB.js.map → heading.component-Cuqs0DsG.js.map} +1 -1
- package/dist/chunks/{menu.component-bdDcCEay.js → menu.component-DuEKWjJe.js} +5 -5
- package/dist/chunks/{menu.component-bdDcCEay.js.map → menu.component-DuEKWjJe.js.map} +1 -1
- package/dist/chunks/{menu.component-BsIFHOah.js → menu.component-DzEdcGnQ.js} +2 -2
- package/dist/chunks/{menu.component-BsIFHOah.js.map → menu.component-DzEdcGnQ.js.map} +1 -1
- package/dist/chunks/{modal.types-vrGXh5fF.js → modal.types-Cg8WeIe5.js} +2 -2
- package/dist/chunks/{modal.types-vrGXh5fF.js.map → modal.types-Cg8WeIe5.js.map} +1 -1
- package/dist/chunks/{modal.types-DYw_hPtT.js → modal.types-SzYLypgs.js} +2 -2
- package/dist/chunks/{modal.types-DYw_hPtT.js.map → modal.types-SzYLypgs.js.map} +1 -1
- package/dist/chunks/{pinInput.types-DHBICngh.js → pinInput.types-D73AXb6j.js} +2 -2
- package/dist/chunks/{pinInput.types-DHBICngh.js.map → pinInput.types-D73AXb6j.js.map} +1 -1
- package/dist/chunks/{pinInput.types-jvCDRIOC.js → pinInput.types-DzJ8G-cv.js} +2 -2
- package/dist/chunks/{pinInput.types-jvCDRIOC.js.map → pinInput.types-DzJ8G-cv.js.map} +1 -1
- package/dist/chunks/{popover.component-BmB0qwpj.js → popover.component-BNH2Qyh6.js} +3 -3
- package/dist/chunks/{popover.component-BmB0qwpj.js.map → popover.component-BNH2Qyh6.js.map} +1 -1
- package/dist/chunks/{popover.component-DUX4fJNk.js → popover.component-DXcu1TE5.js} +2 -2
- package/dist/chunks/{popover.component-DUX4fJNk.js.map → popover.component-DXcu1TE5.js.map} +1 -1
- package/dist/chunks/{radioGroup.component-BhR1aKj7.js → radioGroup.component-6Sb4sfkk.js} +2 -2
- package/dist/chunks/{radioGroup.component-BhR1aKj7.js.map → radioGroup.component-6Sb4sfkk.js.map} +1 -1
- package/dist/chunks/{radioGroup.component-CyJiJHx5.js → radioGroup.component-Dy-hsu8-.js} +4 -4
- package/dist/chunks/{radioGroup.component-CyJiJHx5.js.map → radioGroup.component-Dy-hsu8-.js.map} +1 -1
- package/dist/chunks/{ratingDots.component-BKUKL6Mz.js → ratingDots.component-DMe19wON.js} +2 -2
- package/dist/chunks/{ratingDots.component-BKUKL6Mz.js.map → ratingDots.component-DMe19wON.js.map} +1 -1
- package/dist/chunks/{ratingDots.component-HUIKoSFb.js → ratingDots.component-k9LJL9Eu.js} +3 -3
- package/dist/chunks/{ratingDots.component-HUIKoSFb.js.map → ratingDots.component-k9LJL9Eu.js.map} +1 -1
- package/dist/chunks/{select.component-8ukrnBdk.js → select.component-CuiKCzV4.js} +2 -2
- package/dist/chunks/{select.component-8ukrnBdk.js.map → select.component-CuiKCzV4.js.map} +1 -1
- package/dist/chunks/{select.component-DLt_2xlg.js → select.component-InxmAsNH.js} +5 -5
- package/dist/chunks/{select.component-DLt_2xlg.js.map → select.component-InxmAsNH.js.map} +1 -1
- package/dist/chunks/{sortableList.component-B_7TyrzG.js → sortableList.component-B9CPjKG7.js} +2 -2
- package/dist/chunks/{sortableList.component-B_7TyrzG.js.map → sortableList.component-B9CPjKG7.js.map} +1 -1
- package/dist/chunks/{sortableList.component-CR53llzt.js → sortableList.component-CaPRUdXt.js} +2 -2
- package/dist/chunks/{sortableList.component-CR53llzt.js.map → sortableList.component-CaPRUdXt.js.map} +1 -1
- package/dist/chunks/{spinner.component-DIyDNcWp.js → spinner.component-CWdZsQ1n.js} +2 -2
- package/dist/chunks/{spinner.component-DIyDNcWp.js.map → spinner.component-CWdZsQ1n.js.map} +1 -1
- package/dist/chunks/{spinner.component-Bir81DbZ.js → spinner.component-DWZ_4aTj.js} +2 -2
- package/dist/chunks/{spinner.component-Bir81DbZ.js.map → spinner.component-DWZ_4aTj.js.map} +1 -1
- package/dist/chunks/{styledAvatar.types-BjuO516j.js → styledAvatar.types-BXftd-Wf.js} +2 -2
- package/dist/chunks/{styledAvatar.types-BjuO516j.js.map → styledAvatar.types-BXftd-Wf.js.map} +1 -1
- package/dist/chunks/{styledAvatar.types-CbfoVHIB.js → styledAvatar.types-D4XrEFve.js} +2 -2
- package/dist/chunks/{styledAvatar.types-CbfoVHIB.js.map → styledAvatar.types-D4XrEFve.js.map} +1 -1
- package/dist/chunks/{switch.component-CPhSaMqG.js → switch.component-Ct8hEoT2.js} +2 -2
- package/dist/chunks/{switch.component-CPhSaMqG.js.map → switch.component-Ct8hEoT2.js.map} +1 -1
- package/dist/chunks/{switch.component-Dpu_wRns.js → switch.component-vDh8eC0O.js} +2 -2
- package/dist/chunks/{switch.component-Dpu_wRns.js.map → switch.component-vDh8eC0O.js.map} +1 -1
- package/dist/chunks/{tabs.component-BHGBxzEH.js → tabs.component-CuCzoee6.js} +2 -2
- package/dist/chunks/{tabs.component-BHGBxzEH.js.map → tabs.component-CuCzoee6.js.map} +1 -1
- package/dist/chunks/{tabs.component-CY9u7o56.js → tabs.component-DDmnq9Yj.js} +2 -2
- package/dist/chunks/{tabs.component-CY9u7o56.js.map → tabs.component-DDmnq9Yj.js.map} +1 -1
- package/dist/chunks/{tagBlock.component-LnQADvWP.js → tagBlock.component-Cvlqt0tt.js} +2 -2
- package/dist/chunks/{tagBlock.component-LnQADvWP.js.map → tagBlock.component-Cvlqt0tt.js.map} +1 -1
- package/dist/chunks/{tagBlock.component-3imRPwFH.js → tagBlock.component-LJYc9GiQ.js} +5 -5
- package/dist/chunks/{tagBlock.component-3imRPwFH.js.map → tagBlock.component-LJYc9GiQ.js.map} +1 -1
- package/dist/chunks/{textInput.component-4YWnSJOZ.js → textInput.component--WvGHJxt.js} +3 -3
- package/dist/chunks/{textInput.component-4YWnSJOZ.js.map → textInput.component--WvGHJxt.js.map} +1 -1
- package/dist/chunks/{textInput.component-BJ3ija0b.js → textInput.component-HHNykQ9Q.js} +2 -2
- package/dist/chunks/{textInput.component-BJ3ija0b.js.map → textInput.component-HHNykQ9Q.js.map} +1 -1
- package/dist/chunks/{textarea.component-GhlEwhHu.js → textarea.component--AjIMSc1.js} +3 -3
- package/dist/chunks/{textarea.component-GhlEwhHu.js.map → textarea.component--AjIMSc1.js.map} +1 -1
- package/dist/chunks/{textarea.component-zej8Yk62.js → textarea.component-FFs6Uln9.js} +2 -2
- package/dist/chunks/{textarea.component-zej8Yk62.js.map → textarea.component-FFs6Uln9.js.map} +1 -1
- package/dist/chunks/{theme.provider-CkBtkwtf.js → theme.provider-BEb3gD55.js} +2 -2
- package/dist/chunks/{theme.provider-CkBtkwtf.js.map → theme.provider-BEb3gD55.js.map} +1 -1
- package/dist/chunks/{theme.provider-D_vTiS-g.js → theme.provider-C5Ltz2zj.js} +2 -2
- package/dist/chunks/{theme.provider-D_vTiS-g.js.map → theme.provider-C5Ltz2zj.js.map} +1 -1
- package/dist/chunks/{timePicker.component-DBzIM9G4.js → timePicker.component-Bah1y2Pc.js} +3 -3
- package/dist/chunks/{timePicker.component-DBzIM9G4.js.map → timePicker.component-Bah1y2Pc.js.map} +1 -1
- package/dist/chunks/{timePicker.component-C7StGDmo.js → timePicker.component-BxmUXWNg.js} +2 -2
- package/dist/chunks/{timePicker.component-C7StGDmo.js.map → timePicker.component-BxmUXWNg.js.map} +1 -1
- package/dist/chunks/{timeRange.component-BceK2COI.js → timeRange.component-BhdUqy0y.js} +2 -2
- package/dist/chunks/{timeRange.component-BceK2COI.js.map → timeRange.component-BhdUqy0y.js.map} +1 -1
- package/dist/chunks/{timeRange.component-CNLSxsSZ.js → timeRange.component-C0ZHjvEa.js} +2 -2
- package/dist/chunks/{timeRange.component-CNLSxsSZ.js.map → timeRange.component-C0ZHjvEa.js.map} +1 -1
- package/dist/chunks/{timestamp.component-CbhzpqAt.js → timestamp.component-BOksAchA.js} +2 -2
- package/dist/chunks/{timestamp.component-CbhzpqAt.js.map → timestamp.component-BOksAchA.js.map} +1 -1
- package/dist/chunks/{timestamp.component-DWGPmV_e.js → timestamp.component-DLh53lam.js} +2 -2
- package/dist/chunks/{timestamp.component-DWGPmV_e.js.map → timestamp.component-DLh53lam.js.map} +1 -1
- package/dist/chunks/{withFormControl-Cb632r_x.js → withFormControl-3s6IRbl0.js} +2 -2
- package/dist/chunks/{withFormControl-Cb632r_x.js.map → withFormControl-3s6IRbl0.js.map} +1 -1
- package/dist/chunks/{withFormControl-BI8pqhZl.js → withFormControl-DhWavZor.js} +2 -2
- package/dist/chunks/{withFormControl-BI8pqhZl.js.map → withFormControl-DhWavZor.js.map} +1 -1
- package/dist/chunks/{withTruncation-CDgWfFpO.js → withTruncation-D8W737TN.js} +2 -2
- package/dist/chunks/{withTruncation-CDgWfFpO.js.map → withTruncation-D8W737TN.js.map} +1 -1
- package/dist/chunks/{withTruncation-XdRr8uDJ.js → withTruncation-nuzHzFsq.js} +2 -2
- package/dist/chunks/{withTruncation-XdRr8uDJ.js.map → withTruncation-nuzHzFsq.js.map} +1 -1
- package/dist/cjs/components/Alert/index.cjs +1 -1
- package/dist/cjs/components/Avatar/index.cjs +1 -1
- package/dist/cjs/components/AvatarGroup/index.cjs +1 -1
- package/dist/cjs/components/ButtonGroup/index.cjs +1 -1
- package/dist/cjs/components/CharacterCounter/index.cjs +1 -1
- package/dist/cjs/components/Checkbox/index.cjs +1 -1
- package/dist/cjs/components/CheckboxGroup/index.cjs +1 -1
- package/dist/cjs/components/ConversationCard/index.cjs +1 -1
- package/dist/cjs/components/DatePicker/index.cjs +1 -1
- package/dist/cjs/components/Heading/index.cjs +1 -1
- package/dist/cjs/components/Menu/index.cjs +1 -1
- package/dist/cjs/components/Modal/index.cjs +1 -1
- package/dist/cjs/components/PinInput/index.cjs +1 -1
- package/dist/cjs/components/Popover/index.cjs +1 -1
- package/dist/cjs/components/RadioGroup/index.cjs +1 -1
- package/dist/cjs/components/RatingDots/index.cjs +1 -1
- package/dist/cjs/components/Select/index.cjs +1 -1
- package/dist/cjs/components/SortableList/index.cjs +1 -1
- package/dist/cjs/components/Spinner/index.cjs +1 -1
- package/dist/cjs/components/StyledAvatar/index.cjs +1 -1
- package/dist/cjs/components/Switch/index.cjs +1 -1
- package/dist/cjs/components/Tabs/index.cjs +1 -1
- package/dist/cjs/components/TagBlock/index.cjs +1 -1
- package/dist/cjs/components/Text/index.cjs +1 -1
- package/dist/cjs/components/TextInput/index.cjs +1 -1
- package/dist/cjs/components/Textarea/index.cjs +1 -1
- package/dist/cjs/components/TimePicker/index.cjs +1 -1
- package/dist/cjs/components/TimeRange/index.cjs +1 -1
- package/dist/cjs/components/Timestamp/index.cjs +1 -1
- package/dist/cjs/components/Tooltip/index.cjs +1 -1
- package/dist/cjs/components/index.cjs +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/theme/index.cjs +1 -1
- package/dist/esm/components/Alert/index.js +1 -1
- package/dist/esm/components/Avatar/index.js +1 -1
- package/dist/esm/components/AvatarGroup/index.js +1 -1
- package/dist/esm/components/ButtonGroup/index.js +1 -1
- package/dist/esm/components/CharacterCounter/index.js +1 -1
- package/dist/esm/components/Checkbox/index.js +1 -1
- package/dist/esm/components/CheckboxGroup/index.js +1 -1
- package/dist/esm/components/ConversationCard/index.js +1 -1
- package/dist/esm/components/DatePicker/index.js +1 -1
- package/dist/esm/components/Heading/index.js +1 -1
- package/dist/esm/components/Menu/index.js +1 -1
- package/dist/esm/components/Modal/index.js +1 -1
- package/dist/esm/components/PinInput/index.js +1 -1
- package/dist/esm/components/Popover/index.js +1 -1
- package/dist/esm/components/RadioGroup/index.js +1 -1
- package/dist/esm/components/RatingDots/index.js +1 -1
- package/dist/esm/components/Select/index.js +1 -1
- package/dist/esm/components/SortableList/index.js +1 -1
- package/dist/esm/components/Spinner/index.js +1 -1
- package/dist/esm/components/StyledAvatar/index.js +1 -1
- package/dist/esm/components/Switch/index.js +1 -1
- package/dist/esm/components/Tabs/index.js +1 -1
- package/dist/esm/components/TagBlock/index.js +1 -1
- package/dist/esm/components/Text/index.js +1 -1
- package/dist/esm/components/TextInput/index.js +1 -1
- package/dist/esm/components/Textarea/index.js +1 -1
- package/dist/esm/components/TimePicker/index.js +1 -1
- package/dist/esm/components/TimeRange/index.js +1 -1
- package/dist/esm/components/Timestamp/index.js +1 -1
- package/dist/esm/components/Tooltip/index.js +1 -1
- package/dist/esm/components/index.js +29 -29
- package/dist/esm/index.js +30 -30
- package/dist/esm/theme/index.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.component-BsIFHOah.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.components.tsx","../../src/components/Menu/components/MenuItem/menuItem.component.tsx","../../src/components/Menu/components/MenuToggleButtons/menuToggleButtons.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 [MenuOptionItemPropsProvider, useMenuOptionItemPropsContext] = createContext({\n name: \"MenuOptionItemPropsContext\",\n hookName: \"useMenuOptionItemPropsContext\",\n providerName: \"<MenuOptionItemPropsProvider />\"\n});\n\nexport { MenuOptionItemPropsProvider, useMenuOptionItemPropsContext };\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 { MenuOptionItemPropsProvider } 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(MenuOptionItemPropsProvider, { 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';\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(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 { useMenuOptionItemPropsContext } from './use-menu-option-item-props-context.js';\n\nconst MenuItemIndicator = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const optionItemProps = useMenuOptionItemPropsContext();\n const mergedProps = mergeProps(menu.getItemIndicatorProps(optionItemProps), 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 { useMenuOptionItemPropsContext } from './use-menu-option-item-props-context.js';\n\nconst MenuItemText = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const optionItemProps = useMenuOptionItemPropsContext();\n const mergedProps = mergeProps(menu.getItemTextProps(optionItemProps), 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 { MenuOptionItemPropsProvider } 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(MenuOptionItemPropsProvider, { 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 { Button, ButtonProps } from \"components/Button/button.component\";\nimport { Icon } from \"components/Icon/icon.component\";\nimport { Text, TextProps } from \"components/Text/text.component\";\nimport React from \"react\";\n\nexport interface MenuButtonProps extends Omit<ButtonProps, \"children\"> {\n hideCaret?: boolean;\n text?: string;\n textProps?: TextProps;\n}\n\nexport const MenuButton = ({\n hideCaret = false,\n size = \"md\",\n text,\n textProps,\n variant,\n ...rest\n}: MenuButtonProps): React.JSX.Element => {\n return (\n <Button\n className=\"Menu__Button\"\n data-testid=\"kibble-menu-button\"\n size={size}\n variant={variant}\n {...rest}\n {...(!text && hideCaret && { paddingInline: 0, paddingBlock: 0 })}\n >\n {text && (\n <Text\n className=\"Menu__ButtonText\"\n data-testid=\"kibble-menu-button-text\"\n fontWeight=\"semibold\"\n size={size}\n color={variant ? \"inherit\" : textProps?.color || \"text.contrast\"}\n truncate\n {...textProps}\n >\n {text}\n </Text>\n )}\n {!hideCaret && (\n <Flex\n className=\"Menu__ButtonCaret\"\n data-testid=\"kibble-menu-button-caret\"\n >\n <Icon name=\"chevronDown\" size={size === \"lg\" ? \"sm\" : \"xs\"} />\n </Flex>\n )}\n </Button>\n );\n};\n","import { Flex } from \"@chakra-ui/react/flex\";\nimport { Menu as CMenu } from \"@chakra-ui/react/menu\";\nimport React, { useCallback } from \"react\";\nimport { Text } from \"components/Text/text.component\";\nimport { MenuItemType } from \"./menuItem.types\";\nimport { Menu, MenuListProps } from \"components/Menu\";\nimport { TypographyVariant } from \"shared/types/typography\";\nimport { Checkbox } from \"components/Checkbox/checkbox.component\";\nimport { Icon } from \"components/Icon/icon.component\";\n\ninterface BaseMenuItemProps {\n label?: React.ReactNode;\n leftElement?: React.ReactNode;\n groupLabel?: string;\n onSelect?: (value: string) => void;\n shouldTruncateText?: boolean;\n type?: MenuItemType;\n value: string;\n variant?: TypographyVariant;\n}\n\ninterface DefaultMenuItemProps extends Omit<CMenu.ItemProps, \"onSelect\"> {\n type?: \"default\";\n selected?: boolean;\n}\n\ninterface CheckboxMenuItemProps\n extends Omit<CMenu.CheckboxItemProps, \"onSelect\"> {\n type: \"checkbox\";\n checked: boolean;\n}\n\ninterface SubmenuMenuItemProps {\n type: \"submenu\";\n valueText?: string;\n listProps?: MenuListProps;\n}\n\nexport type MenuItemProps = BaseMenuItemProps &\n (DefaultMenuItemProps | CheckboxMenuItemProps | SubmenuMenuItemProps);\n\nexport const MenuItem = ({\n label,\n leftElement,\n onSelect,\n shouldTruncateText,\n type = \"default\",\n variant,\n ...rest\n}: MenuItemProps): React.JSX.Element => {\n const handleOnSelect = useCallback(() => {\n if (onSelect) {\n onSelect(rest.value);\n }\n }, [onSelect, rest.value]);\n\n if (type === \"submenu\") {\n const { valueText, listProps } = rest as Omit<SubmenuMenuItemProps, \"type\">;\n return (\n <Menu\n submenuTrigger={\n <CMenu.TriggerItem\n className=\"Menu__Item--Submenu\"\n data-testid=\"kibble-menu-item-submenu\"\n justifyContent=\"space-between\"\n aria-valuetext={valueText}\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={true}\n listProps={listProps}\n />\n );\n }\n\n if (type === \"checkbox\") {\n const { checked, value, closeOnSelect, ...checkboxRest } =\n rest as CheckboxMenuItemProps;\n return (\n <CMenu.CheckboxItem\n className=\"Menu__Item--Checkbox\"\n data-testid=\"kibble-menu-item-checkbox\"\n value={value}\n checked={!!checked}\n onCheckedChange={handleOnSelect}\n closeOnSelect={closeOnSelect || false}\n gap={3}\n {...checkboxRest}\n >\n <Checkbox checked={!!checked} size=\"md\" fullWidth={false} />\n <MenuItemLabel\n label={label}\n leftElement={leftElement}\n shouldTruncateText={shouldTruncateText}\n variant={variant}\n />\n </CMenu.CheckboxItem>\n );\n }\n\n if (type === \"default\") {\n const {\n selected = false,\n value,\n ...defaultRest\n } = rest as DefaultMenuItemProps;\n return (\n <CMenu.Item\n className=\"Menu__Item--Default\"\n data-testid=\"kibble-menu-item-default\"\n value={value}\n onSelect={handleOnSelect}\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 />\n </CMenu.Item>\n );\n }\n\n return <></>;\n};\n\nconst MenuItemLabel = ({\n label,\n leftElement,\n shouldTruncateText,\n variant,\n}: {\n label?: React.ReactNode;\n leftElement?: React.ReactNode;\n shouldTruncateText?: boolean;\n variant?: TypographyVariant;\n}): React.JSX.Element => {\n return (\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};\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 hasSelectedItems?: boolean;\n groupName?: string;\n onToggle: ({\n groupName,\n clear,\n }: {\n clear: boolean;\n groupName?: string;\n }) => void;\n}\n\nexport const MenuToggleButtons = ({\n groupName,\n hasSelectedItems = false,\n onToggle,\n}: MenuToggleButtonsProps): React.JSX.Element => {\n const isGrouped = !!groupName;\n return (\n <Box\n className=\"Menu__ToggleButtons\"\n data-testid=\"kibble-menu-toggle-buttons\"\n {...(isGrouped ? { textAlign: \"right\", w: \"50%\" } : { mt: 2 })}\n >\n {isGrouped ? (\n <>\n {hasSelectedItems ? (\n <ClearAllButton\n hasSelectedItems={hasSelectedItems}\n groupName={groupName}\n onToggle={onToggle}\n />\n ) : (\n <SelectAllButton groupName={groupName} onToggle={onToggle} />\n )}\n </>\n ) : (\n <Flex justifyContent=\"space-between\">\n <SelectAllButton groupName={groupName} onToggle={onToggle} />\n <ClearAllButton\n hasSelectedItems={hasSelectedItems}\n groupName={groupName}\n onToggle={onToggle}\n />\n </Flex>\n )}\n </Box>\n );\n};\n\nconst SelectAllButton = ({\n groupName,\n onToggle,\n}: MenuToggleButtonsProps): React.JSX.Element => {\n return (\n <Button\n variant=\"ghost\"\n size=\"xs\"\n onClick={(): void => onToggle({ groupName, clear: false })}\n >\n Select All\n </Button>\n );\n};\n\nconst ClearAllButton = ({\n hasSelectedItems,\n groupName,\n onToggle,\n}: 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 {\n MenuButton,\n MenuButtonProps,\n} from \"./components/MenuButton/menuButton.components\";\nimport {\n MenuItem,\n MenuItemProps,\n} from \"./components/MenuItem/menuItem.component\";\nimport { useCheckboxGroup } from \"@chakra-ui/react/checkbox\";\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\";\nimport { useModalContentRef } from \"components/Modal/context/modal.context\";\n\nexport type MenuListOnSelect =\n | ((selectedItem: string | undefined, allSelectedItems?: string[]) => void)\n | ((\n selectedItem: string | undefined,\n allSelectedItems?: string[],\n ) => Promise<void>);\n\nexport type MenuListOnSelectAll =\n | ((selectedItems: string[]) => void)\n | ((selectedItems: string[]) => Promise<void>);\n\nexport interface MenuListProps extends Omit<CMenu.ContentProps, \"onSelect\"> {\n canSelectAll?: boolean;\n canSelectGroups?: boolean;\n emptyStateText?: string;\n loading?: boolean;\n menuItems?: MenuItemProps[];\n onSearch?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n onSelect?: MenuListOnSelect;\n onSelectAll?: MenuListOnSelectAll;\n searchable?: boolean;\n searchPlaceholder?: string;\n shouldTruncateText?: boolean;\n}\n\nexport interface MenuProps\n extends Omit<CMenu.RootProps, \"children\" | \"onSelect\"> {\n buttonProps?: MenuButtonProps;\n listProps?: MenuListProps;\n portalled?: boolean;\n}\n\ninterface InternalMenuProps extends MenuProps {\n submenuTrigger?: React.ReactNode;\n}\n\nexport const Menu = ({\n buttonProps,\n listProps,\n portalled = false,\n submenuTrigger,\n ...rest\n}: InternalMenuProps): React.JSX.Element => {\n const { contentRef: modalContentRef } = useModalContentRef();\n const {\n canSelectAll,\n canSelectGroups,\n emptyStateText = \"No results found\",\n loading,\n maxH = \"480px\",\n menuItems = [],\n minW = \"240px\",\n onSearch,\n onSelect,\n onSelectAll,\n searchable,\n searchPlaceholder = \"Search...\",\n shouldTruncateText,\n ...restListProps\n } = listProps || {};\n const [searchText, setSearchText] = useState<string>(\"\");\n const [filteredMenuItems, setFilteredMenuItems] =\n 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(() => Object.entries(groupedItems), [groupedItems]);\n\n // Checkbox State Management\n const checkboxItems = useMemo(\n () => menuItems?.filter((item) => item.type === \"checkbox\") || [],\n [menuItems],\n );\n\n const defaultSelectedItems = useMemo(() => {\n const selectedMenuItems =\n checkboxItems?.filter((item) => item.checked) || [];\n return selectedMenuItems.map((item) => item.value);\n }, [checkboxItems]);\n\n const selectedItems = useCheckboxGroup({\n defaultValue: defaultSelectedItems,\n });\n\n // Search\n const filterOptions = useCallback(\n (searchInput: string, itemsToFilter: MenuItemProps[]) => {\n if (searchInput === \"\" || !searchInput) {\n return itemsToFilter;\n }\n\n return itemsToFilter.filter((item): boolean => {\n const labelText =\n typeof item.label === \"string\" ? item.label : item.valueText;\n\n return !!labelText?.toLowerCase().includes(searchInput.toLowerCase());\n });\n },\n [],\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 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 // Selection\n const handleToggle = useCallback(\n ({ groupName, clear }: { groupName?: string; clear: boolean }) => {\n let newValues: string[] = [];\n if (groupName) {\n const groupItems = checkboxItems\n .filter((item) => item.groupLabel === groupName)\n .map((item) => item.value);\n newValues = clear\n ? selectedItems.value.filter((value) => !groupItems.includes(value))\n : [...selectedItems.value, ...groupItems];\n } else {\n newValues = clear ? [] : checkboxItems.map((item) => item.value);\n }\n onSelectAll?.(newValues);\n selectedItems.setValue(newValues);\n },\n [checkboxItems, onSelectAll, selectedItems],\n );\n\n const handleSelect = useCallback(\n (item: MenuItemProps) => {\n item.onSelect?.(item.value);\n const currentSelection = selectedItems.value;\n const isItemSelected = selectedItems.isChecked(item.value);\n onSelect?.(\n item.value,\n isItemSelected\n ? currentSelection.filter((value) => value !== item.value)\n : [...currentSelection, item.value],\n );\n if (item.type === \"checkbox\") {\n selectedItems.toggleValue(item.value);\n }\n },\n [onSelect, selectedItems],\n );\n\n // Cleanup\n const handleCleanup = useCallback(\n (open: boolean) => {\n if (!open) {\n setSearchText(\"\");\n setFilteredMenuItems(menuItems);\n }\n },\n [menuItems],\n );\n\n return (\n <CMenu.Root\n {...rest}\n onOpenChange={(details) => {\n handleCleanup(details.open);\n rest.onOpenChange?.(details);\n }}\n >\n {!submenuTrigger ? (\n <CMenu.Trigger\n asChild\n className=\"Menu__Trigger\"\n data-testid=\"kibble-menu-trigger\"\n >\n <MenuButton {...buttonProps} />\n </CMenu.Trigger>\n ) : (\n submenuTrigger\n )}\n <Portal disabled={!portalled} container={modalContentRef || undefined}>\n <CMenu.Positioner className=\"Menu\" data-testid=\"kibble-menu\">\n <CMenu.Content\n className=\"Menu__Content\"\n data-testid=\"kibble-menu-content\"\n maxH={maxH}\n minW={minW}\n {...restListProps}\n >\n {(searchable || canSelectAll) && (\n <Box\n className=\"Menu__Header\"\n data-testid=\"kibble-menu-header\"\n m=\"0 12px 8px\"\n >\n {searchable && (\n <TextInput\n className=\"Menu__SearchBar\"\n data-testid=\"kibble-menu-search-bar\"\n placeholder={searchPlaceholder}\n onChange={handleSearch}\n size=\"sm\"\n value={searchText}\n clearable\n onClear={clearSearch}\n formControlStyle={{ mt: 1 }}\n />\n )}\n {canSelectAll && !!checkboxItems.length && (\n <MenuToggleButtons\n onToggle={handleToggle}\n hasSelectedItems={!!selectedItems.value.length}\n />\n )}\n </Box>\n )}\n {!loading ? (\n <Box className=\"Menu__List\" data-testid=\"kibble-menu-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\n ? CMenu.ItemGroup\n : React.Fragment;\n const groupValues = types[\"checkbox\"]?.map(\n (item) => item.value,\n );\n const hasSelectedItems = groupValues?.some((value) =>\n selectedItems.value.includes(value),\n );\n return (\n <MenuGroupContainer key={groupLabel}>\n {!isDefaultGroup && (\n <CMenu.ItemGroupLabel>\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n >\n {groupLabel}\n {canSelectGroups &&\n itemTypes.includes(\"checkbox\") && (\n <MenuToggleButtons\n groupName={groupLabel}\n onToggle={handleToggle}\n hasSelectedItems={hasSelectedItems}\n />\n )}\n </Flex>\n </CMenu.ItemGroupLabel>\n )}\n {Object.entries(types).map(([type, items]) =>\n items.map((item, index) => (\n <MenuItem\n key={`menu-item-${groupLabel}-${type}-${index}`}\n {...item}\n shouldTruncateText={shouldTruncateText}\n {...(item.type === \"checkbox\" && {\n checked: selectedItems.isChecked(item.value),\n })}\n onSelect={() => handleSelect(item)}\n />\n )),\n )}\n </MenuGroupContainer>\n );\n })}\n </>\n ) : (\n <>\n <Box textAlign=\"center\" p={3}>\n <Text size=\"sm\" variant=\"subtle\">\n {emptyStateText}\n </Text>\n </Box>\n </>\n )}\n </Box>\n ) : (\n <Flex justifyContent=\"center\" py={5}>\n <Spinner />\n </Flex>\n )}\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","MenuOptionItemPropsProvider","useMenuOptionItemPropsContext","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","rest","jsxs","Button","Text","Flex","Icon","label","leftElement","onSelect","shouldTruncateText","type","handleOnSelect","valueText","listProps","Menu","CMenu.TriggerItem","MenuItemLabel","checked","value","closeOnSelect","checkboxRest","CMenu.CheckboxItem","Checkbox","selected","defaultRest","CMenu.Item","Fragment","MenuToggleButtons","groupName","hasSelectedItems","onToggle","isGrouped","Box","ClearAllButton","SelectAllButton","buttonProps","portalled","submenuTrigger","modalContentRef","useModalContentRef","canSelectAll","canSelectGroups","emptyStateText","loading","maxH","menuItems","minW","onSearch","onSelectAll","searchable","searchPlaceholder","restListProps","searchText","setSearchText","useState","filteredMenuItems","setFilteredMenuItems","groupedItems","useMemo","groups","item","group","checkboxItems","defaultSelectedItems","selectedItems","useCheckboxGroup","filterOptions","searchInput","itemsToFilter","handleSearch","e","clearSearch","handleToggle","clear","newValues","groupItems","handleSelect","currentSelection","isItemSelected","handleCleanup","open","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-DzEdcGnQ.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.components.tsx","../../src/components/Menu/components/MenuItem/menuItem.component.tsx","../../src/components/Menu/components/MenuToggleButtons/menuToggleButtons.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 [MenuOptionItemPropsProvider, useMenuOptionItemPropsContext] = createContext({\n name: \"MenuOptionItemPropsContext\",\n hookName: \"useMenuOptionItemPropsContext\",\n providerName: \"<MenuOptionItemPropsProvider />\"\n});\n\nexport { MenuOptionItemPropsProvider, useMenuOptionItemPropsContext };\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 { MenuOptionItemPropsProvider } 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(MenuOptionItemPropsProvider, { 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';\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(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 { useMenuOptionItemPropsContext } from './use-menu-option-item-props-context.js';\n\nconst MenuItemIndicator = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const optionItemProps = useMenuOptionItemPropsContext();\n const mergedProps = mergeProps(menu.getItemIndicatorProps(optionItemProps), 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 { useMenuOptionItemPropsContext } from './use-menu-option-item-props-context.js';\n\nconst MenuItemText = forwardRef((props, ref) => {\n const menu = useMenuContext();\n const optionItemProps = useMenuOptionItemPropsContext();\n const mergedProps = mergeProps(menu.getItemTextProps(optionItemProps), 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 { MenuOptionItemPropsProvider } 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(MenuOptionItemPropsProvider, { 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 { Button, ButtonProps } from \"components/Button/button.component\";\nimport { Icon } from \"components/Icon/icon.component\";\nimport { Text, TextProps } from \"components/Text/text.component\";\nimport React from \"react\";\n\nexport interface MenuButtonProps extends Omit<ButtonProps, \"children\"> {\n hideCaret?: boolean;\n text?: string;\n textProps?: TextProps;\n}\n\nexport const MenuButton = ({\n hideCaret = false,\n size = \"md\",\n text,\n textProps,\n variant,\n ...rest\n}: MenuButtonProps): React.JSX.Element => {\n return (\n <Button\n className=\"Menu__Button\"\n data-testid=\"kibble-menu-button\"\n size={size}\n variant={variant}\n {...rest}\n {...(!text && hideCaret && { paddingInline: 0, paddingBlock: 0 })}\n >\n {text && (\n <Text\n className=\"Menu__ButtonText\"\n data-testid=\"kibble-menu-button-text\"\n fontWeight=\"semibold\"\n size={size}\n color={variant ? \"inherit\" : textProps?.color || \"text.contrast\"}\n truncate\n {...textProps}\n >\n {text}\n </Text>\n )}\n {!hideCaret && (\n <Flex\n className=\"Menu__ButtonCaret\"\n data-testid=\"kibble-menu-button-caret\"\n >\n <Icon name=\"chevronDown\" size={size === \"lg\" ? \"sm\" : \"xs\"} />\n </Flex>\n )}\n </Button>\n );\n};\n","import { Flex } from \"@chakra-ui/react/flex\";\nimport { Menu as CMenu } from \"@chakra-ui/react/menu\";\nimport React, { useCallback } from \"react\";\nimport { Text } from \"components/Text/text.component\";\nimport { MenuItemType } from \"./menuItem.types\";\nimport { Menu, MenuListProps } from \"components/Menu\";\nimport { TypographyVariant } from \"shared/types/typography\";\nimport { Checkbox } from \"components/Checkbox/checkbox.component\";\nimport { Icon } from \"components/Icon/icon.component\";\n\ninterface BaseMenuItemProps {\n label?: React.ReactNode;\n leftElement?: React.ReactNode;\n groupLabel?: string;\n onSelect?: (value: string) => void;\n shouldTruncateText?: boolean;\n type?: MenuItemType;\n value: string;\n variant?: TypographyVariant;\n}\n\ninterface DefaultMenuItemProps extends Omit<CMenu.ItemProps, \"onSelect\"> {\n type?: \"default\";\n selected?: boolean;\n}\n\ninterface CheckboxMenuItemProps\n extends Omit<CMenu.CheckboxItemProps, \"onSelect\"> {\n type: \"checkbox\";\n checked: boolean;\n}\n\ninterface SubmenuMenuItemProps {\n type: \"submenu\";\n valueText?: string;\n listProps?: MenuListProps;\n}\n\nexport type MenuItemProps = BaseMenuItemProps &\n (DefaultMenuItemProps | CheckboxMenuItemProps | SubmenuMenuItemProps);\n\nexport const MenuItem = ({\n label,\n leftElement,\n onSelect,\n shouldTruncateText,\n type = \"default\",\n variant,\n ...rest\n}: MenuItemProps): React.JSX.Element => {\n const handleOnSelect = useCallback(() => {\n if (onSelect) {\n onSelect(rest.value);\n }\n }, [onSelect, rest.value]);\n\n if (type === \"submenu\") {\n const { valueText, listProps } = rest as Omit<SubmenuMenuItemProps, \"type\">;\n return (\n <Menu\n submenuTrigger={\n <CMenu.TriggerItem\n className=\"Menu__Item--Submenu\"\n data-testid=\"kibble-menu-item-submenu\"\n justifyContent=\"space-between\"\n aria-valuetext={valueText}\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={true}\n listProps={listProps}\n />\n );\n }\n\n if (type === \"checkbox\") {\n const { checked, value, closeOnSelect, ...checkboxRest } =\n rest as CheckboxMenuItemProps;\n return (\n <CMenu.CheckboxItem\n className=\"Menu__Item--Checkbox\"\n data-testid=\"kibble-menu-item-checkbox\"\n value={value}\n checked={!!checked}\n onCheckedChange={handleOnSelect}\n closeOnSelect={closeOnSelect || false}\n gap={3}\n {...checkboxRest}\n >\n <Checkbox checked={!!checked} size=\"md\" fullWidth={false} />\n <MenuItemLabel\n label={label}\n leftElement={leftElement}\n shouldTruncateText={shouldTruncateText}\n variant={variant}\n />\n </CMenu.CheckboxItem>\n );\n }\n\n if (type === \"default\") {\n const {\n selected = false,\n value,\n ...defaultRest\n } = rest as DefaultMenuItemProps;\n return (\n <CMenu.Item\n className=\"Menu__Item--Default\"\n data-testid=\"kibble-menu-item-default\"\n value={value}\n onSelect={handleOnSelect}\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 />\n </CMenu.Item>\n );\n }\n\n return <></>;\n};\n\nconst MenuItemLabel = ({\n label,\n leftElement,\n shouldTruncateText,\n variant,\n}: {\n label?: React.ReactNode;\n leftElement?: React.ReactNode;\n shouldTruncateText?: boolean;\n variant?: TypographyVariant;\n}): React.JSX.Element => {\n return (\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};\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 hasSelectedItems?: boolean;\n groupName?: string;\n onToggle: ({\n groupName,\n clear,\n }: {\n clear: boolean;\n groupName?: string;\n }) => void;\n}\n\nexport const MenuToggleButtons = ({\n groupName,\n hasSelectedItems = false,\n onToggle,\n}: MenuToggleButtonsProps): React.JSX.Element => {\n const isGrouped = !!groupName;\n return (\n <Box\n className=\"Menu__ToggleButtons\"\n data-testid=\"kibble-menu-toggle-buttons\"\n {...(isGrouped ? { textAlign: \"right\", w: \"50%\" } : { mt: 2 })}\n >\n {isGrouped ? (\n <>\n {hasSelectedItems ? (\n <ClearAllButton\n hasSelectedItems={hasSelectedItems}\n groupName={groupName}\n onToggle={onToggle}\n />\n ) : (\n <SelectAllButton groupName={groupName} onToggle={onToggle} />\n )}\n </>\n ) : (\n <Flex justifyContent=\"space-between\">\n <SelectAllButton groupName={groupName} onToggle={onToggle} />\n <ClearAllButton\n hasSelectedItems={hasSelectedItems}\n groupName={groupName}\n onToggle={onToggle}\n />\n </Flex>\n )}\n </Box>\n );\n};\n\nconst SelectAllButton = ({\n groupName,\n onToggle,\n}: MenuToggleButtonsProps): React.JSX.Element => {\n return (\n <Button\n variant=\"ghost\"\n size=\"xs\"\n onClick={(): void => onToggle({ groupName, clear: false })}\n >\n Select All\n </Button>\n );\n};\n\nconst ClearAllButton = ({\n hasSelectedItems,\n groupName,\n onToggle,\n}: 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 {\n MenuButton,\n MenuButtonProps,\n} from \"./components/MenuButton/menuButton.components\";\nimport {\n MenuItem,\n MenuItemProps,\n} from \"./components/MenuItem/menuItem.component\";\nimport { useCheckboxGroup } from \"@chakra-ui/react/checkbox\";\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\";\nimport { useModalContentRef } from \"components/Modal/context/modal.context\";\n\nexport type MenuListOnSelect =\n | ((selectedItem: string | undefined, allSelectedItems?: string[]) => void)\n | ((\n selectedItem: string | undefined,\n allSelectedItems?: string[],\n ) => Promise<void>);\n\nexport type MenuListOnSelectAll =\n | ((selectedItems: string[]) => void)\n | ((selectedItems: string[]) => Promise<void>);\n\nexport interface MenuListProps extends Omit<CMenu.ContentProps, \"onSelect\"> {\n canSelectAll?: boolean;\n canSelectGroups?: boolean;\n emptyStateText?: string;\n loading?: boolean;\n menuItems?: MenuItemProps[];\n onSearch?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n onSelect?: MenuListOnSelect;\n onSelectAll?: MenuListOnSelectAll;\n searchable?: boolean;\n searchPlaceholder?: string;\n shouldTruncateText?: boolean;\n}\n\nexport interface MenuProps\n extends Omit<CMenu.RootProps, \"children\" | \"onSelect\"> {\n buttonProps?: MenuButtonProps;\n listProps?: MenuListProps;\n portalled?: boolean;\n}\n\ninterface InternalMenuProps extends MenuProps {\n submenuTrigger?: React.ReactNode;\n}\n\nexport const Menu = ({\n buttonProps,\n listProps,\n portalled = false,\n submenuTrigger,\n ...rest\n}: InternalMenuProps): React.JSX.Element => {\n const { contentRef: modalContentRef } = useModalContentRef();\n const {\n canSelectAll,\n canSelectGroups,\n emptyStateText = \"No results found\",\n loading,\n maxH = \"480px\",\n menuItems = [],\n minW = \"240px\",\n onSearch,\n onSelect,\n onSelectAll,\n searchable,\n searchPlaceholder = \"Search...\",\n shouldTruncateText,\n ...restListProps\n } = listProps || {};\n const [searchText, setSearchText] = useState<string>(\"\");\n const [filteredMenuItems, setFilteredMenuItems] =\n 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(() => Object.entries(groupedItems), [groupedItems]);\n\n // Checkbox State Management\n const checkboxItems = useMemo(\n () => menuItems?.filter((item) => item.type === \"checkbox\") || [],\n [menuItems],\n );\n\n const defaultSelectedItems = useMemo(() => {\n const selectedMenuItems =\n checkboxItems?.filter((item) => item.checked) || [];\n return selectedMenuItems.map((item) => item.value);\n }, [checkboxItems]);\n\n const selectedItems = useCheckboxGroup({\n defaultValue: defaultSelectedItems,\n });\n\n // Search\n const filterOptions = useCallback(\n (searchInput: string, itemsToFilter: MenuItemProps[]) => {\n if (searchInput === \"\" || !searchInput) {\n return itemsToFilter;\n }\n\n return itemsToFilter.filter((item): boolean => {\n const labelText =\n typeof item.label === \"string\" ? item.label : item.valueText;\n\n return !!labelText?.toLowerCase().includes(searchInput.toLowerCase());\n });\n },\n [],\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 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 // Selection\n const handleToggle = useCallback(\n ({ groupName, clear }: { groupName?: string; clear: boolean }) => {\n let newValues: string[] = [];\n if (groupName) {\n const groupItems = checkboxItems\n .filter((item) => item.groupLabel === groupName)\n .map((item) => item.value);\n newValues = clear\n ? selectedItems.value.filter((value) => !groupItems.includes(value))\n : [...selectedItems.value, ...groupItems];\n } else {\n newValues = clear ? [] : checkboxItems.map((item) => item.value);\n }\n onSelectAll?.(newValues);\n selectedItems.setValue(newValues);\n },\n [checkboxItems, onSelectAll, selectedItems],\n );\n\n const handleSelect = useCallback(\n (item: MenuItemProps) => {\n item.onSelect?.(item.value);\n const currentSelection = selectedItems.value;\n const isItemSelected = selectedItems.isChecked(item.value);\n onSelect?.(\n item.value,\n isItemSelected\n ? currentSelection.filter((value) => value !== item.value)\n : [...currentSelection, item.value],\n );\n if (item.type === \"checkbox\") {\n selectedItems.toggleValue(item.value);\n }\n },\n [onSelect, selectedItems],\n );\n\n // Cleanup\n const handleCleanup = useCallback(\n (open: boolean) => {\n if (!open) {\n setSearchText(\"\");\n setFilteredMenuItems(menuItems);\n }\n },\n [menuItems],\n );\n\n return (\n <CMenu.Root\n {...rest}\n onOpenChange={(details) => {\n handleCleanup(details.open);\n rest.onOpenChange?.(details);\n }}\n >\n {!submenuTrigger ? (\n <CMenu.Trigger\n asChild\n className=\"Menu__Trigger\"\n data-testid=\"kibble-menu-trigger\"\n >\n <MenuButton {...buttonProps} />\n </CMenu.Trigger>\n ) : (\n submenuTrigger\n )}\n <Portal disabled={!portalled} container={modalContentRef || undefined}>\n <CMenu.Positioner className=\"Menu\" data-testid=\"kibble-menu\">\n <CMenu.Content\n className=\"Menu__Content\"\n data-testid=\"kibble-menu-content\"\n maxH={maxH}\n minW={minW}\n {...restListProps}\n >\n {(searchable || canSelectAll) && (\n <Box\n className=\"Menu__Header\"\n data-testid=\"kibble-menu-header\"\n m=\"0 12px 8px\"\n >\n {searchable && (\n <TextInput\n className=\"Menu__SearchBar\"\n data-testid=\"kibble-menu-search-bar\"\n placeholder={searchPlaceholder}\n onChange={handleSearch}\n size=\"sm\"\n value={searchText}\n clearable\n onClear={clearSearch}\n formControlStyle={{ mt: 1 }}\n />\n )}\n {canSelectAll && !!checkboxItems.length && (\n <MenuToggleButtons\n onToggle={handleToggle}\n hasSelectedItems={!!selectedItems.value.length}\n />\n )}\n </Box>\n )}\n {!loading ? (\n <Box className=\"Menu__List\" data-testid=\"kibble-menu-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\n ? CMenu.ItemGroup\n : React.Fragment;\n const groupValues = types[\"checkbox\"]?.map(\n (item) => item.value,\n );\n const hasSelectedItems = groupValues?.some((value) =>\n selectedItems.value.includes(value),\n );\n return (\n <MenuGroupContainer key={groupLabel}>\n {!isDefaultGroup && (\n <CMenu.ItemGroupLabel>\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n >\n {groupLabel}\n {canSelectGroups &&\n itemTypes.includes(\"checkbox\") && (\n <MenuToggleButtons\n groupName={groupLabel}\n onToggle={handleToggle}\n hasSelectedItems={hasSelectedItems}\n />\n )}\n </Flex>\n </CMenu.ItemGroupLabel>\n )}\n {Object.entries(types).map(([type, items]) =>\n items.map((item, index) => (\n <MenuItem\n key={`menu-item-${groupLabel}-${type}-${index}`}\n {...item}\n shouldTruncateText={shouldTruncateText}\n {...(item.type === \"checkbox\" && {\n checked: selectedItems.isChecked(item.value),\n })}\n onSelect={() => handleSelect(item)}\n />\n )),\n )}\n </MenuGroupContainer>\n );\n })}\n </>\n ) : (\n <>\n <Box textAlign=\"center\" p={3}>\n <Text size=\"sm\" variant=\"subtle\">\n {emptyStateText}\n </Text>\n </Box>\n </>\n )}\n </Box>\n ) : (\n <Flex justifyContent=\"center\" py={5}>\n <Spinner />\n </Flex>\n )}\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","MenuOptionItemPropsProvider","useMenuOptionItemPropsContext","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","rest","jsxs","Button","Text","Flex","Icon","label","leftElement","onSelect","shouldTruncateText","type","handleOnSelect","valueText","listProps","Menu","CMenu.TriggerItem","MenuItemLabel","checked","value","closeOnSelect","checkboxRest","CMenu.CheckboxItem","Checkbox","selected","defaultRest","CMenu.Item","Fragment","MenuToggleButtons","groupName","hasSelectedItems","onToggle","isGrouped","Box","ClearAllButton","SelectAllButton","buttonProps","portalled","submenuTrigger","modalContentRef","useModalContentRef","canSelectAll","canSelectGroups","emptyStateText","loading","maxH","menuItems","minW","onSearch","onSelectAll","searchable","searchPlaceholder","restListProps","searchText","setSearchText","useState","filteredMenuItems","setFilteredMenuItems","groupedItems","useMemo","groups","item","group","checkboxItems","defaultSelectedItems","selectedItems","useCheckboxGroup","filterOptions","searchInput","itemsToFilter","handleSearch","e","clearSearch","handleToggle","clear","newValues","groupItems","handleSelect","currentSelection","isItemSelected","handleCleanup","open","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]}
|
|
@@ -5,7 +5,7 @@ import { F as w } from "./flex-smlF8uQG.js";
|
|
|
5
5
|
import { c as N } from "./create-slot-recipe-context-BJmsuxih.js";
|
|
6
6
|
import { c as y } from "./factory-Ctbv0Ozn.js";
|
|
7
7
|
import { D as B, a as P, b as T, c as A, d as R, e as S, f as $, u as E, g as z, h as F } from "./dialog-trigger-D2uDgMJr.js";
|
|
8
|
-
import { W as O } from "./heading.component-
|
|
8
|
+
import { W as O } from "./heading.component-CUa8MRJt.js";
|
|
9
9
|
import { M as H } from "./modal.context-DSKLfsJK.js";
|
|
10
10
|
import { u as I } from "./use-breakpoint-MQ7agQJe.js";
|
|
11
11
|
import { P as V } from "./portal-D2KZrSzZ.js";
|
|
@@ -203,4 +203,4 @@ export {
|
|
|
203
203
|
bo as c,
|
|
204
204
|
fo as m
|
|
205
205
|
};
|
|
206
|
-
//# sourceMappingURL=modal.types-
|
|
206
|
+
//# sourceMappingURL=modal.types-Cg8WeIe5.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal.types-vrGXh5fF.js","sources":["../../node_modules/@chakra-ui/react/dist/esm/components/dialog/dialog.js","../../src/components/Modal/components/ModalFooter/modalFooter.component.tsx","../../src/components/Modal/modal.component.tsx","../../src/components/Modal/modal.types.ts"],"sourcesContent":["\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { Dialog, useDialogContext } from '@ark-ui/react/dialog';\nimport { forwardRef } from 'react';\nimport { createSlotRecipeContext } from '../../styled-system/create-slot-recipe-context.js';\nimport { chakra } from '../../styled-system/factory.js';\n\nconst {\n withRootProvider,\n withContext,\n useStyles: useDialogStyles,\n PropsProvider\n} = createSlotRecipeContext({ key: \"dialog\" });\nconst DialogRootProvider = withRootProvider(\n Dialog.RootProvider,\n {\n defaultProps: { unmountOnExit: true, lazyMount: true }\n }\n);\nconst DialogRoot = withRootProvider(Dialog.Root, {\n defaultProps: { unmountOnExit: true, lazyMount: true }\n});\nconst DialogPropsProvider = PropsProvider;\nconst DialogTrigger = withContext(\n Dialog.Trigger,\n \"trigger\",\n { forwardAsChild: true }\n);\nconst DialogPositioner = withContext(Dialog.Positioner, \"positioner\", { forwardAsChild: true });\nconst DialogContent = withContext(\n Dialog.Content,\n \"content\",\n { forwardAsChild: true }\n);\nconst DialogDescription = withContext(Dialog.Description, \"description\", { forwardAsChild: true });\nconst DialogTitle = withContext(\n Dialog.Title,\n \"title\",\n { forwardAsChild: true }\n);\nconst DialogCloseTrigger = withContext(Dialog.CloseTrigger, \"closeTrigger\", { forwardAsChild: true });\nconst DialogActionTrigger = forwardRef(function DialogActionTrigger2(props, ref) {\n const dialog = useDialogContext();\n return /* @__PURE__ */ jsx(chakra.button, { ...props, ref, onClick: () => dialog.setOpen(false) });\n});\nconst DialogBackdrop = withContext(\n Dialog.Backdrop,\n \"backdrop\",\n { forwardAsChild: true }\n);\nconst DialogBody = withContext(\n \"div\",\n \"body\"\n);\nconst DialogFooter = withContext(\n \"div\",\n \"footer\"\n);\nconst DialogHeader = withContext(\n \"div\",\n \"header\"\n);\nconst DialogContext = Dialog.Context;\n\nexport { DialogActionTrigger, DialogBackdrop, DialogBody, DialogCloseTrigger, DialogContent, DialogContext, DialogDescription, DialogFooter, DialogHeader, DialogPositioner, DialogPropsProvider, DialogRoot, DialogRootProvider, DialogTitle, DialogTrigger, useDialogStyles };\n","import React from \"react\";\nimport { Dialog } from \"@chakra-ui/react/dialog\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { Button } from \"components/Button/button.component\";\n\nexport interface ModalFooterProps extends Dialog.FooterProps {\n children?: React.ReactNode;\n destructive?: boolean;\n disabled?: boolean;\n hideCancel?: boolean;\n loading?: boolean;\n loadingText?: string;\n onCancel?: () => void;\n onSubmit?: () => void | Promise<void>;\n submitText?: string;\n}\n\nexport const ModalFooter = ({\n children,\n destructive,\n disabled,\n hideCancel = false,\n loading,\n loadingText,\n onCancel,\n onSubmit,\n submitText = \"Submit\",\n ...rest\n}: ModalFooterProps): React.JSX.Element => {\n return (\n <Dialog.Footer\n className=\"Modal__Footer\"\n data-testid=\"kibble-modal-footer\"\n {...rest}\n >\n {children ? (\n children\n ) : (\n <Flex alignItems=\"center\" justifyContent=\"space-between\" w=\"100%\">\n {!hideCancel && (\n <Dialog.ActionTrigger\n asChild\n className=\"Modal__CancelButton\"\n data-testid=\"kibble-modal-cancel-button\"\n >\n <Button variant=\"tertiary\" onClick={onCancel}>\n Cancel\n </Button>\n </Dialog.ActionTrigger>\n )}\n <Button\n className=\"Modal__SubmitButton\"\n data-testid=\"kibble-modal-submit-button\"\n onClick={onSubmit}\n loading={loading}\n loadingText={loadingText}\n disabled={disabled}\n variant={destructive ? \"primaryDestructive\" : \"primary\"}\n >\n {submitText}\n </Button>\n </Flex>\n )}\n </Dialog.Footer>\n );\n};\n","import React, { useRef, useState } from \"react\";\nimport { Dialog } from \"@chakra-ui/react/dialog\";\nimport { Portal } from \"@chakra-ui/react/portal\";\nimport {\n ModalFooter,\n ModalFooterProps,\n} from \"./components/ModalFooter/modalFooter.component\";\nimport { Heading, HeadingProps } from \"components/Heading/heading.component\";\nimport { ModalMotionPreset, ModalPlacement, ModalSize } from \"./modal.types\";\nimport { Button } from \"components/Button/button.component\";\nimport { useBreakpointValue } from \"@chakra-ui/react\";\nimport { ModalContext } from \"./context/modal.context\";\n\nexport interface ModalProps extends Dialog.RootProps {\n footerProps?: ModalFooterProps;\n fullScreenMobile?: boolean;\n header?: React.ReactNode;\n headerProps?: HeadingProps;\n hideCloseButton?: boolean;\n hideFooter?: boolean;\n motionPreset?: ModalMotionPreset;\n placement?: ModalPlacement;\n showExpandButton?: boolean;\n size?: ModalSize;\n trigger?: React.ReactNode;\n}\n\nexport const Modal = ({\n children,\n footerProps,\n fullScreenMobile = true,\n header,\n headerProps,\n hideCloseButton = false,\n hideFooter = false,\n motionPreset = \"slide-in-bottom\",\n placement = \"center\",\n showExpandButton = false,\n size = \"md\",\n trigger,\n ...rest\n}: ModalProps): React.JSX.Element => {\n const contentRef = useRef<HTMLDivElement>(null!);\n const contextValue = { contentRef };\n const [isExpanded, setIsExpanded] = useState(false);\n const computedSize = useBreakpointValue({\n base: fullScreenMobile ? \"full\" : size,\n md: size,\n });\n\n return (\n <Dialog.Root\n motionPreset={motionPreset}\n placement={placement}\n size={computedSize}\n {...rest}\n expanded={isExpanded}\n >\n {trigger && <Dialog.Trigger asChild>{trigger}</Dialog.Trigger>}\n <Portal>\n <Dialog.Backdrop />\n <Dialog.Positioner>\n <ModalContext.Provider value={contextValue}>\n {\" \"}\n <Dialog.Content\n className=\"Modal\"\n data-testid=\"kibble-modal\"\n ref={contentRef}\n >\n {!hideCloseButton && (\n <Dialog.CloseTrigger\n asChild\n className=\"Modal__CloseButton\"\n data-testid=\"kibble-modal-close-button\"\n >\n <Button iconName=\"close\" variant=\"ghostNeutral\" />\n </Dialog.CloseTrigger>\n )}\n {showExpandButton && (\n <Button\n className=\"Modal__ExpandButton\"\n data-testid=\"kibble-modal-expand-button\"\n variant=\"ghostNeutral\"\n iconName={isExpanded ? \"arrowsIn\" : \"arrowsOut\"}\n position=\"absolute\"\n top={2}\n right={12}\n onClick={() => setIsExpanded((prev) => !prev)}\n />\n )}\n <Dialog.Header\n className=\"Modal__Header\"\n data-testid=\"kibble-modal-header\"\n >\n {header && (\n <Dialog.Title\n className=\"Modal__Title\"\n data-testid=\"kibble-modal-title\"\n asChild\n >\n {typeof header === \"string\" ? (\n <Heading size=\"xl\" {...headerProps}>\n {header}\n </Heading>\n ) : (\n header\n )}\n </Dialog.Title>\n )}\n </Dialog.Header>\n <Dialog.Body\n className=\"Modal__Body\"\n data-testid=\"kibble-modal-body\"\n >\n {children}\n </Dialog.Body>\n {!hideFooter && <ModalFooter {...footerProps} />}\n </Dialog.Content>\n </ModalContext.Provider>\n </Dialog.Positioner>\n </Portal>\n </Dialog.Root>\n );\n};\n","export const modalSizes = [\"xs\", \"sm\", \"md\", \"lg\", \"cover\", \"full\"] as const;\nexport type ModalSize = (typeof modalSizes)[number];\n\nexport const modalPlacements = [\"center\", \"top\", \"bottom\"] as const;\nexport type ModalPlacement = (typeof modalPlacements)[number];\n\nexport const modalScrollBehaviors = [\"inside\", \"outside\"] as const;\nexport type ModalScrollBehavior = (typeof modalScrollBehaviors)[number];\n\nexport const modalMotionPresets = [\n \"scale\",\n \"slide-in-bottom\",\n \"slide-in-top\",\n \"slide-in-left\",\n \"slide-in-right\",\n \"none\",\n] as const;\nexport type ModalMotionPreset = (typeof modalMotionPresets)[number];\n"],"names":["withRootProvider","withContext","createSlotRecipeContext","Dialog.RootProvider","DialogRoot","Dialog.Root","DialogTrigger","Dialog.Trigger","DialogPositioner","Dialog.Positioner","DialogContent","Dialog.Content","Dialog.Description","DialogTitle","Dialog.Title","DialogCloseTrigger","Dialog.CloseTrigger","DialogActionTrigger","forwardRef","props","ref","dialog","useDialogContext","jsx","chakra","DialogBackdrop","Dialog.Backdrop","DialogBody","DialogFooter","DialogHeader","ModalFooter","children","destructive","disabled","hideCancel","loading","loadingText","onCancel","onSubmit","submitText","rest","Dialog.Footer","jsxs","Flex","Dialog.ActionTrigger","Button","Modal","footerProps","fullScreenMobile","header","headerProps","hideCloseButton","hideFooter","motionPreset","placement","showExpandButton","size","trigger","contentRef","useRef","contextValue","isExpanded","setIsExpanded","useState","computedSize","useBreakpointValue","Portal","ModalContext","prev","Dialog.Header","Heading","Dialog.Body","modalSizes","modalPlacements","modalScrollBehaviors","modalMotionPresets"],"mappings":";;;;;;;;;;;AAQA,MAAM;AAAA,EACJ,kBAAAA;AAAA,EACA,aAAAC;AAGF,IAAIC,EAAwB,EAAE,KAAK,SAAQ,CAAE;AAClBF;AAAA,EACzBG;AAAAA,EACA;AAAA,IACE,cAAc,EAAE,eAAe,IAAM,WAAW,GAAI;AAAA,EACxD;AACA;AACA,MAAMC,IAAaJ,EAAiBK,GAAa;AAAA,EAC/C,cAAc,EAAE,eAAe,IAAM,WAAW,GAAI;AACtD,CAAC,GAEKC,IAAgBL;AAAA,EACpBM;AAAAA,EACA;AAAA,EACA,EAAE,gBAAgB,GAAI;AACxB,GACMC,IAAmBP,EAAYQ,GAAmB,cAAc,EAAE,gBAAgB,IAAM,GACxFC,IAAgBT;AAAA,EACpBU;AAAAA,EACA;AAAA,EACA,EAAE,gBAAgB,GAAI;AACxB;AAC0BV,EAAYW,GAAoB,eAAe,EAAE,gBAAgB,GAAM,CAAA;AACjG,MAAMC,IAAcZ;AAAA,EAClBa;AAAAA,EACA;AAAA,EACA,EAAE,gBAAgB,GAAI;AACxB,GACMC,IAAqBd,EAAYe,GAAqB,gBAAgB,EAAE,gBAAgB,IAAM,GAC9FC,IAAsBC,EAAW,SAA8BC,GAAOC,GAAK;AAC/E,QAAMC,IAASC,EAAkB;AACjC,SAAuBC,gBAAAA,MAAIC,EAAO,QAAQ,EAAE,GAAGL,GAAO,KAAAC,GAAK,SAAS,MAAMC,EAAO,QAAQ,EAAK,EAAC,CAAE;AACnG,CAAC,GACKI,IAAiBxB;AAAA,EACrByB;AAAAA,EACA;AAAA,EACA,EAAE,gBAAgB,GAAI;AACxB,GACMC,IAAa1B;AAAA,EACjB;AAAA,EACA;AACF,GACM2B,IAAe3B;AAAA,EACnB;AAAA,EACA;AACF,GACM4B,IAAe5B;AAAA,EACnB;AAAA,EACA;AACF,GC7Ca6B,KAAc,CAAC;AAAA,EAC1B,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,SAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,GAAGC;AACL,MAEIjB,gBAAAA,EAAA;AAAA,EAACkB;AAAAA,EAAA;AAAA,IACC,WAAU;AAAA,IACV,eAAY;AAAA,IACX,GAAGD;AAAA,IAEH,UAAAT,KAGEW,gBAAAA,EAAA,KAAAC,GAAA,EAAK,YAAW,UAAS,gBAAe,iBAAgB,GAAE,QACxD,UAAA;AAAA,MAAA,CAACT,KACAX,gBAAAA,EAAA;AAAA,QAACqB;AAAAA,QAAA;AAAA,UACC,SAAO;AAAA,UACP,WAAU;AAAA,UACV,eAAY;AAAA,UAEZ,gCAACC,GAAO,EAAA,SAAQ,YAAW,SAASR,GAAU,UAE9C,SAAA,CAAA;AAAA,QAAA;AAAA,MACF;AAAA,MAEFd,gBAAAA,EAAA;AAAA,QAACsB;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,eAAY;AAAA,UACZ,SAASP;AAAA,UACT,SAAAH;AAAA,UACA,aAAAC;AAAA,UACA,UAAAH;AAAA,UACA,SAASD,IAAc,uBAAuB;AAAA,UAE7C,UAAAO;AAAA,QAAA;AAAA,MAAA;AAAA,IACH,EACF,CAAA;AAAA,EAAA;AAEJ,GCpCSO,KAAQ,CAAC;AAAA,EACpB,UAAAf;AAAA,EACA,aAAAgB;AAAA,EACA,kBAAAC,IAAmB;AAAA,EACnB,QAAAC;AAAA,EACA,aAAAC;AAAA,EACA,iBAAAC,IAAkB;AAAA,EAClB,YAAAC,IAAa;AAAA,EACb,cAAAC,IAAe;AAAA,EACf,WAAAC,IAAY;AAAA,EACZ,kBAAAC,IAAmB;AAAA,EACnB,MAAAC,IAAO;AAAA,EACP,SAAAC;AAAA,EACA,GAAGjB;AACL,MAAqC;AAC7B,QAAAkB,IAAaC,EAAuB,IAAK,GACzCC,IAAe,EAAE,YAAAF,EAAW,GAC5B,CAACG,GAAYC,CAAa,IAAIC,EAAS,EAAK,GAC5CC,IAAeC,EAAmB;AAAA,IACtC,MAAMjB,IAAmB,SAASQ;AAAA,IAClC,IAAIA;AAAA,EAAA,CACL;AAGC,SAAAd,gBAAAA,EAAA;AAAA,IAACrC;AAAAA,IAAA;AAAA,MACC,cAAAgD;AAAA,MACA,WAAAC;AAAA,MACA,MAAMU;AAAA,MACL,GAAGxB;AAAA,MACJ,UAAUqB;AAAA,MAET,UAAA;AAAA,QAAAJ,2BAAYlD,GAAA,EAAe,SAAO,IAAE,UAAQkD,GAAA;AAAA,+BAC5CS,GACC,EAAA,UAAA;AAAA,UAAC3C,gBAAAA,EAAA,IAAAG,GAAA,EAAgB;AAAA,UACjBH,gBAAAA,MAACd,GAAA,EACC,iCAAC0D,EAAa,UAAb,EAAsB,OAAOP,GAC3B,UAAA;AAAA,YAAA;AAAA,YACDlB,gBAAAA,EAAA;AAAA,cAAC/B;AAAAA,cAAA;AAAA,gBACC,WAAU;AAAA,gBACV,eAAY;AAAA,gBACZ,KAAK+C;AAAA,gBAEJ,UAAA;AAAA,kBAAA,CAACP,KACA5B,gBAAAA,EAAA;AAAA,oBAACP;AAAAA,oBAAA;AAAA,sBACC,SAAO;AAAA,sBACP,WAAU;AAAA,sBACV,eAAY;AAAA,sBAEZ,UAACO,gBAAAA,EAAA,IAAAsB,GAAA,EAAO,UAAS,SAAQ,SAAQ,eAAe,CAAA;AAAA,oBAAA;AAAA,kBAClD;AAAA,kBAEDU,KACChC,gBAAAA,EAAA;AAAA,oBAACsB;AAAA,oBAAA;AAAA,sBACC,WAAU;AAAA,sBACV,eAAY;AAAA,sBACZ,SAAQ;AAAA,sBACR,UAAUgB,IAAa,aAAa;AAAA,sBACpC,UAAS;AAAA,sBACT,KAAK;AAAA,sBACL,OAAO;AAAA,sBACP,SAAS,MAAMC,EAAc,CAACM,MAAS,CAACA,CAAI;AAAA,oBAAA;AAAA,kBAC9C;AAAA,kBAEF7C,gBAAAA,EAAA;AAAA,oBAAC8C;AAAAA,oBAAA;AAAA,sBACC,WAAU;AAAA,sBACV,eAAY;AAAA,sBAEX,UACCpB,KAAA1B,gBAAAA,EAAA;AAAA,wBAACT;AAAAA,wBAAA;AAAA,0BACC,WAAU;AAAA,0BACV,eAAY;AAAA,0BACZ,SAAO;AAAA,0BAEN,UAAA,OAAOmC,KAAW,WAChB1B,gBAAAA,EAAAA,IAAA+C,GAAA,EAAQ,MAAK,MAAM,GAAGpB,GACpB,UAAAD,EACH,CAAA,IAEAA;AAAA,wBAAA;AAAA,sBAAA;AAAA,oBAEJ;AAAA,kBAEJ;AAAA,kBACA1B,gBAAAA,EAAA;AAAA,oBAACgD;AAAAA,oBAAA;AAAA,sBACC,WAAU;AAAA,sBACV,eAAY;AAAA,sBAEX,UAAAxC;AAAA,oBAAA;AAAA,kBACH;AAAA,kBACC,CAACqB,KAAe7B,gBAAAA,EAAA,IAAAO,IAAA,EAAa,GAAGiB,EAAa,CAAA;AAAA,gBAAA;AAAA,cAAA;AAAA,YAAA;AAAA,UAChD,EAAA,CACF,EACF,CAAA;AAAA,QAAA,EACF,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACF;AAEJ,GC3HayB,KAAa,CAAC,MAAM,MAAM,MAAM,MAAM,SAAS,MAAM,GAGrDC,KAAkB,CAAC,UAAU,OAAO,QAAQ,GAG5CC,KAAuB,CAAC,UAAU,SAAS,GAG3CC,KAAqB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"modal.types-Cg8WeIe5.js","sources":["../../node_modules/@chakra-ui/react/dist/esm/components/dialog/dialog.js","../../src/components/Modal/components/ModalFooter/modalFooter.component.tsx","../../src/components/Modal/modal.component.tsx","../../src/components/Modal/modal.types.ts"],"sourcesContent":["\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { Dialog, useDialogContext } from '@ark-ui/react/dialog';\nimport { forwardRef } from 'react';\nimport { createSlotRecipeContext } from '../../styled-system/create-slot-recipe-context.js';\nimport { chakra } from '../../styled-system/factory.js';\n\nconst {\n withRootProvider,\n withContext,\n useStyles: useDialogStyles,\n PropsProvider\n} = createSlotRecipeContext({ key: \"dialog\" });\nconst DialogRootProvider = withRootProvider(\n Dialog.RootProvider,\n {\n defaultProps: { unmountOnExit: true, lazyMount: true }\n }\n);\nconst DialogRoot = withRootProvider(Dialog.Root, {\n defaultProps: { unmountOnExit: true, lazyMount: true }\n});\nconst DialogPropsProvider = PropsProvider;\nconst DialogTrigger = withContext(\n Dialog.Trigger,\n \"trigger\",\n { forwardAsChild: true }\n);\nconst DialogPositioner = withContext(Dialog.Positioner, \"positioner\", { forwardAsChild: true });\nconst DialogContent = withContext(\n Dialog.Content,\n \"content\",\n { forwardAsChild: true }\n);\nconst DialogDescription = withContext(Dialog.Description, \"description\", { forwardAsChild: true });\nconst DialogTitle = withContext(\n Dialog.Title,\n \"title\",\n { forwardAsChild: true }\n);\nconst DialogCloseTrigger = withContext(Dialog.CloseTrigger, \"closeTrigger\", { forwardAsChild: true });\nconst DialogActionTrigger = forwardRef(function DialogActionTrigger2(props, ref) {\n const dialog = useDialogContext();\n return /* @__PURE__ */ jsx(chakra.button, { ...props, ref, onClick: () => dialog.setOpen(false) });\n});\nconst DialogBackdrop = withContext(\n Dialog.Backdrop,\n \"backdrop\",\n { forwardAsChild: true }\n);\nconst DialogBody = withContext(\n \"div\",\n \"body\"\n);\nconst DialogFooter = withContext(\n \"div\",\n \"footer\"\n);\nconst DialogHeader = withContext(\n \"div\",\n \"header\"\n);\nconst DialogContext = Dialog.Context;\n\nexport { DialogActionTrigger, DialogBackdrop, DialogBody, DialogCloseTrigger, DialogContent, DialogContext, DialogDescription, DialogFooter, DialogHeader, DialogPositioner, DialogPropsProvider, DialogRoot, DialogRootProvider, DialogTitle, DialogTrigger, useDialogStyles };\n","import React from \"react\";\nimport { Dialog } from \"@chakra-ui/react/dialog\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { Button } from \"components/Button/button.component\";\n\nexport interface ModalFooterProps extends Dialog.FooterProps {\n children?: React.ReactNode;\n destructive?: boolean;\n disabled?: boolean;\n hideCancel?: boolean;\n loading?: boolean;\n loadingText?: string;\n onCancel?: () => void;\n onSubmit?: () => void | Promise<void>;\n submitText?: string;\n}\n\nexport const ModalFooter = ({\n children,\n destructive,\n disabled,\n hideCancel = false,\n loading,\n loadingText,\n onCancel,\n onSubmit,\n submitText = \"Submit\",\n ...rest\n}: ModalFooterProps): React.JSX.Element => {\n return (\n <Dialog.Footer\n className=\"Modal__Footer\"\n data-testid=\"kibble-modal-footer\"\n {...rest}\n >\n {children ? (\n children\n ) : (\n <Flex alignItems=\"center\" justifyContent=\"space-between\" w=\"100%\">\n {!hideCancel && (\n <Dialog.ActionTrigger\n asChild\n className=\"Modal__CancelButton\"\n data-testid=\"kibble-modal-cancel-button\"\n >\n <Button variant=\"tertiary\" onClick={onCancel}>\n Cancel\n </Button>\n </Dialog.ActionTrigger>\n )}\n <Button\n className=\"Modal__SubmitButton\"\n data-testid=\"kibble-modal-submit-button\"\n onClick={onSubmit}\n loading={loading}\n loadingText={loadingText}\n disabled={disabled}\n variant={destructive ? \"primaryDestructive\" : \"primary\"}\n >\n {submitText}\n </Button>\n </Flex>\n )}\n </Dialog.Footer>\n );\n};\n","import React, { useRef, useState } from \"react\";\nimport { Dialog } from \"@chakra-ui/react/dialog\";\nimport { Portal } from \"@chakra-ui/react/portal\";\nimport {\n ModalFooter,\n ModalFooterProps,\n} from \"./components/ModalFooter/modalFooter.component\";\nimport { Heading, HeadingProps } from \"components/Heading/heading.component\";\nimport { ModalMotionPreset, ModalPlacement, ModalSize } from \"./modal.types\";\nimport { Button } from \"components/Button/button.component\";\nimport { useBreakpointValue } from \"@chakra-ui/react\";\nimport { ModalContext } from \"./context/modal.context\";\n\nexport interface ModalProps extends Dialog.RootProps {\n footerProps?: ModalFooterProps;\n fullScreenMobile?: boolean;\n header?: React.ReactNode;\n headerProps?: HeadingProps;\n hideCloseButton?: boolean;\n hideFooter?: boolean;\n motionPreset?: ModalMotionPreset;\n placement?: ModalPlacement;\n showExpandButton?: boolean;\n size?: ModalSize;\n trigger?: React.ReactNode;\n}\n\nexport const Modal = ({\n children,\n footerProps,\n fullScreenMobile = true,\n header,\n headerProps,\n hideCloseButton = false,\n hideFooter = false,\n motionPreset = \"slide-in-bottom\",\n placement = \"center\",\n showExpandButton = false,\n size = \"md\",\n trigger,\n ...rest\n}: ModalProps): React.JSX.Element => {\n const contentRef = useRef<HTMLDivElement>(null!);\n const contextValue = { contentRef };\n const [isExpanded, setIsExpanded] = useState(false);\n const computedSize = useBreakpointValue({\n base: fullScreenMobile ? \"full\" : size,\n md: size,\n });\n\n return (\n <Dialog.Root\n motionPreset={motionPreset}\n placement={placement}\n size={computedSize}\n {...rest}\n expanded={isExpanded}\n >\n {trigger && <Dialog.Trigger asChild>{trigger}</Dialog.Trigger>}\n <Portal>\n <Dialog.Backdrop />\n <Dialog.Positioner>\n <ModalContext.Provider value={contextValue}>\n {\" \"}\n <Dialog.Content\n className=\"Modal\"\n data-testid=\"kibble-modal\"\n ref={contentRef}\n >\n {!hideCloseButton && (\n <Dialog.CloseTrigger\n asChild\n className=\"Modal__CloseButton\"\n data-testid=\"kibble-modal-close-button\"\n >\n <Button iconName=\"close\" variant=\"ghostNeutral\" />\n </Dialog.CloseTrigger>\n )}\n {showExpandButton && (\n <Button\n className=\"Modal__ExpandButton\"\n data-testid=\"kibble-modal-expand-button\"\n variant=\"ghostNeutral\"\n iconName={isExpanded ? \"arrowsIn\" : \"arrowsOut\"}\n position=\"absolute\"\n top={2}\n right={12}\n onClick={() => setIsExpanded((prev) => !prev)}\n />\n )}\n <Dialog.Header\n className=\"Modal__Header\"\n data-testid=\"kibble-modal-header\"\n >\n {header && (\n <Dialog.Title\n className=\"Modal__Title\"\n data-testid=\"kibble-modal-title\"\n asChild\n >\n {typeof header === \"string\" ? (\n <Heading size=\"xl\" {...headerProps}>\n {header}\n </Heading>\n ) : (\n header\n )}\n </Dialog.Title>\n )}\n </Dialog.Header>\n <Dialog.Body\n className=\"Modal__Body\"\n data-testid=\"kibble-modal-body\"\n >\n {children}\n </Dialog.Body>\n {!hideFooter && <ModalFooter {...footerProps} />}\n </Dialog.Content>\n </ModalContext.Provider>\n </Dialog.Positioner>\n </Portal>\n </Dialog.Root>\n );\n};\n","export const modalSizes = [\"xs\", \"sm\", \"md\", \"lg\", \"cover\", \"full\"] as const;\nexport type ModalSize = (typeof modalSizes)[number];\n\nexport const modalPlacements = [\"center\", \"top\", \"bottom\"] as const;\nexport type ModalPlacement = (typeof modalPlacements)[number];\n\nexport const modalScrollBehaviors = [\"inside\", \"outside\"] as const;\nexport type ModalScrollBehavior = (typeof modalScrollBehaviors)[number];\n\nexport const modalMotionPresets = [\n \"scale\",\n \"slide-in-bottom\",\n \"slide-in-top\",\n \"slide-in-left\",\n \"slide-in-right\",\n \"none\",\n] as const;\nexport type ModalMotionPreset = (typeof modalMotionPresets)[number];\n"],"names":["withRootProvider","withContext","createSlotRecipeContext","Dialog.RootProvider","DialogRoot","Dialog.Root","DialogTrigger","Dialog.Trigger","DialogPositioner","Dialog.Positioner","DialogContent","Dialog.Content","Dialog.Description","DialogTitle","Dialog.Title","DialogCloseTrigger","Dialog.CloseTrigger","DialogActionTrigger","forwardRef","props","ref","dialog","useDialogContext","jsx","chakra","DialogBackdrop","Dialog.Backdrop","DialogBody","DialogFooter","DialogHeader","ModalFooter","children","destructive","disabled","hideCancel","loading","loadingText","onCancel","onSubmit","submitText","rest","Dialog.Footer","jsxs","Flex","Dialog.ActionTrigger","Button","Modal","footerProps","fullScreenMobile","header","headerProps","hideCloseButton","hideFooter","motionPreset","placement","showExpandButton","size","trigger","contentRef","useRef","contextValue","isExpanded","setIsExpanded","useState","computedSize","useBreakpointValue","Portal","ModalContext","prev","Dialog.Header","Heading","Dialog.Body","modalSizes","modalPlacements","modalScrollBehaviors","modalMotionPresets"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const t=require("./jsx-runtime-BjDatQAs.js"),p=require("react"),n=require("./button.component-Dd9AfGox.js"),_=require("./flex-D14H6HbP.js"),M=require("./create-slot-recipe-context-IwVIgtBt.js"),B=require("./factory-D6tdBUPG.js"),e=require("./dialog-trigger-BCeZGpGO.js"),v=require("./heading.component-
|
|
2
|
-
//# sourceMappingURL=modal.types-
|
|
1
|
+
"use strict";const t=require("./jsx-runtime-BjDatQAs.js"),p=require("react"),n=require("./button.component-Dd9AfGox.js"),_=require("./flex-D14H6HbP.js"),M=require("./create-slot-recipe-context-IwVIgtBt.js"),B=require("./factory-D6tdBUPG.js"),e=require("./dialog-trigger-BCeZGpGO.js"),v=require("./heading.component-Cuqs0DsG.js"),w=require("./modal.context-EJ67QNzq.js"),y=require("./use-breakpoint-uBg4-8yY.js"),N=require("./portal-TWtD47zg.js"),{withRootProvider:R,withContext:o}=M.createSlotRecipeContext({key:"dialog"});R(e.DialogRootProvider,{defaultProps:{unmountOnExit:!0,lazyMount:!0}});const P=R(e.DialogRoot,{defaultProps:{unmountOnExit:!0,lazyMount:!0}}),q=o(e.DialogTrigger,"trigger",{forwardAsChild:!0}),T=o(e.DialogPositioner,"positioner",{forwardAsChild:!0}),S=o(e.DialogContent,"content",{forwardAsChild:!0});o(e.DialogDescription,"description",{forwardAsChild:!0});const A=o(e.DialogTitle,"title",{forwardAsChild:!0}),z=o(e.DialogCloseTrigger,"closeTrigger",{forwardAsChild:!0}),F=p.forwardRef(function(r,a){const s=e.useDialogContext();return t.jsxRuntimeExports.jsx(B.chakra.button,{...r,ref:a,onClick:()=>s.setOpen(!1)})}),O=o(e.DialogBackdrop,"backdrop",{forwardAsChild:!0}),H=o("div","body"),I=o("div","footer"),V=o("div","header"),W=({children:i,destructive:r,disabled:a,hideCancel:s=!1,loading:l,loadingText:d,onCancel:c,onSubmit:u,submitText:x="Submit",...m})=>t.jsxRuntimeExports.jsx(I,{className:"Modal__Footer","data-testid":"kibble-modal-footer",...m,children:i||t.jsxRuntimeExports.jsxs(_.Flex,{alignItems:"center",justifyContent:"space-between",w:"100%",children:[!s&&t.jsxRuntimeExports.jsx(F,{asChild:!0,className:"Modal__CancelButton","data-testid":"kibble-modal-cancel-button",children:t.jsxRuntimeExports.jsx(n.Button,{variant:"tertiary",onClick:c,children:"Cancel"})}),t.jsxRuntimeExports.jsx(n.Button,{className:"Modal__SubmitButton","data-testid":"kibble-modal-submit-button",onClick:u,loading:l,loadingText:d,disabled:a,variant:r?"primaryDestructive":"primary",children:x})]})}),G=({children:i,footerProps:r,fullScreenMobile:a=!0,header:s,headerProps:l,hideCloseButton:d=!1,hideFooter:c=!1,motionPreset:u="slide-in-bottom",placement:x="center",showExpandButton:m=!1,size:g="md",trigger:j,...f})=>{const b=p.useRef(null),C={contentRef:b},[h,E]=p.useState(!1),D=y.useBreakpointValue({base:a?"full":g,md:g});return t.jsxRuntimeExports.jsxs(P,{motionPreset:u,placement:x,size:D,...f,expanded:h,children:[j&&t.jsxRuntimeExports.jsx(q,{asChild:!0,children:j}),t.jsxRuntimeExports.jsxs(N.Portal,{children:[t.jsxRuntimeExports.jsx(O,{}),t.jsxRuntimeExports.jsx(T,{children:t.jsxRuntimeExports.jsxs(w.ModalContext.Provider,{value:C,children:[" ",t.jsxRuntimeExports.jsxs(S,{className:"Modal","data-testid":"kibble-modal",ref:b,children:[!d&&t.jsxRuntimeExports.jsx(z,{asChild:!0,className:"Modal__CloseButton","data-testid":"kibble-modal-close-button",children:t.jsxRuntimeExports.jsx(n.Button,{iconName:"close",variant:"ghostNeutral"})}),m&&t.jsxRuntimeExports.jsx(n.Button,{className:"Modal__ExpandButton","data-testid":"kibble-modal-expand-button",variant:"ghostNeutral",iconName:h?"arrowsIn":"arrowsOut",position:"absolute",top:2,right:12,onClick:()=>E(k=>!k)}),t.jsxRuntimeExports.jsx(V,{className:"Modal__Header","data-testid":"kibble-modal-header",children:s&&t.jsxRuntimeExports.jsx(A,{className:"Modal__Title","data-testid":"kibble-modal-title",asChild:!0,children:typeof s=="string"?t.jsxRuntimeExports.jsx(v.WrappedHeading,{size:"xl",...l,children:s}):s})}),t.jsxRuntimeExports.jsx(H,{className:"Modal__Body","data-testid":"kibble-modal-body",children:i}),!c&&t.jsxRuntimeExports.jsx(W,{...r})]})]})})]})]})},J=["xs","sm","md","lg","cover","full"],K=["center","top","bottom"],L=["inside","outside"],Q=["scale","slide-in-bottom","slide-in-top","slide-in-left","slide-in-right","none"];exports.Modal=G;exports.modalMotionPresets=Q;exports.modalPlacements=K;exports.modalScrollBehaviors=L;exports.modalSizes=J;
|
|
2
|
+
//# sourceMappingURL=modal.types-SzYLypgs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal.types-DYw_hPtT.js","sources":["../../node_modules/@chakra-ui/react/dist/esm/components/dialog/dialog.js","../../src/components/Modal/components/ModalFooter/modalFooter.component.tsx","../../src/components/Modal/modal.component.tsx","../../src/components/Modal/modal.types.ts"],"sourcesContent":["\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { Dialog, useDialogContext } from '@ark-ui/react/dialog';\nimport { forwardRef } from 'react';\nimport { createSlotRecipeContext } from '../../styled-system/create-slot-recipe-context.js';\nimport { chakra } from '../../styled-system/factory.js';\n\nconst {\n withRootProvider,\n withContext,\n useStyles: useDialogStyles,\n PropsProvider\n} = createSlotRecipeContext({ key: \"dialog\" });\nconst DialogRootProvider = withRootProvider(\n Dialog.RootProvider,\n {\n defaultProps: { unmountOnExit: true, lazyMount: true }\n }\n);\nconst DialogRoot = withRootProvider(Dialog.Root, {\n defaultProps: { unmountOnExit: true, lazyMount: true }\n});\nconst DialogPropsProvider = PropsProvider;\nconst DialogTrigger = withContext(\n Dialog.Trigger,\n \"trigger\",\n { forwardAsChild: true }\n);\nconst DialogPositioner = withContext(Dialog.Positioner, \"positioner\", { forwardAsChild: true });\nconst DialogContent = withContext(\n Dialog.Content,\n \"content\",\n { forwardAsChild: true }\n);\nconst DialogDescription = withContext(Dialog.Description, \"description\", { forwardAsChild: true });\nconst DialogTitle = withContext(\n Dialog.Title,\n \"title\",\n { forwardAsChild: true }\n);\nconst DialogCloseTrigger = withContext(Dialog.CloseTrigger, \"closeTrigger\", { forwardAsChild: true });\nconst DialogActionTrigger = forwardRef(function DialogActionTrigger2(props, ref) {\n const dialog = useDialogContext();\n return /* @__PURE__ */ jsx(chakra.button, { ...props, ref, onClick: () => dialog.setOpen(false) });\n});\nconst DialogBackdrop = withContext(\n Dialog.Backdrop,\n \"backdrop\",\n { forwardAsChild: true }\n);\nconst DialogBody = withContext(\n \"div\",\n \"body\"\n);\nconst DialogFooter = withContext(\n \"div\",\n \"footer\"\n);\nconst DialogHeader = withContext(\n \"div\",\n \"header\"\n);\nconst DialogContext = Dialog.Context;\n\nexport { DialogActionTrigger, DialogBackdrop, DialogBody, DialogCloseTrigger, DialogContent, DialogContext, DialogDescription, DialogFooter, DialogHeader, DialogPositioner, DialogPropsProvider, DialogRoot, DialogRootProvider, DialogTitle, DialogTrigger, useDialogStyles };\n","import React from \"react\";\nimport { Dialog } from \"@chakra-ui/react/dialog\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { Button } from \"components/Button/button.component\";\n\nexport interface ModalFooterProps extends Dialog.FooterProps {\n children?: React.ReactNode;\n destructive?: boolean;\n disabled?: boolean;\n hideCancel?: boolean;\n loading?: boolean;\n loadingText?: string;\n onCancel?: () => void;\n onSubmit?: () => void | Promise<void>;\n submitText?: string;\n}\n\nexport const ModalFooter = ({\n children,\n destructive,\n disabled,\n hideCancel = false,\n loading,\n loadingText,\n onCancel,\n onSubmit,\n submitText = \"Submit\",\n ...rest\n}: ModalFooterProps): React.JSX.Element => {\n return (\n <Dialog.Footer\n className=\"Modal__Footer\"\n data-testid=\"kibble-modal-footer\"\n {...rest}\n >\n {children ? (\n children\n ) : (\n <Flex alignItems=\"center\" justifyContent=\"space-between\" w=\"100%\">\n {!hideCancel && (\n <Dialog.ActionTrigger\n asChild\n className=\"Modal__CancelButton\"\n data-testid=\"kibble-modal-cancel-button\"\n >\n <Button variant=\"tertiary\" onClick={onCancel}>\n Cancel\n </Button>\n </Dialog.ActionTrigger>\n )}\n <Button\n className=\"Modal__SubmitButton\"\n data-testid=\"kibble-modal-submit-button\"\n onClick={onSubmit}\n loading={loading}\n loadingText={loadingText}\n disabled={disabled}\n variant={destructive ? \"primaryDestructive\" : \"primary\"}\n >\n {submitText}\n </Button>\n </Flex>\n )}\n </Dialog.Footer>\n );\n};\n","import React, { useRef, useState } from \"react\";\nimport { Dialog } from \"@chakra-ui/react/dialog\";\nimport { Portal } from \"@chakra-ui/react/portal\";\nimport {\n ModalFooter,\n ModalFooterProps,\n} from \"./components/ModalFooter/modalFooter.component\";\nimport { Heading, HeadingProps } from \"components/Heading/heading.component\";\nimport { ModalMotionPreset, ModalPlacement, ModalSize } from \"./modal.types\";\nimport { Button } from \"components/Button/button.component\";\nimport { useBreakpointValue } from \"@chakra-ui/react\";\nimport { ModalContext } from \"./context/modal.context\";\n\nexport interface ModalProps extends Dialog.RootProps {\n footerProps?: ModalFooterProps;\n fullScreenMobile?: boolean;\n header?: React.ReactNode;\n headerProps?: HeadingProps;\n hideCloseButton?: boolean;\n hideFooter?: boolean;\n motionPreset?: ModalMotionPreset;\n placement?: ModalPlacement;\n showExpandButton?: boolean;\n size?: ModalSize;\n trigger?: React.ReactNode;\n}\n\nexport const Modal = ({\n children,\n footerProps,\n fullScreenMobile = true,\n header,\n headerProps,\n hideCloseButton = false,\n hideFooter = false,\n motionPreset = \"slide-in-bottom\",\n placement = \"center\",\n showExpandButton = false,\n size = \"md\",\n trigger,\n ...rest\n}: ModalProps): React.JSX.Element => {\n const contentRef = useRef<HTMLDivElement>(null!);\n const contextValue = { contentRef };\n const [isExpanded, setIsExpanded] = useState(false);\n const computedSize = useBreakpointValue({\n base: fullScreenMobile ? \"full\" : size,\n md: size,\n });\n\n return (\n <Dialog.Root\n motionPreset={motionPreset}\n placement={placement}\n size={computedSize}\n {...rest}\n expanded={isExpanded}\n >\n {trigger && <Dialog.Trigger asChild>{trigger}</Dialog.Trigger>}\n <Portal>\n <Dialog.Backdrop />\n <Dialog.Positioner>\n <ModalContext.Provider value={contextValue}>\n {\" \"}\n <Dialog.Content\n className=\"Modal\"\n data-testid=\"kibble-modal\"\n ref={contentRef}\n >\n {!hideCloseButton && (\n <Dialog.CloseTrigger\n asChild\n className=\"Modal__CloseButton\"\n data-testid=\"kibble-modal-close-button\"\n >\n <Button iconName=\"close\" variant=\"ghostNeutral\" />\n </Dialog.CloseTrigger>\n )}\n {showExpandButton && (\n <Button\n className=\"Modal__ExpandButton\"\n data-testid=\"kibble-modal-expand-button\"\n variant=\"ghostNeutral\"\n iconName={isExpanded ? \"arrowsIn\" : \"arrowsOut\"}\n position=\"absolute\"\n top={2}\n right={12}\n onClick={() => setIsExpanded((prev) => !prev)}\n />\n )}\n <Dialog.Header\n className=\"Modal__Header\"\n data-testid=\"kibble-modal-header\"\n >\n {header && (\n <Dialog.Title\n className=\"Modal__Title\"\n data-testid=\"kibble-modal-title\"\n asChild\n >\n {typeof header === \"string\" ? (\n <Heading size=\"xl\" {...headerProps}>\n {header}\n </Heading>\n ) : (\n header\n )}\n </Dialog.Title>\n )}\n </Dialog.Header>\n <Dialog.Body\n className=\"Modal__Body\"\n data-testid=\"kibble-modal-body\"\n >\n {children}\n </Dialog.Body>\n {!hideFooter && <ModalFooter {...footerProps} />}\n </Dialog.Content>\n </ModalContext.Provider>\n </Dialog.Positioner>\n </Portal>\n </Dialog.Root>\n );\n};\n","export const modalSizes = [\"xs\", \"sm\", \"md\", \"lg\", \"cover\", \"full\"] as const;\nexport type ModalSize = (typeof modalSizes)[number];\n\nexport const modalPlacements = [\"center\", \"top\", \"bottom\"] as const;\nexport type ModalPlacement = (typeof modalPlacements)[number];\n\nexport const modalScrollBehaviors = [\"inside\", \"outside\"] as const;\nexport type ModalScrollBehavior = (typeof modalScrollBehaviors)[number];\n\nexport const modalMotionPresets = [\n \"scale\",\n \"slide-in-bottom\",\n \"slide-in-top\",\n \"slide-in-left\",\n \"slide-in-right\",\n \"none\",\n] as const;\nexport type ModalMotionPreset = (typeof modalMotionPresets)[number];\n"],"names":["withRootProvider","withContext","createSlotRecipeContext","Dialog.RootProvider","DialogRoot","Dialog.Root","DialogTrigger","Dialog.Trigger","DialogPositioner","Dialog.Positioner","DialogContent","Dialog.Content","Dialog.Description","DialogTitle","Dialog.Title","DialogCloseTrigger","Dialog.CloseTrigger","DialogActionTrigger","forwardRef","props","ref","dialog","useDialogContext","jsx","chakra","DialogBackdrop","Dialog.Backdrop","DialogBody","DialogFooter","DialogHeader","ModalFooter","children","destructive","disabled","hideCancel","loading","loadingText","onCancel","onSubmit","submitText","rest","Dialog.Footer","jsxs","Flex","Dialog.ActionTrigger","Button","Modal","footerProps","fullScreenMobile","header","headerProps","hideCloseButton","hideFooter","motionPreset","placement","showExpandButton","size","trigger","contentRef","useRef","contextValue","isExpanded","setIsExpanded","useState","computedSize","useBreakpointValue","Portal","ModalContext","prev","Dialog.Header","Heading","Dialog.Body","modalSizes","modalPlacements","modalScrollBehaviors","modalMotionPresets"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"modal.types-SzYLypgs.js","sources":["../../node_modules/@chakra-ui/react/dist/esm/components/dialog/dialog.js","../../src/components/Modal/components/ModalFooter/modalFooter.component.tsx","../../src/components/Modal/modal.component.tsx","../../src/components/Modal/modal.types.ts"],"sourcesContent":["\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { Dialog, useDialogContext } from '@ark-ui/react/dialog';\nimport { forwardRef } from 'react';\nimport { createSlotRecipeContext } from '../../styled-system/create-slot-recipe-context.js';\nimport { chakra } from '../../styled-system/factory.js';\n\nconst {\n withRootProvider,\n withContext,\n useStyles: useDialogStyles,\n PropsProvider\n} = createSlotRecipeContext({ key: \"dialog\" });\nconst DialogRootProvider = withRootProvider(\n Dialog.RootProvider,\n {\n defaultProps: { unmountOnExit: true, lazyMount: true }\n }\n);\nconst DialogRoot = withRootProvider(Dialog.Root, {\n defaultProps: { unmountOnExit: true, lazyMount: true }\n});\nconst DialogPropsProvider = PropsProvider;\nconst DialogTrigger = withContext(\n Dialog.Trigger,\n \"trigger\",\n { forwardAsChild: true }\n);\nconst DialogPositioner = withContext(Dialog.Positioner, \"positioner\", { forwardAsChild: true });\nconst DialogContent = withContext(\n Dialog.Content,\n \"content\",\n { forwardAsChild: true }\n);\nconst DialogDescription = withContext(Dialog.Description, \"description\", { forwardAsChild: true });\nconst DialogTitle = withContext(\n Dialog.Title,\n \"title\",\n { forwardAsChild: true }\n);\nconst DialogCloseTrigger = withContext(Dialog.CloseTrigger, \"closeTrigger\", { forwardAsChild: true });\nconst DialogActionTrigger = forwardRef(function DialogActionTrigger2(props, ref) {\n const dialog = useDialogContext();\n return /* @__PURE__ */ jsx(chakra.button, { ...props, ref, onClick: () => dialog.setOpen(false) });\n});\nconst DialogBackdrop = withContext(\n Dialog.Backdrop,\n \"backdrop\",\n { forwardAsChild: true }\n);\nconst DialogBody = withContext(\n \"div\",\n \"body\"\n);\nconst DialogFooter = withContext(\n \"div\",\n \"footer\"\n);\nconst DialogHeader = withContext(\n \"div\",\n \"header\"\n);\nconst DialogContext = Dialog.Context;\n\nexport { DialogActionTrigger, DialogBackdrop, DialogBody, DialogCloseTrigger, DialogContent, DialogContext, DialogDescription, DialogFooter, DialogHeader, DialogPositioner, DialogPropsProvider, DialogRoot, DialogRootProvider, DialogTitle, DialogTrigger, useDialogStyles };\n","import React from \"react\";\nimport { Dialog } from \"@chakra-ui/react/dialog\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { Button } from \"components/Button/button.component\";\n\nexport interface ModalFooterProps extends Dialog.FooterProps {\n children?: React.ReactNode;\n destructive?: boolean;\n disabled?: boolean;\n hideCancel?: boolean;\n loading?: boolean;\n loadingText?: string;\n onCancel?: () => void;\n onSubmit?: () => void | Promise<void>;\n submitText?: string;\n}\n\nexport const ModalFooter = ({\n children,\n destructive,\n disabled,\n hideCancel = false,\n loading,\n loadingText,\n onCancel,\n onSubmit,\n submitText = \"Submit\",\n ...rest\n}: ModalFooterProps): React.JSX.Element => {\n return (\n <Dialog.Footer\n className=\"Modal__Footer\"\n data-testid=\"kibble-modal-footer\"\n {...rest}\n >\n {children ? (\n children\n ) : (\n <Flex alignItems=\"center\" justifyContent=\"space-between\" w=\"100%\">\n {!hideCancel && (\n <Dialog.ActionTrigger\n asChild\n className=\"Modal__CancelButton\"\n data-testid=\"kibble-modal-cancel-button\"\n >\n <Button variant=\"tertiary\" onClick={onCancel}>\n Cancel\n </Button>\n </Dialog.ActionTrigger>\n )}\n <Button\n className=\"Modal__SubmitButton\"\n data-testid=\"kibble-modal-submit-button\"\n onClick={onSubmit}\n loading={loading}\n loadingText={loadingText}\n disabled={disabled}\n variant={destructive ? \"primaryDestructive\" : \"primary\"}\n >\n {submitText}\n </Button>\n </Flex>\n )}\n </Dialog.Footer>\n );\n};\n","import React, { useRef, useState } from \"react\";\nimport { Dialog } from \"@chakra-ui/react/dialog\";\nimport { Portal } from \"@chakra-ui/react/portal\";\nimport {\n ModalFooter,\n ModalFooterProps,\n} from \"./components/ModalFooter/modalFooter.component\";\nimport { Heading, HeadingProps } from \"components/Heading/heading.component\";\nimport { ModalMotionPreset, ModalPlacement, ModalSize } from \"./modal.types\";\nimport { Button } from \"components/Button/button.component\";\nimport { useBreakpointValue } from \"@chakra-ui/react\";\nimport { ModalContext } from \"./context/modal.context\";\n\nexport interface ModalProps extends Dialog.RootProps {\n footerProps?: ModalFooterProps;\n fullScreenMobile?: boolean;\n header?: React.ReactNode;\n headerProps?: HeadingProps;\n hideCloseButton?: boolean;\n hideFooter?: boolean;\n motionPreset?: ModalMotionPreset;\n placement?: ModalPlacement;\n showExpandButton?: boolean;\n size?: ModalSize;\n trigger?: React.ReactNode;\n}\n\nexport const Modal = ({\n children,\n footerProps,\n fullScreenMobile = true,\n header,\n headerProps,\n hideCloseButton = false,\n hideFooter = false,\n motionPreset = \"slide-in-bottom\",\n placement = \"center\",\n showExpandButton = false,\n size = \"md\",\n trigger,\n ...rest\n}: ModalProps): React.JSX.Element => {\n const contentRef = useRef<HTMLDivElement>(null!);\n const contextValue = { contentRef };\n const [isExpanded, setIsExpanded] = useState(false);\n const computedSize = useBreakpointValue({\n base: fullScreenMobile ? \"full\" : size,\n md: size,\n });\n\n return (\n <Dialog.Root\n motionPreset={motionPreset}\n placement={placement}\n size={computedSize}\n {...rest}\n expanded={isExpanded}\n >\n {trigger && <Dialog.Trigger asChild>{trigger}</Dialog.Trigger>}\n <Portal>\n <Dialog.Backdrop />\n <Dialog.Positioner>\n <ModalContext.Provider value={contextValue}>\n {\" \"}\n <Dialog.Content\n className=\"Modal\"\n data-testid=\"kibble-modal\"\n ref={contentRef}\n >\n {!hideCloseButton && (\n <Dialog.CloseTrigger\n asChild\n className=\"Modal__CloseButton\"\n data-testid=\"kibble-modal-close-button\"\n >\n <Button iconName=\"close\" variant=\"ghostNeutral\" />\n </Dialog.CloseTrigger>\n )}\n {showExpandButton && (\n <Button\n className=\"Modal__ExpandButton\"\n data-testid=\"kibble-modal-expand-button\"\n variant=\"ghostNeutral\"\n iconName={isExpanded ? \"arrowsIn\" : \"arrowsOut\"}\n position=\"absolute\"\n top={2}\n right={12}\n onClick={() => setIsExpanded((prev) => !prev)}\n />\n )}\n <Dialog.Header\n className=\"Modal__Header\"\n data-testid=\"kibble-modal-header\"\n >\n {header && (\n <Dialog.Title\n className=\"Modal__Title\"\n data-testid=\"kibble-modal-title\"\n asChild\n >\n {typeof header === \"string\" ? (\n <Heading size=\"xl\" {...headerProps}>\n {header}\n </Heading>\n ) : (\n header\n )}\n </Dialog.Title>\n )}\n </Dialog.Header>\n <Dialog.Body\n className=\"Modal__Body\"\n data-testid=\"kibble-modal-body\"\n >\n {children}\n </Dialog.Body>\n {!hideFooter && <ModalFooter {...footerProps} />}\n </Dialog.Content>\n </ModalContext.Provider>\n </Dialog.Positioner>\n </Portal>\n </Dialog.Root>\n );\n};\n","export const modalSizes = [\"xs\", \"sm\", \"md\", \"lg\", \"cover\", \"full\"] as const;\nexport type ModalSize = (typeof modalSizes)[number];\n\nexport const modalPlacements = [\"center\", \"top\", \"bottom\"] as const;\nexport type ModalPlacement = (typeof modalPlacements)[number];\n\nexport const modalScrollBehaviors = [\"inside\", \"outside\"] as const;\nexport type ModalScrollBehavior = (typeof modalScrollBehaviors)[number];\n\nexport const modalMotionPresets = [\n \"scale\",\n \"slide-in-bottom\",\n \"slide-in-top\",\n \"slide-in-left\",\n \"slide-in-right\",\n \"none\",\n] as const;\nexport type ModalMotionPreset = (typeof modalMotionPresets)[number];\n"],"names":["withRootProvider","withContext","createSlotRecipeContext","Dialog.RootProvider","DialogRoot","Dialog.Root","DialogTrigger","Dialog.Trigger","DialogPositioner","Dialog.Positioner","DialogContent","Dialog.Content","Dialog.Description","DialogTitle","Dialog.Title","DialogCloseTrigger","Dialog.CloseTrigger","DialogActionTrigger","forwardRef","props","ref","dialog","useDialogContext","jsx","chakra","DialogBackdrop","Dialog.Backdrop","DialogBody","DialogFooter","DialogHeader","ModalFooter","children","destructive","disabled","hideCancel","loading","loadingText","onCancel","onSubmit","submitText","rest","Dialog.Footer","jsxs","Flex","Dialog.ActionTrigger","Button","Modal","footerProps","fullScreenMobile","header","headerProps","hideCloseButton","hideFooter","motionPreset","placement","showExpandButton","size","trigger","contentRef","useRef","contextValue","isExpanded","setIsExpanded","useState","computedSize","useBreakpointValue","Portal","ModalContext","prev","Dialog.Header","Heading","Dialog.Body","modalSizes","modalPlacements","modalScrollBehaviors","modalMotionPresets"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const i=require("./jsx-runtime-BjDatQAs.js"),p=require("react"),y=require("./withFormControl-
|
|
2
|
-
//# sourceMappingURL=pinInput.types-
|
|
1
|
+
"use strict";const i=require("./jsx-runtime-BjDatQAs.js"),p=require("react"),y=require("./withFormControl-DhWavZor.js"),k=require("./create-slot-recipe-context-IwVIgtBt.js"),s=require("./portal-TWtD47zg.js"),I=require("./use-field-context-xBX4EpFz.js"),a=require("./index-BlGAWSIX.js"),m=require("./index-hGlTuPbK.js"),E=t=>t&&t.__esModule?t:{default:t},N=E(p),[x,d]=s.createContext({name:"PinInputContext",hookName:"usePinInputContext",providerName:"<PinInputProvider />"}),R=p.forwardRef((t,n)=>{const r=d(),o=a.mergeProps(r.getControlProps(),t);return i.jsxRuntimeExports.jsx(s.ark.div,{...o,ref:n})});R.displayName="PinInputControl";const f=p.forwardRef((t,n)=>{const r=d(),o=a.mergeProps(r.getHiddenInputProps(),t),e=I.useFieldContext();return i.jsxRuntimeExports.jsx(s.ark.input,{"aria-describedby":e?.ariaDescribedby,...o,ref:n})});f.displayName="PinInputHiddenInput";const C=p.forwardRef((t,n)=>{const[r,o]=s.createSplitProps()(t,["index"]),e=d(),u=a.mergeProps(e.getInputProps(r),o);return i.jsxRuntimeExports.jsx(s.ark.input,{...u,ref:n})});C.displayName="PinInputInput";const j=p.forwardRef((t,n)=>{const r=d(),o=a.mergeProps(r.getLabelProps(),t);return i.jsxRuntimeExports.jsx(s.ark.label,{...o,ref:n})});j.displayName="PinInputLabel";const _=t=>{const n=p.useId(),{getRootNode:r}=s.useEnvironmentContext(),{dir:o}=s.useLocaleContext(),e=I.useFieldContext(),u={id:n,ids:{label:e?.ids.label,hiddenInput:e?.ids.control},disabled:e?.disabled,readOnly:e?.readOnly,required:e?.required,invalid:e?.invalid,dir:o,getRootNode:r,...t},l=s.useMachine(m.machine,u);return m.connect(l,s.normalizeProps)},b=p.forwardRef((t,n)=>{const[r,o]=s.createSplitProps()(t,["autoFocus","blurOnComplete","count","defaultValue","disabled","form","id","ids","invalid","mask","name","onValueChange","onValueComplete","onValueInvalid","otp","pattern","placeholder","readOnly","required","selectOnFocus","translations","type","value"]),e=_(r),u=a.mergeProps(e.getRootProps(),o);return i.jsxRuntimeExports.jsx(x,{value:e,children:i.jsxRuntimeExports.jsx(s.ark.div,{...u,ref:n})})});b.displayName="PinInputRoot";const h=p.forwardRef((t,n)=>{const[{value:r},o]=s.createSplitProps()(t,["value"]),e=a.mergeProps(r.getRootProps(),o);return i.jsxRuntimeExports.jsx(x,{value:r,children:i.jsxRuntimeExports.jsx(s.ark.div,{...e,ref:n})})});h.displayName="PinInputRootProvider";const{withProvider:g,withContext:P}=k.createSlotRecipeContext({key:"pinInput"});g(h,"root",{forwardAsChild:!0});const q=g(b,"root",{forwardProps:["mask"],forwardAsChild:!0}),F=P(R,"control",{forwardAsChild:!0}),A=P(C,"input",{forwardAsChild:!0});P(j,"label",{forwardAsChild:!0});const $=f,H=y.withFormControl(({count:t=6,pinInputRef:n,onContrast:r=!1,otp:o=!0,size:e="md",type:u="numeric",...l})=>{const w=r?"onContrast":"default";return i.jsxRuntimeExports.jsxs(q,{className:"PinInput","data-testid":"kibble-pin-input",ref:n,variant:w,size:e,type:u,otp:o,...l,children:[i.jsxRuntimeExports.jsx($,{className:"PinInput__HiddenInput","data-testid":"kibble-pin-input-hidden-input"}),i.jsxRuntimeExports.jsx(F,{className:"PinInput__Control","data-testid":"kibble-pin-input-control",children:Array.from({length:t}).map((S,c)=>i.jsxRuntimeExports.jsx(A,{index:c,className:"PinInput__Input","data-testid":`kibble-pin-input-input-${c}`},c))})]})}),v=N.default.forwardRef((t,n)=>i.jsxRuntimeExports.jsx(H,{pinInputRef:n,...t}));v.displayName="PinInput";const O=["numeric","alphabetic","alphanumeric"];exports.WrappedPinInput=v;exports.pinInputTypes=O;
|
|
2
|
+
//# sourceMappingURL=pinInput.types-D73AXb6j.js.map
|