@codefast/ui 0.2.24 → 0.2.26

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 (186) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +151 -0
  3. package/dist/{chunk-XRR7KIOZ.cjs → chunk-35WEQFBA.cjs} +1 -1
  4. package/dist/{chunk-XRR7KIOZ.cjs.map → chunk-35WEQFBA.cjs.map} +1 -1
  5. package/dist/chunk-3EIIPNVC.cjs +2 -0
  6. package/dist/chunk-3EIIPNVC.cjs.map +1 -0
  7. package/dist/{chunk-LDAZP6I6.js → chunk-465NF254.js} +2 -2
  8. package/dist/{chunk-3K2NGYFD.cjs → chunk-5AQNU5FF.cjs} +2 -2
  9. package/dist/{chunk-3K2NGYFD.cjs.map → chunk-5AQNU5FF.cjs.map} +1 -1
  10. package/dist/chunk-6FS62M4B.js +2 -0
  11. package/dist/chunk-6FS62M4B.js.map +1 -0
  12. package/dist/{chunk-D76EFHBN.cjs → chunk-6GF5BKD3.cjs} +2 -2
  13. package/dist/{chunk-D76EFHBN.cjs.map → chunk-6GF5BKD3.cjs.map} +1 -1
  14. package/dist/{chunk-KZZLDLIH.js → chunk-6HGHPY6T.js} +2 -2
  15. package/dist/{chunk-C6I24UU5.js → chunk-7YDCUFIZ.js} +2 -2
  16. package/dist/chunk-7YDCUFIZ.js.map +1 -0
  17. package/dist/chunk-B3BYZCQ7.cjs +2 -0
  18. package/dist/chunk-B3BYZCQ7.cjs.map +1 -0
  19. package/dist/{chunk-7LIPJFEV.cjs → chunk-BJ6N2IUA.cjs} +2 -2
  20. package/dist/{chunk-7LIPJFEV.cjs.map → chunk-BJ6N2IUA.cjs.map} +1 -1
  21. package/dist/chunk-COS2B3R4.cjs +2 -0
  22. package/dist/chunk-COS2B3R4.cjs.map +1 -0
  23. package/dist/{chunk-AJTEFLYJ.cjs → chunk-DM7NEO2A.cjs} +2 -2
  24. package/dist/{chunk-AJTEFLYJ.cjs.map → chunk-DM7NEO2A.cjs.map} +1 -1
  25. package/dist/{chunk-KT25BHLM.js → chunk-EEW6YK3J.js} +2 -2
  26. package/dist/{chunk-MI6EOUQI.cjs → chunk-EHXXHEKF.cjs} +2 -2
  27. package/dist/{chunk-MI6EOUQI.cjs.map → chunk-EHXXHEKF.cjs.map} +1 -1
  28. package/dist/{chunk-H44NQWHN.cjs → chunk-GXL45YCO.cjs} +2 -2
  29. package/dist/{chunk-H44NQWHN.cjs.map → chunk-GXL45YCO.cjs.map} +1 -1
  30. package/dist/chunk-HHC2EREZ.js +2 -0
  31. package/dist/chunk-HHC2EREZ.js.map +1 -0
  32. package/dist/chunk-HID6HIJO.cjs +2 -0
  33. package/dist/chunk-HID6HIJO.cjs.map +1 -0
  34. package/dist/{chunk-PIJN35MC.cjs → chunk-HTD5E2KS.cjs} +2 -2
  35. package/dist/chunk-HTD5E2KS.cjs.map +1 -0
  36. package/dist/{chunk-TPYKFY52.js → chunk-IGSALVF5.js} +2 -2
  37. package/dist/{chunk-7DZQUICW.cjs → chunk-IJKGBALW.cjs} +2 -2
  38. package/dist/{chunk-7DZQUICW.cjs.map → chunk-IJKGBALW.cjs.map} +1 -1
  39. package/dist/{chunk-EGY5ICBL.cjs → chunk-IMMPDUHI.cjs} +2 -2
  40. package/dist/chunk-IMMPDUHI.cjs.map +1 -0
  41. package/dist/chunk-IQG5Z7B3.js +2 -0
  42. package/dist/{chunk-TB6L4INZ.js.map → chunk-IQG5Z7B3.js.map} +1 -1
  43. package/dist/{chunk-6LL5EQAE.cjs → chunk-KJUQ3ZDG.cjs} +2 -2
  44. package/dist/chunk-KJUQ3ZDG.cjs.map +1 -0
  45. package/dist/chunk-KKLVYNNH.js +2 -0
  46. package/dist/{chunk-TLVUBHED.js.map → chunk-KKLVYNNH.js.map} +1 -1
  47. package/dist/{chunk-DRDC77KX.cjs → chunk-L6OCZPIJ.cjs} +2 -2
  48. package/dist/{chunk-DRDC77KX.cjs.map → chunk-L6OCZPIJ.cjs.map} +1 -1
  49. package/dist/{chunk-5NVU3OSZ.js → chunk-MQ3ZMVF4.js} +2 -2
  50. package/dist/{chunk-HAVND45W.js → chunk-MYM5XJQR.js} +2 -2
  51. package/dist/{chunk-WBWLWSHG.cjs → chunk-NK3R7ZJ7.cjs} +2 -2
  52. package/dist/{chunk-WBWLWSHG.cjs.map → chunk-NK3R7ZJ7.cjs.map} +1 -1
  53. package/dist/{chunk-AXOKJEVY.js → chunk-NXNT364Q.js} +1 -1
  54. package/dist/{chunk-AXOKJEVY.js.map → chunk-NXNT364Q.js.map} +1 -1
  55. package/dist/chunk-P7CT5J27.cjs +2 -0
  56. package/dist/chunk-P7CT5J27.cjs.map +1 -0
  57. package/dist/{chunk-KX4STYPY.js → chunk-QEHCKMEW.js} +2 -2
  58. package/dist/{chunk-M7FNDRW7.cjs → chunk-RQ2OXVIO.cjs} +2 -2
  59. package/dist/{chunk-M7FNDRW7.cjs.map → chunk-RQ2OXVIO.cjs.map} +1 -1
  60. package/dist/{chunk-HQ6DUL6D.js → chunk-SISTMH2V.js} +2 -2
  61. package/dist/{chunk-LYULASEA.js → chunk-SKTMUT4Q.js} +2 -2
  62. package/dist/{chunk-Q2R7BKY2.cjs → chunk-SXDR2XMN.cjs} +2 -2
  63. package/dist/{chunk-Q2R7BKY2.cjs.map → chunk-SXDR2XMN.cjs.map} +1 -1
  64. package/dist/chunk-TBLBH4IE.cjs +2 -0
  65. package/dist/{chunk-U2275H6S.cjs.map → chunk-TBLBH4IE.cjs.map} +1 -1
  66. package/dist/{chunk-L4TXGBGM.js → chunk-U2LUXER4.js} +2 -2
  67. package/dist/chunk-U2LUXER4.js.map +1 -0
  68. package/dist/chunk-U66K6WUY.js +2 -0
  69. package/dist/chunk-U66K6WUY.js.map +1 -0
  70. package/dist/chunk-ULMXMC44.cjs +2 -0
  71. package/dist/chunk-ULMXMC44.cjs.map +1 -0
  72. package/dist/{chunk-WLZPSCYA.cjs → chunk-UN2HW6UN.cjs} +2 -2
  73. package/dist/{chunk-WLZPSCYA.cjs.map → chunk-UN2HW6UN.cjs.map} +1 -1
  74. package/dist/{chunk-IRFNIQ3S.js → chunk-VZBRWHQ2.js} +2 -2
  75. package/dist/chunk-W3CYHSYO.js +2 -0
  76. package/dist/chunk-W3CYHSYO.js.map +1 -0
  77. package/dist/chunk-WM4QQP4X.js +2 -0
  78. package/dist/chunk-WM4QQP4X.js.map +1 -0
  79. package/dist/{chunk-RQJY6UQZ.js → chunk-WX3DRG7Q.js} +2 -2
  80. package/dist/{chunk-RQJY6UQZ.js.map → chunk-WX3DRG7Q.js.map} +1 -1
  81. package/dist/{chunk-ZPQ2TVNB.js → chunk-YHAJRZCH.js} +2 -2
  82. package/dist/chunk-ZPUO6JH5.js +2 -0
  83. package/dist/chunk-ZPUO6JH5.js.map +1 -0
  84. package/dist/components/alert-dialog.cjs +1 -1
  85. package/dist/components/alert-dialog.js +1 -1
  86. package/dist/components/alert.cjs +1 -1
  87. package/dist/components/alert.d.cts +3 -31
  88. package/dist/components/alert.d.ts +3 -31
  89. package/dist/components/alert.js +1 -1
  90. package/dist/components/badge.cjs +1 -1
  91. package/dist/components/badge.d.cts +0 -21
  92. package/dist/components/badge.d.ts +0 -21
  93. package/dist/components/badge.js +1 -1
  94. package/dist/components/button.cjs +1 -1
  95. package/dist/components/button.js +1 -1
  96. package/dist/components/calendar.cjs +1 -1
  97. package/dist/components/calendar.js +1 -1
  98. package/dist/components/carousel.cjs +1 -1
  99. package/dist/components/carousel.js +1 -1
  100. package/dist/components/checkbox-cards.cjs +1 -1
  101. package/dist/components/checkbox-cards.js +1 -1
  102. package/dist/components/command.cjs +1 -1
  103. package/dist/components/command.js +1 -1
  104. package/dist/components/data-table.cjs +1 -1
  105. package/dist/components/data-table.js +1 -1
  106. package/dist/components/dialog.cjs +1 -1
  107. package/dist/components/dialog.js +1 -1
  108. package/dist/components/drawer.cjs +1 -1
  109. package/dist/components/drawer.js +1 -1
  110. package/dist/components/input-number.cjs +1 -1
  111. package/dist/components/input-number.js +1 -1
  112. package/dist/components/input-password.cjs +1 -1
  113. package/dist/components/input-password.js +1 -1
  114. package/dist/components/input-search.cjs +1 -1
  115. package/dist/components/input-search.js +1 -1
  116. package/dist/components/navigation-menu.cjs +1 -1
  117. package/dist/components/navigation-menu.js +1 -1
  118. package/dist/components/pagination.cjs +1 -1
  119. package/dist/components/pagination.js +1 -1
  120. package/dist/components/radio-cards.cjs +1 -1
  121. package/dist/components/radio-cards.js +1 -1
  122. package/dist/components/scroll-area.cjs +1 -1
  123. package/dist/components/scroll-area.js +1 -1
  124. package/dist/components/select.cjs +1 -1
  125. package/dist/components/select.js +1 -1
  126. package/dist/components/separator.cjs +1 -1
  127. package/dist/components/separator.d.cts +2 -2
  128. package/dist/components/separator.d.ts +2 -2
  129. package/dist/components/separator.js +1 -1
  130. package/dist/components/sheet.cjs +1 -1
  131. package/dist/components/sheet.js +1 -1
  132. package/dist/components/sidebar.cjs +1 -1
  133. package/dist/components/sidebar.js +1 -1
  134. package/dist/index.cjs +1 -1
  135. package/dist/index.cjs.map +1 -1
  136. package/dist/index.css +1 -1
  137. package/dist/index.css.map +1 -1
  138. package/dist/index.js +1 -1
  139. package/dist/variants/button.variants.cjs +1 -1
  140. package/dist/variants/button.variants.d.cts +0 -21
  141. package/dist/variants/button.variants.d.ts +0 -21
  142. package/dist/variants/button.variants.js +1 -1
  143. package/package.json +9 -9
  144. package/dist/chunk-6LL5EQAE.cjs.map +0 -1
  145. package/dist/chunk-C6I24UU5.js.map +0 -1
  146. package/dist/chunk-EGY5ICBL.cjs.map +0 -1
  147. package/dist/chunk-GGPIDYQC.js +0 -2
  148. package/dist/chunk-GGPIDYQC.js.map +0 -1
  149. package/dist/chunk-HV4HLOTW.cjs +0 -2
  150. package/dist/chunk-HV4HLOTW.cjs.map +0 -1
  151. package/dist/chunk-I5SKL4NE.js +0 -2
  152. package/dist/chunk-I5SKL4NE.js.map +0 -1
  153. package/dist/chunk-JCMXN5SL.js +0 -2
  154. package/dist/chunk-JCMXN5SL.js.map +0 -1
  155. package/dist/chunk-JJ46AZUG.cjs +0 -2
  156. package/dist/chunk-JJ46AZUG.cjs.map +0 -1
  157. package/dist/chunk-KRMPCH3E.js +0 -2
  158. package/dist/chunk-KRMPCH3E.js.map +0 -1
  159. package/dist/chunk-L4TXGBGM.js.map +0 -1
  160. package/dist/chunk-PIJN35MC.cjs.map +0 -1
  161. package/dist/chunk-RD5ZOT6N.cjs +0 -2
  162. package/dist/chunk-RD5ZOT6N.cjs.map +0 -1
  163. package/dist/chunk-SRVIWHMN.cjs +0 -2
  164. package/dist/chunk-SRVIWHMN.cjs.map +0 -1
  165. package/dist/chunk-TAVXLFQE.js +0 -2
  166. package/dist/chunk-TAVXLFQE.js.map +0 -1
  167. package/dist/chunk-TB6L4INZ.js +0 -2
  168. package/dist/chunk-TLVUBHED.js +0 -2
  169. package/dist/chunk-TZA6RQAF.js +0 -2
  170. package/dist/chunk-TZA6RQAF.js.map +0 -1
  171. package/dist/chunk-U2275H6S.cjs +0 -2
  172. package/dist/chunk-VEXA5WBY.cjs +0 -2
  173. package/dist/chunk-VEXA5WBY.cjs.map +0 -1
  174. package/dist/chunk-VIZADH2K.cjs +0 -2
  175. package/dist/chunk-VIZADH2K.cjs.map +0 -1
  176. /package/dist/{chunk-LDAZP6I6.js.map → chunk-465NF254.js.map} +0 -0
  177. /package/dist/{chunk-KZZLDLIH.js.map → chunk-6HGHPY6T.js.map} +0 -0
  178. /package/dist/{chunk-KT25BHLM.js.map → chunk-EEW6YK3J.js.map} +0 -0
  179. /package/dist/{chunk-TPYKFY52.js.map → chunk-IGSALVF5.js.map} +0 -0
  180. /package/dist/{chunk-5NVU3OSZ.js.map → chunk-MQ3ZMVF4.js.map} +0 -0
  181. /package/dist/{chunk-HAVND45W.js.map → chunk-MYM5XJQR.js.map} +0 -0
  182. /package/dist/{chunk-KX4STYPY.js.map → chunk-QEHCKMEW.js.map} +0 -0
  183. /package/dist/{chunk-HQ6DUL6D.js.map → chunk-SISTMH2V.js.map} +0 -0
  184. /package/dist/{chunk-LYULASEA.js.map → chunk-SKTMUT4Q.js.map} +0 -0
  185. /package/dist/{chunk-IRFNIQ3S.js.map → chunk-VZBRWHQ2.js.map} +0 -0
  186. /package/dist/{chunk-ZPQ2TVNB.js.map → chunk-YHAJRZCH.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";var _chunkEGY5ICBLcjs = require('./chunk-EGY5ICBL.cjs');var _chunkSMJEDCFPcjs = require('./chunk-SMJEDCFP.cjs');var _reactcontext = require('@radix-ui/react-context');var _emblacarouselreact = require('embla-carousel-react'); var _emblacarouselreact2 = _interopRequireDefault(_emblacarouselreact);var _lucidereact = require('lucide-react');var _react = require('react');var _jsxruntime = require('react/jsx-runtime');var N="Carousel",[I,V]=_reactcontext.createContextScope.call(void 0, N),[B,f]=I(N);function H({__scopeCarousel:s,children:l,className:t,opts:o,orientation:a,plugins:i,setApi:p,...c}){let[C,e]=_emblacarouselreact2.default.call(void 0, {...o,axis:a==="vertical"?"y":"x"},i),[E,b]=_react.useState.call(void 0, !1),[A,h]=_react.useState.call(void 0, !1),P=_react.useCallback.call(void 0, n=>{n&&(b(n.canScrollPrev()),h(n.canScrollNext()))},[]),d=_react.useCallback.call(void 0, ()=>{_optionalChain([e, 'optionalAccess', _2 => _2.scrollPrev, 'call', _3 => _3()])},[e]),v=_react.useCallback.call(void 0, ()=>{_optionalChain([e, 'optionalAccess', _4 => _4.scrollNext, 'call', _5 => _5()])},[e]),R=_react.useCallback.call(void 0, n=>{n.key==="ArrowLeft"?(n.preventDefault(),d()):n.key==="ArrowRight"&&(n.preventDefault(),v())},[d,v]);return _react.useEffect.call(void 0, ()=>{!e||!p||p(e)},[e,p]),_react.useEffect.call(void 0, ()=>{if(e)return P(e),e.on("reInit",P),e.on("select",P),()=>{e.off("select",P)}},[e,P]),_jsxruntime.jsx.call(void 0, B,{api:e,canScrollNext:A,canScrollPrev:E,carouselRef:C,opts:o,orientation:_nullishCoalesce(a, () => ((_optionalChain([o, 'optionalAccess', _6 => _6.axis])==="y"?"vertical":"horizontal"))),scope:s,scrollNext:v,scrollPrev:d,children:_jsxruntime.jsx.call(void 0, "div",{"aria-roledescription":"carousel",className:_chunkSMJEDCFPcjs.a.call(void 0, "relative",t),role:"region",onKeyDownCapture:R,...c,children:l})})}var O="CarouselContent";function q({__scopeCarousel:s,className:l,classNames:t,...o}){let{carouselRef:a,orientation:i}=f(O,s);return _jsxruntime.jsx.call(void 0, "div",{ref:a,className:_chunkSMJEDCFPcjs.a.call(void 0, "overflow-hidden",_optionalChain([t, 'optionalAccess', _7 => _7.wrapper])),children:_jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "flex",i==="horizontal"?"-ml-4":"-mt-4 flex-col",_optionalChain([t, 'optionalAccess', _8 => _8.content]),l),...o})})}var T="CarouselItem";function F({__scopeCarousel:s,className:l,...t}){let{orientation:o}=f(T,s);return _jsxruntime.jsx.call(void 0, "div",{"aria-roledescription":"slide",className:_chunkSMJEDCFPcjs.a.call(void 0, "min-w-0 shrink-0 grow-0 basis-full",o==="horizontal"?"pl-4":"pt-4",l),role:"group",...t})}var z="CarouselPrevious";function G({__scopeCarousel:s,className:l,icon:t=!0,size:o="sm",variant:a="outline",...i}){let{canScrollPrev:p,orientation:c,scrollPrev:C}=f(z,s);return _jsxruntime.jsx.call(void 0, _chunkEGY5ICBLcjs.a,{className:_chunkSMJEDCFPcjs.a.call(void 0, "not-disabled:shadow-none absolute",c==="horizontal"?"-left-12 top-1/2 -translate-y-1/2":"-top-12 left-1/2 -translate-x-1/2 rotate-90",l),disabled:!p,icon:t,prefix:_jsxruntime.jsx.call(void 0, _lucidereact.ArrowLeftIcon,{}),size:o,variant:a,onClick:C,...i,children:_jsxruntime.jsx.call(void 0, "span",{className:"sr-only",children:"Previous slide"})})}var L="CarouselNext";function Q({__scopeCarousel:s,className:l,icon:t=!0,size:o="sm",variant:a="outline",...i}){let{canScrollNext:p,orientation:c,scrollNext:C}=f(L,s);return _jsxruntime.jsx.call(void 0, _chunkEGY5ICBLcjs.a,{className:_chunkSMJEDCFPcjs.a.call(void 0, "not-disabled:shadow-none absolute",c==="horizontal"?"-right-12 top-1/2 -translate-y-1/2":"-bottom-12 left-1/2 -translate-x-1/2 rotate-90",l),disabled:!p,icon:t,prefix:_jsxruntime.jsx.call(void 0, _lucidereact.ArrowRightIcon,{}),size:o,variant:a,onClick:C,...i,children:_jsxruntime.jsx.call(void 0, "span",{className:"sr-only",children:"Next slide"})})}exports.a = V; exports.b = H; exports.c = q; exports.d = F; exports.e = G; exports.f = Q;
2
- //# sourceMappingURL=chunk-DRDC77KX.cjs.map
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";var _chunkIMMPDUHIcjs = require('./chunk-IMMPDUHI.cjs');var _chunkSMJEDCFPcjs = require('./chunk-SMJEDCFP.cjs');var _reactcontext = require('@radix-ui/react-context');var _emblacarouselreact = require('embla-carousel-react'); var _emblacarouselreact2 = _interopRequireDefault(_emblacarouselreact);var _lucidereact = require('lucide-react');var _react = require('react');var _jsxruntime = require('react/jsx-runtime');var N="Carousel",[I,V]=_reactcontext.createContextScope.call(void 0, N),[B,f]=I(N);function H({__scopeCarousel:s,children:l,className:t,opts:o,orientation:a,plugins:i,setApi:p,...c}){let[C,e]=_emblacarouselreact2.default.call(void 0, {...o,axis:a==="vertical"?"y":"x"},i),[E,b]=_react.useState.call(void 0, !1),[A,h]=_react.useState.call(void 0, !1),P=_react.useCallback.call(void 0, n=>{n&&(b(n.canScrollPrev()),h(n.canScrollNext()))},[]),d=_react.useCallback.call(void 0, ()=>{_optionalChain([e, 'optionalAccess', _2 => _2.scrollPrev, 'call', _3 => _3()])},[e]),v=_react.useCallback.call(void 0, ()=>{_optionalChain([e, 'optionalAccess', _4 => _4.scrollNext, 'call', _5 => _5()])},[e]),R=_react.useCallback.call(void 0, n=>{n.key==="ArrowLeft"?(n.preventDefault(),d()):n.key==="ArrowRight"&&(n.preventDefault(),v())},[d,v]);return _react.useEffect.call(void 0, ()=>{!e||!p||p(e)},[e,p]),_react.useEffect.call(void 0, ()=>{if(e)return P(e),e.on("reInit",P),e.on("select",P),()=>{e.off("select",P)}},[e,P]),_jsxruntime.jsx.call(void 0, B,{api:e,canScrollNext:A,canScrollPrev:E,carouselRef:C,opts:o,orientation:_nullishCoalesce(a, () => ((_optionalChain([o, 'optionalAccess', _6 => _6.axis])==="y"?"vertical":"horizontal"))),scope:s,scrollNext:v,scrollPrev:d,children:_jsxruntime.jsx.call(void 0, "div",{"aria-roledescription":"carousel",className:_chunkSMJEDCFPcjs.a.call(void 0, "relative",t),role:"region",onKeyDownCapture:R,...c,children:l})})}var O="CarouselContent";function q({__scopeCarousel:s,className:l,classNames:t,...o}){let{carouselRef:a,orientation:i}=f(O,s);return _jsxruntime.jsx.call(void 0, "div",{ref:a,className:_chunkSMJEDCFPcjs.a.call(void 0, "overflow-hidden",_optionalChain([t, 'optionalAccess', _7 => _7.wrapper])),children:_jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "flex",i==="horizontal"?"-ml-4":"-mt-4 flex-col",_optionalChain([t, 'optionalAccess', _8 => _8.content]),l),...o})})}var T="CarouselItem";function F({__scopeCarousel:s,className:l,...t}){let{orientation:o}=f(T,s);return _jsxruntime.jsx.call(void 0, "div",{"aria-roledescription":"slide",className:_chunkSMJEDCFPcjs.a.call(void 0, "min-w-0 shrink-0 grow-0 basis-full",o==="horizontal"?"pl-4":"pt-4",l),role:"group",...t})}var z="CarouselPrevious";function G({__scopeCarousel:s,className:l,icon:t=!0,size:o="sm",variant:a="outline",...i}){let{canScrollPrev:p,orientation:c,scrollPrev:C}=f(z,s);return _jsxruntime.jsx.call(void 0, _chunkIMMPDUHIcjs.a,{className:_chunkSMJEDCFPcjs.a.call(void 0, "not-disabled:shadow-none absolute",c==="horizontal"?"-left-12 top-1/2 -translate-y-1/2":"-top-12 left-1/2 -translate-x-1/2 rotate-90",l),disabled:!p,icon:t,prefix:_jsxruntime.jsx.call(void 0, _lucidereact.ArrowLeftIcon,{}),size:o,variant:a,onClick:C,...i,children:_jsxruntime.jsx.call(void 0, "span",{className:"sr-only",children:"Previous slide"})})}var L="CarouselNext";function Q({__scopeCarousel:s,className:l,icon:t=!0,size:o="sm",variant:a="outline",...i}){let{canScrollNext:p,orientation:c,scrollNext:C}=f(L,s);return _jsxruntime.jsx.call(void 0, _chunkIMMPDUHIcjs.a,{className:_chunkSMJEDCFPcjs.a.call(void 0, "not-disabled:shadow-none absolute",c==="horizontal"?"-right-12 top-1/2 -translate-y-1/2":"-bottom-12 left-1/2 -translate-x-1/2 rotate-90",l),disabled:!p,icon:t,prefix:_jsxruntime.jsx.call(void 0, _lucidereact.ArrowRightIcon,{}),size:o,variant:a,onClick:C,...i,children:_jsxruntime.jsx.call(void 0, "span",{className:"sr-only",children:"Next slide"})})}exports.a = V; exports.b = H; exports.c = q; exports.d = F; exports.e = G; exports.f = Q;
2
+ //# sourceMappingURL=chunk-L6OCZPIJ.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-DRDC77KX.cjs","../src/components/carousel.tsx"],"names":["useEmblaCarousel","createCarouselContext","CarouselProvider","useCarouselContext","CAROUSEL_NAME","Carousel","children","className","orientation","props","carouselRef","api","opts","canScrollPrev","canScrollNext","setCanScrollNext","useState","onSelect","useCallback","carouselApi","setCanScrollPrev","event","useEffect","setApi","jsx","scrollNext","scrollPrev","classNames","cn","CAROUSEL_ITEM_NAME","CAROUSEL_PREVIOUS_NAME","variant","Button","ArrowLeftIcon","size","ArrowRightIcon"],"mappings":"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","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-DRDC77KX.cjs","sourcesContent":[null,"'use client';\n\nimport type { Scope } from '@radix-ui/react-context';\nimport type { ComponentProps, JSX, KeyboardEvent } from 'react';\n\nimport { createContextScope } from '@radix-ui/react-context';\nimport useEmblaCarousel, { type UseEmblaCarouselType } from 'embla-carousel-react';\nimport { ArrowLeftIcon, ArrowRightIcon } from 'lucide-react';\nimport { useCallback, useEffect, useState } from 'react';\n\nimport type { ButtonProps } from '@/components/button';\n\nimport { Button } from '@/components/button';\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: Carousel\n * -------------------------------------------------------------------------- */\n\nconst CAROUSEL_NAME = 'Carousel';\n\ntype ScopedProps<P> = P & { __scopeCarousel?: Scope };\n\nconst [createCarouselContext, createCarouselScope] = createContextScope(CAROUSEL_NAME);\n\ntype CarouselApi = UseEmblaCarouselType[1];\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>;\ntype CarouselOptions = UseCarouselParameters[0];\ntype CarouselPlugin = UseCarouselParameters[1];\n\ninterface BaseCarouselProps {\n opts?: CarouselOptions;\n orientation?: 'horizontal' | 'vertical';\n plugins?: CarouselPlugin;\n setApi?: (api: CarouselApi) => void;\n}\n\ntype CarouselContextValue = BaseCarouselProps & {\n api: ReturnType<typeof useEmblaCarousel>[1];\n canScrollNext: boolean;\n canScrollPrev: boolean;\n carouselRef: ReturnType<typeof useEmblaCarousel>[0];\n scrollNext: () => void;\n scrollPrev: () => void;\n};\n\nconst [CarouselProvider, useCarouselContext] = createCarouselContext<CarouselContextValue>(CAROUSEL_NAME);\n\ntype CarouselProps = BaseCarouselProps & ComponentProps<'div'>;\n\nfunction Carousel({\n __scopeCarousel,\n children,\n className,\n opts,\n orientation,\n plugins,\n setApi,\n ...props\n}: ScopedProps<CarouselProps>): JSX.Element {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === 'vertical' ? 'y' : 'x',\n },\n plugins,\n );\n\n const [canScrollPrev, setCanScrollPrev] = useState(false);\n const [canScrollNext, setCanScrollNext] = useState(false);\n\n const onSelect = useCallback((carouselApi: CarouselApi) => {\n if (!carouselApi) {\n return;\n }\n\n setCanScrollPrev(carouselApi.canScrollPrev());\n setCanScrollNext(carouselApi.canScrollNext());\n }, []);\n\n const scrollPrev = useCallback(() => {\n api?.scrollPrev();\n }, [api]);\n\n const scrollNext = useCallback(() => {\n api?.scrollNext();\n }, [api]);\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n scrollPrev();\n } else if (event.key === 'ArrowRight') {\n event.preventDefault();\n scrollNext();\n }\n },\n [scrollPrev, scrollNext],\n );\n\n useEffect(() => {\n if (!api || !setApi) {\n return;\n }\n\n setApi(api);\n }, [api, setApi]);\n\n useEffect(() => {\n if (!api) {\n return;\n }\n\n onSelect(api);\n api.on('reInit', onSelect);\n api.on('select', onSelect);\n\n return () => {\n api.off('select', onSelect);\n };\n }, [api, onSelect]);\n\n return (\n <CarouselProvider\n api={api}\n canScrollNext={canScrollNext}\n canScrollPrev={canScrollPrev}\n carouselRef={carouselRef}\n opts={opts}\n orientation={orientation ?? (opts?.axis === 'y' ? 'vertical' : 'horizontal')}\n scope={__scopeCarousel}\n scrollNext={scrollNext}\n scrollPrev={scrollPrev}\n >\n <div\n aria-roledescription=\"carousel\"\n className={cn('relative', className)}\n role=\"region\"\n onKeyDownCapture={handleKeyDown}\n {...props}\n >\n {children}\n </div>\n </CarouselProvider>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CarouselContent\n * -------------------------------------------------------------------------- */\n\nconst CAROUSEL_CONTENT_NAME = 'CarouselContent';\n\ninterface CarouselContentProps extends ComponentProps<'div'> {\n classNames?: {\n content?: string;\n wrapper?: string;\n };\n}\n\nfunction CarouselContent({\n __scopeCarousel,\n className,\n classNames,\n ...props\n}: ScopedProps<CarouselContentProps>): JSX.Element {\n const { carouselRef, orientation } = useCarouselContext(CAROUSEL_CONTENT_NAME, __scopeCarousel);\n\n return (\n <div ref={carouselRef} className={cn('overflow-hidden', classNames?.wrapper)}>\n <div\n className={cn(\n 'flex',\n orientation === 'horizontal' ? '-ml-4' : '-mt-4 flex-col',\n classNames?.content,\n className,\n )}\n {...props}\n />\n </div>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CarouselItem\n * -------------------------------------------------------------------------- */\n\nconst CAROUSEL_ITEM_NAME = 'CarouselItem';\n\ntype CarouselItemProps = ComponentProps<'div'>;\n\nfunction CarouselItem({ __scopeCarousel, className, ...props }: ScopedProps<CarouselItemProps>): JSX.Element {\n const { orientation } = useCarouselContext(CAROUSEL_ITEM_NAME, __scopeCarousel);\n\n return (\n <div\n aria-roledescription=\"slide\"\n className={cn('min-w-0 shrink-0 grow-0 basis-full', orientation === 'horizontal' ? 'pl-4' : 'pt-4', className)}\n role=\"group\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CarouselPrevious\n * -------------------------------------------------------------------------- */\n\nconst CAROUSEL_PREVIOUS_NAME = 'CarouselPrevious';\n\ntype CarouselPreviousProps = ButtonProps;\n\nfunction CarouselPrevious({\n __scopeCarousel,\n className,\n icon = true,\n size = 'sm',\n variant = 'outline',\n ...props\n}: ScopedProps<CarouselPreviousProps>): JSX.Element {\n const { canScrollPrev, orientation, scrollPrev } = useCarouselContext(CAROUSEL_PREVIOUS_NAME, __scopeCarousel);\n\n return (\n <Button\n className={cn(\n 'not-disabled:shadow-none absolute',\n orientation === 'horizontal'\n ? '-left-12 top-1/2 -translate-y-1/2'\n : '-top-12 left-1/2 -translate-x-1/2 rotate-90',\n className,\n )}\n disabled={!canScrollPrev}\n icon={icon}\n prefix={<ArrowLeftIcon />}\n size={size}\n variant={variant}\n onClick={scrollPrev}\n {...props}\n >\n <span className=\"sr-only\">Previous slide</span>\n </Button>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CarouselNext\n * -------------------------------------------------------------------------- */\n\nconst CAROUSEL_NEXT_NAME = 'CarouselNext';\n\ntype CarouselNextProps = ButtonProps;\n\nfunction CarouselNext({\n __scopeCarousel,\n className,\n icon = true,\n size = 'sm',\n variant = 'outline',\n ...props\n}: ScopedProps<CarouselNextProps>): JSX.Element {\n const { canScrollNext, orientation, scrollNext } = useCarouselContext(CAROUSEL_NEXT_NAME, __scopeCarousel);\n\n return (\n <Button\n className={cn(\n 'not-disabled:shadow-none absolute',\n orientation === 'horizontal'\n ? '-right-12 top-1/2 -translate-y-1/2'\n : '-bottom-12 left-1/2 -translate-x-1/2 rotate-90',\n className,\n )}\n disabled={!canScrollNext}\n icon={icon}\n prefix={<ArrowRightIcon />}\n size={size}\n variant={variant}\n onClick={scrollNext}\n {...props}\n >\n <span className=\"sr-only\">Next slide</span>\n </Button>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport type {\n CarouselApi,\n CarouselContentProps,\n CarouselItemProps,\n CarouselNextProps,\n CarouselPreviousProps,\n CarouselProps,\n};\nexport { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, createCarouselScope };\n"]}
1
+ {"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-L6OCZPIJ.cjs","../src/components/carousel.tsx"],"names":["useEmblaCarousel","createCarouselContext","CarouselProvider","useCarouselContext","CAROUSEL_NAME","Carousel","children","className","orientation","props","carouselRef","api","opts","canScrollPrev","canScrollNext","setCanScrollNext","useState","onSelect","useCallback","carouselApi","setCanScrollPrev","event","useEffect","setApi","jsx","scrollNext","scrollPrev","classNames","cn","CAROUSEL_ITEM_NAME","CAROUSEL_PREVIOUS_NAME","variant","Button","ArrowLeftIcon","size","ArrowRightIcon"],"mappings":"AAAA,6xBAAY,CAAC,wDAAwC,wDCK5C,uDACFA,kIACE,2CACA,8BA+HH,+CApHgB,IAIhB,CAACC,CAAAA,UAuBAC,CAAAA,CAAkBC,CAAkB,CAAA,CAAIF,CAAAA,CAA4CG,8CAAa,CAIxG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAASC,CAAAA,CAAS,CAChB,CAAA,SAAA,CAAA,CAAA,CAAA,eACAC,CACA,CAAA,CAAA,QAAAC,CAAAA,CACA,CAAA,SACA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAAC,CAAAA,WAEA,CAAA,CAAA,CAAA,OACA,CAAA,CAAGC,CACL,MACQ,CAACC,CAAAA,CAAaC,GAAOX,CAAAA,CACzB,CACE,CAAA,GAAGY,CACH,CAAA,CAAA,CAAA,CAAA,CAAMJ,0CAAAA,CAAAA,GAAgB,CAAA,CAAA,IAAA,CAAA,CAAA,GAAa,UAKjC,CAACK,GAA+B,CAAA,GAAa,CAAA,CAAK,CAAA,CAClD,CAACC,CAAAA,CAAeC,CAAgB,CAAA,CAAIC,CAAAA,6BAAS,CAAK,CAAA,CAElDC,CAAAA,CAAWC,CAAAA,CAAaC,CAAAA,CAAAA,CAA6B,6BACpDA,CAAAA,CAAAA,CAILC,CAAAA,CAAiBD,CAAAA,gCAAY,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,aACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,aAGZD,CAAY,CAAA,CAAA,CAAA,CAAM,CACnCP,CAAAA,CAAAA,CAAK,CAAA,CAAA,CAAA,gCAAA,CAAA,CAAA,EAAA,iBAAA,CAAW,6BAClB,UAE+B,mBAAA,GAAA,CAAA,CAAM,CACnCA,CAAAA,CAAAA,CAAK,CAAA,CAAA,CAAA,gCAAA,CAAA,CAAA,EAAA,iBAAA,CAAW,6BAClB,UAGGU,mBAAAA,GAAAA,CAAyC,CACpCA,CAAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,gCAAQ,CAAA,EAAA,CAAA,CAAA,CAAA,GAAA,GAChBA,WAAM,CAAA,CAAA,CAAA,CAAA,cAES,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,GAAA,YACjB,EAAA,CAAA,CAAA,CAAA,cAIa,CACzB,CAAA,CAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAAC,CAAAA,CAAU,CAAA,CAAA,CAAA,CAAM,OACDC,8BAAAA,CAIbA,CAAOZ,EACT,CAAA,CAAG,CAACA,EAAKY,CAAM,CAAC,EAEhBD,CAAAA,CAAU,CAAA,CAAA,CAAA,CAAM,CACd,CAAA,CAAA,CAAKX,CAAAA,CAIL,CAAA,8BAAA,CAAA,CAAA,EAAAM,CAAAA,EAAY,CAAA,CACZN,CAAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAUM,CAAQ,EACzBN,CAAAA,QAAO,CAAA,CAAA,CAAA,CAAA,CAAUM,CAAQ,EAElB,CAAA,QACD,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAUA,GAEtB,CAAA,QAGEO,CAAAA,CAACtB,CAAAA,CAAA,CACC,CAAA,CAAA,CAAA,CAAKS,CAAAA,CACL,CAAA,CAAA,6BAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,aACA,CAAA,CAAA,CAAA,aACA,CAAA,CAAaD,CAAAA,WAEb,CAAA,CAAA,CAAA,IAAA,CAAA,CAAaF,CAAAA,WAAsB,kBAAA,CAAS,SAAA,iBAAA,CAAM,6BAAA,MAAA,GAAA,GAAa,CAAA,UAAA,CAAA,YAE/D,GAAA,CAAA,KAAA,CAAYiB,CAAAA,CACZ,UAAA,CAAYC,CAAAA,CAEZ,UAAAF,CAAC,CAAA,CAAA,QACC,CAAA,6BAAA,KAAA,CAAA,CAAA,sBACA,CAAA,UAAc,CAAA,SAAA,CAAYjB,iCAAS,UAC9B,CAAA,CAAA,CAAA,CAAA,IACL,CAAA,QAAA,CAAA,gBAGC,CAAA,CAAA,CAAA,GACH,CAAA,CACF,QAQ0B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,iBAU5B,CAAA,SAAA,CAAA,CAAA,CAAA,eACAA,CAAAA,CACA,CAAA,SAAA,CAAAoB,CAAAA,CACA,UAEM,CAAE,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,GAAAjB,CAAAA,WAAa,CAAA,CAAAF,CAAY,WAEjC,CAAA,CAAA,CAAA,CAAA,CACEgB,CAAAA,CAAC,CAAA,CAAA,CAAA,CAAA,OAASd,6BAAAA,KAAa,CAAA,CAAA,GAAWkB,CAAAA,CAAG,CAAA,SAAA,CAAA,iCAAA,iBACnC,iBAAA,CAAA,6BAAA,SAAC,CAAA,CAAA,QACC,CAAA,6BAAA,KAAWA,CACT,CAAA,SACApB,CAAgB,iCAAA,MAAA,CAAA,CAAA,GAAe,YAAU,CAAA,OAAA,CAAA,gBAG3C,iBAAA,CACC,6BAAA,SAUT,CAAA,CAAA,CAAA,CAAMqB,GAAqB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,cAIH,CAAA,SAAA,CAAA,CAAA,CAAA,eAAiBtB,CAAAA,CAAW,CAAA,SAC5C,CAAE,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,GAAAC,CAAY,WAEpB,CAAA,CAAA,CAAA,CAAA,CACEgB,CAAAA,CAAC,CAAA,CAAA,CAAA,CAAA,OACC,6BAAA,KAAA,CAAA,CAAA,sBACA,CAAA,OAAc,CAAA,SAAA,CAAA,iCAAA,oCAAsD,CAAA,CAAA,GAAe,YAAS,CAAA,MAC5F,CAAA,MAAK,CAAA,CAAA,CAAA,CACJ,IAAGf,CACN,OAQEqB,CAAyB,GAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,kBAK7B,CAAA,SAAA,CAAA,CAAA,CAAA,eACAvB,CAAAA,CACA,CAAA,SACA,CAAA,CAAA,CAAA,IAAO,CAAA,CAAA,CAAA,CAAA,CACP,CAAA,IAAA,CAAA,CAAA,CAAAwB,IAAU,CAAA,OACV,CAAA,CAAA,CAAGtB,SAEK,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,aAAe,CAAA,CAAAD,CAAAA,WAAa,CAAAkB,CAAW,CAAA,UAE/C,CAAA,CAAA,CAAA,CAAA,CACEF,CAAAA,CAACQ,CAAAA,CAAA,CACC,CAAA,OAAA,6BAAA,mBAAWJ,CACT,CAAA,SAAA,CAAA,iCAAA,mCACgB,CAAA,CAAA,GACZ,YAAA,CAAA,mCACA,CAAA,6CAGI,CAACf,CAAAA,CACX,CAAA,QACA,CAAA,CAAA,CAAA,CAAA,IAASoB,CAAA,CAAA,CAAc,MACvB,CAAMC,6BAAAA,0BACN,CAAA,CAAA,CAAA,CAAA,CAAA,IACA,CAAA,CAAA,CAAA,OACC,CAAA,CAAA,CAAGzB,OAEJ,CAAA,CAAA,CAAA,GAAC,CAAA,CAAA,QAAK,CAAA,6BAAA,MAAU,CAAA,CAAA,SAAU,CAAA,SAAA,CAAA,QAAA,CAAA,gBASL,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,cAKzB,CAAA,SAAA,CAAA,CAAA,CAAA,eACAF,CAAAA,CACA,CAAA,SACA,CAAA,CAAA,CAAA,IAAO,CAAA,CAAA,CAAA,CAAA,CACP,CAAA,IAAA,CAAA,CAAA,CAAAwB,IAAU,CAAA,OACV,CAAA,CAAA,CAAGtB,SAEK,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,aAAe,CAAA,CAAAD,CAAAA,WAAa,CAAAiB,CAAW,CAAA,UAE/C,CAAA,CAAA,CAAA,CAAA,CACED,CAAAA,CAACQ,CAAAA,CAAA,CACC,CAAA,OAAA,6BAAA,mBAAWJ,CACT,CAAA,SAAA,CAAA,iCAAA,mCACgB,CAAA,CAAA,GACZ,YAAA,CAAA,oCACA,CAAA,gDAGI,CAACd,CAAAA,CACX,CAAA,QACA,CAAA,CAAA,CAAA,CAAA,IAASqB,CAAA,CAAA,CAAe,MACxB,CAAMD,6BAAAA,2BACN,CAAA,CAAA,CAAA,CAAA,CAAA,IACA,CAAA,CAAA,CAAA,OACC,CAAA,CAAA,CAAGzB,OAEJ,CAAA,CAAA,CAAA,GAAC,CAAA,CAAA,QAAK,CAAA,6BAAA,MAAU,CAAA,CAAA,SAAU,CAAA,SAAA,CAAA,QAAA,CAAU,YAG1C,CAAA,CAAA,CAAA,CAAA,CAAA,yFAAA","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-L6OCZPIJ.cjs","sourcesContent":[null,"'use client';\n\nimport type { Scope } from '@radix-ui/react-context';\nimport type { ComponentProps, JSX, KeyboardEvent } from 'react';\n\nimport { createContextScope } from '@radix-ui/react-context';\nimport useEmblaCarousel, { type UseEmblaCarouselType } from 'embla-carousel-react';\nimport { ArrowLeftIcon, ArrowRightIcon } from 'lucide-react';\nimport { useCallback, useEffect, useState } from 'react';\n\nimport type { ButtonProps } from '@/components/button';\n\nimport { Button } from '@/components/button';\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: Carousel\n * -------------------------------------------------------------------------- */\n\nconst CAROUSEL_NAME = 'Carousel';\n\ntype ScopedProps<P> = P & { __scopeCarousel?: Scope };\n\nconst [createCarouselContext, createCarouselScope] = createContextScope(CAROUSEL_NAME);\n\ntype CarouselApi = UseEmblaCarouselType[1];\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>;\ntype CarouselOptions = UseCarouselParameters[0];\ntype CarouselPlugin = UseCarouselParameters[1];\n\ninterface BaseCarouselProps {\n opts?: CarouselOptions;\n orientation?: 'horizontal' | 'vertical';\n plugins?: CarouselPlugin;\n setApi?: (api: CarouselApi) => void;\n}\n\ntype CarouselContextValue = BaseCarouselProps & {\n api: ReturnType<typeof useEmblaCarousel>[1];\n canScrollNext: boolean;\n canScrollPrev: boolean;\n carouselRef: ReturnType<typeof useEmblaCarousel>[0];\n scrollNext: () => void;\n scrollPrev: () => void;\n};\n\nconst [CarouselProvider, useCarouselContext] = createCarouselContext<CarouselContextValue>(CAROUSEL_NAME);\n\ntype CarouselProps = BaseCarouselProps & ComponentProps<'div'>;\n\nfunction Carousel({\n __scopeCarousel,\n children,\n className,\n opts,\n orientation,\n plugins,\n setApi,\n ...props\n}: ScopedProps<CarouselProps>): JSX.Element {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === 'vertical' ? 'y' : 'x',\n },\n plugins,\n );\n\n const [canScrollPrev, setCanScrollPrev] = useState(false);\n const [canScrollNext, setCanScrollNext] = useState(false);\n\n const onSelect = useCallback((carouselApi: CarouselApi) => {\n if (!carouselApi) {\n return;\n }\n\n setCanScrollPrev(carouselApi.canScrollPrev());\n setCanScrollNext(carouselApi.canScrollNext());\n }, []);\n\n const scrollPrev = useCallback(() => {\n api?.scrollPrev();\n }, [api]);\n\n const scrollNext = useCallback(() => {\n api?.scrollNext();\n }, [api]);\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n scrollPrev();\n } else if (event.key === 'ArrowRight') {\n event.preventDefault();\n scrollNext();\n }\n },\n [scrollPrev, scrollNext],\n );\n\n useEffect(() => {\n if (!api || !setApi) {\n return;\n }\n\n setApi(api);\n }, [api, setApi]);\n\n useEffect(() => {\n if (!api) {\n return;\n }\n\n onSelect(api);\n api.on('reInit', onSelect);\n api.on('select', onSelect);\n\n return () => {\n api.off('select', onSelect);\n };\n }, [api, onSelect]);\n\n return (\n <CarouselProvider\n api={api}\n canScrollNext={canScrollNext}\n canScrollPrev={canScrollPrev}\n carouselRef={carouselRef}\n opts={opts}\n orientation={orientation ?? (opts?.axis === 'y' ? 'vertical' : 'horizontal')}\n scope={__scopeCarousel}\n scrollNext={scrollNext}\n scrollPrev={scrollPrev}\n >\n <div\n aria-roledescription=\"carousel\"\n className={cn('relative', className)}\n role=\"region\"\n onKeyDownCapture={handleKeyDown}\n {...props}\n >\n {children}\n </div>\n </CarouselProvider>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CarouselContent\n * -------------------------------------------------------------------------- */\n\nconst CAROUSEL_CONTENT_NAME = 'CarouselContent';\n\ninterface CarouselContentProps extends ComponentProps<'div'> {\n classNames?: {\n content?: string;\n wrapper?: string;\n };\n}\n\nfunction CarouselContent({\n __scopeCarousel,\n className,\n classNames,\n ...props\n}: ScopedProps<CarouselContentProps>): JSX.Element {\n const { carouselRef, orientation } = useCarouselContext(CAROUSEL_CONTENT_NAME, __scopeCarousel);\n\n return (\n <div ref={carouselRef} className={cn('overflow-hidden', classNames?.wrapper)}>\n <div\n className={cn(\n 'flex',\n orientation === 'horizontal' ? '-ml-4' : '-mt-4 flex-col',\n classNames?.content,\n className,\n )}\n {...props}\n />\n </div>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CarouselItem\n * -------------------------------------------------------------------------- */\n\nconst CAROUSEL_ITEM_NAME = 'CarouselItem';\n\ntype CarouselItemProps = ComponentProps<'div'>;\n\nfunction CarouselItem({ __scopeCarousel, className, ...props }: ScopedProps<CarouselItemProps>): JSX.Element {\n const { orientation } = useCarouselContext(CAROUSEL_ITEM_NAME, __scopeCarousel);\n\n return (\n <div\n aria-roledescription=\"slide\"\n className={cn('min-w-0 shrink-0 grow-0 basis-full', orientation === 'horizontal' ? 'pl-4' : 'pt-4', className)}\n role=\"group\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CarouselPrevious\n * -------------------------------------------------------------------------- */\n\nconst CAROUSEL_PREVIOUS_NAME = 'CarouselPrevious';\n\ntype CarouselPreviousProps = ButtonProps;\n\nfunction CarouselPrevious({\n __scopeCarousel,\n className,\n icon = true,\n size = 'sm',\n variant = 'outline',\n ...props\n}: ScopedProps<CarouselPreviousProps>): JSX.Element {\n const { canScrollPrev, orientation, scrollPrev } = useCarouselContext(CAROUSEL_PREVIOUS_NAME, __scopeCarousel);\n\n return (\n <Button\n className={cn(\n 'not-disabled:shadow-none absolute',\n orientation === 'horizontal'\n ? '-left-12 top-1/2 -translate-y-1/2'\n : '-top-12 left-1/2 -translate-x-1/2 rotate-90',\n className,\n )}\n disabled={!canScrollPrev}\n icon={icon}\n prefix={<ArrowLeftIcon />}\n size={size}\n variant={variant}\n onClick={scrollPrev}\n {...props}\n >\n <span className=\"sr-only\">Previous slide</span>\n </Button>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CarouselNext\n * -------------------------------------------------------------------------- */\n\nconst CAROUSEL_NEXT_NAME = 'CarouselNext';\n\ntype CarouselNextProps = ButtonProps;\n\nfunction CarouselNext({\n __scopeCarousel,\n className,\n icon = true,\n size = 'sm',\n variant = 'outline',\n ...props\n}: ScopedProps<CarouselNextProps>): JSX.Element {\n const { canScrollNext, orientation, scrollNext } = useCarouselContext(CAROUSEL_NEXT_NAME, __scopeCarousel);\n\n return (\n <Button\n className={cn(\n 'not-disabled:shadow-none absolute',\n orientation === 'horizontal'\n ? '-right-12 top-1/2 -translate-y-1/2'\n : '-bottom-12 left-1/2 -translate-x-1/2 rotate-90',\n className,\n )}\n disabled={!canScrollNext}\n icon={icon}\n prefix={<ArrowRightIcon />}\n size={size}\n variant={variant}\n onClick={scrollNext}\n {...props}\n >\n <span className=\"sr-only\">Next slide</span>\n </Button>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport type {\n CarouselApi,\n CarouselContentProps,\n CarouselItemProps,\n CarouselNextProps,\n CarouselPreviousProps,\n CarouselProps,\n};\nexport { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, createCarouselScope };\n"]}
@@ -1,2 +1,2 @@
1
- import{a as s}from"./chunk-TAVXLFQE.js";import{a}from"./chunk-OKUFCFYT.js";import*as o from"@radix-ui/react-dialog";import{XIcon as p}from"lucide-react";import{jsx as i,jsxs as l}from"react/jsx-runtime";var P=o.Root,d=o.Trigger;function f({children:t,className:e,...r}){return l(o.Portal,{children:[i(o.Overlay,{className:"bg-popover-overlay data-[state=open]:animate-fade-in data-[state=closed]:animate-fade-out fixed inset-0 z-50"}),i(o.Content,{className:"data-[state=open]:animate-in max-sm:data-[state=open]:animation-duration-500 max-sm:data-[state=open]:slide-from-b-full sm:data-[state=open]:fade-in-0 sm:data-[state=open]:zoom-in-95 data-[state=closed]:animate-out max-sm:data-[state=closed]:animation-duration-500 max-sm:data-[state=closed]:slide-to-b-full sm:data-[state=closed]:fade-out-0 sm:data-[state=closed]:zoom-out-95 fixed inset-0 z-50 grid grid-rows-[1fr_auto] justify-items-center overflow-auto sm:grid-rows-[1fr_auto_3fr] sm:p-4",...r,children:l("div",{className:a("bg-popover text-popover-foreground relative row-start-2 flex w-full flex-col rounded-t-2xl border shadow-lg sm:max-w-lg sm:rounded-2xl",e),children:[t,l(o.Close,{className:s({className:"absolute right-2.5 top-2.5",icon:!0,size:"2xs",variant:"ghost"}),children:[i(p,{className:"size-4"}),i("span",{className:"sr-only",children:"Close"})]})]})})]})}function c({className:t,...e}){return i("header",{className:a("flex shrink-0 flex-col gap-1.5 px-6 pb-4 pt-6 text-center sm:text-left",t),...e})}function u({className:t,...e}){return i("main",{className:a("overflow-auto px-6 py-2",t),...e})}function v({className:t,...e}){return i("footer",{className:a("flex shrink-0 flex-col-reverse gap-2 px-6 pb-6 pt-4 sm:flex-row sm:justify-end",t),...e})}function x({className:t,...e}){return i(o.Title,{className:a("text-lg font-semibold leading-none tracking-tight",t),...e})}function y({className:t,...e}){return i(o.Description,{className:a("text-muted-foreground text-sm",t),...e})}function C({className:t,size:e,variant:r="outline",...n}){return i(o.Close,{className:s({className:t,size:e,variant:r}),...n})}export{P as a,d as b,f as c,c as d,u as e,v as f,x as g,y as h,C as i};
2
- //# sourceMappingURL=chunk-5NVU3OSZ.js.map
1
+ import{a as s}from"./chunk-6FS62M4B.js";import{a}from"./chunk-OKUFCFYT.js";import*as o from"@radix-ui/react-dialog";import{XIcon as p}from"lucide-react";import{jsx as i,jsxs as l}from"react/jsx-runtime";var P=o.Root,d=o.Trigger;function f({children:t,className:e,...r}){return l(o.Portal,{children:[i(o.Overlay,{className:"bg-popover-overlay data-[state=open]:animate-fade-in data-[state=closed]:animate-fade-out fixed inset-0 z-50"}),i(o.Content,{className:"data-[state=open]:animate-in max-sm:data-[state=open]:animation-duration-500 max-sm:data-[state=open]:slide-from-b-full sm:data-[state=open]:fade-in-0 sm:data-[state=open]:zoom-in-95 data-[state=closed]:animate-out max-sm:data-[state=closed]:animation-duration-500 max-sm:data-[state=closed]:slide-to-b-full sm:data-[state=closed]:fade-out-0 sm:data-[state=closed]:zoom-out-95 fixed inset-0 z-50 grid grid-rows-[1fr_auto] justify-items-center overflow-auto sm:grid-rows-[1fr_auto_3fr] sm:p-4",...r,children:l("div",{className:a("bg-popover text-popover-foreground relative row-start-2 flex w-full flex-col rounded-t-2xl border shadow-lg sm:max-w-lg sm:rounded-2xl",e),children:[t,l(o.Close,{className:s({className:"absolute right-2.5 top-2.5",icon:!0,size:"2xs",variant:"ghost"}),children:[i(p,{className:"size-4"}),i("span",{className:"sr-only",children:"Close"})]})]})})]})}function c({className:t,...e}){return i("header",{className:a("flex shrink-0 flex-col gap-1.5 px-6 pb-4 pt-6 text-center sm:text-left",t),...e})}function u({className:t,...e}){return i("main",{className:a("overflow-auto px-6 py-2",t),...e})}function v({className:t,...e}){return i("footer",{className:a("flex shrink-0 flex-col-reverse gap-2 px-6 pb-6 pt-4 sm:flex-row sm:justify-end",t),...e})}function x({className:t,...e}){return i(o.Title,{className:a("text-lg font-semibold leading-none tracking-tight",t),...e})}function y({className:t,...e}){return i(o.Description,{className:a("text-muted-foreground text-sm",t),...e})}function C({className:t,size:e,variant:r="outline",...n}){return i(o.Close,{className:s({className:t,size:e,variant:r}),...n})}export{P as a,d as b,f as c,c as d,u as e,v as f,x as g,y as h,C as i};
2
+ //# sourceMappingURL=chunk-MQ3ZMVF4.js.map
@@ -1,2 +1,2 @@
1
- import{a as n}from"./chunk-TAVXLFQE.js";import{a as i}from"./chunk-OKUFCFYT.js";import*as t from"@radix-ui/react-alert-dialog";import{jsx as r,jsxs as s}from"react/jsx-runtime";var m=t.Root,P=t.Trigger;function A({children:e,className:o,...l}){return s(t.Portal,{children:[r(t.Overlay,{className:i("bg-popover-overlay data-[state=open]:animate-fade-in data-[state=closed]:animate-fade-out fixed inset-0 z-50")}),r(t.Content,{className:i("data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 fixed inset-0 z-50 grid grid-rows-[1fr_auto_1fr] justify-items-center overflow-auto p-8 sm:grid-rows-[1fr_auto_3fr] sm:p-4",o),...l,children:r("div",{className:"bg-popover text-popover-foreground relative row-start-2 flex w-full max-w-lg flex-col rounded-2xl border shadow-lg",children:e})})]})}function D({className:e,...o}){return r("div",{className:i("flex shrink-0 flex-col gap-1.5 px-6 pb-4 pt-6 text-center sm:text-left",e),...o})}function c({className:e,...o}){return r("main",{className:i("overflow-auto px-6 py-2",e),...o})}function d({className:e,...o}){return r("div",{className:i("flex shrink-0 flex-col-reverse gap-2 px-6 pb-6 pt-4 sm:flex-row sm:justify-end",e),...o})}function f({className:e,...o}){return r(t.Title,{className:i("text-lg font-semibold leading-none tracking-tight",e),...o})}function v({className:e,...o}){return r(t.Description,{className:i("text-muted-foreground text-sm",e),...o})}function u({className:e,size:o,variant:l,...a}){return r(t.Action,{className:n({className:e,size:o,variant:l}),...a})}function y({className:e,size:o,variant:l="outline",...a}){return r(t.Cancel,{className:n({className:e,size:o,variant:l}),...a})}export{m as a,P as b,A as c,D as d,c as e,d as f,f as g,v as h,u as i,y as j};
2
- //# sourceMappingURL=chunk-HAVND45W.js.map
1
+ import{a as n}from"./chunk-6FS62M4B.js";import{a as i}from"./chunk-OKUFCFYT.js";import*as t from"@radix-ui/react-alert-dialog";import{jsx as r,jsxs as s}from"react/jsx-runtime";var m=t.Root,P=t.Trigger;function A({children:e,className:o,...l}){return s(t.Portal,{children:[r(t.Overlay,{className:i("bg-popover-overlay data-[state=open]:animate-fade-in data-[state=closed]:animate-fade-out fixed inset-0 z-50")}),r(t.Content,{className:i("data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 fixed inset-0 z-50 grid grid-rows-[1fr_auto_1fr] justify-items-center overflow-auto p-8 sm:grid-rows-[1fr_auto_3fr] sm:p-4",o),...l,children:r("div",{className:"bg-popover text-popover-foreground relative row-start-2 flex w-full max-w-lg flex-col rounded-2xl border shadow-lg",children:e})})]})}function D({className:e,...o}){return r("div",{className:i("flex shrink-0 flex-col gap-1.5 px-6 pb-4 pt-6 text-center sm:text-left",e),...o})}function c({className:e,...o}){return r("main",{className:i("overflow-auto px-6 py-2",e),...o})}function d({className:e,...o}){return r("div",{className:i("flex shrink-0 flex-col-reverse gap-2 px-6 pb-6 pt-4 sm:flex-row sm:justify-end",e),...o})}function f({className:e,...o}){return r(t.Title,{className:i("text-lg font-semibold leading-none tracking-tight",e),...o})}function v({className:e,...o}){return r(t.Description,{className:i("text-muted-foreground text-sm",e),...o})}function u({className:e,size:o,variant:l,...a}){return r(t.Action,{className:n({className:e,size:o,variant:l}),...a})}function y({className:e,size:o,variant:l="outline",...a}){return r(t.Cancel,{className:n({className:e,size:o,variant:l}),...a})}export{m as a,P as b,A as c,D as d,c as e,d as f,f as g,v as h,u as i,y as j};
2
+ //# sourceMappingURL=chunk-MYM5XJQR.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";var _chunkLUOAGYB6cjs = require('./chunk-LUOAGYB6.cjs');var _chunk6LL5EQAEcjs = require('./chunk-6LL5EQAE.cjs');var _chunkUGCN3YGMcjs = require('./chunk-UGCN3YGM.cjs');var _chunkJJ46AZUGcjs = require('./chunk-JJ46AZUG.cjs');var _chunk2GUGNIMNcjs = require('./chunk-2GUGNIMN.cjs');var _chunkEGY5ICBLcjs = require('./chunk-EGY5ICBL.cjs');var _chunkSMJEDCFPcjs = require('./chunk-SMJEDCFP.cjs');var _hooks = require('@codefast/hooks');var _reactslot = require('@radix-ui/react-slot');var _reactvisuallyhidden = require('@radix-ui/react-visually-hidden');var _jscookie = require('js-cookie'); var _jscookie2 = _interopRequireDefault(_jscookie);var _lucidereact = require('lucide-react');var _react = require('react');var _tailwindvariants = require('tailwind-variants');var _jsxruntime = require('react/jsx-runtime');var q="sidebar:state",$=7,Q="16rem",U="18rem",Y="3rem",Z="b",ee=768,D=_react.createContext.call(void 0, null);function x(){let e=_react.useContext.call(void 0, D);if(!e)throw new Error("useSidebar must be used within a SidebarProvider.");return e}function ge({children:e,className:t,defaultOpen:n=!0,onOpenChange:r,open:i,style:l,...m}){let p=_hooks.useMediaQuery.call(void 0, `(max-width: ${ee-1}px)`),[b,d]=_react.useState.call(void 0, !1),[S,w]=_react.useState.call(void 0, n),f=_nullishCoalesce(i, () => (S)),v=_react.useCallback.call(void 0, s=>{let u=typeof s=="function"?s(f):s;r?r(u):w(u),_jscookie2.default.set(q,String(u),{expires:$,path:"/"})},[r,f]),h=_react.useCallback.call(void 0, ()=>{p?d(s=>!s):v(s=>!s)},[p,v,d]);_react.useEffect.call(void 0, ()=>{let s=u=>{u.key===Z&&(u.metaKey||u.ctrlKey)&&(u.preventDefault(),h())};return window.addEventListener("keydown",s),()=>{window.removeEventListener("keydown",s)}},[h]);let C=f?"expanded":"collapsed",G=_react.useMemo.call(void 0, ()=>({isMobile:p,open:f,openMobile:b,setOpen:v,setOpenMobile:d,state:C,toggleSidebar:h}),[C,f,v,p,b,d,h]);return _jsxruntime.jsx.call(void 0, D.Provider,{value:G,children:_jsxruntime.jsx.call(void 0, _chunkLUOAGYB6cjs.a,{delayDuration:0,children:_jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full",t),style:{"--sidebar-width":Q,"--sidebar-width-icon":Y,...l},...m,children:e})})})}function Se({children:e,className:t,collapsible:n="offcanvas",side:r="left",variant:i="sidebar",...l}){let{isMobile:m,openMobile:p,setOpenMobile:b,state:d}=x();return n==="none"?_jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "bg-sidebar text-sidebar-foreground w-(--sidebar-width) flex h-full flex-col",t),...l,children:e}):m?_jsxruntime.jsx.call(void 0, _chunk6LL5EQAEcjs.a,{open:p,onOpenChange:b,...l,children:_jsxruntime.jsxs.call(void 0, _chunk6LL5EQAEcjs.c,{className:"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden","data-mobile":"true","data-sidebar":"sidebar",side:r,style:{"--sidebar-width":U},children:[_jsxruntime.jsxs.call(void 0, _reactvisuallyhidden.VisuallyHidden,{children:[_jsxruntime.jsx.call(void 0, _chunk6LL5EQAEcjs.g,{children:"Sidebar"}),_jsxruntime.jsx.call(void 0, _chunk6LL5EQAEcjs.h,{children:"Press escape to close the sidebar"})]}),_jsxruntime.jsx.call(void 0, "div",{className:"flex h-full w-full flex-col",children:e})]})}):_jsxruntime.jsxs.call(void 0, "div",{className:"text-sidebar-foreground group peer hidden md:block","data-collapsible":d==="collapsed"?n:"","data-side":r,"data-state":d,"data-variant":i,children:[_jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "w-(--sidebar-width) relative h-svh bg-transparent transition-[width] duration-200 ease-linear group-data-[collapsible=offcanvas]:w-0 group-data-[side=right]:rotate-180",i==="floating"||i==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),_jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "w-(--sidebar-width) fixed inset-y-0 z-10 hidden h-svh transition-[left,right,width] duration-200 ease-linear md:flex",r==="left"?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",i==="floating"||i==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",t),...l,children:_jsxruntime.jsx.call(void 0, "div",{className:"bg-sidebar group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow-xs flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border","data-sidebar":"sidebar",children:e})})]})}function ve({className:e,onClick:t,...n}){let{toggleSidebar:r}=x();return _jsxruntime.jsxs.call(void 0, _chunkEGY5ICBLcjs.a,{icon:!0,className:_chunkSMJEDCFPcjs.a.call(void 0, "",e),"data-sidebar":"trigger",size:"2xs",variant:"ghost",onClick:i=>{_optionalChain([t, 'optionalCall', _2 => _2(i)]),r()},...n,children:[_jsxruntime.jsx.call(void 0, _lucidereact.PanelLeftIcon,{}),_jsxruntime.jsx.call(void 0, "span",{className:"sr-only",children:"Toggle Sidebar"})]})}function he({className:e,...t}){let{toggleSidebar:n}=x();return _jsxruntime.jsx.call(void 0, "button",{"aria-label":"Toggle Sidebar",className:_chunkSMJEDCFPcjs.a.call(void 0, "hover:after:bg-sidebar-border group-data-[collapsible=offcanvas]:hover:bg-sidebar absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-0.5 group-data-[side=left]:-right-4 group-data-[side=right]:left-0 group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full sm:flex [[data-side=left][data-collapsible=offcanvas]_&]:-right-2 [[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=left]_&]:cursor-w-resize [[data-side=right][data-collapsible=offcanvas]_&]:-left-2 [[data-side=right][data-state=collapsed]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize",e),"data-sidebar":"rail",tabIndex:-1,title:"Toggle Sidebar",type:"button",onClick:n,...t})}function xe({className:e,...t}){return _jsxruntime.jsx.call(void 0, "main",{className:_chunkSMJEDCFPcjs.a.call(void 0, "bg-background md:peer-data-[variant=inset]:shadow-xs relative flex min-h-svh flex-1 flex-col peer-data-[variant=inset]:min-h-[calc(100svh-var(--spacing-4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-lg",e),...t})}function Pe({className:e,...t}){return _jsxruntime.jsx.call(void 0, _chunk2GUGNIMNcjs.a,{className:_chunkSMJEDCFPcjs.a.call(void 0, "bg-background focus-visible:ring-sidebar-ring focus-visible:ring-3 h-8 w-full shadow-none",e),"data-sidebar":"input",...t})}function we({className:e,...t}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "flex flex-col gap-2 p-2",e),"data-sidebar":"header",...t})}function Ce({className:e,...t}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "flex flex-col gap-2 p-2",e),"data-sidebar":"footer",...t})}function ye({className:e,...t}){return _jsxruntime.jsx.call(void 0, _chunkJJ46AZUGcjs.a,{className:_chunkSMJEDCFPcjs.a.call(void 0, "bg-sidebar-border mx-2 w-auto",e),"data-sidebar":"separator",...t})}function Me({className:e,...t}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),"data-sidebar":"content",...t})}function Ee({className:e,...t}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "relative flex w-full min-w-0 flex-col p-2",e),"data-sidebar":"group",...t})}function Ie({asChild:e=!1,className:t,...n}){return _jsxruntime.jsx.call(void 0, e?_reactslot.Slot:"div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "text-sidebar-foreground/70 ring-sidebar-ring focus-visible:ring-3 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-none transition-[margin,opa] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 [&>svg]:size-4 [&>svg]:shrink-0",t),"data-sidebar":"group-label",...n})}function Ne({asChild:e=!1,className:t,...n}){return _jsxruntime.jsx.call(void 0, e?_reactslot.Slot:"button",{className:_chunkSMJEDCFPcjs.a.call(void 0, "text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-3 absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-none transition-transform after:absolute after:-inset-2 group-data-[collapsible=icon]:hidden after:md:hidden [&>svg]:size-4 [&>svg]:shrink-0",t),"data-sidebar":"group-action",...n})}function _e({className:e,...t}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "w-full text-sm",e),"data-sidebar":"group-content",...t})}function ke({className:e,...t}){return _jsxruntime.jsx.call(void 0, "ul",{className:_chunkSMJEDCFPcjs.a.call(void 0, "flex w-full min-w-0 flex-col gap-1",e),"data-sidebar":"menu",...t})}function Be({className:e,...t}){return _jsxruntime.jsx.call(void 0, "li",{className:_chunkSMJEDCFPcjs.a.call(void 0, "group/menu-item relative",e),"data-sidebar":"menu-item",...t})}var te=_tailwindvariants.tv.call(void 0, {base:"peer/menu-button ring-sidebar-ring data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground focus-visible:ring-3 flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none transition-[width,height,padding] disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",variants:{size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:!p-0"},variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background hover:bg-sidebar-accent hover:text-sidebar-accent-foreground shadow-[0_0_0_1px_hsl(var(--color-sidebar-border))] hover:shadow-[0_0_0_1px_hsl(var(--color-sidebar-accent))]"}},defaultVariants:{size:"default",variant:"default"}});function Xe({asChild:e=!1,className:t,isActive:n=!1,size:r="default",tooltip:i,variant:l="default",...m}){let p=e?_reactslot.Slot:"button",{isMobile:b,state:d}=x(),S=_jsxruntime.jsx.call(void 0, p,{className:_chunkSMJEDCFPcjs.a.call(void 0, te({size:r,variant:l}),t),"data-active":n,"data-sidebar":"menu-button","data-size":r,...m});return i?_jsxruntime.jsxs.call(void 0, _chunkLUOAGYB6cjs.b,{children:[_jsxruntime.jsx.call(void 0, _chunkLUOAGYB6cjs.c,{asChild:!0,children:S}),_jsxruntime.jsx.call(void 0, _chunkLUOAGYB6cjs.d,{align:"center",hidden:d!=="collapsed"||b,side:"right",...typeof i=="string"?{children:i}:i})]}):S}function Je({asChild:e=!1,className:t,showOnHover:n=!1,...r}){return _jsxruntime.jsx.call(void 0, e?_reactslot.Slot:"button",{className:_chunkSMJEDCFPcjs.a.call(void 0, "text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground focus-visible:ring-3 absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-none transition-transform after:absolute after:-inset-2 group-data-[collapsible=icon]:hidden peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 after:md:hidden [&>svg]:size-4 [&>svg]:shrink-0",n&&"peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0",t),"data-sidebar":"menu-action",...r})}function Te({className:e,...t}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "text-sidebar-foreground peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums group-data-[collapsible=icon]:hidden peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1",e),"data-sidebar":"menu-badge",...t})}function ze({className:e,showIcon:t=!1,...n}){let r=_react.useMemo.call(void 0, ()=>`${Math.floor(Math.random()*40)+50}%`,[]);return _jsxruntime.jsxs.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "flex h-8 items-center gap-2 rounded-md px-2",e),"data-sidebar":"menu-skeleton",...n,children:[t?_jsxruntime.jsx.call(void 0, _chunkUGCN3YGMcjs.a,{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}):null,_jsxruntime.jsx.call(void 0, _chunkUGCN3YGMcjs.a,{className:"max-w-(--skeleton-width) h-4 flex-1","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":r}})]})}function Ae({className:e,...t}){return _jsxruntime.jsx.call(void 0, "ul",{className:_chunkSMJEDCFPcjs.a.call(void 0, "border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5 group-data-[collapsible=icon]:hidden",e),"data-sidebar":"menu-sub",...t})}function Oe({...e}){return _jsxruntime.jsx.call(void 0, "li",{...e})}function De({asChild:e=!1,className:t,isActive:n,size:r="md",...i}){return _jsxruntime.jsx.call(void 0, e?_reactslot.Slot:"a",{className:_chunkSMJEDCFPcjs.a.call(void 0, "text-sidebar-foreground ring-sidebar-ring [&>svg]:text-sidebar-accent-foreground data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground focus-visible:ring-3 flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-none disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",r==="sm"&&"text-xs",r==="md"&&"text-sm group-data-[collapsible=icon]:hidden",t),"data-active":n,"data-sidebar":"menu-sub-button","data-size":r,...i})}exports.a = x; exports.b = ge; exports.c = Se; exports.d = ve; exports.e = he; exports.f = xe; exports.g = Pe; exports.h = we; exports.i = Ce; exports.j = ye; exports.k = Me; exports.l = Ee; exports.m = Ie; exports.n = Ne; exports.o = _e; exports.p = ke; exports.q = Be; exports.r = Xe; exports.s = Je; exports.t = Te; exports.u = ze; exports.v = Ae; exports.w = Oe; exports.x = De;
2
- //# sourceMappingURL=chunk-WBWLWSHG.cjs.map
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";var _chunkLUOAGYB6cjs = require('./chunk-LUOAGYB6.cjs');var _chunkKJUQ3ZDGcjs = require('./chunk-KJUQ3ZDG.cjs');var _chunkUGCN3YGMcjs = require('./chunk-UGCN3YGM.cjs');var _chunkB3BYZCQ7cjs = require('./chunk-B3BYZCQ7.cjs');var _chunk2GUGNIMNcjs = require('./chunk-2GUGNIMN.cjs');var _chunkIMMPDUHIcjs = require('./chunk-IMMPDUHI.cjs');var _chunkSMJEDCFPcjs = require('./chunk-SMJEDCFP.cjs');var _hooks = require('@codefast/hooks');var _reactslot = require('@radix-ui/react-slot');var _reactvisuallyhidden = require('@radix-ui/react-visually-hidden');var _jscookie = require('js-cookie'); var _jscookie2 = _interopRequireDefault(_jscookie);var _lucidereact = require('lucide-react');var _react = require('react');var _tailwindvariants = require('tailwind-variants');var _jsxruntime = require('react/jsx-runtime');var q="sidebar:state",$=7,Q="16rem",U="18rem",Y="3rem",Z="b",ee=768,D=_react.createContext.call(void 0, null);function x(){let e=_react.useContext.call(void 0, D);if(!e)throw new Error("useSidebar must be used within a SidebarProvider.");return e}function ge({children:e,className:t,defaultOpen:n=!0,onOpenChange:r,open:i,style:l,...m}){let p=_hooks.useMediaQuery.call(void 0, `(max-width: ${ee-1}px)`),[b,d]=_react.useState.call(void 0, !1),[S,w]=_react.useState.call(void 0, n),f=_nullishCoalesce(i, () => (S)),v=_react.useCallback.call(void 0, s=>{let u=typeof s=="function"?s(f):s;r?r(u):w(u),_jscookie2.default.set(q,String(u),{expires:$,path:"/"})},[r,f]),h=_react.useCallback.call(void 0, ()=>{p?d(s=>!s):v(s=>!s)},[p,v,d]);_react.useEffect.call(void 0, ()=>{let s=u=>{u.key===Z&&(u.metaKey||u.ctrlKey)&&(u.preventDefault(),h())};return window.addEventListener("keydown",s),()=>{window.removeEventListener("keydown",s)}},[h]);let C=f?"expanded":"collapsed",G=_react.useMemo.call(void 0, ()=>({isMobile:p,open:f,openMobile:b,setOpen:v,setOpenMobile:d,state:C,toggleSidebar:h}),[C,f,v,p,b,d,h]);return _jsxruntime.jsx.call(void 0, D.Provider,{value:G,children:_jsxruntime.jsx.call(void 0, _chunkLUOAGYB6cjs.a,{delayDuration:0,children:_jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full",t),style:{"--sidebar-width":Q,"--sidebar-width-icon":Y,...l},...m,children:e})})})}function Se({children:e,className:t,collapsible:n="offcanvas",side:r="left",variant:i="sidebar",...l}){let{isMobile:m,openMobile:p,setOpenMobile:b,state:d}=x();return n==="none"?_jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "bg-sidebar text-sidebar-foreground w-(--sidebar-width) flex h-full flex-col",t),...l,children:e}):m?_jsxruntime.jsx.call(void 0, _chunkKJUQ3ZDGcjs.a,{open:p,onOpenChange:b,...l,children:_jsxruntime.jsxs.call(void 0, _chunkKJUQ3ZDGcjs.c,{className:"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden","data-mobile":"true","data-sidebar":"sidebar",side:r,style:{"--sidebar-width":U},children:[_jsxruntime.jsxs.call(void 0, _reactvisuallyhidden.VisuallyHidden,{children:[_jsxruntime.jsx.call(void 0, _chunkKJUQ3ZDGcjs.g,{children:"Sidebar"}),_jsxruntime.jsx.call(void 0, _chunkKJUQ3ZDGcjs.h,{children:"Press escape to close the sidebar"})]}),_jsxruntime.jsx.call(void 0, "div",{className:"flex h-full w-full flex-col",children:e})]})}):_jsxruntime.jsxs.call(void 0, "div",{className:"text-sidebar-foreground group peer hidden md:block","data-collapsible":d==="collapsed"?n:"","data-side":r,"data-state":d,"data-variant":i,children:[_jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "w-(--sidebar-width) relative h-svh bg-transparent transition-[width] duration-200 ease-linear group-data-[collapsible=offcanvas]:w-0 group-data-[side=right]:rotate-180",i==="floating"||i==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),_jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "w-(--sidebar-width) fixed inset-y-0 z-10 hidden h-svh transition-[left,right,width] duration-200 ease-linear md:flex",r==="left"?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",i==="floating"||i==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",t),...l,children:_jsxruntime.jsx.call(void 0, "div",{className:"bg-sidebar group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow-xs flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border","data-sidebar":"sidebar",children:e})})]})}function ve({className:e,onClick:t,...n}){let{toggleSidebar:r}=x();return _jsxruntime.jsxs.call(void 0, _chunkIMMPDUHIcjs.a,{icon:!0,className:_chunkSMJEDCFPcjs.a.call(void 0, "",e),"data-sidebar":"trigger",size:"2xs",variant:"ghost",onClick:i=>{_optionalChain([t, 'optionalCall', _2 => _2(i)]),r()},...n,children:[_jsxruntime.jsx.call(void 0, _lucidereact.PanelLeftIcon,{}),_jsxruntime.jsx.call(void 0, "span",{className:"sr-only",children:"Toggle Sidebar"})]})}function he({className:e,...t}){let{toggleSidebar:n}=x();return _jsxruntime.jsx.call(void 0, "button",{"aria-label":"Toggle Sidebar",className:_chunkSMJEDCFPcjs.a.call(void 0, "hover:after:bg-sidebar-border group-data-[collapsible=offcanvas]:hover:bg-sidebar absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-0.5 group-data-[side=left]:-right-4 group-data-[side=right]:left-0 group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full sm:flex [[data-side=left][data-collapsible=offcanvas]_&]:-right-2 [[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=left]_&]:cursor-w-resize [[data-side=right][data-collapsible=offcanvas]_&]:-left-2 [[data-side=right][data-state=collapsed]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize",e),"data-sidebar":"rail",tabIndex:-1,title:"Toggle Sidebar",type:"button",onClick:n,...t})}function xe({className:e,...t}){return _jsxruntime.jsx.call(void 0, "main",{className:_chunkSMJEDCFPcjs.a.call(void 0, "bg-background md:peer-data-[variant=inset]:shadow-xs relative flex min-h-svh flex-1 flex-col peer-data-[variant=inset]:min-h-[calc(100svh-var(--spacing-4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-lg",e),...t})}function Pe({className:e,...t}){return _jsxruntime.jsx.call(void 0, _chunk2GUGNIMNcjs.a,{className:_chunkSMJEDCFPcjs.a.call(void 0, "bg-background focus-visible:ring-sidebar-ring focus-visible:ring-3 h-8 w-full shadow-none",e),"data-sidebar":"input",...t})}function we({className:e,...t}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "flex flex-col gap-2 p-2",e),"data-sidebar":"header",...t})}function Ce({className:e,...t}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "flex flex-col gap-2 p-2",e),"data-sidebar":"footer",...t})}function ye({className:e,...t}){return _jsxruntime.jsx.call(void 0, _chunkB3BYZCQ7cjs.a,{className:_chunkSMJEDCFPcjs.a.call(void 0, "bg-sidebar-border mx-2 w-auto",e),"data-sidebar":"separator",...t})}function Me({className:e,...t}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),"data-sidebar":"content",...t})}function Ee({className:e,...t}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "relative flex w-full min-w-0 flex-col p-2",e),"data-sidebar":"group",...t})}function Ie({asChild:e=!1,className:t,...n}){return _jsxruntime.jsx.call(void 0, e?_reactslot.Slot:"div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "text-sidebar-foreground/70 ring-sidebar-ring focus-visible:ring-3 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-none transition-[margin,opa] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 [&>svg]:size-4 [&>svg]:shrink-0",t),"data-sidebar":"group-label",...n})}function Ne({asChild:e=!1,className:t,...n}){return _jsxruntime.jsx.call(void 0, e?_reactslot.Slot:"button",{className:_chunkSMJEDCFPcjs.a.call(void 0, "text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-3 absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-none transition-transform after:absolute after:-inset-2 group-data-[collapsible=icon]:hidden after:md:hidden [&>svg]:size-4 [&>svg]:shrink-0",t),"data-sidebar":"group-action",...n})}function _e({className:e,...t}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "w-full text-sm",e),"data-sidebar":"group-content",...t})}function ke({className:e,...t}){return _jsxruntime.jsx.call(void 0, "ul",{className:_chunkSMJEDCFPcjs.a.call(void 0, "flex w-full min-w-0 flex-col gap-1",e),"data-sidebar":"menu",...t})}function Be({className:e,...t}){return _jsxruntime.jsx.call(void 0, "li",{className:_chunkSMJEDCFPcjs.a.call(void 0, "group/menu-item relative",e),"data-sidebar":"menu-item",...t})}var te=_tailwindvariants.tv.call(void 0, {base:"peer/menu-button ring-sidebar-ring data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground focus-visible:ring-3 flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none transition-[width,height,padding] disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",variants:{size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:!p-0"},variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background hover:bg-sidebar-accent hover:text-sidebar-accent-foreground shadow-[0_0_0_1px_hsl(var(--color-sidebar-border))] hover:shadow-[0_0_0_1px_hsl(var(--color-sidebar-accent))]"}},defaultVariants:{size:"default",variant:"default"}});function Xe({asChild:e=!1,className:t,isActive:n=!1,size:r="default",tooltip:i,variant:l="default",...m}){let p=e?_reactslot.Slot:"button",{isMobile:b,state:d}=x(),S=_jsxruntime.jsx.call(void 0, p,{className:_chunkSMJEDCFPcjs.a.call(void 0, te({size:r,variant:l}),t),"data-active":n,"data-sidebar":"menu-button","data-size":r,...m});return i?_jsxruntime.jsxs.call(void 0, _chunkLUOAGYB6cjs.b,{children:[_jsxruntime.jsx.call(void 0, _chunkLUOAGYB6cjs.c,{asChild:!0,children:S}),_jsxruntime.jsx.call(void 0, _chunkLUOAGYB6cjs.d,{align:"center",hidden:d!=="collapsed"||b,side:"right",...typeof i=="string"?{children:i}:i})]}):S}function Je({asChild:e=!1,className:t,showOnHover:n=!1,...r}){return _jsxruntime.jsx.call(void 0, e?_reactslot.Slot:"button",{className:_chunkSMJEDCFPcjs.a.call(void 0, "text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground focus-visible:ring-3 absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-none transition-transform after:absolute after:-inset-2 group-data-[collapsible=icon]:hidden peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 after:md:hidden [&>svg]:size-4 [&>svg]:shrink-0",n&&"peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0",t),"data-sidebar":"menu-action",...r})}function Te({className:e,...t}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "text-sidebar-foreground peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums group-data-[collapsible=icon]:hidden peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1",e),"data-sidebar":"menu-badge",...t})}function ze({className:e,showIcon:t=!1,...n}){let r=_react.useMemo.call(void 0, ()=>`${Math.floor(Math.random()*40)+50}%`,[]);return _jsxruntime.jsxs.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "flex h-8 items-center gap-2 rounded-md px-2",e),"data-sidebar":"menu-skeleton",...n,children:[t?_jsxruntime.jsx.call(void 0, _chunkUGCN3YGMcjs.a,{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}):null,_jsxruntime.jsx.call(void 0, _chunkUGCN3YGMcjs.a,{className:"max-w-(--skeleton-width) h-4 flex-1","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":r}})]})}function Ae({className:e,...t}){return _jsxruntime.jsx.call(void 0, "ul",{className:_chunkSMJEDCFPcjs.a.call(void 0, "border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5 group-data-[collapsible=icon]:hidden",e),"data-sidebar":"menu-sub",...t})}function Oe({...e}){return _jsxruntime.jsx.call(void 0, "li",{...e})}function De({asChild:e=!1,className:t,isActive:n,size:r="md",...i}){return _jsxruntime.jsx.call(void 0, e?_reactslot.Slot:"a",{className:_chunkSMJEDCFPcjs.a.call(void 0, "text-sidebar-foreground ring-sidebar-ring [&>svg]:text-sidebar-accent-foreground data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground focus-visible:ring-3 flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-none disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",r==="sm"&&"text-xs",r==="md"&&"text-sm group-data-[collapsible=icon]:hidden",t),"data-active":n,"data-sidebar":"menu-sub-button","data-size":r,...i})}exports.a = x; exports.b = ge; exports.c = Se; exports.d = ve; exports.e = he; exports.f = xe; exports.g = Pe; exports.h = we; exports.i = Ce; exports.j = ye; exports.k = Me; exports.l = Ee; exports.m = Ie; exports.n = Ne; exports.o = _e; exports.p = ke; exports.q = Be; exports.r = Xe; exports.s = Je; exports.t = Te; exports.u = ze; exports.v = Ae; exports.w = Oe; exports.x = De;
2
+ //# sourceMappingURL=chunk-NK3R7ZJ7.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-WBWLWSHG.cjs","../src/components/sidebar.tsx"],"names":["Cookies","SIDEBAR_WIDTH_MOBILE","SIDEBAR_MOBILE_BREAKPOINT","SidebarContext","createContext","useSidebar","SidebarProvider","children","className","defaultOpen","setOpenProp","style","props","isMobile","useMediaQuery","openMobile","useState","isOpen","setIsOpen","open","openProp","setOpen","useCallback","value","openState","SIDEBAR_COOKIE_NAME","SIDEBAR_COOKIE_MAX_AGE","setOpenMobile","currentValue","useEffect","handleKeyDown","event","SIDEBAR_KEYBOARD_SHORTCUT","state","contextValue","toggleSidebar","jsx","TooltipProvider","cn","Sidebar","collapsible","SheetContent","jsxs","VisuallyHidden","SheetTitle","side","variant","SidebarTrigger","Button","onClick","PanelLeftIcon","SidebarRail","SidebarInset","SidebarInput","Input","SidebarHeader","SidebarFooter","SidebarSeparator","Separator","SidebarContent","SidebarGroup","SidebarGroupLabel","asChild","Slot","SidebarGroupAction","SidebarGroupContent","SidebarMenu","SidebarMenuItem","sidebarMenuButtonVariants","SidebarMenuButton","isActive","Component","button","size","Tooltip","TooltipTrigger","tooltip","SidebarMenuAction","showOnHover","SidebarMenuBadge","SidebarMenuSkeleton","showIcon","width","useMemo"],"mappings":"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","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-WBWLWSHG.cjs","sourcesContent":[null,"'use client';\n\nimport type { ComponentProps, CSSProperties, JSX } from 'react';\nimport type { VariantProps } from 'tailwind-variants';\n\nimport { useMediaQuery } from '@codefast/hooks';\nimport { Slot } from '@radix-ui/react-slot';\nimport { VisuallyHidden } from '@radix-ui/react-visually-hidden';\nimport Cookies from 'js-cookie';\nimport { PanelLeftIcon } from 'lucide-react';\nimport { createContext, useCallback, useContext, useEffect, useMemo, useState } from 'react';\nimport { tv } from 'tailwind-variants';\n\nimport { Button } from '@/components/button';\nimport { Input } from '@/components/input';\nimport { Separator } from '@/components/separator';\nimport { Sheet, SheetContent, SheetDescription, SheetTitle } from '@/components/sheet';\nimport { Skeleton } from '@/components/skeleton';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/tooltip';\nimport { cn } from '@/lib/utils';\n\nconst SIDEBAR_COOKIE_NAME = 'sidebar:state';\nconst SIDEBAR_COOKIE_MAX_AGE = 7; // 1 week in days.\nconst SIDEBAR_WIDTH = '16rem';\nconst SIDEBAR_WIDTH_MOBILE = '18rem';\nconst SIDEBAR_WIDTH_ICON = '3rem';\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'b';\nconst SIDEBAR_MOBILE_BREAKPOINT = 768;\n\ninterface SidebarContext {\n isMobile: boolean;\n open: boolean;\n openMobile: boolean;\n setOpen: (open: boolean) => void;\n setOpenMobile: (open: boolean) => void;\n state: 'collapsed' | 'expanded';\n toggleSidebar: () => void;\n}\n\nconst SidebarContext = createContext<null | SidebarContext>(null);\n\nfunction useSidebar(): SidebarContext {\n const context = useContext(SidebarContext);\n\n if (!context) {\n throw new Error('useSidebar must be used within a SidebarProvider.');\n }\n\n return context;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarProvider\n * -------------------------------------------------------------------------- */\n\ninterface SidebarProviderProps extends ComponentProps<'div'> {\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n open?: boolean;\n}\n\nfunction SidebarProvider({\n children,\n className,\n defaultOpen = true,\n onOpenChange: setOpenProp,\n open: openProp,\n style,\n ...props\n}: SidebarProviderProps): JSX.Element {\n const isMobile = useMediaQuery(`(max-width: ${SIDEBAR_MOBILE_BREAKPOINT - 1}px)`);\n const [openMobile, setOpenMobile] = useState(false);\n\n // This is the internal state of the sidebar.\n // We use openProp and setOpenProp for control from outside the component.\n const [isOpen, setIsOpen] = useState(defaultOpen);\n const open = openProp ?? isOpen;\n const setOpen = useCallback(\n (value: ((value: boolean) => boolean) | boolean) => {\n const openState = typeof value === 'function' ? value(open) : value;\n\n if (setOpenProp) {\n setOpenProp(openState);\n } else {\n setIsOpen(openState);\n }\n\n // This sets the cookie to keep the sidebar state.\n Cookies.set(SIDEBAR_COOKIE_NAME, String(openState), {\n expires: SIDEBAR_COOKIE_MAX_AGE,\n path: '/',\n });\n },\n [setOpenProp, open],\n );\n\n // Helper to toggle the sidebar.\n const toggleSidebar = useCallback(() => {\n if (isMobile) {\n setOpenMobile((currentValue) => !currentValue);\n } else {\n setOpen((currentValue) => !currentValue);\n }\n }, [isMobile, setOpen, setOpenMobile]);\n\n // Adds a keyboard shortcut to toggle the sidebar.\n useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent): void => {\n if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {\n event.preventDefault();\n toggleSidebar();\n }\n };\n\n window.addEventListener('keydown', handleKeyDown);\n\n return () => {\n window.removeEventListener('keydown', handleKeyDown);\n };\n }, [toggleSidebar]);\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? 'expanded' : 'collapsed';\n\n const contextValue = useMemo<SidebarContext>(\n () => ({\n isMobile,\n open,\n openMobile,\n setOpen,\n setOpenMobile,\n state,\n toggleSidebar,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar],\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n className={cn('group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full', className)}\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH,\n '--sidebar-width-icon': SIDEBAR_WIDTH_ICON,\n ...style,\n } as CSSProperties\n }\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: Sidebar\n * -------------------------------------------------------------------------- */\n\ninterface SidebarProps extends ComponentProps<'div'> {\n collapsible?: 'icon' | 'none' | 'offcanvas';\n side?: 'left' | 'right';\n variant?: 'floating' | 'inset' | 'sidebar';\n}\n\nfunction Sidebar({\n children,\n className,\n collapsible = 'offcanvas',\n side = 'left',\n variant = 'sidebar',\n ...props\n}: SidebarProps): JSX.Element {\n const { isMobile, openMobile, setOpenMobile, state } = useSidebar();\n\n if (collapsible === 'none') {\n return (\n <div\n className={cn('bg-sidebar text-sidebar-foreground w-(--sidebar-width) flex h-full flex-col', className)}\n {...props}\n >\n {children}\n </div>\n );\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetContent\n className=\"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden\"\n data-mobile=\"true\"\n data-sidebar=\"sidebar\"\n side={side}\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH_MOBILE,\n } as CSSProperties\n }\n >\n <VisuallyHidden>\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Press escape to close the sidebar</SheetDescription>\n </VisuallyHidden>\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n );\n }\n\n return (\n <div\n className=\"text-sidebar-foreground group peer hidden md:block\"\n data-collapsible={state === 'collapsed' ? collapsible : ''}\n data-side={side}\n data-state={state}\n data-variant={variant}\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n className={cn(\n 'w-(--sidebar-width) relative h-svh bg-transparent transition-[width] duration-200 ease-linear group-data-[collapsible=offcanvas]:w-0 group-data-[side=right]:rotate-180',\n variant === 'floating' || variant === 'inset'\n ? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)',\n )}\n />\n <div\n className={cn(\n 'w-(--sidebar-width) fixed inset-y-0 z-10 hidden h-svh transition-[left,right,width] duration-200 ease-linear md:flex',\n side === 'left'\n ? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'\n : 'right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',\n variant === 'floating' || variant === 'inset'\n ? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l',\n className,\n )}\n {...props}\n >\n <div\n className=\"bg-sidebar group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow-xs flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border\"\n data-sidebar=\"sidebar\"\n >\n {children}\n </div>\n </div>\n </div>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarTrigger\n * -------------------------------------------------------------------------- */\n\ntype SidebarTriggerProps = ComponentProps<typeof Button>;\n\nfunction SidebarTrigger({ className, onClick, ...props }: SidebarTriggerProps): JSX.Element {\n const { toggleSidebar } = useSidebar();\n\n return (\n <Button\n icon\n className={cn('', className)}\n data-sidebar=\"trigger\"\n size=\"2xs\"\n variant=\"ghost\"\n onClick={(event) => {\n onClick?.(event);\n toggleSidebar();\n }}\n {...props}\n >\n <PanelLeftIcon />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarRail\n * -------------------------------------------------------------------------- */\n\ntype SidebarRailProps = ComponentProps<'button'>;\n\nfunction SidebarRail({ className, ...props }: SidebarRailProps): JSX.Element {\n const { toggleSidebar } = useSidebar();\n\n return (\n <button\n aria-label=\"Toggle Sidebar\"\n className={cn(\n 'hover:after:bg-sidebar-border group-data-[collapsible=offcanvas]:hover:bg-sidebar absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-0.5 group-data-[side=left]:-right-4 group-data-[side=right]:left-0 group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full sm:flex [[data-side=left][data-collapsible=offcanvas]_&]:-right-2 [[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=left]_&]:cursor-w-resize [[data-side=right][data-collapsible=offcanvas]_&]:-left-2 [[data-side=right][data-state=collapsed]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize',\n className,\n )}\n data-sidebar=\"rail\"\n tabIndex={-1}\n title=\"Toggle Sidebar\"\n type=\"button\"\n onClick={toggleSidebar}\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarInset\n * -------------------------------------------------------------------------- */\n\ntype SidebarInsetProps = ComponentProps<'main'>;\n\nfunction SidebarInset({ className, ...props }: SidebarInsetProps): JSX.Element {\n return (\n <main\n className={cn(\n 'bg-background md:peer-data-[variant=inset]:shadow-xs relative flex min-h-svh flex-1 flex-col peer-data-[variant=inset]:min-h-[calc(100svh-var(--spacing-4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-lg',\n className,\n )}\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarInput\n * -------------------------------------------------------------------------- */\n\ntype SidebarInputProps = ComponentProps<typeof Input>;\n\nfunction SidebarInput({ className, ...props }: SidebarInputProps): JSX.Element {\n return (\n <Input\n className={cn(\n 'bg-background focus-visible:ring-sidebar-ring focus-visible:ring-3 h-8 w-full shadow-none',\n className,\n )}\n data-sidebar=\"input\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarHeader\n * -------------------------------------------------------------------------- */\n\ntype SidebarHeaderProps = ComponentProps<'div'>;\n\nfunction SidebarHeader({ className, ...props }: SidebarHeaderProps): JSX.Element {\n return <div className={cn('flex flex-col gap-2 p-2', className)} data-sidebar=\"header\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarFooter\n * -------------------------------------------------------------------------- */\n\ntype SidebarFooterProps = ComponentProps<'div'>;\n\nfunction SidebarFooter({ className, ...props }: SidebarFooterProps): JSX.Element {\n return <div className={cn('flex flex-col gap-2 p-2', className)} data-sidebar=\"footer\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarSeparator\n * -------------------------------------------------------------------------- */\n\ntype SidebarSeparatorProps = ComponentProps<typeof Separator>;\n\nfunction SidebarSeparator({ className, ...props }: SidebarSeparatorProps): JSX.Element {\n return <Separator className={cn('bg-sidebar-border mx-2 w-auto', className)} data-sidebar=\"separator\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarContent\n * -------------------------------------------------------------------------- */\n\ntype SidebarContentProps = ComponentProps<'div'>;\n\nfunction SidebarContent({ className, ...props }: SidebarContentProps): JSX.Element {\n return (\n <div\n className={cn(\n 'flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden',\n className,\n )}\n data-sidebar=\"content\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarGroup\n * -------------------------------------------------------------------------- */\n\ntype SidebarGroupProps = ComponentProps<'div'>;\n\nfunction SidebarGroup({ className, ...props }: SidebarGroupProps): JSX.Element {\n return <div className={cn('relative flex w-full min-w-0 flex-col p-2', className)} data-sidebar=\"group\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarGroupLabel\n * -------------------------------------------------------------------------- */\n\ninterface SidebarGroupLabelProps extends ComponentProps<'div'> {\n asChild?: boolean;\n}\n\nfunction SidebarGroupLabel({ asChild = false, className, ...props }: SidebarGroupLabelProps): JSX.Element {\n const Component = asChild ? Slot : 'div';\n\n return (\n <Component\n className={cn(\n 'text-sidebar-foreground/70 ring-sidebar-ring focus-visible:ring-3 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-none transition-[margin,opa] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 [&>svg]:size-4 [&>svg]:shrink-0',\n className,\n )}\n data-sidebar=\"group-label\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarGroupAction\n * -------------------------------------------------------------------------- */\n\ninterface SidebarGroupActionProps extends ComponentProps<'button'> {\n asChild?: boolean;\n}\n\nfunction SidebarGroupAction({ asChild = false, className, ...props }: SidebarGroupActionProps): JSX.Element {\n const Component = asChild ? Slot : 'button';\n\n return (\n <Component\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-3 absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-none transition-transform after:absolute after:-inset-2 group-data-[collapsible=icon]:hidden after:md:hidden [&>svg]:size-4 [&>svg]:shrink-0',\n className,\n )}\n data-sidebar=\"group-action\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarGroupContent\n * -------------------------------------------------------------------------- */\n\ntype SidebarGroupContentProps = ComponentProps<'div'>;\n\nfunction SidebarGroupContent({ className, ...props }: SidebarGroupContentProps): JSX.Element {\n return <div className={cn('w-full text-sm', className)} data-sidebar=\"group-content\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenu\n * -------------------------------------------------------------------------- */\n\ntype SidebarMenuProps = ComponentProps<'ul'>;\n\nfunction SidebarMenu({ className, ...props }: SidebarMenuProps): JSX.Element {\n return <ul className={cn('flex w-full min-w-0 flex-col gap-1', className)} data-sidebar=\"menu\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuItem\n * -------------------------------------------------------------------------- */\n\ntype SidebarMenuItemProps = ComponentProps<'li'>;\n\nfunction SidebarMenuItem({ className, ...props }: SidebarMenuItemProps): JSX.Element {\n return <li className={cn('group/menu-item relative', className)} data-sidebar=\"menu-item\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuButton\n * -------------------------------------------------------------------------- */\n\nconst sidebarMenuButtonVariants = tv({\n base: 'peer/menu-button ring-sidebar-ring data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground focus-visible:ring-3 flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none transition-[width,height,padding] disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0',\n variants: {\n size: {\n default: 'h-8 text-sm',\n sm: 'h-7 text-xs',\n lg: 'h-12 text-sm group-data-[collapsible=icon]:!p-0',\n },\n variant: {\n default: 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\n outline:\n 'bg-background hover:bg-sidebar-accent hover:text-sidebar-accent-foreground shadow-[0_0_0_1px_hsl(var(--color-sidebar-border))] hover:shadow-[0_0_0_1px_hsl(var(--color-sidebar-accent))]',\n },\n },\n defaultVariants: {\n size: 'default',\n variant: 'default',\n },\n});\n\ninterface SidebarMenuButtonProps extends ComponentProps<'button'>, VariantProps<typeof sidebarMenuButtonVariants> {\n asChild?: boolean;\n isActive?: boolean;\n tooltip?: ComponentProps<typeof TooltipContent> | string;\n}\n\nfunction SidebarMenuButton({\n asChild = false,\n className,\n isActive = false,\n size = 'default',\n tooltip,\n variant = 'default',\n ...props\n}: SidebarMenuButtonProps): JSX.Element {\n const Component = asChild ? Slot : 'button';\n const { isMobile, state } = useSidebar();\n\n const button = (\n <Component\n className={cn(sidebarMenuButtonVariants({ size, variant }), className)}\n data-active={isActive}\n data-sidebar=\"menu-button\"\n data-size={size}\n {...props}\n />\n );\n\n if (!tooltip) {\n return button;\n }\n\n const tooltipProps =\n typeof tooltip === 'string'\n ? {\n children: tooltip,\n }\n : tooltip;\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent align=\"center\" hidden={state !== 'collapsed' || isMobile} side=\"right\" {...tooltipProps} />\n </Tooltip>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuAction\n * -------------------------------------------------------------------------- */\n\ninterface SidebarMenuActionProps extends ComponentProps<'button'> {\n asChild?: boolean;\n showOnHover?: boolean;\n}\n\nfunction SidebarMenuAction({\n asChild = false,\n className,\n showOnHover = false,\n ...props\n}: SidebarMenuActionProps): JSX.Element {\n const Component = asChild ? Slot : 'button';\n\n return (\n <Component\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground focus-visible:ring-3 absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-none transition-transform after:absolute after:-inset-2 group-data-[collapsible=icon]:hidden peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 after:md:hidden [&>svg]:size-4 [&>svg]:shrink-0',\n showOnHover &&\n 'peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0',\n className,\n )}\n data-sidebar=\"menu-action\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuBadge\n * -------------------------------------------------------------------------- */\n\ntype SidebarMenuBadgeProps = ComponentProps<'div'>;\n\nfunction SidebarMenuBadge({ className, ...props }: SidebarMenuBadgeProps): JSX.Element {\n return (\n <div\n className={cn(\n 'text-sidebar-foreground peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums group-data-[collapsible=icon]:hidden peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1',\n className,\n )}\n data-sidebar=\"menu-badge\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuSkeleton\n * -------------------------------------------------------------------------- */\n\ninterface SidebarMenuSkeletonProps extends ComponentProps<'div'> {\n showIcon?: boolean;\n}\n\nfunction SidebarMenuSkeleton({ className, showIcon = false, ...props }: SidebarMenuSkeletonProps): JSX.Element {\n // Random width between 50 to 90%.\n const width = useMemo(() => {\n return `${Math.floor(Math.random() * 40) + 50}%`;\n }, []);\n\n return (\n <div\n className={cn('flex h-8 items-center gap-2 rounded-md px-2', className)}\n data-sidebar=\"menu-skeleton\"\n {...props}\n >\n {showIcon ? <Skeleton className=\"size-4 rounded-md\" data-sidebar=\"menu-skeleton-icon\" /> : null}\n <Skeleton\n className=\"max-w-(--skeleton-width) h-4 flex-1\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n '--skeleton-width': width,\n } as CSSProperties\n }\n />\n </div>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuSub\n * -------------------------------------------------------------------------- */\n\ntype SidebarMenuSubProps = ComponentProps<'ul'>;\n\nfunction SidebarMenuSub({ className, ...props }: SidebarMenuSubProps): JSX.Element {\n return (\n <ul\n className={cn(\n 'border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5 group-data-[collapsible=icon]:hidden',\n className,\n )}\n data-sidebar=\"menu-sub\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuSubItem\n * -------------------------------------------------------------------------- */\n\ntype SidebarMenuSubItemProps = ComponentProps<'li'>;\n\nfunction SidebarMenuSubItem({ ...props }: SidebarMenuSubItemProps): JSX.Element {\n return <li {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuSubButton\n * -------------------------------------------------------------------------- */\n\ninterface SidebarMenuSubButtonProps extends ComponentProps<'a'> {\n asChild?: boolean;\n isActive?: boolean;\n size?: 'md' | 'sm';\n}\n\nfunction SidebarMenuSubButton({\n asChild = false,\n className,\n isActive,\n size = 'md',\n ...props\n}: SidebarMenuSubButtonProps): JSX.Element {\n const Component = asChild ? Slot : 'a';\n\n return (\n <Component\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring [&>svg]:text-sidebar-accent-foreground data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground focus-visible:ring-3 flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-none disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0',\n size === 'sm' && 'text-xs',\n size === 'md' && 'text-sm group-data-[collapsible=icon]:hidden',\n className,\n )}\n data-active={isActive}\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n useSidebar,\n};\n"]}
1
+ {"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-NK3R7ZJ7.cjs","../src/components/sidebar.tsx"],"names":["Cookies","SIDEBAR_WIDTH_MOBILE","SIDEBAR_MOBILE_BREAKPOINT","SidebarContext","createContext","useSidebar","SidebarProvider","children","className","defaultOpen","setOpenProp","style","props","isMobile","useMediaQuery","openMobile","useState","isOpen","setIsOpen","open","openProp","setOpen","useCallback","value","openState","SIDEBAR_COOKIE_NAME","SIDEBAR_COOKIE_MAX_AGE","setOpenMobile","currentValue","useEffect","handleKeyDown","event","SIDEBAR_KEYBOARD_SHORTCUT","state","contextValue","toggleSidebar","jsx","TooltipProvider","cn","Sidebar","collapsible","SheetContent","jsxs","VisuallyHidden","SheetTitle","side","variant","SidebarTrigger","Button","onClick","PanelLeftIcon","SidebarRail","SidebarInset","SidebarInput","Input","SidebarHeader","SidebarFooter","SidebarSeparator","Separator","SidebarContent","SidebarGroup","SidebarGroupLabel","asChild","Slot","SidebarGroupAction","SidebarGroupContent","SidebarMenu","SidebarMenuItem","sidebarMenuButtonVariants","SidebarMenuButton","isActive","Component","button","size","Tooltip","TooltipTrigger","tooltip","SidebarMenuAction","showOnHover","SidebarMenuBadge","SidebarMenuSkeleton","showIcon","width","useMemo"],"mappings":"AAAA,6xBAAY,CAAC,wDAA6D,wDAA8D,wDAAyC,wDAAyC,wDAAyC,wDAAyC,wDCKnS,wCACA,iDACA,sEACFA,yFACE,2CACA,8BACA,qDAkID,+CAxHoB,IAAA,CAAA,CAAA,eAEN,CAAA,CAChBC,CAAAA,CAAuB,CAAA,CAAA,CAAA,OACF,CAAA,CAAA,CAAA,OACO,CAAA,CAAA,CAC5BC,MAA4B,CAY5BC,CAAAA,CAAiBC,GAAqC,CAAA,EAAI,CAAA,GAEhE,CAAA,CAAA,CAAA,kCAAA,IAASC,CAA6B,CACpC,SAAyC,CAAA,CAEzC,CAAA,CAAA,IACE,CAAA,CAAA,+BAAA,CAAA,CAAM,CAAA,EAAA,CAAI,CAAA,CAAA,CAAA,MAAM,IAAA,KAAA,CAAA,mDAgBpB,CAAA,CAAA,OAASC,CAAgB,CACvB,SAAAC,EACA,CAAA,CAAA,QAAAC,CAAAA,CACA,CAAA,SAAA,CAAA,CAAAC,CAAAA,WACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAcC,YAEd,CAAA,CAAA,CAAAC,IACA,CAAGC,CACL,CAAA,KACE,CAAMC,CAAAA,CAAWC,GAAc,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,kCAAA,CAAA,YACzB,EAACC,EAAyB,CAAA,CAAIC,CAAAA,GAAc,CAAA,CAI5C,CAACC,CAAAA,CAAQC,CAAS,CAAA,CAAIF,CAAAA,6BAASP,CAAW,CAC1CU,CAAAA,CAAOC,CAAAA,CAAAA,CAAYH,CAAAA,CACnBI,CAAAA,6BAAUC,CACbC,CAAAA,CAAAA,CAAmD,kBAClD,CAAA,SAAA,GAAMC,CAAAA,CAAY,CAAA,gCAAA,CAAA,EAAA,CAAOD,IAAU,CAAA,CAAA,OAAA,CAAaA,EAAMJ,UAG/B,CAAA,CAErBD,CAAAA,CAAUM,CAAS,CAAA,CAIrBxB,CAAAA,CAAQ,CAAA,CAAA,CAAA,CAAIyB,CAAAA,CAAqB,CAAA,CAAA,CAAA,CAAA,CAAA,kBAAA,CAAOD,GAAY,CAClD,CAAA,CAAA,MAASE,CAAAA,CACT,CAAA,CAAA,CAAA,OAEJ,CAAA,CACA,CAAChB,IACH,CAAA,GAGsBY,CAAAA,CAAY,CAAA,CAAA,CAAA,CAAM,CAClCT,CAAAA,CACFc,CAAAA,CAAeC,CAAAA,CAAAA,gCAAiB,CAAa,CAAA,EAE7CP,CAASO,CAAAA,CAAAA,CAAiB,CAACA,CAAY,EAE3C,CAAG,CAACf,CAAAA,CAAUQ,CAAAA,CAASM,CAAa,EAAC,CAGrCE,CAAAA,CAAU,CAAA,CAAA,CAAA,CAAM,CACd,CAAA,CAAA,CAAA,CAAMC,CAAAA,CAAiBC,8BAAAA,CAA+B,CAChDA,EAAM,CAAA,IAAA,CAAQC,CAAAA,CAAAA,EAA8BD,CAAAA,CAAM,CAAA,GAAA,GAAA,CAAA,EAAWA,CAAM,CAAA,CAAA,OAAA,EACrEA,CAAAA,CAAM,OAAA,CAAA,EAAA,CAAA,CAAA,CAAA,cAKV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAO,MAAA,CAAA,gBAAyC,CAEzC,SACL,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,EAAA,CAAA,MAAA,CAAA,mBACT,CACF,SAIA,CAAA,CAAME,CAAAA,CAAQd,CAAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAa,CAAA,CAAA,UAE5Be,CAAAA,WAEF,CAAA,CAAA,CAAA,4BAAA,CAAA,CAAArB,EACA,CAAA,CAAA,QACA,CAAA,CAAA,CAAA,IAAA,CAAAE,CAAAA,CACA,UACA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,aAEA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA,aAEqBF,CAAUE,CAAAA,CAAYY,CAAAA,CAAeQ,CAAa,CAC3E,CAAA,CAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACEC,CAAAA,CAACjC,CAAAA,CAAe,CAAA,CAAA,OAAf,6BAAwB,CAAA,CAAA,QACvB,CAAA,CAAA,KAAAiC,CAACC,CAAAA,CAAA,QAAgB,CAAA,6BAAA,mBAAA,CAAA,CAAA,aACfD,CAAC,CAAA,CAAA,QACC,CAAA,6BAAA,KAAWE,CAAG,CAAA,SAAA,CAAA,iCAAA,iFAGV,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,iBACA,CAAA,CAAA,CAAA,sBAIA1B,CAEH,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,GACH,CAAA,CACF,QAeN,CAAA,CAAA,CAAA,CAAA,CAAS2B,CAAAA,CAAAA,CAAQ,CACf,SAAAhC,EACA,CAAA,CAAA,QAAAC,CAAAA,CACA,CAAA,SAAA,CAAA,CAAAgC,CAAAA,WAAc,CAAA,CACd,CAAA,WAAO,CAAA,IACP,CAAA,CAAA,CAAA,MAAU,CAAA,OACV,CAAA,CAAA,CAAG5B,SAEK,CAAA,GAAA,CAAA,CAAA,CAAA,CAAAC,GAAU,CAAA,QAAA,CAAAE,CAAAA,CAAY,UAAA,CAAA,CAAA,CAAA,aAAyBV,CAAW,CAAA,CAElE,KAAA,CAAA,CAAImC,CAAAA,CAAAA,CAAAA,CAAgB,CAAA,CAAA,OAEf,CAAA,GAAA,MACC,CAAA,6BAAA,KAAWF,CAAG,CAAA,SAAA,CAAA,iCAAA,6EAGb,CAAA,CAAA,CAAA,CAAA,GACH,CAAA,CAIAzB,QAEO,CAAA,CAAA,CAAA,CAAME,CAAAA,CAAY,CAAA,6BAAA,mBAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAcY,YACrC,CAAA,CAAA,CAAA,GAACc,CAAAA,CAAA,QACC,CAAA,8BAAA,mBAAU,CAAA,CAAA,SAAA,CAAA,8EACV,CAAA,aACA,CAAA,MAAA,CAAA,cACA,CAAA,SACA,CACE,IACE,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,iBAIJ,CAAAC,CAAAA,CAACC,CAAAA,QACC,CAAA,CAAA,8BAAA,mCAAAP,CAACQ,CAAAA,QAAW,CAAA,CAAA,6BAAA,mBAAA,CAAA,CAAA,QACZR,CAAAA,SAAkB,CAAA,CAAA,CAAA,6BAAA,mBAAA,CAAA,CAAA,QAAA,CAAA,mCAEnB,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,6BAAA,KAAU,CAAA,CAAA,SAAA,CAAA,6BAAwC,CAAA,QAO5D,CAAA,CAAA,CAAA,CAAA,CAAA,CACC,CAAA,CAAA,CAAA,CAAA,8BAAA,KAAU,CAAA,CAAA,SAAA,CAAA,oDACV,CAAA,kBAA4B,CAAA,CAAA,GAAcI,WAC1C,CAAA,CAAA,CAAA,EAAWK,CAAAA,WACX,CAAA,CAAA,CAAYZ,YACZ,CAAA,CAAA,CAAA,cAGAG,CAAAA,CAAC,CAAA,QACC,CAAA,CAAA,6BAAA,KAAWE,CACT,CAAA,SAAA,CAAA,iCAAA,yKACY,CAAA,CAAA,GAAcQ,UAAY,EAClC,CAAA,GAAA,OAAA,CAAA,sFACA,CAAA,wDAIN,CAAA,CAAA,CAAA,CAAA,6BAAA,KAAWR,CACT,CAAA,SAAA,CAAA,iCAAA,sHAEI,CAAA,CAAA,GAAA,MAAA,CAAA,gFACA,CAAA,kFACQ,CAAA,CAAA,GAAcQ,UAAY,EAClC,CAAA,GAAA,OAAA,CAAA,+FACA,CAAA,yHAKN,CAAA,CAAA,CAAA,CAAA,GAAC,CAAA,CAAA,QACC,CAAA,6BAAA,KAAU,CAAA,CAAA,SAAA,CAAA,kNACV,CAAA,cAEC,CAAA,SACH,CACF,QAWN,CAAA,CAAA,CAAA,CAAA,CAAA,CAASC,CAAAA,CAAAA,CAAe,CAAE,SAAA,EAAAvC,CAAW,CAAA,SAAS,CAAA,CAAA,CAAGI,OACzC,CAAE,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,aAER,CAAA,CACE8B,CAAAA,CAACM,CAAAA,CAAA,CACC,CAAA,OACA,8BAAA,mBAAA,CAAA,CAAA,IAAA,CAAWV,CAAAA,CAAG,CAAA,SACd,CAAA,iCAAA,EAAA,CAAA,CAAA,CAAA,CAAA,cACA,CAAA,SACA,CAAA,IAAA,CAAA,KAAQ,CAAA,OACR,CAAA,OACEW,CAAAA,OACAd,CAAc,CAChB,EACC,iBAAA,CAAA,0BAAGvB,CAEJ,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAAwB,CAACc,CAAAA,QACA,CAAA,CAAA,6BAAA,0BAAA,CAAA,CAAK,CAAA,CAAA,CAAA,6BAAA,MAAU,CAAA,CAAA,SAAU,CAAA,SAAA,CAAA,QAAA,CAAA,gBAWhC,CAAA,CAASC,CAAAA,CAAAA,CAAY,CAAE,SAAA,EAAA3C,CAAW,CAAA,SAC1B,CAAE,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,aAER,CAAA,CACE4B,CAAAA,CAAC,CAAA,CAAA,CAAA,CAAA,OACC,6BAAA,QAAA,CAAA,CAAW,YAAA,CAAA,gBAET,CAAA,SAAA,CAAA,iCAAA,6rBAGF,CAAA,CAAA,CAAA,CAAA,cACA,CAAA,MACA,CAAA,QAAM,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,gBACD,CAAA,IACL,CAAA,QACC,CAAGxB,OAWV,CAAA,CAAA,CAAA,GAASwC,CAAAA,CAAAA,CAAa,CAAE,SAAA,EAAA5C,CAAW,CAAA,SACjC,CAAA,CAAA,CAAA,GACG,CAAA,CAAA,CAAA,CAAA,OACC,6BAAA,MAAW8B,CACT,CAAA,SAAA,CAAA,iCAAA,uUAcR,CAAA,CAAA,CAAA,CAAA,GAASe,CAAAA,CAAAA,CAAa,CAAE,SAAA,EAAA7C,CAAW,CAAA,SACjC,CAAA,CAAA,CAAA,GACG8C,CAAAA,CAAA,CACC,CAAA,OAAA,6BAAA,mBAAWhB,CACT,CAAA,SAAA,CAAA,iCAAA,2FAGF,CAAA,CAAA,CAAA,CAAA,cACI1B,CACN,OAUJ,CAAA,GAAS2C,CAAAA,CAAAA,CAAc,CAAE,SAAA,EAAA/C,CAAW,CAAA,SAClC,CAAA,CAAA,CAAA,GAAQ,CAAA,CAAA,CAAA,CAAA,OAAI,6BAAA,KAAW8B,CAAG,CAAA,SAAA,CAAA,iCAAA,yBAAuC,CAAA,CAAA,CAAA,CAAA,cAA0B1B,CAAAA,QAS7F,CAAA,GAAS4C,CAAAA,CAAAA,CAAc,CAAE,SAAA,EAAAhD,CAAW,CAAA,SAClC,CAAA,CAAA,CAAA,GAAQ,CAAA,CAAA,CAAA,CAAA,OAAI,6BAAA,KAAW8B,CAAG,CAAA,SAAA,CAAA,iCAAA,yBAAuC,CAAA,CAAA,CAAA,CAAA,cAA0B1B,CAAAA,QAS7F,CAAA,GAAS6C,CAAAA,CAAAA,CAAiB,CAAE,SAAA,EAAAjD,CAAW,CAAA,SACrC,CAAA,CAAA,CAAA,GAAQkD,CAAAA,CAAA,CAAU,CAAA,OAAA,6BAAA,mBAAWpB,CAAG,CAAA,SAAA,CAAA,iCAAA,+BAA6C,CAAA,CAAA,CAAA,CAAA,cAA0B,CAAA,WASzG,CAAA,GAASqB,CAAAA,CAAAA,CAAe,CAAE,SAAA,EAAAnD,CAAW,CAAA,SACnC,CAAA,CAAA,CAAA,GACG,CAAA,CAAA,CAAA,CAAA,OACC,6BAAA,KAAW8B,CACT,CAAA,SAAA,CAAA,iCAAA,gGAGF,CAAA,CAAA,CAAA,CAAA,cACC,CAAG1B,SAWV,CAAA,GAASgD,CAAAA,CAAAA,CAAa,CAAE,SAAA,EAAApD,CAAW,CAAA,SACjC,CAAA,CAAA,CAAA,GAAQ,CAAA,CAAA,CAAA,CAAA,OAAI,6BAAA,KAAW8B,CAAG,CAAA,SAAA,CAAA,iCAAA,2CAAyD,CAAA,CAAA,CAAA,CAAA,cAAyB1B,CAAO,OAWrH,CAAA,GAASiD,CAAAA,CAAAA,CAAkB,CAAE,SAAAC,EAAU,CAAA,CAAO,OAAA,CAAA,CAAA,CAAAtD,CAAAA,CAAW,CAAA,SAGvD,CAAA,CAAA,CAAA,GAFkBsD,CAAAA,CAAUC,CAAAA,CAAO,OAI/B,6BAAA,CAAA,CAAA,eAAA,CAAA,KAAWzB,CACT,CAAA,SAAA,CAAA,iCAAA,gTAGF,CAAA,CAAA,CAAA,CAAA,cAAa,CAAA,aAcnB,CAAA,GAAS0B,CAAAA,CAAAA,CAAmB,CAAE,SAAAF,EAAU,CAAA,CAAO,OAAA,CAAA,CAAA,CAAAtD,CAAAA,CAAW,CAAA,SAGxD,CAAA,CAAA,CAAA,GAFkBsD,CAAAA,CAAUC,CAAAA,CAAO,OAAA,6BAAA,CAI/B,CAAA,eAAA,CAAA,QAAWzB,CACT,CAAA,SAAA,CAAA,iCAAA,6WAGF,CAAA,CAAA,CAAA,CAAA,cAAa,CAAA,cAYnB,CAAA,GAAS2B,CAAAA,CAAAA,CAAoB,CAAE,SAAA,EAAAzD,CAAW,CAAA,SACxC,CAAA,CAAA,CAAA,GAAQ,CAAA,CAAA,CAAA,CAAA,OAAI,6BAAA,KAAW8B,CAAG,CAAA,SAAA,CAAA,iCAAA,gBAA8B,CAAA,CAAA,CAAA,CAAA,cAAa,CAAA,eASvE,CAAA,GAAS4B,CAAAA,CAAAA,CAAY,CAAE,SAAA,EAAA1D,CAAW,CAAA,SAChC,CAAA,CAAA,CAAA,GAAQ,CAAA,CAAA,CAAA,CAAA,OAAG,6BAAA,IAAW8B,CAAG,CAAA,SAAA,CAAA,iCAAA,oCAAkD,CAAA,CAAA,CAAA,CAAA,cAA+B,CAC5G,MAQA,CAAA,GAAS6B,CAAAA,CAAAA,CAAgB,CAAE,SAAA,EAAA3D,CAAW,CAAA,SACpC,CAAA,CAAA,CAAA,GAAQ,CAAA,CAAA,CAAA,CAAA,OAAG,6BAAA,IAAW8B,CAAG,CAAA,SAAA,CAAA,iCAAA,0BAAwC,CAAA,CAAA,CAAA,CAAA,cAA0B,CAAA,WAOvF8B,CAAAA,GAA+B,CACnC,CAAA,CAAA,CAAA,IAAM,EAAA,CAAA,kCAAA,CAAA,IAAA,CAAA,svBAEJ,CAAA,QACE,CAAA,CAAA,IAAS,CAAA,CAAA,OAAA,CAAA,aACL,CAAA,EAAA,CAAA,aACA,CAAA,EAAA,CAAA,iDAGJ,CAAA,CAAA,OAAS,CAAA,CAAA,OAAA,CAAA,8DAEP,CAAA,OAAA,CAAA,0LAGN,CAAA,CAAA,CAAA,eACQ,CAAA,CAAA,IACN,CAAA,SAAS,CAAA,OAEZ,CAQD,SAASC,CAAAA,CAAAA,CAAkB,CACzB,SAAAP,EAAU,CAAA,CACV,OAAA,CAAA,CAAA,CAAAtD,CAAAA,CACA,CAAA,SAAA8D,CAAW,CAAA,CAAA,QACJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IACP,CAAA,CAAA,CAAA,SACA,CAAA,OAAU,CAAA,CAAA,CAAA,OACV,CAAA,CAAA,CAAG1D,SAEG2D,CAAYT,GAAUC,CAAO,CAAA,CAAA,CAAA,IAAA,CAAA,CAC7B,CAAE,CAAA,eAAA,CAAA,QAAU,CAAA,CAAA,QAAU1D,CAAW,CAAA,CAEjCmE,KACHD,CAAA,CACC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,6BAAA,CAAWjC,CAAG8B,CAAAA,SAA4BK,CAAM,iCAAA,EAAA,CAAA,CAAA,IAAS,CAAA,CAAGjE,CAAS,OACrE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,aACA,CAAA,CAAA,CAAA,cAAa,CAAA,aACFiE,CAAAA,WAKf,CAAA,CAAA,CAAA,GAYE/B,CAAAA,CAACgC,CAAAA,CAAA,OACC,CAAA,CAAA,8BAAA,mBAAAtC,CAACuC,CAAAA,QAAe,CAAA,CAAO,6BAAA,mBAAE,CAAA,CAAA,OAAAH,CAAAA,CAAO,CAAA,CAChCpC,QAAgB,CAAA,CAAA,CAAM,CAAA,CAAA,6BAAA,mBAAA,CAAA,CAAA,KAAS,CAAA,QAAkB,CAAA,MAAA,CAAA,CAAA,GAAevB,WAAe,EAAA,CAAA,CAAS,IAT1F,CAAA,OAAO+D,CAAY,GAAA,OAEb,CAAA,EAAA,QACF,CACAA,CAAAA,QAmBR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAASC,CAAAA,CAAAA,CAAkB,CACzB,SAAAf,EAAU,CAAA,CACV,OAAA,CAAA,CAAA,CAAAtD,CAAAA,CACA,CAAA,SAAA,CAAA,CAAAsE,CAAAA,WAKA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAFkBhB,CAAAA,CAAUC,CAAAA,CAAO,OAAA,6BAAA,CAI/B,CAAA,eAAA,CAAA,QAAWzB,CACT,CAAA,SAAA,CAAA,iCAAA,8hBAEE,CAAA,CAAA,EAAA,0LAGJ,CAAA,CAAA,CAAA,CAAA,cAAa,CAAA,aAYnB,CAAA,GAASyC,CAAAA,CAAAA,CAAiB,CAAE,SAAA,EAAAvE,CAAW,CAAA,SACrC,CAAA,CAAA,CAAA,GACG,CAAA,CAAA,CAAA,CAAA,OACC,6BAAA,KAAW8B,CACT,CAAA,SAAA,CAAA,iCAAA,icAGF,CAAA,CAAA,CAAA,CAAA,cAAa,CACZ,YAaP,CAAA,GAAS0C,CAAAA,CAAAA,CAAoB,CAAE,SAAA,EAAAxE,CAAW,CAAA,SAAAyE,CAAW,CAAA,CAAA,QAEnD,CAAA,CAAA,CAAA,CAAMC,CAAAA,CAAQC,GAAQ,CAAA,CAAA,CACb,CAAA,IAAG,CAAA,CAAA,4BAAK,CAAA,CAAA,EAAA,CAAM,EAAA","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-NK3R7ZJ7.cjs","sourcesContent":[null,"'use client';\n\nimport type { ComponentProps, CSSProperties, JSX } from 'react';\nimport type { VariantProps } from 'tailwind-variants';\n\nimport { useMediaQuery } from '@codefast/hooks';\nimport { Slot } from '@radix-ui/react-slot';\nimport { VisuallyHidden } from '@radix-ui/react-visually-hidden';\nimport Cookies from 'js-cookie';\nimport { PanelLeftIcon } from 'lucide-react';\nimport { createContext, useCallback, useContext, useEffect, useMemo, useState } from 'react';\nimport { tv } from 'tailwind-variants';\n\nimport { Button } from '@/components/button';\nimport { Input } from '@/components/input';\nimport { Separator } from '@/components/separator';\nimport { Sheet, SheetContent, SheetDescription, SheetTitle } from '@/components/sheet';\nimport { Skeleton } from '@/components/skeleton';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/tooltip';\nimport { cn } from '@/lib/utils';\n\nconst SIDEBAR_COOKIE_NAME = 'sidebar:state';\nconst SIDEBAR_COOKIE_MAX_AGE = 7; // 1 week in days.\nconst SIDEBAR_WIDTH = '16rem';\nconst SIDEBAR_WIDTH_MOBILE = '18rem';\nconst SIDEBAR_WIDTH_ICON = '3rem';\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'b';\nconst SIDEBAR_MOBILE_BREAKPOINT = 768;\n\ninterface SidebarContext {\n isMobile: boolean;\n open: boolean;\n openMobile: boolean;\n setOpen: (open: boolean) => void;\n setOpenMobile: (open: boolean) => void;\n state: 'collapsed' | 'expanded';\n toggleSidebar: () => void;\n}\n\nconst SidebarContext = createContext<null | SidebarContext>(null);\n\nfunction useSidebar(): SidebarContext {\n const context = useContext(SidebarContext);\n\n if (!context) {\n throw new Error('useSidebar must be used within a SidebarProvider.');\n }\n\n return context;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarProvider\n * -------------------------------------------------------------------------- */\n\ninterface SidebarProviderProps extends ComponentProps<'div'> {\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n open?: boolean;\n}\n\nfunction SidebarProvider({\n children,\n className,\n defaultOpen = true,\n onOpenChange: setOpenProp,\n open: openProp,\n style,\n ...props\n}: SidebarProviderProps): JSX.Element {\n const isMobile = useMediaQuery(`(max-width: ${SIDEBAR_MOBILE_BREAKPOINT - 1}px)`);\n const [openMobile, setOpenMobile] = useState(false);\n\n // This is the internal state of the sidebar.\n // We use openProp and setOpenProp for control from outside the component.\n const [isOpen, setIsOpen] = useState(defaultOpen);\n const open = openProp ?? isOpen;\n const setOpen = useCallback(\n (value: ((value: boolean) => boolean) | boolean) => {\n const openState = typeof value === 'function' ? value(open) : value;\n\n if (setOpenProp) {\n setOpenProp(openState);\n } else {\n setIsOpen(openState);\n }\n\n // This sets the cookie to keep the sidebar state.\n Cookies.set(SIDEBAR_COOKIE_NAME, String(openState), {\n expires: SIDEBAR_COOKIE_MAX_AGE,\n path: '/',\n });\n },\n [setOpenProp, open],\n );\n\n // Helper to toggle the sidebar.\n const toggleSidebar = useCallback(() => {\n if (isMobile) {\n setOpenMobile((currentValue) => !currentValue);\n } else {\n setOpen((currentValue) => !currentValue);\n }\n }, [isMobile, setOpen, setOpenMobile]);\n\n // Adds a keyboard shortcut to toggle the sidebar.\n useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent): void => {\n if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {\n event.preventDefault();\n toggleSidebar();\n }\n };\n\n window.addEventListener('keydown', handleKeyDown);\n\n return () => {\n window.removeEventListener('keydown', handleKeyDown);\n };\n }, [toggleSidebar]);\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? 'expanded' : 'collapsed';\n\n const contextValue = useMemo<SidebarContext>(\n () => ({\n isMobile,\n open,\n openMobile,\n setOpen,\n setOpenMobile,\n state,\n toggleSidebar,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar],\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n className={cn('group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full', className)}\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH,\n '--sidebar-width-icon': SIDEBAR_WIDTH_ICON,\n ...style,\n } as CSSProperties\n }\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: Sidebar\n * -------------------------------------------------------------------------- */\n\ninterface SidebarProps extends ComponentProps<'div'> {\n collapsible?: 'icon' | 'none' | 'offcanvas';\n side?: 'left' | 'right';\n variant?: 'floating' | 'inset' | 'sidebar';\n}\n\nfunction Sidebar({\n children,\n className,\n collapsible = 'offcanvas',\n side = 'left',\n variant = 'sidebar',\n ...props\n}: SidebarProps): JSX.Element {\n const { isMobile, openMobile, setOpenMobile, state } = useSidebar();\n\n if (collapsible === 'none') {\n return (\n <div\n className={cn('bg-sidebar text-sidebar-foreground w-(--sidebar-width) flex h-full flex-col', className)}\n {...props}\n >\n {children}\n </div>\n );\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetContent\n className=\"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden\"\n data-mobile=\"true\"\n data-sidebar=\"sidebar\"\n side={side}\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH_MOBILE,\n } as CSSProperties\n }\n >\n <VisuallyHidden>\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Press escape to close the sidebar</SheetDescription>\n </VisuallyHidden>\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n );\n }\n\n return (\n <div\n className=\"text-sidebar-foreground group peer hidden md:block\"\n data-collapsible={state === 'collapsed' ? collapsible : ''}\n data-side={side}\n data-state={state}\n data-variant={variant}\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n className={cn(\n 'w-(--sidebar-width) relative h-svh bg-transparent transition-[width] duration-200 ease-linear group-data-[collapsible=offcanvas]:w-0 group-data-[side=right]:rotate-180',\n variant === 'floating' || variant === 'inset'\n ? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)',\n )}\n />\n <div\n className={cn(\n 'w-(--sidebar-width) fixed inset-y-0 z-10 hidden h-svh transition-[left,right,width] duration-200 ease-linear md:flex',\n side === 'left'\n ? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'\n : 'right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',\n variant === 'floating' || variant === 'inset'\n ? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l',\n className,\n )}\n {...props}\n >\n <div\n className=\"bg-sidebar group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow-xs flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border\"\n data-sidebar=\"sidebar\"\n >\n {children}\n </div>\n </div>\n </div>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarTrigger\n * -------------------------------------------------------------------------- */\n\ntype SidebarTriggerProps = ComponentProps<typeof Button>;\n\nfunction SidebarTrigger({ className, onClick, ...props }: SidebarTriggerProps): JSX.Element {\n const { toggleSidebar } = useSidebar();\n\n return (\n <Button\n icon\n className={cn('', className)}\n data-sidebar=\"trigger\"\n size=\"2xs\"\n variant=\"ghost\"\n onClick={(event) => {\n onClick?.(event);\n toggleSidebar();\n }}\n {...props}\n >\n <PanelLeftIcon />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarRail\n * -------------------------------------------------------------------------- */\n\ntype SidebarRailProps = ComponentProps<'button'>;\n\nfunction SidebarRail({ className, ...props }: SidebarRailProps): JSX.Element {\n const { toggleSidebar } = useSidebar();\n\n return (\n <button\n aria-label=\"Toggle Sidebar\"\n className={cn(\n 'hover:after:bg-sidebar-border group-data-[collapsible=offcanvas]:hover:bg-sidebar absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-0.5 group-data-[side=left]:-right-4 group-data-[side=right]:left-0 group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full sm:flex [[data-side=left][data-collapsible=offcanvas]_&]:-right-2 [[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=left]_&]:cursor-w-resize [[data-side=right][data-collapsible=offcanvas]_&]:-left-2 [[data-side=right][data-state=collapsed]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize',\n className,\n )}\n data-sidebar=\"rail\"\n tabIndex={-1}\n title=\"Toggle Sidebar\"\n type=\"button\"\n onClick={toggleSidebar}\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarInset\n * -------------------------------------------------------------------------- */\n\ntype SidebarInsetProps = ComponentProps<'main'>;\n\nfunction SidebarInset({ className, ...props }: SidebarInsetProps): JSX.Element {\n return (\n <main\n className={cn(\n 'bg-background md:peer-data-[variant=inset]:shadow-xs relative flex min-h-svh flex-1 flex-col peer-data-[variant=inset]:min-h-[calc(100svh-var(--spacing-4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-lg',\n className,\n )}\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarInput\n * -------------------------------------------------------------------------- */\n\ntype SidebarInputProps = ComponentProps<typeof Input>;\n\nfunction SidebarInput({ className, ...props }: SidebarInputProps): JSX.Element {\n return (\n <Input\n className={cn(\n 'bg-background focus-visible:ring-sidebar-ring focus-visible:ring-3 h-8 w-full shadow-none',\n className,\n )}\n data-sidebar=\"input\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarHeader\n * -------------------------------------------------------------------------- */\n\ntype SidebarHeaderProps = ComponentProps<'div'>;\n\nfunction SidebarHeader({ className, ...props }: SidebarHeaderProps): JSX.Element {\n return <div className={cn('flex flex-col gap-2 p-2', className)} data-sidebar=\"header\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarFooter\n * -------------------------------------------------------------------------- */\n\ntype SidebarFooterProps = ComponentProps<'div'>;\n\nfunction SidebarFooter({ className, ...props }: SidebarFooterProps): JSX.Element {\n return <div className={cn('flex flex-col gap-2 p-2', className)} data-sidebar=\"footer\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarSeparator\n * -------------------------------------------------------------------------- */\n\ntype SidebarSeparatorProps = ComponentProps<typeof Separator>;\n\nfunction SidebarSeparator({ className, ...props }: SidebarSeparatorProps): JSX.Element {\n return <Separator className={cn('bg-sidebar-border mx-2 w-auto', className)} data-sidebar=\"separator\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarContent\n * -------------------------------------------------------------------------- */\n\ntype SidebarContentProps = ComponentProps<'div'>;\n\nfunction SidebarContent({ className, ...props }: SidebarContentProps): JSX.Element {\n return (\n <div\n className={cn(\n 'flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden',\n className,\n )}\n data-sidebar=\"content\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarGroup\n * -------------------------------------------------------------------------- */\n\ntype SidebarGroupProps = ComponentProps<'div'>;\n\nfunction SidebarGroup({ className, ...props }: SidebarGroupProps): JSX.Element {\n return <div className={cn('relative flex w-full min-w-0 flex-col p-2', className)} data-sidebar=\"group\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarGroupLabel\n * -------------------------------------------------------------------------- */\n\ninterface SidebarGroupLabelProps extends ComponentProps<'div'> {\n asChild?: boolean;\n}\n\nfunction SidebarGroupLabel({ asChild = false, className, ...props }: SidebarGroupLabelProps): JSX.Element {\n const Component = asChild ? Slot : 'div';\n\n return (\n <Component\n className={cn(\n 'text-sidebar-foreground/70 ring-sidebar-ring focus-visible:ring-3 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-none transition-[margin,opa] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 [&>svg]:size-4 [&>svg]:shrink-0',\n className,\n )}\n data-sidebar=\"group-label\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarGroupAction\n * -------------------------------------------------------------------------- */\n\ninterface SidebarGroupActionProps extends ComponentProps<'button'> {\n asChild?: boolean;\n}\n\nfunction SidebarGroupAction({ asChild = false, className, ...props }: SidebarGroupActionProps): JSX.Element {\n const Component = asChild ? Slot : 'button';\n\n return (\n <Component\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-3 absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-none transition-transform after:absolute after:-inset-2 group-data-[collapsible=icon]:hidden after:md:hidden [&>svg]:size-4 [&>svg]:shrink-0',\n className,\n )}\n data-sidebar=\"group-action\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarGroupContent\n * -------------------------------------------------------------------------- */\n\ntype SidebarGroupContentProps = ComponentProps<'div'>;\n\nfunction SidebarGroupContent({ className, ...props }: SidebarGroupContentProps): JSX.Element {\n return <div className={cn('w-full text-sm', className)} data-sidebar=\"group-content\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenu\n * -------------------------------------------------------------------------- */\n\ntype SidebarMenuProps = ComponentProps<'ul'>;\n\nfunction SidebarMenu({ className, ...props }: SidebarMenuProps): JSX.Element {\n return <ul className={cn('flex w-full min-w-0 flex-col gap-1', className)} data-sidebar=\"menu\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuItem\n * -------------------------------------------------------------------------- */\n\ntype SidebarMenuItemProps = ComponentProps<'li'>;\n\nfunction SidebarMenuItem({ className, ...props }: SidebarMenuItemProps): JSX.Element {\n return <li className={cn('group/menu-item relative', className)} data-sidebar=\"menu-item\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuButton\n * -------------------------------------------------------------------------- */\n\nconst sidebarMenuButtonVariants = tv({\n base: 'peer/menu-button ring-sidebar-ring data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground focus-visible:ring-3 flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none transition-[width,height,padding] disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0',\n variants: {\n size: {\n default: 'h-8 text-sm',\n sm: 'h-7 text-xs',\n lg: 'h-12 text-sm group-data-[collapsible=icon]:!p-0',\n },\n variant: {\n default: 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\n outline:\n 'bg-background hover:bg-sidebar-accent hover:text-sidebar-accent-foreground shadow-[0_0_0_1px_hsl(var(--color-sidebar-border))] hover:shadow-[0_0_0_1px_hsl(var(--color-sidebar-accent))]',\n },\n },\n defaultVariants: {\n size: 'default',\n variant: 'default',\n },\n});\n\ninterface SidebarMenuButtonProps extends ComponentProps<'button'>, VariantProps<typeof sidebarMenuButtonVariants> {\n asChild?: boolean;\n isActive?: boolean;\n tooltip?: ComponentProps<typeof TooltipContent> | string;\n}\n\nfunction SidebarMenuButton({\n asChild = false,\n className,\n isActive = false,\n size = 'default',\n tooltip,\n variant = 'default',\n ...props\n}: SidebarMenuButtonProps): JSX.Element {\n const Component = asChild ? Slot : 'button';\n const { isMobile, state } = useSidebar();\n\n const button = (\n <Component\n className={cn(sidebarMenuButtonVariants({ size, variant }), className)}\n data-active={isActive}\n data-sidebar=\"menu-button\"\n data-size={size}\n {...props}\n />\n );\n\n if (!tooltip) {\n return button;\n }\n\n const tooltipProps =\n typeof tooltip === 'string'\n ? {\n children: tooltip,\n }\n : tooltip;\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent align=\"center\" hidden={state !== 'collapsed' || isMobile} side=\"right\" {...tooltipProps} />\n </Tooltip>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuAction\n * -------------------------------------------------------------------------- */\n\ninterface SidebarMenuActionProps extends ComponentProps<'button'> {\n asChild?: boolean;\n showOnHover?: boolean;\n}\n\nfunction SidebarMenuAction({\n asChild = false,\n className,\n showOnHover = false,\n ...props\n}: SidebarMenuActionProps): JSX.Element {\n const Component = asChild ? Slot : 'button';\n\n return (\n <Component\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground focus-visible:ring-3 absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-none transition-transform after:absolute after:-inset-2 group-data-[collapsible=icon]:hidden peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 after:md:hidden [&>svg]:size-4 [&>svg]:shrink-0',\n showOnHover &&\n 'peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0',\n className,\n )}\n data-sidebar=\"menu-action\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuBadge\n * -------------------------------------------------------------------------- */\n\ntype SidebarMenuBadgeProps = ComponentProps<'div'>;\n\nfunction SidebarMenuBadge({ className, ...props }: SidebarMenuBadgeProps): JSX.Element {\n return (\n <div\n className={cn(\n 'text-sidebar-foreground peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums group-data-[collapsible=icon]:hidden peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1',\n className,\n )}\n data-sidebar=\"menu-badge\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuSkeleton\n * -------------------------------------------------------------------------- */\n\ninterface SidebarMenuSkeletonProps extends ComponentProps<'div'> {\n showIcon?: boolean;\n}\n\nfunction SidebarMenuSkeleton({ className, showIcon = false, ...props }: SidebarMenuSkeletonProps): JSX.Element {\n // Random width between 50 to 90%.\n const width = useMemo(() => {\n return `${Math.floor(Math.random() * 40) + 50}%`;\n }, []);\n\n return (\n <div\n className={cn('flex h-8 items-center gap-2 rounded-md px-2', className)}\n data-sidebar=\"menu-skeleton\"\n {...props}\n >\n {showIcon ? <Skeleton className=\"size-4 rounded-md\" data-sidebar=\"menu-skeleton-icon\" /> : null}\n <Skeleton\n className=\"max-w-(--skeleton-width) h-4 flex-1\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n '--skeleton-width': width,\n } as CSSProperties\n }\n />\n </div>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuSub\n * -------------------------------------------------------------------------- */\n\ntype SidebarMenuSubProps = ComponentProps<'ul'>;\n\nfunction SidebarMenuSub({ className, ...props }: SidebarMenuSubProps): JSX.Element {\n return (\n <ul\n className={cn(\n 'border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5 group-data-[collapsible=icon]:hidden',\n className,\n )}\n data-sidebar=\"menu-sub\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuSubItem\n * -------------------------------------------------------------------------- */\n\ntype SidebarMenuSubItemProps = ComponentProps<'li'>;\n\nfunction SidebarMenuSubItem({ ...props }: SidebarMenuSubItemProps): JSX.Element {\n return <li {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuSubButton\n * -------------------------------------------------------------------------- */\n\ninterface SidebarMenuSubButtonProps extends ComponentProps<'a'> {\n asChild?: boolean;\n isActive?: boolean;\n size?: 'md' | 'sm';\n}\n\nfunction SidebarMenuSubButton({\n asChild = false,\n className,\n isActive,\n size = 'md',\n ...props\n}: SidebarMenuSubButtonProps): JSX.Element {\n const Component = asChild ? Slot : 'a';\n\n return (\n <Component\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring [&>svg]:text-sidebar-accent-foreground data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground focus-visible:ring-3 flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-none disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0',\n size === 'sm' && 'text-xs',\n size === 'md' && 'text-sm group-data-[collapsible=icon]:hidden',\n className,\n )}\n data-active={isActive}\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n useSidebar,\n};\n"]}
@@ -1,2 +1,2 @@
1
1
  "use client";import{a as n}from"./chunk-OKUFCFYT.js";import{createContextScope as p}from"@radix-ui/react-context";import*as r from"@radix-ui/react-scroll-area";import{tv as m}from"tailwind-variants";import{jsx as o,jsxs as d}from"react/jsx-runtime";var S=m({base:"flex touch-none select-none p-px transition",compoundVariants:[{className:"w-1.5",orientation:"vertical",size:"sm"},{className:"w-2",orientation:"vertical",size:"md"},{className:"w-2.5",orientation:"vertical",size:"lg"},{className:"h-1.5",orientation:"horizontal",size:"sm"},{className:"h-2",orientation:"horizontal",size:"md"},{className:"h-2.5",orientation:"horizontal",size:"lg"}],variants:{orientation:{horizontal:"w-full flex-col border-t border-t-transparent",vertical:"h-full flex-row border-l border-l-transparent"},size:{none:"",sm:"",md:"",lg:""}},defaultVariants:{size:"md",vertical:"vertical"}}),c="ScrollArea",[A]=p(c),[P,v]=A(c);function z({__scopeScrollArea:l,children:t,className:e,size:a,...i}){return o(P,{scope:l,size:a,children:d(r.Root,{className:n("relative overflow-hidden",e),...i,children:[o(r.Viewport,{className:"size-full rounded-[inherit] [&>*]:h-full",children:t}),o(s,{orientation:"vertical"}),o(s,{orientation:"horizontal"}),o(r.Corner,{})]})})}function s({__scopeScrollArea:l,className:t,orientation:e,...a}){let{size:i}=v(c,l);return o(r.Scrollbar,{className:S({className:t,orientation:e,size:i}),orientation:e,...a,children:o(r.ScrollAreaThumb,{className:"bg-border relative flex-1 rounded-full"})})}export{z as a,s as b};
2
- //# sourceMappingURL=chunk-AXOKJEVY.js.map
2
+ //# sourceMappingURL=chunk-NXNT364Q.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/scroll-area.tsx"],"names":["createContextScope","ScrollAreaPrimitive","tv","jsx","jsxs","scrollAreaScrollbarVariants","SCROLL_AREA_NAME","createCarouselContext","CarouselProvider","useCarouselContext","ScrollArea","__scopeScrollArea","children","className","size","props","cn","ScrollAreaScrollbar","orientation"],"mappings":"wCAMA,OAAS,sBAAAA,MAA0B,0BACnC,UAAYC,MAAyB,8BACrC,OAAS,MAAAC,MAAU,oBAuFb,OACE,OAAAC,EADF,QAAAC,MAAA,oBA/EN,IAAMC,EAA8BH,EAAG,CACrC,KAAM,8CACN,iBAAkB,CAChB,CACE,UAAW,QACX,YAAa,WACb,KAAM,IACR,EACA,CACE,UAAW,MACX,YAAa,WACb,KAAM,IACR,EACA,CACE,UAAW,QACX,YAAa,WACb,KAAM,IACR,EACA,CACE,UAAW,QACX,YAAa,aACb,KAAM,IACR,EACA,CACE,UAAW,MACX,YAAa,aACb,KAAM,IACR,EACA,CACE,UAAW,QACX,YAAa,aACb,KAAM,IACR,CACF,EACA,SAAU,CACR,YAAa,CACX,WAAY,gDACZ,SAAU,+CACZ,EACA,KAAM,CACJ,KAAM,GACN,GAAI,GACJ,GAAI,GACJ,GAAI,EACN,CACF,EACA,gBAAiB,CACf,KAAM,KACN,SAAU,UACZ,CACF,CAAC,EAQKI,EAAmB,aAInB,CAACC,CAAqB,EAAIP,EAAmBM,CAAgB,EAI7D,CAACE,EAAkBC,CAAkB,EAAIF,EAA8CD,CAAgB,EAI7G,SAASI,EAAW,CAClB,kBAAAC,EACA,SAAAC,EACA,UAAAC,EACA,KAAAC,EACA,GAAGC,CACL,EAA8C,CAC5C,OACEZ,EAACK,EAAA,CAAiB,MAAOG,EAAmB,KAAMG,EAChD,SAAAV,EAAqB,OAApB,CAAyB,UAAWY,EAAG,2BAA4BH,CAAS,EAAI,GAAGE,EAClF,UAAAZ,EAAqB,WAApB,CAA6B,UAAU,2CACrC,SAAAS,EACH,EACAT,EAACc,EAAA,CAAoB,YAAY,WAAW,EAC5Cd,EAACc,EAAA,CAAoB,YAAY,aAAa,EAC9Cd,EAAqB,SAApB,EAA2B,GAC9B,EACF,CAEJ,CAQA,SAASc,EAAoB,CAC3B,kBAAAN,EACA,UAAAE,EACA,YAAAK,EACA,GAAGH,CACL,EAAuD,CACrD,GAAM,CAAE,KAAAD,CAAK,EAAIL,EAAmBH,EAAkBK,CAAiB,EAEvE,OACER,EAAqB,YAApB,CACC,UAAWE,EAA4B,CACrC,UAAAQ,EACA,YAAAK,EACA,KAAAJ,CACF,CAAC,EACD,YAAaI,EACZ,GAAGH,EAEJ,SAAAZ,EAAqB,kBAApB,CAAoC,UAAU,yCAAyC,EAC1F,CAEJ","sourcesContent":["'use client';\n\nimport type { Scope } from '@radix-ui/react-context';\nimport type { ComponentProps, JSX } from 'react';\nimport type { VariantProps } from 'tailwind-variants';\n\nimport { createContextScope } from '@radix-ui/react-context';\nimport * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';\nimport { tv } from 'tailwind-variants';\n\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Variant: ScrollAreaScrollbar\n * -------------------------------------------------------------------------- */\n\nconst scrollAreaScrollbarVariants = tv({\n base: 'flex touch-none select-none p-px transition',\n compoundVariants: [\n {\n className: 'w-1.5',\n orientation: 'vertical',\n size: 'sm',\n },\n {\n className: 'w-2',\n orientation: 'vertical',\n size: 'md',\n },\n {\n className: 'w-2.5',\n orientation: 'vertical',\n size: 'lg',\n },\n {\n className: 'h-1.5',\n orientation: 'horizontal',\n size: 'sm',\n },\n {\n className: 'h-2',\n orientation: 'horizontal',\n size: 'md',\n },\n {\n className: 'h-2.5',\n orientation: 'horizontal',\n size: 'lg',\n },\n ],\n variants: {\n orientation: {\n horizontal: 'w-full flex-col border-t border-t-transparent',\n vertical: 'h-full flex-row border-l border-l-transparent',\n },\n size: {\n none: '',\n sm: '',\n md: '',\n lg: '',\n },\n },\n defaultVariants: {\n size: 'md',\n vertical: 'vertical',\n },\n});\n\ntype ScrollAreaScrollbarVariantsProps = VariantProps<typeof scrollAreaScrollbarVariants>;\n\n/* -----------------------------------------------------------------------------\n * Component: ScrollArea\n * -------------------------------------------------------------------------- */\n\nconst SCROLL_AREA_NAME = 'ScrollArea';\n\ntype ScopedProps<P> = P & { __scopeScrollArea?: Scope };\n\nconst [createCarouselContext] = createContextScope(SCROLL_AREA_NAME);\n\ntype ScrollAreaContextValue = Pick<ScrollAreaScrollbarVariantsProps, 'size'>;\n\nconst [CarouselProvider, useCarouselContext] = createCarouselContext<ScrollAreaContextValue>(SCROLL_AREA_NAME);\n\ntype ScrollAreaProps = ComponentProps<typeof ScrollAreaPrimitive.Root> & ScrollAreaContextValue;\n\nfunction ScrollArea({\n __scopeScrollArea,\n children,\n className,\n size,\n ...props\n}: ScopedProps<ScrollAreaProps>): JSX.Element {\n return (\n <CarouselProvider scope={__scopeScrollArea} size={size}>\n <ScrollAreaPrimitive.Root className={cn('relative overflow-hidden', className)} {...props}>\n <ScrollAreaPrimitive.Viewport className=\"size-full rounded-[inherit] [&>*]:h-full\">\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollAreaScrollbar orientation=\"vertical\" />\n <ScrollAreaScrollbar orientation=\"horizontal\" />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n </CarouselProvider>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ScrollAreaScrollbar\n * -------------------------------------------------------------------------- */\n\ntype ScrollAreaScrollbarProps = ComponentProps<typeof ScrollAreaPrimitive.Scrollbar>;\n\nfunction ScrollAreaScrollbar({\n __scopeScrollArea,\n className,\n orientation,\n ...props\n}: ScopedProps<ScrollAreaScrollbarProps>): JSX.Element {\n const { size } = useCarouselContext(SCROLL_AREA_NAME, __scopeScrollArea);\n\n return (\n <ScrollAreaPrimitive.Scrollbar\n className={scrollAreaScrollbarVariants({\n className,\n orientation,\n size,\n })}\n orientation={orientation}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className=\"bg-border relative flex-1 rounded-full\" />\n </ScrollAreaPrimitive.Scrollbar>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport type { ScrollAreaProps, ScrollAreaScrollbarProps };\nexport { ScrollArea, ScrollAreaScrollbar };\n"]}
1
+ {"version":3,"sources":["../src/components/scroll-area.tsx"],"names":["createContextScope","ScrollAreaPrimitive","tv","jsx","jsxs","scrollAreaScrollbarVariants","SCROLL_AREA_NAME","createCarouselContext","CarouselProvider","useCarouselContext","ScrollArea","__scopeScrollArea","children","className","size","props","cn","ScrollAreaScrollbar","orientation"],"mappings":"wCAMA,OAAS,sBAAAA,MAA0B,0BACnC,UAAYC,MAAyB,8BACrC,OAAS,MAAAC,MAAU,oBAuFb,OACE,OAAAC,EADF,QAAAC,MAAA,oBA/EN,IAAMC,EAA8BH,EAAG,CACrC,KAAM,8CACN,iBAAkB,CAChB,CACE,UAAW,QACX,YAAa,WACb,KAAM,IACR,EACA,CACE,UAAW,MACX,YAAa,WACb,KAAM,IACR,EACA,CACE,UAAW,QACX,YAAa,WACb,KAAM,IACR,EACA,CACE,UAAW,QACX,YAAa,aACb,KAAM,IACR,EACA,CACE,UAAW,MACX,YAAa,aACb,KAAM,IACR,EACA,CACE,UAAW,QACX,YAAa,aACb,KAAM,IACR,CACF,EACA,SAAU,CACR,YAAa,CACX,WAAY,gDACZ,SAAU,+CACZ,EACA,KAAM,CACJ,KAAM,GACN,GAAI,GACJ,GAAI,GACJ,GAAI,EACN,CACF,EACA,gBAAiB,CACf,KAAM,KACN,SAAU,UACZ,CACF,CAAC,EAQKI,EAAmB,aAInB,CAACC,CAAqB,EAAIP,EAAmBM,CAAgB,EAI7D,CAACE,EAAkBC,CAAkB,EAAIF,EAA8CD,CAAgB,EAI7G,SAASI,EAAW,CAClB,kBAAAC,EACA,SAAAC,EACA,UAAAC,EACA,KAAAC,EACA,GAAGC,CACL,EAA8C,CAC5C,OACEZ,EAACK,EAAA,CAAiB,MAAOG,EAAmB,KAAMG,EAChD,SAAAV,EAAqB,OAApB,CAAyB,UAAWY,EAAG,2BAA4BH,CAAS,EAAI,GAAGE,EAClF,UAAAZ,EAAqB,WAApB,CAA6B,UAAU,2CACrC,SAAAS,EACH,EACAT,EAACc,EAAA,CAAoB,YAAY,WAAW,EAC5Cd,EAACc,EAAA,CAAoB,YAAY,aAAa,EAC9Cd,EAAqB,SAApB,EAA2B,GAC9B,EACF,CAEJ,CAQA,SAASc,EAAoB,CAC3B,kBAAAN,EACA,UAAAE,EACA,YAAAK,EACA,GAAGH,CACL,EAAuD,CACrD,GAAM,CAAE,KAAAD,CAAK,EAAIL,EAAmBH,EAAkBK,CAAiB,EAEvE,OACER,EAAqB,YAApB,CACC,UAAWE,EAA4B,CAAE,UAAAQ,EAAW,YAAAK,EAAa,KAAAJ,CAAK,CAAC,EACvE,YAAaI,EACZ,GAAGH,EAEJ,SAAAZ,EAAqB,kBAApB,CAAoC,UAAU,yCAAyC,EAC1F,CAEJ","sourcesContent":["'use client';\n\nimport type { Scope } from '@radix-ui/react-context';\nimport type { ComponentProps, JSX } from 'react';\nimport type { VariantProps } from 'tailwind-variants';\n\nimport { createContextScope } from '@radix-ui/react-context';\nimport * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';\nimport { tv } from 'tailwind-variants';\n\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Variant: ScrollAreaScrollbar\n * -------------------------------------------------------------------------- */\n\nconst scrollAreaScrollbarVariants = tv({\n base: 'flex touch-none select-none p-px transition',\n compoundVariants: [\n {\n className: 'w-1.5',\n orientation: 'vertical',\n size: 'sm',\n },\n {\n className: 'w-2',\n orientation: 'vertical',\n size: 'md',\n },\n {\n className: 'w-2.5',\n orientation: 'vertical',\n size: 'lg',\n },\n {\n className: 'h-1.5',\n orientation: 'horizontal',\n size: 'sm',\n },\n {\n className: 'h-2',\n orientation: 'horizontal',\n size: 'md',\n },\n {\n className: 'h-2.5',\n orientation: 'horizontal',\n size: 'lg',\n },\n ],\n variants: {\n orientation: {\n horizontal: 'w-full flex-col border-t border-t-transparent',\n vertical: 'h-full flex-row border-l border-l-transparent',\n },\n size: {\n none: '',\n sm: '',\n md: '',\n lg: '',\n },\n },\n defaultVariants: {\n size: 'md',\n vertical: 'vertical',\n },\n});\n\ntype ScrollAreaScrollbarVariantsProps = VariantProps<typeof scrollAreaScrollbarVariants>;\n\n/* -----------------------------------------------------------------------------\n * Component: ScrollArea\n * -------------------------------------------------------------------------- */\n\nconst SCROLL_AREA_NAME = 'ScrollArea';\n\ntype ScopedProps<P> = P & { __scopeScrollArea?: Scope };\n\nconst [createCarouselContext] = createContextScope(SCROLL_AREA_NAME);\n\ntype ScrollAreaContextValue = Pick<ScrollAreaScrollbarVariantsProps, 'size'>;\n\nconst [CarouselProvider, useCarouselContext] = createCarouselContext<ScrollAreaContextValue>(SCROLL_AREA_NAME);\n\ntype ScrollAreaProps = ComponentProps<typeof ScrollAreaPrimitive.Root> & ScrollAreaContextValue;\n\nfunction ScrollArea({\n __scopeScrollArea,\n children,\n className,\n size,\n ...props\n}: ScopedProps<ScrollAreaProps>): JSX.Element {\n return (\n <CarouselProvider scope={__scopeScrollArea} size={size}>\n <ScrollAreaPrimitive.Root className={cn('relative overflow-hidden', className)} {...props}>\n <ScrollAreaPrimitive.Viewport className=\"size-full rounded-[inherit] [&>*]:h-full\">\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollAreaScrollbar orientation=\"vertical\" />\n <ScrollAreaScrollbar orientation=\"horizontal\" />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n </CarouselProvider>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ScrollAreaScrollbar\n * -------------------------------------------------------------------------- */\n\ntype ScrollAreaScrollbarProps = ComponentProps<typeof ScrollAreaPrimitive.Scrollbar>;\n\nfunction ScrollAreaScrollbar({\n __scopeScrollArea,\n className,\n orientation,\n ...props\n}: ScopedProps<ScrollAreaScrollbarProps>): JSX.Element {\n const { size } = useCarouselContext(SCROLL_AREA_NAME, __scopeScrollArea);\n\n return (\n <ScrollAreaPrimitive.Scrollbar\n className={scrollAreaScrollbarVariants({ className, orientation, size })}\n orientation={orientation}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className=\"bg-border relative flex-1 rounded-full\" />\n </ScrollAreaPrimitive.Scrollbar>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport type { ScrollAreaProps, ScrollAreaScrollbarProps };\nexport { ScrollArea, ScrollAreaScrollbar };\n"]}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";var _chunk3EIIPNVCcjs = require('./chunk-3EIIPNVC.cjs');var _chunkSMJEDCFPcjs = require('./chunk-SMJEDCFP.cjs');var _datefns = require('date-fns');var _lucidereact = require('lucide-react');var _reactdaypicker = require('react-day-picker');var _jsxruntime = require('react/jsx-runtime');function C({orientation:n,className:t,...r}){switch(n){case"up":return _jsxruntime.jsx.call(void 0, _lucidereact.ChevronUpIcon,{className:_chunkSMJEDCFPcjs.a.call(void 0, "size-4",t),...r});case"down":return _jsxruntime.jsx.call(void 0, _lucidereact.ChevronDownIcon,{className:_chunkSMJEDCFPcjs.a.call(void 0, "size-4",t),...r});case"left":return _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeftIcon,{className:_chunkSMJEDCFPcjs.a.call(void 0, "size-4",t),...r});case"right":return _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRightIcon,{className:_chunkSMJEDCFPcjs.a.call(void 0, "size-4",t),...r});default:return _jsxruntime.jsx.call(void 0, _lucidereact.DotIcon,{className:_chunkSMJEDCFPcjs.a.call(void 0, "size-4",t),...r})}}function k({showOutsideDays:n=!0,classNames:t,...r}){let u=r.mode!==void 0||r.onDayClick!==void 0;return _jsxruntime.jsx.call(void 0, _reactdaypicker.DayPicker,{classNames:{[_reactdaypicker.UI.Root]:_chunkSMJEDCFPcjs.a.call(void 0, _optionalChain([t, 'optionalAccess', _ => _[_reactdaypicker.UI.Root]])),[_reactdaypicker.UI.Chevron]:_chunkSMJEDCFPcjs.a.call(void 0, _optionalChain([t, 'optionalAccess', _2 => _2[_reactdaypicker.UI.Chevron]])),[_reactdaypicker.UI.Day]:_chunkSMJEDCFPcjs.a.call(void 0, "grid place-items-center text-center text-sm",u?"min-w-8.5 group":"min-w-8.5 h-8",_optionalChain([t, 'optionalAccess', _3 => _3[_reactdaypicker.UI.Day]])),[_reactdaypicker.UI.DayButton]:_chunkSMJEDCFPcjs.a.call(void 0, "group-[.is-outside]:text-muted-foreground hover:not-disabled:not-group-aria-selected:bg-secondary hover:not-disabled:not-group-aria-selected:text-secondary-foreground group-data-today:not-group-aria-selected:bg-secondary group-data-today:not-group-aria-selected:text-secondary-foreground group-aria-selected:not-group-[.is-range-middle]:bg-primary group-aria-selected:not-group-[.is-range-middle]:text-primary-foreground size-8 rounded-lg transition disabled:opacity-50",_optionalChain([t, 'optionalAccess', _4 => _4[_reactdaypicker.UI.DayButton]])),[_reactdaypicker.UI.CaptionLabel]:_chunkSMJEDCFPcjs.a.call(void 0, "flex items-center gap-2 [&>svg]:opacity-50",_optionalChain([t, 'optionalAccess', _5 => _5[_reactdaypicker.UI.CaptionLabel]])),[_reactdaypicker.UI.Dropdowns]:_chunkSMJEDCFPcjs.a.call(void 0, "flex gap-4",_optionalChain([t, 'optionalAccess', _6 => _6[_reactdaypicker.UI.Dropdowns]])),[_reactdaypicker.UI.Dropdown]:_chunkSMJEDCFPcjs.a.call(void 0, "absolute opacity-0",_optionalChain([t, 'optionalAccess', _7 => _7[_reactdaypicker.UI.Dropdown]])),[_reactdaypicker.UI.DropdownRoot]:_chunkSMJEDCFPcjs.a.call(void 0, "relative",_optionalChain([t, 'optionalAccess', _8 => _8[_reactdaypicker.UI.DropdownRoot]])),[_reactdaypicker.UI.Footer]:_chunkSMJEDCFPcjs.a.call(void 0, _optionalChain([t, 'optionalAccess', _9 => _9[_reactdaypicker.UI.Footer]])),[_reactdaypicker.UI.MonthGrid]:_chunkSMJEDCFPcjs.a.call(void 0, _optionalChain([t, 'optionalAccess', _10 => _10[_reactdaypicker.UI.MonthGrid]])),[_reactdaypicker.UI.MonthCaption]:_chunkSMJEDCFPcjs.a.call(void 0, "py-1 text-sm font-medium",_optionalChain([t, 'optionalAccess', _11 => _11[_reactdaypicker.UI.MonthCaption]])),[_reactdaypicker.UI.MonthsDropdown]:_chunkSMJEDCFPcjs.a.call(void 0, _optionalChain([t, 'optionalAccess', _12 => _12[_reactdaypicker.UI.MonthsDropdown]])),[_reactdaypicker.UI.Month]:_chunkSMJEDCFPcjs.a.call(void 0, "flex flex-col gap-4",_optionalChain([t, 'optionalAccess', _13 => _13[_reactdaypicker.UI.Month]])),[_reactdaypicker.UI.Months]:_chunkSMJEDCFPcjs.a.call(void 0, "relative inline-flex flex-wrap gap-4",_optionalChain([t, 'optionalAccess', _14 => _14[_reactdaypicker.UI.Months]])),[_reactdaypicker.UI.Nav]:_chunkSMJEDCFPcjs.a.call(void 0, "absolute end-0 flex gap-2",_optionalChain([t, 'optionalAccess', _15 => _15[_reactdaypicker.UI.Nav]])),[_reactdaypicker.UI.NextMonthButton]:_chunkSMJEDCFPcjs.a.call(void 0, _chunk3EIIPNVCcjs.a.call(void 0, {variant:"ghost",size:"2xs",icon:!0}),_optionalChain([t, 'optionalAccess', _16 => _16[_reactdaypicker.UI.NextMonthButton]])),[_reactdaypicker.UI.PreviousMonthButton]:_chunkSMJEDCFPcjs.a.call(void 0, _chunk3EIIPNVCcjs.a.call(void 0, {variant:"ghost",size:"2xs",icon:!0}),_optionalChain([t, 'optionalAccess', _17 => _17[_reactdaypicker.UI.PreviousMonthButton]])),[_reactdaypicker.UI.Week]:_chunkSMJEDCFPcjs.a.call(void 0, "mt-2 flex justify-between",_optionalChain([t, 'optionalAccess', _18 => _18[_reactdaypicker.UI.Week]])),[_reactdaypicker.UI.Weeks]:_chunkSMJEDCFPcjs.a.call(void 0, _optionalChain([t, 'optionalAccess', _19 => _19[_reactdaypicker.UI.Weeks]])),[_reactdaypicker.UI.Weekday]:_chunkSMJEDCFPcjs.a.call(void 0, "text-muted-foreground min-w-8.5 text-xs font-medium",_optionalChain([t, 'optionalAccess', _20 => _20[_reactdaypicker.UI.Weekday]])),[_reactdaypicker.UI.Weekdays]:_chunkSMJEDCFPcjs.a.call(void 0, "flex w-full justify-between",_optionalChain([t, 'optionalAccess', _21 => _21[_reactdaypicker.UI.Weekdays]])),[_reactdaypicker.UI.WeekNumber]:_chunkSMJEDCFPcjs.a.call(void 0, "text-muted-foreground min-w-8.5 grid h-8 place-items-center text-xs font-normal [&+*]:rounded-l-lg",_optionalChain([t, 'optionalAccess', _22 => _22[_reactdaypicker.UI.WeekNumber]])),[_reactdaypicker.UI.WeekNumberHeader]:_chunkSMJEDCFPcjs.a.call(void 0, "min-w-8.5",_optionalChain([t, 'optionalAccess', _23 => _23[_reactdaypicker.UI.WeekNumberHeader]])),[_reactdaypicker.UI.YearsDropdown]:_chunkSMJEDCFPcjs.a.call(void 0, _optionalChain([t, 'optionalAccess', _24 => _24[_reactdaypicker.UI.YearsDropdown]])),[_reactdaypicker.SelectionState.range_end]:_chunkSMJEDCFPcjs.a.call(void 0, "to-secondary is-range-end rounded-r-lg bg-gradient-to-l first:rounded-l-lg",_optionalChain([t, 'optionalAccess', _25 => _25[_reactdaypicker.SelectionState.range_end]])),[_reactdaypicker.SelectionState.range_middle]:_chunkSMJEDCFPcjs.a.call(void 0, "is-range-middle bg-secondary text-secondary-foreground first:rounded-l-lg last:rounded-r-lg",_optionalChain([t, 'optionalAccess', _26 => _26[_reactdaypicker.SelectionState.range_middle]])),[_reactdaypicker.SelectionState.range_start]:_chunkSMJEDCFPcjs.a.call(void 0, "to-secondary is-range-start rounded-l-lg bg-gradient-to-r last:rounded-r-lg",_optionalChain([t, 'optionalAccess', _27 => _27[_reactdaypicker.SelectionState.range_start]])),[_reactdaypicker.SelectionState.selected]:_chunkSMJEDCFPcjs.a.call(void 0, "is-selected",_optionalChain([t, 'optionalAccess', _28 => _28[_reactdaypicker.SelectionState.selected]])),[_reactdaypicker.DayFlag.disabled]:_chunkSMJEDCFPcjs.a.call(void 0, "is-disabled",_optionalChain([t, 'optionalAccess', _29 => _29[_reactdaypicker.DayFlag.disabled]])),[_reactdaypicker.DayFlag.focused]:_chunkSMJEDCFPcjs.a.call(void 0, "is-focused",_optionalChain([t, 'optionalAccess', _30 => _30[_reactdaypicker.DayFlag.focused]])),[_reactdaypicker.DayFlag.hidden]:_chunkSMJEDCFPcjs.a.call(void 0, "is-hidden size-8",_optionalChain([t, 'optionalAccess', _31 => _31[_reactdaypicker.DayFlag.hidden]])),[_reactdaypicker.DayFlag.outside]:_chunkSMJEDCFPcjs.a.call(void 0, "is-outside",_optionalChain([t, 'optionalAccess', _32 => _32[_reactdaypicker.DayFlag.outside]])),[_reactdaypicker.DayFlag.today]:_chunkSMJEDCFPcjs.a.call(void 0, "is-today",_optionalChain([t, 'optionalAccess', _33 => _33[_reactdaypicker.DayFlag.today]]))},components:{Chevron:C},showOutsideDays:n,...r})}function M({date:n,formatStr:t="LLL dd, y",placeholder:r="Pick a date"}){if(!_optionalChain([n, 'optionalAccess', _34 => _34.from]))return _jsxruntime.jsx.call(void 0, "span",{className:"truncate",children:r});let u=_datefns.format.call(void 0, n.from,t);if(!n.to)return _jsxruntime.jsx.call(void 0, "span",{className:"truncate",children:u});let l=_datefns.format.call(void 0, n.to,t);return _jsxruntime.jsxs.call(void 0, "span",{className:"truncate",children:[u," - ",l]})}function R({date:n,formatStr:t="PPP",placeholder:r="Pick a date"}){return n?_jsxruntime.jsx.call(void 0, "span",{className:"truncate",children:_datefns.format.call(void 0, n,t)}):_jsxruntime.jsx.call(void 0, "span",{className:"truncate",children:r})}exports.a = k; exports.b = M; exports.c = R;
2
+ //# sourceMappingURL=chunk-P7CT5J27.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-P7CT5J27.cjs","../src/components/calendar.tsx"],"names":["orientation","className","jsx","cn","Calendar","classNames","isInteractive","props","UI","SelectionState","DayFlag","CalendarRangeLabel","formatStr","placeholder","date","jsxs","CalendarLabel"],"mappings":"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","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-P7CT5J27.cjs","sourcesContent":[null,"'use client';\n\nimport type { ComponentProps, JSX, ReactNode } from 'react';\nimport type { CustomComponents, DateRange, DayPickerProps } from 'react-day-picker';\n\nimport { format } from 'date-fns';\nimport { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, DotIcon } from 'lucide-react';\nimport { DayFlag, DayPicker, SelectionState, UI } from 'react-day-picker';\n\nimport { cn } from '@/lib/utils';\nimport { buttonVariants } from '@/variants/button.variants';\n\n/* -----------------------------------------------------------------------------\n * Component: Chevron\n * -------------------------------------------------------------------------- */\n\ntype ChevronProps = ComponentProps<CustomComponents['Chevron']>;\n\nfunction Chevron({ orientation, className, ...props }: ChevronProps): JSX.Element {\n switch (orientation) {\n case 'up': {\n return <ChevronUpIcon className={cn('size-4', className)} {...props} />;\n }\n\n case 'down': {\n return <ChevronDownIcon className={cn('size-4', className)} {...props} />;\n }\n\n case 'left': {\n return <ChevronLeftIcon className={cn('size-4', className)} {...props} />;\n }\n\n case 'right': {\n return <ChevronRightIcon className={cn('size-4', className)} {...props} />;\n }\n\n default: {\n return <DotIcon className={cn('size-4', className)} {...props} />;\n }\n }\n}\n\n/* -----------------------------------------------------------------------------\n * Component: Calendar\n * -------------------------------------------------------------------------- */\n\ntype CalendarProps = DayPickerProps;\n\nfunction Calendar({ showOutsideDays = true, classNames, ...props }: CalendarProps): JSX.Element {\n const isInteractive = props.mode !== undefined || props.onDayClick !== undefined;\n\n return (\n <DayPicker\n classNames={{\n [UI.Root]: cn(classNames?.[UI.Root]),\n [UI.Chevron]: cn(classNames?.[UI.Chevron]),\n [UI.Day]: cn(\n 'grid place-items-center text-center text-sm',\n isInteractive ? 'min-w-8.5 group' : 'min-w-8.5 h-8',\n classNames?.[UI.Day],\n ),\n [UI.DayButton]: cn(\n 'group-[.is-outside]:text-muted-foreground hover:not-disabled:not-group-aria-selected:bg-secondary hover:not-disabled:not-group-aria-selected:text-secondary-foreground group-data-today:not-group-aria-selected:bg-secondary group-data-today:not-group-aria-selected:text-secondary-foreground group-aria-selected:not-group-[.is-range-middle]:bg-primary group-aria-selected:not-group-[.is-range-middle]:text-primary-foreground size-8 rounded-lg transition disabled:opacity-50',\n classNames?.[UI.DayButton],\n ),\n [UI.CaptionLabel]: cn('flex items-center gap-2 [&>svg]:opacity-50', classNames?.[UI.CaptionLabel]),\n [UI.Dropdowns]: cn('flex gap-4', classNames?.[UI.Dropdowns]),\n [UI.Dropdown]: cn('absolute opacity-0', classNames?.[UI.Dropdown]),\n [UI.DropdownRoot]: cn('relative', classNames?.[UI.DropdownRoot]),\n [UI.Footer]: cn(classNames?.[UI.Footer]),\n [UI.MonthGrid]: cn(classNames?.[UI.MonthGrid]),\n [UI.MonthCaption]: cn('py-1 text-sm font-medium', classNames?.[UI.MonthCaption]),\n [UI.MonthsDropdown]: cn(classNames?.[UI.MonthsDropdown]),\n [UI.Month]: cn('flex flex-col gap-4', classNames?.[UI.Month]),\n [UI.Months]: cn('relative inline-flex flex-wrap gap-4', classNames?.[UI.Months]),\n [UI.Nav]: cn('absolute end-0 flex gap-2', classNames?.[UI.Nav]),\n [UI.NextMonthButton]: cn(\n buttonVariants({ variant: 'ghost', size: '2xs', icon: true }),\n classNames?.[UI.NextMonthButton],\n ),\n [UI.PreviousMonthButton]: cn(\n buttonVariants({ variant: 'ghost', size: '2xs', icon: true }),\n classNames?.[UI.PreviousMonthButton],\n ),\n [UI.Week]: cn('mt-2 flex justify-between', classNames?.[UI.Week]),\n [UI.Weeks]: cn(classNames?.[UI.Weeks]),\n [UI.Weekday]: cn('text-muted-foreground min-w-8.5 text-xs font-medium', classNames?.[UI.Weekday]),\n [UI.Weekdays]: cn('flex w-full justify-between', classNames?.[UI.Weekdays]),\n [UI.WeekNumber]: cn(\n 'text-muted-foreground min-w-8.5 grid h-8 place-items-center text-xs font-normal [&+*]:rounded-l-lg',\n classNames?.[UI.WeekNumber],\n ),\n [UI.WeekNumberHeader]: cn('min-w-8.5', classNames?.[UI.WeekNumberHeader]),\n [UI.YearsDropdown]: cn(classNames?.[UI.YearsDropdown]),\n\n [SelectionState.range_end]: cn(\n 'to-secondary is-range-end rounded-r-lg bg-gradient-to-l first:rounded-l-lg',\n classNames?.[SelectionState.range_end],\n ),\n [SelectionState.range_middle]: cn(\n 'is-range-middle bg-secondary text-secondary-foreground first:rounded-l-lg last:rounded-r-lg',\n classNames?.[SelectionState.range_middle],\n ),\n [SelectionState.range_start]: cn(\n 'to-secondary is-range-start rounded-l-lg bg-gradient-to-r last:rounded-r-lg',\n classNames?.[SelectionState.range_start],\n ),\n [SelectionState.selected]: cn('is-selected', classNames?.[SelectionState.selected]),\n\n [DayFlag.disabled]: cn('is-disabled', classNames?.[DayFlag.disabled]),\n [DayFlag.focused]: cn('is-focused', classNames?.[DayFlag.focused]),\n [DayFlag.hidden]: cn('is-hidden size-8', classNames?.[DayFlag.hidden]),\n [DayFlag.outside]: cn('is-outside', classNames?.[DayFlag.outside]),\n [DayFlag.today]: cn('is-today', classNames?.[DayFlag.today]),\n }}\n components={{\n Chevron,\n }}\n showOutsideDays={showOutsideDays}\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CalendarRangeLabel\n * -------------------------------------------------------------------------- */\n\ninterface CalendarRangeLabelProps {\n date: DateRange | undefined;\n formatStr?: string;\n placeholder?: string;\n}\n\nfunction CalendarRangeLabel({\n date,\n formatStr = 'LLL dd, y',\n placeholder = 'Pick a date',\n}: CalendarRangeLabelProps): ReactNode {\n if (!date?.from) {\n return <span className=\"truncate\">{placeholder}</span>;\n }\n\n const formattedFromDate = format(date.from, formatStr);\n\n if (!date.to) {\n return <span className=\"truncate\">{formattedFromDate}</span>;\n }\n\n const formattedToDate = format(date.to, formatStr);\n\n return (\n <span className=\"truncate\">\n {formattedFromDate} - {formattedToDate}\n </span>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CalendarLabel\n * -------------------------------------------------------------------------- */\n\ninterface CalendarLabelProps {\n date: Date | undefined;\n formatStr?: string;\n placeholder?: string;\n}\n\nfunction CalendarLabel({ date, formatStr = 'PPP', placeholder = 'Pick a date' }: CalendarLabelProps): ReactNode {\n if (!date) {\n return <span className=\"truncate\">{placeholder}</span>;\n }\n\n return <span className=\"truncate\">{format(date, formatStr)}</span>;\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport type { DateRange, Matcher } from 'react-day-picker';\nexport type { CalendarLabelProps, CalendarProps, CalendarRangeLabelProps };\nexport { Calendar, CalendarLabel, CalendarRangeLabel };\n"]}
@@ -1,2 +1,2 @@
1
- "use client";import{a as S}from"./chunk-RQJY6UQZ.js";import{a as u}from"./chunk-OKUFCFYT.js";import{createContextScope as w}from"@radix-ui/react-context";import g from"embla-carousel-react";import{ArrowLeftIcon as U,ArrowRightIcon as _}from"lucide-react";import{useCallback as m,useEffect as x,useState as y}from"react";import{jsx as r}from"react/jsx-runtime";var N="Carousel",[I,V]=w(N),[B,f]=I(N);function H({__scopeCarousel:s,children:l,className:t,opts:o,orientation:a,plugins:i,setApi:p,...c}){let[C,e]=g({...o,axis:a==="vertical"?"y":"x"},i),[E,b]=y(!1),[A,h]=y(!1),P=m(n=>{n&&(b(n.canScrollPrev()),h(n.canScrollNext()))},[]),d=m(()=>{e?.scrollPrev()},[e]),v=m(()=>{e?.scrollNext()},[e]),R=m(n=>{n.key==="ArrowLeft"?(n.preventDefault(),d()):n.key==="ArrowRight"&&(n.preventDefault(),v())},[d,v]);return x(()=>{!e||!p||p(e)},[e,p]),x(()=>{if(e)return P(e),e.on("reInit",P),e.on("select",P),()=>{e.off("select",P)}},[e,P]),r(B,{api:e,canScrollNext:A,canScrollPrev:E,carouselRef:C,opts:o,orientation:a??(o?.axis==="y"?"vertical":"horizontal"),scope:s,scrollNext:v,scrollPrev:d,children:r("div",{"aria-roledescription":"carousel",className:u("relative",t),role:"region",onKeyDownCapture:R,...c,children:l})})}var O="CarouselContent";function q({__scopeCarousel:s,className:l,classNames:t,...o}){let{carouselRef:a,orientation:i}=f(O,s);return r("div",{ref:a,className:u("overflow-hidden",t?.wrapper),children:r("div",{className:u("flex",i==="horizontal"?"-ml-4":"-mt-4 flex-col",t?.content,l),...o})})}var T="CarouselItem";function F({__scopeCarousel:s,className:l,...t}){let{orientation:o}=f(T,s);return r("div",{"aria-roledescription":"slide",className:u("min-w-0 shrink-0 grow-0 basis-full",o==="horizontal"?"pl-4":"pt-4",l),role:"group",...t})}var z="CarouselPrevious";function G({__scopeCarousel:s,className:l,icon:t=!0,size:o="sm",variant:a="outline",...i}){let{canScrollPrev:p,orientation:c,scrollPrev:C}=f(z,s);return r(S,{className:u("not-disabled:shadow-none absolute",c==="horizontal"?"-left-12 top-1/2 -translate-y-1/2":"-top-12 left-1/2 -translate-x-1/2 rotate-90",l),disabled:!p,icon:t,prefix:r(U,{}),size:o,variant:a,onClick:C,...i,children:r("span",{className:"sr-only",children:"Previous slide"})})}var L="CarouselNext";function Q({__scopeCarousel:s,className:l,icon:t=!0,size:o="sm",variant:a="outline",...i}){let{canScrollNext:p,orientation:c,scrollNext:C}=f(L,s);return r(S,{className:u("not-disabled:shadow-none absolute",c==="horizontal"?"-right-12 top-1/2 -translate-y-1/2":"-bottom-12 left-1/2 -translate-x-1/2 rotate-90",l),disabled:!p,icon:t,prefix:r(_,{}),size:o,variant:a,onClick:C,...i,children:r("span",{className:"sr-only",children:"Next slide"})})}export{V as a,H as b,q as c,F as d,G as e,Q as f};
2
- //# sourceMappingURL=chunk-KX4STYPY.js.map
1
+ "use client";import{a as S}from"./chunk-WX3DRG7Q.js";import{a as u}from"./chunk-OKUFCFYT.js";import{createContextScope as w}from"@radix-ui/react-context";import g from"embla-carousel-react";import{ArrowLeftIcon as U,ArrowRightIcon as _}from"lucide-react";import{useCallback as m,useEffect as x,useState as y}from"react";import{jsx as r}from"react/jsx-runtime";var N="Carousel",[I,V]=w(N),[B,f]=I(N);function H({__scopeCarousel:s,children:l,className:t,opts:o,orientation:a,plugins:i,setApi:p,...c}){let[C,e]=g({...o,axis:a==="vertical"?"y":"x"},i),[E,b]=y(!1),[A,h]=y(!1),P=m(n=>{n&&(b(n.canScrollPrev()),h(n.canScrollNext()))},[]),d=m(()=>{e?.scrollPrev()},[e]),v=m(()=>{e?.scrollNext()},[e]),R=m(n=>{n.key==="ArrowLeft"?(n.preventDefault(),d()):n.key==="ArrowRight"&&(n.preventDefault(),v())},[d,v]);return x(()=>{!e||!p||p(e)},[e,p]),x(()=>{if(e)return P(e),e.on("reInit",P),e.on("select",P),()=>{e.off("select",P)}},[e,P]),r(B,{api:e,canScrollNext:A,canScrollPrev:E,carouselRef:C,opts:o,orientation:a??(o?.axis==="y"?"vertical":"horizontal"),scope:s,scrollNext:v,scrollPrev:d,children:r("div",{"aria-roledescription":"carousel",className:u("relative",t),role:"region",onKeyDownCapture:R,...c,children:l})})}var O="CarouselContent";function q({__scopeCarousel:s,className:l,classNames:t,...o}){let{carouselRef:a,orientation:i}=f(O,s);return r("div",{ref:a,className:u("overflow-hidden",t?.wrapper),children:r("div",{className:u("flex",i==="horizontal"?"-ml-4":"-mt-4 flex-col",t?.content,l),...o})})}var T="CarouselItem";function F({__scopeCarousel:s,className:l,...t}){let{orientation:o}=f(T,s);return r("div",{"aria-roledescription":"slide",className:u("min-w-0 shrink-0 grow-0 basis-full",o==="horizontal"?"pl-4":"pt-4",l),role:"group",...t})}var z="CarouselPrevious";function G({__scopeCarousel:s,className:l,icon:t=!0,size:o="sm",variant:a="outline",...i}){let{canScrollPrev:p,orientation:c,scrollPrev:C}=f(z,s);return r(S,{className:u("not-disabled:shadow-none absolute",c==="horizontal"?"-left-12 top-1/2 -translate-y-1/2":"-top-12 left-1/2 -translate-x-1/2 rotate-90",l),disabled:!p,icon:t,prefix:r(U,{}),size:o,variant:a,onClick:C,...i,children:r("span",{className:"sr-only",children:"Previous slide"})})}var L="CarouselNext";function Q({__scopeCarousel:s,className:l,icon:t=!0,size:o="sm",variant:a="outline",...i}){let{canScrollNext:p,orientation:c,scrollNext:C}=f(L,s);return r(S,{className:u("not-disabled:shadow-none absolute",c==="horizontal"?"-right-12 top-1/2 -translate-y-1/2":"-bottom-12 left-1/2 -translate-x-1/2 rotate-90",l),disabled:!p,icon:t,prefix:r(_,{}),size:o,variant:a,onClick:C,...i,children:r("span",{className:"sr-only",children:"Next slide"})})}export{V as a,H as b,q as c,F as d,G as e,Q as f};
2
+ //# sourceMappingURL=chunk-QEHCKMEW.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";var _chunkRD5ZOT6Ncjs = require('./chunk-RD5ZOT6N.cjs');var _chunkSMJEDCFPcjs = require('./chunk-SMJEDCFP.cjs');var _vaul = require('vaul');var _jsxruntime = require('react/jsx-runtime');function P({shouldScaleBackground:r=!0,...e}){return _jsxruntime.jsx.call(void 0, _vaul.Drawer.Root,{shouldScaleBackground:r,...e})}var w=_vaul.Drawer.Trigger;function u({children:r,className:e,...a}){return _jsxruntime.jsxs.call(void 0, _vaul.Drawer.Portal,{children:[_jsxruntime.jsx.call(void 0, _vaul.Drawer.Overlay,{className:"bg-popover-overlay fixed inset-0 z-50"}),_jsxruntime.jsxs.call(void 0, _vaul.Drawer.Content,{className:_chunkSMJEDCFPcjs.a.call(void 0, "bg-background fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-2xl border",e),...a,children:[_jsxruntime.jsx.call(void 0, "div",{className:"bg-muted mx-auto my-3 h-1.5 w-12 rounded-full"}),r]})]})}function c({className:r,...e}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "grid gap-1.5 p-4 text-center sm:text-left",r),...e})}function d({className:r,...e}){return _jsxruntime.jsx.call(void 0, "main",{className:_chunkSMJEDCFPcjs.a.call(void 0, "overflow-auto px-4 py-2",r),...e})}function f({className:r,...e}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "mt-auto flex flex-col-reverse gap-2 p-4",r),...e})}function y({className:r,...e}){return _jsxruntime.jsx.call(void 0, _vaul.Drawer.Title,{className:_chunkSMJEDCFPcjs.a.call(void 0, "text-lg font-semibold leading-none tracking-tight",r),...e})}function v({className:r,...e}){return _jsxruntime.jsx.call(void 0, _vaul.Drawer.Description,{className:_chunkSMJEDCFPcjs.a.call(void 0, "text-muted-foreground text-sm",r),...e})}function g({className:r,size:e,variant:a="outline",...s}){return _jsxruntime.jsx.call(void 0, _vaul.Drawer.Close,{className:_chunkRD5ZOT6Ncjs.a.call(void 0, {className:r,size:e,variant:a}),...s})}exports.a = P; exports.b = w; exports.c = u; exports.d = c; exports.e = d; exports.f = f; exports.g = y; exports.h = v; exports.i = g;
2
- //# sourceMappingURL=chunk-M7FNDRW7.cjs.map
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";var _chunk3EIIPNVCcjs = require('./chunk-3EIIPNVC.cjs');var _chunkSMJEDCFPcjs = require('./chunk-SMJEDCFP.cjs');var _vaul = require('vaul');var _jsxruntime = require('react/jsx-runtime');function P({shouldScaleBackground:r=!0,...e}){return _jsxruntime.jsx.call(void 0, _vaul.Drawer.Root,{shouldScaleBackground:r,...e})}var w=_vaul.Drawer.Trigger;function u({children:r,className:e,...a}){return _jsxruntime.jsxs.call(void 0, _vaul.Drawer.Portal,{children:[_jsxruntime.jsx.call(void 0, _vaul.Drawer.Overlay,{className:"bg-popover-overlay fixed inset-0 z-50"}),_jsxruntime.jsxs.call(void 0, _vaul.Drawer.Content,{className:_chunkSMJEDCFPcjs.a.call(void 0, "bg-background fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-2xl border",e),...a,children:[_jsxruntime.jsx.call(void 0, "div",{className:"bg-muted mx-auto my-3 h-1.5 w-12 rounded-full"}),r]})]})}function c({className:r,...e}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "grid gap-1.5 p-4 text-center sm:text-left",r),...e})}function d({className:r,...e}){return _jsxruntime.jsx.call(void 0, "main",{className:_chunkSMJEDCFPcjs.a.call(void 0, "overflow-auto px-4 py-2",r),...e})}function f({className:r,...e}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "mt-auto flex flex-col-reverse gap-2 p-4",r),...e})}function y({className:r,...e}){return _jsxruntime.jsx.call(void 0, _vaul.Drawer.Title,{className:_chunkSMJEDCFPcjs.a.call(void 0, "text-lg font-semibold leading-none tracking-tight",r),...e})}function v({className:r,...e}){return _jsxruntime.jsx.call(void 0, _vaul.Drawer.Description,{className:_chunkSMJEDCFPcjs.a.call(void 0, "text-muted-foreground text-sm",r),...e})}function g({className:r,size:e,variant:a="outline",...s}){return _jsxruntime.jsx.call(void 0, _vaul.Drawer.Close,{className:_chunk3EIIPNVCcjs.a.call(void 0, {className:r,size:e,variant:a}),...s})}exports.a = P; exports.b = w; exports.c = u; exports.d = c; exports.e = d; exports.f = f; exports.g = y; exports.h = v; exports.i = g;
2
+ //# sourceMappingURL=chunk-RQ2OXVIO.cjs.map