@codefast/ui 0.2.35 → 0.2.37

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 (182) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/chunk-25YVEZ64.cjs.map +1 -1
  3. package/dist/chunk-2HEVHJKK.cjs.map +1 -1
  4. package/dist/chunk-2MN3L273.cjs.map +1 -1
  5. package/dist/chunk-2NGMMHVD.cjs.map +1 -1
  6. package/dist/chunk-3H3UNZUP.cjs.map +1 -1
  7. package/dist/chunk-3JCHUM2E.cjs.map +1 -1
  8. package/dist/chunk-3KHRUHYT.cjs.map +1 -1
  9. package/dist/chunk-3XKK56VS.cjs.map +1 -1
  10. package/dist/chunk-3YNM2FAF.cjs.map +1 -1
  11. package/dist/chunk-45XT7WPV.cjs.map +1 -1
  12. package/dist/chunk-4SZM4OZX.cjs.map +1 -1
  13. package/dist/chunk-74METGII.cjs.map +1 -1
  14. package/dist/chunk-7CCZJ647.cjs.map +1 -1
  15. package/dist/chunk-AAAIMKE6.cjs.map +1 -1
  16. package/dist/chunk-ASEUIM44.cjs.map +1 -1
  17. package/dist/chunk-BGHCFQCV.cjs.map +1 -1
  18. package/dist/chunk-BROQJJQQ.cjs +2 -0
  19. package/dist/chunk-BROQJJQQ.cjs.map +1 -0
  20. package/dist/chunk-BTEH3T5W.cjs.map +1 -1
  21. package/dist/chunk-BUUK5B4I.js +2 -0
  22. package/dist/chunk-BUUK5B4I.js.map +1 -0
  23. package/dist/chunk-BZPP4CU7.cjs.map +1 -1
  24. package/dist/chunk-CT4OIAD4.cjs.map +1 -1
  25. package/dist/chunk-E627ZOLH.cjs.map +1 -1
  26. package/dist/chunk-EMPC5HNU.cjs.map +1 -1
  27. package/dist/chunk-GBDXWKYX.cjs.map +1 -1
  28. package/dist/chunk-GDOXPS6I.cjs.map +1 -1
  29. package/dist/chunk-GPPLLR2C.cjs.map +1 -1
  30. package/dist/chunk-HD2FCRL3.cjs.map +1 -1
  31. package/dist/chunk-HFJKDL4E.cjs.map +1 -1
  32. package/dist/chunk-HPWHFFV6.cjs.map +1 -1
  33. package/dist/chunk-IDELSFHC.cjs.map +1 -1
  34. package/dist/chunk-IK76PHGB.cjs.map +1 -1
  35. package/dist/chunk-J7FLM6VE.cjs.map +1 -1
  36. package/dist/chunk-JJW4VWZS.cjs.map +1 -1
  37. package/dist/chunk-JW6C57Y5.cjs.map +1 -1
  38. package/dist/chunk-K4Y4Y2YP.cjs.map +1 -1
  39. package/dist/chunk-KEF3RCSW.cjs.map +1 -1
  40. package/dist/chunk-KOVXL4P6.cjs.map +1 -1
  41. package/dist/chunk-MCMCMOW6.cjs.map +1 -1
  42. package/dist/chunk-MKBJXYE2.cjs +4 -0
  43. package/dist/chunk-MKBJXYE2.cjs.map +1 -0
  44. package/dist/chunk-NHKDM4JU.cjs.map +1 -1
  45. package/dist/chunk-NJZ3TDB6.cjs.map +1 -1
  46. package/dist/chunk-NOJBMCCJ.cjs.map +1 -1
  47. package/dist/chunk-OBHL2EPC.cjs.map +1 -1
  48. package/dist/chunk-OP6TXGBC.js +2 -0
  49. package/dist/chunk-OP6TXGBC.js.map +1 -0
  50. package/dist/chunk-OSBDYGS3.cjs.map +1 -1
  51. package/dist/chunk-OT65LUKH.cjs.map +1 -1
  52. package/dist/chunk-P5KMECT7.cjs +2 -0
  53. package/dist/chunk-P5KMECT7.cjs.map +1 -0
  54. package/dist/chunk-P6OP3EXT.cjs.map +1 -1
  55. package/dist/chunk-POJOZ7HM.cjs.map +1 -1
  56. package/dist/chunk-PQPCVOZX.cjs.map +1 -1
  57. package/dist/chunk-PWZWNYMT.cjs.map +1 -1
  58. package/dist/chunk-Q24HBDJY.cjs.map +1 -1
  59. package/dist/chunk-QHTSSIGW.cjs.map +1 -1
  60. package/dist/chunk-QQHIPYWF.cjs.map +1 -1
  61. package/dist/chunk-R4SOGOXT.cjs.map +1 -1
  62. package/dist/chunk-RNLUQH6E.cjs.map +1 -1
  63. package/dist/chunk-SLXE24VS.cjs.map +1 -1
  64. package/dist/chunk-SMJEDCFP.cjs.map +1 -1
  65. package/dist/chunk-SRP463XH.cjs.map +1 -1
  66. package/dist/chunk-TRPIIBAS.cjs.map +1 -1
  67. package/dist/chunk-TUAQU25Y.cjs.map +1 -1
  68. package/dist/chunk-U7UJHUBW.js +4 -0
  69. package/dist/chunk-U7UJHUBW.js.map +1 -0
  70. package/dist/chunk-UAS5UKTZ.cjs.map +1 -1
  71. package/dist/chunk-US2PK6G5.cjs.map +1 -1
  72. package/dist/chunk-UYWVE5DL.cjs.map +1 -1
  73. package/dist/chunk-VSTEK27Z.cjs.map +1 -1
  74. package/dist/chunk-W7IUS6U5.cjs.map +1 -1
  75. package/dist/chunk-WOGISN3L.cjs.map +1 -1
  76. package/dist/chunk-X5CR4RIL.cjs.map +1 -1
  77. package/dist/chunk-XO4K654G.cjs.map +1 -1
  78. package/dist/chunk-XRB4CGMN.cjs.map +1 -1
  79. package/dist/chunk-XXUOW3ID.cjs.map +1 -1
  80. package/dist/chunk-YQARPTSR.cjs.map +1 -1
  81. package/dist/chunk-YX4V3LJU.cjs.map +1 -1
  82. package/dist/components/accordion.cjs.map +1 -1
  83. package/dist/components/alert-dialog.cjs.map +1 -1
  84. package/dist/components/alert.cjs.map +1 -1
  85. package/dist/components/aspect-ratio.cjs.map +1 -1
  86. package/dist/components/avatar.cjs.map +1 -1
  87. package/dist/components/badge.cjs.map +1 -1
  88. package/dist/components/blockquote.cjs.map +1 -1
  89. package/dist/components/box.cjs.map +1 -1
  90. package/dist/components/breadcrumb.cjs.map +1 -1
  91. package/dist/components/button.cjs.map +1 -1
  92. package/dist/components/calendar.cjs.map +1 -1
  93. package/dist/components/card.cjs.map +1 -1
  94. package/dist/components/carousel.cjs.map +1 -1
  95. package/dist/components/chart.cjs +1 -1
  96. package/dist/components/chart.cjs.map +1 -1
  97. package/dist/components/chart.d.cts +42 -15
  98. package/dist/components/chart.d.ts +42 -15
  99. package/dist/components/chart.js +1 -1
  100. package/dist/components/checkbox-cards.cjs.map +1 -1
  101. package/dist/components/checkbox-group.cjs.map +1 -1
  102. package/dist/components/checkbox.cjs.map +1 -1
  103. package/dist/components/code.cjs.map +1 -1
  104. package/dist/components/collapsible.cjs.map +1 -1
  105. package/dist/components/command.cjs.map +1 -1
  106. package/dist/components/container.cjs.map +1 -1
  107. package/dist/components/context-menu.cjs.map +1 -1
  108. package/dist/components/data-table.cjs.map +1 -1
  109. package/dist/components/dialog.cjs.map +1 -1
  110. package/dist/components/drawer.cjs.map +1 -1
  111. package/dist/components/dropdown-menu.cjs.map +1 -1
  112. package/dist/components/em.cjs.map +1 -1
  113. package/dist/components/form.cjs.map +1 -1
  114. package/dist/components/heading.cjs.map +1 -1
  115. package/dist/components/hover-card.cjs.map +1 -1
  116. package/dist/components/inline.cjs.map +1 -1
  117. package/dist/components/input-date.cjs.map +1 -1
  118. package/dist/components/input-number.cjs.map +1 -1
  119. package/dist/components/input-otp.cjs +1 -1
  120. package/dist/components/input-otp.cjs.map +1 -1
  121. package/dist/components/input-otp.js +1 -1
  122. package/dist/components/input-password.cjs.map +1 -1
  123. package/dist/components/input-search.cjs.map +1 -1
  124. package/dist/components/input-time.cjs.map +1 -1
  125. package/dist/components/input.cjs.map +1 -1
  126. package/dist/components/kbd.cjs.map +1 -1
  127. package/dist/components/label.cjs.map +1 -1
  128. package/dist/components/menubar.cjs.map +1 -1
  129. package/dist/components/navigation-menu.cjs.map +1 -1
  130. package/dist/components/pagination.cjs.map +1 -1
  131. package/dist/components/popover.cjs.map +1 -1
  132. package/dist/components/pre.cjs.map +1 -1
  133. package/dist/components/progress-circle.cjs.map +1 -1
  134. package/dist/components/progress.cjs.map +1 -1
  135. package/dist/components/quote.cjs.map +1 -1
  136. package/dist/components/radio-cards.cjs.map +1 -1
  137. package/dist/components/radio-group.cjs.map +1 -1
  138. package/dist/components/radio.cjs.map +1 -1
  139. package/dist/components/resizable.cjs.map +1 -1
  140. package/dist/components/scroll-area.cjs.map +1 -1
  141. package/dist/components/section.cjs.map +1 -1
  142. package/dist/components/select.cjs.map +1 -1
  143. package/dist/components/separator.cjs.map +1 -1
  144. package/dist/components/sheet.cjs.map +1 -1
  145. package/dist/components/sidebar.cjs +1 -1
  146. package/dist/components/sidebar.cjs.map +1 -1
  147. package/dist/components/sidebar.d.cts +1 -1
  148. package/dist/components/sidebar.d.ts +1 -1
  149. package/dist/components/sidebar.js +1 -1
  150. package/dist/components/skeleton.cjs.map +1 -1
  151. package/dist/components/slider.cjs.map +1 -1
  152. package/dist/components/sonner.cjs.map +1 -1
  153. package/dist/components/spinner.cjs.map +1 -1
  154. package/dist/components/strong.cjs.map +1 -1
  155. package/dist/components/switch.cjs.map +1 -1
  156. package/dist/components/table.cjs.map +1 -1
  157. package/dist/components/tabs.cjs.map +1 -1
  158. package/dist/components/text.cjs.map +1 -1
  159. package/dist/components/textarea.cjs.map +1 -1
  160. package/dist/components/toggle-group.cjs.map +1 -1
  161. package/dist/components/toggle.cjs.map +1 -1
  162. package/dist/components/tooltip.cjs.map +1 -1
  163. package/dist/index.cjs +1 -1
  164. package/dist/index.cjs.map +1 -1
  165. package/dist/index.d.cts +1 -1
  166. package/dist/index.d.ts +1 -1
  167. package/dist/index.js +1 -1
  168. package/dist/lib/logger.cjs.map +1 -1
  169. package/dist/lib/utils.cjs.map +1 -1
  170. package/package.json +14 -13
  171. package/dist/chunk-GGIVV535.cjs +0 -2
  172. package/dist/chunk-GGIVV535.cjs.map +0 -1
  173. package/dist/chunk-IP3FM7M3.cjs +0 -2
  174. package/dist/chunk-IP3FM7M3.cjs.map +0 -1
  175. package/dist/chunk-JFVNFELS.js +0 -4
  176. package/dist/chunk-JFVNFELS.js.map +0 -1
  177. package/dist/chunk-TCK3JQ5Q.js +0 -2
  178. package/dist/chunk-TCK3JQ5Q.js.map +0 -1
  179. package/dist/chunk-WJ52PDQT.js +0 -2
  180. package/dist/chunk-WJ52PDQT.js.map +0 -1
  181. package/dist/chunk-ZESL6WID.cjs +0 -4
  182. package/dist/chunk-ZESL6WID.cjs.map +0 -1
@@ -0,0 +1,2 @@
1
+ "use client";import{a as A,b as k,c as X,d as D}from"./chunk-SSNF4WDW.js";import{a as y}from"./chunk-MKTUHVAW.js";import{a as P,c as N,d as M,g as _,h as I}from"./chunk-RBIJMA3G.js";import{a as w}from"./chunk-HODP3L6K.js";import{b as E}from"./chunk-B74UCONC.js";import{b as C}from"./chunk-3E3ZQIUX.js";import{a as o}from"./chunk-OKUFCFYT.js";import{useIsMobile as B}from"@codefast/hooks";import{createContext as O}from"@radix-ui/react-context";import{Slot as f}from"@radix-ui/react-slot";import{PanelLeftIcon as R}from"lucide-react";import{useCallback as J,useEffect as H,useMemo as K,useState as T}from"react";import{tv as G}from"tailwind-variants";import{jsx as a,jsxs as c}from"react/jsx-runtime";var L="sidebar_state",V=60*60*24*7,$="16rem",U="18rem",W="3.0625rem",j="b",q="SidebarProvider",[F,h]=O(q);function ge({defaultOpen:t=!0,open:e,onOpenChange:n,className:r,style:i,children:d,...p}){let l=B(),[m,u]=T(!1),[g,z]=T(t),v=e??g,S=J(s=>{let b=typeof s=="function"?s(v):s;n?n(b):z(b),document.cookie=`${L}=${b}; path=/; max-age=${V}`},[n,v]),x=J(()=>{l?u(s=>!s):S(s=>!s)},[l,S,u]);return H(()=>{let s=b=>{b.key===j&&(b.metaKey||b.ctrlKey)&&(b.preventDefault(),x())};return window.addEventListener("keydown",s),()=>{window.removeEventListener("keydown",s)}},[x]),a(F,{isMobile:l,open:v,openMobile:m,setOpen:S,setOpenMobile:u,state:v?"expanded":"collapsed",toggleSidebar:x,children:a(A,{delayDuration:0,children:a("div",{className:o("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full",r),"data-slot":"sidebar-wrapper",style:{"--sidebar-width":$,"--sidebar-width-icon":W,...i},...p,children:d})})})}var Y="Sidebar";function ve({side:t="left",variant:e="sidebar",collapsible:n="offcanvas",className:r,children:i,...d}){let{isMobile:p,state:l,openMobile:m,setOpenMobile:u}=h(Y);return n==="none"?a("div",{className:o("bg-sidebar text-sidebar-foreground w-(--sidebar-width) flex h-full flex-col",r),"data-slot":"sidebar",...d,children:i}):p?a(P,{open:m,onOpenChange:u,...d,children:c(N,{className:"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden","data-mobile":"true","data-sidebar":"sidebar","data-slot":"sidebar",side:t,style:{"--sidebar-width":U},children:[c(M,{className:"sr-only",children:[a(_,{children:"Sidebar"}),a(I,{children:"Displays the mobile sidebar."})]}),a("div",{className:"flex h-full w-full flex-col",children:i})]})}):c("div",{className:o("text-sidebar-foreground group peer hidden md:block",r),"data-collapsible":l==="collapsed"?n:"","data-side":t,"data-slot":"sidebar","data-state":l,"data-variant":e,children:[a("div",{className:o("w-(--sidebar-width) relative bg-transparent transition-[width] duration-200 ease-linear group-data-[collapsible=offcanvas]:w-0 group-data-[side=right]:rotate-180",e==="floating"||e==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)"),"data-slot":"sidebar-gap"}),a("div",{className:o("w-(--sidebar-width) fixed inset-y-0 z-10 hidden h-svh transition-[left,right,width] duration-200 ease-linear md:flex",t==="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)]",e==="floating"||e==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",r),"data-slot":"sidebar-container",...d,children:a("div",{className:"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm","data-sidebar":"sidebar","data-slot":"sidebar-inner",children:i})})]})}var Q="SidebarTrigger";function he({className:t,onClick:e,...n}){let{toggleSidebar:r}=h(Q);return c(C,{className:o("size-7",t),"data-sidebar":"trigger","data-slot":"sidebar-trigger",size:"icon",variant:"ghost",onClick:i=>{e?.(i),r()},...n,children:[a(R,{}),a("span",{className:"sr-only",children:"Toggle Sidebar"})]})}var Z="SidebarRail";function Se({className:t,...e}){let{toggleSidebar:n}=h(Z);return a("button",{className:o("hover:after:bg-sidebar-border in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize hover:group-data-[collapsible=offcanvas]: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-[2px] 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=right][data-collapsible=offcanvas]_&]:-left-2 [[data-side=right][data-state=collapsed]_&]:cursor-w-resize",t),"data-sidebar":"rail","data-slot":"sidebar-rail",title:"Toggle Sidebar",type:"button",onClick:n,...e})}function xe({className:t,...e}){return a("main",{className:o("bg-background relative flex w-full flex-1 flex-col md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm",t),"data-slot":"sidebar-inset",...e})}function we({className:t,...e}){return a(E,{className:o("bg-background h-8 w-full shadow-none",t),"data-sidebar":"input","data-slot":"sidebar-input",...e})}function Ce({className:t,...e}){return a("div",{className:o("flex flex-col gap-2 p-2",t),"data-sidebar":"header","data-slot":"sidebar-header",...e})}function Ee({className:t,...e}){return a("div",{className:o("flex flex-col gap-2 p-2",t),"data-sidebar":"footer","data-slot":"sidebar-footer",...e})}function ye({className:t,...e}){return a(y,{className:o("bg-sidebar-border mx-2 w-auto",t),"data-sidebar":"separator","data-slot":"sidebar-separator",...e})}function Pe({className:t,...e}){return a("div",{className:o("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",t),"data-sidebar":"content","data-slot":"sidebar-content",...e})}function Ne({className:t,...e}){return a("div",{className:o("relative flex w-full min-w-0 flex-col p-2",t),"data-sidebar":"group","data-slot":"sidebar-group",...e})}function Me({className:t,asChild:e=!1,...n}){return a(e?f:"div",{className:o("text-sidebar-foreground/70 ring-sidebar-ring outline-hidden focus-visible:ring-3 flex h-8 shrink-0 items-center truncate rounded-md px-2 text-xs font-medium transition-[margin,opacity] 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","data-slot":"sidebar-group-label",...n})}function _e({className:t,asChild:e=!1,...n}){return a(e?f:"button",{className:o("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground outline-hidden focus-visible:ring-3 absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 transition-transform after:absolute after:-inset-2 group-data-[collapsible=icon]:hidden md:after:hidden [&>svg]:size-4 [&>svg]:shrink-0",t),"data-sidebar":"group-action","data-slot":"sidebar-group-action",...n})}function Ie({className:t,...e}){return a("div",{className:o("w-full text-sm",t),"data-sidebar":"group-content","data-slot":"sidebar-group-content",...e})}function Ae({className:t,...e}){return a("ul",{className:o("flex w-full min-w-0 flex-col gap-1",t),"data-sidebar":"menu","data-slot":"sidebar-menu",...e})}function ke({className:t,...e}){return a("li",{className:o("group/menu-item relative",t),"data-sidebar":"menu-item","data-slot":"sidebar-menu-item",...e})}var ee=G({base:"peer/menu-button outline-hidden ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground group-has-data-[sidebar=menu-action]/menu-item:pr-8 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 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! focus-visible:ring-3 flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm transition-[width,height,padding] disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",variants:{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(--sidebar-border))] hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{sm:"h-7 text-xs",md:"h-8 text-sm",lg:"group-data-[collapsible=icon]:p-0! h-12 text-sm"}},defaultVariants:{variant:"default",size:"md"}}),te="SidebarMenuButton";function Xe({asChild:t=!1,isActive:e=!1,variant:n="default",size:r="md",tooltip:i,className:d,...p}){let l=t?f:"button",{isMobile:m,state:u}=h(te),g=a(l,{className:o(ee({variant:n,size:r}),d),"data-active":e,"data-sidebar":"menu-button","data-size":r,"data-slot":"sidebar-menu-button",...p});return i?(typeof i=="string"&&(i={children:i}),c(k,{children:[a(X,{asChild:!0,children:g}),a(D,{align:"center",hidden:u!=="collapsed"||m,side:"right",...i})]})):g}function De({className:t,asChild:e=!1,showOnHover:n=!1,...r}){return a(e?f:"button",{className:o("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground outline-hidden focus-visible:ring-3 absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 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 md:after: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","data-slot":"sidebar-menu-action",...r})}function Je({className:t,...e}){return a("div",{className:o("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",t),"data-sidebar":"menu-badge","data-slot":"sidebar-menu-badge",...e})}function Te({className:t,showIcon:e=!1,...n}){let r=K(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return c("div",{className:o("flex h-8 items-center gap-2 rounded-md px-2",t),"data-sidebar":"menu-skeleton","data-slot":"sidebar-menu-skeleton",...n,children:[e?a(w,{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}):null,a(w,{className:"max-w-(--skeleton-width) h-4 flex-1","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":r}})]})}function ze({className:t,...e}){return a("ul",{className:o("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",t),"data-sidebar":"menu-sub","data-slot":"sidebar-menu-sub",...e})}function Be({className:t,...e}){return a("li",{className:o("group/menu-sub-item relative",t),"data-sidebar":"menu-sub-item","data-slot":"sidebar-menu-sub-item",...e})}function Oe({asChild:t=!1,size:e="md",isActive:n=!1,className:r,...i}){return a(t?f:"a",{className:o("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground outline-hidden focus-visible:ring-3 data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 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",e==="sm"&&"text-xs",e==="md"&&"text-sm","group-data-[collapsible=icon]:hidden",r),"data-active":n,"data-sidebar":"menu-sub-button","data-size":e,"data-slot":"sidebar-menu-sub-button",...i})}export{h as a,ge as b,ve as c,he as d,Se as e,xe as f,we as g,Ce as h,Ee as i,ye as j,Pe as k,Ne as l,Me as m,_e as n,Ie as o,Ae as p,ke as q,Xe as r,De as s,Je as t,Te as u,ze as v,Be as w,Oe as x};
2
+ //# sourceMappingURL=chunk-BUUK5B4I.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/sidebar.tsx"],"names":["useIsMobile","createContext","Slot","PanelLeftIcon","useCallback","useEffect","useMemo","useState","tv","jsx","jsxs","SIDEBAR_COOKIE_NAME","SIDEBAR_COOKIE_MAX_AGE","SIDEBAR_WIDTH","SIDEBAR_WIDTH_MOBILE","SIDEBAR_WIDTH_ICON","SIDEBAR_KEYBOARD_SHORTCUT","SIDEBAR_PROVIDER_NAME","SidebarProviderProvider","useSidebar","SidebarProvider","defaultOpen","openProp","setOpenProp","className","style","children","props","isMobile","openMobile","setOpenMobile","isOpen","setIsOpen","open","setOpen","value","openState","toggleSidebar","currentValue","handleKeyDown","event","TooltipProvider","cn","SIDEBAR_NAME","Sidebar","side","variant","collapsible","state","Sheet","SheetContent","SheetHeader","SheetTitle","SheetDescription","SIDEBAR_TRIGGER_NAME","SidebarTrigger","onClick","Button","SIDEBAR_RAIL_NAME","SidebarRail","SidebarInset","SidebarInput","Input","SidebarHeader","SidebarFooter","SidebarSeparator","Separator","SidebarContent","SidebarGroup","SidebarGroupLabel","asChild","SidebarGroupAction","SidebarGroupContent","SidebarMenu","SidebarMenuItem","sidebarMenuButtonVariants","SIDEBAR_MENU_BUTTON_NAME","SidebarMenuButton","isActive","size","tooltip","Component","button","Tooltip","TooltipTrigger","TooltipContent","SidebarMenuAction","showOnHover","SidebarMenuBadge","SidebarMenuSkeleton","showIcon","width","Skeleton","SidebarMenuSub","SidebarMenuSubItem","SidebarMenuSubButton"],"mappings":"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","sourcesContent":["'use client';\n\nimport type { ComponentProps, CSSProperties, Dispatch, JSX, SetStateAction } from 'react';\nimport type { VariantProps } from 'tailwind-variants';\n\nimport { useIsMobile } from '@codefast/hooks';\nimport { createContext } from '@radix-ui/react-context';\nimport { Slot } from '@radix-ui/react-slot';\nimport { PanelLeftIcon } from 'lucide-react';\nimport { useCallback, 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, SheetHeader, 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 = 60 * 60 * 24 * 7;\nconst SIDEBAR_WIDTH = '16rem';\nconst SIDEBAR_WIDTH_MOBILE = '18rem';\nconst SIDEBAR_WIDTH_ICON = '3.0625rem';\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'b';\n\ninterface SidebarContextProps {\n isMobile: boolean;\n open: boolean;\n openMobile: boolean;\n setOpen: (open: boolean) => void;\n setOpenMobile: Dispatch<SetStateAction<boolean>>;\n state: 'collapsed' | 'expanded';\n toggleSidebar: () => void;\n}\n\n/* -----------------------------------------------------------------------------\n * Context: SidebarProvider\n * -------------------------------------------------------------------------- */\n\nconst SIDEBAR_PROVIDER_NAME = 'SidebarProvider';\n\nconst [SidebarProviderProvider, useSidebar] = createContext<SidebarContextProps>(SIDEBAR_PROVIDER_NAME);\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarProvider\n * -------------------------------------------------------------------------- */\n\nfunction SidebarProvider({\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n}: ComponentProps<'div'> & {\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n open?: boolean;\n}): JSX.Element {\n const isMobile = useIsMobile();\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 // eslint-disable-next-line unicorn/no-document-cookie -- This sets the cookie to keep the sidebar state.\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\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 = (event: KeyboardEvent) => {\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 return (\n <SidebarProviderProvider\n isMobile={isMobile}\n open={open}\n openMobile={openMobile}\n setOpen={setOpen}\n setOpenMobile={setOpenMobile}\n state={state}\n toggleSidebar={toggleSidebar}\n >\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 data-slot=\"sidebar-wrapper\"\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 </SidebarProviderProvider>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: Sidebar\n * -------------------------------------------------------------------------- */\n\nconst SIDEBAR_NAME = 'Sidebar';\n\nfunction Sidebar({\n side = 'left',\n variant = 'sidebar',\n collapsible = 'offcanvas',\n className,\n children,\n ...props\n}: ComponentProps<'div'> & {\n collapsible?: 'icon' | 'none' | 'offcanvas';\n side?: 'left' | 'right';\n variant?: 'floating' | 'inset' | 'sidebar';\n}): JSX.Element {\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar(SIDEBAR_NAME);\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 data-slot=\"sidebar\"\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 data-slot=\"sidebar\"\n side={side}\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH_MOBILE,\n } as CSSProperties\n }\n >\n <SheetHeader className=\"sr-only\">\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Displays the mobile sidebar.</SheetDescription>\n </SheetHeader>\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={cn('text-sidebar-foreground group peer hidden md:block', className)}\n data-collapsible={state === 'collapsed' ? collapsible : ''}\n data-side={side}\n data-slot=\"sidebar\"\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 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)+(--spacing(4)))]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)',\n )}\n data-slot=\"sidebar-gap\"\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 // Adjust the padding for floating and inset variants.\n variant === 'floating' || variant === 'inset'\n ? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--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 data-slot=\"sidebar-container\"\n {...props}\n >\n <div\n className=\"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm\"\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar-inner\"\n >\n {children}\n </div>\n </div>\n </div>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarTrigger\n * -------------------------------------------------------------------------- */\n\nconst SIDEBAR_TRIGGER_NAME = 'SidebarTrigger';\n\nfunction SidebarTrigger({ className, onClick, ...props }: ComponentProps<typeof Button>): JSX.Element {\n const { toggleSidebar } = useSidebar(SIDEBAR_TRIGGER_NAME);\n\n return (\n <Button\n className={cn('size-7', className)}\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n size=\"icon\"\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\nconst SIDEBAR_RAIL_NAME = 'SidebarRail';\n\nfunction SidebarRail({ className, ...props }: ComponentProps<'button'>): JSX.Element {\n const { toggleSidebar } = useSidebar(SIDEBAR_RAIL_NAME);\n\n return (\n <button\n className={cn(\n 'hover:after:bg-sidebar-border in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize hover:group-data-[collapsible=offcanvas]: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-[2px] 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=right][data-collapsible=offcanvas]_&]:-left-2 [[data-side=right][data-state=collapsed]_&]:cursor-w-resize',\n className,\n )}\n data-sidebar=\"rail\"\n data-slot=\"sidebar-rail\"\n title=\"Toggle Sidebar\"\n type=\"button\"\n onClick={toggleSidebar}\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarInset\n * -------------------------------------------------------------------------- */\n\nfunction SidebarInset({ className, ...props }: ComponentProps<'main'>): JSX.Element {\n return (\n <main\n className={cn(\n 'bg-background relative flex w-full flex-1 flex-col md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm',\n className,\n )}\n data-slot=\"sidebar-inset\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarInput\n * -------------------------------------------------------------------------- */\n\nfunction SidebarInput({ className, ...props }: ComponentProps<typeof Input>): JSX.Element {\n return (\n <Input\n className={cn('bg-background h-8 w-full shadow-none', className)}\n data-sidebar=\"input\"\n data-slot=\"sidebar-input\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarHeader\n * -------------------------------------------------------------------------- */\n\nfunction SidebarHeader({ className, ...props }: ComponentProps<'div'>): JSX.Element {\n return (\n <div\n className={cn('flex flex-col gap-2 p-2', className)}\n data-sidebar=\"header\"\n data-slot=\"sidebar-header\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarFooter\n * -------------------------------------------------------------------------- */\n\nfunction SidebarFooter({ className, ...props }: ComponentProps<'div'>): JSX.Element {\n return (\n <div\n className={cn('flex flex-col gap-2 p-2', className)}\n data-sidebar=\"footer\"\n data-slot=\"sidebar-footer\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarSeparator\n * -------------------------------------------------------------------------- */\n\nfunction SidebarSeparator({ className, ...props }: ComponentProps<typeof Separator>): JSX.Element {\n return (\n <Separator\n className={cn('bg-sidebar-border mx-2 w-auto', className)}\n data-sidebar=\"separator\"\n data-slot=\"sidebar-separator\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarContent\n * -------------------------------------------------------------------------- */\n\nfunction SidebarContent({ className, ...props }: ComponentProps<'div'>): 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 data-slot=\"sidebar-content\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarGroup\n * -------------------------------------------------------------------------- */\n\nfunction SidebarGroup({ className, ...props }: ComponentProps<'div'>): JSX.Element {\n return (\n <div\n className={cn('relative flex w-full min-w-0 flex-col p-2', className)}\n data-sidebar=\"group\"\n data-slot=\"sidebar-group\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarGroupLabel\n * -------------------------------------------------------------------------- */\n\nfunction SidebarGroupLabel({\n className,\n asChild = false,\n ...props\n}: ComponentProps<'div'> & {\n asChild?: boolean;\n}): JSX.Element {\n const Component = asChild ? Slot : 'div';\n\n return (\n <Component\n className={cn(\n 'text-sidebar-foreground/70 ring-sidebar-ring outline-hidden focus-visible:ring-3 flex h-8 shrink-0 items-center truncate rounded-md px-2 text-xs font-medium transition-[margin,opacity] 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 data-slot=\"sidebar-group-label\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarGroupAction\n * -------------------------------------------------------------------------- */\n\nfunction SidebarGroupAction({\n className,\n asChild = false,\n ...props\n}: ComponentProps<'button'> & {\n asChild?: boolean;\n}): 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 outline-hidden focus-visible:ring-3 absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 transition-transform after:absolute after:-inset-2 group-data-[collapsible=icon]:hidden md:after:hidden [&>svg]:size-4 [&>svg]:shrink-0',\n className,\n )}\n data-sidebar=\"group-action\"\n data-slot=\"sidebar-group-action\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarGroupContent\n * -------------------------------------------------------------------------- */\n\nfunction SidebarGroupContent({ className, ...props }: ComponentProps<'div'>): JSX.Element {\n return (\n <div\n className={cn('w-full text-sm', className)}\n data-sidebar=\"group-content\"\n data-slot=\"sidebar-group-content\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenu\n * -------------------------------------------------------------------------- */\n\nfunction SidebarMenu({ className, ...props }: ComponentProps<'ul'>): JSX.Element {\n return (\n <ul\n className={cn('flex w-full min-w-0 flex-col gap-1', className)}\n data-sidebar=\"menu\"\n data-slot=\"sidebar-menu\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuItem\n * -------------------------------------------------------------------------- */\n\nfunction SidebarMenuItem({ className, ...props }: ComponentProps<'li'>): JSX.Element {\n return (\n <li\n className={cn('group/menu-item relative', className)}\n data-sidebar=\"menu-item\"\n data-slot=\"sidebar-menu-item\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Variant: SidebarMenuButton\n * -------------------------------------------------------------------------- */\n\nconst sidebarMenuButtonVariants = tv({\n base: 'peer/menu-button outline-hidden ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground group-has-data-[sidebar=menu-action]/menu-item:pr-8 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 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! focus-visible:ring-3 flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm transition-[width,height,padding] disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0',\n variants: {\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(--sidebar-border))] hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]',\n },\n size: {\n sm: 'h-7 text-xs',\n md: 'h-8 text-sm',\n lg: 'group-data-[collapsible=icon]:p-0! h-12 text-sm',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'md',\n },\n});\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuButton\n * -------------------------------------------------------------------------- */\n\nconst SIDEBAR_MENU_BUTTON_NAME = 'SidebarMenuButton';\n\nfunction SidebarMenuButton({\n asChild = false,\n isActive = false,\n variant = 'default',\n size = 'md',\n tooltip,\n className,\n ...props\n}: ComponentProps<'button'> &\n VariantProps<typeof sidebarMenuButtonVariants> & {\n asChild?: boolean;\n isActive?: boolean;\n tooltip?: ComponentProps<typeof TooltipContent> | string;\n }): JSX.Element {\n const Component = asChild ? Slot : 'button';\n const { isMobile, state } = useSidebar(SIDEBAR_MENU_BUTTON_NAME);\n\n const button = (\n <Component\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n data-active={isActive}\n data-sidebar=\"menu-button\"\n data-size={size}\n data-slot=\"sidebar-menu-button\"\n {...props}\n />\n );\n\n if (!tooltip) {\n return button;\n }\n\n if (typeof tooltip === 'string') {\n // eslint-disable-next-line no-param-reassign -- convert it to an object with default properties\n tooltip = {\n children: tooltip,\n };\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent align=\"center\" hidden={state !== 'collapsed' || isMobile} side=\"right\" {...tooltip} />\n </Tooltip>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuAction\n * -------------------------------------------------------------------------- */\n\nfunction SidebarMenuAction({\n className,\n asChild = false,\n showOnHover = false,\n ...props\n}: ComponentProps<'button'> & {\n asChild?: boolean;\n showOnHover?: boolean;\n}): 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 outline-hidden focus-visible:ring-3 absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 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 md:after: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 data-slot=\"sidebar-menu-action\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuBadge\n * -------------------------------------------------------------------------- */\n\nfunction SidebarMenuBadge({ className, ...props }: ComponentProps<'div'>): 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 data-slot=\"sidebar-menu-badge\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuSkeleton\n * -------------------------------------------------------------------------- */\n\nfunction SidebarMenuSkeleton({\n className,\n showIcon = false,\n ...props\n}: ComponentProps<'div'> & {\n showIcon?: boolean;\n}): 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 data-slot=\"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\nfunction SidebarMenuSub({ className, ...props }: ComponentProps<'ul'>): 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 data-slot=\"sidebar-menu-sub\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuSubItem\n * -------------------------------------------------------------------------- */\n\nfunction SidebarMenuSubItem({ className, ...props }: ComponentProps<'li'>): JSX.Element {\n return (\n <li\n className={cn('group/menu-sub-item relative', className)}\n data-sidebar=\"menu-sub-item\"\n data-slot=\"sidebar-menu-sub-item\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuSubButton\n * -------------------------------------------------------------------------- */\n\nfunction SidebarMenuSubButton({\n asChild = false,\n size = 'md',\n isActive = false,\n className,\n ...props\n}: ComponentProps<'a'> & {\n asChild?: boolean;\n isActive?: boolean;\n size?: 'md' | 'sm';\n}): JSX.Element {\n const Component = asChild ? Slot : 'a';\n\n return (\n <Component\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground outline-hidden focus-visible:ring-3 data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 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',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n data-active={isActive}\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-slot=\"sidebar-menu-sub-button\"\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 +1 @@
1
- {"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-BZPP4CU7.cjs","../src/components/popover.tsx"],"names":["Popover","props","jsx","PopoverTrigger","PopoverAnchor","PopoverContent","align","className","sideOffset","cn","PopoverArrow"],"mappings":"AAAA,mZAAmC,uGCED,+CASzB,SADAA,CAAAA,CAAQ,CAAE,GAAGC,CAAM,CAAA,CAA8D,CACxF,OAAOC,6BAAAA,CAAkB,CAAA,IAAA,CAAjB,CAAsB,WAAA,CAAU,SAAA,CAAW,GAAGD,CAAAA,CAAO,CAC/D,CAMA,SAASE,CAAAA,CAAe,CAAE,GAAGF,CAAM,CAAA,CAAiE,CAClG,OAAOC,6BAAAA,CAAkB,CAAA,OAAA,CAAjB,CAAyB,WAAA,CAAU,iBAAA,CAAmB,GAAGD,CAAAA,CAAO,CAC1E,CAMA,SAASG,CAAAA,CAAc,CAAE,GAAGH,CAAM,CAAA,CAAgE,CAChG,OAAOC,6BAAAA,CAAkB,CAAA,MAAA,CAAjB,CAAwB,WAAA,CAAU,gBAAA,CAAkB,GAAGD,CAAAA,CAAO,CACxE,CAMA,SAASI,CAAAA,CAAe,CACtB,KAAA,CAAAC,CAAAA,CAAQ,QAAA,CACR,SAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CAAa,CAAA,CACb,GAAGP,CACL,CAAA,CAAiE,CAC/D,OACEC,6BAAAA,CAAkB,CAAA,MAAA,CAAjB,CACC,QAAA,CAAAA,6BAAAA,CAAkB,CAAA,OAAA,CAAjB,CACC,KAAA,CAAOI,CAAAA,CACP,SAAA,CAAWG,iCAAAA,kuBACT,CACAF,CACF,CAAA,CACA,WAAA,CAAU,iBAAA,CACV,UAAA,CAAYC,CAAAA,CACX,GAAGP,CAAAA,CACN,CAAA,CACF,CAEJ,CAMA,SAASS,CAAAA,CAAa,CAAE,SAAA,CAAAH,CAAAA,CAAW,GAAGN,CAAM,CAAA,CAA+D,CACzG,OAAOC,6BAAAA,CAAkB,CAAA,KAAA,CAAjB,CAAuB,SAAA,CAAWO,iCAAAA,cAAG,CAAgBF,CAAS,CAAA,CAAG,WAAA,CAAU,eAAA,CAAiB,GAAGN,CAAAA,CAAO,CAChH,CAAA,0EAAA","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-BZPP4CU7.cjs","sourcesContent":[null,"import type { ComponentProps, JSX } from 'react';\n\nimport * as PopoverPrimitive from '@radix-ui/react-popover';\n\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: Popover\n * -------------------------------------------------------------------------- */\n\nfunction Popover({ ...props }: ComponentProps<typeof PopoverPrimitive.Root>): JSX.Element {\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: PopoverTrigger\n * -------------------------------------------------------------------------- */\n\nfunction PopoverTrigger({ ...props }: ComponentProps<typeof PopoverPrimitive.Trigger>): JSX.Element {\n return <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: PopoverAnchor\n * -------------------------------------------------------------------------- */\n\nfunction PopoverAnchor({ ...props }: ComponentProps<typeof PopoverPrimitive.Anchor>): JSX.Element {\n return <PopoverPrimitive.Anchor data-slot=\"popover-anchor\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: PopoverContent\n * -------------------------------------------------------------------------- */\n\nfunction PopoverContent({\n align = 'center',\n className,\n sideOffset = 4,\n ...props\n}: ComponentProps<typeof PopoverPrimitive.Content>): JSX.Element {\n return (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n align={align}\n className={cn(\n 'bg-popover outline-hidden text-popover-foreground data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:data-[side=top]:slide-in-from-bottom-2 data-[state=open]:data-[side=right]:slide-in-from-left-2 data-[state=open]:data-[side=bottom]:slide-in-from-top-2 data-[state=open]:data-[side=left]:slide-in-from-right-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 z-50 min-w-32 rounded-lg border p-4 shadow-lg',\n className,\n )}\n data-slot=\"popover-content\"\n sideOffset={sideOffset}\n {...props}\n />\n </PopoverPrimitive.Portal>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: PopoverArrow\n * -------------------------------------------------------------------------- */\n\nfunction PopoverArrow({ className, ...props }: ComponentProps<typeof PopoverPrimitive.Arrow>): JSX.Element {\n return <PopoverPrimitive.Arrow className={cn('fill-popover', className)} data-slot=\"popover-arrow\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Popover, PopoverAnchor, PopoverArrow, PopoverContent, PopoverTrigger };\n"]}
1
+ {"version":3,"sources":["/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-BZPP4CU7.cjs","../src/components/popover.tsx"],"names":["Popover","props","jsx","PopoverTrigger","PopoverAnchor","PopoverContent","align","className","sideOffset","cn","PopoverArrow"],"mappings":"AAAA,mZAAmC,uGCED,+CASzB,SADAA,CAAAA,CAAQ,CAAE,GAAGC,CAAM,CAAA,CAA8D,CACxF,OAAOC,6BAAAA,CAAkB,CAAA,IAAA,CAAjB,CAAsB,WAAA,CAAU,SAAA,CAAW,GAAGD,CAAAA,CAAO,CAC/D,CAMA,SAASE,CAAAA,CAAe,CAAE,GAAGF,CAAM,CAAA,CAAiE,CAClG,OAAOC,6BAAAA,CAAkB,CAAA,OAAA,CAAjB,CAAyB,WAAA,CAAU,iBAAA,CAAmB,GAAGD,CAAAA,CAAO,CAC1E,CAMA,SAASG,CAAAA,CAAc,CAAE,GAAGH,CAAM,CAAA,CAAgE,CAChG,OAAOC,6BAAAA,CAAkB,CAAA,MAAA,CAAjB,CAAwB,WAAA,CAAU,gBAAA,CAAkB,GAAGD,CAAAA,CAAO,CACxE,CAMA,SAASI,CAAAA,CAAe,CACtB,KAAA,CAAAC,CAAAA,CAAQ,QAAA,CACR,SAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CAAa,CAAA,CACb,GAAGP,CACL,CAAA,CAAiE,CAC/D,OACEC,6BAAAA,CAAkB,CAAA,MAAA,CAAjB,CACC,QAAA,CAAAA,6BAAAA,CAAkB,CAAA,OAAA,CAAjB,CACC,KAAA,CAAOI,CAAAA,CACP,SAAA,CAAWG,iCAAAA,kuBACT,CACAF,CACF,CAAA,CACA,WAAA,CAAU,iBAAA,CACV,UAAA,CAAYC,CAAAA,CACX,GAAGP,CAAAA,CACN,CAAA,CACF,CAEJ,CAMA,SAASS,CAAAA,CAAa,CAAE,SAAA,CAAAH,CAAAA,CAAW,GAAGN,CAAM,CAAA,CAA+D,CACzG,OAAOC,6BAAAA,CAAkB,CAAA,KAAA,CAAjB,CAAuB,SAAA,CAAWO,iCAAAA,cAAG,CAAgBF,CAAS,CAAA,CAAG,WAAA,CAAU,eAAA,CAAiB,GAAGN,CAAAA,CAAO,CAChH,CAAA,0EAAA","file":"/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-BZPP4CU7.cjs","sourcesContent":[null,"import type { ComponentProps, JSX } from 'react';\n\nimport * as PopoverPrimitive from '@radix-ui/react-popover';\n\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: Popover\n * -------------------------------------------------------------------------- */\n\nfunction Popover({ ...props }: ComponentProps<typeof PopoverPrimitive.Root>): JSX.Element {\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: PopoverTrigger\n * -------------------------------------------------------------------------- */\n\nfunction PopoverTrigger({ ...props }: ComponentProps<typeof PopoverPrimitive.Trigger>): JSX.Element {\n return <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: PopoverAnchor\n * -------------------------------------------------------------------------- */\n\nfunction PopoverAnchor({ ...props }: ComponentProps<typeof PopoverPrimitive.Anchor>): JSX.Element {\n return <PopoverPrimitive.Anchor data-slot=\"popover-anchor\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: PopoverContent\n * -------------------------------------------------------------------------- */\n\nfunction PopoverContent({\n align = 'center',\n className,\n sideOffset = 4,\n ...props\n}: ComponentProps<typeof PopoverPrimitive.Content>): JSX.Element {\n return (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n align={align}\n className={cn(\n 'bg-popover outline-hidden text-popover-foreground data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:data-[side=top]:slide-in-from-bottom-2 data-[state=open]:data-[side=right]:slide-in-from-left-2 data-[state=open]:data-[side=bottom]:slide-in-from-top-2 data-[state=open]:data-[side=left]:slide-in-from-right-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 z-50 min-w-32 rounded-lg border p-4 shadow-lg',\n className,\n )}\n data-slot=\"popover-content\"\n sideOffset={sideOffset}\n {...props}\n />\n </PopoverPrimitive.Portal>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: PopoverArrow\n * -------------------------------------------------------------------------- */\n\nfunction PopoverArrow({ className, ...props }: ComponentProps<typeof PopoverPrimitive.Arrow>): JSX.Element {\n return <PopoverPrimitive.Arrow className={cn('fill-popover', className)} data-slot=\"popover-arrow\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Popover, PopoverAnchor, PopoverArrow, PopoverContent, PopoverTrigger };\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-CT4OIAD4.cjs","../src/components/checkbox.tsx"],"names":["Checkbox","className","props","jsx","cn","CheckIcon"],"mappings":"AAAA,mZAAwC,0GCEL,2CACT,+CAsBlB,SAdCA,CAAAA,CAAS,CAAE,SAAA,CAAAC,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAA+D,CACrG,OACEC,6BAAAA,CAAmB,CAAA,IAAA,CAAlB,CACC,SAAA,CAAWC,iCAAAA,0pBACT,CACAH,CACF,CAAA,CACA,WAAA,CAAU,UAAA,CACT,GAAGC,CAAAA,CAEJ,QAAA,CAAAC,6BAAAA,CAAmB,CAAA,SAAA,CAAlB,CACC,SAAA,CAAU,+DAAA,CACV,WAAA,CAAU,oBAAA,CAEV,QAAA,CAAAA,6BAAAA,sBAACE,CAAA,CAAU,SAAA,CAAU,UAAA,CAAW,CAAA,CAClC,CAAA,CACF,CAEJ,CAAA,cAAA","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-CT4OIAD4.cjs","sourcesContent":[null,"import type { ComponentProps, JSX } from 'react';\n\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox';\nimport { CheckIcon } from 'lucide-react';\n\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: Checkbox\n * -------------------------------------------------------------------------- */\n\nfunction Checkbox({ className, ...props }: ComponentProps<typeof CheckboxPrimitive.Root>): JSX.Element {\n return (\n <CheckboxPrimitive.Root\n className={cn(\n 'border-input text-primary-foreground shadow-xs outline-hidden hover:not-disabled:not-aria-checked:border-ring/60 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3 aria-checked:focus-visible:ring-primary/20 dark:aria-checked:focus-visible:ring-primary/40 aria-checked:border-primary aria-checked:aria-invalid:bg-destructive aria-checked:bg-primary aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 hover:not-disabled:not-aria-checked:aria-invalid:border-destructive/60 dark:bg-input/30 peer flex size-4 shrink-0 items-center justify-center rounded-sm border transition disabled:opacity-50',\n className,\n )}\n data-slot=\"checkbox\"\n {...props}\n >\n <CheckboxPrimitive.Indicator\n className=\"flex items-center justify-center text-current transition-none\"\n data-slot=\"checkbox-indicator\"\n >\n <CheckIcon className=\"size-3.5\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Checkbox };\n"]}
1
+ {"version":3,"sources":["/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-CT4OIAD4.cjs","../src/components/checkbox.tsx"],"names":["Checkbox","className","props","jsx","cn","CheckIcon"],"mappings":"AAAA,mZAAwC,0GCEL,2CACT,+CAsBlB,SAdCA,CAAAA,CAAS,CAAE,SAAA,CAAAC,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAA+D,CACrG,OACEC,6BAAAA,CAAmB,CAAA,IAAA,CAAlB,CACC,SAAA,CAAWC,iCAAAA,0pBACT,CACAH,CACF,CAAA,CACA,WAAA,CAAU,UAAA,CACT,GAAGC,CAAAA,CAEJ,QAAA,CAAAC,6BAAAA,CAAmB,CAAA,SAAA,CAAlB,CACC,SAAA,CAAU,+DAAA,CACV,WAAA,CAAU,oBAAA,CAEV,QAAA,CAAAA,6BAAAA,sBAACE,CAAA,CAAU,SAAA,CAAU,UAAA,CAAW,CAAA,CAClC,CAAA,CACF,CAEJ,CAAA,cAAA","file":"/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-CT4OIAD4.cjs","sourcesContent":[null,"import type { ComponentProps, JSX } from 'react';\n\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox';\nimport { CheckIcon } from 'lucide-react';\n\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: Checkbox\n * -------------------------------------------------------------------------- */\n\nfunction Checkbox({ className, ...props }: ComponentProps<typeof CheckboxPrimitive.Root>): JSX.Element {\n return (\n <CheckboxPrimitive.Root\n className={cn(\n 'border-input text-primary-foreground shadow-xs outline-hidden hover:not-disabled:not-aria-checked:border-ring/60 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3 aria-checked:focus-visible:ring-primary/20 dark:aria-checked:focus-visible:ring-primary/40 aria-checked:border-primary aria-checked:aria-invalid:bg-destructive aria-checked:bg-primary aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 hover:not-disabled:not-aria-checked:aria-invalid:border-destructive/60 dark:bg-input/30 peer flex size-4 shrink-0 items-center justify-center rounded-sm border transition disabled:opacity-50',\n className,\n )}\n data-slot=\"checkbox\"\n {...props}\n >\n <CheckboxPrimitive.Indicator\n className=\"flex items-center justify-center text-current transition-none\"\n data-slot=\"checkbox-indicator\"\n >\n <CheckIcon className=\"size-3.5\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Checkbox };\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/aspect-ratio.tsx"],"names":["AspectRatio","props","jsx"],"mappings":"AAEA,+cAAsC,+CAO7B,SADAA,CAAAA,CAAY,CAAE,GAAGC,CAAM,CAAA,CAAkE,CAChG,OAAOC,6BAAAA,CAAsB,CAAA,IAAA,CAArB,CAA0B,WAAA,CAAU,cAAA,CAAgB,GAAGD,CAAAA,CAAO,CACxE,CAAA,cAAA","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-E627ZOLH.cjs","sourcesContent":["import type { ComponentProps, JSX } from 'react';\n\nimport * as AspectRatioPrimitive from '@radix-ui/react-aspect-ratio';\n\n/* -----------------------------------------------------------------------------\n * Component: AspectRatio\n * -------------------------------------------------------------------------- */\n\nfunction AspectRatio({ ...props }: ComponentProps<typeof AspectRatioPrimitive.Root>): JSX.Element {\n return <AspectRatioPrimitive.Root data-slot=\"aspect-ratio\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { AspectRatio };\n"]}
1
+ {"version":3,"sources":["../src/components/aspect-ratio.tsx"],"names":["AspectRatio","props","jsx"],"mappings":"AAEA,+cAAsC,+CAO7B,SADAA,CAAAA,CAAY,CAAE,GAAGC,CAAM,CAAA,CAAkE,CAChG,OAAOC,6BAAAA,CAAsB,CAAA,IAAA,CAArB,CAA0B,WAAA,CAAU,cAAA,CAAgB,GAAGD,CAAAA,CAAO,CACxE,CAAA,cAAA","file":"/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-E627ZOLH.cjs","sourcesContent":["import type { ComponentProps, JSX } from 'react';\n\nimport * as AspectRatioPrimitive from '@radix-ui/react-aspect-ratio';\n\n/* -----------------------------------------------------------------------------\n * Component: AspectRatio\n * -------------------------------------------------------------------------- */\n\nfunction AspectRatio({ ...props }: ComponentProps<typeof AspectRatioPrimitive.Root>): JSX.Element {\n return <AspectRatioPrimitive.Root data-slot=\"aspect-ratio\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { AspectRatio };\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-EMPC5HNU.cjs","../src/components/checkbox-cards.tsx"],"names":["CheckboxCards","props","jsx","CheckboxCardsItem","checkboxClassName","children","className","jsxs","Label","cn","CheckIcon"],"mappings":"AAAA,mZAAmC,wDAAyC,6GCEpC,2CACd,+CAUjB,SADAA,CAAAA,CAAcC,CAAAA,CAAwE,CAC7F,OAAOC,6BAAAA,CAAwB,CAAA,IAAA,CAAvB,CAA4B,WAAA,CAAU,gBAAA,CAAkB,GAAGD,CAAAA,CAAO,CAC5E,CAMA,SAASE,CAAAA,CAAkB,CACzB,iBAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,GAAGL,CACL,CAAA,CAEgB,CACd,OACEM,8BAAAA,mBAACC,CAAA,CACC,SAAA,CAAWC,iCAAAA,oPACT,CACAH,CACF,CAAA,CACA,WAAA,CAAU,eAAA,CAEV,QAAA,CAAA,CAAAJ,6BAAAA,CAAwB,CAAA,IAAA,CAAvB,CACC,SAAA,CAAWO,iCAAAA,gWACT,CACAL,CACF,CAAA,CACA,WAAA,CAAU,oBAAA,CACT,GAAGH,CAAAA,CAEJ,QAAA,CAAAC,6BAAAA,CAAwB,CAAA,sBAAA,CAAvB,CAA8C,WAAA,CAAU,yBAAA,CACvD,QAAA,CAAAA,6BAAAA,sBAACQ,CAAA,CAAU,SAAA,CAAU,UAAA,CAAW,CAAA,CAClC,CAAA,CACF,CAAA,CACCL,CAAAA,CAAAA,CACH,CAEJ,CAAA,6BAAA","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-EMPC5HNU.cjs","sourcesContent":[null,"import type { ComponentProps, JSX } from 'react';\n\nimport * as CheckboxGroupPrimitive from '@codefast-ui/checkbox-group';\nimport { CheckIcon } from 'lucide-react';\n\nimport { Label } from '@/components/label';\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: CheckboxCards\n * -------------------------------------------------------------------------- */\n\nfunction CheckboxCards(props: ComponentProps<typeof CheckboxGroupPrimitive.Root>): JSX.Element {\n return <CheckboxGroupPrimitive.Root data-slot=\"checkbox-cards\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CheckboxCardsItem\n * -------------------------------------------------------------------------- */\n\nfunction CheckboxCardsItem({\n checkboxClassName,\n children,\n className,\n ...props\n}: ComponentProps<typeof CheckboxGroupPrimitive.Item> & {\n checkboxClassName?: string;\n}): JSX.Element {\n return (\n <Label\n className={cn(\n 'border-input hover:not-has-disabled:not-has-aria-checked:bg-secondary has-aria-checked:bg-primary/10 has-aria-checked:border-primary has-focus-visible:border-ring has-disabled:opacity-50 flex items-start gap-3 rounded-lg border p-3 transition',\n className,\n )}\n data-slot=\"checkbox-card\"\n >\n <CheckboxGroupPrimitive.Item\n className={cn(\n 'border-input text-primary-foreground shadow-xs outline-hidden focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3 focus-visible:aria-checked:ring-primary/20 dark:focus-visible:aria-checked:ring-primary/40 aria-checked:border-primary aria-checked:bg-primary dark:bg-input/30 peer flex size-4 shrink-0 rounded-sm border transition',\n checkboxClassName,\n )}\n data-slot=\"checkbox-card-item\"\n {...props}\n >\n <CheckboxGroupPrimitive.CheckboxGroupIndicator data-slot=\"checkbox-card-indicator\">\n <CheckIcon className=\"size-3.5\" />\n </CheckboxGroupPrimitive.CheckboxGroupIndicator>\n </CheckboxGroupPrimitive.Item>\n {children}\n </Label>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { CheckboxCards, CheckboxCardsItem };\n"]}
1
+ {"version":3,"sources":["/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-EMPC5HNU.cjs","../src/components/checkbox-cards.tsx"],"names":["CheckboxCards","props","jsx","CheckboxCardsItem","checkboxClassName","children","className","jsxs","Label","cn","CheckIcon"],"mappings":"AAAA,mZAAmC,wDAAyC,6GCEpC,2CACd,+CAUjB,SADAA,CAAAA,CAAcC,CAAAA,CAAwE,CAC7F,OAAOC,6BAAAA,CAAwB,CAAA,IAAA,CAAvB,CAA4B,WAAA,CAAU,gBAAA,CAAkB,GAAGD,CAAAA,CAAO,CAC5E,CAMA,SAASE,CAAAA,CAAkB,CACzB,iBAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,GAAGL,CACL,CAAA,CAEgB,CACd,OACEM,8BAAAA,mBAACC,CAAA,CACC,SAAA,CAAWC,iCAAAA,oPACT,CACAH,CACF,CAAA,CACA,WAAA,CAAU,eAAA,CAEV,QAAA,CAAA,CAAAJ,6BAAAA,CAAwB,CAAA,IAAA,CAAvB,CACC,SAAA,CAAWO,iCAAAA,gWACT,CACAL,CACF,CAAA,CACA,WAAA,CAAU,oBAAA,CACT,GAAGH,CAAAA,CAEJ,QAAA,CAAAC,6BAAAA,CAAwB,CAAA,sBAAA,CAAvB,CAA8C,WAAA,CAAU,yBAAA,CACvD,QAAA,CAAAA,6BAAAA,sBAACQ,CAAA,CAAU,SAAA,CAAU,UAAA,CAAW,CAAA,CAClC,CAAA,CACF,CAAA,CACCL,CAAAA,CAAAA,CACH,CAEJ,CAAA,6BAAA","file":"/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-EMPC5HNU.cjs","sourcesContent":[null,"import type { ComponentProps, JSX } from 'react';\n\nimport * as CheckboxGroupPrimitive from '@codefast-ui/checkbox-group';\nimport { CheckIcon } from 'lucide-react';\n\nimport { Label } from '@/components/label';\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: CheckboxCards\n * -------------------------------------------------------------------------- */\n\nfunction CheckboxCards(props: ComponentProps<typeof CheckboxGroupPrimitive.Root>): JSX.Element {\n return <CheckboxGroupPrimitive.Root data-slot=\"checkbox-cards\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CheckboxCardsItem\n * -------------------------------------------------------------------------- */\n\nfunction CheckboxCardsItem({\n checkboxClassName,\n children,\n className,\n ...props\n}: ComponentProps<typeof CheckboxGroupPrimitive.Item> & {\n checkboxClassName?: string;\n}): JSX.Element {\n return (\n <Label\n className={cn(\n 'border-input hover:not-has-disabled:not-has-aria-checked:bg-secondary has-aria-checked:bg-primary/10 has-aria-checked:border-primary has-focus-visible:border-ring has-disabled:opacity-50 flex items-start gap-3 rounded-lg border p-3 transition',\n className,\n )}\n data-slot=\"checkbox-card\"\n >\n <CheckboxGroupPrimitive.Item\n className={cn(\n 'border-input text-primary-foreground shadow-xs outline-hidden focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3 focus-visible:aria-checked:ring-primary/20 dark:focus-visible:aria-checked:ring-primary/40 aria-checked:border-primary aria-checked:bg-primary dark:bg-input/30 peer flex size-4 shrink-0 rounded-sm border transition',\n checkboxClassName,\n )}\n data-slot=\"checkbox-card-item\"\n {...props}\n >\n <CheckboxGroupPrimitive.CheckboxGroupIndicator data-slot=\"checkbox-card-indicator\">\n <CheckIcon className=\"size-3.5\" />\n </CheckboxGroupPrimitive.CheckboxGroupIndicator>\n </CheckboxGroupPrimitive.Item>\n {children}\n </Label>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { CheckboxCards, CheckboxCardsItem };\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-GBDXWKYX.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-GBDXWKYX.cjs","sourcesContent":[null,"'use client';\n\nimport type { ComponentProps, JSX, ReactNode } from 'react';\nimport type { CustomComponents, DateRange } 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 { buttonVariants } from '@/components/button';\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: Chevron\n * -------------------------------------------------------------------------- */\n\nfunction Chevron({ orientation, className, ...props }: ComponentProps<CustomComponents['Chevron']>): 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\nfunction Calendar({ showOutsideDays = true, classNames, ...props }: ComponentProps<typeof DayPicker>): JSX.Element {\n const isInteractive = props.mode !== undefined || props.onDayClick !== undefined;\n\n return (\n <DayPicker\n classNames={{\n [UI.Root]: cn('p-3', 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 has-focus-visible:z-20 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 outline-hidden focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3 group-[.is-selected]:not-group-[.is-range-middle]:focus-visible:ring-primary/20 dark:group-[.is-selected]:not-group-[.is-range-middle]:focus-visible:ring-primary/40 group-[.is-selected]:not-group-[.is-range-middle]:focus-visible:border-primary size-8 rounded-lg border border-transparent 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 flex gap-4', classNames?.[UI.Months]),\n [UI.Nav]: cn('absolute end-0 flex gap-2', classNames?.[UI.Nav]),\n [UI.NextMonthButton]: buttonVariants({\n variant: 'ghost',\n size: 'icon',\n className: ['size-7', classNames?.[UI.NextMonthButton]],\n }),\n [UI.PreviousMonthButton]: buttonVariants({\n variant: 'ghost',\n size: 'icon',\n className: ['size-7', 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\nfunction CalendarRangeLabel({\n date,\n formatStr = 'LLL dd, y',\n placeholder = 'Pick a date',\n}: {\n date: DateRange | undefined;\n formatStr?: string;\n placeholder?: string;\n}): 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\nfunction CalendarLabel({\n date,\n formatStr = 'PPP',\n placeholder = 'Pick a date',\n}: {\n date: Date | undefined;\n formatStr?: string;\n placeholder?: string;\n}): 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 { Calendar, CalendarLabel, CalendarRangeLabel };\n"]}
1
+ {"version":3,"sources":["/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-GBDXWKYX.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":"/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-GBDXWKYX.cjs","sourcesContent":[null,"'use client';\n\nimport type { ComponentProps, JSX, ReactNode } from 'react';\nimport type { CustomComponents, DateRange } 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 { buttonVariants } from '@/components/button';\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: Chevron\n * -------------------------------------------------------------------------- */\n\nfunction Chevron({ orientation, className, ...props }: ComponentProps<CustomComponents['Chevron']>): 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\nfunction Calendar({ showOutsideDays = true, classNames, ...props }: ComponentProps<typeof DayPicker>): JSX.Element {\n const isInteractive = props.mode !== undefined || props.onDayClick !== undefined;\n\n return (\n <DayPicker\n classNames={{\n [UI.Root]: cn('p-3', 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 has-focus-visible:z-20 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 outline-hidden focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3 group-[.is-selected]:not-group-[.is-range-middle]:focus-visible:ring-primary/20 dark:group-[.is-selected]:not-group-[.is-range-middle]:focus-visible:ring-primary/40 group-[.is-selected]:not-group-[.is-range-middle]:focus-visible:border-primary size-8 rounded-lg border border-transparent 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 flex gap-4', classNames?.[UI.Months]),\n [UI.Nav]: cn('absolute end-0 flex gap-2', classNames?.[UI.Nav]),\n [UI.NextMonthButton]: buttonVariants({\n variant: 'ghost',\n size: 'icon',\n className: ['size-7', classNames?.[UI.NextMonthButton]],\n }),\n [UI.PreviousMonthButton]: buttonVariants({\n variant: 'ghost',\n size: 'icon',\n className: ['size-7', 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\nfunction CalendarRangeLabel({\n date,\n formatStr = 'LLL dd, y',\n placeholder = 'Pick a date',\n}: {\n date: DateRange | undefined;\n formatStr?: string;\n placeholder?: string;\n}): 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\nfunction CalendarLabel({\n date,\n formatStr = 'PPP',\n placeholder = 'Pick a date',\n}: {\n date: Date | undefined;\n formatStr?: string;\n placeholder?: string;\n}): 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 { Calendar, CalendarLabel, CalendarRangeLabel };\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-GDOXPS6I.cjs","../src/components/resizable.tsx"],"names":["ResizablePrimitive","className","cn","ResizablePanel","ResizableHandle","withHandle","jsx","GripVerticalIcon"],"mappings":"AAAA,uWAAY,CAAC,wDCIJ,2CACGA,sHAaR,+CAJF,SAAAC,CAAAA,CACA,CAAA,SAEA,CAAA,CAAA,CAAA,GACsB,CAAA,CAAA,CAAA,CAAA,OAAA,6BAAA,CAClB,CAAA,UAAWC,CAAG,CAAA,SAAA,CAAA,iCAAA,+DACd,CAAA,CAAA,CAAU,CAAA,WAAA,CAAA,uBAUhB,CAAA,GAASC,CAAAA,CAAe,CAAE,CAAA,SACxB,CAAA,CAAA,CAAA,GAA2B,CAAA,CAAA,CAAA,CAAA,OAAM,6BAAA,CAAA,CAAA,KAAA,CAAU,CAAA,WAAA,CAAA,iBAO7C,CAAA,GAASC,CAAAA,CAAgB,CACvB,CAAA,SAAAH,CAAAA,CACA,CAAA,SAAA,CAAAI,CAAAA,CACA,UAIA,CAAA,CAAA,CAAA,GACsB,CAAA,CAAA,CAAA,CAAA,OAAA,6BAAA,CAAA,CAAA,iBACPH,CACT,CAAA,SAAA,CAAA,iCAAA,0nBAGF,CAAA,CAAA,CAAU,CAAA,WAAA,CAAA,kBAGT,CAAA,GACCI,CAAAA,CAAC,QAAI,CAAA,CAAA,CAAA,6BAAA,KAAU,CAAA,CAAA,SAAA,CAAA,2EACZC,CAAA,QAAiB,CAAA,6BAAA,6BAAU,CAAA,CAAA,SAAW,CACzC,UAIR,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,4CAAA","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-GDOXPS6I.cjs","sourcesContent":[null,"'use client';\n\nimport type { ComponentProps, JSX } from 'react';\n\nimport { GripVerticalIcon } from 'lucide-react';\nimport * as ResizablePrimitive from 'react-resizable-panels';\n\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: ResizablePanelGroup\n * -------------------------------------------------------------------------- */\n\nfunction ResizablePanelGroup({\n className,\n ...props\n}: ComponentProps<typeof ResizablePrimitive.PanelGroup>): JSX.Element {\n return (\n <ResizablePrimitive.PanelGroup\n className={cn('flex size-full data-[panel-group-direction=vertical]:flex-col', className)}\n data-slot=\"resizable-panel-group\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ResizablePanel\n * -------------------------------------------------------------------------- */\n\nfunction ResizablePanel({ ...props }: ComponentProps<typeof ResizablePrimitive.Panel>): JSX.Element {\n return <ResizablePrimitive.Panel data-slot=\"resizable-panel\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ResizableHandle\n * -------------------------------------------------------------------------- */\n\nfunction ResizableHandle({\n className,\n withHandle,\n ...props\n}: ComponentProps<typeof ResizablePrimitive.PanelResizeHandle> & {\n withHandle?: boolean;\n}): JSX.Element {\n return (\n <ResizablePrimitive.PanelResizeHandle\n className={cn(\n 'bg-border focus-visible:bg-ring focus-visible:ring-ring/50 focus-visible:ring-3 outline-hidden relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90',\n className,\n )}\n data-slot=\"resizable-handle\"\n {...props}\n >\n {withHandle ? (\n <div className=\"bg-border z-10 flex h-4 w-3 items-center justify-center rounded-sm border\">\n <GripVerticalIcon className=\"size-2.5\" />\n </div>\n ) : null}\n </ResizablePrimitive.PanelResizeHandle>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { ResizableHandle, ResizablePanel, ResizablePanelGroup };\n"]}
1
+ {"version":3,"sources":["/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-GDOXPS6I.cjs","../src/components/resizable.tsx"],"names":["ResizablePrimitive","className","cn","ResizablePanel","ResizableHandle","withHandle","jsx","GripVerticalIcon"],"mappings":"AAAA,uWAAY,CAAC,wDCIJ,2CACGA,sHAaR,+CAJF,SAAAC,CAAAA,CACA,CAAA,SAEA,CAAA,CAAA,CAAA,GACsB,CAAA,CAAA,CAAA,CAAA,OAAA,6BAAA,CAClB,CAAA,UAAWC,CAAG,CAAA,SAAA,CAAA,iCAAA,+DACd,CAAA,CAAA,CAAU,CAAA,WAAA,CAAA,uBAUhB,CAAA,GAASC,CAAAA,CAAe,CAAE,CAAA,SACxB,CAAA,CAAA,CAAA,GAA2B,CAAA,CAAA,CAAA,CAAA,OAAM,6BAAA,CAAA,CAAA,KAAA,CAAU,CAAA,WAAA,CAAA,iBAO7C,CAAA,GAASC,CAAAA,CAAgB,CACvB,CAAA,SAAAH,CAAAA,CACA,CAAA,SAAA,CAAAI,CAAAA,CACA,UAIA,CAAA,CAAA,CAAA,GACsB,CAAA,CAAA,CAAA,CAAA,OAAA,6BAAA,CAAA,CAAA,iBACPH,CACT,CAAA,SAAA,CAAA,iCAAA,0nBAGF,CAAA,CAAA,CAAU,CAAA,WAAA,CAAA,kBAGT,CAAA,GACCI,CAAAA,CAAC,QAAI,CAAA,CAAA,CAAA,6BAAA,KAAU,CAAA,CAAA,SAAA,CAAA,2EACZC,CAAA,QAAiB,CAAA,6BAAA,6BAAU,CAAA,CAAA,SAAW,CACzC,UAIR,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,4CAAA","file":"/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-GDOXPS6I.cjs","sourcesContent":[null,"'use client';\n\nimport type { ComponentProps, JSX } from 'react';\n\nimport { GripVerticalIcon } from 'lucide-react';\nimport * as ResizablePrimitive from 'react-resizable-panels';\n\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: ResizablePanelGroup\n * -------------------------------------------------------------------------- */\n\nfunction ResizablePanelGroup({\n className,\n ...props\n}: ComponentProps<typeof ResizablePrimitive.PanelGroup>): JSX.Element {\n return (\n <ResizablePrimitive.PanelGroup\n className={cn('flex size-full data-[panel-group-direction=vertical]:flex-col', className)}\n data-slot=\"resizable-panel-group\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ResizablePanel\n * -------------------------------------------------------------------------- */\n\nfunction ResizablePanel({ ...props }: ComponentProps<typeof ResizablePrimitive.Panel>): JSX.Element {\n return <ResizablePrimitive.Panel data-slot=\"resizable-panel\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ResizableHandle\n * -------------------------------------------------------------------------- */\n\nfunction ResizableHandle({\n className,\n withHandle,\n ...props\n}: ComponentProps<typeof ResizablePrimitive.PanelResizeHandle> & {\n withHandle?: boolean;\n}): JSX.Element {\n return (\n <ResizablePrimitive.PanelResizeHandle\n className={cn(\n 'bg-border focus-visible:bg-ring focus-visible:ring-ring/50 focus-visible:ring-3 outline-hidden relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90',\n className,\n )}\n data-slot=\"resizable-handle\"\n {...props}\n >\n {withHandle ? (\n <div className=\"bg-border z-10 flex h-4 w-3 items-center justify-center rounded-sm border\">\n <GripVerticalIcon className=\"size-2.5\" />\n </div>\n ) : null}\n </ResizablePrimitive.PanelResizeHandle>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { ResizableHandle, ResizablePanel, ResizablePanelGroup };\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-GPPLLR2C.cjs","../src/components/textarea.tsx"],"names":["Textarea","className","props","jsx","cn"],"mappings":"AAAA,iIAAwC,+CCUpC,SAFKA,CAAAA,CAAS,CAAE,SAAA,CAAAC,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAA4C,CAClF,OACEC,6BAAAA,UAAC,CAAA,CACC,SAAA,CAAWC,iCAAAA,0gBACT,CACAH,CACF,CAAA,CACA,WAAA,CAAU,UAAA,CACT,GAAGC,CAAAA,CACN,CAEJ,CAAA,cAAA","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-GPPLLR2C.cjs","sourcesContent":[null,"import type { ComponentProps, JSX } from 'react';\n\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: Textarea\n * -------------------------------------------------------------------------- */\n\nfunction Textarea({ className, ...props }: ComponentProps<'textarea'>): JSX.Element {\n return (\n <textarea\n className={cn(\n 'border-input hover:not-disabled:not-focus-visible:border-ring/60 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3 placeholder:text-muted-foreground shadow-xs outline-hidden aria-invalid:border-destructive hover:not-disabled:not-focus-within:aria-invalid:border-destructive/60 focus-within:aria-invalid:ring-destructive/20 dark:focus-within:aria-invalid:ring-destructive/40 dark:bg-input/30 flex min-h-16 w-full grow rounded-lg border px-3 py-2 text-base transition disabled:opacity-50 md:text-sm',\n className,\n )}\n data-slot=\"textarea\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Textarea };\n"]}
1
+ {"version":3,"sources":["/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-GPPLLR2C.cjs","../src/components/textarea.tsx"],"names":["Textarea","className","props","jsx","cn"],"mappings":"AAAA,iIAAwC,+CCUpC,SAFKA,CAAAA,CAAS,CAAE,SAAA,CAAAC,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAA4C,CAClF,OACEC,6BAAAA,UAAC,CAAA,CACC,SAAA,CAAWC,iCAAAA,0gBACT,CACAH,CACF,CAAA,CACA,WAAA,CAAU,UAAA,CACT,GAAGC,CAAAA,CACN,CAEJ,CAAA,cAAA","file":"/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-GPPLLR2C.cjs","sourcesContent":[null,"import type { ComponentProps, JSX } from 'react';\n\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: Textarea\n * -------------------------------------------------------------------------- */\n\nfunction Textarea({ className, ...props }: ComponentProps<'textarea'>): JSX.Element {\n return (\n <textarea\n className={cn(\n 'border-input hover:not-disabled:not-focus-visible:border-ring/60 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3 placeholder:text-muted-foreground shadow-xs outline-hidden aria-invalid:border-destructive hover:not-disabled:not-focus-within:aria-invalid:border-destructive/60 focus-within:aria-invalid:ring-destructive/20 dark:focus-within:aria-invalid:ring-destructive/40 dark:bg-input/30 flex min-h-16 w-full grow rounded-lg border px-3 py-2 text-base transition disabled:opacity-50 md:text-sm',\n className,\n )}\n data-slot=\"textarea\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Textarea };\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-HD2FCRL3.cjs","../src/components/avatar.tsx"],"names":["Avatar","className","props","jsx","cn","AvatarImage","AvatarFallback"],"mappings":"AAAA,mZAAwC,oGCEP,+CAU7B,SAFKA,CAAAA,CAAO,CAAE,SAAA,CAAAC,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAA6D,CACjG,OACEC,6BAAAA,CAAiB,CAAA,IAAA,CAAhB,CACC,SAAA,CAAWC,iCAAAA,4DAAG,CAA8DH,CAAS,CAAA,CACrF,WAAA,CAAU,QAAA,CACT,GAAGC,CAAAA,CACN,CAEJ,CAMA,SAASG,CAAAA,CAAY,CAAE,SAAA,CAAAJ,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAA8D,CACvG,OACEC,6BAAAA,CAAiB,CAAA,KAAA,CAAhB,CAAsB,SAAA,CAAWC,iCAAAA,yBAAG,CAA2BH,CAAS,CAAA,CAAG,WAAA,CAAU,cAAA,CAAgB,GAAGC,CAAAA,CAAO,CAEpH,CAMA,SAASI,CAAAA,CAAe,CAAE,SAAA,CAAAL,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAAiE,CAC7G,OACEC,6BAAAA,CAAiB,CAAA,QAAA,CAAhB,CACC,SAAA,CAAWC,iCAAAA,kEAAG,CAAoEH,CAAS,CAAA,CAC3F,WAAA,CAAU,iBAAA,CACT,GAAGC,CAAAA,CACN,CAEJ,CAAA,4CAAA","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-HD2FCRL3.cjs","sourcesContent":[null,"import type { ComponentProps, JSX } from 'react';\n\nimport * as AvatarPrimitive from '@radix-ui/react-avatar';\n\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: Avatar\n * -------------------------------------------------------------------------- */\n\nfunction Avatar({ className, ...props }: ComponentProps<typeof AvatarPrimitive.Root>): JSX.Element {\n return (\n <AvatarPrimitive.Root\n className={cn('relative flex size-8 shrink-0 overflow-hidden rounded-full', className)}\n data-slot=\"avatar\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: AvatarImage\n * -------------------------------------------------------------------------- */\n\nfunction AvatarImage({ className, ...props }: ComponentProps<typeof AvatarPrimitive.Image>): JSX.Element {\n return (\n <AvatarPrimitive.Image className={cn('aspect-square size-full', className)} data-slot=\"avatar-image\" {...props} />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: AvatarFallback\n * -------------------------------------------------------------------------- */\n\nfunction AvatarFallback({ className, ...props }: ComponentProps<typeof AvatarPrimitive.Fallback>): JSX.Element {\n return (\n <AvatarPrimitive.Fallback\n className={cn('bg-muted flex size-full items-center justify-center rounded-full', className)}\n data-slot=\"avatar-fallback\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Avatar, AvatarFallback, AvatarImage };\n"]}
1
+ {"version":3,"sources":["/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-HD2FCRL3.cjs","../src/components/avatar.tsx"],"names":["Avatar","className","props","jsx","cn","AvatarImage","AvatarFallback"],"mappings":"AAAA,mZAAwC,oGCEP,+CAU7B,SAFKA,CAAAA,CAAO,CAAE,SAAA,CAAAC,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAA6D,CACjG,OACEC,6BAAAA,CAAiB,CAAA,IAAA,CAAhB,CACC,SAAA,CAAWC,iCAAAA,4DAAG,CAA8DH,CAAS,CAAA,CACrF,WAAA,CAAU,QAAA,CACT,GAAGC,CAAAA,CACN,CAEJ,CAMA,SAASG,CAAAA,CAAY,CAAE,SAAA,CAAAJ,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAA8D,CACvG,OACEC,6BAAAA,CAAiB,CAAA,KAAA,CAAhB,CAAsB,SAAA,CAAWC,iCAAAA,yBAAG,CAA2BH,CAAS,CAAA,CAAG,WAAA,CAAU,cAAA,CAAgB,GAAGC,CAAAA,CAAO,CAEpH,CAMA,SAASI,CAAAA,CAAe,CAAE,SAAA,CAAAL,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAAiE,CAC7G,OACEC,6BAAAA,CAAiB,CAAA,QAAA,CAAhB,CACC,SAAA,CAAWC,iCAAAA,kEAAG,CAAoEH,CAAS,CAAA,CAC3F,WAAA,CAAU,iBAAA,CACT,GAAGC,CAAAA,CACN,CAEJ,CAAA,4CAAA","file":"/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-HD2FCRL3.cjs","sourcesContent":[null,"import type { ComponentProps, JSX } from 'react';\n\nimport * as AvatarPrimitive from '@radix-ui/react-avatar';\n\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: Avatar\n * -------------------------------------------------------------------------- */\n\nfunction Avatar({ className, ...props }: ComponentProps<typeof AvatarPrimitive.Root>): JSX.Element {\n return (\n <AvatarPrimitive.Root\n className={cn('relative flex size-8 shrink-0 overflow-hidden rounded-full', className)}\n data-slot=\"avatar\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: AvatarImage\n * -------------------------------------------------------------------------- */\n\nfunction AvatarImage({ className, ...props }: ComponentProps<typeof AvatarPrimitive.Image>): JSX.Element {\n return (\n <AvatarPrimitive.Image className={cn('aspect-square size-full', className)} data-slot=\"avatar-image\" {...props} />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: AvatarFallback\n * -------------------------------------------------------------------------- */\n\nfunction AvatarFallback({ className, ...props }: ComponentProps<typeof AvatarPrimitive.Fallback>): JSX.Element {\n return (\n <AvatarPrimitive.Fallback\n className={cn('bg-muted flex size-full items-center justify-center rounded-full', className)}\n data-slot=\"avatar-fallback\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Avatar, AvatarFallback, AvatarImage };\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-HFJKDL4E.cjs","../src/components/kbd.tsx"],"names":["Kbd","asChild","className","props","jsx","Slot","cn"],"mappings":"AAAA,iIAAwC,iDCEnB,+CAkBjB,SAVKA,CAAAA,CAAI,CACX,OAAA,CAAAC,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,CAEgB,CAGd,OACEC,6BAAAA,CAHgBH,CAAUI,eAAAA,CAAO,KAAA,CAGhC,CACC,SAAA,CAAWC,iCAAAA,sIACT,CACAJ,CACF,CAAA,CACA,WAAA,CAAU,KAAA,CACT,GAAGC,CAAAA,CACN,CAEJ,CAAA,cAAA","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-HFJKDL4E.cjs","sourcesContent":[null,"import type { ComponentProps, JSX } from 'react';\n\nimport { Slot } from '@radix-ui/react-slot';\n\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: Kbd\n * -------------------------------------------------------------------------- */\n\nfunction Kbd({\n asChild,\n className,\n ...props\n}: ComponentProps<'kbd'> & {\n asChild?: boolean;\n}): JSX.Element {\n const Component = asChild ? Slot : 'kbd';\n\n return (\n <Component\n className={cn(\n 'bg-muted text-muted-foreground inline-flex h-5 select-none items-center gap-1 rounded-sm border px-1.5 font-mono text-xs font-medium',\n className,\n )}\n data-slot=\"kbd\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Kbd };\n"]}
1
+ {"version":3,"sources":["/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-HFJKDL4E.cjs","../src/components/kbd.tsx"],"names":["Kbd","asChild","className","props","jsx","Slot","cn"],"mappings":"AAAA,iIAAwC,iDCEnB,+CAkBjB,SAVKA,CAAAA,CAAI,CACX,OAAA,CAAAC,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,CAEgB,CAGd,OACEC,6BAAAA,CAHgBH,CAAUI,eAAAA,CAAO,KAAA,CAGhC,CACC,SAAA,CAAWC,iCAAAA,sIACT,CACAJ,CACF,CAAA,CACA,WAAA,CAAU,KAAA,CACT,GAAGC,CAAAA,CACN,CAEJ,CAAA,cAAA","file":"/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-HFJKDL4E.cjs","sourcesContent":[null,"import type { ComponentProps, JSX } from 'react';\n\nimport { Slot } from '@radix-ui/react-slot';\n\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: Kbd\n * -------------------------------------------------------------------------- */\n\nfunction Kbd({\n asChild,\n className,\n ...props\n}: ComponentProps<'kbd'> & {\n asChild?: boolean;\n}): JSX.Element {\n const Component = asChild ? Slot : 'kbd';\n\n return (\n <Component\n className={cn(\n 'bg-muted text-muted-foreground inline-flex h-5 select-none items-center gap-1 rounded-sm border px-1.5 font-mono text-xs font-medium',\n className,\n )}\n data-slot=\"kbd\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Kbd };\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-HPWHFFV6.cjs","../src/components/scroll-area.tsx"],"names":["ScrollAreaPrimitive","useScrollAreaContext","createScrollAreaContext","SCROLL_AREA_NAME","ScrollArea","children","className","props","ScrollAreaProvider","size","jsxs","cn","jsx","ScrollAreaScrollbar","orientation","__scopeScrollArea","scrollAreaScrollbarVariants"],"mappings":"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","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-HPWHFFV6.cjs","sourcesContent":[null,"'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-colors',\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\n/* -----------------------------------------------------------------------------\n * Context: ScrollArea\n * -------------------------------------------------------------------------- */\n\nconst SCROLL_AREA_NAME = 'ScrollArea';\n\ntype ScopedProps<P> = P & { __scopeScrollArea?: Scope };\n\nconst [createScrollAreaContext] = createContextScope(SCROLL_AREA_NAME);\n\ntype ScrollAreaContextValue = Pick<VariantProps<typeof scrollAreaScrollbarVariants>, 'size'>;\n\nconst [ScrollAreaProvider, useScrollAreaContext] = createScrollAreaContext<ScrollAreaContextValue>(SCROLL_AREA_NAME);\n\n/* -----------------------------------------------------------------------------\n * Component: ScrollArea\n * -------------------------------------------------------------------------- */\n\nfunction ScrollArea({\n __scopeScrollArea,\n children,\n className,\n size,\n ...props\n}: ScopedProps<ComponentProps<typeof ScrollAreaPrimitive.Root> & ScrollAreaContextValue>): JSX.Element {\n return (\n <ScrollAreaProvider scope={__scopeScrollArea} size={size}>\n <ScrollAreaPrimitive.Root className={cn('relative', className)} data-slot=\"scroll-area\" {...props}>\n <ScrollAreaPrimitive.Viewport\n className=\"outline-ring ring-ring/50 size-full rounded-[inherit] transition focus-visible:outline-1 focus-visible:ring-4\"\n data-slot=\"scroll-area-viewport\"\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollAreaScrollbar orientation=\"vertical\" />\n <ScrollAreaScrollbar orientation=\"horizontal\" />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n </ScrollAreaProvider>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ScrollAreaScrollbar\n * -------------------------------------------------------------------------- */\n\nfunction ScrollAreaScrollbar({\n __scopeScrollArea,\n className,\n orientation,\n ...props\n}: ScopedProps<ComponentProps<typeof ScrollAreaPrimitive.Scrollbar>>): JSX.Element {\n const { size } = useScrollAreaContext(SCROLL_AREA_NAME, __scopeScrollArea);\n\n return (\n <ScrollAreaPrimitive.Scrollbar\n className={scrollAreaScrollbarVariants({ className, orientation, size })}\n data-slot=\"scroll-area-scrollbar\"\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 { ScrollArea, ScrollAreaScrollbar };\n"]}
1
+ {"version":3,"sources":["/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-HPWHFFV6.cjs","../src/components/scroll-area.tsx"],"names":["ScrollAreaPrimitive","useScrollAreaContext","createScrollAreaContext","SCROLL_AREA_NAME","ScrollArea","children","className","props","ScrollAreaProvider","size","jsxs","cn","jsx","ScrollAreaScrollbar","orientation","__scopeScrollArea","scrollAreaScrollbarVariants"],"mappings":"AAAA,uWAAY,CAAC,wDCMJ,uDACGA,iHACH,qDAwFD,+CA/EN,IAAM,CAAA,CAAA,kCAAA,CAAA,IAAA,CAAA,oDACN,CAAA,gBAEe,CAAA,CAAA,CAAA,SACX,CAAA,OAAa,CAAA,WACb,CAAA,UAGA,CAAA,IAAA,CAAA,IAAW,CAAA,CAAA,CAAA,SACX,CAAA,KAAa,CAAA,WACb,CAAA,UAGA,CAAA,IAAA,CAAA,IAAW,CAAA,CAAA,CAAA,SACX,CAAA,OAAa,CAAA,WACb,CAAA,UAGA,CAAA,IAAA,CAAA,IAAW,CAAA,CAAA,CAAA,SACX,CAAA,OAAa,CAAA,WAAA,CACb,YAGA,CAAA,IAAA,CAAA,IAAW,CAAA,CAAA,CAAA,SACX,CAAA,KAAa,CAAA,WAAA,CACb,YAGA,CAAA,IAAA,CAAA,IAAW,CAAA,CAAA,CAAA,SACX,CAAA,OAAa,CAAA,WAAA,CACb,YAGJ,CAAA,IAAA,CAAA,IACE,CAAA,CAAA,CAAA,QAAA,CAAa,CACX,WAAY,CAAA,CAAA,UAAA,CAAA,+CACF,CAAA,QAAA,CAAA,+CAGJ,CAAA,CAAA,IACF,CAAA,CAAA,IACA,CAAA,EACJ,CAAA,EAAI,CAAA,EAER,CAAA,EACA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,eAEE,CAAA,CAAA,IAAA,CAAA,IAAU,CAAA,QAEb,CAAA,UAMwB,CAAA,CAAA,CAAA,CAAA,CAAA,CAInB,YAIqBC,CAAoB,CAAA,CAAIC,CAAAA,CAAgDC,8CAAgB,CAMnH,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAASC,CAAAA,CAAW,CAClB,CAAA,SAAA,CAAA,CAAA,CAAA,iBACAC,CACA,CAAA,CAAA,QAAAC,CAAAA,CACA,CAAA,SACGC,CACL,CAAA,CAAuG,IACrG,CAAA,CAAA,CAAA,GACGC,CAAAA,CAAA,CAAmB,CAAA,OAA0B,6BAAA,CAAA,CAAA,CAAMC,KAClD,CAAA,CAAA,CAAA,IAAAC,CAAqB,CAAA,CAAA,QAAK,CAAA,8BAAA,CAAA,CAAA,IAAWC,CAAG,CAAA,SAAA,CAAYL,iCAAS,UAAG,CAAA,CAAA,CAAU,CAAA,WAAA,CAAA,aACxE,CAAA,GAAAM,CAAqB,CAAA,QAAA,CAAA,CAApB,6BACC,CAAA,CAAA,QAAU,CAAA,CAAA,SAAA,CAAA,+GACA,CAAA,WAAA,CAAA,sBAGZ,CACAA,QAAqB,CAAA,CAAA,CAAA,CAAA,CAAA,6BAAA,CAAA,CAAY,CAAA,WAAW,CAC5CA,UAAqB,CAAA,CAAA,CAAA,6BAAA,CAAA,CAAY,CAAA,WAAA,CAAa,YACzB,CAApB,CAAA,CAA2B,6BAAA,CAC9B,CAAA,MASN,CAAA,CAAA,CAAA,CAAA,CAAA,CAASC,CAAAA,CAAoB,CAC3B,CAAA,SAAA,CAAA,CAAA,CAAA,iBACAP,CAAAA,CACA,CAAA,SAAA,CAAA,CAAAQ,CAAAA,WAGM,CAAE,CAAA,CAAA,GAAAL,CAAK,CAAA,CAAIR,CAAAA,GAAuCc,CAAiB,IAEzE,CAAA,CAAA,CAAA,CAAA,CACEH,CAAAA,CAAqB,CAAA,CAAA,CAAA,CAAA,OAAA,6BAApB,CACC,CAAA,SAAWI,CAA4B,CAAE,SAAA,CAAAV,CAAAA,CAAW,CAAA,SAAA,CAAA,CAAAQ,CAAAA,WACpD,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAU,CAAA,WAAA,CAAA,uBACGA,CAAAA,WAGb,CAAA,CAAA,CAAA,GAAqB,CAAA,CAAA,QAAA,CAAA,6BAAA,CAAA,CAAA,eAA0B,CAAA,CAAA,SAAA,CAAA,wCAGrD,CAAA,CAAA,CAAA,CAAA,CAAA,6BAAA","file":"/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-HPWHFFV6.cjs","sourcesContent":[null,"'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-colors',\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\n/* -----------------------------------------------------------------------------\n * Context: ScrollArea\n * -------------------------------------------------------------------------- */\n\nconst SCROLL_AREA_NAME = 'ScrollArea';\n\ntype ScopedProps<P> = P & { __scopeScrollArea?: Scope };\n\nconst [createScrollAreaContext] = createContextScope(SCROLL_AREA_NAME);\n\ntype ScrollAreaContextValue = Pick<VariantProps<typeof scrollAreaScrollbarVariants>, 'size'>;\n\nconst [ScrollAreaProvider, useScrollAreaContext] = createScrollAreaContext<ScrollAreaContextValue>(SCROLL_AREA_NAME);\n\n/* -----------------------------------------------------------------------------\n * Component: ScrollArea\n * -------------------------------------------------------------------------- */\n\nfunction ScrollArea({\n __scopeScrollArea,\n children,\n className,\n size,\n ...props\n}: ScopedProps<ComponentProps<typeof ScrollAreaPrimitive.Root> & ScrollAreaContextValue>): JSX.Element {\n return (\n <ScrollAreaProvider scope={__scopeScrollArea} size={size}>\n <ScrollAreaPrimitive.Root className={cn('relative', className)} data-slot=\"scroll-area\" {...props}>\n <ScrollAreaPrimitive.Viewport\n className=\"outline-ring ring-ring/50 size-full rounded-[inherit] transition focus-visible:outline-1 focus-visible:ring-4\"\n data-slot=\"scroll-area-viewport\"\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollAreaScrollbar orientation=\"vertical\" />\n <ScrollAreaScrollbar orientation=\"horizontal\" />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n </ScrollAreaProvider>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ScrollAreaScrollbar\n * -------------------------------------------------------------------------- */\n\nfunction ScrollAreaScrollbar({\n __scopeScrollArea,\n className,\n orientation,\n ...props\n}: ScopedProps<ComponentProps<typeof ScrollAreaPrimitive.Scrollbar>>): JSX.Element {\n const { size } = useScrollAreaContext(SCROLL_AREA_NAME, __scopeScrollArea);\n\n return (\n <ScrollAreaPrimitive.Scrollbar\n className={scrollAreaScrollbarVariants({ className, orientation, size })}\n data-slot=\"scroll-area-scrollbar\"\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 { ScrollArea, ScrollAreaScrollbar };\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-IDELSFHC.cjs","../src/components/tooltip.tsx"],"names":["TooltipProvider","props","jsx","Tooltip","TooltipTrigger","TooltipContent","className","children","sideOffset","jsxs","cn","TooltipArrow"],"mappings":"AAAA,mZAAmC,uGCED,+CASzB,SADAA,CAAAA,CAAgB,CAAE,GAAGC,CAAM,CAAA,CAAkE,CACpG,OAAOC,6BAAAA,CAAkB,CAAA,QAAA,CAAjB,CAA0B,WAAA,CAAU,kBAAA,CAAoB,GAAGD,CAAAA,CAAO,CAC5E,CAMA,SAASE,CAAAA,CAAQ,CAAE,GAAGF,CAAM,CAAA,CAA8D,CACxF,OAAOC,6BAAAA,CAAkB,CAAA,IAAA,CAAjB,CAAsB,WAAA,CAAU,SAAA,CAAW,GAAGD,CAAAA,CAAO,CAC/D,CAMA,SAASG,CAAAA,CAAe,CAAE,GAAGH,CAAM,CAAA,CAAiE,CAClG,OAAOC,6BAAAA,CAAkB,CAAA,OAAA,CAAjB,CAAyB,WAAA,CAAU,iBAAA,CAAmB,GAAGD,CAAAA,CAAO,CAC1E,CAMA,SAASI,CAAAA,CAAe,CACtB,SAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CAAa,CAAA,CACb,GAAGP,CACL,CAAA,CAAiE,CAC/D,OACEC,6BAAAA,CAAkB,CAAA,MAAA,CAAjB,CACC,QAAA,CAAAO,8BAAAA,CAAkB,CAAA,OAAA,CAAjB,CACC,SAAA,CAAWC,iCAAAA,iwBACT,CACA,iDAAA,CACAJ,CACF,CAAA,CACA,gBAAA,CAAkB,CAAA,CAClB,WAAA,CAAU,iBAAA,CACV,UAAA,CAAYE,CAAAA,CACX,GAAGP,CAAAA,CAEH,QAAA,CAAA,CAAAM,CAAAA,CACDL,6BAAAA,CAACS,CAAA,CAAA,CAAa,CAAA,CAAA,CAChB,CAAA,CACF,CAEJ,CAMA,SAASA,CAAAA,CAAa,CAAE,SAAA,CAAAL,CAAAA,CAAW,GAAGL,CAAM,CAAA,CAA+D,CACzG,OAAOC,6BAAAA,CAAkB,CAAA,KAAA,CAAjB,CAAuB,SAAA,CAAWQ,iCAAAA,cAAG,CAAgBJ,CAAS,CAAA,CAAG,WAAA,CAAU,eAAA,CAAiB,GAAGL,CAAAA,CAAO,CAChH,CAAA,2DAAA","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-IDELSFHC.cjs","sourcesContent":[null,"import type { ComponentProps, JSX } from 'react';\n\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip';\n\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: TooltipProvider\n * -------------------------------------------------------------------------- */\n\nfunction TooltipProvider({ ...props }: ComponentProps<typeof TooltipPrimitive.Provider>): JSX.Element {\n return <TooltipPrimitive.Provider data-slot=\"tooltip-provider\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: Tooltip\n * -------------------------------------------------------------------------- */\n\nfunction Tooltip({ ...props }: ComponentProps<typeof TooltipPrimitive.Root>): JSX.Element {\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: TooltipTrigger\n * -------------------------------------------------------------------------- */\n\nfunction TooltipTrigger({ ...props }: ComponentProps<typeof TooltipPrimitive.Trigger>): JSX.Element {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: TooltipContent\n * -------------------------------------------------------------------------- */\n\nfunction TooltipContent({\n className,\n children,\n sideOffset = 4,\n ...props\n}: ComponentProps<typeof TooltipPrimitive.Content>): JSX.Element {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n className={cn(\n 'bg-primary text-primary-foreground data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-[state=delayed-open]:data-[side=top]:slide-in-from-bottom-2 data-[state=delayed-open]:data-[side=right]:slide-in-from-left-2 data-[state=delayed-open]:data-[side=bottom]:slide-in-from-top-2 data-[state=delayed-open]:data-[side=left]:slide-in-from-right-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 z-50 rounded-md px-3 py-1.5 text-xs',\n 'max-w-(--radix-tooltip-content-available-width)',\n className,\n )}\n collisionPadding={8}\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n {...props}\n >\n {children}\n <TooltipArrow />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: TooltipArrow\n * -------------------------------------------------------------------------- */\n\nfunction TooltipArrow({ className, ...props }: ComponentProps<typeof TooltipPrimitive.Arrow>): JSX.Element {\n return <TooltipPrimitive.Arrow className={cn('fill-primary', className)} data-slot=\"tooltip-arrow\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };\n"]}
1
+ {"version":3,"sources":["/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-IDELSFHC.cjs","../src/components/tooltip.tsx"],"names":["TooltipProvider","props","jsx","Tooltip","TooltipTrigger","TooltipContent","className","children","sideOffset","jsxs","cn","TooltipArrow"],"mappings":"AAAA,mZAAmC,uGCED,+CASzB,SADAA,CAAAA,CAAgB,CAAE,GAAGC,CAAM,CAAA,CAAkE,CACpG,OAAOC,6BAAAA,CAAkB,CAAA,QAAA,CAAjB,CAA0B,WAAA,CAAU,kBAAA,CAAoB,GAAGD,CAAAA,CAAO,CAC5E,CAMA,SAASE,CAAAA,CAAQ,CAAE,GAAGF,CAAM,CAAA,CAA8D,CACxF,OAAOC,6BAAAA,CAAkB,CAAA,IAAA,CAAjB,CAAsB,WAAA,CAAU,SAAA,CAAW,GAAGD,CAAAA,CAAO,CAC/D,CAMA,SAASG,CAAAA,CAAe,CAAE,GAAGH,CAAM,CAAA,CAAiE,CAClG,OAAOC,6BAAAA,CAAkB,CAAA,OAAA,CAAjB,CAAyB,WAAA,CAAU,iBAAA,CAAmB,GAAGD,CAAAA,CAAO,CAC1E,CAMA,SAASI,CAAAA,CAAe,CACtB,SAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CAAa,CAAA,CACb,GAAGP,CACL,CAAA,CAAiE,CAC/D,OACEC,6BAAAA,CAAkB,CAAA,MAAA,CAAjB,CACC,QAAA,CAAAO,8BAAAA,CAAkB,CAAA,OAAA,CAAjB,CACC,SAAA,CAAWC,iCAAAA,iwBACT,CACA,iDAAA,CACAJ,CACF,CAAA,CACA,gBAAA,CAAkB,CAAA,CAClB,WAAA,CAAU,iBAAA,CACV,UAAA,CAAYE,CAAAA,CACX,GAAGP,CAAAA,CAEH,QAAA,CAAA,CAAAM,CAAAA,CACDL,6BAAAA,CAACS,CAAA,CAAA,CAAa,CAAA,CAAA,CAChB,CAAA,CACF,CAEJ,CAMA,SAASA,CAAAA,CAAa,CAAE,SAAA,CAAAL,CAAAA,CAAW,GAAGL,CAAM,CAAA,CAA+D,CACzG,OAAOC,6BAAAA,CAAkB,CAAA,KAAA,CAAjB,CAAuB,SAAA,CAAWQ,iCAAAA,cAAG,CAAgBJ,CAAS,CAAA,CAAG,WAAA,CAAU,eAAA,CAAiB,GAAGL,CAAAA,CAAO,CAChH,CAAA,2DAAA","file":"/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-IDELSFHC.cjs","sourcesContent":[null,"import type { ComponentProps, JSX } from 'react';\n\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip';\n\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: TooltipProvider\n * -------------------------------------------------------------------------- */\n\nfunction TooltipProvider({ ...props }: ComponentProps<typeof TooltipPrimitive.Provider>): JSX.Element {\n return <TooltipPrimitive.Provider data-slot=\"tooltip-provider\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: Tooltip\n * -------------------------------------------------------------------------- */\n\nfunction Tooltip({ ...props }: ComponentProps<typeof TooltipPrimitive.Root>): JSX.Element {\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: TooltipTrigger\n * -------------------------------------------------------------------------- */\n\nfunction TooltipTrigger({ ...props }: ComponentProps<typeof TooltipPrimitive.Trigger>): JSX.Element {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: TooltipContent\n * -------------------------------------------------------------------------- */\n\nfunction TooltipContent({\n className,\n children,\n sideOffset = 4,\n ...props\n}: ComponentProps<typeof TooltipPrimitive.Content>): JSX.Element {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n className={cn(\n 'bg-primary text-primary-foreground data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-[state=delayed-open]:data-[side=top]:slide-in-from-bottom-2 data-[state=delayed-open]:data-[side=right]:slide-in-from-left-2 data-[state=delayed-open]:data-[side=bottom]:slide-in-from-top-2 data-[state=delayed-open]:data-[side=left]:slide-in-from-right-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 z-50 rounded-md px-3 py-1.5 text-xs',\n 'max-w-(--radix-tooltip-content-available-width)',\n className,\n )}\n collisionPadding={8}\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n {...props}\n >\n {children}\n <TooltipArrow />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: TooltipArrow\n * -------------------------------------------------------------------------- */\n\nfunction TooltipArrow({ className, ...props }: ComponentProps<typeof TooltipPrimitive.Arrow>): JSX.Element {\n return <TooltipPrimitive.Arrow className={cn('fill-primary', className)} data-slot=\"tooltip-arrow\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-IK76PHGB.cjs","../src/components/label.tsx"],"names":["Label","className","props","jsx","cn"],"mappings":"AAAA,mZAAwC,iGCER,+CAU5B,SAFKA,CAAAA,CAAM,CAAE,SAAA,CAAAC,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAA4D,CAC/F,OACEC,6BAAAA,CAAgB,CAAA,IAAA,CAAf,CACC,SAAA,CAAWC,iCAAAA,sMACT,CACAH,CACF,CAAA,CACA,WAAA,CAAU,OAAA,CACT,GAAGC,CAAAA,CACN,CAEJ,CAAA,cAAA","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-IK76PHGB.cjs","sourcesContent":[null,"import type { ComponentProps, JSX } from 'react';\n\nimport * as LabelPrimitive from '@radix-ui/react-label';\n\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: Label\n * -------------------------------------------------------------------------- */\n\nfunction Label({ className, ...props }: ComponentProps<typeof LabelPrimitive.Root>): JSX.Element {\n return (\n <LabelPrimitive.Root\n className={cn(\n 'peer-data-disabled:opacity-50 group-data-disabled:opacity-50 data-invalid:text-destructive peer-aria-invalid:text-destructive inline-block text-sm font-medium leading-none peer-disabled:opacity-50',\n className,\n )}\n data-slot=\"label\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Label };\n"]}
1
+ {"version":3,"sources":["/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-IK76PHGB.cjs","../src/components/label.tsx"],"names":["Label","className","props","jsx","cn"],"mappings":"AAAA,mZAAwC,iGCER,+CAU5B,SAFKA,CAAAA,CAAM,CAAE,SAAA,CAAAC,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAA4D,CAC/F,OACEC,6BAAAA,CAAgB,CAAA,IAAA,CAAf,CACC,SAAA,CAAWC,iCAAAA,sMACT,CACAH,CACF,CAAA,CACA,WAAA,CAAU,OAAA,CACT,GAAGC,CAAAA,CACN,CAEJ,CAAA,cAAA","file":"/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-IK76PHGB.cjs","sourcesContent":[null,"import type { ComponentProps, JSX } from 'react';\n\nimport * as LabelPrimitive from '@radix-ui/react-label';\n\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: Label\n * -------------------------------------------------------------------------- */\n\nfunction Label({ className, ...props }: ComponentProps<typeof LabelPrimitive.Root>): JSX.Element {\n return (\n <LabelPrimitive.Root\n className={cn(\n 'peer-data-disabled:opacity-50 group-data-disabled:opacity-50 data-invalid:text-destructive peer-aria-invalid:text-destructive inline-block text-sm font-medium leading-none peer-disabled:opacity-50',\n className,\n )}\n data-slot=\"label\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Label };\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/collapsible.tsx"],"names":["Collapsible","props","jsx","CollapsibleTrigger","CollapsibleContent"],"mappings":"AAEA,8cAAsC,+CAO7B,SADAA,CAAAA,CAAY,CAAE,GAAGC,CAAM,CAAA,CAAkE,CAChG,OAAOC,6BAAAA,CAAsB,CAAA,IAAA,CAArB,CAA0B,WAAA,CAAU,aAAA,CAAe,GAAGD,CAAAA,CAAO,CACvE,CAMA,SAASE,CAAAA,CAAmB,CAAE,GAAGF,CAAM,CAAA,CAAgF,CACrH,OAAOC,6BAAAA,CAAsB,CAAA,kBAAA,CAArB,CAAwC,WAAA,CAAU,qBAAA,CAAuB,GAAGD,CAAAA,CAAO,CAC7F,CAMA,SAASG,CAAAA,CAAmB,CAAE,GAAGH,CAAM,CAAA,CAAgF,CACrH,OAAOC,6BAAAA,CAAsB,CAAA,kBAAA,CAArB,CAAwC,WAAA,CAAU,qBAAA,CAAuB,GAAGD,CAAAA,CAAO,CAC7F,CAAA,4CAAA","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-J7FLM6VE.cjs","sourcesContent":["import type { ComponentProps, JSX } from 'react';\n\nimport * as CollapsiblePrimitive from '@radix-ui/react-collapsible';\n\n/* -----------------------------------------------------------------------------\n * Component: Collapsible\n * -------------------------------------------------------------------------- */\n\nfunction Collapsible({ ...props }: ComponentProps<typeof CollapsiblePrimitive.Root>): JSX.Element {\n return <CollapsiblePrimitive.Root data-slot=\"collapsible\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CollapsibleTrigger\n * -------------------------------------------------------------------------- */\n\nfunction CollapsibleTrigger({ ...props }: ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger>): JSX.Element {\n return <CollapsiblePrimitive.CollapsibleTrigger data-slot=\"collapsible-trigger\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CollapsibleContent\n * -------------------------------------------------------------------------- */\n\nfunction CollapsibleContent({ ...props }: ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>): JSX.Element {\n return <CollapsiblePrimitive.CollapsibleContent data-slot=\"collapsible-content\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Collapsible, CollapsibleContent, CollapsibleTrigger };\n"]}
1
+ {"version":3,"sources":["../src/components/collapsible.tsx"],"names":["Collapsible","props","jsx","CollapsibleTrigger","CollapsibleContent"],"mappings":"AAEA,8cAAsC,+CAO7B,SADAA,CAAAA,CAAY,CAAE,GAAGC,CAAM,CAAA,CAAkE,CAChG,OAAOC,6BAAAA,CAAsB,CAAA,IAAA,CAArB,CAA0B,WAAA,CAAU,aAAA,CAAe,GAAGD,CAAAA,CAAO,CACvE,CAMA,SAASE,CAAAA,CAAmB,CAAE,GAAGF,CAAM,CAAA,CAAgF,CACrH,OAAOC,6BAAAA,CAAsB,CAAA,kBAAA,CAArB,CAAwC,WAAA,CAAU,qBAAA,CAAuB,GAAGD,CAAAA,CAAO,CAC7F,CAMA,SAASG,CAAAA,CAAmB,CAAE,GAAGH,CAAM,CAAA,CAAgF,CACrH,OAAOC,6BAAAA,CAAsB,CAAA,kBAAA,CAArB,CAAwC,WAAA,CAAU,qBAAA,CAAuB,GAAGD,CAAAA,CAAO,CAC7F,CAAA,4CAAA","file":"/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-J7FLM6VE.cjs","sourcesContent":["import type { ComponentProps, JSX } from 'react';\n\nimport * as CollapsiblePrimitive from '@radix-ui/react-collapsible';\n\n/* -----------------------------------------------------------------------------\n * Component: Collapsible\n * -------------------------------------------------------------------------- */\n\nfunction Collapsible({ ...props }: ComponentProps<typeof CollapsiblePrimitive.Root>): JSX.Element {\n return <CollapsiblePrimitive.Root data-slot=\"collapsible\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CollapsibleTrigger\n * -------------------------------------------------------------------------- */\n\nfunction CollapsibleTrigger({ ...props }: ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger>): JSX.Element {\n return <CollapsiblePrimitive.CollapsibleTrigger data-slot=\"collapsible-trigger\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CollapsibleContent\n * -------------------------------------------------------------------------- */\n\nfunction CollapsibleContent({ ...props }: ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>): JSX.Element {\n return <CollapsiblePrimitive.CollapsibleContent data-slot=\"collapsible-content\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Collapsible, CollapsibleContent, CollapsibleTrigger };\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-JJW4VWZS.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","Button","ArrowLeftIcon","size","ArrowRightIcon"],"mappings":"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","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-JJW4VWZS.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 { Button } from '@/components/button';\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Context: 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\n/* -----------------------------------------------------------------------------\n * Component: Carousel\n * -------------------------------------------------------------------------- */\n\nfunction Carousel({\n __scopeCarousel,\n children,\n className,\n opts,\n orientation,\n plugins,\n setApi,\n ...props\n}: ScopedProps<BaseCarouselProps & ComponentProps<'div'>>): 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 data-slot=\"carousel\"\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\nfunction CarouselContent({\n __scopeCarousel,\n className,\n classNames,\n ...props\n}: ScopedProps<\n ComponentProps<'div'> & {\n classNames?: {\n content?: string;\n wrapper?: string;\n };\n }\n>): JSX.Element {\n const { carouselRef, orientation } = useCarouselContext(CAROUSEL_CONTENT_NAME, __scopeCarousel);\n\n return (\n <div ref={carouselRef} className={cn('overflow-hidden', classNames?.wrapper)} data-slot=\"carousel-content\">\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\nfunction CarouselItem({ __scopeCarousel, className, ...props }: ScopedProps<ComponentProps<'div'>>): 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 data-slot=\"carousel-item\"\n role=\"group\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CarouselPrevious\n * -------------------------------------------------------------------------- */\n\nconst CAROUSEL_PREVIOUS_NAME = 'CarouselPrevious';\n\nfunction CarouselPrevious({\n __scopeCarousel,\n className,\n size = 'icon',\n variant = 'outline',\n ...props\n}: ScopedProps<ComponentProps<typeof Button>>): JSX.Element {\n const { canScrollPrev, orientation, scrollPrev } = useCarouselContext(CAROUSEL_PREVIOUS_NAME, __scopeCarousel);\n\n return (\n <Button\n aria-label=\"Previous slide\"\n className={cn(\n 'absolute size-8 shadow-none',\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 data-slot=\"carousel-previous\"\n disabled={!canScrollPrev}\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\nfunction CarouselNext({\n __scopeCarousel,\n className,\n size = 'icon',\n variant = 'outline',\n ...props\n}: ScopedProps<ComponentProps<typeof Button>>): JSX.Element {\n const { canScrollNext, orientation, scrollNext } = useCarouselContext(CAROUSEL_NEXT_NAME, __scopeCarousel);\n\n return (\n <Button\n aria-label=\"Next slide\"\n className={cn(\n 'absolute size-8 shadow-none',\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 data-slot=\"carousel-next\"\n disabled={!canScrollNext}\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 { CarouselApi };\nexport { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, createCarouselScope };\n"]}
1
+ {"version":3,"sources":["/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-JJW4VWZS.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","Button","ArrowLeftIcon","size","ArrowRightIcon"],"mappings":"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","file":"/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-JJW4VWZS.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 { Button } from '@/components/button';\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Context: 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\n/* -----------------------------------------------------------------------------\n * Component: Carousel\n * -------------------------------------------------------------------------- */\n\nfunction Carousel({\n __scopeCarousel,\n children,\n className,\n opts,\n orientation,\n plugins,\n setApi,\n ...props\n}: ScopedProps<BaseCarouselProps & ComponentProps<'div'>>): 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 data-slot=\"carousel\"\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\nfunction CarouselContent({\n __scopeCarousel,\n className,\n classNames,\n ...props\n}: ScopedProps<\n ComponentProps<'div'> & {\n classNames?: {\n content?: string;\n wrapper?: string;\n };\n }\n>): JSX.Element {\n const { carouselRef, orientation } = useCarouselContext(CAROUSEL_CONTENT_NAME, __scopeCarousel);\n\n return (\n <div ref={carouselRef} className={cn('overflow-hidden', classNames?.wrapper)} data-slot=\"carousel-content\">\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\nfunction CarouselItem({ __scopeCarousel, className, ...props }: ScopedProps<ComponentProps<'div'>>): 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 data-slot=\"carousel-item\"\n role=\"group\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CarouselPrevious\n * -------------------------------------------------------------------------- */\n\nconst CAROUSEL_PREVIOUS_NAME = 'CarouselPrevious';\n\nfunction CarouselPrevious({\n __scopeCarousel,\n className,\n size = 'icon',\n variant = 'outline',\n ...props\n}: ScopedProps<ComponentProps<typeof Button>>): JSX.Element {\n const { canScrollPrev, orientation, scrollPrev } = useCarouselContext(CAROUSEL_PREVIOUS_NAME, __scopeCarousel);\n\n return (\n <Button\n aria-label=\"Previous slide\"\n className={cn(\n 'absolute size-8 shadow-none',\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 data-slot=\"carousel-previous\"\n disabled={!canScrollPrev}\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\nfunction CarouselNext({\n __scopeCarousel,\n className,\n size = 'icon',\n variant = 'outline',\n ...props\n}: ScopedProps<ComponentProps<typeof Button>>): JSX.Element {\n const { canScrollNext, orientation, scrollNext } = useCarouselContext(CAROUSEL_NEXT_NAME, __scopeCarousel);\n\n return (\n <Button\n aria-label=\"Next slide\"\n className={cn(\n 'absolute size-8 shadow-none',\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 data-slot=\"carousel-next\"\n disabled={!canScrollNext}\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 { CarouselApi };\nexport { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, createCarouselScope };\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-JW6C57Y5.cjs","../src/components/progress.tsx"],"names":["Progress","className","value","props","jsx","cn"],"mappings":"AAAA,ufAAwC,0GCEL,+CAe7B,SAPGA,CAAAA,CAAS,CAAE,SAAA,CAAAC,CAAAA,CAAW,KAAA,CAAAC,CAAAA,CAAO,GAAGC,CAAM,CAAA,CAA+D,CAC5G,OACEC,6BAAAA,CAAmB,CAAA,IAAA,CAAlB,CACC,SAAA,CAAWC,iCAAAA,gEAAG,CAAkEJ,CAAS,CAAA,CACzF,WAAA,CAAU,UAAA,CACT,GAAGE,CAAAA,CAEJ,QAAA,CAAAC,6BAAAA,CAAmB,CAAA,SAAA,CAAlB,CACC,SAAA,CAAU,4CAAA,CACV,WAAA,CAAU,oBAAA,CACV,KAAA,CAAO,CACL,SAAA,CAAW,CAAA,YAAA,EAAe,MAAA,CAAO,GAAA,CAAA,kBAAOF,CAAAA,SAAS,GAAA,CAAE,CAAC,CAAA,EAAA,CACtD,CAAA,CACF,CAAA,CACF,CAEJ,CAAA,cAAA","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-JW6C57Y5.cjs","sourcesContent":[null,"import type { ComponentProps, JSX } from 'react';\n\nimport * as ProgressPrimitive from '@radix-ui/react-progress';\n\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: Progress\n * -------------------------------------------------------------------------- */\n\nfunction Progress({ className, value, ...props }: ComponentProps<typeof ProgressPrimitive.Root>): JSX.Element {\n return (\n <ProgressPrimitive.Root\n className={cn('bg-primary/20 relative h-2 w-full overflow-hidden rounded-full', className)}\n data-slot=\"progress\"\n {...props}\n >\n <ProgressPrimitive.Indicator\n className=\"bg-primary size-full flex-1 transition-all\"\n data-slot=\"progress-indicator\"\n style={{\n transform: `translateX(-${String(100 - (value ?? 0))}%)`,\n }}\n />\n </ProgressPrimitive.Root>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Progress };\n"]}
1
+ {"version":3,"sources":["/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-JW6C57Y5.cjs","../src/components/progress.tsx"],"names":["Progress","className","value","props","jsx","cn"],"mappings":"AAAA,ufAAwC,0GCEL,+CAe7B,SAPGA,CAAAA,CAAS,CAAE,SAAA,CAAAC,CAAAA,CAAW,KAAA,CAAAC,CAAAA,CAAO,GAAGC,CAAM,CAAA,CAA+D,CAC5G,OACEC,6BAAAA,CAAmB,CAAA,IAAA,CAAlB,CACC,SAAA,CAAWC,iCAAAA,gEAAG,CAAkEJ,CAAS,CAAA,CACzF,WAAA,CAAU,UAAA,CACT,GAAGE,CAAAA,CAEJ,QAAA,CAAAC,6BAAAA,CAAmB,CAAA,SAAA,CAAlB,CACC,SAAA,CAAU,4CAAA,CACV,WAAA,CAAU,oBAAA,CACV,KAAA,CAAO,CACL,SAAA,CAAW,CAAA,YAAA,EAAe,MAAA,CAAO,GAAA,CAAA,kBAAOF,CAAAA,SAAS,GAAA,CAAE,CAAC,CAAA,EAAA,CACtD,CAAA,CACF,CAAA,CACF,CAEJ,CAAA,cAAA","file":"/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-JW6C57Y5.cjs","sourcesContent":[null,"import type { ComponentProps, JSX } from 'react';\n\nimport * as ProgressPrimitive from '@radix-ui/react-progress';\n\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: Progress\n * -------------------------------------------------------------------------- */\n\nfunction Progress({ className, value, ...props }: ComponentProps<typeof ProgressPrimitive.Root>): JSX.Element {\n return (\n <ProgressPrimitive.Root\n className={cn('bg-primary/20 relative h-2 w-full overflow-hidden rounded-full', className)}\n data-slot=\"progress\"\n {...props}\n >\n <ProgressPrimitive.Indicator\n className=\"bg-primary size-full flex-1 transition-all\"\n data-slot=\"progress-indicator\"\n style={{\n transform: `translateX(-${String(100 - (value ?? 0))}%)`,\n }}\n />\n </ProgressPrimitive.Root>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Progress };\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-K4Y4Y2YP.cjs","../src/components/pagination.tsx"],"names":["Pagination","className","props","jsx","cn","PaginationContent","PaginationItem","PaginationLink","children","isActive","size","buttonVariants","PaginationPrevious","jsxs","ChevronLeftIcon","PaginationNext","ChevronRightIcon","PaginationEllipsis","EllipsisIcon"],"mappings":"AAAA,iIAAwC,wDAAyC,2CCGjB,+CAW5D,SAFKA,CAAAA,CAAW,CAAE,SAAA,CAAAC,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAAuC,CAC/E,OACEC,6BAAAA,KAAC,CAAA,CACC,YAAA,CAAW,YAAA,CACX,SAAA,CAAWC,iCAAAA,oCAAG,CAAsCH,CAAS,CAAA,CAC7D,WAAA,CAAU,YAAA,CACV,IAAA,CAAK,YAAA,CACJ,GAAGC,CAAAA,CACN,CAEJ,CAMA,SAASG,CAAAA,CAAkB,CAAE,SAAA,CAAAJ,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAAsC,CACrF,OAAOC,6BAAAA,IAAC,CAAA,CAAG,SAAA,CAAWC,iCAAAA,kCAAG,CAAoCH,CAAS,CAAA,CAAG,WAAA,CAAU,oBAAA,CAAsB,GAAGC,CAAAA,CAAO,CACrH,CAMA,SAASI,CAAAA,CAAeJ,CAAAA,CAA0C,CAChE,OAAOC,6BAAAA,IAAC,CAAA,CAAG,WAAA,CAAU,iBAAA,CAAmB,GAAGD,CAAAA,CAAO,CACpD,CAMA,SAASK,CAAAA,CAAe,CACtB,QAAA,CAAAC,CAAAA,CACA,SAAA,CAAAP,CAAAA,CACA,QAAA,CAAAQ,CAAAA,CACA,IAAA,CAAAC,CAAAA,CAAO,MAAA,CACP,GAAGR,CACL,CAAA,CAGkB,CAChB,OACEC,6BAAAA,GAAC,CAAA,CACC,cAAA,CAAcM,CAAAA,CAAW,MAAA,CAAS,KAAA,CAAA,CAClC,SAAA,CAAWE,iCAAAA,CAAiB,SAAA,CAAAV,CAAAA,CAAW,IAAA,CAAAS,CAAAA,CAAM,OAAA,CAASD,CAAAA,CAAW,SAAA,CAAY,OAAQ,CAAC,CAAA,CACtF,WAAA,CAAU,iBAAA,CACT,GAAGP,CAAAA,CAEH,QAAA,CAAAM,CAAAA,CACH,CAEJ,CAMA,SAASI,CAAAA,CAAmB,CAC1B,GAAGV,CACL,CAAA,CAGkB,CAChB,OACEW,8BAAAA,CAACN,CAAA,CAAe,YAAA,CAAW,qBAAA,CAAsB,WAAA,CAAU,qBAAA,CAAsB,IAAA,CAAK,IAAA,CAAM,GAAGL,CAAAA,CAC7F,QAAA,CAAA,CAAAC,6BAAAA,4BAACW,CAAA,CAAgB,SAAA,CAAU,QAAA,CAAS,CAAA,CACpCX,6BAAAA,MAAC,CAAA,CAAK,QAAA,CAAA,UAAA,CAAQ,CAAA,CAAA,CAChB,CAEJ,CAMA,SAASY,CAAAA,CAAe,CACtB,GAAGb,CACL,CAAA,CAGkB,CAChB,OACEW,8BAAAA,CAACN,CAAA,CAAe,YAAA,CAAW,iBAAA,CAAkB,WAAA,CAAU,iBAAA,CAAkB,IAAA,CAAK,IAAA,CAAM,GAAGL,CAAAA,CACrF,QAAA,CAAA,CAAAC,6BAAAA,MAAC,CAAA,CAAK,QAAA,CAAA,MAAA,CAAI,CAAA,CACVA,6BAAAA,6BAACa,CAAA,CAAA,CAAiB,CAAA,CAAA,CACpB,CAEJ,CAMA,SAASC,CAAAA,CAAmB,CAAE,SAAA,CAAAhB,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAAwC,CACxF,OACEW,8BAAAA,MAAC,CAAA,CACC,aAAA,CAAW,CAAA,CAAA,CACX,SAAA,CAAWT,iCAAAA,0CAAG,CAA4CH,CAAS,CAAA,CACnE,WAAA,CAAU,qBAAA,CACT,GAAGC,CAAAA,CAEJ,QAAA,CAAA,CAAAC,6BAAAA,yBAACe,CAAA,CAAa,SAAA,CAAU,QAAA,CAAS,CAAA,CACjCf,6BAAAA,MAAC,CAAA,CAAK,SAAA,CAAU,SAAA,CAAU,QAAA,CAAA,YAAA,CAAU,CAAA,CAAA,CACtC,CAEJ,CAAA,wGAAA","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-K4Y4Y2YP.cjs","sourcesContent":[null,"import type { ComponentProps, JSX } from 'react';\nimport type { VariantProps } from 'tailwind-variants';\n\nimport { ChevronLeftIcon, ChevronRightIcon, EllipsisIcon } from 'lucide-react';\n\nimport { buttonVariants } from '@/components/button';\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: Pagination\n * -------------------------------------------------------------------------- */\n\nfunction Pagination({ className, ...props }: ComponentProps<'nav'>): JSX.Element {\n return (\n <nav\n aria-label=\"pagination\"\n className={cn('mx-auto flex w-full justify-center', className)}\n data-slot=\"pagination\"\n role=\"navigation\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: PaginationContent\n * -------------------------------------------------------------------------- */\n\nfunction PaginationContent({ className, ...props }: ComponentProps<'ul'>): JSX.Element {\n return <ul className={cn('flex flex-row items-center gap-1', className)} data-slot=\"pagination-content\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: PaginationItem\n * -------------------------------------------------------------------------- */\n\nfunction PaginationItem(props: ComponentProps<'li'>): JSX.Element {\n return <li data-slot=\"pagination-item\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: PaginationLink\n * -------------------------------------------------------------------------- */\n\nfunction PaginationLink({\n children,\n className,\n isActive,\n size = 'icon',\n ...props\n}: ComponentProps<'a'> &\n Pick<VariantProps<typeof buttonVariants>, 'size'> & {\n isActive?: boolean;\n }): JSX.Element {\n return (\n <a\n aria-current={isActive ? 'page' : undefined}\n className={buttonVariants({ className, size, variant: isActive ? 'outline' : 'ghost' })}\n data-slot=\"pagination-link\"\n {...props}\n >\n {children}\n </a>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: PaginationPrevious\n * -------------------------------------------------------------------------- */\n\nfunction PaginationPrevious({\n ...props\n}: ComponentProps<'a'> &\n Pick<VariantProps<typeof buttonVariants>, 'size'> & {\n isActive?: boolean;\n }): JSX.Element {\n return (\n <PaginationLink aria-label=\"Go to previous page\" data-slot=\"pagination-previous\" size=\"md\" {...props}>\n <ChevronLeftIcon className=\"size-4\" />\n <span>Previous</span>\n </PaginationLink>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: PaginationNext\n * -------------------------------------------------------------------------- */\n\nfunction PaginationNext({\n ...props\n}: ComponentProps<'a'> &\n Pick<VariantProps<typeof buttonVariants>, 'size'> & {\n isActive?: boolean;\n }): JSX.Element {\n return (\n <PaginationLink aria-label=\"Go to next page\" data-slot=\"pagination-next\" size=\"md\" {...props}>\n <span>Next</span>\n <ChevronRightIcon />\n </PaginationLink>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: PaginationEllipsis\n * -------------------------------------------------------------------------- */\n\nfunction PaginationEllipsis({ className, ...props }: ComponentProps<'span'>): JSX.Element {\n return (\n <span\n aria-hidden\n className={cn('flex size-10 items-center justify-center', className)}\n data-slot=\"pagination-ellipsis\"\n {...props}\n >\n <EllipsisIcon className=\"size-4\" />\n <span className=\"sr-only\">More pages</span>\n </span>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n Pagination,\n PaginationContent,\n PaginationEllipsis,\n PaginationItem,\n PaginationLink,\n PaginationNext,\n PaginationPrevious,\n};\n"]}
1
+ {"version":3,"sources":["/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-K4Y4Y2YP.cjs","../src/components/pagination.tsx"],"names":["Pagination","className","props","jsx","cn","PaginationContent","PaginationItem","PaginationLink","children","isActive","size","buttonVariants","PaginationPrevious","jsxs","ChevronLeftIcon","PaginationNext","ChevronRightIcon","PaginationEllipsis","EllipsisIcon"],"mappings":"AAAA,iIAAwC,wDAAyC,2CCGjB,+CAW5D,SAFKA,CAAAA,CAAW,CAAE,SAAA,CAAAC,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAAuC,CAC/E,OACEC,6BAAAA,KAAC,CAAA,CACC,YAAA,CAAW,YAAA,CACX,SAAA,CAAWC,iCAAAA,oCAAG,CAAsCH,CAAS,CAAA,CAC7D,WAAA,CAAU,YAAA,CACV,IAAA,CAAK,YAAA,CACJ,GAAGC,CAAAA,CACN,CAEJ,CAMA,SAASG,CAAAA,CAAkB,CAAE,SAAA,CAAAJ,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAAsC,CACrF,OAAOC,6BAAAA,IAAC,CAAA,CAAG,SAAA,CAAWC,iCAAAA,kCAAG,CAAoCH,CAAS,CAAA,CAAG,WAAA,CAAU,oBAAA,CAAsB,GAAGC,CAAAA,CAAO,CACrH,CAMA,SAASI,CAAAA,CAAeJ,CAAAA,CAA0C,CAChE,OAAOC,6BAAAA,IAAC,CAAA,CAAG,WAAA,CAAU,iBAAA,CAAmB,GAAGD,CAAAA,CAAO,CACpD,CAMA,SAASK,CAAAA,CAAe,CACtB,QAAA,CAAAC,CAAAA,CACA,SAAA,CAAAP,CAAAA,CACA,QAAA,CAAAQ,CAAAA,CACA,IAAA,CAAAC,CAAAA,CAAO,MAAA,CACP,GAAGR,CACL,CAAA,CAGkB,CAChB,OACEC,6BAAAA,GAAC,CAAA,CACC,cAAA,CAAcM,CAAAA,CAAW,MAAA,CAAS,KAAA,CAAA,CAClC,SAAA,CAAWE,iCAAAA,CAAiB,SAAA,CAAAV,CAAAA,CAAW,IAAA,CAAAS,CAAAA,CAAM,OAAA,CAASD,CAAAA,CAAW,SAAA,CAAY,OAAQ,CAAC,CAAA,CACtF,WAAA,CAAU,iBAAA,CACT,GAAGP,CAAAA,CAEH,QAAA,CAAAM,CAAAA,CACH,CAEJ,CAMA,SAASI,CAAAA,CAAmB,CAC1B,GAAGV,CACL,CAAA,CAGkB,CAChB,OACEW,8BAAAA,CAACN,CAAA,CAAe,YAAA,CAAW,qBAAA,CAAsB,WAAA,CAAU,qBAAA,CAAsB,IAAA,CAAK,IAAA,CAAM,GAAGL,CAAAA,CAC7F,QAAA,CAAA,CAAAC,6BAAAA,4BAACW,CAAA,CAAgB,SAAA,CAAU,QAAA,CAAS,CAAA,CACpCX,6BAAAA,MAAC,CAAA,CAAK,QAAA,CAAA,UAAA,CAAQ,CAAA,CAAA,CAChB,CAEJ,CAMA,SAASY,CAAAA,CAAe,CACtB,GAAGb,CACL,CAAA,CAGkB,CAChB,OACEW,8BAAAA,CAACN,CAAA,CAAe,YAAA,CAAW,iBAAA,CAAkB,WAAA,CAAU,iBAAA,CAAkB,IAAA,CAAK,IAAA,CAAM,GAAGL,CAAAA,CACrF,QAAA,CAAA,CAAAC,6BAAAA,MAAC,CAAA,CAAK,QAAA,CAAA,MAAA,CAAI,CAAA,CACVA,6BAAAA,6BAACa,CAAA,CAAA,CAAiB,CAAA,CAAA,CACpB,CAEJ,CAMA,SAASC,CAAAA,CAAmB,CAAE,SAAA,CAAAhB,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAAwC,CACxF,OACEW,8BAAAA,MAAC,CAAA,CACC,aAAA,CAAW,CAAA,CAAA,CACX,SAAA,CAAWT,iCAAAA,0CAAG,CAA4CH,CAAS,CAAA,CACnE,WAAA,CAAU,qBAAA,CACT,GAAGC,CAAAA,CAEJ,QAAA,CAAA,CAAAC,6BAAAA,yBAACe,CAAA,CAAa,SAAA,CAAU,QAAA,CAAS,CAAA,CACjCf,6BAAAA,MAAC,CAAA,CAAK,SAAA,CAAU,SAAA,CAAU,QAAA,CAAA,YAAA,CAAU,CAAA,CAAA,CACtC,CAEJ,CAAA,wGAAA","file":"/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-K4Y4Y2YP.cjs","sourcesContent":[null,"import type { ComponentProps, JSX } from 'react';\nimport type { VariantProps } from 'tailwind-variants';\n\nimport { ChevronLeftIcon, ChevronRightIcon, EllipsisIcon } from 'lucide-react';\n\nimport { buttonVariants } from '@/components/button';\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: Pagination\n * -------------------------------------------------------------------------- */\n\nfunction Pagination({ className, ...props }: ComponentProps<'nav'>): JSX.Element {\n return (\n <nav\n aria-label=\"pagination\"\n className={cn('mx-auto flex w-full justify-center', className)}\n data-slot=\"pagination\"\n role=\"navigation\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: PaginationContent\n * -------------------------------------------------------------------------- */\n\nfunction PaginationContent({ className, ...props }: ComponentProps<'ul'>): JSX.Element {\n return <ul className={cn('flex flex-row items-center gap-1', className)} data-slot=\"pagination-content\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: PaginationItem\n * -------------------------------------------------------------------------- */\n\nfunction PaginationItem(props: ComponentProps<'li'>): JSX.Element {\n return <li data-slot=\"pagination-item\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: PaginationLink\n * -------------------------------------------------------------------------- */\n\nfunction PaginationLink({\n children,\n className,\n isActive,\n size = 'icon',\n ...props\n}: ComponentProps<'a'> &\n Pick<VariantProps<typeof buttonVariants>, 'size'> & {\n isActive?: boolean;\n }): JSX.Element {\n return (\n <a\n aria-current={isActive ? 'page' : undefined}\n className={buttonVariants({ className, size, variant: isActive ? 'outline' : 'ghost' })}\n data-slot=\"pagination-link\"\n {...props}\n >\n {children}\n </a>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: PaginationPrevious\n * -------------------------------------------------------------------------- */\n\nfunction PaginationPrevious({\n ...props\n}: ComponentProps<'a'> &\n Pick<VariantProps<typeof buttonVariants>, 'size'> & {\n isActive?: boolean;\n }): JSX.Element {\n return (\n <PaginationLink aria-label=\"Go to previous page\" data-slot=\"pagination-previous\" size=\"md\" {...props}>\n <ChevronLeftIcon className=\"size-4\" />\n <span>Previous</span>\n </PaginationLink>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: PaginationNext\n * -------------------------------------------------------------------------- */\n\nfunction PaginationNext({\n ...props\n}: ComponentProps<'a'> &\n Pick<VariantProps<typeof buttonVariants>, 'size'> & {\n isActive?: boolean;\n }): JSX.Element {\n return (\n <PaginationLink aria-label=\"Go to next page\" data-slot=\"pagination-next\" size=\"md\" {...props}>\n <span>Next</span>\n <ChevronRightIcon />\n </PaginationLink>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: PaginationEllipsis\n * -------------------------------------------------------------------------- */\n\nfunction PaginationEllipsis({ className, ...props }: ComponentProps<'span'>): JSX.Element {\n return (\n <span\n aria-hidden\n className={cn('flex size-10 items-center justify-center', className)}\n data-slot=\"pagination-ellipsis\"\n {...props}\n >\n <EllipsisIcon className=\"size-4\" />\n <span className=\"sr-only\">More pages</span>\n </span>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n Pagination,\n PaginationContent,\n PaginationEllipsis,\n PaginationItem,\n PaginationLink,\n PaginationNext,\n PaginationPrevious,\n};\n"]}