@solace-health/ui 0.10.668 → 0.10.671

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/README.md +9 -2
  2. package/dist/chunk-2DLCWPKO.cjs +27 -0
  3. package/dist/chunk-2DLCWPKO.cjs.map +1 -0
  4. package/dist/{chunk-QOIWWR24.cjs → chunk-2E7ZG247.cjs} +2 -2
  5. package/dist/{chunk-QOIWWR24.cjs.map → chunk-2E7ZG247.cjs.map} +1 -1
  6. package/dist/{chunk-FXLG3LU3.cjs → chunk-3WAG2NWA.cjs} +2 -2
  7. package/dist/{chunk-FXLG3LU3.cjs.map → chunk-3WAG2NWA.cjs.map} +1 -1
  8. package/dist/{chunk-VO2GGQ2X.js → chunk-6T7SXJ44.js} +2 -2
  9. package/dist/{chunk-VO2GGQ2X.js.map → chunk-6T7SXJ44.js.map} +1 -1
  10. package/dist/{chunk-3N4EBY5Q.js → chunk-74AGGELC.js} +2 -2
  11. package/dist/{chunk-3N4EBY5Q.js.map → chunk-74AGGELC.js.map} +1 -1
  12. package/dist/chunk-7QWN4Z56.js +27 -0
  13. package/dist/chunk-7QWN4Z56.js.map +1 -0
  14. package/dist/{chunk-2BUA2PCN.cjs → chunk-DJ5RP6A2.cjs} +2 -2
  15. package/dist/{chunk-2BUA2PCN.cjs.map → chunk-DJ5RP6A2.cjs.map} +1 -1
  16. package/dist/{chunk-BCJNTCHK.js → chunk-EJBXIBM4.js} +2 -2
  17. package/dist/{chunk-BCJNTCHK.js.map → chunk-EJBXIBM4.js.map} +1 -1
  18. package/dist/{chunk-VTYXYLTK.cjs → chunk-EZK5NRS6.cjs} +2 -2
  19. package/dist/{chunk-VTYXYLTK.cjs.map → chunk-EZK5NRS6.cjs.map} +1 -1
  20. package/dist/chunk-FFAC2CCY.cjs +2 -0
  21. package/dist/chunk-FFAC2CCY.cjs.map +1 -0
  22. package/dist/{chunk-QUD4HTUP.cjs → chunk-FMFRB4JI.cjs} +2 -2
  23. package/dist/chunk-FMFRB4JI.cjs.map +1 -0
  24. package/dist/{chunk-FBXJ2VCI.js → chunk-FQGC44HX.js} +2 -2
  25. package/dist/{chunk-FBXJ2VCI.js.map → chunk-FQGC44HX.js.map} +1 -1
  26. package/dist/{chunk-ETZDR7A5.cjs → chunk-H37HOXIG.cjs} +2 -2
  27. package/dist/{chunk-ETZDR7A5.cjs.map → chunk-H37HOXIG.cjs.map} +1 -1
  28. package/dist/chunk-IRMVTSQ3.cjs +2 -0
  29. package/dist/chunk-IRMVTSQ3.cjs.map +1 -0
  30. package/dist/{chunk-DJD7UZPR.cjs → chunk-KXR3HDPA.cjs} +2 -2
  31. package/dist/{chunk-DJD7UZPR.cjs.map → chunk-KXR3HDPA.cjs.map} +1 -1
  32. package/dist/{chunk-ONAYZGIC.js → chunk-M2YQU26J.js} +2 -2
  33. package/dist/{chunk-ONAYZGIC.js.map → chunk-M2YQU26J.js.map} +1 -1
  34. package/dist/{chunk-JE6P5GU3.js → chunk-M7LXLMUQ.js} +2 -2
  35. package/dist/{chunk-JE6P5GU3.js.map → chunk-M7LXLMUQ.js.map} +1 -1
  36. package/dist/chunk-NVFC45IS.js +2 -0
  37. package/dist/chunk-NVFC45IS.js.map +1 -0
  38. package/dist/{chunk-WMOD232S.js → chunk-OYN4D5J3.js} +2 -2
  39. package/dist/{chunk-WMOD232S.js.map → chunk-OYN4D5J3.js.map} +1 -1
  40. package/dist/{chunk-UVZVZAGK.js → chunk-PVA67MWT.js} +2 -2
  41. package/dist/{chunk-UVZVZAGK.js.map → chunk-PVA67MWT.js.map} +1 -1
  42. package/dist/chunk-QHNRUAYJ.js +2 -0
  43. package/dist/chunk-QHNRUAYJ.js.map +1 -0
  44. package/dist/{chunk-Z6BTLUPD.js → chunk-R2R3QR2N.js} +2 -2
  45. package/dist/{chunk-Z6BTLUPD.js.map → chunk-R2R3QR2N.js.map} +1 -1
  46. package/dist/{chunk-6TGWLOLD.js → chunk-R3HGV3DR.js} +2 -2
  47. package/dist/{chunk-6TGWLOLD.js.map → chunk-R3HGV3DR.js.map} +1 -1
  48. package/dist/{chunk-3TNSGXJ6.cjs → chunk-RQTTULKO.cjs} +2 -2
  49. package/dist/{chunk-3TNSGXJ6.cjs.map → chunk-RQTTULKO.cjs.map} +1 -1
  50. package/dist/{chunk-L4FOTU2K.cjs → chunk-RXR3BZZK.cjs} +2 -2
  51. package/dist/{chunk-L4FOTU2K.cjs.map → chunk-RXR3BZZK.cjs.map} +1 -1
  52. package/dist/{chunk-VTBYJGTJ.cjs → chunk-SC4FK5N3.cjs} +2 -2
  53. package/dist/{chunk-VTBYJGTJ.cjs.map → chunk-SC4FK5N3.cjs.map} +1 -1
  54. package/dist/chunk-SP2L5FI7.js +2 -0
  55. package/dist/chunk-SP2L5FI7.js.map +1 -0
  56. package/dist/{chunk-SMTXYI6Q.js → chunk-STIYYCSL.js} +2 -2
  57. package/dist/{chunk-SMTXYI6Q.js.map → chunk-STIYYCSL.js.map} +1 -1
  58. package/dist/{chunk-C45VZ526.cjs → chunk-UIKSYA4B.cjs} +2 -2
  59. package/dist/{chunk-C45VZ526.cjs.map → chunk-UIKSYA4B.cjs.map} +1 -1
  60. package/dist/{chunk-E7W73IO3.cjs → chunk-UJH4JKQC.cjs} +2 -2
  61. package/dist/{chunk-E7W73IO3.cjs.map → chunk-UJH4JKQC.cjs.map} +1 -1
  62. package/dist/{chunk-X7HU4N6X.cjs → chunk-URUWP25E.cjs} +2 -2
  63. package/dist/{chunk-X7HU4N6X.cjs.map → chunk-URUWP25E.cjs.map} +1 -1
  64. package/dist/{chunk-FMPII2NF.js → chunk-VIPOYVA3.js} +2 -2
  65. package/dist/{chunk-FMPII2NF.js.map → chunk-VIPOYVA3.js.map} +1 -1
  66. package/dist/{chunk-KIKR45SH.js → chunk-WHAXVJN5.js} +2 -2
  67. package/dist/{chunk-KIKR45SH.js.map → chunk-WHAXVJN5.js.map} +1 -1
  68. package/dist/{chunk-MPGPI6LC.js → chunk-XOWSDMW5.js} +2 -2
  69. package/dist/{chunk-MPGPI6LC.js.map → chunk-XOWSDMW5.js.map} +1 -1
  70. package/dist/{chunk-HP66FPW5.cjs → chunk-YVXKLKHE.cjs} +2 -2
  71. package/dist/{chunk-HP66FPW5.cjs.map → chunk-YVXKLKHE.cjs.map} +1 -1
  72. package/dist/{chunk-SM7PYFD2.cjs → chunk-ZZW5IT44.cjs} +2 -2
  73. package/dist/{chunk-SM7PYFD2.cjs.map → chunk-ZZW5IT44.cjs.map} +1 -1
  74. package/dist/metafile-cjs.json +1 -1
  75. package/dist/metafile-esm.json +1 -1
  76. package/dist/v2/address-input/address-input.cjs +1 -1
  77. package/dist/v2/address-input/address-input.js +1 -1
  78. package/dist/v2/button/button.cjs +1 -1
  79. package/dist/v2/button/button.js +1 -1
  80. package/dist/v2/calendar/calendar.cjs +1 -1
  81. package/dist/v2/calendar/calendar.js +1 -1
  82. package/dist/v2/card/card.cjs +1 -1
  83. package/dist/v2/card/card.d.ts +7 -2
  84. package/dist/v2/card/card.js +1 -1
  85. package/dist/v2/carousel/carousel.cjs +1 -1
  86. package/dist/v2/carousel/carousel.js +1 -1
  87. package/dist/v2/checkbox/button-checkbox.cjs +1 -1
  88. package/dist/v2/checkbox/button-checkbox.js +1 -1
  89. package/dist/v2/checkbox-group/checkbox-group.cjs +1 -1
  90. package/dist/v2/checkbox-group/checkbox-group.js +1 -1
  91. package/dist/v2/combobox/combobox.cjs +1 -1
  92. package/dist/v2/combobox/combobox.js +1 -1
  93. package/dist/v2/command/command.cjs +1 -1
  94. package/dist/v2/command/command.js +1 -1
  95. package/dist/v2/date-picker/date-picker-input.cjs +1 -1
  96. package/dist/v2/date-picker/date-picker-input.js +1 -1
  97. package/dist/v2/date-picker/date-picker.cjs +1 -1
  98. package/dist/v2/date-picker/date-picker.js +1 -1
  99. package/dist/v2/dialog/dialog.cjs +1 -1
  100. package/dist/v2/dialog/dialog.js +1 -1
  101. package/dist/v2/drawer/drawer.cjs +1 -1
  102. package/dist/v2/drawer/drawer.js +1 -1
  103. package/dist/v2/flex-drawer/flex-drawer.cjs +1 -1
  104. package/dist/v2/flex-drawer/flex-drawer.js +1 -1
  105. package/dist/v2/image-preview/image-preview.cjs +1 -1
  106. package/dist/v2/image-preview/image-preview.js +1 -1
  107. package/dist/v2/index.cjs +1 -1
  108. package/dist/v2/index.js +1 -1
  109. package/dist/v2/input/formatters.cjs +1 -1
  110. package/dist/v2/input/formatters.d.ts +1 -0
  111. package/dist/v2/input/formatters.js +1 -1
  112. package/dist/v2/input/input.cjs +1 -1
  113. package/dist/v2/input/input.d.ts +2 -2
  114. package/dist/v2/input/input.js +1 -1
  115. package/dist/v2/input/input.stories.d.ts +2 -0
  116. package/dist/v2/multiselect/components/MultiSelectCommandGroup.cjs +1 -1
  117. package/dist/v2/multiselect/components/MultiSelectCommandGroup.js +1 -1
  118. package/dist/v2/multiselect/components/MultiSelectDropdown.cjs +1 -1
  119. package/dist/v2/multiselect/components/MultiSelectDropdown.js +1 -1
  120. package/dist/v2/multiselect/multiselect.cjs +1 -1
  121. package/dist/v2/multiselect/multiselect.js +1 -1
  122. package/dist/v2/time-select/time-select.cjs +1 -1
  123. package/dist/v2/time-select/time-select.js +1 -1
  124. package/package.json +7 -6
  125. package/dist/chunk-3TXN7A2Z.js +0 -2
  126. package/dist/chunk-3TXN7A2Z.js.map +0 -1
  127. package/dist/chunk-6LESB5UU.js +0 -27
  128. package/dist/chunk-6LESB5UU.js.map +0 -1
  129. package/dist/chunk-7X6KFDGZ.cjs +0 -2
  130. package/dist/chunk-7X6KFDGZ.cjs.map +0 -1
  131. package/dist/chunk-JH4FQUIS.js +0 -2
  132. package/dist/chunk-JH4FQUIS.js.map +0 -1
  133. package/dist/chunk-KKTQL7QK.js +0 -2
  134. package/dist/chunk-KKTQL7QK.js.map +0 -1
  135. package/dist/chunk-OUGYUQUB.cjs +0 -27
  136. package/dist/chunk-OUGYUQUB.cjs.map +0 -1
  137. package/dist/chunk-QUD4HTUP.cjs.map +0 -1
  138. package/dist/chunk-Z2MOZQCG.cjs +0 -2
  139. package/dist/chunk-Z2MOZQCG.cjs.map +0 -1
@@ -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":"0jBAcO,IAAMA,EAAAA,CAAcC,WACzB,CAACC,CAAAA,CAAyBC,IAA6B,CACrD,GAAM,CACJ,EAAA,CAAAC,CAAAA,CACA,MAAAC,CAAAA,CACA,QAAA,CAAAC,EACA,WAAA,CAAAC,CAAAA,CACA,eAAgBC,CAAAA,CAAyB,GACzC,OAAA,CAASC,CAAAA,CAAkB,EAAC,CAC5B,KAAA,CAAAC,EACA,QAAA,CAAAC,CAAAA,CACA,oBAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CAAU,KAAA,CACV,iBAAAC,CAAAA,CACA,cAAA,CAAAC,EACA,WAAA,CAAAC,CAAAA,CAAc,EACd,aAAA,CAAAC,CAAAA,CACA,4BAAAC,CAAAA,CAA8B,IAAA,CAC9B,SAAAC,GAAAA,CACA,SAAA,CAAAC,EACA,UAAA,CAAAC,CAAAA,CACA,sBAAAC,CAAAA,CACA,cAAA,CAAAC,EACA,iBAAA,CAAAC,CAAAA,CAAoB,IAAM,EAAA,CAC1B,eAAA,CAAAC,EAAkB,IAAA,CAClB,YAAA,CAAAC,EACA,UAAA,CAAAC,CAAAA,CACA,qBAAAC,CAAAA,CAAuB,KAAA,CACvB,mBAAAC,CAAAA,CAAqB,KACvB,EAAI3B,CAAAA,CAEE,CAAE,SAAA4B,CAAAA,CAAU,UAAA,CAAAC,CAAAA,CAAY,WAAA,CAAAC,EAAa,YAAA,CAAAC,CAAAA,CAAc,uBAAAC,CAAuB,CAAA,CAAIC,EAAQ,CAC1F,QAAA,CAAAxB,CACF,CAAC,CAAA,CAEK,CACJ,QAAA,CAAAyB,CAAAA,CACA,KAAAC,CAAAA,CACA,OAAA,CAAAC,EACA,QAAA,CAAAC,CAAAA,CACA,YAAAC,CAAAA,CACA,OAAA,CAAAC,EACA,UAAA,CAAAC,EAAAA,CACA,iBAAAC,EAAAA,CACA,mBAAA,CAAAC,EACA,mBAAA,CAAAC,EACF,EAAIC,GAAAA,CAAe,CACjB,GAAA1C,CAAAA,CACA,KAAA,CAAAC,EACA,cAAA,CAAgBG,CAAAA,CAChB,MAAAE,CACF,CAAC,EAEK,CAAE,YAAA,CAAAqC,EAAc,aAAA,CAAAC,EAAc,EAAIC,GAAAA,CAAgB,CACtD,KAAAZ,CAAAA,CACA,QAAA,CAAAE,EACA,WAAA,CAAAvB,CAAAA,CACA,SAAAV,CAAAA,CACA,aAAA,CAAAW,EACA,mBAAA,CAAA2B,CAAAA,CACA,WAAAb,CAAAA,CACA,QAAA,CAAAD,EACA,WAAA,CAAAU,CAAAA,CACA,QAAAF,CAAAA,CACA,oBAAA,CAAAV,CACF,CAAC,CAAA,CAEDsB,IAAU,CACR,mBAAA,CAAAL,GACA,IAAA,CAAAR,CAAAA,CACA,YAAAL,CAAAA,CACA,mBAAA,CAAApB,CACF,CAAC,CAAA,CAEDuC,IAAe,CACb,eAAA,CAAA1C,CAAAA,CACA,UAAA,CAAAiC,GACA,sBAAA,CAAAR,CACF,CAAC,CAAA,CAEDkB,GAAAA,CAAgB,CACd,KAAA,CAAA/C,CAAAA,CACA,YAAAmC,CACF,CAAC,EAEDa,mBAAAA,CACElD,CAAAA,CACA,KAAO,CACL,aAAA,CAAe,CAAC,GAAGoC,CAAQ,EAC3B,KAAA,CAAOT,CAAAA,CAAS,QAChB,KAAA,CAAO,IAAMA,GAAU,OAAA,EAAS,KAAA,GAChC,KAAA,CAAO,IAAMU,EAAY,EAAE,CAC7B,CAAA,CAAA,CACA,CAACD,EAAUT,CAAAA,CAAUU,CAAW,CAClC,CAAA,CAEA,IAAMc,EAAAA,CAAgBC,WAAAA,CAAY,IAAM,CACtC,GAAI7B,GAAc,MAAA,CAChB,OAAOA,EAAa,MAKxB,CAAA,CAAG,CAACA,CAAAA,EAAc,MAAM,CAAC,CAAA,CAEzB,OACE8B,KAACC,GAAAA,CAAA,CACC,IAAK1B,CAAAA,CACJ,GAAGL,EACJ,SAAA,CAAYgC,CAAAA,EAAM,CAChBV,EAAAA,CAAcU,CAAC,EACfhC,CAAAA,EAAc,SAAA,GAAYgC,CAAC,EAC7B,CAAA,CACA,UAAWC,GAAAA,CAAG,wCAAA,CAA0CjC,GAAc,SAAS,CAAA,CAC/E,aACEA,CAAAA,EAAc,YAAA,GAAiB,OAAYA,CAAAA,CAAa,YAAA,CAAe,CAACf,CAAAA,CAE1E,OAAQ2C,EAAAA,EAAc,CAEtB,UAAAM,GAAAA,CAACC,GAAAA,CAAA,CAAyB,IAAA,CAAAxB,CAAAA,CAAM,SAAAlB,GAAAA,CAAU,QAAA,CAAAW,EAAU,QAAA,CAAAS,CAAAA,CAAU,SAAAH,CAAAA,CAAU,SAAA,CAAAhB,EACtE,QAAA,CAAAwC,GAAAA,CAACE,IAAA,CAEG,QAAA,CAAAvB,EACA,YAAA,CAAAN,CAAAA,CACA,aAAAc,CAAAA,CACA,UAAA,CAAApB,EACA,QAAA,CAAAG,CAAAA,CACA,KAAAO,CAAAA,CACA,OAAA,CAAAC,EACA,WAAA,CAAA/B,CAAAA,CACA,4BAAAW,CAAAA,CACA,QAAA,CAAAC,IACA,UAAA,CAAAE,CAAAA,CACA,sBAAAC,CAAAA,CACA,cAAA,CAAAC,EACA,iBAAA,CAAAC,CAAAA,CACA,iBAAAmB,EAAAA,CACA,mBAAA,CAAAC,EACA,kBAAA,CAAAf,CAAAA,CAEJ,EACF,CAAA,CAEA+B,GAAAA,CAACG,IAAA,CAEG,QAAA,CAAA3B,EACA,YAAA,CAAAH,CAAAA,CACA,KAAAI,CAAAA,CACA,OAAA,CAAAxB,EACA,OAAA,CAAA4B,CAAAA,CACA,SAAAF,CAAAA,CACA,YAAA,CAAAQ,EACA,QAAA,CAAApC,CAAAA,CACA,SAAAmB,CAAAA,CACA,cAAA,CAAAf,EACA,gBAAA,CAAAD,CAAAA,CACA,gBAAAW,CAAAA,CAEJ,CAAA,CAAA,CACF,CAEJ,CACF,EAEAzB,GAAY,WAAA,CAAc,aAAA","file":"chunk-BCJNTCHK.js","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
+ {"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-EJBXIBM4.js","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 chunkL4FOTU2K_cjs=require('./chunk-L4FOTU2K.cjs'),chunkQRO22BPZ_cjs=require('./chunk-QRO22BPZ.cjs'),react=require('react'),cmdk=require('cmdk'),lu=require('react-icons/lu'),jsxRuntime=require('react/jsx-runtime');var C=react.forwardRef(({className:o,...e},a)=>jsxRuntime.jsx(cmdk.Command,{"data-slot":"command",ref:a,className:chunkQRO22BPZ_cjs.a("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",o),...e}));function P({title:o="Command Palette",description:e="Search for a command to run...",children:a,className:c,...u}){return jsxRuntime.jsxs(chunkL4FOTU2K_cjs.a,{...u,children:[jsxRuntime.jsxs(chunkL4FOTU2K_cjs.g,{className:"sr-only",children:[jsxRuntime.jsx(chunkL4FOTU2K_cjs.i,{children:o}),jsxRuntime.jsx(chunkL4FOTU2K_cjs.j,{children:e})]}),jsxRuntime.jsx(chunkL4FOTU2K_cjs.f,{className:chunkQRO22BPZ_cjs.a("overflow-hidden p-0",c),children:jsxRuntime.jsx(C,{className:"[&_[cmdk-group-heading]]:text-muted-foreground **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5",children:a})})]})}function w({className:o,...e}){return jsxRuntime.jsxs("div",{"data-slot":"command-input-wrapper",className:"flex h-9 items-center gap-2 border-b px-3",children:[jsxRuntime.jsx(lu.LuSearch,{className:"size-4 shrink-0 opacity-50"}),jsxRuntime.jsx(cmdk.Command.Input,{"data-slot":"command-input",className:chunkQRO22BPZ_cjs.a("placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 outline-hidden disabled:cursor-not-allowed disabled:opacity-50",o),...e})]})}function D({className:o,...e}){return jsxRuntime.jsx(cmdk.Command.List,{"data-slot":"command-list",className:chunkQRO22BPZ_cjs.a("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",o),...e})}function N({...o}){return jsxRuntime.jsx(cmdk.Command.Empty,{"data-slot":"command-empty",className:"py-6 text-center",...o})}function b({className:o,...e}){return jsxRuntime.jsx(cmdk.Command.Group,{"data-slot":"command-group",className:chunkQRO22BPZ_cjs.a("text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",o),...e})}function I({className:o,...e}){return jsxRuntime.jsx(cmdk.Command.Separator,{"data-slot":"command-separator",className:chunkQRO22BPZ_cjs.a("bg-border -mx-1 h-px",o),...e})}function S({className:o,...e}){return jsxRuntime.jsx(cmdk.Command.Item,{"data-slot":"command-item",className:chunkQRO22BPZ_cjs.a("data-[selected=true]:bg-accent data-[selected=true]:text-primary [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",o),...e})}function L({className:o,...e}){return jsxRuntime.jsx("span",{"data-slot":"command-shortcut",className:chunkQRO22BPZ_cjs.a("text-muted-foreground ml-auto text-xs tracking-widest",o),...e})}exports.a=C;exports.b=P;exports.c=w;exports.d=D;exports.e=N;exports.f=b;exports.g=I;exports.h=S;exports.i=L;//# sourceMappingURL=chunk-VTYXYLTK.cjs.map
2
- //# sourceMappingURL=chunk-VTYXYLTK.cjs.map
1
+ 'use strict';var chunkRXR3BZZK_cjs=require('./chunk-RXR3BZZK.cjs'),chunkQRO22BPZ_cjs=require('./chunk-QRO22BPZ.cjs'),react=require('react'),cmdk=require('cmdk'),lu=require('react-icons/lu'),jsxRuntime=require('react/jsx-runtime');var C=react.forwardRef(({className:o,...e},a)=>jsxRuntime.jsx(cmdk.Command,{"data-slot":"command",ref:a,className:chunkQRO22BPZ_cjs.a("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",o),...e}));function P({title:o="Command Palette",description:e="Search for a command to run...",children:a,className:c,...u}){return jsxRuntime.jsxs(chunkRXR3BZZK_cjs.a,{...u,children:[jsxRuntime.jsxs(chunkRXR3BZZK_cjs.g,{className:"sr-only",children:[jsxRuntime.jsx(chunkRXR3BZZK_cjs.i,{children:o}),jsxRuntime.jsx(chunkRXR3BZZK_cjs.j,{children:e})]}),jsxRuntime.jsx(chunkRXR3BZZK_cjs.f,{className:chunkQRO22BPZ_cjs.a("overflow-hidden p-0",c),children:jsxRuntime.jsx(C,{className:"[&_[cmdk-group-heading]]:text-muted-foreground **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5",children:a})})]})}function w({className:o,...e}){return jsxRuntime.jsxs("div",{"data-slot":"command-input-wrapper",className:"flex h-9 items-center gap-2 border-b px-3",children:[jsxRuntime.jsx(lu.LuSearch,{className:"size-4 shrink-0 opacity-50"}),jsxRuntime.jsx(cmdk.Command.Input,{"data-slot":"command-input",className:chunkQRO22BPZ_cjs.a("placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 outline-hidden disabled:cursor-not-allowed disabled:opacity-50",o),...e})]})}function D({className:o,...e}){return jsxRuntime.jsx(cmdk.Command.List,{"data-slot":"command-list",className:chunkQRO22BPZ_cjs.a("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",o),...e})}function N({...o}){return jsxRuntime.jsx(cmdk.Command.Empty,{"data-slot":"command-empty",className:"py-6 text-center",...o})}function b({className:o,...e}){return jsxRuntime.jsx(cmdk.Command.Group,{"data-slot":"command-group",className:chunkQRO22BPZ_cjs.a("text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",o),...e})}function I({className:o,...e}){return jsxRuntime.jsx(cmdk.Command.Separator,{"data-slot":"command-separator",className:chunkQRO22BPZ_cjs.a("bg-border -mx-1 h-px",o),...e})}function S({className:o,...e}){return jsxRuntime.jsx(cmdk.Command.Item,{"data-slot":"command-item",className:chunkQRO22BPZ_cjs.a("data-[selected=true]:bg-accent data-[selected=true]:text-primary [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",o),...e})}function L({className:o,...e}){return jsxRuntime.jsx("span",{"data-slot":"command-shortcut",className:chunkQRO22BPZ_cjs.a("text-muted-foreground ml-auto text-xs tracking-widest",o),...e})}exports.a=C;exports.b=P;exports.c=w;exports.d=D;exports.e=N;exports.f=b;exports.g=I;exports.h=S;exports.i=L;//# sourceMappingURL=chunk-EZK5NRS6.cjs.map
2
+ //# sourceMappingURL=chunk-EZK5NRS6.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/v2/command/command.tsx"],"names":["Command","forwardRef","className","props","forwardedRef","jsx","CommandPrimitive","cn","CommandDialog","title","description","children","jsxs","Dialog","DialogHeader","DialogTitle","DialogDescription","DialogContent","CommandInput","LuSearch","CommandList","CommandEmpty","CommandGroup","CommandSeparator","CommandItem","CommandShortcut"],"mappings":"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","file":"chunk-VTYXYLTK.cjs","sourcesContent":["import { ComponentProps, forwardRef } from 'react';\nimport { Command as CommandPrimitive } from 'cmdk';\nimport { LuSearch } from 'react-icons/lu';\n\nimport { cn } from '@/lib/utils';\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle,\n} from '@/v2/dialog/dialog';\n\nconst Command = forwardRef<HTMLDivElement, ComponentProps<typeof CommandPrimitive>>(\n ({ className, ...props }, forwardedRef) => {\n return (\n <CommandPrimitive\n data-slot=\"command\"\n ref={forwardedRef}\n className={cn(\n 'bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md',\n className,\n )}\n {...props}\n />\n );\n },\n);\n\nfunction CommandDialog({\n title = 'Command Palette',\n description = 'Search for a command to run...',\n children,\n className,\n ...props\n}: ComponentProps<typeof Dialog> & {\n title?: string;\n description?: string;\n className?: string;\n}) {\n return (\n <Dialog {...props}>\n <DialogHeader className=\"sr-only\">\n <DialogTitle>{title}</DialogTitle>\n <DialogDescription>{description}</DialogDescription>\n </DialogHeader>\n <DialogContent className={cn('overflow-hidden p-0', className)}>\n <Command className=\"[&_[cmdk-group-heading]]:text-muted-foreground **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5\">\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n );\n}\n\nfunction CommandInput({ className, ...props }: ComponentProps<typeof CommandPrimitive.Input>) {\n return (\n <div data-slot=\"command-input-wrapper\" className=\"flex h-9 items-center gap-2 border-b px-3\">\n <LuSearch className=\"size-4 shrink-0 opacity-50\" />\n <CommandPrimitive.Input\n data-slot=\"command-input\"\n className={cn(\n 'placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 outline-hidden disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n {...props}\n />\n </div>\n );\n}\n\nfunction CommandList({ className, ...props }: ComponentProps<typeof CommandPrimitive.List>) {\n return (\n <CommandPrimitive.List\n data-slot=\"command-list\"\n className={cn('max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto', className)}\n {...props}\n />\n );\n}\n\nfunction CommandEmpty({ ...props }: ComponentProps<typeof CommandPrimitive.Empty>) {\n return (\n <CommandPrimitive.Empty data-slot=\"command-empty\" className=\"py-6 text-center\" {...props} />\n );\n}\n\nfunction CommandGroup({ className, ...props }: ComponentProps<typeof CommandPrimitive.Group>) {\n return (\n <CommandPrimitive.Group\n data-slot=\"command-group\"\n className={cn(\n 'text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CommandSeparator({\n className,\n ...props\n}: ComponentProps<typeof CommandPrimitive.Separator>) {\n return (\n <CommandPrimitive.Separator\n data-slot=\"command-separator\"\n className={cn('bg-border -mx-1 h-px', className)}\n {...props}\n />\n );\n}\n\nfunction CommandItem({ className, ...props }: ComponentProps<typeof CommandPrimitive.Item>) {\n return (\n <CommandPrimitive.Item\n data-slot=\"command-item\"\n className={cn(\n \"data-[selected=true]:bg-accent data-[selected=true]:text-primary [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CommandShortcut({ className, ...props }: ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"command-shortcut\"\n className={cn('text-muted-foreground ml-auto text-xs tracking-widest', className)}\n {...props}\n />\n );\n}\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n};\n"]}
1
+ {"version":3,"sources":["../src/v2/command/command.tsx"],"names":["Command","forwardRef","className","props","forwardedRef","jsx","CommandPrimitive","cn","CommandDialog","title","description","children","jsxs","Dialog","DialogHeader","DialogTitle","DialogDescription","DialogContent","CommandInput","LuSearch","CommandList","CommandEmpty","CommandGroup","CommandSeparator","CommandItem","CommandShortcut"],"mappings":"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","file":"chunk-EZK5NRS6.cjs","sourcesContent":["import { ComponentProps, forwardRef } from 'react';\nimport { Command as CommandPrimitive } from 'cmdk';\nimport { LuSearch } from 'react-icons/lu';\n\nimport { cn } from '@/lib/utils';\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle,\n} from '@/v2/dialog/dialog';\n\nconst Command = forwardRef<HTMLDivElement, ComponentProps<typeof CommandPrimitive>>(\n ({ className, ...props }, forwardedRef) => {\n return (\n <CommandPrimitive\n data-slot=\"command\"\n ref={forwardedRef}\n className={cn(\n 'bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md',\n className,\n )}\n {...props}\n />\n );\n },\n);\n\nfunction CommandDialog({\n title = 'Command Palette',\n description = 'Search for a command to run...',\n children,\n className,\n ...props\n}: ComponentProps<typeof Dialog> & {\n title?: string;\n description?: string;\n className?: string;\n}) {\n return (\n <Dialog {...props}>\n <DialogHeader className=\"sr-only\">\n <DialogTitle>{title}</DialogTitle>\n <DialogDescription>{description}</DialogDescription>\n </DialogHeader>\n <DialogContent className={cn('overflow-hidden p-0', className)}>\n <Command className=\"[&_[cmdk-group-heading]]:text-muted-foreground **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5\">\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n );\n}\n\nfunction CommandInput({ className, ...props }: ComponentProps<typeof CommandPrimitive.Input>) {\n return (\n <div data-slot=\"command-input-wrapper\" className=\"flex h-9 items-center gap-2 border-b px-3\">\n <LuSearch className=\"size-4 shrink-0 opacity-50\" />\n <CommandPrimitive.Input\n data-slot=\"command-input\"\n className={cn(\n 'placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 outline-hidden disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n {...props}\n />\n </div>\n );\n}\n\nfunction CommandList({ className, ...props }: ComponentProps<typeof CommandPrimitive.List>) {\n return (\n <CommandPrimitive.List\n data-slot=\"command-list\"\n className={cn('max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto', className)}\n {...props}\n />\n );\n}\n\nfunction CommandEmpty({ ...props }: ComponentProps<typeof CommandPrimitive.Empty>) {\n return (\n <CommandPrimitive.Empty data-slot=\"command-empty\" className=\"py-6 text-center\" {...props} />\n );\n}\n\nfunction CommandGroup({ className, ...props }: ComponentProps<typeof CommandPrimitive.Group>) {\n return (\n <CommandPrimitive.Group\n data-slot=\"command-group\"\n className={cn(\n 'text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CommandSeparator({\n className,\n ...props\n}: ComponentProps<typeof CommandPrimitive.Separator>) {\n return (\n <CommandPrimitive.Separator\n data-slot=\"command-separator\"\n className={cn('bg-border -mx-1 h-px', className)}\n {...props}\n />\n );\n}\n\nfunction CommandItem({ className, ...props }: ComponentProps<typeof CommandPrimitive.Item>) {\n return (\n <CommandPrimitive.Item\n data-slot=\"command-item\"\n className={cn(\n \"data-[selected=true]:bg-accent data-[selected=true]:text-primary [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CommandShortcut({ className, ...props }: ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"command-shortcut\"\n className={cn('text-muted-foreground ml-auto text-xs tracking-widest', className)}\n {...props}\n />\n );\n}\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n};\n"]}
@@ -0,0 +1,2 @@
1
+ 'use strict';var chunkQRO22BPZ_cjs=require('./chunk-QRO22BPZ.cjs'),classVarianceAuthority=require('class-variance-authority'),jsxRuntime=require('react/jsx-runtime');var n=classVarianceAuthority.cva("bg-card text-card-foreground group/card flex flex-col gap-4 overflow-hidden rounded-lg border border-gray-200 py-4 text-sm shadow-sm has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-lg *:[img:last-child]:rounded-b-lg",{variants:{variant:{default:"",selected:"border-green bg-green-100"}},defaultVariants:{variant:"default"}});function l({className:a,size:r="default",variant:d,...o}){return jsxRuntime.jsx("div",{"data-slot":"card","data-size":r,className:chunkQRO22BPZ_cjs.a(n({variant:d}),a),...o})}function m({className:a,hideHeaderDivider:r=false,...d}){return jsxRuntime.jsx("div",{"data-slot":"card-header",className:chunkQRO22BPZ_cjs.a("group/card-header @container/card-header grid auto-rows-min items-center gap-1 rounded-t-lg border-b border-gray-200 px-4 group-data-[size=sm]/card:px-3 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3",r&&"border-none [.border-none]:pb-0",a),...d})}function u({className:a,...r}){return jsxRuntime.jsx("div",{"data-slot":"card-title",className:chunkQRO22BPZ_cjs.a("text-base leading-snug font-bold group-data-[size=sm]/card:text-sm",a),...r})}function f({className:a,...r}){return jsxRuntime.jsx("div",{"data-slot":"card-description",className:chunkQRO22BPZ_cjs.a("text-muted-foreground text-sm",a),...r})}function g({className:a,...r}){return jsxRuntime.jsx("div",{"data-slot":"card-action",className:chunkQRO22BPZ_cjs.a("col-start-2 row-start-1 self-start justify-self-end",a),...r})}function b({className:a,...r}){return jsxRuntime.jsx("div",{"data-slot":"card-content",className:chunkQRO22BPZ_cjs.a("px-4 group-data-[size=sm]/card:px-3",a),...r})}function v({className:a,...r}){return jsxRuntime.jsx("div",{"data-slot":"card-footer",className:chunkQRO22BPZ_cjs.a("bg-muted/50 flex items-center rounded-b-lg border-t border-gray-200 p-4 group-data-[size=sm]/card:p-3",a),...r})}exports.a=l;exports.b=m;exports.c=u;exports.d=f;exports.e=g;exports.f=b;exports.g=v;//# sourceMappingURL=chunk-FFAC2CCY.cjs.map
2
+ //# sourceMappingURL=chunk-FFAC2CCY.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/v2/card/card.tsx"],"names":["cardVariants","cva","Card","className","size","variant","props","jsx","cn","CardHeader","hideHeaderDivider","CardTitle","CardDescription","CardAction","CardContent","CardFooter"],"mappings":"sKAIA,IAAMA,CAAAA,CAAeC,0BAAAA,CACnB,6VAAA,CACA,CACE,SAAU,CACR,OAAA,CAAS,CACP,OAAA,CAAS,EAAA,CACT,SAAU,2BACZ,CACF,CAAA,CACA,eAAA,CAAiB,CACf,OAAA,CAAS,SACX,CACF,CACF,EAMA,SAASC,CAAAA,CAAK,CAAE,SAAA,CAAAC,CAAAA,CAAW,IAAA,CAAAC,CAAAA,CAAO,SAAA,CAAW,OAAA,CAAAC,EAAS,GAAGC,CAAM,EAAc,CAC3E,OACEC,eAAC,KAAA,CAAA,CACC,WAAA,CAAU,MAAA,CACV,WAAA,CAAWH,CAAAA,CACX,SAAA,CAAWI,oBAAGR,CAAAA,CAAa,CAAE,QAAAK,CAAQ,CAAC,EAAGF,CAAS,CAAA,CACjD,GAAGG,CAAAA,CACN,CAEJ,CAEA,SAASG,CAAAA,CAAW,CAClB,UAAAN,CAAAA,CACA,iBAAA,CAAAO,EAAoB,KAAA,CACpB,GAAGJ,CACL,CAAA,CAAkE,CAChE,OACEC,eAAC,KAAA,CAAA,CACC,WAAA,CAAU,cACV,SAAA,CAAWC,mBAAAA,CACT,+TACAE,CAAAA,EAAqB,iCAAA,CACrBP,CACF,CAAA,CACC,GAAGG,CAAAA,CACN,CAEJ,CAEA,SAASK,EAAU,CAAE,SAAA,CAAAR,EAAW,GAAGG,CAAM,CAAA,CAAgC,CACvE,OACEC,cAAAA,CAAC,OACC,WAAA,CAAU,YAAA,CACV,UAAWC,mBAAAA,CACT,oEAAA,CACAL,CACF,CAAA,CACC,GAAGG,CAAAA,CACN,CAEJ,CAEA,SAASM,EAAgB,CAAE,SAAA,CAAAT,EAAW,GAAGG,CAAM,EAAgC,CAC7E,OACEC,cAAAA,CAAC,KAAA,CAAA,CACC,WAAA,CAAU,kBAAA,CACV,UAAWC,mBAAAA,CAAG,+BAAA,CAAiCL,CAAS,CAAA,CACvD,GAAGG,EACN,CAEJ,CAEA,SAASO,CAAAA,CAAW,CAAE,SAAA,CAAAV,EAAW,GAAGG,CAAM,EAAgC,CACxE,OACEC,eAAC,KAAA,CAAA,CACC,WAAA,CAAU,aAAA,CACV,SAAA,CAAWC,mBAAAA,CAAG,qDAAA,CAAuDL,CAAS,CAAA,CAC7E,GAAGG,EACN,CAEJ,CAEA,SAASQ,CAAAA,CAAY,CAAE,SAAA,CAAAX,CAAAA,CAAW,GAAGG,CAAM,EAAgC,CACzE,OACEC,eAAC,KAAA,CAAA,CACC,WAAA,CAAU,eACV,SAAA,CAAWC,mBAAAA,CAAG,qCAAA,CAAuCL,CAAS,CAAA,CAC7D,GAAGG,EACN,CAEJ,CAEA,SAASS,CAAAA,CAAW,CAAE,UAAAZ,CAAAA,CAAW,GAAGG,CAAM,CAAA,CAAgC,CACxE,OACEC,eAAC,KAAA,CAAA,CACC,WAAA,CAAU,cACV,SAAA,CAAWC,mBAAAA,CACT,wGACAL,CACF,CAAA,CACC,GAAGG,CAAAA,CACN,CAEJ","file":"chunk-FFAC2CCY.cjs","sourcesContent":["import * as React from 'react';\nimport { cva, VariantProps } from 'class-variance-authority';\nimport { cn } from '@/lib/utils';\n\nconst cardVariants = cva(\n 'bg-card text-card-foreground group/card flex flex-col gap-4 overflow-hidden rounded-lg border border-gray-200 py-4 text-sm shadow-sm has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-lg *:[img:last-child]:rounded-b-lg',\n {\n variants: {\n variant: {\n default: '',\n selected: 'border-green bg-green-100',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\ntype CardProps = React.ComponentProps<'div'> & { size?: 'default' | 'sm' } & VariantProps<\n typeof cardVariants\n >;\n\nfunction Card({ className, size = 'default', variant, ...props }: CardProps) {\n return (\n <div\n data-slot=\"card\"\n data-size={size}\n className={cn(cardVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nfunction CardHeader({\n className,\n hideHeaderDivider = false,\n ...props\n}: React.ComponentProps<'div'> & { hideHeaderDivider?: boolean }) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn(\n 'group/card-header @container/card-header grid auto-rows-min items-center gap-1 rounded-t-lg border-b border-gray-200 px-4 group-data-[size=sm]/card:px-3 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3',\n hideHeaderDivider && 'border-none [.border-none]:pb-0',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-title\"\n className={cn(\n 'text-base leading-snug font-bold group-data-[size=sm]/card:text-sm',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-description\"\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n );\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-action\"\n className={cn('col-start-2 row-start-1 self-start justify-self-end', className)}\n {...props}\n />\n );\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-content\"\n className={cn('px-4 group-data-[size=sm]/card:px-3', className)}\n {...props}\n />\n );\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-footer\"\n className={cn(\n 'bg-muted/50 flex items-center rounded-b-lg border-t border-gray-200 p-4 group-data-[size=sm]/card:p-3',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardAction, CardDescription, CardContent };\n"]}
@@ -1,2 +1,2 @@
1
- 'use strict';var chunkQRO22BPZ_cjs=require('./chunk-QRO22BPZ.cjs'),chunkXY4I4IUO_cjs=require('./chunk-XY4I4IUO.cjs'),s=require('react'),reactSlot=require('@radix-ui/react-slot'),classVarianceAuthority=require('class-variance-authority'),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 s__namespace=/*#__PURE__*/_interopNamespace(s);var o="bg-dark-green text-primary-foreground hover:bg-green active:bg-green disabled:bg-gray-200 disabled:text-secondary-foreground",t="bg-white text-dark-green border border-dark-green hover:bg-green-100 active:bg-green-100 disabled:bg-white disabled:text-secondary-foreground disabled:border-gray-300",v=classVarianceAuthority.cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md font-bold transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-5 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer",{variants:{variant:{primary:o,outline:t,ghost:"text-dark-green hover:bg-green-200 active:bg-green-200","ghost-secondary":"text-gray-700 hover:bg-gray-200 active:bg-gray-200",link:"text-dark-green underline-offset-4 underline font-normal disabled:text-secondary-foreground hover:text-green-700 active:text-green-700",danger:"bg-red text-primary-foreground hover:bg-red-400 active:bg-red-400 disabled:bg-gray-200 disabled:text-secondary-foreground","danger-outline":"bg-white text-destructive border border-destructive hover:bg-red-100 active:bg-red-100 disabled:bg-white disabled:text-secondary-foreground disabled:border-gray-300","danger-ghost":"bg-transparent text-destructive border-none hover:bg-red-100 active:bg-red-100 disabled:bg-white disabled:text-secondary-foreground","danger-link":"text-red-600 hover:text-red-400 active:text-red-400 underline-offset-4 underline font-normal disabled:text-secondary-foreground","primary-icon":`${o} py-0! px-0! aspect-square rounded-sm`,"primary-icon-rounded":`${o} py-0! px-0! aspect-square rounded-full`,"outline-icon":`${t} py-0! px-0! aspect-square rounded-sm`,"outline-icon-rounded":`${t} py-0! px-0! aspect-square rounded-full`,"ghost-icon":"hover:bg-green-200 active:bg-green-200 py-0! px-0! aspect-square rounded-sm","ghost-icon-rounded":"hover:bg-green-200 active:bg-green-200 py-0! px-0! aspect-square rounded-full","ai-primary":"[background-image:linear-gradient(220deg,theme(colors.purple.400),theme(colors.gold.500))] px-[1px]! py-[1px]! hover:shadow-sm active:shadow-sm font-normal","ai-secondary":"bg-border px-[1px]! py-[1px]! hover:[background-image:linear-gradient(220deg,theme(colors.purple.400),theme(colors.gold.500))] hover:shadow-sm active:[background-image:linear-gradient(220deg,theme(colors.purple.400),theme(colors.gold.500))] active:shadow-sm font-normal",secondary:"border bg-glass hover:border-dark-gray active:border-dark-gray font-normal","secondary-icon":"border bg-glass hover:border-dark-gray active:border-dark-gray py-0! px-0! aspect-square rounded-sm","secondary-icon-rounded":"border bg-glass hover:border-dark-gray active:border-dark-gray py-0! px-0! aspect-square rounded-full"},size:{default:"px-4 h-12",sm:"px-3 py-xs h-8 [&_svg:not([class*='size-'])]:size-4"}},defaultVariants:{variant:"primary",size:"default"}}),B=s__namespace.forwardRef(({className:g,type:l="button",variant:e,size:a,asChild:p=false,children:n=null,...b},c)=>jsxRuntime.jsx(p?reactSlot.Slot:"button",{"data-slot":"button",className:chunkQRO22BPZ_cjs.a(v({variant:e,size:a,className:g})),type:l,ref:c,...b,children:e==="ai-primary"||e==="ai-secondary"?jsxRuntime.jsxs("div",{className:chunkQRO22BPZ_cjs.a("flex items-center gap-2 rounded-[7px] bg-white",e==="ai-primary"?"hover:bg-lightpolaris-gradient active:bg-lightpolaris-gradient":"bg-glass",a==="sm"?"h-[30px] px-2":"h-[46px] px-3"),children:[jsxRuntime.jsx(chunkXY4I4IUO_cjs.a,{})," ",n]}):n}));exports.a=v;exports.b=B;//# sourceMappingURL=chunk-QUD4HTUP.cjs.map
2
- //# sourceMappingURL=chunk-QUD4HTUP.cjs.map
1
+ 'use strict';var chunkQRO22BPZ_cjs=require('./chunk-QRO22BPZ.cjs'),chunkXY4I4IUO_cjs=require('./chunk-XY4I4IUO.cjs'),s=require('react'),reactSlot=require('@radix-ui/react-slot'),classVarianceAuthority=require('class-variance-authority'),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 s__namespace=/*#__PURE__*/_interopNamespace(s);var o="bg-dark-green text-primary-foreground hover:bg-green active:bg-green disabled:bg-gray-200 disabled:text-secondary-foreground",t="bg-white text-dark-green border border-dark-green hover:bg-green-100 active:bg-green-100 disabled:bg-white disabled:text-secondary-foreground disabled:border-gray-300",v=classVarianceAuthority.cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md font-bold transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-5 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer",{variants:{variant:{primary:o,outline:t,ghost:"text-dark-green hover:bg-green-200 active:bg-green-200","ghost-secondary":"text-gray-700 hover:bg-gray-200 active:bg-gray-200",link:"text-dark-green underline-offset-4 underline font-normal disabled:text-secondary-foreground hover:text-green-700 active:text-green-700",danger:"bg-red text-primary-foreground hover:bg-red-400 active:bg-red-400 disabled:bg-gray-200 disabled:text-secondary-foreground","danger-outline":"bg-white text-destructive border border-destructive hover:bg-red-100 active:bg-red-100 disabled:bg-white disabled:text-secondary-foreground disabled:border-gray-300","danger-ghost":"bg-transparent text-destructive border-none hover:bg-red-100 active:bg-red-100 disabled:bg-white disabled:text-secondary-foreground","danger-link":"text-red-600 hover:text-red-400 active:text-red-400 underline-offset-4 underline font-normal disabled:text-secondary-foreground","primary-icon":`${o} py-0! px-0! aspect-square`,"primary-icon-rounded":`${o} py-0! px-0! aspect-square rounded-full`,"outline-icon":`${t} py-0! px-0! aspect-square`,"outline-icon-rounded":`${t} py-0! px-0! aspect-square rounded-full`,"ghost-icon":"hover:bg-green-200 active:bg-green-200 py-0! px-0! aspect-square","ghost-icon-rounded":"hover:bg-green-200 active:bg-green-200 py-0! px-0! aspect-square rounded-full","ai-primary":"[background-image:linear-gradient(220deg,theme(colors.purple.400),theme(colors.gold.500))] px-[1px]! py-[1px]! hover:shadow-sm active:shadow-sm font-normal","ai-secondary":"bg-border px-[1px]! py-[1px]! hover:[background-image:linear-gradient(220deg,theme(colors.purple.400),theme(colors.gold.500))] hover:shadow-sm active:[background-image:linear-gradient(220deg,theme(colors.purple.400),theme(colors.gold.500))] active:shadow-sm font-normal",secondary:"border bg-glass hover:border-dark-gray active:border-dark-gray font-normal","secondary-icon":"border bg-glass hover:border-dark-gray active:border-dark-gray py-0! px-0! aspect-square","secondary-icon-rounded":"border bg-glass hover:border-dark-gray active:border-dark-gray py-0! px-0! aspect-square rounded-full"},size:{default:"px-4 h-12",sm:"px-3 py-xs h-8 [&_svg:not([class*='size-'])]:size-4"}},defaultVariants:{variant:"primary",size:"default"},compoundVariants:[{size:"sm",variant:["primary-icon","outline-icon","ghost-icon","secondary-icon"],class:"rounded-sm"}]}),z=s__namespace.forwardRef(({className:g,type:l="button",variant:e,size:a,asChild:p=false,children:n=null,...c},b)=>jsxRuntime.jsx(p?reactSlot.Slot:"button",{"data-slot":"button",className:chunkQRO22BPZ_cjs.a(v({variant:e,size:a,className:g})),type:l,ref:b,...c,children:e==="ai-primary"||e==="ai-secondary"?jsxRuntime.jsxs("div",{className:chunkQRO22BPZ_cjs.a("flex items-center gap-2 rounded-[7px] bg-white",e==="ai-primary"?"hover:bg-lightpolaris-gradient active:bg-lightpolaris-gradient":"bg-glass",a==="sm"?"h-[30px] px-2":"h-[46px] px-3"),children:[jsxRuntime.jsx(chunkXY4I4IUO_cjs.a,{})," ",n]}):n}));exports.a=v;exports.b=z;//# sourceMappingURL=chunk-FMFRB4JI.cjs.map
2
+ //# sourceMappingURL=chunk-FMFRB4JI.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/v2/button/button.tsx"],"names":["primaryButtonStyles","outlineButtonStyles","buttonVariants","cva","Button","s","className","type","variant","size","asChild","children","props","ref","jsx","Slot","cn","jsxs","SparklesBold"],"mappings":"+nBAOMA,CAAAA,CACJ,8HAAA,CAEIC,EACJ,wKAAA,CAEIC,CAAAA,CAAiBC,2BACrB,kcAAA,CACA,CACE,SAAU,CACR,OAAA,CAAS,CACP,OAAA,CAASH,CAAAA,CACT,QAASC,CAAAA,CACT,KAAA,CAAO,yDACP,iBAAA,CAAmB,oDAAA,CACnB,KAAM,wIAAA,CAEN,MAAA,CACE,4HACF,gBAAA,CACE,sKAAA,CACF,eACE,qIAAA,CACF,aAAA,CACE,kIAEF,cAAA,CAAgB,CAAA,EAAGD,CAAmB,CAAA,0BAAA,CAAA,CACtC,sBAAA,CAAwB,GAAGA,CAAmB,CAAA,uCAAA,CAAA,CAE9C,eAAgB,CAAA,EAAGC,CAAmB,6BACtC,sBAAA,CAAwB,CAAA,EAAGA,CAAmB,CAAA,uCAAA,CAAA,CAE9C,YAAA,CAAc,mEACd,oBAAA,CACE,+EAAA,CAEF,aACE,6JAAA,CACF,cAAA,CACE,gRAEF,SAAA,CAAW,4EAAA,CACX,iBACE,0FAAA,CACF,wBAAA,CACE,uGACJ,CAAA,CACA,IAAA,CAAM,CACJ,OAAA,CAAS,WAAA,CACT,GAAI,qDACN,CACF,EACA,eAAA,CAAiB,CACf,QAAS,SAAA,CACT,IAAA,CAAM,SACR,CAAA,CACA,gBAAA,CAAkB,CAChB,CACE,IAAA,CAAM,KACN,OAAA,CAAS,CAAC,eAAgB,cAAA,CAAgB,YAAA,CAAc,gBAAgB,CAAA,CACxE,KAAA,CAAO,YACT,CACF,CACF,CACF,CAAA,CASMG,CAAAA,CAAeC,wBACnB,CACE,CAAE,UAAAC,CAAAA,CAAW,IAAA,CAAAC,EAAO,QAAA,CAAU,OAAA,CAAAC,EAAS,IAAA,CAAAC,CAAAA,CAAM,QAAAC,CAAAA,CAAU,KAAA,CAAO,SAAAC,CAAAA,CAAW,IAAA,CAAM,GAAGC,CAAM,CAAA,CACxFC,IAKEC,cAAAA,CAHWJ,CAAAA,CAAUK,eAAO,QAAA,CAG3B,CACC,YAAU,QAAA,CACV,SAAA,CAAWC,oBAAGd,CAAAA,CAAe,CAAE,QAAAM,CAAAA,CAAS,IAAA,CAAAC,EAAM,SAAA,CAAAH,CAAU,CAAC,CAAC,CAAA,CAC1D,KAAMC,CAAAA,CACN,GAAA,CAAKM,EACJ,GAAGD,CAAAA,CAEH,SAAAJ,CAAAA,GAAY,YAAA,EAAgBA,IAAY,cAAA,CACvCS,eAAAA,CAAC,OACC,SAAA,CAAWD,mBAAAA,CACT,iDACAR,CAAAA,GAAY,YAAA,CACR,iEACA,UAAA,CACJC,CAAAA,GAAS,KAAO,eAAA,CAAkB,eACpC,EAEA,QAAA,CAAA,CAAAK,cAAAA,CAACI,oBAAA,EAAa,CAAA,CAAE,IAAEP,CAAAA,CAAAA,CACpB,CAAA,CAEAA,EAEJ,CAGN","file":"chunk-FMFRB4JI.cjs","sourcesContent":["import * as React from 'react';\nimport { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@/lib/utils';\nimport { SparklesBold } from '@/Icons';\n\nconst primaryButtonStyles =\n 'bg-dark-green text-primary-foreground hover:bg-green active:bg-green disabled:bg-gray-200 disabled:text-secondary-foreground';\n\nconst outlineButtonStyles =\n 'bg-white text-dark-green border border-dark-green hover:bg-green-100 active:bg-green-100 disabled:bg-white disabled:text-secondary-foreground disabled:border-gray-300';\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md font-bold transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-5 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer\",\n {\n variants: {\n variant: {\n primary: primaryButtonStyles,\n outline: outlineButtonStyles,\n ghost: 'text-dark-green hover:bg-green-200 active:bg-green-200',\n 'ghost-secondary': 'text-gray-700 hover:bg-gray-200 active:bg-gray-200',\n link: 'text-dark-green underline-offset-4 underline font-normal disabled:text-secondary-foreground hover:text-green-700 active:text-green-700',\n\n danger:\n 'bg-red text-primary-foreground hover:bg-red-400 active:bg-red-400 disabled:bg-gray-200 disabled:text-secondary-foreground',\n 'danger-outline':\n 'bg-white text-destructive border border-destructive hover:bg-red-100 active:bg-red-100 disabled:bg-white disabled:text-secondary-foreground disabled:border-gray-300',\n 'danger-ghost':\n 'bg-transparent text-destructive border-none hover:bg-red-100 active:bg-red-100 disabled:bg-white disabled:text-secondary-foreground',\n 'danger-link':\n 'text-red-600 hover:text-red-400 active:text-red-400 underline-offset-4 underline font-normal disabled:text-secondary-foreground',\n\n 'primary-icon': `${primaryButtonStyles} py-0! px-0! aspect-square`,\n 'primary-icon-rounded': `${primaryButtonStyles} py-0! px-0! aspect-square rounded-full`,\n\n 'outline-icon': `${outlineButtonStyles} py-0! px-0! aspect-square`,\n 'outline-icon-rounded': `${outlineButtonStyles} py-0! px-0! aspect-square rounded-full`,\n\n 'ghost-icon': 'hover:bg-green-200 active:bg-green-200 py-0! px-0! aspect-square',\n 'ghost-icon-rounded':\n 'hover:bg-green-200 active:bg-green-200 py-0! px-0! aspect-square rounded-full',\n\n 'ai-primary':\n '[background-image:linear-gradient(220deg,theme(colors.purple.400),theme(colors.gold.500))] px-[1px]! py-[1px]! hover:shadow-sm active:shadow-sm font-normal',\n 'ai-secondary':\n 'bg-border px-[1px]! py-[1px]! hover:[background-image:linear-gradient(220deg,theme(colors.purple.400),theme(colors.gold.500))] hover:shadow-sm active:[background-image:linear-gradient(220deg,theme(colors.purple.400),theme(colors.gold.500))] active:shadow-sm font-normal',\n\n secondary: 'border bg-glass hover:border-dark-gray active:border-dark-gray font-normal',\n 'secondary-icon':\n 'border bg-glass hover:border-dark-gray active:border-dark-gray py-0! px-0! aspect-square',\n 'secondary-icon-rounded':\n 'border bg-glass hover:border-dark-gray active:border-dark-gray py-0! px-0! aspect-square rounded-full',\n },\n size: {\n default: 'px-4 h-12',\n sm: \"px-3 py-xs h-8 [&_svg:not([class*='size-'])]:size-4\",\n },\n },\n defaultVariants: {\n variant: 'primary',\n size: 'default',\n },\n compoundVariants: [\n {\n size: 'sm',\n variant: ['primary-icon', 'outline-icon', 'ghost-icon', 'secondary-icon'],\n class: 'rounded-sm',\n },\n ],\n },\n);\n\ntype ButtonSize = VariantProps<typeof buttonVariants>['size'];\n\nexport type ButtonProps = React.ComponentProps<'button'> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean;\n };\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n { className, type = 'button', variant, size, asChild = false, children = null, ...props },\n ref,\n ) => {\n const Comp = asChild ? Slot : 'button';\n\n return (\n <Comp\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, className }))}\n type={type}\n ref={ref}\n {...props}\n >\n {variant === 'ai-primary' || variant === 'ai-secondary' ? (\n <div\n className={cn(\n 'flex items-center gap-2 rounded-[7px] bg-white',\n variant === 'ai-primary'\n ? 'hover:bg-lightpolaris-gradient active:bg-lightpolaris-gradient'\n : 'bg-glass',\n size === 'sm' ? 'h-[30px] px-2' : 'h-[46px] px-3',\n )}\n >\n <SparklesBold /> {children}\n </div>\n ) : (\n children\n )}\n </Comp>\n );\n },\n);\n\nexport { Button, buttonVariants, type ButtonSize };\n"]}
@@ -1,2 +1,2 @@
1
- import {b,a as a$1}from'./chunk-JH4FQUIS.js';import {a}from'./chunk-YTIIAU4W.js';import {useRef,useEffect}from'react';import {LuChevronLeft,LuChevronRight,LuChevronDown}from'react-icons/lu';import {getDefaultClassNames,DayPicker}from'react-day-picker';import {jsx}from'react/jsx-runtime';function _({className:n,rootRef:r,...a$1}){return jsx("div",{"data-slot":"calendar",ref:r,className:a(n),...a$1})}function v({className:n,orientation:r,...a$1}){return r==="left"?jsx(LuChevronLeft,{className:a("size-4",n),...a$1}):r==="right"?jsx(LuChevronRight,{className:a("size-4",n),...a$1}):jsx(LuChevronDown,{className:a("size-4",n),...a$1})}function k({children:n,...r}){return jsx("td",{...r,children:jsx("div",{className:"flex size-(--cell-size) items-center justify-center text-center",children:n})})}function z({className:n,day:r,modifiers:a$1,...o}){let u=getDefaultClassNames(),l=useRef(null);return useEffect(()=>{a$1.focused&&l.current?.focus();},[a$1.focused]),jsx(b,{ref:l,variant:"ghost","data-day":r.date.toLocaleDateString(),"data-today":a$1.today&&!a$1.selected,"data-selected-single":a$1.selected&&!a$1.range_start&&!a$1.range_end&&!a$1.range_middle,"data-range-start":a$1.range_start,"data-range-end":a$1.range_end,"data-range-middle":a$1.range_middle,className:a("text-primary","data-[today=true]:bg-accent","data-[today=true]:text-accent-foreground","data-[today=true]:rounded-md","data-[selected-single=true]:bg-green-800","data-[selected-single=true]:text-primary-foreground","data-[range-start=true]:bg-green-800","data-[range-start=true]:text-primary-foreground","data-[range-end=true]:bg-green-800","data-[range-end=true]:text-primary-foreground","data-[range-middle=true]:bg-green-300","data-[range-middle=true]:text-black","data-[range-start=true]:rounded-md","data-[range-start=true]:rounded-l-md","data-[range-end=true]:rounded-md","data-[range-end=true]:rounded-r-md","data-[range-middle=true]:rounded-none","group-data-[focused=true]/day:relative","group-data-[focused=true]/day:z-10","group-data-[focused=true]/day:border-ring","group-data-[focused=true]/day:ring-[3px]","group-data-[focused=true]/day:ring-ring/50","hover:bg-green-100","dark:hover:text-accent-foreground","flex","aspect-square","size-auto","w-full","min-w-(--cell-size)","flex-col","gap-1","leading-none","font-normal","h-9","[&>span]:text-xs","[&>span]:opacity-70",u.day,n),...o})}function E({className:n,classNames:r,showOutsideDays:a$2=true,captionLayout:o="dropdown",buttonVariant:u="ghost",formatters:l,components:f,...s}){let t=getDefaultClassNames();return jsx(DayPicker,{showOutsideDays:a$2,className:a("bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,n),captionLayout:o,endMonth:new Date(new Date().getFullYear()+10,11),formatters:{formatMonthDropdown:m=>m.toLocaleString("default",{month:"short"}),...l},classNames:{root:a("w-fit",t.root),months:a("relative flex flex-col gap-4 md:flex-row",t.months),month:a("flex w-full flex-col gap-4",t.month),nav:a("absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1",t.nav),button_previous:a(a$1({variant:u}),"size-(--cell-size) p-0 select-none aria-disabled:opacity-50",t.button_previous),button_next:a(a$1({variant:u}),"size-(--cell-size) p-0 select-none aria-disabled:opacity-50",t.button_next),month_caption:a("flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)",t.month_caption),dropdowns:a("flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium",t.dropdowns),dropdown_root:a("has-focus:border-ring border-input has-focus:ring-ring/50 relative rounded-md border shadow-xs has-focus:ring-[3px]",t.dropdown_root),dropdown:a("absolute inset-0 opacity-0",t.dropdown),caption_label:a("font-bold select-none",o==="label"?"text-base":"[&>svg]:text-muted-foreground flex h-8 items-center gap-1 rounded-md pr-1 pl-2 text-base [&>svg]:size-3.5",t.caption_label),table:"w-full border-collapse",weekdays:a("flex",t.weekdays),weekday:a("text-muted-foreground flex-1 rounded-md text-[0.8rem] font-normal select-none",t.weekday),week:a("mt-2 flex w-full",t.week),week_number_header:a("w-(--cell-size) select-none",t.week_number_header),week_number:a("text-muted-foreground text-[0.8rem] select-none",t.week_number),day:a("group/day relative aspect-square h-full w-full p-0 text-center select-none [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md",t.day),range_start:a("bg-accent rounded-l-md",t.range_start),range_middle:a("rounded-none",t.range_middle),range_end:a("bg-accent rounded-r-md",t.range_end),today:a(t.today),outside:a("text-muted-foreground aria-selected:text-muted-foreground",t.outside),disabled:a("text-muted-foreground opacity-50",t.disabled),hidden:a("invisible",t.hidden),...r},components:{Root:_,Chevron:v,DayButton:z,WeekNumber:k,...f},defaultMonth:s.mode==="single"?s.selected:void 0,...s})}export{z as a,E as b};//# sourceMappingURL=chunk-FBXJ2VCI.js.map
2
- //# sourceMappingURL=chunk-FBXJ2VCI.js.map
1
+ import {b,a as a$1}from'./chunk-SP2L5FI7.js';import {a}from'./chunk-YTIIAU4W.js';import {useRef,useEffect}from'react';import {LuChevronLeft,LuChevronRight,LuChevronDown}from'react-icons/lu';import {getDefaultClassNames,DayPicker}from'react-day-picker';import {jsx}from'react/jsx-runtime';function _({className:n,rootRef:r,...a$1}){return jsx("div",{"data-slot":"calendar",ref:r,className:a(n),...a$1})}function v({className:n,orientation:r,...a$1}){return r==="left"?jsx(LuChevronLeft,{className:a("size-4",n),...a$1}):r==="right"?jsx(LuChevronRight,{className:a("size-4",n),...a$1}):jsx(LuChevronDown,{className:a("size-4",n),...a$1})}function k({children:n,...r}){return jsx("td",{...r,children:jsx("div",{className:"flex size-(--cell-size) items-center justify-center text-center",children:n})})}function z({className:n,day:r,modifiers:a$1,...o}){let u=getDefaultClassNames(),l=useRef(null);return useEffect(()=>{a$1.focused&&l.current?.focus();},[a$1.focused]),jsx(b,{ref:l,variant:"ghost","data-day":r.date.toLocaleDateString(),"data-today":a$1.today&&!a$1.selected,"data-selected-single":a$1.selected&&!a$1.range_start&&!a$1.range_end&&!a$1.range_middle,"data-range-start":a$1.range_start,"data-range-end":a$1.range_end,"data-range-middle":a$1.range_middle,className:a("text-primary","data-[today=true]:bg-accent","data-[today=true]:text-accent-foreground","data-[today=true]:rounded-md","data-[selected-single=true]:bg-green-800","data-[selected-single=true]:text-primary-foreground","data-[range-start=true]:bg-green-800","data-[range-start=true]:text-primary-foreground","data-[range-end=true]:bg-green-800","data-[range-end=true]:text-primary-foreground","data-[range-middle=true]:bg-green-300","data-[range-middle=true]:text-black","data-[range-start=true]:rounded-md","data-[range-start=true]:rounded-l-md","data-[range-end=true]:rounded-md","data-[range-end=true]:rounded-r-md","data-[range-middle=true]:rounded-none","group-data-[focused=true]/day:relative","group-data-[focused=true]/day:z-10","group-data-[focused=true]/day:border-ring","group-data-[focused=true]/day:ring-[3px]","group-data-[focused=true]/day:ring-ring/50","hover:bg-green-100","dark:hover:text-accent-foreground","flex","aspect-square","size-auto","w-full","min-w-(--cell-size)","flex-col","gap-1","leading-none","font-normal","h-9","[&>span]:text-xs","[&>span]:opacity-70",u.day,n),...o})}function E({className:n,classNames:r,showOutsideDays:a$2=true,captionLayout:o="dropdown",buttonVariant:u="ghost",formatters:l,components:f,...s}){let t=getDefaultClassNames();return jsx(DayPicker,{showOutsideDays:a$2,className:a("bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,n),captionLayout:o,endMonth:new Date(new Date().getFullYear()+10,11),formatters:{formatMonthDropdown:m=>m.toLocaleString("default",{month:"short"}),...l},classNames:{root:a("w-fit",t.root),months:a("relative flex flex-col gap-4 md:flex-row",t.months),month:a("flex w-full flex-col gap-4",t.month),nav:a("absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1",t.nav),button_previous:a(a$1({variant:u}),"size-(--cell-size) p-0 select-none aria-disabled:opacity-50",t.button_previous),button_next:a(a$1({variant:u}),"size-(--cell-size) p-0 select-none aria-disabled:opacity-50",t.button_next),month_caption:a("flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)",t.month_caption),dropdowns:a("flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium",t.dropdowns),dropdown_root:a("has-focus:border-ring border-input has-focus:ring-ring/50 relative rounded-md border shadow-xs has-focus:ring-[3px]",t.dropdown_root),dropdown:a("absolute inset-0 opacity-0",t.dropdown),caption_label:a("font-bold select-none",o==="label"?"text-base":"[&>svg]:text-muted-foreground flex h-8 items-center gap-1 rounded-md pr-1 pl-2 text-base [&>svg]:size-3.5",t.caption_label),table:"w-full border-collapse",weekdays:a("flex",t.weekdays),weekday:a("text-muted-foreground flex-1 rounded-md text-[0.8rem] font-normal select-none",t.weekday),week:a("mt-2 flex w-full",t.week),week_number_header:a("w-(--cell-size) select-none",t.week_number_header),week_number:a("text-muted-foreground text-[0.8rem] select-none",t.week_number),day:a("group/day relative aspect-square h-full w-full p-0 text-center select-none [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md",t.day),range_start:a("bg-accent rounded-l-md",t.range_start),range_middle:a("rounded-none",t.range_middle),range_end:a("bg-accent rounded-r-md",t.range_end),today:a(t.today),outside:a("text-muted-foreground aria-selected:text-muted-foreground",t.outside),disabled:a("text-muted-foreground opacity-50",t.disabled),hidden:a("invisible",t.hidden),...r},components:{Root:_,Chevron:v,DayButton:z,WeekNumber:k,...f},defaultMonth:s.mode==="single"?s.selected:void 0,...s})}export{z as a,E as b};//# sourceMappingURL=chunk-FQGC44HX.js.map
2
+ //# sourceMappingURL=chunk-FQGC44HX.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/v2/calendar/calendar.tsx"],"names":["CalendarRoot","className","rootRef","props","jsx","cn","CalendarChevron","orientation","LuChevronLeft","LuChevronRight","LuChevronDown","CalendarWeekNumber","children","CalendarDayButton","day","modifiers","defaultClassNames","getDefaultClassNames","ref","useRef","useEffect","Button","Calendar","classNames","showOutsideDays","captionLayout","buttonVariant","formatters","components","DayPicker","date","buttonVariants"],"mappings":"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","file":"chunk-FBXJ2VCI.js","sourcesContent":["import { ComponentProps, HTMLAttributes, Ref, useEffect, useRef } from 'react';\nimport { LuChevronDown, LuChevronLeft, LuChevronRight } from 'react-icons/lu';\nimport { DayButton, DayPicker, getDefaultClassNames } from 'react-day-picker';\n\nimport { cn } from '@/lib/utils';\nimport { Button, buttonVariants } from '../button/button';\n\nfunction CalendarRoot({\n className,\n rootRef,\n ...props\n}: {\n className?: string;\n rootRef?: Ref<HTMLDivElement>;\n} & HTMLAttributes<HTMLDivElement>) {\n return <div data-slot=\"calendar\" ref={rootRef} className={cn(className)} {...props} />;\n}\n\nfunction CalendarChevron({\n className,\n orientation,\n ...props\n}: {\n className?: string | undefined;\n size?: number | undefined;\n disabled?: boolean | undefined;\n orientation?: 'left' | 'right' | 'down' | 'up' | undefined;\n}) {\n if (orientation === 'left') {\n return <LuChevronLeft className={cn('size-4', className)} {...props} />;\n }\n\n if (orientation === 'right') {\n return <LuChevronRight className={cn('size-4', className)} {...props} />;\n }\n\n return <LuChevronDown className={cn('size-4', className)} {...props} />;\n}\n\nfunction CalendarWeekNumber({ children, ...props }: React.HTMLAttributes<HTMLTableCellElement>) {\n return (\n <td {...props}>\n <div className=\"flex size-(--cell-size) items-center justify-center text-center\">\n {children}\n </div>\n </td>\n );\n}\n\nfunction CalendarDayButton({\n className,\n day,\n modifiers,\n ...props\n}: ComponentProps<typeof DayButton>) {\n const defaultClassNames = getDefaultClassNames();\n\n const ref = useRef<HTMLButtonElement>(null);\n useEffect(() => {\n if (modifiers.focused) ref.current?.focus();\n }, [modifiers.focused]);\n\n return (\n <Button\n ref={ref}\n variant=\"ghost\"\n data-day={day.date.toLocaleDateString()}\n data-today={modifiers.today && !modifiers.selected}\n data-selected-single={\n modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle\n }\n data-range-start={modifiers.range_start}\n data-range-end={modifiers.range_end}\n data-range-middle={modifiers.range_middle}\n className={cn(\n 'text-primary',\n\n // State-based styling for selected and ranged dates\n 'data-[today=true]:bg-accent',\n 'data-[today=true]:text-accent-foreground',\n 'data-[today=true]:rounded-md',\n 'data-[selected-single=true]:bg-green-800',\n 'data-[selected-single=true]:text-primary-foreground',\n 'data-[range-start=true]:bg-green-800',\n 'data-[range-start=true]:text-primary-foreground',\n 'data-[range-end=true]:bg-green-800',\n 'data-[range-end=true]:text-primary-foreground',\n 'data-[range-middle=true]:bg-green-300',\n 'data-[range-middle=true]:text-black',\n\n // Rounded corners for range positioning\n 'data-[range-start=true]:rounded-md',\n 'data-[range-start=true]:rounded-l-md',\n 'data-[range-end=true]:rounded-md',\n 'data-[range-end=true]:rounded-r-md',\n 'data-[range-middle=true]:rounded-none',\n\n // Focus/Interaction states\n 'group-data-[focused=true]/day:relative',\n 'group-data-[focused=true]/day:z-10',\n 'group-data-[focused=true]/day:border-ring',\n 'group-data-[focused=true]/day:ring-[3px]',\n 'group-data-[focused=true]/day:ring-ring/50',\n\n // Hover\n 'hover:bg-green-100',\n 'dark:hover:text-accent-foreground',\n\n // Layout and spacing\n 'flex',\n 'aspect-square',\n 'size-auto',\n 'w-full',\n 'min-w-(--cell-size)',\n 'flex-col',\n 'gap-1',\n 'leading-none',\n 'font-normal',\n 'h-9',\n '[&>span]:text-xs',\n '[&>span]:opacity-70',\n defaultClassNames.day,\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = 'dropdown',\n buttonVariant = 'ghost',\n formatters,\n components,\n ...props\n}: ComponentProps<typeof DayPicker> & {\n buttonVariant?: ComponentProps<typeof Button>['variant'];\n}) {\n const defaultClassNames = getDefaultClassNames();\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n 'bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent',\n String.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n className,\n )}\n captionLayout={captionLayout}\n endMonth={new Date(new Date().getFullYear() + 10, 11)} // Ensure that user can navigate past current year (just kick it out 10 years)\n formatters={{\n formatMonthDropdown: (date) => date.toLocaleString('default', { month: 'short' }),\n ...formatters,\n }}\n classNames={{\n root: cn('w-fit', defaultClassNames.root),\n months: cn('relative flex flex-col gap-4 md:flex-row', defaultClassNames.months),\n month: cn('flex w-full flex-col gap-4', defaultClassNames.month),\n nav: cn(\n 'absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1',\n defaultClassNames.nav,\n ),\n button_previous: cn(\n buttonVariants({ variant: buttonVariant }),\n 'size-(--cell-size) p-0 select-none aria-disabled:opacity-50',\n defaultClassNames.button_previous,\n ),\n button_next: cn(\n buttonVariants({ variant: buttonVariant }),\n 'size-(--cell-size) p-0 select-none aria-disabled:opacity-50',\n defaultClassNames.button_next,\n ),\n month_caption: cn(\n 'flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)',\n defaultClassNames.month_caption,\n ),\n dropdowns: cn(\n 'flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium',\n defaultClassNames.dropdowns,\n ),\n dropdown_root: cn(\n 'has-focus:border-ring border-input has-focus:ring-ring/50 relative rounded-md border shadow-xs has-focus:ring-[3px]',\n defaultClassNames.dropdown_root,\n ),\n dropdown: cn('absolute inset-0 opacity-0', defaultClassNames.dropdown),\n caption_label: cn(\n 'font-bold select-none',\n captionLayout === 'label'\n ? 'text-base'\n : '[&>svg]:text-muted-foreground flex h-8 items-center gap-1 rounded-md pr-1 pl-2 text-base [&>svg]:size-3.5',\n defaultClassNames.caption_label,\n ),\n table: 'w-full border-collapse',\n weekdays: cn('flex', defaultClassNames.weekdays),\n weekday: cn(\n 'text-muted-foreground flex-1 rounded-md text-[0.8rem] font-normal select-none',\n defaultClassNames.weekday,\n ),\n week: cn('mt-2 flex w-full', defaultClassNames.week),\n week_number_header: cn('w-(--cell-size) select-none', defaultClassNames.week_number_header),\n week_number: cn(\n 'text-muted-foreground text-[0.8rem] select-none',\n defaultClassNames.week_number,\n ),\n day: cn(\n 'group/day relative aspect-square h-full w-full p-0 text-center select-none [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md',\n defaultClassNames.day,\n ),\n range_start: cn('bg-accent rounded-l-md', defaultClassNames.range_start),\n range_middle: cn('rounded-none', defaultClassNames.range_middle),\n range_end: cn('bg-accent rounded-r-md', defaultClassNames.range_end),\n today: cn(defaultClassNames.today),\n outside: cn(\n 'text-muted-foreground aria-selected:text-muted-foreground',\n defaultClassNames.outside,\n ),\n disabled: cn('text-muted-foreground opacity-50', defaultClassNames.disabled),\n hidden: cn('invisible', defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: CalendarRoot,\n Chevron: CalendarChevron,\n DayButton: CalendarDayButton,\n WeekNumber: CalendarWeekNumber,\n ...components,\n }}\n defaultMonth={props.mode === 'single' ? props.selected : undefined}\n {...props}\n />\n );\n}\n\nexport { Calendar, CalendarDayButton };\n"]}
1
+ {"version":3,"sources":["../src/v2/calendar/calendar.tsx"],"names":["CalendarRoot","className","rootRef","props","jsx","cn","CalendarChevron","orientation","LuChevronLeft","LuChevronRight","LuChevronDown","CalendarWeekNumber","children","CalendarDayButton","day","modifiers","defaultClassNames","getDefaultClassNames","ref","useRef","useEffect","Button","Calendar","classNames","showOutsideDays","captionLayout","buttonVariant","formatters","components","DayPicker","date","buttonVariants"],"mappings":"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","file":"chunk-FQGC44HX.js","sourcesContent":["import { ComponentProps, HTMLAttributes, Ref, useEffect, useRef } from 'react';\nimport { LuChevronDown, LuChevronLeft, LuChevronRight } from 'react-icons/lu';\nimport { DayButton, DayPicker, getDefaultClassNames } from 'react-day-picker';\n\nimport { cn } from '@/lib/utils';\nimport { Button, buttonVariants } from '../button/button';\n\nfunction CalendarRoot({\n className,\n rootRef,\n ...props\n}: {\n className?: string;\n rootRef?: Ref<HTMLDivElement>;\n} & HTMLAttributes<HTMLDivElement>) {\n return <div data-slot=\"calendar\" ref={rootRef} className={cn(className)} {...props} />;\n}\n\nfunction CalendarChevron({\n className,\n orientation,\n ...props\n}: {\n className?: string | undefined;\n size?: number | undefined;\n disabled?: boolean | undefined;\n orientation?: 'left' | 'right' | 'down' | 'up' | undefined;\n}) {\n if (orientation === 'left') {\n return <LuChevronLeft className={cn('size-4', className)} {...props} />;\n }\n\n if (orientation === 'right') {\n return <LuChevronRight className={cn('size-4', className)} {...props} />;\n }\n\n return <LuChevronDown className={cn('size-4', className)} {...props} />;\n}\n\nfunction CalendarWeekNumber({ children, ...props }: React.HTMLAttributes<HTMLTableCellElement>) {\n return (\n <td {...props}>\n <div className=\"flex size-(--cell-size) items-center justify-center text-center\">\n {children}\n </div>\n </td>\n );\n}\n\nfunction CalendarDayButton({\n className,\n day,\n modifiers,\n ...props\n}: ComponentProps<typeof DayButton>) {\n const defaultClassNames = getDefaultClassNames();\n\n const ref = useRef<HTMLButtonElement>(null);\n useEffect(() => {\n if (modifiers.focused) ref.current?.focus();\n }, [modifiers.focused]);\n\n return (\n <Button\n ref={ref}\n variant=\"ghost\"\n data-day={day.date.toLocaleDateString()}\n data-today={modifiers.today && !modifiers.selected}\n data-selected-single={\n modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle\n }\n data-range-start={modifiers.range_start}\n data-range-end={modifiers.range_end}\n data-range-middle={modifiers.range_middle}\n className={cn(\n 'text-primary',\n\n // State-based styling for selected and ranged dates\n 'data-[today=true]:bg-accent',\n 'data-[today=true]:text-accent-foreground',\n 'data-[today=true]:rounded-md',\n 'data-[selected-single=true]:bg-green-800',\n 'data-[selected-single=true]:text-primary-foreground',\n 'data-[range-start=true]:bg-green-800',\n 'data-[range-start=true]:text-primary-foreground',\n 'data-[range-end=true]:bg-green-800',\n 'data-[range-end=true]:text-primary-foreground',\n 'data-[range-middle=true]:bg-green-300',\n 'data-[range-middle=true]:text-black',\n\n // Rounded corners for range positioning\n 'data-[range-start=true]:rounded-md',\n 'data-[range-start=true]:rounded-l-md',\n 'data-[range-end=true]:rounded-md',\n 'data-[range-end=true]:rounded-r-md',\n 'data-[range-middle=true]:rounded-none',\n\n // Focus/Interaction states\n 'group-data-[focused=true]/day:relative',\n 'group-data-[focused=true]/day:z-10',\n 'group-data-[focused=true]/day:border-ring',\n 'group-data-[focused=true]/day:ring-[3px]',\n 'group-data-[focused=true]/day:ring-ring/50',\n\n // Hover\n 'hover:bg-green-100',\n 'dark:hover:text-accent-foreground',\n\n // Layout and spacing\n 'flex',\n 'aspect-square',\n 'size-auto',\n 'w-full',\n 'min-w-(--cell-size)',\n 'flex-col',\n 'gap-1',\n 'leading-none',\n 'font-normal',\n 'h-9',\n '[&>span]:text-xs',\n '[&>span]:opacity-70',\n defaultClassNames.day,\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = 'dropdown',\n buttonVariant = 'ghost',\n formatters,\n components,\n ...props\n}: ComponentProps<typeof DayPicker> & {\n buttonVariant?: ComponentProps<typeof Button>['variant'];\n}) {\n const defaultClassNames = getDefaultClassNames();\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n 'bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent',\n String.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n className,\n )}\n captionLayout={captionLayout}\n endMonth={new Date(new Date().getFullYear() + 10, 11)} // Ensure that user can navigate past current year (just kick it out 10 years)\n formatters={{\n formatMonthDropdown: (date) => date.toLocaleString('default', { month: 'short' }),\n ...formatters,\n }}\n classNames={{\n root: cn('w-fit', defaultClassNames.root),\n months: cn('relative flex flex-col gap-4 md:flex-row', defaultClassNames.months),\n month: cn('flex w-full flex-col gap-4', defaultClassNames.month),\n nav: cn(\n 'absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1',\n defaultClassNames.nav,\n ),\n button_previous: cn(\n buttonVariants({ variant: buttonVariant }),\n 'size-(--cell-size) p-0 select-none aria-disabled:opacity-50',\n defaultClassNames.button_previous,\n ),\n button_next: cn(\n buttonVariants({ variant: buttonVariant }),\n 'size-(--cell-size) p-0 select-none aria-disabled:opacity-50',\n defaultClassNames.button_next,\n ),\n month_caption: cn(\n 'flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)',\n defaultClassNames.month_caption,\n ),\n dropdowns: cn(\n 'flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium',\n defaultClassNames.dropdowns,\n ),\n dropdown_root: cn(\n 'has-focus:border-ring border-input has-focus:ring-ring/50 relative rounded-md border shadow-xs has-focus:ring-[3px]',\n defaultClassNames.dropdown_root,\n ),\n dropdown: cn('absolute inset-0 opacity-0', defaultClassNames.dropdown),\n caption_label: cn(\n 'font-bold select-none',\n captionLayout === 'label'\n ? 'text-base'\n : '[&>svg]:text-muted-foreground flex h-8 items-center gap-1 rounded-md pr-1 pl-2 text-base [&>svg]:size-3.5',\n defaultClassNames.caption_label,\n ),\n table: 'w-full border-collapse',\n weekdays: cn('flex', defaultClassNames.weekdays),\n weekday: cn(\n 'text-muted-foreground flex-1 rounded-md text-[0.8rem] font-normal select-none',\n defaultClassNames.weekday,\n ),\n week: cn('mt-2 flex w-full', defaultClassNames.week),\n week_number_header: cn('w-(--cell-size) select-none', defaultClassNames.week_number_header),\n week_number: cn(\n 'text-muted-foreground text-[0.8rem] select-none',\n defaultClassNames.week_number,\n ),\n day: cn(\n 'group/day relative aspect-square h-full w-full p-0 text-center select-none [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md',\n defaultClassNames.day,\n ),\n range_start: cn('bg-accent rounded-l-md', defaultClassNames.range_start),\n range_middle: cn('rounded-none', defaultClassNames.range_middle),\n range_end: cn('bg-accent rounded-r-md', defaultClassNames.range_end),\n today: cn(defaultClassNames.today),\n outside: cn(\n 'text-muted-foreground aria-selected:text-muted-foreground',\n defaultClassNames.outside,\n ),\n disabled: cn('text-muted-foreground opacity-50', defaultClassNames.disabled),\n hidden: cn('invisible', defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: CalendarRoot,\n Chevron: CalendarChevron,\n DayButton: CalendarDayButton,\n WeekNumber: CalendarWeekNumber,\n ...components,\n }}\n defaultMonth={props.mode === 'single' ? props.selected : undefined}\n {...props}\n />\n );\n}\n\nexport { Calendar, CalendarDayButton };\n"]}
@@ -1,2 +1,2 @@
1
- 'use strict';var chunkAYDT2WNR_cjs=require('./chunk-AYDT2WNR.cjs'),chunkUQH4L66A_cjs=require('./chunk-UQH4L66A.cjs'),chunkDBJQ7H6H_cjs=require('./chunk-DBJQ7H6H.cjs'),chunkNQNIXM6Z_cjs=require('./chunk-NQNIXM6Z.cjs'),chunk4VLWKHXC_cjs=require('./chunk-4VLWKHXC.cjs'),chunkPM4UNYHM_cjs=require('./chunk-PM4UNYHM.cjs'),chunkUYX4D44N_cjs=require('./chunk-UYX4D44N.cjs'),chunkKLVOKO56_cjs=require('./chunk-KLVOKO56.cjs'),chunkE7W73IO3_cjs=require('./chunk-E7W73IO3.cjs'),chunkVTYXYLTK_cjs=require('./chunk-VTYXYLTK.cjs'),chunkQRO22BPZ_cjs=require('./chunk-QRO22BPZ.cjs'),react=require('react'),jsxRuntime=require('react/jsx-runtime');var ae=react.forwardRef((C,P)=>{let{id:x,value:s,onChange:D,placeholder:F,defaultOptions:T=[],options:K=[],delay:V,onSearch:n,triggerSearchOnOpen:W,loading:B=false,loadingIndicator:E,emptyIndicator:H,maxSelected:k=0,onMaxSelected:q,hidePlaceholderWhenSelected:L=true,disabled:a,className:Y,classNames:z,badgeWrapperClassName:A,badgeClassName:G,getBadgeClassName:J=()=>"",selectFirstItem:Q=true,commandProps:e,inputProps:U,persistInputOnSelect:X=false,persistInputOnBlur:Z=false}=C,{inputRef:t,commandRef:c,onSearchRef:_,scrollbarRef:u,prevExternalOptionsRef:$}=chunkKLVOKO56_cjs.a({onSearch:n}),{uniqueId:p,open:o,setOpen:m,selected:r,setSelected:l,options:j,setOptions:ee,inputSearchValue:te,setInputSearchValue:d,debouncedSearchTerm:re}=chunkUYX4D44N_cjs.a({id:x,value:s,defaultOptions:T,delay:V}),{toggleOption:f,handleKeyDown:oe}=chunkPM4UNYHM_cjs.a({open:o,selected:r,maxSelected:k,onChange:D,onMaxSelected:q,setInputSearchValue:d,commandRef:c,inputRef:t,setSelected:l,setOpen:m,persistInputOnSelect:X});chunkAYDT2WNR_cjs.a({debouncedSearchTerm:re,open:o,onSearchRef:_,triggerSearchOnOpen:W}),chunkUQH4L66A_cjs.a({externalOptions:K,setOptions:ee,prevExternalOptionsRef:$}),chunkDBJQ7H6H_cjs.a({value:s,setSelected:l}),react.useImperativeHandle(P,()=>({selectedValue:[...r],input:t.current,focus:()=>t?.current?.focus(),reset:()=>l([])}),[r,t,l]);let le=react.useCallback(()=>{if(e?.filter)return e.filter},[e?.filter]);return jsxRuntime.jsxs(chunkVTYXYLTK_cjs.a,{ref:c,...e,onKeyDown:S=>{oe(S),e?.onKeyDown?.(S);},className:chunkQRO22BPZ_cjs.a("h-auto overflow-visible bg-transparent",e?.className),shouldFilter:e?.shouldFilter!==void 0?e.shouldFilter:!n,filter:le(),children:[jsxRuntime.jsx(chunk4VLWKHXC_cjs.a,{open:o,disabled:a,inputRef:t,selected:r,uniqueId:p,className:Y,children:jsxRuntime.jsx(chunkNQNIXM6Z_cjs.a,{selected:r,scrollbarRef:u,toggleOption:f,inputProps:U,inputRef:t,open:o,setOpen:m,placeholder:F,hidePlaceholderWhenSelected:L,disabled:a,classNames:z,badgeWrapperClassName:A,badgeClassName:G,getBadgeClassName:J,inputSearchValue:te,setInputSearchValue:d,persistInputOnBlur:Z})}),jsxRuntime.jsx(chunkE7W73IO3_cjs.a,{uniqueId:p,scrollbarRef:u,open:o,loading:B,options:j,selected:r,toggleOption:f,onSearch:n,inputRef:t,emptyIndicator:H,loadingIndicator:E,selectFirstItem:Q})]})});ae.displayName="MultiSelect";exports.a=ae;//# sourceMappingURL=chunk-ETZDR7A5.cjs.map
2
- //# sourceMappingURL=chunk-ETZDR7A5.cjs.map
1
+ 'use strict';var chunkAYDT2WNR_cjs=require('./chunk-AYDT2WNR.cjs'),chunkUQH4L66A_cjs=require('./chunk-UQH4L66A.cjs'),chunkDBJQ7H6H_cjs=require('./chunk-DBJQ7H6H.cjs'),chunkNQNIXM6Z_cjs=require('./chunk-NQNIXM6Z.cjs'),chunk4VLWKHXC_cjs=require('./chunk-4VLWKHXC.cjs'),chunkPM4UNYHM_cjs=require('./chunk-PM4UNYHM.cjs'),chunkUYX4D44N_cjs=require('./chunk-UYX4D44N.cjs'),chunkKLVOKO56_cjs=require('./chunk-KLVOKO56.cjs'),chunkUJH4JKQC_cjs=require('./chunk-UJH4JKQC.cjs'),chunkEZK5NRS6_cjs=require('./chunk-EZK5NRS6.cjs'),chunkQRO22BPZ_cjs=require('./chunk-QRO22BPZ.cjs'),react=require('react'),jsxRuntime=require('react/jsx-runtime');var ae=react.forwardRef((C,P)=>{let{id:x,value:s,onChange:D,placeholder:F,defaultOptions:T=[],options:K=[],delay:V,onSearch:n,triggerSearchOnOpen:W,loading:B=false,loadingIndicator:E,emptyIndicator:H,maxSelected:k=0,onMaxSelected:q,hidePlaceholderWhenSelected:L=true,disabled:a,className:Y,classNames:z,badgeWrapperClassName:A,badgeClassName:G,getBadgeClassName:J=()=>"",selectFirstItem:Q=true,commandProps:e,inputProps:U,persistInputOnSelect:X=false,persistInputOnBlur:Z=false}=C,{inputRef:t,commandRef:c,onSearchRef:_,scrollbarRef:u,prevExternalOptionsRef:$}=chunkKLVOKO56_cjs.a({onSearch:n}),{uniqueId:p,open:o,setOpen:m,selected:r,setSelected:l,options:j,setOptions:ee,inputSearchValue:te,setInputSearchValue:d,debouncedSearchTerm:re}=chunkUYX4D44N_cjs.a({id:x,value:s,defaultOptions:T,delay:V}),{toggleOption:f,handleKeyDown:oe}=chunkPM4UNYHM_cjs.a({open:o,selected:r,maxSelected:k,onChange:D,onMaxSelected:q,setInputSearchValue:d,commandRef:c,inputRef:t,setSelected:l,setOpen:m,persistInputOnSelect:X});chunkAYDT2WNR_cjs.a({debouncedSearchTerm:re,open:o,onSearchRef:_,triggerSearchOnOpen:W}),chunkUQH4L66A_cjs.a({externalOptions:K,setOptions:ee,prevExternalOptionsRef:$}),chunkDBJQ7H6H_cjs.a({value:s,setSelected:l}),react.useImperativeHandle(P,()=>({selectedValue:[...r],input:t.current,focus:()=>t?.current?.focus(),reset:()=>l([])}),[r,t,l]);let le=react.useCallback(()=>{if(e?.filter)return e.filter},[e?.filter]);return jsxRuntime.jsxs(chunkEZK5NRS6_cjs.a,{ref:c,...e,onKeyDown:S=>{oe(S),e?.onKeyDown?.(S);},className:chunkQRO22BPZ_cjs.a("h-auto overflow-visible bg-transparent",e?.className),shouldFilter:e?.shouldFilter!==void 0?e.shouldFilter:!n,filter:le(),children:[jsxRuntime.jsx(chunk4VLWKHXC_cjs.a,{open:o,disabled:a,inputRef:t,selected:r,uniqueId:p,className:Y,children:jsxRuntime.jsx(chunkNQNIXM6Z_cjs.a,{selected:r,scrollbarRef:u,toggleOption:f,inputProps:U,inputRef:t,open:o,setOpen:m,placeholder:F,hidePlaceholderWhenSelected:L,disabled:a,classNames:z,badgeWrapperClassName:A,badgeClassName:G,getBadgeClassName:J,inputSearchValue:te,setInputSearchValue:d,persistInputOnBlur:Z})}),jsxRuntime.jsx(chunkUJH4JKQC_cjs.a,{uniqueId:p,scrollbarRef:u,open:o,loading:B,options:j,selected:r,toggleOption:f,onSearch:n,inputRef:t,emptyIndicator:H,loadingIndicator:E,selectFirstItem:Q})]})});ae.displayName="MultiSelect";exports.a=ae;//# sourceMappingURL=chunk-H37HOXIG.cjs.map
2
+ //# sourceMappingURL=chunk-H37HOXIG.cjs.map
@@ -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-ETZDR7A5.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
+ {"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-H37HOXIG.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"]}
@@ -0,0 +1,2 @@
1
+ 'use strict';function i(t){let e=t.replace(/\D/g,"").slice(0,10);return e.length===0?"":e.length<=3?`(${e}`:e.length<=6?`(${e.slice(0,3)}) ${e.slice(3)}`:`(${e.slice(0,3)}) ${e.slice(3,6)}-${e.slice(6)}`}function n(t){let e=t.replace(/\D/g,"");return e===""?"":String(parseInt(e,10))}exports.a=i;exports.b=n;//# sourceMappingURL=chunk-IRMVTSQ3.cjs.map
2
+ //# sourceMappingURL=chunk-IRMVTSQ3.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/v2/input/formatters.ts"],"names":["maskPhone","value","digits","maskPositiveInteger"],"mappings":"aAAO,SAASA,EAAUC,CAAAA,CAAuB,CAC/C,IAAMC,CAAAA,CAASD,EAAM,OAAA,CAAQ,KAAA,CAAO,EAAE,CAAA,CAAE,MAAM,CAAA,CAAG,EAAE,CAAA,CAEnD,OAAIC,EAAO,MAAA,GAAW,CAAA,CAAU,EAAA,CAC5BA,CAAAA,CAAO,QAAU,CAAA,CAAU,CAAA,CAAA,EAAIA,CAAM,CAAA,CAAA,CACrCA,EAAO,MAAA,EAAU,CAAA,CAAU,CAAA,CAAA,EAAIA,CAAAA,CAAO,MAAM,CAAA,CAAG,CAAC,CAAC,CAAA,EAAA,EAAKA,CAAAA,CAAO,MAAM,CAAC,CAAC,CAAA,CAAA,CAClE,CAAA,CAAA,EAAIA,EAAO,KAAA,CAAM,CAAA,CAAG,CAAC,CAAC,KAAKA,CAAAA,CAAO,KAAA,CAAM,CAAA,CAAG,CAAC,CAAC,CAAA,CAAA,EAAIA,CAAAA,CAAO,MAAM,CAAC,CAAC,EACzE,CAEO,SAASC,CAAAA,CAAoBF,CAAAA,CAAuB,CACzD,IAAMC,CAAAA,CAASD,CAAAA,CAAM,OAAA,CAAQ,MAAO,EAAE,CAAA,CACtC,OAAOC,CAAAA,GAAW,GAAK,EAAA,CAAK,MAAA,CAAO,SAASA,CAAAA,CAAQ,EAAE,CAAC,CACzD","file":"chunk-IRMVTSQ3.cjs","sourcesContent":["export function maskPhone(value: string): string {\n const digits = value.replace(/\\D/g, '').slice(0, 10);\n\n if (digits.length === 0) return '';\n if (digits.length <= 3) return `(${digits}`;\n if (digits.length <= 6) return `(${digits.slice(0, 3)}) ${digits.slice(3)}`;\n return `(${digits.slice(0, 3)}) ${digits.slice(3, 6)}-${digits.slice(6)}`;\n}\n\nexport function maskPositiveInteger(value: string): string {\n const digits = value.replace(/\\D/g, '');\n return digits === '' ? '' : String(parseInt(digits, 10));\n}\n"]}
@@ -1,2 +1,2 @@
1
- 'use strict';var chunkOUGYUQUB_cjs=require('./chunk-OUGYUQUB.cjs'),w=require('use-places-autocomplete'),react=require('react'),api=require('@react-google-maps/api'),jsxRuntime=require('react/jsx-runtime');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var w__default=/*#__PURE__*/_interopDefault(w);var x=u=>{let s="",d="",l="",i="",a="";u.address_components.forEach(r=>{r.types.some(p=>{switch(p){case "locality":return s=r.long_name,true;case "sublocality":case "administrative_area_level_3":case "neighborhood":return s=s||r.long_name,true;case "administrative_area_level_1":return d=r.short_name,true;case "street_number":return l=r.short_name,true;case "route":return i=r.short_name,true;case "postal_code":return a=r.short_name,true;default:return false}});});let n=u.geometry.location.lat(),c=u.geometry.location.lng(),m=`${l} ${i}`.trim();return {city:s,state:d,street:m,zip:a,lat:n,long:c}},R=2,S=({onSelectAddress:u=void 0,...s})=>{let d=react.useRef(null),l=react.useRef(`address-input-${Math.random().toString(36).slice(2)}-listbox`),[i,a]=react.useState(-1),{suggestions:{data:n=[]},setValue:c,clearSuggestions:m}=w__default.default({requestOptions:{componentRestrictions:{country:"us"}}}),r=react.useCallback(()=>{m(),a(-1);},[m]);react.useEffect(()=>{let e=o=>{d.current&&!d.current.contains(o.target)&&r();},t=o=>{o.key==="Escape"&&r();};return n.length>0&&(document.addEventListener("mousedown",e),document.addEventListener("keydown",t)),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t);}},[n.length,r]),react.useEffect(()=>{n.length===0?a(-1):a(e=>e<0?e:Math.min(e,n.length-1));},[n.length]);let p=e=>{c(e,false),r(),!(e.length<=R)&&w.getGeocode({address:e}).then(t=>{if(!t||t.length===0)return;let o=x(t[0]);u?.(o);});},A=react.useCallback(e=>{c(e),a(-1);},[c]),_=i>=0?`${l.current}-option-${i}`:void 0;return jsxRuntime.jsxs("div",{className:"relative",children:[jsxRuntime.jsx(chunkOUGYUQUB_cjs.b,{...s,onChange:e=>{s.onChange?.(e),A(e.target.value);},onKeyDown:e=>{if(s.onKeyDown?.(e),!e.defaultPrevented){if(!n.length){e.key==="Escape"&&r();return}if(e.key==="ArrowDown"){e.preventDefault(),a(t=>{let o=t+1;return o>=n.length||o<0?0:o});return}if(e.key==="ArrowUp"){e.preventDefault(),a(t=>t<=0?n.length-1:t-1);return}if(e.key==="Enter"&&i>=0){e.preventDefault();let t=n[i];t&&p(t.description);return}e.key==="Escape"&&(e.preventDefault(),r());}},role:"combobox","aria-expanded":n.length>0,"aria-controls":n.length>0?l.current:void 0,"aria-activedescendant":_,"aria-autocomplete":"list"}),n.length>0&&jsxRuntime.jsx("div",{ref:d,id:l.current,role:"listbox",className:"z-modal-stacking-context absolute mt-1 max-h-60 w-full overflow-auto rounded-md border border-gray-200 bg-white shadow-lg",children:n.map((e,t)=>{let o=`${l.current}-option-${t}`,v=t===i;return jsxRuntime.jsx("div",{id:o,role:"option","aria-selected":v,tabIndex:-1,className:`cursor-pointer px-3 py-2 text-sm hover:bg-green-100 ${v?"bg-green-100":""}`,onMouseEnter:()=>a(t),onMouseDown:g=>g.preventDefault(),onClick:()=>p(e.description),onKeyDown:g=>{(g.key==="Enter"||g.key===" ")&&(g.preventDefault(),p(e.description));},children:e.description},e.place_id)})})]})},P=["places"],H=({googleMapsApiKey:u,onSelectAddress:s=void 0,...d})=>{let{isLoaded:l,loadError:i}=api.useLoadScript({googleMapsApiKey:u,libraries:P});return !l||i?jsxRuntime.jsx(chunkOUGYUQUB_cjs.b,{...d}):jsxRuntime.jsx(S,{onSelectAddress:s,...d})};exports.a=S;exports.b=H;//# sourceMappingURL=chunk-DJD7UZPR.cjs.map
2
- //# sourceMappingURL=chunk-DJD7UZPR.cjs.map
1
+ 'use strict';var chunk2DLCWPKO_cjs=require('./chunk-2DLCWPKO.cjs'),w=require('use-places-autocomplete'),react=require('react'),api=require('@react-google-maps/api'),jsxRuntime=require('react/jsx-runtime');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var w__default=/*#__PURE__*/_interopDefault(w);var x=u=>{let s="",d="",l="",i="",a="";u.address_components.forEach(r=>{r.types.some(p=>{switch(p){case "locality":return s=r.long_name,true;case "sublocality":case "administrative_area_level_3":case "neighborhood":return s=s||r.long_name,true;case "administrative_area_level_1":return d=r.short_name,true;case "street_number":return l=r.short_name,true;case "route":return i=r.short_name,true;case "postal_code":return a=r.short_name,true;default:return false}});});let n=u.geometry.location.lat(),c=u.geometry.location.lng(),m=`${l} ${i}`.trim();return {city:s,state:d,street:m,zip:a,lat:n,long:c}},R=2,S=({onSelectAddress:u=void 0,...s})=>{let d=react.useRef(null),l=react.useRef(`address-input-${Math.random().toString(36).slice(2)}-listbox`),[i,a]=react.useState(-1),{suggestions:{data:n=[]},setValue:c,clearSuggestions:m}=w__default.default({requestOptions:{componentRestrictions:{country:"us"}}}),r=react.useCallback(()=>{m(),a(-1);},[m]);react.useEffect(()=>{let e=o=>{d.current&&!d.current.contains(o.target)&&r();},t=o=>{o.key==="Escape"&&r();};return n.length>0&&(document.addEventListener("mousedown",e),document.addEventListener("keydown",t)),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t);}},[n.length,r]),react.useEffect(()=>{n.length===0?a(-1):a(e=>e<0?e:Math.min(e,n.length-1));},[n.length]);let p=e=>{c(e,false),r(),!(e.length<=R)&&w.getGeocode({address:e}).then(t=>{if(!t||t.length===0)return;let o=x(t[0]);u?.(o);});},A=react.useCallback(e=>{c(e),a(-1);},[c]),_=i>=0?`${l.current}-option-${i}`:void 0;return jsxRuntime.jsxs("div",{className:"relative",children:[jsxRuntime.jsx(chunk2DLCWPKO_cjs.b,{...s,onChange:e=>{s.onChange?.(e),A(e.target.value);},onKeyDown:e=>{if(s.onKeyDown?.(e),!e.defaultPrevented){if(!n.length){e.key==="Escape"&&r();return}if(e.key==="ArrowDown"){e.preventDefault(),a(t=>{let o=t+1;return o>=n.length||o<0?0:o});return}if(e.key==="ArrowUp"){e.preventDefault(),a(t=>t<=0?n.length-1:t-1);return}if(e.key==="Enter"&&i>=0){e.preventDefault();let t=n[i];t&&p(t.description);return}e.key==="Escape"&&(e.preventDefault(),r());}},role:"combobox","aria-expanded":n.length>0,"aria-controls":n.length>0?l.current:void 0,"aria-activedescendant":_,"aria-autocomplete":"list"}),n.length>0&&jsxRuntime.jsx("div",{ref:d,id:l.current,role:"listbox",className:"z-modal-stacking-context absolute mt-1 max-h-60 w-full overflow-auto rounded-md border border-gray-200 bg-white shadow-lg",children:n.map((e,t)=>{let o=`${l.current}-option-${t}`,v=t===i;return jsxRuntime.jsx("div",{id:o,role:"option","aria-selected":v,tabIndex:-1,className:`cursor-pointer px-3 py-2 text-sm hover:bg-green-100 ${v?"bg-green-100":""}`,onMouseEnter:()=>a(t),onMouseDown:g=>g.preventDefault(),onClick:()=>p(e.description),onKeyDown:g=>{(g.key==="Enter"||g.key===" ")&&(g.preventDefault(),p(e.description));},children:e.description},e.place_id)})})]})},P=["places"],H=({googleMapsApiKey:u,onSelectAddress:s=void 0,...d})=>{let{isLoaded:l,loadError:i}=api.useLoadScript({googleMapsApiKey:u,libraries:P});return !l||i?jsxRuntime.jsx(chunk2DLCWPKO_cjs.b,{...d}):jsxRuntime.jsx(S,{onSelectAddress:s,...d})};exports.a=S;exports.b=H;//# sourceMappingURL=chunk-KXR3HDPA.cjs.map
2
+ //# sourceMappingURL=chunk-KXR3HDPA.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/v2/address-input/address-input.tsx"],"names":["getAddressAttributes","result","city","state","streetNumber","streetName","zip","component","type","lat","long","street","MIN_ADDRESS_LENGTH","AddressInputInternal","onSelectAddress","rest","dropdownRef","useRef","listboxIdRef","highlightedIndex","setHighlightedIndex","useState","data","setValue","clearSuggestions","usePlacesAutocomplete","closeSuggestions","useCallback","useEffect","handleClickOutside","event","handleEscape","current","handleAddressSelect","address","getGeocode","results","formattedResults","handleAddressOnChange","inputValue","highlightedOptionId","jsxs","jsx","Input","next","suggestion","index","optionId","isHighlighted","libraries","AddressInput","googleMapsApiKey","props","isLoaded","loadError","useLoadScript"],"mappings":"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","file":"chunk-DJD7UZPR.cjs","sourcesContent":["import usePlacesAutocomplete, { GeocodeResult, getGeocode } from 'use-places-autocomplete';\nimport { ComponentProps, useCallback, useEffect, useRef, useState } from 'react';\nimport { useLoadScript } from '@react-google-maps/api';\nimport { Input } from '../input/input';\n\nconst getAddressAttributes = (result: GeocodeResult) => {\n let city = '';\n let state = '';\n let streetNumber = '';\n let streetName = '';\n let zip = '';\n\n result.address_components.forEach((component) => {\n component.types.some((type) => {\n switch (type) {\n case 'locality':\n city = component.long_name; // Always prefer locality\n return true;\n case 'sublocality':\n case 'administrative_area_level_3':\n case 'neighborhood':\n city = city || component.long_name; // sets if no city\n return true;\n case 'administrative_area_level_1':\n state = component.short_name;\n return true;\n case 'street_number':\n streetNumber = component.short_name;\n return true;\n case 'route':\n streetName = component.short_name;\n return true;\n case 'postal_code':\n zip = component.short_name;\n return true;\n default:\n return false;\n }\n });\n });\n\n const lat = result.geometry.location.lat();\n const long = result.geometry.location.lng();\n const street = `${streetNumber} ${streetName}`.trim();\n\n return { city, state, street, zip, lat, long };\n};\n\ntype InputProps = ComponentProps<typeof Input>;\n\nexport type AddressResults = {\n city: string;\n state: string;\n street: string;\n zip: string;\n lat: number;\n long: number;\n};\n\ntype AddressInputProps = InputProps & {\n onSelectAddress?: (results: AddressResults) => void;\n};\n\nconst MIN_ADDRESS_LENGTH = 2;\n\nexport const AddressInputInternal = ({\n onSelectAddress = undefined,\n ...rest\n}: AddressInputProps) => {\n const dropdownRef = useRef<HTMLDivElement>(null);\n const listboxIdRef = useRef(`address-input-${Math.random().toString(36).slice(2)}-listbox`);\n const [highlightedIndex, setHighlightedIndex] = useState(-1);\n\n const {\n suggestions: { data = [] },\n setValue,\n clearSuggestions,\n } = usePlacesAutocomplete({\n requestOptions: {\n componentRestrictions: { country: 'us' },\n },\n });\n\n const closeSuggestions = useCallback(() => {\n clearSuggestions();\n setHighlightedIndex(-1);\n }, [clearSuggestions]);\n\n // Handle click outside to close suggestions\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (dropdownRef.current && !dropdownRef.current.contains(event.target as Node)) {\n closeSuggestions();\n }\n };\n\n const handleEscape = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n closeSuggestions();\n }\n };\n\n if (data.length > 0) {\n document.addEventListener('mousedown', handleClickOutside);\n document.addEventListener('keydown', handleEscape);\n }\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n document.removeEventListener('keydown', handleEscape);\n };\n }, [data.length, closeSuggestions]);\n\n useEffect(() => {\n if (data.length === 0) {\n setHighlightedIndex(-1);\n } else {\n setHighlightedIndex((current) => {\n if (current < 0) {\n return current;\n }\n\n return Math.min(current, data.length - 1);\n });\n }\n }, [data.length]);\n\n const handleAddressSelect = (address: string) => {\n setValue(address, false);\n closeSuggestions();\n\n if (address.length <= MIN_ADDRESS_LENGTH) {\n return;\n }\n\n getGeocode({ address }).then((results) => {\n if (!results || results.length === 0) {\n return;\n }\n\n const formattedResults = getAddressAttributes(results[0]);\n onSelectAddress?.(formattedResults);\n });\n };\n\n const handleAddressOnChange = useCallback(\n (inputValue: string) => {\n setValue(inputValue);\n setHighlightedIndex(-1);\n },\n [setValue],\n );\n\n const highlightedOptionId =\n highlightedIndex >= 0 ? `${listboxIdRef.current}-option-${highlightedIndex}` : undefined;\n\n return (\n <div className=\"relative\">\n <Input\n {...rest}\n onChange={(e) => {\n rest.onChange?.(e);\n handleAddressOnChange(e.target.value);\n }}\n onKeyDown={(e) => {\n rest.onKeyDown?.(e);\n\n if (e.defaultPrevented) {\n return;\n }\n\n if (!data.length) {\n if (e.key === 'Escape') {\n closeSuggestions();\n }\n return;\n }\n\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n setHighlightedIndex((current) => {\n const next = current + 1;\n if (next >= data.length || next < 0) {\n return 0;\n }\n return next;\n });\n return;\n }\n\n if (e.key === 'ArrowUp') {\n e.preventDefault();\n setHighlightedIndex((current) => {\n if (current <= 0) {\n return data.length - 1;\n }\n return current - 1;\n });\n return;\n }\n\n if (e.key === 'Enter' && highlightedIndex >= 0) {\n e.preventDefault();\n const suggestion = data[highlightedIndex];\n if (suggestion) {\n handleAddressSelect(suggestion.description);\n }\n return;\n }\n\n if (e.key === 'Escape') {\n e.preventDefault();\n closeSuggestions();\n }\n }}\n role=\"combobox\"\n aria-expanded={data.length > 0}\n aria-controls={data.length > 0 ? listboxIdRef.current : undefined}\n aria-activedescendant={highlightedOptionId}\n aria-autocomplete=\"list\"\n />\n {data.length > 0 && (\n <div\n ref={dropdownRef}\n id={listboxIdRef.current}\n role=\"listbox\"\n className=\"z-modal-stacking-context absolute mt-1 max-h-60 w-full overflow-auto rounded-md border border-gray-200 bg-white shadow-lg\"\n >\n {data.map((suggestion, index) => {\n const optionId = `${listboxIdRef.current}-option-${index}`;\n const isHighlighted = index === highlightedIndex;\n\n return (\n <div\n key={suggestion.place_id}\n id={optionId}\n role=\"option\"\n aria-selected={isHighlighted}\n tabIndex={-1}\n className={`cursor-pointer px-3 py-2 text-sm hover:bg-green-100 ${\n isHighlighted ? 'bg-green-100' : ''\n }`}\n onMouseEnter={() => setHighlightedIndex(index)}\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => handleAddressSelect(suggestion.description)}\n onKeyDown={(event) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n handleAddressSelect(suggestion.description);\n }\n }}\n >\n {suggestion.description}\n </div>\n );\n })}\n </div>\n )}\n </div>\n );\n};\n\nconst libraries: ['places'] = ['places'];\n\nexport const AddressInput = ({\n googleMapsApiKey,\n onSelectAddress = undefined,\n ...props\n}: AddressInputProps & { googleMapsApiKey: string }) => {\n const { isLoaded, loadError } = useLoadScript({\n googleMapsApiKey,\n libraries,\n });\n // if not loaded or error, return regular input\n if (!isLoaded || loadError) {\n return <Input {...props} />;\n }\n return <AddressInputInternal onSelectAddress={onSelectAddress} {...props} />;\n};\n"]}
1
+ {"version":3,"sources":["../src/v2/address-input/address-input.tsx"],"names":["getAddressAttributes","result","city","state","streetNumber","streetName","zip","component","type","lat","long","street","MIN_ADDRESS_LENGTH","AddressInputInternal","onSelectAddress","rest","dropdownRef","useRef","listboxIdRef","highlightedIndex","setHighlightedIndex","useState","data","setValue","clearSuggestions","usePlacesAutocomplete","closeSuggestions","useCallback","useEffect","handleClickOutside","event","handleEscape","current","handleAddressSelect","address","getGeocode","results","formattedResults","handleAddressOnChange","inputValue","highlightedOptionId","jsxs","jsx","Input","next","suggestion","index","optionId","isHighlighted","libraries","AddressInput","googleMapsApiKey","props","isLoaded","loadError","useLoadScript"],"mappings":"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","file":"chunk-KXR3HDPA.cjs","sourcesContent":["import usePlacesAutocomplete, { GeocodeResult, getGeocode } from 'use-places-autocomplete';\nimport { ComponentProps, useCallback, useEffect, useRef, useState } from 'react';\nimport { useLoadScript } from '@react-google-maps/api';\nimport { Input } from '../input/input';\n\nconst getAddressAttributes = (result: GeocodeResult) => {\n let city = '';\n let state = '';\n let streetNumber = '';\n let streetName = '';\n let zip = '';\n\n result.address_components.forEach((component) => {\n component.types.some((type) => {\n switch (type) {\n case 'locality':\n city = component.long_name; // Always prefer locality\n return true;\n case 'sublocality':\n case 'administrative_area_level_3':\n case 'neighborhood':\n city = city || component.long_name; // sets if no city\n return true;\n case 'administrative_area_level_1':\n state = component.short_name;\n return true;\n case 'street_number':\n streetNumber = component.short_name;\n return true;\n case 'route':\n streetName = component.short_name;\n return true;\n case 'postal_code':\n zip = component.short_name;\n return true;\n default:\n return false;\n }\n });\n });\n\n const lat = result.geometry.location.lat();\n const long = result.geometry.location.lng();\n const street = `${streetNumber} ${streetName}`.trim();\n\n return { city, state, street, zip, lat, long };\n};\n\ntype InputProps = ComponentProps<typeof Input>;\n\nexport type AddressResults = {\n city: string;\n state: string;\n street: string;\n zip: string;\n lat: number;\n long: number;\n};\n\ntype AddressInputProps = InputProps & {\n onSelectAddress?: (results: AddressResults) => void;\n};\n\nconst MIN_ADDRESS_LENGTH = 2;\n\nexport const AddressInputInternal = ({\n onSelectAddress = undefined,\n ...rest\n}: AddressInputProps) => {\n const dropdownRef = useRef<HTMLDivElement>(null);\n const listboxIdRef = useRef(`address-input-${Math.random().toString(36).slice(2)}-listbox`);\n const [highlightedIndex, setHighlightedIndex] = useState(-1);\n\n const {\n suggestions: { data = [] },\n setValue,\n clearSuggestions,\n } = usePlacesAutocomplete({\n requestOptions: {\n componentRestrictions: { country: 'us' },\n },\n });\n\n const closeSuggestions = useCallback(() => {\n clearSuggestions();\n setHighlightedIndex(-1);\n }, [clearSuggestions]);\n\n // Handle click outside to close suggestions\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (dropdownRef.current && !dropdownRef.current.contains(event.target as Node)) {\n closeSuggestions();\n }\n };\n\n const handleEscape = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n closeSuggestions();\n }\n };\n\n if (data.length > 0) {\n document.addEventListener('mousedown', handleClickOutside);\n document.addEventListener('keydown', handleEscape);\n }\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n document.removeEventListener('keydown', handleEscape);\n };\n }, [data.length, closeSuggestions]);\n\n useEffect(() => {\n if (data.length === 0) {\n setHighlightedIndex(-1);\n } else {\n setHighlightedIndex((current) => {\n if (current < 0) {\n return current;\n }\n\n return Math.min(current, data.length - 1);\n });\n }\n }, [data.length]);\n\n const handleAddressSelect = (address: string) => {\n setValue(address, false);\n closeSuggestions();\n\n if (address.length <= MIN_ADDRESS_LENGTH) {\n return;\n }\n\n getGeocode({ address }).then((results) => {\n if (!results || results.length === 0) {\n return;\n }\n\n const formattedResults = getAddressAttributes(results[0]);\n onSelectAddress?.(formattedResults);\n });\n };\n\n const handleAddressOnChange = useCallback(\n (inputValue: string) => {\n setValue(inputValue);\n setHighlightedIndex(-1);\n },\n [setValue],\n );\n\n const highlightedOptionId =\n highlightedIndex >= 0 ? `${listboxIdRef.current}-option-${highlightedIndex}` : undefined;\n\n return (\n <div className=\"relative\">\n <Input\n {...rest}\n onChange={(e) => {\n rest.onChange?.(e);\n handleAddressOnChange(e.target.value);\n }}\n onKeyDown={(e) => {\n rest.onKeyDown?.(e);\n\n if (e.defaultPrevented) {\n return;\n }\n\n if (!data.length) {\n if (e.key === 'Escape') {\n closeSuggestions();\n }\n return;\n }\n\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n setHighlightedIndex((current) => {\n const next = current + 1;\n if (next >= data.length || next < 0) {\n return 0;\n }\n return next;\n });\n return;\n }\n\n if (e.key === 'ArrowUp') {\n e.preventDefault();\n setHighlightedIndex((current) => {\n if (current <= 0) {\n return data.length - 1;\n }\n return current - 1;\n });\n return;\n }\n\n if (e.key === 'Enter' && highlightedIndex >= 0) {\n e.preventDefault();\n const suggestion = data[highlightedIndex];\n if (suggestion) {\n handleAddressSelect(suggestion.description);\n }\n return;\n }\n\n if (e.key === 'Escape') {\n e.preventDefault();\n closeSuggestions();\n }\n }}\n role=\"combobox\"\n aria-expanded={data.length > 0}\n aria-controls={data.length > 0 ? listboxIdRef.current : undefined}\n aria-activedescendant={highlightedOptionId}\n aria-autocomplete=\"list\"\n />\n {data.length > 0 && (\n <div\n ref={dropdownRef}\n id={listboxIdRef.current}\n role=\"listbox\"\n className=\"z-modal-stacking-context absolute mt-1 max-h-60 w-full overflow-auto rounded-md border border-gray-200 bg-white shadow-lg\"\n >\n {data.map((suggestion, index) => {\n const optionId = `${listboxIdRef.current}-option-${index}`;\n const isHighlighted = index === highlightedIndex;\n\n return (\n <div\n key={suggestion.place_id}\n id={optionId}\n role=\"option\"\n aria-selected={isHighlighted}\n tabIndex={-1}\n className={`cursor-pointer px-3 py-2 text-sm hover:bg-green-100 ${\n isHighlighted ? 'bg-green-100' : ''\n }`}\n onMouseEnter={() => setHighlightedIndex(index)}\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => handleAddressSelect(suggestion.description)}\n onKeyDown={(event) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n handleAddressSelect(suggestion.description);\n }\n }}\n >\n {suggestion.description}\n </div>\n );\n })}\n </div>\n )}\n </div>\n );\n};\n\nconst libraries: ['places'] = ['places'];\n\nexport const AddressInput = ({\n googleMapsApiKey,\n onSelectAddress = undefined,\n ...props\n}: AddressInputProps & { googleMapsApiKey: string }) => {\n const { isLoaded, loadError } = useLoadScript({\n googleMapsApiKey,\n libraries,\n });\n // if not loaded or error, return regular input\n if (!isLoaded || loadError) {\n return <Input {...props} />;\n }\n return <AddressInputInternal onSelectAddress={onSelectAddress} {...props} />;\n};\n"]}
@@ -1,2 +1,2 @@
1
- import {b}from'./chunk-JH4FQUIS.js';import {a}from'./chunk-YTIIAU4W.js';import*as e from'react';import w from'embla-carousel-react';import {LuArrowLeft,LuArrowRight}from'react-icons/lu';import {jsx,jsxs}from'react/jsx-runtime';var v=e.createContext(null);function d(){let t=e.useContext(v);if(!t)throw new Error("useCarousel must be used within a <Carousel />");return t}function T({orientation:t="horizontal",opts:l,setApi:o,plugins:s,className:u,children:c,...i}){let[x,r]=w({...l,axis:t==="horizontal"?"x":"y"},s),[P,R]=e.useState(false),[y,b]=e.useState(false),[N,S]=e.useState(0),[h,z]=e.useState(0),p=e.useCallback(C=>{C&&(R(C.canScrollPrev()),b(C.canScrollNext()),S(C.selectedScrollSnap()),z(C.scrollSnapList().length));},[]),g=e.useCallback(()=>{r?.scrollPrev();},[r]),E=e.useCallback(()=>{r?.scrollNext();},[r]);return e.useEffect(()=>{!r||!o||o(r);},[r,o]),e.useEffect(()=>{if(r)return p(r),r.on("reInit",p),r.on("select",p),()=>{r?.off("select",p);}},[r,p]),jsx(v.Provider,{value:{carouselRef:x,api:r,opts:l,orientation:t||(l?.axis==="y"?"vertical":"horizontal"),selectedIndex:N,slideCount:h,scrollPrev:g,scrollNext:E,canScrollPrev:P,canScrollNext:y},children:jsx("div",{className:a("relative",u),role:"region","aria-roledescription":"carousel","data-slot":"carousel",...i,children:c})})}function O({className:t,...l}){let{carouselRef:o,orientation:s}=d();return jsx("div",{ref:o,className:"overflow-hidden","data-slot":"carousel-content",children:jsx("div",{className:a("flex",s==="horizontal"?"-ml-4":"-mt-4 flex-col",t),...l})})}function F({className:t,...l}){let{orientation:o}=d();return jsx("div",{role:"group","aria-roledescription":"slide","data-slot":"carousel-item",className:a("min-w-0 shrink-0 grow-0 basis-full",o==="horizontal"?"pl-4":"pt-4",t),...l})}function j({className:t,variant:l="outline",size:o="sm",...s}){let{orientation:u,scrollPrev:c,canScrollPrev:i}=d();return jsxs(b,{"data-slot":"carousel-previous",variant:l,size:o,className:a("absolute size-8 rounded-full",u==="horizontal"?"top-1/2 -left-12 -translate-y-1/2":"-top-12 left-1/2 -translate-x-1/2 rotate-90",t),disabled:!i,onClick:c,...s,children:[jsx(LuArrowLeft,{}),jsx("span",{className:"sr-only",children:"Previous slide"})]})}function q({className:t,variant:l="outline",size:o="sm",...s}){let{orientation:u,scrollNext:c,canScrollNext:i}=d();return jsxs(b,{"data-slot":"carousel-next",variant:l,size:o,className:a("absolute size-8 rounded-full",u==="horizontal"?"top-1/2 -right-12 -translate-y-1/2":"-bottom-12 left-1/2 -translate-x-1/2 rotate-90",t),disabled:!i,onClick:c,...s,children:[jsx(LuArrowRight,{}),jsx("span",{className:"sr-only",children:"Next slide"})]})}function D({className:t,...l}){let{slideCount:o,selectedIndex:s}=d();return o<=1?null:jsxs("div",{className:a("text-muted-foreground text-sm",t),"data-slot":"carousel-fraction",...l,children:[s+1,"/",o]})}export{d as a,T as b,O as c,F as d,j as e,q as f,D as g};//# sourceMappingURL=chunk-ONAYZGIC.js.map
2
- //# sourceMappingURL=chunk-ONAYZGIC.js.map
1
+ import {b}from'./chunk-SP2L5FI7.js';import {a}from'./chunk-YTIIAU4W.js';import*as e from'react';import w from'embla-carousel-react';import {LuArrowLeft,LuArrowRight}from'react-icons/lu';import {jsx,jsxs}from'react/jsx-runtime';var v=e.createContext(null);function d(){let t=e.useContext(v);if(!t)throw new Error("useCarousel must be used within a <Carousel />");return t}function T({orientation:t="horizontal",opts:l,setApi:o,plugins:s,className:u,children:c,...i}){let[x,r]=w({...l,axis:t==="horizontal"?"x":"y"},s),[P,R]=e.useState(false),[y,b]=e.useState(false),[N,S]=e.useState(0),[h,z]=e.useState(0),p=e.useCallback(C=>{C&&(R(C.canScrollPrev()),b(C.canScrollNext()),S(C.selectedScrollSnap()),z(C.scrollSnapList().length));},[]),g=e.useCallback(()=>{r?.scrollPrev();},[r]),E=e.useCallback(()=>{r?.scrollNext();},[r]);return e.useEffect(()=>{!r||!o||o(r);},[r,o]),e.useEffect(()=>{if(r)return p(r),r.on("reInit",p),r.on("select",p),()=>{r?.off("select",p);}},[r,p]),jsx(v.Provider,{value:{carouselRef:x,api:r,opts:l,orientation:t||(l?.axis==="y"?"vertical":"horizontal"),selectedIndex:N,slideCount:h,scrollPrev:g,scrollNext:E,canScrollPrev:P,canScrollNext:y},children:jsx("div",{className:a("relative",u),role:"region","aria-roledescription":"carousel","data-slot":"carousel",...i,children:c})})}function O({className:t,...l}){let{carouselRef:o,orientation:s}=d();return jsx("div",{ref:o,className:"overflow-hidden","data-slot":"carousel-content",children:jsx("div",{className:a("flex",s==="horizontal"?"-ml-4":"-mt-4 flex-col",t),...l})})}function F({className:t,...l}){let{orientation:o}=d();return jsx("div",{role:"group","aria-roledescription":"slide","data-slot":"carousel-item",className:a("min-w-0 shrink-0 grow-0 basis-full",o==="horizontal"?"pl-4":"pt-4",t),...l})}function j({className:t,variant:l="outline",size:o="sm",...s}){let{orientation:u,scrollPrev:c,canScrollPrev:i}=d();return jsxs(b,{"data-slot":"carousel-previous",variant:l,size:o,className:a("absolute size-8 rounded-full",u==="horizontal"?"top-1/2 -left-12 -translate-y-1/2":"-top-12 left-1/2 -translate-x-1/2 rotate-90",t),disabled:!i,onClick:c,...s,children:[jsx(LuArrowLeft,{}),jsx("span",{className:"sr-only",children:"Previous slide"})]})}function q({className:t,variant:l="outline",size:o="sm",...s}){let{orientation:u,scrollNext:c,canScrollNext:i}=d();return jsxs(b,{"data-slot":"carousel-next",variant:l,size:o,className:a("absolute size-8 rounded-full",u==="horizontal"?"top-1/2 -right-12 -translate-y-1/2":"-bottom-12 left-1/2 -translate-x-1/2 rotate-90",t),disabled:!i,onClick:c,...s,children:[jsx(LuArrowRight,{}),jsx("span",{className:"sr-only",children:"Next slide"})]})}function D({className:t,...l}){let{slideCount:o,selectedIndex:s}=d();return o<=1?null:jsxs("div",{className:a("text-muted-foreground text-sm",t),"data-slot":"carousel-fraction",...l,children:[s+1,"/",o]})}export{d as a,T as b,O as c,F as d,j as e,q as f,D as g};//# sourceMappingURL=chunk-M2YQU26J.js.map
2
+ //# sourceMappingURL=chunk-M2YQU26J.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/v2/carousel/carousel.tsx"],"names":["CarouselContext","useCarousel","context","Carousel","orientation","opts","setApi","plugins","className","children","props","carouselRef","api","useEmblaCarousel","canScrollPrev","setCanScrollPrev","canScrollNext","setCanScrollNext","selectedIndex","setSelectedIndex","slideCount","setSlideCount","onSelect","scrollPrev","scrollNext","jsx","cn","CarouselContent","CarouselItem","CarouselPrevious","variant","size","jsxs","Button","LuArrowLeft","CarouselNext","LuArrowRight","CarouselFraction"],"mappings":"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","file":"chunk-ONAYZGIC.js","sourcesContent":["import * as React from 'react';\nimport useEmblaCarousel, { type UseEmblaCarouselType } from 'embla-carousel-react';\nimport { LuArrowLeft, LuArrowRight } from 'react-icons/lu';\nimport { cn } from '@/lib/utils';\nimport { Button } from '@/v2/button/button';\n\ntype CarouselApi = UseEmblaCarouselType[1];\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>;\ntype CarouselOptions = UseCarouselParameters[0];\ntype CarouselPlugin = UseCarouselParameters[1];\n\ntype CarouselProps = {\n opts?: CarouselOptions;\n plugins?: CarouselPlugin;\n orientation?: 'horizontal' | 'vertical';\n setApi?: (api: CarouselApi) => void;\n};\n\ntype CarouselContextProps = {\n carouselRef: ReturnType<typeof useEmblaCarousel>[0];\n api: ReturnType<typeof useEmblaCarousel>[1];\n selectedIndex: number;\n slideCount: number;\n scrollPrev: () => void;\n scrollNext: () => void;\n canScrollPrev: boolean;\n canScrollNext: boolean;\n} & CarouselProps;\n\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null);\n\nfunction useCarousel() {\n const context = React.useContext(CarouselContext);\n\n if (!context) {\n throw new Error('useCarousel must be used within a <Carousel />');\n }\n\n return context;\n}\n\nfunction Carousel({\n orientation = 'horizontal',\n opts,\n setApi,\n plugins,\n className,\n children,\n ...props\n}: React.ComponentProps<'div'> & CarouselProps) {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === 'horizontal' ? 'x' : 'y',\n },\n plugins,\n );\n const [canScrollPrev, setCanScrollPrev] = React.useState(false);\n const [canScrollNext, setCanScrollNext] = React.useState(false);\n const [selectedIndex, setSelectedIndex] = React.useState(0);\n const [slideCount, setSlideCount] = React.useState(0);\n\n const onSelect = React.useCallback((api: CarouselApi) => {\n if (!api) return;\n setCanScrollPrev(api.canScrollPrev());\n setCanScrollNext(api.canScrollNext());\n setSelectedIndex(api.selectedScrollSnap());\n setSlideCount(api.scrollSnapList().length);\n }, []);\n\n const scrollPrev = React.useCallback(() => {\n api?.scrollPrev();\n }, [api]);\n\n const scrollNext = React.useCallback(() => {\n api?.scrollNext();\n }, [api]);\n\n React.useEffect(() => {\n if (!api || !setApi) return;\n setApi(api);\n }, [api, setApi]);\n\n React.useEffect(() => {\n if (!api) return;\n onSelect(api);\n api.on('reInit', onSelect);\n api.on('select', onSelect);\n\n // eslint-disable-next-line consistent-return\n return () => {\n api?.off('select', onSelect);\n };\n }, [api, onSelect]);\n\n return (\n <CarouselContext.Provider\n // eslint-disable-next-line react/jsx-no-constructed-context-values\n value={{\n carouselRef,\n api,\n opts,\n orientation: orientation || (opts?.axis === 'y' ? 'vertical' : 'horizontal'),\n selectedIndex,\n slideCount,\n scrollPrev,\n scrollNext,\n canScrollPrev,\n canScrollNext,\n }}\n >\n <div\n className={cn('relative', className)}\n role=\"region\"\n aria-roledescription=\"carousel\"\n data-slot=\"carousel\"\n {...props}\n >\n {children}\n </div>\n </CarouselContext.Provider>\n );\n}\n\nfunction CarouselContent({ className, ...props }: React.ComponentProps<'div'>) {\n const { carouselRef, orientation } = useCarousel();\n\n return (\n <div ref={carouselRef} className=\"overflow-hidden\" data-slot=\"carousel-content\">\n <div\n className={cn('flex', orientation === 'horizontal' ? '-ml-4' : '-mt-4 flex-col', className)}\n {...props}\n />\n </div>\n );\n}\n\nfunction CarouselItem({ className, ...props }: React.ComponentProps<'div'>) {\n const { orientation } = useCarousel();\n\n return (\n <div\n role=\"group\"\n aria-roledescription=\"slide\"\n data-slot=\"carousel-item\"\n className={cn(\n 'min-w-0 shrink-0 grow-0 basis-full',\n orientation === 'horizontal' ? 'pl-4' : 'pt-4',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CarouselPrevious({\n className,\n variant = 'outline',\n size = 'sm',\n ...props\n}: React.ComponentProps<typeof Button>) {\n const { orientation, scrollPrev, canScrollPrev } = useCarousel();\n\n return (\n <Button\n data-slot=\"carousel-previous\"\n variant={variant}\n size={size}\n className={cn(\n 'absolute size-8 rounded-full',\n orientation === 'horizontal'\n ? 'top-1/2 -left-12 -translate-y-1/2'\n : '-top-12 left-1/2 -translate-x-1/2 rotate-90',\n className,\n )}\n disabled={!canScrollPrev}\n onClick={scrollPrev}\n {...props}\n >\n <LuArrowLeft />\n <span className=\"sr-only\">Previous slide</span>\n </Button>\n );\n}\n\nfunction CarouselNext({\n className,\n variant = 'outline',\n size = 'sm',\n ...props\n}: React.ComponentProps<typeof Button>) {\n const { orientation, scrollNext, canScrollNext } = useCarousel();\n\n return (\n <Button\n data-slot=\"carousel-next\"\n variant={variant}\n size={size}\n className={cn(\n 'absolute size-8 rounded-full',\n orientation === 'horizontal'\n ? 'top-1/2 -right-12 -translate-y-1/2'\n : '-bottom-12 left-1/2 -translate-x-1/2 rotate-90',\n className,\n )}\n disabled={!canScrollNext}\n onClick={scrollNext}\n {...props}\n >\n <LuArrowRight />\n <span className=\"sr-only\">Next slide</span>\n </Button>\n );\n}\n\nfunction CarouselFraction({ className, ...props }: React.ComponentProps<'div'>) {\n const { slideCount, selectedIndex } = useCarousel();\n\n if (slideCount <= 1) return null;\n\n return (\n <div\n className={cn('text-muted-foreground text-sm', className)}\n data-slot=\"carousel-fraction\"\n {...props}\n >\n {selectedIndex + 1}/{slideCount}\n </div>\n );\n}\n\nexport {\n type CarouselApi,\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselPrevious,\n CarouselNext,\n CarouselFraction,\n useCarousel,\n};\n"]}
1
+ {"version":3,"sources":["../src/v2/carousel/carousel.tsx"],"names":["CarouselContext","useCarousel","context","Carousel","orientation","opts","setApi","plugins","className","children","props","carouselRef","api","useEmblaCarousel","canScrollPrev","setCanScrollPrev","canScrollNext","setCanScrollNext","selectedIndex","setSelectedIndex","slideCount","setSlideCount","onSelect","scrollPrev","scrollNext","jsx","cn","CarouselContent","CarouselItem","CarouselPrevious","variant","size","jsxs","Button","LuArrowLeft","CarouselNext","LuArrowRight","CarouselFraction"],"mappings":"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","file":"chunk-M2YQU26J.js","sourcesContent":["import * as React from 'react';\nimport useEmblaCarousel, { type UseEmblaCarouselType } from 'embla-carousel-react';\nimport { LuArrowLeft, LuArrowRight } from 'react-icons/lu';\nimport { cn } from '@/lib/utils';\nimport { Button } from '@/v2/button/button';\n\ntype CarouselApi = UseEmblaCarouselType[1];\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>;\ntype CarouselOptions = UseCarouselParameters[0];\ntype CarouselPlugin = UseCarouselParameters[1];\n\ntype CarouselProps = {\n opts?: CarouselOptions;\n plugins?: CarouselPlugin;\n orientation?: 'horizontal' | 'vertical';\n setApi?: (api: CarouselApi) => void;\n};\n\ntype CarouselContextProps = {\n carouselRef: ReturnType<typeof useEmblaCarousel>[0];\n api: ReturnType<typeof useEmblaCarousel>[1];\n selectedIndex: number;\n slideCount: number;\n scrollPrev: () => void;\n scrollNext: () => void;\n canScrollPrev: boolean;\n canScrollNext: boolean;\n} & CarouselProps;\n\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null);\n\nfunction useCarousel() {\n const context = React.useContext(CarouselContext);\n\n if (!context) {\n throw new Error('useCarousel must be used within a <Carousel />');\n }\n\n return context;\n}\n\nfunction Carousel({\n orientation = 'horizontal',\n opts,\n setApi,\n plugins,\n className,\n children,\n ...props\n}: React.ComponentProps<'div'> & CarouselProps) {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === 'horizontal' ? 'x' : 'y',\n },\n plugins,\n );\n const [canScrollPrev, setCanScrollPrev] = React.useState(false);\n const [canScrollNext, setCanScrollNext] = React.useState(false);\n const [selectedIndex, setSelectedIndex] = React.useState(0);\n const [slideCount, setSlideCount] = React.useState(0);\n\n const onSelect = React.useCallback((api: CarouselApi) => {\n if (!api) return;\n setCanScrollPrev(api.canScrollPrev());\n setCanScrollNext(api.canScrollNext());\n setSelectedIndex(api.selectedScrollSnap());\n setSlideCount(api.scrollSnapList().length);\n }, []);\n\n const scrollPrev = React.useCallback(() => {\n api?.scrollPrev();\n }, [api]);\n\n const scrollNext = React.useCallback(() => {\n api?.scrollNext();\n }, [api]);\n\n React.useEffect(() => {\n if (!api || !setApi) return;\n setApi(api);\n }, [api, setApi]);\n\n React.useEffect(() => {\n if (!api) return;\n onSelect(api);\n api.on('reInit', onSelect);\n api.on('select', onSelect);\n\n // eslint-disable-next-line consistent-return\n return () => {\n api?.off('select', onSelect);\n };\n }, [api, onSelect]);\n\n return (\n <CarouselContext.Provider\n // eslint-disable-next-line react/jsx-no-constructed-context-values\n value={{\n carouselRef,\n api,\n opts,\n orientation: orientation || (opts?.axis === 'y' ? 'vertical' : 'horizontal'),\n selectedIndex,\n slideCount,\n scrollPrev,\n scrollNext,\n canScrollPrev,\n canScrollNext,\n }}\n >\n <div\n className={cn('relative', className)}\n role=\"region\"\n aria-roledescription=\"carousel\"\n data-slot=\"carousel\"\n {...props}\n >\n {children}\n </div>\n </CarouselContext.Provider>\n );\n}\n\nfunction CarouselContent({ className, ...props }: React.ComponentProps<'div'>) {\n const { carouselRef, orientation } = useCarousel();\n\n return (\n <div ref={carouselRef} className=\"overflow-hidden\" data-slot=\"carousel-content\">\n <div\n className={cn('flex', orientation === 'horizontal' ? '-ml-4' : '-mt-4 flex-col', className)}\n {...props}\n />\n </div>\n );\n}\n\nfunction CarouselItem({ className, ...props }: React.ComponentProps<'div'>) {\n const { orientation } = useCarousel();\n\n return (\n <div\n role=\"group\"\n aria-roledescription=\"slide\"\n data-slot=\"carousel-item\"\n className={cn(\n 'min-w-0 shrink-0 grow-0 basis-full',\n orientation === 'horizontal' ? 'pl-4' : 'pt-4',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CarouselPrevious({\n className,\n variant = 'outline',\n size = 'sm',\n ...props\n}: React.ComponentProps<typeof Button>) {\n const { orientation, scrollPrev, canScrollPrev } = useCarousel();\n\n return (\n <Button\n data-slot=\"carousel-previous\"\n variant={variant}\n size={size}\n className={cn(\n 'absolute size-8 rounded-full',\n orientation === 'horizontal'\n ? 'top-1/2 -left-12 -translate-y-1/2'\n : '-top-12 left-1/2 -translate-x-1/2 rotate-90',\n className,\n )}\n disabled={!canScrollPrev}\n onClick={scrollPrev}\n {...props}\n >\n <LuArrowLeft />\n <span className=\"sr-only\">Previous slide</span>\n </Button>\n );\n}\n\nfunction CarouselNext({\n className,\n variant = 'outline',\n size = 'sm',\n ...props\n}: React.ComponentProps<typeof Button>) {\n const { orientation, scrollNext, canScrollNext } = useCarousel();\n\n return (\n <Button\n data-slot=\"carousel-next\"\n variant={variant}\n size={size}\n className={cn(\n 'absolute size-8 rounded-full',\n orientation === 'horizontal'\n ? 'top-1/2 -right-12 -translate-y-1/2'\n : '-bottom-12 left-1/2 -translate-x-1/2 rotate-90',\n className,\n )}\n disabled={!canScrollNext}\n onClick={scrollNext}\n {...props}\n >\n <LuArrowRight />\n <span className=\"sr-only\">Next slide</span>\n </Button>\n );\n}\n\nfunction CarouselFraction({ className, ...props }: React.ComponentProps<'div'>) {\n const { slideCount, selectedIndex } = useCarousel();\n\n if (slideCount <= 1) return null;\n\n return (\n <div\n className={cn('text-muted-foreground text-sm', className)}\n data-slot=\"carousel-fraction\"\n {...props}\n >\n {selectedIndex + 1}/{slideCount}\n </div>\n );\n}\n\nexport {\n type CarouselApi,\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselPrevious,\n CarouselNext,\n CarouselFraction,\n useCarousel,\n};\n"]}