@lssm/lib.ui-kit-web 0.0.0-canary-20251120170226

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 (426) hide show
  1. package/README.md +73 -0
  2. package/dist/index.d.ts +1 -0
  3. package/dist/index.js +0 -0
  4. package/dist/node_modules/sonner/dist/index.js +912 -0
  5. package/dist/node_modules/sonner/dist/index.js.map +1 -0
  6. package/dist/tsconfig.tsbuildinfo +1 -0
  7. package/dist/ui/accordion.d.ts +25 -0
  8. package/dist/ui/accordion.d.ts.map +1 -0
  9. package/dist/ui/accordion.js +49 -0
  10. package/dist/ui/accordion.js.map +1 -0
  11. package/dist/ui/alert-dialog.d.ts +49 -0
  12. package/dist/ui/alert-dialog.d.ts.map +1 -0
  13. package/dist/ui/alert-dialog.js +86 -0
  14. package/dist/ui/alert-dialog.js.map +1 -0
  15. package/dist/ui/alert.d.ts +25 -0
  16. package/dist/ui/alert.d.ts.map +1 -0
  17. package/dist/ui/alert.js +39 -0
  18. package/dist/ui/alert.js.map +1 -0
  19. package/dist/ui/aspect-ratio.d.ts +8 -0
  20. package/dist/ui/aspect-ratio.d.ts.map +1 -0
  21. package/dist/ui/aspect-ratio.js +11 -0
  22. package/dist/ui/aspect-ratio.js.map +1 -0
  23. package/dist/ui/atoms/FilterSelect/FilterSelect.d.ts +8 -0
  24. package/dist/ui/atoms/FilterSelect/FilterSelect.d.ts.map +1 -0
  25. package/dist/ui/atoms/FilterSelect/FilterSelect.js +53 -0
  26. package/dist/ui/atoms/FilterSelect/FilterSelect.js.map +1 -0
  27. package/dist/ui/atoms/FilterSelect/index.d.ts +3 -0
  28. package/dist/ui/atoms/FilterSelect/index.js +3 -0
  29. package/dist/ui/atoms/FilterSelect/types.d.ts +19 -0
  30. package/dist/ui/atoms/FilterSelect/types.d.ts.map +1 -0
  31. package/dist/ui/atoms/FilterSelect/types.js +0 -0
  32. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.d.ts +23 -0
  33. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.d.ts.map +1 -0
  34. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.js +46 -0
  35. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.js.map +1 -0
  36. package/dist/ui/atoms/LoadingSpinner/index.d.ts +2 -0
  37. package/dist/ui/atoms/LoadingSpinner/index.js +3 -0
  38. package/dist/ui/atoms/Pagination/Pagination.d.ts +8 -0
  39. package/dist/ui/atoms/Pagination/Pagination.d.ts.map +1 -0
  40. package/dist/ui/atoms/Pagination/Pagination.js +157 -0
  41. package/dist/ui/atoms/Pagination/Pagination.js.map +1 -0
  42. package/dist/ui/atoms/Pagination/index.d.ts +3 -0
  43. package/dist/ui/atoms/Pagination/index.js +3 -0
  44. package/dist/ui/atoms/Pagination/types.d.ts +16 -0
  45. package/dist/ui/atoms/Pagination/types.d.ts.map +1 -0
  46. package/dist/ui/atoms/Pagination/types.js +0 -0
  47. package/dist/ui/atoms/SearchInput/SearchInput.d.ts +8 -0
  48. package/dist/ui/atoms/SearchInput/SearchInput.d.ts.map +1 -0
  49. package/dist/ui/atoms/SearchInput/SearchInput.js +50 -0
  50. package/dist/ui/atoms/SearchInput/SearchInput.js.map +1 -0
  51. package/dist/ui/atoms/SearchInput/index.d.ts +3 -0
  52. package/dist/ui/atoms/SearchInput/index.js +3 -0
  53. package/dist/ui/atoms/SearchInput/types.d.ts +13 -0
  54. package/dist/ui/atoms/SearchInput/types.d.ts.map +1 -0
  55. package/dist/ui/atoms/SearchInput/types.js +0 -0
  56. package/dist/ui/avatar.d.ts +20 -0
  57. package/dist/ui/avatar.d.ts.map +1 -0
  58. package/dist/ui/avatar.js +34 -0
  59. package/dist/ui/avatar.js.map +1 -0
  60. package/dist/ui/badge.d.ts +20 -0
  61. package/dist/ui/badge.d.ts.map +1 -0
  62. package/dist/ui/badge.js +27 -0
  63. package/dist/ui/badge.js.map +1 -0
  64. package/dist/ui/breadcrumb.d.ts +38 -0
  65. package/dist/ui/breadcrumb.d.ts.map +1 -0
  66. package/dist/ui/breadcrumb.js +72 -0
  67. package/dist/ui/breadcrumb.js.map +1 -0
  68. package/dist/ui/button.d.ts +23 -0
  69. package/dist/ui/button.d.ts.map +1 -0
  70. package/dist/ui/button.js +44 -0
  71. package/dist/ui/button.js.map +1 -0
  72. package/dist/ui/calendar.d.ts +27 -0
  73. package/dist/ui/calendar.d.ts.map +1 -0
  74. package/dist/ui/calendar.js +110 -0
  75. package/dist/ui/calendar.js.map +1 -0
  76. package/dist/ui/card.d.ts +35 -0
  77. package/dist/ui/card.d.ts.map +1 -0
  78. package/dist/ui/card.js +58 -0
  79. package/dist/ui/card.js.map +1 -0
  80. package/dist/ui/carousel.d.ts +48 -0
  81. package/dist/ui/carousel.d.ts.map +1 -0
  82. package/dist/ui/carousel.js +137 -0
  83. package/dist/ui/carousel.js.map +1 -0
  84. package/dist/ui/checkbox.d.ts +12 -0
  85. package/dist/ui/checkbox.d.ts.map +1 -0
  86. package/dist/ui/checkbox.js +26 -0
  87. package/dist/ui/checkbox.js.map +1 -0
  88. package/dist/ui/collapsible.d.ts +16 -0
  89. package/dist/ui/collapsible.d.ts.map +1 -0
  90. package/dist/ui/collapsible.js +29 -0
  91. package/dist/ui/collapsible.js.map +1 -0
  92. package/dist/ui/command.d.ts +53 -0
  93. package/dist/ui/command.d.ts.map +1 -0
  94. package/dist/ui/command.js +91 -0
  95. package/dist/ui/command.js.map +1 -0
  96. package/dist/ui/confirm-dialog.d.ts +31 -0
  97. package/dist/ui/confirm-dialog.d.ts.map +1 -0
  98. package/dist/ui/confirm-dialog.js +34 -0
  99. package/dist/ui/confirm-dialog.js.map +1 -0
  100. package/dist/ui/context-menu.d.ts +35 -0
  101. package/dist/ui/context-menu.d.ts.map +1 -0
  102. package/dist/ui/context-menu.js +85 -0
  103. package/dist/ui/context-menu.js.map +1 -0
  104. package/dist/ui/cta.d.ts +15 -0
  105. package/dist/ui/cta.d.ts.map +1 -0
  106. package/dist/ui/cta.js +39 -0
  107. package/dist/ui/cta.js.map +1 -0
  108. package/dist/ui/date-picker.d.ts +26 -0
  109. package/dist/ui/date-picker.d.ts.map +1 -0
  110. package/dist/ui/date-picker.js +102 -0
  111. package/dist/ui/date-picker.js.map +1 -0
  112. package/dist/ui/date-range-picker.d.ts +26 -0
  113. package/dist/ui/date-range-picker.d.ts.map +1 -0
  114. package/dist/ui/date-range-picker.js +55 -0
  115. package/dist/ui/date-range-picker.js.map +1 -0
  116. package/dist/ui/datetime-picker.d.ts +28 -0
  117. package/dist/ui/datetime-picker.d.ts.map +1 -0
  118. package/dist/ui/datetime-picker.js +45 -0
  119. package/dist/ui/datetime-picker.js.map +1 -0
  120. package/dist/ui/dialog.d.ts +48 -0
  121. package/dist/ui/dialog.d.ts.map +1 -0
  122. package/dist/ui/dialog.js +91 -0
  123. package/dist/ui/dialog.js.map +1 -0
  124. package/dist/ui/drawer.d.ts +45 -0
  125. package/dist/ui/drawer.d.ts.map +1 -0
  126. package/dist/ui/drawer.js +83 -0
  127. package/dist/ui/drawer.js.map +1 -0
  128. package/dist/ui/dropdown-menu.d.ts +78 -0
  129. package/dist/ui/dropdown-menu.d.ts.map +1 -0
  130. package/dist/ui/dropdown-menu.js +128 -0
  131. package/dist/ui/dropdown-menu.js.map +1 -0
  132. package/dist/ui/empty-state.d.ts +29 -0
  133. package/dist/ui/empty-state.d.ts.map +1 -0
  134. package/dist/ui/empty-state.js +43 -0
  135. package/dist/ui/empty-state.js.map +1 -0
  136. package/dist/ui/empty.d.ts +36 -0
  137. package/dist/ui/empty.d.ts.map +1 -0
  138. package/dist/ui/empty.js +62 -0
  139. package/dist/ui/empty.js.map +1 -0
  140. package/dist/ui/field.d.ts +65 -0
  141. package/dist/ui/field.d.ts.map +1 -0
  142. package/dist/ui/field.js +122 -0
  143. package/dist/ui/field.js.map +1 -0
  144. package/dist/ui/focus-on-route-change.d.ts +9 -0
  145. package/dist/ui/focus-on-route-change.d.ts.map +1 -0
  146. package/dist/ui/focus-on-route-change.js +17 -0
  147. package/dist/ui/focus-on-route-change.js.map +1 -0
  148. package/dist/ui/form.d.ts +47 -0
  149. package/dist/ui/form.d.ts.map +1 -0
  150. package/dist/ui/form.js +95 -0
  151. package/dist/ui/form.js.map +1 -0
  152. package/dist/ui/hover-card.d.ts +20 -0
  153. package/dist/ui/hover-card.d.ts.map +1 -0
  154. package/dist/ui/hover-card.js +37 -0
  155. package/dist/ui/hover-card.js.map +1 -0
  156. package/dist/ui/input-group.d.ts +44 -0
  157. package/dist/ui/input-group.d.ts.map +1 -0
  158. package/dist/ui/input-group.js +84 -0
  159. package/dist/ui/input-group.js.map +1 -0
  160. package/dist/ui/input-otp.d.ts +39 -0
  161. package/dist/ui/input-otp.d.ts.map +1 -0
  162. package/dist/ui/input-otp.js +47 -0
  163. package/dist/ui/input-otp.js.map +1 -0
  164. package/dist/ui/input.d.ts +13 -0
  165. package/dist/ui/input.d.ts.map +1 -0
  166. package/dist/ui/input.js +17 -0
  167. package/dist/ui/input.js.map +1 -0
  168. package/dist/ui/label.d.ts +12 -0
  169. package/dist/ui/label.d.ts.map +1 -0
  170. package/dist/ui/label.js +20 -0
  171. package/dist/ui/label.js.map +1 -0
  172. package/dist/ui/link.d.ts +9 -0
  173. package/dist/ui/link.d.ts.map +1 -0
  174. package/dist/ui/link.js +18 -0
  175. package/dist/ui/link.js.map +1 -0
  176. package/dist/ui/live-region.d.ts +17 -0
  177. package/dist/ui/live-region.d.ts.map +1 -0
  178. package/dist/ui/live-region.js +48 -0
  179. package/dist/ui/live-region.js.map +1 -0
  180. package/dist/ui/loading-button.d.ts +20 -0
  181. package/dist/ui/loading-button.d.ts.map +1 -0
  182. package/dist/ui/loading-button.js +21 -0
  183. package/dist/ui/loading-button.js.map +1 -0
  184. package/dist/ui/map/MapBase.d.ts +29 -0
  185. package/dist/ui/map/MapBase.d.ts.map +1 -0
  186. package/dist/ui/map/MapBase.js +48 -0
  187. package/dist/ui/map/MapBase.js.map +1 -0
  188. package/dist/ui/map/MapGeoJsonOverlay.d.ts +16 -0
  189. package/dist/ui/map/MapGeoJsonOverlay.d.ts.map +1 -0
  190. package/dist/ui/map/MapGeoJsonOverlay.js +39 -0
  191. package/dist/ui/map/MapGeoJsonOverlay.js.map +1 -0
  192. package/dist/ui/map/MapHeatmapH3.d.ts +18 -0
  193. package/dist/ui/map/MapHeatmapH3.d.ts.map +1 -0
  194. package/dist/ui/map/MapHeatmapH3.js +52 -0
  195. package/dist/ui/map/MapHeatmapH3.js.map +1 -0
  196. package/dist/ui/map/MapMarkers.d.ts +20 -0
  197. package/dist/ui/map/MapMarkers.d.ts.map +1 -0
  198. package/dist/ui/map/MapMarkers.js +35 -0
  199. package/dist/ui/map/MapMarkers.js.map +1 -0
  200. package/dist/ui/map/index.d.ts +5 -0
  201. package/dist/ui/map/index.js +6 -0
  202. package/dist/ui/marketing/FeatureGrid.d.ts +21 -0
  203. package/dist/ui/marketing/FeatureGrid.d.ts.map +1 -0
  204. package/dist/ui/marketing/FeatureGrid.js +35 -0
  205. package/dist/ui/marketing/FeatureGrid.js.map +1 -0
  206. package/dist/ui/marketing/Hero.d.ts +28 -0
  207. package/dist/ui/marketing/Hero.d.ts.map +1 -0
  208. package/dist/ui/marketing/Hero.js +53 -0
  209. package/dist/ui/marketing/Hero.js.map +1 -0
  210. package/dist/ui/marketing/PricingTable.d.ts +25 -0
  211. package/dist/ui/marketing/PricingTable.d.ts.map +1 -0
  212. package/dist/ui/marketing/PricingTable.js +60 -0
  213. package/dist/ui/marketing/PricingTable.js.map +1 -0
  214. package/dist/ui/marketing/index.d.ts +4 -0
  215. package/dist/ui/marketing/index.js +5 -0
  216. package/dist/ui/menubar.d.ts +85 -0
  217. package/dist/ui/menubar.d.ts.map +1 -0
  218. package/dist/ui/menubar.js +138 -0
  219. package/dist/ui/menubar.js.map +1 -0
  220. package/dist/ui/molecules/Autocomplete/index.d.ts +7 -0
  221. package/dist/ui/molecules/Autocomplete/index.d.ts.map +1 -0
  222. package/dist/ui/molecules/Autocomplete/index.js +86 -0
  223. package/dist/ui/molecules/Autocomplete/index.js.map +1 -0
  224. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.d.ts +8 -0
  225. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.d.ts.map +1 -0
  226. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.js +103 -0
  227. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.js.map +1 -0
  228. package/dist/ui/molecules/SearchAndFilter/index.d.ts +3 -0
  229. package/dist/ui/molecules/SearchAndFilter/index.js +3 -0
  230. package/dist/ui/molecules/SearchAndFilter/types.d.ts +24 -0
  231. package/dist/ui/molecules/SearchAndFilter/types.d.ts.map +1 -0
  232. package/dist/ui/molecules/SearchAndFilter/types.js +0 -0
  233. package/dist/ui/molecules/SkeletonList.d.ts +16 -0
  234. package/dist/ui/molecules/SkeletonList.d.ts.map +1 -0
  235. package/dist/ui/molecules/SkeletonList.js +15 -0
  236. package/dist/ui/molecules/SkeletonList.js.map +1 -0
  237. package/dist/ui/nav-layout.d.ts +71 -0
  238. package/dist/ui/nav-layout.d.ts.map +1 -0
  239. package/dist/ui/nav-layout.js +133 -0
  240. package/dist/ui/nav-layout.js.map +1 -0
  241. package/dist/ui/navigation-menu.d.ts +47 -0
  242. package/dist/ui/navigation-menu.d.ts.map +1 -0
  243. package/dist/ui/navigation-menu.js +83 -0
  244. package/dist/ui/navigation-menu.js.map +1 -0
  245. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.d.ts +30 -0
  246. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.d.ts.map +1 -0
  247. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.js +108 -0
  248. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.js.map +1 -0
  249. package/dist/ui/organisms/ErrorBoundary/index.d.ts +2 -0
  250. package/dist/ui/organisms/ErrorBoundary/index.js +3 -0
  251. package/dist/ui/organisms/ListPage/ListPage.d.ts +29 -0
  252. package/dist/ui/organisms/ListPage/ListPage.d.ts.map +1 -0
  253. package/dist/ui/organisms/ListPage/ListPage.js +198 -0
  254. package/dist/ui/organisms/ListPage/ListPage.js.map +1 -0
  255. package/dist/ui/organisms/ListPage/index.d.ts +3 -0
  256. package/dist/ui/organisms/ListPage/index.js +3 -0
  257. package/dist/ui/organisms/ListPage/types.d.ts +41 -0
  258. package/dist/ui/organisms/ListPage/types.d.ts.map +1 -0
  259. package/dist/ui/organisms/ListPage/types.js +0 -0
  260. package/dist/ui/page-header.d.ts +27 -0
  261. package/dist/ui/page-header.d.ts.map +1 -0
  262. package/dist/ui/page-header.js +40 -0
  263. package/dist/ui/page-header.js.map +1 -0
  264. package/dist/ui/pagination.d.ts +50 -0
  265. package/dist/ui/pagination.d.ts.map +1 -0
  266. package/dist/ui/pagination.js +65 -0
  267. package/dist/ui/pagination.js.map +1 -0
  268. package/dist/ui/popover.d.ts +23 -0
  269. package/dist/ui/popover.d.ts.map +1 -0
  270. package/dist/ui/popover.js +40 -0
  271. package/dist/ui/popover.js.map +1 -0
  272. package/dist/ui/progress.d.ts +13 -0
  273. package/dist/ui/progress.d.ts.map +1 -0
  274. package/dist/ui/progress.js +25 -0
  275. package/dist/ui/progress.js.map +1 -0
  276. package/dist/ui/radio-group.d.ts +16 -0
  277. package/dist/ui/radio-group.d.ts.map +1 -0
  278. package/dist/ui/radio-group.js +33 -0
  279. package/dist/ui/radio-group.js.map +1 -0
  280. package/dist/ui/resizable.d.ts +36 -0
  281. package/dist/ui/resizable.d.ts.map +1 -0
  282. package/dist/ui/resizable.js +26 -0
  283. package/dist/ui/resizable.js.map +1 -0
  284. package/dist/ui/route-announcer.d.ts +11 -0
  285. package/dist/ui/route-announcer.d.ts.map +1 -0
  286. package/dist/ui/route-announcer.js +23 -0
  287. package/dist/ui/route-announcer.js.map +1 -0
  288. package/dist/ui/scroll-area.d.ts +18 -0
  289. package/dist/ui/scroll-area.d.ts.map +1 -0
  290. package/dist/ui/scroll-area.js +41 -0
  291. package/dist/ui/scroll-area.js.map +1 -0
  292. package/dist/ui/section.d.ts +27 -0
  293. package/dist/ui/section.d.ts.map +1 -0
  294. package/dist/ui/section.js +63 -0
  295. package/dist/ui/section.js.map +1 -0
  296. package/dist/ui/select.d.ts +52 -0
  297. package/dist/ui/select.d.ts.map +1 -0
  298. package/dist/ui/select.js +101 -0
  299. package/dist/ui/select.js.map +1 -0
  300. package/dist/ui/separator.d.ts +14 -0
  301. package/dist/ui/separator.d.ts.map +1 -0
  302. package/dist/ui/separator.js +22 -0
  303. package/dist/ui/separator.js.map +1 -0
  304. package/dist/ui/sheet.d.ts +41 -0
  305. package/dist/ui/sheet.d.ts.map +1 -0
  306. package/dist/ui/sheet.js +87 -0
  307. package/dist/ui/sheet.js.map +1 -0
  308. package/dist/ui/sidebar.d.ts +167 -0
  309. package/dist/ui/sidebar.d.ts.map +1 -0
  310. package/dist/ui/sidebar.js +380 -0
  311. package/dist/ui/sidebar.js.map +1 -0
  312. package/dist/ui/skeleton.d.ts +10 -0
  313. package/dist/ui/skeleton.d.ts.map +1 -0
  314. package/dist/ui/skeleton.js +15 -0
  315. package/dist/ui/skeleton.js.map +1 -0
  316. package/dist/ui/skip-link.d.ts +17 -0
  317. package/dist/ui/skip-link.d.ts.map +1 -0
  318. package/dist/ui/skip-link.js +17 -0
  319. package/dist/ui/skip-link.js.map +1 -0
  320. package/dist/ui/slider.d.ts +16 -0
  321. package/dist/ui/slider.d.ts.map +1 -0
  322. package/dist/ui/slider.js +41 -0
  323. package/dist/ui/slider.js.map +1 -0
  324. package/dist/ui/sonner.d.ts +10 -0
  325. package/dist/ui/sonner.d.ts.map +1 -0
  326. package/dist/ui/sonner.js +25 -0
  327. package/dist/ui/sonner.js.map +1 -0
  328. package/dist/ui/stack.d.ts +48 -0
  329. package/dist/ui/stack.d.ts.map +1 -0
  330. package/dist/ui/stack.js +158 -0
  331. package/dist/ui/stack.js.map +1 -0
  332. package/dist/ui/stat-card-group.d.ts +19 -0
  333. package/dist/ui/stat-card-group.d.ts.map +1 -0
  334. package/dist/ui/stat-card-group.js +39 -0
  335. package/dist/ui/stat-card-group.js.map +1 -0
  336. package/dist/ui/stepper.d.ts +23 -0
  337. package/dist/ui/stepper.d.ts.map +1 -0
  338. package/dist/ui/stepper.js +37 -0
  339. package/dist/ui/stepper.js.map +1 -0
  340. package/dist/ui/switch.d.ts +12 -0
  341. package/dist/ui/switch.d.ts.map +1 -0
  342. package/dist/ui/switch.js +24 -0
  343. package/dist/ui/switch.js.map +1 -0
  344. package/dist/ui/table.d.ts +39 -0
  345. package/dist/ui/table.d.ts.map +1 -0
  346. package/dist/ui/table.js +72 -0
  347. package/dist/ui/table.js.map +1 -0
  348. package/dist/ui/tabs.d.ts +24 -0
  349. package/dist/ui/tabs.d.ts.map +1 -0
  350. package/dist/ui/tabs.js +41 -0
  351. package/dist/ui/tabs.js.map +1 -0
  352. package/dist/ui/text.d.ts +16 -0
  353. package/dist/ui/text.d.ts.map +1 -0
  354. package/dist/ui/text.js +16 -0
  355. package/dist/ui/text.js.map +1 -0
  356. package/dist/ui/textarea.d.ts +12 -0
  357. package/dist/ui/textarea.d.ts.map +1 -0
  358. package/dist/ui/textarea.js +16 -0
  359. package/dist/ui/textarea.js.map +1 -0
  360. package/dist/ui/time-picker.d.ts +22 -0
  361. package/dist/ui/time-picker.d.ts.map +1 -0
  362. package/dist/ui/time-picker.js +82 -0
  363. package/dist/ui/time-picker.js.map +1 -0
  364. package/dist/ui/toast.d.ts +20 -0
  365. package/dist/ui/toast.d.ts.map +1 -0
  366. package/dist/ui/toast.js +63 -0
  367. package/dist/ui/toast.js.map +1 -0
  368. package/dist/ui/toaster.d.ts +7 -0
  369. package/dist/ui/toaster.d.ts.map +1 -0
  370. package/dist/ui/toaster.js +28 -0
  371. package/dist/ui/toaster.js.map +1 -0
  372. package/dist/ui/toggle-group.d.ts +24 -0
  373. package/dist/ui/toggle-group.d.ts.map +1 -0
  374. package/dist/ui/toggle-group.js +49 -0
  375. package/dist/ui/toggle-group.js.map +1 -0
  376. package/dist/ui/toggle.d.ts +20 -0
  377. package/dist/ui/toggle.d.ts.map +1 -0
  378. package/dist/ui/toggle.js +42 -0
  379. package/dist/ui/toggle.js.map +1 -0
  380. package/dist/ui/tooltip.d.ts +24 -0
  381. package/dist/ui/tooltip.d.ts.map +1 -0
  382. package/dist/ui/tooltip.js +41 -0
  383. package/dist/ui/tooltip.js.map +1 -0
  384. package/dist/ui/typography.d.ts +65 -0
  385. package/dist/ui/typography.d.ts.map +1 -0
  386. package/dist/ui/typography.js +87 -0
  387. package/dist/ui/typography.js.map +1 -0
  388. package/dist/ui/use-media-query.d.ts +5 -0
  389. package/dist/ui/use-media-query.d.ts.map +1 -0
  390. package/dist/ui/use-media-query.js +20 -0
  391. package/dist/ui/use-media-query.js.map +1 -0
  392. package/dist/ui/use-mobile.d.ts +5 -0
  393. package/dist/ui/use-mobile.d.ts.map +1 -0
  394. package/dist/ui/use-mobile.js +21 -0
  395. package/dist/ui/use-mobile.js.map +1 -0
  396. package/dist/ui/use-reduced-motion.d.ts +5 -0
  397. package/dist/ui/use-reduced-motion.d.ts.map +1 -0
  398. package/dist/ui/use-reduced-motion.js +18 -0
  399. package/dist/ui/use-reduced-motion.js.map +1 -0
  400. package/dist/ui/use-toast.d.ts +50 -0
  401. package/dist/ui/use-toast.d.ts.map +1 -0
  402. package/dist/ui/use-toast.js +123 -0
  403. package/dist/ui/use-toast.js.map +1 -0
  404. package/dist/ui/useListState.d.ts +34 -0
  405. package/dist/ui/useListState.d.ts.map +1 -0
  406. package/dist/ui/useListState.js +75 -0
  407. package/dist/ui/useListState.js.map +1 -0
  408. package/dist/ui/usecases/UseCaseCard.d.ts +19 -0
  409. package/dist/ui/usecases/UseCaseCard.d.ts.map +1 -0
  410. package/dist/ui/usecases/UseCaseCard.js +35 -0
  411. package/dist/ui/usecases/UseCaseCard.js.map +1 -0
  412. package/dist/ui/usecases/UserStoryCard.d.ts +15 -0
  413. package/dist/ui/usecases/UserStoryCard.d.ts.map +1 -0
  414. package/dist/ui/usecases/UserStoryCard.js +36 -0
  415. package/dist/ui/usecases/UserStoryCard.js.map +1 -0
  416. package/dist/ui/usecases/index.d.ts +3 -0
  417. package/dist/ui/usecases/index.js +4 -0
  418. package/dist/ui/utils.d.ts +7 -0
  419. package/dist/ui/utils.d.ts.map +1 -0
  420. package/dist/ui/utils.js +11 -0
  421. package/dist/ui/utils.js.map +1 -0
  422. package/dist/ui/visually-hidden.d.ts +10 -0
  423. package/dist/ui/visually-hidden.d.ts.map +1 -0
  424. package/dist/ui/visually-hidden.js +31 -0
  425. package/dist/ui/visually-hidden.js.map +1 -0
  426. package/package.json +222 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.js","names":[],"sources":["../../ui/button.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from './utils';\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-hidden focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n default: 'bg-primary text-primary-foreground hover:bg-primary/90',\n destructive:\n 'bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60',\n outline:\n 'border bg-background shadow-2xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50',\n secondary:\n 'bg-secondary text-secondary-foreground hover:bg-secondary/80',\n ghost:\n 'hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50',\n link: 'text-primary underline-offset-4 hover:underline',\n },\n size: {\n default: 'h-9 px-4 py-2 has-[>svg]:px-3',\n sm: 'h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5',\n lg: 'h-10 rounded-md px-6 has-[>svg]:px-4',\n icon: 'size-9',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n);\n\nexport type ButtonProps = React.ComponentProps<'button'> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean;\n };\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n ...props\n}: ButtonProps) {\n const Comp = asChild ? Slot : 'button';\n\n return (\n <Comp\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n );\n}\n\nexport { Button, buttonVariants };\n"],"mappings":";;;;;;;AAMA,MAAM,iBAAiB,IACrB,icACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;GACT,aACE;GACF,SACE;GACF,WACE;GACF,OACE;GACF,MAAM;GACP;EACD,MAAM;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACJ,MAAM;GACP;EACF;CACD,iBAAiB;EACf,SAAS;EACT,MAAM;EACP;CACF,CACF;AAOD,SAAS,OAAO,EACd,WACA,SACA,MACA,UAAU,MACV,GAAG,SACW;AAGd,QACE,oBAHW,UAAU,OAAO;EAI1B,aAAU;EACV,WAAW,GAAG,eAAe;GAAE;GAAS;GAAM;GAAW,CAAC,CAAC;EAC3D,GAAI;GACJ"}
@@ -0,0 +1,27 @@
1
+ import { Button } from "./button.js";
2
+ import * as React$1 from "react";
3
+ import * as react_jsx_runtime29 from "react/jsx-runtime";
4
+ import { DayButton, DayPicker } from "react-day-picker";
5
+
6
+ //#region ui/calendar.d.ts
7
+ declare function Calendar({
8
+ className,
9
+ classNames,
10
+ showOutsideDays,
11
+ captionLayout,
12
+ buttonVariant,
13
+ formatters,
14
+ components,
15
+ ...props
16
+ }: React$1.ComponentProps<typeof DayPicker> & {
17
+ buttonVariant?: React$1.ComponentProps<typeof Button>['variant'];
18
+ }): react_jsx_runtime29.JSX.Element;
19
+ declare function CalendarDayButton({
20
+ className,
21
+ day,
22
+ modifiers,
23
+ ...props
24
+ }: React$1.ComponentProps<typeof DayButton>): react_jsx_runtime29.JSX.Element;
25
+ //#endregion
26
+ export { Calendar, CalendarDayButton };
27
+ //# sourceMappingURL=calendar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar.d.ts","names":[],"sources":["../../ui/calendar.tsx"],"sourcesContent":[],"mappings":";;;;;;iBAaS,QAAA;;;;;;;;;GASN,OAAA,CAAM,sBAAsB;kBACb,OAAA,CAAM,sBAAsB;IAC7C,mBAAA,CAAA,GAAA,CAAA;AAbiD,iBAmKzC,iBAAA,CAjKQ;EAAA,SAAA;EAAA,GAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAsKd,OAAA,CAAM,cAtKQ,CAAA,OAsKc,SAtKd,CAAA,CAAA,EAsKwB,mBAAA,CAAA,GAAA,CAAA,OAtKxB"}
@@ -0,0 +1,110 @@
1
+ 'use client';
2
+
3
+
4
+ import { cn } from "./utils.js";
5
+ import { Button, buttonVariants } from "./button.js";
6
+ import * as React$1 from "react";
7
+ import { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon } from "lucide-react";
8
+ import { jsx } from "react/jsx-runtime";
9
+ import { DayButton, DayPicker, getDefaultClassNames } from "react-day-picker";
10
+
11
+ //#region ui/calendar.tsx
12
+ function Calendar({ className, classNames, showOutsideDays = true, captionLayout = "label", buttonVariant = "ghost", formatters, components,...props }) {
13
+ const defaultClassNames = getDefaultClassNames();
14
+ return /* @__PURE__ */ jsx(DayPicker, {
15
+ showOutsideDays,
16
+ className: cn("group/calendar bg-background p-3 [--cell-size:--spacing(8)] in-data-[slot=card-content]:bg-transparent in-data-[slot=popover-content]:bg-transparent", String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`, String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`, className),
17
+ captionLayout,
18
+ formatters: {
19
+ formatMonthDropdown: (date) => date.toLocaleString("default", { month: "short" }),
20
+ ...formatters
21
+ },
22
+ classNames: {
23
+ root: cn("w-fit", defaultClassNames.root),
24
+ months: cn("relative flex flex-col gap-4 md:flex-row", defaultClassNames.months),
25
+ month: cn("flex w-full flex-col gap-4", defaultClassNames.month),
26
+ nav: cn("absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1", defaultClassNames.nav),
27
+ button_previous: cn(buttonVariants({ variant: buttonVariant }), "size-(--cell-size) p-0 select-none aria-disabled:opacity-50", defaultClassNames.button_previous),
28
+ button_next: cn(buttonVariants({ variant: buttonVariant }), "size-(--cell-size) p-0 select-none aria-disabled:opacity-50", defaultClassNames.button_next),
29
+ month_caption: cn("flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)", defaultClassNames.month_caption),
30
+ dropdowns: cn("flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium", defaultClassNames.dropdowns),
31
+ dropdown_root: cn("has-focus:border-ring has-focus:ring-ring/50 border-input relative rounded-md border shadow-2xs has-focus:ring-[3px]", defaultClassNames.dropdown_root),
32
+ dropdown: cn("bg-popover absolute inset-0 opacity-0", defaultClassNames.dropdown),
33
+ caption_label: cn("font-medium select-none", captionLayout === "label" ? "text-sm" : "[&>svg]:text-muted-foreground flex h-8 items-center gap-1 rounded-md pr-1 pl-2 text-sm [&>svg]:size-3.5", defaultClassNames.caption_label),
34
+ table: "w-full border-collapse",
35
+ weekdays: cn("flex", defaultClassNames.weekdays),
36
+ weekday: cn("text-muted-foreground flex-1 rounded-md text-[0.8rem] font-normal select-none", defaultClassNames.weekday),
37
+ week: cn("mt-2 flex w-full", defaultClassNames.week),
38
+ week_number_header: cn("w-(--cell-size) select-none", defaultClassNames.week_number_header),
39
+ week_number: cn("text-muted-foreground text-[0.8rem] select-none", defaultClassNames.week_number),
40
+ day: cn("group/day relative aspect-square h-full w-full p-0 text-center select-none [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md", defaultClassNames.day),
41
+ range_start: cn("bg-accent rounded-l-md", defaultClassNames.range_start),
42
+ range_middle: cn("rounded-none", defaultClassNames.range_middle),
43
+ range_end: cn("bg-accent rounded-r-md", defaultClassNames.range_end),
44
+ today: cn("bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none", defaultClassNames.today),
45
+ outside: cn("text-muted-foreground aria-selected:text-muted-foreground", defaultClassNames.outside),
46
+ disabled: cn("text-muted-foreground opacity-50", defaultClassNames.disabled),
47
+ hidden: cn("invisible", defaultClassNames.hidden),
48
+ ...classNames
49
+ },
50
+ components: {
51
+ Root: ({ className: className$1, rootRef,...props$1 }) => {
52
+ return /* @__PURE__ */ jsx("div", {
53
+ "data-slot": "calendar",
54
+ ref: rootRef,
55
+ className: cn(className$1),
56
+ ...props$1
57
+ });
58
+ },
59
+ Chevron: ({ className: className$1, orientation,...props$1 }) => {
60
+ if (orientation === "left") return /* @__PURE__ */ jsx(ChevronLeftIcon, {
61
+ className: cn("size-4", className$1),
62
+ ...props$1
63
+ });
64
+ if (orientation === "right") return /* @__PURE__ */ jsx(ChevronRightIcon, {
65
+ className: cn("size-4", className$1),
66
+ ...props$1
67
+ });
68
+ return /* @__PURE__ */ jsx(ChevronDownIcon, {
69
+ className: cn("size-4", className$1),
70
+ ...props$1
71
+ });
72
+ },
73
+ DayButton: CalendarDayButton,
74
+ WeekNumber: ({ children,...props$1 }) => {
75
+ return /* @__PURE__ */ jsx("td", {
76
+ ...props$1,
77
+ children: /* @__PURE__ */ jsx("div", {
78
+ className: "flex size-(--cell-size) items-center justify-center text-center",
79
+ children
80
+ })
81
+ });
82
+ },
83
+ ...components
84
+ },
85
+ ...props
86
+ });
87
+ }
88
+ function CalendarDayButton({ className, day, modifiers,...props }) {
89
+ const defaultClassNames = getDefaultClassNames();
90
+ const ref = React$1.useRef(null);
91
+ React$1.useEffect(() => {
92
+ if (modifiers.focused) ref.current?.focus();
93
+ }, [modifiers.focused]);
94
+ return /* @__PURE__ */ jsx(Button, {
95
+ ref,
96
+ variant: "ghost",
97
+ size: "icon",
98
+ "data-day": day.date.toLocaleDateString(),
99
+ "data-selected-single": modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle,
100
+ "data-range-start": modifiers.range_start,
101
+ "data-range-end": modifiers.range_end,
102
+ "data-range-middle": modifiers.range_middle,
103
+ className: cn("data-[range-end=true]:bg-primary data-[range-middle=true]:bg-accent data-[range-start=true]:bg-primary data-[selected-single=true]:bg-primary data-[range-end=true]:text-primary-foreground data-[range-middle=true]:text-accent-foreground data-[range-start=true]:text-primary-foreground data-[selected-single=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-accent-foreground flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md [&>span]:text-xs [&>span]:opacity-70", defaultClassNames.day, className),
104
+ ...props
105
+ });
106
+ }
107
+
108
+ //#endregion
109
+ export { Calendar, CalendarDayButton };
110
+ //# sourceMappingURL=calendar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar.js","names":["props","className","React"],"sources":["../../ui/calendar.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport {\n ChevronDownIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n} from 'lucide-react';\nimport { DayButton, DayPicker, getDefaultClassNames } from 'react-day-picker';\n\nimport { cn } from './utils';\nimport { Button, buttonVariants } from './button';\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = 'label',\n buttonVariant = 'ghost',\n formatters,\n components,\n ...props\n}: React.ComponentProps<typeof DayPicker> & {\n buttonVariant?: React.ComponentProps<typeof Button>['variant'];\n}) {\n const defaultClassNames = getDefaultClassNames();\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n 'group/calendar bg-background p-3 [--cell-size:--spacing(8)] in-data-[slot=card-content]:bg-transparent in-data-[slot=popover-content]:bg-transparent',\n String.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n className\n )}\n captionLayout={captionLayout}\n formatters={{\n formatMonthDropdown: (date) =>\n date.toLocaleString('default', { month: 'short' }),\n ...formatters,\n }}\n classNames={{\n root: cn('w-fit', defaultClassNames.root),\n months: cn(\n 'relative flex flex-col gap-4 md:flex-row',\n defaultClassNames.months\n ),\n month: cn('flex w-full flex-col gap-4', defaultClassNames.month),\n nav: cn(\n 'absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1',\n defaultClassNames.nav\n ),\n button_previous: cn(\n buttonVariants({ variant: buttonVariant }),\n 'size-(--cell-size) p-0 select-none aria-disabled:opacity-50',\n defaultClassNames.button_previous\n ),\n button_next: cn(\n buttonVariants({ variant: buttonVariant }),\n 'size-(--cell-size) p-0 select-none aria-disabled:opacity-50',\n defaultClassNames.button_next\n ),\n month_caption: cn(\n 'flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)',\n defaultClassNames.month_caption\n ),\n dropdowns: cn(\n 'flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium',\n defaultClassNames.dropdowns\n ),\n dropdown_root: cn(\n 'has-focus:border-ring has-focus:ring-ring/50 border-input relative rounded-md border shadow-2xs has-focus:ring-[3px]',\n defaultClassNames.dropdown_root\n ),\n dropdown: cn(\n 'bg-popover absolute inset-0 opacity-0',\n defaultClassNames.dropdown\n ),\n caption_label: cn(\n 'font-medium select-none',\n captionLayout === 'label'\n ? 'text-sm'\n : '[&>svg]:text-muted-foreground flex h-8 items-center gap-1 rounded-md pr-1 pl-2 text-sm [&>svg]:size-3.5',\n defaultClassNames.caption_label\n ),\n table: 'w-full border-collapse',\n weekdays: cn('flex', defaultClassNames.weekdays),\n weekday: cn(\n 'text-muted-foreground flex-1 rounded-md text-[0.8rem] font-normal select-none',\n defaultClassNames.weekday\n ),\n week: cn('mt-2 flex w-full', defaultClassNames.week),\n week_number_header: cn(\n 'w-(--cell-size) select-none',\n defaultClassNames.week_number_header\n ),\n week_number: cn(\n 'text-muted-foreground text-[0.8rem] select-none',\n defaultClassNames.week_number\n ),\n day: cn(\n 'group/day relative aspect-square h-full w-full p-0 text-center select-none [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md',\n defaultClassNames.day\n ),\n range_start: cn(\n 'bg-accent rounded-l-md',\n defaultClassNames.range_start\n ),\n range_middle: cn('rounded-none', defaultClassNames.range_middle),\n range_end: cn('bg-accent rounded-r-md', defaultClassNames.range_end),\n today: cn(\n 'bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none',\n defaultClassNames.today\n ),\n outside: cn(\n 'text-muted-foreground aria-selected:text-muted-foreground',\n defaultClassNames.outside\n ),\n disabled: cn(\n 'text-muted-foreground opacity-50',\n defaultClassNames.disabled\n ),\n hidden: cn('invisible', defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: ({ className, rootRef, ...props }) => {\n return (\n <div\n data-slot=\"calendar\"\n ref={rootRef}\n className={cn(className)}\n {...props}\n />\n );\n },\n Chevron: ({ className, orientation, ...props }) => {\n if (orientation === 'left') {\n return (\n <ChevronLeftIcon className={cn('size-4', className)} {...props} />\n );\n }\n\n if (orientation === 'right') {\n return (\n <ChevronRightIcon\n className={cn('size-4', className)}\n {...props}\n />\n );\n }\n\n return (\n <ChevronDownIcon className={cn('size-4', className)} {...props} />\n );\n },\n DayButton: CalendarDayButton,\n WeekNumber: ({ children, ...props }) => {\n return (\n <td {...props}>\n <div className=\"flex size-(--cell-size) items-center justify-center text-center\">\n {children}\n </div>\n </td>\n );\n },\n ...components,\n }}\n {...props}\n />\n );\n}\n\nfunction CalendarDayButton({\n className,\n day,\n modifiers,\n ...props\n}: React.ComponentProps<typeof DayButton>) {\n const defaultClassNames = getDefaultClassNames();\n\n const ref = React.useRef<HTMLButtonElement>(null);\n React.useEffect(() => {\n if (modifiers.focused) ref.current?.focus();\n }, [modifiers.focused]);\n\n return (\n <Button\n ref={ref}\n variant=\"ghost\"\n size=\"icon\"\n data-day={day.date.toLocaleDateString()}\n data-selected-single={\n modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle\n }\n data-range-start={modifiers.range_start}\n data-range-end={modifiers.range_end}\n data-range-middle={modifiers.range_middle}\n className={cn(\n 'data-[range-end=true]:bg-primary data-[range-middle=true]:bg-accent data-[range-start=true]:bg-primary data-[selected-single=true]:bg-primary data-[range-end=true]:text-primary-foreground data-[range-middle=true]:text-accent-foreground data-[range-start=true]:text-primary-foreground data-[selected-single=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-accent-foreground flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md [&>span]:text-xs [&>span]:opacity-70',\n defaultClassNames.day,\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Calendar, CalendarDayButton };\n"],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import * as React$1 from "react";
2
+ import * as react_jsx_runtime31 from "react/jsx-runtime";
3
+
4
+ //#region ui/card.d.ts
5
+ declare function Card({
6
+ className,
7
+ ...props
8
+ }: React$1.ComponentProps<'div'>): react_jsx_runtime31.JSX.Element;
9
+ declare function CardHeader({
10
+ className,
11
+ ...props
12
+ }: React$1.ComponentProps<'div'>): react_jsx_runtime31.JSX.Element;
13
+ declare function CardTitle({
14
+ className,
15
+ ...props
16
+ }: React$1.ComponentProps<'div'>): react_jsx_runtime31.JSX.Element;
17
+ declare function CardDescription({
18
+ className,
19
+ ...props
20
+ }: React$1.ComponentProps<'div'>): react_jsx_runtime31.JSX.Element;
21
+ declare function CardAction({
22
+ className,
23
+ ...props
24
+ }: React$1.ComponentProps<'div'>): react_jsx_runtime31.JSX.Element;
25
+ declare function CardContent({
26
+ className,
27
+ ...props
28
+ }: React$1.ComponentProps<'div'>): react_jsx_runtime31.JSX.Element;
29
+ declare function CardFooter({
30
+ className,
31
+ ...props
32
+ }: React$1.ComponentProps<'div'>): react_jsx_runtime31.JSX.Element;
33
+ //#endregion
34
+ export { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle };
35
+ //# sourceMappingURL=card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card.d.ts","names":[],"sources":["../../ui/card.tsx"],"sourcesContent":[],"mappings":";;;;iBAIS,IAAA;;;GAA8B,OAAA,CAAM,wBAAqB,mBAAA,CAAA,GAAA,CAAA;iBAazD,UAAA;;;GAAoC,OAAA,CAAM,wBAAqB,mBAAA,CAAA,GAAA,CAAA;iBAa/D,SAAA;;;GAAmC,OAAA,CAAM,wBAAqB,mBAAA,CAAA,GAAA,CAAA;AA9BxC,iBAwCtB,eAAA,CApCI;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAoCqC,OAAA,CAAM,cApC3C,CAAA,KAAA,CAAA,CAAA,EAoCgE,mBAAA,CAAA,GAAA,CAAA,OApChE;iBA8CJ,UAAA,CA9CO;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA8C6B,OAAA,CAAM,cA9CnC,CAAA,KAAA,CAAA,CAAA,EA8CwD,mBAAA,CAAA,GAAA,CAAA,OA9CxD;iBA2DP,WAAA,CA3DoC;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA2DC,OAAA,CAAM,cA3DP,CAAA,KAAA,CAAA,CAAA,EA2D4B,mBAAA,CAAA,GAAA,CAAA,OA3D5B;iBAqEpC,UAAA,CArEyD;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAqErB,OAAA,CAAM,cArEe,CAAA,KAAA,CAAA,CAAA,EAqEM,mBAAA,CAAA,GAAA,CAAA,OArEN"}
@@ -0,0 +1,58 @@
1
+ import { cn } from "./utils.js";
2
+ import "react";
3
+ import { jsx } from "react/jsx-runtime";
4
+
5
+ //#region ui/card.tsx
6
+ function Card({ className,...props }) {
7
+ return /* @__PURE__ */ jsx("div", {
8
+ "data-slot": "card",
9
+ className: cn("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-2xs", className),
10
+ ...props
11
+ });
12
+ }
13
+ function CardHeader({ className,...props }) {
14
+ return /* @__PURE__ */ jsx("div", {
15
+ "data-slot": "card-header",
16
+ className: cn("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6", className),
17
+ ...props
18
+ });
19
+ }
20
+ function CardTitle({ className,...props }) {
21
+ return /* @__PURE__ */ jsx("div", {
22
+ "data-slot": "card-title",
23
+ className: cn("leading-none font-semibold", className),
24
+ ...props
25
+ });
26
+ }
27
+ function CardDescription({ className,...props }) {
28
+ return /* @__PURE__ */ jsx("div", {
29
+ "data-slot": "card-description",
30
+ className: cn("text-muted-foreground text-sm", className),
31
+ ...props
32
+ });
33
+ }
34
+ function CardAction({ className,...props }) {
35
+ return /* @__PURE__ */ jsx("div", {
36
+ "data-slot": "card-action",
37
+ className: cn("col-start-2 row-span-2 row-start-1 self-start justify-self-end", className),
38
+ ...props
39
+ });
40
+ }
41
+ function CardContent({ className,...props }) {
42
+ return /* @__PURE__ */ jsx("div", {
43
+ "data-slot": "card-content",
44
+ className: cn("px-6", className),
45
+ ...props
46
+ });
47
+ }
48
+ function CardFooter({ className,...props }) {
49
+ return /* @__PURE__ */ jsx("div", {
50
+ "data-slot": "card-footer",
51
+ className: cn("flex items-center px-6 [.border-t]:pt-6", className),
52
+ ...props
53
+ });
54
+ }
55
+
56
+ //#endregion
57
+ export { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle };
58
+ //# sourceMappingURL=card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card.js","names":[],"sources":["../../ui/card.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { cn } from './utils';\n\nfunction Card({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card\"\n className={cn(\n 'bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-2xs',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn(\n '@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-title\"\n className={cn('leading-none font-semibold', className)}\n {...props}\n />\n );\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-description\"\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n );\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-action\"\n className={cn(\n 'col-start-2 row-span-2 row-start-1 self-start justify-self-end',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-content\"\n className={cn('px-6', className)}\n {...props}\n />\n );\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-footer\"\n className={cn('flex items-center px-6 [.border-t]:pt-6', className)}\n {...props}\n />\n );\n}\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardAction,\n CardDescription,\n CardContent,\n};\n"],"mappings":";;;;;AAIA,SAAS,KAAK,EAAE,UAAW,GAAG,SAAsC;AAClE,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,sFACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,WAAW,EAAE,UAAW,GAAG,SAAsC;AACxE,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,8JACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,UAAU,EAAE,UAAW,GAAG,SAAsC;AACvE,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GAAG,8BAA8B,UAAU;EACtD,GAAI;GACJ;;AAIN,SAAS,gBAAgB,EAAE,UAAW,GAAG,SAAsC;AAC7E,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GAAG,iCAAiC,UAAU;EACzD,GAAI;GACJ;;AAIN,SAAS,WAAW,EAAE,UAAW,GAAG,SAAsC;AACxE,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,kEACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,YAAY,EAAE,UAAW,GAAG,SAAsC;AACzE,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GAAG,QAAQ,UAAU;EAChC,GAAI;GACJ;;AAIN,SAAS,WAAW,EAAE,UAAW,GAAG,SAAsC;AACxE,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GAAG,2CAA2C,UAAU;EACnE,GAAI;GACJ"}
@@ -0,0 +1,48 @@
1
+ import { Button } from "./button.js";
2
+ import * as React$1 from "react";
3
+ import * as react_jsx_runtime38 from "react/jsx-runtime";
4
+ import useEmblaCarousel, { UseEmblaCarouselType } from "embla-carousel-react";
5
+
6
+ //#region ui/carousel.d.ts
7
+ type CarouselApi = UseEmblaCarouselType[1];
8
+ type UseCarouselParameters = Parameters<typeof useEmblaCarousel>;
9
+ type CarouselOptions = UseCarouselParameters[0];
10
+ type CarouselPlugin = UseCarouselParameters[1];
11
+ interface CarouselProps {
12
+ opts?: CarouselOptions;
13
+ plugins?: CarouselPlugin;
14
+ orientation?: 'horizontal' | 'vertical';
15
+ setApi?: (api: CarouselApi) => void;
16
+ }
17
+ declare function Carousel({
18
+ orientation,
19
+ opts,
20
+ setApi,
21
+ plugins,
22
+ className,
23
+ children,
24
+ ...props
25
+ }: React$1.ComponentProps<'div'> & CarouselProps): react_jsx_runtime38.JSX.Element;
26
+ declare function CarouselContent({
27
+ className,
28
+ ...props
29
+ }: React$1.ComponentProps<'div'>): react_jsx_runtime38.JSX.Element;
30
+ declare function CarouselItem({
31
+ className,
32
+ ...props
33
+ }: React$1.ComponentProps<'div'>): react_jsx_runtime38.JSX.Element;
34
+ declare function CarouselPrevious({
35
+ className,
36
+ variant,
37
+ size,
38
+ ...props
39
+ }: React$1.ComponentProps<typeof Button>): react_jsx_runtime38.JSX.Element;
40
+ declare function CarouselNext({
41
+ className,
42
+ variant,
43
+ size,
44
+ ...props
45
+ }: React$1.ComponentProps<typeof Button>): react_jsx_runtime38.JSX.Element;
46
+ //#endregion
47
+ export { Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious };
48
+ //# sourceMappingURL=carousel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"carousel.d.ts","names":[],"sources":["../../ui/carousel.tsx"],"sourcesContent":[],"mappings":";;;;;;KAWK,WAAA,GAAc;KACd,qBAAA,GAAwB,kBAAkB;KAC1C,eAAA,GAAkB;AAJW,KAK7B,cAAA,GAAiB,qBAHH,CAAA,CAAA,CAAA;AAAoB,UAK7B,aAAA,CAJL;EACA,IAAA,CAAA,EAII,eAJW;EACf,OAAA,CAAA,EAIO,cAJO;EAET,WAAA,CAAA,EAAA,YAAa,GAAA,UAAA;EACd,MAAA,CAAA,EAAA,CAAA,GAAA,EAGQ,WAHR,EAAA,GAAA,IAAA;;iBA2BA,QAAA,CAxBQ;EAAA,WAAA;EAAA,IAAA;EAAA,MAAA;EAAA,OAAA;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EAgCd,OAAA,CAAM,cAhCQ,CAAA,KAAA,CAAA,GAgCgB,aAhChB,CAAA,EAgC6B,mBAAA,CAAA,GAAA,CAAA,OAhC7B;iBAkHR,eAAA,CAlHmB;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAkHsB,OAAA,CAAM,cAlH5B,CAAA,KAAA,CAAA,CAAA,EAkHiD,mBAAA,CAAA,GAAA,CAAA,OAlHjD;AAAA,iBAuInB,YAAA,CA/GQ;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA+G8B,OAAA,CAAM,cA/GpC,CAAA,KAAA,CAAA,CAAA,EA+GyD,mBAAA,CAAA,GAAA,CAAA,OA/GzD;iBAiIR,gBAAA,CAhIP;EAAA,SAAA;EAAA,OAAA;EAAA,IAAA;EAAA,GAAA;AAAA,CAAA,EAqIC,OAAA,CAAM,cArIP,CAAA,OAqI6B,MArI7B,CAAA,CAAA,EAqIoC,mBAAA,CAAA,GAAA,CAAA,OArIpC;iBA8JO,YAAA,CA7JP;EAAA,SAAA;EAAA,OAAA;EAAA,IAAA;EAAA,GAAA;AAAA,CAAA,EAkKC,OAAA,CAAM,cAlKP,CAAA,OAkK6B,MAlK7B,CAAA,CAAA,EAkKoC,mBAAA,CAAA,GAAA,CAAA,OAlKpC"}
@@ -0,0 +1,137 @@
1
+ 'use client';
2
+
3
+
4
+ import { cn } from "./utils.js";
5
+ import { Button } from "./button.js";
6
+ import * as React$1 from "react";
7
+ import { ArrowLeft, ArrowRight } from "lucide-react";
8
+ import { jsx, jsxs } from "react/jsx-runtime";
9
+ import useEmblaCarousel from "embla-carousel-react";
10
+
11
+ //#region ui/carousel.tsx
12
+ const CarouselContext = React$1.createContext(null);
13
+ function useCarousel() {
14
+ const context = React$1.useContext(CarouselContext);
15
+ if (!context) throw new Error("useCarousel must be used within a <Carousel />");
16
+ return context;
17
+ }
18
+ function Carousel({ orientation = "horizontal", opts, setApi, plugins, className, children,...props }) {
19
+ const [carouselRef, api] = useEmblaCarousel({
20
+ ...opts,
21
+ axis: orientation === "horizontal" ? "x" : "y"
22
+ }, plugins);
23
+ const [canScrollPrev, setCanScrollPrev] = React$1.useState(false);
24
+ const [canScrollNext, setCanScrollNext] = React$1.useState(false);
25
+ const onSelect = React$1.useCallback((api$1) => {
26
+ if (!api$1) return;
27
+ setCanScrollPrev(api$1.canScrollPrev());
28
+ setCanScrollNext(api$1.canScrollNext());
29
+ }, []);
30
+ const scrollPrev = React$1.useCallback(() => {
31
+ api?.scrollPrev();
32
+ }, [api]);
33
+ const scrollNext = React$1.useCallback(() => {
34
+ api?.scrollNext();
35
+ }, [api]);
36
+ const handleKeyDown = React$1.useCallback((event) => {
37
+ if (event.key === "ArrowLeft") {
38
+ event.preventDefault();
39
+ scrollPrev();
40
+ } else if (event.key === "ArrowRight") {
41
+ event.preventDefault();
42
+ scrollNext();
43
+ }
44
+ }, [scrollPrev, scrollNext]);
45
+ React$1.useEffect(() => {
46
+ if (!api || !setApi) return;
47
+ setApi(api);
48
+ }, [api, setApi]);
49
+ React$1.useEffect(() => {
50
+ if (!api) return;
51
+ onSelect(api);
52
+ api.on("reInit", onSelect);
53
+ api.on("select", onSelect);
54
+ return () => {
55
+ api?.off("select", onSelect);
56
+ };
57
+ }, [api, onSelect]);
58
+ return /* @__PURE__ */ jsx(CarouselContext.Provider, {
59
+ value: {
60
+ carouselRef,
61
+ api,
62
+ opts,
63
+ orientation: orientation || (opts?.axis === "y" ? "vertical" : "horizontal"),
64
+ scrollPrev,
65
+ scrollNext,
66
+ canScrollPrev,
67
+ canScrollNext
68
+ },
69
+ children: /* @__PURE__ */ jsx("div", {
70
+ onKeyDownCapture: handleKeyDown,
71
+ className: cn("relative", className),
72
+ role: "region",
73
+ "aria-roledescription": "carousel",
74
+ "data-slot": "carousel",
75
+ ...props,
76
+ children
77
+ })
78
+ });
79
+ }
80
+ function CarouselContent({ className,...props }) {
81
+ const { carouselRef, orientation } = useCarousel();
82
+ return /* @__PURE__ */ jsx("div", {
83
+ ref: carouselRef,
84
+ className: "overflow-hidden",
85
+ "data-slot": "carousel-content",
86
+ children: /* @__PURE__ */ jsx("div", {
87
+ className: cn("flex", orientation === "horizontal" ? "-ml-4" : "-mt-4 flex-col", className),
88
+ ...props
89
+ })
90
+ });
91
+ }
92
+ function CarouselItem({ className,...props }) {
93
+ const { orientation } = useCarousel();
94
+ return /* @__PURE__ */ jsx("div", {
95
+ role: "group",
96
+ "aria-roledescription": "slide",
97
+ "data-slot": "carousel-item",
98
+ className: cn("min-w-0 shrink-0 grow-0 basis-full", orientation === "horizontal" ? "pl-4" : "pt-4", className),
99
+ ...props
100
+ });
101
+ }
102
+ function CarouselPrevious({ className, variant = "outline", size = "icon",...props }) {
103
+ const { orientation, scrollPrev, canScrollPrev } = useCarousel();
104
+ return /* @__PURE__ */ jsxs(Button, {
105
+ "data-slot": "carousel-previous",
106
+ variant,
107
+ size,
108
+ className: cn("absolute size-8 rounded-full", orientation === "horizontal" ? "top-1/2 -left-12 -translate-y-1/2" : "-top-12 left-1/2 -translate-x-1/2 rotate-90", className),
109
+ disabled: !canScrollPrev,
110
+ onClick: scrollPrev,
111
+ ...props,
112
+ children: [/* @__PURE__ */ jsx(ArrowLeft, {}), /* @__PURE__ */ jsx("span", {
113
+ className: "sr-only",
114
+ children: "Previous slide"
115
+ })]
116
+ });
117
+ }
118
+ function CarouselNext({ className, variant = "outline", size = "icon",...props }) {
119
+ const { orientation, scrollNext, canScrollNext } = useCarousel();
120
+ return /* @__PURE__ */ jsxs(Button, {
121
+ "data-slot": "carousel-next",
122
+ variant,
123
+ size,
124
+ className: cn("absolute size-8 rounded-full", orientation === "horizontal" ? "top-1/2 -right-12 -translate-y-1/2" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90", className),
125
+ disabled: !canScrollNext,
126
+ onClick: scrollNext,
127
+ ...props,
128
+ children: [/* @__PURE__ */ jsx(ArrowRight, {}), /* @__PURE__ */ jsx("span", {
129
+ className: "sr-only",
130
+ children: "Next slide"
131
+ })]
132
+ });
133
+ }
134
+
135
+ //#endregion
136
+ export { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious };
137
+ //# sourceMappingURL=carousel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"carousel.js","names":["React","api"],"sources":["../../ui/carousel.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport useEmblaCarousel, {\n type UseEmblaCarouselType,\n} from 'embla-carousel-react';\nimport { ArrowLeft, ArrowRight } from 'lucide-react';\n\nimport { cn } from './utils';\nimport { Button } from './button';\n\ntype CarouselApi = UseEmblaCarouselType[1];\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>;\ntype CarouselOptions = UseCarouselParameters[0];\ntype CarouselPlugin = UseCarouselParameters[1];\n\ninterface CarouselProps {\n opts?: CarouselOptions;\n plugins?: CarouselPlugin;\n orientation?: 'horizontal' | 'vertical';\n setApi?: (api: CarouselApi) => void;\n}\n\ntype CarouselContextProps = {\n carouselRef: ReturnType<typeof useEmblaCarousel>[0];\n api: ReturnType<typeof useEmblaCarousel>[1];\n scrollPrev: () => void;\n scrollNext: () => void;\n canScrollPrev: boolean;\n canScrollNext: boolean;\n} & CarouselProps;\n\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null);\n\nfunction useCarousel() {\n const context = React.useContext(CarouselContext);\n\n if (!context) {\n throw new Error('useCarousel must be used within a <Carousel />');\n }\n\n return context;\n}\n\nfunction Carousel({\n orientation = 'horizontal',\n opts,\n setApi,\n plugins,\n className,\n children,\n ...props\n}: React.ComponentProps<'div'> & CarouselProps) {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === 'horizontal' ? 'x' : 'y',\n },\n plugins\n );\n const [canScrollPrev, setCanScrollPrev] = React.useState(false);\n const [canScrollNext, setCanScrollNext] = React.useState(false);\n\n const onSelect = React.useCallback((api: CarouselApi) => {\n if (!api) return;\n setCanScrollPrev(api.canScrollPrev());\n setCanScrollNext(api.canScrollNext());\n }, []);\n\n const scrollPrev = React.useCallback(() => {\n api?.scrollPrev();\n }, [api]);\n\n const scrollNext = React.useCallback(() => {\n api?.scrollNext();\n }, [api]);\n\n const handleKeyDown = React.useCallback(\n (event: React.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 React.useEffect(() => {\n if (!api || !setApi) return;\n setApi(api);\n }, [api, setApi]);\n\n React.useEffect(() => {\n if (!api) return;\n onSelect(api);\n api.on('reInit', onSelect);\n api.on('select', onSelect);\n\n return () => {\n api?.off('select', onSelect);\n };\n }, [api, onSelect]);\n\n return (\n <CarouselContext.Provider\n value={{\n carouselRef,\n api: api,\n opts,\n orientation:\n orientation || (opts?.axis === 'y' ? 'vertical' : 'horizontal'),\n scrollPrev,\n scrollNext,\n canScrollPrev,\n canScrollNext,\n }}\n >\n <div\n onKeyDownCapture={handleKeyDown}\n className={cn('relative', className)}\n role=\"region\"\n aria-roledescription=\"carousel\"\n data-slot=\"carousel\"\n {...props}\n >\n {children}\n </div>\n </CarouselContext.Provider>\n );\n}\n\nfunction CarouselContent({ className, ...props }: React.ComponentProps<'div'>) {\n const { carouselRef, orientation } = useCarousel();\n\n return (\n <div\n ref={carouselRef}\n className=\"overflow-hidden\"\n data-slot=\"carousel-content\"\n >\n <div\n className={cn(\n 'flex',\n orientation === 'horizontal' ? '-ml-4' : '-mt-4 flex-col',\n className\n )}\n {...props}\n />\n </div>\n );\n}\n\nfunction CarouselItem({ className, ...props }: React.ComponentProps<'div'>) {\n const { orientation } = useCarousel();\n\n return (\n <div\n role=\"group\"\n aria-roledescription=\"slide\"\n data-slot=\"carousel-item\"\n className={cn(\n 'min-w-0 shrink-0 grow-0 basis-full',\n orientation === 'horizontal' ? 'pl-4' : 'pt-4',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction CarouselPrevious({\n className,\n variant = 'outline',\n size = 'icon',\n ...props\n}: React.ComponentProps<typeof Button>) {\n const { orientation, scrollPrev, canScrollPrev } = useCarousel();\n\n return (\n <Button\n data-slot=\"carousel-previous\"\n variant={variant}\n size={size}\n className={cn(\n 'absolute size-8 rounded-full',\n orientation === 'horizontal'\n ? 'top-1/2 -left-12 -translate-y-1/2'\n : '-top-12 left-1/2 -translate-x-1/2 rotate-90',\n className\n )}\n disabled={!canScrollPrev}\n onClick={scrollPrev}\n {...props}\n >\n <ArrowLeft />\n <span className=\"sr-only\">Previous slide</span>\n </Button>\n );\n}\n\nfunction CarouselNext({\n className,\n variant = 'outline',\n size = 'icon',\n ...props\n}: React.ComponentProps<typeof Button>) {\n const { orientation, scrollNext, canScrollNext } = useCarousel();\n\n return (\n <Button\n data-slot=\"carousel-next\"\n variant={variant}\n size={size}\n className={cn(\n 'absolute size-8 rounded-full',\n orientation === 'horizontal'\n ? 'top-1/2 -right-12 -translate-y-1/2'\n : '-bottom-12 left-1/2 -translate-x-1/2 rotate-90',\n className\n )}\n disabled={!canScrollNext}\n onClick={scrollNext}\n {...props}\n >\n <ArrowRight />\n <span className=\"sr-only\">Next slide</span>\n </Button>\n );\n}\n\nexport {\n type CarouselApi,\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselPrevious,\n CarouselNext,\n};\n"],"mappings":";;;;;;;;;;;AAgCA,MAAM,kBAAkBA,QAAM,cAA2C,KAAK;AAE9E,SAAS,cAAc;CACrB,MAAM,UAAUA,QAAM,WAAW,gBAAgB;AAEjD,KAAI,CAAC,QACH,OAAM,IAAI,MAAM,iDAAiD;AAGnE,QAAO;;AAGT,SAAS,SAAS,EAChB,cAAc,cACd,MACA,QACA,SACA,WACA,SACA,GAAG,SAC2C;CAC9C,MAAM,CAAC,aAAa,OAAO,iBACzB;EACE,GAAG;EACH,MAAM,gBAAgB,eAAe,MAAM;EAC5C,EACD,QACD;CACD,MAAM,CAAC,eAAe,oBAAoBA,QAAM,SAAS,MAAM;CAC/D,MAAM,CAAC,eAAe,oBAAoBA,QAAM,SAAS,MAAM;CAE/D,MAAM,WAAWA,QAAM,aAAa,UAAqB;AACvD,MAAI,CAACC,MAAK;AACV,mBAAiBA,MAAI,eAAe,CAAC;AACrC,mBAAiBA,MAAI,eAAe,CAAC;IACpC,EAAE,CAAC;CAEN,MAAM,aAAaD,QAAM,kBAAkB;AACzC,OAAK,YAAY;IAChB,CAAC,IAAI,CAAC;CAET,MAAM,aAAaA,QAAM,kBAAkB;AACzC,OAAK,YAAY;IAChB,CAAC,IAAI,CAAC;CAET,MAAM,gBAAgBA,QAAM,aACzB,UAA+C;AAC9C,MAAI,MAAM,QAAQ,aAAa;AAC7B,SAAM,gBAAgB;AACtB,eAAY;aACH,MAAM,QAAQ,cAAc;AACrC,SAAM,gBAAgB;AACtB,eAAY;;IAGhB,CAAC,YAAY,WAAW,CACzB;AAED,SAAM,gBAAgB;AACpB,MAAI,CAAC,OAAO,CAAC,OAAQ;AACrB,SAAO,IAAI;IACV,CAAC,KAAK,OAAO,CAAC;AAEjB,SAAM,gBAAgB;AACpB,MAAI,CAAC,IAAK;AACV,WAAS,IAAI;AACb,MAAI,GAAG,UAAU,SAAS;AAC1B,MAAI,GAAG,UAAU,SAAS;AAE1B,eAAa;AACX,QAAK,IAAI,UAAU,SAAS;;IAE7B,CAAC,KAAK,SAAS,CAAC;AAEnB,QACE,oBAAC,gBAAgB;EACf,OAAO;GACL;GACK;GACL;GACA,aACE,gBAAgB,MAAM,SAAS,MAAM,aAAa;GACpD;GACA;GACA;GACA;GACD;YAED,oBAAC;GACC,kBAAkB;GAClB,WAAW,GAAG,YAAY,UAAU;GACpC,MAAK;GACL,wBAAqB;GACrB,aAAU;GACV,GAAI;GAEH;IACG;GACmB;;AAI/B,SAAS,gBAAgB,EAAE,UAAW,GAAG,SAAsC;CAC7E,MAAM,EAAE,aAAa,gBAAgB,aAAa;AAElD,QACE,oBAAC;EACC,KAAK;EACL,WAAU;EACV,aAAU;YAEV,oBAAC;GACC,WAAW,GACT,QACA,gBAAgB,eAAe,UAAU,kBACzC,UACD;GACD,GAAI;IACJ;GACE;;AAIV,SAAS,aAAa,EAAE,UAAW,GAAG,SAAsC;CAC1E,MAAM,EAAE,gBAAgB,aAAa;AAErC,QACE,oBAAC;EACC,MAAK;EACL,wBAAqB;EACrB,aAAU;EACV,WAAW,GACT,sCACA,gBAAgB,eAAe,SAAS,QACxC,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,iBAAiB,EACxB,WACA,UAAU,WACV,OAAO,OACP,GAAG,SACmC;CACtC,MAAM,EAAE,aAAa,YAAY,kBAAkB,aAAa;AAEhE,QACE,qBAAC;EACC,aAAU;EACD;EACH;EACN,WAAW,GACT,gCACA,gBAAgB,eACZ,sCACA,+CACJ,UACD;EACD,UAAU,CAAC;EACX,SAAS;EACT,GAAI;aAEJ,oBAAC,cAAY,EACb,oBAAC;GAAK,WAAU;aAAU;IAAqB;GACxC;;AAIb,SAAS,aAAa,EACpB,WACA,UAAU,WACV,OAAO,OACP,GAAG,SACmC;CACtC,MAAM,EAAE,aAAa,YAAY,kBAAkB,aAAa;AAEhE,QACE,qBAAC;EACC,aAAU;EACD;EACH;EACN,WAAW,GACT,gCACA,gBAAgB,eACZ,uCACA,kDACJ,UACD;EACD,UAAU,CAAC;EACX,SAAS;EACT,GAAI;aAEJ,oBAAC,eAAa,EACd,oBAAC;GAAK,WAAU;aAAU;IAAiB;GACpC"}
@@ -0,0 +1,12 @@
1
+ import * as React$1 from "react";
2
+ import * as react_jsx_runtime43 from "react/jsx-runtime";
3
+ import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
4
+
5
+ //#region ui/checkbox.d.ts
6
+ declare function Checkbox({
7
+ className,
8
+ ...props
9
+ }: React$1.ComponentProps<typeof CheckboxPrimitive.Root>): react_jsx_runtime43.JSX.Element;
10
+ //#endregion
11
+ export { Checkbox };
12
+ //# sourceMappingURL=checkbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox.d.ts","names":[],"sources":["../../ui/checkbox.tsx"],"sourcesContent":[],"mappings":";;;;;iBAQS,QAAA;;;GAGN,OAAA,CAAM,sBAAsB,iBAAA,CAAkB,QAAK,mBAAA,CAAA,GAAA,CAAA"}
@@ -0,0 +1,26 @@
1
+ 'use client';
2
+
3
+
4
+ import { cn } from "./utils.js";
5
+ import "react";
6
+ import { CheckIcon } from "lucide-react";
7
+ import { jsx } from "react/jsx-runtime";
8
+ import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
9
+
10
+ //#region ui/checkbox.tsx
11
+ function Checkbox({ className,...props }) {
12
+ return /* @__PURE__ */ jsx(CheckboxPrimitive.Root, {
13
+ "data-slot": "checkbox",
14
+ className: cn("aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive peer border-input focus-visible:border-ring focus-visible:ring-ring/50 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:bg-input/30 dark:data-[state=checked]:bg-primary size-4 shrink-0 rounded-[4px] border shadow-2xs outline-hidden transition-shadow focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50", className),
15
+ ...props,
16
+ children: /* @__PURE__ */ jsx(CheckboxPrimitive.Indicator, {
17
+ "data-slot": "checkbox-indicator",
18
+ className: "flex items-center justify-center text-current transition-none",
19
+ children: /* @__PURE__ */ jsx(CheckIcon, { className: "size-3.5" })
20
+ })
21
+ });
22
+ }
23
+
24
+ //#endregion
25
+ export { Checkbox };
26
+ //# sourceMappingURL=checkbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox.js","names":[],"sources":["../../ui/checkbox.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox';\nimport { CheckIcon } from 'lucide-react';\n\nimport { cn } from './utils';\n\nfunction Checkbox({\n className,\n ...props\n}: React.ComponentProps<typeof CheckboxPrimitive.Root>) {\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n 'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive peer border-input focus-visible:border-ring focus-visible:ring-ring/50 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:bg-input/30 dark:data-[state=checked]:bg-primary size-4 shrink-0 rounded-[4px] border shadow-2xs outline-hidden transition-shadow focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50',\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className=\"flex items-center justify-center text-current transition-none\"\n >\n <CheckIcon className=\"size-3.5\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n}\n\nexport { Checkbox };\n"],"mappings":";;;;;;;;;;AAQA,SAAS,SAAS,EAChB,UACA,GAAG,SACmD;AACtD,QACE,oBAAC,kBAAkB;EACjB,aAAU;EACV,WAAW,GACT,kfACA,UACD;EACD,GAAI;YAEJ,oBAAC,kBAAkB;GACjB,aAAU;GACV,WAAU;aAEV,oBAAC,aAAU,WAAU,aAAa;IACN;GACP"}
@@ -0,0 +1,16 @@
1
+ import * as react_jsx_runtime44 from "react/jsx-runtime";
2
+ import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
3
+
4
+ //#region ui/collapsible.d.ts
5
+ declare function Collapsible({
6
+ ...props
7
+ }: React.ComponentProps<typeof CollapsiblePrimitive.Root>): react_jsx_runtime44.JSX.Element;
8
+ declare function CollapsibleTrigger({
9
+ ...props
10
+ }: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger>): react_jsx_runtime44.JSX.Element;
11
+ declare function CollapsibleContent({
12
+ ...props
13
+ }: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>): react_jsx_runtime44.JSX.Element;
14
+ //#endregion
15
+ export { Collapsible, CollapsibleContent, CollapsibleTrigger };
16
+ //# sourceMappingURL=collapsible.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collapsible.d.ts","names":[],"sources":["../../ui/collapsible.tsx"],"sourcesContent":[],"mappings":";;;;iBAIS,WAAA;;GAEN,KAAA,CAAM,sBAAsB,oBAAA,CAAqB,QAAK,mBAAA,CAAA,GAAA,CAAA;iBAIhD,kBAAA;;GAEN,KAAA,CAAM,sBAAsB,oBAAA,CAAqB,sBAAmB,mBAAA,CAAA,GAAA,CAAA;iBAS9D,kBAAA;;GAEN,KAAA,CAAM,sBAAsB,oBAAA,CAAqB,sBAAmB,mBAAA,CAAA,GAAA,CAAA"}
@@ -0,0 +1,29 @@
1
+ 'use client';
2
+
3
+
4
+ import { jsx } from "react/jsx-runtime";
5
+ import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
6
+
7
+ //#region ui/collapsible.tsx
8
+ function Collapsible({ ...props }) {
9
+ return /* @__PURE__ */ jsx(CollapsiblePrimitive.Root, {
10
+ "data-slot": "collapsible",
11
+ ...props
12
+ });
13
+ }
14
+ function CollapsibleTrigger({ ...props }) {
15
+ return /* @__PURE__ */ jsx(CollapsiblePrimitive.CollapsibleTrigger, {
16
+ "data-slot": "collapsible-trigger",
17
+ ...props
18
+ });
19
+ }
20
+ function CollapsibleContent({ ...props }) {
21
+ return /* @__PURE__ */ jsx(CollapsiblePrimitive.CollapsibleContent, {
22
+ "data-slot": "collapsible-content",
23
+ ...props
24
+ });
25
+ }
26
+
27
+ //#endregion
28
+ export { Collapsible, CollapsibleContent, CollapsibleTrigger };
29
+ //# sourceMappingURL=collapsible.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collapsible.js","names":[],"sources":["../../ui/collapsible.tsx"],"sourcesContent":["'use client';\n\nimport * as CollapsiblePrimitive from '@radix-ui/react-collapsible';\n\nfunction Collapsible({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.Root>) {\n return <CollapsiblePrimitive.Root data-slot=\"collapsible\" {...props} />;\n}\n\nfunction CollapsibleTrigger({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger>) {\n return (\n <CollapsiblePrimitive.CollapsibleTrigger\n data-slot=\"collapsible-trigger\"\n {...props}\n />\n );\n}\n\nfunction CollapsibleContent({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>) {\n return (\n <CollapsiblePrimitive.CollapsibleContent\n data-slot=\"collapsible-content\"\n {...props}\n />\n );\n}\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent };\n"],"mappings":";;;;;;;AAIA,SAAS,YAAY,EACnB,GAAG,SACsD;AACzD,QAAO,oBAAC,qBAAqB;EAAK,aAAU;EAAc,GAAI;GAAS;;AAGzE,SAAS,mBAAmB,EAC1B,GAAG,SACoE;AACvE,QACE,oBAAC,qBAAqB;EACpB,aAAU;EACV,GAAI;GACJ;;AAIN,SAAS,mBAAmB,EAC1B,GAAG,SACoE;AACvE,QACE,oBAAC,qBAAqB;EACpB,aAAU;EACV,GAAI;GACJ"}