@solace-health/ui 0.10.668 → 0.10.670

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 (138) hide show
  1. package/dist/{chunk-QOIWWR24.cjs → chunk-2E7ZG247.cjs} +2 -2
  2. package/dist/{chunk-QOIWWR24.cjs.map → chunk-2E7ZG247.cjs.map} +1 -1
  3. package/dist/{chunk-FXLG3LU3.cjs → chunk-3WAG2NWA.cjs} +2 -2
  4. package/dist/{chunk-FXLG3LU3.cjs.map → chunk-3WAG2NWA.cjs.map} +1 -1
  5. package/dist/{chunk-VO2GGQ2X.js → chunk-6T7SXJ44.js} +2 -2
  6. package/dist/{chunk-VO2GGQ2X.js.map → chunk-6T7SXJ44.js.map} +1 -1
  7. package/dist/{chunk-3N4EBY5Q.js → chunk-74AGGELC.js} +2 -2
  8. package/dist/{chunk-3N4EBY5Q.js.map → chunk-74AGGELC.js.map} +1 -1
  9. package/dist/{chunk-2BUA2PCN.cjs → chunk-DJ5RP6A2.cjs} +2 -2
  10. package/dist/{chunk-2BUA2PCN.cjs.map → chunk-DJ5RP6A2.cjs.map} +1 -1
  11. package/dist/{chunk-BCJNTCHK.js → chunk-EJBXIBM4.js} +2 -2
  12. package/dist/{chunk-BCJNTCHK.js.map → chunk-EJBXIBM4.js.map} +1 -1
  13. package/dist/{chunk-VTYXYLTK.cjs → chunk-EZK5NRS6.cjs} +2 -2
  14. package/dist/{chunk-VTYXYLTK.cjs.map → chunk-EZK5NRS6.cjs.map} +1 -1
  15. package/dist/{chunk-6TGWLOLD.js → chunk-FDMT42JJ.js} +2 -2
  16. package/dist/{chunk-6TGWLOLD.js.map → chunk-FDMT42JJ.js.map} +1 -1
  17. package/dist/chunk-FFAC2CCY.cjs +2 -0
  18. package/dist/chunk-FFAC2CCY.cjs.map +1 -0
  19. package/dist/{chunk-QUD4HTUP.cjs → chunk-FMFRB4JI.cjs} +2 -2
  20. package/dist/chunk-FMFRB4JI.cjs.map +1 -0
  21. package/dist/{chunk-FBXJ2VCI.js → chunk-FQGC44HX.js} +2 -2
  22. package/dist/{chunk-FBXJ2VCI.js.map → chunk-FQGC44HX.js.map} +1 -1
  23. package/dist/{chunk-ETZDR7A5.cjs → chunk-H37HOXIG.cjs} +2 -2
  24. package/dist/{chunk-ETZDR7A5.cjs.map → chunk-H37HOXIG.cjs.map} +1 -1
  25. package/dist/chunk-IRMVTSQ3.cjs +2 -0
  26. package/dist/chunk-IRMVTSQ3.cjs.map +1 -0
  27. package/dist/chunk-LFGDYEFJ.js +27 -0
  28. package/dist/chunk-LFGDYEFJ.js.map +1 -0
  29. package/dist/{chunk-ONAYZGIC.js → chunk-M2YQU26J.js} +2 -2
  30. package/dist/{chunk-ONAYZGIC.js.map → chunk-M2YQU26J.js.map} +1 -1
  31. package/dist/{chunk-JE6P5GU3.js → chunk-M7LXLMUQ.js} +2 -2
  32. package/dist/{chunk-JE6P5GU3.js.map → chunk-M7LXLMUQ.js.map} +1 -1
  33. package/dist/{chunk-KIKR45SH.js → chunk-MERMPFZT.js} +2 -2
  34. package/dist/{chunk-KIKR45SH.js.map → chunk-MERMPFZT.js.map} +1 -1
  35. package/dist/chunk-NVFC45IS.js +2 -0
  36. package/dist/chunk-NVFC45IS.js.map +1 -0
  37. package/dist/{chunk-HP66FPW5.cjs → chunk-O7A6NMSW.cjs} +2 -2
  38. package/dist/{chunk-HP66FPW5.cjs.map → chunk-O7A6NMSW.cjs.map} +1 -1
  39. package/dist/{chunk-WMOD232S.js → chunk-OYN4D5J3.js} +2 -2
  40. package/dist/{chunk-WMOD232S.js.map → chunk-OYN4D5J3.js.map} +1 -1
  41. package/dist/{chunk-UVZVZAGK.js → chunk-PVA67MWT.js} +2 -2
  42. package/dist/{chunk-UVZVZAGK.js.map → chunk-PVA67MWT.js.map} +1 -1
  43. package/dist/chunk-QHNRUAYJ.js +2 -0
  44. package/dist/chunk-QHNRUAYJ.js.map +1 -0
  45. package/dist/{chunk-Z6BTLUPD.js → chunk-R2R3QR2N.js} +2 -2
  46. package/dist/{chunk-Z6BTLUPD.js.map → chunk-R2R3QR2N.js.map} +1 -1
  47. package/dist/{chunk-3TNSGXJ6.cjs → chunk-RQTTULKO.cjs} +2 -2
  48. package/dist/{chunk-3TNSGXJ6.cjs.map → chunk-RQTTULKO.cjs.map} +1 -1
  49. package/dist/{chunk-L4FOTU2K.cjs → chunk-RXR3BZZK.cjs} +2 -2
  50. package/dist/{chunk-L4FOTU2K.cjs.map → chunk-RXR3BZZK.cjs.map} +1 -1
  51. package/dist/{chunk-DJD7UZPR.cjs → chunk-SBGL7Q6I.cjs} +2 -2
  52. package/dist/{chunk-DJD7UZPR.cjs.map → chunk-SBGL7Q6I.cjs.map} +1 -1
  53. package/dist/{chunk-VTBYJGTJ.cjs → chunk-SC4FK5N3.cjs} +2 -2
  54. package/dist/{chunk-VTBYJGTJ.cjs.map → chunk-SC4FK5N3.cjs.map} +1 -1
  55. package/dist/chunk-SP2L5FI7.js +2 -0
  56. package/dist/chunk-SP2L5FI7.js.map +1 -0
  57. package/dist/{chunk-SMTXYI6Q.js → chunk-STIYYCSL.js} +2 -2
  58. package/dist/{chunk-SMTXYI6Q.js.map → chunk-STIYYCSL.js.map} +1 -1
  59. package/dist/chunk-UIJEPPNJ.cjs +27 -0
  60. package/dist/chunk-UIJEPPNJ.cjs.map +1 -0
  61. package/dist/{chunk-C45VZ526.cjs → chunk-UIKSYA4B.cjs} +2 -2
  62. package/dist/{chunk-C45VZ526.cjs.map → chunk-UIKSYA4B.cjs.map} +1 -1
  63. package/dist/{chunk-E7W73IO3.cjs → chunk-UJH4JKQC.cjs} +2 -2
  64. package/dist/{chunk-E7W73IO3.cjs.map → chunk-UJH4JKQC.cjs.map} +1 -1
  65. package/dist/{chunk-X7HU4N6X.cjs → chunk-URUWP25E.cjs} +2 -2
  66. package/dist/{chunk-X7HU4N6X.cjs.map → chunk-URUWP25E.cjs.map} +1 -1
  67. package/dist/{chunk-FMPII2NF.js → chunk-VIPOYVA3.js} +2 -2
  68. package/dist/{chunk-FMPII2NF.js.map → chunk-VIPOYVA3.js.map} +1 -1
  69. package/dist/{chunk-MPGPI6LC.js → chunk-XOWSDMW5.js} +2 -2
  70. package/dist/{chunk-MPGPI6LC.js.map → chunk-XOWSDMW5.js.map} +1 -1
  71. package/dist/{chunk-SM7PYFD2.cjs → chunk-ZZW5IT44.cjs} +2 -2
  72. package/dist/{chunk-SM7PYFD2.cjs.map → chunk-ZZW5IT44.cjs.map} +1 -1
  73. package/dist/metafile-cjs.json +1 -1
  74. package/dist/metafile-esm.json +1 -1
  75. package/dist/v2/address-input/address-input.cjs +1 -1
  76. package/dist/v2/address-input/address-input.js +1 -1
  77. package/dist/v2/button/button.cjs +1 -1
  78. package/dist/v2/button/button.js +1 -1
  79. package/dist/v2/calendar/calendar.cjs +1 -1
  80. package/dist/v2/calendar/calendar.js +1 -1
  81. package/dist/v2/card/card.cjs +1 -1
  82. package/dist/v2/card/card.d.ts +7 -2
  83. package/dist/v2/card/card.js +1 -1
  84. package/dist/v2/carousel/carousel.cjs +1 -1
  85. package/dist/v2/carousel/carousel.js +1 -1
  86. package/dist/v2/checkbox/button-checkbox.cjs +1 -1
  87. package/dist/v2/checkbox/button-checkbox.js +1 -1
  88. package/dist/v2/checkbox-group/checkbox-group.cjs +1 -1
  89. package/dist/v2/checkbox-group/checkbox-group.js +1 -1
  90. package/dist/v2/combobox/combobox.cjs +1 -1
  91. package/dist/v2/combobox/combobox.js +1 -1
  92. package/dist/v2/command/command.cjs +1 -1
  93. package/dist/v2/command/command.js +1 -1
  94. package/dist/v2/date-picker/date-picker-input.cjs +1 -1
  95. package/dist/v2/date-picker/date-picker-input.js +1 -1
  96. package/dist/v2/date-picker/date-picker.cjs +1 -1
  97. package/dist/v2/date-picker/date-picker.js +1 -1
  98. package/dist/v2/dialog/dialog.cjs +1 -1
  99. package/dist/v2/dialog/dialog.js +1 -1
  100. package/dist/v2/drawer/drawer.cjs +1 -1
  101. package/dist/v2/drawer/drawer.js +1 -1
  102. package/dist/v2/flex-drawer/flex-drawer.cjs +1 -1
  103. package/dist/v2/flex-drawer/flex-drawer.js +1 -1
  104. package/dist/v2/image-preview/image-preview.cjs +1 -1
  105. package/dist/v2/image-preview/image-preview.js +1 -1
  106. package/dist/v2/index.cjs +1 -1
  107. package/dist/v2/index.js +1 -1
  108. package/dist/v2/input/formatters.cjs +1 -1
  109. package/dist/v2/input/formatters.d.ts +1 -0
  110. package/dist/v2/input/formatters.js +1 -1
  111. package/dist/v2/input/input.cjs +1 -1
  112. package/dist/v2/input/input.d.ts +1 -1
  113. package/dist/v2/input/input.js +1 -1
  114. package/dist/v2/input/input.stories.d.ts +1 -0
  115. package/dist/v2/multiselect/components/MultiSelectCommandGroup.cjs +1 -1
  116. package/dist/v2/multiselect/components/MultiSelectCommandGroup.js +1 -1
  117. package/dist/v2/multiselect/components/MultiSelectDropdown.cjs +1 -1
  118. package/dist/v2/multiselect/components/MultiSelectDropdown.js +1 -1
  119. package/dist/v2/multiselect/multiselect.cjs +1 -1
  120. package/dist/v2/multiselect/multiselect.js +1 -1
  121. package/dist/v2/time-select/time-select.cjs +1 -1
  122. package/dist/v2/time-select/time-select.js +1 -1
  123. package/package.json +3 -2
  124. package/dist/chunk-3TXN7A2Z.js +0 -2
  125. package/dist/chunk-3TXN7A2Z.js.map +0 -1
  126. package/dist/chunk-6LESB5UU.js +0 -27
  127. package/dist/chunk-6LESB5UU.js.map +0 -1
  128. package/dist/chunk-7X6KFDGZ.cjs +0 -2
  129. package/dist/chunk-7X6KFDGZ.cjs.map +0 -1
  130. package/dist/chunk-JH4FQUIS.js +0 -2
  131. package/dist/chunk-JH4FQUIS.js.map +0 -1
  132. package/dist/chunk-KKTQL7QK.js +0 -2
  133. package/dist/chunk-KKTQL7QK.js.map +0 -1
  134. package/dist/chunk-OUGYUQUB.cjs +0 -27
  135. package/dist/chunk-OUGYUQUB.cjs.map +0 -1
  136. package/dist/chunk-QUD4HTUP.cjs.map +0 -1
  137. package/dist/chunk-Z2MOZQCG.cjs +0 -2
  138. package/dist/chunk-Z2MOZQCG.cjs.map +0 -1
@@ -1,2 +1,2 @@
1
- 'use strict';var chunkBBJ3KAN6_cjs=require('./chunk-BBJ3KAN6.cjs'),chunkVTYXYLTK_cjs=require('./chunk-VTYXYLTK.cjs'),chunkQRO22BPZ_cjs=require('./chunk-QRO22BPZ.cjs'),lu=require('react-icons/lu'),jsxRuntime=require('react/jsx-runtime');var S=({options:o,selected:l,toggleOption:i,onSearch:c,uniqueId:p})=>{let d=chunkBBJ3KAN6_cjs.a({selected:l,options:o});return jsxRuntime.jsx(chunkVTYXYLTK_cjs.f,{className:"h-full overflow-auto",children:jsxRuntime.jsx("div",{className:"flex flex-col gap-1",children:(c?d:o).map(e=>{let s=l.some(t=>t.value===e.value);return jsxRuntime.jsxs(chunkVTYXYLTK_cjs.h,{value:e.value,keywords:typeof e.label=="string"?[e.label]:void 0,disabled:e.disable,onMouseDown:t=>{t.preventDefault(),t.stopPropagation();},onSelect:()=>i(e),className:chunkQRO22BPZ_cjs.a("flex cursor-pointer items-center justify-between p-3 data-[selected=true]:bg-green-200 hover:data-[selected=true]:bg-green-200",e.disable&&"text-muted-foreground cursor-default",s&&"bg-green-100"),children:[e.label,s&&jsxRuntime.jsx(lu.LuCheck,{className:"h-4 w-4 text-green-800"})]},e.value)})})},`${p}-command-group`)};exports.a=S;//# sourceMappingURL=chunk-QOIWWR24.cjs.map
2
- //# sourceMappingURL=chunk-QOIWWR24.cjs.map
1
+ 'use strict';var chunkBBJ3KAN6_cjs=require('./chunk-BBJ3KAN6.cjs'),chunkEZK5NRS6_cjs=require('./chunk-EZK5NRS6.cjs'),chunkQRO22BPZ_cjs=require('./chunk-QRO22BPZ.cjs'),lu=require('react-icons/lu'),jsxRuntime=require('react/jsx-runtime');var S=({options:o,selected:l,toggleOption:i,onSearch:c,uniqueId:p})=>{let d=chunkBBJ3KAN6_cjs.a({selected:l,options:o});return jsxRuntime.jsx(chunkEZK5NRS6_cjs.f,{className:"h-full overflow-auto",children:jsxRuntime.jsx("div",{className:"flex flex-col gap-1",children:(c?d:o).map(e=>{let s=l.some(t=>t.value===e.value);return jsxRuntime.jsxs(chunkEZK5NRS6_cjs.h,{value:e.value,keywords:typeof e.label=="string"?[e.label]:void 0,disabled:e.disable,onMouseDown:t=>{t.preventDefault(),t.stopPropagation();},onSelect:()=>i(e),className:chunkQRO22BPZ_cjs.a("flex cursor-pointer items-center justify-between p-3 data-[selected=true]:bg-green-200 hover:data-[selected=true]:bg-green-200",e.disable&&"text-muted-foreground cursor-default",s&&"bg-green-100"),children:[e.label,s&&jsxRuntime.jsx(lu.LuCheck,{className:"h-4 w-4 text-green-800"})]},e.value)})})},`${p}-command-group`)};exports.a=S;//# sourceMappingURL=chunk-2E7ZG247.cjs.map
2
+ //# sourceMappingURL=chunk-2E7ZG247.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/v2/multiselect/components/MultiSelectCommandGroup.tsx"],"names":["MultiSelectCommandGroup","options","selected","toggleOption","onSearch","uniqueId","mergedOptions","useMergeOptions","jsx","CommandGroup","option","optionSelected","s","jsxs","CommandItem","e","cn","LuCheck"],"mappings":"4OAeO,IAAMA,CAAAA,CAA0B,CAAC,CACtC,OAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,YAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CACF,CAAA,GAAa,CACX,IAAMC,CAAAA,CAAgBC,mBAAAA,CAAgB,CAAE,QAAA,CAAAL,CAAAA,CAAU,OAAA,CAAAD,CAAQ,CAAC,CAAA,CAG3D,OACEO,cAAAA,CAACC,mBAAAA,CAAA,CAA+C,SAAA,CAAU,sBAAA,CACxD,QAAA,CAAAD,cAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,qBAAA,CACZ,QAAA,CAAA,CALgBJ,CAAAA,CAAWE,CAAAA,CAAgBL,CAAAA,EAK5B,GAAA,CAAKS,CAAAA,EAAmB,CACtC,IAAMC,CAAAA,CAAiBT,CAAAA,CAAS,IAAA,CAAMU,CAAAA,EAAMA,CAAAA,CAAE,KAAA,GAAUF,EAAO,KAAK,CAAA,CACpE,OACEG,eAAAA,CAACC,mBAAAA,CAAA,CAEC,KAAA,CAAOJ,CAAAA,CAAO,KAAA,CACd,QAAA,CAAU,OAAOA,CAAAA,CAAO,KAAA,EAAU,QAAA,CAAW,CAACA,CAAAA,CAAO,KAAK,CAAA,CAAI,MAAA,CAC9D,QAAA,CAAUA,CAAAA,CAAO,OAAA,CACjB,WAAA,CAAcK,CAAAA,EAAM,CAClBA,CAAAA,CAAE,cAAA,EAAe,CACjBA,CAAAA,CAAE,eAAA,GACJ,CAAA,CACA,QAAA,CAAU,IAAMZ,CAAAA,CAAaO,CAAM,CAAA,CACnC,SAAA,CAAWM,mBAAAA,CAGT,gIAAA,CACAN,CAAAA,CAAO,OAAA,EAAW,sCAAA,CAClBC,CAAAA,EAAkB,cACpB,CAAA,CAEC,QAAA,CAAA,CAAAD,CAAAA,CAAO,KAAA,CACPC,CAAAA,EAAkBH,cAAAA,CAACS,UAAAA,CAAA,CAAQ,SAAA,CAAU,wBAAA,CAAyB,CAAA,CAAA,CAAA,CAlB1DP,CAAAA,CAAO,KAmBd,CAEJ,CAAC,CAAA,CACH,CAAA,CAAA,CA5BiB,CAAA,EAAGL,CAAQ,gBA6B9B,CAEJ","file":"chunk-QOIWWR24.cjs","sourcesContent":["import { LuCheck } from 'react-icons/lu';\n\nimport { CommandGroup, CommandItem } from '@/v2/command/command';\nimport { cn } from '@/lib/utils';\nimport { MultiSelectProps, Option } from '../types';\nimport { UseMultiSelectReturn } from '../hooks/useMultiSelect';\nimport { UseInteractionsReturn } from '../hooks/useInteractions';\nimport { useMergeOptions } from '../hooks/useMergeOptions';\n\ntype Props = Pick<MultiSelectProps, 'onSearch'> &\n Pick<UseMultiSelectReturn, 'selected' | 'uniqueId'> &\n Pick<UseInteractionsReturn, 'toggleOption'> & {\n options: Option[];\n };\n\nexport const MultiSelectCommandGroup = ({\n options,\n selected,\n toggleOption,\n onSearch,\n uniqueId,\n}: Props) => {\n const mergedOptions = useMergeOptions({ selected, options });\n const displayOptions = onSearch ? mergedOptions : options;\n\n return (\n <CommandGroup key={`${uniqueId}-command-group`} className=\"h-full overflow-auto\">\n <div className=\"flex flex-col gap-1\">\n {displayOptions.map((option: Option) => {\n const optionSelected = selected.some((s) => s.value === option.value);\n return (\n <CommandItem\n key={option.value}\n value={option.value}\n keywords={typeof option.label === 'string' ? [option.label] : undefined}\n disabled={option.disable}\n onMouseDown={(e) => {\n e.preventDefault();\n e.stopPropagation();\n }}\n onSelect={() => toggleOption(option)}\n className={cn(\n // data-[selected=true] means when the user navigates onto an option with the keyboard\n // optionSelected means the user has actually toggled on the option\n 'flex cursor-pointer items-center justify-between p-3 data-[selected=true]:bg-green-200 hover:data-[selected=true]:bg-green-200',\n option.disable && 'text-muted-foreground cursor-default',\n optionSelected && 'bg-green-100',\n )}\n >\n {option.label}\n {optionSelected && <LuCheck className=\"h-4 w-4 text-green-800\" />}\n </CommandItem>\n );\n })}\n </div>\n </CommandGroup>\n );\n};\n"]}
1
+ {"version":3,"sources":["../src/v2/multiselect/components/MultiSelectCommandGroup.tsx"],"names":["MultiSelectCommandGroup","options","selected","toggleOption","onSearch","uniqueId","mergedOptions","useMergeOptions","jsx","CommandGroup","option","optionSelected","s","jsxs","CommandItem","e","cn","LuCheck"],"mappings":"4OAeO,IAAMA,CAAAA,CAA0B,CAAC,CACtC,OAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,YAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CACF,CAAA,GAAa,CACX,IAAMC,CAAAA,CAAgBC,mBAAAA,CAAgB,CAAE,QAAA,CAAAL,CAAAA,CAAU,OAAA,CAAAD,CAAQ,CAAC,CAAA,CAG3D,OACEO,cAAAA,CAACC,mBAAAA,CAAA,CAA+C,SAAA,CAAU,sBAAA,CACxD,QAAA,CAAAD,cAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,qBAAA,CACZ,QAAA,CAAA,CALgBJ,CAAAA,CAAWE,CAAAA,CAAgBL,CAAAA,EAK5B,GAAA,CAAKS,CAAAA,EAAmB,CACtC,IAAMC,CAAAA,CAAiBT,CAAAA,CAAS,IAAA,CAAMU,CAAAA,EAAMA,CAAAA,CAAE,KAAA,GAAUF,EAAO,KAAK,CAAA,CACpE,OACEG,eAAAA,CAACC,mBAAAA,CAAA,CAEC,KAAA,CAAOJ,CAAAA,CAAO,KAAA,CACd,QAAA,CAAU,OAAOA,CAAAA,CAAO,KAAA,EAAU,QAAA,CAAW,CAACA,CAAAA,CAAO,KAAK,CAAA,CAAI,MAAA,CAC9D,QAAA,CAAUA,CAAAA,CAAO,OAAA,CACjB,WAAA,CAAcK,CAAAA,EAAM,CAClBA,CAAAA,CAAE,cAAA,EAAe,CACjBA,CAAAA,CAAE,eAAA,GACJ,CAAA,CACA,QAAA,CAAU,IAAMZ,CAAAA,CAAaO,CAAM,CAAA,CACnC,SAAA,CAAWM,mBAAAA,CAGT,gIAAA,CACAN,CAAAA,CAAO,OAAA,EAAW,sCAAA,CAClBC,CAAAA,EAAkB,cACpB,CAAA,CAEC,QAAA,CAAA,CAAAD,CAAAA,CAAO,KAAA,CACPC,CAAAA,EAAkBH,cAAAA,CAACS,UAAAA,CAAA,CAAQ,SAAA,CAAU,wBAAA,CAAyB,CAAA,CAAA,CAAA,CAlB1DP,CAAAA,CAAO,KAmBd,CAEJ,CAAC,CAAA,CACH,CAAA,CAAA,CA5BiB,CAAA,EAAGL,CAAQ,gBA6B9B,CAEJ","file":"chunk-2E7ZG247.cjs","sourcesContent":["import { LuCheck } from 'react-icons/lu';\n\nimport { CommandGroup, CommandItem } from '@/v2/command/command';\nimport { cn } from '@/lib/utils';\nimport { MultiSelectProps, Option } from '../types';\nimport { UseMultiSelectReturn } from '../hooks/useMultiSelect';\nimport { UseInteractionsReturn } from '../hooks/useInteractions';\nimport { useMergeOptions } from '../hooks/useMergeOptions';\n\ntype Props = Pick<MultiSelectProps, 'onSearch'> &\n Pick<UseMultiSelectReturn, 'selected' | 'uniqueId'> &\n Pick<UseInteractionsReturn, 'toggleOption'> & {\n options: Option[];\n };\n\nexport const MultiSelectCommandGroup = ({\n options,\n selected,\n toggleOption,\n onSearch,\n uniqueId,\n}: Props) => {\n const mergedOptions = useMergeOptions({ selected, options });\n const displayOptions = onSearch ? mergedOptions : options;\n\n return (\n <CommandGroup key={`${uniqueId}-command-group`} className=\"h-full overflow-auto\">\n <div className=\"flex flex-col gap-1\">\n {displayOptions.map((option: Option) => {\n const optionSelected = selected.some((s) => s.value === option.value);\n return (\n <CommandItem\n key={option.value}\n value={option.value}\n keywords={typeof option.label === 'string' ? [option.label] : undefined}\n disabled={option.disable}\n onMouseDown={(e) => {\n e.preventDefault();\n e.stopPropagation();\n }}\n onSelect={() => toggleOption(option)}\n className={cn(\n // data-[selected=true] means when the user navigates onto an option with the keyboard\n // optionSelected means the user has actually toggled on the option\n 'flex cursor-pointer items-center justify-between p-3 data-[selected=true]:bg-green-200 hover:data-[selected=true]:bg-green-200',\n option.disable && 'text-muted-foreground cursor-default',\n optionSelected && 'bg-green-100',\n )}\n >\n {option.label}\n {optionSelected && <LuCheck className=\"h-4 w-4 text-green-800\" />}\n </CommandItem>\n );\n })}\n </div>\n </CommandGroup>\n );\n};\n"]}
@@ -1,2 +1,2 @@
1
- 'use strict';var chunkQUD4HTUP_cjs=require('./chunk-QUD4HTUP.cjs'),chunkKRGVVBO5_cjs=require('./chunk-KRGVVBO5.cjs'),chunkQRO22BPZ_cjs=require('./chunk-QRO22BPZ.cjs'),b=require('react'),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 b__namespace=/*#__PURE__*/_interopNamespace(b);var x=b__namespace.forwardRef(({id:l,children:n,className:d,classNames:e={},size:h="default",nestedSection:a=null,...o},p)=>jsxRuntime.jsx(chunkQUD4HTUP_cjs.b,{variant:"outline",disabled:o.disabled,size:h,asChild:true,className:chunkQRO22BPZ_cjs.a(d,e?.base,!!a&&"cursor-default"),children:jsxRuntime.jsxs("div",{ref:p,className:chunkQRO22BPZ_cjs.a("h-auto flex-col items-stretch justify-start px-0! select-none",o.checked?"border-dark-green":"border-gray-400",o.disabled&&"text-secondary-foreground hover:text-secondary-foreground border-gray-300 hover:border-gray-300 hover:bg-white",e?.labelComponent),children:[jsxRuntime.jsxs("label",{htmlFor:l,className:chunkQRO22BPZ_cjs.a("flex min-h-12 w-full cursor-pointer items-center gap-2 px-4 py-3 leading-tight whitespace-normal",o.disabled&&"hover:cursor-not-allowed",e?.checkboxWrapper),children:[jsxRuntime.jsx(chunkKRGVVBO5_cjs.b,{id:l,...o,variant:"button",classNames:e?.checkbox}),e?.labelText?jsxRuntime.jsx("span",{className:chunkQRO22BPZ_cjs.a(e?.labelText),children:n}):n]}),a&&jsxRuntime.jsx("div",{className:chunkQRO22BPZ_cjs.a("mt-1 px-3 pb-3 font-normal",e?.nestedSection),children:a})]})}));x.displayName="ButtonCheckbox";exports.a=x;//# sourceMappingURL=chunk-FXLG3LU3.cjs.map
2
- //# sourceMappingURL=chunk-FXLG3LU3.cjs.map
1
+ 'use strict';var chunkFMFRB4JI_cjs=require('./chunk-FMFRB4JI.cjs'),chunkKRGVVBO5_cjs=require('./chunk-KRGVVBO5.cjs'),chunkQRO22BPZ_cjs=require('./chunk-QRO22BPZ.cjs'),b=require('react'),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 b__namespace=/*#__PURE__*/_interopNamespace(b);var x=b__namespace.forwardRef(({id:l,children:n,className:d,classNames:e={},size:h="default",nestedSection:a=null,...o},p)=>jsxRuntime.jsx(chunkFMFRB4JI_cjs.b,{variant:"outline",disabled:o.disabled,size:h,asChild:true,className:chunkQRO22BPZ_cjs.a(d,e?.base,!!a&&"cursor-default"),children:jsxRuntime.jsxs("div",{ref:p,className:chunkQRO22BPZ_cjs.a("h-auto flex-col items-stretch justify-start px-0! select-none",o.checked?"border-dark-green":"border-gray-400",o.disabled&&"text-secondary-foreground hover:text-secondary-foreground border-gray-300 hover:border-gray-300 hover:bg-white",e?.labelComponent),children:[jsxRuntime.jsxs("label",{htmlFor:l,className:chunkQRO22BPZ_cjs.a("flex min-h-12 w-full cursor-pointer items-center gap-2 px-4 py-3 leading-tight whitespace-normal",o.disabled&&"hover:cursor-not-allowed",e?.checkboxWrapper),children:[jsxRuntime.jsx(chunkKRGVVBO5_cjs.b,{id:l,...o,variant:"button",classNames:e?.checkbox}),e?.labelText?jsxRuntime.jsx("span",{className:chunkQRO22BPZ_cjs.a(e?.labelText),children:n}):n]}),a&&jsxRuntime.jsx("div",{className:chunkQRO22BPZ_cjs.a("mt-1 px-3 pb-3 font-normal",e?.nestedSection),children:a})]})}));x.displayName="ButtonCheckbox";exports.a=x;//# sourceMappingURL=chunk-3WAG2NWA.cjs.map
2
+ //# sourceMappingURL=chunk-3WAG2NWA.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/v2/checkbox/button-checkbox.tsx"],"names":["ButtonCheckbox","b","id","children","className","classNames","size","nestedSection","props","ref","jsx","Button","cn","jsxs","Checkbox"],"mappings":"wkBAgBO,IAAMA,CAAAA,CAAuBC,YAAA,CAAA,UAAA,CAKlC,CACE,CAAE,EAAA,CAAAC,CAAAA,CAAI,QAAA,CAAAC,CAAAA,CAAU,SAAA,CAAAC,CAAAA,CAAW,UAAA,CAAAC,CAAAA,CAAa,EAAC,CAAG,IAAA,CAAAC,CAAAA,CAAO,SAAA,CAAW,aAAA,CAAAC,CAAAA,CAAgB,KAAM,GAAGC,CAAM,CAAA,CAC7FC,CAAAA,GAGEC,cAAAA,CAACC,mBAAAA,CAAA,CACC,OAAA,CAAQ,SAAA,CACR,QAAA,CAAUH,CAAAA,CAAM,QAAA,CAChB,IAAA,CAAMF,CAAAA,CACN,OAAA,CAAO,IAAA,CACP,UAAWM,mBAAAA,CAAGR,CAAAA,CAAWC,CAAAA,EAAY,IAAA,CAAM,CAAC,CAACE,CAAAA,EAAiB,gBAAgB,CAAA,CAE9E,QAAA,CAAAM,eAAAA,CAAC,KAAA,CAAA,CACC,GAAA,CAAKJ,CAAAA,CACL,SAAA,CAAWG,mBAAAA,CACT,gEACAJ,CAAAA,CAAM,OAAA,CAAU,mBAAA,CAAsB,iBAAA,CACtCA,CAAAA,CAAM,QAAA,EACJ,gHAAA,CACFH,CAAAA,EAAY,cACd,CAAA,CAEA,QAAA,CAAA,CAAAQ,eAAAA,CAAC,OAAA,CAAA,CACC,OAAA,CAASX,CAAAA,CACT,SAAA,CAAWU,oBACT,kGAAA,CACAJ,CAAAA,CAAM,QAAA,EAAY,0BAAA,CAClBH,CAAAA,EAAY,eACd,CAAA,CAEA,QAAA,CAAA,CAAAK,cAAAA,CAACI,mBAAAA,CAAA,CAAS,EAAA,CAAIZ,CAAAA,CAAK,GAAGM,CAAAA,CAAO,OAAA,CAAQ,SAAS,UAAA,CAAYH,CAAAA,EAAY,QAAA,CAAU,CAAA,CAC/EA,CAAAA,EAAY,SAAA,CACXK,cAAAA,CAAC,MAAA,CAAA,CAAK,SAAA,CAAWE,mBAAAA,CAAGP,CAAAA,EAAY,SAAS,CAAA,CAAI,QAAA,CAAAF,CAAAA,CAAS,CAAA,CAEtDA,GAEJ,CAAA,CACCI,CAAAA,EACCG,cAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAWE,mBAAAA,CAAG,4BAAA,CAA8BP,CAAAA,EAAY,aAAa,CAAA,CACvE,QAAA,CAAAE,CAAAA,CACH,CAAA,CAAA,CAEJ,CAAA,CACF,CAGN,EAEAP,EAAe,WAAA,CAAc,gBAAA","file":"chunk-FXLG3LU3.cjs","sourcesContent":["import * as React from 'react';\nimport { cn } from '@/lib/utils';\nimport { Button, type ButtonSize } from '@/v2/button/button';\nimport { Checkbox, type CheckboxProps } from '@/v2/checkbox/checkbox';\nimport type { Slots } from '../types';\n\nexport type ButtonCheckboxSlots = Slots & {\n classNames?: {\n checkboxWrapper?: string;\n labelComponent?: string;\n labelText?: string;\n nestedSection?: string;\n checkbox?: CheckboxProps['classNames'];\n };\n};\n\nexport const ButtonCheckbox = React.forwardRef<\n HTMLDivElement,\n ButtonCheckboxSlots &\n CheckboxProps & { nestedSection?: React.ReactNode | null; size?: ButtonSize }\n>(\n (\n { id, children, className, classNames = {}, size = 'default', nestedSection = null, ...props },\n ref,\n ) => {\n return (\n <Button\n variant=\"outline\"\n disabled={props.disabled}\n size={size}\n asChild\n className={cn(className, classNames?.base, !!nestedSection && 'cursor-default')}\n >\n <div\n ref={ref}\n className={cn(\n 'h-auto flex-col items-stretch justify-start px-0! select-none',\n props.checked ? 'border-dark-green' : 'border-gray-400',\n props.disabled &&\n 'text-secondary-foreground hover:text-secondary-foreground border-gray-300 hover:border-gray-300 hover:bg-white',\n classNames?.labelComponent,\n )}\n >\n <label\n htmlFor={id}\n className={cn(\n 'flex min-h-12 w-full cursor-pointer items-center gap-2 px-4 py-3 leading-tight whitespace-normal',\n props.disabled && 'hover:cursor-not-allowed',\n classNames?.checkboxWrapper,\n )}\n >\n <Checkbox id={id} {...props} variant=\"button\" classNames={classNames?.checkbox} />\n {classNames?.labelText ? (\n <span className={cn(classNames?.labelText)}>{children}</span>\n ) : (\n children\n )}\n </label>\n {nestedSection && (\n <div className={cn('mt-1 px-3 pb-3 font-normal', classNames?.nestedSection)}>\n {nestedSection}\n </div>\n )}\n </div>\n </Button>\n );\n },\n);\n\nButtonCheckbox.displayName = 'ButtonCheckbox';\n"]}
1
+ {"version":3,"sources":["../src/v2/checkbox/button-checkbox.tsx"],"names":["ButtonCheckbox","b","id","children","className","classNames","size","nestedSection","props","ref","jsx","Button","cn","jsxs","Checkbox"],"mappings":"wkBAgBO,IAAMA,CAAAA,CAAuBC,YAAA,CAAA,UAAA,CAKlC,CACE,CAAE,EAAA,CAAAC,CAAAA,CAAI,QAAA,CAAAC,CAAAA,CAAU,SAAA,CAAAC,CAAAA,CAAW,UAAA,CAAAC,CAAAA,CAAa,EAAC,CAAG,IAAA,CAAAC,CAAAA,CAAO,SAAA,CAAW,aAAA,CAAAC,CAAAA,CAAgB,KAAM,GAAGC,CAAM,CAAA,CAC7FC,CAAAA,GAGEC,cAAAA,CAACC,mBAAAA,CAAA,CACC,OAAA,CAAQ,SAAA,CACR,QAAA,CAAUH,CAAAA,CAAM,QAAA,CAChB,IAAA,CAAMF,CAAAA,CACN,OAAA,CAAO,IAAA,CACP,UAAWM,mBAAAA,CAAGR,CAAAA,CAAWC,CAAAA,EAAY,IAAA,CAAM,CAAC,CAACE,CAAAA,EAAiB,gBAAgB,CAAA,CAE9E,QAAA,CAAAM,eAAAA,CAAC,KAAA,CAAA,CACC,GAAA,CAAKJ,CAAAA,CACL,SAAA,CAAWG,mBAAAA,CACT,gEACAJ,CAAAA,CAAM,OAAA,CAAU,mBAAA,CAAsB,iBAAA,CACtCA,CAAAA,CAAM,QAAA,EACJ,gHAAA,CACFH,CAAAA,EAAY,cACd,CAAA,CAEA,QAAA,CAAA,CAAAQ,eAAAA,CAAC,OAAA,CAAA,CACC,OAAA,CAASX,CAAAA,CACT,SAAA,CAAWU,oBACT,kGAAA,CACAJ,CAAAA,CAAM,QAAA,EAAY,0BAAA,CAClBH,CAAAA,EAAY,eACd,CAAA,CAEA,QAAA,CAAA,CAAAK,cAAAA,CAACI,mBAAAA,CAAA,CAAS,EAAA,CAAIZ,CAAAA,CAAK,GAAGM,CAAAA,CAAO,OAAA,CAAQ,SAAS,UAAA,CAAYH,CAAAA,EAAY,QAAA,CAAU,CAAA,CAC/EA,CAAAA,EAAY,SAAA,CACXK,cAAAA,CAAC,MAAA,CAAA,CAAK,SAAA,CAAWE,mBAAAA,CAAGP,CAAAA,EAAY,SAAS,CAAA,CAAI,QAAA,CAAAF,CAAAA,CAAS,CAAA,CAEtDA,GAEJ,CAAA,CACCI,CAAAA,EACCG,cAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAWE,mBAAAA,CAAG,4BAAA,CAA8BP,CAAAA,EAAY,aAAa,CAAA,CACvE,QAAA,CAAAE,CAAAA,CACH,CAAA,CAAA,CAEJ,CAAA,CACF,CAGN,EAEAP,EAAe,WAAA,CAAc,gBAAA","file":"chunk-3WAG2NWA.cjs","sourcesContent":["import * as React from 'react';\nimport { cn } from '@/lib/utils';\nimport { Button, type ButtonSize } from '@/v2/button/button';\nimport { Checkbox, type CheckboxProps } from '@/v2/checkbox/checkbox';\nimport type { Slots } from '../types';\n\nexport type ButtonCheckboxSlots = Slots & {\n classNames?: {\n checkboxWrapper?: string;\n labelComponent?: string;\n labelText?: string;\n nestedSection?: string;\n checkbox?: CheckboxProps['classNames'];\n };\n};\n\nexport const ButtonCheckbox = React.forwardRef<\n HTMLDivElement,\n ButtonCheckboxSlots &\n CheckboxProps & { nestedSection?: React.ReactNode | null; size?: ButtonSize }\n>(\n (\n { id, children, className, classNames = {}, size = 'default', nestedSection = null, ...props },\n ref,\n ) => {\n return (\n <Button\n variant=\"outline\"\n disabled={props.disabled}\n size={size}\n asChild\n className={cn(className, classNames?.base, !!nestedSection && 'cursor-default')}\n >\n <div\n ref={ref}\n className={cn(\n 'h-auto flex-col items-stretch justify-start px-0! select-none',\n props.checked ? 'border-dark-green' : 'border-gray-400',\n props.disabled &&\n 'text-secondary-foreground hover:text-secondary-foreground border-gray-300 hover:border-gray-300 hover:bg-white',\n classNames?.labelComponent,\n )}\n >\n <label\n htmlFor={id}\n className={cn(\n 'flex min-h-12 w-full cursor-pointer items-center gap-2 px-4 py-3 leading-tight whitespace-normal',\n props.disabled && 'hover:cursor-not-allowed',\n classNames?.checkboxWrapper,\n )}\n >\n <Checkbox id={id} {...props} variant=\"button\" classNames={classNames?.checkbox} />\n {classNames?.labelText ? (\n <span className={cn(classNames?.labelText)}>{children}</span>\n ) : (\n children\n )}\n </label>\n {nestedSection && (\n <div className={cn('mt-1 px-3 pb-3 font-normal', classNames?.nestedSection)}>\n {nestedSection}\n </div>\n )}\n </div>\n </Button>\n );\n },\n);\n\nButtonCheckbox.displayName = 'ButtonCheckbox';\n"]}
@@ -1,2 +1,2 @@
1
- import {b as b$1}from'./chunk-JH4FQUIS.js';import {a}from'./chunk-YTIIAU4W.js';import {a as a$1}from'./chunk-CWXZFXQT.js';import {b}from'./chunk-6MYNQMQU.js';import {createContext,forwardRef,useContext,useMemo}from'react';import {Drawer}from'vaul';import*as i from'@radix-ui/react-dialog';import {LuX}from'react-icons/lu';import {jsx,jsxs}from'react/jsx-runtime';var s=createContext({isResponsive:true});function z({disableDrawerOnMobile:t=false,...e}){let{isMobile:a}=b(),r=useMemo(()=>({isResponsive:!t}),[t]);return jsx(s.Provider,{value:r,children:a&&!t?jsx(Drawer.Root,{"data-slot":"drawer",direction:"bottom",...e}):jsx(i.Root,{"data-slot":"dialog",...e})})}function B({...t}){let{isMobile:e}=b(),{isResponsive:a}=useContext(s);return e&&a?jsx(Drawer.Trigger,{"data-slot":"drawer-trigger",...t}):jsx(i.Trigger,{"data-slot":"dialog-trigger",...t})}function f({...t}){let{isMobile:e}=b(),{isResponsive:a}=useContext(s);return e&&a?jsx(Drawer.Portal,{"data-slot":"drawer-portal",...t}):jsx(i.Portal,{"data-slot":"dialog-portal",...t})}function P({...t}){let{isMobile:e}=b(),{isResponsive:a}=useContext(s);return e&&a?jsx(Drawer.Close,{"data-slot":"drawer-close",...t}):jsx(i.Close,{"data-slot":"dialog-close",...t})}var w=forwardRef(({className:t,...e},a$1)=>{let{isMobile:r}=b(),{isResponsive:c}=useContext(s);return r&&c?jsx(Drawer.Overlay,{"data-slot":"drawer-overlay",className:a("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 z-modal-stacking-context fixed inset-0 bg-black/50",t),ref:a$1,...e}):jsx(i.Overlay,{"data-slot":"dialog-overlay",className:a("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 z-modal-stacking-context fixed inset-0 bg-black/50",t),ref:a$1,...e})}),O=forwardRef(({className:t,children:e=null,overlayClassName:a$1,...r},c)=>{let{isMobile:C}=b(),{isResponsive:b$1}=useContext(s);return C&&b$1?jsxs(f,{"data-slot":"drawer-portal",children:[jsx(w,{className:a$1}),jsx(Drawer.Content,{"data-slot":"drawer-content",className:a("group/drawer-content bg-background z-modal-stacking-context fixed flex h-auto flex-col px-4","data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-lg data-[vaul-drawer-direction=top]:border-b","data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-lg data-[vaul-drawer-direction=bottom]:border-t","data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=right]:sm:max-w-md","data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=left]:sm:max-w-sm","max-w-dvw!",t),ref:c,...r,children:e})]}):jsxs(f,{"data-slot":"dialog-portal",children:[jsx(w,{className:a$1}),jsx(i.Content,{"data-slot":"dialog-content",className:a("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 z-modal-stacking-context fixed top-[50%] left-[50%] grid w-[calc(100%-2rem)] max-w-[34.4rem] translate-x-[-50%] translate-y-[-50%] rounded-lg border border-gray-300 p-6 shadow-sm duration-200",t),ref:c,...r,children:e})]})});function H({className:t,showCloseButton:e=true,...a$1}){let{isMobile:r}=b(),{isResponsive:c}=useContext(s);return r&&c?jsxs("div",{"data-slot":"drawer-header",className:a("relative flex flex-col gap-0.5 pt-6 pb-4 text-left md:gap-1.5",t),...a$1,children:[e&&jsx(P,{asChild:true,children:jsxs(b$1,{className:"absolute top-5 right-0",size:"sm",variant:"ghost-icon",children:[jsx(LuX,{}),jsx("span",{className:"sr-only",children:"Close dialog"})]})}),a$1.children]}):jsxs("div",{"data-slot":"dialog-header",className:a("relative flex flex-col gap-2 pb-4",t),...a$1,children:[e&&jsx(P,{asChild:true,children:jsxs(b$1,{className:"absolute top-0 right-0",size:"sm",variant:"ghost-icon",children:[jsx(LuX,{}),jsx("span",{className:"sr-only",children:"Close dialog"})]})}),a$1.children]})}function L({className:t,...e}){let{isMobile:a$1}=b(),{isResponsive:r}=useContext(s);return a$1&&r?jsx("div",{"data-slot":"drawer-footer",className:a("mt-auto flex flex-col gap-2 py-4",t),...e}):jsx("div",{"data-slot":"dialog-footer",className:a("mt-2 flex gap-2 pt-3",t),...e})}function E({className:t,...e}){let{isMobile:a$2}=a$1(),{isResponsive:r}=useContext(s);return a$2&&r?jsx(Drawer.Title,{"data-slot":"drawer-title",className:a("font-display pr-6 text-3xl",t),...e}):jsx(i.Title,{"data-slot":"dialog-title",className:a("font-display pr-6 text-3xl leading-none tracking-[0.01rem]",t),...e})}function F({className:t,...e}){let{isMobile:a$1}=b(),{isResponsive:r}=useContext(s);return a$1&&r?jsx(Drawer.Description,{"data-slot":"drawer-description",className:t,...e}):jsx(i.Description,{"data-slot":"dialog-description",className:a("text-muted-foreground text-sm",t),...e})}export{z as a,B as b,f as c,P as d,w as e,O as f,H as g,L as h,E as i,F as j};//# sourceMappingURL=chunk-VO2GGQ2X.js.map
2
- //# sourceMappingURL=chunk-VO2GGQ2X.js.map
1
+ import {b as b$1}from'./chunk-SP2L5FI7.js';import {a}from'./chunk-YTIIAU4W.js';import {a as a$1}from'./chunk-CWXZFXQT.js';import {b}from'./chunk-6MYNQMQU.js';import {createContext,forwardRef,useContext,useMemo}from'react';import {Drawer}from'vaul';import*as i from'@radix-ui/react-dialog';import {LuX}from'react-icons/lu';import {jsx,jsxs}from'react/jsx-runtime';var s=createContext({isResponsive:true});function z({disableDrawerOnMobile:t=false,...e}){let{isMobile:a}=b(),r=useMemo(()=>({isResponsive:!t}),[t]);return jsx(s.Provider,{value:r,children:a&&!t?jsx(Drawer.Root,{"data-slot":"drawer",direction:"bottom",...e}):jsx(i.Root,{"data-slot":"dialog",...e})})}function B({...t}){let{isMobile:e}=b(),{isResponsive:a}=useContext(s);return e&&a?jsx(Drawer.Trigger,{"data-slot":"drawer-trigger",...t}):jsx(i.Trigger,{"data-slot":"dialog-trigger",...t})}function f({...t}){let{isMobile:e}=b(),{isResponsive:a}=useContext(s);return e&&a?jsx(Drawer.Portal,{"data-slot":"drawer-portal",...t}):jsx(i.Portal,{"data-slot":"dialog-portal",...t})}function P({...t}){let{isMobile:e}=b(),{isResponsive:a}=useContext(s);return e&&a?jsx(Drawer.Close,{"data-slot":"drawer-close",...t}):jsx(i.Close,{"data-slot":"dialog-close",...t})}var w=forwardRef(({className:t,...e},a$1)=>{let{isMobile:r}=b(),{isResponsive:c}=useContext(s);return r&&c?jsx(Drawer.Overlay,{"data-slot":"drawer-overlay",className:a("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 z-modal-stacking-context fixed inset-0 bg-black/50",t),ref:a$1,...e}):jsx(i.Overlay,{"data-slot":"dialog-overlay",className:a("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 z-modal-stacking-context fixed inset-0 bg-black/50",t),ref:a$1,...e})}),O=forwardRef(({className:t,children:e=null,overlayClassName:a$1,...r},c)=>{let{isMobile:C}=b(),{isResponsive:b$1}=useContext(s);return C&&b$1?jsxs(f,{"data-slot":"drawer-portal",children:[jsx(w,{className:a$1}),jsx(Drawer.Content,{"data-slot":"drawer-content",className:a("group/drawer-content bg-background z-modal-stacking-context fixed flex h-auto flex-col px-4","data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-lg data-[vaul-drawer-direction=top]:border-b","data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-lg data-[vaul-drawer-direction=bottom]:border-t","data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=right]:sm:max-w-md","data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=left]:sm:max-w-sm","max-w-dvw!",t),ref:c,...r,children:e})]}):jsxs(f,{"data-slot":"dialog-portal",children:[jsx(w,{className:a$1}),jsx(i.Content,{"data-slot":"dialog-content",className:a("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 z-modal-stacking-context fixed top-[50%] left-[50%] grid w-[calc(100%-2rem)] max-w-[34.4rem] translate-x-[-50%] translate-y-[-50%] rounded-lg border border-gray-300 p-6 shadow-sm duration-200",t),ref:c,...r,children:e})]})});function H({className:t,showCloseButton:e=true,...a$1}){let{isMobile:r}=b(),{isResponsive:c}=useContext(s);return r&&c?jsxs("div",{"data-slot":"drawer-header",className:a("relative flex flex-col gap-0.5 pt-6 pb-4 text-left md:gap-1.5",t),...a$1,children:[e&&jsx(P,{asChild:true,children:jsxs(b$1,{className:"absolute top-5 right-0",size:"sm",variant:"ghost-icon",children:[jsx(LuX,{}),jsx("span",{className:"sr-only",children:"Close dialog"})]})}),a$1.children]}):jsxs("div",{"data-slot":"dialog-header",className:a("relative flex flex-col gap-2 pb-4",t),...a$1,children:[e&&jsx(P,{asChild:true,children:jsxs(b$1,{className:"absolute top-0 right-0",size:"sm",variant:"ghost-icon",children:[jsx(LuX,{}),jsx("span",{className:"sr-only",children:"Close dialog"})]})}),a$1.children]})}function L({className:t,...e}){let{isMobile:a$1}=b(),{isResponsive:r}=useContext(s);return a$1&&r?jsx("div",{"data-slot":"drawer-footer",className:a("mt-auto flex flex-col gap-2 py-4",t),...e}):jsx("div",{"data-slot":"dialog-footer",className:a("mt-2 flex gap-2 pt-3",t),...e})}function E({className:t,...e}){let{isMobile:a$2}=a$1(),{isResponsive:r}=useContext(s);return a$2&&r?jsx(Drawer.Title,{"data-slot":"drawer-title",className:a("font-display pr-6 text-3xl",t),...e}):jsx(i.Title,{"data-slot":"dialog-title",className:a("font-display pr-6 text-3xl leading-none tracking-[0.01rem]",t),...e})}function F({className:t,...e}){let{isMobile:a$1}=b(),{isResponsive:r}=useContext(s);return a$1&&r?jsx(Drawer.Description,{"data-slot":"drawer-description",className:t,...e}):jsx(i.Description,{"data-slot":"dialog-description",className:a("text-muted-foreground text-sm",t),...e})}export{z as a,B as b,f as c,P as d,w as e,O as f,H as g,L as h,E as i,F as j};//# sourceMappingURL=chunk-6T7SXJ44.js.map
2
+ //# sourceMappingURL=chunk-6T7SXJ44.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/v2/dialog/dialog.tsx"],"names":["DialogContext","createContext","Dialog","disableDrawerOnMobile","props","isMobile","useWindowSize_default","contextValue","useMemo","jsx","DrawerPrimitive","DialogTrigger","isResponsive","useContext","DialogPortal","DialogClose","DialogOverlay","forwardRef","className","ref","cn","DialogContent","children","overlayClassName","jsxs","DialogHeader","showCloseButton","Button","LuX","DialogFooter","DialogTitle","useIsMobile","DialogDescription"],"mappings":"2WASA,IAAMA,CAAAA,CAAgBC,aAAAA,CAAc,CAAE,YAAA,CAAc,IAAK,CAAC,CAAA,CAE1D,SAASC,CAAAA,CAAO,CACd,sBAAAC,CAAAA,CAAwB,KAAA,CACxB,GAAGC,CACL,EACqF,CACnF,GAAM,CAAE,QAAA,CAAAC,CAAS,CAAA,CAAIC,CAAAA,EAAc,CAE7BC,CAAAA,CAAeC,QACnB,KAAO,CAAE,YAAA,CAAc,CAACL,CAAsB,CAAA,CAAA,CAC9C,CAACA,CAAqB,CACxB,EAEA,OACEM,GAAAA,CAACT,CAAAA,CAAc,QAAA,CAAd,CAAuB,KAAA,CAAOO,CAAAA,CAC5B,QAAA,CAAAF,CAAAA,EAAY,CAACF,CAAAA,CACZM,GAAAA,CAACC,OAAgB,IAAA,CAAhB,CAAqB,YAAU,QAAA,CAAS,SAAA,CAAU,QAAA,CAAU,GAAGN,EAAO,CAAA,CAEvEK,GAAAA,CAAiB,CAAA,CAAA,IAAA,CAAhB,CAAqB,YAAU,QAAA,CAAU,GAAGL,CAAAA,CAAO,CAAA,CAExD,CAEJ,CAEA,SAASO,CAAAA,CAAc,CACrB,GAAGP,CACL,CAAA,CACkD,CAChD,GAAM,CAAE,QAAA,CAAAC,CAAS,CAAA,CAAIC,CAAAA,GACf,CAAE,YAAA,CAAAM,CAAa,CAAA,CAAIC,WAAWb,CAAa,CAAA,CACjD,OAAIK,CAAAA,EAAYO,CAAAA,CACPH,IAACC,MAAAA,CAAgB,OAAA,CAAhB,CAAwB,WAAA,CAAU,iBAAkB,GAAGN,CAAAA,CAAO,CAAA,CAEjEK,GAAAA,CAAiB,UAAhB,CAAwB,WAAA,CAAU,gBAAA,CAAkB,GAAGL,EAAO,CACxE,CAEA,SAASU,CAAAA,CAAa,CACpB,GAAGV,CACL,CAAA,CAAkG,CAChG,GAAM,CAAE,QAAA,CAAAC,CAAS,CAAA,CAAIC,GAAc,CAC7B,CAAE,YAAA,CAAAM,CAAa,EAAIC,UAAAA,CAAWb,CAAa,EACjD,OAAIK,CAAAA,EAAYO,EACPH,GAAAA,CAACC,MAAAA,CAAgB,MAAA,CAAhB,CAAuB,YAAU,eAAA,CAAiB,GAAGN,CAAAA,CAAO,CAAA,CAE/DK,IAAiB,CAAA,CAAA,MAAA,CAAhB,CAAuB,WAAA,CAAU,eAAA,CAAiB,GAAGL,CAAAA,CAAO,CACtE,CAEA,SAASW,EAAY,CACnB,GAAGX,CACL,CAAA,CAAgG,CAC9F,GAAM,CAAE,QAAA,CAAAC,CAAS,EAAIC,CAAAA,EAAc,CAC7B,CAAE,YAAA,CAAAM,CAAa,CAAA,CAAIC,UAAAA,CAAWb,CAAa,CAAA,CACjD,OAAIK,GAAYO,CAAAA,CACPH,GAAAA,CAACC,MAAAA,CAAgB,KAAA,CAAhB,CAAsB,WAAA,CAAU,cAAA,CAAgB,GAAGN,CAAAA,CAAO,EAE7DK,GAAAA,CAAiB,CAAA,CAAA,KAAA,CAAhB,CAAsB,WAAA,CAAU,eAAgB,GAAGL,CAAAA,CAAO,CACpE,KAEMY,CAAAA,CAAgBC,UAAAA,CAGpB,CAAC,CAAE,UAAAC,CAAAA,CAAW,GAAGd,CAAM,CAAA,CAAGe,MAAQ,CAClC,GAAM,CAAE,QAAA,CAAAd,CAAS,CAAA,CAAIC,CAAAA,GACf,CAAE,YAAA,CAAAM,CAAa,CAAA,CAAIC,UAAAA,CAAWb,CAAa,CAAA,CACjD,OAAIK,CAAAA,EAAYO,CAAAA,CAEZH,GAAAA,CAACC,MAAAA,CAAgB,QAAhB,CACC,WAAA,CAAU,gBAAA,CACV,SAAA,CAAWU,EACT,4KAAA,CACAF,CACF,CAAA,CACA,GAAA,CAAKC,IACJ,GAAGf,CAAAA,CACN,CAAA,CAIFK,GAAAA,CAAiB,UAAhB,CACC,WAAA,CAAU,gBAAA,CACV,SAAA,CAAWW,EACT,4KAAA,CACAF,CACF,CAAA,CACA,GAAA,CAAKC,IACJ,GAAGf,CAAAA,CACN,CAEJ,CAAC,CAAA,CAEKiB,EAAgBJ,UAAAA,CAOpB,CAAC,CAAE,SAAA,CAAAC,EAAW,QAAA,CAAAI,CAAAA,CAAW,IAAA,CAAM,gBAAA,CAAAC,IAAkB,GAAGnB,CAAM,CAAA,CAAGe,CAAAA,GAAQ,CACrE,GAAM,CAAE,SAAAd,CAAS,CAAA,CAAIC,GAAc,CAC7B,CAAE,YAAA,CAAAM,GAAa,EAAIC,UAAAA,CAAWb,CAAa,CAAA,CACjD,OAAIK,GAAYO,GAAAA,CAEZY,IAAAA,CAACV,CAAAA,CAAA,CAAa,YAAU,eAAA,CACtB,QAAA,CAAA,CAAAL,IAACO,CAAAA,CAAA,CAAc,UAAWO,GAAAA,CAAkB,CAAA,CAC5Cd,GAAAA,CAACC,MAAAA,CAAgB,QAAhB,CACC,WAAA,CAAU,gBAAA,CACV,SAAA,CAAWU,EACT,6FAAA,CACA,gQAAA,CACA,qRAAA,CACA,6NAAA,CACA,wNACA,YAAA,CACAF,CACF,CAAA,CACA,GAAA,CAAKC,EACJ,GAAGf,CAAAA,CAEH,QAAA,CAAAkB,CAAAA,CACH,GACF,CAAA,CAIFE,IAAAA,CAACV,CAAAA,CAAA,CAAa,YAAU,eAAA,CACtB,QAAA,CAAA,CAAAL,GAAAA,CAACO,CAAAA,CAAA,CAAc,SAAA,CAAWO,GAAAA,CAAkB,EAC5Cd,GAAAA,CAAiB,CAAA,CAAA,OAAA,CAAhB,CACC,WAAA,CAAU,gBAAA,CACV,SAAA,CAAWW,CAAAA,CACT,qYACAF,CACF,CAAA,CACA,GAAA,CAAKC,CAAAA,CACJ,GAAGf,CAAAA,CAEH,QAAA,CAAAkB,CAAAA,CACH,CAAA,CAAA,CACF,CAEJ,CAAC,EAED,SAASG,CAAAA,CAAa,CACpB,SAAA,CAAAP,CAAAA,CACA,eAAA,CAAAQ,CAAAA,CAAkB,KAClB,GAAGtB,GACL,CAAA,CAEG,CACD,GAAM,CAAE,QAAA,CAAAC,CAAS,CAAA,CAAIC,GAAc,CAC7B,CAAE,aAAAM,CAAa,CAAA,CAAIC,WAAWb,CAAa,CAAA,CACjD,OAAIK,CAAAA,EAAYO,EAEZY,IAAAA,CAAC,KAAA,CAAA,CACC,WAAA,CAAU,eAAA,CACV,UAAWJ,CAAAA,CAAG,+DAAA,CAAiEF,CAAS,CAAA,CACvF,GAAGd,GAAAA,CAEH,QAAA,CAAA,CAAAsB,CAAAA,EACCjB,GAAAA,CAACM,EAAA,CAAY,OAAA,CAAO,IAAA,CAClB,QAAA,CAAAS,KAACG,GAAAA,CAAA,CAAO,SAAA,CAAU,wBAAA,CAAyB,KAAK,IAAA,CAAK,OAAA,CAAQ,YAAA,CAC3D,QAAA,CAAA,CAAAlB,IAACmB,GAAAA,CAAA,EAAI,EACLnB,GAAAA,CAAC,MAAA,CAAA,CAAK,UAAU,SAAA,CAAU,QAAA,CAAA,cAAA,CAAY,CAAA,CAAA,CACxC,CAAA,CACF,EAEDL,GAAAA,CAAM,QAAA,CAAA,CACT,CAAA,CAIFoB,IAAAA,CAAC,OACC,WAAA,CAAU,eAAA,CACV,SAAA,CAAWJ,CAAAA,CAAG,oCAAqCF,CAAS,CAAA,CAC3D,GAAGd,GAAAA,CAEH,QAAA,CAAA,CAAAsB,GACCjB,GAAAA,CAACM,CAAAA,CAAA,CAAY,OAAA,CAAO,KAClB,QAAA,CAAAS,IAAAA,CAACG,GAAAA,CAAA,CAAO,UAAU,wBAAA,CAAyB,IAAA,CAAK,IAAA,CAAK,OAAA,CAAQ,aAC3D,QAAA,CAAA,CAAAlB,GAAAA,CAACmB,IAAA,EAAI,CAAA,CACLnB,IAAC,MAAA,CAAA,CAAK,SAAA,CAAU,SAAA,CAAU,QAAA,CAAA,cAAA,CAAY,GACxC,CAAA,CACF,CAAA,CAEDL,GAAAA,CAAM,QAAA,CAAA,CACT,CAEJ,CAEA,SAASyB,CAAAA,CAAa,CAAE,UAAAX,CAAAA,CAAW,GAAGd,CAAM,CAAA,CAA0B,CACpE,GAAM,CAAE,QAAA,CAAAC,GAAS,EAAIC,CAAAA,EAAc,CAC7B,CAAE,YAAA,CAAAM,CAAa,CAAA,CAAIC,UAAAA,CAAWb,CAAa,CAAA,CACjD,OAAIK,GAAAA,EAAYO,CAAAA,CAEZH,IAAC,KAAA,CAAA,CACC,WAAA,CAAU,gBACV,SAAA,CAAWW,CAAAA,CAAG,kCAAA,CAAoCF,CAAS,EAC1D,GAAGd,CAAAA,CACN,CAAA,CAIFK,GAAAA,CAAC,OAAI,WAAA,CAAU,eAAA,CAAgB,SAAA,CAAWW,CAAAA,CAAG,uBAAwBF,CAAS,CAAA,CAAI,GAAGd,CAAAA,CAAO,CAEhG,CAEA,SAAS0B,CAAAA,CAAY,CACnB,UAAAZ,CAAAA,CACA,GAAGd,CACL,CAAA,CAAgG,CAC9F,GAAM,CAAE,QAAA,CAAAC,GAAS,EAAI0B,GAAAA,EAAY,CAC3B,CAAE,YAAA,CAAAnB,CAAa,EAAIC,UAAAA,CAAWb,CAAa,CAAA,CACjD,OAAIK,KAAYO,CAAAA,CAEZH,GAAAA,CAACC,MAAAA,CAAgB,KAAA,CAAhB,CACC,WAAA,CAAU,cAAA,CACV,SAAA,CAAWU,CAAAA,CAAG,6BAA8BF,CAAS,CAAA,CACpD,GAAGd,CAAAA,CACN,EAIFK,GAAAA,CAAiB,CAAA,CAAA,KAAA,CAAhB,CACC,WAAA,CAAU,eACV,SAAA,CAAWW,CAAAA,CAAG,4DAAA,CAA8DF,CAAS,EACpF,GAAGd,CAAAA,CACN,CAEJ,CAEA,SAAS4B,CAAAA,CAAkB,CACzB,UAAAd,CAAAA,CACA,GAAGd,CACL,CAAA,CACsD,CACpD,GAAM,CAAE,SAAAC,GAAS,CAAA,CAAIC,CAAAA,EAAc,CAC7B,CAAE,YAAA,CAAAM,CAAa,CAAA,CAAIC,UAAAA,CAAWb,CAAa,CAAA,CACjD,OAAIK,KAAYO,CAAAA,CAEZH,GAAAA,CAACC,OAAgB,WAAA,CAAhB,CACC,WAAA,CAAU,oBAAA,CACV,UAAWQ,CAAAA,CACV,GAAGd,CAAAA,CACN,CAAA,CAIFK,IAAiB,CAAA,CAAA,WAAA,CAAhB,CACC,WAAA,CAAU,oBAAA,CACV,UAAWW,CAAAA,CAAG,+BAAA,CAAiCF,CAAS,CAAA,CACvD,GAAGd,EACN,CAEJ","file":"chunk-VO2GGQ2X.js","sourcesContent":["import { type ComponentProps, createContext, forwardRef, useContext, useMemo } from 'react';\nimport { Drawer as DrawerPrimitive } from 'vaul';\nimport * as DialogPrimitive from '@radix-ui/react-dialog';\nimport { LuX } from 'react-icons/lu';\n\nimport { cn } from '@/lib/utils';\nimport { Button } from '../button/button';\nimport { useIsMobile, useWindowSize } from '@/hooks';\n\nconst DialogContext = createContext({ isResponsive: true });\n\nfunction Dialog({\n disableDrawerOnMobile = false,\n ...props\n}: ComponentProps<typeof DialogPrimitive.Root> &\n ComponentProps<typeof DrawerPrimitive.Root> & { disableDrawerOnMobile?: boolean }) {\n const { isMobile } = useWindowSize();\n\n const contextValue = useMemo(\n () => ({ isResponsive: !disableDrawerOnMobile }),\n [disableDrawerOnMobile],\n );\n\n return (\n <DialogContext.Provider value={contextValue}>\n {isMobile && !disableDrawerOnMobile ? (\n <DrawerPrimitive.Root data-slot=\"drawer\" direction=\"bottom\" {...props} />\n ) : (\n <DialogPrimitive.Root data-slot=\"dialog\" {...props} />\n )}\n </DialogContext.Provider>\n );\n}\n\nfunction DialogTrigger({\n ...props\n}: ComponentProps<typeof DialogPrimitive.Trigger> &\n ComponentProps<typeof DrawerPrimitive.Trigger>) {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return <DrawerPrimitive.Trigger data-slot=\"drawer-trigger\" {...props} />;\n }\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />;\n}\n\nfunction DialogPortal({\n ...props\n}: ComponentProps<typeof DialogPrimitive.Portal> & ComponentProps<typeof DrawerPrimitive.Portal>) {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return <DrawerPrimitive.Portal data-slot=\"drawer-portal\" {...props} />;\n }\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />;\n}\n\nfunction DialogClose({\n ...props\n}: ComponentProps<typeof DialogPrimitive.Close> & ComponentProps<typeof DrawerPrimitive.Close>) {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return <DrawerPrimitive.Close data-slot=\"drawer-close\" {...props} />;\n }\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />;\n}\n\nconst DialogOverlay = forwardRef<\n HTMLDivElement,\n ComponentProps<typeof DialogPrimitive.Overlay> & ComponentProps<typeof DrawerPrimitive.Overlay>\n>(({ className, ...props }, ref) => {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return (\n <DrawerPrimitive.Overlay\n data-slot=\"drawer-overlay\"\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 z-modal-stacking-context fixed inset-0 bg-black/50',\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n }\n return (\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 z-modal-stacking-context fixed inset-0 bg-black/50',\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n});\n\nconst DialogContent = forwardRef<\n HTMLDivElement,\n ComponentProps<typeof DialogPrimitive.Content> &\n ComponentProps<typeof DrawerPrimitive.Content> & {\n onBackButtonClick?: () => void;\n overlayClassName?: string | undefined;\n }\n>(({ className, children = null, overlayClassName, ...props }, ref) => {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return (\n <DialogPortal data-slot=\"drawer-portal\">\n <DialogOverlay className={overlayClassName} />\n <DrawerPrimitive.Content\n data-slot=\"drawer-content\"\n className={cn(\n 'group/drawer-content bg-background z-modal-stacking-context fixed flex h-auto flex-col px-4',\n 'data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-lg data-[vaul-drawer-direction=top]:border-b',\n 'data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-lg data-[vaul-drawer-direction=bottom]:border-t',\n 'data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=right]:sm:max-w-md',\n 'data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=left]:sm:max-w-sm',\n 'max-w-dvw!',\n className,\n )}\n ref={ref}\n {...props}\n >\n {children}\n </DrawerPrimitive.Content>\n </DialogPortal>\n );\n }\n return (\n <DialogPortal data-slot=\"dialog-portal\">\n <DialogOverlay className={overlayClassName} />\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n 'bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 z-modal-stacking-context fixed top-[50%] left-[50%] grid w-[calc(100%-2rem)] max-w-[34.4rem] translate-x-[-50%] translate-y-[-50%] rounded-lg border border-gray-300 p-6 shadow-sm duration-200',\n className,\n )}\n ref={ref}\n {...props}\n >\n {children}\n </DialogPrimitive.Content>\n </DialogPortal>\n );\n});\n\nfunction DialogHeader({\n className,\n showCloseButton = true,\n ...props\n}: ComponentProps<'div'> & {\n showCloseButton?: boolean;\n}) {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return (\n <div\n data-slot=\"drawer-header\"\n className={cn('relative flex flex-col gap-0.5 pt-6 pb-4 text-left md:gap-1.5', className)}\n {...props}\n >\n {showCloseButton && (\n <DialogClose asChild>\n <Button className=\"absolute top-5 right-0\" size=\"sm\" variant=\"ghost-icon\">\n <LuX />\n <span className=\"sr-only\">Close dialog</span>\n </Button>\n </DialogClose>\n )}\n {props.children}\n </div>\n );\n }\n return (\n <div\n data-slot=\"dialog-header\"\n className={cn('relative flex flex-col gap-2 pb-4', className)}\n {...props}\n >\n {showCloseButton && (\n <DialogClose asChild>\n <Button className=\"absolute top-0 right-0\" size=\"sm\" variant=\"ghost-icon\">\n <LuX />\n <span className=\"sr-only\">Close dialog</span>\n </Button>\n </DialogClose>\n )}\n {props.children}\n </div>\n );\n}\n\nfunction DialogFooter({ className, ...props }: ComponentProps<'div'>) {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return (\n <div\n data-slot=\"drawer-footer\"\n className={cn('mt-auto flex flex-col gap-2 py-4', className)}\n {...props}\n />\n );\n }\n return (\n <div data-slot=\"dialog-footer\" className={cn('mt-2 flex gap-2 pt-3', className)} {...props} />\n );\n}\n\nfunction DialogTitle({\n className,\n ...props\n}: ComponentProps<typeof DialogPrimitive.Title> & ComponentProps<typeof DrawerPrimitive.Title>) {\n const { isMobile } = useIsMobile();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return (\n <DrawerPrimitive.Title\n data-slot=\"drawer-title\"\n className={cn('font-display pr-6 text-3xl', className)}\n {...props}\n />\n );\n }\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn('font-display pr-6 text-3xl leading-none tracking-[0.01rem]', className)}\n {...props}\n />\n );\n}\n\nfunction DialogDescription({\n className,\n ...props\n}: ComponentProps<typeof DialogPrimitive.Description> &\n ComponentProps<typeof DrawerPrimitive.Description>) {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return (\n <DrawerPrimitive.Description\n data-slot=\"drawer-description\"\n className={className}\n {...props}\n />\n );\n }\n return (\n <DialogPrimitive.Description\n data-slot=\"dialog-description\"\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n );\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n};\n"]}
1
+ {"version":3,"sources":["../src/v2/dialog/dialog.tsx"],"names":["DialogContext","createContext","Dialog","disableDrawerOnMobile","props","isMobile","useWindowSize_default","contextValue","useMemo","jsx","DrawerPrimitive","DialogTrigger","isResponsive","useContext","DialogPortal","DialogClose","DialogOverlay","forwardRef","className","ref","cn","DialogContent","children","overlayClassName","jsxs","DialogHeader","showCloseButton","Button","LuX","DialogFooter","DialogTitle","useIsMobile","DialogDescription"],"mappings":"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","file":"chunk-6T7SXJ44.js","sourcesContent":["import { type ComponentProps, createContext, forwardRef, useContext, useMemo } from 'react';\nimport { Drawer as DrawerPrimitive } from 'vaul';\nimport * as DialogPrimitive from '@radix-ui/react-dialog';\nimport { LuX } from 'react-icons/lu';\n\nimport { cn } from '@/lib/utils';\nimport { Button } from '../button/button';\nimport { useIsMobile, useWindowSize } from '@/hooks';\n\nconst DialogContext = createContext({ isResponsive: true });\n\nfunction Dialog({\n disableDrawerOnMobile = false,\n ...props\n}: ComponentProps<typeof DialogPrimitive.Root> &\n ComponentProps<typeof DrawerPrimitive.Root> & { disableDrawerOnMobile?: boolean }) {\n const { isMobile } = useWindowSize();\n\n const contextValue = useMemo(\n () => ({ isResponsive: !disableDrawerOnMobile }),\n [disableDrawerOnMobile],\n );\n\n return (\n <DialogContext.Provider value={contextValue}>\n {isMobile && !disableDrawerOnMobile ? (\n <DrawerPrimitive.Root data-slot=\"drawer\" direction=\"bottom\" {...props} />\n ) : (\n <DialogPrimitive.Root data-slot=\"dialog\" {...props} />\n )}\n </DialogContext.Provider>\n );\n}\n\nfunction DialogTrigger({\n ...props\n}: ComponentProps<typeof DialogPrimitive.Trigger> &\n ComponentProps<typeof DrawerPrimitive.Trigger>) {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return <DrawerPrimitive.Trigger data-slot=\"drawer-trigger\" {...props} />;\n }\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />;\n}\n\nfunction DialogPortal({\n ...props\n}: ComponentProps<typeof DialogPrimitive.Portal> & ComponentProps<typeof DrawerPrimitive.Portal>) {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return <DrawerPrimitive.Portal data-slot=\"drawer-portal\" {...props} />;\n }\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />;\n}\n\nfunction DialogClose({\n ...props\n}: ComponentProps<typeof DialogPrimitive.Close> & ComponentProps<typeof DrawerPrimitive.Close>) {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return <DrawerPrimitive.Close data-slot=\"drawer-close\" {...props} />;\n }\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />;\n}\n\nconst DialogOverlay = forwardRef<\n HTMLDivElement,\n ComponentProps<typeof DialogPrimitive.Overlay> & ComponentProps<typeof DrawerPrimitive.Overlay>\n>(({ className, ...props }, ref) => {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return (\n <DrawerPrimitive.Overlay\n data-slot=\"drawer-overlay\"\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 z-modal-stacking-context fixed inset-0 bg-black/50',\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n }\n return (\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 z-modal-stacking-context fixed inset-0 bg-black/50',\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n});\n\nconst DialogContent = forwardRef<\n HTMLDivElement,\n ComponentProps<typeof DialogPrimitive.Content> &\n ComponentProps<typeof DrawerPrimitive.Content> & {\n onBackButtonClick?: () => void;\n overlayClassName?: string | undefined;\n }\n>(({ className, children = null, overlayClassName, ...props }, ref) => {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return (\n <DialogPortal data-slot=\"drawer-portal\">\n <DialogOverlay className={overlayClassName} />\n <DrawerPrimitive.Content\n data-slot=\"drawer-content\"\n className={cn(\n 'group/drawer-content bg-background z-modal-stacking-context fixed flex h-auto flex-col px-4',\n 'data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-lg data-[vaul-drawer-direction=top]:border-b',\n 'data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-lg data-[vaul-drawer-direction=bottom]:border-t',\n 'data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=right]:sm:max-w-md',\n 'data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=left]:sm:max-w-sm',\n 'max-w-dvw!',\n className,\n )}\n ref={ref}\n {...props}\n >\n {children}\n </DrawerPrimitive.Content>\n </DialogPortal>\n );\n }\n return (\n <DialogPortal data-slot=\"dialog-portal\">\n <DialogOverlay className={overlayClassName} />\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n 'bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 z-modal-stacking-context fixed top-[50%] left-[50%] grid w-[calc(100%-2rem)] max-w-[34.4rem] translate-x-[-50%] translate-y-[-50%] rounded-lg border border-gray-300 p-6 shadow-sm duration-200',\n className,\n )}\n ref={ref}\n {...props}\n >\n {children}\n </DialogPrimitive.Content>\n </DialogPortal>\n );\n});\n\nfunction DialogHeader({\n className,\n showCloseButton = true,\n ...props\n}: ComponentProps<'div'> & {\n showCloseButton?: boolean;\n}) {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return (\n <div\n data-slot=\"drawer-header\"\n className={cn('relative flex flex-col gap-0.5 pt-6 pb-4 text-left md:gap-1.5', className)}\n {...props}\n >\n {showCloseButton && (\n <DialogClose asChild>\n <Button className=\"absolute top-5 right-0\" size=\"sm\" variant=\"ghost-icon\">\n <LuX />\n <span className=\"sr-only\">Close dialog</span>\n </Button>\n </DialogClose>\n )}\n {props.children}\n </div>\n );\n }\n return (\n <div\n data-slot=\"dialog-header\"\n className={cn('relative flex flex-col gap-2 pb-4', className)}\n {...props}\n >\n {showCloseButton && (\n <DialogClose asChild>\n <Button className=\"absolute top-0 right-0\" size=\"sm\" variant=\"ghost-icon\">\n <LuX />\n <span className=\"sr-only\">Close dialog</span>\n </Button>\n </DialogClose>\n )}\n {props.children}\n </div>\n );\n}\n\nfunction DialogFooter({ className, ...props }: ComponentProps<'div'>) {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return (\n <div\n data-slot=\"drawer-footer\"\n className={cn('mt-auto flex flex-col gap-2 py-4', className)}\n {...props}\n />\n );\n }\n return (\n <div data-slot=\"dialog-footer\" className={cn('mt-2 flex gap-2 pt-3', className)} {...props} />\n );\n}\n\nfunction DialogTitle({\n className,\n ...props\n}: ComponentProps<typeof DialogPrimitive.Title> & ComponentProps<typeof DrawerPrimitive.Title>) {\n const { isMobile } = useIsMobile();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return (\n <DrawerPrimitive.Title\n data-slot=\"drawer-title\"\n className={cn('font-display pr-6 text-3xl', className)}\n {...props}\n />\n );\n }\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn('font-display pr-6 text-3xl leading-none tracking-[0.01rem]', className)}\n {...props}\n />\n );\n}\n\nfunction DialogDescription({\n className,\n ...props\n}: ComponentProps<typeof DialogPrimitive.Description> &\n ComponentProps<typeof DrawerPrimitive.Description>) {\n const { isMobile } = useWindowSize();\n const { isResponsive } = useContext(DialogContext);\n if (isMobile && isResponsive) {\n return (\n <DrawerPrimitive.Description\n data-slot=\"drawer-description\"\n className={className}\n {...props}\n />\n );\n }\n return (\n <DialogPrimitive.Description\n data-slot=\"dialog-description\"\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n );\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n};\n"]}
@@ -1,2 +1,2 @@
1
- import {a,b,c}from'./chunk-QXJK4OO3.js';import {a as a$2,c as c$1,d,e,f,h}from'./chunk-SMTXYI6Q.js';import {a as a$1}from'./chunk-YTIIAU4W.js';import {LuSearch,LuChevronsUpDown,LuCheck}from'react-icons/lu';import {useState}from'react';import {jsxs,jsx}from'react/jsx-runtime';var q=({classNames:r=void 0,disabled:w=false,options:t,preSearchOptions:N=void 0,onSearchChange:P=void 0,onChange:k=void 0,onOpenChange:d$1=void 0,placeholder:O="Select an option",searchLabel:L="Search...",notFoundMessage:z="Not found.",value:i=void 0,size:T="default",error:l=false})=>{let[s,p]=useState(false),[I,m]=useState(false),_=I?t:N||t;return jsxs(a,{open:s,onOpenChange:()=>{p(!s),m(false),d$1?.(!s);},children:[jsxs(b,{"aria-invalid":l,disabled:w,className:a$1("focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive hover:border-dark-green inline-flex h-12 w-full shrink-0 cursor-pointer items-center justify-between gap-2 rounded-md border px-4 whitespace-nowrap transition-all outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:bg-gray-200 disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-5",T==="sm"&&"py-xs h-8 px-3 [&_svg:not([class*='size-'])]:size-4",r?.trigger),children:[jsxs("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:[!i&&jsx(LuSearch,{className:a$1(l&&"text-red")}),jsx("span",{className:"block min-w-0 truncate",children:i?t.find(e=>e.value===i)?.label:O})]}),jsx(LuChevronsUpDown,{className:"opacity-50"})]}),jsx(c,{align:"start",className:a$1("w-[var(--radix-popover-trigger-width)] p-0",r?.content),children:jsxs(a$2,{children:[jsx(c$1,{placeholder:L,className:a$1("h-9",r?.input),onValueChange:e=>{m(!!e),P?.(e);}}),jsxs(d,{onWheel:e=>e.stopPropagation(),children:[jsx(e,{children:z}),jsx(f,{children:_.map(e=>jsxs(h,{value:e.value,keywords:[typeof e.label=="string"?e.label:"",e.additionalSearchText??""],onSelect:g=>{k?.(g===i?"":g),p(false),d$1?.(false);},className:r?.item,disabled:e.disabled,children:[e.label,jsx(LuCheck,{className:a$1("ml-auto",i===e.value?"opacity-100":"opacity-0")})]},e.value))})]})]})})]})};export{q as a};//# sourceMappingURL=chunk-3N4EBY5Q.js.map
2
- //# sourceMappingURL=chunk-3N4EBY5Q.js.map
1
+ import {a,b,c}from'./chunk-QXJK4OO3.js';import {a as a$2,c as c$1,d,e,f,h}from'./chunk-STIYYCSL.js';import {a as a$1}from'./chunk-YTIIAU4W.js';import {LuSearch,LuChevronsUpDown,LuCheck}from'react-icons/lu';import {useState}from'react';import {jsxs,jsx}from'react/jsx-runtime';var q=({classNames:r=void 0,disabled:w=false,options:t,preSearchOptions:N=void 0,onSearchChange:P=void 0,onChange:k=void 0,onOpenChange:d$1=void 0,placeholder:O="Select an option",searchLabel:L="Search...",notFoundMessage:z="Not found.",value:i=void 0,size:T="default",error:l=false})=>{let[s,p]=useState(false),[I,m]=useState(false),_=I?t:N||t;return jsxs(a,{open:s,onOpenChange:()=>{p(!s),m(false),d$1?.(!s);},children:[jsxs(b,{"aria-invalid":l,disabled:w,className:a$1("focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive hover:border-dark-green inline-flex h-12 w-full shrink-0 cursor-pointer items-center justify-between gap-2 rounded-md border px-4 whitespace-nowrap transition-all outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:bg-gray-200 disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-5",T==="sm"&&"py-xs h-8 px-3 [&_svg:not([class*='size-'])]:size-4",r?.trigger),children:[jsxs("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:[!i&&jsx(LuSearch,{className:a$1(l&&"text-red")}),jsx("span",{className:"block min-w-0 truncate",children:i?t.find(e=>e.value===i)?.label:O})]}),jsx(LuChevronsUpDown,{className:"opacity-50"})]}),jsx(c,{align:"start",className:a$1("w-[var(--radix-popover-trigger-width)] p-0",r?.content),children:jsxs(a$2,{children:[jsx(c$1,{placeholder:L,className:a$1("h-9",r?.input),onValueChange:e=>{m(!!e),P?.(e);}}),jsxs(d,{onWheel:e=>e.stopPropagation(),children:[jsx(e,{children:z}),jsx(f,{children:_.map(e=>jsxs(h,{value:e.value,keywords:[typeof e.label=="string"?e.label:"",e.additionalSearchText??""],onSelect:g=>{k?.(g===i?"":g),p(false),d$1?.(false);},className:r?.item,disabled:e.disabled,children:[e.label,jsx(LuCheck,{className:a$1("ml-auto",i===e.value?"opacity-100":"opacity-0")})]},e.value))})]})]})})]})};export{q as a};//# sourceMappingURL=chunk-74AGGELC.js.map
2
+ //# sourceMappingURL=chunk-74AGGELC.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/v2/combobox/combobox.tsx"],"names":["Combobox","classNames","disabled","options","preSearchOptions","onSearchChange","onChange","onOpenChange","placeholder","searchLabel","notFoundMessage","value","size","error","open","setOpen","useState","isSearching","setIsSearching","optionsToDisplay","jsxs","Popover","PopoverTrigger","cn","jsx","LuSearch","item","LuChevronsUpDown","PopoverContent","Command","CommandInput","val","CommandList","CommandEmpty","CommandGroup","CommandItem","currentValue","LuCheck"],"mappings":"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","file":"chunk-3N4EBY5Q.js","sourcesContent":["import { LuCheck, LuChevronsUpDown, LuSearch } from 'react-icons/lu';\nimport { useState } from 'react';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/v2/popover/popover';\nimport { cn } from '@/lib/utils';\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from '@/v2/command/command';\n\nexport type ComboboxOption = {\n label: string | React.ReactNode;\n value: string;\n additionalSearchText?: string;\n disabled?: boolean;\n};\n\nexport type ComboboxProps = {\n classNames?: {\n content?: string;\n input?: string;\n item?: string;\n trigger?: string;\n };\n disabled?: boolean;\n options: ComboboxOption[];\n preSearchOptions?: ComboboxOption[];\n onSearchChange?: (value: string) => void;\n onChange?: (value: string) => void;\n onOpenChange?: (open: boolean) => void;\n placeholder?: string;\n searchLabel?: string;\n notFoundMessage?: string;\n value?: string;\n size?: 'default' | 'sm';\n error?: boolean;\n};\n\nexport const Combobox = ({\n classNames = undefined,\n disabled = false,\n options,\n preSearchOptions = undefined,\n onSearchChange = undefined,\n onChange = undefined,\n onOpenChange = undefined,\n placeholder = 'Select an option',\n searchLabel = 'Search...',\n notFoundMessage = 'Not found.',\n value = undefined,\n size = 'default',\n error = false,\n}: ComboboxProps) => {\n const [open, setOpen] = useState(false);\n\n // Allow filtering down to just a subset of options before searching\n // NOTE: preSearchOptions is optional, while options is a required prop that we can fallback to\n const [isSearching, setIsSearching] = useState(false);\n const optionsToDisplay = isSearching ? options : preSearchOptions || options;\n\n const handleOpenChange = () => {\n setOpen(!open);\n setIsSearching(false);\n onOpenChange?.(!open);\n };\n\n return (\n <Popover open={open} onOpenChange={handleOpenChange}>\n <PopoverTrigger\n aria-invalid={error}\n disabled={disabled}\n className={cn(\n \"focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive hover:border-dark-green inline-flex h-12 w-full shrink-0 cursor-pointer items-center justify-between gap-2 rounded-md border px-4 whitespace-nowrap transition-all outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:bg-gray-200 disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-5\",\n size === 'sm' && \"py-xs h-8 px-3 [&_svg:not([class*='size-'])]:size-4\",\n classNames?.trigger,\n )}\n >\n <div className=\"flex min-w-0 flex-1 items-center gap-2\">\n {!value && <LuSearch className={cn(error && 'text-red')} />}\n <span className=\"block min-w-0 truncate\">\n {value ? options.find((item) => item.value === value)?.label : placeholder}\n </span>\n </div>\n <LuChevronsUpDown className=\"opacity-50\" />\n </PopoverTrigger>\n <PopoverContent\n align=\"start\"\n className={cn('w-[var(--radix-popover-trigger-width)] p-0', classNames?.content)}\n >\n <Command>\n <CommandInput\n placeholder={searchLabel}\n className={cn('h-9', classNames?.input)}\n onValueChange={(val) => {\n setIsSearching(!!val);\n onSearchChange?.(val);\n }}\n />\n <CommandList onWheel={(e) => e.stopPropagation()}>\n <CommandEmpty>{notFoundMessage}</CommandEmpty>\n <CommandGroup>\n {optionsToDisplay.map((item) => (\n <CommandItem\n key={item.value}\n value={item.value}\n keywords={[\n typeof item.label === 'string' ? item.label : '',\n item.additionalSearchText ?? '',\n ]}\n onSelect={(currentValue) => {\n onChange?.(currentValue === value ? '' : currentValue);\n setOpen(false);\n onOpenChange?.(false);\n }}\n className={classNames?.item}\n disabled={item.disabled}\n >\n {item.label}\n <LuCheck\n className={cn('ml-auto', value === item.value ? 'opacity-100' : 'opacity-0')}\n />\n </CommandItem>\n ))}\n </CommandGroup>\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n );\n};\n"]}
1
+ {"version":3,"sources":["../src/v2/combobox/combobox.tsx"],"names":["Combobox","classNames","disabled","options","preSearchOptions","onSearchChange","onChange","onOpenChange","placeholder","searchLabel","notFoundMessage","value","size","error","open","setOpen","useState","isSearching","setIsSearching","optionsToDisplay","jsxs","Popover","PopoverTrigger","cn","jsx","LuSearch","item","LuChevronsUpDown","PopoverContent","Command","CommandInput","val","CommandList","CommandEmpty","CommandGroup","CommandItem","currentValue","LuCheck"],"mappings":"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","file":"chunk-74AGGELC.js","sourcesContent":["import { LuCheck, LuChevronsUpDown, LuSearch } from 'react-icons/lu';\nimport { useState } from 'react';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/v2/popover/popover';\nimport { cn } from '@/lib/utils';\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from '@/v2/command/command';\n\nexport type ComboboxOption = {\n label: string | React.ReactNode;\n value: string;\n additionalSearchText?: string;\n disabled?: boolean;\n};\n\nexport type ComboboxProps = {\n classNames?: {\n content?: string;\n input?: string;\n item?: string;\n trigger?: string;\n };\n disabled?: boolean;\n options: ComboboxOption[];\n preSearchOptions?: ComboboxOption[];\n onSearchChange?: (value: string) => void;\n onChange?: (value: string) => void;\n onOpenChange?: (open: boolean) => void;\n placeholder?: string;\n searchLabel?: string;\n notFoundMessage?: string;\n value?: string;\n size?: 'default' | 'sm';\n error?: boolean;\n};\n\nexport const Combobox = ({\n classNames = undefined,\n disabled = false,\n options,\n preSearchOptions = undefined,\n onSearchChange = undefined,\n onChange = undefined,\n onOpenChange = undefined,\n placeholder = 'Select an option',\n searchLabel = 'Search...',\n notFoundMessage = 'Not found.',\n value = undefined,\n size = 'default',\n error = false,\n}: ComboboxProps) => {\n const [open, setOpen] = useState(false);\n\n // Allow filtering down to just a subset of options before searching\n // NOTE: preSearchOptions is optional, while options is a required prop that we can fallback to\n const [isSearching, setIsSearching] = useState(false);\n const optionsToDisplay = isSearching ? options : preSearchOptions || options;\n\n const handleOpenChange = () => {\n setOpen(!open);\n setIsSearching(false);\n onOpenChange?.(!open);\n };\n\n return (\n <Popover open={open} onOpenChange={handleOpenChange}>\n <PopoverTrigger\n aria-invalid={error}\n disabled={disabled}\n className={cn(\n \"focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive hover:border-dark-green inline-flex h-12 w-full shrink-0 cursor-pointer items-center justify-between gap-2 rounded-md border px-4 whitespace-nowrap transition-all outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:bg-gray-200 disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-5\",\n size === 'sm' && \"py-xs h-8 px-3 [&_svg:not([class*='size-'])]:size-4\",\n classNames?.trigger,\n )}\n >\n <div className=\"flex min-w-0 flex-1 items-center gap-2\">\n {!value && <LuSearch className={cn(error && 'text-red')} />}\n <span className=\"block min-w-0 truncate\">\n {value ? options.find((item) => item.value === value)?.label : placeholder}\n </span>\n </div>\n <LuChevronsUpDown className=\"opacity-50\" />\n </PopoverTrigger>\n <PopoverContent\n align=\"start\"\n className={cn('w-[var(--radix-popover-trigger-width)] p-0', classNames?.content)}\n >\n <Command>\n <CommandInput\n placeholder={searchLabel}\n className={cn('h-9', classNames?.input)}\n onValueChange={(val) => {\n setIsSearching(!!val);\n onSearchChange?.(val);\n }}\n />\n <CommandList onWheel={(e) => e.stopPropagation()}>\n <CommandEmpty>{notFoundMessage}</CommandEmpty>\n <CommandGroup>\n {optionsToDisplay.map((item) => (\n <CommandItem\n key={item.value}\n value={item.value}\n keywords={[\n typeof item.label === 'string' ? item.label : '',\n item.additionalSearchText ?? '',\n ]}\n onSelect={(currentValue) => {\n onChange?.(currentValue === value ? '' : currentValue);\n setOpen(false);\n onOpenChange?.(false);\n }}\n className={classNames?.item}\n disabled={item.disabled}\n >\n {item.label}\n <LuCheck\n className={cn('ml-auto', value === item.value ? 'opacity-100' : 'opacity-0')}\n />\n </CommandItem>\n ))}\n </CommandGroup>\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n );\n};\n"]}
@@ -1,2 +1,2 @@
1
- 'use strict';var chunkQUD4HTUP_cjs=require('./chunk-QUD4HTUP.cjs'),chunkQRO22BPZ_cjs=require('./chunk-QRO22BPZ.cjs'),react=require('react'),lu=require('react-icons/lu'),reactDayPicker=require('react-day-picker'),jsxRuntime=require('react/jsx-runtime');function _({className:n,rootRef:r,...a}){return jsxRuntime.jsx("div",{"data-slot":"calendar",ref:r,className:chunkQRO22BPZ_cjs.a(n),...a})}function v({className:n,orientation:r,...a}){return r==="left"?jsxRuntime.jsx(lu.LuChevronLeft,{className:chunkQRO22BPZ_cjs.a("size-4",n),...a}):r==="right"?jsxRuntime.jsx(lu.LuChevronRight,{className:chunkQRO22BPZ_cjs.a("size-4",n),...a}):jsxRuntime.jsx(lu.LuChevronDown,{className:chunkQRO22BPZ_cjs.a("size-4",n),...a})}function k({children:n,...r}){return jsxRuntime.jsx("td",{...r,children:jsxRuntime.jsx("div",{className:"flex size-(--cell-size) items-center justify-center text-center",children:n})})}function z({className:n,day:r,modifiers:a,...o}){let u=reactDayPicker.getDefaultClassNames(),l=react.useRef(null);return react.useEffect(()=>{a.focused&&l.current?.focus();},[a.focused]),jsxRuntime.jsx(chunkQUD4HTUP_cjs.b,{ref:l,variant:"ghost","data-day":r.date.toLocaleDateString(),"data-today":a.today&&!a.selected,"data-selected-single":a.selected&&!a.range_start&&!a.range_end&&!a.range_middle,"data-range-start":a.range_start,"data-range-end":a.range_end,"data-range-middle":a.range_middle,className:chunkQRO22BPZ_cjs.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=true,captionLayout:o="dropdown",buttonVariant:u="ghost",formatters:l,components:f,...s}){let t=reactDayPicker.getDefaultClassNames();return jsxRuntime.jsx(reactDayPicker.DayPicker,{showOutsideDays:a,className:chunkQRO22BPZ_cjs.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:chunkQRO22BPZ_cjs.a("w-fit",t.root),months:chunkQRO22BPZ_cjs.a("relative flex flex-col gap-4 md:flex-row",t.months),month:chunkQRO22BPZ_cjs.a("flex w-full flex-col gap-4",t.month),nav:chunkQRO22BPZ_cjs.a("absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1",t.nav),button_previous:chunkQRO22BPZ_cjs.a(chunkQUD4HTUP_cjs.a({variant:u}),"size-(--cell-size) p-0 select-none aria-disabled:opacity-50",t.button_previous),button_next:chunkQRO22BPZ_cjs.a(chunkQUD4HTUP_cjs.a({variant:u}),"size-(--cell-size) p-0 select-none aria-disabled:opacity-50",t.button_next),month_caption:chunkQRO22BPZ_cjs.a("flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)",t.month_caption),dropdowns:chunkQRO22BPZ_cjs.a("flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium",t.dropdowns),dropdown_root:chunkQRO22BPZ_cjs.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:chunkQRO22BPZ_cjs.a("absolute inset-0 opacity-0",t.dropdown),caption_label:chunkQRO22BPZ_cjs.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:chunkQRO22BPZ_cjs.a("flex",t.weekdays),weekday:chunkQRO22BPZ_cjs.a("text-muted-foreground flex-1 rounded-md text-[0.8rem] font-normal select-none",t.weekday),week:chunkQRO22BPZ_cjs.a("mt-2 flex w-full",t.week),week_number_header:chunkQRO22BPZ_cjs.a("w-(--cell-size) select-none",t.week_number_header),week_number:chunkQRO22BPZ_cjs.a("text-muted-foreground text-[0.8rem] select-none",t.week_number),day:chunkQRO22BPZ_cjs.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:chunkQRO22BPZ_cjs.a("bg-accent rounded-l-md",t.range_start),range_middle:chunkQRO22BPZ_cjs.a("rounded-none",t.range_middle),range_end:chunkQRO22BPZ_cjs.a("bg-accent rounded-r-md",t.range_end),today:chunkQRO22BPZ_cjs.a(t.today),outside:chunkQRO22BPZ_cjs.a("text-muted-foreground aria-selected:text-muted-foreground",t.outside),disabled:chunkQRO22BPZ_cjs.a("text-muted-foreground opacity-50",t.disabled),hidden:chunkQRO22BPZ_cjs.a("invisible",t.hidden),...r},components:{Root:_,Chevron:v,DayButton:z,WeekNumber:k,...f},defaultMonth:s.mode==="single"?s.selected:void 0,...s})}exports.a=z;exports.b=E;//# sourceMappingURL=chunk-2BUA2PCN.cjs.map
2
- //# sourceMappingURL=chunk-2BUA2PCN.cjs.map
1
+ 'use strict';var chunkFMFRB4JI_cjs=require('./chunk-FMFRB4JI.cjs'),chunkQRO22BPZ_cjs=require('./chunk-QRO22BPZ.cjs'),react=require('react'),lu=require('react-icons/lu'),reactDayPicker=require('react-day-picker'),jsxRuntime=require('react/jsx-runtime');function _({className:n,rootRef:r,...a}){return jsxRuntime.jsx("div",{"data-slot":"calendar",ref:r,className:chunkQRO22BPZ_cjs.a(n),...a})}function v({className:n,orientation:r,...a}){return r==="left"?jsxRuntime.jsx(lu.LuChevronLeft,{className:chunkQRO22BPZ_cjs.a("size-4",n),...a}):r==="right"?jsxRuntime.jsx(lu.LuChevronRight,{className:chunkQRO22BPZ_cjs.a("size-4",n),...a}):jsxRuntime.jsx(lu.LuChevronDown,{className:chunkQRO22BPZ_cjs.a("size-4",n),...a})}function k({children:n,...r}){return jsxRuntime.jsx("td",{...r,children:jsxRuntime.jsx("div",{className:"flex size-(--cell-size) items-center justify-center text-center",children:n})})}function z({className:n,day:r,modifiers:a,...o}){let u=reactDayPicker.getDefaultClassNames(),l=react.useRef(null);return react.useEffect(()=>{a.focused&&l.current?.focus();},[a.focused]),jsxRuntime.jsx(chunkFMFRB4JI_cjs.b,{ref:l,variant:"ghost","data-day":r.date.toLocaleDateString(),"data-today":a.today&&!a.selected,"data-selected-single":a.selected&&!a.range_start&&!a.range_end&&!a.range_middle,"data-range-start":a.range_start,"data-range-end":a.range_end,"data-range-middle":a.range_middle,className:chunkQRO22BPZ_cjs.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=true,captionLayout:o="dropdown",buttonVariant:u="ghost",formatters:l,components:f,...s}){let t=reactDayPicker.getDefaultClassNames();return jsxRuntime.jsx(reactDayPicker.DayPicker,{showOutsideDays:a,className:chunkQRO22BPZ_cjs.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:chunkQRO22BPZ_cjs.a("w-fit",t.root),months:chunkQRO22BPZ_cjs.a("relative flex flex-col gap-4 md:flex-row",t.months),month:chunkQRO22BPZ_cjs.a("flex w-full flex-col gap-4",t.month),nav:chunkQRO22BPZ_cjs.a("absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1",t.nav),button_previous:chunkQRO22BPZ_cjs.a(chunkFMFRB4JI_cjs.a({variant:u}),"size-(--cell-size) p-0 select-none aria-disabled:opacity-50",t.button_previous),button_next:chunkQRO22BPZ_cjs.a(chunkFMFRB4JI_cjs.a({variant:u}),"size-(--cell-size) p-0 select-none aria-disabled:opacity-50",t.button_next),month_caption:chunkQRO22BPZ_cjs.a("flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)",t.month_caption),dropdowns:chunkQRO22BPZ_cjs.a("flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium",t.dropdowns),dropdown_root:chunkQRO22BPZ_cjs.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:chunkQRO22BPZ_cjs.a("absolute inset-0 opacity-0",t.dropdown),caption_label:chunkQRO22BPZ_cjs.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:chunkQRO22BPZ_cjs.a("flex",t.weekdays),weekday:chunkQRO22BPZ_cjs.a("text-muted-foreground flex-1 rounded-md text-[0.8rem] font-normal select-none",t.weekday),week:chunkQRO22BPZ_cjs.a("mt-2 flex w-full",t.week),week_number_header:chunkQRO22BPZ_cjs.a("w-(--cell-size) select-none",t.week_number_header),week_number:chunkQRO22BPZ_cjs.a("text-muted-foreground text-[0.8rem] select-none",t.week_number),day:chunkQRO22BPZ_cjs.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:chunkQRO22BPZ_cjs.a("bg-accent rounded-l-md",t.range_start),range_middle:chunkQRO22BPZ_cjs.a("rounded-none",t.range_middle),range_end:chunkQRO22BPZ_cjs.a("bg-accent rounded-r-md",t.range_end),today:chunkQRO22BPZ_cjs.a(t.today),outside:chunkQRO22BPZ_cjs.a("text-muted-foreground aria-selected:text-muted-foreground",t.outside),disabled:chunkQRO22BPZ_cjs.a("text-muted-foreground opacity-50",t.disabled),hidden:chunkQRO22BPZ_cjs.a("invisible",t.hidden),...r},components:{Root:_,Chevron:v,DayButton:z,WeekNumber:k,...f},defaultMonth:s.mode==="single"?s.selected:void 0,...s})}exports.a=z;exports.b=E;//# sourceMappingURL=chunk-DJ5RP6A2.cjs.map
2
+ //# sourceMappingURL=chunk-DJ5RP6A2.cjs.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-2BUA2PCN.cjs","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-DJ5RP6A2.cjs","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
- import {a as a$3}from'./chunk-4GCD4SP5.js';import {a as a$4}from'./chunk-274XPO4S.js';import {a as a$5}from'./chunk-XJ7ZDJZG.js';import {a as a$8}from'./chunk-ZF7TZTE3.js';import {a as a$7}from'./chunk-44OJTSLO.js';import {a as a$2}from'./chunk-HDSZKGQO.js';import {a as a$1}from'./chunk-Q27GDY4Y.js';import {a}from'./chunk-7GJG2HUA.js';import {a as a$9}from'./chunk-WMOD232S.js';import {a as a$6}from'./chunk-SMTXYI6Q.js';import {a as a$a}from'./chunk-YTIIAU4W.js';import {forwardRef,useImperativeHandle,useCallback}from'react';import {jsxs,jsx}from'react/jsx-runtime';var ae=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$b,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:$}=a({onSearch:n}),{uniqueId:p,open:o,setOpen:m,selected:r,setSelected:l,options:j,setOptions:ee,inputSearchValue:te,setInputSearchValue:d,debouncedSearchTerm:re}=a$1({id:x,value:s,defaultOptions:T,delay:V}),{toggleOption:f,handleKeyDown:oe}=a$2({open:o,selected:r,maxSelected:k,onChange:D,onMaxSelected:q,setInputSearchValue:d,commandRef:c,inputRef:t,setSelected:l,setOpen:m,persistInputOnSelect:X});a$3({debouncedSearchTerm:re,open:o,onSearchRef:_,triggerSearchOnOpen:W}),a$4({externalOptions:K,setOptions:ee,prevExternalOptionsRef:$}),a$5({value:s,setSelected:l}),useImperativeHandle(P,()=>({selectedValue:[...r],input:t.current,focus:()=>t?.current?.focus(),reset:()=>l([])}),[r,t,l]);let le=useCallback(()=>{if(e?.filter)return e.filter},[e?.filter]);return jsxs(a$6,{ref:c,...e,onKeyDown:S=>{oe(S),e?.onKeyDown?.(S);},className:a$a("h-auto overflow-visible bg-transparent",e?.className),shouldFilter:e?.shouldFilter!==void 0?e.shouldFilter:!n,filter:le(),children:[jsx(a$7,{open:o,disabled:a$b,inputRef:t,selected:r,uniqueId:p,className:Y,children:jsx(a$8,{selected:r,scrollbarRef:u,toggleOption:f,inputProps:U,inputRef:t,open:o,setOpen:m,placeholder:F,hidePlaceholderWhenSelected:L,disabled:a$b,classNames:z,badgeWrapperClassName:A,badgeClassName:G,getBadgeClassName:J,inputSearchValue:te,setInputSearchValue:d,persistInputOnBlur:Z})}),jsx(a$9,{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";export{ae as a};//# sourceMappingURL=chunk-BCJNTCHK.js.map
2
- //# sourceMappingURL=chunk-BCJNTCHK.js.map
1
+ import {a as a$3}from'./chunk-4GCD4SP5.js';import {a as a$4}from'./chunk-274XPO4S.js';import {a as a$5}from'./chunk-XJ7ZDJZG.js';import {a as a$8}from'./chunk-ZF7TZTE3.js';import {a as a$7}from'./chunk-44OJTSLO.js';import {a as a$2}from'./chunk-HDSZKGQO.js';import {a as a$1}from'./chunk-Q27GDY4Y.js';import {a}from'./chunk-7GJG2HUA.js';import {a as a$9}from'./chunk-OYN4D5J3.js';import {a as a$6}from'./chunk-STIYYCSL.js';import {a as a$a}from'./chunk-YTIIAU4W.js';import {forwardRef,useImperativeHandle,useCallback}from'react';import {jsxs,jsx}from'react/jsx-runtime';var ae=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$b,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:$}=a({onSearch:n}),{uniqueId:p,open:o,setOpen:m,selected:r,setSelected:l,options:j,setOptions:ee,inputSearchValue:te,setInputSearchValue:d,debouncedSearchTerm:re}=a$1({id:x,value:s,defaultOptions:T,delay:V}),{toggleOption:f,handleKeyDown:oe}=a$2({open:o,selected:r,maxSelected:k,onChange:D,onMaxSelected:q,setInputSearchValue:d,commandRef:c,inputRef:t,setSelected:l,setOpen:m,persistInputOnSelect:X});a$3({debouncedSearchTerm:re,open:o,onSearchRef:_,triggerSearchOnOpen:W}),a$4({externalOptions:K,setOptions:ee,prevExternalOptionsRef:$}),a$5({value:s,setSelected:l}),useImperativeHandle(P,()=>({selectedValue:[...r],input:t.current,focus:()=>t?.current?.focus(),reset:()=>l([])}),[r,t,l]);let le=useCallback(()=>{if(e?.filter)return e.filter},[e?.filter]);return jsxs(a$6,{ref:c,...e,onKeyDown:S=>{oe(S),e?.onKeyDown?.(S);},className:a$a("h-auto overflow-visible bg-transparent",e?.className),shouldFilter:e?.shouldFilter!==void 0?e.shouldFilter:!n,filter:le(),children:[jsx(a$7,{open:o,disabled:a$b,inputRef:t,selected:r,uniqueId:p,className:Y,children:jsx(a$8,{selected:r,scrollbarRef:u,toggleOption:f,inputProps:U,inputRef:t,open:o,setOpen:m,placeholder:F,hidePlaceholderWhenSelected:L,disabled:a$b,classNames:z,badgeWrapperClassName:A,badgeClassName:G,getBadgeClassName:J,inputSearchValue:te,setInputSearchValue:d,persistInputOnBlur:Z})}),jsx(a$9,{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";export{ae as a};//# sourceMappingURL=chunk-EJBXIBM4.js.map
2
+ //# sourceMappingURL=chunk-EJBXIBM4.js.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-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":"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-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"]}
@@ -1,2 +1,2 @@
1
- import {a as a$4,d,c as c$1,g,i}from'./chunk-AEG63JU5.js';import {a as a$3}from'./chunk-WEDRHQPW.js';import {a as a$2,b,c}from'./chunk-QXJK4OO3.js';import {b as b$2}from'./chunk-FBXJ2VCI.js';import {b as b$1}from'./chunk-JH4FQUIS.js';import {a as a$1,b as b$3}from'./chunk-6LESB5UU.js';import {a}from'./chunk-YTIIAU4W.js';import {useState,useRef,useEffect,useMemo}from'react';import {LuCalendar,LuZoomOut,LuZoomIn,LuRefreshCcw}from'react-icons/lu';import T from'dayjs';import Se from'dayjs/plugin/customParseFormat.js';import {useIMask}from'react-imask';import {isMatch}from'react-day-picker';import {jsxs,jsx}from'react/jsx-runtime';import be from'react-easy-crop';import {DateTime,Duration}from'luxon';function fe(n){let o=n.replace(/\D/g,"").slice(0,8);return o.length<=2?o:o.length<=4?`${o.slice(0,2)}/${o.slice(2)}`:`${o.slice(0,2)}/${o.slice(2,4)}/${o.slice(4)}`}function ge(n){if(n.length!==10)return;let o=n.split("/");if(o.length!==3||o[2].length!==4)return;let e=parseInt(o[0],10),r=parseInt(o[1],10),t=parseInt(o[2],10);if(Number.isNaN(e)||Number.isNaN(r)||Number.isNaN(t))return;let p=new Date(t,e-1,r);if(!(p.getFullYear()!==t||p.getMonth()!==e-1||p.getDate()!==r))return p}function De({className:n,wrapperClassName:o,value:e,onChange:r,disabled:t=false,calendarProps:p,placeholder:h="MM/DD/YYYY",variant:D}){let[f,m]=useState(false),[v,w]=useState(e),[i,c$1]=useState(e?T(e).format("MM/DD/YYYY"):""),d=useRef(e?T(e).format("MM/DD/YYYY"):"");useEffect(()=>{let a=e?T(e).format("MM/DD/YYYY"):"";a!==d.current&&(d.current=a,c$1(a),e&&w(e));},[e]);let l=a=>{let g=fe(a.target.value);c$1(g);let S=ge(g);S?(d.current=g,r?.(S)):g===""&&(d.current="",r?.(void 0));},b$3=a=>{a.key==="ArrowDown"&&(a.preventDefault(),m(true)),!/[0-9/]/.test(a.key)&&!["Backspace","Delete","ArrowLeft","ArrowRight","ArrowUp","Tab"].includes(a.key)&&!a.metaKey&&!a.ctrlKey&&a.preventDefault();};return jsxs("div",{className:a("relative w-full",o),children:[jsx("input",{type:"text","data-slot":"input",className:a(a$1({variant:D}),"pr-10",n),value:i,placeholder:h,onChange:l,onKeyDown:b$3,disabled:t}),jsxs(a$2,{open:!t&&f,onOpenChange:m,children:[jsx(b,{asChild:true,children:jsx(b$1,{variant:"ghost-icon",size:"sm",className:"absolute top-1/2 right-1 -translate-y-1/2",disabled:t,"aria-label":"Select date",type:"button",children:jsx(LuCalendar,{})})}),jsx(c,{className:"w-auto overflow-hidden p-0",align:"end",sideOffset:10,children:jsx(b$2,{mode:"single",selected:e,month:v,onMonthChange:w,onSelect:a=>{let g=a?T(a).format("MM/DD/YYYY"):"";d.current=g,c$1(g),r?.(a),m(false);},...p})})]})]})}var Pe=({alt:n,className:o="",containerClassName:e="",imagePreview:r=void 0,cropper:t=void 0})=>{let[p,h]=useState(false),D=!r||!p,f=!!t;return jsxs("div",{className:a("flex max-w-[386px] flex-col",o),children:[jsxs("div",{className:a("relative h-60 rounded-md border",e),children:[r&&f?jsx(be,{image:r,crop:t.crop,zoom:t.zoom,aspect:t.aspect,objectFit:"contain",onCropChange:t.setCrop,onZoomChange:t.setZoom,onCropComplete:t.onCropComplete,onMediaLoaded:()=>h(true),showGrid:false}):r&&jsx("img",{alt:n,className:`m-auto h-full w-full object-contain transition-opacity duration-300 ${p?"opacity-100":"opacity-0"}`,src:r,onLoad:()=>h(true),draggable:false}),D&&jsx("div",{"aria-label":r?"Loading image":"Awaiting image",className:"from-grey-300 to-grey-300 absolute inset-0 animate-pulse bg-gradient-to-r"})]}),!D&&f&&jsxs("div",{className:"mt-3 flex flex-col items-center justify-between gap-1 px-1 sm:flex-row sm:gap-4",children:[jsxs("div",{className:"flex w-full items-center gap-3",children:[jsx(b$1,{"aria-label":"zoom out",onClick:()=>t.setZoom(Math.max(t.zoom-.1,1)),className:"h-8",variant:"ghost-icon",children:jsx(LuZoomOut,{})}),jsx(a$3,{value:[t.zoom],min:1,max:3,step:.01,onValueChange:m=>t.setZoom(m[0]),className:"w-full sm:flex-50",classNames:{thumb:"border-2 border-green-800",range:"bg-green-900"}}),jsx(b$1,{"aria-label":"zoom in",onClick:()=>t.setZoom(Math.min(t.zoom+.1,3)),variant:"ghost-icon",className:"h-8",children:jsx(LuZoomIn,{})})]}),jsxs(b$1,{onClick:t.reset,variant:"ghost",className:"h-8 p-2",children:[jsx(LuRefreshCcw,{}),"Reset"]})]})]})};var W="00:00",ee="24:00",te=n=>DateTime.fromFormat(n,"HH:mm").isValid,oe=({startTime:n=W,endTime:o=ee,interval:e=30,onChange:r=void 0,className:t="",placeholder:p="Select one",size:h="default",portal:D=true,...f})=>{te(n)||(console.error(`Invalid startTime: ${n}`),n=W),te(o)||(console.error(`Invalid endTime: ${o}`),o=ee);let m=useMemo(()=>{let i=DateTime.fromFormat(o,"HH:mm"),c=Duration.fromObject({minutes:e}),d=[],l=DateTime.fromFormat(n,"HH:mm");for(;l<=i;){let b=l.toFormat("HH:mm");b==="00:00"&&l.equals(i)&&(b="24:00"),d.push({label:l.toFormat("h:mm a"),value:{hour:l.toFormat("HH"),min:l.toFormat("mm"),raw:b,formatted:l.toFormat("h:mm a")}}),l=l.plus(c);}return d},[n,o,e]),v=m.map(i=>({label:i.label,value:i.value.raw}));return jsxs(a$4,{onValueChange:i=>{let c=m.find(d=>d.value.raw===i);c&&r?.(c);},...f,children:[jsx(d,{className:a("max-w-[240px] md:w-[150px]",t),size:h,children:jsx(c$1,{placeholder:p})}),jsx(g,{position:"popper",className:"max-h-90",portal:D,children:v.map(i$1=>jsx(i,{className:"h-10",value:i$1.value,children:i$1.label},i$1.value))})]})},Qe=oe;T.extend(Se);var ae="MM/DD/YYYY",Fe="00/00/0000",X=["MM/DD/YYYY","MM/D/YYYY","M/DD/YYYY","M/D/YYYY","YYYY-MM-DD"];function I(n){return n?T(n).format(ae):""}function Ie({className:n="",wrapperClassName:o="",value:e=void 0,onChange:r=void 0,disabled:t=false,calendarProps:p=void 0,placeholder:h,inputProps:D=void 0,showCalendarIcon:f=true,editable:m=false}){let[v,w]=useState(false),i=h??(m?ae:"Pick a date"),[c$1,d]=useState(void 0),l=useRef(e);e!==l.current&&(l.current=e,c$1!==void 0&&d(void 0));let b$1=c$1??e,a$3=s=>p?.disabled?!isMatch(s,p.disabled):true,g=useRef(r);g.current=r;let S=useRef(a$3);S.current=a$3;let{ref:q,setValue:B}=useIMask({mask:Fe,lazy:true,overwrite:false},{onComplete:s=>{let C=T(s,X,true);C.isValid()&&S.current(C.toDate())&&g.current?.(C.toDate());}}),ie=s=>{r?.(s),B(I(s)),w(false);},se=s=>{let C=s.clipboardData.getData("text").trim(),E=T(C,X,true);if(E.isValid()&&a$3(E.toDate())){s.preventDefault();let J=E.toDate();r?.(J),B(I(J));}},pe=()=>{B(I(e));},le=()=>{let s=q.current?.value??"";if(s===""){e!==void 0&&r?.(void 0);return}let C=T(s,X,true);C.isValid()&&a$3(C.toDate())&&r?.(C.toDate()),B(I(e));},me=a(a$1(),f&&"pl-10",v?"border-dark-green":"",n);return jsxs(a$2,{open:!t&&v,onOpenChange:w,children:[jsx(b,{asChild:true,children:jsxs("div",{className:a("relative flex w-full items-center rounded-md",o),children:[m?jsx("input",{ref:q,defaultValue:I(e),className:me,placeholder:i,disabled:t,onFocus:pe,onPaste:se,onBlur:s=>{le(),D?.onBlur?.(s);}}):jsx(b$3,{className:a(f&&"pl-10",v?"border-dark-green":"",n),...D,value:I(e),placeholder:i,readOnly:true,disabled:t}),f&&jsx("div",{className:a("absolute top-1/2 left-4 h-4 w-4 -translate-y-1/2",t?"text-gray-400":"cursor-pointer text-black"),children:jsx(LuCalendar,{size:16})})]})}),jsx(c,{className:"w-auto overflow-hidden p-0",align:"start",onOpenAutoFocus:m?s=>s.preventDefault():void 0,children:jsx(b$2,{mode:"single",selected:e?T(e).toDate():void 0,onSelect:ie,...m?{month:b$1,onMonthChange:d}:{},...p})})]})}export{Ie as a,De as b,Pe as c,oe as d,Qe as e};//# sourceMappingURL=chunk-6TGWLOLD.js.map
2
- //# sourceMappingURL=chunk-6TGWLOLD.js.map
1
+ import {a as a$4,d,c as c$1,g,i}from'./chunk-AEG63JU5.js';import {a as a$3}from'./chunk-WEDRHQPW.js';import {a as a$2,b,c}from'./chunk-QXJK4OO3.js';import {b as b$2}from'./chunk-FQGC44HX.js';import {b as b$1}from'./chunk-SP2L5FI7.js';import {a as a$1,b as b$3}from'./chunk-LFGDYEFJ.js';import {a}from'./chunk-YTIIAU4W.js';import {useState,useRef,useEffect,useMemo}from'react';import {LuCalendar,LuZoomOut,LuZoomIn,LuRefreshCcw}from'react-icons/lu';import T from'dayjs';import Se from'dayjs/plugin/customParseFormat.js';import {useIMask}from'react-imask';import {isMatch}from'react-day-picker';import {jsxs,jsx}from'react/jsx-runtime';import be from'react-easy-crop';import {DateTime,Duration}from'luxon';function fe(n){let o=n.replace(/\D/g,"").slice(0,8);return o.length<=2?o:o.length<=4?`${o.slice(0,2)}/${o.slice(2)}`:`${o.slice(0,2)}/${o.slice(2,4)}/${o.slice(4)}`}function ge(n){if(n.length!==10)return;let o=n.split("/");if(o.length!==3||o[2].length!==4)return;let e=parseInt(o[0],10),r=parseInt(o[1],10),t=parseInt(o[2],10);if(Number.isNaN(e)||Number.isNaN(r)||Number.isNaN(t))return;let p=new Date(t,e-1,r);if(!(p.getFullYear()!==t||p.getMonth()!==e-1||p.getDate()!==r))return p}function De({className:n,wrapperClassName:o,value:e,onChange:r,disabled:t=false,calendarProps:p,placeholder:h="MM/DD/YYYY",variant:D}){let[f,m]=useState(false),[v,w]=useState(e),[i,c$1]=useState(e?T(e).format("MM/DD/YYYY"):""),d=useRef(e?T(e).format("MM/DD/YYYY"):"");useEffect(()=>{let a=e?T(e).format("MM/DD/YYYY"):"";a!==d.current&&(d.current=a,c$1(a),e&&w(e));},[e]);let l=a=>{let g=fe(a.target.value);c$1(g);let S=ge(g);S?(d.current=g,r?.(S)):g===""&&(d.current="",r?.(void 0));},b$3=a=>{a.key==="ArrowDown"&&(a.preventDefault(),m(true)),!/[0-9/]/.test(a.key)&&!["Backspace","Delete","ArrowLeft","ArrowRight","ArrowUp","Tab"].includes(a.key)&&!a.metaKey&&!a.ctrlKey&&a.preventDefault();};return jsxs("div",{className:a("relative w-full",o),children:[jsx("input",{type:"text","data-slot":"input",className:a(a$1({variant:D}),"pr-10",n),value:i,placeholder:h,onChange:l,onKeyDown:b$3,disabled:t}),jsxs(a$2,{open:!t&&f,onOpenChange:m,children:[jsx(b,{asChild:true,children:jsx(b$1,{variant:"ghost-icon",size:"sm",className:"absolute top-1/2 right-1 -translate-y-1/2",disabled:t,"aria-label":"Select date",type:"button",children:jsx(LuCalendar,{})})}),jsx(c,{className:"w-auto overflow-hidden p-0",align:"end",sideOffset:10,children:jsx(b$2,{mode:"single",selected:e,month:v,onMonthChange:w,onSelect:a=>{let g=a?T(a).format("MM/DD/YYYY"):"";d.current=g,c$1(g),r?.(a),m(false);},...p})})]})]})}var Pe=({alt:n,className:o="",containerClassName:e="",imagePreview:r=void 0,cropper:t=void 0})=>{let[p,h]=useState(false),D=!r||!p,f=!!t;return jsxs("div",{className:a("flex max-w-[386px] flex-col",o),children:[jsxs("div",{className:a("relative h-60 rounded-md border",e),children:[r&&f?jsx(be,{image:r,crop:t.crop,zoom:t.zoom,aspect:t.aspect,objectFit:"contain",onCropChange:t.setCrop,onZoomChange:t.setZoom,onCropComplete:t.onCropComplete,onMediaLoaded:()=>h(true),showGrid:false}):r&&jsx("img",{alt:n,className:`m-auto h-full w-full object-contain transition-opacity duration-300 ${p?"opacity-100":"opacity-0"}`,src:r,onLoad:()=>h(true),draggable:false}),D&&jsx("div",{"aria-label":r?"Loading image":"Awaiting image",className:"from-grey-300 to-grey-300 absolute inset-0 animate-pulse bg-gradient-to-r"})]}),!D&&f&&jsxs("div",{className:"mt-3 flex flex-col items-center justify-between gap-1 px-1 sm:flex-row sm:gap-4",children:[jsxs("div",{className:"flex w-full items-center gap-3",children:[jsx(b$1,{"aria-label":"zoom out",onClick:()=>t.setZoom(Math.max(t.zoom-.1,1)),className:"h-8",variant:"ghost-icon",children:jsx(LuZoomOut,{})}),jsx(a$3,{value:[t.zoom],min:1,max:3,step:.01,onValueChange:m=>t.setZoom(m[0]),className:"w-full sm:flex-50",classNames:{thumb:"border-2 border-green-800",range:"bg-green-900"}}),jsx(b$1,{"aria-label":"zoom in",onClick:()=>t.setZoom(Math.min(t.zoom+.1,3)),variant:"ghost-icon",className:"h-8",children:jsx(LuZoomIn,{})})]}),jsxs(b$1,{onClick:t.reset,variant:"ghost",className:"h-8 p-2",children:[jsx(LuRefreshCcw,{}),"Reset"]})]})]})};var W="00:00",ee="24:00",te=n=>DateTime.fromFormat(n,"HH:mm").isValid,oe=({startTime:n=W,endTime:o=ee,interval:e=30,onChange:r=void 0,className:t="",placeholder:p="Select one",size:h="default",portal:D=true,...f})=>{te(n)||(console.error(`Invalid startTime: ${n}`),n=W),te(o)||(console.error(`Invalid endTime: ${o}`),o=ee);let m=useMemo(()=>{let i=DateTime.fromFormat(o,"HH:mm"),c=Duration.fromObject({minutes:e}),d=[],l=DateTime.fromFormat(n,"HH:mm");for(;l<=i;){let b=l.toFormat("HH:mm");b==="00:00"&&l.equals(i)&&(b="24:00"),d.push({label:l.toFormat("h:mm a"),value:{hour:l.toFormat("HH"),min:l.toFormat("mm"),raw:b,formatted:l.toFormat("h:mm a")}}),l=l.plus(c);}return d},[n,o,e]),v=m.map(i=>({label:i.label,value:i.value.raw}));return jsxs(a$4,{onValueChange:i=>{let c=m.find(d=>d.value.raw===i);c&&r?.(c);},...f,children:[jsx(d,{className:a("max-w-[240px] md:w-[150px]",t),size:h,children:jsx(c$1,{placeholder:p})}),jsx(g,{position:"popper",className:"max-h-90",portal:D,children:v.map(i$1=>jsx(i,{className:"h-10",value:i$1.value,children:i$1.label},i$1.value))})]})},Qe=oe;T.extend(Se);var ae="MM/DD/YYYY",Fe="00/00/0000",X=["MM/DD/YYYY","MM/D/YYYY","M/DD/YYYY","M/D/YYYY","YYYY-MM-DD"];function I(n){return n?T(n).format(ae):""}function Ie({className:n="",wrapperClassName:o="",value:e=void 0,onChange:r=void 0,disabled:t=false,calendarProps:p=void 0,placeholder:h,inputProps:D=void 0,showCalendarIcon:f=true,editable:m=false}){let[v,w]=useState(false),i=h??(m?ae:"Pick a date"),[c$1,d]=useState(void 0),l=useRef(e);e!==l.current&&(l.current=e,c$1!==void 0&&d(void 0));let b$1=c$1??e,a$3=s=>p?.disabled?!isMatch(s,p.disabled):true,g=useRef(r);g.current=r;let S=useRef(a$3);S.current=a$3;let{ref:q,setValue:B}=useIMask({mask:Fe,lazy:true,overwrite:false},{onComplete:s=>{let C=T(s,X,true);C.isValid()&&S.current(C.toDate())&&g.current?.(C.toDate());}}),ie=s=>{r?.(s),B(I(s)),w(false);},se=s=>{let C=s.clipboardData.getData("text").trim(),E=T(C,X,true);if(E.isValid()&&a$3(E.toDate())){s.preventDefault();let J=E.toDate();r?.(J),B(I(J));}},pe=()=>{B(I(e));},le=()=>{let s=q.current?.value??"";if(s===""){e!==void 0&&r?.(void 0);return}let C=T(s,X,true);C.isValid()&&a$3(C.toDate())&&r?.(C.toDate()),B(I(e));},me=a(a$1(),f&&"pl-10",v?"border-dark-green":"",n);return jsxs(a$2,{open:!t&&v,onOpenChange:w,children:[jsx(b,{asChild:true,children:jsxs("div",{className:a("relative flex w-full items-center rounded-md",o),children:[m?jsx("input",{ref:q,defaultValue:I(e),className:me,placeholder:i,disabled:t,onFocus:pe,onPaste:se,onBlur:s=>{le(),D?.onBlur?.(s);}}):jsx(b$3,{className:a(f&&"pl-10",v?"border-dark-green":"",n),...D,value:I(e),placeholder:i,readOnly:true,disabled:t}),f&&jsx("div",{className:a("absolute top-1/2 left-4 h-4 w-4 -translate-y-1/2",t?"text-gray-400":"cursor-pointer text-black"),children:jsx(LuCalendar,{size:16})})]})}),jsx(c,{className:"w-auto overflow-hidden p-0",align:"start",onOpenAutoFocus:m?s=>s.preventDefault():void 0,children:jsx(b$2,{mode:"single",selected:e?T(e).toDate():void 0,onSelect:ie,...m?{month:b$1,onMonthChange:d}:{},...p})})]})}export{Ie as a,De as b,Pe as c,oe as d,Qe as e};//# sourceMappingURL=chunk-FDMT42JJ.js.map
2
+ //# sourceMappingURL=chunk-FDMT42JJ.js.map