@solace-health/ui 0.10.693 → 0.10.695
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/BackLink/BackLink.cjs +1 -1
- package/dist/BackLink/BackLink.js +1 -1
- package/dist/Card/index.cjs +1 -1
- package/dist/Card/index.js +1 -1
- package/dist/DateDropdown/index.cjs +1 -1
- package/dist/DateDropdown/index.js +1 -1
- package/dist/DateSelectCalendar/DateSelectCalendar.cjs +1 -1
- package/dist/DateSelectCalendar/DateSelectCalendar.js +1 -1
- package/dist/Error/index.cjs +1 -1
- package/dist/Error/index.js +1 -1
- package/dist/ExpandableDrawer/index.cjs +1 -1
- package/dist/ExpandableDrawer/index.js +1 -1
- package/dist/File/index.cjs +1 -1
- package/dist/File/index.js +1 -1
- package/dist/Form/AddressSelect/index.cjs +1 -1
- package/dist/Form/AddressSelect/index.js +1 -1
- package/dist/Form/Checkbox/index.cjs +1 -1
- package/dist/Form/Checkbox/index.js +1 -1
- package/dist/Form/DateDropdown/index.cjs +1 -1
- package/dist/Form/DateDropdown/index.js +1 -1
- package/dist/Form/DateSelect/index.cjs +1 -1
- package/dist/Form/DateSelect/index.js +1 -1
- package/dist/Form/DateTextMaskInput/index.cjs +1 -1
- package/dist/Form/DateTextMaskInput/index.js +1 -1
- package/dist/Form/FileUpload/index.cjs +1 -1
- package/dist/Form/FileUpload/index.js +1 -1
- package/dist/Form/Keyword/index.cjs +1 -1
- package/dist/Form/Keyword/index.js +1 -1
- package/dist/Form/LocationSelect/index.cjs +1 -1
- package/dist/Form/LocationSelect/index.js +1 -1
- package/dist/Form/Number/index.cjs +1 -1
- package/dist/Form/Number/index.js +1 -1
- package/dist/Form/OTP/index.cjs +1 -1
- package/dist/Form/OTP/index.js +1 -1
- package/dist/Form/Radio/index.cjs +1 -1
- package/dist/Form/Radio/index.js +1 -1
- package/dist/Form/Select/index.cjs +1 -1
- package/dist/Form/Select/index.js +1 -1
- package/dist/Form/SelectMenu/index.cjs +1 -1
- package/dist/Form/SelectMenu/index.js +1 -1
- package/dist/Form/SentimentSelector/index.cjs +1 -1
- package/dist/Form/SentimentSelector/index.js +1 -1
- package/dist/Form/Signature/index.cjs +1 -1
- package/dist/Form/Signature/index.js +1 -1
- package/dist/Form/Text/index.cjs +1 -1
- package/dist/Form/Text/index.js +1 -1
- package/dist/Form/TextInput/index.cjs +1 -1
- package/dist/Form/TextInput/index.js +1 -1
- package/dist/Form/TimePicker/index.cjs +1 -1
- package/dist/Form/TimePicker/index.js +1 -1
- package/dist/Form/TimeSelect/index.cjs +1 -1
- package/dist/Form/TimeSelect/index.js +1 -1
- package/dist/Form/index.cjs +1 -1
- package/dist/Form/index.js +1 -1
- package/dist/Form/shared/FormInputLabel.cjs +1 -1
- package/dist/Form/shared/FormInputLabel.js +1 -1
- package/dist/Form/shared/HelpModal.cjs +1 -1
- package/dist/Form/shared/HelpModal.js +1 -1
- package/dist/IconSelector/IconSelector.cjs +1 -1
- package/dist/IconSelector/IconSelector.js +1 -1
- package/dist/Icons/index.cjs +1 -1
- package/dist/Icons/index.js +1 -1
- package/dist/Illustration/index.cjs +1 -1
- package/dist/Illustration/index.js +1 -1
- package/dist/Input/index.cjs +1 -1
- package/dist/Input/index.js +1 -1
- package/dist/Menu/ExpandIcon.cjs +1 -1
- package/dist/Menu/ExpandIcon.js +1 -1
- package/dist/Menu/index.cjs +1 -1
- package/dist/Menu/index.js +1 -1
- package/dist/Molecules/FilterPopover/FiltersMenu/FiltersMenu.cjs +1 -1
- package/dist/Molecules/FilterPopover/FiltersMenu/FiltersMenu.js +1 -1
- package/dist/Molecules/FilterPopover/index.cjs +1 -1
- package/dist/Molecules/FilterPopover/index.js +1 -1
- package/dist/NavigationMenu/ExpandIcon.cjs +1 -1
- package/dist/NavigationMenu/ExpandIcon.js +1 -1
- package/dist/NavigationMenu/index.cjs +1 -1
- package/dist/NavigationMenu/index.js +1 -1
- package/dist/Overlay/Overlay.cjs +1 -1
- package/dist/Overlay/Overlay.js +1 -1
- package/dist/PreviewDrawer/PreviewDrawer.cjs +1 -1
- package/dist/PreviewDrawer/PreviewDrawer.js +1 -1
- package/dist/PreviewDrawer/utils.cjs +1 -1
- package/dist/PreviewDrawer/utils.js +1 -1
- package/dist/Search/index.cjs +1 -1
- package/dist/Search/index.js +1 -1
- package/dist/SelectClient/index.cjs +1 -1
- package/dist/SelectClient/index.js +1 -1
- package/dist/SentimentSelector/index.cjs +1 -1
- package/dist/SentimentSelector/index.js +1 -1
- package/dist/SortableList/index.cjs +1 -1
- package/dist/SortableList/index.js +1 -1
- package/dist/Status/Status.cjs +1 -1
- package/dist/Status/Status.js +1 -1
- package/dist/Table/index.cjs +1 -1
- package/dist/Table/index.js +1 -1
- package/dist/TimeSelect/styles.cjs +4 -4
- package/dist/TimeSelect/styles.js +1 -1
- package/dist/{chunk-MGE3NPBN.js → chunk-5PC5MBAI.js} +2 -2
- package/dist/chunk-5PC5MBAI.js.map +1 -0
- package/dist/{chunk-GGYC2NHL.cjs → chunk-5SKXFG5Y.cjs} +2 -2
- package/dist/{chunk-GGYC2NHL.cjs.map → chunk-5SKXFG5Y.cjs.map} +1 -1
- package/dist/chunk-5YMWFKHF.cjs +3 -0
- package/dist/chunk-5YMWFKHF.cjs.map +1 -0
- package/dist/{chunk-RZHZWMZG.cjs → chunk-5ZJT4NON.cjs} +2 -2
- package/dist/{chunk-RZHZWMZG.cjs.map → chunk-5ZJT4NON.cjs.map} +1 -1
- package/dist/chunk-757OMTKD.js +2 -0
- package/dist/{chunk-N53WJOKF.js.map → chunk-757OMTKD.js.map} +1 -1
- package/dist/{chunk-HLHHTNKY.js → chunk-7OKSLNLM.js} +3 -3
- package/dist/{chunk-HLHHTNKY.js.map → chunk-7OKSLNLM.js.map} +1 -1
- package/dist/chunk-AMGCKCK6.js +3 -0
- package/dist/chunk-AMGCKCK6.js.map +1 -0
- package/dist/chunk-BEQWXMDW.cjs +2 -0
- package/dist/chunk-BEQWXMDW.cjs.map +1 -0
- package/dist/chunk-BVRJCIGC.js +2 -0
- package/dist/chunk-BVRJCIGC.js.map +1 -0
- package/dist/chunk-CEIPBWDG.cjs +2 -0
- package/dist/{chunk-XN7HXB3L.cjs.map → chunk-CEIPBWDG.cjs.map} +1 -1
- package/dist/{chunk-OTOLRIZM.cjs → chunk-CLUNLG4L.cjs} +2 -2
- package/dist/{chunk-OTOLRIZM.cjs.map → chunk-CLUNLG4L.cjs.map} +1 -1
- package/dist/{chunk-534IHHGW.js → chunk-EAQOKYS5.js} +2 -2
- package/dist/{chunk-534IHHGW.js.map → chunk-EAQOKYS5.js.map} +1 -1
- package/dist/{chunk-V6LLSXVL.cjs → chunk-EML3RLPJ.cjs} +2 -2
- package/dist/{chunk-V6LLSXVL.cjs.map → chunk-EML3RLPJ.cjs.map} +1 -1
- package/dist/{chunk-UDGKDTAI.cjs → chunk-EOZV2S3B.cjs} +2 -2
- package/dist/{chunk-UDGKDTAI.cjs.map → chunk-EOZV2S3B.cjs.map} +1 -1
- package/dist/{chunk-UM5IERUP.cjs → chunk-F2XGOPBN.cjs} +2 -2
- package/dist/chunk-F2XGOPBN.cjs.map +1 -0
- package/dist/{chunk-TBZVHQ3Y.js → chunk-FBADW6ON.js} +2 -2
- package/dist/{chunk-TBZVHQ3Y.js.map → chunk-FBADW6ON.js.map} +1 -1
- package/dist/chunk-FMTJDPSB.js +2 -0
- package/dist/{chunk-E62FFEBT.js.map → chunk-FMTJDPSB.js.map} +1 -1
- package/dist/chunk-GI5D4G3D.cjs +3 -0
- package/dist/chunk-GI5D4G3D.cjs.map +1 -0
- package/dist/{chunk-2KZYFEKJ.cjs → chunk-HCMJMPCZ.cjs} +3 -3
- package/dist/{chunk-2KZYFEKJ.cjs.map → chunk-HCMJMPCZ.cjs.map} +1 -1
- package/dist/{chunk-RGIMEMLH.js → chunk-IDMCKAYC.js} +2 -2
- package/dist/{chunk-RGIMEMLH.js.map → chunk-IDMCKAYC.js.map} +1 -1
- package/dist/chunk-JHTRS4GL.js +3 -0
- package/dist/chunk-JHTRS4GL.js.map +1 -0
- package/dist/{chunk-NGS5S5UC.js → chunk-K5FWHEG5.js} +2 -2
- package/dist/{chunk-NGS5S5UC.js.map → chunk-K5FWHEG5.js.map} +1 -1
- package/dist/{chunk-OSGYYNVQ.js → chunk-L3642URI.js} +2 -2
- package/dist/{chunk-OSGYYNVQ.js.map → chunk-L3642URI.js.map} +1 -1
- package/dist/{chunk-3TNLVKYK.cjs → chunk-LBZWEBND.cjs} +2 -2
- package/dist/{chunk-3TNLVKYK.cjs.map → chunk-LBZWEBND.cjs.map} +1 -1
- package/dist/chunk-LPH4UR2F.cjs +2 -0
- package/dist/{chunk-BBZ2JUWF.cjs.map → chunk-LPH4UR2F.cjs.map} +1 -1
- package/dist/chunk-LVQ73HQQ.cjs +2 -0
- package/dist/{chunk-BDFUOPI3.cjs.map → chunk-LVQ73HQQ.cjs.map} +1 -1
- package/dist/{chunk-X2WJOJKH.cjs → chunk-MK3WEKGC.cjs} +2 -2
- package/dist/{chunk-X2WJOJKH.cjs.map → chunk-MK3WEKGC.cjs.map} +1 -1
- package/dist/{chunk-37OXIT4U.cjs → chunk-MZU5NLDI.cjs} +2 -2
- package/dist/{chunk-37OXIT4U.cjs.map → chunk-MZU5NLDI.cjs.map} +1 -1
- package/dist/chunk-MZVRBL6S.js +2 -0
- package/dist/{chunk-IFGTEXJY.js.map → chunk-MZVRBL6S.js.map} +1 -1
- package/dist/{chunk-N7VC2Y6D.cjs → chunk-NQNIXM6Z.cjs} +2 -2
- package/dist/{chunk-N7VC2Y6D.cjs.map → chunk-NQNIXM6Z.cjs.map} +1 -1
- package/dist/{chunk-V47NI2SQ.js → chunk-O55E3HCB.js} +2 -2
- package/dist/{chunk-V47NI2SQ.js.map → chunk-O55E3HCB.js.map} +1 -1
- package/dist/{chunk-WXEE7YZS.js → chunk-OI6KQ27G.js} +2 -2
- package/dist/{chunk-WXEE7YZS.js.map → chunk-OI6KQ27G.js.map} +1 -1
- package/dist/chunk-QDMOGPMW.js +2 -0
- package/dist/{chunk-EANBBNS3.js.map → chunk-QDMOGPMW.js.map} +1 -1
- package/dist/{chunk-3FW4ID3V.js → chunk-RGU4MHWY.js} +2 -2
- package/dist/{chunk-3FW4ID3V.js.map → chunk-RGU4MHWY.js.map} +1 -1
- package/dist/{chunk-YDBPSVMW.js → chunk-SGDA3EH7.js} +3 -3
- package/dist/{chunk-YDBPSVMW.js.map → chunk-SGDA3EH7.js.map} +1 -1
- package/dist/{chunk-4ZIAJQ5V.js → chunk-SS4K2EGO.js} +2 -2
- package/dist/{chunk-4ZIAJQ5V.js.map → chunk-SS4K2EGO.js.map} +1 -1
- package/dist/chunk-SUWIJYAN.cjs +2 -0
- package/dist/{chunk-V5NBWPV4.cjs.map → chunk-SUWIJYAN.cjs.map} +1 -1
- package/dist/{chunk-DUJRADSY.cjs → chunk-T572TV6I.cjs} +2 -2
- package/dist/{chunk-DUJRADSY.cjs.map → chunk-T572TV6I.cjs.map} +1 -1
- package/dist/{chunk-UWVF3HNT.cjs → chunk-V2U2TLFN.cjs} +8 -8
- package/dist/{chunk-UWVF3HNT.cjs.map → chunk-V2U2TLFN.cjs.map} +1 -1
- package/dist/{chunk-UZGCNEY6.js → chunk-ZF7TZTE3.js} +2 -2
- package/dist/{chunk-UZGCNEY6.js.map → chunk-ZF7TZTE3.js.map} +1 -1
- package/dist/hooks/index.cjs +1 -1
- package/dist/hooks/index.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/metafile-cjs.json +1 -1
- package/dist/metafile-esm.json +1 -1
- package/dist/v2/button/button.cjs +1 -1
- package/dist/v2/button/button.js +1 -1
- package/dist/v2/calendar/calendar.cjs +1 -1
- package/dist/v2/calendar/calendar.js +1 -1
- package/dist/v2/carousel/carousel.cjs +1 -1
- package/dist/v2/carousel/carousel.js +1 -1
- package/dist/v2/checkbox/button-checkbox.cjs +1 -1
- package/dist/v2/checkbox/button-checkbox.js +1 -1
- package/dist/v2/checkbox-group/checkbox-group.cjs +1 -1
- package/dist/v2/checkbox-group/checkbox-group.js +1 -1
- package/dist/v2/combobox/combobox.cjs +1 -1
- package/dist/v2/combobox/combobox.js +1 -1
- package/dist/v2/command/command.cjs +1 -1
- package/dist/v2/command/command.js +1 -1
- package/dist/v2/custom-icons/custom-icons.stories.d.ts +7 -0
- package/dist/v2/custom-icons/index.cjs +2 -0
- package/dist/v2/custom-icons/index.cjs.map +1 -0
- package/dist/v2/custom-icons/index.d.ts +2 -0
- package/dist/v2/custom-icons/index.js +2 -0
- package/dist/v2/custom-icons/index.js.map +1 -0
- package/dist/v2/custom-icons/open-paperclip.cjs +2 -0
- package/dist/v2/custom-icons/open-paperclip.cjs.map +1 -0
- package/dist/v2/custom-icons/open-paperclip.d.ts +2 -0
- package/dist/v2/custom-icons/open-paperclip.js +2 -0
- package/dist/v2/custom-icons/open-paperclip.js.map +1 -0
- package/dist/v2/custom-icons/smiley-squinty-face.cjs +2 -0
- package/dist/v2/custom-icons/smiley-squinty-face.cjs.map +1 -0
- package/dist/v2/custom-icons/smiley-squinty-face.d.ts +2 -0
- package/dist/v2/custom-icons/smiley-squinty-face.js +2 -0
- package/dist/v2/custom-icons/smiley-squinty-face.js.map +1 -0
- package/dist/v2/date-picker/date-picker-input.cjs +1 -1
- package/dist/v2/date-picker/date-picker-input.js +1 -1
- package/dist/v2/date-picker/date-picker.cjs +1 -1
- package/dist/v2/date-picker/date-picker.js +1 -1
- package/dist/v2/dialog/dialog.cjs +1 -1
- package/dist/v2/dialog/dialog.js +1 -1
- package/dist/v2/drawer/drawer.cjs +1 -1
- package/dist/v2/drawer/drawer.js +1 -1
- package/dist/v2/expandable-text/expandable-text.cjs +1 -1
- package/dist/v2/expandable-text/expandable-text.js +1 -1
- package/dist/v2/flex-drawer/flex-drawer.cjs +1 -1
- package/dist/v2/flex-drawer/flex-drawer.js +1 -1
- package/dist/v2/image-preview/image-preview.cjs +1 -1
- package/dist/v2/image-preview/image-preview.js +1 -1
- package/dist/v2/index.cjs +1 -1
- package/dist/v2/index.d.ts +1 -0
- package/dist/v2/index.js +1 -1
- package/dist/v2/multiselect/components/MultiSelectCommandGroup.cjs +1 -1
- package/dist/v2/multiselect/components/MultiSelectCommandGroup.js +1 -1
- package/dist/v2/multiselect/components/MultiSelectDropdown.cjs +1 -1
- package/dist/v2/multiselect/components/MultiSelectDropdown.js +1 -1
- package/dist/v2/multiselect/components/MultiSelectInput.cjs +1 -1
- package/dist/v2/multiselect/components/MultiSelectInput.js +1 -1
- package/dist/v2/multiselect/multiselect.cjs +1 -1
- package/dist/v2/multiselect/multiselect.js +1 -1
- package/dist/v2/select/select.cjs +1 -1
- package/dist/v2/select/select.js +1 -1
- package/dist/v2/time-select/time-select.cjs +1 -1
- package/dist/v2/time-select/time-select.js +1 -1
- package/dist/v2/verified-advocate/verified-advocate.cjs +1 -1
- package/dist/v2/verified-advocate/verified-advocate.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-BBZ2JUWF.cjs +0 -2
- package/dist/chunk-BDFUOPI3.cjs +0 -2
- package/dist/chunk-E62FFEBT.js +0 -2
- package/dist/chunk-EANBBNS3.js +0 -2
- package/dist/chunk-IFGTEXJY.js +0 -2
- package/dist/chunk-MGE3NPBN.js.map +0 -1
- package/dist/chunk-N53WJOKF.js +0 -2
- package/dist/chunk-UM5IERUP.cjs.map +0 -1
- package/dist/chunk-V5NBWPV4.cjs +0 -2
- package/dist/chunk-XN7HXB3L.cjs +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/v2/multiselect/multiselect.tsx"],"names":["MultiSelect","forwardRef","props","ref","id","value","onChange","placeholder","externalDefaultOptions","externalOptions","delay","onSearch","triggerSearchOnOpen","loading","loadingIndicator","emptyIndicator","maxSelected","onMaxSelected","hidePlaceholderWhenSelected","disabled","className","classNames","badgeWrapperClassName","badgeClassName","getBadgeClassName","selectFirstItem","commandProps","inputProps","persistInputOnSelect","persistInputOnBlur","inputRef","commandRef","onSearchRef","scrollbarRef","prevExternalOptionsRef","useRefs","uniqueId","open","setOpen","selected","setSelected","options","setOptions","inputSearchValue","setInputSearchValue","debouncedSearchTerm","useMultiSelect","toggleOption","handleKeyDown","useInteractions","useSearch","useSyncOptions","useSyncSelected","useImperativeHandle","commandFilter","useCallback","jsxs","Command","e","cn","jsx","MultiSelectTrigger","MultiSelectInput","MultiSelectDropdown"],"mappings":"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","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/v2/multiselect/multiselect.tsx"],"names":["MultiSelect","forwardRef","props","ref","id","value","onChange","placeholder","externalDefaultOptions","externalOptions","delay","onSearch","triggerSearchOnOpen","loading","loadingIndicator","emptyIndicator","maxSelected","onMaxSelected","hidePlaceholderWhenSelected","disabled","className","classNames","badgeWrapperClassName","badgeClassName","getBadgeClassName","selectFirstItem","commandProps","inputProps","persistInputOnSelect","persistInputOnBlur","inputRef","commandRef","onSearchRef","scrollbarRef","prevExternalOptionsRef","useRefs","uniqueId","open","setOpen","selected","setSelected","options","setOptions","inputSearchValue","setInputSearchValue","debouncedSearchTerm","useMultiSelect","toggleOption","handleKeyDown","useInteractions","useSearch","useSyncOptions","useSyncSelected","useImperativeHandle","commandFilter","useCallback","jsxs","Command","e","cn","jsx","MultiSelectTrigger","MultiSelectInput","MultiSelectDropdown"],"mappings":"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","file":"chunk-EML3RLPJ.cjs","sourcesContent":["import { forwardRef, Ref, useCallback, useImperativeHandle } from 'react';\nimport { Command } from '@/v2/command/command';\nimport { cn } from '@/lib/utils';\nimport { MultiSelectProps, MultiSelectRef } from './types';\nimport { useMultiSelect } from './hooks/useMultiSelect';\nimport { useRefs } from './hooks/useRefs';\nimport { useInteractions } from './hooks/useInteractions';\nimport { useSearch } from './hooks/useSearch';\nimport { MultiSelectTrigger } from './components/MultiSelectTrigger';\nimport { MultiSelectInput } from './components/MultiSelectInput';\nimport { MultiSelectDropdown } from './components/MultiSelectDropdown';\nimport { useSyncOptions } from './hooks/useSyncOptions';\nimport { useSyncSelected } from './hooks/useSyncSelected';\n\nexport const MultiSelect = forwardRef<MultiSelectRef, MultiSelectProps>(\n (props: MultiSelectProps, ref: Ref<MultiSelectRef>) => {\n const {\n id,\n value,\n onChange,\n placeholder,\n defaultOptions: externalDefaultOptions = [],\n options: externalOptions = [],\n delay,\n onSearch,\n triggerSearchOnOpen,\n loading = false,\n loadingIndicator,\n emptyIndicator,\n maxSelected = 0,\n onMaxSelected,\n hidePlaceholderWhenSelected = true,\n disabled,\n className,\n classNames,\n badgeWrapperClassName,\n badgeClassName,\n getBadgeClassName = () => '',\n selectFirstItem = true,\n commandProps,\n inputProps,\n persistInputOnSelect = false,\n persistInputOnBlur = false,\n } = props;\n\n const { inputRef, commandRef, onSearchRef, scrollbarRef, prevExternalOptionsRef } = useRefs({\n onSearch,\n });\n\n const {\n uniqueId,\n open,\n setOpen,\n selected,\n setSelected,\n options,\n setOptions,\n inputSearchValue,\n setInputSearchValue,\n debouncedSearchTerm,\n } = useMultiSelect({\n id,\n value,\n defaultOptions: externalDefaultOptions,\n delay,\n });\n\n const { toggleOption, handleKeyDown } = useInteractions({\n open,\n selected,\n maxSelected,\n onChange,\n onMaxSelected,\n setInputSearchValue,\n commandRef,\n inputRef,\n setSelected,\n setOpen,\n persistInputOnSelect,\n });\n\n useSearch({\n debouncedSearchTerm,\n open,\n onSearchRef,\n triggerSearchOnOpen,\n });\n\n useSyncOptions({\n externalOptions,\n setOptions,\n prevExternalOptionsRef,\n });\n\n useSyncSelected({\n value,\n setSelected,\n });\n\n useImperativeHandle(\n ref,\n () => ({\n selectedValue: [...selected],\n input: inputRef.current as HTMLInputElement,\n focus: () => inputRef?.current?.focus(),\n reset: () => setSelected([]),\n }),\n [selected, inputRef, setSelected],\n );\n\n const commandFilter = useCallback(() => {\n if (commandProps?.filter) {\n return commandProps.filter;\n }\n\n // Using default filter in `cmdk`. We don't have to provide it.\n return undefined;\n }, [commandProps?.filter]);\n\n return (\n <Command\n ref={commandRef}\n {...commandProps}\n onKeyDown={(e) => {\n handleKeyDown(e);\n commandProps?.onKeyDown?.(e);\n }}\n className={cn('h-auto overflow-visible bg-transparent', commandProps?.className)}\n shouldFilter={\n commandProps?.shouldFilter !== undefined ? commandProps.shouldFilter : !onSearch\n } // When onSearch is provided, we don't want to filter the options. You can still override it.\n filter={commandFilter()}\n >\n <MultiSelectTrigger {...{ open, disabled, inputRef, selected, uniqueId, className }}>\n <MultiSelectInput\n {...{\n selected,\n scrollbarRef,\n toggleOption,\n inputProps,\n inputRef,\n open,\n setOpen,\n placeholder,\n hidePlaceholderWhenSelected,\n disabled,\n classNames,\n badgeWrapperClassName,\n badgeClassName,\n getBadgeClassName,\n inputSearchValue,\n setInputSearchValue,\n persistInputOnBlur,\n }}\n />\n </MultiSelectTrigger>\n\n <MultiSelectDropdown\n {...{\n uniqueId,\n scrollbarRef,\n open,\n loading,\n options,\n selected,\n toggleOption,\n onSearch,\n inputRef,\n emptyIndicator,\n loadingIndicator,\n selectFirstItem,\n }}\n />\n </Command>\n );\n },\n);\n\nMultiSelect.displayName = 'MultiSelect';\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
'use strict';var chunkF2XGOPBN_cjs=require('./chunk-F2XGOPBN.cjs'),chunkQAGOBPAT_cjs=require('./chunk-QAGOBPAT.cjs'),chunkSV7GB6CH_cjs=require('./chunk-SV7GB6CH.cjs'),chunkSOCTL7OO_cjs=require('./chunk-SOCTL7OO.cjs'),chunk4JAIMZSZ_cjs=require('./chunk-4JAIMZSZ.cjs'),chunk2DLCWPKO_cjs=require('./chunk-2DLCWPKO.cjs'),chunkQRO22BPZ_cjs=require('./chunk-QRO22BPZ.cjs'),react=require('react'),lu=require('react-icons/lu'),M=require('dayjs'),Te=require('dayjs/plugin/customParseFormat.js'),reactImask=require('react-imask'),reactDayPicker=require('react-day-picker'),jsxRuntime=require('react/jsx-runtime'),ye=require('react-easy-crop'),luxon=require('luxon');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var M__default=/*#__PURE__*/_interopDefault(M);var Te__default=/*#__PURE__*/_interopDefault(Te);var ye__default=/*#__PURE__*/_interopDefault(ye);function fe(a){let o=a.replace(/\D/g,"").slice(0,8);return o.length<=2?o:o.length<=4?`${o.slice(0,2)}/${o.slice(2)}`:`${o.slice(0,2)}/${o.slice(2,4)}/${o.slice(4)}`}function ge(a){if(a.length!==10)return;let o=a.split("/");if(o.length!==3||o[2].length!==4)return;let e=parseInt(o[0],10),n=parseInt(o[1],10),t=parseInt(o[2],10);if(Number.isNaN(e)||Number.isNaN(n)||Number.isNaN(t))return;let l=new Date(t,e-1,n);if(!(l.getFullYear()!==t||l.getMonth()!==e-1||l.getDate()!==n))return l}function Ce({className:a,wrapperClassName:o,value:e,onChange:n,disabled:t=false,calendarProps:l,placeholder:b="MM/DD/YYYY",variant:g}){let[c,u]=react.useState(false),[y,h]=react.useState(e),[w,i]=react.useState(e?M__default.default(e).format("MM/DD/YYYY"):""),p=react.useRef(e?M__default.default(e).format("MM/DD/YYYY"):"");react.useEffect(()=>{let r=e?M__default.default(e).format("MM/DD/YYYY"):"";r!==p.current&&(p.current=r,i(r),e&&h(e));},[e]);let C=r=>{let f=fe(r.target.value);i(f);let T=ge(f);T?(p.current=f,n?.(T)):f===""&&(p.current="",n?.(void 0));},d=r=>{r.key==="ArrowDown"&&(r.preventDefault(),u(true)),!/[0-9/]/.test(r.key)&&!["Backspace","Delete","ArrowLeft","ArrowRight","ArrowUp","Tab"].includes(r.key)&&!r.metaKey&&!r.ctrlKey&&r.preventDefault();};return jsxRuntime.jsxs("div",{className:chunkQRO22BPZ_cjs.a("relative w-full",o),children:[jsxRuntime.jsx("input",{type:"text","data-slot":"input",className:chunkQRO22BPZ_cjs.a(chunk2DLCWPKO_cjs.a({variant:g}),"pr-10",a),value:w,placeholder:b,onChange:C,onKeyDown:d,disabled:t}),jsxRuntime.jsxs(chunkSV7GB6CH_cjs.a,{open:!t&&c,onOpenChange:u,children:[jsxRuntime.jsx(chunkSV7GB6CH_cjs.b,{asChild:true,children:jsxRuntime.jsx(chunk4JAIMZSZ_cjs.b,{variant:"ghost-icon",size:"sm",className:"absolute top-1/2 right-1 -translate-y-1/2",disabled:t,"aria-label":"Select date",type:"button",children:jsxRuntime.jsx(lu.LuCalendar,{})})}),jsxRuntime.jsx(chunkSV7GB6CH_cjs.c,{className:"w-auto overflow-hidden p-0",align:"end",sideOffset:10,children:jsxRuntime.jsx(chunkSOCTL7OO_cjs.b,{mode:"single",selected:e,month:y,onMonthChange:h,onSelect:r=>{let f=r?M__default.default(r).format("MM/DD/YYYY"):"";p.current=f,i(f),n?.(r),u(false);},...l})})]})]})}var Se=({alt:a,className:o="",containerClassName:e="",imagePreview:n=void 0,cropper:t=void 0})=>{let[l,b]=react.useState(false),g=!n||!l,c=!!t;return jsxRuntime.jsxs("div",{className:chunkQRO22BPZ_cjs.a("flex max-w-[386px] flex-col",o),children:[jsxRuntime.jsxs("div",{className:chunkQRO22BPZ_cjs.a("relative h-60 rounded-md border",e),children:[n&&c?jsxRuntime.jsx(ye__default.default,{image:n,crop:t.crop,zoom:t.zoom,aspect:t.aspect,objectFit:"contain",onCropChange:t.setCrop,onZoomChange:t.setZoom,onCropComplete:t.onCropComplete,onMediaLoaded:()=>b(true),showGrid:false}):n&&jsxRuntime.jsx("img",{alt:a,className:`m-auto h-full w-full object-contain transition-opacity duration-300 ${l?"opacity-100":"opacity-0"}`,src:n,onLoad:()=>b(true),draggable:false}),g&&jsxRuntime.jsx("div",{"aria-label":n?"Loading image":"Awaiting image",className:"from-grey-300 to-grey-300 absolute inset-0 animate-pulse bg-gradient-to-r"})]}),!g&&c&&jsxRuntime.jsxs("div",{className:"mt-3 flex flex-col items-center justify-between gap-1 px-1 sm:flex-row sm:gap-4",children:[jsxRuntime.jsxs("div",{className:"flex w-full items-center gap-3",children:[jsxRuntime.jsx(chunk4JAIMZSZ_cjs.b,{"aria-label":"zoom out",onClick:()=>t.setZoom(Math.max(t.zoom-.1,1)),className:"h-8",variant:"ghost-icon",children:jsxRuntime.jsx(lu.LuZoomOut,{})}),jsxRuntime.jsx(chunkQAGOBPAT_cjs.a,{value:[t.zoom],min:1,max:3,step:.01,onValueChange:u=>t.setZoom(u[0]),className:"w-full sm:flex-50",classNames:{thumb:"border-2 border-green-800",range:"bg-green-900"}}),jsxRuntime.jsx(chunk4JAIMZSZ_cjs.b,{"aria-label":"zoom in",onClick:()=>t.setZoom(Math.min(t.zoom+.1,3)),variant:"ghost-icon",className:"h-8",children:jsxRuntime.jsx(lu.LuZoomIn,{})})]}),jsxRuntime.jsxs(chunk4JAIMZSZ_cjs.b,{onClick:t.reset,variant:"ghost",className:"h-8 p-2",children:[jsxRuntime.jsx(lu.LuRefreshCcw,{}),"Reset"]})]})]})};var W="00:00",ee="24:00",te=a=>luxon.DateTime.fromFormat(a,"HH:mm").isValid,oe=({startTime:a=W,endTime:o=ee,interval:e=30,onChange:n=void 0,className:t="",placeholder:l="Select one",size:b="default",portal:g=true,triggerIcon:c,getSublabel:u,...y})=>{te(a)||(console.error(`Invalid startTime: ${a}`),a=W),te(o)||(console.error(`Invalid endTime: ${o}`),o=ee);let h=react.useMemo(()=>{let i=luxon.DateTime.fromFormat(o,"HH:mm"),p=luxon.Duration.fromObject({minutes:e}),C=[],d=luxon.DateTime.fromFormat(a,"HH:mm");for(;d<=i;){let r=d.toFormat("HH:mm");r==="00:00"&&d.equals(i)&&(r="24:00"),C.push({label:d.toFormat("h:mm a"),value:{hour:d.toFormat("HH"),min:d.toFormat("mm"),raw:r,formatted:d.toFormat("h:mm a")}}),d=d.plus(p);}return C},[a,o,e]);return jsxRuntime.jsxs(chunkF2XGOPBN_cjs.a,{onValueChange:i=>{let p=h.find(C=>C.value.raw===i);p&&n?.(p);},...y,children:[jsxRuntime.jsx(chunkF2XGOPBN_cjs.d,{className:chunkQRO22BPZ_cjs.a("max-w-[240px] md:w-[150px]",t),size:b,triggerIcon:c,children:jsxRuntime.jsx(chunkF2XGOPBN_cjs.c,{placeholder:l})}),jsxRuntime.jsx(chunkF2XGOPBN_cjs.g,{position:"popper",className:"max-h-90",portal:g,children:h.map(i=>{let p=u?.(i);return jsxRuntime.jsx(chunkF2XGOPBN_cjs.i,{className:chunkQRO22BPZ_cjs.a(p?"h-auto py-2":"h-10"),value:i.value.raw,sublabel:p,children:i.label},i.value.raw)})})]})},Qe=oe;M__default.default.extend(Te__default.default);var ae="MM/DD/YYYY",ke="00/00/0000",X=["MM/DD/YYYY","MM/D/YYYY","M/DD/YYYY","M/D/YYYY","YYYY-MM-DD"];function I(a){return a?M__default.default(a).format(ae):""}function Me({className:a="",wrapperClassName:o="",value:e=void 0,onChange:n=void 0,disabled:t=false,calendarProps:l=void 0,placeholder:b,inputProps:g=void 0,showCalendarIcon:c=true,editable:u=false}){let[y,h]=react.useState(false),w=b??(u?ae:"Pick a date"),[i,p]=react.useState(void 0),C=react.useRef(e);e!==C.current&&(C.current=e,i!==void 0&&p(void 0));let d=i??e,r=s=>l?.disabled?!reactDayPicker.isMatch(s,l.disabled):true,f=react.useRef(n);f.current=n;let T=react.useRef(r);T.current=r;let{ref:q,setValue:L}=reactImask.useIMask({mask:ke,lazy:true,overwrite:false},{onComplete:s=>{let D=M__default.default(s,X,true);D.isValid()&&T.current(D.toDate())&&f.current?.(D.toDate());}}),ie=s=>{n?.(s),L(I(s)),h(false);},pe=s=>{let D=s.clipboardData.getData("text").trim(),V=M__default.default(D,X,true);if(V.isValid()&&r(V.toDate())){s.preventDefault();let J=V.toDate();n?.(J),L(I(J));}},se=()=>{L(I(e));},le=()=>{let s=q.current?.value??"";if(s===""){e!==void 0&&n?.(void 0);return}let D=M__default.default(s,X,true);D.isValid()&&r(D.toDate())&&n?.(D.toDate()),L(I(e));},me=chunkQRO22BPZ_cjs.a(chunk2DLCWPKO_cjs.a(),c&&"pl-10",y?"border-dark-green":"",a);return jsxRuntime.jsxs(chunkSV7GB6CH_cjs.a,{open:!t&&y,onOpenChange:h,children:[jsxRuntime.jsx(chunkSV7GB6CH_cjs.b,{asChild:true,children:jsxRuntime.jsxs("div",{className:chunkQRO22BPZ_cjs.a("relative flex w-full items-center rounded-md",o),children:[u?jsxRuntime.jsx("input",{ref:q,defaultValue:I(e),className:me,placeholder:w,disabled:t,onFocus:se,onPaste:pe,onBlur:s=>{le(),g?.onBlur?.(s);}}):jsxRuntime.jsx(chunk2DLCWPKO_cjs.b,{className:chunkQRO22BPZ_cjs.a(c&&"pl-10",y?"border-dark-green":"",a),...g,value:I(e),placeholder:w,readOnly:true,disabled:t}),c&&jsxRuntime.jsx("div",{className:chunkQRO22BPZ_cjs.a("absolute top-1/2 left-4 h-4 w-4 -translate-y-1/2",t?"text-gray-400":"cursor-pointer text-black"),children:jsxRuntime.jsx(lu.LuCalendar,{size:16})})]})}),jsxRuntime.jsx(chunkSV7GB6CH_cjs.c,{className:"w-auto overflow-hidden p-0",align:"start",onOpenAutoFocus:u?s=>s.preventDefault():void 0,children:jsxRuntime.jsx(chunkSOCTL7OO_cjs.b,{mode:"single",selected:e?M__default.default(e).toDate():void 0,onSelect:ie,...u?{month:d,onMonthChange:p}:{},...l})})]})}exports.a=Me;exports.b=Ce;exports.c=Se;exports.d=oe;exports.e=Qe;//# sourceMappingURL=chunk-EOZV2S3B.cjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-EOZV2S3B.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/v2/date-picker/date-picker-input.tsx","../src/v2/image-preview/image-preview.tsx","../src/v2/time-select/time-select.tsx","../src/v2/date-picker/date-picker.tsx"],"names":["maskDate","value","digits","parseDate","parts","month","day","year","date","DatePickerInput","className","wrapperClassName","onChange","disabled","calendarProps","placeholder","variant","open","setOpen","useState","setMonth","inputValue","setInputValue","dayjs","lastSyncedRef","useRef","useEffect","formatted","handleInputChange","e","masked","parsed","handleKeyDown","jsxs","cn","jsx","inputVariants","Popover","PopoverTrigger","Button","LuCalendar","PopoverContent","Calendar","d","ImagePreview","alt","containerClassName","imagePreview","cropper","loaded","setLoaded","showLoader","enableCrop","Cropper","LuZoomOut","Slider","v","LuZoomIn","LuRefreshCcw","START_TIME_DEFAULT","END_TIME_DEFAULT","isValidTime","time","DateTime","TimeSelect","startTime","endTime","interval","size","portal","triggerIcon","getSublabel","inputProps","intervals","useMemo","dtEnd","durationInterval","Duration","res","i","raw","Select","SelectTrigger","SelectValue","SelectContent","sublabel","SelectItem","time_select_default","customParseFormat","DISPLAY_FORMAT","INPUT_MASK","ACCEPTED_INPUT_FORMATS","formatDate","DatePicker","placeholderProp","showCalendarIcon","editable","navigatedMonth","setNavigatedMonth","prevValueForMonth","calendarMonth","isDateAllowed","isMatch","onChangeRef","isDateAllowedRef","maskRef","setMaskValue","useIMask","maskedValue","handleSelect","val","handlePaste","pasted","handleFocus","handleBlur","current","inputClasses","Input"],"mappings":"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","file":"chunk-UDGKDTAI.cjs","sourcesContent":["import * as React from 'react';\nimport { ComponentProps, useEffect, useRef, useState } from 'react';\nimport { LuCalendar } from 'react-icons/lu';\nimport dayjs from 'dayjs';\nimport { Calendar, Button, Popover, PopoverContent, PopoverTrigger } from '@/v2';\nimport { cn } from '@/lib/utils';\nimport { inputVariants } from '../input/input';\n\nfunction maskDate(value: string): string {\n const digits = value.replace(/\\D/g, '').slice(0, 8);\n if (digits.length <= 2) return digits;\n if (digits.length <= 4) return `${digits.slice(0, 2)}/${digits.slice(2)}`;\n return `${digits.slice(0, 2)}/${digits.slice(2, 4)}/${digits.slice(4)}`;\n}\n\nfunction parseDate(value: string): Date | undefined {\n if (value.length !== 10) return undefined;\n const parts = value.split('/');\n if (parts.length !== 3 || parts[2].length !== 4) return undefined;\n const month = parseInt(parts[0], 10);\n const day = parseInt(parts[1], 10);\n const year = parseInt(parts[2], 10);\n if (Number.isNaN(month) || Number.isNaN(day) || Number.isNaN(year)) return undefined;\n const date = new Date(year, month - 1, day);\n if (date.getFullYear() !== year || date.getMonth() !== month - 1 || date.getDate() !== day) {\n return undefined;\n }\n return date;\n}\n\nexport type DatePickerInputProps = {\n className?: string;\n wrapperClassName?: string;\n value?: Date;\n onChange?: (value: Date | undefined) => void;\n disabled?: boolean;\n calendarProps?: Omit<ComponentProps<typeof Calendar>, 'mode' | 'selected' | 'onSelect'>;\n placeholder?: string;\n variant?: 'default' | 'invalid';\n};\n\nexport function DatePickerInput({\n className,\n wrapperClassName,\n value,\n onChange,\n disabled = false,\n calendarProps,\n placeholder = 'MM/DD/YYYY',\n variant,\n}: DatePickerInputProps) {\n const [open, setOpen] = useState(false);\n const [month, setMonth] = useState<Date | undefined>(value);\n const [inputValue, setInputValue] = useState<string>(\n value ? dayjs(value).format('MM/DD/YYYY') : '',\n );\n // Track the last value we synced from props to avoid overwriting partial user input\n const lastSyncedRef = useRef(value ? dayjs(value).format('MM/DD/YYYY') : '');\n\n useEffect(() => {\n const formatted = value ? dayjs(value).format('MM/DD/YYYY') : '';\n if (formatted !== lastSyncedRef.current) {\n lastSyncedRef.current = formatted;\n setInputValue(formatted);\n if (value) setMonth(value);\n }\n }, [value]);\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const masked = maskDate(e.target.value);\n setInputValue(masked);\n const parsed = parseDate(masked);\n if (parsed) {\n lastSyncedRef.current = masked;\n onChange?.(parsed);\n } else if (masked === '') {\n lastSyncedRef.current = '';\n onChange?.(undefined);\n }\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n setOpen(true);\n }\n if (\n !/[0-9/]/.test(e.key) &&\n !['Backspace', 'Delete', 'ArrowLeft', 'ArrowRight', 'ArrowUp', 'Tab'].includes(e.key) &&\n !e.metaKey &&\n !e.ctrlKey\n ) {\n e.preventDefault();\n }\n };\n\n return (\n <div className={cn('relative w-full', wrapperClassName)}>\n <input\n type=\"text\"\n data-slot=\"input\"\n className={cn(inputVariants({ variant }), 'pr-10', className)}\n value={inputValue}\n placeholder={placeholder}\n onChange={handleInputChange}\n onKeyDown={handleKeyDown}\n disabled={disabled}\n />\n <Popover open={!disabled && open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <Button\n variant=\"ghost-icon\"\n size=\"sm\"\n className=\"absolute top-1/2 right-1 -translate-y-1/2\"\n disabled={disabled}\n aria-label=\"Select date\"\n type=\"button\"\n >\n <LuCalendar />\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-auto overflow-hidden p-0\" align=\"end\" sideOffset={10}>\n <Calendar\n mode=\"single\"\n selected={value}\n month={month}\n onMonthChange={setMonth}\n onSelect={(d) => {\n const formatted = d ? dayjs(d).format('MM/DD/YYYY') : '';\n lastSyncedRef.current = formatted;\n setInputValue(formatted);\n onChange?.(d);\n setOpen(false);\n }}\n {...calendarProps}\n />\n </PopoverContent>\n </Popover>\n </div>\n );\n}\n","import { useState } from 'react';\nimport { LuRefreshCcw, LuZoomIn, LuZoomOut } from 'react-icons/lu';\nimport Cropper from 'react-easy-crop';\nimport { Button, Slider } from '../index';\nimport type { UseImageCropper } from './useImageCropper';\nimport { cn } from '@/lib/utils';\n\nexport type ImagePreviewProps = {\n alt: string;\n className?: string;\n containerClassName?: string;\n imagePreview?: string; // optional so we can show skeleton while awaiting URL\n cropper?: UseImageCropper; // when provided, show cropping UI\n};\n\nexport const ImagePreview = ({\n alt,\n className = '',\n containerClassName = '',\n imagePreview = undefined,\n cropper = undefined,\n}: ImagePreviewProps) => {\n const [loaded, setLoaded] = useState(false);\n const showLoader = !imagePreview || !loaded;\n const enableCrop = !!cropper;\n\n return (\n <div className={cn(`flex max-w-[386px] flex-col`, className)}>\n <div className={cn('relative h-60 rounded-md border', containerClassName)}>\n {imagePreview && enableCrop ? (\n <Cropper\n image={imagePreview}\n crop={cropper.crop}\n zoom={cropper.zoom}\n aspect={cropper.aspect}\n objectFit=\"contain\"\n onCropChange={cropper.setCrop}\n onZoomChange={cropper.setZoom}\n onCropComplete={cropper.onCropComplete}\n onMediaLoaded={() => setLoaded(true)}\n showGrid={false}\n />\n ) : (\n imagePreview && (\n <img\n alt={alt}\n className={`m-auto h-full w-full object-contain transition-opacity duration-300 ${loaded ? 'opacity-100' : 'opacity-0'}`}\n src={imagePreview}\n onLoad={() => setLoaded(true)}\n draggable={false}\n />\n )\n )}\n\n {showLoader && (\n <div\n aria-label={imagePreview ? 'Loading image' : 'Awaiting image'}\n className=\"from-grey-300 to-grey-300 absolute inset-0 animate-pulse bg-gradient-to-r\"\n />\n )}\n </div>\n\n {!showLoader && enableCrop && (\n <div className=\"mt-3 flex flex-col items-center justify-between gap-1 px-1 sm:flex-row sm:gap-4\">\n <div className=\"flex w-full items-center gap-3\">\n <Button\n aria-label=\"zoom out\"\n onClick={() => cropper.setZoom(Math.max(cropper.zoom - 0.1, 1))}\n className=\"h-8\"\n variant=\"ghost-icon\"\n >\n <LuZoomOut />\n </Button>\n\n <Slider\n value={[cropper.zoom]}\n min={1}\n max={3}\n step={0.01}\n onValueChange={(v: number[]) => cropper.setZoom(v[0])}\n className=\"w-full sm:flex-50\"\n classNames={{ thumb: 'border-2 border-green-800', range: 'bg-green-900' }}\n />\n\n <Button\n aria-label=\"zoom in\"\n onClick={() => cropper.setZoom(Math.min(cropper.zoom + 0.1, 3))}\n variant=\"ghost-icon\"\n className=\"h-8\"\n >\n <LuZoomIn />\n </Button>\n </div>\n\n <Button onClick={cropper.reset} variant=\"ghost\" className=\"h-8 p-2\">\n <LuRefreshCcw />\n Reset\n </Button>\n </div>\n )}\n </div>\n );\n};\n","import { DateTime, Duration } from 'luxon';\nimport { useMemo } from 'react';\nimport type { ReactElement, ReactNode } from 'react';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/v2';\nimport { cn } from '@/lib/utils';\n\nexport type Interval = {\n label: string;\n value: {\n hour: string;\n min: string;\n raw: string;\n formatted: string;\n };\n};\n\ntype Props = {\n startTime?: string;\n endTime?: string;\n interval?: number;\n onChange?: (e: Interval) => void;\n className?: string;\n placeholder?: string;\n size?: 'default' | 'sm';\n portal?: boolean;\n triggerIcon?: ReactElement;\n getSublabel?: (interval: Interval) => ReactNode;\n [inputProps: string]: unknown;\n};\n\nconst START_TIME_DEFAULT = '00:00';\nconst END_TIME_DEFAULT = '24:00';\n\nconst isValidTime = (time: string) => {\n const dt = DateTime.fromFormat(time, 'HH:mm');\n return dt.isValid;\n};\n\nexport const TimeSelect = ({\n startTime = START_TIME_DEFAULT,\n endTime = END_TIME_DEFAULT,\n interval = 30,\n onChange = undefined,\n className = '',\n placeholder = 'Select one',\n size = 'default',\n portal = true,\n triggerIcon,\n getSublabel,\n ...inputProps\n}: Props) => {\n if (!isValidTime(startTime)) {\n console.error(`Invalid startTime: ${startTime}`);\n // eslint-disable-next-line no-param-reassign\n startTime = START_TIME_DEFAULT;\n }\n if (!isValidTime(endTime)) {\n console.error(`Invalid endTime: ${endTime}`);\n // eslint-disable-next-line no-param-reassign\n endTime = END_TIME_DEFAULT;\n }\n\n const intervals = useMemo((): Interval[] => {\n const dtEnd = DateTime.fromFormat(endTime, 'HH:mm');\n const durationInterval = Duration.fromObject({ minutes: interval });\n const res = [];\n let i = DateTime.fromFormat(startTime, 'HH:mm');\n while (i <= dtEnd) {\n let raw = i.toFormat('HH:mm');\n // Avoid duplicate keys for \"00:00\" and \"00:00\" (end of day)\n if (raw === '00:00' && i.equals(dtEnd)) raw = '24:00';\n\n res.push({\n label: i.toFormat('h:mm a'),\n value: {\n hour: i.toFormat('HH'),\n min: i.toFormat('mm'),\n raw,\n formatted: i.toFormat('h:mm a'),\n },\n });\n i = i.plus(durationInterval);\n }\n\n return res;\n }, [startTime, endTime, interval]);\n\n const handleOnSelect = (e: unknown) => {\n const interval = intervals.find((time) => time.value.raw === e);\n\n if (!interval) return;\n\n onChange?.(interval);\n };\n\n return (\n <Select onValueChange={handleOnSelect} {...inputProps}>\n <SelectTrigger\n className={cn('max-w-[240px] md:w-[150px]', className)}\n size={size}\n triggerIcon={triggerIcon}\n >\n <SelectValue placeholder={placeholder} />\n </SelectTrigger>\n <SelectContent position=\"popper\" className=\"max-h-90\" portal={portal}>\n {intervals.map((time) => {\n const sublabel = getSublabel?.(time);\n return (\n <SelectItem\n className={cn(sublabel ? 'h-auto py-2' : 'h-10')}\n key={time.value.raw}\n value={time.value.raw}\n sublabel={sublabel}\n >\n {time.label}\n </SelectItem>\n );\n })}\n </SelectContent>\n </Select>\n );\n};\n\nexport default TimeSelect;\n","import { ComponentProps, useRef, useState } from 'react';\nimport { LuCalendar } from 'react-icons/lu';\nimport dayjs from 'dayjs';\nimport customParseFormat from 'dayjs/plugin/customParseFormat.js';\nimport { useIMask } from 'react-imask';\nimport { isMatch } from 'react-day-picker';\nimport { Calendar, Input, Popover, PopoverContent, PopoverTrigger } from '@/v2';\nimport { cn } from '@/lib/utils';\nimport { inputVariants } from '@/v2/input/input';\nimport type { InputProps } from '@/v2/input/input';\n\ndayjs.extend(customParseFormat);\n\n/** Display and input format for dates. Also used as the placeholder when `editable` is true. */\nconst DISPLAY_FORMAT = 'MM/DD/YYYY';\n\n/** IMask pattern — each `0` is a required digit, slashes are fixed literals. */\nconst INPUT_MASK = '00/00/0000';\n\n/**\n * Formats accepted when parsing typed or pasted input (dayjs strict mode).\n * Ordered from most specific to least specific to avoid ambiguous matches.\n */\nconst ACCEPTED_INPUT_FORMATS = ['MM/DD/YYYY', 'MM/D/YYYY', 'M/DD/YYYY', 'M/D/YYYY', 'YYYY-MM-DD'];\n\nexport type DatePickerProps = {\n /** Additional class name(s) applied to the input element. */\n className?: string;\n /** Additional class name(s) applied to the outer popover trigger wrapper. */\n wrapperClassName?: string;\n /** The currently selected date. `undefined` means no date is selected. */\n value?: Date;\n /** Called when the selected date changes. Receives `undefined` when the date is cleared. */\n onChange?: (value: Date | undefined) => void;\n /** When `true`, the picker is non-interactive. */\n disabled?: boolean;\n /**\n * Props forwarded to the underlying `Calendar` component (react-day-picker).\n * Use `disabled` within this object to restrict selectable dates — these\n * constraints apply to both calendar clicks and typed input when `editable` is `true`.\n *\n * @example\n * ```tsx\n * <DatePicker calendarProps={{ disabled: [{ before: new Date() }] }} />\n * ```\n */\n calendarProps?: Omit<ComponentProps<typeof Calendar>, 'mode' | 'selected' | 'onSelect'>;\n /**\n * Input placeholder text. Defaults to `\"Pick a date\"` in read-only mode\n * and `\"MM/DD/YYYY\"` when `editable` is `true`.\n */\n placeholder?: string;\n /** Props forwarded to the underlying `Input` component. */\n inputProps?: InputProps;\n /** Whether to show the calendar icon inside the input. @default true */\n showCalendarIcon?: boolean;\n /**\n * When `true`, the input accepts typed and pasted dates in `MM/DD/YYYY` format.\n * Slashes are auto-inserted, non-numeric characters are rejected, and common\n * formats like `M/D/YYYY` and `YYYY-MM-DD` are accepted on paste.\n * Dates that fall in `calendarProps.disabled` ranges are rejected.\n *\n * When `false` (default), the input is read-only and dates can only be\n * selected via the calendar popover.\n *\n * @default false\n */\n editable?: boolean;\n};\n\nfunction formatDate(date: Date | undefined): string {\n return date ? dayjs(date).format(DISPLAY_FORMAT) : '';\n}\n\n/**\n * A date picker that combines a text input with a calendar popover.\n *\n * By default the input is read-only — dates are selected via the calendar.\n * Set `editable` to allow typing or pasting dates in `MM/DD/YYYY` format.\n */\nexport function DatePicker({\n className = '',\n wrapperClassName = '',\n value = undefined,\n onChange = undefined,\n disabled = false,\n calendarProps = undefined,\n placeholder: placeholderProp,\n inputProps = undefined,\n showCalendarIcon = true,\n editable = false,\n}: DatePickerProps) {\n const [open, setOpen] = useState(false);\n const placeholder = placeholderProp ?? (editable ? DISPLAY_FORMAT : 'Pick a date');\n\n // Calendar month: derived from value, with user navigation override.\n // When value changes, navigation resets to the new value's month.\n const [navigatedMonth, setNavigatedMonth] = useState<Date | undefined>(undefined);\n const prevValueForMonth = useRef(value);\n if (value !== prevValueForMonth.current) {\n prevValueForMonth.current = value;\n if (navigatedMonth !== undefined) {\n setNavigatedMonth(undefined);\n }\n }\n const calendarMonth = navigatedMonth ?? value;\n\n const isDateAllowed = (date: Date): boolean => {\n if (!calendarProps?.disabled) {\n return true;\n }\n return !isMatch(date, calendarProps.disabled);\n };\n\n // Refs ensure IMask callbacks always see the latest values without re-creating the mask\n const onChangeRef = useRef(onChange);\n onChangeRef.current = onChange;\n const isDateAllowedRef = useRef(isDateAllowed);\n isDateAllowedRef.current = isDateAllowed;\n\n const { ref: maskRef, setValue: setMaskValue } = useIMask<HTMLInputElement>(\n { mask: INPUT_MASK, lazy: true, overwrite: false },\n {\n onComplete: (maskedValue) => {\n const parsed = dayjs(maskedValue, ACCEPTED_INPUT_FORMATS, true);\n if (parsed.isValid() && isDateAllowedRef.current(parsed.toDate())) {\n onChangeRef.current?.(parsed.toDate());\n }\n },\n },\n );\n\n const handleSelect = (val: Date | undefined) => {\n onChange?.(val);\n setMaskValue(formatDate(val));\n setOpen(false);\n };\n\n const handlePaste = (e: React.ClipboardEvent<HTMLInputElement>) => {\n const pasted = e.clipboardData.getData('text').trim();\n const parsed = dayjs(pasted, ACCEPTED_INPUT_FORMATS, true);\n if (parsed.isValid() && isDateAllowed(parsed.toDate())) {\n e.preventDefault();\n const date = parsed.toDate();\n onChange?.(date);\n setMaskValue(formatDate(date));\n }\n // If we can't parse it, let IMask handle it naturally\n };\n\n const handleFocus = () => {\n // Sync the mask to the current value on focus — handles external parent resets\n setMaskValue(formatDate(value));\n };\n\n const handleBlur = () => {\n const current = maskRef.current?.value ?? '';\n if (current === '') {\n if (value !== undefined) {\n onChange?.(undefined);\n }\n return;\n }\n const parsed = dayjs(current, ACCEPTED_INPUT_FORMATS, true);\n if (parsed.isValid() && isDateAllowed(parsed.toDate())) {\n onChange?.(parsed.toDate());\n }\n // Revert to last valid display value\n setMaskValue(formatDate(value));\n };\n\n const inputClasses = cn(\n inputVariants(),\n showCalendarIcon && 'pl-10',\n open ? 'border-dark-green' : '',\n className,\n );\n\n return (\n <Popover open={!disabled && open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <div className={cn('relative flex w-full items-center rounded-md', wrapperClassName)}>\n {editable ? (\n <input\n ref={maskRef}\n defaultValue={formatDate(value)}\n className={inputClasses}\n placeholder={placeholder}\n disabled={disabled}\n onFocus={handleFocus}\n onPaste={handlePaste}\n onBlur={(e) => {\n handleBlur();\n inputProps?.onBlur?.(e);\n }}\n />\n ) : (\n <Input\n className={cn(\n showCalendarIcon && 'pl-10',\n open ? 'border-dark-green' : '',\n className,\n )}\n {...inputProps}\n value={formatDate(value)}\n placeholder={placeholder}\n readOnly\n disabled={disabled}\n />\n )}\n {showCalendarIcon && (\n <div\n className={cn(\n 'absolute top-1/2 left-4 h-4 w-4 -translate-y-1/2',\n disabled ? 'text-gray-400' : 'cursor-pointer text-black',\n )}\n >\n <LuCalendar size={16} />\n </div>\n )}\n </div>\n </PopoverTrigger>\n <PopoverContent\n className=\"w-auto overflow-hidden p-0\"\n align=\"start\"\n onOpenAutoFocus={editable ? (e) => e.preventDefault() : undefined}\n >\n <Calendar\n mode=\"single\"\n selected={value ? dayjs(value).toDate() : undefined}\n onSelect={handleSelect}\n {...(editable ? { month: calendarMonth, onMonthChange: setNavigatedMonth } : {})}\n {...calendarProps}\n />\n </PopoverContent>\n </Popover>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/v2/date-picker/date-picker-input.tsx","../src/v2/image-preview/image-preview.tsx","../src/v2/time-select/time-select.tsx","../src/v2/date-picker/date-picker.tsx"],"names":["maskDate","value","digits","parseDate","parts","month","day","year","date","DatePickerInput","className","wrapperClassName","onChange","disabled","calendarProps","placeholder","variant","open","setOpen","useState","setMonth","inputValue","setInputValue","dayjs","lastSyncedRef","useRef","useEffect","formatted","handleInputChange","e","masked","parsed","handleKeyDown","jsxs","cn","jsx","inputVariants","Popover","PopoverTrigger","Button","LuCalendar","PopoverContent","Calendar","d","ImagePreview","alt","containerClassName","imagePreview","cropper","loaded","setLoaded","showLoader","enableCrop","Cropper","LuZoomOut","Slider","v","LuZoomIn","LuRefreshCcw","START_TIME_DEFAULT","END_TIME_DEFAULT","isValidTime","time","DateTime","TimeSelect","startTime","endTime","interval","size","portal","triggerIcon","getSublabel","inputProps","intervals","useMemo","dtEnd","durationInterval","Duration","res","i","raw","Select","SelectTrigger","SelectValue","SelectContent","sublabel","SelectItem","time_select_default","customParseFormat","DISPLAY_FORMAT","INPUT_MASK","ACCEPTED_INPUT_FORMATS","formatDate","DatePicker","placeholderProp","showCalendarIcon","editable","navigatedMonth","setNavigatedMonth","prevValueForMonth","calendarMonth","isDateAllowed","isMatch","onChangeRef","isDateAllowedRef","maskRef","setMaskValue","useIMask","maskedValue","handleSelect","val","handlePaste","pasted","handleFocus","handleBlur","current","inputClasses","Input"],"mappings":"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","file":"chunk-EOZV2S3B.cjs","sourcesContent":["import * as React from 'react';\nimport { ComponentProps, useEffect, useRef, useState } from 'react';\nimport { LuCalendar } from 'react-icons/lu';\nimport dayjs from 'dayjs';\nimport { Calendar, Button, Popover, PopoverContent, PopoverTrigger } from '@/v2';\nimport { cn } from '@/lib/utils';\nimport { inputVariants } from '../input/input';\n\nfunction maskDate(value: string): string {\n const digits = value.replace(/\\D/g, '').slice(0, 8);\n if (digits.length <= 2) return digits;\n if (digits.length <= 4) return `${digits.slice(0, 2)}/${digits.slice(2)}`;\n return `${digits.slice(0, 2)}/${digits.slice(2, 4)}/${digits.slice(4)}`;\n}\n\nfunction parseDate(value: string): Date | undefined {\n if (value.length !== 10) return undefined;\n const parts = value.split('/');\n if (parts.length !== 3 || parts[2].length !== 4) return undefined;\n const month = parseInt(parts[0], 10);\n const day = parseInt(parts[1], 10);\n const year = parseInt(parts[2], 10);\n if (Number.isNaN(month) || Number.isNaN(day) || Number.isNaN(year)) return undefined;\n const date = new Date(year, month - 1, day);\n if (date.getFullYear() !== year || date.getMonth() !== month - 1 || date.getDate() !== day) {\n return undefined;\n }\n return date;\n}\n\nexport type DatePickerInputProps = {\n className?: string;\n wrapperClassName?: string;\n value?: Date;\n onChange?: (value: Date | undefined) => void;\n disabled?: boolean;\n calendarProps?: Omit<ComponentProps<typeof Calendar>, 'mode' | 'selected' | 'onSelect'>;\n placeholder?: string;\n variant?: 'default' | 'invalid';\n};\n\nexport function DatePickerInput({\n className,\n wrapperClassName,\n value,\n onChange,\n disabled = false,\n calendarProps,\n placeholder = 'MM/DD/YYYY',\n variant,\n}: DatePickerInputProps) {\n const [open, setOpen] = useState(false);\n const [month, setMonth] = useState<Date | undefined>(value);\n const [inputValue, setInputValue] = useState<string>(\n value ? dayjs(value).format('MM/DD/YYYY') : '',\n );\n // Track the last value we synced from props to avoid overwriting partial user input\n const lastSyncedRef = useRef(value ? dayjs(value).format('MM/DD/YYYY') : '');\n\n useEffect(() => {\n const formatted = value ? dayjs(value).format('MM/DD/YYYY') : '';\n if (formatted !== lastSyncedRef.current) {\n lastSyncedRef.current = formatted;\n setInputValue(formatted);\n if (value) setMonth(value);\n }\n }, [value]);\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const masked = maskDate(e.target.value);\n setInputValue(masked);\n const parsed = parseDate(masked);\n if (parsed) {\n lastSyncedRef.current = masked;\n onChange?.(parsed);\n } else if (masked === '') {\n lastSyncedRef.current = '';\n onChange?.(undefined);\n }\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n setOpen(true);\n }\n if (\n !/[0-9/]/.test(e.key) &&\n !['Backspace', 'Delete', 'ArrowLeft', 'ArrowRight', 'ArrowUp', 'Tab'].includes(e.key) &&\n !e.metaKey &&\n !e.ctrlKey\n ) {\n e.preventDefault();\n }\n };\n\n return (\n <div className={cn('relative w-full', wrapperClassName)}>\n <input\n type=\"text\"\n data-slot=\"input\"\n className={cn(inputVariants({ variant }), 'pr-10', className)}\n value={inputValue}\n placeholder={placeholder}\n onChange={handleInputChange}\n onKeyDown={handleKeyDown}\n disabled={disabled}\n />\n <Popover open={!disabled && open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <Button\n variant=\"ghost-icon\"\n size=\"sm\"\n className=\"absolute top-1/2 right-1 -translate-y-1/2\"\n disabled={disabled}\n aria-label=\"Select date\"\n type=\"button\"\n >\n <LuCalendar />\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-auto overflow-hidden p-0\" align=\"end\" sideOffset={10}>\n <Calendar\n mode=\"single\"\n selected={value}\n month={month}\n onMonthChange={setMonth}\n onSelect={(d) => {\n const formatted = d ? dayjs(d).format('MM/DD/YYYY') : '';\n lastSyncedRef.current = formatted;\n setInputValue(formatted);\n onChange?.(d);\n setOpen(false);\n }}\n {...calendarProps}\n />\n </PopoverContent>\n </Popover>\n </div>\n );\n}\n","import { useState } from 'react';\nimport { LuRefreshCcw, LuZoomIn, LuZoomOut } from 'react-icons/lu';\nimport Cropper from 'react-easy-crop';\nimport { Button, Slider } from '../index';\nimport type { UseImageCropper } from './useImageCropper';\nimport { cn } from '@/lib/utils';\n\nexport type ImagePreviewProps = {\n alt: string;\n className?: string;\n containerClassName?: string;\n imagePreview?: string; // optional so we can show skeleton while awaiting URL\n cropper?: UseImageCropper; // when provided, show cropping UI\n};\n\nexport const ImagePreview = ({\n alt,\n className = '',\n containerClassName = '',\n imagePreview = undefined,\n cropper = undefined,\n}: ImagePreviewProps) => {\n const [loaded, setLoaded] = useState(false);\n const showLoader = !imagePreview || !loaded;\n const enableCrop = !!cropper;\n\n return (\n <div className={cn(`flex max-w-[386px] flex-col`, className)}>\n <div className={cn('relative h-60 rounded-md border', containerClassName)}>\n {imagePreview && enableCrop ? (\n <Cropper\n image={imagePreview}\n crop={cropper.crop}\n zoom={cropper.zoom}\n aspect={cropper.aspect}\n objectFit=\"contain\"\n onCropChange={cropper.setCrop}\n onZoomChange={cropper.setZoom}\n onCropComplete={cropper.onCropComplete}\n onMediaLoaded={() => setLoaded(true)}\n showGrid={false}\n />\n ) : (\n imagePreview && (\n <img\n alt={alt}\n className={`m-auto h-full w-full object-contain transition-opacity duration-300 ${loaded ? 'opacity-100' : 'opacity-0'}`}\n src={imagePreview}\n onLoad={() => setLoaded(true)}\n draggable={false}\n />\n )\n )}\n\n {showLoader && (\n <div\n aria-label={imagePreview ? 'Loading image' : 'Awaiting image'}\n className=\"from-grey-300 to-grey-300 absolute inset-0 animate-pulse bg-gradient-to-r\"\n />\n )}\n </div>\n\n {!showLoader && enableCrop && (\n <div className=\"mt-3 flex flex-col items-center justify-between gap-1 px-1 sm:flex-row sm:gap-4\">\n <div className=\"flex w-full items-center gap-3\">\n <Button\n aria-label=\"zoom out\"\n onClick={() => cropper.setZoom(Math.max(cropper.zoom - 0.1, 1))}\n className=\"h-8\"\n variant=\"ghost-icon\"\n >\n <LuZoomOut />\n </Button>\n\n <Slider\n value={[cropper.zoom]}\n min={1}\n max={3}\n step={0.01}\n onValueChange={(v: number[]) => cropper.setZoom(v[0])}\n className=\"w-full sm:flex-50\"\n classNames={{ thumb: 'border-2 border-green-800', range: 'bg-green-900' }}\n />\n\n <Button\n aria-label=\"zoom in\"\n onClick={() => cropper.setZoom(Math.min(cropper.zoom + 0.1, 3))}\n variant=\"ghost-icon\"\n className=\"h-8\"\n >\n <LuZoomIn />\n </Button>\n </div>\n\n <Button onClick={cropper.reset} variant=\"ghost\" className=\"h-8 p-2\">\n <LuRefreshCcw />\n Reset\n </Button>\n </div>\n )}\n </div>\n );\n};\n","import { DateTime, Duration } from 'luxon';\nimport { useMemo } from 'react';\nimport type { ReactElement, ReactNode } from 'react';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/v2';\nimport { cn } from '@/lib/utils';\n\nexport type Interval = {\n label: string;\n value: {\n hour: string;\n min: string;\n raw: string;\n formatted: string;\n };\n};\n\ntype Props = {\n startTime?: string;\n endTime?: string;\n interval?: number;\n onChange?: (e: Interval) => void;\n className?: string;\n placeholder?: string;\n size?: 'default' | 'sm';\n portal?: boolean;\n triggerIcon?: ReactElement;\n getSublabel?: (interval: Interval) => ReactNode;\n [inputProps: string]: unknown;\n};\n\nconst START_TIME_DEFAULT = '00:00';\nconst END_TIME_DEFAULT = '24:00';\n\nconst isValidTime = (time: string) => {\n const dt = DateTime.fromFormat(time, 'HH:mm');\n return dt.isValid;\n};\n\nexport const TimeSelect = ({\n startTime = START_TIME_DEFAULT,\n endTime = END_TIME_DEFAULT,\n interval = 30,\n onChange = undefined,\n className = '',\n placeholder = 'Select one',\n size = 'default',\n portal = true,\n triggerIcon,\n getSublabel,\n ...inputProps\n}: Props) => {\n if (!isValidTime(startTime)) {\n console.error(`Invalid startTime: ${startTime}`);\n // eslint-disable-next-line no-param-reassign\n startTime = START_TIME_DEFAULT;\n }\n if (!isValidTime(endTime)) {\n console.error(`Invalid endTime: ${endTime}`);\n // eslint-disable-next-line no-param-reassign\n endTime = END_TIME_DEFAULT;\n }\n\n const intervals = useMemo((): Interval[] => {\n const dtEnd = DateTime.fromFormat(endTime, 'HH:mm');\n const durationInterval = Duration.fromObject({ minutes: interval });\n const res = [];\n let i = DateTime.fromFormat(startTime, 'HH:mm');\n while (i <= dtEnd) {\n let raw = i.toFormat('HH:mm');\n // Avoid duplicate keys for \"00:00\" and \"00:00\" (end of day)\n if (raw === '00:00' && i.equals(dtEnd)) raw = '24:00';\n\n res.push({\n label: i.toFormat('h:mm a'),\n value: {\n hour: i.toFormat('HH'),\n min: i.toFormat('mm'),\n raw,\n formatted: i.toFormat('h:mm a'),\n },\n });\n i = i.plus(durationInterval);\n }\n\n return res;\n }, [startTime, endTime, interval]);\n\n const handleOnSelect = (e: unknown) => {\n const interval = intervals.find((time) => time.value.raw === e);\n\n if (!interval) return;\n\n onChange?.(interval);\n };\n\n return (\n <Select onValueChange={handleOnSelect} {...inputProps}>\n <SelectTrigger\n className={cn('max-w-[240px] md:w-[150px]', className)}\n size={size}\n triggerIcon={triggerIcon}\n >\n <SelectValue placeholder={placeholder} />\n </SelectTrigger>\n <SelectContent position=\"popper\" className=\"max-h-90\" portal={portal}>\n {intervals.map((time) => {\n const sublabel = getSublabel?.(time);\n return (\n <SelectItem\n className={cn(sublabel ? 'h-auto py-2' : 'h-10')}\n key={time.value.raw}\n value={time.value.raw}\n sublabel={sublabel}\n >\n {time.label}\n </SelectItem>\n );\n })}\n </SelectContent>\n </Select>\n );\n};\n\nexport default TimeSelect;\n","import { ComponentProps, useRef, useState } from 'react';\nimport { LuCalendar } from 'react-icons/lu';\nimport dayjs from 'dayjs';\nimport customParseFormat from 'dayjs/plugin/customParseFormat.js';\nimport { useIMask } from 'react-imask';\nimport { isMatch } from 'react-day-picker';\nimport { Calendar, Input, Popover, PopoverContent, PopoverTrigger } from '@/v2';\nimport { cn } from '@/lib/utils';\nimport { inputVariants } from '@/v2/input/input';\nimport type { InputProps } from '@/v2/input/input';\n\ndayjs.extend(customParseFormat);\n\n/** Display and input format for dates. Also used as the placeholder when `editable` is true. */\nconst DISPLAY_FORMAT = 'MM/DD/YYYY';\n\n/** IMask pattern — each `0` is a required digit, slashes are fixed literals. */\nconst INPUT_MASK = '00/00/0000';\n\n/**\n * Formats accepted when parsing typed or pasted input (dayjs strict mode).\n * Ordered from most specific to least specific to avoid ambiguous matches.\n */\nconst ACCEPTED_INPUT_FORMATS = ['MM/DD/YYYY', 'MM/D/YYYY', 'M/DD/YYYY', 'M/D/YYYY', 'YYYY-MM-DD'];\n\nexport type DatePickerProps = {\n /** Additional class name(s) applied to the input element. */\n className?: string;\n /** Additional class name(s) applied to the outer popover trigger wrapper. */\n wrapperClassName?: string;\n /** The currently selected date. `undefined` means no date is selected. */\n value?: Date;\n /** Called when the selected date changes. Receives `undefined` when the date is cleared. */\n onChange?: (value: Date | undefined) => void;\n /** When `true`, the picker is non-interactive. */\n disabled?: boolean;\n /**\n * Props forwarded to the underlying `Calendar` component (react-day-picker).\n * Use `disabled` within this object to restrict selectable dates — these\n * constraints apply to both calendar clicks and typed input when `editable` is `true`.\n *\n * @example\n * ```tsx\n * <DatePicker calendarProps={{ disabled: [{ before: new Date() }] }} />\n * ```\n */\n calendarProps?: Omit<ComponentProps<typeof Calendar>, 'mode' | 'selected' | 'onSelect'>;\n /**\n * Input placeholder text. Defaults to `\"Pick a date\"` in read-only mode\n * and `\"MM/DD/YYYY\"` when `editable` is `true`.\n */\n placeholder?: string;\n /** Props forwarded to the underlying `Input` component. */\n inputProps?: InputProps;\n /** Whether to show the calendar icon inside the input. @default true */\n showCalendarIcon?: boolean;\n /**\n * When `true`, the input accepts typed and pasted dates in `MM/DD/YYYY` format.\n * Slashes are auto-inserted, non-numeric characters are rejected, and common\n * formats like `M/D/YYYY` and `YYYY-MM-DD` are accepted on paste.\n * Dates that fall in `calendarProps.disabled` ranges are rejected.\n *\n * When `false` (default), the input is read-only and dates can only be\n * selected via the calendar popover.\n *\n * @default false\n */\n editable?: boolean;\n};\n\nfunction formatDate(date: Date | undefined): string {\n return date ? dayjs(date).format(DISPLAY_FORMAT) : '';\n}\n\n/**\n * A date picker that combines a text input with a calendar popover.\n *\n * By default the input is read-only — dates are selected via the calendar.\n * Set `editable` to allow typing or pasting dates in `MM/DD/YYYY` format.\n */\nexport function DatePicker({\n className = '',\n wrapperClassName = '',\n value = undefined,\n onChange = undefined,\n disabled = false,\n calendarProps = undefined,\n placeholder: placeholderProp,\n inputProps = undefined,\n showCalendarIcon = true,\n editable = false,\n}: DatePickerProps) {\n const [open, setOpen] = useState(false);\n const placeholder = placeholderProp ?? (editable ? DISPLAY_FORMAT : 'Pick a date');\n\n // Calendar month: derived from value, with user navigation override.\n // When value changes, navigation resets to the new value's month.\n const [navigatedMonth, setNavigatedMonth] = useState<Date | undefined>(undefined);\n const prevValueForMonth = useRef(value);\n if (value !== prevValueForMonth.current) {\n prevValueForMonth.current = value;\n if (navigatedMonth !== undefined) {\n setNavigatedMonth(undefined);\n }\n }\n const calendarMonth = navigatedMonth ?? value;\n\n const isDateAllowed = (date: Date): boolean => {\n if (!calendarProps?.disabled) {\n return true;\n }\n return !isMatch(date, calendarProps.disabled);\n };\n\n // Refs ensure IMask callbacks always see the latest values without re-creating the mask\n const onChangeRef = useRef(onChange);\n onChangeRef.current = onChange;\n const isDateAllowedRef = useRef(isDateAllowed);\n isDateAllowedRef.current = isDateAllowed;\n\n const { ref: maskRef, setValue: setMaskValue } = useIMask<HTMLInputElement>(\n { mask: INPUT_MASK, lazy: true, overwrite: false },\n {\n onComplete: (maskedValue) => {\n const parsed = dayjs(maskedValue, ACCEPTED_INPUT_FORMATS, true);\n if (parsed.isValid() && isDateAllowedRef.current(parsed.toDate())) {\n onChangeRef.current?.(parsed.toDate());\n }\n },\n },\n );\n\n const handleSelect = (val: Date | undefined) => {\n onChange?.(val);\n setMaskValue(formatDate(val));\n setOpen(false);\n };\n\n const handlePaste = (e: React.ClipboardEvent<HTMLInputElement>) => {\n const pasted = e.clipboardData.getData('text').trim();\n const parsed = dayjs(pasted, ACCEPTED_INPUT_FORMATS, true);\n if (parsed.isValid() && isDateAllowed(parsed.toDate())) {\n e.preventDefault();\n const date = parsed.toDate();\n onChange?.(date);\n setMaskValue(formatDate(date));\n }\n // If we can't parse it, let IMask handle it naturally\n };\n\n const handleFocus = () => {\n // Sync the mask to the current value on focus — handles external parent resets\n setMaskValue(formatDate(value));\n };\n\n const handleBlur = () => {\n const current = maskRef.current?.value ?? '';\n if (current === '') {\n if (value !== undefined) {\n onChange?.(undefined);\n }\n return;\n }\n const parsed = dayjs(current, ACCEPTED_INPUT_FORMATS, true);\n if (parsed.isValid() && isDateAllowed(parsed.toDate())) {\n onChange?.(parsed.toDate());\n }\n // Revert to last valid display value\n setMaskValue(formatDate(value));\n };\n\n const inputClasses = cn(\n inputVariants(),\n showCalendarIcon && 'pl-10',\n open ? 'border-dark-green' : '',\n className,\n );\n\n return (\n <Popover open={!disabled && open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <div className={cn('relative flex w-full items-center rounded-md', wrapperClassName)}>\n {editable ? (\n <input\n ref={maskRef}\n defaultValue={formatDate(value)}\n className={inputClasses}\n placeholder={placeholder}\n disabled={disabled}\n onFocus={handleFocus}\n onPaste={handlePaste}\n onBlur={(e) => {\n handleBlur();\n inputProps?.onBlur?.(e);\n }}\n />\n ) : (\n <Input\n className={cn(\n showCalendarIcon && 'pl-10',\n open ? 'border-dark-green' : '',\n className,\n )}\n {...inputProps}\n value={formatDate(value)}\n placeholder={placeholder}\n readOnly\n disabled={disabled}\n />\n )}\n {showCalendarIcon && (\n <div\n className={cn(\n 'absolute top-1/2 left-4 h-4 w-4 -translate-y-1/2',\n disabled ? 'text-gray-400' : 'cursor-pointer text-black',\n )}\n >\n <LuCalendar size={16} />\n </div>\n )}\n </div>\n </PopoverTrigger>\n <PopoverContent\n className=\"w-auto overflow-hidden p-0\"\n align=\"start\"\n onOpenAutoFocus={editable ? (e) => e.preventDefault() : undefined}\n >\n <Calendar\n mode=\"single\"\n selected={value ? dayjs(value).toDate() : undefined}\n onSelect={handleSelect}\n {...(editable ? { month: calendarMonth, onMonthChange: setNavigatedMonth } : {})}\n {...calendarProps}\n />\n </PopoverContent>\n </Popover>\n );\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var chunkQRO22BPZ_cjs=require('./chunk-QRO22BPZ.cjs'),e=require('@radix-ui/react-select'),lu=require('react-icons/lu'),jsxRuntime=require('react/jsx-runtime');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var e__namespace=/*#__PURE__*/_interopNamespace(e);function x({...a}){return jsxRuntime.jsx(e__namespace.Root,{"data-slot":"select",...a})}function b({...a}){return jsxRuntime.jsx(e__namespace.Group,{"data-slot":"select-group",...a})}function h({...a}){return jsxRuntime.jsx(e__namespace.Value,{"data-slot":"select-value",...a})}function y({className:a,size:o="default",children:r,open:l=false,styled:n=true,triggerIcon:c,...u}){let v=chunkQRO22BPZ_cjs.a("flex w-full items-center justify-between gap-2 bg-white px-3 py-2 text-left whitespace-nowrap","border-input rounded-md border",l&&"border-dark-green","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40","disabled:cursor-not-allowed disabled:bg-gray-200 disabled:opacity-50","hover:enabled:border-dark-green","shadow-xs transition-all outline-none","data-[placeholder]:text-gray-700","[&_svg:not([class*='text-'])]:text-gray-950","[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4","data-[size=default]:h-12 data-[size=md]:h-10 data-[size=sm]:h-8","*:data-[slot=select-value]:flex *:data-[slot=select-value]:w-0 *:data-[slot=select-value]:flex-1","*:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2",a);return jsxRuntime.jsxs(e__namespace.Trigger,{"data-slot":"select-trigger","data-size":o,className:n?v:a,...u,children:[r,n&&jsxRuntime.jsx(e__namespace.Icon,{asChild:true,children:c??(l?jsxRuntime.jsx(lu.LuChevronUp,{}):jsxRuntime.jsx(lu.LuChevronDown,{}))})]})}function f({className:a,...o}){return jsxRuntime.jsx(e__namespace.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:chunkQRO22BPZ_cjs.a("flex cursor-default items-center justify-center py-1",a),...o,children:jsxRuntime.jsx(lu.LuChevronUp,{className:"size-4"})})}function g({className:a,...o}){return jsxRuntime.jsx(e__namespace.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:chunkQRO22BPZ_cjs.a("flex cursor-default items-center justify-center py-1",a),...o,children:jsxRuntime.jsx(lu.LuChevronDown,{className:"size-4"})})}function w({className:a,children:o,position:r="popper",portal:l=true,...n}){let c=jsxRuntime.jsxs(e__namespace.Content,{"data-slot":"select-content",className:chunkQRO22BPZ_cjs.a("bg-popover text-popover-foreground","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=open]:fade-in-0 data-[state=closed]:fade-out-0","data-[state=open]:zoom-in-95 data-[state=closed]:zoom-out-95","data-[side=bottom]:slide-in-from-top-2","data-[side=left]:slide-in-from-right-2","data-[side=right]:slide-in-from-left-2","data-[side=top]:slide-in-from-bottom-2","z-modal-stacking-context relative","min-w-[8rem]","max-h-[var(--radix-select-content-available-height)]","origin-[var(--radix-select-content-transform-origin)]","overflow-x-hidden overflow-y-auto","rounded-md border shadow-md",r==="popper"&&["data-[side=bottom]:translate-y-1","data-[side=left]:-translate-x-1","data-[side=right]:translate-x-1","data-[side=top]:-translate-y-1"],a),position:r,...n,children:[jsxRuntime.jsx(f,{}),jsxRuntime.jsx(e__namespace.Viewport,{className:chunkQRO22BPZ_cjs.a(r==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1 p-1"),children:o}),jsxRuntime.jsx(g,{})]});return l?jsxRuntime.jsx(e__namespace.Portal,{children:c}):c}function C({className:a,...o}){return jsxRuntime.jsx(e__namespace.Label,{"data-slot":"select-label",className:chunkQRO22BPZ_cjs.a("text-muted-foreground px-3 py-1.5 text-xs",a),...o})}function R({className:a,children:o,showIconOnHover:r=false,sublabel:l,...n}){return jsxRuntime.jsxs(e__namespace.Item,{"data-slot":"select-item",className:chunkQRO22BPZ_cjs.a("focus:text-primary hover:text-primary hover:bg-green-50 focus:bg-green-100","data-[state=checked]:text-primary data-[state=checked]:bg-green-200 data-[state=checked]:font-bold","group relative flex h-12 w-full items-center gap-2 py-1.5
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
'use strict';var chunkQRO22BPZ_cjs=require('./chunk-QRO22BPZ.cjs'),e=require('@radix-ui/react-select'),lu=require('react-icons/lu'),jsxRuntime=require('react/jsx-runtime');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var e__namespace=/*#__PURE__*/_interopNamespace(e);function x({...a}){return jsxRuntime.jsx(e__namespace.Root,{"data-slot":"select",...a})}function b({...a}){return jsxRuntime.jsx(e__namespace.Group,{"data-slot":"select-group",...a})}function h({...a}){return jsxRuntime.jsx(e__namespace.Value,{"data-slot":"select-value",...a})}function y({className:a,size:o="default",children:r,open:l=false,styled:n=true,triggerIcon:c,...u}){let v=chunkQRO22BPZ_cjs.a("flex w-full items-center justify-between gap-2 bg-white px-3 py-2 text-left whitespace-nowrap","border-input rounded-md border",l&&"border-dark-green","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40","disabled:cursor-not-allowed disabled:bg-gray-200 disabled:opacity-50","hover:enabled:border-dark-green","shadow-xs transition-all outline-none","data-[placeholder]:text-gray-700","[&_svg:not([class*='text-'])]:text-gray-950","[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4","data-[size=default]:h-12 data-[size=md]:h-10 data-[size=sm]:h-8","*:data-[slot=select-value]:flex *:data-[slot=select-value]:w-0 *:data-[slot=select-value]:flex-1","*:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2",a);return jsxRuntime.jsxs(e__namespace.Trigger,{"data-slot":"select-trigger","data-size":o,className:n?v:a,...u,children:[r,n&&jsxRuntime.jsx(e__namespace.Icon,{asChild:true,children:c??(l?jsxRuntime.jsx(lu.LuChevronUp,{}):jsxRuntime.jsx(lu.LuChevronDown,{}))})]})}function f({className:a,...o}){return jsxRuntime.jsx(e__namespace.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:chunkQRO22BPZ_cjs.a("flex cursor-default items-center justify-center py-1",a),...o,children:jsxRuntime.jsx(lu.LuChevronUp,{className:"size-4"})})}function g({className:a,...o}){return jsxRuntime.jsx(e__namespace.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:chunkQRO22BPZ_cjs.a("flex cursor-default items-center justify-center py-1",a),...o,children:jsxRuntime.jsx(lu.LuChevronDown,{className:"size-4"})})}function w({className:a,children:o,position:r="popper",portal:l=true,...n}){let c=jsxRuntime.jsxs(e__namespace.Content,{"data-slot":"select-content",className:chunkQRO22BPZ_cjs.a("bg-popover text-popover-foreground","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=open]:fade-in-0 data-[state=closed]:fade-out-0","data-[state=open]:zoom-in-95 data-[state=closed]:zoom-out-95","data-[side=bottom]:slide-in-from-top-2","data-[side=left]:slide-in-from-right-2","data-[side=right]:slide-in-from-left-2","data-[side=top]:slide-in-from-bottom-2","z-modal-stacking-context relative","min-w-[8rem]","max-h-[var(--radix-select-content-available-height)]","origin-[var(--radix-select-content-transform-origin)]","overflow-x-hidden overflow-y-auto","rounded-md border shadow-md",r==="popper"&&["data-[side=bottom]:translate-y-1","data-[side=left]:-translate-x-1","data-[side=right]:translate-x-1","data-[side=top]:-translate-y-1"],a),position:r,...n,children:[jsxRuntime.jsx(f,{}),jsxRuntime.jsx(e__namespace.Viewport,{className:chunkQRO22BPZ_cjs.a(r==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1 p-1"),children:o}),jsxRuntime.jsx(g,{})]});return l?jsxRuntime.jsx(e__namespace.Portal,{children:c}):c}function C({className:a,...o}){return jsxRuntime.jsx(e__namespace.Label,{"data-slot":"select-label",className:chunkQRO22BPZ_cjs.a("text-muted-foreground px-3 py-1.5 text-xs",a),...o})}function R({className:a,children:o,showIconOnHover:r=false,sublabel:l,...n}){return jsxRuntime.jsxs(e__namespace.Item,{"data-slot":"select-item",className:chunkQRO22BPZ_cjs.a("focus:text-primary hover:text-primary hover:bg-green-50 focus:bg-green-100","data-[state=checked]:text-primary data-[state=checked]:bg-green-200 data-[state=checked]:font-bold","group relative flex h-12 w-full items-center gap-2 px-3 py-1.5","text-md select-none","rounded-sm","cursor-default outline-none","data-[disabled]:pointer-events-none data-[disabled]:opacity-50","[&_svg]:pointer-events-none [&_svg]:shrink-0","[&_svg:not([class*='text-'])]:text-green-600","[&_svg:not([class*='size-'])]:size-4",a),...n,children:[jsxRuntime.jsxs("div",{className:"flex flex-col",children:[jsxRuntime.jsx(e__namespace.ItemText,{children:o}),l&&jsxRuntime.jsx("span",{className:"text-muted-foreground text-xs",children:l})]}),r&&jsxRuntime.jsxs("div",{className:"relative ml-auto flex h-4 w-4 shrink-0 items-center justify-center",children:[jsxRuntime.jsx(e__namespace.ItemIndicator,{children:jsxRuntime.jsx(lu.LuCheck,{className:"h-4 w-4 text-green-600"})}),jsxRuntime.jsx(lu.LuCheck,{className:chunkQRO22BPZ_cjs.a("absolute h-4 w-4 text-green-600 opacity-0 transition-opacity duration-150","group-hover:opacity-100","group-data-[state=checked]:opacity-0")})]})]})}function N({className:a,...o}){return jsxRuntime.jsx(e__namespace.Separator,{"data-slot":"select-separator",className:chunkQRO22BPZ_cjs.a("bg-border h-2px pointer-events-none -mx-1 my-1",a),...o})}exports.a=x;exports.b=b;exports.c=h;exports.d=y;exports.e=f;exports.f=g;exports.g=w;exports.h=C;exports.i=R;exports.j=N;//# sourceMappingURL=chunk-F2XGOPBN.cjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-F2XGOPBN.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/v2/select/select.tsx"],"names":["Select","props","jsx","e","SelectGroup","SelectValue","SelectTrigger","className","size","children","open","styled","triggerIcon","styles","cn","jsxs","LuChevronUp","LuChevronDown","SelectScrollUpButton","SelectScrollDownButton","SelectContent","position","portal","content","SelectLabel","SelectItem","showIconOnHover","sublabel","LuCheck","SelectSeparator"],"mappings":"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","file":"chunk-F2XGOPBN.cjs","sourcesContent":["import * as React from 'react';\nimport * as SelectPrimitive from '@radix-ui/react-select';\nimport { LuCheck, LuChevronDown, LuChevronUp } from 'react-icons/lu';\n\nimport { cn } from '@/lib/utils';\n\nfunction Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />;\n}\n\nfunction SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />;\n}\n\nfunction SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />;\n}\n\nfunction SelectTrigger({\n className,\n size = 'default',\n children,\n open = false,\n styled = true,\n triggerIcon,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: 'sm' | 'md' | 'default';\n open?: boolean;\n styled?: boolean;\n triggerIcon?: React.ReactElement;\n}) {\n const styles = cn(\n // Layout & spacing\n 'flex w-full items-center justify-between gap-2 bg-white px-3 py-2 text-left whitespace-nowrap',\n\n // Border & ring\n 'border-input rounded-md border',\n open && 'border-dark-green', // conditional green border when open\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]',\n\n // States\n 'aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40',\n 'disabled:cursor-not-allowed disabled:bg-gray-200 disabled:opacity-50',\n 'hover:enabled:border-dark-green',\n\n // Shadow & transitions\n 'shadow-xs transition-all outline-none',\n\n // Placeholder & icons\n 'data-[placeholder]:text-gray-700',\n \"[&_svg:not([class*='text-'])]:text-gray-950\",\n \"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n\n // Size variants\n 'data-[size=default]:h-12 data-[size=md]:h-10 data-[size=sm]:h-8',\n\n // Select value slot customization (Flex & fit to size)\n '*:data-[slot=select-value]:flex *:data-[slot=select-value]:w-0 *:data-[slot=select-value]:flex-1',\n\n // Select value slot customization (layout)\n '*:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2',\n\n // Any additional className\n className,\n );\n\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={styled ? styles : className}\n {...props}\n >\n {children}\n {styled && (\n <SelectPrimitive.Icon asChild>\n {triggerIcon ?? (open ? <LuChevronUp /> : <LuChevronDown />)}\n </SelectPrimitive.Icon>\n )}\n </SelectPrimitive.Trigger>\n );\n}\n\nfunction SelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn('flex cursor-default items-center justify-center py-1', className)}\n {...props}\n >\n <LuChevronUp className=\"size-4\" />\n </SelectPrimitive.ScrollUpButton>\n );\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn('flex cursor-default items-center justify-center py-1', className)}\n {...props}\n >\n <LuChevronDown className=\"size-4\" />\n </SelectPrimitive.ScrollDownButton>\n );\n}\n\nfunction SelectContent({\n className,\n children,\n position = 'popper',\n portal = true,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content> & { portal?: boolean }) {\n const content = (\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className={cn(\n // Color & background\n 'bg-popover text-popover-foreground',\n\n // Animation states\n 'data-[state=open]:animate-in data-[state=closed]:animate-out',\n 'data-[state=open]:fade-in-0 data-[state=closed]:fade-out-0',\n 'data-[state=open]:zoom-in-95 data-[state=closed]:zoom-out-95',\n\n // Slide-in based on side\n 'data-[side=bottom]:slide-in-from-top-2',\n 'data-[side=left]:slide-in-from-right-2',\n 'data-[side=right]:slide-in-from-left-2',\n 'data-[side=top]:slide-in-from-bottom-2',\n\n // Layout & positioning\n 'z-modal-stacking-context relative',\n 'min-w-[8rem]',\n 'max-h-[var(--radix-select-content-available-height)]',\n 'origin-[var(--radix-select-content-transform-origin)]',\n\n // Overflow & scroll\n 'overflow-x-hidden overflow-y-auto',\n\n // Border, shape, shadow\n 'rounded-md border shadow-md',\n\n // Conditional transform adjustments for popper positioning\n position === 'popper' && [\n 'data-[side=bottom]:translate-y-1',\n 'data-[side=left]:-translate-x-1',\n 'data-[side=right]:translate-x-1',\n 'data-[side=top]:-translate-y-1',\n ],\n\n className,\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n position === 'popper' &&\n 'h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1 p-1',\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n );\n return portal ? <SelectPrimitive.Portal>{content}</SelectPrimitive.Portal> : content;\n}\n\nfunction SelectLabel({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn('text-muted-foreground px-3 py-1.5 text-xs', className)}\n {...props}\n />\n );\n}\n\nfunction SelectItem({\n className,\n children,\n showIconOnHover = false,\n sublabel,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item> & {\n multiSelect?: boolean;\n showIconOnHover?: boolean;\n sublabel?: React.ReactNode;\n}) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n // Focus states\n 'focus:text-primary hover:text-primary hover:bg-green-50 focus:bg-green-100',\n\n // Selected states\n 'data-[state=checked]:text-primary data-[state=checked]:bg-green-200 data-[state=checked]:font-bold',\n\n // Layout & spacing\n 'group relative flex h-12 w-full items-center gap-2 px-3 py-1.5',\n\n // Text & font\n 'text-md select-none',\n\n // Border radius & shape\n 'rounded-sm',\n\n // Interactivity\n 'cursor-default outline-none',\n 'data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n\n // SVG icon styling\n '[&_svg]:pointer-events-none [&_svg]:shrink-0',\n \"[&_svg:not([class*='text-'])]:text-green-600\",\n \"[&_svg:not([class*='size-'])]:size-4\",\n\n className,\n )}\n {...props}\n >\n <div className=\"flex flex-col\">\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n {sublabel && <span className=\"text-muted-foreground text-xs\">{sublabel}</span>}\n </div>\n {showIconOnHover && (\n <div className=\"relative ml-auto flex h-4 w-4 shrink-0 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <LuCheck className=\"h-4 w-4 text-green-600\" />\n </SelectPrimitive.ItemIndicator>\n\n <LuCheck\n className={cn(\n 'absolute h-4 w-4 text-green-600 opacity-0 transition-opacity duration-150',\n 'group-hover:opacity-100',\n 'group-data-[state=checked]:opacity-0', // hide if selected\n )}\n />\n </div>\n )}\n </SelectPrimitive.Item>\n );\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn('bg-border h-2px pointer-events-none -mx-1 my-1', className)}\n {...props}\n />\n );\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n};\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {b as b$1}from'./chunk-6ZOLJV4E.js';import {a}from'./chunk-YTIIAU4W.js';import {
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import {b as b$1}from'./chunk-6ZOLJV4E.js';import {a}from'./chunk-YTIIAU4W.js';import {b}from'./chunk-6MYNQMQU.js';import {a as a$1}from'./chunk-CWXZFXQT.js';import {createContext,forwardRef,useContext,useMemo}from'react';import {Drawer}from'vaul';import*as i from'@radix-ui/react-dialog';import {LuX}from'react-icons/lu';import {jsx,jsxs}from'react/jsx-runtime';var s=createContext({isResponsive:true});function z({disableDrawerOnMobile:t=false,...e}){let{isMobile:a}=b(),r=useMemo(()=>({isResponsive:!t}),[t]);return jsx(s.Provider,{value:r,children:a&&!t?jsx(Drawer.Root,{"data-slot":"drawer",direction:"bottom",...e}):jsx(i.Root,{"data-slot":"dialog",...e})})}function B({...t}){let{isMobile:e}=b(),{isResponsive:a}=useContext(s);return e&&a?jsx(Drawer.Trigger,{"data-slot":"drawer-trigger",...t}):jsx(i.Trigger,{"data-slot":"dialog-trigger",...t})}function f({...t}){let{isMobile:e}=b(),{isResponsive:a}=useContext(s);return e&&a?jsx(Drawer.Portal,{"data-slot":"drawer-portal",...t}):jsx(i.Portal,{"data-slot":"dialog-portal",...t})}function P({...t}){let{isMobile:e}=b(),{isResponsive:a}=useContext(s);return e&&a?jsx(Drawer.Close,{"data-slot":"drawer-close",...t}):jsx(i.Close,{"data-slot":"dialog-close",...t})}var w=forwardRef(({className:t,...e},a$1)=>{let{isMobile:r}=b(),{isResponsive:c}=useContext(s);return r&&c?jsx(Drawer.Overlay,{"data-slot":"drawer-overlay",className:a("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 z-modal-stacking-context fixed inset-0 bg-black/50",t),ref:a$1,...e}):jsx(i.Overlay,{"data-slot":"dialog-overlay",className:a("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 z-modal-stacking-context fixed inset-0 bg-black/50",t),ref:a$1,...e})}),O=forwardRef(({className:t,children:e=null,overlayClassName:a$1,...r},c)=>{let{isMobile:C}=b(),{isResponsive:b$1}=useContext(s);return C&&b$1?jsxs(f,{"data-slot":"drawer-portal",children:[jsx(w,{className:a$1}),jsx(Drawer.Content,{"data-slot":"drawer-content",className:a("group/drawer-content bg-background z-modal-stacking-context fixed flex h-auto flex-col px-4","data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-lg data-[vaul-drawer-direction=top]:border-b","data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-lg data-[vaul-drawer-direction=bottom]:border-t","data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=right]:sm:max-w-md","data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=left]:sm:max-w-sm","max-w-dvw!",t),ref:c,...r,children:e})]}):jsxs(f,{"data-slot":"dialog-portal",children:[jsx(w,{className:a$1}),jsx(i.Content,{"data-slot":"dialog-content",className:a("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 z-modal-stacking-context fixed top-[50%] left-[50%] grid w-[calc(100%-2rem)] max-w-[34.4rem] translate-x-[-50%] translate-y-[-50%] rounded-lg border border-gray-300 p-6 shadow-sm duration-200",t),ref:c,...r,children:e})]})});function H({className:t,showCloseButton:e=true,...a$1}){let{isMobile:r}=b(),{isResponsive:c}=useContext(s);return r&&c?jsxs("div",{"data-slot":"drawer-header",className:a("relative flex flex-col gap-0.5 pt-6 pb-4 text-left md:gap-1.5",t),...a$1,children:[e&&jsx(P,{asChild:true,children:jsxs(b$1,{className:"absolute top-5 right-0",size:"sm",variant:"ghost-icon",children:[jsx(LuX,{}),jsx("span",{className:"sr-only",children:"Close dialog"})]})}),a$1.children]}):jsxs("div",{"data-slot":"dialog-header",className:a("relative flex flex-col gap-2 pb-4",t),...a$1,children:[e&&jsx(P,{asChild:true,children:jsxs(b$1,{className:"absolute top-0 right-0",size:"sm",variant:"ghost-icon",children:[jsx(LuX,{}),jsx("span",{className:"sr-only",children:"Close dialog"})]})}),a$1.children]})}function L({className:t,...e}){let{isMobile:a$1}=b(),{isResponsive:r}=useContext(s);return a$1&&r?jsx("div",{"data-slot":"drawer-footer",className:a("mt-auto flex flex-col gap-2 py-4",t),...e}):jsx("div",{"data-slot":"dialog-footer",className:a("mt-2 flex gap-2 pt-3",t),...e})}function E({className:t,...e}){let{isMobile:a$2}=a$1(),{isResponsive:r}=useContext(s);return a$2&&r?jsx(Drawer.Title,{"data-slot":"drawer-title",className:a("font-display pr-6 text-3xl",t),...e}):jsx(i.Title,{"data-slot":"dialog-title",className:a("font-display pr-6 text-3xl leading-none tracking-[0.01rem]",t),...e})}function F({className:t,...e}){let{isMobile:a$1}=b(),{isResponsive:r}=useContext(s);return a$1&&r?jsx(Drawer.Description,{"data-slot":"drawer-description",className:t,...e}):jsx(i.Description,{"data-slot":"dialog-description",className:a("text-muted-foreground text-sm",t),...e})}export{z as a,B as b,f as c,P as d,w as e,O as f,H as g,L as h,E as i,F as j};//# sourceMappingURL=chunk-FBADW6ON.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-FBADW6ON.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/v2/dialog/dialog.tsx"],"names":["DialogContext","createContext","Dialog","disableDrawerOnMobile","props","isMobile","useWindowSize_default","contextValue","useMemo","jsx","DrawerPrimitive","DialogTrigger","isResponsive","useContext","DialogPortal","DialogClose","DialogOverlay","forwardRef","className","ref","cn","DialogContent","children","overlayClassName","jsxs","DialogHeader","showCloseButton","Button","LuX","DialogFooter","DialogTitle","useIsMobile","DialogDescription"],"mappings":"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","file":"chunk-TBZVHQ3Y.js","sourcesContent":["import { type ComponentProps, createContext, forwardRef, useContext, useMemo } from 'react';\nimport { Drawer as DrawerPrimitive } from 'vaul';\nimport * as DialogPrimitive from '@radix-ui/react-dialog';\nimport { LuX } from 'react-icons/lu';\n\nimport { cn } from '@/lib/utils';\nimport { Button } from '../button/button';\nimport { useIsMobile, useWindowSize } from '@/hooks';\n\nconst DialogContext = createContext({ isResponsive: true });\n\nfunction Dialog({\n disableDrawerOnMobile = false,\n ...props\n}: ComponentProps<typeof DialogPrimitive.Root> &\n ComponentProps<typeof DrawerPrimitive.Root> & { disableDrawerOnMobile?: boolean }) {\n const { isMobile } = useWindowSize();\n\n const contextValue = useMemo(\n () => ({ isResponsive: !disableDrawerOnMobile }),\n [disableDrawerOnMobile],\n );\n\n return (\n <DialogContext.Provider value={contextValue}>\n {isMobile && !disableDrawerOnMobile ? (\n <DrawerPrimitive.Root data-slot=\"drawer\" direction=\"bottom\" {...props} />\n ) : (\n <DialogPrimitive.Root data-slot=\"dialog\" {...props} />\n )}\n </DialogContext.Provider>\n );\n}\n\nfunction DialogTrigger({\n ...props\n}: ComponentProps<typeof DialogPrimitive.Trigger> &\n ComponentProps<typeof DrawerPrimitive.Trigger>) {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return <DrawerPrimitive.Trigger data-slot=\"drawer-trigger\" {...props} />;\n }\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />;\n}\n\nfunction DialogPortal({\n ...props\n}: ComponentProps<typeof DialogPrimitive.Portal> & ComponentProps<typeof DrawerPrimitive.Portal>) {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return <DrawerPrimitive.Portal data-slot=\"drawer-portal\" {...props} />;\n }\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />;\n}\n\nfunction DialogClose({\n ...props\n}: ComponentProps<typeof DialogPrimitive.Close> & ComponentProps<typeof DrawerPrimitive.Close>) {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return <DrawerPrimitive.Close data-slot=\"drawer-close\" {...props} />;\n }\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />;\n}\n\nconst DialogOverlay = forwardRef<\n HTMLDivElement,\n ComponentProps<typeof DialogPrimitive.Overlay> & ComponentProps<typeof DrawerPrimitive.Overlay>\n>(({ className, ...props }, ref) => {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return (\n <DrawerPrimitive.Overlay\n data-slot=\"drawer-overlay\"\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 z-modal-stacking-context fixed inset-0 bg-black/50',\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n }\n return (\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 z-modal-stacking-context fixed inset-0 bg-black/50',\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n});\n\nconst DialogContent = forwardRef<\n HTMLDivElement,\n ComponentProps<typeof DialogPrimitive.Content> &\n ComponentProps<typeof DrawerPrimitive.Content> & {\n onBackButtonClick?: () => void;\n overlayClassName?: string | undefined;\n }\n>(({ className, children = null, overlayClassName, ...props }, ref) => {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return (\n <DialogPortal data-slot=\"drawer-portal\">\n <DialogOverlay className={overlayClassName} />\n <DrawerPrimitive.Content\n data-slot=\"drawer-content\"\n className={cn(\n 'group/drawer-content bg-background z-modal-stacking-context fixed flex h-auto flex-col px-4',\n 'data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-lg data-[vaul-drawer-direction=top]:border-b',\n 'data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-lg data-[vaul-drawer-direction=bottom]:border-t',\n 'data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=right]:sm:max-w-md',\n 'data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=left]:sm:max-w-sm',\n 'max-w-dvw!',\n className,\n )}\n ref={ref}\n {...props}\n >\n {children}\n </DrawerPrimitive.Content>\n </DialogPortal>\n );\n }\n return (\n <DialogPortal data-slot=\"dialog-portal\">\n <DialogOverlay className={overlayClassName} />\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n 'bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 z-modal-stacking-context fixed top-[50%] left-[50%] grid w-[calc(100%-2rem)] max-w-[34.4rem] translate-x-[-50%] translate-y-[-50%] rounded-lg border border-gray-300 p-6 shadow-sm duration-200',\n className,\n )}\n ref={ref}\n {...props}\n >\n {children}\n </DialogPrimitive.Content>\n </DialogPortal>\n );\n});\n\nfunction DialogHeader({\n className,\n showCloseButton = true,\n ...props\n}: ComponentProps<'div'> & {\n showCloseButton?: boolean;\n}) {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return (\n <div\n data-slot=\"drawer-header\"\n className={cn('relative flex flex-col gap-0.5 pt-6 pb-4 text-left md:gap-1.5', className)}\n {...props}\n >\n {showCloseButton && (\n <DialogClose asChild>\n <Button className=\"absolute top-5 right-0\" size=\"sm\" variant=\"ghost-icon\">\n <LuX />\n <span className=\"sr-only\">Close dialog</span>\n </Button>\n </DialogClose>\n )}\n {props.children}\n </div>\n );\n }\n return (\n <div\n data-slot=\"dialog-header\"\n className={cn('relative flex flex-col gap-2 pb-4', className)}\n {...props}\n >\n {showCloseButton && (\n <DialogClose asChild>\n <Button className=\"absolute top-0 right-0\" size=\"sm\" variant=\"ghost-icon\">\n <LuX />\n <span className=\"sr-only\">Close dialog</span>\n </Button>\n </DialogClose>\n )}\n {props.children}\n </div>\n );\n}\n\nfunction DialogFooter({ className, ...props }: ComponentProps<'div'>) {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return (\n <div\n data-slot=\"drawer-footer\"\n className={cn('mt-auto flex flex-col gap-2 py-4', className)}\n {...props}\n />\n );\n }\n return (\n <div data-slot=\"dialog-footer\" className={cn('mt-2 flex gap-2 pt-3', className)} {...props} />\n );\n}\n\nfunction DialogTitle({\n className,\n ...props\n}: ComponentProps<typeof DialogPrimitive.Title> & ComponentProps<typeof DrawerPrimitive.Title>) {\n const { isMobile } = useIsMobile();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return (\n <DrawerPrimitive.Title\n data-slot=\"drawer-title\"\n className={cn('font-display pr-6 text-3xl', className)}\n {...props}\n />\n );\n }\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn('font-display pr-6 text-3xl leading-none tracking-[0.01rem]', className)}\n {...props}\n />\n );\n}\n\nfunction DialogDescription({\n className,\n ...props\n}: ComponentProps<typeof DialogPrimitive.Description> &\n ComponentProps<typeof DrawerPrimitive.Description>) {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return (\n <DrawerPrimitive.Description\n data-slot=\"drawer-description\"\n className={className}\n {...props}\n />\n );\n }\n return (\n <DialogPrimitive.Description\n data-slot=\"dialog-description\"\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n );\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/v2/dialog/dialog.tsx"],"names":["DialogContext","createContext","Dialog","disableDrawerOnMobile","props","isMobile","useWindowSize_default","contextValue","useMemo","jsx","DrawerPrimitive","DialogTrigger","isResponsive","useContext","DialogPortal","DialogClose","DialogOverlay","forwardRef","className","ref","cn","DialogContent","children","overlayClassName","jsxs","DialogHeader","showCloseButton","Button","LuX","DialogFooter","DialogTitle","useIsMobile","DialogDescription"],"mappings":"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","file":"chunk-FBADW6ON.js","sourcesContent":["import { type ComponentProps, createContext, forwardRef, useContext, useMemo } from 'react';\nimport { Drawer as DrawerPrimitive } from 'vaul';\nimport * as DialogPrimitive from '@radix-ui/react-dialog';\nimport { LuX } from 'react-icons/lu';\n\nimport { cn } from '@/lib/utils';\nimport { Button } from '../button/button';\nimport { useIsMobile, useWindowSize } from '@/hooks';\n\nconst DialogContext = createContext({ isResponsive: true });\n\nfunction Dialog({\n disableDrawerOnMobile = false,\n ...props\n}: ComponentProps<typeof DialogPrimitive.Root> &\n ComponentProps<typeof DrawerPrimitive.Root> & { disableDrawerOnMobile?: boolean }) {\n const { isMobile } = useWindowSize();\n\n const contextValue = useMemo(\n () => ({ isResponsive: !disableDrawerOnMobile }),\n [disableDrawerOnMobile],\n );\n\n return (\n <DialogContext.Provider value={contextValue}>\n {isMobile && !disableDrawerOnMobile ? (\n <DrawerPrimitive.Root data-slot=\"drawer\" direction=\"bottom\" {...props} />\n ) : (\n <DialogPrimitive.Root data-slot=\"dialog\" {...props} />\n )}\n </DialogContext.Provider>\n );\n}\n\nfunction DialogTrigger({\n ...props\n}: ComponentProps<typeof DialogPrimitive.Trigger> &\n ComponentProps<typeof DrawerPrimitive.Trigger>) {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return <DrawerPrimitive.Trigger data-slot=\"drawer-trigger\" {...props} />;\n }\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />;\n}\n\nfunction DialogPortal({\n ...props\n}: ComponentProps<typeof DialogPrimitive.Portal> & ComponentProps<typeof DrawerPrimitive.Portal>) {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return <DrawerPrimitive.Portal data-slot=\"drawer-portal\" {...props} />;\n }\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />;\n}\n\nfunction DialogClose({\n ...props\n}: ComponentProps<typeof DialogPrimitive.Close> & ComponentProps<typeof DrawerPrimitive.Close>) {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return <DrawerPrimitive.Close data-slot=\"drawer-close\" {...props} />;\n }\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />;\n}\n\nconst DialogOverlay = forwardRef<\n HTMLDivElement,\n ComponentProps<typeof DialogPrimitive.Overlay> & ComponentProps<typeof DrawerPrimitive.Overlay>\n>(({ className, ...props }, ref) => {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return (\n <DrawerPrimitive.Overlay\n data-slot=\"drawer-overlay\"\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 z-modal-stacking-context fixed inset-0 bg-black/50',\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n }\n return (\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 z-modal-stacking-context fixed inset-0 bg-black/50',\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n});\n\nconst DialogContent = forwardRef<\n HTMLDivElement,\n ComponentProps<typeof DialogPrimitive.Content> &\n ComponentProps<typeof DrawerPrimitive.Content> & {\n onBackButtonClick?: () => void;\n overlayClassName?: string | undefined;\n }\n>(({ className, children = null, overlayClassName, ...props }, ref) => {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return (\n <DialogPortal data-slot=\"drawer-portal\">\n <DialogOverlay className={overlayClassName} />\n <DrawerPrimitive.Content\n data-slot=\"drawer-content\"\n className={cn(\n 'group/drawer-content bg-background z-modal-stacking-context fixed flex h-auto flex-col px-4',\n 'data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-lg data-[vaul-drawer-direction=top]:border-b',\n 'data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-lg data-[vaul-drawer-direction=bottom]:border-t',\n 'data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=right]:sm:max-w-md',\n 'data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=left]:sm:max-w-sm',\n 'max-w-dvw!',\n className,\n )}\n ref={ref}\n {...props}\n >\n {children}\n </DrawerPrimitive.Content>\n </DialogPortal>\n );\n }\n return (\n <DialogPortal data-slot=\"dialog-portal\">\n <DialogOverlay className={overlayClassName} />\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n 'bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 z-modal-stacking-context fixed top-[50%] left-[50%] grid w-[calc(100%-2rem)] max-w-[34.4rem] translate-x-[-50%] translate-y-[-50%] rounded-lg border border-gray-300 p-6 shadow-sm duration-200',\n className,\n )}\n ref={ref}\n {...props}\n >\n {children}\n </DialogPrimitive.Content>\n </DialogPortal>\n );\n});\n\nfunction DialogHeader({\n className,\n showCloseButton = true,\n ...props\n}: ComponentProps<'div'> & {\n showCloseButton?: boolean;\n}) {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return (\n <div\n data-slot=\"drawer-header\"\n className={cn('relative flex flex-col gap-0.5 pt-6 pb-4 text-left md:gap-1.5', className)}\n {...props}\n >\n {showCloseButton && (\n <DialogClose asChild>\n <Button className=\"absolute top-5 right-0\" size=\"sm\" variant=\"ghost-icon\">\n <LuX />\n <span className=\"sr-only\">Close dialog</span>\n </Button>\n </DialogClose>\n )}\n {props.children}\n </div>\n );\n }\n return (\n <div\n data-slot=\"dialog-header\"\n className={cn('relative flex flex-col gap-2 pb-4', className)}\n {...props}\n >\n {showCloseButton && (\n <DialogClose asChild>\n <Button className=\"absolute top-0 right-0\" size=\"sm\" variant=\"ghost-icon\">\n <LuX />\n <span className=\"sr-only\">Close dialog</span>\n </Button>\n </DialogClose>\n )}\n {props.children}\n </div>\n );\n}\n\nfunction DialogFooter({ className, ...props }: ComponentProps<'div'>) {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return (\n <div\n data-slot=\"drawer-footer\"\n className={cn('mt-auto flex flex-col gap-2 py-4', className)}\n {...props}\n />\n );\n }\n return (\n <div data-slot=\"dialog-footer\" className={cn('mt-2 flex gap-2 pt-3', className)} {...props} />\n );\n}\n\nfunction DialogTitle({\n className,\n ...props\n}: ComponentProps<typeof DialogPrimitive.Title> & ComponentProps<typeof DrawerPrimitive.Title>) {\n const { isMobile } = useIsMobile();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return (\n <DrawerPrimitive.Title\n data-slot=\"drawer-title\"\n className={cn('font-display pr-6 text-3xl', className)}\n {...props}\n />\n );\n }\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn('font-display pr-6 text-3xl leading-none tracking-[0.01rem]', className)}\n {...props}\n />\n );\n}\n\nfunction DialogDescription({\n className,\n ...props\n}: ComponentProps<typeof DialogPrimitive.Description> &\n ComponentProps<typeof DrawerPrimitive.Description>) {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return (\n <DrawerPrimitive.Description\n data-slot=\"drawer-description\"\n className={className}\n {...props}\n />\n );\n }\n return (\n <DialogPrimitive.Description\n data-slot=\"dialog-description\"\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n );\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n};\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {a}from'./chunk-FCBKZAPC.js';import {a as a$1}from'./chunk-A4LZMZHH.js';import {jsx}from'react/jsx-runtime';function p({children:o,width:t,styles:l,...a$2}){return jsx(a,{width:t??"58rem",styles:a$1.overlay,placement:"right",...a$2,children:o})}export{p as a};//# sourceMappingURL=chunk-FMTJDPSB.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-FMTJDPSB.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Overlay/Overlay.tsx"],"names":["Overlay","children","width","styles","rest","jsx","Drawer_default","DrawerTheme"],"mappings":"mHASe,SAARA,CAAAA,CAAyB,CAAE,QAAA,CAAAC,CAAAA,CAAU,KAAA,CAAAC,CAAAA,CAAO,MAAA,CAAAC,CAAAA,CAAQ,GAAGC,GAAK,CAAA,CAAU,CAC3E,OACEC,GAAAA,CAACC,CAAAA,CAAA,CAAO,KAAA,CAAOJ,CAAAA,EAAS,QAAS,MAAA,CAAQK,GAAAA,CAAY,OAAA,CAAS,SAAA,CAAU,OAAA,CAAS,GAAGH,GAAAA,CACjF,QAAA,CAAAH,EACH,CAEJ","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/Overlay/Overlay.tsx"],"names":["Overlay","children","width","styles","rest","jsx","Drawer_default","DrawerTheme"],"mappings":"mHASe,SAARA,CAAAA,CAAyB,CAAE,QAAA,CAAAC,CAAAA,CAAU,KAAA,CAAAC,CAAAA,CAAO,MAAA,CAAAC,CAAAA,CAAQ,GAAGC,GAAK,CAAA,CAAU,CAC3E,OACEC,GAAAA,CAACC,CAAAA,CAAA,CAAO,KAAA,CAAOJ,CAAAA,EAAS,QAAS,MAAA,CAAQK,GAAAA,CAAY,OAAA,CAAS,SAAA,CAAU,OAAA,CAAS,GAAGH,GAAAA,CACjF,QAAA,CAAAH,EACH,CAEJ","file":"chunk-FMTJDPSB.js","sourcesContent":["import { DrawerProps } from 'antd';\nimport Drawer from '../Drawer';\nimport { DrawerTheme } from '../Drawer/theme';\n\ntype Props = {\n children: React.ReactNode;\n} & DrawerProps;\n\n/** @deprecated Use the Drawer component from @solace-health/ui/v2 instead. */\nexport default function Overlay({ children, width, styles, ...rest }: Props) {\n return (\n <Drawer width={width ?? '58rem'} styles={DrawerTheme.overlay} placement=\"right\" {...rest}>\n {children}\n </Drawer>\n );\n}\n"]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
'use strict';var jsxRuntime=require('react/jsx-runtime');var l=t=>jsxRuntime.jsxs("svg",{width:"32",height:"32",viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t,children:[jsxRuntime.jsx("circle",{cx:"15.6376",cy:"15.6377",r:"10",transform:"rotate(22.14 15.6376 15.6377)",stroke:"#285E50",strokeWidth:"2"}),jsxRuntime.jsx("path",{d:"M13.0577 21.7762C12.3408 21.4844 11.7169 21.0913 11.1861 20.5968C10.6575 20.0967 10.2346 19.536 9.91741 18.9146C9.60244 18.2876 9.4024 17.6329 9.31729 16.9505C9.23219 16.2681 9.27736 15.5998 9.45282 14.9457C9.52124 14.682 9.6464 14.5256 9.82831 14.4765C10.0125 14.4219 10.2022 14.4732 10.3973 14.6303C11.1116 15.1995 11.8289 15.7051 12.5495 16.1473C13.27 16.5895 14.0443 16.979 14.8725 17.3159C15.7006 17.6529 16.5269 17.9146 17.3515 18.1011C18.1816 18.2899 19.0482 18.4287 19.9514 18.5176C20.2008 18.5414 20.3736 18.6343 20.4695 18.7964C20.5655 18.9586 20.5448 19.1607 20.4075 19.4028C20.0764 19.9936 19.6421 20.5036 19.1048 20.9328C18.5729 21.3642 17.9726 21.6932 17.3039 21.9199C16.6429 22.1433 15.9487 22.2495 15.2211 22.2385C14.4958 22.222 13.7747 22.0679 13.0577 21.7762Z",fill:"#285E50"}),jsxRuntime.jsx("path",{d:"M11.5584 12.6324C11.6061 12.7026 11.6899 12.7462 11.81 12.7633C12.0261 12.7941 12.281 12.8152 12.5748 12.8268C12.8708 12.8329 13.1712 12.8281 13.4761 12.8125C13.7886 12.7936 14.0815 12.7603 14.3549 12.7128C14.6337 12.6675 14.8635 12.6022 15.0442 12.517C15.4003 12.3443 15.5089 12.0773 15.3701 11.716C15.298 11.5343 15.178 11.3298 15.01 11.1027C14.8475 10.8778 14.6609 10.6495 14.4504 10.4178C14.2453 10.1883 14.0336 9.97512 13.8152 9.7783C13.599 9.57603 13.4028 9.41047 13.2266 9.28163C13.1309 9.2046 13.0404 9.1773 12.9551 9.19973C12.8774 9.21894 12.8258 9.26779 12.8002 9.34629C12.7801 9.427 12.8019 9.52162 12.8657 9.63014C12.9804 9.81651 13.0934 10.0149 13.2046 10.2253C13.3236 10.4324 13.4284 10.6275 13.519 10.8105C13.6174 10.9902 13.6908 11.1375 13.7393 11.2525C13.7964 11.3774 13.8117 11.4725 13.7851 11.5379C13.7607 11.5978 13.6834 11.6553 13.553 11.7102C13.4381 11.7587 13.2815 11.8156 13.0834 11.8811C12.8908 11.9488 12.6796 12.0153 12.4498 12.0805C12.2254 12.148 12.0072 12.2085 11.7949 12.2618C11.6757 12.2895 11.594 12.342 11.5499 12.4193C11.5134 12.4934 11.5162 12.5644 11.5584 12.6324Z",fill:"#285E50"}),jsxRuntime.jsx("path",{d:"M21.5163 12.8214C21.4686 12.7512 21.3848 12.7076 21.2647 12.6905C21.0486 12.6597 20.7937 12.6385 20.4999 12.627C20.2039 12.6208 19.9035 12.6256 19.5987 12.6413C19.2861 12.6602 18.9932 12.6934 18.7198 12.741C18.441 12.7863 18.2112 12.8516 18.0305 12.9368C17.6744 13.1095 17.5658 13.3764 17.7046 13.7377C17.7767 13.9195 17.8968 14.1239 18.0647 14.351C18.2272 14.5759 18.4138 14.8042 18.6243 15.036C18.8294 15.2655 19.0412 15.4786 19.2596 15.6755C19.4758 15.8777 19.6719 16.0433 19.8481 16.1721C19.9438 16.2492 20.0343 16.2765 20.1196 16.254C20.1973 16.2348 20.2489 16.186 20.2745 16.1075C20.2947 16.0268 20.2728 15.9321 20.209 15.8236C20.0943 15.6372 19.9814 15.4389 19.8701 15.2285C19.7512 15.0213 19.6464 14.8263 19.5557 14.6433C19.4573 14.4636 19.3839 14.3162 19.3355 14.2012C19.2783 14.0764 19.263 13.9813 19.2896 13.9159C19.314 13.8559 19.3914 13.7985 19.5217 13.7436C19.6367 13.6951 19.7932 13.6381 19.9913 13.5727C20.184 13.505 20.3952 13.4385 20.625 13.3732C20.8493 13.3057 21.0676 13.2453 21.2798 13.1919C21.399 13.1642 21.4807 13.1117 21.5249 13.0344C21.5613 12.9604 21.5585 12.8894 21.5163 12.8214Z",fill:"#285E50"})]});
|
|
2
|
+
exports.a=l;//# sourceMappingURL=chunk-GI5D4G3D.cjs.map
|
|
3
|
+
//# sourceMappingURL=chunk-GI5D4G3D.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/v2/custom-icons/smiley-squinty-face.tsx"],"names":["SmileySquintyFace","props","jsxs","jsx"],"mappings":"yDAEO,IAAMA,CAAAA,CAAqBC,CAAAA,EAChCC,eAAAA,CAAC,KAAA,CAAA,CACC,KAAA,CAAM,IAAA,CACN,MAAA,CAAO,IAAA,CACP,OAAA,CAAQ,WAAA,CACR,IAAA,CAAK,MAAA,CACL,KAAA,CAAM,4BAAA,CACL,GAAGD,CAAAA,CAEJ,QAAA,CAAA,CAAAE,cAAAA,CAAC,QAAA,CAAA,CACC,EAAA,CAAG,SAAA,CACH,EAAA,CAAG,SAAA,CACH,EAAE,IAAA,CACF,SAAA,CAAU,+BAAA,CACV,MAAA,CAAO,SAAA,CACP,WAAA,CAAY,GAAA,CACd,CAAA,CACAA,cAAAA,CAAC,MAAA,CAAA,CACC,CAAA,CAAE,2wBAAA,CACF,IAAA,CAAK,SAAA,CACP,CAAA,CACAA,cAAAA,CAAC,MAAA,CAAA,CACC,CAAA,CAAE,+kCAAA,CACF,IAAA,CAAK,SAAA,CACP,CAAA,CACAA,cAAAA,CAAC,MAAA,CAAA,CACC,CAAA,CAAE,qlCAAA,CACF,IAAA,CAAK,SAAA,CACP,CAAA,CAAA,CACF","file":"chunk-GI5D4G3D.cjs","sourcesContent":["import { SVGProps } from 'react';\n\nexport const SmileySquintyFace = (props: SVGProps<SVGSVGElement>) => (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <circle\n cx=\"15.6376\"\n cy=\"15.6377\"\n r=\"10\"\n transform=\"rotate(22.14 15.6376 15.6377)\"\n stroke=\"#285E50\"\n strokeWidth=\"2\"\n />\n <path\n d=\"M13.0577 21.7762C12.3408 21.4844 11.7169 21.0913 11.1861 20.5968C10.6575 20.0967 10.2346 19.536 9.91741 18.9146C9.60244 18.2876 9.4024 17.6329 9.31729 16.9505C9.23219 16.2681 9.27736 15.5998 9.45282 14.9457C9.52124 14.682 9.6464 14.5256 9.82831 14.4765C10.0125 14.4219 10.2022 14.4732 10.3973 14.6303C11.1116 15.1995 11.8289 15.7051 12.5495 16.1473C13.27 16.5895 14.0443 16.979 14.8725 17.3159C15.7006 17.6529 16.5269 17.9146 17.3515 18.1011C18.1816 18.2899 19.0482 18.4287 19.9514 18.5176C20.2008 18.5414 20.3736 18.6343 20.4695 18.7964C20.5655 18.9586 20.5448 19.1607 20.4075 19.4028C20.0764 19.9936 19.6421 20.5036 19.1048 20.9328C18.5729 21.3642 17.9726 21.6932 17.3039 21.9199C16.6429 22.1433 15.9487 22.2495 15.2211 22.2385C14.4958 22.222 13.7747 22.0679 13.0577 21.7762Z\"\n fill=\"#285E50\"\n />\n <path\n d=\"M11.5584 12.6324C11.6061 12.7026 11.6899 12.7462 11.81 12.7633C12.0261 12.7941 12.281 12.8152 12.5748 12.8268C12.8708 12.8329 13.1712 12.8281 13.4761 12.8125C13.7886 12.7936 14.0815 12.7603 14.3549 12.7128C14.6337 12.6675 14.8635 12.6022 15.0442 12.517C15.4003 12.3443 15.5089 12.0773 15.3701 11.716C15.298 11.5343 15.178 11.3298 15.01 11.1027C14.8475 10.8778 14.6609 10.6495 14.4504 10.4178C14.2453 10.1883 14.0336 9.97512 13.8152 9.7783C13.599 9.57603 13.4028 9.41047 13.2266 9.28163C13.1309 9.2046 13.0404 9.1773 12.9551 9.19973C12.8774 9.21894 12.8258 9.26779 12.8002 9.34629C12.7801 9.427 12.8019 9.52162 12.8657 9.63014C12.9804 9.81651 13.0934 10.0149 13.2046 10.2253C13.3236 10.4324 13.4284 10.6275 13.519 10.8105C13.6174 10.9902 13.6908 11.1375 13.7393 11.2525C13.7964 11.3774 13.8117 11.4725 13.7851 11.5379C13.7607 11.5978 13.6834 11.6553 13.553 11.7102C13.4381 11.7587 13.2815 11.8156 13.0834 11.8811C12.8908 11.9488 12.6796 12.0153 12.4498 12.0805C12.2254 12.148 12.0072 12.2085 11.7949 12.2618C11.6757 12.2895 11.594 12.342 11.5499 12.4193C11.5134 12.4934 11.5162 12.5644 11.5584 12.6324Z\"\n fill=\"#285E50\"\n />\n <path\n d=\"M21.5163 12.8214C21.4686 12.7512 21.3848 12.7076 21.2647 12.6905C21.0486 12.6597 20.7937 12.6385 20.4999 12.627C20.2039 12.6208 19.9035 12.6256 19.5987 12.6413C19.2861 12.6602 18.9932 12.6934 18.7198 12.741C18.441 12.7863 18.2112 12.8516 18.0305 12.9368C17.6744 13.1095 17.5658 13.3764 17.7046 13.7377C17.7767 13.9195 17.8968 14.1239 18.0647 14.351C18.2272 14.5759 18.4138 14.8042 18.6243 15.036C18.8294 15.2655 19.0412 15.4786 19.2596 15.6755C19.4758 15.8777 19.6719 16.0433 19.8481 16.1721C19.9438 16.2492 20.0343 16.2765 20.1196 16.254C20.1973 16.2348 20.2489 16.186 20.2745 16.1075C20.2947 16.0268 20.2728 15.9321 20.209 15.8236C20.0943 15.6372 19.9814 15.4389 19.8701 15.2285C19.7512 15.0213 19.6464 14.8263 19.5557 14.6433C19.4573 14.4636 19.3839 14.3162 19.3355 14.2012C19.2783 14.0764 19.263 13.9813 19.2896 13.9159C19.314 13.8559 19.3914 13.7985 19.5217 13.7436C19.6367 13.6951 19.7932 13.6381 19.9913 13.5727C20.184 13.505 20.3952 13.4385 20.625 13.3732C20.8493 13.3057 21.0676 13.2453 21.2798 13.1919C21.399 13.1642 21.4807 13.1117 21.5249 13.0344C21.5613 12.9604 21.5585 12.8894 21.5163 12.8214Z\"\n fill=\"#285E50\"\n />\n </svg>\n);\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunkO4VBODYC_cjs=require('./chunk-O4VBODYC.cjs'),chunkWTNXRFXW_cjs=require('./chunk-WTNXRFXW.cjs'),core=require('@dnd-kit/core'),sortable=require('@dnd-kit/sortable'),N=require('@emotion/styled'),jsxRuntime=require('react/jsx-runtime');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var N__default=/*#__PURE__*/_interopDefault(N);var P=N__default.default.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
flex-direction: column;
|
|
4
|
-
`;function k({id:c,onClickElement:i=()=>null,elements:t=[],onChange:E,onDragOver:p=()=>null,className:x="",disabled:h=false}){let{setNodeRef:u}=core.useDroppable({id:c}),v=({active:n,over:r,delta:o})=>{if(Math.abs(o.x)<1&&Math.abs(o.y)<1)return i(n.id);let d=t.findIndex(e=>e.id===n.id),a=t.findIndex(e=>e.id===r?.id),l=e=>sortable.arrayMove(e,d,a);return r?.id&&p(l(t)),false},S=({active:n,over:r,delta:o})=>{if(Math.abs(o.x)<1&&Math.abs(o.y)<1)return i(n.id);let d=t.findIndex(e=>e.id===n.id),a=t.findIndex(e=>e.id===r?.id),l=e=>sortable.arrayMove(e,d,a);return r?.id&&E(l(t)),null},y=core.useSensors(core.useSensor(chunkWTNXRFXW_cjs.a),core.useSensor(chunkWTNXRFXW_cjs.b));return jsxRuntime.jsx(core.DndContext,{collisionDetection:core.closestCorners,onDragOver:v,onDragEnd:S,sensors:y,children:jsxRuntime.jsx(sortable.SortableContext,{id:c,items:t,strategy:sortable.verticalListSortingStrategy,children:jsxRuntime.jsx(P,{ref:u,className:x,children:t.map(n=>jsxRuntime.jsx(chunkO4VBODYC_cjs.a,{onClickElement:i,id:n.id,disabled:h,children:n.children},n.id))})})})}exports.a=k;//# sourceMappingURL=chunk-
|
|
5
|
-
//# sourceMappingURL=chunk-
|
|
4
|
+
`;function k({id:c,onClickElement:i=()=>null,elements:t=[],onChange:E,onDragOver:p=()=>null,className:x="",disabled:h=false}){let{setNodeRef:u}=core.useDroppable({id:c}),v=({active:n,over:r,delta:o})=>{if(Math.abs(o.x)<1&&Math.abs(o.y)<1)return i(n.id);let d=t.findIndex(e=>e.id===n.id),a=t.findIndex(e=>e.id===r?.id),l=e=>sortable.arrayMove(e,d,a);return r?.id&&p(l(t)),false},S=({active:n,over:r,delta:o})=>{if(Math.abs(o.x)<1&&Math.abs(o.y)<1)return i(n.id);let d=t.findIndex(e=>e.id===n.id),a=t.findIndex(e=>e.id===r?.id),l=e=>sortable.arrayMove(e,d,a);return r?.id&&E(l(t)),null},y=core.useSensors(core.useSensor(chunkWTNXRFXW_cjs.a),core.useSensor(chunkWTNXRFXW_cjs.b));return jsxRuntime.jsx(core.DndContext,{collisionDetection:core.closestCorners,onDragOver:v,onDragEnd:S,sensors:y,children:jsxRuntime.jsx(sortable.SortableContext,{id:c,items:t,strategy:sortable.verticalListSortingStrategy,children:jsxRuntime.jsx(P,{ref:u,className:x,children:t.map(n=>jsxRuntime.jsx(chunkO4VBODYC_cjs.a,{onClickElement:i,id:n.id,disabled:h,children:n.children},n.id))})})})}exports.a=k;//# sourceMappingURL=chunk-HCMJMPCZ.cjs.map
|
|
5
|
+
//# sourceMappingURL=chunk-HCMJMPCZ.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/SortableList/index.tsx"],"names":["ElementsContainer","styled","SortableList","id","onClickElement","elements","onChange","onDragOver","className","disabled","setNodeRef","useDroppable","handleDragOver","active","over","delta","activeIndex","element","overIndex","updatedItems","elementToUpdate","arrayMove","handleDragEnd","sensors","useSensors","useSensor","MouseSensor","KeyboardSensor","jsx","DndContext","closestCorners","SortableContext","verticalListSortingStrategy","SortableElement"],"mappings":"8WAeA,IAAMA,CAAAA,CAAoBC,kBAAAA,CAAO,GAAA;AAAA;AAAA;AAAA,CAAA,CAoBlB,SAARC,CAAAA,CAA8B,CACnC,EAAA,CAAAC,CAAAA,CACA,eAAAC,CAAAA,CAAiB,IAAM,IAAA,CACvB,QAAA,CAAAC,CAAAA,CAAW,GACX,QAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CAAa,IAAM,IAAA,CACnB,SAAA,CAAAC,CAAAA,CAAY,EAAA,CACZ,QAAA,CAAAC,CAAAA,CAAW,KACb,CAAA,CAAsB,CACpB,GAAM,CAAE,UAAA,CAAAC,CAAW,CAAA,CAAIC,iBAAAA,CAAa,CAAE,GAAAR,CAAG,CAAC,CAAA,CAEpCS,CAAAA,CAAiB,CAAC,CAAE,OAAAC,CAAAA,CAAQ,IAAA,CAAAC,CAAAA,CAAM,KAAA,CAAAC,CAAM,CAAA,GAAqB,CAEjE,GADmC,IAAA,CAAK,GAAA,CAAIA,CAAAA,CAAM,CAAC,CAAA,CAAI,CAAA,EAAK,KAAK,GAAA,CAAIA,CAAAA,CAAM,CAAC,CAAA,CAAI,CAAA,CAE9E,OAAOX,EAAeS,CAAAA,CAAO,EAAY,CAAA,CAG3C,IAAMG,CAAAA,CAAcX,CAAAA,CAAS,UAAWY,CAAAA,EAAYA,CAAAA,CAAQ,EAAA,GAAOJ,CAAAA,CAAO,EAAE,CAAA,CACtEK,CAAAA,CAAYb,CAAAA,CAAS,SAAA,CAAWY,CAAAA,EAAYA,CAAAA,CAAQ,EAAA,GAAOH,CAAAA,EAAM,EAAE,EAEnEK,CAAAA,CAAgBC,CAAAA,EACpBC,kBAAAA,CAAmBD,CAAAA,CAAiBJ,CAAAA,CAAaE,CAAS,CAAA,CAE5D,OAAIJ,CAAAA,EAAM,EAAA,EACRP,CAAAA,CAAWY,CAAAA,CAAad,CAAQ,CAAC,EAE5B,KACT,CAAA,CAEMiB,CAAAA,CAAgB,CAAC,CAAE,MAAA,CAAAT,CAAAA,CAAQ,IAAA,CAAAC,CAAAA,CAAM,KAAA,CAAAC,CAAM,CAAA,GAAoB,CAE/D,GADmC,KAAK,GAAA,CAAIA,CAAAA,CAAM,CAAC,CAAA,CAAI,CAAA,EAAK,IAAA,CAAK,IAAIA,CAAAA,CAAM,CAAC,CAAA,CAAI,CAAA,CAE9E,OAAOX,CAAAA,CAAeS,EAAO,EAAY,CAAA,CAG3C,IAAMG,CAAAA,CAAcX,CAAAA,CAAS,SAAA,CAAWY,CAAAA,EAAYA,CAAAA,CAAQ,EAAA,GAAOJ,CAAAA,CAAO,EAAE,CAAA,CACtEK,CAAAA,CAAYb,CAAAA,CAAS,UAAWY,CAAAA,EAAYA,CAAAA,CAAQ,EAAA,GAAOH,CAAAA,EAAM,EAAE,CAAA,CAEnEK,EAAgBC,CAAAA,EACpBC,kBAAAA,CAAmBD,CAAAA,CAAiBJ,CAAAA,CAAaE,CAAS,CAAA,CAE5D,OAAIJ,CAAAA,EAAM,EAAA,EACRR,CAAAA,CAASa,CAAAA,CAAad,CAAQ,CAAC,CAAA,CAG1B,IACT,CAAA,CAEMkB,CAAAA,CAAUC,eAAAA,CAAWC,cAAAA,CAAUC,mBAAW,CAAA,CAAGD,eAAUE,mBAAc,CAAC,CAAA,CAE5E,OACEC,cAAAA,CAACC,eAAAA,CAAA,CACC,kBAAA,CAAoBC,mBAAAA,CACpB,UAAA,CAAYlB,CAAAA,CACZ,SAAA,CAAWU,CAAAA,CACX,QAASC,CAAAA,CAET,QAAA,CAAAK,cAAAA,CAACG,wBAAAA,CAAA,CAAgB,EAAA,CAAI5B,CAAAA,CAAI,KAAA,CAAOE,CAAAA,CAAU,QAAA,CAAU2B,oCAAAA,CAClD,QAAA,CAAAJ,cAAAA,CAAC5B,CAAAA,CAAA,CAAkB,GAAA,CAAKU,CAAAA,CAAY,SAAA,CAAWF,CAAAA,CAC5C,QAAA,CAAAH,CAAAA,CAAS,GAAA,CAAKY,CAAAA,EACbW,cAAAA,CAACK,mBAAAA,CAAA,CAEC,cAAA,CAAgB7B,CAAAA,CAChB,EAAA,CAAIa,EAAQ,EAAA,CACZ,QAAA,CAAUR,CAAAA,CAET,QAAA,CAAAQ,CAAAA,CAAQ,QAAA,CAAA,CALJA,CAAAA,CAAQ,EAMf,CACD,CAAA,CACH,CAAA,CACF,CAAA,CACF,CAEJ","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/SortableList/index.tsx"],"names":["ElementsContainer","styled","SortableList","id","onClickElement","elements","onChange","onDragOver","className","disabled","setNodeRef","useDroppable","handleDragOver","active","over","delta","activeIndex","element","overIndex","updatedItems","elementToUpdate","arrayMove","handleDragEnd","sensors","useSensors","useSensor","MouseSensor","KeyboardSensor","jsx","DndContext","closestCorners","SortableContext","verticalListSortingStrategy","SortableElement"],"mappings":"8WAeA,IAAMA,CAAAA,CAAoBC,kBAAAA,CAAO,GAAA;AAAA;AAAA;AAAA,CAAA,CAoBlB,SAARC,CAAAA,CAA8B,CACnC,EAAA,CAAAC,CAAAA,CACA,eAAAC,CAAAA,CAAiB,IAAM,IAAA,CACvB,QAAA,CAAAC,CAAAA,CAAW,GACX,QAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CAAa,IAAM,IAAA,CACnB,SAAA,CAAAC,CAAAA,CAAY,EAAA,CACZ,QAAA,CAAAC,CAAAA,CAAW,KACb,CAAA,CAAsB,CACpB,GAAM,CAAE,UAAA,CAAAC,CAAW,CAAA,CAAIC,iBAAAA,CAAa,CAAE,GAAAR,CAAG,CAAC,CAAA,CAEpCS,CAAAA,CAAiB,CAAC,CAAE,OAAAC,CAAAA,CAAQ,IAAA,CAAAC,CAAAA,CAAM,KAAA,CAAAC,CAAM,CAAA,GAAqB,CAEjE,GADmC,IAAA,CAAK,GAAA,CAAIA,CAAAA,CAAM,CAAC,CAAA,CAAI,CAAA,EAAK,KAAK,GAAA,CAAIA,CAAAA,CAAM,CAAC,CAAA,CAAI,CAAA,CAE9E,OAAOX,EAAeS,CAAAA,CAAO,EAAY,CAAA,CAG3C,IAAMG,CAAAA,CAAcX,CAAAA,CAAS,UAAWY,CAAAA,EAAYA,CAAAA,CAAQ,EAAA,GAAOJ,CAAAA,CAAO,EAAE,CAAA,CACtEK,CAAAA,CAAYb,CAAAA,CAAS,SAAA,CAAWY,CAAAA,EAAYA,CAAAA,CAAQ,EAAA,GAAOH,CAAAA,EAAM,EAAE,EAEnEK,CAAAA,CAAgBC,CAAAA,EACpBC,kBAAAA,CAAmBD,CAAAA,CAAiBJ,CAAAA,CAAaE,CAAS,CAAA,CAE5D,OAAIJ,CAAAA,EAAM,EAAA,EACRP,CAAAA,CAAWY,CAAAA,CAAad,CAAQ,CAAC,EAE5B,KACT,CAAA,CAEMiB,CAAAA,CAAgB,CAAC,CAAE,MAAA,CAAAT,CAAAA,CAAQ,IAAA,CAAAC,CAAAA,CAAM,KAAA,CAAAC,CAAM,CAAA,GAAoB,CAE/D,GADmC,KAAK,GAAA,CAAIA,CAAAA,CAAM,CAAC,CAAA,CAAI,CAAA,EAAK,IAAA,CAAK,IAAIA,CAAAA,CAAM,CAAC,CAAA,CAAI,CAAA,CAE9E,OAAOX,CAAAA,CAAeS,EAAO,EAAY,CAAA,CAG3C,IAAMG,CAAAA,CAAcX,CAAAA,CAAS,SAAA,CAAWY,CAAAA,EAAYA,CAAAA,CAAQ,EAAA,GAAOJ,CAAAA,CAAO,EAAE,CAAA,CACtEK,CAAAA,CAAYb,CAAAA,CAAS,UAAWY,CAAAA,EAAYA,CAAAA,CAAQ,EAAA,GAAOH,CAAAA,EAAM,EAAE,CAAA,CAEnEK,EAAgBC,CAAAA,EACpBC,kBAAAA,CAAmBD,CAAAA,CAAiBJ,CAAAA,CAAaE,CAAS,CAAA,CAE5D,OAAIJ,CAAAA,EAAM,EAAA,EACRR,CAAAA,CAASa,CAAAA,CAAad,CAAQ,CAAC,CAAA,CAG1B,IACT,CAAA,CAEMkB,CAAAA,CAAUC,eAAAA,CAAWC,cAAAA,CAAUC,mBAAW,CAAA,CAAGD,eAAUE,mBAAc,CAAC,CAAA,CAE5E,OACEC,cAAAA,CAACC,eAAAA,CAAA,CACC,kBAAA,CAAoBC,mBAAAA,CACpB,UAAA,CAAYlB,CAAAA,CACZ,SAAA,CAAWU,CAAAA,CACX,QAASC,CAAAA,CAET,QAAA,CAAAK,cAAAA,CAACG,wBAAAA,CAAA,CAAgB,EAAA,CAAI5B,CAAAA,CAAI,KAAA,CAAOE,CAAAA,CAAU,QAAA,CAAU2B,oCAAAA,CAClD,QAAA,CAAAJ,cAAAA,CAAC5B,CAAAA,CAAA,CAAkB,GAAA,CAAKU,CAAAA,CAAY,SAAA,CAAWF,CAAAA,CAC5C,QAAA,CAAAH,CAAAA,CAAS,GAAA,CAAKY,CAAAA,EACbW,cAAAA,CAACK,mBAAAA,CAAA,CAEC,cAAA,CAAgB7B,CAAAA,CAChB,EAAA,CAAIa,EAAQ,EAAA,CACZ,QAAA,CAAUR,CAAAA,CAET,QAAA,CAAAQ,CAAAA,CAAQ,QAAA,CAAA,CALJA,CAAAA,CAAQ,EAMf,CACD,CAAA,CACH,CAAA,CACF,CAAA,CACF,CAEJ","file":"chunk-HCMJMPCZ.cjs","sourcesContent":["import {\n useDroppable,\n DndContext,\n DragEndEvent,\n DragOverEvent,\n closestCorners,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport { SortableContext, arrayMove, verticalListSortingStrategy } from '@dnd-kit/sortable';\n\nimport styled from '@emotion/styled';\nimport { KeyboardSensor, MouseSensor } from './sensors';\nimport SortableElement from './SortableElement';\n\nconst ElementsContainer = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\nexport type Element = {\n id: string;\n children: JSX.Element;\n};\n\nexport type SortableListProps = {\n id: string;\n elements: Element[];\n onChange: (elements: Element[]) => void;\n onDragOver?: (elements: Element[]) => void;\n onClickElement?: (elementId: string) => void;\n className: string;\n disabled?: boolean;\n};\n\nexport default function SortableList({\n id,\n onClickElement = () => null,\n elements = [],\n onChange,\n onDragOver = () => null,\n className = '',\n disabled = false,\n}: SortableListProps) {\n const { setNodeRef } = useDroppable({ id });\n\n const handleDragOver = ({ active, over, delta }: DragOverEvent) => {\n const belowDragDistanceThreshold = Math.abs(delta.x) < 1 && Math.abs(delta.y) < 1;\n if (belowDragDistanceThreshold) {\n return onClickElement(active.id as string);\n }\n\n const activeIndex = elements.findIndex((element) => element.id === active.id);\n const overIndex = elements.findIndex((element) => element.id === over?.id);\n\n const updatedItems = (elementToUpdate: any) =>\n arrayMove<Element>(elementToUpdate, activeIndex, overIndex);\n\n if (over?.id) {\n onDragOver(updatedItems(elements));\n }\n return false;\n };\n\n const handleDragEnd = ({ active, over, delta }: DragEndEvent) => {\n const belowDragDistanceThreshold = Math.abs(delta.x) < 1 && Math.abs(delta.y) < 1;\n if (belowDragDistanceThreshold) {\n return onClickElement(active.id as string);\n }\n\n const activeIndex = elements.findIndex((element) => element.id === active.id);\n const overIndex = elements.findIndex((element) => element.id === over?.id);\n\n const updatedItems = (elementToUpdate: any) =>\n arrayMove<Element>(elementToUpdate, activeIndex, overIndex);\n\n if (over?.id) {\n onChange(updatedItems(elements));\n }\n\n return null;\n };\n\n const sensors = useSensors(useSensor(MouseSensor), useSensor(KeyboardSensor));\n\n return (\n <DndContext\n collisionDetection={closestCorners}\n onDragOver={handleDragOver}\n onDragEnd={handleDragEnd}\n sensors={sensors}\n >\n <SortableContext id={id} items={elements} strategy={verticalListSortingStrategy}>\n <ElementsContainer ref={setNodeRef} className={className}>\n {elements.map((element) => (\n <SortableElement\n key={element.id}\n onClickElement={onClickElement}\n id={element.id}\n disabled={disabled}\n >\n {element.children}\n </SortableElement>\n ))}\n </ElementsContainer>\n </SortableContext>\n </DndContext>\n );\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {a}from'./chunk-Z2IHO2AX.js';import {a as a$1}from'./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import {a}from'./chunk-Z2IHO2AX.js';import {a as a$1}from'./chunk-OI6KQ27G.js';import {d,h}from'./chunk-L3642URI.js';import {jsx,jsxs,Fragment}from'react/jsx-runtime';var g=({uniqueId:t,open:p,loading:l,options:o,selected:c,toggleOption:a$2,onSearch:d$1,scrollbarRef:r,inputRef:f,emptyIndicator:R,loadingIndicator:n,selectFirstItem:M})=>jsx("div",{className:"relative",children:p&&jsx(d,{id:t,className:"bg-popover text-popover-foreground animate-in absolute top-1 z-10 w-full rounded-md border shadow-xs outline-none",onMouseLeave:()=>{r.current=false;},onMouseEnter:()=>{r.current=true;},onMouseUp:()=>{f?.current?.focus();},children:l&&n?n:jsxs(Fragment,{children:[jsx(a,{onSearch:d$1,options:o,emptyIndicator:R}),!M&&jsx(h,{value:"-",className:"hidden"}),jsx(a$1,{options:o,uniqueId:t,selected:c,toggleOption:a$2})]})})});export{g as a};//# sourceMappingURL=chunk-IDMCKAYC.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-IDMCKAYC.js.map
|