@televet/kibble-ui 5.0.30 → 5.0.31
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.component-B2kzYzhv.js → alert.component-DjFZO6Ks.js} +3 -3
- package/dist/chunks/{alert.component-B2kzYzhv.js.map → alert.component-DjFZO6Ks.js.map} +1 -1
- package/dist/chunks/{avatar.component-BL6D6Lw_.js → avatar.component-BwOAO1qR.js} +3 -3
- package/dist/chunks/{avatar.component-BL6D6Lw_.js.map → avatar.component-BwOAO1qR.js.map} +1 -1
- package/dist/chunks/{avatarGroup.component-CUHMxiIc.js → avatarGroup.component-Dvq2vG4z.js} +5 -5
- package/dist/chunks/{avatarGroup.component-CUHMxiIc.js.map → avatarGroup.component-Dvq2vG4z.js.map} +1 -1
- package/dist/chunks/button.recipe-PiD70IbE.js +2 -0
- package/dist/chunks/button.recipe-PiD70IbE.js.map +1 -0
- package/dist/chunks/{button.recipe-CZ-PlRrK.js → button.recipe-iar6jvoT.js} +42 -45
- package/dist/chunks/button.recipe-iar6jvoT.js.map +1 -0
- package/dist/chunks/{buttonGroup.component-B4APVs0L.js → buttonGroup.component-Ce5TKLEN.js} +2 -2
- package/dist/chunks/{buttonGroup.component-B4APVs0L.js.map → buttonGroup.component-Ce5TKLEN.js.map} +1 -1
- package/dist/chunks/{calendar.component-BswlIQ5W.js → calendar.component-D0IcPD3-.js} +2 -2
- package/dist/chunks/{calendar.component-BswlIQ5W.js.map → calendar.component-D0IcPD3-.js.map} +1 -1
- package/dist/chunks/{characterCounter.component-Cm9yEHjz.js → characterCounter.component-B45KB7Xu.js} +3 -3
- package/dist/chunks/{characterCounter.component-Cm9yEHjz.js.map → characterCounter.component-B45KB7Xu.js.map} +1 -1
- package/dist/chunks/{checkbox.component-DGIWgnM4.js → checkbox.component-BoqZIgZE.js} +4 -4
- package/dist/chunks/{checkbox.component-DGIWgnM4.js.map → checkbox.component-BoqZIgZE.js.map} +1 -1
- package/dist/chunks/{checkboxGroup.component-D4YLYJPy.js → checkboxGroup.component-B0QCi1NL.js} +3 -3
- package/dist/chunks/{checkboxGroup.component-D4YLYJPy.js.map → checkboxGroup.component-B0QCi1NL.js.map} +1 -1
- package/dist/chunks/{config-Djkl1N81.js → config-BV2SsQL7.js} +3 -3
- package/dist/chunks/{config-Djkl1N81.js.map → config-BV2SsQL7.js.map} +1 -1
- package/dist/chunks/{conversationCard.component-DZnnZcAz.js → conversationCard.component-sKlfIP1V.js} +9 -9
- package/dist/chunks/{conversationCard.component-DZnnZcAz.js.map → conversationCard.component-sKlfIP1V.js.map} +1 -1
- package/dist/chunks/{datePicker.component-DQzmsw2J.js → datePicker.component-C-rCSpQD.js} +5 -5
- package/dist/chunks/{datePicker.component-DQzmsw2J.js.map → datePicker.component-C-rCSpQD.js.map} +1 -1
- package/dist/chunks/{datePicker.provider-DvJrNnut.js → datePicker.provider-rPzC-iBh.js} +4 -4
- package/dist/chunks/{datePicker.provider-DvJrNnut.js.map → datePicker.provider-rPzC-iBh.js.map} +1 -1
- package/dist/chunks/{dateTimePicker.component-BwC0c08U.js → dateTimePicker.component-CYFud4bA.js} +6 -6
- package/dist/chunks/{dateTimePicker.component-BwC0c08U.js.map → dateTimePicker.component-CYFud4bA.js.map} +1 -1
- package/dist/chunks/{heading.component-BBTU00_w.js → heading.component-D8oRhIr6.js} +2 -2
- package/dist/chunks/{heading.component-BBTU00_w.js.map → heading.component-D8oRhIr6.js.map} +1 -1
- package/dist/chunks/{index-CcwGiuyq.js → index-CYrGgSXK.js} +2 -2
- package/dist/chunks/{index-CcwGiuyq.js.map → index-CYrGgSXK.js.map} +1 -1
- package/dist/chunks/{logo.types-C5GwpHjM.js → logo.types-Bv_56edz.js} +6 -6
- package/dist/chunks/{logo.types-C5GwpHjM.js.map → logo.types-Bv_56edz.js.map} +1 -1
- package/dist/chunks/{maintenanceBanner.types-BiSgtHkP.js → maintenanceBanner.types-Bey20P0-.js} +2 -2
- package/dist/chunks/{maintenanceBanner.types-BiSgtHkP.js.map → maintenanceBanner.types-Bey20P0-.js.map} +1 -1
- package/dist/chunks/{menu.component-CAttpI-a.js → menu.component-8gDv-vKT.js} +6 -6
- package/dist/chunks/{menu.component-CAttpI-a.js.map → menu.component-8gDv-vKT.js.map} +1 -1
- package/dist/chunks/{modal.types-DlvB1lQC.js → modal.types-rCenUZ8B.js} +2 -2
- package/dist/chunks/{modal.types-DlvB1lQC.js.map → modal.types-rCenUZ8B.js.map} +1 -1
- package/dist/chunks/{notificationCounter.component-DhfVkkOQ.js → notificationCounter.component-DikPb9gS.js} +3 -3
- package/dist/chunks/{notificationCounter.component-DhfVkkOQ.js.map → notificationCounter.component-DikPb9gS.js.map} +1 -1
- package/dist/chunks/{numberInput.component-D2lVvZHf.js → numberInput.component-CcYDFacQ.js} +2 -2
- package/dist/chunks/{numberInput.component-D2lVvZHf.js.map → numberInput.component-CcYDFacQ.js.map} +1 -1
- package/dist/chunks/{pinInput.types-DOs4a1N6.js → pinInput.types-CljHTAqz.js} +2 -2
- package/dist/chunks/{pinInput.types-DOs4a1N6.js.map → pinInput.types-CljHTAqz.js.map} +1 -1
- package/dist/chunks/{popover.component-65oNmbmB.js → popover.component-xBwO82bL.js} +5 -5
- package/dist/chunks/{popover.component-65oNmbmB.js.map → popover.component-xBwO82bL.js.map} +1 -1
- package/dist/chunks/{popover.recipe-DPwwsWLb.js → popover.recipe-BZo9u5OS.js} +2 -2
- package/dist/chunks/{popover.recipe-DPwwsWLb.js.map → popover.recipe-BZo9u5OS.js.map} +1 -1
- package/dist/chunks/radioGroup.types-BIhmFPWh.js +2 -0
- package/dist/chunks/{radioGroup.types-CGGPDvBR.js.map → radioGroup.types-BIhmFPWh.js.map} +1 -1
- package/dist/chunks/radioGroup.types-BM87sySx.js +237 -0
- package/dist/chunks/{radioGroup.types-CiHxP4xM.js.map → radioGroup.types-BM87sySx.js.map} +1 -1
- package/dist/chunks/{rating.component-DwiIqg9E.js → rating.component-BogjwNOM.js} +2 -2
- package/dist/chunks/{rating.component-DwiIqg9E.js.map → rating.component-BogjwNOM.js.map} +1 -1
- package/dist/chunks/{ratingDots.component-BpimXANy.js → ratingDots.component-Cg74ctjO.js} +4 -4
- package/dist/chunks/{ratingDots.component-BpimXANy.js.map → ratingDots.component-Cg74ctjO.js.map} +1 -1
- package/dist/chunks/{select.component-CmKal46A.js → select.component-BYIMZguq.js} +5 -5
- package/dist/chunks/{select.component-CmKal46A.js.map → select.component-BYIMZguq.js.map} +1 -1
- package/dist/chunks/{semanticTokens.records-CmeaObFQ.js → semanticTokens.records-B-TIeSHG.js} +2 -2
- package/dist/chunks/semanticTokens.records-B-TIeSHG.js.map +1 -0
- package/dist/chunks/{semanticTokens.records-Di2_gv9n.js → semanticTokens.records-DMKJxF9q.js} +23 -4
- package/dist/chunks/semanticTokens.records-DMKJxF9q.js.map +1 -0
- package/dist/chunks/{sortableList.component-05kG3QEM.js → sortableList.component-DXEpIVec.js} +2 -2
- package/dist/chunks/{sortableList.component-05kG3QEM.js.map → sortableList.component-DXEpIVec.js.map} +1 -1
- package/dist/chunks/{spinner.component-CQ-JWUon.js → spinner.component-BxtAqNQO.js} +3 -3
- package/dist/chunks/{spinner.component-CQ-JWUon.js.map → spinner.component-BxtAqNQO.js.map} +1 -1
- package/dist/chunks/{styledAvatar.types-BaOkOA8K.js → styledAvatar.types-DwJd2uWS.js} +2 -2
- package/dist/chunks/{styledAvatar.types-BaOkOA8K.js.map → styledAvatar.types-DwJd2uWS.js.map} +1 -1
- package/dist/chunks/{swatch.types-CkrkMi11.js → swatch.types--B4k8Ncc.js} +2 -2
- package/dist/chunks/{swatch.types-CkrkMi11.js.map → swatch.types--B4k8Ncc.js.map} +1 -1
- package/dist/chunks/{switch.component-BANAbt7_.js → switch.component-Yr0uRws8.js} +2 -2
- package/dist/chunks/{switch.component-BANAbt7_.js.map → switch.component-Yr0uRws8.js.map} +1 -1
- package/dist/chunks/{tab.types-CTlxVEvQ.js → tab.types-DOXmd70v.js} +3 -3
- package/dist/chunks/{tab.types-CTlxVEvQ.js.map → tab.types-DOXmd70v.js.map} +1 -1
- package/dist/chunks/{tagBlock.component-CAoe7WiN.js → tagBlock.component-R6Ee1sH9.js} +5 -5
- package/dist/chunks/{tagBlock.component-CAoe7WiN.js.map → tagBlock.component-R6Ee1sH9.js.map} +1 -1
- package/dist/chunks/{text.component-C9jh_JMO.js → text.component-DbJw4Y9-.js} +2 -2
- package/dist/chunks/{text.component-C9jh_JMO.js.map → text.component-DbJw4Y9-.js.map} +1 -1
- package/dist/chunks/{textInput.component-CHOXUd8x.js → textInput.component-Co3pNJhe.js} +3 -3
- package/dist/chunks/{textInput.component-CHOXUd8x.js.map → textInput.component-Co3pNJhe.js.map} +1 -1
- package/dist/chunks/{textarea.component-Co5FVeAZ.js → textarea.component-CAn7c-Io.js} +3 -3
- package/dist/chunks/{textarea.component-Co5FVeAZ.js.map → textarea.component-CAn7c-Io.js.map} +1 -1
- package/dist/chunks/{theme.provider-CfNsrvgx.js → theme.provider-C9i42gSe.js} +3 -3
- package/dist/chunks/{theme.provider-CfNsrvgx.js.map → theme.provider-C9i42gSe.js.map} +1 -1
- package/dist/chunks/{theme.provider-BEOF1dv4.js → theme.provider-DMENNJUS.js} +832 -687
- package/dist/chunks/{theme.provider-BEOF1dv4.js.map → theme.provider-DMENNJUS.js.map} +1 -1
- package/dist/chunks/{timePicker.component-O5_k6YYo.js → timePicker.component-CvRaqRrd.js} +4 -4
- package/dist/chunks/{timePicker.component-O5_k6YYo.js.map → timePicker.component-CvRaqRrd.js.map} +1 -1
- package/dist/chunks/{timeRange.component-Crv2OP7C.js → timeRange.component-DFZaJT2U.js} +2 -2
- package/dist/chunks/{timeRange.component-Crv2OP7C.js.map → timeRange.component-DFZaJT2U.js.map} +1 -1
- package/dist/chunks/{timestamp.component-CRz-1i68.js → timestamp.component-gXQy-j4t.js} +3 -3
- package/dist/chunks/{timestamp.component-CRz-1i68.js.map → timestamp.component-gXQy-j4t.js.map} +1 -1
- package/dist/chunks/{tooltip.component-CHohp2qn.js → tooltip.component-BWCTmG_j.js} +2 -2
- package/dist/chunks/{tooltip.component-CHohp2qn.js.map → tooltip.component-BWCTmG_j.js.map} +1 -1
- package/dist/chunks/{withFormControl-FQcw75ZS.js → withFormControl-BDEeuT0h.js} +2 -2
- package/dist/chunks/{withFormControl-FQcw75ZS.js.map → withFormControl-BDEeuT0h.js.map} +1 -1
- package/dist/chunks/{withTruncation-DW62mTHW.js → withTruncation-BsdDiS0y.js} +2 -2
- package/dist/chunks/{withTruncation-DW62mTHW.js.map → withTruncation-BsdDiS0y.js.map} +1 -1
- package/dist/chunks/{wrap-Cu5ZEseD.js → wrap-cM2ut8a7.js} +2 -2
- package/dist/chunks/{wrap-Cu5ZEseD.js.map → wrap-cM2ut8a7.js.map} +1 -1
- package/dist/cjs/components/RadioGroup/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/cjs/theme/semanticTokens/index.cjs +1 -1
- package/dist/cjs/theme/semanticTokens/index.cjs.map +1 -1
- package/dist/esm/chakra/index.js +5 -5
- 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/Calendar/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 +2 -2
- package/dist/esm/components/DateTimePicker/index.js +1 -1
- package/dist/esm/components/Heading/index.js +1 -1
- package/dist/esm/components/Logo/index.js +1 -1
- package/dist/esm/components/MaintenanceBanner/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/NotificationCounter/index.js +1 -1
- package/dist/esm/components/NumberInput/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/Rating/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/Swatch/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 +39 -39
- package/dist/esm/index.js +40 -40
- package/dist/esm/theme/index.js +1 -1
- package/dist/esm/theme/semanticTokens/index.js +3 -2
- package/dist/esm/theme/semanticTokens/index.js.map +1 -1
- package/dist/types/components/Button/button.records.d.ts +16 -0
- package/dist/types/components/RadioGroup/radioGroup.component.d.ts +3 -2
- package/dist/types/components/RadioGroup/radioGroup.recipe.d.ts +35 -3
- package/dist/types/components/RadioGroup/radioGroup.types.d.ts +1 -1
- package/dist/types/theme/semanticTokens/semanticTokens.config.d.ts +10 -2
- package/package.json +1 -1
- package/dist/chunks/button.recipe-CZ-PlRrK.js.map +0 -1
- package/dist/chunks/button.recipe-DyIe5w68.js +0 -2
- package/dist/chunks/button.recipe-DyIe5w68.js.map +0 -1
- package/dist/chunks/radioGroup.types-CGGPDvBR.js +0 -2
- package/dist/chunks/radioGroup.types-CiHxP4xM.js +0 -228
- package/dist/chunks/semanticTokens.records-CmeaObFQ.js.map +0 -1
- package/dist/chunks/semanticTokens.records-Di2_gv9n.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal.types-DlvB1lQC.js","sources":["../../src/components/Modal/components/ModalFooter/modalFooter.component.tsx","../../src/components/Modal/modal.component.tsx","../../src/components/Modal/modal.types.ts"],"sourcesContent":["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 /** Content to be rendered in the footer. */\n children?: React.ReactNode;\n /** If true, the submit button will be displayed as a destructive button.\n * @default false\n */\n destructive?: boolean;\n /** If true, the footer will be disabled. */\n disabled?: boolean;\n /** If true, the cancel button will not be displayed.\n * @default false\n */\n hideCancel?: boolean;\n /** If true, the submit button will be displayed with a loading state. */\n loading?: boolean;\n /** Text to display in the loading state. */\n loadingText?: string;\n /** Text to display in the cancel button. */\n cancelText?: string;\n /** Callback function to be called when the cancel button is clicked. */\n onCancel?: () => void;\n /** Callback function to be called when the submit button is clicked. */\n onSubmit?: () => void | Promise<void>;\n /** Text to display in the submit button. */\n submitText?: string;\n /** Position of the buttons.\n * @default space-between\n */\n buttonPosition?: 'start' | 'end' | 'space-between';\n /** Data test id for the footer.\n * @default kibble-modal-footer\n */\n 'data-testid'?: 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 cancelText = 'Cancel',\n buttonPosition = 'space-between',\n ['data-testid']: dataTestId = 'kibble-modal-footer',\n ...rest\n}: ModalFooterProps): React.JSX.Element => {\n return (\n <Dialog.Footer className=\"Modal__Footer\" data-testid={dataTestId} {...rest}>\n {children ? (\n children\n ) : (\n <Flex alignItems=\"center\" justifyContent={buttonPosition} w=\"100%\">\n {!hideCancel && (\n <Dialog.ActionTrigger asChild className=\"Modal__CancelButton\" data-testid={`${dataTestId}-cancel-button`}>\n <Button variant=\"tertiary\" onClick={onCancel}>\n {cancelText}\n </Button>\n </Dialog.ActionTrigger>\n )}\n <Button\n className=\"Modal__SubmitButton\"\n data-testid={`${dataTestId}-submit-button`}\n onClick={onSubmit}\n loading={loading}\n loadingText={loadingText}\n disabled={disabled}\n type=\"submit\"\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 { ConditionalValue } from '@chakra-ui/react/styled-system';\nimport { ModalFooter, ModalFooterProps } from './components/ModalFooter/modalFooter.component';\nimport { Heading, HeadingProps } from 'components/Heading/heading.component';\nimport { ModalMotionPreset, ModalPlacement, ModalSize } from './modal.types';\nimport { Button, ButtonProps } from 'components/Button/button.component';\nimport { useBreakpointValue } from '@chakra-ui/react';\nimport { PortalContext, usePortalContentRef } from 'hooks/usePortalContentRef';\n\nexport interface ModalProps extends Dialog.RootProps {\n /** Props to customize the default footer. If a custom footer is needed, you can use the `children` prop to build your own. */\n footerProps?: ModalFooterProps;\n /**\n * Whether to use full screen on mobile devices.\n * @default true\n */\n fullScreenMobile?: boolean;\n /** The header of the modal. */\n header?: React.ReactNode;\n /** Props to customize the header when passed as a string. */\n headerProps?: HeadingProps;\n /**\n * Whether to hide the close button.\n * @default false\n */\n hideCloseButton?: boolean;\n /** Props to customize the close button. */\n closeButtonProps?: Omit<ButtonProps, 'iconName' | 'onClick'>;\n /**\n * Whether to hide the modal footer.\n * @default false\n */\n hideFooter?: boolean;\n /** The animation preset for the modal.\n * @default slide-in-bottom\n */\n motionPreset?: ModalMotionPreset;\n /** The placement of the modal.\n * @default center\n */\n placement?: ModalPlacement;\n /**\n * Whether to show the expand button.\n * @default false\n */\n showExpandButton?: boolean;\n /** The size of the modal.\n * @default md\n */\n size?: ConditionalValue<ModalSize>;\n /** The element used to open the modal. If no trigger is provided, the modal will need to be controlled with the `open` and `onOpenChange` props. */\n trigger?: React.ReactNode;\n /**\n * Whether to render the modal in a portal. Set to false if this modal is nested inside another modal.\n * @default true\n */\n portalled?: boolean;\n /** Props to customize the content of the modal. */\n contentProps?: Dialog.ContentProps;\n /** Props to customize the positioner of the modal. */\n positionerProps?: Dialog.PositionerProps;\n /** Data test id for the modal.\n * @default kibble-modal\n */\n 'data-testid'?: string;\n}\n\nexport const Modal = ({\n children,\n footerProps,\n fullScreenMobile = true,\n header,\n headerProps,\n hideCloseButton = false,\n closeButtonProps,\n hideFooter = false,\n motionPreset = 'slide-in-bottom',\n placement = 'center',\n showExpandButton = false,\n size = 'md',\n trigger,\n ['data-testid']: dataTestId = 'kibble-modal',\n portalled = true,\n contentProps,\n positionerProps,\n ...rest\n}: ModalProps): React.JSX.Element => {\n const { contentRef: parentContentRef } = usePortalContentRef();\n const modalContentRef = useRef<HTMLDivElement>(null!);\n const contextValue = { contentRef: modalContentRef };\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 expanded={isExpanded}\n data-testid={`${dataTestId}-root`}\n {...rest}\n >\n {trigger && <Dialog.Trigger asChild>{trigger}</Dialog.Trigger>}\n <Portal disabled={!portalled} container={parentContentRef || undefined}>\n <Dialog.Backdrop />\n <Dialog.Positioner {...positionerProps}>\n <Dialog.Content\n className=\"Modal\"\n data-testid={`${dataTestId}-content`}\n {...contentProps}\n ref={modalContentRef}\n >\n <PortalContext.Provider value={contextValue}>\n {!hideCloseButton && (\n <Dialog.CloseTrigger asChild className=\"Modal__CloseButton\" data-testid=\"kibble-modal-close-button\">\n <Button iconName=\"close\" variant=\"ghostNeutral\" {...closeButtonProps} />\n </Dialog.CloseTrigger>\n )}\n {showExpandButton && (\n <Button\n className=\"Modal__ExpandButton\"\n data-testid={`${dataTestId}-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 className=\"Modal__Header\" data-testid={`${dataTestId}-header`}>\n {header &&\n (typeof header === 'string' ? (\n <Dialog.Title className=\"Modal__Title\" data-testid={`${dataTestId}-title`} asChild>\n <Heading p={0} size=\"md\" {...headerProps}>\n {header}\n </Heading>\n </Dialog.Title>\n ) : (\n <Dialog.Title className=\"Modal__Title\" data-testid={`${dataTestId}-title`}>\n {header}\n </Dialog.Title>\n ))}\n </Dialog.Header>\n <Dialog.Body className=\"Modal__Body\" data-testid={`${dataTestId}-body`}>\n {children}\n </Dialog.Body>\n {!hideFooter && <ModalFooter {...footerProps} />}\n </PortalContext.Provider>\n </Dialog.Content>\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":["ModalFooter","children","destructive","disabled","hideCancel","loading","loadingText","onCancel","onSubmit","submitText","cancelText","buttonPosition","dataTestId","rest","Dialog.Footer","Flex","Dialog.ActionTrigger","Button","jsx","Modal","footerProps","fullScreenMobile","header","headerProps","hideCloseButton","closeButtonProps","hideFooter","motionPreset","placement","showExpandButton","size","trigger","portalled","contentProps","positionerProps","parentContentRef","usePortalContentRef","modalContentRef","useRef","contextValue","isExpanded","setIsExpanded","useState","computedSize","useBreakpointValue","jsxs","Dialog.Root","Dialog.Trigger","Portal","Dialog.Backdrop","Dialog.Positioner","Dialog.Content","PortalContext","Dialog.CloseTrigger","prev","Dialog.Header","Dialog.Title","Heading","Dialog.Body","modalSizes","modalPlacements","modalScrollBehaviors","modalMotionPresets"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"modal.types-rCenUZ8B.js","sources":["../../src/components/Modal/components/ModalFooter/modalFooter.component.tsx","../../src/components/Modal/modal.component.tsx","../../src/components/Modal/modal.types.ts"],"sourcesContent":["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 /** Content to be rendered in the footer. */\n children?: React.ReactNode;\n /** If true, the submit button will be displayed as a destructive button.\n * @default false\n */\n destructive?: boolean;\n /** If true, the footer will be disabled. */\n disabled?: boolean;\n /** If true, the cancel button will not be displayed.\n * @default false\n */\n hideCancel?: boolean;\n /** If true, the submit button will be displayed with a loading state. */\n loading?: boolean;\n /** Text to display in the loading state. */\n loadingText?: string;\n /** Text to display in the cancel button. */\n cancelText?: string;\n /** Callback function to be called when the cancel button is clicked. */\n onCancel?: () => void;\n /** Callback function to be called when the submit button is clicked. */\n onSubmit?: () => void | Promise<void>;\n /** Text to display in the submit button. */\n submitText?: string;\n /** Position of the buttons.\n * @default space-between\n */\n buttonPosition?: 'start' | 'end' | 'space-between';\n /** Data test id for the footer.\n * @default kibble-modal-footer\n */\n 'data-testid'?: 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 cancelText = 'Cancel',\n buttonPosition = 'space-between',\n ['data-testid']: dataTestId = 'kibble-modal-footer',\n ...rest\n}: ModalFooterProps): React.JSX.Element => {\n return (\n <Dialog.Footer className=\"Modal__Footer\" data-testid={dataTestId} {...rest}>\n {children ? (\n children\n ) : (\n <Flex alignItems=\"center\" justifyContent={buttonPosition} w=\"100%\">\n {!hideCancel && (\n <Dialog.ActionTrigger asChild className=\"Modal__CancelButton\" data-testid={`${dataTestId}-cancel-button`}>\n <Button variant=\"tertiary\" onClick={onCancel}>\n {cancelText}\n </Button>\n </Dialog.ActionTrigger>\n )}\n <Button\n className=\"Modal__SubmitButton\"\n data-testid={`${dataTestId}-submit-button`}\n onClick={onSubmit}\n loading={loading}\n loadingText={loadingText}\n disabled={disabled}\n type=\"submit\"\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 { ConditionalValue } from '@chakra-ui/react/styled-system';\nimport { ModalFooter, ModalFooterProps } from './components/ModalFooter/modalFooter.component';\nimport { Heading, HeadingProps } from 'components/Heading/heading.component';\nimport { ModalMotionPreset, ModalPlacement, ModalSize } from './modal.types';\nimport { Button, ButtonProps } from 'components/Button/button.component';\nimport { useBreakpointValue } from '@chakra-ui/react';\nimport { PortalContext, usePortalContentRef } from 'hooks/usePortalContentRef';\n\nexport interface ModalProps extends Dialog.RootProps {\n /** Props to customize the default footer. If a custom footer is needed, you can use the `children` prop to build your own. */\n footerProps?: ModalFooterProps;\n /**\n * Whether to use full screen on mobile devices.\n * @default true\n */\n fullScreenMobile?: boolean;\n /** The header of the modal. */\n header?: React.ReactNode;\n /** Props to customize the header when passed as a string. */\n headerProps?: HeadingProps;\n /**\n * Whether to hide the close button.\n * @default false\n */\n hideCloseButton?: boolean;\n /** Props to customize the close button. */\n closeButtonProps?: Omit<ButtonProps, 'iconName' | 'onClick'>;\n /**\n * Whether to hide the modal footer.\n * @default false\n */\n hideFooter?: boolean;\n /** The animation preset for the modal.\n * @default slide-in-bottom\n */\n motionPreset?: ModalMotionPreset;\n /** The placement of the modal.\n * @default center\n */\n placement?: ModalPlacement;\n /**\n * Whether to show the expand button.\n * @default false\n */\n showExpandButton?: boolean;\n /** The size of the modal.\n * @default md\n */\n size?: ConditionalValue<ModalSize>;\n /** The element used to open the modal. If no trigger is provided, the modal will need to be controlled with the `open` and `onOpenChange` props. */\n trigger?: React.ReactNode;\n /**\n * Whether to render the modal in a portal. Set to false if this modal is nested inside another modal.\n * @default true\n */\n portalled?: boolean;\n /** Props to customize the content of the modal. */\n contentProps?: Dialog.ContentProps;\n /** Props to customize the positioner of the modal. */\n positionerProps?: Dialog.PositionerProps;\n /** Data test id for the modal.\n * @default kibble-modal\n */\n 'data-testid'?: string;\n}\n\nexport const Modal = ({\n children,\n footerProps,\n fullScreenMobile = true,\n header,\n headerProps,\n hideCloseButton = false,\n closeButtonProps,\n hideFooter = false,\n motionPreset = 'slide-in-bottom',\n placement = 'center',\n showExpandButton = false,\n size = 'md',\n trigger,\n ['data-testid']: dataTestId = 'kibble-modal',\n portalled = true,\n contentProps,\n positionerProps,\n ...rest\n}: ModalProps): React.JSX.Element => {\n const { contentRef: parentContentRef } = usePortalContentRef();\n const modalContentRef = useRef<HTMLDivElement>(null!);\n const contextValue = { contentRef: modalContentRef };\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 expanded={isExpanded}\n data-testid={`${dataTestId}-root`}\n {...rest}\n >\n {trigger && <Dialog.Trigger asChild>{trigger}</Dialog.Trigger>}\n <Portal disabled={!portalled} container={parentContentRef || undefined}>\n <Dialog.Backdrop />\n <Dialog.Positioner {...positionerProps}>\n <Dialog.Content\n className=\"Modal\"\n data-testid={`${dataTestId}-content`}\n {...contentProps}\n ref={modalContentRef}\n >\n <PortalContext.Provider value={contextValue}>\n {!hideCloseButton && (\n <Dialog.CloseTrigger asChild className=\"Modal__CloseButton\" data-testid=\"kibble-modal-close-button\">\n <Button iconName=\"close\" variant=\"ghostNeutral\" {...closeButtonProps} />\n </Dialog.CloseTrigger>\n )}\n {showExpandButton && (\n <Button\n className=\"Modal__ExpandButton\"\n data-testid={`${dataTestId}-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 className=\"Modal__Header\" data-testid={`${dataTestId}-header`}>\n {header &&\n (typeof header === 'string' ? (\n <Dialog.Title className=\"Modal__Title\" data-testid={`${dataTestId}-title`} asChild>\n <Heading p={0} size=\"md\" {...headerProps}>\n {header}\n </Heading>\n </Dialog.Title>\n ) : (\n <Dialog.Title className=\"Modal__Title\" data-testid={`${dataTestId}-title`}>\n {header}\n </Dialog.Title>\n ))}\n </Dialog.Header>\n <Dialog.Body className=\"Modal__Body\" data-testid={`${dataTestId}-body`}>\n {children}\n </Dialog.Body>\n {!hideFooter && <ModalFooter {...footerProps} />}\n </PortalContext.Provider>\n </Dialog.Content>\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":["ModalFooter","children","destructive","disabled","hideCancel","loading","loadingText","onCancel","onSubmit","submitText","cancelText","buttonPosition","dataTestId","rest","Dialog.Footer","Flex","Dialog.ActionTrigger","Button","jsx","Modal","footerProps","fullScreenMobile","header","headerProps","hideCloseButton","closeButtonProps","hideFooter","motionPreset","placement","showExpandButton","size","trigger","portalled","contentProps","positionerProps","parentContentRef","usePortalContentRef","modalContentRef","useRef","contextValue","isExpanded","setIsExpanded","useState","computedSize","useBreakpointValue","jsxs","Dialog.Root","Dialog.Trigger","Portal","Dialog.Backdrop","Dialog.Positioner","Dialog.Content","PortalContext","Dialog.CloseTrigger","prev","Dialog.Header","Dialog.Title","Heading","Dialog.Body","modalSizes","modalPlacements","modalScrollBehaviors","modalMotionPresets"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { j as r } from "./jsx-runtime-C5mzlN2N.js";
|
|
2
2
|
import { useMemo as d } from "react";
|
|
3
|
-
import { d as f } from "./config-
|
|
4
|
-
import { S as p } from "./spinner.component-
|
|
3
|
+
import { d as f } from "./config-BV2SsQL7.js";
|
|
4
|
+
import { S as p } from "./spinner.component-BxtAqNQO.js";
|
|
5
5
|
import { B as g } from "./index-9BerxEcw.js";
|
|
6
6
|
import { u as h } from "./create-slot-recipe-context-D_FXDJGp.js";
|
|
7
7
|
import { F as b } from "./flex-CX-8gE9T.js";
|
|
@@ -135,4 +135,4 @@ const C = ["root", "maxElement"], S = {
|
|
|
135
135
|
export {
|
|
136
136
|
F as N
|
|
137
137
|
};
|
|
138
|
-
//# sourceMappingURL=notificationCounter.component-
|
|
138
|
+
//# sourceMappingURL=notificationCounter.component-DikPb9gS.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notificationCounter.component-
|
|
1
|
+
{"version":3,"file":"notificationCounter.component-DikPb9gS.js","sources":["../../src/components/NotificationCounter/notificationCounter.recipe.ts","../../src/components/NotificationCounter/notificationCounter.records.ts","../../src/components/NotificationCounter/notificationCounter.component.tsx"],"sourcesContent":["import { defineSlotRecipe, SystemStyleObject } from '@chakra-ui/react/styled-system';\nimport { NotificationCounterSize, NotificationCounterVariant } from './notificationCounter.types';\n\nconst notificationCounterSlots = ['root', 'maxElement'] as const;\ntype NotificationCounterSlot = (typeof notificationCounterSlots)[number];\n\nconst notificationCounterVariantStyles: Record<\n NotificationCounterVariant,\n Record<NotificationCounterSlot, SystemStyleObject>\n> = {\n blue: {\n root: {\n bgColor: 'background.accent',\n color: 'text.contrast',\n },\n maxElement: {\n bgColor: 'text.contrast',\n },\n },\n green: {\n root: {\n bgColor: 'background.success.contrast',\n color: 'text.contrast',\n },\n maxElement: {\n bgColor: 'text.contrast',\n },\n },\n neutral: {\n root: {\n bgColor: 'background.subtle.less',\n color: 'text',\n },\n maxElement: {\n bgColor: 'text',\n },\n },\n red: {\n root: {\n bgColor: 'background.danger.contrast',\n color: 'text.contrast',\n },\n maxElement: {\n bgColor: 'text.contrast',\n },\n },\n};\n\nconst notificationCounterSizeStyles: Record<\n NotificationCounterSize,\n Record<NotificationCounterSlot, SystemStyleObject>\n> = {\n xs: {\n root: {\n fontSize: '8px',\n height: 3,\n width: 3,\n },\n maxElement: {\n height: '1px',\n width: '1px',\n },\n },\n sm: {\n root: { fontSize: '10px', height: 4, width: 4 },\n maxElement: {\n height: '2px',\n width: '2px',\n },\n },\n md: {\n root: {\n fontSize: 'xs',\n height: 5,\n width: 5,\n },\n maxElement: {\n height: '3px',\n width: '3px',\n },\n },\n lg: {\n root: {\n fontSize: 'sm',\n height: 6,\n width: 6,\n },\n maxElement: {\n height: 1,\n width: 1,\n },\n },\n};\n\nexport const notificationCounterRecipe = defineSlotRecipe({\n slots: notificationCounterSlots,\n base: {\n root: {\n alignItems: 'center',\n border: '1px',\n borderColor: 'background',\n borderRadius: 'full',\n fontWeight: 'semibold',\n justifyContent: 'center',\n },\n maxElement: {\n borderRadius: 'full',\n },\n },\n variants: {\n size: notificationCounterSizeStyles,\n variant: notificationCounterVariantStyles,\n },\n defaultVariants: {\n size: 'md',\n variant: 'red',\n },\n});\n","import { SpinnerSize } from 'components/Spinner/spinner.types';\nimport { NotificationCounterSize, NotificationCounterVariant } from './notificationCounter.types';\nimport { TypographyVariant } from 'shared/types';\n\nexport const MAX_COUNT = 99;\n\nexport const notificationCounterSpinnerSize: Record<NotificationCounterSize, SpinnerSize | null> = {\n xs: null, // The xs size doesn't show a spinner\n sm: 'xs',\n md: 'xs',\n lg: 'sm',\n};\n\nexport const spinnerVariantToNotificationCounterVariant: Record<NotificationCounterVariant, TypographyVariant> = {\n red: 'dangerOnContrast',\n blue: 'interactiveOnContrast',\n green: 'brandOnContrast',\n neutral: 'subtleOnContrast',\n};\n","import React, { useMemo } from 'react';\nimport { Flex, FlexProps } from '@chakra-ui/react/flex';\nimport { NotificationCounterSize, NotificationCounterVariant } from './notificationCounter.types';\nimport { useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { notificationCounterRecipe } from './notificationCounter.recipe';\nimport {\n MAX_COUNT,\n notificationCounterSpinnerSize,\n spinnerVariantToNotificationCounterVariant,\n} from './notificationCounter.records';\nimport { Spinner } from 'components/Spinner/spinner.component';\nimport { Box } from '@chakra-ui/react/box';\n\nexport interface NotificationCounterProps extends FlexProps {\n /** Value of the notification counter. If count is greater than 99, the count will be hidden and a special indicator will take its place. */\n count?: number;\n /** If true, the notification counter will show a spinner.\n * @default false\n */\n loading?: boolean;\n /** Whether or not to show the counter label. If the size is xs, by default the count label won't be shown.\n * @default true\n */\n showCount?: boolean;\n /** Size of the notification counter\n * @default md\n */\n size?: NotificationCounterSize;\n /** Color variant for the notification counter\n * @default red\n */\n variant?: NotificationCounterVariant;\n /** Data test id for the notification counter.\n * @default kibble-notification-counter\n */\n 'data-testid'?: string;\n}\n\nexport const NotificationCounter = ({\n count,\n loading = false,\n showCount = true,\n size = 'md',\n variant = 'red',\n ['data-testid']: dataTestId = 'kibble-notification-counter',\n ...rest\n}: NotificationCounterProps): React.JSX.Element => {\n const recipe = useSlotRecipe({ recipe: notificationCounterRecipe });\n const styles = recipe({ size, variant });\n const shouldShowCount = size !== 'xs' && showCount;\n\n const counterContent = useMemo(() => {\n const _spinnerSize = notificationCounterSpinnerSize[size];\n const _spinnerVariant = spinnerVariantToNotificationCounterVariant[variant];\n\n if (loading && !!_spinnerSize) return <Spinner variant={_spinnerVariant} size={_spinnerSize} />;\n\n if (count == null) return null; // Handle undefined or null count\n\n if (count > MAX_COUNT) return <Box css={styles.maxElement} />;\n\n return count;\n }, [size, variant, loading, count, styles.maxElement]);\n\n return (\n <Flex className=\"NotificationCounter\" data-testid={dataTestId} css={styles.root} {...rest}>\n {shouldShowCount && counterContent}\n </Flex>\n );\n};\n"],"names":["notificationCounterSlots","notificationCounterVariantStyles","notificationCounterSizeStyles","notificationCounterRecipe","defineSlotRecipe","MAX_COUNT","notificationCounterSpinnerSize","spinnerVariantToNotificationCounterVariant","NotificationCounter","count","loading","showCount","size","variant","dataTestId","rest","styles","useSlotRecipe","shouldShowCount","counterContent","useMemo","_spinnerSize","_spinnerVariant","Spinner","Box","jsx","Flex"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { j as e } from "./jsx-runtime-C5mzlN2N.js";
|
|
2
2
|
import F, { forwardRef as a, useId as L } from "react";
|
|
3
3
|
import { B as W } from "./index-9BerxEcw.js";
|
|
4
|
-
import { w as q } from "./withFormControl-
|
|
4
|
+
import { w as q } from "./withFormControl-BDEeuT0h.js";
|
|
5
5
|
import { I } from "./icon.component-PV_nHBId.js";
|
|
6
6
|
import { I as B } from "./input-group-CFelIL63.js";
|
|
7
7
|
import { c as M } from "./create-slot-recipe-context-D_FXDJGp.js";
|
|
@@ -224,4 +224,4 @@ const ge = q(D);
|
|
|
224
224
|
export {
|
|
225
225
|
ge as W
|
|
226
226
|
};
|
|
227
|
-
//# sourceMappingURL=numberInput.component-
|
|
227
|
+
//# sourceMappingURL=numberInput.component-CcYDFacQ.js.map
|
package/dist/chunks/{numberInput.component-D2lVvZHf.js.map → numberInput.component-CcYDFacQ.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"numberInput.component-D2lVvZHf.js","sources":["../../node_modules/@ark-ui/react/dist/components/number-input/use-number-input-context.js","../../node_modules/@ark-ui/react/dist/components/number-input/number-input-context.js","../../node_modules/@ark-ui/react/dist/components/number-input/number-input-control.js","../../node_modules/@ark-ui/react/dist/components/number-input/number-input-decrement-trigger.js","../../node_modules/@ark-ui/react/dist/components/number-input/number-input-increment-trigger.js","../../node_modules/@ark-ui/react/dist/components/number-input/number-input-input.js","../../node_modules/@ark-ui/react/dist/components/number-input/number-input-label.js","../../node_modules/@ark-ui/react/dist/components/number-input/use-number-input.js","../../node_modules/@ark-ui/react/dist/components/number-input/number-input-root.js","../../node_modules/@ark-ui/react/dist/components/number-input/number-input-root-provider.js","../../node_modules/@ark-ui/react/dist/components/number-input/number-input-scrubber.js","../../node_modules/@ark-ui/react/dist/components/number-input/number-input-value-text.js","../../node_modules/@chakra-ui/react/dist/esm/components/number-input/number-input.js","../../src/components/NumberInput/numberInput.component.tsx"],"sourcesContent":["'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [NumberInputProvider, useNumberInputContext] = createContext({\n name: \"NumberInputContext\",\n hookName: \"useNumberInputContext\",\n providerName: \"<NumberInputProvider />\"\n});\n\nexport { NumberInputProvider, useNumberInputContext };\n","'use client';\nimport { useNumberInputContext } from './use-number-input-context.js';\n\nconst NumberInputContext = (props) => props.children(useNumberInputContext());\n\nexport { NumberInputContext };\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 { useNumberInputContext } from './use-number-input-context.js';\n\nconst NumberInputControl = forwardRef((props, ref) => {\n const numberInput = useNumberInputContext();\n const mergedProps = mergeProps(numberInput.getControlProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nNumberInputControl.displayName = \"NumberInputControl\";\n\nexport { NumberInputControl };\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 { useNumberInputContext } from './use-number-input-context.js';\n\nconst NumberInputDecrementTrigger = forwardRef(\n (props, ref) => {\n const numberInput = useNumberInputContext();\n const mergedProps = mergeProps(numberInput.getDecrementTriggerProps(), props);\n return /* @__PURE__ */ jsx(ark.button, { ...mergedProps, ref });\n }\n);\nNumberInputDecrementTrigger.displayName = \"NumberInputDecrementTrigger\";\n\nexport { NumberInputDecrementTrigger };\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 { useNumberInputContext } from './use-number-input-context.js';\n\nconst NumberInputIncrementTrigger = forwardRef(\n (props, ref) => {\n const numberInput = useNumberInputContext();\n const mergedProps = mergeProps(numberInput.getIncrementTriggerProps(), props);\n return /* @__PURE__ */ jsx(ark.button, { ...mergedProps, ref });\n }\n);\nNumberInputIncrementTrigger.displayName = \"NumberInputIncrementTrigger\";\n\nexport { NumberInputIncrementTrigger };\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 { useFieldContext } from '../field/use-field-context.js';\nimport { useNumberInputContext } from './use-number-input-context.js';\n\nconst NumberInputInput = forwardRef((props, ref) => {\n const numberInput = useNumberInputContext();\n const mergedProps = mergeProps(numberInput.getInputProps(), props);\n const field = useFieldContext();\n return /* @__PURE__ */ jsx(ark.input, { \"aria-describedby\": field?.ariaDescribedby, ...mergedProps, ref });\n});\nNumberInputInput.displayName = \"NumberInputInput\";\n\nexport { NumberInputInput };\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 { useNumberInputContext } from './use-number-input-context.js';\n\nconst NumberInputLabel = forwardRef((props, ref) => {\n const numberInput = useNumberInputContext();\n const mergedProps = mergeProps(numberInput.getLabelProps(), props);\n return /* @__PURE__ */ jsx(ark.label, { ...mergedProps, ref });\n});\nNumberInputLabel.displayName = \"NumberInputLabel\";\n\nexport { NumberInputLabel };\n","'use client';\nimport * as numberInput from '@zag-js/number-input';\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';\nimport { useFieldContext } from '../field/use-field-context.js';\n\nconst useNumberInput = (props) => {\n const id = useId();\n const { getRootNode } = useEnvironmentContext();\n const { dir, locale } = useLocaleContext();\n const field = useFieldContext();\n const machineProps = {\n id,\n ids: {\n label: field?.ids.label,\n input: field?.ids.control\n },\n disabled: field?.disabled,\n readOnly: field?.readOnly,\n required: field?.required,\n invalid: field?.invalid,\n dir,\n locale,\n getRootNode,\n ...props\n };\n const service = useMachine(numberInput.machine, machineProps);\n return numberInput.connect(service, normalizeProps);\n};\n\nexport { useNumberInput };\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 { useNumberInput } from './use-number-input.js';\nimport { NumberInputProvider } from './use-number-input-context.js';\n\nconst NumberInputRoot = forwardRef((props, ref) => {\n const [useNumberInputProps, localProps] = createSplitProps()(props, [\n \"allowMouseWheel\",\n \"allowOverflow\",\n \"clampValueOnBlur\",\n \"defaultValue\",\n \"disabled\",\n \"focusInputOnChange\",\n \"form\",\n \"formatOptions\",\n \"id\",\n \"ids\",\n \"inputMode\",\n \"invalid\",\n \"locale\",\n \"max\",\n \"min\",\n \"name\",\n \"onFocusChange\",\n \"onValueChange\",\n \"onValueInvalid\",\n \"pattern\",\n \"readOnly\",\n \"required\",\n \"spinOnPress\",\n \"step\",\n \"translations\",\n \"value\"\n ]);\n const numberInput = useNumberInput(useNumberInputProps);\n const mergedProps = mergeProps(numberInput.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(NumberInputProvider, { value: numberInput, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nNumberInputRoot.displayName = \"NumberInputRoot\";\n\nexport { NumberInputRoot };\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 { NumberInputProvider } from './use-number-input-context.js';\n\nconst NumberInputRootProvider = forwardRef((props, ref) => {\n const [{ value: numberInput }, localProps] = createSplitProps()(props, [\"value\"]);\n const mergedProps = mergeProps(numberInput.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(NumberInputProvider, { value: numberInput, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nNumberInputRootProvider.displayName = \"NumberInputRootProvider\";\n\nexport { NumberInputRootProvider };\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 { useNumberInputContext } from './use-number-input-context.js';\n\nconst NumberInputScrubber = forwardRef((props, ref) => {\n const numberInput = useNumberInputContext();\n const mergedProps = mergeProps(numberInput.getScrubberProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nNumberInputScrubber.displayName = \"NumberInputScrubber\";\n\nexport { NumberInputScrubber };\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 { useNumberInputContext } from './use-number-input-context.js';\n\nconst NumberInputValueText = forwardRef((props, ref) => {\n const { children, ...localProps } = props;\n const numberInput = useNumberInputContext();\n const mergedProps = mergeProps(numberInput.getValueTextProps(), localProps);\n return /* @__PURE__ */ jsx(ark.span, { ...mergedProps, ref, children: children || numberInput.value });\n});\nNumberInputValueText.displayName = \"NumberInputValueText\";\n\nexport { NumberInputValueText };\n","\"use strict\";\n\"use client\";\nimport { jsx, jsxs, Fragment } from 'react/jsx-runtime';\nimport { NumberInput } from '@ark-ui/react/number-input';\nimport { createSlotRecipeContext } from '../../styled-system/create-slot-recipe-context.js';\nimport { ChevronUpIcon, ChevronDownIcon } from '../icons.js';\n\nconst {\n withProvider,\n withContext,\n useStyles: useNumberInputStyles,\n PropsProvider\n} = createSlotRecipeContext({ key: \"numberInput\" });\nconst NumberInputRootProvider = withProvider(NumberInput.RootProvider, \"root\", { forwardAsChild: true });\nconst NumberInputRoot = withProvider(NumberInput.Root, \"root\", { forwardAsChild: true });\nconst NumberInputPropsProvider = PropsProvider;\nconst NumberInputLabel = withContext(NumberInput.Label, \"label\", { forwardAsChild: true });\nconst NumberInputInput = withContext(NumberInput.Input, \"input\", { forwardAsChild: true });\nconst NumberInputIncrementTrigger = withContext(NumberInput.IncrementTrigger, \"incrementTrigger\", {\n forwardAsChild: true,\n defaultProps: { children: /* @__PURE__ */ jsx(ChevronUpIcon, {}) }\n});\nconst NumberInputDecrementTrigger = withContext(NumberInput.DecrementTrigger, \"decrementTrigger\", {\n forwardAsChild: true,\n defaultProps: { children: /* @__PURE__ */ jsx(ChevronDownIcon, {}) }\n});\nconst NumberInputControl = withContext(NumberInput.Control, \"control\", {\n forwardAsChild: true,\n defaultProps: {\n children: /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(NumberInputIncrementTrigger, {}),\n /* @__PURE__ */ jsx(NumberInputDecrementTrigger, {})\n ] })\n }\n});\nconst NumberInputScrubber = withContext(NumberInput.Scrubber, \"scrubber\", { forwardAsChild: true });\nconst NumberInputValueText = withContext(NumberInput.ValueText, \"valueText\", { forwardAsChild: true });\nconst NumberInputContext = NumberInput.Context;\n\nexport { NumberInputContext, NumberInputControl, NumberInputDecrementTrigger, NumberInputIncrementTrigger, NumberInputInput, NumberInputLabel, NumberInputPropsProvider, NumberInputRoot, NumberInputRootProvider, NumberInputScrubber, NumberInputValueText, useNumberInputStyles };\n","import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { withFormControl, WithFormControlProps } from 'hocs/withFormControl/withFormControl';\nimport {\n NumberInput as CNumberInput,\n NumberInputRootProps as CNumberInputRootProps,\n NumberInputValueChangeDetails,\n} from '@chakra-ui/react/number-input';\nimport { InputGroup } from '@chakra-ui/react/input-group';\nimport { FormControlSize } from 'hocs/withFormControl/withFormControl.types';\nimport { Icon } from 'components/Icon/icon.component';\n\nexport interface NumberInputProps extends WithFormControlProps, CNumberInputRootProps {\n /** Ref to the number input element. */\n inputRef?: React.Ref<HTMLInputElement | null>;\n /** Left addon element. */\n leftAddon?: React.ReactNode;\n /** Left element inside the input. */\n leftElement?: React.ReactNode;\n /**\n * If true, the input will render a contrasting variant.\n * @default false\n */\n onContrast?: boolean;\n /** Placeholder text for the number input field. */\n placeholder?: string;\n /** Right addon element. */\n rightAddon?: React.ReactNode;\n /** Right element inside the input. */\n rightElement?: React.ReactNode;\n /**\n * If true, the input will show the increment and decrement buttons.\n * @default false\n */\n showControls?: boolean;\n /** Size of the number input.\n * @default md\n */\n size?: FormControlSize;\n /** Data test id for the number input.\n * @default kibble-number-input\n */\n 'data-testid'?: string;\n /** Callback function when the input value changes. */\n onValueChange?: (details: NumberInputValueChangeDetails) => void;\n}\n\nconst NumberInput = React.forwardRef<HTMLInputElement, NumberInputProps>(\n (\n {\n disabled = false,\n inputRef,\n leftAddon,\n leftElement,\n onContrast,\n placeholder,\n rightAddon,\n rightElement,\n showControls = false,\n size = 'md',\n value,\n ['data-testid']: dataTestId = 'kibble-number-input',\n ...rest\n },\n ref,\n ): React.JSX.Element => {\n return (\n <Box className=\"NumberInput__Wrapper\" position=\"relative\" w=\"100%\">\n <CNumberInput.Root\n className=\"NumberInput\"\n data-testid={dataTestId}\n ref={ref}\n value={value}\n size={size}\n disabled={disabled}\n variant={onContrast ? 'onContrast' : 'default'}\n {...rest}\n >\n <InputGroup\n className=\"NumberInput__InputGroup\"\n data-testid={`${dataTestId}-input-group`}\n startElement={leftElement}\n startElementProps={{\n color: 'inherit',\n _groupDisabled: { opacity: 0.6 },\n }}\n endElement={rightElement}\n endElementProps={{\n color: 'inherit',\n paddingInline: 1.5,\n _groupDisabled: { opacity: 0.6 },\n }}\n startAddon={leftAddon}\n endAddon={rightAddon}\n >\n <CNumberInput.Input\n className=\"NumberInput__Input\"\n data-testid={`${dataTestId}-input`}\n ref={inputRef}\n placeholder={placeholder}\n />\n </InputGroup>\n <CNumberInput.Context>\n {(context) => (\n <input\n className=\"NumberInput__HiddenInput\"\n data-testid={`${dataTestId}-hidden-input`}\n type=\"hidden\"\n name=\"amount\"\n value={context.valueAsNumber}\n />\n )}\n </CNumberInput.Context>\n {showControls && (\n <CNumberInput.Control className=\"NumberInput__Control\" data-testid={`${dataTestId}-control`}>\n <CNumberInput.IncrementTrigger\n className=\"NumberInput__IncrementTrigger\"\n data-testid={`${dataTestId}-increment-trigger`}\n >\n <Icon name=\"chevronUp\" variant={onContrast ? 'onContrast' : 'default'} />\n </CNumberInput.IncrementTrigger>\n <CNumberInput.DecrementTrigger\n className=\"NumberInput__DecrementTrigger\"\n data-testid={`${dataTestId}-decrement-trigger`}\n >\n <Icon name=\"chevronDown\" variant={onContrast ? 'onContrast' : 'default'} />\n </CNumberInput.DecrementTrigger>\n </CNumberInput.Control>\n )}\n </CNumberInput.Root>\n </Box>\n );\n },\n);\n\nNumberInput.displayName = 'NumberInput';\nconst WrappedNumberInput = withFormControl<NumberInputProps>(NumberInput);\n\nexport { WrappedNumberInput as NumberInput };\n"],"names":["NumberInputProvider","useNumberInputContext","createContext","NumberInputContext","props","NumberInputControl","forwardRef","ref","numberInput","mergedProps","mergeProps","jsx","ark","NumberInputDecrementTrigger","NumberInputIncrementTrigger","NumberInputInput","field","useFieldContext","NumberInputLabel","useNumberInput","id","useId","getRootNode","useEnvironmentContext","dir","locale","useLocaleContext","machineProps","service","useMachine","numberInput.machine","numberInput.connect","normalizeProps","NumberInputRoot","useNumberInputProps","localProps","createSplitProps","NumberInputRootProvider","NumberInputScrubber","NumberInputValueText","children","withProvider","withContext","createSlotRecipeContext","NumberInput.RootProvider","NumberInput.Root","NumberInput.Label","NumberInput.Input","NumberInput.IncrementTrigger","ChevronUpIcon","NumberInput.DecrementTrigger","ChevronDownIcon","NumberInput.Control","jsxs","Fragment","NumberInput.Scrubber","NumberInput.ValueText","NumberInput.Context","NumberInput","React","disabled","inputRef","leftAddon","leftElement","onContrast","placeholder","rightAddon","rightElement","showControls","size","value","dataTestId","rest","Box","CNumberInput.Root","InputGroup","CNumberInput.Input","CNumberInput.Context","context","CNumberInput.Control","CNumberInput.IncrementTrigger","Icon","CNumberInput.DecrementTrigger","WrappedNumberInput","withFormControl"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12]}
|
|
1
|
+
{"version":3,"file":"numberInput.component-CcYDFacQ.js","sources":["../../node_modules/@ark-ui/react/dist/components/number-input/use-number-input-context.js","../../node_modules/@ark-ui/react/dist/components/number-input/number-input-context.js","../../node_modules/@ark-ui/react/dist/components/number-input/number-input-control.js","../../node_modules/@ark-ui/react/dist/components/number-input/number-input-decrement-trigger.js","../../node_modules/@ark-ui/react/dist/components/number-input/number-input-increment-trigger.js","../../node_modules/@ark-ui/react/dist/components/number-input/number-input-input.js","../../node_modules/@ark-ui/react/dist/components/number-input/number-input-label.js","../../node_modules/@ark-ui/react/dist/components/number-input/use-number-input.js","../../node_modules/@ark-ui/react/dist/components/number-input/number-input-root.js","../../node_modules/@ark-ui/react/dist/components/number-input/number-input-root-provider.js","../../node_modules/@ark-ui/react/dist/components/number-input/number-input-scrubber.js","../../node_modules/@ark-ui/react/dist/components/number-input/number-input-value-text.js","../../node_modules/@chakra-ui/react/dist/esm/components/number-input/number-input.js","../../src/components/NumberInput/numberInput.component.tsx"],"sourcesContent":["'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [NumberInputProvider, useNumberInputContext] = createContext({\n name: \"NumberInputContext\",\n hookName: \"useNumberInputContext\",\n providerName: \"<NumberInputProvider />\"\n});\n\nexport { NumberInputProvider, useNumberInputContext };\n","'use client';\nimport { useNumberInputContext } from './use-number-input-context.js';\n\nconst NumberInputContext = (props) => props.children(useNumberInputContext());\n\nexport { NumberInputContext };\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 { useNumberInputContext } from './use-number-input-context.js';\n\nconst NumberInputControl = forwardRef((props, ref) => {\n const numberInput = useNumberInputContext();\n const mergedProps = mergeProps(numberInput.getControlProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nNumberInputControl.displayName = \"NumberInputControl\";\n\nexport { NumberInputControl };\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 { useNumberInputContext } from './use-number-input-context.js';\n\nconst NumberInputDecrementTrigger = forwardRef(\n (props, ref) => {\n const numberInput = useNumberInputContext();\n const mergedProps = mergeProps(numberInput.getDecrementTriggerProps(), props);\n return /* @__PURE__ */ jsx(ark.button, { ...mergedProps, ref });\n }\n);\nNumberInputDecrementTrigger.displayName = \"NumberInputDecrementTrigger\";\n\nexport { NumberInputDecrementTrigger };\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 { useNumberInputContext } from './use-number-input-context.js';\n\nconst NumberInputIncrementTrigger = forwardRef(\n (props, ref) => {\n const numberInput = useNumberInputContext();\n const mergedProps = mergeProps(numberInput.getIncrementTriggerProps(), props);\n return /* @__PURE__ */ jsx(ark.button, { ...mergedProps, ref });\n }\n);\nNumberInputIncrementTrigger.displayName = \"NumberInputIncrementTrigger\";\n\nexport { NumberInputIncrementTrigger };\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 { useFieldContext } from '../field/use-field-context.js';\nimport { useNumberInputContext } from './use-number-input-context.js';\n\nconst NumberInputInput = forwardRef((props, ref) => {\n const numberInput = useNumberInputContext();\n const mergedProps = mergeProps(numberInput.getInputProps(), props);\n const field = useFieldContext();\n return /* @__PURE__ */ jsx(ark.input, { \"aria-describedby\": field?.ariaDescribedby, ...mergedProps, ref });\n});\nNumberInputInput.displayName = \"NumberInputInput\";\n\nexport { NumberInputInput };\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 { useNumberInputContext } from './use-number-input-context.js';\n\nconst NumberInputLabel = forwardRef((props, ref) => {\n const numberInput = useNumberInputContext();\n const mergedProps = mergeProps(numberInput.getLabelProps(), props);\n return /* @__PURE__ */ jsx(ark.label, { ...mergedProps, ref });\n});\nNumberInputLabel.displayName = \"NumberInputLabel\";\n\nexport { NumberInputLabel };\n","'use client';\nimport * as numberInput from '@zag-js/number-input';\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';\nimport { useFieldContext } from '../field/use-field-context.js';\n\nconst useNumberInput = (props) => {\n const id = useId();\n const { getRootNode } = useEnvironmentContext();\n const { dir, locale } = useLocaleContext();\n const field = useFieldContext();\n const machineProps = {\n id,\n ids: {\n label: field?.ids.label,\n input: field?.ids.control\n },\n disabled: field?.disabled,\n readOnly: field?.readOnly,\n required: field?.required,\n invalid: field?.invalid,\n dir,\n locale,\n getRootNode,\n ...props\n };\n const service = useMachine(numberInput.machine, machineProps);\n return numberInput.connect(service, normalizeProps);\n};\n\nexport { useNumberInput };\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 { useNumberInput } from './use-number-input.js';\nimport { NumberInputProvider } from './use-number-input-context.js';\n\nconst NumberInputRoot = forwardRef((props, ref) => {\n const [useNumberInputProps, localProps] = createSplitProps()(props, [\n \"allowMouseWheel\",\n \"allowOverflow\",\n \"clampValueOnBlur\",\n \"defaultValue\",\n \"disabled\",\n \"focusInputOnChange\",\n \"form\",\n \"formatOptions\",\n \"id\",\n \"ids\",\n \"inputMode\",\n \"invalid\",\n \"locale\",\n \"max\",\n \"min\",\n \"name\",\n \"onFocusChange\",\n \"onValueChange\",\n \"onValueInvalid\",\n \"pattern\",\n \"readOnly\",\n \"required\",\n \"spinOnPress\",\n \"step\",\n \"translations\",\n \"value\"\n ]);\n const numberInput = useNumberInput(useNumberInputProps);\n const mergedProps = mergeProps(numberInput.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(NumberInputProvider, { value: numberInput, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nNumberInputRoot.displayName = \"NumberInputRoot\";\n\nexport { NumberInputRoot };\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 { NumberInputProvider } from './use-number-input-context.js';\n\nconst NumberInputRootProvider = forwardRef((props, ref) => {\n const [{ value: numberInput }, localProps] = createSplitProps()(props, [\"value\"]);\n const mergedProps = mergeProps(numberInput.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(NumberInputProvider, { value: numberInput, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nNumberInputRootProvider.displayName = \"NumberInputRootProvider\";\n\nexport { NumberInputRootProvider };\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 { useNumberInputContext } from './use-number-input-context.js';\n\nconst NumberInputScrubber = forwardRef((props, ref) => {\n const numberInput = useNumberInputContext();\n const mergedProps = mergeProps(numberInput.getScrubberProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nNumberInputScrubber.displayName = \"NumberInputScrubber\";\n\nexport { NumberInputScrubber };\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 { useNumberInputContext } from './use-number-input-context.js';\n\nconst NumberInputValueText = forwardRef((props, ref) => {\n const { children, ...localProps } = props;\n const numberInput = useNumberInputContext();\n const mergedProps = mergeProps(numberInput.getValueTextProps(), localProps);\n return /* @__PURE__ */ jsx(ark.span, { ...mergedProps, ref, children: children || numberInput.value });\n});\nNumberInputValueText.displayName = \"NumberInputValueText\";\n\nexport { NumberInputValueText };\n","\"use strict\";\n\"use client\";\nimport { jsx, jsxs, Fragment } from 'react/jsx-runtime';\nimport { NumberInput } from '@ark-ui/react/number-input';\nimport { createSlotRecipeContext } from '../../styled-system/create-slot-recipe-context.js';\nimport { ChevronUpIcon, ChevronDownIcon } from '../icons.js';\n\nconst {\n withProvider,\n withContext,\n useStyles: useNumberInputStyles,\n PropsProvider\n} = createSlotRecipeContext({ key: \"numberInput\" });\nconst NumberInputRootProvider = withProvider(NumberInput.RootProvider, \"root\", { forwardAsChild: true });\nconst NumberInputRoot = withProvider(NumberInput.Root, \"root\", { forwardAsChild: true });\nconst NumberInputPropsProvider = PropsProvider;\nconst NumberInputLabel = withContext(NumberInput.Label, \"label\", { forwardAsChild: true });\nconst NumberInputInput = withContext(NumberInput.Input, \"input\", { forwardAsChild: true });\nconst NumberInputIncrementTrigger = withContext(NumberInput.IncrementTrigger, \"incrementTrigger\", {\n forwardAsChild: true,\n defaultProps: { children: /* @__PURE__ */ jsx(ChevronUpIcon, {}) }\n});\nconst NumberInputDecrementTrigger = withContext(NumberInput.DecrementTrigger, \"decrementTrigger\", {\n forwardAsChild: true,\n defaultProps: { children: /* @__PURE__ */ jsx(ChevronDownIcon, {}) }\n});\nconst NumberInputControl = withContext(NumberInput.Control, \"control\", {\n forwardAsChild: true,\n defaultProps: {\n children: /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(NumberInputIncrementTrigger, {}),\n /* @__PURE__ */ jsx(NumberInputDecrementTrigger, {})\n ] })\n }\n});\nconst NumberInputScrubber = withContext(NumberInput.Scrubber, \"scrubber\", { forwardAsChild: true });\nconst NumberInputValueText = withContext(NumberInput.ValueText, \"valueText\", { forwardAsChild: true });\nconst NumberInputContext = NumberInput.Context;\n\nexport { NumberInputContext, NumberInputControl, NumberInputDecrementTrigger, NumberInputIncrementTrigger, NumberInputInput, NumberInputLabel, NumberInputPropsProvider, NumberInputRoot, NumberInputRootProvider, NumberInputScrubber, NumberInputValueText, useNumberInputStyles };\n","import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { withFormControl, WithFormControlProps } from 'hocs/withFormControl/withFormControl';\nimport {\n NumberInput as CNumberInput,\n NumberInputRootProps as CNumberInputRootProps,\n NumberInputValueChangeDetails,\n} from '@chakra-ui/react/number-input';\nimport { InputGroup } from '@chakra-ui/react/input-group';\nimport { FormControlSize } from 'hocs/withFormControl/withFormControl.types';\nimport { Icon } from 'components/Icon/icon.component';\n\nexport interface NumberInputProps extends WithFormControlProps, CNumberInputRootProps {\n /** Ref to the number input element. */\n inputRef?: React.Ref<HTMLInputElement | null>;\n /** Left addon element. */\n leftAddon?: React.ReactNode;\n /** Left element inside the input. */\n leftElement?: React.ReactNode;\n /**\n * If true, the input will render a contrasting variant.\n * @default false\n */\n onContrast?: boolean;\n /** Placeholder text for the number input field. */\n placeholder?: string;\n /** Right addon element. */\n rightAddon?: React.ReactNode;\n /** Right element inside the input. */\n rightElement?: React.ReactNode;\n /**\n * If true, the input will show the increment and decrement buttons.\n * @default false\n */\n showControls?: boolean;\n /** Size of the number input.\n * @default md\n */\n size?: FormControlSize;\n /** Data test id for the number input.\n * @default kibble-number-input\n */\n 'data-testid'?: string;\n /** Callback function when the input value changes. */\n onValueChange?: (details: NumberInputValueChangeDetails) => void;\n}\n\nconst NumberInput = React.forwardRef<HTMLInputElement, NumberInputProps>(\n (\n {\n disabled = false,\n inputRef,\n leftAddon,\n leftElement,\n onContrast,\n placeholder,\n rightAddon,\n rightElement,\n showControls = false,\n size = 'md',\n value,\n ['data-testid']: dataTestId = 'kibble-number-input',\n ...rest\n },\n ref,\n ): React.JSX.Element => {\n return (\n <Box className=\"NumberInput__Wrapper\" position=\"relative\" w=\"100%\">\n <CNumberInput.Root\n className=\"NumberInput\"\n data-testid={dataTestId}\n ref={ref}\n value={value}\n size={size}\n disabled={disabled}\n variant={onContrast ? 'onContrast' : 'default'}\n {...rest}\n >\n <InputGroup\n className=\"NumberInput__InputGroup\"\n data-testid={`${dataTestId}-input-group`}\n startElement={leftElement}\n startElementProps={{\n color: 'inherit',\n _groupDisabled: { opacity: 0.6 },\n }}\n endElement={rightElement}\n endElementProps={{\n color: 'inherit',\n paddingInline: 1.5,\n _groupDisabled: { opacity: 0.6 },\n }}\n startAddon={leftAddon}\n endAddon={rightAddon}\n >\n <CNumberInput.Input\n className=\"NumberInput__Input\"\n data-testid={`${dataTestId}-input`}\n ref={inputRef}\n placeholder={placeholder}\n />\n </InputGroup>\n <CNumberInput.Context>\n {(context) => (\n <input\n className=\"NumberInput__HiddenInput\"\n data-testid={`${dataTestId}-hidden-input`}\n type=\"hidden\"\n name=\"amount\"\n value={context.valueAsNumber}\n />\n )}\n </CNumberInput.Context>\n {showControls && (\n <CNumberInput.Control className=\"NumberInput__Control\" data-testid={`${dataTestId}-control`}>\n <CNumberInput.IncrementTrigger\n className=\"NumberInput__IncrementTrigger\"\n data-testid={`${dataTestId}-increment-trigger`}\n >\n <Icon name=\"chevronUp\" variant={onContrast ? 'onContrast' : 'default'} />\n </CNumberInput.IncrementTrigger>\n <CNumberInput.DecrementTrigger\n className=\"NumberInput__DecrementTrigger\"\n data-testid={`${dataTestId}-decrement-trigger`}\n >\n <Icon name=\"chevronDown\" variant={onContrast ? 'onContrast' : 'default'} />\n </CNumberInput.DecrementTrigger>\n </CNumberInput.Control>\n )}\n </CNumberInput.Root>\n </Box>\n );\n },\n);\n\nNumberInput.displayName = 'NumberInput';\nconst WrappedNumberInput = withFormControl<NumberInputProps>(NumberInput);\n\nexport { WrappedNumberInput as NumberInput };\n"],"names":["NumberInputProvider","useNumberInputContext","createContext","NumberInputContext","props","NumberInputControl","forwardRef","ref","numberInput","mergedProps","mergeProps","jsx","ark","NumberInputDecrementTrigger","NumberInputIncrementTrigger","NumberInputInput","field","useFieldContext","NumberInputLabel","useNumberInput","id","useId","getRootNode","useEnvironmentContext","dir","locale","useLocaleContext","machineProps","service","useMachine","numberInput.machine","numberInput.connect","normalizeProps","NumberInputRoot","useNumberInputProps","localProps","createSplitProps","NumberInputRootProvider","NumberInputScrubber","NumberInputValueText","children","withProvider","withContext","createSlotRecipeContext","NumberInput.RootProvider","NumberInput.Root","NumberInput.Label","NumberInput.Input","NumberInput.IncrementTrigger","ChevronUpIcon","NumberInput.DecrementTrigger","ChevronDownIcon","NumberInput.Control","jsxs","Fragment","NumberInput.Scrubber","NumberInput.ValueText","NumberInput.Context","NumberInput","React","disabled","inputRef","leftAddon","leftElement","onContrast","placeholder","rightAddon","rightElement","showControls","size","value","dataTestId","rest","Box","CNumberInput.Root","InputGroup","CNumberInput.Input","CNumberInput.Context","context","CNumberInput.Control","CNumberInput.IncrementTrigger","Icon","CNumberInput.DecrementTrigger","WrappedNumberInput","withFormControl"],"mappings":";;;;;;;;;;;;AAGA,MAAM,CAACA,GAAqBC,CAAqB,IAAIC,EAAc;AAAA,EACjE,MAAM;AAAA,EACN,UAAU;AAAA,EACV,cAAc;AAChB,CAAC,GCJKC,IAAqB,CAACC,MAAUA,EAAM,SAASH,EAAqB,CAAE,GCItEI,IAAqBC,EAAW,CAACF,GAAOG,MAAQ;AACpD,QAAMC,IAAcP,EAAuB,GACrCQ,IAAcC,EAAWF,EAAY,gBAAe,GAAIJ,CAAK;AACnE,SAAuBO,gBAAAA,EAAAA,IAAIC,EAAI,KAAK,EAAE,GAAGH,GAAa,KAAAF,GAAK;AAC7D,CAAC;AACDF,EAAmB,cAAc;ACLjC,MAAMQ,IAA8BP;AAAA,EAClC,CAACF,GAAOG,MAAQ;AACd,UAAMC,IAAcP,EAAuB,GACrCQ,IAAcC,EAAWF,EAAY,yBAAwB,GAAIJ,CAAK;AAC5E,WAAuBO,gBAAAA,EAAAA,IAAIC,EAAI,QAAQ,EAAE,GAAGH,GAAa,KAAAF,GAAK;AAAA,EAClE;AACA;AACAM,EAA4B,cAAc;ACP1C,MAAMC,IAA8BR;AAAA,EAClC,CAACF,GAAOG,MAAQ;AACd,UAAMC,IAAcP,EAAuB,GACrCQ,IAAcC,EAAWF,EAAY,yBAAwB,GAAIJ,CAAK;AAC5E,WAAuBO,gBAAAA,EAAAA,IAAIC,EAAI,QAAQ,EAAE,GAAGH,GAAa,KAAAF,GAAK;AAAA,EAClE;AACA;AACAO,EAA4B,cAAc;ACN1C,MAAMC,IAAmBT,EAAW,CAACF,GAAOG,MAAQ;AAClD,QAAMC,IAAcP,EAAuB,GACrCQ,IAAcC,EAAWF,EAAY,cAAa,GAAIJ,CAAK,GAC3DY,IAAQC,EAAiB;AAC/B,SAAuBN,gBAAAA,EAAG,IAACC,EAAI,OAAO,EAAE,oBAAoBI,GAAO,iBAAiB,GAAGP,GAAa,KAAAF,GAAK;AAC3G,CAAC;AACDQ,EAAiB,cAAc;ACP/B,MAAMG,IAAmBZ,EAAW,CAACF,GAAOG,MAAQ;AAClD,QAAMC,IAAcP,EAAuB,GACrCQ,IAAcC,EAAWF,EAAY,cAAa,GAAIJ,CAAK;AACjE,SAAuBO,gBAAAA,EAAAA,IAAIC,EAAI,OAAO,EAAE,GAAGH,GAAa,KAAAF,GAAK;AAC/D,CAAC;AACDW,EAAiB,cAAc;ACJ/B,MAAMC,KAAiB,CAACf,MAAU;AAChC,QAAMgB,IAAKC,EAAO,GACZ,EAAE,aAAAC,EAAa,IAAGC,EAAuB,GACzC,EAAE,KAAAC,GAAK,QAAAC,EAAQ,IAAGC,EAAkB,GACpCV,IAAQC,EAAiB,GACzBU,IAAe;AAAA,IACnB,IAAAP;AAAA,IACA,KAAK;AAAA,MACH,OAAOJ,GAAO,IAAI;AAAA,MAClB,OAAOA,GAAO,IAAI;AAAA,IACnB;AAAA,IACD,UAAUA,GAAO;AAAA,IACjB,UAAUA,GAAO;AAAA,IACjB,UAAUA,GAAO;AAAA,IACjB,SAASA,GAAO;AAAA,IAChB,KAAAQ;AAAA,IACA,QAAAC;AAAA,IACA,aAAAH;AAAA,IACA,GAAGlB;AAAA,EACJ,GACKwB,IAAUC,EAAWC,GAAqBH,CAAY;AAC5D,SAAOI,EAAoBH,GAASI,CAAc;AACpD,GCrBMC,IAAkB3B,EAAW,CAACF,GAAOG,MAAQ;AACjD,QAAM,CAAC2B,GAAqBC,CAAU,IAAIC,EAAgB,EAAGhC,GAAO;AAAA,IAClE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,CAAG,GACKI,IAAcW,GAAee,CAAmB,GAChDzB,IAAcC,EAAWF,EAAY,aAAY,GAAI2B,CAAU;AACrE,SAAuBxB,gBAAAA,EAAG,IAACX,GAAqB,EAAE,OAAOQ,GAAa,UAA0BG,gBAAAA,EAAAA,IAAIC,EAAI,KAAK,EAAE,GAAGH,GAAa,KAAAF,EAAG,CAAE,EAAC,CAAE;AACzI,CAAC;AACD0B,EAAgB,cAAc;AClC9B,MAAMI,IAA0B/B,EAAW,CAACF,GAAOG,MAAQ;AACzD,QAAM,CAAC,EAAE,OAAOC,KAAe2B,CAAU,IAAIC,IAAmBhC,GAAO,CAAC,OAAO,CAAC,GAC1EK,IAAcC,EAAWF,EAAY,aAAY,GAAI2B,CAAU;AACrE,SAAuBxB,gBAAAA,EAAG,IAACX,GAAqB,EAAE,OAAOQ,GAAa,UAA0BG,gBAAAA,EAAAA,IAAIC,EAAI,KAAK,EAAE,GAAGH,GAAa,KAAAF,EAAG,CAAE,EAAC,CAAE;AACzI,CAAC;AACD8B,EAAwB,cAAc;ACNtC,MAAMC,IAAsBhC,EAAW,CAACF,GAAOG,MAAQ;AACrD,QAAMC,IAAcP,EAAuB,GACrCQ,IAAcC,EAAWF,EAAY,iBAAgB,GAAIJ,CAAK;AACpE,SAAuBO,gBAAAA,EAAAA,IAAIC,EAAI,KAAK,EAAE,GAAGH,GAAa,KAAAF,GAAK;AAC7D,CAAC;AACD+B,EAAoB,cAAc;ACLlC,MAAMC,IAAuBjC,EAAW,CAACF,GAAOG,MAAQ;AACtD,QAAM,EAAE,UAAAiC,GAAU,GAAGL,EAAU,IAAK/B,GAC9BI,IAAcP,EAAuB,GACrCQ,IAAcC,EAAWF,EAAY,kBAAiB,GAAI2B,CAAU;AAC1E,SAAuBxB,gBAAAA,MAAIC,EAAI,MAAM,EAAE,GAAGH,GAAa,KAAAF,GAAK,UAAUiC,KAAYhC,EAAY,MAAK,CAAE;AACvG,CAAC;AACD+B,EAAqB,cAAc;ACNnC,MAAM;AAAA,EACJ,cAAAE;AAAA,EACA,aAAAC;AAGF,IAAIC,EAAwB,EAAE,KAAK,cAAa,CAAE;AAClBF,EAAaG,GAA0B,QAAQ,EAAE,gBAAgB,GAAM,CAAA;AACvG,MAAMX,KAAkBQ,EAAaI,GAAkB,QAAQ,EAAE,gBAAgB,IAAM;AAE9DH,EAAYI,GAAmB,SAAS,EAAE,gBAAgB,GAAM,CAAA;AACzF,MAAM/B,KAAmB2B,EAAYK,GAAmB,SAAS,EAAE,gBAAgB,IAAM,GACnFjC,IAA8B4B,EAAYM,GAA8B,oBAAoB;AAAA,EAChG,gBAAgB;AAAA,EAChB,cAAc,EAAE,UAA0BrC,gBAAAA,MAAIsC,GAAe,CAAA,CAAE,EAAC;AAClE,CAAC,GACKpC,IAA8B6B,EAAYQ,GAA8B,oBAAoB;AAAA,EAChG,gBAAgB;AAAA,EAChB,cAAc,EAAE,UAA0BvC,gBAAAA,MAAIwC,GAAiB,CAAA,CAAE,EAAC;AACpE,CAAC,GACK9C,KAAqBqC,EAAYU,GAAqB,WAAW;AAAA,EACrE,gBAAgB;AAAA,EAChB,cAAc;AAAA,IACZ,UAA0BC,gBAAAA,EAAI,KAACC,YAAU,EAAE,UAAU;AAAA,MACnC3C,gBAAAA,EAAG,IAACG,GAA6B,EAAE;AAAA,MACnCH,gBAAAA,EAAG,IAACE,GAA6B,CAAE,CAAA;AAAA,IACzD,EAAO,CAAA;AAAA,EACP;AACA,CAAC;AAC2B6B,EAAYa,GAAsB,YAAY,EAAE,gBAAgB,GAAM,CAAA;AACrEb,EAAYc,GAAuB,aAAa,EAAE,gBAAgB,GAAM,CAAA;AACrG,MAAMrD,KAAqBsD,GCUrBC,IAAcC,EAAM;AAAA,EACxB,CACE;AAAA,IACE,UAAAC,IAAW;AAAA,IACX,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,aAAAC;AAAA,IACA,YAAAC;AAAA,IACA,aAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,cAAAC,IAAe;AAAA,IACf,MAAAC,IAAO;AAAA,IACP,OAAAC;AAAA,IACA,CAAC,gBAAgBC,IAAa;AAAA,IAC9B,GAAGC;AAAA,KAELjE,4BAGGkE,GAAI,EAAA,WAAU,wBAAuB,UAAS,YAAW,GAAE,QAC1D,UAAApB,gBAAAA,EAAA;AAAA,IAACqB;AAAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,eAAaH;AAAA,MACb,KAAAhE;AAAA,MACA,OAAA+D;AAAA,MACA,MAAAD;AAAA,MACA,UAAAT;AAAA,MACA,SAASI,IAAa,eAAe;AAAA,MACpC,GAAGQ;AAAA,MAEJ,UAAA;AAAA,QAAA7D,gBAAAA,EAAA;AAAA,UAACgE;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,eAAa,GAAGJ,CAAU;AAAA,YAC1B,cAAcR;AAAA,YACd,mBAAmB;AAAA,cACjB,OAAO;AAAA,cACP,gBAAgB,EAAE,SAAS,IAAI;AAAA,YACjC;AAAA,YACA,YAAYI;AAAA,YACZ,iBAAiB;AAAA,cACf,OAAO;AAAA,cACP,eAAe;AAAA,cACf,gBAAgB,EAAE,SAAS,IAAI;AAAA,YACjC;AAAA,YACA,YAAYL;AAAA,YACZ,UAAUI;AAAA,YAEV,UAAAvD,gBAAAA,EAAA;AAAA,cAACiE;AAAAA,cAAA;AAAA,gBACC,WAAU;AAAA,gBACV,eAAa,GAAGL,CAAU;AAAA,gBAC1B,KAAKV;AAAA,gBACL,aAAAI;AAAA,cAAA;AAAA,YAAA;AAAA,UACF;AAAA,QACF;AAAA,QACCtD,gBAAAA,EAAAA,IAAAkE,IAAA,EACE,WAACC,MACAnE,gBAAAA,EAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,eAAa,GAAG4D,CAAU;AAAA,YAC1B,MAAK;AAAA,YACL,MAAK;AAAA,YACL,OAAOO,EAAQ;AAAA,UAAA;AAAA,QAAA,GAGrB;AAAA,QACCV,KACEf,gBAAAA,EAAA,KAAA0B,IAAA,EAAqB,WAAU,wBAAuB,eAAa,GAAGR,CAAU,YAC/E,UAAA;AAAA,UAAA5D,gBAAAA,EAAA;AAAA,YAACqE;AAAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,eAAa,GAAGT,CAAU;AAAA,cAE1B,gCAACU,GAAK,EAAA,MAAK,aAAY,SAASjB,IAAa,eAAe,UAAW,CAAA;AAAA,YAAA;AAAA,UACzE;AAAA,UACArD,gBAAAA,EAAA;AAAA,YAACuE;AAAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,eAAa,GAAGX,CAAU;AAAA,cAE1B,gCAACU,GAAK,EAAA,MAAK,eAAc,SAASjB,IAAa,eAAe,UAAW,CAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QAC3E,EACF,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAGN;AAGN;AAEAN,EAAY,cAAc;AACpB,MAAAyB,KAAqBC,EAAkC1B,CAAW;","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { j as s } from "./jsx-runtime-C5mzlN2N.js";
|
|
2
2
|
import $, { forwardRef as a, useId as k } from "react";
|
|
3
|
-
import { w as A } from "./withFormControl-
|
|
3
|
+
import { w as A } from "./withFormControl-BDEeuT0h.js";
|
|
4
4
|
import { c as H } from "./create-slot-recipe-context-D_FXDJGp.js";
|
|
5
5
|
import { a as O, d as p, b as P, u as V, f as F, g as L, n as q } from "./use-locale-context-DmcfCmf9.js";
|
|
6
6
|
import { u as f } from "./use-field-context-BoqOeObh.js";
|
|
@@ -152,4 +152,4 @@ export {
|
|
|
152
152
|
nn as W,
|
|
153
153
|
tn as p
|
|
154
154
|
};
|
|
155
|
-
//# sourceMappingURL=pinInput.types-
|
|
155
|
+
//# sourceMappingURL=pinInput.types-CljHTAqz.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pinInput.types-DOs4a1N6.js","sources":["../../node_modules/@ark-ui/react/dist/components/pin-input/use-pin-input-context.js","../../node_modules/@ark-ui/react/dist/components/pin-input/pin-input-control.js","../../node_modules/@ark-ui/react/dist/components/pin-input/pin-input-hidden-input.js","../../node_modules/@ark-ui/react/dist/components/pin-input/pin-input-input.js","../../node_modules/@ark-ui/react/dist/components/pin-input/pin-input-label.js","../../node_modules/@ark-ui/react/dist/components/pin-input/use-pin-input.js","../../node_modules/@ark-ui/react/dist/components/pin-input/pin-input-root.js","../../node_modules/@ark-ui/react/dist/components/pin-input/pin-input-root-provider.js","../../node_modules/@chakra-ui/react/dist/esm/components/pin-input/pin-input.js","../../src/components/PinInput/pinInput.component.tsx","../../src/components/PinInput/pinInput.types.ts"],"sourcesContent":["'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [PinInputProvider, usePinInputContext] = createContext({\n name: \"PinInputContext\",\n hookName: \"usePinInputContext\",\n providerName: \"<PinInputProvider />\"\n});\n\nexport { PinInputProvider, usePinInputContext };\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 { usePinInputContext } from './use-pin-input-context.js';\n\nconst PinInputControl = forwardRef((props, ref) => {\n const pinInput = usePinInputContext();\n const mergedProps = mergeProps(pinInput.getControlProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nPinInputControl.displayName = \"PinInputControl\";\n\nexport { PinInputControl };\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 { useFieldContext } from '../field/use-field-context.js';\nimport { usePinInputContext } from './use-pin-input-context.js';\n\nconst PinInputHiddenInput = forwardRef((props, ref) => {\n const pinInput = usePinInputContext();\n const mergedProps = mergeProps(pinInput.getHiddenInputProps(), props);\n const field = useFieldContext();\n return /* @__PURE__ */ jsx(ark.input, { \"aria-describedby\": field?.ariaDescribedby, ...mergedProps, ref });\n});\nPinInputHiddenInput.displayName = \"PinInputHiddenInput\";\n\nexport { PinInputHiddenInput };\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 { usePinInputContext } from './use-pin-input-context.js';\n\nconst PinInputInput = forwardRef((props, ref) => {\n const [inputProps, localProps] = createSplitProps()(props, [\"index\"]);\n const pinInput = usePinInputContext();\n const mergedProps = mergeProps(pinInput.getInputProps(inputProps), localProps);\n return /* @__PURE__ */ jsx(ark.input, { ...mergedProps, ref });\n});\nPinInputInput.displayName = \"PinInputInput\";\n\nexport { PinInputInput };\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 { usePinInputContext } from './use-pin-input-context.js';\n\nconst PinInputLabel = forwardRef((props, ref) => {\n const pinInput = usePinInputContext();\n const mergedProps = mergeProps(pinInput.getLabelProps(), props);\n return /* @__PURE__ */ jsx(ark.label, { ...mergedProps, ref });\n});\nPinInputLabel.displayName = \"PinInputLabel\";\n\nexport { PinInputLabel };\n","'use client';\nimport * as pinInput from '@zag-js/pin-input';\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';\nimport { useFieldContext } from '../field/use-field-context.js';\n\nconst usePinInput = (props) => {\n const id = useId();\n const { getRootNode } = useEnvironmentContext();\n const { dir } = useLocaleContext();\n const field = useFieldContext();\n const machineProps = {\n id,\n ids: {\n label: field?.ids.label,\n hiddenInput: field?.ids.control\n },\n disabled: field?.disabled,\n readOnly: field?.readOnly,\n required: field?.required,\n invalid: field?.invalid,\n dir,\n getRootNode,\n ...props\n };\n const service = useMachine(pinInput.machine, machineProps);\n return pinInput.connect(service, normalizeProps);\n};\n\nexport { usePinInput };\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 { usePinInput } from './use-pin-input.js';\nimport { PinInputProvider } from './use-pin-input-context.js';\n\nconst PinInputRoot = forwardRef((props, ref) => {\n const [usePinInputProps, localProps] = createSplitProps()(props, [\n \"autoFocus\",\n \"blurOnComplete\",\n \"count\",\n \"defaultValue\",\n \"disabled\",\n \"form\",\n \"id\",\n \"ids\",\n \"invalid\",\n \"mask\",\n \"name\",\n \"onValueChange\",\n \"onValueComplete\",\n \"onValueInvalid\",\n \"otp\",\n \"pattern\",\n \"placeholder\",\n \"readOnly\",\n \"required\",\n \"selectOnFocus\",\n \"translations\",\n \"type\",\n \"value\"\n ]);\n const pinInput = usePinInput(usePinInputProps);\n const mergedProps = mergeProps(pinInput.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(PinInputProvider, { value: pinInput, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nPinInputRoot.displayName = \"PinInputRoot\";\n\nexport { PinInputRoot };\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 { PinInputProvider } from './use-pin-input-context.js';\n\nconst PinInputRootProvider = forwardRef((props, ref) => {\n const [{ value: pinInput }, localProps] = createSplitProps()(props, [\"value\"]);\n const mergedProps = mergeProps(pinInput.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(PinInputProvider, { value: pinInput, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nPinInputRootProvider.displayName = \"PinInputRootProvider\";\n\nexport { PinInputRootProvider };\n","\"use strict\";\n\"use client\";\nimport { PinInput } from '@ark-ui/react/pin-input';\nimport { createSlotRecipeContext } from '../../styled-system/create-slot-recipe-context.js';\n\nconst {\n withProvider,\n withContext,\n useStyles: usePinInputStyles,\n PropsProvider\n} = createSlotRecipeContext({ key: \"pinInput\" });\nconst PinInputRootProvider = withProvider(PinInput.RootProvider, \"root\", { forwardAsChild: true });\nconst PinInputRoot = withProvider(\n PinInput.Root,\n \"root\",\n { forwardProps: [\"mask\"], forwardAsChild: true }\n);\nconst PinInputPropsProvider = PropsProvider;\nconst PinInputControl = withContext(PinInput.Control, \"control\", { forwardAsChild: true });\nconst PinInputInput = withContext(\n PinInput.Input,\n \"input\",\n { forwardAsChild: true }\n);\nconst PinInputLabel = withContext(\n PinInput.Label,\n \"label\",\n { forwardAsChild: true }\n);\nconst PinInputContext = PinInput.Context;\nconst PinInputHiddenInput = PinInput.HiddenInput;\n\nexport { PinInputContext, PinInputControl, PinInputHiddenInput, PinInputInput, PinInputLabel, PinInputPropsProvider, PinInputRoot, PinInputRootProvider, usePinInputStyles };\n","import React from 'react';\nimport { PinInput as CPinInput } from '@chakra-ui/react/pin-input';\nimport { withFormControl, WithFormControlProps } from 'hocs/withFormControl/withFormControl';\nimport { FormControlSize } from 'shared/types';\n\nexport interface PinInputProps extends WithFormControlProps, Omit<CPinInput.RootProps, 'size'> {\n /**\n * Number of inputs in the pin input.\n * @default 6\n */\n count?: number;\n /** Ref to the hidden input element. */\n inputRef?: React.Ref<HTMLInputElement | null>;\n /**\n * If true, the pin input will render a contrasting variant.\n * @default false\n */\n onContrast?: boolean;\n /** Ref to the pin input component. */\n rootRef?: React.Ref<HTMLDivElement | null>;\n /** Size of the pin input.\n * @default md\n */\n size?: FormControlSize;\n /** Data test id for the pin input.\n * @default kibble-pin-input\n */\n 'data-testid'?: string;\n}\n\nconst PinInput = React.forwardRef<HTMLInputElement, PinInputProps>(\n (\n {\n count = 6,\n inputRef,\n onContrast = false,\n otp = true,\n rootRef,\n size = 'md',\n type = 'numeric',\n ['data-testid']: dataTestId = 'kibble-pin-input',\n ...rest\n },\n ref,\n ): React.JSX.Element => {\n const _computedVariant = onContrast ? 'onContrast' : 'default';\n\n return (\n <CPinInput.Root\n className=\"PinInput\"\n data-testid={dataTestId}\n ref={rootRef}\n variant={_computedVariant}\n size={size}\n type={type}\n otp={otp}\n {...rest}\n >\n <CPinInput.HiddenInput\n className=\"PinInput__HiddenInput\"\n data-testid={`${dataTestId}-hidden-input`}\n ref={inputRef || ref}\n />\n <CPinInput.Control className=\"PinInput__Control\" data-testid={`${dataTestId}-control`}>\n {Array.from({ length: count }).map((_, index) => (\n <CPinInput.Input\n key={index}\n index={index}\n className=\"PinInput__Input\"\n data-testid={`${dataTestId}-input-${index}`}\n />\n ))}\n </CPinInput.Control>\n </CPinInput.Root>\n );\n },\n);\n\nPinInput.displayName = 'PinInput';\nconst WrappedPinInput = withFormControl<PinInputProps>(PinInput);\n\nexport { WrappedPinInput as PinInput };\n","export const pinInputTypes = ['numeric', 'alphabetic', 'alphanumeric'] as const;\nexport type PinInputType = (typeof pinInputTypes)[number];\n"],"names":["PinInputProvider","usePinInputContext","createContext","PinInputControl","forwardRef","props","ref","pinInput","mergedProps","mergeProps","jsx","ark","PinInputHiddenInput","field","useFieldContext","PinInputInput","inputProps","localProps","createSplitProps","PinInputLabel","usePinInput","id","useId","getRootNode","useEnvironmentContext","dir","useLocaleContext","machineProps","service","useMachine","pinInput.machine","pinInput.connect","normalizeProps","PinInputRoot","usePinInputProps","PinInputRootProvider","withProvider","withContext","createSlotRecipeContext","PinInput.RootProvider","PinInput.Root","PinInput.Control","PinInput.Input","PinInput.Label","PinInput.HiddenInput","PinInput","React","count","inputRef","onContrast","otp","rootRef","size","type","dataTestId","rest","_computedVariant","jsxs","CPinInput.Root","CPinInput.HiddenInput","CPinInput.Control","_","index","CPinInput.Input","WrappedPinInput","withFormControl","pinInputTypes"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8]}
|
|
1
|
+
{"version":3,"file":"pinInput.types-CljHTAqz.js","sources":["../../node_modules/@ark-ui/react/dist/components/pin-input/use-pin-input-context.js","../../node_modules/@ark-ui/react/dist/components/pin-input/pin-input-control.js","../../node_modules/@ark-ui/react/dist/components/pin-input/pin-input-hidden-input.js","../../node_modules/@ark-ui/react/dist/components/pin-input/pin-input-input.js","../../node_modules/@ark-ui/react/dist/components/pin-input/pin-input-label.js","../../node_modules/@ark-ui/react/dist/components/pin-input/use-pin-input.js","../../node_modules/@ark-ui/react/dist/components/pin-input/pin-input-root.js","../../node_modules/@ark-ui/react/dist/components/pin-input/pin-input-root-provider.js","../../node_modules/@chakra-ui/react/dist/esm/components/pin-input/pin-input.js","../../src/components/PinInput/pinInput.component.tsx","../../src/components/PinInput/pinInput.types.ts"],"sourcesContent":["'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [PinInputProvider, usePinInputContext] = createContext({\n name: \"PinInputContext\",\n hookName: \"usePinInputContext\",\n providerName: \"<PinInputProvider />\"\n});\n\nexport { PinInputProvider, usePinInputContext };\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 { usePinInputContext } from './use-pin-input-context.js';\n\nconst PinInputControl = forwardRef((props, ref) => {\n const pinInput = usePinInputContext();\n const mergedProps = mergeProps(pinInput.getControlProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nPinInputControl.displayName = \"PinInputControl\";\n\nexport { PinInputControl };\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 { useFieldContext } from '../field/use-field-context.js';\nimport { usePinInputContext } from './use-pin-input-context.js';\n\nconst PinInputHiddenInput = forwardRef((props, ref) => {\n const pinInput = usePinInputContext();\n const mergedProps = mergeProps(pinInput.getHiddenInputProps(), props);\n const field = useFieldContext();\n return /* @__PURE__ */ jsx(ark.input, { \"aria-describedby\": field?.ariaDescribedby, ...mergedProps, ref });\n});\nPinInputHiddenInput.displayName = \"PinInputHiddenInput\";\n\nexport { PinInputHiddenInput };\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 { usePinInputContext } from './use-pin-input-context.js';\n\nconst PinInputInput = forwardRef((props, ref) => {\n const [inputProps, localProps] = createSplitProps()(props, [\"index\"]);\n const pinInput = usePinInputContext();\n const mergedProps = mergeProps(pinInput.getInputProps(inputProps), localProps);\n return /* @__PURE__ */ jsx(ark.input, { ...mergedProps, ref });\n});\nPinInputInput.displayName = \"PinInputInput\";\n\nexport { PinInputInput };\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 { usePinInputContext } from './use-pin-input-context.js';\n\nconst PinInputLabel = forwardRef((props, ref) => {\n const pinInput = usePinInputContext();\n const mergedProps = mergeProps(pinInput.getLabelProps(), props);\n return /* @__PURE__ */ jsx(ark.label, { ...mergedProps, ref });\n});\nPinInputLabel.displayName = \"PinInputLabel\";\n\nexport { PinInputLabel };\n","'use client';\nimport * as pinInput from '@zag-js/pin-input';\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';\nimport { useFieldContext } from '../field/use-field-context.js';\n\nconst usePinInput = (props) => {\n const id = useId();\n const { getRootNode } = useEnvironmentContext();\n const { dir } = useLocaleContext();\n const field = useFieldContext();\n const machineProps = {\n id,\n ids: {\n label: field?.ids.label,\n hiddenInput: field?.ids.control\n },\n disabled: field?.disabled,\n readOnly: field?.readOnly,\n required: field?.required,\n invalid: field?.invalid,\n dir,\n getRootNode,\n ...props\n };\n const service = useMachine(pinInput.machine, machineProps);\n return pinInput.connect(service, normalizeProps);\n};\n\nexport { usePinInput };\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 { usePinInput } from './use-pin-input.js';\nimport { PinInputProvider } from './use-pin-input-context.js';\n\nconst PinInputRoot = forwardRef((props, ref) => {\n const [usePinInputProps, localProps] = createSplitProps()(props, [\n \"autoFocus\",\n \"blurOnComplete\",\n \"count\",\n \"defaultValue\",\n \"disabled\",\n \"form\",\n \"id\",\n \"ids\",\n \"invalid\",\n \"mask\",\n \"name\",\n \"onValueChange\",\n \"onValueComplete\",\n \"onValueInvalid\",\n \"otp\",\n \"pattern\",\n \"placeholder\",\n \"readOnly\",\n \"required\",\n \"selectOnFocus\",\n \"translations\",\n \"type\",\n \"value\"\n ]);\n const pinInput = usePinInput(usePinInputProps);\n const mergedProps = mergeProps(pinInput.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(PinInputProvider, { value: pinInput, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nPinInputRoot.displayName = \"PinInputRoot\";\n\nexport { PinInputRoot };\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 { PinInputProvider } from './use-pin-input-context.js';\n\nconst PinInputRootProvider = forwardRef((props, ref) => {\n const [{ value: pinInput }, localProps] = createSplitProps()(props, [\"value\"]);\n const mergedProps = mergeProps(pinInput.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(PinInputProvider, { value: pinInput, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });\n});\nPinInputRootProvider.displayName = \"PinInputRootProvider\";\n\nexport { PinInputRootProvider };\n","\"use strict\";\n\"use client\";\nimport { PinInput } from '@ark-ui/react/pin-input';\nimport { createSlotRecipeContext } from '../../styled-system/create-slot-recipe-context.js';\n\nconst {\n withProvider,\n withContext,\n useStyles: usePinInputStyles,\n PropsProvider\n} = createSlotRecipeContext({ key: \"pinInput\" });\nconst PinInputRootProvider = withProvider(PinInput.RootProvider, \"root\", { forwardAsChild: true });\nconst PinInputRoot = withProvider(\n PinInput.Root,\n \"root\",\n { forwardProps: [\"mask\"], forwardAsChild: true }\n);\nconst PinInputPropsProvider = PropsProvider;\nconst PinInputControl = withContext(PinInput.Control, \"control\", { forwardAsChild: true });\nconst PinInputInput = withContext(\n PinInput.Input,\n \"input\",\n { forwardAsChild: true }\n);\nconst PinInputLabel = withContext(\n PinInput.Label,\n \"label\",\n { forwardAsChild: true }\n);\nconst PinInputContext = PinInput.Context;\nconst PinInputHiddenInput = PinInput.HiddenInput;\n\nexport { PinInputContext, PinInputControl, PinInputHiddenInput, PinInputInput, PinInputLabel, PinInputPropsProvider, PinInputRoot, PinInputRootProvider, usePinInputStyles };\n","import React from 'react';\nimport { PinInput as CPinInput } from '@chakra-ui/react/pin-input';\nimport { withFormControl, WithFormControlProps } from 'hocs/withFormControl/withFormControl';\nimport { FormControlSize } from 'shared/types';\n\nexport interface PinInputProps extends WithFormControlProps, Omit<CPinInput.RootProps, 'size'> {\n /**\n * Number of inputs in the pin input.\n * @default 6\n */\n count?: number;\n /** Ref to the hidden input element. */\n inputRef?: React.Ref<HTMLInputElement | null>;\n /**\n * If true, the pin input will render a contrasting variant.\n * @default false\n */\n onContrast?: boolean;\n /** Ref to the pin input component. */\n rootRef?: React.Ref<HTMLDivElement | null>;\n /** Size of the pin input.\n * @default md\n */\n size?: FormControlSize;\n /** Data test id for the pin input.\n * @default kibble-pin-input\n */\n 'data-testid'?: string;\n}\n\nconst PinInput = React.forwardRef<HTMLInputElement, PinInputProps>(\n (\n {\n count = 6,\n inputRef,\n onContrast = false,\n otp = true,\n rootRef,\n size = 'md',\n type = 'numeric',\n ['data-testid']: dataTestId = 'kibble-pin-input',\n ...rest\n },\n ref,\n ): React.JSX.Element => {\n const _computedVariant = onContrast ? 'onContrast' : 'default';\n\n return (\n <CPinInput.Root\n className=\"PinInput\"\n data-testid={dataTestId}\n ref={rootRef}\n variant={_computedVariant}\n size={size}\n type={type}\n otp={otp}\n {...rest}\n >\n <CPinInput.HiddenInput\n className=\"PinInput__HiddenInput\"\n data-testid={`${dataTestId}-hidden-input`}\n ref={inputRef || ref}\n />\n <CPinInput.Control className=\"PinInput__Control\" data-testid={`${dataTestId}-control`}>\n {Array.from({ length: count }).map((_, index) => (\n <CPinInput.Input\n key={index}\n index={index}\n className=\"PinInput__Input\"\n data-testid={`${dataTestId}-input-${index}`}\n />\n ))}\n </CPinInput.Control>\n </CPinInput.Root>\n );\n },\n);\n\nPinInput.displayName = 'PinInput';\nconst WrappedPinInput = withFormControl<PinInputProps>(PinInput);\n\nexport { WrappedPinInput as PinInput };\n","export const pinInputTypes = ['numeric', 'alphabetic', 'alphanumeric'] as const;\nexport type PinInputType = (typeof pinInputTypes)[number];\n"],"names":["PinInputProvider","usePinInputContext","createContext","PinInputControl","forwardRef","props","ref","pinInput","mergedProps","mergeProps","jsx","ark","PinInputHiddenInput","field","useFieldContext","PinInputInput","inputProps","localProps","createSplitProps","PinInputLabel","usePinInput","id","useId","getRootNode","useEnvironmentContext","dir","useLocaleContext","machineProps","service","useMachine","pinInput.machine","pinInput.connect","normalizeProps","PinInputRoot","usePinInputProps","PinInputRootProvider","withProvider","withContext","createSlotRecipeContext","PinInput.RootProvider","PinInput.Root","PinInput.Control","PinInput.Input","PinInput.Label","PinInput.HiddenInput","PinInput","React","count","inputRef","onContrast","otp","rootRef","size","type","dataTestId","rest","_computedVariant","jsxs","CPinInput.Root","CPinInput.HiddenInput","CPinInput.Control","_","index","CPinInput.Input","WrappedPinInput","withFormControl","pinInputTypes"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { j as e } from "./jsx-runtime-C5mzlN2N.js";
|
|
2
2
|
import { useRef as k } from "react";
|
|
3
3
|
import { d as N, e as S, f as O, c as $, g as B, b as D, h as z, i as F, j as W, k as E, a as M, l as V, m as q, n as G, o as J, P as K, u as L } from "./popover-Gb1fXSR7.js";
|
|
4
|
-
import { H as Q, a as U, b as X, c as Y, d as Z, e as I, f as ee, g as oe, h as re, u as w } from "./tooltip.component-
|
|
5
|
-
import { W as te } from "./text.component-
|
|
6
|
-
import { W as se } from "./heading.component-
|
|
4
|
+
import { H as Q, a as U, b as X, c as Y, d as Z, e as I, f as ee, g as oe, h as re, u as w } from "./tooltip.component-BWCTmG_j.js";
|
|
5
|
+
import { W as te } from "./text.component-DbJw4Y9-.js";
|
|
6
|
+
import { W as se } from "./heading.component-D8oRhIr6.js";
|
|
7
7
|
import { B as h } from "./button.component-BO6oee_V.js";
|
|
8
|
-
import { p as b } from "./popover.recipe-
|
|
8
|
+
import { p as b } from "./popover.recipe-BZo9u5OS.js";
|
|
9
9
|
import { u as y } from "./create-slot-recipe-context-D_FXDJGp.js";
|
|
10
10
|
import { u as T } from "./popover-root-provider-CFn2dthZ.js";
|
|
11
11
|
import { F as _ } from "./flex-CX-8gE9T.js";
|
|
@@ -217,4 +217,4 @@ const ve = ({
|
|
|
217
217
|
export {
|
|
218
218
|
Se as P
|
|
219
219
|
};
|
|
220
|
-
//# sourceMappingURL=popover.component-
|
|
220
|
+
//# sourceMappingURL=popover.component-xBwO82bL.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popover.component-65oNmbmB.js","sources":["../../node_modules/@chakra-ui/react/dist/esm/components/spacer/spacer.js","../../src/components/Popover/components/PopoverHeader/popoverHeader.component.tsx","../../src/components/Popover/components/PopoverFooter/popoverFooter.component.tsx","../../src/components/Popover/popover.component.tsx"],"sourcesContent":["\"use strict\";\n\"use client\";\nimport { chakra } from '../../styled-system/factory.js';\n\nconst Spacer = chakra(\"div\", {\n base: {\n flex: 1,\n justifySelf: \"stretch\",\n alignSelf: \"stretch\"\n }\n});\nSpacer.displayName = \"Spacer\";\n\nexport { Spacer };\n","import React, { ReactNode } from 'react';\nimport { usePopoverContext } from '@chakra-ui/react/popover';\nimport { useHoverCardContext } from '@chakra-ui/react/hover-card';\nimport { Heading, HeadingSize } from 'components/Heading';\nimport { Button } from 'components/Button/button.component';\nimport { Flex, FlexProps } from '@chakra-ui/react/flex';\nimport { popoverRecipe } from '../../popover.recipe';\nimport { useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { PopoverTriggerType } from '../../popover.types';\n\nexport interface PopoverHeaderProps extends FlexProps {\n /** Content to be rendered in the header. */\n children?: ReactNode;\n /** If true, the close button will not be displayed.\n * @default false\n */\n hideCloseButton?: boolean;\n /** Callback function to be called when the close button is clicked. */\n onClose?: () => void;\n /** If true, the header will render in a contrasting color.\n * @default true\n */\n onContrast?: boolean;\n /** Size of the header.\n * @default sm\n */\n size?: HeadingSize;\n /** Data test id for the header.\n * @default kibble-popover-header\n */\n 'data-testid'?: string;\n}\n\ninterface InternalPopoverHeaderProps extends PopoverHeaderProps {\n /** Trigger type of the popover.\n * @internal\n */\n trigger: PopoverTriggerType;\n}\n\nexport const PopoverHeader = ({\n children,\n color,\n hideCloseButton = false,\n onContrast = true,\n onClose,\n size = 'sm',\n trigger,\n ['data-testid']: dataTestId = 'kibble-popover-header',\n ...rest\n}: InternalPopoverHeaderProps): React.JSX.Element => {\n const recipe = useSlotRecipe({ recipe: popoverRecipe });\n const styles = recipe();\n const { setOpen } =\n // eslint-disable-next-line react-hooks/rules-of-hooks\n trigger === 'hover' ? useHoverCardContext() : usePopoverContext();\n\n return (\n <Flex className=\"Popover__HeaderWrapper\" data-testid={`${dataTestId}-wrapper`} css={styles.header} {...rest}>\n {typeof children === 'string' ? (\n <Heading\n className=\"Popover__Header\"\n data-testid={`${dataTestId}-header`}\n size={size}\n color={color || 'inherit'}\n w=\"100%\"\n >\n {children}\n </Heading>\n ) : (\n children\n )}\n {!hideCloseButton && trigger === 'click' && (\n <Button\n className=\"Popover__CloseButton\"\n data-testid={`${dataTestId}-close-button`}\n variant=\"ghostNeutral\"\n onContrast={onContrast}\n onClick={onClose ? onClose : (): void => setOpen(false)}\n iconName=\"close\"\n position=\"absolute\"\n right={1}\n top={1}\n size=\"xs\"\n />\n )}\n </Flex>\n );\n};\n","import React, { ReactNode } from 'react';\nimport { usePopoverContext } from '@chakra-ui/react/popover';\nimport { useHoverCardContext } from '@chakra-ui/react/hover-card';\nimport { Spacer } from '@chakra-ui/react/spacer';\nimport { Button } from 'components/Button/button.component';\nimport { Flex, FlexProps } from '@chakra-ui/react/flex';\nimport { popoverRecipe } from '../../popover.recipe';\nimport { useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { PopoverTriggerType } from '../../popover.types';\n\nexport interface PopoverFooterProps extends FlexProps {\n /** Content to be rendered in the footer. */\n children?: ReactNode;\n /** If true, the footer will be disabled. */\n disabled?: boolean;\n /** If true, the buttons will not be displayed.\n * @default false\n */\n hideButtons?: boolean;\n /** If true, the cancel button will not be displayed.\n * @default false\n */\n hideCancelButton?: boolean;\n /** If true, the submit button will be displayed as a destructive button.\n * @default false\n */\n destructive?: boolean;\n /** If true, the submit button will be displayed with a loading state. */\n loading?: boolean;\n /** Callback function to be called when the cancel button is clicked. */\n onCancel?: () => void;\n /** If true, the buttons will render with a contrasting variant.\n * @default true\n */\n onContrast?: boolean;\n /** Callback function to be called when the submit button is clicked. */\n onSubmit?: () => void;\n /** Text to display in the submit button. */\n submitText?: string;\n /** Data test id for the footer.\n * @default kibble-popover-footer\n */\n 'data-testid'?: string;\n}\n\ninterface InternalPopoverFooterProps extends PopoverFooterProps {\n /** Trigger type of the popover.\n * @internal\n */\n trigger: PopoverTriggerType;\n}\n\nexport const PopoverFooter = ({\n children,\n disabled,\n hideButtons = false,\n hideCancelButton = false,\n destructive,\n loading,\n onCancel,\n onContrast = true,\n onSubmit,\n submitText = 'Submit',\n trigger,\n ['data-testid']: dataTestId = 'kibble-popover-footer',\n ...rest\n}: InternalPopoverFooterProps): React.JSX.Element => {\n const recipe = useSlotRecipe({ recipe: popoverRecipe });\n const styles = recipe();\n const { setOpen } =\n // eslint-disable-next-line react-hooks/rules-of-hooks\n trigger === 'hover' ? useHoverCardContext() : usePopoverContext();\n\n const handleCancel = (): void => {\n if (onCancel) {\n onCancel();\n }\n setOpen(false);\n };\n\n return (\n <Flex className=\"Popover__Footer\" data-testid={dataTestId} css={styles.footer} {...rest}>\n {children}\n {!hideButtons && (\n <Flex w=\"100%\">\n {!hideCancelButton && (\n <Button variant=\"tertiary\" onContrast={onContrast} size=\"sm\" onClick={handleCancel}>\n Cancel\n </Button>\n )}\n <Spacer />\n <Button\n onClick={onSubmit}\n loading={loading}\n disabled={disabled}\n size=\"sm\"\n onContrast={onContrast}\n variant={destructive ? 'primaryDestructive' : 'primary'}\n >\n {submitText}\n </Button>\n </Flex>\n )}\n </Flex>\n );\n};\n","import React, { useRef } from 'react';\nimport { Popover as CPopover } from '@chakra-ui/react/popover';\nimport { HoverCard } from '@chakra-ui/react/hover-card';\nimport { Portal } from '@chakra-ui/react/portal';\nimport { Placement } from 'shared/types/placement';\nimport { Text } from 'components/Text/text.component';\nimport { PopoverSize, PopoverTriggerType, PopoverVariant } from './popover.types';\nimport { PopoverHeader, PopoverHeaderProps } from './components/PopoverHeader/popoverHeader.component';\nimport { PopoverFooter, PopoverFooterProps } from './components/PopoverFooter/popoverFooter.component';\nimport { Box } from '@chakra-ui/react/box';\nimport { ConditionalValue, useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { popoverRecipe } from './popover.recipe';\nimport { PortalContext } from 'hooks/usePortalContentRef';\nimport { useDeviceType } from 'hooks/useDeviceType';\n\nexport interface KPopoverProps {\n /** The element that triggers the popover. */\n anchor: React.ReactNode;\n /** Props to customize the content of the popover. */\n contentProps?: CPopover.ContentProps;\n /**\n * If true, the popover will be disabled.\n * @default false\n */\n disabled?: boolean;\n /** Props to configure the footer of the popover. */\n footerProps?: PopoverFooterProps;\n /** Props to configure the header of the popover. */\n headerProps?: PopoverHeaderProps;\n /** Configuration for the positioner of the popover. */\n positionerProps?: CPopover.PositionerProps;\n /**\n * If true, the popover will be rendered in a portal.\n * @default true\n */\n portalled?: boolean;\n /**\n * Sets the placement of the popover in relation to the designated element. If the chosen placement puts the tooltip out-of-bounds of the viewport, the placement will automatically adjust. You should, however, choose a placement that works best with orientation of the element.\n * @default bottom\n */\n placement?: Placement;\n /** Whether to show the arrow of the popover. */\n showArrow?: boolean;\n /**\n * The size of the popover.\n * @default md\n */\n size?: ConditionalValue<PopoverSize>;\n /**\n * The trigger type of the popover.\n * @default click\n */\n trigger?: PopoverTriggerType;\n /**\n * The color variant of the popover.\n * @default contrast\n */\n variant?: PopoverVariant;\n /** Data test id for the popover.\n * @default kibble-popover\n */\n 'data-testid'?: string;\n}\n\ninterface ClickPopoverProps extends CPopover.RootProps {\n /**\n * The trigger type of the popover.\n * @default click\n */\n trigger?: 'click';\n}\n\ninterface HoverPopoverProps extends HoverCard.RootProps {\n /**\n * The trigger type of the popover.\n * @default click\n */\n trigger?: 'hover';\n}\n\nexport type PopoverProps = KPopoverProps & (Omit<ClickPopoverProps, 'size'> | Omit<HoverPopoverProps, 'size'>);\n\nexport const Popover = ({\n anchor,\n children,\n contentProps,\n footerProps,\n headerProps,\n disabled = false,\n portalled = true,\n placement = 'bottom',\n positioning,\n showArrow = true,\n size = 'sm',\n trigger = 'click',\n variant = 'contrast',\n positionerProps,\n ['data-testid']: dataTestId = 'kibble-popover',\n ...rest\n}: PopoverProps): React.ReactNode => {\n const contentRef = useRef<HTMLDivElement>(null!);\n const contextValue = { contentRef };\n const deviceType = useDeviceType();\n // Forces click trigger on mobile devices for better UX\n const effectiveTrigger = deviceType === 'mobile' ? 'click' : trigger;\n const Element = effectiveTrigger === 'hover' ? HoverCard : CPopover;\n const recipe = useSlotRecipe({ recipe: popoverRecipe });\n const styles = recipe({ variant, size });\n\n if (disabled) return anchor;\n\n const onContrast = variant === 'contrast' || variant === 'contrastDestructive';\n\n return (\n <Element.Root\n closeOnEscape={true}\n closeOnInteractOutside={true}\n positioning={{\n ...positioning,\n placement: positioning?.placement || placement,\n }}\n {...rest}\n >\n <Element.Trigger\n asChild\n className=\"Popover__Trigger\"\n data-testid={`${dataTestId}-trigger`}\n cursor={effectiveTrigger === 'click' ? 'pointer' : 'default'}\n >\n {anchor}\n </Element.Trigger>\n <Portal disabled={!portalled}>\n <Element.Positioner className=\"Popover\" data-testid={dataTestId} {...positionerProps}>\n <PortalContext.Provider value={contextValue}>\n <Element.Content\n className=\"Popover__Content\"\n data-testid={`${dataTestId}-content`}\n ref={contentRef}\n {...contentProps}\n css={styles.content}\n >\n {showArrow && (\n <Element.Arrow className=\"Popover__Arrow\" data-testid={`${dataTestId}-arrow`} css={styles.arrow}>\n <Element.ArrowTip css={styles.arrowTip} />\n </Element.Arrow>\n )}\n {headerProps && <PopoverHeader trigger={effectiveTrigger} onContrast={onContrast} {...headerProps} />}\n <Box\n className=\"Popover__Body\"\n data-testid={`${dataTestId}-body`}\n css={styles.body}\n {...(!!headerProps && { pt: 0 })}\n >\n {typeof children === 'string' ? (\n <Text variant={onContrast ? 'onContrast' : 'default'} size=\"sm\">\n {children}\n </Text>\n ) : (\n children\n )}\n </Box>\n {footerProps && (\n <PopoverFooter\n trigger={effectiveTrigger}\n destructive={variant === 'contrastDestructive' || variant === 'defaultDestructive'}\n onContrast={onContrast}\n {...footerProps}\n />\n )}\n </Element.Content>\n </PortalContext.Provider>\n </Element.Positioner>\n </Portal>\n </Element.Root>\n );\n};\n"],"names":["Spacer","chakra","PopoverHeader","children","color","hideCloseButton","onContrast","onClose","size","trigger","dataTestId","rest","styles","useSlotRecipe","popoverRecipe","setOpen","useHoverCardContext","usePopoverContext","jsxs","Flex","jsx","Heading","Button","PopoverFooter","disabled","hideButtons","hideCancelButton","destructive","loading","onCancel","onSubmit","submitText","handleCancel","Popover","anchor","contentProps","footerProps","headerProps","portalled","placement","positioning","showArrow","variant","positionerProps","contentRef","useRef","contextValue","effectiveTrigger","useDeviceType","Element","HoverCard","CPopover","Portal","PortalContext","Box","Text"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"popover.component-xBwO82bL.js","sources":["../../node_modules/@chakra-ui/react/dist/esm/components/spacer/spacer.js","../../src/components/Popover/components/PopoverHeader/popoverHeader.component.tsx","../../src/components/Popover/components/PopoverFooter/popoverFooter.component.tsx","../../src/components/Popover/popover.component.tsx"],"sourcesContent":["\"use strict\";\n\"use client\";\nimport { chakra } from '../../styled-system/factory.js';\n\nconst Spacer = chakra(\"div\", {\n base: {\n flex: 1,\n justifySelf: \"stretch\",\n alignSelf: \"stretch\"\n }\n});\nSpacer.displayName = \"Spacer\";\n\nexport { Spacer };\n","import React, { ReactNode } from 'react';\nimport { usePopoverContext } from '@chakra-ui/react/popover';\nimport { useHoverCardContext } from '@chakra-ui/react/hover-card';\nimport { Heading, HeadingSize } from 'components/Heading';\nimport { Button } from 'components/Button/button.component';\nimport { Flex, FlexProps } from '@chakra-ui/react/flex';\nimport { popoverRecipe } from '../../popover.recipe';\nimport { useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { PopoverTriggerType } from '../../popover.types';\n\nexport interface PopoverHeaderProps extends FlexProps {\n /** Content to be rendered in the header. */\n children?: ReactNode;\n /** If true, the close button will not be displayed.\n * @default false\n */\n hideCloseButton?: boolean;\n /** Callback function to be called when the close button is clicked. */\n onClose?: () => void;\n /** If true, the header will render in a contrasting color.\n * @default true\n */\n onContrast?: boolean;\n /** Size of the header.\n * @default sm\n */\n size?: HeadingSize;\n /** Data test id for the header.\n * @default kibble-popover-header\n */\n 'data-testid'?: string;\n}\n\ninterface InternalPopoverHeaderProps extends PopoverHeaderProps {\n /** Trigger type of the popover.\n * @internal\n */\n trigger: PopoverTriggerType;\n}\n\nexport const PopoverHeader = ({\n children,\n color,\n hideCloseButton = false,\n onContrast = true,\n onClose,\n size = 'sm',\n trigger,\n ['data-testid']: dataTestId = 'kibble-popover-header',\n ...rest\n}: InternalPopoverHeaderProps): React.JSX.Element => {\n const recipe = useSlotRecipe({ recipe: popoverRecipe });\n const styles = recipe();\n const { setOpen } =\n // eslint-disable-next-line react-hooks/rules-of-hooks\n trigger === 'hover' ? useHoverCardContext() : usePopoverContext();\n\n return (\n <Flex className=\"Popover__HeaderWrapper\" data-testid={`${dataTestId}-wrapper`} css={styles.header} {...rest}>\n {typeof children === 'string' ? (\n <Heading\n className=\"Popover__Header\"\n data-testid={`${dataTestId}-header`}\n size={size}\n color={color || 'inherit'}\n w=\"100%\"\n >\n {children}\n </Heading>\n ) : (\n children\n )}\n {!hideCloseButton && trigger === 'click' && (\n <Button\n className=\"Popover__CloseButton\"\n data-testid={`${dataTestId}-close-button`}\n variant=\"ghostNeutral\"\n onContrast={onContrast}\n onClick={onClose ? onClose : (): void => setOpen(false)}\n iconName=\"close\"\n position=\"absolute\"\n right={1}\n top={1}\n size=\"xs\"\n />\n )}\n </Flex>\n );\n};\n","import React, { ReactNode } from 'react';\nimport { usePopoverContext } from '@chakra-ui/react/popover';\nimport { useHoverCardContext } from '@chakra-ui/react/hover-card';\nimport { Spacer } from '@chakra-ui/react/spacer';\nimport { Button } from 'components/Button/button.component';\nimport { Flex, FlexProps } from '@chakra-ui/react/flex';\nimport { popoverRecipe } from '../../popover.recipe';\nimport { useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { PopoverTriggerType } from '../../popover.types';\n\nexport interface PopoverFooterProps extends FlexProps {\n /** Content to be rendered in the footer. */\n children?: ReactNode;\n /** If true, the footer will be disabled. */\n disabled?: boolean;\n /** If true, the buttons will not be displayed.\n * @default false\n */\n hideButtons?: boolean;\n /** If true, the cancel button will not be displayed.\n * @default false\n */\n hideCancelButton?: boolean;\n /** If true, the submit button will be displayed as a destructive button.\n * @default false\n */\n destructive?: boolean;\n /** If true, the submit button will be displayed with a loading state. */\n loading?: boolean;\n /** Callback function to be called when the cancel button is clicked. */\n onCancel?: () => void;\n /** If true, the buttons will render with a contrasting variant.\n * @default true\n */\n onContrast?: boolean;\n /** Callback function to be called when the submit button is clicked. */\n onSubmit?: () => void;\n /** Text to display in the submit button. */\n submitText?: string;\n /** Data test id for the footer.\n * @default kibble-popover-footer\n */\n 'data-testid'?: string;\n}\n\ninterface InternalPopoverFooterProps extends PopoverFooterProps {\n /** Trigger type of the popover.\n * @internal\n */\n trigger: PopoverTriggerType;\n}\n\nexport const PopoverFooter = ({\n children,\n disabled,\n hideButtons = false,\n hideCancelButton = false,\n destructive,\n loading,\n onCancel,\n onContrast = true,\n onSubmit,\n submitText = 'Submit',\n trigger,\n ['data-testid']: dataTestId = 'kibble-popover-footer',\n ...rest\n}: InternalPopoverFooterProps): React.JSX.Element => {\n const recipe = useSlotRecipe({ recipe: popoverRecipe });\n const styles = recipe();\n const { setOpen } =\n // eslint-disable-next-line react-hooks/rules-of-hooks\n trigger === 'hover' ? useHoverCardContext() : usePopoverContext();\n\n const handleCancel = (): void => {\n if (onCancel) {\n onCancel();\n }\n setOpen(false);\n };\n\n return (\n <Flex className=\"Popover__Footer\" data-testid={dataTestId} css={styles.footer} {...rest}>\n {children}\n {!hideButtons && (\n <Flex w=\"100%\">\n {!hideCancelButton && (\n <Button variant=\"tertiary\" onContrast={onContrast} size=\"sm\" onClick={handleCancel}>\n Cancel\n </Button>\n )}\n <Spacer />\n <Button\n onClick={onSubmit}\n loading={loading}\n disabled={disabled}\n size=\"sm\"\n onContrast={onContrast}\n variant={destructive ? 'primaryDestructive' : 'primary'}\n >\n {submitText}\n </Button>\n </Flex>\n )}\n </Flex>\n );\n};\n","import React, { useRef } from 'react';\nimport { Popover as CPopover } from '@chakra-ui/react/popover';\nimport { HoverCard } from '@chakra-ui/react/hover-card';\nimport { Portal } from '@chakra-ui/react/portal';\nimport { Placement } from 'shared/types/placement';\nimport { Text } from 'components/Text/text.component';\nimport { PopoverSize, PopoverTriggerType, PopoverVariant } from './popover.types';\nimport { PopoverHeader, PopoverHeaderProps } from './components/PopoverHeader/popoverHeader.component';\nimport { PopoverFooter, PopoverFooterProps } from './components/PopoverFooter/popoverFooter.component';\nimport { Box } from '@chakra-ui/react/box';\nimport { ConditionalValue, useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { popoverRecipe } from './popover.recipe';\nimport { PortalContext } from 'hooks/usePortalContentRef';\nimport { useDeviceType } from 'hooks/useDeviceType';\n\nexport interface KPopoverProps {\n /** The element that triggers the popover. */\n anchor: React.ReactNode;\n /** Props to customize the content of the popover. */\n contentProps?: CPopover.ContentProps;\n /**\n * If true, the popover will be disabled.\n * @default false\n */\n disabled?: boolean;\n /** Props to configure the footer of the popover. */\n footerProps?: PopoverFooterProps;\n /** Props to configure the header of the popover. */\n headerProps?: PopoverHeaderProps;\n /** Configuration for the positioner of the popover. */\n positionerProps?: CPopover.PositionerProps;\n /**\n * If true, the popover will be rendered in a portal.\n * @default true\n */\n portalled?: boolean;\n /**\n * Sets the placement of the popover in relation to the designated element. If the chosen placement puts the tooltip out-of-bounds of the viewport, the placement will automatically adjust. You should, however, choose a placement that works best with orientation of the element.\n * @default bottom\n */\n placement?: Placement;\n /** Whether to show the arrow of the popover. */\n showArrow?: boolean;\n /**\n * The size of the popover.\n * @default md\n */\n size?: ConditionalValue<PopoverSize>;\n /**\n * The trigger type of the popover.\n * @default click\n */\n trigger?: PopoverTriggerType;\n /**\n * The color variant of the popover.\n * @default contrast\n */\n variant?: PopoverVariant;\n /** Data test id for the popover.\n * @default kibble-popover\n */\n 'data-testid'?: string;\n}\n\ninterface ClickPopoverProps extends CPopover.RootProps {\n /**\n * The trigger type of the popover.\n * @default click\n */\n trigger?: 'click';\n}\n\ninterface HoverPopoverProps extends HoverCard.RootProps {\n /**\n * The trigger type of the popover.\n * @default click\n */\n trigger?: 'hover';\n}\n\nexport type PopoverProps = KPopoverProps & (Omit<ClickPopoverProps, 'size'> | Omit<HoverPopoverProps, 'size'>);\n\nexport const Popover = ({\n anchor,\n children,\n contentProps,\n footerProps,\n headerProps,\n disabled = false,\n portalled = true,\n placement = 'bottom',\n positioning,\n showArrow = true,\n size = 'sm',\n trigger = 'click',\n variant = 'contrast',\n positionerProps,\n ['data-testid']: dataTestId = 'kibble-popover',\n ...rest\n}: PopoverProps): React.ReactNode => {\n const contentRef = useRef<HTMLDivElement>(null!);\n const contextValue = { contentRef };\n const deviceType = useDeviceType();\n // Forces click trigger on mobile devices for better UX\n const effectiveTrigger = deviceType === 'mobile' ? 'click' : trigger;\n const Element = effectiveTrigger === 'hover' ? HoverCard : CPopover;\n const recipe = useSlotRecipe({ recipe: popoverRecipe });\n const styles = recipe({ variant, size });\n\n if (disabled) return anchor;\n\n const onContrast = variant === 'contrast' || variant === 'contrastDestructive';\n\n return (\n <Element.Root\n closeOnEscape={true}\n closeOnInteractOutside={true}\n positioning={{\n ...positioning,\n placement: positioning?.placement || placement,\n }}\n {...rest}\n >\n <Element.Trigger\n asChild\n className=\"Popover__Trigger\"\n data-testid={`${dataTestId}-trigger`}\n cursor={effectiveTrigger === 'click' ? 'pointer' : 'default'}\n >\n {anchor}\n </Element.Trigger>\n <Portal disabled={!portalled}>\n <Element.Positioner className=\"Popover\" data-testid={dataTestId} {...positionerProps}>\n <PortalContext.Provider value={contextValue}>\n <Element.Content\n className=\"Popover__Content\"\n data-testid={`${dataTestId}-content`}\n ref={contentRef}\n {...contentProps}\n css={styles.content}\n >\n {showArrow && (\n <Element.Arrow className=\"Popover__Arrow\" data-testid={`${dataTestId}-arrow`} css={styles.arrow}>\n <Element.ArrowTip css={styles.arrowTip} />\n </Element.Arrow>\n )}\n {headerProps && <PopoverHeader trigger={effectiveTrigger} onContrast={onContrast} {...headerProps} />}\n <Box\n className=\"Popover__Body\"\n data-testid={`${dataTestId}-body`}\n css={styles.body}\n {...(!!headerProps && { pt: 0 })}\n >\n {typeof children === 'string' ? (\n <Text variant={onContrast ? 'onContrast' : 'default'} size=\"sm\">\n {children}\n </Text>\n ) : (\n children\n )}\n </Box>\n {footerProps && (\n <PopoverFooter\n trigger={effectiveTrigger}\n destructive={variant === 'contrastDestructive' || variant === 'defaultDestructive'}\n onContrast={onContrast}\n {...footerProps}\n />\n )}\n </Element.Content>\n </PortalContext.Provider>\n </Element.Positioner>\n </Portal>\n </Element.Root>\n );\n};\n"],"names":["Spacer","chakra","PopoverHeader","children","color","hideCloseButton","onContrast","onClose","size","trigger","dataTestId","rest","styles","useSlotRecipe","popoverRecipe","setOpen","useHoverCardContext","usePopoverContext","jsxs","Flex","jsx","Heading","Button","PopoverFooter","disabled","hideButtons","hideCancelButton","destructive","loading","onCancel","onSubmit","submitText","handleCancel","Popover","anchor","contentProps","footerProps","headerProps","portalled","placement","positioning","showArrow","variant","positionerProps","contentRef","useRef","contextValue","effectiveTrigger","useDeviceType","Element","HoverCard","CPopover","Portal","PortalContext","Box","Text"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { p as o } from "./anatomy-DKlFmIC5.js";
|
|
2
|
-
import { d as r } from "./config-
|
|
2
|
+
import { d as r } from "./config-BV2SsQL7.js";
|
|
3
3
|
const e = o.keys(), t = {
|
|
4
4
|
xs: {
|
|
5
5
|
content: {
|
|
@@ -123,4 +123,4 @@ const e = o.keys(), t = {
|
|
|
123
123
|
export {
|
|
124
124
|
d as p
|
|
125
125
|
};
|
|
126
|
-
//# sourceMappingURL=popover.recipe-
|
|
126
|
+
//# sourceMappingURL=popover.recipe-BZo9u5OS.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popover.recipe-
|
|
1
|
+
{"version":3,"file":"popover.recipe-BZo9u5OS.js","sources":["../../src/components/Popover/popover.recipe.ts"],"sourcesContent":["import { defineSlotRecipe, SystemStyleObject } from '@chakra-ui/react/styled-system';\nimport { PopoverSize, PopoverVariant } from './popover.types';\nimport { popoverAnatomy } from '@chakra-ui/react/anatomy';\n\nconst popoverSlots = popoverAnatomy.keys();\ntype PopoverSlot = (typeof popoverSlots)[number];\ntype PopoverSlotStyles = {\n [key in PopoverSlot]?: SystemStyleObject;\n};\n\nconst popoverSizeStyles: Record<PopoverSize, PopoverSlotStyles> = {\n xs: {\n content: {\n '--popover-size': '180px',\n },\n },\n sm: {\n content: {\n '--popover-size': '200px',\n },\n },\n md: {\n content: {\n '--popover-size': '260px',\n },\n },\n lg: {\n content: {\n '--popover-size': '320px',\n },\n },\n xl: {\n content: {\n '--popover-size': '480px',\n },\n },\n '2xl': {\n content: {\n '--popover-size': '540px',\n },\n },\n};\n\nconst popoverVariantStyles: Record<PopoverVariant, PopoverSlotStyles> = {\n default: {\n arrowTip: {\n borderColor: 'border',\n },\n content: {\n '--popover-bg': 'colors.background.default',\n '--hovercard-bg': 'colors.background.default',\n borderColor: 'border',\n color: 'text.default',\n },\n },\n defaultDestructive: {\n arrowTip: {\n borderColor: 'border',\n },\n content: {\n '--popover-bg': 'colors.background.default',\n '--hovercard-bg': 'colors.background.default',\n borderColor: 'border',\n color: 'text.default',\n },\n },\n contrast: {\n arrowTip: {\n borderColor: 'border.contrast',\n },\n content: {\n '--popover-bg': 'colors.background.overlay.contrast',\n '--hovercard-bg': 'colors.background.overlay.contrast',\n borderColor: 'border.contrast',\n color: 'text.contrast',\n },\n },\n contrastDestructive: {\n arrowTip: {\n borderColor: 'border.contrast',\n },\n content: {\n '--popover-bg': 'colors.background.overlay.contrast',\n '--hovercard-bg': 'colors.background.overlay.contrast',\n borderColor: 'border.contrast',\n color: 'text.contrast',\n },\n },\n};\n\nexport const popoverRecipe = defineSlotRecipe({\n slots: popoverSlots,\n base: {\n arrowTip: {\n borderTopWidth: '1px',\n borderInlineStartWidth: '1px',\n top: '-1px !important',\n },\n body: {\n overflowY: 'auto',\n p: 3,\n },\n content: {\n borderRadius: 'base',\n border: '1px',\n p: 0,\n },\n footer: {\n borderTop: 0,\n borderRadius: 'inherit',\n pb: 3,\n pt: 0,\n px: 3,\n },\n header: {\n borderBottom: 0,\n borderRadius: 'inherit',\n minH: 6,\n p: 3,\n w: '100%',\n },\n trigger: {\n width: 'max-content',\n },\n },\n variants: {\n size: popoverSizeStyles,\n variant: popoverVariantStyles,\n },\n defaultVariants: {\n size: 'sm',\n variant: 'default',\n },\n});\n"],"names":["popoverSlots","popoverAnatomy","popoverSizeStyles","popoverVariantStyles","popoverRecipe","defineSlotRecipe"],"mappings":";;AAIA,MAAMA,IAAeC,EAAe,KAAK,GAMnCC,IAA4D;AAAA,EAChE,IAAI;AAAA,IACF,SAAS;AAAA,MACP,kBAAkB;AAAA,IAAA;AAAA,EAEtB;AAAA,EACA,IAAI;AAAA,IACF,SAAS;AAAA,MACP,kBAAkB;AAAA,IAAA;AAAA,EAEtB;AAAA,EACA,IAAI;AAAA,IACF,SAAS;AAAA,MACP,kBAAkB;AAAA,IAAA;AAAA,EAEtB;AAAA,EACA,IAAI;AAAA,IACF,SAAS;AAAA,MACP,kBAAkB;AAAA,IAAA;AAAA,EAEtB;AAAA,EACA,IAAI;AAAA,IACF,SAAS;AAAA,MACP,kBAAkB;AAAA,IAAA;AAAA,EAEtB;AAAA,EACA,OAAO;AAAA,IACL,SAAS;AAAA,MACP,kBAAkB;AAAA,IAAA;AAAA,EACpB;AAEJ,GAEMC,IAAkE;AAAA,EACtE,SAAS;AAAA,IACP,UAAU;AAAA,MACR,aAAa;AAAA,IACf;AAAA,IACA,SAAS;AAAA,MACP,gBAAgB;AAAA,MAChB,kBAAkB;AAAA,MAClB,aAAa;AAAA,MACb,OAAO;AAAA,IAAA;AAAA,EAEX;AAAA,EACA,oBAAoB;AAAA,IAClB,UAAU;AAAA,MACR,aAAa;AAAA,IACf;AAAA,IACA,SAAS;AAAA,MACP,gBAAgB;AAAA,MAChB,kBAAkB;AAAA,MAClB,aAAa;AAAA,MACb,OAAO;AAAA,IAAA;AAAA,EAEX;AAAA,EACA,UAAU;AAAA,IACR,UAAU;AAAA,MACR,aAAa;AAAA,IACf;AAAA,IACA,SAAS;AAAA,MACP,gBAAgB;AAAA,MAChB,kBAAkB;AAAA,MAClB,aAAa;AAAA,MACb,OAAO;AAAA,IAAA;AAAA,EAEX;AAAA,EACA,qBAAqB;AAAA,IACnB,UAAU;AAAA,MACR,aAAa;AAAA,IACf;AAAA,IACA,SAAS;AAAA,MACP,gBAAgB;AAAA,MAChB,kBAAkB;AAAA,MAClB,aAAa;AAAA,MACb,OAAO;AAAA,IAAA;AAAA,EACT;AAEJ,GAEaC,IAAgBC,EAAiB;AAAA,EAC5C,OAAOL;AAAA,EACP,MAAM;AAAA,IACJ,UAAU;AAAA,MACR,gBAAgB;AAAA,MAChB,wBAAwB;AAAA,MACxB,KAAK;AAAA,IACP;AAAA,IACA,MAAM;AAAA,MACJ,WAAW;AAAA,MACX,GAAG;AAAA,IACL;AAAA,IACA,SAAS;AAAA,MACP,cAAc;AAAA,MACd,QAAQ;AAAA,MACR,GAAG;AAAA,IACL;AAAA,IACA,QAAQ;AAAA,MACN,WAAW;AAAA,MACX,cAAc;AAAA,MACd,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACN;AAAA,IACA,QAAQ;AAAA,MACN,cAAc;AAAA,MACd,cAAc;AAAA,MACd,MAAM;AAAA,MACN,GAAG;AAAA,MACH,GAAG;AAAA,IACL;AAAA,IACA,SAAS;AAAA,MACP,OAAO;AAAA,IAAA;AAAA,EAEX;AAAA,EACA,UAAU;AAAA,IACR,MAAME;AAAA,IACN,SAASC;AAAA,EACX;AAAA,EACA,iBAAiB;AAAA,IACf,MAAM;AAAA,IACN,SAAS;AAAA,EAAA;AAEb,CAAC;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const s=require("./jsx-runtime-BjDatQAs.js"),w=require("./withFormControl-CMerPa0c.js"),d=require("react"),M=require("./text.component-D5GpbfNx.js"),O=require("./create-slot-recipe-context-HXE1VazG.js"),T=require("./radiomark-Cj0NEJeE.js"),i=require("./use-locale-context-ym21RUxU.js"),g=require("./index-D6HBfqAu.js"),m=require("./index-CQURjLlA.js"),D=require("./buttonGroup.component-BRafsTrY.js"),E=require("./button.recipe-PiD70IbE.js"),V=require("./stack-BE-r1yqU.js"),J=o=>o&&o.__esModule?o:{default:o},K=J(d),[b,x]=i.createContext({name:"RadioGroupContext",hookName:"useRadioGroupContext",providerName:"<RadioGroupProvider />"}),[Q,U]=i.createContext({name:"RadioGroupItemContext",hookName:"useRadioGroupItemContext",providerName:"<RadioGroupItemProvider />"}),[X,h]=i.createContext({name:"RadioGroupItemPropsContext",hookName:"useRadioGroupItemPropsContext",providerName:"<RadioGroupItemPropsProvider />"}),k=d.forwardRef((o,r)=>{const[t,e]=i.createSplitProps()(o,["value","disabled","invalid"]),a=x(),n=m.mergeProps(a.getItemProps(t),e),u=a.getItemState(t);return s.jsxRuntimeExports.jsx(Q,{value:u,children:s.jsxRuntimeExports.jsx(X,{value:t,children:s.jsxRuntimeExports.jsx(i.ark.label,{...n,ref:r})})})});k.displayName="RadioGroupItem";const Y=o=>o.children(U()),C=d.forwardRef((o,r)=>{const t=x(),e=h(),a=m.mergeProps(t.getItemControlProps(e),o);return s.jsxRuntimeExports.jsx(i.ark.div,{...a,ref:r})});C.displayName="RadioGroupItemControl";const y=d.forwardRef((o,r)=>{const t=x(),e=h(),a=m.mergeProps(t.getItemHiddenInputProps(e),o);return s.jsxRuntimeExports.jsx(i.ark.input,{...a,ref:r})});y.displayName="RadioGroupItemHiddenInput";const N=d.forwardRef((o,r)=>{const t=x(),e=h(),a=m.mergeProps(t.getItemTextProps(e),o);return s.jsxRuntimeExports.jsx(i.ark.span,{...a,ref:r})});N.displayName="RadioGroupItemText";const _=d.forwardRef((o,r)=>{const t=x(),e=m.mergeProps(t.getLabelProps(),o);return s.jsxRuntimeExports.jsx(i.ark.label,{...e,ref:r})});_.displayName="RadioGroupLabel";const Z=o=>{const r=d.useId(),{getRootNode:t}=i.useEnvironmentContext(),{dir:e}=i.useLocaleContext(),a={id:r,dir:e,getRootNode:t,...o},n=i.useMachine(g.machine,a);return g.connect(n,i.normalizeProps)},S=d.forwardRef((o,r)=>{const[t,e]=i.createSplitProps()(o,["defaultValue","disabled","form","id","ids","name","onValueChange","orientation","readOnly","value"]),a=Z(t),n=m.mergeProps(a.getRootProps(),e);return s.jsxRuntimeExports.jsx(b,{value:a,children:s.jsxRuntimeExports.jsx(i.ark.div,{...n,ref:r})})});S.displayName="RadioGroupRoot";const q=d.forwardRef((o,r)=>{const[{value:t},e]=i.createSplitProps()(o,["value"]),a=m.mergeProps(t.getRootProps(),e);return s.jsxRuntimeExports.jsx(b,{value:t,children:s.jsxRuntimeExports.jsx(i.ark.div,{...a,ref:r})})});q.displayName="RadioGroupRootProvider";const{withProvider:$,withContext:G,useStyles:z}=O.createSlotRecipeContext({key:"radioGroup"});$(q,"root",{forwardAsChild:!0});const oo=$(S,"root",{forwardAsChild:!0});G(_,"label",{forwardAsChild:!0});const to=G(k,"item",{forwardAsChild:!0}),eo=G(N,"itemText",{forwardAsChild:!0});G(C,"itemControl",{forwardAsChild:!0});const ro=d.forwardRef(function(r,t){const e=z();return s.jsxRuntimeExports.jsx(Y,{children:a=>s.jsxRuntimeExports.jsx(C,{asChild:!0,children:s.jsxRuntimeExports.jsx(T.Radiomark,{ref:t,unstyled:!0,...r,checked:a.checked,disabled:a.disabled,css:[e.itemControl,r.css]})})})}),so=y,A=K.default.forwardRef(({children:o,disabled:r=!1,invalid:t=!1,onContrast:e=!1,radioRef:a,radioType:n,rootRef:u,size:l="md",["data-testid"]:p="kibble-radio",...R},P)=>s.jsxRuntimeExports.jsxs(to,{className:"Radio","data-testid":p,invalid:t,disabled:r,ref:u,...R,children:[s.jsxRuntimeExports.jsx(so,{className:"Radio__Input","data-testid":`${p}-input`,ref:a||P}),s.jsxRuntimeExports.jsx(ro,{className:"Radio__Indicator","data-testid":`${p}-indicator`}),o&&s.jsxRuntimeExports.jsx(eo,{className:"Radio__Text","data-testid":`${p}-label`,...n==="cards"&&typeof o!="string"&&{mt:"-4px"},children:typeof o=="string"?s.jsxRuntimeExports.jsx(M.WrappedText,{size:l,lineHeight:"unset",variant:e?"onContrast":"default",...n==="chips"&&{color:"inherit"},children:o}):o})]}));A.displayName="Radio";const ao=w.withFormControl(A),W=({radios:o,defaultValue:r,direction:t,disabled:e,invalid:a,onContrast:n,size:u="md",radioType:l="default",onValueChange:p,value:R,gap:P=2,radioAlignment:H="start",["data-testid"]:L="kibble-radio-group",...B})=>{const F=n?"onContrast":"default",j=l==="chips",I=t??(j?"row":"column");return s.jsxRuntimeExports.jsx(oo,{className:"RadioGroup","data-testid":L,disabled:e,defaultValue:r,value:R,size:u,variant:F,radioType:l,radioAlignment:H,onValueChange:p,...B,children:l==="buttons"?s.jsxRuntimeExports.jsx(D.ButtonGroup,{onContrast:n,variant:"secondarySubtle",size:u,buttons:o.map((c,f)=>{const v=r===c.value||R===c.value;return{key:`button-radio-${f}`,children:c.children,active:v,disabled:e,"data-testid":c["data-testid"],onClick:()=>p?.({value:c.value}),...e&&v&&{...n?E.secondarySubtleOnContrastButtonStyles:E.secondarySubtleButtonStyles}}})}):s.jsxRuntimeExports.jsx(V.Stack,{gap:P,direction:I,...j&&{flexWrap:"wrap",alignItems:"flex-start"},children:o.map((c,f)=>s.jsxRuntimeExports.jsx(ao,{invalid:a,disabled:e,size:u,radioType:l,onContrast:n,...(I==="row"||j)&&{fullWidth:!1},...c},`radio-${f}`))})})};W.displayName="RadioGroup";const io=w.withFormControl(W),no=["default","buttons","cards","chips"],uo=["start","center","end"];exports.WrappedRadioGroup=io;exports.radioAlignments=uo;exports.radioTypes=no;
|
|
2
|
+
//# sourceMappingURL=radioGroup.types-BIhmFPWh.js.map
|