@xploreu/components 0.4.4 → 0.4.7

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 (198) hide show
  1. package/dist/chunk-3XWZPMXH.js +2 -0
  2. package/dist/chunk-3XWZPMXH.js.map +1 -0
  3. package/dist/chunk-4WDDWMBW.js +3 -0
  4. package/dist/chunk-4WDDWMBW.js.map +1 -0
  5. package/dist/chunk-5ETIHFSE.js +3 -0
  6. package/dist/chunk-5ETIHFSE.js.map +1 -0
  7. package/dist/chunk-77T5FOYW.js +2 -0
  8. package/dist/chunk-77T5FOYW.js.map +1 -0
  9. package/dist/chunk-7WQRDDWL.js +2 -0
  10. package/dist/chunk-7WQRDDWL.js.map +1 -0
  11. package/dist/chunk-AKTRVGKT.js +2 -0
  12. package/dist/{chunk-DSH6THYW.js.map → chunk-AKTRVGKT.js.map} +1 -1
  13. package/dist/chunk-AUYPBFZJ.js +2 -0
  14. package/dist/chunk-AUYPBFZJ.js.map +1 -0
  15. package/dist/chunk-BRZUHQYB.js +2 -0
  16. package/dist/chunk-BRZUHQYB.js.map +1 -0
  17. package/dist/chunk-BX7TD4RH.js +2 -0
  18. package/dist/chunk-BX7TD4RH.js.map +1 -0
  19. package/dist/chunk-CHN5ZCUY.js +2 -0
  20. package/dist/chunk-CHN5ZCUY.js.map +1 -0
  21. package/dist/chunk-DCH35MB4.js +3 -0
  22. package/dist/chunk-DCH35MB4.js.map +1 -0
  23. package/dist/chunk-EE5QQGMX.js +2 -0
  24. package/dist/chunk-EE5QQGMX.js.map +1 -0
  25. package/dist/chunk-ITR3T6UB.js +2 -0
  26. package/dist/chunk-ITR3T6UB.js.map +1 -0
  27. package/dist/chunk-JP737TCG.js +2 -0
  28. package/dist/chunk-JP737TCG.js.map +1 -0
  29. package/dist/chunk-KT5JRJJR.js +2 -0
  30. package/dist/chunk-KT5JRJJR.js.map +1 -0
  31. package/dist/chunk-MXDNSGGI.js +2 -0
  32. package/dist/chunk-MXDNSGGI.js.map +1 -0
  33. package/dist/chunk-NKQ3MFRE.js +2 -0
  34. package/dist/chunk-NKQ3MFRE.js.map +1 -0
  35. package/dist/chunk-NY57FUA3.js +2 -0
  36. package/dist/{chunk-2TQHUVNP.js.map → chunk-NY57FUA3.js.map} +1 -1
  37. package/dist/chunk-OF4LN45Z.js +2 -0
  38. package/dist/chunk-OF4LN45Z.js.map +1 -0
  39. package/dist/chunk-P2DJG2OD.js +2 -0
  40. package/dist/chunk-P2DJG2OD.js.map +1 -0
  41. package/dist/{chunk-NTQ2FXS7.js → chunk-P6Y4P5QT.js} +2 -2
  42. package/dist/{chunk-NTQ2FXS7.js.map → chunk-P6Y4P5QT.js.map} +1 -1
  43. package/dist/{chunk-VE5ZAJ35.js → chunk-QV2OO65X.js} +2 -2
  44. package/dist/{chunk-VE5ZAJ35.js.map → chunk-QV2OO65X.js.map} +1 -1
  45. package/dist/chunk-QWCYJC3T.js +3 -0
  46. package/dist/chunk-QWCYJC3T.js.map +1 -0
  47. package/dist/chunk-RCA6JRHN.js +2 -0
  48. package/dist/chunk-RCA6JRHN.js.map +1 -0
  49. package/dist/chunk-RN6CYJKG.js +2 -0
  50. package/dist/chunk-RN6CYJKG.js.map +1 -0
  51. package/dist/chunk-S4IFBDOJ.js +2 -0
  52. package/dist/chunk-S4IFBDOJ.js.map +1 -0
  53. package/dist/chunk-TES3PKRE.js +2 -0
  54. package/dist/chunk-TES3PKRE.js.map +1 -0
  55. package/dist/chunk-UBTCCHVI.js +2 -0
  56. package/dist/chunk-UBTCCHVI.js.map +1 -0
  57. package/dist/chunk-UCCQUPMT.js +3 -0
  58. package/dist/chunk-UCCQUPMT.js.map +1 -0
  59. package/dist/chunk-WWCXHCNU.js +2 -0
  60. package/dist/chunk-WWCXHCNU.js.map +1 -0
  61. package/dist/chunk-XG3W7QMP.js +2 -0
  62. package/dist/chunk-XG3W7QMP.js.map +1 -0
  63. package/dist/chunk-XJTOYNCA.js +3 -0
  64. package/dist/chunk-XJTOYNCA.js.map +1 -0
  65. package/dist/chunk-XLACGAIR.js +2 -0
  66. package/dist/chunk-XLACGAIR.js.map +1 -0
  67. package/dist/{chunk-NG3NFI2B.js → chunk-XZKSYHE5.js} +2 -2
  68. package/dist/{chunk-NG3NFI2B.js.map → chunk-XZKSYHE5.js.map} +1 -1
  69. package/dist/{chunk-746IQSMF.js → chunk-YB5ZNOPP.js} +2 -2
  70. package/dist/{chunk-746IQSMF.js.map → chunk-YB5ZNOPP.js.map} +1 -1
  71. package/dist/chunk-YKX7SKZA.js +2 -0
  72. package/dist/chunk-YKX7SKZA.js.map +1 -0
  73. package/dist/{chunk-IXWAWSD4.js → chunk-YZNI5HEX.js} +2 -2
  74. package/dist/{chunk-IXWAWSD4.js.map → chunk-YZNI5HEX.js.map} +1 -1
  75. package/dist/chunk-ZP4ZPH65.js +2 -0
  76. package/dist/chunk-ZP4ZPH65.js.map +1 -0
  77. package/dist/chunk-ZQWDYX2E.js +3 -0
  78. package/dist/chunk-ZQWDYX2E.js.map +1 -0
  79. package/dist/composites/combobox-chip-outside.js +1 -1
  80. package/dist/composites/combobox-chip.d.ts +42 -0
  81. package/dist/composites/combobox-chip.js +2 -0
  82. package/dist/composites/combobox-chip.js.map +1 -0
  83. package/dist/composites/combobox-simple.d.ts +33 -0
  84. package/dist/composites/combobox-simple.js +2 -0
  85. package/dist/composites/combobox-simple.js.map +1 -0
  86. package/dist/composites/filter-combobox.d.ts +42 -0
  87. package/dist/composites/filter-combobox.js +2 -0
  88. package/dist/composites/filter-combobox.js.map +1 -0
  89. package/dist/composites/index.d.ts +9 -114
  90. package/dist/composites/index.js +1 -1
  91. package/dist/composites/index.js.map +1 -1
  92. package/dist/composites/phone-input.js +1 -1
  93. package/dist/composites/profile-avatar.d.ts +28 -0
  94. package/dist/composites/profile-avatar.js +2 -0
  95. package/dist/composites/profile-avatar.js.map +1 -0
  96. package/dist/form/form-input.js +1 -1
  97. package/dist/form/index.js +1 -1
  98. package/dist/icons/check-square-icon.d.ts +6 -0
  99. package/dist/icons/check-square-icon.js +2 -0
  100. package/dist/icons/check-square-icon.js.map +1 -0
  101. package/dist/icons/close-square-icon.d.ts +6 -0
  102. package/dist/icons/close-square-icon.js +2 -0
  103. package/dist/icons/close-square-icon.js.map +1 -0
  104. package/dist/icons/danger-triangle-icon.d.ts +6 -0
  105. package/dist/icons/danger-triangle-icon.js +2 -0
  106. package/dist/icons/danger-triangle-icon.js.map +1 -0
  107. package/dist/icons/index.d.ts +7 -1
  108. package/dist/icons/index.js +1 -1
  109. package/dist/icons/sort-ascending-icon.d.ts +6 -0
  110. package/dist/icons/sort-ascending-icon.js +2 -0
  111. package/dist/icons/sort-ascending-icon.js.map +1 -0
  112. package/dist/icons/sort-default-icon.d.ts +6 -0
  113. package/dist/icons/sort-default-icon.js +2 -0
  114. package/dist/icons/sort-default-icon.js.map +1 -0
  115. package/dist/icons/sort-descending-icon.d.ts +6 -0
  116. package/dist/icons/sort-descending-icon.js +2 -0
  117. package/dist/icons/sort-descending-icon.js.map +1 -0
  118. package/dist/primitives/accordion.d.ts +33 -0
  119. package/dist/primitives/accordion.js +2 -0
  120. package/dist/primitives/accordion.js.map +1 -0
  121. package/dist/primitives/checkbox.d.ts +16 -0
  122. package/dist/primitives/checkbox.js +2 -0
  123. package/dist/primitives/checkbox.js.map +1 -0
  124. package/dist/primitives/collapsible.d.ts +22 -0
  125. package/dist/primitives/collapsible.js +2 -0
  126. package/dist/primitives/collapsible.js.map +1 -0
  127. package/dist/primitives/index.d.ts +16 -19
  128. package/dist/primitives/index.js +1 -1
  129. package/dist/primitives/menu.d.ts +61 -0
  130. package/dist/primitives/menu.js +2 -0
  131. package/dist/primitives/menu.js.map +1 -0
  132. package/dist/primitives/slider.d.ts +18 -0
  133. package/dist/primitives/slider.js +2 -0
  134. package/dist/primitives/slider.js.map +1 -0
  135. package/dist/primitives/toast.d.ts +27 -0
  136. package/dist/primitives/toast.js +2 -0
  137. package/dist/primitives/toast.js.map +1 -0
  138. package/dist/primitives/tooltip.d.ts +18 -0
  139. package/dist/primitives/tooltip.js +2 -0
  140. package/dist/primitives/tooltip.js.map +1 -0
  141. package/dist/ui/accordion.d.ts +20 -0
  142. package/dist/ui/accordion.js +2 -0
  143. package/dist/ui/accordion.js.map +1 -0
  144. package/dist/ui/alert-dialog.js +1 -1
  145. package/dist/ui/badge.d.ts +2 -2
  146. package/dist/ui/button.d.ts +1 -1
  147. package/dist/ui/calendar.d.ts +40 -0
  148. package/dist/ui/calendar.js +2 -0
  149. package/dist/ui/calendar.js.map +1 -0
  150. package/dist/ui/carousel.d.ts +35 -0
  151. package/dist/ui/carousel.js +2 -0
  152. package/dist/ui/carousel.js.map +1 -0
  153. package/dist/ui/checkbox.d.ts +16 -0
  154. package/dist/ui/checkbox.js +2 -0
  155. package/dist/ui/checkbox.js.map +1 -0
  156. package/dist/ui/collapsible.d.ts +15 -0
  157. package/dist/ui/collapsible.js +2 -0
  158. package/dist/ui/collapsible.js.map +1 -0
  159. package/dist/ui/combobox.js +1 -1
  160. package/dist/ui/date-multiple-picker.d.ts +26 -0
  161. package/dist/ui/date-multiple-picker.js +2 -0
  162. package/dist/ui/date-multiple-picker.js.map +1 -0
  163. package/dist/ui/date-picker.d.ts +23 -0
  164. package/dist/ui/date-picker.js +2 -0
  165. package/dist/ui/date-picker.js.map +1 -0
  166. package/dist/ui/date-range-picker.d.ts +23 -0
  167. package/dist/ui/date-range-picker.js +2 -0
  168. package/dist/ui/date-range-picker.js.map +1 -0
  169. package/dist/ui/dialog.js +1 -1
  170. package/dist/ui/index.d.ts +31 -113
  171. package/dist/ui/index.js +1 -1
  172. package/dist/ui/input.js +1 -1
  173. package/dist/ui/menu.d.ts +48 -0
  174. package/dist/ui/menu.js +2 -0
  175. package/dist/ui/menu.js.map +1 -0
  176. package/dist/ui/pagination.d.ts +15 -0
  177. package/dist/ui/pagination.js +2 -0
  178. package/dist/ui/pagination.js.map +1 -0
  179. package/dist/ui/sheet.js +1 -1
  180. package/dist/ui/slider.d.ts +14 -0
  181. package/dist/ui/slider.js +2 -0
  182. package/dist/ui/slider.js.map +1 -0
  183. package/dist/ui/table.d.ts +24 -0
  184. package/dist/ui/table.js +2 -0
  185. package/dist/ui/table.js.map +1 -0
  186. package/dist/ui/toast.d.ts +28 -0
  187. package/dist/ui/toast.js +2 -0
  188. package/dist/ui/toast.js.map +1 -0
  189. package/dist/ui/tooltip.d.ts +19 -0
  190. package/dist/ui/tooltip.js +2 -0
  191. package/dist/ui/tooltip.js.map +1 -0
  192. package/package.json +15 -13
  193. package/dist/chunk-2TQHUVNP.js +0 -2
  194. package/dist/chunk-DSH6THYW.js +0 -2
  195. package/dist/chunk-DXI32G2S.js +0 -2
  196. package/dist/chunk-DXI32G2S.js.map +0 -1
  197. package/dist/chunk-MAY6ICTE.js +0 -2
  198. package/dist/chunk-MAY6ICTE.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ import {f,g,d,a,e,h,i,j,k as k$1,l,c}from'./chunk-KT5JRJJR.js';import {b}from'./chunk-VNAMAKPG.js';import {a as a$1}from'./chunk-WI5V5Z76.js';import {b as b$2}from'./chunk-QWCYJC3T.js';import {b as b$3}from'./chunk-4WDDWMBW.js';import {b as b$1}from'./chunk-ZQWDYX2E.js';import'react';import {cn}from'@xploreu/lib/cn';import {XIcon,Loader2Icon}from'lucide-react';import {jsx,jsxs}from'react/jsx-runtime';function _({...a}){return jsx(f,{...a})}function C({className:a,...t}){return jsx(g,{className:cn("pointer-events-none fixed inset-x-4 bottom-4 z-50 mx-auto w-auto max-w-sm outline-none sm:right-4 sm:left-auto sm:mx-0 sm:w-full",a),...t})}function N({toastManager:a$1=a,...t}){return jsx(d,{toastManager:a$1,...t})}function Y({className:a,children:t,...r}){return jsxs(e,{className:cn("group/toast pointer-events-auto absolute right-0 bottom-0 z-[calc(1000-var(--toast-index))] w-full origin-bottom rounded-l-[10.4px] rounded-r-lg shadow-lg will-change-transform outline-none select-none focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-focus-ring","[--gap:0.75rem] [--height:var(--toast-frontmost-height,var(--toast-height))] [--offset-y:calc(var(--toast-offset-y)*-1+calc(var(--toast-index)*var(--gap)*-1)+var(--toast-swipe-movement-y))] [--peek:0.75rem] [--scale:calc(max(0,1-(var(--toast-index)*0.1)))] [--shrink:calc(1-var(--scale))]","h-(--height) [transform:translateX(var(--toast-swipe-movement-x))_translateY(calc(var(--toast-swipe-movement-y)-(var(--toast-index)*var(--peek))-(var(--shrink)*var(--height))))_scale(var(--scale))] [transition:transform_500ms_cubic-bezier(0.22,1,0.36,1),opacity_500ms,height_150ms]","after:absolute after:top-full after:left-0 after:h-[calc(var(--gap)+1px)] after:w-full after:content-['']","data-expanded:h-(--toast-height) data-expanded:[transform:translateX(var(--toast-swipe-movement-x))_translateY(var(--offset-y))]","data-limited:opacity-0 data-starting-style:[transform:translateY(150%)]","[&[data-ending-style]:not([data-limited]):not([data-swipe-direction])]:[transform:translateY(150%)]","data-ending-style:data-[swipe-direction=down]:[transform:translateY(calc(var(--toast-swipe-movement-y)+150%))]","data-ending-style:data-[swipe-direction=left]:[transform:translateX(calc(var(--toast-swipe-movement-x)-150%))_translateY(var(--offset-y))]","data-ending-style:data-[swipe-direction=right]:[transform:translateX(calc(var(--toast-swipe-movement-x)+150%))_translateY(var(--offset-y))]","data-ending-style:data-[swipe-direction=up]:[transform:translateY(calc(var(--toast-swipe-movement-y)-150%))]","data-expanded:data-ending-style:data-[swipe-direction=down]:[transform:translateY(calc(var(--toast-swipe-movement-y)+150%))]","data-expanded:data-ending-style:data-[swipe-direction=left]:[transform:translateX(calc(var(--toast-swipe-movement-x)-150%))_translateY(var(--offset-y))]","data-expanded:data-ending-style:data-[swipe-direction=right]:[transform:translateX(calc(var(--toast-swipe-movement-x)+150%))_translateY(var(--offset-y))]","data-expanded:data-ending-style:data-[swipe-direction=up]:[transform:translateY(calc(var(--toast-swipe-movement-y)-150%))]",a),...r,children:[jsx("div",{className:cn("absolute left-0 inset-y-0 w-[10.4px] rounded-l-[10.4px] bg-[linear-gradient(180deg,#377DFA_0%,#185BC2_80%)]","group-data-[type=warning]/toast:bg-[linear-gradient(180deg,#F79009_0%,#B54708_80%)]","group-data-[type=info]/toast:bg-[linear-gradient(180deg,#068BEE_0%,#175BCC_80%)]","group-data-[type=success]/toast:bg-[linear-gradient(180deg,#17B26A_0%,#067647_80%)]","group-data-[type=error]/toast:bg-[linear-gradient(180deg,#F04438_0%,#B42318_80%)]")}),jsx("div",{className:cn("relative border border-border-secondary rounded-lg ml-[2.4px] bg-bg-primary z-10 bg-radial-[100%_200%_at_0%_0%] to-bg-primary","from-modal-dialog-stop-0","group-data-[type=warning]/toast:from-utility-warning-50","group-data-[type=info]/toast:from-utility-blue-50","group-data-[type=success]/toast:from-utility-success-50","group-data-[type=error]/toast:from-utility-error-50"),children:t})]})}function z({className:a,...t}){return jsx(h,{className:cn("flex h-full items-center gap-3 overflow-hidden p-4 transition-opacity duration-250 ease-[cubic-bezier(0.22,1,0.36,1)] data-behind:opacity-0 data-expanded:opacity-100",a),...t})}function A({className:a,...t}){return jsx(i,{className:cn("text-label-semibold-2 text-text-primary","group-data-[type=warning]/toast:text-text-warning-primary","group-data-[type=info]/toast:text-text-info-primary","group-data-[type=success]/toast:text-text-success-primary","group-data-[type=error]/toast:text-text-error-primary",a),...t})}function D({className:a,...t}){return jsx(j,{className:cn("text-body-regular-2 text-text-secondary",a),...t})}function V({className:a,render:t=jsx(b,{size:"sm",variant:"secondary"}),...r}){return jsx(k$1,{render:t,className:cn("shrink-0",a),...r})}function k({className:a,children:t,...r}){return jsx(l,{"aria-label":"Close toast",className:cn("relative shrink-0 text-fg-quaternary after:absolute after:-inset-2 after:content-[''] hover:text-text-error-primary size-6 inline-flex items-center justify-center [&_svg:not([class*='size-'])]:size-3.5",a),...r,children:t??jsx(XIcon,{"aria-hidden":"true"})})}function I({type:a}){let t=null;return a==="success"&&(t=jsx(b$1,{className:"text-fg-success-primary"})),a==="info"&&(t=jsx(a$1,{className:"text-fg-info-primary"})),a==="warning"&&(t=jsx(b$2,{className:"text-fg-warning-primary"})),a==="error"&&(t=jsx(b$3,{className:"text-fg-error-primary"})),a==="loading"&&(t=jsx(Loader2Icon,{className:"animate-spin","aria-hidden":"true"})),t?jsx("span",{"data-slot":"toast-icon",className:"shrink-0 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-6",children:t}):null}function B(){let{toasts:a}=c();return a.map(t=>jsx(Y,{toast:t,children:jsxs(z,{children:[jsx(I,{type:t.type}),jsxs("div",{className:"flex min-w-0 flex-1 flex-col gap-1",children:[jsx(A,{}),jsx(D,{})]}),jsx(V,{}),jsx(k,{})]})},t.id))}function L({children:a,...t}){return jsxs(N,{...t,children:[a,jsx(_,{children:jsx(C,{children:jsx(B,{})})})]})}export{_ as a,C as b,N as c,Y as d,z as e,A as f,D as g,V as h,k as i,L as j};//# sourceMappingURL=chunk-3XWZPMXH.js.map
2
+ //# sourceMappingURL=chunk-3XWZPMXH.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/toast.tsx"],"names":["ToastPortal","props","jsx","ToastViewport","className","cn","ToastProvider","toastManager","toast","Toast","children","jsxs","ToastContent","ToastTitle","ToastDescription","ToastAction","render","Button","ToastClose","XIcon","ToastIcon","type","icon","check_square_icon_default","info_square_icon_default","danger_triangle_icon_default","close_square_icon_default","Loader2Icon","ToastList","toasts","useToastManager","toastItem","Toaster"],"mappings":"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","file":"chunk-3XWZPMXH.js","sourcesContent":["\"use client\";\r\n\r\nimport * as React from \"react\";\r\nimport {\r\n ToastPortal as ToastPortalPrimitive,\r\n ToastViewport as ToastViewportPrimitive,\r\n ToastProvider as ToastProviderPrimitive,\r\n Toast as ToastPrimitive,\r\n ToastContent as ToastContentPrimitive,\r\n ToastTitle as ToastTitlePrimitive,\r\n ToastDescription as ToastDescriptionPrimitive,\r\n ToastAction as ToastActionPrimitive,\r\n ToastClose as ToastClosePrimitive,\r\n toast,\r\n createToastManager,\r\n useToastManager,\r\n type ToastPortalProps as ToastPortalPrimitiveProps,\r\n type ToastViewportProps as ToastViewportPrimitiveProps,\r\n type ToastProviderProps as ToastProviderPrimitiveProps,\r\n type ToastProps as ToastPrimitiveProps,\r\n type ToastContentProps as ToastContentPrimitiveProps,\r\n type ToastTitleProps as ToastTitlePrimitiveProps,\r\n type ToastDescriptionProps as ToastDescriptionPrimitiveProps,\r\n type ToastActionProps as ToastActionPrimitiveProps,\r\n type ToastCloseProps as ToastClosePrimitiveProps,\r\n} from \"../primitives/toast\";\r\nimport { cn } from \"@xploreu/lib/cn\";\r\nimport {\r\n InfoSquareIcon,\r\n CheckSquareIcon,\r\n CloseSquareIcon,\r\n DangerTriangleIcon,\r\n} from \"../icons\";\r\nimport { Button } from \"./button\";\r\nimport {\r\n XIcon,\r\n Loader2Icon\r\n} from \"lucide-react\"\r\n\r\ntype ToastPortalProps = ToastPortalPrimitiveProps;\r\n\r\nfunction ToastPortal({ ...props }: ToastPortalProps) {\r\n return <ToastPortalPrimitive {...props} />;\r\n}\r\n\r\ntype ToastViewportProps = ToastViewportPrimitiveProps;\r\n\r\nfunction ToastViewport({ className, ...props }: ToastViewportProps) {\r\n return (\r\n <ToastViewportPrimitive\r\n className={cn(\r\n \"pointer-events-none fixed inset-x-4 bottom-4 z-50 mx-auto w-auto max-w-sm outline-none sm:right-4 sm:left-auto sm:mx-0 sm:w-full\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\ntype ToastProviderProps = ToastProviderPrimitiveProps;\r\n\r\nfunction ToastProvider({\r\n toastManager = toast,\r\n ...props\r\n}: ToastProviderProps) {\r\n return <ToastProviderPrimitive toastManager={toastManager} {...props} />;\r\n}\r\n\r\ntype ToastProps = ToastPrimitiveProps\r\n\r\nfunction Toast({ \r\n className, \r\n children, \r\n ...props \r\n}: ToastProps) {\r\n return (\r\n <ToastPrimitive\r\n className={cn(\r\n \"group/toast pointer-events-auto absolute right-0 bottom-0 z-[calc(1000-var(--toast-index))] w-full origin-bottom rounded-l-[10.4px] rounded-r-lg shadow-lg will-change-transform outline-none select-none focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-focus-ring\",\r\n \"[--gap:0.75rem] [--height:var(--toast-frontmost-height,var(--toast-height))] [--offset-y:calc(var(--toast-offset-y)*-1+calc(var(--toast-index)*var(--gap)*-1)+var(--toast-swipe-movement-y))] [--peek:0.75rem] [--scale:calc(max(0,1-(var(--toast-index)*0.1)))] [--shrink:calc(1-var(--scale))]\",\r\n \"h-(--height) [transform:translateX(var(--toast-swipe-movement-x))_translateY(calc(var(--toast-swipe-movement-y)-(var(--toast-index)*var(--peek))-(var(--shrink)*var(--height))))_scale(var(--scale))] [transition:transform_500ms_cubic-bezier(0.22,1,0.36,1),opacity_500ms,height_150ms]\",\r\n \"after:absolute after:top-full after:left-0 after:h-[calc(var(--gap)+1px)] after:w-full after:content-['']\",\r\n \"data-expanded:h-(--toast-height) data-expanded:[transform:translateX(var(--toast-swipe-movement-x))_translateY(var(--offset-y))]\",\r\n \"data-limited:opacity-0 data-starting-style:[transform:translateY(150%)]\",\r\n \"[&[data-ending-style]:not([data-limited]):not([data-swipe-direction])]:[transform:translateY(150%)]\",\r\n \"data-ending-style:data-[swipe-direction=down]:[transform:translateY(calc(var(--toast-swipe-movement-y)+150%))]\",\r\n \"data-ending-style:data-[swipe-direction=left]:[transform:translateX(calc(var(--toast-swipe-movement-x)-150%))_translateY(var(--offset-y))]\",\r\n \"data-ending-style:data-[swipe-direction=right]:[transform:translateX(calc(var(--toast-swipe-movement-x)+150%))_translateY(var(--offset-y))]\",\r\n \"data-ending-style:data-[swipe-direction=up]:[transform:translateY(calc(var(--toast-swipe-movement-y)-150%))]\",\r\n \"data-expanded:data-ending-style:data-[swipe-direction=down]:[transform:translateY(calc(var(--toast-swipe-movement-y)+150%))]\",\r\n \"data-expanded:data-ending-style:data-[swipe-direction=left]:[transform:translateX(calc(var(--toast-swipe-movement-x)-150%))_translateY(var(--offset-y))]\",\r\n \"data-expanded:data-ending-style:data-[swipe-direction=right]:[transform:translateX(calc(var(--toast-swipe-movement-x)+150%))_translateY(var(--offset-y))]\",\r\n \"data-expanded:data-ending-style:data-[swipe-direction=up]:[transform:translateY(calc(var(--toast-swipe-movement-y)-150%))]\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n <div className={cn(\r\n \"absolute left-0 inset-y-0 w-[10.4px] rounded-l-[10.4px] bg-[linear-gradient(180deg,#377DFA_0%,#185BC2_80%)]\",\r\n \"group-data-[type=warning]/toast:bg-[linear-gradient(180deg,#F79009_0%,#B54708_80%)]\",\r\n \"group-data-[type=info]/toast:bg-[linear-gradient(180deg,#068BEE_0%,#175BCC_80%)]\",\r\n \"group-data-[type=success]/toast:bg-[linear-gradient(180deg,#17B26A_0%,#067647_80%)]\",\r\n \"group-data-[type=error]/toast:bg-[linear-gradient(180deg,#F04438_0%,#B42318_80%)]\",\r\n )} />\r\n <div className={cn(\r\n \"relative border border-border-secondary rounded-lg ml-[2.4px] bg-bg-primary z-10 bg-radial-[100%_200%_at_0%_0%] to-bg-primary\",\r\n \"from-modal-dialog-stop-0\",\r\n \"group-data-[type=warning]/toast:from-utility-warning-50\",\r\n \"group-data-[type=info]/toast:from-utility-blue-50\",\r\n \"group-data-[type=success]/toast:from-utility-success-50\",\r\n \"group-data-[type=error]/toast:from-utility-error-50\",\r\n )}>\r\n {children}\r\n </div>\r\n </ToastPrimitive>\r\n );\r\n}\r\n\r\ntype ToastContentProps = ToastContentPrimitiveProps;\r\n\r\nfunction ToastContent({ className, ...props }: ToastContentProps) {\r\n return (\r\n <ToastContentPrimitive\r\n className={cn(\r\n \"flex h-full items-center gap-3 overflow-hidden p-4 transition-opacity duration-250 ease-[cubic-bezier(0.22,1,0.36,1)] data-behind:opacity-0 data-expanded:opacity-100\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\ntype ToastTitleProps = ToastTitlePrimitiveProps;\r\n\r\nfunction ToastTitle({ className, ...props }: ToastTitleProps) {\r\n return (\r\n <ToastTitlePrimitive\r\n className={cn(\r\n \"text-label-semibold-2 text-text-primary\", \r\n \"group-data-[type=warning]/toast:text-text-warning-primary\",\r\n \"group-data-[type=info]/toast:text-text-info-primary\",\r\n \"group-data-[type=success]/toast:text-text-success-primary\",\r\n \"group-data-[type=error]/toast:text-text-error-primary\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\ntype ToastDescriptionProps = ToastDescriptionPrimitiveProps;\r\n\r\nfunction ToastDescription({ className, ...props }: ToastDescriptionProps) {\r\n return (\r\n <ToastDescriptionPrimitive\r\n className={cn(\"text-body-regular-2 text-text-secondary\", className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\ntype ToastActionProps = ToastActionPrimitiveProps;\r\n\r\nfunction ToastAction({\r\n className,\r\n render = <Button size=\"sm\" variant=\"secondary\" />,\r\n ...props\r\n}: ToastActionProps) {\r\n return (\r\n <ToastActionPrimitive\r\n render={render}\r\n className={cn(\"shrink-0\", className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\ntype ToastCloseProps = ToastClosePrimitiveProps;\r\n\r\nfunction ToastClose({ className, children, ...props }: ToastCloseProps) {\r\n return (\r\n <ToastClosePrimitive\r\n aria-label=\"Close toast\"\r\n className={cn(\r\n \"relative shrink-0 text-fg-quaternary after:absolute after:-inset-2 after:content-[''] hover:text-text-error-primary size-6 inline-flex items-center justify-center [&_svg:not([class*='size-'])]:size-3.5\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n {children ?? <XIcon aria-hidden=\"true\" />}\r\n </ToastClosePrimitive>\r\n );\r\n}\r\n\r\ntype ToastIconProps = { type: string | undefined }\r\n\r\nfunction ToastIcon({ type }: ToastIconProps) {\r\n let icon: React.ReactNode = null;\r\n\r\n if (type === \"success\") {\r\n icon = <CheckSquareIcon className=\"text-fg-success-primary\" />;\r\n } \r\n \r\n if (type === \"info\") {\r\n icon = <InfoSquareIcon className=\"text-fg-info-primary\" />;\r\n }\r\n \r\n if (type === \"warning\") {\r\n icon = <DangerTriangleIcon className=\"text-fg-warning-primary\" />;\r\n }\r\n \r\n if (type === \"error\") {\r\n icon = <CloseSquareIcon className=\"text-fg-error-primary\" />;\r\n }\r\n\r\n if (type === \"loading\") {\r\n icon = <Loader2Icon className=\"animate-spin\" aria-hidden=\"true\" />\r\n }\r\n\r\n if (!icon) return null;\r\n\r\n return (\r\n <span\r\n data-slot=\"toast-icon\"\r\n className=\"shrink-0 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-6\"\r\n >\r\n {icon}\r\n </span>\r\n );\r\n}\r\n\r\nfunction ToastList() {\r\n const { toasts } = useToastManager();\r\n\r\n return toasts.map((toastItem) => (\r\n <Toast key={toastItem.id} toast={toastItem}>\r\n <ToastContent>\r\n <ToastIcon type={toastItem.type} />\r\n <div className=\"flex min-w-0 flex-1 flex-col gap-1\">\r\n <ToastTitle />\r\n <ToastDescription />\r\n </div>\r\n <ToastAction />\r\n <ToastClose />\r\n </ToastContent>\r\n </Toast>\r\n ));\r\n}\r\n\r\ntype ToasterProps = ToastProviderPrimitiveProps;\r\n\r\nfunction Toaster({\r\n children,\r\n ...props\r\n}: ToasterProps) {\r\n return (\r\n <ToastProvider {...props}>\r\n {children}\r\n <ToastPortal>\r\n <ToastViewport>\r\n <ToastList />\r\n </ToastViewport>\r\n </ToastPortal>\r\n </ToastProvider>\r\n );\r\n}\r\n\r\nexport {\r\n Toaster,\r\n Toast,\r\n ToastProvider,\r\n ToastAction,\r\n ToastClose,\r\n ToastContent,\r\n ToastDescription,\r\n ToastPortal,\r\n ToastTitle,\r\n ToastViewport,\r\n toast,\r\n createToastManager,\r\n useToastManager,\r\n type ToasterProps,\r\n type ToastProps,\r\n type ToastProviderProps,\r\n type ToastActionProps,\r\n type ToastCloseProps,\r\n type ToastContentProps,\r\n type ToastDescriptionProps,\r\n type ToastPortalProps,\r\n type ToastTitleProps,\r\n type ToastViewportProps,\r\n};\r\n\r\n\r\n"]}
@@ -0,0 +1,3 @@
1
+ import {jsx}from'react/jsx-runtime';function l({color:r="currentColor",size:o=24,strokeWidth:C=0,absoluteStrokeWidth:n,...t}){return jsx("svg",{fill:"none",height:o,viewBox:"0 0 24 24",width:o,xmlns:"http://www.w3.org/2000/svg",...t,children:jsx("path",{clipRule:"evenodd",d:"M2 7C2 4.23858 4.23858 2 7 2H17C19.7614 2 22 4.23858 22 7V17C22 19.7614 19.7614 22 17 22H7C4.23858 22 2 19.7614 2 17V7ZM8.29289 8.29289C8.68342 7.90237 9.31658 7.90237 9.70711 8.29289L12 10.5858L14.2929 8.29289C14.6834 7.90237 15.3166 7.90237 15.7071 8.29289C16.0976 8.68342 16.0976 9.31658 15.7071 9.70711L13.4142 12L15.7071 14.2929C16.0976 14.6834 16.0976 15.3166 15.7071 15.7071C15.3166 16.0976 14.6834 16.0976 14.2929 15.7071L12 13.4142L9.70711 15.7071C9.31658 16.0976 8.68342 16.0976 8.29289 15.7071C7.90237 15.3166 7.90237 14.6834 8.29289 14.2929L10.5858 12L8.29289 9.70711C7.90237 9.31658 7.90237 8.68342 8.29289 8.29289Z",fill:"currentColor",fillRule:"evenodd"})})}var i=l;
2
+ export{l as a,i as b};//# sourceMappingURL=chunk-4WDDWMBW.js.map
3
+ //# sourceMappingURL=chunk-4WDDWMBW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/icons/close-square-icon.tsx"],"names":["CloseSquareIcon","color","size","strokeWidth","absoluteStrokeWidth","props","jsx","close_square_icon_default"],"mappings":"oCAIA,SAASA,CAAAA,CAAgB,CACvB,KAAA,CAAAC,CAAAA,CAAQ,cAAA,CACR,IAAA,CAAAC,CAAAA,CAAO,EAAA,CACP,YAAAC,CAAAA,CAAc,CAAA,CACd,mBAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,EAAc,CACZ,OACEC,GAAAA,CAAC,KAAA,CAAA,CACC,IAAA,CAAK,MAAA,CACL,OAAQJ,CAAAA,CACR,OAAA,CAAQ,YACR,KAAA,CAAOA,CAAAA,CACP,MAAM,4BAAA,CACL,GAAGG,CAAAA,CAEJ,QAAA,CAAAC,GAAAA,CAAC,MAAA,CAAA,CACC,SAAS,SAAA,CACT,CAAA,CAAE,snBAAA,CACF,IAAA,CAAK,cAAA,CACL,QAAA,CAAS,UACX,CAAA,CACF,CAEJ,CAEA,IAAOC,CAAAA,CAAQP","file":"chunk-4WDDWMBW.js","sourcesContent":["\"use client\";\r\n\r\nimport { type IconProps } from \"../types\";\r\n\r\nfunction CloseSquareIcon({\r\n color = \"currentColor\",\r\n size = 24,\r\n strokeWidth = 0,\r\n absoluteStrokeWidth,\r\n ...props\r\n}: IconProps) {\r\n return (\r\n <svg\r\n fill=\"none\"\r\n height={size}\r\n viewBox=\"0 0 24 24\"\r\n width={size}\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n {...props}\r\n >\r\n <path\r\n clipRule=\"evenodd\"\r\n d=\"M2 7C2 4.23858 4.23858 2 7 2H17C19.7614 2 22 4.23858 22 7V17C22 19.7614 19.7614 22 17 22H7C4.23858 22 2 19.7614 2 17V7ZM8.29289 8.29289C8.68342 7.90237 9.31658 7.90237 9.70711 8.29289L12 10.5858L14.2929 8.29289C14.6834 7.90237 15.3166 7.90237 15.7071 8.29289C16.0976 8.68342 16.0976 9.31658 15.7071 9.70711L13.4142 12L15.7071 14.2929C16.0976 14.6834 16.0976 15.3166 15.7071 15.7071C15.3166 16.0976 14.6834 16.0976 14.2929 15.7071L12 13.4142L9.70711 15.7071C9.31658 16.0976 8.68342 16.0976 8.29289 15.7071C7.90237 15.3166 7.90237 14.6834 8.29289 14.2929L10.5858 12L8.29289 9.70711C7.90237 9.31658 7.90237 8.68342 8.29289 8.29289Z\"\r\n fill=\"currentColor\"\r\n fillRule=\"evenodd\"\r\n />\r\n </svg>\r\n );\r\n}\r\n\r\nexport default CloseSquareIcon;\r\nexport { CloseSquareIcon };\r\n"]}
@@ -0,0 +1,3 @@
1
+ import {jsxs,jsx}from'react/jsx-runtime';function s({color:n="currentColor",size:r=12,strokeWidth:e=1,absoluteStrokeWidth:t,...u}){return jsxs("svg",{fill:"none",height:r,stroke:n,strokeWidth:t?Number(e)*12/Number(r):e,viewBox:"0 0 12 12",width:r,xmlns:"http://www.w3.org/2000/svg",...u,children:[jsx("path",{d:"M10.5 8L8.5 10L6.5 8",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),jsx("path",{d:"M8.5 10V2",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),jsx("path",{d:"M1.5 4L3.5 2L5.5 4",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),jsx("path",{d:"M3.5 2V10",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"})]})}var d=s;
2
+ export{d as a};//# sourceMappingURL=chunk-5ETIHFSE.js.map
3
+ //# sourceMappingURL=chunk-5ETIHFSE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/icons/sort-default-icon.tsx"],"names":["SortDefaultIcon","color","size","strokeWidth","absoluteStrokeWidth","props","jsxs","jsx","sort_default_icon_default"],"mappings":"yCAIA,SAASA,CAAAA,CAAgB,CACvB,KAAA,CAAAC,CAAAA,CAAQ,eACR,IAAA,CAAAC,CAAAA,CAAO,GACP,WAAA,CAAAC,CAAAA,CAAc,EACd,mBAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,CAAc,CACZ,OACEC,IAAAA,CAAC,KAAA,CAAA,CACC,KAAK,MAAA,CACL,MAAA,CAAQJ,EACR,MAAA,CAAQD,CAAAA,CACR,WAAA,CAAaG,CAAAA,CAAuB,MAAA,CAAOD,CAAW,EAAI,EAAA,CAAM,MAAA,CAAOD,CAAI,CAAA,CAAIC,CAAAA,CAC/E,QAAQ,WAAA,CACR,KAAA,CAAOD,CAAAA,CACP,KAAA,CAAM,4BAAA,CACL,GAAGG,EAEJ,QAAA,CAAA,CAAAE,GAAAA,CAAC,QAAK,CAAA,CAAE,sBAAA,CAAuB,OAAO,cAAA,CAAe,aAAA,CAAc,QAAQ,cAAA,CAAe,OAAA,CAAQ,EAClGA,GAAAA,CAAC,MAAA,CAAA,CAAK,EAAE,WAAA,CAAY,MAAA,CAAO,eAAe,aAAA,CAAc,OAAA,CAAQ,cAAA,CAAe,OAAA,CAAQ,CAAA,CACvFA,GAAAA,CAAC,QAAK,CAAA,CAAE,oBAAA,CAAqB,OAAO,cAAA,CAAe,aAAA,CAAc,QAAQ,cAAA,CAAe,OAAA,CAAQ,CAAA,CAChGA,GAAAA,CAAC,MAAA,CAAA,CAAK,CAAA,CAAE,YAAY,MAAA,CAAO,cAAA,CAAe,cAAc,OAAA,CAAQ,cAAA,CAAe,QAAQ,CAAA,CAAA,CACzF,CAEJ,CAEA,IAAOC,CAAAA,CAAQR","file":"chunk-5ETIHFSE.js","sourcesContent":["\"use client\"\r\n\r\nimport { type IconProps } from \"../types\";\r\n\r\nfunction SortDefaultIcon({\r\n color = \"currentColor\",\r\n size = 12,\r\n strokeWidth = 1,\r\n absoluteStrokeWidth,\r\n ...props\r\n}: IconProps) {\r\n return (\r\n <svg\r\n fill=\"none\"\r\n height={size}\r\n stroke={color}\r\n strokeWidth={absoluteStrokeWidth ? (Number(strokeWidth) * 12) / Number(size) : strokeWidth}\r\n viewBox=\"0 0 12 12\"\r\n width={size}\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n {...props}\r\n >\r\n <path d=\"M10.5 8L8.5 10L6.5 8\" stroke=\"currentColor\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\r\n <path d=\"M8.5 10V2\" stroke=\"currentColor\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\r\n <path d=\"M1.5 4L3.5 2L5.5 4\" stroke=\"currentColor\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\r\n <path d=\"M3.5 2V10\" stroke=\"currentColor\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\r\n </svg>\r\n );\r\n}\r\n\r\nexport default SortDefaultIcon;\r\n"]}
@@ -0,0 +1,2 @@
1
+ import {a as a$2}from'./chunk-WWCXHCNU.js';import {a,b,c}from'./chunk-NGSCUYDU.js';import {b as b$1}from'./chunk-VNAMAKPG.js';import {a as a$1}from'./chunk-T7HRX3EC.js';import u from'react';import {useControlledState}from'@xploreu/hooks/use-controlled-state';import {format,endOfWeek,startOfWeek,endOfMonth,startOfMonth,subMonths,endOfYear,startOfYear,subYears}from'date-fns';import {ChevronDown}from'lucide-react';import'react-day-picker';import {cn}from'@xploreu/lib/cn';import {jsxs,jsx}from'react/jsx-runtime';var N=[{label:"Today",value:"today",getDateRange:()=>{let e=new Date;return {from:e,to:e}}},{value:"last-7-days",label:"Last 7 days",getDateRange:()=>({from:new Date(Date.now()-8640*60*1e3),to:new Date})},{label:"This Week",value:"this-week",getDateRange:()=>{let e=new Date;return {from:startOfWeek(e,{weekStartsOn:1}),to:endOfWeek(e,{weekStartsOn:1})}}},{label:"This Month",value:"this-month",getDateRange:()=>{let e=new Date;return {from:startOfMonth(e),to:endOfMonth(e)}}},{label:"Last 3 Months",value:"last-3-months",getDateRange:()=>{let e=new Date;return {from:subMonths(e,3),to:e}}},{label:"Last 6 Months",value:"last-6-months",getDateRange:()=>{let e=new Date;return {from:subMonths(e,6),to:e}}},{label:"This Year",value:"this-year",getDateRange:()=>{let e=new Date;return {from:startOfYear(e),to:endOfYear(e)}}},{label:"Last Year",value:"last-year",getDateRange:()=>{let e=subYears(new Date,1);return {from:startOfYear(e),to:endOfYear(e)}}},{label:"Custom Range",value:"custom-range",getDateRange:()=>{}}];function ne({className:e,value:P,onValueChange:p,defaultValue:V,required:d,disabled:b$2,placeholder:S="Pick a date",options:D=true,disabledDates:Y}){let T=u.useCallback(t=>{p?.(t);},[p,d]),[a$3,v]=useControlledState({value:P,defaultValue:V,onChange:T}),[q,h]=u.useState(a$3?.from||new Date),[z,B]=u.useState(false),[F,y]=u.useState("days"),f=!!a$3?.from,s=(t,n)=>!t||!n?false:t.getFullYear()===n.getFullYear()&&t.getMonth()===n.getMonth()&&t.getDate()===n.getDate(),W=t=>{if(!a$3?.from||!a$3?.to)return false;if(t.value==="custom-range")return N.every(o=>{if(o.value==="custom-range")return true;let l=o.getDateRange();return !l?.from||!l?.to?true:!(s(a$3.from,l.from)&&s(a$3.to,l.to))});let n=t.getDateRange();return !n?.from||!n?.to?false:s(a$3.from,n.from)&&s(a$3.to,n.to)};return jsxs(a,{open:b$2?false:z,onOpenChange:B,children:[jsx(b,{render:jsxs(b$1,{className:cn("group h-9 w-full justify-between rounded-xp-card-base border px-3 text-body-medium-3 transition-colors","border-border-primary bg-bg-primary text-text-secondary hover:bg-bg-primary-hover",f&&"border-border-brand bg-bg-brand-primary text-text-brand-secondary","data-[popup-open]:border-border-brand data-[popup-open]:bg-bg-brand-primary data-[popup-open]:text-text-brand-secondary","disabled:pointer-events-none disabled:opacity-50",e),variant:null,size:null,disabled:b$2,children:[jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[jsx(a$1,{className:cn("size-4 shrink-0",f?"text-fg-brand-primary":"text-fg-quaternary")}),jsx("span",{className:"truncate",children:a$3?.from?a$3.to?`${format(a$3.from,"LLL dd, y")} - ${format(a$3.to,"LLL dd, y")}`:format(a$3.from,"LLL dd, y"):S})]}),jsx(ChevronDown,{className:cn("size-4 shrink-0 transition-transform group-data-[popup-open]:rotate-180",f?"text-fg-brand-primary":"text-fg-quaternary")})]})}),jsxs(c,{className:cn("w-auto border-0",D?"rounded-2xl p-xp-lg flex gap-6":"p-xp-none bg-transparent"),children:[D&&jsx("div",{className:"flex flex-col gap-xp-md w-[135px]",children:N.map(t=>{let n=W(t);return jsx(b$1,{className:"justify-start px-xp-xl",variant:n?"tertiary-accent":null,onClick:()=>{let o=t.getDateRange();o&&(v(o),y("days"),h(o.from));},children:t.label},t.value)})}),jsx(a$2,{autoFocus:true,disabled:Y,mode:"range",month:q,navView:F,numberOfMonths:2,selected:a$3,onMonthChange:h,onNavViewChange:y,onSelect:t=>{d&&!t||v(t);}})]})]})}export{ne as a};//# sourceMappingURL=chunk-77T5FOYW.js.map
2
+ //# sourceMappingURL=chunk-77T5FOYW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/date-range-picker.tsx"],"names":["dateRangeOptions","t","now","startOfWeek","endOfWeek","startOfMonth","endOfMonth","subMonths","startOfYear","endOfYear","ly","subYears","DateRangePicker","className","valueProp","onValueChangeProp","defaultValue","required","disabled","placeholder","options","disabledDates","onValueChange","React","value","setValue","useControlledState","currentMonth","setCurrentMonth","isOpen","setIsOpen","navView","setNavView","hasValue","isSameDay","date1","date2","isOptionActive","option","opt","optRange","optionRange","jsxs","Popover","jsx","PopoverTrigger","Button","cn","calendar_icon_default","format","ChevronDown","PopoverPopup","active","dateRange","Calendar","val"],"mappings":"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","file":"chunk-77T5FOYW.js","sourcesContent":["\"use client\"\r\n\r\nimport React from \"react\"\r\n\r\nimport { useControlledState } from \"@xploreu/hooks/use-controlled-state\"\r\nimport {\r\n endOfMonth,\r\n endOfWeek,\r\n endOfYear,\r\n format,\r\n startOfMonth,\r\n startOfWeek,\r\n startOfYear,\r\n subMonths,\r\n subYears,\r\n} from \"date-fns\"\r\nimport { ChevronDown } from \"lucide-react\"\r\nimport { type DateRange, type Matcher } from \"react-day-picker\"\r\n\r\nexport type { DateRange }\r\n\r\nimport { cn } from \"@xploreu/lib/cn\"\r\n\r\nimport { Button } from \"./button\"\r\nimport { Calendar, type NavView } from \"./calendar\"\r\nimport { CalendarIcon } from \"../icons\"\r\nimport { Popover, PopoverPopup, PopoverTrigger } from \"./popover\"\r\n\r\nexport type DateRangePickerProps = {\r\n className?: string\r\n value?: DateRange\r\n defaultValue?: DateRange\r\n required?: boolean\r\n disabled?: boolean\r\n placeholder?: string\r\n options?: boolean\r\n disabledDates?: Matcher | Matcher[] | undefined\r\n} & ({\r\n required: true\r\n onValueChange?: (value: DateRange) => void\r\n} | {\r\n required?: false\r\n onValueChange?: (value: DateRange | undefined) => void\r\n})\r\n\r\ntype DateRangeOption = {\r\n label: string\r\n value: string\r\n getDateRange: () => DateRange | undefined\r\n}\r\n\r\nconst dateRangeOptions: DateRangeOption[] = [\r\n {\r\n label: \"Today\",\r\n value: \"today\",\r\n getDateRange: () => { const t = new Date(); return { from: t, to: t } },\r\n },\r\n {\r\n value: \"last-7-days\",\r\n label: \"Last 7 days\",\r\n getDateRange: () => ({\r\n from: new Date(Date.now() - 6 * 24 * 60 * 60 * 1000), // 6 days in milliseconds\r\n to: new Date(),\r\n }),\r\n },\r\n {\r\n label: \"This Week\",\r\n value: \"this-week\",\r\n getDateRange: () => {\r\n const now = new Date()\r\n return { from: startOfWeek(now, { weekStartsOn: 1 }), to: endOfWeek(now, { weekStartsOn: 1 }) }\r\n },\r\n },\r\n {\r\n label: \"This Month\",\r\n value: \"this-month\",\r\n getDateRange: () => { const now = new Date(); return { from: startOfMonth(now), to: endOfMonth(now) } },\r\n },\r\n {\r\n label: \"Last 3 Months\",\r\n value: \"last-3-months\",\r\n getDateRange: () => { const now = new Date(); return { from: subMonths(now, 3), to: now } },\r\n },\r\n {\r\n label: \"Last 6 Months\",\r\n value: \"last-6-months\",\r\n getDateRange: () => { const now = new Date(); return { from: subMonths(now, 6), to: now } },\r\n },\r\n {\r\n label: \"This Year\",\r\n value: \"this-year\",\r\n getDateRange: () => { const now = new Date(); return { from: startOfYear(now), to: endOfYear(now) } },\r\n },\r\n {\r\n label: \"Last Year\",\r\n value: \"last-year\",\r\n getDateRange: () => { const ly = subYears(new Date(), 1); return { from: startOfYear(ly), to: endOfYear(ly) } },\r\n },\r\n {\r\n label: \"Custom Range\",\r\n value: \"custom-range\",\r\n getDateRange: () => undefined,\r\n },\r\n]\r\n\r\nfunction DateRangePicker({\r\n className,\r\n value: valueProp,\r\n onValueChange: onValueChangeProp,\r\n defaultValue,\r\n required,\r\n disabled,\r\n placeholder = \"Pick a date\",\r\n options = true,\r\n disabledDates,\r\n}: DateRangePickerProps) {\r\n const onValueChange = React.useCallback(\r\n (value: DateRange | undefined) => {\r\n if (required) onValueChangeProp?.(value as DateRange)\r\n else onValueChangeProp?.(value)\r\n },\r\n [onValueChangeProp, required],\r\n )\r\n\r\n const [value, setValue] = useControlledState<DateRange | undefined>({\r\n value: valueProp,\r\n defaultValue,\r\n onChange: onValueChange,\r\n })\r\n\r\n const [currentMonth, setCurrentMonth] = React.useState<Date | undefined>(value?.from || new Date())\r\n const [isOpen, setIsOpen] = React.useState(false)\r\n const [navView, setNavView] = React.useState<NavView>(\"days\")\r\n\r\n const hasValue = !!value?.from\r\n\r\n const isSameDay = (date1?: Date, date2?: Date): boolean => {\r\n if (!date1 || !date2) return false\r\n return (\r\n date1.getFullYear() === date2.getFullYear() &&\r\n date1.getMonth() === date2.getMonth() &&\r\n date1.getDate() === date2.getDate()\r\n )\r\n }\r\n\r\n const isOptionActive = (option: DateRangeOption): boolean => {\r\n if (!value?.from || !value?.to) return false\r\n if (option.value === \"custom-range\") {\r\n return dateRangeOptions.every((opt) => {\r\n if (opt.value === \"custom-range\") return true\r\n const optRange = opt.getDateRange()\r\n if (!optRange?.from || !optRange?.to) return true\r\n return !(isSameDay(value.from, optRange.from) && isSameDay(value.to, optRange.to))\r\n })\r\n }\r\n const optionRange = option.getDateRange()\r\n if (!optionRange?.from || !optionRange?.to) return false\r\n return isSameDay(value.from, optionRange.from) && isSameDay(value.to, optionRange.to)\r\n }\r\n\r\n return (\r\n <Popover open={disabled ? false : isOpen} onOpenChange={setIsOpen}>\r\n <PopoverTrigger\r\n render={\r\n <Button\r\n className={cn(\r\n \"group h-9 w-full justify-between rounded-xp-card-base border px-3 text-body-medium-3 transition-colors\",\r\n \"border-border-primary bg-bg-primary text-text-secondary hover:bg-bg-primary-hover\",\r\n hasValue &&\r\n \"border-border-brand bg-bg-brand-primary text-text-brand-secondary\",\r\n \"data-[popup-open]:border-border-brand data-[popup-open]:bg-bg-brand-primary data-[popup-open]:text-text-brand-secondary\",\r\n \"disabled:pointer-events-none disabled:opacity-50\",\r\n className,\r\n )}\r\n variant={null}\r\n size={null}\r\n disabled={disabled}\r\n >\r\n <span className=\"flex min-w-0 items-center gap-2\">\r\n <CalendarIcon\r\n className={cn(\r\n \"size-4 shrink-0\",\r\n hasValue ? \"text-fg-brand-primary\" : \"text-fg-quaternary\",\r\n )}\r\n />\r\n <span className=\"truncate\">\r\n {value?.from\r\n ? value.to\r\n ? `${format(value.from, \"LLL dd, y\")} - ${format(value.to, \"LLL dd, y\")}`\r\n : format(value.from, \"LLL dd, y\")\r\n : placeholder}\r\n </span>\r\n </span>\r\n <ChevronDown\r\n className={cn(\r\n \"size-4 shrink-0 transition-transform group-data-[popup-open]:rotate-180\",\r\n hasValue ? \"text-fg-brand-primary\" : \"text-fg-quaternary\",\r\n )}\r\n />\r\n </Button>\r\n }\r\n />\r\n <PopoverPopup\r\n className={cn(\r\n \"w-auto border-0\",\r\n options ? \"rounded-2xl p-xp-lg flex gap-6\" : \"p-xp-none bg-transparent\",\r\n )}\r\n >\r\n {options && (\r\n <div className=\"flex flex-col gap-xp-md w-[135px]\">\r\n {dateRangeOptions.map((option) => {\r\n const active = isOptionActive(option)\r\n return (\r\n <Button\r\n key={option.value}\r\n className=\"justify-start px-xp-xl\"\r\n variant={active ? \"tertiary-accent\" : null}\r\n onClick={() => {\r\n const dateRange = option.getDateRange()\r\n if (dateRange) {\r\n setValue(dateRange)\r\n setNavView(\"days\")\r\n setCurrentMonth(dateRange.from)\r\n }\r\n }}\r\n >\r\n {option.label}\r\n </Button>\r\n )\r\n })}\r\n </div>\r\n )}\r\n <Calendar\r\n autoFocus\r\n disabled={disabledDates}\r\n mode=\"range\"\r\n month={currentMonth}\r\n navView={navView}\r\n numberOfMonths={2}\r\n selected={value}\r\n onMonthChange={setCurrentMonth}\r\n onNavViewChange={setNavView}\r\n onSelect={(val) => {\r\n if (required && !val) return\r\n setValue(val)\r\n }}\r\n />\r\n </PopoverPopup>\r\n </Popover>\r\n )\r\n}\r\n\r\nexport { DateRangePicker }\r\n"]}
@@ -0,0 +1,2 @@
1
+ import {a as a$1}from'./chunk-AGKZWMW5.js';import {a}from'./chunk-W2HFGSVH.js';import {b}from'./chunk-DZKJRP4J.js';import*as n from'react';import {Slot}from'@radix-ui/react-slot';import {cva}from'class-variance-authority';import {CircleIcon}from'lucide-react';import {cn}from'@xploreu/lib/cn';import {jsxs,jsx}from'react/jsx-runtime';var B=[{status:"open-to-all",label:"Open to All Opportunities",badgeColor:"gray"},{status:"open-to-work",label:"Open to Work",badgeColor:"success"},{status:"open-to-freelance",label:"Open to Freelance",badgeColor:"warning"},{status:"open-to-coach",label:"Open to Coach",badgeColor:"blue-light"}],I=cva("flex flex-col items-center relative",{variants:{size:{xs:"gap-0.5 w-6",sm:"gap-0.5 w-8",md:"gap-0.5 w-10",lg:"gap-1 w-12",xl:"gap-1 w-14","2xl":"gap-2 w-16","3xl":"gap-2 w-20"}},defaultVariants:{size:"sm"}}),R=cva(void 0,{variants:{size:{xs:"p-0.5 h-2 font-semibold text-[5px] leading-2",sm:"p-1 h-2.5 font-semibold text-[6px] leading-2.5",md:"px-1 h-3.5 font-semibold text-[6px] leading-2.5",lg:"px-1 h-4 text-body-semibold-caption",xl:"px-1 h-6 text-body-semibold-xs","2xl":"px-2 h-9 text-body-semibold-sm","3xl":"px-2 h-10 text-label-semibold-4"}},defaultVariants:{size:"sm"}}),q=cva(void 0,{variants:{size:{xs:"p-[1.5px]",sm:"p-xp-xxs",md:"p-[2.5px]",lg:"p-xp-xs",xl:"p-[3.5px]","2xl":"p-1","3xl":"p-1"}},defaultVariants:{size:"sm"}});function G({avatarClassName:x,badgeClassName:y,imageSrc:c,avatarImageClassName:h,imageAlt:d,className:N,status:a$2,size:s,isVerified:k,onEdit:g,onClickAvatar:C,variant:o="profile",isOnline:z,companyLogoSrc:i,bordered:r=true,badged:w=false,...A}){let l=n.useMemo(()=>B.find(j=>j.status===a$2),[a$2]),m=!!a$2,P=r&&m&&o==="profile"?"div":Slot,V=n.useMemo(()=>{switch(o){case "company":return "/images/fallback-company.jpeg";case "university":return "/images/fallback-university.jpeg";case "group":return "/images/fallback-user-group.jpeg";default:return "/images/fallback-user.jpeg"}},[o]);return jsxs("div",{className:cn(I({size:s,className:N})),"data-slot":"profile-avatar",...A,children:[jsx(P,{className:cn("rounded-xp-card-base",r?cn(a$2==="open-to-work"&&"bg-gradient-avatar-outline-opentowork",a$2==="open-to-freelance"&&"bg-gradient-avatar-outline-opentoprofesional",a$2==="open-to-coach"&&"bg-gradient-avatar-outline-opentocoach",a$2==="open-to-all"&&"bg-gradient-avatar-outline-opentowork",!a$2&&o==="profile"&&"bg-border-secondary"):void 0,r&&o==="profile"&&q({size:s})),children:jsxs("div",{className:"relative group",children:[jsx("div",{className:cn("relative flex size-8 shrink-0 overflow-hidden rounded-xp-card-base","size-full",r&&m&&"border-0",x),onClick:C,children:c?jsx("img",{alt:d||"Avatar",className:cn("aspect-square size-full bg-bg-primary object-cover",h),src:c}):jsx("div",{className:"flex aspect-square size-full items-center justify-center bg-bg-tertiary text-label-semibold-2 text-text-quaternary",children:jsx("img",{alt:d||"Avatar Fallback",className:"aspect-square size-full bg-bg-primary object-cover",src:V})})}),g&&jsx("div",{className:"absolute inset-0 flex opacity-0 hover:opacity-100 hover:bg-background-primary-subtle-press/25 rounded-xp-card-base transition-opacity duration-200 items-center justify-center cursor-pointer",id:"avatar-upload-trigger",onClick:g,children:jsx("div",{className:"flex items-center p-2 hover:bg-background-primary-subtle-hover justify-center rounded-xp-card-base-sm bg-background-canvas-subtle",children:jsx(a,{className:"size-6"})})}),z&&!i&&jsx(CircleIcon,{className:"text-bg-primary-replace fill-fg-success-secondary size-[11.5px] absolute -bottom-[3.5px] -right-[3.5px]"}),i!==void 0&&jsx("div",{className:"border border-bg-primary-replace size-[15px] rounded-xs absolute -bottom-[3.5px] -right-[3.5px] overflow-hidden bg-bg-primary",children:jsx("img",{alt:"Company Logo",className:"bg-bg-primary object-cover size-full",src:i})})]})}),w&&l&&jsx(b,{className:cn(R({size:s,className:y})),color:l.badgeColor,size:"sm",children:l.label}),k&&jsx("div",{className:"absolute -bottom-1 -right-1",children:jsx(a$1,{className:"size-4 text-[#068BEE]"})})]})}export{G as a};//# sourceMappingURL=chunk-7WQRDDWL.js.map
2
+ //# sourceMappingURL=chunk-7WQRDDWL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/composites/profile-avatar.tsx"],"names":["profileAvatarStatus","profileAvatarVariants","cva","profileAvatarBadgeVariants","profileAvatarPaddingVariants","ProfileAvatar","avatarClassName","badgeClassName","imageSrc","avatarImageClassName","imageAlt","className","status","size","isVerified","onEdit","onClickAvatar","variant","isOnline","companyLogoSrc","bordered","badged","props","activeStatus","s","hasActiveStatus","Comp","Slot","fallbackImage","jsxs","cn","jsx","upload_pictures_on_profile_icon_default","CircleIcon","Badge","verified_icon_default"],"mappings":"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","file":"chunk-7WQRDDWL.js","sourcesContent":["\"use client\"\r\n\r\nimport * as React from \"react\"\r\n\r\nimport { Slot } from \"@radix-ui/react-slot\"\r\nimport { cva, type VariantProps } from \"class-variance-authority\"\r\nimport { CircleIcon } from \"lucide-react\"\r\n\r\nimport { cn } from \"@xploreu/lib/cn\"\r\n\r\nimport { UploadPicturesOnProfileIcon, VerifiedIcon } from \"../icons\"\r\nimport { Badge } from \"../ui/badge\"\r\n\r\nexport type ProfileAvatarStatus =\r\n | \"open-to-all\"\r\n | \"open-to-work\"\r\n | \"open-to-freelance\"\r\n | \"open-to-coach\"\r\n | undefined\r\n\r\nexport type ProfileAvatarVariant = \"profile\" | \"company\" | \"university\" | \"group\"\r\n\r\nconst profileAvatarStatus: {\r\n status: ProfileAvatarStatus\r\n label: string\r\n badgeColor?: React.ComponentProps<typeof Badge>[\"color\"]\r\n}[] = [\r\n {\r\n status: \"open-to-all\",\r\n label: \"Open to All Opportunities\",\r\n badgeColor: \"gray\",\r\n },\r\n {\r\n status: \"open-to-work\",\r\n label: \"Open to Work\",\r\n badgeColor: \"success\",\r\n },\r\n {\r\n status: \"open-to-freelance\",\r\n label: \"Open to Freelance\",\r\n badgeColor: \"warning\",\r\n },\r\n {\r\n status: \"open-to-coach\",\r\n label: \"Open to Coach\",\r\n badgeColor: \"blue-light\",\r\n },\r\n]\r\n\r\nconst profileAvatarVariants = cva(\"flex flex-col items-center relative\", {\r\n variants: {\r\n size: {\r\n xs: \"gap-0.5 w-6\",\r\n sm: \"gap-0.5 w-8\",\r\n md: \"gap-0.5 w-10\",\r\n lg: \"gap-1 w-12\",\r\n xl: \"gap-1 w-14\",\r\n \"2xl\": \"gap-2 w-16\",\r\n \"3xl\": \"gap-2 w-20\",\r\n },\r\n },\r\n defaultVariants: {\r\n size: \"sm\",\r\n },\r\n})\r\n\r\nconst profileAvatarBadgeVariants = cva(undefined, {\r\n variants: {\r\n size: {\r\n xs: \"p-0.5 h-2 font-semibold text-[5px] leading-2\",\r\n sm: \"p-1 h-2.5 font-semibold text-[6px] leading-2.5\",\r\n md: \"px-1 h-3.5 font-semibold text-[6px] leading-2.5\",\r\n lg: \"px-1 h-4 text-body-semibold-caption\",\r\n xl: \"px-1 h-6 text-body-semibold-xs\",\r\n \"2xl\": \"px-2 h-9 text-body-semibold-sm\",\r\n \"3xl\": \"px-2 h-10 text-label-semibold-4\",\r\n },\r\n },\r\n defaultVariants: {\r\n size: \"sm\",\r\n },\r\n})\r\n\r\nconst profileAvatarPaddingVariants = cva(undefined, {\r\n variants: {\r\n size: {\r\n xs: \"p-[1.5px]\",\r\n sm: \"p-xp-xxs\",\r\n md: \"p-[2.5px]\",\r\n lg: \"p-xp-xs\",\r\n xl: \"p-[3.5px]\",\r\n \"2xl\": \"p-1\",\r\n \"3xl\": \"p-1\",\r\n },\r\n },\r\n defaultVariants: {\r\n size: \"sm\",\r\n },\r\n})\r\n\r\nfunction ProfileAvatar({\r\n avatarClassName,\r\n badgeClassName,\r\n imageSrc,\r\n avatarImageClassName,\r\n imageAlt,\r\n className,\r\n status,\r\n size,\r\n isVerified,\r\n onEdit,\r\n onClickAvatar,\r\n variant = \"profile\",\r\n isOnline,\r\n companyLogoSrc,\r\n bordered = true,\r\n badged = false,\r\n ...props\r\n}: React.ComponentProps<\"div\"> & {\r\n avatarClassName?: string\r\n badgeClassName?: string\r\n imageSrc?: string\r\n imageAlt?: string\r\n isVerified?: boolean\r\n avatarImageClassName?: string\r\n size?: VariantProps<typeof profileAvatarVariants>[\"size\"]\r\n status?: ProfileAvatarStatus\r\n onEdit?: () => void\r\n onClickAvatar?: () => void\r\n variant?: ProfileAvatarVariant\r\n isOnline?: boolean\r\n companyLogoSrc?: string\r\n bordered?: boolean\r\n badged?: boolean\r\n}) {\r\n const activeStatus = React.useMemo(() => {\r\n return profileAvatarStatus.find((s) => s.status === status)\r\n }, [status])\r\n\r\n const hasActiveStatus = !!status\r\n const Comp = bordered && hasActiveStatus && variant === \"profile\" ? \"div\" : Slot\r\n\r\n const fallbackImage = React.useMemo(() => {\r\n switch (variant) {\r\n case \"company\":\r\n return \"/images/fallback-company.jpeg\"\r\n case \"university\":\r\n return \"/images/fallback-university.jpeg\"\r\n case \"group\":\r\n return \"/images/fallback-user-group.jpeg\"\r\n default:\r\n return \"/images/fallback-user.jpeg\"\r\n }\r\n }, [variant])\r\n\r\n return (\r\n <div\r\n className={cn(profileAvatarVariants({ size, className }))}\r\n data-slot=\"profile-avatar\"\r\n {...props}\r\n >\r\n <Comp\r\n className={cn(\r\n \"rounded-xp-card-base\",\r\n bordered\r\n ? cn(\r\n status === \"open-to-work\" && \"bg-gradient-avatar-outline-opentowork\",\r\n status === \"open-to-freelance\" && \"bg-gradient-avatar-outline-opentoprofesional\",\r\n status === \"open-to-coach\" && \"bg-gradient-avatar-outline-opentocoach\",\r\n status === \"open-to-all\" && \"bg-gradient-avatar-outline-opentowork\",\r\n !status && variant === \"profile\" && \"bg-border-secondary\"\r\n )\r\n : undefined,\r\n bordered && variant === \"profile\" && profileAvatarPaddingVariants({ size })\r\n )}\r\n >\r\n <div className=\"relative group\">\r\n <div\r\n className={cn(\r\n \"relative flex size-8 shrink-0 overflow-hidden rounded-xp-card-base\",\r\n \"size-full\",\r\n bordered && hasActiveStatus && \"border-0\",\r\n avatarClassName\r\n )}\r\n onClick={onClickAvatar}\r\n >\r\n {imageSrc ? (\r\n // eslint-disable-next-line @next/next/no-img-element\r\n <img\r\n alt={imageAlt || \"Avatar\"}\r\n className={cn(\"aspect-square size-full bg-bg-primary object-cover\", avatarImageClassName)}\r\n src={imageSrc}\r\n />\r\n ) : (\r\n <div className=\"flex aspect-square size-full items-center justify-center bg-bg-tertiary text-label-semibold-2 text-text-quaternary\">\r\n {/* eslint-disable-next-line @next/next/no-img-element */}\r\n <img\r\n alt={imageAlt || \"Avatar Fallback\"}\r\n className=\"aspect-square size-full bg-bg-primary object-cover\"\r\n src={fallbackImage}\r\n />\r\n </div>\r\n )}\r\n </div>\r\n\r\n {onEdit && (\r\n <div\r\n className=\"absolute inset-0 flex opacity-0 hover:opacity-100 hover:bg-background-primary-subtle-press/25 rounded-xp-card-base transition-opacity duration-200 items-center justify-center cursor-pointer\"\r\n id=\"avatar-upload-trigger\"\r\n onClick={onEdit}\r\n >\r\n <div className=\"flex items-center p-2 hover:bg-background-primary-subtle-hover justify-center rounded-xp-card-base-sm bg-background-canvas-subtle\">\r\n <UploadPicturesOnProfileIcon className=\"size-6\" />\r\n </div>\r\n </div>\r\n )}\r\n {isOnline && !companyLogoSrc && (\r\n <CircleIcon className=\"text-bg-primary-replace fill-fg-success-secondary size-[11.5px] absolute -bottom-[3.5px] -right-[3.5px]\" />\r\n )}\r\n {companyLogoSrc !== undefined && (\r\n <div className=\"border border-bg-primary-replace size-[15px] rounded-xs absolute -bottom-[3.5px] -right-[3.5px] overflow-hidden bg-bg-primary\">\r\n {/* eslint-disable-next-line @next/next/no-img-element */}\r\n <img\r\n alt=\"Company Logo\"\r\n className=\"bg-bg-primary object-cover size-full\"\r\n src={companyLogoSrc}\r\n />\r\n </div>\r\n )}\r\n </div>\r\n </Comp>\r\n {badged &&\r\n activeStatus && (\r\n <Badge\r\n className={cn(profileAvatarBadgeVariants({ size, className: badgeClassName }))}\r\n color={activeStatus.badgeColor}\r\n size=\"sm\"\r\n >\r\n {activeStatus.label}\r\n </Badge>\r\n )}\r\n\r\n {isVerified && (\r\n <div className=\"absolute -bottom-1 -right-1\">\r\n <VerifiedIcon className=\"size-4 text-[#068BEE]\" />\r\n </div>\r\n )}\r\n </div>\r\n )\r\n}\r\n\r\nexport { ProfileAvatar }\r\n"]}
@@ -0,0 +1,2 @@
1
+ import {b,c,g,d,f,h as h$1,i,j,k as k$1,e}from'./chunk-5YDJTHDG.js';import'react';import {XIcon}from'lucide-react';import {cn}from'@xploreu/lib/cn';import {jsx,jsxs}from'react/jsx-runtime';function C(o){return jsx(b,{...o})}function h(o){return jsx(c,{...o})}function w(o){return jsx(g,{...o})}function x({className:o,...i}){return jsx(e,{className:cn("fixed inset-0 z-50 bg-black/50 backdrop-blur-sm",o),...i})}function k({className:o,children:i,showCloseButton:c=true,closeClassName:v,...y}){return jsxs(d,{children:[jsx(x,{}),jsxs(f,{className:cn("fixed left-[50%] top-[50%] z-50 grid w-[calc(100%-2rem)] max-w-lg translate-x-[-50%] translate-y-[-50%] bg-bg-primary shadow-xp-lg rounded-xl overflow-hidden",o),...y,children:[i,c&&jsxs(g,{className:cn("data-[state=open]:bg-bg-primary data-[state=open]:text-text-primary absolute top-3 right-4 rounded-xs transition-colors hover:text-text-error-primary-hover disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",v),children:[jsx(XIcon,{}),jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function H({className:o,...i}){return jsx(h$1,{className:cn("relative px-4 py-3 flex flex-col bg-bg-primary border-b border-border-tertiary bg-radial-[100%_200%_at_0%_0%] from-modal-dialog-stop-0 to-bg-primary has-[[data-slot=dialog-icon]]:pl-16",o),...i})}function N({className:o,...i}){return jsx("div",{"data-slot":"dialog-content",className:cn("px-4 py-4 max-h-[60vh] overflow-y-auto",o),...i})}function B({className:o,...i$1}){return jsx(i,{className:cn("flex gap-2 items-center justify-end bg-bg-primary border-t border-border-tertiary px-4 py-3 shadow-[0px_-1px_24px_0px_var(--color-shadow-xs)] peer-[[data-slot=dialog-content]]:border-0",o),...i$1})}function F({className:o,...i}){return jsx(j,{className:cn("text-label-bold-2 text-text-primary",o),...i})}function z({className:o,...i}){return jsx(k$1,{className:cn("mt-0.5 text-body-regular-3 text-text-secondary",o),...i})}function R({className:o,...i}){return jsx("div",{"data-slot":"dialog-icon",className:cn("absolute top-[13px] left-4 flex items-center justify-center rounded-lg bg-bg-primary p-2.5 [&_svg]:size-4 bg-bg-brand-solid text-fg-white shadow-[0px_1px_2px_-1px_var(--color-shadow-lg-01),0px_1px_3px_0px_var(--color-shadow-md-01),0px_0px_0px_4px_var(--color-focus-ring-secondary)]",o),...i})}export{C as a,h as b,w as c,k as d,H as e,N as f,B as g,F as h,z as i,R as j};//# sourceMappingURL=chunk-AKTRVGKT.js.map
2
+ //# sourceMappingURL=chunk-AKTRVGKT.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ui/dialog.tsx"],"names":["Dialog","props","jsx","DialogTrigger","DialogClose","DialogBackdrop","className","cn","DialogPopup","children","showCloseButton","closeClassName","jsxs","DialogPortal","XIcon","DialogHeader","DialogContent","DialogFooter","DialogTitle","DialogDescription","DialogIcon"],"mappings":"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","file":"chunk-DSH6THYW.js","sourcesContent":["import * as React from 'react';\r\nimport { XIcon } from 'lucide-react';\r\n\r\nimport {\r\n Dialog as DialogPrimitive,\r\n DialogPopup as DialogPopupPrimitive,\r\n DialogDescription as DialogDescriptionPrimitive,\r\n DialogFooter as DialogFooterPrimitive,\r\n DialogHeader as DialogHeaderPrimitive,\r\n DialogTitle as DialogTitlePrimitive,\r\n DialogTrigger as DialogTriggerPrimitive,\r\n DialogPortal as DialogPortalPrimitive,\r\n DialogBackdrop as DialogBackdropPrimitive,\r\n DialogClose as DialogClosePrimitive,\r\n type DialogProps as DialogPrimitiveProps,\r\n type DialogPopupProps as DialogPopupPrimitiveProps,\r\n type DialogDescriptionProps as DialogDescriptionPrimitiveProps,\r\n type DialogFooterProps as DialogFooterPrimitiveProps,\r\n type DialogHeaderProps as DialogHeaderPrimitiveProps,\r\n type DialogTitleProps as DialogTitlePrimitiveProps,\r\n type DialogTriggerProps as DialogTriggerPrimitiveProps,\r\n type DialogBackdropProps as DialogBackdropPrimitiveProps,\r\n type DialogCloseProps as DialogClosePrimitiveProps,\r\n} from '../primitives/dialog';\r\nimport { cn } from '@xploreu/lib/cn';\r\n\r\ntype DialogProps = DialogPrimitiveProps;\r\n\r\nfunction Dialog(props: DialogProps) {\r\n return <DialogPrimitive {...props} />;\r\n}\r\n\r\ntype DialogTriggerProps = DialogTriggerPrimitiveProps;\r\n\r\nfunction DialogTrigger(props: DialogTriggerProps) {\r\n return <DialogTriggerPrimitive {...props} />;\r\n}\r\n\r\ntype DialogCloseProps = DialogClosePrimitiveProps;\r\n\r\nfunction DialogClose(props: DialogCloseProps) {\r\n return <DialogClosePrimitive {...props} />;\r\n}\r\n\r\ntype DialogBackdropProps = DialogBackdropPrimitiveProps;\r\n\r\nfunction DialogBackdrop({ className, ...props }: DialogBackdropProps) {\r\n return (\r\n <DialogBackdropPrimitive\r\n className={cn('fixed inset-0 z-50 bg-black/50 backdrop-blur-sm', className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\ntype DialogPopupProps = DialogPopupPrimitiveProps & {\r\n showCloseButton?: boolean;\r\n closeClassName?: string;\r\n};\r\n\r\nfunction DialogPopup({\r\n className,\r\n children,\r\n showCloseButton = true,\r\n closeClassName,\r\n ...props\r\n}: DialogPopupProps) {\r\n return (\r\n <DialogPortalPrimitive>\r\n <DialogBackdrop />\r\n <DialogPopupPrimitive\r\n className={cn(\r\n \"fixed left-[50%] top-[50%] z-50 grid w-[calc(100%-2rem)] max-w-lg translate-x-[-50%] translate-y-[-50%] border border-border-primary bg-bg-primary shadow-xp-lg rounded-xp-card-base overflow-hidden\",\r\n className,\r\n )}\r\n {...props}\r\n >\r\n {children}\r\n {showCloseButton && (\r\n <DialogClosePrimitive\r\n className={cn(\r\n \"data-[state=open]:bg-bg-primary data-[state=open]:text-text-primary absolute top-3 right-4 rounded-xs transition-colors hover:text-text-error-primary-hover disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\r\n closeClassName\r\n )}\r\n >\r\n <XIcon />\r\n <span className=\"sr-only\">Close</span>\r\n </DialogClosePrimitive>\r\n )}\r\n </DialogPopupPrimitive>\r\n </DialogPortalPrimitive>\r\n );\r\n}\r\n\r\ntype DialogHeaderProps = DialogHeaderPrimitiveProps;\r\n\r\nfunction DialogHeader({ className, ...props }: DialogHeaderProps) {\r\n return (\r\n <DialogHeaderPrimitive\r\n className={cn(\"relative px-4 py-3 flex flex-col bg-bg-primary border-b border-border-primary bg-radial-[100%_200%_at_0%_0%] from-modal-dialog-stop-0 to-bg-primary has-[[data-slot=dialog-icon]]:pl-16\", className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\ntype DialogContentProps = React.HTMLAttributes<HTMLDivElement>;\r\n\r\nfunction DialogContent({ className, ...props }: DialogContentProps) {\r\n return (\r\n <div\r\n data-slot=\"dialog-content\"\r\n className={cn(\"px-4 py-4 max-h-[60vh] overflow-y-auto\", className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\ntype DialogFooterProps = DialogFooterPrimitiveProps;\r\n\r\nfunction DialogFooter({ className, ...props }: DialogFooterProps) {\r\n return (\r\n <DialogFooterPrimitive\r\n className={cn(\r\n \"flex gap-2 items-center justify-end bg-bg-primary border-t border-border-primary px-4 py-3\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\ntype DialogTitleProps = DialogTitlePrimitiveProps;\r\n\r\nfunction DialogTitle({ className, ...props }: DialogTitleProps) {\r\n return (\r\n <DialogTitlePrimitive\r\n className={cn(\"text-label-bold-2 text-text-primary\", className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\ntype DialogDescriptionProps = DialogDescriptionPrimitiveProps;\r\n\r\nfunction DialogDescription({ className, ...props }: DialogDescriptionProps) {\r\n return (\r\n <DialogDescriptionPrimitive\r\n className={cn(\"mt-0.5 text-body-regular-3 text-text-secondary\", className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction DialogIcon({ className, ...props }: React.ComponentProps<\"div\">) {\r\n return (\r\n <div\r\n data-slot=\"dialog-icon\"\r\n className={cn(\"absolute top-[13px] left-4 flex items-center justify-center rounded-lg bg-bg-primary p-2.5 [&_svg]:size-4 bg-bg-brand-solid text-fg-white shadow-[0px_1px_2px_-1px_var(--color-shadow-lg-01),0px_1px_3px_0px_var(--color-shadow-md-01),0px_0px_0px_4px_var(--color-focus-ring-secondary)]\", className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nexport {\r\n Dialog,\r\n DialogTrigger,\r\n DialogClose,\r\n DialogPopup,\r\n DialogHeader,\r\n DialogContent,\r\n DialogFooter,\r\n DialogTitle,\r\n DialogDescription,\r\n DialogIcon,\r\n type DialogProps,\r\n type DialogTriggerProps,\r\n type DialogCloseProps,\r\n type DialogPopupProps,\r\n type DialogHeaderProps,\r\n type DialogContentProps,\r\n type DialogFooterProps,\r\n type DialogTitleProps,\r\n type DialogDescriptionProps,\r\n};"]}
1
+ {"version":3,"sources":["../src/ui/dialog.tsx"],"names":["Dialog","props","jsx","DialogTrigger","DialogClose","DialogBackdrop","className","cn","DialogPopup","children","showCloseButton","closeClassName","jsxs","DialogPortal","XIcon","DialogHeader","DialogContent","DialogFooter","DialogTitle","DialogDescription","DialogIcon"],"mappings":"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","file":"chunk-AKTRVGKT.js","sourcesContent":["import * as React from 'react';\r\nimport { XIcon } from 'lucide-react';\r\n\r\nimport {\r\n Dialog as DialogPrimitive,\r\n DialogPopup as DialogPopupPrimitive,\r\n DialogDescription as DialogDescriptionPrimitive,\r\n DialogFooter as DialogFooterPrimitive,\r\n DialogHeader as DialogHeaderPrimitive,\r\n DialogTitle as DialogTitlePrimitive,\r\n DialogTrigger as DialogTriggerPrimitive,\r\n DialogPortal as DialogPortalPrimitive,\r\n DialogBackdrop as DialogBackdropPrimitive,\r\n DialogClose as DialogClosePrimitive,\r\n type DialogProps as DialogPrimitiveProps,\r\n type DialogPopupProps as DialogPopupPrimitiveProps,\r\n type DialogDescriptionProps as DialogDescriptionPrimitiveProps,\r\n type DialogFooterProps as DialogFooterPrimitiveProps,\r\n type DialogHeaderProps as DialogHeaderPrimitiveProps,\r\n type DialogTitleProps as DialogTitlePrimitiveProps,\r\n type DialogTriggerProps as DialogTriggerPrimitiveProps,\r\n type DialogBackdropProps as DialogBackdropPrimitiveProps,\r\n type DialogCloseProps as DialogClosePrimitiveProps,\r\n} from '../primitives/dialog';\r\nimport { cn } from '@xploreu/lib/cn';\r\n\r\ntype DialogProps = DialogPrimitiveProps;\r\n\r\nfunction Dialog(props: DialogProps) {\r\n return <DialogPrimitive {...props} />;\r\n}\r\n\r\ntype DialogTriggerProps = DialogTriggerPrimitiveProps;\r\n\r\nfunction DialogTrigger(props: DialogTriggerProps) {\r\n return <DialogTriggerPrimitive {...props} />;\r\n}\r\n\r\ntype DialogCloseProps = DialogClosePrimitiveProps;\r\n\r\nfunction DialogClose(props: DialogCloseProps) {\r\n return <DialogClosePrimitive {...props} />;\r\n}\r\n\r\ntype DialogBackdropProps = DialogBackdropPrimitiveProps;\r\n\r\nfunction DialogBackdrop({ className, ...props }: DialogBackdropProps) {\r\n return (\r\n <DialogBackdropPrimitive\r\n className={cn('fixed inset-0 z-50 bg-black/50 backdrop-blur-sm', className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\ntype DialogPopupProps = DialogPopupPrimitiveProps & {\r\n showCloseButton?: boolean;\r\n closeClassName?: string;\r\n};\r\n\r\nfunction DialogPopup({\r\n className,\r\n children,\r\n showCloseButton = true,\r\n closeClassName,\r\n ...props\r\n}: DialogPopupProps) {\r\n return (\r\n <DialogPortalPrimitive>\r\n <DialogBackdrop />\r\n <DialogPopupPrimitive\r\n className={cn(\r\n \"fixed left-[50%] top-[50%] z-50 grid w-[calc(100%-2rem)] max-w-lg translate-x-[-50%] translate-y-[-50%] bg-bg-primary shadow-xp-lg rounded-xl overflow-hidden\",\r\n className,\r\n )}\r\n {...props}\r\n >\r\n {children}\r\n {showCloseButton && (\r\n <DialogClosePrimitive\r\n className={cn(\r\n \"data-[state=open]:bg-bg-primary data-[state=open]:text-text-primary absolute top-3 right-4 rounded-xs transition-colors hover:text-text-error-primary-hover disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\r\n closeClassName\r\n )}\r\n >\r\n <XIcon />\r\n <span className=\"sr-only\">Close</span>\r\n </DialogClosePrimitive>\r\n )}\r\n </DialogPopupPrimitive>\r\n </DialogPortalPrimitive>\r\n );\r\n}\r\n\r\ntype DialogHeaderProps = DialogHeaderPrimitiveProps;\r\n\r\nfunction DialogHeader({ className, ...props }: DialogHeaderProps) {\r\n return (\r\n <DialogHeaderPrimitive\r\n className={cn(\"relative px-4 py-3 flex flex-col bg-bg-primary border-b border-border-tertiary bg-radial-[100%_200%_at_0%_0%] from-modal-dialog-stop-0 to-bg-primary has-[[data-slot=dialog-icon]]:pl-16\", className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\ntype DialogContentProps = React.HTMLAttributes<HTMLDivElement>;\r\n\r\nfunction DialogContent({ className, ...props }: DialogContentProps) {\r\n return (\r\n <div\r\n data-slot=\"dialog-content\"\r\n className={cn(\"px-4 py-4 max-h-[60vh] overflow-y-auto\", className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\ntype DialogFooterProps = DialogFooterPrimitiveProps;\r\n\r\nfunction DialogFooter({ className, ...props }: DialogFooterProps) {\r\n return (\r\n <DialogFooterPrimitive\r\n className={cn(\r\n \"flex gap-2 items-center justify-end bg-bg-primary border-t border-border-tertiary px-4 py-3 shadow-[0px_-1px_24px_0px_var(--color-shadow-xs)] peer-[[data-slot=dialog-content]]:border-0\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\ntype DialogTitleProps = DialogTitlePrimitiveProps;\r\n\r\nfunction DialogTitle({ className, ...props }: DialogTitleProps) {\r\n return (\r\n <DialogTitlePrimitive\r\n className={cn(\"text-label-bold-2 text-text-primary\", className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\ntype DialogDescriptionProps = DialogDescriptionPrimitiveProps;\r\n\r\nfunction DialogDescription({ className, ...props }: DialogDescriptionProps) {\r\n return (\r\n <DialogDescriptionPrimitive\r\n className={cn(\"mt-0.5 text-body-regular-3 text-text-secondary\", className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction DialogIcon({ className, ...props }: React.ComponentProps<\"div\">) {\r\n return (\r\n <div\r\n data-slot=\"dialog-icon\"\r\n className={cn(\"absolute top-[13px] left-4 flex items-center justify-center rounded-lg bg-bg-primary p-2.5 [&_svg]:size-4 bg-bg-brand-solid text-fg-white shadow-[0px_1px_2px_-1px_var(--color-shadow-lg-01),0px_1px_3px_0px_var(--color-shadow-md-01),0px_0px_0px_4px_var(--color-focus-ring-secondary)]\", className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nexport {\r\n Dialog,\r\n DialogTrigger,\r\n DialogClose,\r\n DialogPopup,\r\n DialogHeader,\r\n DialogContent,\r\n DialogFooter,\r\n DialogTitle,\r\n DialogDescription,\r\n DialogIcon,\r\n type DialogProps,\r\n type DialogTriggerProps,\r\n type DialogCloseProps,\r\n type DialogPopupProps,\r\n type DialogHeaderProps,\r\n type DialogContentProps,\r\n type DialogFooterProps,\r\n type DialogTitleProps,\r\n type DialogDescriptionProps,\r\n};"]}
@@ -0,0 +1,2 @@
1
+ var cf=272;export{cf as a};//# sourceMappingURL=chunk-AUYPBFZJ.js.map
2
+ //# sourceMappingURL=chunk-AUYPBFZJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/icons/index.ts"],"names":["iconCount"],"mappings":"AAsiBO,IAAMA,EAAAA,CAAY","file":"chunk-AUYPBFZJ.js","sourcesContent":["\"use client\";\n\nimport AboutMeIcon from \"./about-me-icon\";\nimport AcademicCapDualToneIcon from \"./academic-cap-dual-tone-icon\";\nimport AcademicCapIcon from \"./academic-cap-icon\";\nimport ActivityOnTabProfileIcon from \"./activity-on-tab-profile-icon\";\nimport AddConnectIcon from \"./add-connect-icon\";\nimport AlertJobsIcon from \"./alert-jobs-icon\";\nimport ApplicantsIcon from \"./applicants-icon\";\nimport ApplicationStatusIcon from \"./application-status-icon\";\nimport ArchiveMessageIcon from \"./archive-message-icon\";\nimport ArrowGoToLocationIcon from \"./arrow-go-to-location-icon\";\nimport Bag2Icon from \"./bag2-icon\";\nimport Bag3Icon from \"./bag3-icon\";\nimport BagIcon from \"./bag-icon\";\nimport BellIcon from \"./bell-icon\";\nimport BirthdayDateIcon from \"./birthday-date-icon\";\nimport BookDualToneIcon from \"./book-dual-tone-icon\";\nimport BookmarkFilledIcon from \"./bookmark-filled-icon\";\nimport BookmarkIcon from \"./bookmark-icon\";\nimport BookOpen from \"./book-open\";\nimport BriefDualToneIcon from \"./brief-dual-tone-icon\";\nimport BriefMinimalisticDualToneIcon from \"./brief-minimalistic-dual-tone-icon\";\nimport BriefMinimalisticIcon from \"./brief-minimalistic-icon\";\nimport BuildingDualToneIcon from \"./building-dual-tone-icon\";\nimport BuildingIcon from \"./building-icon\";\nimport BuildingInfrastructureIcon from \"./building-infrastructure-icon\";\nimport CalendarIcon from \"./calendar-icon\";\nimport CaseIcon from \"./case-icon\";\nimport CertificateIcon from \"./certificate-icon\";\nimport CertificateOnProfileIcon from \"./certificate-on-profile-icon\";\nimport ChartSquareIcon from \"./chart-square-icon\";\nimport ChatRoundDotsIcon from \"./chat-round-dots-icon\";\nimport CheckboxBaseIcon from \"./checkbox-base-icon\";\nimport CheckboxNewIcon from \"./checkbox-new-icon\";\nimport CheckboxSelectIcon from \"./checkbox-select-icon\";\nimport CheckSquareIcon from \"./check-square-icon\";\nimport ChecklistIcon from \"./checklist-icon\";\nimport ChecklistMinimalistIcon from \"./checklist-minimalist-icon\";\nimport CircleQuarterIcon from \"./circle-quarter-icon\";\nimport CityIcon from \"./city-icon\";\nimport ClearIcon from \"./clear-icon\";\nimport ClipboardIcon from \"./clipboard-icon\";\nimport ClockMin from \"./clock-min\";\nimport ClockPlus from \"./clock-plus\";\nimport CloseSquareIcon from \"./close-square-icon\";\nimport CloudUploadIcon from \"./cloud-upload-icon\";\nimport CommentIcon from \"./comment-icon\";\nimport CompanyIndustryIcon from \"./company-industry-icon\";\nimport CompanyOnJobDescriptionIcon from \"./company-on-job-description-icon\";\nimport CompanyOnJobPreferencesIcon from \"./company-on-job-preferences-icon\";\nimport CompanyPostIcon from \"./company-post-icon\";\nimport DangerTriangleIcon from \"./danger-triangle-icon\";\nimport ConnectionCompanyIcon from \"./connection-company-icon\";\nimport ConnectionsIcon from \"./connections-icon\";\nimport ContactOnSettingsIcon from \"./contact-on-settings-icon\";\nimport CopyIcon from \"./copy-icon\";\nimport CourseIconSearchIcon from \"./course-icon-search-icon\";\nimport CreateFreeJobsWithAiIcon from \"./create-free-jobs-with-ai-icon\";\nimport CreateGroupMessageIcon from \"./create-group-message-icon\";\nimport CreateJobIcon from \"./create-job-icon\";\nimport DeleteIcon from \"./delete-icon\";\nimport DocumentAddIcon from \"./document-add-icon\";\nimport DocumentNotesIcon from \"./document-notes-icon\";\nimport DotsIcon from \"./dots-icon\";\nimport DownloadCVIcon from \"./download-cv-icon\";\nimport DownloadMinimalisticIcon from \"./download-minimalistic-icon\";\nimport DriveDb from \"./drive-db\";\nimport DurationOfWorkIcon from \"./duration-of-work-icon\";\nimport DurationOpenToOfferIcon from \"./duration-open-to-offer-icon\";\nimport EditIcon from \"./edit-icon\";\nimport EditOnButtonProfileIcon from \"./edit-on-button-profile-icon\";\nimport EditOnSectionProfileIcon from \"./edit-on-section-profile-icon\";\nimport EducationIcon from \"./education-icon\";\nimport EducationOnCardIcon from \"./education-on-card-icon\";\nimport EmploymentTypeOnJobPreferencesIcon from \"./employment-type-on-job-preferences-icon\";\nimport EvaluationIcon from \"./evaluation-icon\";\nimport ExpectedSalaryOnJobPreferencesIcon from \"./expected-salary-on-job-preferences-icon\";\nimport ExperienceIcon from \"./experience-icon\";\nimport FemaleOnSummaryProfileIcon from \"./female-on-summary-profile-icon\";\nimport FileDefaultIcon from \"./file-default-icon\";\nimport FileDocIcon from \"./file-doc-icon\";\nimport FileDocxIcon from \"./file-docx-icon\";\nimport FileJpgIcon from \"./file-jpg-icon\";\nimport FileMkvIcon from \"./file-mkv-icon\";\nimport FileMovIcon from \"./file-mov-icon\";\nimport FileMp4Icon from \"./file-mp4-icon\";\nimport FilePdfIcon from \"./file-pdf-icon\";\nimport FilePngIcon from \"./file-png-icon\";\nimport FilePptIcon from \"./file-ppt-icon\";\nimport FileTextIcon from \"./file-text-icon\";\nimport FileVideoIcon from \"./file-video-icon\";\nimport FireIcon from \"./fire-icon\";\nimport FlagIcon from \"./flag-icon\";\nimport FolderIcon from \"./folder-icon\";\nimport FollowersOnConnectionsIcon from \"./followers-on-connections-icon\";\nimport FollowingOnConnectionsIcon from \"./following-on-connections-icon\";\nimport ForwardIcon from \"./forward-icon\";\nimport FunnelIcon from \"./funnel-icon\";\nimport GalleryAddIcon from \"./gallery-add-icon\";\nimport GalleryFavoriteIcon from \"./gallery-favorite-icon\";\nimport GalleryIcon from \"./gallery-icon\";\nimport GeneralPreferenceOnSettingsIcon from \"./general-preference-on-settings-icon\";\nimport GlobeDualToneIcon from \"./globe-dual-tone-icon\";\nimport HandStarsIcon from \"./hand-stars-icon\";\nimport HardSkillOnProfileIcon from \"./hard-skill-on-profile-icon\";\nimport HelpIcon from \"./help-icon\";\nimport HiddenIcon from \"./hidden-icon\";\nimport HidePasswordsIcon from \"./hide-passwords-icon\";\nimport HiredByOthersIcon from \"./hired-by-others-icon\";\nimport HomeIcon from \"./home-icon\";\nimport HomeSmileIcon from \"./home-smile-icon\";\nimport HomeTable from \"./home-table\";\nimport ImageOnMessageIcon from \"./image-on-message-icon\";\nimport InfoIcon from \"./info-icon\";\nimport InfoSquareIcon from \"./info-square-icon\";\nimport InterestedOfIndustryIcon from \"./interested-of-industry-icon\";\nimport InvitationsOnConnectionsIcon from \"./invitations-on-connections-icon\";\nimport JobDescriptionIcon from \"./job-description-icon\";\nimport JobPreferenceIcon from \"./job-preference-icon\";\nimport JobsCategoryIcon from \"./jobs-category-icon\";\nimport JobseekerStatusOnJobPreferencesIcon from \"./jobseeker-status-on-job-preferences-icon\";\nimport LanguageOnProfileIcon from \"./language-on-profile-icon\";\nimport LayersIcon from \"./layers-icon\";\nimport LayoutIcon from \"./layout-icon\";\nimport LikeFilledIcon from \"./like-filled-icon\";\nimport LikeIcon from \"./like-icon\";\nimport LinkCopy from \"./link-copy\";\nimport ListIcon from \"./list-icon\";\nimport ListOptionFeedbackIcon from \"./list-option-feedback-icon\";\nimport LivingOnSummaryProfileIcon from \"./living-on-summary-profile-icon\";\nimport LocationCompanyOnCardIcon from \"./location-company-on-card-icon\";\nimport LocationOnSearchIcon from \"./location-on-search-icon\";\nimport LockIcon from \"./lock-icon\";\nimport LogoIcon from \"./logo-icon\";\nimport LogoutIcon from \"./logout-icon\";\nimport LoncengZIcon from \"./lonceng-z-icon\";\nimport MailboxIcon from \"./mailbox-icon\";\nimport MailIcon from \"./mail-icon\";\nimport MaleOnSummaryProfileIcon from \"./male-on-summary-profile-icon\";\nimport MapClusterMarkerIcon from \"./map-cluster-marker-icon\";\nimport MapMarkerIcon from \"./map-marker-icon\";\nimport MapPin2Icon from \"./map-pin2-icon\";\nimport MapPinIcon from \"./map-pin-icon\";\nimport MapPinIcon2 from \"./map-pin-icon2\";\nimport MarkAsReadIcon from \"./mark-as-read-icon\";\nimport MediaIcon from \"./media-icon\";\nimport MessageOnCardIcon from \"./message-on-card-icon\";\nimport MessagesIcon from \"./messages-icon\";\nimport MicRecordIcon from \"./mic-record-icon\";\nimport MiniSidebarIcon from \"./mini-sidebar-icon\";\nimport MoneyBillIcon from \"./money-bill-icon\";\nimport MuteMessageIcon from \"./mute-message-icon\";\nimport MyConnecionsIcon from \"./my-connecions-icon\";\nimport MyConnectionsOnTabProfileIcon from \"./my-connections-on-tab-profile-icon\";\nimport MyCoverLetterIcon from \"./my-cover-letter-icon\";\nimport MyDashboardIcon from \"./my-dashboard-icon\";\nimport MyDashboardsIcon from \"./my-dashboards-icon\";\nimport MyDriveIcon from \"./my-drive-icon\";\nimport MyPortofolioIcon from \"./my-portofolio-icon\";\nimport MyResumeIcon from \"./my-resume-icon\";\nimport NewMessageIcon from \"./new-message-icon\";\nimport NewPostIcon from \"./new-post-icon\";\nimport NewsIcon from \"./news-icon\";\nimport NotificationIcon from \"./notification-icon\";\nimport NotificationOnSettingsIcon from \"./notification-on-settings-icon\";\nimport OfferedByOthersIcon from \"./offered-by-others-icon\";\nimport OfficeOpenToOfferIcon from \"./office-open-to-offer-icon\";\nimport OfficeOpentToOfferSectionIcon from \"./office-opent-to-offer-section-icon\";\nimport OpenAnotherPageIcon from \"./open-another-page-icon\";\nimport OpenPreviewMyProfileIcon from \"./open-preview-my-profile-icon\";\nimport OpenToOfferSectionIcon from \"./open-to-offer-section-icon\";\nimport OpenToOpportunitiesIcon from \"./open-to-opportunities-icon\";\nimport OtherJobForYouIcon from \"./other-job-for-you-icon\";\nimport OtherJobFromThisCompanyIcon from \"./other-job-from-this-company-icon\";\nimport PasswordsIcon from \"./passwords-icon\";\nimport PdfOnApplyJobIcon from \"./pdf-on-apply-job-icon\";\nimport PenNewSquareIcon from \"./pen-new-square-icon\";\nimport PeopleYouMayKnowIcon from \"./people-you-may-know-icon\";\nimport PeopleYourCompanyIcon from \"./people-your-company-icon\";\nimport PhoneDualToneIcon from \"./phone-dual-tone-icon\";\nimport PhoneIcon from \"./phone-icon\";\nimport PinLocationNewIcon from \"./pin-location-new-icon\";\nimport PinMessageIcon from \"./pin-message-icon\";\nimport PlainIcon from \"./plain-icon\";\nimport PlusSquareIcon from \"./plus-square-icon\";\nimport PostsIconSearchIcon from \"./posts-icon-search-icon\";\nimport PriorityByIcon from \"./priority-by-icon\";\nimport PrivatePostIcon from \"./private-post-icon\";\nimport ProfileIcon from \"./profile-icon\";\nimport PublicPostIcon from \"./public-post-icon\";\nimport PublicPostOnCardIcon from \"./public-post-on-card-icon\";\nimport RepeatIcon from \"./repeat-icon\";\nimport ReplyIcon from \"./reply-icon\";\nimport ReportIcon from \"./report-icon\";\nimport RepostedIcon from \"./reposted-icon\";\nimport RepostIcon from \"./repost-icon\";\nimport SaveJobsIcon from \"./save-jobs-icon\";\nimport SavePostMenuIcon from \"./save-post-menu-icon\";\nimport SearchBarIcon from \"./search-bar-icon\";\nimport SearchIcon from \"./search-icon\";\nimport SearchWithDateIcon from \"./search-with-date-icon\";\nimport SendCommentIcon from \"./send-comment-icon\";\nimport SettingsIcon from \"./settings-icon\";\nimport ShareCircleIcon from \"./share-circle-icon\";\nimport ShareIcon from \"./share-icon\";\nimport ShareLink from \"./share-link\";\nimport ShieldDualtone from \"./shield-dualtone\";\nimport ShowPasswordsIcon from \"./show-passwords-icon\";\nimport SizeCompanyIcon from \"./size-company-icon\";\nimport SkillOnTabProfileIcon from \"./skill-on-tab-profile-icon\";\nimport SkillsIcon from \"./skills-icon\";\nimport SmileIcon from \"./smile-icon\";\nimport SoftSkillIcon from \"./soft-skill-icon\";\nimport SortAscendingIcon from \"./sort-ascending-icon\";\nimport SortByIcon from \"./sort-by-icon\";\nimport SortDefaultIcon from \"./sort-default-icon\";\nimport SortDescendingIcon from \"./sort-descending-icon\";\nimport SortHorizontalIcon from \"./sort-horizontal-icon\";\nimport SosialMediaSectionIcon from \"./sosial-media-section-icon\";\nimport SparklesIcon from \"./sparkles-icon\";\nimport SpeechIcon from \"./speech-icon\";\nimport StackedLayoutDualToneIcon from \"./stacked-layout-dual-tone-icon\";\nimport StarIcon from \"./star-icon\";\nimport StarsIcon from \"./stars-icon\";\nimport SugestedCompanyIcon from \"./sugested-company-icon\";\nimport SuitcaseIcon from \"./suitcase-icon\";\nimport TechnicalSkillIcon from \"./technical-skill-icon\";\nimport ThemeIcon from \"./theme-icon\";\nimport ThemesIcon from \"./themes-icon\";\nimport TrashIcon from \"./trash-icon\";\nimport UnarchiveMessageIcon from \"./unarchive-message-icon\";\nimport UnfollowIcon from \"./unfollow-icon\";\nimport UnmuteMessageIcon from \"./unmute-message-icon\";\nimport UnpinMessageIcon from \"./unpin-message-icon\";\nimport UnsaveJobIcon from \"./unsave-job-icon\";\nimport UploadDocumentIcon from \"./upload-document-icon\";\nimport UploadDocumentNewIcon from \"./upload-document-new-icon\";\nimport UploadEventIcon from \"./upload-event-icon\";\nimport UploadFilePlaceholderIcon from \"./upload-file-placeholder-icon\";\nimport UploadGenerateImageIcon from \"./upload-generate-image-icon\";\nimport UploadGeneratePostIcon from \"./upload-generate-post-icon\";\nimport UploadMediaIcon from \"./upload-media-icon\";\nimport UploadMediaNewIcon from \"./upload-media-new-icon\";\nimport UploadPicturesOnProfileIcon from \"./upload-pictures-on-profile-icon\";\nimport UploadPollingtNewIcon from \"./upload-pollingt-new-icon\";\nimport UploadPoolingIcon from \"./upload-pooling-icon\";\nimport UploadReelsIcon from \"./upload-reels-icon\";\nimport UserConnections from \"./user-connections\";\nimport UserDualToneIcon from \"./user-dual-tone-icon\";\nimport UserHandsUp from \"./user-hands-up\";\nimport UserHeartRounded from \"./user-heart-rounded\";\nimport UserIcon from \"./user-icon\";\nimport UsersDualToneIcon from \"./users-dual-tone-icon\";\nimport UsersGroupIcon from \"./users-group-icon\";\nimport UsersGroupRoundedIcon from \"./users-group-rounded-icon\";\nimport UsersGroupTwoRoundedIcon from \"./users-group-two-rounded-icon\";\nimport UserUnfollow from \"./user-unfollow\";\nimport VerifiedIcon from \"./verified-icon\";\nimport VideoOnMessageIcon from \"./video-on-message-icon\";\nimport ViewGrid1Icon from \"./view-grid1-icon\";\nimport ViewGrid2Icon from \"./view-grid2-icon\";\nimport ViewGrid3Icon from \"./view-grid3-icon\";\nimport ViewGrid4Icon from \"./view-grid4-icon\";\nimport ViewGridRowIcon from \"./view-grid-row-icon\";\nimport VolumeIcon from \"./volume-icon\";\nimport VolumeOffIcon from \"./volume-off-icon\";\nimport WidgetFourIcon from \"./widget-four-icon\";\nimport WidgetIcon from \"./widget-icon\";\nimport WorkingAtSummaryProfileIcon from \"./working-at-summary-profile-icon\";\nimport WorkplaceOnJobPreferencesIcon from \"./workplace-on-job-preferences-icon\";\nimport WorkplaceOpenToOffersIcon from \"./workplace-open-to-offers-icon\";\nimport XSquareIcon from \"./x-square-icon\";\nimport YourSummaryProfileIcon from \"./your-summary-profile-icon\";\n\nexport {\n AboutMeIcon,\n AcademicCapDualToneIcon,\n AcademicCapIcon,\n ActivityOnTabProfileIcon,\n AddConnectIcon,\n AlertJobsIcon,\n ApplicantsIcon,\n ApplicationStatusIcon,\n ArchiveMessageIcon,\n ArrowGoToLocationIcon,\n Bag2Icon,\n Bag3Icon,\n BagIcon,\n BellIcon,\n BirthdayDateIcon,\n BookDualToneIcon,\n BookmarkFilledIcon,\n BookmarkIcon,\n BookOpen,\n BriefDualToneIcon,\n BriefMinimalisticDualToneIcon,\n BriefMinimalisticIcon,\n BuildingDualToneIcon,\n BuildingIcon,\n BuildingInfrastructureIcon,\n CalendarIcon,\n CaseIcon,\n CertificateIcon,\n CertificateOnProfileIcon,\n ChartSquareIcon,\n ChatRoundDotsIcon,\n CheckboxBaseIcon,\n CheckboxNewIcon,\n CheckboxSelectIcon,\n CheckSquareIcon,\n ChecklistIcon,\n ChecklistMinimalistIcon,\n CircleQuarterIcon,\n CityIcon,\n ClearIcon,\n ClipboardIcon,\n ClockMin,\n ClockPlus,\n CloseSquareIcon,\n CloudUploadIcon,\n CommentIcon,\n CompanyIndustryIcon,\n CompanyOnJobDescriptionIcon,\n CompanyOnJobPreferencesIcon,\n CompanyPostIcon,\n DangerTriangleIcon,\n ConnectionCompanyIcon,\n ConnectionsIcon,\n ContactOnSettingsIcon,\n CopyIcon,\n CourseIconSearchIcon,\n CreateFreeJobsWithAiIcon,\n CreateGroupMessageIcon,\n CreateJobIcon,\n DeleteIcon,\n DocumentAddIcon,\n DocumentNotesIcon,\n DotsIcon,\n DownloadCVIcon,\n DownloadMinimalisticIcon,\n DriveDb,\n DurationOfWorkIcon,\n DurationOpenToOfferIcon,\n EditIcon,\n EditOnButtonProfileIcon,\n EditOnSectionProfileIcon,\n EducationIcon,\n EducationOnCardIcon,\n EmploymentTypeOnJobPreferencesIcon,\n EvaluationIcon,\n ExpectedSalaryOnJobPreferencesIcon,\n ExperienceIcon,\n FemaleOnSummaryProfileIcon,\n FileDefaultIcon,\n FileDocIcon,\n FileDocxIcon,\n FileJpgIcon,\n FileMkvIcon,\n FileMovIcon,\n FileMp4Icon,\n FilePdfIcon,\n FilePngIcon,\n FilePptIcon,\n FileTextIcon,\n FileVideoIcon,\n FireIcon,\n FlagIcon,\n FolderIcon,\n FollowersOnConnectionsIcon,\n FollowingOnConnectionsIcon,\n ForwardIcon,\n FunnelIcon,\n GalleryAddIcon,\n GalleryFavoriteIcon,\n GalleryIcon,\n GeneralPreferenceOnSettingsIcon,\n GlobeDualToneIcon,\n HandStarsIcon,\n HardSkillOnProfileIcon,\n HelpIcon,\n HiddenIcon,\n HidePasswordsIcon,\n HiredByOthersIcon,\n HomeIcon,\n HomeSmileIcon,\n HomeTable,\n ImageOnMessageIcon,\n InfoIcon,\n InfoSquareIcon,\n InterestedOfIndustryIcon,\n InvitationsOnConnectionsIcon,\n JobDescriptionIcon,\n JobPreferenceIcon,\n JobsCategoryIcon,\n JobseekerStatusOnJobPreferencesIcon,\n LanguageOnProfileIcon,\n LayersIcon,\n LayoutIcon,\n LikeFilledIcon,\n LikeIcon,\n LinkCopy,\n ListIcon,\n ListOptionFeedbackIcon,\n LivingOnSummaryProfileIcon,\n LocationCompanyOnCardIcon,\n LocationOnSearchIcon,\n LockIcon,\n LogoIcon,\n LogoutIcon,\n LoncengZIcon,\n MailboxIcon,\n MailIcon,\n MaleOnSummaryProfileIcon,\n MapClusterMarkerIcon,\n MapMarkerIcon,\n MapPin2Icon,\n MapPinIcon,\n MapPinIcon2,\n MarkAsReadIcon,\n MediaIcon,\n MessageOnCardIcon,\n MessagesIcon,\n MicRecordIcon,\n MiniSidebarIcon,\n MoneyBillIcon,\n MuteMessageIcon,\n MyConnecionsIcon,\n MyConnectionsOnTabProfileIcon,\n MyCoverLetterIcon,\n MyDashboardIcon,\n MyDashboardsIcon,\n MyDriveIcon,\n MyPortofolioIcon,\n MyResumeIcon,\n NewMessageIcon,\n NewPostIcon,\n NewsIcon,\n NotificationIcon,\n NotificationOnSettingsIcon,\n OfferedByOthersIcon,\n OfficeOpenToOfferIcon,\n OfficeOpentToOfferSectionIcon,\n OpenAnotherPageIcon,\n OpenPreviewMyProfileIcon,\n OpenToOfferSectionIcon,\n OpenToOpportunitiesIcon,\n OtherJobForYouIcon,\n OtherJobFromThisCompanyIcon,\n PasswordsIcon,\n PdfOnApplyJobIcon,\n PenNewSquareIcon,\n PeopleYouMayKnowIcon,\n PeopleYourCompanyIcon,\n PhoneDualToneIcon,\n PhoneIcon,\n PinLocationNewIcon,\n PinMessageIcon,\n PlainIcon,\n PlusSquareIcon,\n PostsIconSearchIcon,\n PriorityByIcon,\n PrivatePostIcon,\n ProfileIcon,\n PublicPostIcon,\n PublicPostOnCardIcon,\n RepeatIcon,\n ReplyIcon,\n ReportIcon,\n RepostedIcon,\n RepostIcon,\n SaveJobsIcon,\n SavePostMenuIcon,\n SearchBarIcon,\n SearchIcon,\n SearchWithDateIcon,\n SendCommentIcon,\n SettingsIcon,\n ShareCircleIcon,\n ShareIcon,\n ShareLink,\n ShieldDualtone,\n ShowPasswordsIcon,\n SizeCompanyIcon,\n SkillOnTabProfileIcon,\n SkillsIcon,\n SmileIcon,\n SoftSkillIcon,\n SortAscendingIcon,\n SortByIcon,\n SortDefaultIcon,\n SortDescendingIcon,\n SortHorizontalIcon,\n SosialMediaSectionIcon,\n SparklesIcon,\n SpeechIcon,\n StackedLayoutDualToneIcon,\n StarIcon,\n StarsIcon,\n SugestedCompanyIcon,\n SuitcaseIcon,\n TechnicalSkillIcon,\n ThemeIcon,\n ThemesIcon,\n TrashIcon,\n UnarchiveMessageIcon,\n UnfollowIcon,\n UnmuteMessageIcon,\n UnpinMessageIcon,\n UnsaveJobIcon,\n UploadDocumentIcon,\n UploadDocumentNewIcon,\n UploadEventIcon,\n UploadFilePlaceholderIcon,\n UploadGenerateImageIcon,\n UploadGeneratePostIcon,\n UploadMediaIcon,\n UploadMediaNewIcon,\n UploadPicturesOnProfileIcon,\n UploadPollingtNewIcon,\n UploadPoolingIcon,\n UploadReelsIcon,\n UserConnections,\n UserDualToneIcon,\n UserHandsUp,\n UserHeartRounded,\n UserIcon,\n UsersDualToneIcon,\n UsersGroupIcon,\n UsersGroupRoundedIcon,\n UsersGroupTwoRoundedIcon,\n UserUnfollow,\n VerifiedIcon,\n VideoOnMessageIcon,\n ViewGrid1Icon,\n ViewGrid2Icon,\n ViewGrid3Icon,\n ViewGrid4Icon,\n ViewGridRowIcon,\n VolumeIcon,\n VolumeOffIcon,\n WidgetFourIcon,\n WidgetIcon,\n WorkingAtSummaryProfileIcon,\n WorkplaceOnJobPreferencesIcon,\n WorkplaceOpenToOffersIcon,\n XSquareIcon,\n YourSummaryProfileIcon,\n};\n\nexport const iconCount = 272;\n"]}
@@ -0,0 +1,2 @@
1
+ import {b as b$1,c,d}from'./chunk-NKQ3MFRE.js';import'react';import {cn}from'@xploreu/lib/cn';import {jsx}from'react/jsx-runtime';function b(l){return jsx(b$1,{...l})}function n(l){return jsx(c,{...l})}function g({className:l,children:p,...s}){return jsx(d,{...s,children:jsx("div",{className:cn("text-body-regular-2",l),children:p})})}export{b as a,n as b,g as c};//# sourceMappingURL=chunk-BRZUHQYB.js.map
2
+ //# sourceMappingURL=chunk-BRZUHQYB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/collapsible.tsx"],"names":["Collapsible","props","jsx","CollapsibleTrigger","CollapsibleContent","className","children","CollapsiblePanel","cn"],"mappings":"kIAgBA,SAASA,CAAAA,CAAYC,CAAAA,CAAyB,CAC5C,OAAOC,GAAAA,CAACF,GAAAA,CAAA,CAAsB,GAAGC,CAAAA,CAAO,CAC1C,CAIA,SAASE,CAAAA,CAAmBF,CAAAA,CAAgC,CAC1D,OAAOC,GAAAA,CAACC,CAAAA,CAAA,CAA6B,GAAGF,CAAAA,CAAO,CACjD,CAMA,SAASG,CAAAA,CAAmB,CAC1B,SAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,GAAGL,CACL,CAAA,CAA4B,CAC1B,OACEC,GAAAA,CAACK,CAAAA,CAAA,CAA2B,GAAGN,CAAAA,CAC7B,QAAA,CAAAC,GAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAWM,EAAAA,CAAG,qBAAA,CAAuBH,CAAS,CAAA,CAAI,QAAA,CAAAC,CAAAA,CAAS,CAAA,CAClE,CAEJ","file":"chunk-BRZUHQYB.js","sourcesContent":["\"use client\"\r\n\r\nimport * as React from \"react\"\r\n\r\nimport {\r\n Collapsible as CollapsiblePrimitive,\r\n CollapsiblePanel as CollapsiblePanelPrimitive,\r\n CollapsibleTrigger as CollapsibleTriggerPrimitive,\r\n type CollapsiblePanelProps as CollapsiblePanelPrimitiveProps,\r\n type CollapsibleProps as CollapsiblePrimitiveProps,\r\n type CollapsibleTriggerProps as CollapsibleTriggerPrimitiveProps,\r\n} from \"../primitives/collapsible\"\r\nimport { cn } from \"@xploreu/lib/cn\"\r\n\r\ntype CollapsibleProps = CollapsiblePrimitiveProps\r\n\r\nfunction Collapsible(props: CollapsibleProps) {\r\n return <CollapsiblePrimitive {...props} />\r\n}\r\n\r\ntype CollapsibleTriggerProps = CollapsibleTriggerPrimitiveProps\r\n\r\nfunction CollapsibleTrigger(props: CollapsibleTriggerProps) {\r\n return <CollapsibleTriggerPrimitive {...props} />\r\n}\r\n\r\ntype CollapsibleContentProps = CollapsiblePanelPrimitiveProps & {\r\n children?: React.ReactNode\r\n}\r\n\r\nfunction CollapsibleContent({\r\n className,\r\n children,\r\n ...props\r\n}: CollapsibleContentProps) {\r\n return (\r\n <CollapsiblePanelPrimitive {...props}>\r\n <div className={cn(\"text-body-regular-2\", className)}>{children}</div>\r\n </CollapsiblePanelPrimitive>\r\n )\r\n}\r\n\r\nexport {\r\n Collapsible,\r\n CollapsibleContent,\r\n CollapsibleTrigger,\r\n type CollapsibleProps,\r\n type CollapsibleTriggerProps,\r\n type CollapsibleContentProps,\r\n}\r\n"]}
@@ -0,0 +1,2 @@
1
+ import {c,d,e,f as f$1,g}from'./chunk-YKX7SKZA.js';import'react';import {ChevronDownIcon}from'lucide-react';import {cn}from'@xploreu/lib/cn';import {jsx,jsxs}from'react/jsx-runtime';function u(o){return jsx(c,{...o})}function y({className:o,...i}){return jsx(d,{className:cn("border-b last:border-b-0",o),...i})}function f({className:o,children:i,showArrow:e$1=true,...p}){return jsx(e,{className:"flex",children:jsxs(f$1,{className:cn("focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-body-regular-2 font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-panel-open]>svg]:-rotate-180",o),...p,children:[i,e$1&&jsx(ChevronDownIcon,{className:"text-fg-primary pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-500"})]})})}function b({className:o,children:i,...e}){return jsx(g,{...e,children:jsx("div",{className:cn("pt-0 pb-4 text-body-regular-2",o),children:i})})}export{u as a,y as b,f as c,b as d};//# sourceMappingURL=chunk-BX7TD4RH.js.map
2
+ //# sourceMappingURL=chunk-BX7TD4RH.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/accordion.tsx"],"names":["Accordion","props","jsx","AccordionItem","className","cn","AccordionTrigger","children","showArrow","AccordionHeader","jsxs","ChevronDownIcon","AccordionContent","AccordionPanel"],"mappings":"sLAsBA,SAASA,CAAAA,CAAUC,CAAAA,CAAuB,CACxC,OAAOC,GAAAA,CAACF,CAAAA,CAAA,CAAoB,GAAGC,CAAAA,CAAO,CACxC,CAIA,SAASE,CAAAA,CAAc,CAAE,SAAA,CAAAC,CAAAA,CAAW,GAAGH,CAAM,CAAA,CAAuB,CAClE,OACEC,GAAAA,CAACC,CAAAA,CAAA,CACC,SAAA,CAAWE,EAAAA,CAAG,0BAAA,CAA4BD,CAAS,CAAA,CAClD,GAAGH,CAAAA,CACN,CAEJ,CAOA,SAASK,CAAAA,CAAiB,CACxB,SAAA,CAAAF,CAAAA,CACA,QAAA,CAAAG,CAAAA,CACA,SAAA,CAAAC,GAAAA,CAAY,IAAA,CACZ,GAAGP,CACL,CAAA,CAA0B,CACxB,OACEC,GAAAA,CAACO,CAAAA,CAAA,CAAyB,SAAA,CAAU,MAAA,CAClC,QAAA,CAAAC,IAAAA,CAACJ,GAAAA,CAAA,CACC,SAAA,CAAWD,EAAAA,CACT,yTAAA,CACAD,CACF,CAAA,CACC,GAAGH,CAAAA,CAEH,QAAA,CAAA,CAAAM,CAAAA,CACAC,GAAAA,EACCN,GAAAA,CAACS,eAAAA,CAAA,CAAgB,SAAA,CAAU,uGAAA,CAAwG,CAAA,CAAA,CAEvI,CAAA,CACF,CAEJ,CAMA,SAASC,CAAAA,CAAiB,CACxB,SAAA,CAAAR,CAAAA,CACA,QAAA,CAAAG,CAAAA,CACA,GAAGN,CACL,CAAA,CAA0B,CACxB,OACEC,GAAAA,CAACW,CAAAA,CAAA,CAAyB,GAAGZ,CAAAA,CAC3B,QAAA,CAAAC,GAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAWG,EAAAA,CAAG,+BAAA,CAAiCD,CAAS,CAAA,CAC1D,QAAA,CAAAG,CAAAA,CACH,CAAA,CACF,CAEJ","file":"chunk-BX7TD4RH.js","sourcesContent":["\"use client\"\r\n\r\nimport * as React from \"react\"\r\n\r\nimport { ChevronDownIcon } from \"lucide-react\"\r\n\r\nimport {\r\n Accordion as AccordionPrimitive,\r\n AccordionHeader as AccordionHeaderPrimitive,\r\n AccordionItem as AccordionItemPrimitive,\r\n AccordionPanel as AccordionPanelPrimitive,\r\n AccordionTrigger as AccordionTriggerPrimitive,\r\n type AccordionHeaderProps as AccordionHeaderPrimitiveProps,\r\n type AccordionItemProps as AccordionItemPrimitiveProps,\r\n type AccordionPanelProps as AccordionPanelPrimitiveProps,\r\n type AccordionProps as AccordionPrimitiveProps,\r\n type AccordionTriggerProps as AccordionTriggerPrimitiveProps,\r\n} from \"../primitives/accordion\"\r\nimport { cn } from \"@xploreu/lib/cn\"\r\n\r\ntype AccordionProps = AccordionPrimitiveProps\r\n\r\nfunction Accordion(props: AccordionProps) {\r\n return <AccordionPrimitive {...props} />\r\n}\r\n\r\ntype AccordionItemProps = AccordionItemPrimitiveProps\r\n\r\nfunction AccordionItem({ className, ...props }: AccordionItemProps) {\r\n return (\r\n <AccordionItemPrimitive\r\n className={cn(\"border-b last:border-b-0\", className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\ntype AccordionTriggerProps = AccordionTriggerPrimitiveProps & {\r\n /** Whether to show the chevron icon. */\r\n showArrow?: boolean\r\n}\r\n\r\nfunction AccordionTrigger({\r\n className,\r\n children,\r\n showArrow = true,\r\n ...props\r\n}: AccordionTriggerProps) {\r\n return (\r\n <AccordionHeaderPrimitive className=\"flex\">\r\n <AccordionTriggerPrimitive\r\n className={cn(\r\n \"focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-body-regular-2 font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-panel-open]>svg]:-rotate-180\",\r\n className,\r\n )}\r\n {...props}\r\n >\r\n {children}\r\n {showArrow && (\r\n <ChevronDownIcon className=\"text-fg-primary pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-500\" />\r\n )}\r\n </AccordionTriggerPrimitive>\r\n </AccordionHeaderPrimitive>\r\n )\r\n}\r\n\r\ntype AccordionContentProps = AccordionPanelPrimitiveProps & {\r\n children?: React.ReactNode\r\n}\r\n\r\nfunction AccordionContent({\r\n className,\r\n children,\r\n ...props\r\n}: AccordionContentProps) {\r\n return (\r\n <AccordionPanelPrimitive {...props}>\r\n <div className={cn(\"pt-0 pb-4 text-body-regular-2\", className)}>\r\n {children}\r\n </div>\r\n </AccordionPanelPrimitive>\r\n )\r\n}\r\n\r\nexport {\r\n Accordion,\r\n AccordionContent,\r\n AccordionItem,\r\n AccordionTrigger,\r\n type AccordionProps,\r\n type AccordionItemProps,\r\n type AccordionTriggerProps,\r\n type AccordionContentProps,\r\n}\r\n"]}
@@ -0,0 +1,2 @@
1
+ import {d,e,l,p,t,v,x,z,c,G}from'./chunk-YB5ZNOPP.js';import {a}from'./chunk-JH6RZ3QH.js';import'react';import {ChevronDownIcon,CheckCircle2Icon}from'lucide-react';import'class-variance-authority';import {cn}from'@xploreu/lib/cn';import {jsxs,jsx}from'react/jsx-runtime';function F({items:a$1,value:g,defaultValue:d$1,onValueChange:I,placeholder:h="Select",icon:m,container:y,isPending:N,className:P,triggerClassName:S,contentClassName:v$1,disabled:V,size:k="md",infiniteScroll:z$1}){return jsxs(d,{items:a$1,value:g,defaultValue:d$1,onValueChange:I,isItemEqualToValue:(e,R)=>e.value===R.value,disabled:V,children:[jsxs(e,{className:cn(a({size:k}),"group flex cursor-pointer items-center gap-2 pr-3 text-left",S,P),children:[m&&jsx("span",{className:"size-4.5 shrink-0 text-fg-quaternary",children:m}),jsx("span",{className:"flex-1 truncate",children:jsx(l,{children:e=>jsx("span",{className:e?"text-text-primary":"text-text-placeholder",children:e?.label??h})})}),jsx(ChevronDownIcon,{className:"size-4 shrink-0 text-fg-quaternary transition-transform group-data-[popup-open]:rotate-180"})]}),jsxs(p,{container:y,className:cn("w-72",v$1),align:"start",sideOffset:8,children:[jsx(t,{status:N||a$1===void 0?"pending":a$1.length===0?"empty":null}),jsxs(v,{children:[a$1?.map(e=>jsx(x,{children:jsxs(z,{value:e,withIndicator:false,className:"justify-between",children:[jsx("span",{className:"truncate",children:e.label}),jsx(c,{children:jsx(CheckCircle2Icon,{className:"size-5 shrink-0 text-fg-brand-primary"})})]})},e.value)),jsx(G,{...z$1})]})]})]})}export{F as a};//# sourceMappingURL=chunk-CHN5ZCUY.js.map
2
+ //# sourceMappingURL=chunk-CHN5ZCUY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/composites/combobox-simple.tsx"],"names":["ComboboxSimple","items","value","defaultValue","onValueChange","placeholder","icon","container","isPending","className","triggerClassName","contentClassName","disabled","size","infiniteScroll","jsxs","Combobox","a","b","ComboboxTrigger","cn","inputVariants","jsx","ComboboxValue","item","ChevronDownIcon","ComboboxPopup","ComboboxStatus","ComboboxList","ComboboxHighlightItem","ComboboxItem","ComboboxItemIndicator","CheckCircle2Icon","ComboboxInfiniteScroll"],"mappings":"+QA+CA,SAASA,CAAAA,CAAe,CACtB,KAAA,CAAAC,GAAAA,CACA,KAAA,CAAAC,EACA,YAAA,CAAAC,GAAAA,CACA,cAAAC,CAAAA,CACA,WAAA,CAAAC,EAAc,QAAA,CACd,IAAA,CAAAC,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,SAAA,CAAAC,EACA,SAAA,CAAAC,CAAAA,CACA,gBAAA,CAAAC,CAAAA,CACA,gBAAA,CAAAC,GAAAA,CACA,SAAAC,CAAAA,CACA,IAAA,CAAAC,CAAAA,CAAO,IAAA,CACP,cAAA,CAAAC,GACF,EAAwB,CACtB,OACEC,KAACC,CAAAA,CAAA,CACC,MAAOf,GAAAA,CACP,KAAA,CAAOC,CAAAA,CACP,YAAA,CAAcC,GAAAA,CACd,aAAA,CAAeC,EACf,kBAAA,CAAoB,CAACa,CAAAA,CAAGC,CAAAA,GAAMD,CAAAA,CAAE,KAAA,GAAUC,EAAE,KAAA,CAC5C,QAAA,CAAUN,CAAAA,CAEV,QAAA,CAAA,CAAAG,IAAAA,CAACI,CAAAA,CAAA,CACC,SAAA,CAAWC,EAAAA,CACTC,EAAc,CAAE,IAAA,CAAAR,CAAK,CAAC,CAAA,CACtB,6DAAA,CACAH,CAAAA,CACAD,CACF,CAAA,CAEC,UAAAH,CAAAA,EACCgB,GAAAA,CAAC,MAAA,CAAA,CAAK,SAAA,CAAU,sCAAA,CAAwC,QAAA,CAAAhB,EAAK,CAAA,CAE/DgB,GAAAA,CAAC,MAAA,CAAA,CAAK,SAAA,CAAU,iBAAA,CACd,QAAA,CAAAA,IAACC,CAAAA,CAAA,CACE,SAACC,CAAAA,EACAF,GAAAA,CAAC,QAAK,SAAA,CAAWE,CAAAA,CAAO,mBAAA,CAAsB,uBAAA,CAC3C,QAAA,CAAAA,CAAAA,EAAM,OAASnB,CAAAA,CAClB,CAAA,CAEJ,CAAA,CACF,CAAA,CACAiB,GAAAA,CAACG,eAAAA,CAAA,CACC,SAAA,CAAU,4FAAA,CACZ,CAAA,CAAA,CACF,CAAA,CAEAV,IAAAA,CAACW,CAAAA,CAAA,CACC,SAAA,CAAWnB,CAAAA,CACX,UAAWa,EAAAA,CAAG,MAAA,CAAQT,GAAgB,CAAA,CACtC,KAAA,CAAM,OAAA,CACN,UAAA,CAAY,CAAA,CAEZ,QAAA,CAAA,CAAAW,IAACK,CAAAA,CAAA,CACC,MAAA,CACEnB,CAAAA,EAAaP,GAAAA,GAAU,MAAA,CACnB,UACAA,GAAAA,CAAM,MAAA,GAAW,CAAA,CACf,OAAA,CACA,IAAA,CAEV,CAAA,CACAc,KAACa,CAAAA,CAAA,CACE,UAAA3B,GAAAA,EAAO,GAAA,CAAKuB,GACXF,GAAAA,CAACO,CAAAA,CAAA,CACC,QAAA,CAAAd,IAAAA,CAACe,CAAAA,CAAA,CAAa,KAAA,CAAON,CAAAA,CAAM,aAAA,CAAe,KAAA,CAAO,SAAA,CAAU,iBAAA,CACzD,UAAAF,GAAAA,CAAC,MAAA,CAAA,CAAK,SAAA,CAAU,UAAA,CAAY,QAAA,CAAAE,CAAAA,CAAK,MAAM,CAAA,CACvCF,GAAAA,CAACS,CAAAA,CAAA,CACC,QAAA,CAAAT,GAAAA,CAACU,iBAAA,CAAiB,SAAA,CAAU,uCAAA,CAAwC,CAAA,CACtE,CAAA,CAAA,CACF,CAAA,CAAA,CAN0BR,EAAK,KAOjC,CACD,CAAA,CACDF,GAAAA,CAACW,CAAAA,CAAA,CAAwB,GAAGnB,GAAAA,CAAgB,CAAA,CAAA,CAC9C,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAEJ","file":"chunk-CHN5ZCUY.js","sourcesContent":["\"use client\"\r\n\r\nimport * as React from \"react\"\r\nimport { CheckCircle2Icon, ChevronDownIcon } from \"lucide-react\"\r\nimport { type VariantProps } from \"class-variance-authority\"\r\n\r\nimport { cn } from \"@xploreu/lib/cn\"\r\nimport { inputVariants } from \"../ui/input\"\r\nimport { ComboboxItemIndicator as ComboboxItemIndicatorPrimitive } from \"../primitives/combobox\"\r\nimport { ComboboxHighlightItem, ComboboxItem } from \"../ui/combobox\"\r\nimport {\r\n Combobox,\r\n ComboboxInfiniteScroll,\r\n ComboboxList,\r\n ComboboxPopup,\r\n ComboboxPortal,\r\n ComboboxStatus,\r\n ComboboxTrigger,\r\n ComboboxValue,\r\n} from \"../ui/combobox\"\r\n\r\n// ─── Types ───\r\n\r\nexport type ComboboxSimpleItem = {\r\n label: string\r\n value: string\r\n}\r\n\r\nexport type ComboboxSimpleProps = {\r\n items: ComboboxSimpleItem[] | undefined\r\n value?: ComboboxSimpleItem | null\r\n defaultValue?: ComboboxSimpleItem | null\r\n onValueChange?: (value: ComboboxSimpleItem | null) => void\r\n placeholder?: string\r\n icon?: React.ReactNode\r\n container?: React.ComponentProps<typeof ComboboxPortal>[\"container\"]\r\n isPending?: boolean\r\n className?: string\r\n triggerClassName?: string\r\n contentClassName?: string\r\n disabled?: boolean\r\n size?: VariantProps<typeof inputVariants>[\"size\"]\r\n infiniteScroll?: React.ComponentProps<typeof ComboboxInfiniteScroll>\r\n}\r\n\r\n// ─── Component ───\r\n\r\nfunction ComboboxSimple({\r\n items,\r\n value,\r\n defaultValue,\r\n onValueChange,\r\n placeholder = \"Select\",\r\n icon,\r\n container,\r\n isPending,\r\n className,\r\n triggerClassName,\r\n contentClassName,\r\n disabled,\r\n size = \"md\",\r\n infiniteScroll,\r\n}: ComboboxSimpleProps) {\r\n return (\r\n <Combobox\r\n items={items}\r\n value={value}\r\n defaultValue={defaultValue}\r\n onValueChange={onValueChange}\r\n isItemEqualToValue={(a, b) => a.value === b.value}\r\n disabled={disabled}\r\n >\r\n <ComboboxTrigger\r\n className={cn(\r\n inputVariants({ size }),\r\n \"group flex cursor-pointer items-center gap-2 pr-3 text-left\",\r\n triggerClassName,\r\n className\r\n )}\r\n >\r\n {icon && (\r\n <span className=\"size-4.5 shrink-0 text-fg-quaternary\">{icon}</span>\r\n )}\r\n <span className=\"flex-1 truncate\">\r\n <ComboboxValue>\r\n {(item) => (\r\n <span className={item ? \"text-text-primary\" : \"text-text-placeholder\"}>\r\n {item?.label ?? placeholder}\r\n </span>\r\n )}\r\n </ComboboxValue>\r\n </span>\r\n <ChevronDownIcon\r\n className=\"size-4 shrink-0 text-fg-quaternary transition-transform group-data-[popup-open]:rotate-180\"\r\n />\r\n </ComboboxTrigger>\r\n\r\n <ComboboxPopup\r\n container={container}\r\n className={cn(\"w-72\", contentClassName)}\r\n align=\"start\"\r\n sideOffset={8}\r\n >\r\n <ComboboxStatus\r\n status={\r\n isPending || items === undefined\r\n ? \"pending\"\r\n : items.length === 0\r\n ? \"empty\"\r\n : null\r\n }\r\n />\r\n <ComboboxList>\r\n {items?.map((item) => (\r\n <ComboboxHighlightItem key={item.value}>\r\n <ComboboxItem value={item} withIndicator={false} className=\"justify-between\">\r\n <span className=\"truncate\">{item.label}</span>\r\n <ComboboxItemIndicatorPrimitive>\r\n <CheckCircle2Icon className=\"size-5 shrink-0 text-fg-brand-primary\" />\r\n </ComboboxItemIndicatorPrimitive>\r\n </ComboboxItem>\r\n </ComboboxHighlightItem>\r\n ))}\r\n <ComboboxInfiniteScroll {...infiniteScroll} />\r\n </ComboboxList>\r\n </ComboboxPopup>\r\n </Combobox>\r\n )\r\n}\r\n\r\nexport { ComboboxSimple }\r\n"]}
@@ -0,0 +1,3 @@
1
+ import'react';import {Checkbox}from'@base-ui/react/checkbox';import {motion}from'motion/react';import {getStrictContext}from'@xploreu/lib/get-strict-context';import {useControlledState}from'@xploreu/hooks/use-controlled-state';import {jsx}from'react/jsx-runtime';var [v,f]=getStrictContext("CheckboxContext");function S({name:i,checked:o,defaultChecked:t,onCheckedChange:h,indeterminate:r,value:d,nativeButton:p,parent:s,disabled:k,readOnly:C,required:x,inputRef:l,id:u,...b}){let[m,c]=useControlledState({value:o,defaultValue:t,onChange:h});return jsx(v,{value:{isChecked:m,setIsChecked:c,isIndeterminate:r},children:jsx(Checkbox.Root,{name:i,defaultChecked:t,checked:o,onCheckedChange:c,indeterminate:r,value:d,nativeButton:p,parent:s,disabled:k,readOnly:C,required:x,inputRef:l,id:u,render:jsx(motion.span,{"data-slot":"checkbox",whileTap:{scale:.95},whileHover:{scale:1.05},...b})})})}function T(i){let{isChecked:o,isIndeterminate:t}=f();return jsx(Checkbox.Indicator,{keepMounted:true,render:jsx(motion.svg,{"data-slot":"checkbox-indicator",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:"3.5",stroke:"currentColor",initial:"unchecked",animate:o?"checked":"unchecked",...i,children:t?jsx(motion.line,{x1:"5",y1:"12",x2:"19",y2:"12",strokeLinecap:"round",initial:{pathLength:0,opacity:0},animate:{pathLength:1,opacity:1,transition:{duration:.2}}}):jsx(motion.path,{strokeLinecap:"round",strokeLinejoin:"round",d:"M4.5 12.75l6 6 9-13.5",variants:{checked:{pathLength:1,opacity:1,transition:{duration:.2,delay:.2}},unchecked:{pathLength:0,opacity:0,transition:{duration:.2}}}})})})}
2
+ export{f as a,S as b,T as c};//# sourceMappingURL=chunk-DCH35MB4.js.map
3
+ //# sourceMappingURL=chunk-DCH35MB4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/primitives/checkbox.tsx"],"names":["CheckboxProvider","useCheckbox","getStrictContext","Checkbox","name","checked","defaultChecked","onCheckedChange","indeterminate","value","nativeButton","parent","disabled","readOnly","required","inputRef","id","props","isChecked","setIsChecked","useControlledState","jsx","CheckboxPrimitive","motion","CheckboxIndicator","isIndeterminate"],"mappings":"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","file":"chunk-DCH35MB4.js","sourcesContent":["'use client';\r\n\r\nimport * as React from 'react';\r\nimport { Checkbox as CheckboxPrimitive } from '@base-ui/react/checkbox';\r\nimport {\r\n motion,\r\n type HTMLMotionProps,\r\n type SVGMotionProps,\r\n} from 'motion/react';\r\n\r\nimport { getStrictContext } from '@xploreu/lib/get-strict-context';\r\nimport { useControlledState } from '@xploreu/hooks/use-controlled-state';\r\n\r\ntype CheckboxContextType = {\r\n isChecked: boolean;\r\n setIsChecked: CheckboxProps['onCheckedChange'];\r\n isIndeterminate: boolean | undefined;\r\n};\r\n\r\nconst [CheckboxProvider, useCheckbox] =\r\n getStrictContext<CheckboxContextType>('CheckboxContext');\r\n\r\ntype CheckboxProps = Omit<\r\n React.ComponentProps<typeof CheckboxPrimitive.Root>,\r\n 'render'\r\n> &\r\n HTMLMotionProps<'button'>;\r\n\r\nfunction Checkbox({\r\n name,\r\n checked,\r\n defaultChecked,\r\n onCheckedChange,\r\n indeterminate,\r\n value,\r\n nativeButton,\r\n parent,\r\n disabled,\r\n readOnly,\r\n required,\r\n inputRef,\r\n id,\r\n ...props\r\n}: CheckboxProps) {\r\n const [isChecked, setIsChecked] = useControlledState({\r\n value: checked,\r\n defaultValue: defaultChecked,\r\n onChange: onCheckedChange,\r\n });\r\n\r\n return (\r\n <CheckboxProvider\r\n value={{ isChecked, setIsChecked, isIndeterminate: indeterminate }}\r\n >\r\n <CheckboxPrimitive.Root\r\n name={name}\r\n defaultChecked={defaultChecked}\r\n checked={checked}\r\n onCheckedChange={setIsChecked}\r\n indeterminate={indeterminate}\r\n value={value}\r\n nativeButton={nativeButton}\r\n parent={parent}\r\n disabled={disabled}\r\n readOnly={readOnly}\r\n required={required}\r\n inputRef={inputRef}\r\n id={id}\r\n render={\r\n <motion.span\r\n data-slot=\"checkbox\"\r\n whileTap={{ scale: 0.95 }}\r\n whileHover={{ scale: 1.05 }}\r\n {...props}\r\n />\r\n }\r\n />\r\n </CheckboxProvider>\r\n );\r\n}\r\n\r\ntype CheckboxIndicatorProps = SVGMotionProps<SVGSVGElement>;\r\n\r\nfunction CheckboxIndicator(props: CheckboxIndicatorProps) {\r\n const { isChecked, isIndeterminate } = useCheckbox();\r\n\r\n return (\r\n <CheckboxPrimitive.Indicator\r\n keepMounted\r\n render={\r\n <motion.svg\r\n data-slot=\"checkbox-indicator\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n strokeWidth=\"3.5\"\r\n stroke=\"currentColor\"\r\n initial=\"unchecked\"\r\n animate={isChecked ? 'checked' : 'unchecked'}\r\n {...props}\r\n >\r\n {isIndeterminate ? (\r\n <motion.line\r\n x1=\"5\"\r\n y1=\"12\"\r\n x2=\"19\"\r\n y2=\"12\"\r\n strokeLinecap=\"round\"\r\n initial={{ pathLength: 0, opacity: 0 }}\r\n animate={{\r\n pathLength: 1,\r\n opacity: 1,\r\n transition: { duration: 0.2 },\r\n }}\r\n />\r\n ) : (\r\n <motion.path\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n d=\"M4.5 12.75l6 6 9-13.5\"\r\n variants={{\r\n checked: {\r\n pathLength: 1,\r\n opacity: 1,\r\n transition: {\r\n duration: 0.2,\r\n delay: 0.2,\r\n },\r\n },\r\n unchecked: {\r\n pathLength: 0,\r\n opacity: 0,\r\n transition: {\r\n duration: 0.2,\r\n },\r\n },\r\n }}\r\n />\r\n )}\r\n </motion.svg>\r\n }\r\n ></CheckboxPrimitive.Indicator>\r\n );\r\n}\r\n\r\nexport {\r\n Checkbox,\r\n CheckboxIndicator,\r\n useCheckbox,\r\n type CheckboxProps,\r\n type CheckboxIndicatorProps,\r\n type CheckboxContextType,\r\n};"]}
@@ -0,0 +1,2 @@
1
+ import {a as a$2}from'./chunk-WWCXHCNU.js';import {a,b,c}from'./chunk-NGSCUYDU.js';import {b as b$1}from'./chunk-VNAMAKPG.js';import {a as a$1}from'./chunk-T7HRX3EC.js';import*as t from'react';import {useControlledState}from'@xploreu/hooks/use-controlled-state';import {format}from'date-fns';import {ChevronDown}from'lucide-react';import'react-day-picker';import {cn}from'@xploreu/lib/cn';import {jsxs,jsx}from'react/jsx-runtime';function E({className:h,value:x,onValueChange:o,defaultValue:y,required:n,disabled:i,placeholder:v="Pick a date",disabledDates:P,dateFormat:C="LLL dd, y",...D}){let k=t.useCallback(e=>{n?e&&o?.(e):o?.(e);},[o,n]),[r,w]=useControlledState({value:x,defaultValue:y,onChange:k}),[N,M]=t.useState(r||new Date),[S,l]=t.useState(false),d=!!r;return jsxs(a,{open:i?false:S,onOpenChange:l,children:[jsx(b,{className:"w-full",render:jsxs(b$1,{className:cn("group h-9 w-full justify-between rounded-xp-card-base border px-3 text-body-medium-3 transition-colors","border-border-primary bg-bg-primary text-text-secondary hover:bg-bg-primary-hover",d&&"border-border-brand bg-bg-brand-primary text-text-brand-secondary","data-[popup-open]:border-border-brand data-[popup-open]:bg-bg-brand-primary data-[popup-open]:text-text-brand-secondary","disabled:pointer-events-none disabled:opacity-50",h),variant:null,size:null,disabled:i,children:[jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[jsx(a$1,{className:cn("size-4 shrink-0",d?"text-fg-brand-primary":"text-fg-quaternary")}),jsx("span",{className:"truncate",children:r?format(r,C):v})]}),jsx(ChevronDown,{className:cn("size-4 shrink-0 transition-transform group-data-[popup-open]:rotate-180",d?"text-fg-brand-primary":"text-fg-quaternary")})]})}),jsx(c,{className:"w-auto border-0 rounded-[20px] p-xp-none bg-transparent",style:{background:"linear-gradient(180deg, rgba(46, 51, 90, 0) 0%, rgba(28, 27, 51, 0.04) 100%), radial-gradient(146.13% 118.42% at 50% -15.5%, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 0) 99.59%)",backdropFilter:"blur(20px)",boxShadow:"0px 30px 60px 0px #0000001A"},children:jsx(a$2,{autoFocus:true,disabled:P,mode:"single",month:N,selected:r,onMonthChange:M,onSelect:e=>{n&&!e||(w(e),l(false));},...D})})]})}export{E as a};//# sourceMappingURL=chunk-EE5QQGMX.js.map
2
+ //# sourceMappingURL=chunk-EE5QQGMX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/date-picker.tsx"],"names":["DatePicker","className","valueProp","onValueChange","defaultValue","required","disabled","placeholder","disabledDates","dateFormat","props","handleValueChange","val","value","setValue","useControlledState","currentMonth","setCurrentMonth","isOpen","setIsOpen","hasValue","jsxs","Popover","jsx","PopoverTrigger","Button","cn","calendar_icon_default","format","ChevronDown","PopoverPopup","Calendar"],"mappings":"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","file":"chunk-EE5QQGMX.js","sourcesContent":["\"use client\"\r\n\r\nimport * as React from \"react\"\r\n\r\nimport { useControlledState } from \"@xploreu/hooks/use-controlled-state\"\r\nimport { format } from \"date-fns\"\r\nimport { ChevronDown } from \"lucide-react\"\r\nimport { type Matcher } from \"react-day-picker\"\r\n\r\nimport { cn } from \"@xploreu/lib/cn\"\r\n\r\nimport { CalendarIcon } from \"../icons\"\r\nimport { Button } from \"./button\"\r\nimport { Calendar, type CalendarProps } from \"./calendar\"\r\nimport { Popover, PopoverPopup, PopoverTrigger } from \"./popover\"\r\n\r\nexport type DatePickerProps = {\r\n className?: string\r\n value?: Date\r\n defaultValue?: Date\r\n required?: boolean\r\n disabled?: boolean\r\n placeholder?: string\r\n disabledDates?: Matcher | Matcher[] | undefined\r\n dateFormat?: string\r\n} & ({\r\n required: true\r\n onValueChange?: (value: Date) => void\r\n} | {\r\n required?: false\r\n onValueChange?: (value: Date | undefined) => void\r\n}) & Omit<CalendarProps, \"mode\" | \"selected\" | \"onSelect\" | \"month\" | \"onMonthChange\">\r\n\r\nfunction DatePicker({\r\n className,\r\n value: valueProp,\r\n onValueChange,\r\n defaultValue,\r\n required,\r\n disabled,\r\n placeholder = \"Pick a date\",\r\n disabledDates,\r\n dateFormat = \"LLL dd, y\",\r\n ...props\r\n}: DatePickerProps) {\r\n const handleValueChange = React.useCallback(\r\n (val: Date | undefined) => {\r\n if (required) {\r\n if (val) onValueChange?.(val)\r\n } else {\r\n onValueChange?.(val)\r\n }\r\n },\r\n [onValueChange, required],\r\n )\r\n\r\n const [value, setValue] = useControlledState<Date | undefined>({\r\n value: valueProp,\r\n defaultValue,\r\n onChange: handleValueChange,\r\n })\r\n\r\n const [currentMonth, setCurrentMonth] = React.useState<Date | undefined>(value || new Date())\r\n const [isOpen, setIsOpen] = React.useState(false)\r\n\r\n const hasValue = !!value\r\n\r\n return (\r\n <Popover open={disabled ? false : isOpen} onOpenChange={setIsOpen}>\r\n <PopoverTrigger\r\n className=\"w-full\"\r\n render={\r\n <Button\r\n className={cn(\r\n \"group h-9 w-full justify-between rounded-xp-card-base border px-3 text-body-medium-3 transition-colors\",\r\n \"border-border-primary bg-bg-primary text-text-secondary hover:bg-bg-primary-hover\",\r\n hasValue &&\r\n \"border-border-brand bg-bg-brand-primary text-text-brand-secondary\",\r\n \"data-[popup-open]:border-border-brand data-[popup-open]:bg-bg-brand-primary data-[popup-open]:text-text-brand-secondary\",\r\n \"disabled:pointer-events-none disabled:opacity-50\",\r\n className,\r\n )}\r\n variant={null}\r\n size={null}\r\n disabled={disabled}\r\n >\r\n <span className=\"flex min-w-0 items-center gap-2\">\r\n <CalendarIcon\r\n className={cn(\r\n \"size-4 shrink-0\",\r\n hasValue ? \"text-fg-brand-primary\" : \"text-fg-quaternary\",\r\n )}\r\n />\r\n <span className=\"truncate\">\r\n {value ? format(value, dateFormat) : placeholder}\r\n </span>\r\n </span>\r\n <ChevronDown\r\n className={cn(\r\n \"size-4 shrink-0 transition-transform group-data-[popup-open]:rotate-180\",\r\n hasValue ? \"text-fg-brand-primary\" : \"text-fg-quaternary\",\r\n )}\r\n />\r\n </Button>\r\n }\r\n />\r\n <PopoverPopup\r\n className=\"w-auto border-0 rounded-[20px] p-xp-none bg-transparent\"\r\n style={{\r\n background:\r\n \"linear-gradient(180deg, rgba(46, 51, 90, 0) 0%, rgba(28, 27, 51, 0.04) 100%), radial-gradient(146.13% 118.42% at 50% -15.5%, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 0) 99.59%)\",\r\n backdropFilter: \"blur(20px)\",\r\n boxShadow: \"0px 30px 60px 0px #0000001A\",\r\n }}\r\n >\r\n <Calendar\r\n autoFocus\r\n disabled={disabledDates}\r\n mode=\"single\"\r\n month={currentMonth}\r\n selected={value}\r\n onMonthChange={setCurrentMonth}\r\n onSelect={(val) => {\r\n if (required && !val) return\r\n setValue(val)\r\n setIsOpen(false)\r\n }}\r\n {...props}\r\n />\r\n </PopoverPopup>\r\n </Popover>\r\n )\r\n}\r\n\r\nexport { DatePicker }\r\n"]}
@@ -0,0 +1,2 @@
1
+ import {a as a$3}from'./chunk-WWCXHCNU.js';import {a as a$1,b,c}from'./chunk-NGSCUYDU.js';import {b as b$1}from'./chunk-VNAMAKPG.js';import {a as a$2}from'./chunk-T7HRX3EC.js';import {b as b$2,c as c$1}from'./chunk-DZKJRP4J.js';import*as a from'react';import {useControlledState}from'@xploreu/hooks/use-controlled-state';import {format}from'date-fns';import {ChevronDown}from'lucide-react';import'react-day-picker';import {cn}from'@xploreu/lib/cn';import {jsxs,jsx}from'react/jsx-runtime';function Z({className:P,value:M,onValueChange:i,defaultValue:N,required:d,disabled:p,placeholder:k="Pick dates",disabledDates:w,dateFormat:j="LLL dd, y",chipDateFormat:S="d MMM",maxVisible:l,...B}){let R=a.useCallback(e=>{d?e?.length&&i?.(e):i?.(e);},[i,d]),[t,u]=useControlledState({value:M,defaultValue:N,onChange:R}),[z,F]=a.useState(t?.[0]||new Date),[O,T]=a.useState(false),s=!!t?.length,m=a.useMemo(()=>t?[...t].sort((e,n)=>e.getTime()-n.getTime()):[],[t]),V=a.useCallback(e=>{let n=t?.filter(L=>L.getTime()!==e.getTime());d&&!n?.length||u(n);},[t,u,d]),I=l!==void 0?m.slice(0,l):m,b$3=l!==void 0?m.length-l:0;return jsxs("div",{className:"flex flex-col gap-2 w-full",children:[jsxs(a$1,{open:p?false:O,onOpenChange:T,children:[jsx(b,{className:"w-full",render:jsxs(b$1,{className:cn("group h-9 w-full justify-between rounded-xp-card-base border px-3 text-body-medium-3 transition-colors","border-border-primary bg-bg-primary text-text-secondary hover:bg-bg-primary-hover",s&&"border-border-brand bg-bg-brand-primary text-text-brand-secondary","data-[popup-open]:border-border-brand data-[popup-open]:bg-bg-brand-primary data-[popup-open]:text-text-brand-secondary","disabled:pointer-events-none disabled:opacity-50",P),variant:null,size:null,disabled:p,children:[jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[jsx(a$2,{className:cn("size-4 shrink-0",s?"text-fg-brand-primary":"text-fg-quaternary")}),jsx("span",{className:"truncate",children:s?`${t.length} ${t.length===1?"date":"dates"} selected`:k})]}),jsx(ChevronDown,{className:cn("size-4 shrink-0 transition-transform group-data-[popup-open]:rotate-180",s?"text-fg-brand-primary":"text-fg-quaternary")})]})}),jsx(c,{className:"w-auto border-0 rounded-[20px] p-xp-none bg-transparent",style:{background:"linear-gradient(180deg, rgba(46, 51, 90, 0) 0%, rgba(28, 27, 51, 0.04) 100%), radial-gradient(146.13% 118.42% at 50% -15.5%, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 0) 99.59%)",backdropFilter:"blur(20px)",boxShadow:"0px 30px 60px 0px #0000001A"},children:jsx(a$3,{autoFocus:true,disabled:w,mode:"multiple",month:z,selected:t,onMonthChange:F,onSelect:e=>{d&&!e?.length||u(e);},...B})})]}),s&&jsxs("div",{className:"flex flex-wrap gap-2",children:[I.map(e=>jsxs(b$2,{color:"brand",size:"lg",className:"ring-1 ring-border-brand text-body-medium-3",children:[format(e,S),!p&&jsx(c$1,{className:"text-fg-quaternary",onClick:n=>{n.stopPropagation(),V(e);}})]},e.toISOString())),b$3>0&&jsxs(b$2,{color:"brand",size:"lg",className:"ring-1 ring-border-brand text-body-medium-3",children:["+",b$3]})]})]})}export{Z as a};//# sourceMappingURL=chunk-ITR3T6UB.js.map
2
+ //# sourceMappingURL=chunk-ITR3T6UB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/date-multiple-picker.tsx"],"names":["DateMultiplePicker","className","valueProp","onValueChange","defaultValue","required","disabled","placeholder","disabledDates","dateFormat","chipDateFormat","maxVisible","props","handleValueChange","val","value","setValue","useControlledState","currentMonth","setCurrentMonth","isOpen","setIsOpen","hasValue","sortedValue","a","b","handleRemoveDate","dateToRemove","newValue","d","visibleChips","overflowCount","jsxs","Popover","jsx","PopoverTrigger","Button","cn","calendar_icon_default","ChevronDown","PopoverPopup","Calendar","Badge","format","BadgeButton","e"],"mappings":"yeAqCA,SAASA,CAAAA,CAAmB,CAC1B,SAAA,CAAAC,CAAAA,CACA,MAAOC,CAAAA,CACP,aAAA,CAAAC,EACA,YAAA,CAAAC,CAAAA,CACA,SAAAC,CAAAA,CACA,QAAA,CAAAC,EACA,WAAA,CAAAC,CAAAA,CAAc,aACd,aAAA,CAAAC,CAAAA,CACA,WAAAC,CAAAA,CAAa,WAAA,CACb,eAAAC,CAAAA,CAAiB,OAAA,CACjB,WAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,CAA4B,CAC1B,IAAMC,CAAAA,CAA0B,CAAA,CAAA,WAAA,CAC7BC,GAA4B,CACvBT,CAAAA,CACES,GAAK,MAAA,EAAQX,CAAAA,GAAgBW,CAAG,CAAA,CAEpCX,CAAAA,GAAgBW,CAAG,EAEvB,CAAA,CACA,CAACX,CAAAA,CAAeE,CAAQ,CAC1B,CAAA,CAEM,CAACU,EAAOC,CAAQ,CAAA,CAAIC,mBAAuC,CAC/D,KAAA,CAAOf,EACP,YAAA,CAAAE,CAAAA,CACA,SAAUS,CACZ,CAAC,EAEK,CAACK,CAAAA,CAAcC,CAAe,CAAA,CAAU,CAAA,CAAA,QAAA,CAA2BJ,IAAQ,CAAC,CAAA,EAAK,IAAI,IAAM,CAAA,CAC3F,CAACK,CAAAA,CAAQC,CAAS,EAAU,CAAA,CAAA,QAAA,CAAS,KAAK,EAE1CC,CAAAA,CAAW,CAAC,CAACP,CAAAA,EAAO,MAAA,CAEpBQ,EAAoB,CAAA,CAAA,OAAA,CAAQ,IAC3BR,EACE,CAAC,GAAGA,CAAK,CAAA,CAAE,IAAA,CAAK,CAACS,CAAAA,CAAGC,CAAAA,GAAMD,EAAE,OAAA,EAAQ,CAAIC,EAAE,OAAA,EAAS,EADvC,EAAC,CAEnB,CAACV,CAAK,CAAC,EAEJW,CAAAA,CAAyB,CAAA,CAAA,WAAA,CAC5BC,GAAuB,CACtB,IAAMC,EAAWb,CAAAA,EAAO,MAAA,CAAQc,GAAMA,CAAAA,CAAE,OAAA,KAAcF,CAAAA,CAAa,OAAA,EAAS,CAAA,CACxEtB,CAAAA,EAAY,CAACuB,CAAAA,EAAU,MAAA,EAC3BZ,EAASY,CAAQ,EACnB,EACA,CAACb,CAAAA,CAAOC,EAAUX,CAAQ,CAC5B,EAEMyB,CAAAA,CAAenB,CAAAA,GAAe,OAAYY,CAAAA,CAAY,KAAA,CAAM,EAAGZ,CAAU,CAAA,CAAIY,EAC7EQ,GAAAA,CAAgBpB,CAAAA,GAAe,OAAYY,CAAAA,CAAY,MAAA,CAASZ,EAAa,CAAA,CAEnF,OACEqB,IAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,4BAAA,CACb,UAAAA,IAAAA,CAACC,GAAAA,CAAA,CAAQ,IAAA,CAAM3B,CAAAA,CAAW,MAAQc,CAAAA,CAAQ,YAAA,CAAcC,EACtD,QAAA,CAAA,CAAAa,GAAAA,CAACC,EAAA,CACC,SAAA,CAAU,SACV,MAAA,CACEH,IAAAA,CAACI,IAAA,CACC,SAAA,CAAWC,GACT,wGAAA,CACA,mFAAA,CACAf,GACE,mEAAA,CACF,yHAAA,CACA,mDACArB,CACF,CAAA,CACA,QAAS,IAAA,CACT,IAAA,CAAM,KACN,QAAA,CAAUK,CAAAA,CAEV,UAAA0B,IAAAA,CAAC,MAAA,CAAA,CAAK,UAAU,iCAAA,CACd,QAAA,CAAA,CAAAE,IAACI,GAAAA,CAAA,CACC,UAAWD,EAAAA,CACT,iBAAA,CACAf,EAAW,uBAAA,CAA0B,oBACvC,EACF,CAAA,CACAY,GAAAA,CAAC,QAAK,SAAA,CAAU,UAAA,CACb,SAAAZ,CAAAA,CACG,CAAA,EAAGP,EAAM,MAAM,CAAA,CAAA,EAAIA,EAAM,MAAA,GAAW,CAAA,CAAI,OAAS,OAAO,CAAA,SAAA,CAAA,CACxDR,EACN,CAAA,CAAA,CACF,CAAA,CACA2B,IAACK,WAAAA,CAAA,CACC,UAAWF,EAAAA,CACT,yEAAA,CACAf,EAAW,uBAAA,CAA0B,oBACvC,EACF,CAAA,CAAA,CACF,CAAA,CAEJ,EACAY,GAAAA,CAACM,CAAAA,CAAA,CACC,SAAA,CAAU,yDAAA,CACV,MAAO,CACL,UAAA,CACE,2LAAA,CACF,cAAA,CAAgB,YAAA,CAChB,SAAA,CAAW,6BACb,CAAA,CAEA,QAAA,CAAAN,IAACO,GAAAA,CAAA,CACC,UAAS,IAAA,CACT,QAAA,CAAUjC,EACV,IAAA,CAAK,UAAA,CACL,MAAOU,CAAAA,CACP,QAAA,CAAUH,EACV,aAAA,CAAeI,CAAAA,CACf,SAAWL,CAAAA,EAAQ,CACbT,GAAY,CAACS,CAAAA,EAAK,QACtBE,CAAAA,CAASF,CAAG,EACd,CAAA,CACC,GAAGF,EACN,CAAA,CACF,CAAA,CAAA,CACF,EAECU,CAAAA,EACCU,IAAAA,CAAC,OAAI,SAAA,CAAU,sBAAA,CACZ,UAAAF,CAAAA,CAAa,GAAA,CAAKD,GACjBG,IAAAA,CAACU,GAAAA,CAAA,CAEC,KAAA,CAAM,OAAA,CACN,KAAK,IAAA,CACL,SAAA,CAAU,8CAET,QAAA,CAAA,CAAAC,MAAAA,CAAOd,EAAGnB,CAAc,CAAA,CACxB,CAACJ,CAAAA,EACA4B,GAAAA,CAACU,IAAA,CACC,SAAA,CAAU,qBACV,OAAA,CAAUC,CAAAA,EAAM,CACdA,CAAAA,CAAE,eAAA,GACFnB,CAAAA,CAAiBG,CAAC,EACpB,CAAA,CACF,CAAA,CAAA,CAAA,CAbGA,EAAE,WAAA,EAeT,CACD,CAAA,CACAE,GAAAA,CAAgB,GACfC,IAAAA,CAACU,GAAAA,CAAA,CACC,KAAA,CAAM,OAAA,CACN,KAAK,IAAA,CACL,SAAA,CAAU,8CACX,QAAA,CAAA,CAAA,GAAA,CACGX,GAAAA,CAAAA,CACJ,CAAA,CAAA,CAEJ,CAAA,CAAA,CAEJ,CAEJ","file":"chunk-ITR3T6UB.js","sourcesContent":["\"use client\"\r\n\r\nimport * as React from \"react\"\r\n\r\nimport { useControlledState } from \"@xploreu/hooks/use-controlled-state\"\r\nimport { format } from \"date-fns\"\r\nimport { ChevronDown } from \"lucide-react\"\r\nimport { type Matcher } from \"react-day-picker\"\r\n\r\nimport { cn } from \"@xploreu/lib/cn\"\r\n\r\nimport { CalendarIcon } from \"../icons\"\r\nimport { Button } from \"./button\"\r\nimport { Calendar, type CalendarProps } from \"./calendar\"\r\nimport { Popover, PopoverPopup, PopoverTrigger } from \"./popover\"\r\nimport { Badge, BadgeButton } from \"./badge\"\r\n\r\nexport type DateMultiplePickerProps = {\r\n className?: string\r\n value?: Date[]\r\n defaultValue?: Date[]\r\n required?: boolean\r\n disabled?: boolean\r\n placeholder?: string\r\n disabledDates?: Matcher | Matcher[] | undefined\r\n dateFormat?: string\r\n chipDateFormat?: string\r\n /** Maximum number of chips to show outside before collapsing the rest into a \"+N\" chip. */\r\n maxVisible?: number\r\n} & ({\r\n required: true\r\n onValueChange?: (value: Date[]) => void\r\n} | {\r\n required?: false\r\n onValueChange?: (value: Date[] | undefined) => void\r\n}) & Omit<CalendarProps, \"mode\" | \"selected\" | \"onSelect\" | \"month\" | \"onMonthChange\">\r\n\r\nfunction DateMultiplePicker({\r\n className,\r\n value: valueProp,\r\n onValueChange,\r\n defaultValue,\r\n required,\r\n disabled,\r\n placeholder = \"Pick dates\",\r\n disabledDates,\r\n dateFormat = \"LLL dd, y\",\r\n chipDateFormat = \"d MMM\",\r\n maxVisible,\r\n ...props\r\n}: DateMultiplePickerProps) {\r\n const handleValueChange = React.useCallback(\r\n (val: Date[] | undefined) => {\r\n if (required) {\r\n if (val?.length) onValueChange?.(val)\r\n } else {\r\n onValueChange?.(val)\r\n }\r\n },\r\n [onValueChange, required],\r\n )\r\n\r\n const [value, setValue] = useControlledState<Date[] | undefined>({\r\n value: valueProp,\r\n defaultValue,\r\n onChange: handleValueChange,\r\n })\r\n\r\n const [currentMonth, setCurrentMonth] = React.useState<Date | undefined>(value?.[0] || new Date())\r\n const [isOpen, setIsOpen] = React.useState(false)\r\n\r\n const hasValue = !!value?.length\r\n\r\n const sortedValue = React.useMemo(() => {\r\n if (!value) return []\r\n return [...value].sort((a, b) => a.getTime() - b.getTime())\r\n }, [value])\r\n\r\n const handleRemoveDate = React.useCallback(\r\n (dateToRemove: Date) => {\r\n const newValue = value?.filter((d) => d.getTime() !== dateToRemove.getTime())\r\n if (required && !newValue?.length) return\r\n setValue(newValue)\r\n },\r\n [value, setValue, required],\r\n )\r\n\r\n const visibleChips = maxVisible !== undefined ? sortedValue.slice(0, maxVisible) : sortedValue\r\n const overflowCount = maxVisible !== undefined ? sortedValue.length - maxVisible : 0\r\n\r\n return (\r\n <div className=\"flex flex-col gap-2 w-full\">\r\n <Popover open={disabled ? false : isOpen} onOpenChange={setIsOpen}>\r\n <PopoverTrigger\r\n className=\"w-full\"\r\n render={\r\n <Button\r\n className={cn(\r\n \"group h-9 w-full justify-between rounded-xp-card-base border px-3 text-body-medium-3 transition-colors\",\r\n \"border-border-primary bg-bg-primary text-text-secondary hover:bg-bg-primary-hover\",\r\n hasValue &&\r\n \"border-border-brand bg-bg-brand-primary text-text-brand-secondary\",\r\n \"data-[popup-open]:border-border-brand data-[popup-open]:bg-bg-brand-primary data-[popup-open]:text-text-brand-secondary\",\r\n \"disabled:pointer-events-none disabled:opacity-50\",\r\n className,\r\n )}\r\n variant={null}\r\n size={null}\r\n disabled={disabled}\r\n >\r\n <span className=\"flex min-w-0 items-center gap-2\">\r\n <CalendarIcon\r\n className={cn(\r\n \"size-4 shrink-0\",\r\n hasValue ? \"text-fg-brand-primary\" : \"text-fg-quaternary\",\r\n )}\r\n />\r\n <span className=\"truncate\">\r\n {hasValue\r\n ? `${value.length} ${value.length === 1 ? \"date\" : \"dates\"} selected`\r\n : placeholder}\r\n </span>\r\n </span>\r\n <ChevronDown\r\n className={cn(\r\n \"size-4 shrink-0 transition-transform group-data-[popup-open]:rotate-180\",\r\n hasValue ? \"text-fg-brand-primary\" : \"text-fg-quaternary\",\r\n )}\r\n />\r\n </Button>\r\n }\r\n />\r\n <PopoverPopup\r\n className=\"w-auto border-0 rounded-[20px] p-xp-none bg-transparent\"\r\n style={{\r\n background:\r\n \"linear-gradient(180deg, rgba(46, 51, 90, 0) 0%, rgba(28, 27, 51, 0.04) 100%), radial-gradient(146.13% 118.42% at 50% -15.5%, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 0) 99.59%)\",\r\n backdropFilter: \"blur(20px)\",\r\n boxShadow: \"0px 30px 60px 0px #0000001A\",\r\n }}\r\n >\r\n <Calendar\r\n autoFocus\r\n disabled={disabledDates}\r\n mode=\"multiple\"\r\n month={currentMonth}\r\n selected={value}\r\n onMonthChange={setCurrentMonth}\r\n onSelect={(val) => {\r\n if (required && !val?.length) return\r\n setValue(val)\r\n }}\r\n {...props}\r\n />\r\n </PopoverPopup>\r\n </Popover>\r\n\r\n {hasValue && (\r\n <div className=\"flex flex-wrap gap-2\">\r\n {visibleChips.map((d) => (\r\n <Badge\r\n key={d.toISOString()}\r\n color=\"brand\"\r\n size=\"lg\"\r\n className=\"ring-1 ring-border-brand text-body-medium-3\"\r\n >\r\n {format(d, chipDateFormat)}\r\n {!disabled && (\r\n <BadgeButton\r\n className=\"text-fg-quaternary\"\r\n onClick={(e) => {\r\n e.stopPropagation()\r\n handleRemoveDate(d)\r\n }}\r\n />\r\n )}\r\n </Badge>\r\n ))}\r\n {overflowCount > 0 && (\r\n <Badge\r\n color=\"brand\"\r\n size=\"lg\"\r\n className=\"ring-1 ring-border-brand text-body-medium-3\"\r\n >\r\n +{overflowCount}\r\n </Badge>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n )\r\n}\r\n\r\nexport { DateMultiplePicker }"]}
@@ -0,0 +1,2 @@
1
+ import {b,c as c$1}from'./chunk-KYD4ATTG.js';import*as C from'react';import {Menu}from'@base-ui/react/menu';import {AnimatePresence,motion}from'motion/react';import {useControlledState}from'@xploreu/hooks/use-controlled-state';import {useDataState}from'@xploreu/hooks/use-data-state';import {getStrictContext}from'@xploreu/lib/get-strict-context';import {jsx}from'react/jsx-runtime';var [T,c]=getStrictContext("MenuActiveValueContext"),[R,k]=getStrictContext("MenuContext");function A(e){let[n,o]=useControlledState({value:e?.open,defaultValue:e?.defaultOpen,onChange:e?.onOpenChange}),[i,u]=C.useState(null);return jsx(T,{value:{highlightedValue:i,setHighlightedValue:u},children:jsx(R,{value:{isOpen:n,setIsOpen:o},children:jsx(Menu.Root,{"data-slot":"menu",...e,onOpenChange:o})})})}function w(e){return jsx(Menu.Trigger,{"data-slot":"menu-trigger",...e})}function D(e){let{isOpen:n}=k();return jsx(AnimatePresence,{children:n&&jsx(Menu.Portal,{"data-slot":"menu-portal",keepMounted:true,...e})})}function B(e){return jsx(Menu.Positioner,{"data-slot":"menu-positioner",...e})}function E({finalFocus:e,id:n,transition:o={duration:.2},style:i,...u}){return jsx(Menu.Popup,{finalFocus:e,id:n,render:jsx(motion.div,{animate:{opacity:1,scale:1},"data-slot":"menu-popup",exit:{opacity:0,scale:.95},initial:{opacity:0,scale:.95},style:{willChange:"opacity, transform",...i},transition:o,...u},"menu-popup")})}function F(e){return jsx(Menu.Group,{"data-slot":"menu-group",...e})}function q(e){return jsx(Menu.GroupLabel,{"data-slot":"menu-group-label",...e})}function z(e){return jsx(Menu.Separator,{"data-slot":"menu-separator",...e})}function J(e){return jsx("span",{"data-slot":"menu-shortcut",...e})}function K(e){return jsx(Menu.Arrow,{"data-slot":"menu-arrow",...e})}function N({transition:e={type:"spring",stiffness:350,damping:35},...n}){let{highlightedValue:o}=c();return jsx(b,{click:false,controlledItems:true,"data-slot":"menu-highlight",transition:e,value:o,...n})}function Q(e){return jsx(c$1,{"data-slot":"menu-highlight-item",...e})}function U({disabled:e,label:n,closeOnClick:o,nativeButton:i,id:u,...s}){let{setHighlightedValue:m}=c(),[,p]=useDataState("highlighted",void 0,a=>{if(a===true){let d=p.current,l=d?.dataset.value||d?.id||null;l&&m(l);}});return jsx(Menu.Item,{ref:p,closeOnClick:o,"data-slot":"menu-item",disabled:e,id:u,label:n,nativeButton:i,...s})}function W({label:e,defaultChecked:n,checked:o,onCheckedChange:i,disabled:u,closeOnClick:s,nativeButton:m,id:p,...a}){let{setHighlightedValue:d}=c(),[,l]=useDataState("highlighted",void 0,M=>{if(M===true){let h=l.current,y=h?.dataset.value||h?.id||null;y&&d(y);}});return jsx(Menu.CheckboxItem,{ref:l,checked:o,closeOnClick:s,"data-slot":"menu-checkbox-item",defaultChecked:n,disabled:u,id:p,label:e,nativeButton:m,onCheckedChange:i,...a})}function X({keepMounted:e,...n}){return jsx(Menu.CheckboxItemIndicator,{"data-slot":"menu-checkbox-item-indicator",keepMounted:e,render:jsx(motion.div,{"data-slot":"menu-checkbox-item-indicator",...n})})}function Y(e){return jsx(Menu.RadioGroup,{"data-slot":"menu-radio-group",...e})}function Z({value:e,disabled:n,label:o,closeOnClick:i,nativeButton:u,id:s,...m}){let{setHighlightedValue:p}=c(),[,a]=useDataState("highlighted",void 0,d=>{if(d===true){let l=a.current,M=l?.dataset.value||l?.id||null;M&&p(M);}});return jsx(Menu.RadioItem,{ref:a,closeOnClick:i,"data-slot":"menu-radio-item",disabled:n,id:s,label:o,nativeButton:u,value:e,...m})}function _({keepMounted:e,...n}){return jsx(Menu.RadioItemIndicator,{"data-slot":"menu-radio-item-indicator",keepMounted:e,render:jsx(motion.div,{"data-slot":"menu-radio-item-indicator",...n})})}function $(e){let[n,o]=useControlledState({value:e?.open,defaultValue:e?.defaultOpen,onChange:e?.onOpenChange});return jsx(R,{value:{isOpen:n,setIsOpen:o},children:jsx(Menu.SubmenuRoot,{"data-slot":"menu-submenu",...e,onOpenChange:o})})}function j({label:e,id:n,nativeButton:o,...i}){let{setHighlightedValue:u}=c(),[,s]=useDataState("highlighted",void 0,m=>{if(m===true){let p=s.current,a=p?.dataset.value||p?.id||null;a&&u(a);}});return jsx(Menu.SubmenuTrigger,{ref:s,"data-slot":"menu-submenu-trigger",id:n,label:e,nativeButton:o,...i})}export{c as a,k as b,A as c,w as d,D as e,B as f,E as g,F as h,q as i,z as j,J as k,K as l,N as m,Q as n,U as o,W as p,X as q,Y as r,Z as s,_ as t,$ as u,j as v};//# sourceMappingURL=chunk-JP737TCG.js.map
2
+ //# sourceMappingURL=chunk-JP737TCG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/primitives/menu.tsx"],"names":["MenuActiveValueProvider","useMenuActiveValue","getStrictContext","MenuProvider","useMenu","Menu","props","isOpen","setIsOpen","useControlledState","highlightedValue","setHighlightedValue","jsx","MenuPrimitive","MenuTrigger","MenuPortal","AnimatePresence","MenuPositioner","MenuPopup","finalFocus","id","transition","style","motion","MenuGroup","MenuGroupLabel","MenuSeparator","MenuShortcut","MenuArrow","MenuHighlight","Highlight","MenuHighlightItem","HighlightItem","MenuItem","disabled","label","closeOnClick","nativeButton","highlightedRef","useDataState","value","el","v","MenuCheckboxItem","defaultChecked","checked","onCheckedChange","MenuCheckboxItemIndicator","keepMounted","MenuRadioGroup","MenuRadioItem","MenuRadioItemIndicator","MenuSubmenu","MenuSubmenuTrigger"],"mappings":"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","file":"chunk-JP737TCG.js","sourcesContent":["\"use client\"\r\n\r\nimport * as React from \"react\"\r\n\r\nimport { Menu as MenuPrimitive } from \"@base-ui/react/menu\"\r\nimport {\r\n AnimatePresence,\r\n type HTMLMotionProps,\r\n motion\r\n} from \"motion/react\"\r\n\r\nimport { useControlledState } from \"@xploreu/hooks/use-controlled-state\"\r\nimport { useDataState } from \"@xploreu/hooks/use-data-state\"\r\nimport { getStrictContext } from \"@xploreu/lib/get-strict-context\"\r\n\r\nimport {\r\n Highlight,\r\n HighlightItem,\r\n type HighlightItemProps,\r\n type HighlightProps\r\n} from \"../effects/highlight\"\r\n\r\ntype MenuActiveValueContextType = {\r\n highlightedValue: string | null;\r\n setHighlightedValue: (value: string | null) => void;\r\n}\r\n\r\ntype MenuContextType = {\r\n isOpen: boolean;\r\n setIsOpen: MenuProps[\"onOpenChange\"];\r\n}\r\n\r\nconst [MenuActiveValueProvider, useMenuActiveValue] =\r\n getStrictContext<MenuActiveValueContextType>(\"MenuActiveValueContext\")\r\n\r\nconst [MenuProvider, useMenu] =\r\n getStrictContext<MenuContextType>(\"MenuContext\")\r\n\r\ntype MenuProps = React.ComponentProps<typeof MenuPrimitive.Root>\r\n\r\nfunction Menu(props: MenuProps) {\r\n const [isOpen, setIsOpen] = useControlledState({\r\n value: props?.open,\r\n defaultValue: props?.defaultOpen,\r\n onChange: props?.onOpenChange,\r\n })\r\n const [highlightedValue, setHighlightedValue] = React.useState<string | null>(\r\n null,\r\n )\r\n\r\n return (\r\n <MenuActiveValueProvider value={{ highlightedValue, setHighlightedValue }}>\r\n <MenuProvider value={{ isOpen, setIsOpen }}>\r\n <MenuPrimitive.Root\r\n data-slot=\"menu\"\r\n {...props}\r\n onOpenChange={setIsOpen}\r\n />\r\n </MenuProvider>\r\n </MenuActiveValueProvider>\r\n )\r\n}\r\n\r\ntype MenuTriggerProps = React.ComponentProps<typeof MenuPrimitive.Trigger>\r\n\r\nfunction MenuTrigger(props: MenuTriggerProps) {\r\n return <MenuPrimitive.Trigger data-slot=\"menu-trigger\" {...props} />\r\n}\r\n\r\ntype MenuPortalProps = Omit<\r\n React.ComponentProps<typeof MenuPrimitive.Portal>,\r\n \"keepMounted\"\r\n>\r\n\r\nfunction MenuPortal(props: MenuPortalProps) {\r\n const { isOpen } = useMenu()\r\n\r\n return (\r\n <AnimatePresence>\r\n {isOpen && (\r\n <MenuPrimitive.Portal\r\n data-slot=\"menu-portal\"\r\n keepMounted\r\n {...props}\r\n />\r\n )}\r\n </AnimatePresence>\r\n )\r\n}\r\n\r\ntype MenuPositionerProps = React.ComponentProps<\r\n typeof MenuPrimitive.Positioner\r\n>\r\n\r\nfunction MenuPositioner(props: MenuPositionerProps) {\r\n return (\r\n <MenuPrimitive.Positioner\r\n data-slot=\"menu-positioner\"\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\ntype MenuPopupProps = Omit<\r\n React.ComponentProps<typeof MenuPrimitive.Popup>,\r\n \"render\"\r\n> &\r\n HTMLMotionProps<\"div\">\r\n\r\nfunction MenuPopup({\r\n finalFocus,\r\n id,\r\n transition = { duration: 0.2 },\r\n style,\r\n ...props\r\n}: MenuPopupProps) {\r\n return (\r\n <MenuPrimitive.Popup\r\n finalFocus={finalFocus}\r\n id={id}\r\n render={\r\n <motion.div\r\n key=\"menu-popup\"\r\n animate={{ opacity: 1, scale: 1 }}\r\n data-slot=\"menu-popup\"\r\n exit={{ opacity: 0, scale: 0.95 }}\r\n initial={{ opacity: 0, scale: 0.95 }}\r\n style={{ willChange: \"opacity, transform\", ...style }}\r\n transition={transition}\r\n {...props}\r\n />\r\n }\r\n />\r\n )\r\n}\r\n\r\ntype MenuGroupProps = React.ComponentProps<typeof MenuPrimitive.Group>\r\n\r\nfunction MenuGroup(props: MenuGroupProps) {\r\n return <MenuPrimitive.Group data-slot=\"menu-group\" {...props} />\r\n}\r\n\r\ntype MenuGroupLabelProps = React.ComponentProps<\r\n typeof MenuPrimitive.GroupLabel\r\n>\r\n\r\nfunction MenuGroupLabel(props: MenuGroupLabelProps) {\r\n return (\r\n <MenuPrimitive.GroupLabel\r\n data-slot=\"menu-group-label\"\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\ntype MenuSeparatorProps = React.ComponentProps<typeof MenuPrimitive.Separator>\r\n\r\nfunction MenuSeparator(props: MenuSeparatorProps) {\r\n return <MenuPrimitive.Separator data-slot=\"menu-separator\" {...props} />\r\n}\r\n\r\ntype MenuShortcutProps = React.ComponentProps<\"span\">\r\n\r\nfunction MenuShortcut(props: MenuShortcutProps) {\r\n return <span data-slot=\"menu-shortcut\" {...props} />\r\n}\r\n\r\ntype MenuArrowProps = React.ComponentProps<typeof MenuPrimitive.Arrow>\r\n\r\nfunction MenuArrow(props: MenuArrowProps) {\r\n return <MenuPrimitive.Arrow data-slot=\"menu-arrow\" {...props} />\r\n}\r\n\r\ntype MenuHighlightProps = Omit<\r\n HighlightProps,\r\n \"controlledItems\" | \"enabled\" | \"hover\"\r\n> & {\r\n animateOnHover?: boolean;\r\n}\r\n\r\nfunction MenuHighlight({\r\n transition = { type: \"spring\", stiffness: 350, damping: 35 },\r\n ...props\r\n}: MenuHighlightProps) {\r\n const { highlightedValue } = useMenuActiveValue()\r\n\r\n return (\r\n <Highlight\r\n click={false}\r\n controlledItems\r\n data-slot=\"menu-highlight\"\r\n transition={transition}\r\n value={highlightedValue}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\ntype MenuHighlightItemProps = HighlightItemProps\r\n\r\nfunction MenuHighlightItem(props: MenuHighlightItemProps) {\r\n return <HighlightItem data-slot=\"menu-highlight-item\" {...props} />\r\n}\r\n\r\ntype MenuItemProps = Omit<\r\n React.ComponentProps<typeof MenuPrimitive.Item>,\r\n \"render\"\r\n> &\r\n HTMLMotionProps<\"div\">\r\n\r\nfunction MenuItem({\r\n disabled,\r\n label,\r\n closeOnClick,\r\n nativeButton,\r\n id,\r\n ...props\r\n}: MenuItemProps) {\r\n const { setHighlightedValue } = useMenuActiveValue()\r\n const [, highlightedRef] = useDataState<HTMLDivElement>(\r\n \"highlighted\",\r\n undefined,\r\n (value) => {\r\n if (value === true) {\r\n const el = highlightedRef.current\r\n const v = el?.dataset.value || el?.id || null\r\n if (v) setHighlightedValue(v)\r\n }\r\n },\r\n )\r\n\r\n return (\r\n <MenuPrimitive.Item\r\n ref={highlightedRef}\r\n closeOnClick={closeOnClick}\r\n data-slot=\"menu-item\"\r\n disabled={disabled}\r\n id={id}\r\n label={label}\r\n nativeButton={nativeButton}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\ntype MenuCheckboxItemProps = Omit<\r\n React.ComponentProps<typeof MenuPrimitive.CheckboxItem>,\r\n \"render\"\r\n>\r\n\r\nfunction MenuCheckboxItem({\r\n label,\r\n defaultChecked,\r\n checked,\r\n onCheckedChange,\r\n disabled,\r\n closeOnClick,\r\n nativeButton,\r\n id,\r\n ...props\r\n}: MenuCheckboxItemProps) {\r\n const { setHighlightedValue } = useMenuActiveValue()\r\n const [, highlightedRef] = useDataState<HTMLDivElement>(\r\n \"highlighted\",\r\n undefined,\r\n (value) => {\r\n if (value === true) {\r\n const el = highlightedRef.current\r\n const v = el?.dataset.value || el?.id || null\r\n if (v) setHighlightedValue(v)\r\n }\r\n },\r\n )\r\n\r\n return (\r\n <MenuPrimitive.CheckboxItem\r\n ref={highlightedRef}\r\n checked={checked}\r\n closeOnClick={closeOnClick}\r\n data-slot=\"menu-checkbox-item\"\r\n defaultChecked={defaultChecked}\r\n disabled={disabled}\r\n id={id}\r\n label={label}\r\n nativeButton={nativeButton}\r\n onCheckedChange={onCheckedChange}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\ntype MenuCheckboxItemIndicatorProps = Omit<\r\n React.ComponentProps<typeof MenuPrimitive.CheckboxItemIndicator>,\r\n \"render\"\r\n> &\r\n HTMLMotionProps<\"div\">\r\n\r\nfunction MenuCheckboxItemIndicator({\r\n keepMounted,\r\n ...props\r\n}: MenuCheckboxItemIndicatorProps) {\r\n return (\r\n <MenuPrimitive.CheckboxItemIndicator\r\n data-slot=\"menu-checkbox-item-indicator\"\r\n keepMounted={keepMounted}\r\n render={\r\n <motion.div data-slot=\"menu-checkbox-item-indicator\" {...props} />\r\n }\r\n />\r\n )\r\n}\r\n\r\ntype MenuRadioGroupProps = React.ComponentProps<\r\n typeof MenuPrimitive.RadioGroup\r\n>\r\n\r\nfunction MenuRadioGroup(props: MenuRadioGroupProps) {\r\n return <MenuPrimitive.RadioGroup data-slot=\"menu-radio-group\" {...props} />\r\n}\r\n\r\ntype MenuRadioItemProps = Omit<\r\n React.ComponentProps<typeof MenuPrimitive.RadioItem>,\r\n \"render\"\r\n>\r\n\r\nfunction MenuRadioItem({\r\n value,\r\n disabled,\r\n label,\r\n closeOnClick,\r\n nativeButton,\r\n id,\r\n ...props\r\n}: MenuRadioItemProps) {\r\n const { setHighlightedValue } = useMenuActiveValue()\r\n const [, highlightedRef] = useDataState<HTMLDivElement>(\r\n \"highlighted\",\r\n undefined,\r\n (value) => {\r\n if (value === true) {\r\n const el = highlightedRef.current\r\n const v = el?.dataset.value || el?.id || null\r\n if (v) setHighlightedValue(v)\r\n }\r\n },\r\n )\r\n\r\n return (\r\n <MenuPrimitive.RadioItem\r\n ref={highlightedRef}\r\n closeOnClick={closeOnClick}\r\n data-slot=\"menu-radio-item\"\r\n disabled={disabled}\r\n id={id}\r\n label={label}\r\n nativeButton={nativeButton}\r\n value={value}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\ntype MenuRadioItemIndicatorProps = Omit<\r\n React.ComponentProps<typeof MenuPrimitive.RadioItemIndicator>,\r\n \"render\"\r\n> &\r\n HTMLMotionProps<\"div\">\r\n\r\nfunction MenuRadioItemIndicator({\r\n keepMounted,\r\n ...props\r\n}: MenuRadioItemIndicatorProps) {\r\n return (\r\n <MenuPrimitive.RadioItemIndicator\r\n data-slot=\"menu-radio-item-indicator\"\r\n keepMounted={keepMounted}\r\n render={\r\n <motion.div data-slot=\"menu-radio-item-indicator\" {...props} />\r\n }\r\n />\r\n )\r\n}\r\n\r\ntype MenuSubmenuProps = React.ComponentProps<typeof MenuPrimitive.SubmenuRoot>\r\n\r\nfunction MenuSubmenu(props: MenuSubmenuProps) {\r\n const [isOpen, setIsOpen] = useControlledState({\r\n value: props?.open,\r\n defaultValue: props?.defaultOpen,\r\n onChange: props?.onOpenChange,\r\n })\r\n\r\n return (\r\n <MenuProvider value={{ isOpen, setIsOpen }}>\r\n <MenuPrimitive.SubmenuRoot\r\n data-slot=\"menu-submenu\"\r\n {...props}\r\n onOpenChange={setIsOpen}\r\n />\r\n </MenuProvider>\r\n )\r\n}\r\n\r\ntype MenuSubmenuTriggerProps = Omit<\r\n React.ComponentProps<typeof MenuPrimitive.SubmenuTrigger>,\r\n \"render\"\r\n> &\r\n HTMLMotionProps<\"div\"> & {\r\n disabled?: boolean;\r\n }\r\n\r\nfunction MenuSubmenuTrigger({\r\n label,\r\n id,\r\n nativeButton,\r\n ...props\r\n}: MenuSubmenuTriggerProps) {\r\n const { setHighlightedValue } = useMenuActiveValue()\r\n const [, highlightedRef] = useDataState<HTMLDivElement>(\r\n \"highlighted\",\r\n undefined,\r\n (value) => {\r\n if (value === true) {\r\n const el = highlightedRef.current\r\n const v = el?.dataset.value || el?.id || null\r\n if (v) setHighlightedValue(v)\r\n }\r\n },\r\n )\r\n\r\n return (\r\n <MenuPrimitive.SubmenuTrigger\r\n ref={highlightedRef}\r\n data-slot=\"menu-submenu-trigger\"\r\n id={id}\r\n label={label}\r\n nativeButton={nativeButton}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nexport {\r\n Menu,\r\n MenuTrigger,\r\n MenuPortal,\r\n MenuPositioner,\r\n MenuPopup,\r\n MenuArrow,\r\n MenuItem,\r\n MenuCheckboxItem,\r\n MenuCheckboxItemIndicator,\r\n MenuRadioGroup,\r\n MenuRadioItem,\r\n MenuRadioItemIndicator,\r\n MenuGroup,\r\n MenuGroupLabel,\r\n MenuSeparator,\r\n MenuShortcut,\r\n MenuHighlight,\r\n MenuHighlightItem,\r\n MenuSubmenu,\r\n MenuSubmenuTrigger,\r\n useMenuActiveValue,\r\n useMenu,\r\n type MenuProps,\r\n type MenuTriggerProps,\r\n type MenuPortalProps,\r\n type MenuPositionerProps,\r\n type MenuPopupProps,\r\n type MenuArrowProps,\r\n type MenuItemProps,\r\n type MenuCheckboxItemProps,\r\n type MenuCheckboxItemIndicatorProps,\r\n type MenuRadioItemProps,\r\n type MenuRadioItemIndicatorProps,\r\n type MenuRadioGroupProps,\r\n type MenuGroupProps,\r\n type MenuGroupLabelProps,\r\n type MenuSeparatorProps,\r\n type MenuShortcutProps,\r\n type MenuHighlightProps,\r\n type MenuHighlightItemProps,\r\n type MenuSubmenuProps,\r\n type MenuSubmenuTriggerProps,\r\n type MenuActiveValueContextType,\r\n type MenuContextType,\r\n}"]}
@@ -0,0 +1,2 @@
1
+ import'react';import {Toast}from'@base-ui/react/toast';import {jsx}from'react/jsx-runtime';var r=Toast.createToastManager(),p=Toast.createToastManager,i=Toast.useToastManager;function n(t){return jsx(Toast.Provider,{...t})}function P(t){return jsx(Toast.Root,{"data-slot":"toast",...t})}function T(t){return jsx(Toast.Portal,{"data-slot":"toast-portal",...t})}function c(t){return jsx(Toast.Viewport,{"data-slot":"toast-viewport",...t})}function l(t){return jsx(Toast.Content,{"data-slot":"toast-content",...t})}function y(t){return jsx(Toast.Title,{"data-slot":"toast-title",...t})}function m(t){return jsx(Toast.Description,{"data-slot":"toast-description",...t})}function C(t){return jsx(Toast.Action,{"data-slot":"toast-action",...t})}function f(t){return jsx(Toast.Close,{"data-slot":"toast-close",...t})}export{r as a,p as b,i as c,n as d,P as e,T as f,c as g,l as h,y as i,m as j,C as k,f as l};//# sourceMappingURL=chunk-KT5JRJJR.js.map
2
+ //# sourceMappingURL=chunk-KT5JRJJR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/primitives/toast.tsx"],"names":["toast","ToastPrimitive","createToastManager","useToastManager","ToastProvider","props","jsx","Toast","ToastPortal","ToastViewport","ToastContent","ToastTitle","ToastDescription","ToastAction","ToastClose"],"mappings":"2FAKA,IAAMA,EAAQC,KAAAA,CAAe,kBAAA,EAAmB,CAC1CC,CAAAA,CAAqBD,MAAe,kBAAA,CACpCE,CAAAA,CAAkBF,KAAAA,CAAe,gBAIvC,SAASG,CAAAA,CAAcC,CAAAA,CAA2B,CAChD,OAAOC,GAAAA,CAACL,KAAAA,CAAe,QAAA,CAAf,CAAyB,GAAGI,CAAAA,CAAO,CAC7C,CAIA,SAASE,EAAMF,CAAAA,CAAmB,CAChC,OAAOC,GAAAA,CAACL,KAAAA,CAAe,IAAA,CAAf,CAAoB,WAAA,CAAU,QAAS,GAAGI,CAAAA,CAAO,CAC3D,CAIA,SAASG,CAAAA,CAAYH,CAAAA,CAAyB,CAC5C,OAAOC,IAACL,KAAAA,CAAe,MAAA,CAAf,CAAsB,WAAA,CAAU,eAAgB,GAAGI,CAAAA,CAAO,CACpE,CAIA,SAASI,CAAAA,CAAcJ,CAAAA,CAA2B,CAChD,OAAOC,IAACL,KAAAA,CAAe,QAAA,CAAf,CAAwB,WAAA,CAAU,iBAAkB,GAAGI,CAAAA,CAAO,CACxE,CAIA,SAASK,CAAAA,CAAaL,CAAAA,CAA0B,CAC9C,OAAOC,GAAAA,CAACL,KAAAA,CAAe,OAAA,CAAf,CAAuB,YAAU,eAAA,CAAiB,GAAGI,CAAAA,CAAO,CACtE,CAIA,SAASM,CAAAA,CAAWN,CAAAA,CAAwB,CAC1C,OAAOC,GAAAA,CAACL,KAAAA,CAAe,KAAA,CAAf,CAAqB,WAAA,CAAU,aAAA,CAAe,GAAGI,CAAAA,CAAO,CAClE,CAIA,SAASO,CAAAA,CAAiBP,CAAAA,CAA8B,CACtD,OAAOC,GAAAA,CAACL,KAAAA,CAAe,WAAA,CAAf,CAA2B,WAAA,CAAU,mBAAA,CAAqB,GAAGI,EAAO,CAC9E,CAIA,SAASQ,CAAAA,CAAYR,EAAyB,CAC5C,OAAOC,GAAAA,CAACL,KAAAA,CAAe,OAAf,CAAsB,WAAA,CAAU,cAAA,CAAgB,GAAGI,EAAO,CACpE,CAIA,SAASS,CAAAA,CAAWT,EAAwB,CAC1C,OAAOC,GAAAA,CAACL,KAAAA,CAAe,MAAf,CAAqB,WAAA,CAAU,aAAA,CAAe,GAAGI,EAAO,CAClE","file":"chunk-KT5JRJJR.js","sourcesContent":["\"use client\";\r\n\r\nimport * as React from \"react\";\r\nimport { Toast as ToastPrimitive } from \"@base-ui/react/toast\";\r\n\r\nconst toast = ToastPrimitive.createToastManager();\r\nconst createToastManager = ToastPrimitive.createToastManager\r\nconst useToastManager = ToastPrimitive.useToastManager;\r\n\r\ntype ToastProviderProps = React.ComponentProps<typeof ToastPrimitive.Provider>;\r\n\r\nfunction ToastProvider(props: ToastProviderProps) {\r\n return <ToastPrimitive.Provider {...props} />;\r\n}\r\n\r\ntype ToastProps = React.ComponentProps<typeof ToastPrimitive.Root>;\r\n\r\nfunction Toast(props: ToastProps) {\r\n return <ToastPrimitive.Root data-slot=\"toast\" {...props} />;\r\n}\r\n\r\ntype ToastPortalProps = React.ComponentProps<typeof ToastPrimitive.Portal>;\r\n\r\nfunction ToastPortal(props: ToastPortalProps) {\r\n return <ToastPrimitive.Portal data-slot=\"toast-portal\" {...props} />;\r\n}\r\n\r\ntype ToastViewportProps = React.ComponentProps<typeof ToastPrimitive.Viewport>;\r\n\r\nfunction ToastViewport(props: ToastViewportProps) {\r\n return <ToastPrimitive.Viewport data-slot=\"toast-viewport\" {...props} />;\r\n}\r\n\r\ntype ToastContentProps = React.ComponentProps<typeof ToastPrimitive.Content>;\r\n\r\nfunction ToastContent(props: ToastContentProps) {\r\n return <ToastPrimitive.Content data-slot=\"toast-content\" {...props} />;\r\n}\r\n\r\ntype ToastTitleProps = React.ComponentProps<typeof ToastPrimitive.Title>;\r\n\r\nfunction ToastTitle(props: ToastTitleProps) {\r\n return <ToastPrimitive.Title data-slot=\"toast-title\" {...props} />;\r\n}\r\n\r\ntype ToastDescriptionProps = React.ComponentProps<typeof ToastPrimitive.Description>;\r\n\r\nfunction ToastDescription(props: ToastDescriptionProps) {\r\n return <ToastPrimitive.Description data-slot=\"toast-description\" {...props} />;\r\n}\r\n\r\ntype ToastActionProps = React.ComponentProps<typeof ToastPrimitive.Action>;\r\n\r\nfunction ToastAction(props: ToastActionProps) {\r\n return <ToastPrimitive.Action data-slot=\"toast-action\" {...props} />;\r\n}\r\n\r\ntype ToastCloseProps = React.ComponentProps<typeof ToastPrimitive.Close>;\r\n\r\nfunction ToastClose(props: ToastCloseProps) {\r\n return <ToastPrimitive.Close data-slot=\"toast-close\" {...props} />;\r\n}\r\n\r\nexport {\r\n ToastProvider,\r\n Toast,\r\n ToastPortal,\r\n ToastViewport,\r\n ToastContent,\r\n ToastTitle,\r\n ToastDescription,\r\n ToastAction,\r\n ToastClose,\r\n toast,\r\n createToastManager,\r\n useToastManager,\r\n type ToastProviderProps,\r\n type ToastProps,\r\n type ToastPortalProps,\r\n type ToastViewportProps,\r\n type ToastContentProps,\r\n type ToastTitleProps,\r\n type ToastDescriptionProps,\r\n type ToastActionProps,\r\n type ToastCloseProps,\r\n};\r\n\r\n"]}