@health-samurai/react-components 0.0.0-alpha.2 → 0.0.0-alpha.21

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 (571) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +102 -1
  3. package/dist/bundle.css +2349 -754
  4. package/dist/src/components/button-dropdown.d.ts +10 -0
  5. package/dist/src/components/button-dropdown.d.ts.map +1 -0
  6. package/dist/src/components/button-dropdown.js +70 -0
  7. package/dist/src/components/button-dropdown.js.map +1 -0
  8. package/dist/src/components/button-dropdown.stories.js +48 -0
  9. package/dist/src/components/button-dropdown.stories.js.map +1 -0
  10. package/dist/src/components/code-editor/fhir-autocomplete.d.ts +70 -0
  11. package/dist/src/components/code-editor/fhir-autocomplete.d.ts.map +1 -0
  12. package/dist/src/components/code-editor/fhir-autocomplete.js +1850 -0
  13. package/dist/src/components/code-editor/fhir-autocomplete.js.map +1 -0
  14. package/dist/src/components/code-editor/fhir-autocomplete.test.js +1099 -0
  15. package/dist/src/components/code-editor/fhir-autocomplete.test.js.map +1 -0
  16. package/dist/src/components/code-editor/http/grammar/http.d.ts +3 -0
  17. package/dist/src/components/code-editor/http/grammar/http.d.ts.map +1 -0
  18. package/dist/src/components/code-editor/http/grammar/http.grammar +74 -0
  19. package/dist/src/components/code-editor/http/grammar/http.js +38 -0
  20. package/dist/src/components/code-editor/http/grammar/http.js.map +1 -0
  21. package/dist/src/components/code-editor/http/grammar/http.terms.d.ts +2 -0
  22. package/dist/src/components/code-editor/http/grammar/http.terms.d.ts.map +1 -0
  23. package/dist/src/components/code-editor/http/grammar/http.terms.js +4 -0
  24. package/dist/src/components/code-editor/http/grammar/http.terms.js.map +1 -0
  25. package/dist/src/components/code-editor/http/grammar/http.test.js +80 -0
  26. package/dist/src/components/code-editor/http/grammar/http.test.js.map +1 -0
  27. package/dist/src/components/code-editor/http/index.d.ts +12 -0
  28. package/dist/src/components/code-editor/http/index.d.ts.map +1 -0
  29. package/dist/src/components/code-editor/http/index.js +486 -0
  30. package/dist/src/components/code-editor/http/index.js.map +1 -0
  31. package/dist/src/components/code-editor/index.d.ts +39 -1
  32. package/dist/src/components/code-editor/index.d.ts.map +1 -1
  33. package/dist/src/components/code-editor/index.js +1792 -45
  34. package/dist/src/components/code-editor/index.js.map +1 -1
  35. package/dist/src/components/code-editor/json-ast.d.ts +46 -0
  36. package/dist/src/components/code-editor/json-ast.d.ts.map +1 -0
  37. package/dist/src/components/code-editor/json-ast.js +465 -0
  38. package/dist/src/components/code-editor/json-ast.js.map +1 -0
  39. package/dist/src/components/code-editor/json-ast.test.js +206 -0
  40. package/dist/src/components/code-editor/json-ast.test.js.map +1 -0
  41. package/dist/src/components/code-editor/sql-completion.d.ts +22 -0
  42. package/dist/src/components/code-editor/sql-completion.d.ts.map +1 -0
  43. package/dist/src/components/code-editor/sql-completion.js +897 -0
  44. package/dist/src/components/code-editor/sql-completion.js.map +1 -0
  45. package/dist/src/components/code-editor.stories.js +280 -3
  46. package/dist/src/components/code-editor.stories.js.map +1 -1
  47. package/dist/src/components/copy-icon.d.ts +5 -1
  48. package/dist/src/components/copy-icon.d.ts.map +1 -1
  49. package/dist/src/components/copy-icon.js +41 -3
  50. package/dist/src/components/copy-icon.js.map +1 -1
  51. package/dist/src/components/data-table.d.ts +9 -0
  52. package/dist/src/components/data-table.d.ts.map +1 -0
  53. package/dist/src/components/data-table.js +66 -0
  54. package/dist/src/components/data-table.js.map +1 -0
  55. package/dist/src/components/data-table.stories.js +240 -0
  56. package/dist/src/components/data-table.stories.js.map +1 -0
  57. package/dist/src/components/date-picker-input.d.ts +10 -0
  58. package/dist/src/components/date-picker-input.d.ts.map +1 -0
  59. package/dist/src/components/date-picker-input.js +90 -0
  60. package/dist/src/components/date-picker-input.js.map +1 -0
  61. package/dist/src/components/date-picker-input.stories.js +76 -0
  62. package/dist/src/components/date-picker-input.stories.js.map +1 -0
  63. package/dist/src/components/fhir-structure-view.d.ts +34 -0
  64. package/dist/src/components/fhir-structure-view.d.ts.map +1 -0
  65. package/dist/src/components/fhir-structure-view.js +230 -0
  66. package/dist/src/components/fhir-structure-view.js.map +1 -0
  67. package/dist/src/components/fhir-structure-view.stories.js +447 -0
  68. package/dist/src/components/fhir-structure-view.stories.js.map +1 -0
  69. package/dist/src/components/icon-button.d.ts +12 -0
  70. package/dist/src/components/icon-button.d.ts.map +1 -0
  71. package/dist/src/components/icon-button.js +41 -0
  72. package/dist/src/components/icon-button.js.map +1 -0
  73. package/dist/src/components/icon-button.stories.js +157 -0
  74. package/dist/src/components/icon-button.stories.js.map +1 -0
  75. package/dist/src/components/operation-outcome-view.d.ts +27 -0
  76. package/dist/src/components/operation-outcome-view.d.ts.map +1 -0
  77. package/dist/src/components/operation-outcome-view.js +198 -0
  78. package/dist/src/components/operation-outcome-view.js.map +1 -0
  79. package/dist/src/components/operation-outcome-view.stories.js +207 -0
  80. package/dist/src/components/operation-outcome-view.stories.js.map +1 -0
  81. package/dist/src/components/request-line-editor.d.ts +13 -35
  82. package/dist/src/components/request-line-editor.d.ts.map +1 -1
  83. package/dist/src/components/request-line-editor.js +73 -49
  84. package/dist/src/components/request-line-editor.js.map +1 -1
  85. package/dist/src/components/request-line-editor.stories.js +17 -53
  86. package/dist/src/components/request-line-editor.stories.js.map +1 -1
  87. package/dist/src/components/sandbox.d.ts +13 -0
  88. package/dist/src/components/sandbox.d.ts.map +1 -0
  89. package/dist/src/components/sandbox.js +107 -0
  90. package/dist/src/components/sandbox.js.map +1 -0
  91. package/dist/src/components/sandbox.stories.js +126 -0
  92. package/dist/src/components/sandbox.stories.js.map +1 -0
  93. package/dist/src/components/segment-control.d.ts +13 -0
  94. package/dist/src/components/segment-control.d.ts.map +1 -0
  95. package/dist/src/components/segment-control.js +33 -0
  96. package/dist/src/components/segment-control.js.map +1 -0
  97. package/dist/src/components/segment-control.stories.js +68 -0
  98. package/dist/src/components/segment-control.stories.js.map +1 -0
  99. package/dist/src/components/split-button.d.ts +12 -0
  100. package/dist/src/components/split-button.d.ts.map +1 -0
  101. package/dist/src/components/split-button.js +33 -0
  102. package/dist/src/components/split-button.js.map +1 -0
  103. package/dist/src/components/split-button.stories.js +84 -0
  104. package/dist/src/components/split-button.stories.js.map +1 -0
  105. package/dist/src/components/tag.d.ts +16 -0
  106. package/dist/src/components/tag.d.ts.map +1 -0
  107. package/dist/src/components/tag.js +198 -0
  108. package/dist/src/components/tag.js.map +1 -0
  109. package/dist/src/components/tag.stories.js +459 -0
  110. package/dist/src/components/tag.stories.js.map +1 -0
  111. package/dist/src/components/tile.d.ts +15 -0
  112. package/dist/src/components/tile.d.ts.map +1 -0
  113. package/dist/src/components/tile.js +76 -0
  114. package/dist/src/components/tile.js.map +1 -0
  115. package/dist/src/components/tile.stories.js +167 -0
  116. package/dist/src/components/tile.stories.js.map +1 -0
  117. package/dist/src/components/toolbar.d.ts +18 -0
  118. package/dist/src/components/toolbar.d.ts.map +1 -0
  119. package/dist/src/components/toolbar.js +61 -0
  120. package/dist/src/components/toolbar.js.map +1 -0
  121. package/dist/src/components/toolbar.stories.js +69 -0
  122. package/dist/src/components/toolbar.stories.js.map +1 -0
  123. package/dist/src/components/tree-view.d.ts +47 -0
  124. package/dist/src/components/tree-view.d.ts.map +1 -0
  125. package/dist/src/components/tree-view.js +122 -0
  126. package/dist/src/components/tree-view.js.map +1 -0
  127. package/dist/src/components/tree-view.stories.js +283 -0
  128. package/dist/src/components/tree-view.stories.js.map +1 -0
  129. package/dist/src/icons.d.ts +11 -0
  130. package/dist/src/icons.d.ts.map +1 -0
  131. package/dist/src/icons.js +328 -0
  132. package/dist/src/icons.js.map +1 -0
  133. package/dist/src/index.css +358 -74
  134. package/dist/src/index.d.ts +17 -1
  135. package/dist/src/index.d.ts.map +1 -1
  136. package/dist/src/index.js +17 -1
  137. package/dist/src/index.js.map +1 -1
  138. package/dist/src/shadcn/components/ui/accordion.d.ts +2 -2
  139. package/dist/src/shadcn/components/ui/accordion.d.ts.map +1 -1
  140. package/dist/src/shadcn/components/ui/accordion.js +35 -9
  141. package/dist/src/shadcn/components/ui/accordion.js.map +1 -1
  142. package/dist/src/shadcn/components/ui/alert-dialog.d.ts +12 -4
  143. package/dist/src/shadcn/components/ui/alert-dialog.d.ts.map +1 -1
  144. package/dist/src/shadcn/components/ui/alert-dialog.js +128 -18
  145. package/dist/src/shadcn/components/ui/alert-dialog.js.map +1 -1
  146. package/dist/src/shadcn/components/ui/alert-dialog.stories.js +269 -19
  147. package/dist/src/shadcn/components/ui/alert-dialog.stories.js.map +1 -1
  148. package/dist/src/shadcn/components/ui/alert.d.ts +29 -6
  149. package/dist/src/shadcn/components/ui/alert.d.ts.map +1 -1
  150. package/dist/src/shadcn/components/ui/alert.js +50 -19
  151. package/dist/src/shadcn/components/ui/alert.js.map +1 -1
  152. package/dist/src/shadcn/components/ui/alert.stories.js +140 -36
  153. package/dist/src/shadcn/components/ui/alert.stories.js.map +1 -1
  154. package/dist/src/shadcn/components/ui/aspect-ratio.d.ts.map +1 -1
  155. package/dist/src/shadcn/components/ui/aspect-ratio.js +1 -0
  156. package/dist/src/shadcn/components/ui/aspect-ratio.js.map +1 -1
  157. package/dist/src/shadcn/components/ui/avatar.d.ts.map +1 -1
  158. package/dist/src/shadcn/components/ui/avatar.js +4 -3
  159. package/dist/src/shadcn/components/ui/avatar.js.map +1 -1
  160. package/dist/src/shadcn/components/ui/avatar.stories.js +68 -2
  161. package/dist/src/shadcn/components/ui/avatar.stories.js.map +1 -1
  162. package/dist/src/shadcn/components/ui/badge.d.ts +1 -1
  163. package/dist/src/shadcn/components/ui/badge.d.ts.map +1 -1
  164. package/dist/src/shadcn/components/ui/badge.js +16 -5
  165. package/dist/src/shadcn/components/ui/badge.js.map +1 -1
  166. package/dist/src/shadcn/components/ui/breadcrumb.d.ts +5 -2
  167. package/dist/src/shadcn/components/ui/breadcrumb.d.ts.map +1 -1
  168. package/dist/src/shadcn/components/ui/breadcrumb.js +98 -13
  169. package/dist/src/shadcn/components/ui/breadcrumb.js.map +1 -1
  170. package/dist/src/shadcn/components/ui/breadcrumb.stories.js +205 -45
  171. package/dist/src/shadcn/components/ui/breadcrumb.stories.js.map +1 -1
  172. package/dist/src/shadcn/components/ui/button.d.ts.map +1 -1
  173. package/dist/src/shadcn/components/ui/button.js +65 -11
  174. package/dist/src/shadcn/components/ui/button.js.map +1 -1
  175. package/dist/src/shadcn/components/ui/button.stories.js +99 -17
  176. package/dist/src/shadcn/components/ui/button.stories.js.map +1 -1
  177. package/dist/src/shadcn/components/ui/calendar.d.ts +1 -1
  178. package/dist/src/shadcn/components/ui/calendar.d.ts.map +1 -1
  179. package/dist/src/shadcn/components/ui/calendar.js +1 -0
  180. package/dist/src/shadcn/components/ui/calendar.js.map +1 -1
  181. package/dist/src/shadcn/components/ui/card.d.ts +5 -1
  182. package/dist/src/shadcn/components/ui/card.d.ts.map +1 -1
  183. package/dist/src/shadcn/components/ui/card.js +28 -7
  184. package/dist/src/shadcn/components/ui/card.js.map +1 -1
  185. package/dist/src/shadcn/components/ui/card.stories.js +23 -2
  186. package/dist/src/shadcn/components/ui/card.stories.js.map +1 -1
  187. package/dist/src/shadcn/components/ui/carousel.d.ts +1 -1
  188. package/dist/src/shadcn/components/ui/carousel.d.ts.map +1 -1
  189. package/dist/src/shadcn/components/ui/carousel.js +1 -0
  190. package/dist/src/shadcn/components/ui/carousel.js.map +1 -1
  191. package/dist/src/shadcn/components/ui/chart.d.ts +5 -5
  192. package/dist/src/shadcn/components/ui/chart.d.ts.map +1 -1
  193. package/dist/src/shadcn/components/ui/chart.js +4 -3
  194. package/dist/src/shadcn/components/ui/chart.js.map +1 -1
  195. package/dist/src/shadcn/components/ui/checkbox.d.ts +5 -1
  196. package/dist/src/shadcn/components/ui/checkbox.d.ts.map +1 -1
  197. package/dist/src/shadcn/components/ui/checkbox.js +46 -6
  198. package/dist/src/shadcn/components/ui/checkbox.js.map +1 -1
  199. package/dist/src/shadcn/components/ui/checkbox.stories.js +156 -46
  200. package/dist/src/shadcn/components/ui/checkbox.stories.js.map +1 -1
  201. package/dist/src/shadcn/components/ui/combobox.d.ts +29 -0
  202. package/dist/src/shadcn/components/ui/combobox.d.ts.map +1 -0
  203. package/dist/src/shadcn/components/ui/combobox.js +226 -0
  204. package/dist/src/shadcn/components/ui/combobox.js.map +1 -0
  205. package/dist/src/shadcn/components/ui/combobox.stories.js +167 -0
  206. package/dist/src/shadcn/components/ui/combobox.stories.js.map +1 -0
  207. package/dist/src/shadcn/components/ui/command.d.ts +4 -2
  208. package/dist/src/shadcn/components/ui/command.d.ts.map +1 -1
  209. package/dist/src/shadcn/components/ui/command.js +75 -13
  210. package/dist/src/shadcn/components/ui/command.js.map +1 -1
  211. package/dist/src/shadcn/components/ui/command.stories.js +277 -57
  212. package/dist/src/shadcn/components/ui/command.stories.js.map +1 -1
  213. package/dist/src/shadcn/components/ui/context-menu.d.ts +7 -3
  214. package/dist/src/shadcn/components/ui/context-menu.d.ts.map +1 -1
  215. package/dist/src/shadcn/components/ui/context-menu.js +120 -13
  216. package/dist/src/shadcn/components/ui/context-menu.js.map +1 -1
  217. package/dist/src/shadcn/components/ui/dialog.d.ts.map +1 -1
  218. package/dist/src/shadcn/components/ui/dialog.js +35 -7
  219. package/dist/src/shadcn/components/ui/dialog.js.map +1 -1
  220. package/dist/src/shadcn/components/ui/drawer.d.ts.map +1 -1
  221. package/dist/src/shadcn/components/ui/drawer.js +27 -5
  222. package/dist/src/shadcn/components/ui/drawer.js.map +1 -1
  223. package/dist/src/shadcn/components/ui/dropdown-menu.d.ts +7 -3
  224. package/dist/src/shadcn/components/ui/dropdown-menu.d.ts.map +1 -1
  225. package/dist/src/shadcn/components/ui/dropdown-menu.js +122 -14
  226. package/dist/src/shadcn/components/ui/dropdown-menu.js.map +1 -1
  227. package/dist/src/shadcn/components/ui/dropdown-menu.stories.js +22 -5
  228. package/dist/src/shadcn/components/ui/dropdown-menu.stories.js.map +1 -1
  229. package/dist/src/shadcn/components/ui/form.d.ts +2 -2
  230. package/dist/src/shadcn/components/ui/form.d.ts.map +1 -1
  231. package/dist/src/shadcn/components/ui/form.js +17 -8
  232. package/dist/src/shadcn/components/ui/form.js.map +1 -1
  233. package/dist/src/shadcn/components/ui/hover-card.d.ts.map +1 -1
  234. package/dist/src/shadcn/components/ui/hover-card.js +2 -1
  235. package/dist/src/shadcn/components/ui/hover-card.js.map +1 -1
  236. package/dist/src/shadcn/components/ui/input-otp.d.ts.map +1 -1
  237. package/dist/src/shadcn/components/ui/input-otp.js +1 -0
  238. package/dist/src/shadcn/components/ui/input-otp.js.map +1 -1
  239. package/dist/src/shadcn/components/ui/input.d.ts +3 -1
  240. package/dist/src/shadcn/components/ui/input.d.ts.map +1 -1
  241. package/dist/src/shadcn/components/ui/input.js +126 -17
  242. package/dist/src/shadcn/components/ui/input.js.map +1 -1
  243. package/dist/src/shadcn/components/ui/input.stories.js +218 -29
  244. package/dist/src/shadcn/components/ui/input.stories.js.map +1 -1
  245. package/dist/src/shadcn/components/ui/label.d.ts.map +1 -1
  246. package/dist/src/shadcn/components/ui/label.js +9 -1
  247. package/dist/src/shadcn/components/ui/label.js.map +1 -1
  248. package/dist/src/shadcn/components/ui/menubar.d.ts.map +1 -1
  249. package/dist/src/shadcn/components/ui/menubar.js +35 -13
  250. package/dist/src/shadcn/components/ui/menubar.js.map +1 -1
  251. package/dist/src/shadcn/components/ui/pagination.d.ts +9 -2
  252. package/dist/src/shadcn/components/ui/pagination.d.ts.map +1 -1
  253. package/dist/src/shadcn/components/ui/pagination.js +41 -24
  254. package/dist/src/shadcn/components/ui/pagination.js.map +1 -1
  255. package/dist/src/shadcn/components/ui/pagination.stories.js +44 -37
  256. package/dist/src/shadcn/components/ui/pagination.stories.js.map +1 -1
  257. package/dist/src/shadcn/components/ui/popover.d.ts.map +1 -1
  258. package/dist/src/shadcn/components/ui/popover.js +13 -1
  259. package/dist/src/shadcn/components/ui/popover.js.map +1 -1
  260. package/dist/src/shadcn/components/ui/progress.d.ts.map +1 -1
  261. package/dist/src/shadcn/components/ui/progress.js +6 -2
  262. package/dist/src/shadcn/components/ui/progress.js.map +1 -1
  263. package/dist/src/shadcn/components/ui/radio-button-group.d.ts +21 -0
  264. package/dist/src/shadcn/components/ui/radio-button-group.d.ts.map +1 -0
  265. package/dist/src/shadcn/components/ui/radio-button-group.js +148 -0
  266. package/dist/src/shadcn/components/ui/radio-button-group.js.map +1 -0
  267. package/dist/src/shadcn/components/ui/radio-button-group.stories.js +283 -0
  268. package/dist/src/shadcn/components/ui/radio-button-group.stories.js.map +1 -0
  269. package/dist/src/shadcn/components/ui/radio-group.d.ts +5 -1
  270. package/dist/src/shadcn/components/ui/radio-group.d.ts.map +1 -1
  271. package/dist/src/shadcn/components/ui/radio-group.js +40 -7
  272. package/dist/src/shadcn/components/ui/radio-group.js.map +1 -1
  273. package/dist/src/shadcn/components/ui/radio-group.stories.js +107 -32
  274. package/dist/src/shadcn/components/ui/radio-group.stories.js.map +1 -1
  275. package/dist/src/shadcn/components/ui/resizable.d.ts.map +1 -1
  276. package/dist/src/shadcn/components/ui/resizable.js +2 -1
  277. package/dist/src/shadcn/components/ui/resizable.js.map +1 -1
  278. package/dist/src/shadcn/components/ui/resizable.stories.js +2 -2
  279. package/dist/src/shadcn/components/ui/resizable.stories.js.map +1 -1
  280. package/dist/src/shadcn/components/ui/scroll-area.d.ts.map +1 -1
  281. package/dist/src/shadcn/components/ui/scroll-area.js +10 -3
  282. package/dist/src/shadcn/components/ui/scroll-area.js.map +1 -1
  283. package/dist/src/shadcn/components/ui/select.d.ts +1 -2
  284. package/dist/src/shadcn/components/ui/select.d.ts.map +1 -1
  285. package/dist/src/shadcn/components/ui/select.js +49 -19
  286. package/dist/src/shadcn/components/ui/select.js.map +1 -1
  287. package/dist/src/shadcn/components/ui/select.stories.js +193 -70
  288. package/dist/src/shadcn/components/ui/select.stories.js.map +1 -1
  289. package/dist/src/shadcn/components/ui/separator.d.ts.map +1 -1
  290. package/dist/src/shadcn/components/ui/separator.js +8 -1
  291. package/dist/src/shadcn/components/ui/separator.js.map +1 -1
  292. package/dist/src/shadcn/components/ui/sheet.js +1 -1
  293. package/dist/src/shadcn/components/ui/sheet.js.map +1 -1
  294. package/dist/src/shadcn/components/ui/sidebar.d.ts +4 -4
  295. package/dist/src/shadcn/components/ui/sidebar.d.ts.map +1 -1
  296. package/dist/src/shadcn/components/ui/sidebar.js +21 -6
  297. package/dist/src/shadcn/components/ui/sidebar.js.map +1 -1
  298. package/dist/src/shadcn/components/ui/skeleton.d.ts.map +1 -1
  299. package/dist/src/shadcn/components/ui/skeleton.js +3 -1
  300. package/dist/src/shadcn/components/ui/skeleton.js.map +1 -1
  301. package/dist/src/shadcn/components/ui/slider.d.ts.map +1 -1
  302. package/dist/src/shadcn/components/ui/slider.js +35 -4
  303. package/dist/src/shadcn/components/ui/slider.js.map +1 -1
  304. package/dist/src/shadcn/components/ui/sonner.d.ts +24 -2
  305. package/dist/src/shadcn/components/ui/sonner.d.ts.map +1 -1
  306. package/dist/src/shadcn/components/ui/sonner.js +127 -9
  307. package/dist/src/shadcn/components/ui/sonner.js.map +1 -1
  308. package/dist/src/shadcn/components/ui/sonner.stories.js +251 -12
  309. package/dist/src/shadcn/components/ui/sonner.stories.js.map +1 -1
  310. package/dist/src/shadcn/components/ui/switch.d.ts +7 -1
  311. package/dist/src/shadcn/components/ui/switch.d.ts.map +1 -1
  312. package/dist/src/shadcn/components/ui/switch.js +55 -3
  313. package/dist/src/shadcn/components/ui/switch.js.map +1 -1
  314. package/dist/src/shadcn/components/ui/switch.stories.js +84 -9
  315. package/dist/src/shadcn/components/ui/switch.stories.js.map +1 -1
  316. package/dist/src/shadcn/components/ui/table.d.ts +23 -6
  317. package/dist/src/shadcn/components/ui/table.d.ts.map +1 -1
  318. package/dist/src/shadcn/components/ui/table.js +65 -20
  319. package/dist/src/shadcn/components/ui/table.js.map +1 -1
  320. package/dist/src/shadcn/components/ui/table.stories.js +217 -97
  321. package/dist/src/shadcn/components/ui/table.stories.js.map +1 -1
  322. package/dist/src/shadcn/components/ui/tabs.d.ts +30 -5
  323. package/dist/src/shadcn/components/ui/tabs.d.ts.map +1 -1
  324. package/dist/src/shadcn/components/ui/tabs.js +470 -23
  325. package/dist/src/shadcn/components/ui/tabs.js.map +1 -1
  326. package/dist/src/shadcn/components/ui/tabs.stories.js +405 -181
  327. package/dist/src/shadcn/components/ui/tabs.stories.js.map +1 -1
  328. package/dist/src/shadcn/components/ui/textarea.d.ts +8 -1
  329. package/dist/src/shadcn/components/ui/textarea.d.ts.map +1 -1
  330. package/dist/src/shadcn/components/ui/textarea.js +30 -2
  331. package/dist/src/shadcn/components/ui/textarea.js.map +1 -1
  332. package/dist/src/shadcn/components/ui/textarea.stories.js +85 -4
  333. package/dist/src/shadcn/components/ui/textarea.stories.js.map +1 -1
  334. package/dist/src/shadcn/components/ui/toggle-group.d.ts +3 -3
  335. package/dist/src/shadcn/components/ui/toggle-group.d.ts.map +1 -1
  336. package/dist/src/shadcn/components/ui/toggle-group.js +14 -12
  337. package/dist/src/shadcn/components/ui/toggle-group.js.map +1 -1
  338. package/dist/src/shadcn/components/ui/toggle.d.ts +3 -4
  339. package/dist/src/shadcn/components/ui/toggle.d.ts.map +1 -1
  340. package/dist/src/shadcn/components/ui/toggle.js +44 -16
  341. package/dist/src/shadcn/components/ui/toggle.js.map +1 -1
  342. package/dist/src/shadcn/components/ui/toggle.stories.js +130 -7
  343. package/dist/src/shadcn/components/ui/toggle.stories.js.map +1 -1
  344. package/dist/src/shadcn/components/ui/tooltip.d.ts.map +1 -1
  345. package/dist/src/shadcn/components/ui/tooltip.js +12 -1
  346. package/dist/src/shadcn/components/ui/tooltip.js.map +1 -1
  347. package/dist/src/shadcn/components/ui/tree.d.ts +29 -0
  348. package/dist/src/shadcn/components/ui/tree.d.ts.map +1 -0
  349. package/dist/src/shadcn/components/ui/tree.js +135 -0
  350. package/dist/src/shadcn/components/ui/tree.js.map +1 -0
  351. package/dist/src/shadcn/shadcn.css +4 -4
  352. package/dist/src/tokens.css +50 -20
  353. package/dist/src/typography.css +78 -15
  354. package/package.json +84 -64
  355. package/src/components/button-dropdown.stories.tsx +41 -0
  356. package/src/components/button-dropdown.tsx +97 -0
  357. package/src/components/code-editor/fhir-autocomplete.test.ts +993 -0
  358. package/src/components/code-editor/fhir-autocomplete.ts +2322 -0
  359. package/src/components/code-editor/http/grammar/http.grammar +74 -0
  360. package/src/components/code-editor/http/grammar/http.terms.ts +9 -0
  361. package/src/components/code-editor/http/grammar/http.test.ts +110 -0
  362. package/src/components/code-editor/http/grammar/http.ts +21 -0
  363. package/src/components/code-editor/http/index.ts +424 -0
  364. package/src/components/code-editor/index.tsx +1944 -42
  365. package/src/components/code-editor/json-ast.test.ts +230 -0
  366. package/src/components/code-editor/json-ast.ts +590 -0
  367. package/src/components/code-editor/sql-completion.ts +1112 -0
  368. package/src/components/code-editor.stories.tsx +325 -2
  369. package/src/components/copy-icon.tsx +57 -3
  370. package/src/components/data-table.stories.tsx +91 -0
  371. package/src/components/data-table.tsx +126 -0
  372. package/src/components/date-picker-input.stories.tsx +79 -0
  373. package/src/components/date-picker-input.tsx +104 -0
  374. package/src/components/fhir-structure-view.stories.tsx +439 -0
  375. package/src/components/fhir-structure-view.tsx +233 -0
  376. package/src/components/icon-button.stories.tsx +86 -0
  377. package/src/components/icon-button.tsx +57 -0
  378. package/src/components/operation-outcome-view.stories.tsx +163 -0
  379. package/src/components/operation-outcome-view.tsx +254 -0
  380. package/src/components/request-line-editor.stories.tsx +17 -27
  381. package/src/components/request-line-editor.tsx +103 -61
  382. package/src/components/sandbox.stories.tsx +131 -0
  383. package/src/components/sandbox.tsx +191 -0
  384. package/src/components/segment-control.stories.tsx +61 -0
  385. package/src/components/segment-control.tsx +83 -0
  386. package/src/components/split-button.stories.tsx +68 -0
  387. package/src/components/split-button.tsx +74 -0
  388. package/src/components/tag.stories.tsx +371 -0
  389. package/src/components/tag.tsx +236 -0
  390. package/src/components/tile.stories.tsx +149 -0
  391. package/src/components/tile.tsx +105 -0
  392. package/src/components/toolbar.stories.tsx +64 -0
  393. package/src/components/toolbar.tsx +98 -0
  394. package/src/components/tree-view.stories.tsx +265 -0
  395. package/src/components/tree-view.tsx +246 -0
  396. package/src/icons.tsx +331 -0
  397. package/src/index.css +358 -74
  398. package/src/index.tsx +17 -3
  399. package/src/shadcn/components/ui/accordion.tsx +91 -10
  400. package/src/shadcn/components/ui/alert-dialog.stories.tsx +209 -15
  401. package/src/shadcn/components/ui/alert-dialog.tsx +236 -26
  402. package/src/shadcn/components/ui/alert.stories.tsx +120 -21
  403. package/src/shadcn/components/ui/alert.tsx +125 -28
  404. package/src/shadcn/components/ui/aspect-ratio.tsx +1 -0
  405. package/src/shadcn/components/ui/avatar.stories.tsx +74 -1
  406. package/src/shadcn/components/ui/avatar.tsx +22 -6
  407. package/src/shadcn/components/ui/badge.tsx +67 -18
  408. package/src/shadcn/components/ui/breadcrumb.stories.tsx +161 -41
  409. package/src/shadcn/components/ui/breadcrumb.tsx +172 -23
  410. package/src/shadcn/components/ui/button.stories.tsx +106 -18
  411. package/src/shadcn/components/ui/button.tsx +151 -55
  412. package/src/shadcn/components/ui/calendar.tsx +1 -0
  413. package/src/shadcn/components/ui/card.stories.tsx +17 -3
  414. package/src/shadcn/components/ui/card.tsx +89 -14
  415. package/src/shadcn/components/ui/carousel.tsx +1 -0
  416. package/src/shadcn/components/ui/chart.tsx +9 -5
  417. package/src/shadcn/components/ui/checkbox.stories.tsx +78 -30
  418. package/src/shadcn/components/ui/checkbox.tsx +91 -8
  419. package/src/shadcn/components/ui/combobox.stories.tsx +148 -0
  420. package/src/shadcn/components/ui/combobox.tsx +324 -0
  421. package/src/shadcn/components/ui/command.stories.tsx +184 -39
  422. package/src/shadcn/components/ui/command.tsx +218 -37
  423. package/src/shadcn/components/ui/context-menu.tsx +333 -40
  424. package/src/shadcn/components/ui/dialog.tsx +101 -13
  425. package/src/shadcn/components/ui/drawer.tsx +94 -18
  426. package/src/shadcn/components/ui/dropdown-menu.stories.tsx +18 -2
  427. package/src/shadcn/components/ui/dropdown-menu.tsx +334 -68
  428. package/src/shadcn/components/ui/form.tsx +22 -11
  429. package/src/shadcn/components/ui/hover-card.tsx +2 -1
  430. package/src/shadcn/components/ui/input-otp.tsx +1 -0
  431. package/src/shadcn/components/ui/input.stories.tsx +235 -27
  432. package/src/shadcn/components/ui/input.tsx +400 -29
  433. package/src/shadcn/components/ui/label.tsx +22 -4
  434. package/src/shadcn/components/ui/menubar.tsx +188 -43
  435. package/src/shadcn/components/ui/pagination.stories.tsx +8 -2
  436. package/src/shadcn/components/ui/pagination.tsx +65 -8
  437. package/src/shadcn/components/ui/popover.tsx +36 -4
  438. package/src/shadcn/components/ui/progress.tsx +21 -5
  439. package/src/shadcn/components/ui/radio-button-group.stories.tsx +247 -0
  440. package/src/shadcn/components/ui/radio-button-group.tsx +188 -0
  441. package/src/shadcn/components/ui/radio-group.stories.tsx +70 -14
  442. package/src/shadcn/components/ui/radio-group.tsx +85 -9
  443. package/src/shadcn/components/ui/resizable.stories.tsx +2 -2
  444. package/src/shadcn/components/ui/resizable.tsx +2 -1
  445. package/src/shadcn/components/ui/scroll-area.tsx +34 -5
  446. package/src/shadcn/components/ui/select.stories.tsx +108 -32
  447. package/src/shadcn/components/ui/select.tsx +182 -36
  448. package/src/shadcn/components/ui/separator.tsx +16 -5
  449. package/src/shadcn/components/ui/sheet.tsx +1 -1
  450. package/src/shadcn/components/ui/sidebar.tsx +69 -26
  451. package/src/shadcn/components/ui/skeleton.tsx +4 -1
  452. package/src/shadcn/components/ui/slider.tsx +83 -11
  453. package/src/shadcn/components/ui/sonner.stories.tsx +238 -17
  454. package/src/shadcn/components/ui/sonner.tsx +254 -11
  455. package/src/shadcn/components/ui/switch.stories.tsx +52 -5
  456. package/src/shadcn/components/ui/switch.tsx +92 -7
  457. package/src/shadcn/components/ui/table.stories.tsx +252 -72
  458. package/src/shadcn/components/ui/table.tsx +204 -26
  459. package/src/shadcn/components/ui/tabs.stories.tsx +235 -123
  460. package/src/shadcn/components/ui/tabs.tsx +694 -36
  461. package/src/shadcn/components/ui/textarea.stories.tsx +94 -2
  462. package/src/shadcn/components/ui/textarea.tsx +70 -5
  463. package/src/shadcn/components/ui/toggle-group.tsx +35 -13
  464. package/src/shadcn/components/ui/toggle.stories.tsx +92 -5
  465. package/src/shadcn/components/ui/toggle.tsx +96 -23
  466. package/src/shadcn/components/ui/tooltip.tsx +34 -8
  467. package/src/shadcn/components/ui/tree.tsx +257 -0
  468. package/src/shadcn/shadcn.css +4 -4
  469. package/src/tokens.css +50 -20
  470. package/src/typography.css +78 -15
  471. package/dist/src/components/code-editor.stories.d.ts +0 -7
  472. package/dist/src/components/code-editor.stories.d.ts.map +0 -1
  473. package/dist/src/components/request-line-editor.stories.d.ts +0 -11
  474. package/dist/src/components/request-line-editor.stories.d.ts.map +0 -1
  475. package/dist/src/index.stories.d.ts +0 -14
  476. package/dist/src/index.stories.d.ts.map +0 -1
  477. package/dist/src/index.stories.js +0 -19
  478. package/dist/src/index.stories.js.map +0 -1
  479. package/dist/src/shadcn/components/ui/accordion.stories.d.ts +0 -8
  480. package/dist/src/shadcn/components/ui/accordion.stories.d.ts.map +0 -1
  481. package/dist/src/shadcn/components/ui/alert-dialog.stories.d.ts +0 -8
  482. package/dist/src/shadcn/components/ui/alert-dialog.stories.d.ts.map +0 -1
  483. package/dist/src/shadcn/components/ui/alert.stories.d.ts +0 -8
  484. package/dist/src/shadcn/components/ui/alert.stories.d.ts.map +0 -1
  485. package/dist/src/shadcn/components/ui/aspect-ratio.stories.d.ts +0 -8
  486. package/dist/src/shadcn/components/ui/aspect-ratio.stories.d.ts.map +0 -1
  487. package/dist/src/shadcn/components/ui/avatar.stories.d.ts +0 -8
  488. package/dist/src/shadcn/components/ui/avatar.stories.d.ts.map +0 -1
  489. package/dist/src/shadcn/components/ui/badge.stories.d.ts +0 -8
  490. package/dist/src/shadcn/components/ui/badge.stories.d.ts.map +0 -1
  491. package/dist/src/shadcn/components/ui/breadcrumb.stories.d.ts +0 -8
  492. package/dist/src/shadcn/components/ui/breadcrumb.stories.d.ts.map +0 -1
  493. package/dist/src/shadcn/components/ui/button.stories.d.ts +0 -23
  494. package/dist/src/shadcn/components/ui/button.stories.d.ts.map +0 -1
  495. package/dist/src/shadcn/components/ui/calendar.stories.d.ts +0 -8
  496. package/dist/src/shadcn/components/ui/calendar.stories.d.ts.map +0 -1
  497. package/dist/src/shadcn/components/ui/card.stories.d.ts +0 -8
  498. package/dist/src/shadcn/components/ui/card.stories.d.ts.map +0 -1
  499. package/dist/src/shadcn/components/ui/carousel.stories.d.ts +0 -8
  500. package/dist/src/shadcn/components/ui/carousel.stories.d.ts.map +0 -1
  501. package/dist/src/shadcn/components/ui/chart.stories.d.ts +0 -8
  502. package/dist/src/shadcn/components/ui/chart.stories.d.ts.map +0 -1
  503. package/dist/src/shadcn/components/ui/checkbox.stories.d.ts +0 -8
  504. package/dist/src/shadcn/components/ui/checkbox.stories.d.ts.map +0 -1
  505. package/dist/src/shadcn/components/ui/collapsible.stories.d.ts +0 -8
  506. package/dist/src/shadcn/components/ui/collapsible.stories.d.ts.map +0 -1
  507. package/dist/src/shadcn/components/ui/command.stories.d.ts +0 -8
  508. package/dist/src/shadcn/components/ui/command.stories.d.ts.map +0 -1
  509. package/dist/src/shadcn/components/ui/context-menu.stories.d.ts +0 -8
  510. package/dist/src/shadcn/components/ui/context-menu.stories.d.ts.map +0 -1
  511. package/dist/src/shadcn/components/ui/dialog.stories.d.ts +0 -8
  512. package/dist/src/shadcn/components/ui/dialog.stories.d.ts.map +0 -1
  513. package/dist/src/shadcn/components/ui/drawer.stories.d.ts +0 -8
  514. package/dist/src/shadcn/components/ui/drawer.stories.d.ts.map +0 -1
  515. package/dist/src/shadcn/components/ui/dropdown-menu.stories.d.ts +0 -8
  516. package/dist/src/shadcn/components/ui/dropdown-menu.stories.d.ts.map +0 -1
  517. package/dist/src/shadcn/components/ui/form.stories.d.ts +0 -8
  518. package/dist/src/shadcn/components/ui/form.stories.d.ts.map +0 -1
  519. package/dist/src/shadcn/components/ui/hover-card.stories.d.ts +0 -8
  520. package/dist/src/shadcn/components/ui/hover-card.stories.d.ts.map +0 -1
  521. package/dist/src/shadcn/components/ui/input-otp.stories.d.ts +0 -8
  522. package/dist/src/shadcn/components/ui/input-otp.stories.d.ts.map +0 -1
  523. package/dist/src/shadcn/components/ui/input.stories.d.ts +0 -18
  524. package/dist/src/shadcn/components/ui/input.stories.d.ts.map +0 -1
  525. package/dist/src/shadcn/components/ui/label.stories.d.ts +0 -8
  526. package/dist/src/shadcn/components/ui/label.stories.d.ts.map +0 -1
  527. package/dist/src/shadcn/components/ui/menubar.stories.d.ts +0 -8
  528. package/dist/src/shadcn/components/ui/menubar.stories.d.ts.map +0 -1
  529. package/dist/src/shadcn/components/ui/navigation-menu.stories.d.ts +0 -8
  530. package/dist/src/shadcn/components/ui/navigation-menu.stories.d.ts.map +0 -1
  531. package/dist/src/shadcn/components/ui/pagination.stories.d.ts +0 -8
  532. package/dist/src/shadcn/components/ui/pagination.stories.d.ts.map +0 -1
  533. package/dist/src/shadcn/components/ui/popover.stories.d.ts +0 -8
  534. package/dist/src/shadcn/components/ui/popover.stories.d.ts.map +0 -1
  535. package/dist/src/shadcn/components/ui/progress.stories.d.ts +0 -8
  536. package/dist/src/shadcn/components/ui/progress.stories.d.ts.map +0 -1
  537. package/dist/src/shadcn/components/ui/radio-group.stories.d.ts +0 -8
  538. package/dist/src/shadcn/components/ui/radio-group.stories.d.ts.map +0 -1
  539. package/dist/src/shadcn/components/ui/resizable.stories.d.ts +0 -8
  540. package/dist/src/shadcn/components/ui/resizable.stories.d.ts.map +0 -1
  541. package/dist/src/shadcn/components/ui/scroll-area.stories.d.ts +0 -8
  542. package/dist/src/shadcn/components/ui/scroll-area.stories.d.ts.map +0 -1
  543. package/dist/src/shadcn/components/ui/select.stories.d.ts +0 -11
  544. package/dist/src/shadcn/components/ui/select.stories.d.ts.map +0 -1
  545. package/dist/src/shadcn/components/ui/separator.stories.d.ts +0 -8
  546. package/dist/src/shadcn/components/ui/separator.stories.d.ts.map +0 -1
  547. package/dist/src/shadcn/components/ui/sheet.stories.d.ts +0 -8
  548. package/dist/src/shadcn/components/ui/sheet.stories.d.ts.map +0 -1
  549. package/dist/src/shadcn/components/ui/sidebar.stories.d.ts +0 -11
  550. package/dist/src/shadcn/components/ui/sidebar.stories.d.ts.map +0 -1
  551. package/dist/src/shadcn/components/ui/skeleton.stories.d.ts +0 -8
  552. package/dist/src/shadcn/components/ui/skeleton.stories.d.ts.map +0 -1
  553. package/dist/src/shadcn/components/ui/slider.stories.d.ts +0 -8
  554. package/dist/src/shadcn/components/ui/slider.stories.d.ts.map +0 -1
  555. package/dist/src/shadcn/components/ui/sonner.stories.d.ts +0 -8
  556. package/dist/src/shadcn/components/ui/sonner.stories.d.ts.map +0 -1
  557. package/dist/src/shadcn/components/ui/switch.stories.d.ts +0 -8
  558. package/dist/src/shadcn/components/ui/switch.stories.d.ts.map +0 -1
  559. package/dist/src/shadcn/components/ui/table.stories.d.ts +0 -8
  560. package/dist/src/shadcn/components/ui/table.stories.d.ts.map +0 -1
  561. package/dist/src/shadcn/components/ui/tabs.stories.d.ts +0 -32
  562. package/dist/src/shadcn/components/ui/tabs.stories.d.ts.map +0 -1
  563. package/dist/src/shadcn/components/ui/textarea.stories.d.ts +0 -8
  564. package/dist/src/shadcn/components/ui/textarea.stories.d.ts.map +0 -1
  565. package/dist/src/shadcn/components/ui/toggle-group.stories.d.ts +0 -8
  566. package/dist/src/shadcn/components/ui/toggle-group.stories.d.ts.map +0 -1
  567. package/dist/src/shadcn/components/ui/toggle.stories.d.ts +0 -8
  568. package/dist/src/shadcn/components/ui/toggle.stories.d.ts.map +0 -1
  569. package/dist/src/shadcn/components/ui/tooltip.stories.d.ts +0 -8
  570. package/dist/src/shadcn/components/ui/tooltip.stories.d.ts.map +0 -1
  571. package/src/index.stories.tsx +0 -21
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/shadcn/components/ui/button.tsx"],"sourcesContent":["import { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport type * as React from \"react\";\n\nimport { cn } from \"#shadcn/lib/utils\";\n\nconst buttonVariants = cva(\n\tcn(\n\t\t\"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-lg transition-all \",\n\t\t\"outline-none cursor-pointer\",\n\t\t\"disabled:cursor-not-allowed\",\n\t\t\"[&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0\",\n\t\t\"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]\",\n\t\t\"aria-invalid:ring-destructive/20\",\n\t),\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tprimary:\n\t\t\t\t\t\"bg-bg-link text-text-primary_on-brand shadow-xs hover:bg-bg-link_hover active:bg-bg-link disabled:bg-bg-disabled\",\n\t\t\t\tsecondary:\n\t\t\t\t\t\"border border-border-primary bg-bg-primary text-text-tertiary shadow-xs hover:text-fg-primary disabled:text-fg-disabled disabled:border-border-disabled hover:bg-bg-secondary active:bg-bg-primary active:text-text-tertiary disabled:hover:bg-bg-primary\",\n\t\t\t\tlink: \"text-text-secondary hover:text-text-primary disabled:text-text-disabled rounded-none\",\n\t\t\t\tghost:\n\t\t\t\t\t\"text-text-secondary hover:text-text-primary disabled:text-text-disabled hover:bg-bg-secondary active:bg-bg-tertiary disabled:hover:bg-bg-primary\",\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\tregular: \"h-9 px-4 typo-label\",\n\t\t\t\tsmall: \"h-6 px-2 typo-button-label-xs gap-1 rounded-md\",\n\t\t\t},\n\t\t\tdanger: {\n\t\t\t\ttrue: \"\",\n\t\t\t\tfalse: \"\",\n\t\t\t},\n\t\t},\n\t\tcompoundVariants: [\n\t\t\t{\n\t\t\t\tvariant: \"primary\",\n\t\t\t\tdanger: true,\n\t\t\t\tclass:\n\t\t\t\t\t\"bg-bg-error-primary_inverse text-text-primary_on-brand hover:bg-bg-error-primary_inverse_hover active:bg-bg-error-primary_inverse disabled:bg-bg-disabled\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tvariant: \"secondary\",\n\t\t\t\tdanger: true,\n\t\t\t\tclass:\n\t\t\t\t\t\"border-border-error text-text-error-primary hover:text-text-error-primary_hover hover:bg-bg-error-secondary active:bg-bg-primary active:text-text-error-primary_on-brand\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tvariant: \"link\",\n\t\t\t\tdanger: true,\n\t\t\t\tclass: \"text-text-error-secondary hover:text-text-error-primary\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tvariant: \"ghost\",\n\t\t\t\tdanger: true,\n\t\t\t\tclass:\n\t\t\t\t\t\"text-text-error-secondary hover:text-text-error-primary hover:bg-bg-error-secondary active:bg-bg-error-tertiary\",\n\t\t\t},\n\t\t],\n\t\tdefaultVariants: {\n\t\t\tvariant: \"primary\",\n\t\t\tsize: \"regular\",\n\t\t\tdanger: false,\n\t\t},\n\t},\n);\n\nfunction Button({\n\tclassName,\n\tvariant,\n\tsize,\n\tdanger = false,\n\tasChild = false,\n\t...props\n}: React.ComponentProps<\"button\"> &\n\tVariantProps<typeof buttonVariants> & {\n\t\tasChild?: boolean;\n\t\tdanger?: boolean;\n\t}) {\n\tconst Comp = asChild ? Slot : \"button\";\n\n\treturn (\n\t\t<Comp\n\t\t\tdata-slot=\"button\"\n\t\t\tclassName={cn(buttonVariants({ variant, size, danger, className }))}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport { Button, buttonVariants };\n"],"names":["Slot","cva","cn","buttonVariants","variants","variant","primary","secondary","link","ghost","size","regular","small","danger","true","false","compoundVariants","class","defaultVariants","Button","className","asChild","props","Comp","data-slot"],"mappings":";AAAA,SAASA,IAAI,QAAQ,uBAAuB;AAC5C,SAASC,GAAG,QAA2B,2BAA2B;AAGlE,SAASC,EAAE,QAAQ,qBAAoB;AAEvC,MAAMC,iBAAiBF,IACtBC,GACC,8FACA,+BACA,+BACA,8FACA,iFACA,qCAED;IACCE,UAAU;QACTC,SAAS;YACRC,SACC;YACDC,WACC;YACDC,MAAM;YACNC,OACC;QACF;QACAC,MAAM;YACLC,SAAS;YACTC,OAAO;QACR;QACAC,QAAQ;YACPC,MAAM;YACNC,OAAO;QACR;IACD;IACAC,kBAAkB;QACjB;YACCX,SAAS;YACTQ,QAAQ;YACRI,OACC;QACF;QACA;YACCZ,SAAS;YACTQ,QAAQ;YACRI,OACC;QACF;QACA;YACCZ,SAAS;YACTQ,QAAQ;YACRI,OAAO;QACR;QACA;YACCZ,SAAS;YACTQ,QAAQ;YACRI,OACC;QACF;KACA;IACDC,iBAAiB;QAChBb,SAAS;QACTK,MAAM;QACNG,QAAQ;IACT;AACD;AAGD,SAASM,OAAO,EACfC,SAAS,EACTf,OAAO,EACPK,IAAI,EACJG,SAAS,KAAK,EACdQ,UAAU,KAAK,EACf,GAAGC,OAKF;IACD,MAAMC,OAAOF,UAAUrB,OAAO;IAE9B,qBACC,KAACuB;QACAC,aAAU;QACVJ,WAAWlB,GAAGC,eAAe;YAAEE;YAASK;YAAMG;YAAQO;QAAU;QAC/D,GAAGE,KAAK;;AAGZ;AAEA,SAASH,MAAM,EAAEhB,cAAc,GAAG"}
1
+ {"version":3,"sources":["../../../../../src/shadcn/components/ui/button.tsx"],"sourcesContent":["import { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport type * as React from \"react\";\n\nimport { cn } from \"#shadcn/lib/utils\";\n\nconst baseButtonStyles = cn(\n\t// Layout\n\t\"inline-flex\",\n\t\"items-center\",\n\t\"justify-center\",\n\t\"gap-2\",\n\t\"whitespace-nowrap\",\n\t\"shrink-0\",\n\t// Shape\n\t\"rounded-lg\",\n\t// Interaction\n\t\"transition-all\",\n\t\"outline-none\",\n\t\"cursor-pointer\",\n\t// Disabled states\n\t\"disabled:cursor-not-allowed\",\n\t// Icon styles\n\t\"[&_svg]:pointer-events-none\",\n\t\"[&_svg:not([class*='size-'])]:size-4\",\n\t\"[&_svg]:shrink-0\",\n\t// Focus states\n\t// Invalid states\n\t\"aria-invalid:ring-2\",\n\t\"aria-invalid:ring-utility-red/70\",\n);\n\nconst buttonVariants = cva(baseButtonStyles, {\n\tvariants: {\n\t\tvariant: {\n\t\t\tprimary: cn(\n\t\t\t\t\"bg-bg-link\",\n\t\t\t\t\"text-text-primary_on-brand\",\n\t\t\t\t\"hover:bg-bg-link_hover\",\n\t\t\t\t\"active:bg-bg-link\",\n\t\t\t),\n\t\t\tsecondary: cn(\n\t\t\t\t\"border\",\n\t\t\t\t\"border-border-primary\",\n\t\t\t\t\"bg-bg-primary\",\n\t\t\t\t\"text-text-secondary\",\n\t\t\t\t\"hover:text-text-primary\",\n\t\t\t\t\"hover:bg-bg-secondary\",\n\t\t\t\t\"active:bg-bg-primary\",\n\t\t\t\t\"active:text-text-tertiary\",\n\t\t\t),\n\t\t\tlink: cn(\"text-text-secondary\", \"hover:text-text-primary\", \"rounded\"),\n\t\t\tghost: cn(\n\t\t\t\t\"text-text-secondary\",\n\t\t\t\t\"hover:text-text-primary\",\n\t\t\t\t\"hover:bg-bg-secondary\",\n\t\t\t\t\"active:bg-bg-tertiary\",\n\t\t\t),\n\t\t},\n\t\tsize: {\n\t\t\tregular: cn(\"h-9\", \"px-4\", \"typo-body\"),\n\t\t\tsmall: cn(\"h-6\", \"px-2\", \"gap-1\", \"typo-button-label-xs\"),\n\t\t},\n\t\tdanger: {\n\t\t\ttrue: \"\",\n\t\t\tfalse: \"\",\n\t\t},\n\t},\n\tcompoundVariants: [\n\t\t// Primary disabled\n\t\t{\n\t\t\tvariant: \"primary\",\n\t\t\tclass: cn(\"disabled:bg-bg-disabled\", \"disabled:text-white\"),\n\t\t},\n\t\t// Secondary disabled\n\t\t{\n\t\t\tvariant: \"secondary\",\n\t\t\tclass: cn(\n\t\t\t\t\"disabled:bg-bg-primary\",\n\t\t\t\t\"disabled:text-text-disabled\",\n\t\t\t\t\"disabled:border-border-disabled\",\n\t\t\t),\n\t\t},\n\t\t// Link disabled\n\t\t{\n\t\t\tvariant: \"link\",\n\t\t\tclass: cn(\"disabled:text-text-disabled\"),\n\t\t},\n\t\t// Ghost disabled\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tclass: cn(\"disabled:text-text-disabled\"),\n\t\t},\n\t\t// Primary danger\n\t\t{\n\t\t\tvariant: \"primary\",\n\t\t\tdanger: true,\n\t\t\tclass: cn(\n\t\t\t\t\"bg-bg-error-primary_inverse\",\n\t\t\t\t\"text-text-primary_on-brand\",\n\t\t\t\t\"hover:bg-bg-error-primary_inverse_hover\",\n\t\t\t\t\"active:bg-bg-error-primary_inverse\",\n\t\t\t),\n\t\t},\n\t\t// Secondary danger\n\t\t{\n\t\t\tvariant: \"secondary\",\n\t\t\tdanger: true,\n\t\t\tclass: cn(\n\t\t\t\t\"border-border-error\",\n\t\t\t\t\"text-text-error-primary\",\n\t\t\t\t\"hover:text-text-error-primary\",\n\t\t\t\t\"hover:bg-bg-error-secondary\",\n\t\t\t\t\"active:bg-bg-primary\",\n\t\t\t\t\"active:text-text-error-primary\",\n\t\t\t),\n\t\t},\n\t\t// Link danger\n\t\t{\n\t\t\tvariant: \"link\",\n\t\t\tdanger: true,\n\t\t\tclass: cn(\"text-text-error-secondary\", \"hover:text-text-error-primary\"),\n\t\t},\n\t\t// Ghost danger\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tdanger: true,\n\t\t\tclass: cn(\n\t\t\t\t\"text-text-error-secondary\",\n\t\t\t\t\"hover:text-text-error-primary\",\n\t\t\t\t\"hover:bg-bg-error-secondary\",\n\t\t\t\t\"active:bg-bg-error-tertiary\",\n\t\t\t),\n\t\t},\n\t\t// Focus ring for regular size\n\t\t{\n\t\t\tsize: \"regular\",\n\t\t\tdanger: false,\n\t\t\tclass: cn(\"focus-visible:ring-4\", \"focus-visible:ring-ring-blue\"),\n\t\t},\n\t\t{\n\t\t\tsize: \"regular\",\n\t\t\tdanger: true,\n\t\t\tclass: cn(\"focus-visible:ring-4\", \"focus-visible:ring-ring-red\"),\n\t\t},\n\t\t// Focus ring for small size\n\t\t{\n\t\t\tsize: \"small\",\n\t\t\tdanger: false,\n\t\t\tclass: cn(\"focus-visible:ring-3\", \"focus-visible:ring-ring-blue\"),\n\t\t},\n\t\t{\n\t\t\tsize: \"small\",\n\t\t\tdanger: true,\n\t\t\tclass: cn(\"focus-visible:ring-3\", \"focus-visible:ring-ring-red\"),\n\t\t},\n\t],\n\tdefaultVariants: {\n\t\tvariant: \"primary\",\n\t\tsize: \"regular\",\n\t\tdanger: false,\n\t},\n});\n\nfunction Button({\n\tclassName,\n\tvariant,\n\tsize,\n\tdanger = false,\n\tasChild = false,\n\t...props\n}: React.ComponentProps<\"button\"> &\n\tVariantProps<typeof buttonVariants> & {\n\t\tasChild?: boolean;\n\t\tdanger?: boolean;\n\t}) {\n\tconst Comp = asChild ? Slot : \"button\";\n\n\treturn (\n\t\t<Comp\n\t\t\tdata-slot=\"button\"\n\t\t\tclassName={cn(buttonVariants({ variant, size, danger, className }))}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport { Button, buttonVariants };\n"],"names":["Slot","cva","cn","baseButtonStyles","buttonVariants","variants","variant","primary","secondary","link","ghost","size","regular","small","danger","true","false","compoundVariants","class","defaultVariants","Button","className","asChild","props","Comp","data-slot"],"mappings":";AAAA,SAASA,IAAI,QAAQ,uBAAuB;AAC5C,SAASC,GAAG,QAA2B,2BAA2B;AAGlE,SAASC,EAAE,QAAQ,qBAAoB;AAEvC,MAAMC,mBAAmBD,GACxB,SAAS;AACT,eACA,gBACA,kBACA,SACA,qBACA,YACA,QAAQ;AACR,cACA,cAAc;AACd,kBACA,gBACA,kBACA,kBAAkB;AAClB,+BACA,cAAc;AACd,+BACA,wCACA,oBACA,eAAe;AACf,iBAAiB;AACjB,uBACA;AAGD,MAAME,iBAAiBH,IAAIE,kBAAkB;IAC5CE,UAAU;QACTC,SAAS;YACRC,SAASL,GACR,cACA,8BACA,0BACA;YAEDM,WAAWN,GACV,UACA,yBACA,iBACA,uBACA,2BACA,yBACA,wBACA;YAEDO,MAAMP,GAAG,uBAAuB,2BAA2B;YAC3DQ,OAAOR,GACN,uBACA,2BACA,yBACA;QAEF;QACAS,MAAM;YACLC,SAASV,GAAG,OAAO,QAAQ;YAC3BW,OAAOX,GAAG,OAAO,QAAQ,SAAS;QACnC;QACAY,QAAQ;YACPC,MAAM;YACNC,OAAO;QACR;IACD;IACAC,kBAAkB;QACjB,mBAAmB;QACnB;YACCX,SAAS;YACTY,OAAOhB,GAAG,2BAA2B;QACtC;QACA,qBAAqB;QACrB;YACCI,SAAS;YACTY,OAAOhB,GACN,0BACA,+BACA;QAEF;QACA,gBAAgB;QAChB;YACCI,SAAS;YACTY,OAAOhB,GAAG;QACX;QACA,iBAAiB;QACjB;YACCI,SAAS;YACTY,OAAOhB,GAAG;QACX;QACA,iBAAiB;QACjB;YACCI,SAAS;YACTQ,QAAQ;YACRI,OAAOhB,GACN,+BACA,8BACA,2CACA;QAEF;QACA,mBAAmB;QACnB;YACCI,SAAS;YACTQ,QAAQ;YACRI,OAAOhB,GACN,uBACA,2BACA,iCACA,+BACA,wBACA;QAEF;QACA,cAAc;QACd;YACCI,SAAS;YACTQ,QAAQ;YACRI,OAAOhB,GAAG,6BAA6B;QACxC;QACA,eAAe;QACf;YACCI,SAAS;YACTQ,QAAQ;YACRI,OAAOhB,GACN,6BACA,iCACA,+BACA;QAEF;QACA,8BAA8B;QAC9B;YACCS,MAAM;YACNG,QAAQ;YACRI,OAAOhB,GAAG,wBAAwB;QACnC;QACA;YACCS,MAAM;YACNG,QAAQ;YACRI,OAAOhB,GAAG,wBAAwB;QACnC;QACA,4BAA4B;QAC5B;YACCS,MAAM;YACNG,QAAQ;YACRI,OAAOhB,GAAG,wBAAwB;QACnC;QACA;YACCS,MAAM;YACNG,QAAQ;YACRI,OAAOhB,GAAG,wBAAwB;QACnC;KACA;IACDiB,iBAAiB;QAChBb,SAAS;QACTK,MAAM;QACNG,QAAQ;IACT;AACD;AAEA,SAASM,OAAO,EACfC,SAAS,EACTf,OAAO,EACPK,IAAI,EACJG,SAAS,KAAK,EACdQ,UAAU,KAAK,EACf,GAAGC,OAKF;IACD,MAAMC,OAAOF,UAAUtB,OAAO;IAE9B,qBACC,KAACwB;QACAC,aAAU;QACVJ,WAAWnB,GAAGE,eAAe;YAAEE;YAASK;YAAMG;YAAQO;QAAU;QAC/D,GAAGE,KAAK;;AAGZ;AAEA,SAASH,MAAM,EAAEhB,cAAc,GAAG"}
@@ -1,32 +1,114 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { Play, Trash2 } from "lucide-react";
2
+ import { Controls, Primary, Title } from "@storybook/addon-docs/blocks";
3
+ import { Play } from "lucide-react";
3
4
  import { Badge } from "./badge.js";
4
5
  import { Button } from "./button.js";
6
+ function ButtonWrapper({ variant = "primary", size = "regular", danger = false, disabled = false, icon = "none", children = "Button" }) {
7
+ if (icon === "only") {
8
+ return /*#__PURE__*/ _jsx(Button, {
9
+ variant: variant,
10
+ size: size,
11
+ danger: danger,
12
+ disabled: disabled,
13
+ children: /*#__PURE__*/ _jsx(Play, {})
14
+ });
15
+ }
16
+ if (icon === "left") {
17
+ return /*#__PURE__*/ _jsxs(Button, {
18
+ variant: variant,
19
+ size: size,
20
+ danger: danger,
21
+ disabled: disabled,
22
+ children: [
23
+ /*#__PURE__*/ _jsx(Play, {}),
24
+ children
25
+ ]
26
+ });
27
+ }
28
+ return /*#__PURE__*/ _jsx(Button, {
29
+ variant: variant,
30
+ size: size,
31
+ danger: danger,
32
+ disabled: disabled,
33
+ children: children
34
+ });
35
+ }
5
36
  const meta = {
6
37
  title: "Component/Button",
7
- component: Button,
38
+ component: ButtonWrapper,
39
+ parameters: {
40
+ docs: {
41
+ page: ()=>/*#__PURE__*/ _jsxs(_Fragment, {
42
+ children: [
43
+ /*#__PURE__*/ _jsx(Title, {}),
44
+ /*#__PURE__*/ _jsx(Primary, {}),
45
+ /*#__PURE__*/ _jsx(Controls, {})
46
+ ]
47
+ })
48
+ }
49
+ },
8
50
  argTypes: {
9
- variant: {}
10
- }
11
- };
12
- export default meta;
13
- export const TextOnly = {
51
+ variant: {
52
+ control: "select",
53
+ options: [
54
+ "primary",
55
+ "secondary",
56
+ "ghost",
57
+ "link"
58
+ ]
59
+ },
60
+ size: {
61
+ control: "select",
62
+ options: [
63
+ "regular",
64
+ "small"
65
+ ]
66
+ },
67
+ danger: {
68
+ control: "boolean"
69
+ },
70
+ disabled: {
71
+ control: "boolean"
72
+ },
73
+ icon: {
74
+ control: "select",
75
+ options: [
76
+ "none",
77
+ "left",
78
+ "only"
79
+ ]
80
+ },
81
+ children: {
82
+ control: "text"
83
+ }
84
+ },
14
85
  args: {
15
- children: "Remove"
86
+ children: "Button",
87
+ variant: "primary",
88
+ size: "regular",
89
+ danger: false,
90
+ disabled: false,
91
+ icon: "none"
16
92
  }
17
93
  };
18
- export const WithIcon = {
19
- args: {
20
- children: /*#__PURE__*/ _jsxs(_Fragment, {
21
- children: [
22
- /*#__PURE__*/ _jsx(Trash2, {}),
23
- " Remove",
24
- " "
25
- ]
94
+ export default meta;
95
+ export const Default = {
96
+ tags: [
97
+ "!dev"
98
+ ],
99
+ render: ({ variant = "primary", size = "regular", danger = false, disabled = false, icon = "none", children = "Button" })=>/*#__PURE__*/ _jsx(ButtonWrapper, {
100
+ variant: variant,
101
+ size: size,
102
+ danger: danger,
103
+ disabled: disabled,
104
+ icon: icon,
105
+ children: children
26
106
  })
27
- }
28
107
  };
29
108
  export const Demo = {
109
+ tags: [
110
+ "!autodocs"
111
+ ],
30
112
  render: ()=>/*#__PURE__*/ _jsx("div", {
31
113
  className: "p-6 min-h-screen flex justify-center items-center",
32
114
  children: /*#__PURE__*/ _jsxs("div", {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/shadcn/components/ui/button.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react-vite\";\nimport { Play, Trash2 } from \"lucide-react\";\nimport { Badge } from \"#shadcn/components/ui/badge\";\nimport { Button } from \"#shadcn/components/ui/button\";\n\nconst meta = {\n\ttitle: \"Component/Button\",\n\tcomponent: Button,\n\targTypes: {\n\t\tvariant: {},\n\t},\n} satisfies Meta;\nexport default meta;\n\ntype Story = StoryObj<typeof meta>;\n\nexport const TextOnly = {\n\targs: {\n\t\tchildren: \"Remove\",\n\t},\n} satisfies Story;\n\nexport const WithIcon = {\n\targs: {\n\t\tchildren: (\n\t\t\t<>\n\t\t\t\t<Trash2 /> Remove{\" \"}\n\t\t\t</>\n\t\t),\n\t},\n} satisfies Story;\n\nexport const Demo = {\n\trender: () => (\n\t\t<div className=\"p-6 min-h-screen flex justify-center items-center\">\n\t\t\t<div className=\" rounded-lg p-6 shadow-sm w-280\">\n\t\t\t\t<div className=\"flex items-center mb-4 justify-between\">\n\t\t\t\t\t<div className=\"w-40 text-center\">Variants</div>\n\t\t\t\t\t<div className=\"w-70 text-center text-sm text-text-secondary\">\n\t\t\t\t\t\tDanger:\n\t\t\t\t\t\t<Badge variant=\"outline\" className=\"text-xs\">\n\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t</Badge>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"w-70 text-center text-sm text-text-secondary\">\n\t\t\t\t\t\tDanger:\n\t\t\t\t\t\t<Badge variant=\"outline\" className=\"text-xs\">\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t</Badge>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"w-70 text-center text-sm text-text-secondary\">\n\t\t\t\t\t\tDisabled:\n\t\t\t\t\t\t<Badge variant=\"outline\" className=\"text-xs\">\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t</Badge>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t{([\"regular\", \"small\"] as const).map((size) => (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\" items-center gap-3 py-3 border-gray-l00 border-t border-border-separator\"\n\t\t\t\t\t\tkey={size}\n\t\t\t\t\t>\n\t\t\t\t\t\t{([\"primary\", \"secondary\", \"ghost\", \"link\"] as const).map(\n\t\t\t\t\t\t\t(variant) => (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tkey={variant}\n\t\t\t\t\t\t\t\t\tclassName=\"flex gap-3 items-center py-2 justify-between\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div className=\"w-40 text-sm text-text-secondary\">\n\t\t\t\t\t\t\t\t\t\t<div className=\"flex mb-1\">\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"w-15\">Variant:</div>\n\t\t\t\t\t\t\t\t\t\t\t<Badge variant=\"outline\" className=\"text-xs\">\n\t\t\t\t\t\t\t\t\t\t\t\t{variant}\n\t\t\t\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div className=\"flex\">\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"w-15\">Size:</div>\n\t\t\t\t\t\t\t\t\t\t\t<Badge variant=\"outline\" className=\"text-xs\">\n\t\t\t\t\t\t\t\t\t\t\t\t{size}\n\t\t\t\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"w-70 flex gap-3 justify-center\">\n\t\t\t\t\t\t\t\t\t\t<Button size={size} variant={variant}>\n\t\t\t\t\t\t\t\t\t\t\tButton\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t<Button size={size} variant={variant}>\n\t\t\t\t\t\t\t\t\t\t\t<Play /> Button\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t<Button size={size} variant={variant}>\n\t\t\t\t\t\t\t\t\t\t\t<Play />\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"w-70 flex gap-3 justify-center\">\n\t\t\t\t\t\t\t\t\t\t<Button size={size} variant={variant} danger>\n\t\t\t\t\t\t\t\t\t\t\tButton\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t<Button size={size} variant={variant} danger>\n\t\t\t\t\t\t\t\t\t\t\t<Play /> Button\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t<Button size={size} variant={variant} danger>\n\t\t\t\t\t\t\t\t\t\t\t<Play />\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"w-70 flex gap-3 justify-center\">\n\t\t\t\t\t\t\t\t\t\t<Button size={size} variant={variant} disabled>\n\t\t\t\t\t\t\t\t\t\t\tButton\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t<Button size={size} variant={variant} disabled>\n\t\t\t\t\t\t\t\t\t\t\t<Play /> Button\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t<Button size={size} variant={variant} disabled>\n\t\t\t\t\t\t\t\t\t\t\t<Play />\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t))}\n\t\t\t</div>\n\t\t</div>\n\t),\n} satisfies Story;\n"],"names":["Play","Trash2","Badge","Button","meta","title","component","argTypes","variant","TextOnly","args","children","WithIcon","Demo","render","div","className","map","size","danger","disabled"],"mappings":";AACA,SAASA,IAAI,EAAEC,MAAM,QAAQ,eAAe;AAC5C,SAASC,KAAK,QAAQ,aAA8B;AACpD,SAASC,MAAM,QAAQ,cAA+B;AAEtD,MAAMC,OAAO;IACZC,OAAO;IACPC,WAAWH;IACXI,UAAU;QACTC,SAAS,CAAC;IACX;AACD;AACA,eAAeJ,KAAK;AAIpB,OAAO,MAAMK,WAAW;IACvBC,MAAM;QACLC,UAAU;IACX;AACD,EAAkB;AAElB,OAAO,MAAMC,WAAW;IACvBF,MAAM;QACLC,wBACC;;8BACC,KAACV;gBAAS;gBAAQ;;;IAGrB;AACD,EAAkB;AAElB,OAAO,MAAMY,OAAO;IACnBC,QAAQ,kBACP,KAACC;YAAIC,WAAU;sBACd,cAAA,MAACD;gBAAIC,WAAU;;kCACd,MAACD;wBAAIC,WAAU;;0CACd,KAACD;gCAAIC,WAAU;0CAAmB;;0CAClC,MAACD;gCAAIC,WAAU;;oCAA+C;kDAE7D,KAACd;wCAAMM,SAAQ;wCAAUQ,WAAU;kDAAU;;;;0CAI9C,MAACD;gCAAIC,WAAU;;oCAA+C;kDAE7D,KAACd;wCAAMM,SAAQ;wCAAUQ,WAAU;kDAAU;;;;0CAI9C,MAACD;gCAAIC,WAAU;;oCAA+C;kDAE7D,KAACd;wCAAMM,SAAQ;wCAAUQ,WAAU;kDAAU;;;;;;oBAM7C;wBAAC;wBAAW;qBAAQ,CAAWC,GAAG,CAAC,CAACC,qBACrC,KAACH;4BACAC,WAAU;sCAGT,AAAC;gCAAC;gCAAW;gCAAa;gCAAS;6BAAO,CAAWC,GAAG,CACxD,CAACT,wBACA,MAACO;oCAEAC,WAAU;;sDAEV,MAACD;4CAAIC,WAAU;;8DACd,MAACD;oDAAIC,WAAU;;sEACd,KAACD;4DAAIC,WAAU;sEAAO;;sEACtB,KAACd;4DAAMM,SAAQ;4DAAUQ,WAAU;sEACjCR;;;;8DAGH,MAACO;oDAAIC,WAAU;;sEACd,KAACD;4DAAIC,WAAU;sEAAO;;sEACtB,KAACd;4DAAMM,SAAQ;4DAAUQ,WAAU;sEACjCE;;;;;;sDAIJ,MAACH;4CAAIC,WAAU;;8DACd,KAACb;oDAAOe,MAAMA;oDAAMV,SAASA;8DAAS;;8DAGtC,MAACL;oDAAOe,MAAMA;oDAAMV,SAASA;;sEAC5B,KAACR;wDAAO;;;8DAET,KAACG;oDAAOe,MAAMA;oDAAMV,SAASA;8DAC5B,cAAA,KAACR;;;;sDAGH,MAACe;4CAAIC,WAAU;;8DACd,KAACb;oDAAOe,MAAMA;oDAAMV,SAASA;oDAASW,MAAM;8DAAC;;8DAG7C,MAAChB;oDAAOe,MAAMA;oDAAMV,SAASA;oDAASW,MAAM;;sEAC3C,KAACnB;wDAAO;;;8DAET,KAACG;oDAAOe,MAAMA;oDAAMV,SAASA;oDAASW,MAAM;8DAC3C,cAAA,KAACnB;;;;sDAGH,MAACe;4CAAIC,WAAU;;8DACd,KAACb;oDAAOe,MAAMA;oDAAMV,SAASA;oDAASY,QAAQ;8DAAC;;8DAG/C,MAACjB;oDAAOe,MAAMA;oDAAMV,SAASA;oDAASY,QAAQ;;sEAC7C,KAACpB;wDAAO;;;8DAET,KAACG;oDAAOe,MAAMA;oDAAMV,SAASA;oDAASY,QAAQ;8DAC7C,cAAA,KAACpB;;;;;mCA/CEQ;2BALHU;;;;AA+DX,EAAkB"}
1
+ {"version":3,"sources":["../../../../../src/shadcn/components/ui/button.stories.tsx"],"sourcesContent":["import { Controls, Primary, Title } from \"@storybook/addon-docs/blocks\";\nimport type { Meta, StoryObj } from \"@storybook/react-vite\";\nimport { Play } from \"lucide-react\";\nimport { Badge } from \"#shadcn/components/ui/badge\";\nimport { Button } from \"#shadcn/components/ui/button\";\n\ninterface ButtonWrapperProps {\n\tvariant?: \"primary\" | \"secondary\" | \"ghost\" | \"link\";\n\tsize?: \"regular\" | \"small\";\n\tdanger?: boolean;\n\tdisabled?: boolean;\n\ticon?: \"none\" | \"left\" | \"only\";\n\tchildren?: string;\n}\n\nfunction ButtonWrapper({\n\tvariant = \"primary\",\n\tsize = \"regular\",\n\tdanger = false,\n\tdisabled = false,\n\ticon = \"none\",\n\tchildren = \"Button\",\n}: ButtonWrapperProps) {\n\tif (icon === \"only\") {\n\t\treturn (\n\t\t\t<Button variant={variant} size={size} danger={danger} disabled={disabled}>\n\t\t\t\t<Play />\n\t\t\t</Button>\n\t\t);\n\t}\n\n\tif (icon === \"left\") {\n\t\treturn (\n\t\t\t<Button variant={variant} size={size} danger={danger} disabled={disabled}>\n\t\t\t\t<Play />\n\t\t\t\t{children}\n\t\t\t</Button>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Button variant={variant} size={size} danger={danger} disabled={disabled}>\n\t\t\t{children}\n\t\t</Button>\n\t);\n}\n\nconst meta = {\n\ttitle: \"Component/Button\",\n\tcomponent: ButtonWrapper,\n\tparameters: {\n\t\tdocs: {\n\t\t\tpage: () => (\n\t\t\t\t<>\n\t\t\t\t\t<Title />\n\t\t\t\t\t<Primary />\n\t\t\t\t\t<Controls />\n\t\t\t\t</>\n\t\t\t),\n\t\t},\n\t},\n\targTypes: {\n\t\tvariant: {\n\t\t\tcontrol: \"select\",\n\t\t\toptions: [\"primary\", \"secondary\", \"ghost\", \"link\"],\n\t\t},\n\t\tsize: {\n\t\t\tcontrol: \"select\",\n\t\t\toptions: [\"regular\", \"small\"],\n\t\t},\n\t\tdanger: {\n\t\t\tcontrol: \"boolean\",\n\t\t},\n\t\tdisabled: {\n\t\t\tcontrol: \"boolean\",\n\t\t},\n\t\ticon: {\n\t\t\tcontrol: \"select\",\n\t\t\toptions: [\"none\", \"left\", \"only\"],\n\t\t},\n\t\tchildren: {\n\t\t\tcontrol: \"text\",\n\t\t},\n\t},\n\targs: {\n\t\tchildren: \"Button\",\n\t\tvariant: \"primary\",\n\t\tsize: \"regular\",\n\t\tdanger: false,\n\t\tdisabled: false,\n\t\ticon: \"none\",\n\t},\n} satisfies Meta<typeof ButtonWrapper>;\nexport default meta;\n\ntype Story = StoryObj<typeof meta>;\n\nexport const Default = {\n\ttags: [\"!dev\"],\n\trender: ({\n\t\tvariant = \"primary\",\n\t\tsize = \"regular\",\n\t\tdanger = false,\n\t\tdisabled = false,\n\t\ticon = \"none\",\n\t\tchildren = \"Button\",\n\t}) => (\n\t\t<ButtonWrapper\n\t\t\tvariant={variant}\n\t\t\tsize={size}\n\t\t\tdanger={danger}\n\t\t\tdisabled={disabled}\n\t\t\ticon={icon}\n\t\t>\n\t\t\t{children}\n\t\t</ButtonWrapper>\n\t),\n} satisfies Story;\n\nexport const Demo = {\n\ttags: [\"!autodocs\"],\n\trender: () => (\n\t\t<div className=\"p-6 min-h-screen flex justify-center items-center\">\n\t\t\t<div className=\" rounded-lg p-6 shadow-sm w-280\">\n\t\t\t\t<div className=\"flex items-center mb-4 justify-between\">\n\t\t\t\t\t<div className=\"w-40 text-center\">Variants</div>\n\t\t\t\t\t<div className=\"w-70 text-center text-sm text-text-secondary\">\n\t\t\t\t\t\tDanger:\n\t\t\t\t\t\t<Badge variant=\"outline\" className=\"text-xs\">\n\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t</Badge>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"w-70 text-center text-sm text-text-secondary\">\n\t\t\t\t\t\tDanger:\n\t\t\t\t\t\t<Badge variant=\"outline\" className=\"text-xs\">\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t</Badge>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"w-70 text-center text-sm text-text-secondary\">\n\t\t\t\t\t\tDisabled:\n\t\t\t\t\t\t<Badge variant=\"outline\" className=\"text-xs\">\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t</Badge>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t{([\"regular\", \"small\"] as const).map((size) => (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\" items-center gap-3 py-3 border-gray-l00 border-t border-border-separator\"\n\t\t\t\t\t\tkey={size}\n\t\t\t\t\t>\n\t\t\t\t\t\t{([\"primary\", \"secondary\", \"ghost\", \"link\"] as const).map(\n\t\t\t\t\t\t\t(variant) => (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tkey={variant}\n\t\t\t\t\t\t\t\t\tclassName=\"flex gap-3 items-center py-2 justify-between\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div className=\"w-40 text-sm text-text-secondary\">\n\t\t\t\t\t\t\t\t\t\t<div className=\"flex mb-1\">\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"w-15\">Variant:</div>\n\t\t\t\t\t\t\t\t\t\t\t<Badge variant=\"outline\" className=\"text-xs\">\n\t\t\t\t\t\t\t\t\t\t\t\t{variant}\n\t\t\t\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div className=\"flex\">\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"w-15\">Size:</div>\n\t\t\t\t\t\t\t\t\t\t\t<Badge variant=\"outline\" className=\"text-xs\">\n\t\t\t\t\t\t\t\t\t\t\t\t{size}\n\t\t\t\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"w-70 flex gap-3 justify-center\">\n\t\t\t\t\t\t\t\t\t\t<Button size={size} variant={variant}>\n\t\t\t\t\t\t\t\t\t\t\tButton\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t<Button size={size} variant={variant}>\n\t\t\t\t\t\t\t\t\t\t\t<Play /> Button\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t<Button size={size} variant={variant}>\n\t\t\t\t\t\t\t\t\t\t\t<Play />\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"w-70 flex gap-3 justify-center\">\n\t\t\t\t\t\t\t\t\t\t<Button size={size} variant={variant} danger>\n\t\t\t\t\t\t\t\t\t\t\tButton\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t<Button size={size} variant={variant} danger>\n\t\t\t\t\t\t\t\t\t\t\t<Play /> Button\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t<Button size={size} variant={variant} danger>\n\t\t\t\t\t\t\t\t\t\t\t<Play />\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"w-70 flex gap-3 justify-center\">\n\t\t\t\t\t\t\t\t\t\t<Button size={size} variant={variant} disabled>\n\t\t\t\t\t\t\t\t\t\t\tButton\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t<Button size={size} variant={variant} disabled>\n\t\t\t\t\t\t\t\t\t\t\t<Play /> Button\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t<Button size={size} variant={variant} disabled>\n\t\t\t\t\t\t\t\t\t\t\t<Play />\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t))}\n\t\t\t</div>\n\t\t</div>\n\t),\n} satisfies Story;\n"],"names":["Controls","Primary","Title","Play","Badge","Button","ButtonWrapper","variant","size","danger","disabled","icon","children","meta","title","component","parameters","docs","page","argTypes","control","options","args","Default","tags","render","Demo","div","className","map"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as React from "react";
2
2
  import { type DayButton, DayPicker } from "react-day-picker";
3
- import { Button } from "#shadcn/components/ui/button";
3
+ import { Button } from "../../components/ui/button";
4
4
  declare function Calendar({ className, classNames, showOutsideDays, captionLayout, buttonVariant, formatters, components, ...props }: React.ComponentProps<typeof DayPicker> & {
5
5
  buttonVariant?: React.ComponentProps<typeof Button>["variant"];
6
6
  }): import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/calendar.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACN,KAAK,SAAS,EACd,SAAS,EAET,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAkB,MAAM,8BAA8B,CAAC;AAGtE,iBAAS,QAAQ,CAAC,EACjB,SAAS,EACT,UAAU,EACV,eAAsB,EACtB,aAAuB,EACvB,aAAuB,EACvB,UAAU,EACV,UAAU,EACV,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,GAAG;IAC3C,aAAa,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;CAC/D,2CAoJA;AAED,iBAAS,iBAAiB,CAAC,EAC1B,SAAS,EACT,GAAG,EACH,SAAS,EACT,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,2CA+BxC;AAED,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/calendar.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACN,KAAK,SAAS,EACd,SAAS,EAET,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAkB,MAAM,8BAA8B,CAAC;AAGtE,iBAAS,QAAQ,CAAC,EACjB,SAAS,EACT,UAAU,EACV,eAAsB,EACtB,aAAuB,EACvB,aAAuB,EACvB,UAAU,EACV,UAAU,EACV,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,GAAG;IAC3C,aAAa,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;CAC/D,2CAoJA;AAED,iBAAS,iBAAiB,CAAC,EAC1B,SAAS,EACT,GAAG,EACH,SAAS,EACT,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,2CA+BxC;AAED,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC"}
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsx as _jsx } from "react/jsx-runtime";
2
3
  import { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon } from "lucide-react";
3
4
  import * as React from "react";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/shadcn/components/ui/calendar.tsx"],"sourcesContent":["import {\n\tChevronDownIcon,\n\tChevronLeftIcon,\n\tChevronRightIcon,\n} from \"lucide-react\";\nimport * as React from \"react\";\nimport {\n\ttype DayButton,\n\tDayPicker,\n\tgetDefaultClassNames,\n} from \"react-day-picker\";\nimport { Button, buttonVariants } from \"#shadcn/components/ui/button\";\nimport { cn } from \"#shadcn/lib/utils\";\n\nfunction Calendar({\n\tclassName,\n\tclassNames,\n\tshowOutsideDays = true,\n\tcaptionLayout = \"label\",\n\tbuttonVariant = \"ghost\",\n\tformatters,\n\tcomponents,\n\t...props\n}: React.ComponentProps<typeof DayPicker> & {\n\tbuttonVariant?: React.ComponentProps<typeof Button>[\"variant\"];\n}) {\n\tconst defaultClassNames = getDefaultClassNames();\n\n\treturn (\n\t\t<DayPicker\n\t\t\tshowOutsideDays={showOutsideDays}\n\t\t\tclassName={cn(\n\t\t\t\t\"bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent\",\n\t\t\t\tString.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n\t\t\t\tString.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tcaptionLayout={captionLayout}\n\t\t\tformatters={{\n\t\t\t\tformatMonthDropdown: (date) =>\n\t\t\t\t\tdate.toLocaleString(\"default\", { month: \"short\" }),\n\t\t\t\t...formatters,\n\t\t\t}}\n\t\t\tclassNames={{\n\t\t\t\troot: cn(\"w-fit\", defaultClassNames.root),\n\t\t\t\tmonths: cn(\n\t\t\t\t\t\"flex gap-4 flex-col md:flex-row relative\",\n\t\t\t\t\tdefaultClassNames.months,\n\t\t\t\t),\n\t\t\t\tmonth: cn(\"flex flex-col w-full gap-4\", defaultClassNames.month),\n\t\t\t\tnav: cn(\n\t\t\t\t\t\"flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between\",\n\t\t\t\t\tdefaultClassNames.nav,\n\t\t\t\t),\n\t\t\t\tbutton_previous: cn(\n\t\t\t\t\tbuttonVariants({ variant: buttonVariant }),\n\t\t\t\t\t\"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none\",\n\t\t\t\t\tdefaultClassNames.button_previous,\n\t\t\t\t),\n\t\t\t\tbutton_next: cn(\n\t\t\t\t\tbuttonVariants({ variant: buttonVariant }),\n\t\t\t\t\t\"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none\",\n\t\t\t\t\tdefaultClassNames.button_next,\n\t\t\t\t),\n\t\t\t\tmonth_caption: cn(\n\t\t\t\t\t\"flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)\",\n\t\t\t\t\tdefaultClassNames.month_caption,\n\t\t\t\t),\n\t\t\t\tdropdowns: cn(\n\t\t\t\t\t\"w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5\",\n\t\t\t\t\tdefaultClassNames.dropdowns,\n\t\t\t\t),\n\t\t\t\tdropdown_root: cn(\n\t\t\t\t\t\"relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md\",\n\t\t\t\t\tdefaultClassNames.dropdown_root,\n\t\t\t\t),\n\t\t\t\tdropdown: cn(\n\t\t\t\t\t\"absolute bg-popover inset-0 opacity-0\",\n\t\t\t\t\tdefaultClassNames.dropdown,\n\t\t\t\t),\n\t\t\t\tcaption_label: cn(\n\t\t\t\t\t\"select-none font-medium\",\n\t\t\t\t\tcaptionLayout === \"label\"\n\t\t\t\t\t\t? \"text-sm\"\n\t\t\t\t\t\t: \"rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5\",\n\t\t\t\t\tdefaultClassNames.caption_label,\n\t\t\t\t),\n\t\t\t\ttable: \"w-full border-collapse\",\n\t\t\t\tweekdays: cn(\"flex\", defaultClassNames.weekdays),\n\t\t\t\tweekday: cn(\n\t\t\t\t\t\"text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none\",\n\t\t\t\t\tdefaultClassNames.weekday,\n\t\t\t\t),\n\t\t\t\tweek: cn(\"flex w-full mt-2\", defaultClassNames.week),\n\t\t\t\tweek_number_header: cn(\n\t\t\t\t\t\"select-none w-(--cell-size)\",\n\t\t\t\t\tdefaultClassNames.week_number_header,\n\t\t\t\t),\n\t\t\t\tweek_number: cn(\n\t\t\t\t\t\"text-[0.8rem] select-none text-muted-foreground\",\n\t\t\t\t\tdefaultClassNames.week_number,\n\t\t\t\t),\n\t\t\t\tday: cn(\n\t\t\t\t\t\"relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none\",\n\t\t\t\t\tdefaultClassNames.day,\n\t\t\t\t),\n\t\t\t\trange_start: cn(\n\t\t\t\t\t\"rounded-l-md bg-accent\",\n\t\t\t\t\tdefaultClassNames.range_start,\n\t\t\t\t),\n\t\t\t\trange_middle: cn(\"rounded-none\", defaultClassNames.range_middle),\n\t\t\t\trange_end: cn(\"rounded-r-md bg-accent\", defaultClassNames.range_end),\n\t\t\t\ttoday: cn(\n\t\t\t\t\t\"bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none\",\n\t\t\t\t\tdefaultClassNames.today,\n\t\t\t\t),\n\t\t\t\toutside: cn(\n\t\t\t\t\t\"text-muted-foreground aria-selected:text-muted-foreground\",\n\t\t\t\t\tdefaultClassNames.outside,\n\t\t\t\t),\n\t\t\t\tdisabled: cn(\n\t\t\t\t\t\"text-muted-foreground opacity-50\",\n\t\t\t\t\tdefaultClassNames.disabled,\n\t\t\t\t),\n\t\t\t\thidden: cn(\"invisible\", defaultClassNames.hidden),\n\t\t\t\t...classNames,\n\t\t\t}}\n\t\t\tcomponents={{\n\t\t\t\tRoot: ({ className, rootRef, ...props }) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tdata-slot=\"calendar\"\n\t\t\t\t\t\t\tref={rootRef}\n\t\t\t\t\t\t\tclassName={cn(className)}\n\t\t\t\t\t\t\t{...props}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tChevron: ({ className, orientation, ...props }) => {\n\t\t\t\t\tif (orientation === \"left\") {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<ChevronLeftIcon className={cn(\"size-4\", className)} {...props} />\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (orientation === \"right\") {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<ChevronRightIcon\n\t\t\t\t\t\t\t\tclassName={cn(\"size-4\", className)}\n\t\t\t\t\t\t\t\t{...props}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ChevronDownIcon className={cn(\"size-4\", className)} {...props} />\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tDayButton: CalendarDayButton,\n\t\t\t\tWeekNumber: ({ children, ...props }) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<td {...props}>\n\t\t\t\t\t\t\t<div className=\"flex size-(--cell-size) items-center justify-center text-center\">\n\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\t...components,\n\t\t\t}}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction CalendarDayButton({\n\tclassName,\n\tday,\n\tmodifiers,\n\t...props\n}: React.ComponentProps<typeof DayButton>) {\n\tconst defaultClassNames = getDefaultClassNames();\n\n\tconst ref = React.useRef<HTMLButtonElement>(null);\n\tReact.useEffect(() => {\n\t\tif (modifiers.focused) ref.current?.focus();\n\t}, [modifiers.focused]);\n\n\treturn (\n\t\t<Button\n\t\t\tref={ref}\n\t\t\tvariant=\"ghost\"\n\t\t\tsize=\"small\"\n\t\t\tdata-day={day.date.toLocaleDateString()}\n\t\t\tdata-selected-single={\n\t\t\t\tmodifiers.selected &&\n\t\t\t\t!modifiers.range_start &&\n\t\t\t\t!modifiers.range_end &&\n\t\t\t\t!modifiers.range_middle\n\t\t\t}\n\t\t\tdata-range-start={modifiers.range_start}\n\t\t\tdata-range-end={modifiers.range_end}\n\t\t\tdata-range-middle={modifiers.range_middle}\n\t\t\tclassName={cn(\n\t\t\t\t\"data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=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\t\t\t\tdefaultClassNames.day,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport { Calendar, CalendarDayButton };\n"],"names":["ChevronDownIcon","ChevronLeftIcon","ChevronRightIcon","React","DayPicker","getDefaultClassNames","Button","buttonVariants","cn","Calendar","className","classNames","showOutsideDays","captionLayout","buttonVariant","formatters","components","props","defaultClassNames","String","raw","formatMonthDropdown","date","toLocaleString","month","root","months","nav","button_previous","variant","button_next","month_caption","dropdowns","dropdown_root","dropdown","caption_label","table","weekdays","weekday","week","week_number_header","week_number","day","range_start","range_middle","range_end","today","outside","disabled","hidden","Root","rootRef","div","data-slot","ref","Chevron","orientation","DayButton","CalendarDayButton","WeekNumber","children","td","modifiers","useRef","useEffect","focused","current","focus","size","data-day","toLocaleDateString","data-selected-single","selected","data-range-start","data-range-end","data-range-middle"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../src/shadcn/components/ui/calendar.tsx"],"sourcesContent":["\"use client\";\nimport {\n\tChevronDownIcon,\n\tChevronLeftIcon,\n\tChevronRightIcon,\n} from \"lucide-react\";\nimport * as React from \"react\";\nimport {\n\ttype DayButton,\n\tDayPicker,\n\tgetDefaultClassNames,\n} from \"react-day-picker\";\nimport { Button, buttonVariants } from \"#shadcn/components/ui/button\";\nimport { cn } from \"#shadcn/lib/utils\";\n\nfunction Calendar({\n\tclassName,\n\tclassNames,\n\tshowOutsideDays = true,\n\tcaptionLayout = \"label\",\n\tbuttonVariant = \"ghost\",\n\tformatters,\n\tcomponents,\n\t...props\n}: React.ComponentProps<typeof DayPicker> & {\n\tbuttonVariant?: React.ComponentProps<typeof Button>[\"variant\"];\n}) {\n\tconst defaultClassNames = getDefaultClassNames();\n\n\treturn (\n\t\t<DayPicker\n\t\t\tshowOutsideDays={showOutsideDays}\n\t\t\tclassName={cn(\n\t\t\t\t\"bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent\",\n\t\t\t\tString.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n\t\t\t\tString.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tcaptionLayout={captionLayout}\n\t\t\tformatters={{\n\t\t\t\tformatMonthDropdown: (date) =>\n\t\t\t\t\tdate.toLocaleString(\"default\", { month: \"short\" }),\n\t\t\t\t...formatters,\n\t\t\t}}\n\t\t\tclassNames={{\n\t\t\t\troot: cn(\"w-fit\", defaultClassNames.root),\n\t\t\t\tmonths: cn(\n\t\t\t\t\t\"flex gap-4 flex-col md:flex-row relative\",\n\t\t\t\t\tdefaultClassNames.months,\n\t\t\t\t),\n\t\t\t\tmonth: cn(\"flex flex-col w-full gap-4\", defaultClassNames.month),\n\t\t\t\tnav: cn(\n\t\t\t\t\t\"flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between\",\n\t\t\t\t\tdefaultClassNames.nav,\n\t\t\t\t),\n\t\t\t\tbutton_previous: cn(\n\t\t\t\t\tbuttonVariants({ variant: buttonVariant }),\n\t\t\t\t\t\"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none\",\n\t\t\t\t\tdefaultClassNames.button_previous,\n\t\t\t\t),\n\t\t\t\tbutton_next: cn(\n\t\t\t\t\tbuttonVariants({ variant: buttonVariant }),\n\t\t\t\t\t\"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none\",\n\t\t\t\t\tdefaultClassNames.button_next,\n\t\t\t\t),\n\t\t\t\tmonth_caption: cn(\n\t\t\t\t\t\"flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)\",\n\t\t\t\t\tdefaultClassNames.month_caption,\n\t\t\t\t),\n\t\t\t\tdropdowns: cn(\n\t\t\t\t\t\"w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5\",\n\t\t\t\t\tdefaultClassNames.dropdowns,\n\t\t\t\t),\n\t\t\t\tdropdown_root: cn(\n\t\t\t\t\t\"relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md\",\n\t\t\t\t\tdefaultClassNames.dropdown_root,\n\t\t\t\t),\n\t\t\t\tdropdown: cn(\n\t\t\t\t\t\"absolute bg-popover inset-0 opacity-0\",\n\t\t\t\t\tdefaultClassNames.dropdown,\n\t\t\t\t),\n\t\t\t\tcaption_label: cn(\n\t\t\t\t\t\"select-none font-medium\",\n\t\t\t\t\tcaptionLayout === \"label\"\n\t\t\t\t\t\t? \"text-sm\"\n\t\t\t\t\t\t: \"rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5\",\n\t\t\t\t\tdefaultClassNames.caption_label,\n\t\t\t\t),\n\t\t\t\ttable: \"w-full border-collapse\",\n\t\t\t\tweekdays: cn(\"flex\", defaultClassNames.weekdays),\n\t\t\t\tweekday: cn(\n\t\t\t\t\t\"text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none\",\n\t\t\t\t\tdefaultClassNames.weekday,\n\t\t\t\t),\n\t\t\t\tweek: cn(\"flex w-full mt-2\", defaultClassNames.week),\n\t\t\t\tweek_number_header: cn(\n\t\t\t\t\t\"select-none w-(--cell-size)\",\n\t\t\t\t\tdefaultClassNames.week_number_header,\n\t\t\t\t),\n\t\t\t\tweek_number: cn(\n\t\t\t\t\t\"text-[0.8rem] select-none text-muted-foreground\",\n\t\t\t\t\tdefaultClassNames.week_number,\n\t\t\t\t),\n\t\t\t\tday: cn(\n\t\t\t\t\t\"relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none\",\n\t\t\t\t\tdefaultClassNames.day,\n\t\t\t\t),\n\t\t\t\trange_start: cn(\n\t\t\t\t\t\"rounded-l-md bg-accent\",\n\t\t\t\t\tdefaultClassNames.range_start,\n\t\t\t\t),\n\t\t\t\trange_middle: cn(\"rounded-none\", defaultClassNames.range_middle),\n\t\t\t\trange_end: cn(\"rounded-r-md bg-accent\", defaultClassNames.range_end),\n\t\t\t\ttoday: cn(\n\t\t\t\t\t\"bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none\",\n\t\t\t\t\tdefaultClassNames.today,\n\t\t\t\t),\n\t\t\t\toutside: cn(\n\t\t\t\t\t\"text-muted-foreground aria-selected:text-muted-foreground\",\n\t\t\t\t\tdefaultClassNames.outside,\n\t\t\t\t),\n\t\t\t\tdisabled: cn(\n\t\t\t\t\t\"text-muted-foreground opacity-50\",\n\t\t\t\t\tdefaultClassNames.disabled,\n\t\t\t\t),\n\t\t\t\thidden: cn(\"invisible\", defaultClassNames.hidden),\n\t\t\t\t...classNames,\n\t\t\t}}\n\t\t\tcomponents={{\n\t\t\t\tRoot: ({ className, rootRef, ...props }) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tdata-slot=\"calendar\"\n\t\t\t\t\t\t\tref={rootRef}\n\t\t\t\t\t\t\tclassName={cn(className)}\n\t\t\t\t\t\t\t{...props}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tChevron: ({ className, orientation, ...props }) => {\n\t\t\t\t\tif (orientation === \"left\") {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<ChevronLeftIcon className={cn(\"size-4\", className)} {...props} />\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (orientation === \"right\") {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<ChevronRightIcon\n\t\t\t\t\t\t\t\tclassName={cn(\"size-4\", className)}\n\t\t\t\t\t\t\t\t{...props}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ChevronDownIcon className={cn(\"size-4\", className)} {...props} />\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tDayButton: CalendarDayButton,\n\t\t\t\tWeekNumber: ({ children, ...props }) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<td {...props}>\n\t\t\t\t\t\t\t<div className=\"flex size-(--cell-size) items-center justify-center text-center\">\n\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\t...components,\n\t\t\t}}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction CalendarDayButton({\n\tclassName,\n\tday,\n\tmodifiers,\n\t...props\n}: React.ComponentProps<typeof DayButton>) {\n\tconst defaultClassNames = getDefaultClassNames();\n\n\tconst ref = React.useRef<HTMLButtonElement>(null);\n\tReact.useEffect(() => {\n\t\tif (modifiers.focused) ref.current?.focus();\n\t}, [modifiers.focused]);\n\n\treturn (\n\t\t<Button\n\t\t\tref={ref}\n\t\t\tvariant=\"ghost\"\n\t\t\tsize=\"small\"\n\t\t\tdata-day={day.date.toLocaleDateString()}\n\t\t\tdata-selected-single={\n\t\t\t\tmodifiers.selected &&\n\t\t\t\t!modifiers.range_start &&\n\t\t\t\t!modifiers.range_end &&\n\t\t\t\t!modifiers.range_middle\n\t\t\t}\n\t\t\tdata-range-start={modifiers.range_start}\n\t\t\tdata-range-end={modifiers.range_end}\n\t\t\tdata-range-middle={modifiers.range_middle}\n\t\t\tclassName={cn(\n\t\t\t\t\"data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=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\t\t\t\tdefaultClassNames.day,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport { Calendar, CalendarDayButton };\n"],"names":["ChevronDownIcon","ChevronLeftIcon","ChevronRightIcon","React","DayPicker","getDefaultClassNames","Button","buttonVariants","cn","Calendar","className","classNames","showOutsideDays","captionLayout","buttonVariant","formatters","components","props","defaultClassNames","String","raw","formatMonthDropdown","date","toLocaleString","month","root","months","nav","button_previous","variant","button_next","month_caption","dropdowns","dropdown_root","dropdown","caption_label","table","weekdays","weekday","week","week_number_header","week_number","day","range_start","range_middle","range_end","today","outside","disabled","hidden","Root","rootRef","div","data-slot","ref","Chevron","orientation","DayButton","CalendarDayButton","WeekNumber","children","td","modifiers","useRef","useEffect","focused","current","focus","size","data-day","toLocaleDateString","data-selected-single","selected","data-range-start","data-range-end","data-range-middle"],"mappings":"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"}
@@ -1,5 +1,9 @@
1
1
  import type * as React from "react";
2
- declare function Card({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
2
+ type CardVariant = "default" | "round" | "round-white";
3
+ interface CardProps extends React.ComponentProps<"div"> {
4
+ variant?: CardVariant;
5
+ }
6
+ declare function Card({ className, variant, ...props }: CardProps): import("react/jsx-runtime").JSX.Element;
3
7
  declare function CardHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
4
8
  declare function CardTitle({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
5
9
  declare function CardDescription({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAIpC,iBAAS,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAWjE;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAWvE;AAED,iBAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQtE;AAED,iBAAS,eAAe,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQ5E;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAWvE;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQxE;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQvE;AAED,OAAO,EACN,IAAI,EACJ,UAAU,EACV,UAAU,EACV,SAAS,EACT,UAAU,EACV,eAAe,EACf,WAAW,GACX,CAAC"}
1
+ {"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAuDpC,KAAK,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,aAAa,CAAC;AAEvD,UAAU,SAAU,SAAQ,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC;IACtD,OAAO,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,iBAAS,IAAI,CAAC,EAAE,SAAS,EAAE,OAAmB,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,2CAWpE;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAmBvE;AAED,iBAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQtE;AAED,iBAAS,eAAe,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQ5E;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAevE;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQxE;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAcvE;AAED,OAAO,EACN,IAAI,EACJ,UAAU,EACV,UAAU,EACV,SAAS,EACT,UAAU,EACV,eAAe,EACf,WAAW,GACX,CAAC"}
@@ -1,37 +1,58 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { cn } from "../../lib/utils.js";
3
- function Card({ className, ...props }) {
3
+ // Base card styles
4
+ const baseCardStyles = cn(// Layout
5
+ "flex", "flex-col", "gap-6", // Borders
6
+ "border", "border-border-primary", // Background & Colors
7
+ "bg-bg-primary", "text-text-primary", // Shadow
8
+ "shadow-sm");
9
+ // Default card styles
10
+ const defaultCardStyles = cn(baseCardStyles, // Shape
11
+ "rounded-xl", // Spacing
12
+ "py-6");
13
+ // Round card styles
14
+ const roundCardStyles = cn(baseCardStyles, // Shape
15
+ "rounded-3xl", // Spacing
16
+ "px-8", "py-6");
17
+ // Round white card styles (no border, no shadow)
18
+ const roundWhiteCardStyles = cn(// Layout
19
+ "flex", "flex-col", "gap-6", // Background & Colors
20
+ "bg-bg-primary", "text-text-primary", // Shape
21
+ "rounded-3xl", // Spacing
22
+ "px-8", "py-6");
23
+ function Card({ className, variant = "default", ...props }) {
24
+ const variantStyles = variant === "round" ? roundCardStyles : variant === "round-white" ? roundWhiteCardStyles : defaultCardStyles;
4
25
  return /*#__PURE__*/ _jsx("div", {
5
26
  "data-slot": "card",
6
- className: cn("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm", className),
27
+ className: cn(variantStyles, className),
7
28
  ...props
8
29
  });
9
30
  }
10
31
  function CardHeader({ className, ...props }) {
11
32
  return /*#__PURE__*/ _jsx("div", {
12
33
  "data-slot": "card-header",
13
- 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),
34
+ 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),
14
35
  ...props
15
36
  });
16
37
  }
17
38
  function CardTitle({ className, ...props }) {
18
39
  return /*#__PURE__*/ _jsx("div", {
19
40
  "data-slot": "card-title",
20
- className: cn("leading-none font-semibold", className),
41
+ className: cn("leading-none", "font-semibold", className),
21
42
  ...props
22
43
  });
23
44
  }
24
45
  function CardDescription({ className, ...props }) {
25
46
  return /*#__PURE__*/ _jsx("div", {
26
47
  "data-slot": "card-description",
27
- className: cn("text-muted-foreground text-sm", className),
48
+ className: cn("text-text-secondary", "text-sm", className),
28
49
  ...props
29
50
  });
30
51
  }
31
52
  function CardAction({ className, ...props }) {
32
53
  return /*#__PURE__*/ _jsx("div", {
33
54
  "data-slot": "card-action",
34
- className: cn("col-start-2 row-span-2 row-start-1 self-start justify-self-end", className),
55
+ className: cn("col-start-2", "row-span-2", "row-start-1", "self-start", "justify-self-end", className),
35
56
  ...props
36
57
  });
37
58
  }
@@ -45,7 +66,7 @@ function CardContent({ className, ...props }) {
45
66
  function CardFooter({ className, ...props }) {
46
67
  return /*#__PURE__*/ _jsx("div", {
47
68
  "data-slot": "card-footer",
48
- className: cn("flex items-center px-6 [.border-t]:pt-6", className),
69
+ className: cn("flex", "items-center", "px-6", "[.border-t]:pt-6", className),
49
70
  ...props
50
71
  });
51
72
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/shadcn/components/ui/card.tsx"],"sourcesContent":["import type * as React from \"react\";\n\nimport { cn } from \"#shadcn/lib/utils\";\n\nfunction Card({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"card\"\n\t\t\tclassName={cn(\n\t\t\t\t\"bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"card-header\"\n\t\t\tclassName={cn(\n\t\t\t\t\"@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\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"card-title\"\n\t\t\tclassName={cn(\"leading-none font-semibold\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"card-description\"\n\t\t\tclassName={cn(\"text-muted-foreground text-sm\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"card-action\"\n\t\t\tclassName={cn(\n\t\t\t\t\"col-start-2 row-span-2 row-start-1 self-start justify-self-end\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"card-content\"\n\t\t\tclassName={cn(\"px-6\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"card-footer\"\n\t\t\tclassName={cn(\"flex items-center px-6 [.border-t]:pt-6\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport {\n\tCard,\n\tCardHeader,\n\tCardFooter,\n\tCardTitle,\n\tCardAction,\n\tCardDescription,\n\tCardContent,\n};\n"],"names":["cn","Card","className","props","div","data-slot","CardHeader","CardTitle","CardDescription","CardAction","CardContent","CardFooter"],"mappings":";AAEA,SAASA,EAAE,QAAQ,qBAAoB;AAEvC,SAASC,KAAK,EAAEC,SAAS,EAAE,GAAGC,OAAoC;IACjE,qBACC,KAACC;QACAC,aAAU;QACVH,WAAWF,GACV,qFACAE;QAEA,GAAGC,KAAK;;AAGZ;AAEA,SAASG,WAAW,EAAEJ,SAAS,EAAE,GAAGC,OAAoC;IACvE,qBACC,KAACC;QACAC,aAAU;QACVH,WAAWF,GACV,8JACAE;QAEA,GAAGC,KAAK;;AAGZ;AAEA,SAASI,UAAU,EAAEL,SAAS,EAAE,GAAGC,OAAoC;IACtE,qBACC,KAACC;QACAC,aAAU;QACVH,WAAWF,GAAG,8BAA8BE;QAC3C,GAAGC,KAAK;;AAGZ;AAEA,SAASK,gBAAgB,EAAEN,SAAS,EAAE,GAAGC,OAAoC;IAC5E,qBACC,KAACC;QACAC,aAAU;QACVH,WAAWF,GAAG,iCAAiCE;QAC9C,GAAGC,KAAK;;AAGZ;AAEA,SAASM,WAAW,EAAEP,SAAS,EAAE,GAAGC,OAAoC;IACvE,qBACC,KAACC;QACAC,aAAU;QACVH,WAAWF,GACV,kEACAE;QAEA,GAAGC,KAAK;;AAGZ;AAEA,SAASO,YAAY,EAAER,SAAS,EAAE,GAAGC,OAAoC;IACxE,qBACC,KAACC;QACAC,aAAU;QACVH,WAAWF,GAAG,QAAQE;QACrB,GAAGC,KAAK;;AAGZ;AAEA,SAASQ,WAAW,EAAET,SAAS,EAAE,GAAGC,OAAoC;IACvE,qBACC,KAACC;QACAC,aAAU;QACVH,WAAWF,GAAG,2CAA2CE;QACxD,GAAGC,KAAK;;AAGZ;AAEA,SACCF,IAAI,EACJK,UAAU,EACVK,UAAU,EACVJ,SAAS,EACTE,UAAU,EACVD,eAAe,EACfE,WAAW,GACV"}
1
+ {"version":3,"sources":["../../../../../src/shadcn/components/ui/card.tsx"],"sourcesContent":["import type * as React from \"react\";\n\nimport { cn } from \"#shadcn/lib/utils\";\n\n// Base card styles\nconst baseCardStyles = cn(\n\t// Layout\n\t\"flex\",\n\t\"flex-col\",\n\t\"gap-6\",\n\t// Borders\n\t\"border\",\n\t\"border-border-primary\",\n\t// Background & Colors\n\t\"bg-bg-primary\",\n\t\"text-text-primary\",\n\t// Shadow\n\t\"shadow-sm\",\n);\n\n// Default card styles\nconst defaultCardStyles = cn(\n\tbaseCardStyles,\n\t// Shape\n\t\"rounded-xl\",\n\t// Spacing\n\t\"py-6\",\n);\n\n// Round card styles\nconst roundCardStyles = cn(\n\tbaseCardStyles,\n\t// Shape\n\t\"rounded-3xl\",\n\t// Spacing\n\t\"px-8\",\n\t\"py-6\",\n);\n\n// Round white card styles (no border, no shadow)\nconst roundWhiteCardStyles = cn(\n\t// Layout\n\t\"flex\",\n\t\"flex-col\",\n\t\"gap-6\",\n\t// Background & Colors\n\t\"bg-bg-primary\",\n\t\"text-text-primary\",\n\t// Shape\n\t\"rounded-3xl\",\n\t// Spacing\n\t\"px-8\",\n\t\"py-6\",\n);\n\ntype CardVariant = \"default\" | \"round\" | \"round-white\";\n\ninterface CardProps extends React.ComponentProps<\"div\"> {\n\tvariant?: CardVariant;\n}\n\nfunction Card({ className, variant = \"default\", ...props }: CardProps) {\n\tconst variantStyles =\n\t\tvariant === \"round\"\n\t\t\t? roundCardStyles\n\t\t\t: variant === \"round-white\"\n\t\t\t\t? roundWhiteCardStyles\n\t\t\t\t: defaultCardStyles;\n\n\treturn (\n\t\t<div data-slot=\"card\" className={cn(variantStyles, className)} {...props} />\n\t);\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"card-header\"\n\t\t\tclassName={cn(\n\t\t\t\t\"@container/card-header\",\n\t\t\t\t\"grid\",\n\t\t\t\t\"auto-rows-min\",\n\t\t\t\t\"grid-rows-[auto_auto]\",\n\t\t\t\t\"items-start\",\n\t\t\t\t\"gap-1.5\",\n\t\t\t\t\"px-6\",\n\t\t\t\t\"has-data-[slot=card-action]:grid-cols-[1fr_auto]\",\n\t\t\t\t\"[.border-b]:pb-6\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"card-title\"\n\t\t\tclassName={cn(\"leading-none\", \"font-semibold\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"card-description\"\n\t\t\tclassName={cn(\"text-text-secondary\", \"text-sm\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"card-action\"\n\t\t\tclassName={cn(\n\t\t\t\t\"col-start-2\",\n\t\t\t\t\"row-span-2\",\n\t\t\t\t\"row-start-1\",\n\t\t\t\t\"self-start\",\n\t\t\t\t\"justify-self-end\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"card-content\"\n\t\t\tclassName={cn(\"px-6\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"card-footer\"\n\t\t\tclassName={cn(\n\t\t\t\t\"flex\",\n\t\t\t\t\"items-center\",\n\t\t\t\t\"px-6\",\n\t\t\t\t\"[.border-t]:pt-6\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport {\n\tCard,\n\tCardHeader,\n\tCardFooter,\n\tCardTitle,\n\tCardAction,\n\tCardDescription,\n\tCardContent,\n};\n"],"names":["cn","baseCardStyles","defaultCardStyles","roundCardStyles","roundWhiteCardStyles","Card","className","variant","props","variantStyles","div","data-slot","CardHeader","CardTitle","CardDescription","CardAction","CardContent","CardFooter"],"mappings":";AAEA,SAASA,EAAE,QAAQ,qBAAoB;AAEvC,mBAAmB;AACnB,MAAMC,iBAAiBD,GACtB,SAAS;AACT,QACA,YACA,SACA,UAAU;AACV,UACA,yBACA,sBAAsB;AACtB,iBACA,qBACA,SAAS;AACT;AAGD,sBAAsB;AACtB,MAAME,oBAAoBF,GACzBC,gBACA,QAAQ;AACR,cACA,UAAU;AACV;AAGD,oBAAoB;AACpB,MAAME,kBAAkBH,GACvBC,gBACA,QAAQ;AACR,eACA,UAAU;AACV,QACA;AAGD,iDAAiD;AACjD,MAAMG,uBAAuBJ,GAC5B,SAAS;AACT,QACA,YACA,SACA,sBAAsB;AACtB,iBACA,qBACA,QAAQ;AACR,eACA,UAAU;AACV,QACA;AASD,SAASK,KAAK,EAAEC,SAAS,EAAEC,UAAU,SAAS,EAAE,GAAGC,OAAkB;IACpE,MAAMC,gBACLF,YAAY,UACTJ,kBACAI,YAAY,gBACXH,uBACAF;IAEL,qBACC,KAACQ;QAAIC,aAAU;QAAOL,WAAWN,GAAGS,eAAeH;QAAa,GAAGE,KAAK;;AAE1E;AAEA,SAASI,WAAW,EAAEN,SAAS,EAAE,GAAGE,OAAoC;IACvE,qBACC,KAACE;QACAC,aAAU;QACVL,WAAWN,GACV,0BACA,QACA,iBACA,yBACA,eACA,WACA,QACA,oDACA,oBACAM;QAEA,GAAGE,KAAK;;AAGZ;AAEA,SAASK,UAAU,EAAEP,SAAS,EAAE,GAAGE,OAAoC;IACtE,qBACC,KAACE;QACAC,aAAU;QACVL,WAAWN,GAAG,gBAAgB,iBAAiBM;QAC9C,GAAGE,KAAK;;AAGZ;AAEA,SAASM,gBAAgB,EAAER,SAAS,EAAE,GAAGE,OAAoC;IAC5E,qBACC,KAACE;QACAC,aAAU;QACVL,WAAWN,GAAG,uBAAuB,WAAWM;QAC/C,GAAGE,KAAK;;AAGZ;AAEA,SAASO,WAAW,EAAET,SAAS,EAAE,GAAGE,OAAoC;IACvE,qBACC,KAACE;QACAC,aAAU;QACVL,WAAWN,GACV,eACA,cACA,eACA,cACA,oBACAM;QAEA,GAAGE,KAAK;;AAGZ;AAEA,SAASQ,YAAY,EAAEV,SAAS,EAAE,GAAGE,OAAoC;IACxE,qBACC,KAACE;QACAC,aAAU;QACVL,WAAWN,GAAG,QAAQM;QACrB,GAAGE,KAAK;;AAGZ;AAEA,SAASS,WAAW,EAAEX,SAAS,EAAE,GAAGE,OAAoC;IACvE,qBACC,KAACE;QACAC,aAAU;QACVL,WAAWN,GACV,QACA,gBACA,QACA,oBACAM;QAEA,GAAGE,KAAK;;AAGZ;AAEA,SACCH,IAAI,EACJO,UAAU,EACVK,UAAU,EACVJ,SAAS,EACTE,UAAU,EACVD,eAAe,EACfE,WAAW,GACV"}
@@ -5,11 +5,32 @@ import { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader,
5
5
  import { Input } from "./input.js";
6
6
  import { Label } from "./label.js";
7
7
  const meta = {
8
- title: "Component/Card"
8
+ title: "Component/Card",
9
+ component: Card,
10
+ parameters: {
11
+ layout: "centered"
12
+ },
13
+ argTypes: {
14
+ variant: {
15
+ control: {
16
+ type: "select"
17
+ },
18
+ options: [
19
+ "default",
20
+ "round",
21
+ "round-white"
22
+ ],
23
+ description: "Card variant"
24
+ }
25
+ }
9
26
  };
10
27
  export default meta;
11
28
  export const Demo = {
12
- render: ()=>/*#__PURE__*/ _jsxs(Card, {
29
+ args: {
30
+ variant: "default"
31
+ },
32
+ render: ({ variant })=>/*#__PURE__*/ _jsxs(Card, {
33
+ variant: variant || "default",
13
34
  className: "w-full max-w-sm",
14
35
  children: [
15
36
  /*#__PURE__*/ _jsxs(CardHeader, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/shadcn/components/ui/card.stories.tsx"],"sourcesContent":["// biome-ignore-all lint/a11y/useValidAnchor: Useless in stories\nimport type { Meta, StoryObj } from \"@storybook/react-vite\";\nimport { Button } from \"#shadcn/components/ui/button\";\nimport {\n\tCard,\n\tCardAction,\n\tCardContent,\n\tCardDescription,\n\tCardFooter,\n\tCardHeader,\n\tCardTitle,\n} from \"#shadcn/components/ui/card\";\nimport { Input } from \"#shadcn/components/ui/input\";\nimport { Label } from \"#shadcn/components/ui/label\";\n\nconst meta = {\n\ttitle: \"Component/Card\",\n} satisfies Meta;\nexport default meta;\n\ntype Story = StoryObj<typeof meta>;\n\nexport const Demo = {\n\trender: () => (\n\t\t<Card className=\"w-full max-w-sm\">\n\t\t\t<CardHeader>\n\t\t\t\t<CardTitle>Login to your account</CardTitle>\n\t\t\t\t<CardDescription>\n\t\t\t\t\tEnter your email below to login to your account\n\t\t\t\t</CardDescription>\n\t\t\t\t<CardAction>\n\t\t\t\t\t<Button variant=\"link\">Sign Up</Button>\n\t\t\t\t</CardAction>\n\t\t\t</CardHeader>\n\t\t\t<CardContent>\n\t\t\t\t<form>\n\t\t\t\t\t<div className=\"flex flex-col gap-6\">\n\t\t\t\t\t\t<div className=\"grid gap-2\">\n\t\t\t\t\t\t\t<Label htmlFor=\"login\">Login</Label>\n\t\t\t\t\t\t\t<Input id=\"login\" type=\"text\" placeholder=\"user\" required />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"grid gap-2\">\n\t\t\t\t\t\t\t<div className=\"flex items-center\">\n\t\t\t\t\t\t\t\t<Label htmlFor=\"password\">Password</Label>\n\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\thref=\"#\"\n\t\t\t\t\t\t\t\t\tclassName=\"ml-auto inline-block text-sm underline-offset-4 hover:underline\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tForgot your password?\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<Input id=\"password\" type=\"password\" required />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</form>\n\t\t\t</CardContent>\n\t\t\t<CardFooter className=\"flex-col gap-2\">\n\t\t\t\t<Button type=\"submit\" className=\"w-full\">\n\t\t\t\t\tLogin\n\t\t\t\t</Button>\n\t\t\t\t<Button variant=\"secondary\" className=\"w-full\">\n\t\t\t\t\tLogin with Google\n\t\t\t\t</Button>\n\t\t\t</CardFooter>\n\t\t</Card>\n\t),\n} satisfies Story;\n"],"names":["Button","Card","CardAction","CardContent","CardDescription","CardFooter","CardHeader","CardTitle","Input","Label","meta","title","Demo","render","className","variant","form","div","htmlFor","id","type","placeholder","required","a","href"],"mappings":"AAAA,gEAAgE;;AAEhE,SAASA,MAAM,QAAQ,cAA+B;AACtD,SACCC,IAAI,EACJC,UAAU,EACVC,WAAW,EACXC,eAAe,EACfC,UAAU,EACVC,UAAU,EACVC,SAAS,QACH,YAA6B;AACpC,SAASC,KAAK,QAAQ,aAA8B;AACpD,SAASC,KAAK,QAAQ,aAA8B;AAEpD,MAAMC,OAAO;IACZC,OAAO;AACR;AACA,eAAeD,KAAK;AAIpB,OAAO,MAAME,OAAO;IACnBC,QAAQ,kBACP,MAACZ;YAAKa,WAAU;;8BACf,MAACR;;sCACA,KAACC;sCAAU;;sCACX,KAACH;sCAAgB;;sCAGjB,KAACF;sCACA,cAAA,KAACF;gCAAOe,SAAQ;0CAAO;;;;;8BAGzB,KAACZ;8BACA,cAAA,KAACa;kCACA,cAAA,MAACC;4BAAIH,WAAU;;8CACd,MAACG;oCAAIH,WAAU;;sDACd,KAACL;4CAAMS,SAAQ;sDAAQ;;sDACvB,KAACV;4CAAMW,IAAG;4CAAQC,MAAK;4CAAOC,aAAY;4CAAOC,QAAQ;;;;8CAE1D,MAACL;oCAAIH,WAAU;;sDACd,MAACG;4CAAIH,WAAU;;8DACd,KAACL;oDAAMS,SAAQ;8DAAW;;8DAC1B,KAACK;oDACAC,MAAK;oDACLV,WAAU;8DACV;;;;sDAIF,KAACN;4CAAMW,IAAG;4CAAWC,MAAK;4CAAWE,QAAQ;;;;;;;;8BAKjD,MAACjB;oBAAWS,WAAU;;sCACrB,KAACd;4BAAOoB,MAAK;4BAASN,WAAU;sCAAS;;sCAGzC,KAACd;4BAAOe,SAAQ;4BAAYD,WAAU;sCAAS;;;;;;AAMnD,EAAkB"}
1
+ {"version":3,"sources":["../../../../../src/shadcn/components/ui/card.stories.tsx"],"sourcesContent":["// biome-ignore-all lint/a11y/useValidAnchor: Useless in stories\nimport type { Meta, StoryObj } from \"@storybook/react-vite\";\nimport { Button } from \"#shadcn/components/ui/button\";\nimport {\n\tCard,\n\tCardAction,\n\tCardContent,\n\tCardDescription,\n\tCardFooter,\n\tCardHeader,\n\tCardTitle,\n} from \"#shadcn/components/ui/card\";\nimport { Input } from \"#shadcn/components/ui/input\";\nimport { Label } from \"#shadcn/components/ui/label\";\n\nconst meta = {\n\ttitle: \"Component/Card\",\n\tcomponent: Card,\n\tparameters: {\n\t\tlayout: \"centered\",\n\t},\n\targTypes: {\n\t\tvariant: {\n\t\t\tcontrol: { type: \"select\" },\n\t\t\toptions: [\"default\", \"round\", \"round-white\"],\n\t\t\tdescription: \"Card variant\",\n\t\t},\n\t},\n} satisfies Meta<typeof Card>;\nexport default meta;\n\ntype Story = StoryObj<typeof meta>;\n\nexport const Demo = {\n\targs: {\n\t\tvariant: \"default\",\n\t},\n\trender: ({ variant }) => (\n\t\t<Card variant={variant || \"default\"} className=\"w-full max-w-sm\">\n\t\t\t<CardHeader>\n\t\t\t\t<CardTitle>Login to your account</CardTitle>\n\t\t\t\t<CardDescription>\n\t\t\t\t\tEnter your email below to login to your account\n\t\t\t\t</CardDescription>\n\t\t\t\t<CardAction>\n\t\t\t\t\t<Button variant=\"link\">Sign Up</Button>\n\t\t\t\t</CardAction>\n\t\t\t</CardHeader>\n\t\t\t<CardContent>\n\t\t\t\t<form>\n\t\t\t\t\t<div className=\"flex flex-col gap-6\">\n\t\t\t\t\t\t<div className=\"grid gap-2\">\n\t\t\t\t\t\t\t<Label htmlFor=\"login\">Login</Label>\n\t\t\t\t\t\t\t<Input id=\"login\" type=\"text\" placeholder=\"user\" required />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"grid gap-2\">\n\t\t\t\t\t\t\t<div className=\"flex items-center\">\n\t\t\t\t\t\t\t\t<Label htmlFor=\"password\">Password</Label>\n\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\thref=\"#\"\n\t\t\t\t\t\t\t\t\tclassName=\"ml-auto inline-block text-sm underline-offset-4 hover:underline\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tForgot your password?\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<Input id=\"password\" type=\"password\" required />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</form>\n\t\t\t</CardContent>\n\t\t\t<CardFooter className=\"flex-col gap-2\">\n\t\t\t\t<Button type=\"submit\" className=\"w-full\">\n\t\t\t\t\tLogin\n\t\t\t\t</Button>\n\t\t\t\t<Button variant=\"secondary\" className=\"w-full\">\n\t\t\t\t\tLogin with Google\n\t\t\t\t</Button>\n\t\t\t</CardFooter>\n\t\t</Card>\n\t),\n} satisfies Story;\n"],"names":["Button","Card","CardAction","CardContent","CardDescription","CardFooter","CardHeader","CardTitle","Input","Label","meta","title","component","parameters","layout","argTypes","variant","control","type","options","description","Demo","args","render","className","form","div","htmlFor","id","placeholder","required","a","href"],"mappings":"AAAA,gEAAgE;;AAEhE,SAASA,MAAM,QAAQ,cAA+B;AACtD,SACCC,IAAI,EACJC,UAAU,EACVC,WAAW,EACXC,eAAe,EACfC,UAAU,EACVC,UAAU,EACVC,SAAS,QACH,YAA6B;AACpC,SAASC,KAAK,QAAQ,aAA8B;AACpD,SAASC,KAAK,QAAQ,aAA8B;AAEpD,MAAMC,OAAO;IACZC,OAAO;IACPC,WAAWX;IACXY,YAAY;QACXC,QAAQ;IACT;IACAC,UAAU;QACTC,SAAS;YACRC,SAAS;gBAAEC,MAAM;YAAS;YAC1BC,SAAS;gBAAC;gBAAW;gBAAS;aAAc;YAC5CC,aAAa;QACd;IACD;AACD;AACA,eAAeV,KAAK;AAIpB,OAAO,MAAMW,OAAO;IACnBC,MAAM;QACLN,SAAS;IACV;IACAO,QAAQ,CAAC,EAAEP,OAAO,EAAE,iBACnB,MAACf;YAAKe,SAASA,WAAW;YAAWQ,WAAU;;8BAC9C,MAAClB;;sCACA,KAACC;sCAAU;;sCACX,KAACH;sCAAgB;;sCAGjB,KAACF;sCACA,cAAA,KAACF;gCAAOgB,SAAQ;0CAAO;;;;;8BAGzB,KAACb;8BACA,cAAA,KAACsB;kCACA,cAAA,MAACC;4BAAIF,WAAU;;8CACd,MAACE;oCAAIF,WAAU;;sDACd,KAACf;4CAAMkB,SAAQ;sDAAQ;;sDACvB,KAACnB;4CAAMoB,IAAG;4CAAQV,MAAK;4CAAOW,aAAY;4CAAOC,QAAQ;;;;8CAE1D,MAACJ;oCAAIF,WAAU;;sDACd,MAACE;4CAAIF,WAAU;;8DACd,KAACf;oDAAMkB,SAAQ;8DAAW;;8DAC1B,KAACI;oDACAC,MAAK;oDACLR,WAAU;8DACV;;;;sDAIF,KAAChB;4CAAMoB,IAAG;4CAAWV,MAAK;4CAAWY,QAAQ;;;;;;;;8BAKjD,MAACzB;oBAAWmB,WAAU;;sCACrB,KAACxB;4BAAOkB,MAAK;4BAASM,WAAU;sCAAS;;sCAGzC,KAACxB;4BAAOgB,SAAQ;4BAAYQ,WAAU;sCAAS;;;;;;AAMnD,EAAkB"}
@@ -1,6 +1,6 @@
1
1
  import useEmblaCarousel, { type UseEmblaCarouselType } from "embla-carousel-react";
2
2
  import * as React from "react";
3
- import { Button } from "#shadcn/components/ui/button";
3
+ import { Button } from "../../components/ui/button";
4
4
  type CarouselApi = UseEmblaCarouselType[1];
5
5
  type UseCarouselParameters = Parameters<typeof useEmblaCarousel>;
6
6
  type CarouselOptions = UseCarouselParameters[0];
@@ -1 +1 @@
1
- {"version":3,"file":"carousel.d.ts","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/carousel.tsx"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,EAAE,EACxB,KAAK,oBAAoB,EACzB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAGtD,KAAK,WAAW,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAC3C,KAAK,qBAAqB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AACjE,KAAK,eAAe,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAChD,KAAK,cAAc,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAE/C,KAAK,aAAa,GAAG;IACpB,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;CACpC,CAAC;AAuBF,iBAAS,QAAQ,CAAC,EACjB,WAA0B,EAC1B,IAAI,EACJ,MAAM,EACN,OAAO,EACP,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,aAAa,2CAiF7C;AAED,iBAAS,eAAe,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAmB5E;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAiBzE;AAED,iBAAS,gBAAgB,CAAC,EACzB,SAAS,EACT,OAAqB,EACrB,IAAc,EACd,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,2CAuBrC;AAED,iBAAS,YAAY,CAAC,EACrB,SAAS,EACT,OAAqB,EACrB,IAAc,EACd,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,2CAuBrC;AAED,OAAO,EACN,KAAK,WAAW,EAChB,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,YAAY,GACZ,CAAC"}
1
+ {"version":3,"file":"carousel.d.ts","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/carousel.tsx"],"names":[],"mappings":"AACA,OAAO,gBAAgB,EAAE,EACxB,KAAK,oBAAoB,EACzB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAGtD,KAAK,WAAW,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAC3C,KAAK,qBAAqB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AACjE,KAAK,eAAe,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAChD,KAAK,cAAc,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAE/C,KAAK,aAAa,GAAG;IACpB,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;CACpC,CAAC;AAuBF,iBAAS,QAAQ,CAAC,EACjB,WAA0B,EAC1B,IAAI,EACJ,MAAM,EACN,OAAO,EACP,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,aAAa,2CAiF7C;AAED,iBAAS,eAAe,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAmB5E;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAiBzE;AAED,iBAAS,gBAAgB,CAAC,EACzB,SAAS,EACT,OAAqB,EACrB,IAAc,EACd,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,2CAuBrC;AAED,iBAAS,YAAY,CAAC,EACrB,SAAS,EACT,OAAqB,EACrB,IAAc,EACd,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,2CAuBrC;AAED,OAAO,EACN,KAAK,WAAW,EAChB,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,YAAY,GACZ,CAAC"}
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
3
  import useEmblaCarousel from "embla-carousel-react";
3
4
  import { ArrowLeft, ArrowRight } from "lucide-react";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/shadcn/components/ui/carousel.tsx"],"sourcesContent":["import useEmblaCarousel, {\n\ttype UseEmblaCarouselType,\n} from \"embla-carousel-react\";\nimport { ArrowLeft, ArrowRight } from \"lucide-react\";\nimport * as React from \"react\";\nimport { Button } from \"#shadcn/components/ui/button\";\nimport { cn } from \"#shadcn/lib/utils\";\n\ntype CarouselApi = UseEmblaCarouselType[1];\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>;\ntype CarouselOptions = UseCarouselParameters[0];\ntype CarouselPlugin = UseCarouselParameters[1];\n\ntype CarouselProps = {\n\topts?: CarouselOptions;\n\tplugins?: CarouselPlugin;\n\torientation?: \"horizontal\" | \"vertical\";\n\tsetApi?: (api: CarouselApi) => void;\n};\n\ntype CarouselContextProps = {\n\tcarouselRef: ReturnType<typeof useEmblaCarousel>[0];\n\tapi: ReturnType<typeof useEmblaCarousel>[1];\n\tscrollPrev: () => void;\n\tscrollNext: () => void;\n\tcanScrollPrev: boolean;\n\tcanScrollNext: boolean;\n} & CarouselProps;\n\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null);\n\nfunction useCarousel() {\n\tconst context = React.useContext(CarouselContext);\n\n\tif (!context) {\n\t\tthrow new Error(\"useCarousel must be used within a <Carousel />\");\n\t}\n\n\treturn context;\n}\n\nfunction Carousel({\n\torientation = \"horizontal\",\n\topts,\n\tsetApi,\n\tplugins,\n\tclassName,\n\tchildren,\n\t...props\n}: React.ComponentProps<\"div\"> & CarouselProps) {\n\tconst [carouselRef, api] = useEmblaCarousel(\n\t\t{\n\t\t\t...opts,\n\t\t\taxis: orientation === \"horizontal\" ? \"x\" : \"y\",\n\t\t},\n\t\tplugins,\n\t);\n\tconst [canScrollPrev, setCanScrollPrev] = React.useState(false);\n\tconst [canScrollNext, setCanScrollNext] = React.useState(false);\n\n\tconst onSelect = React.useCallback((api: CarouselApi) => {\n\t\tif (!api) return;\n\t\tsetCanScrollPrev(api.canScrollPrev());\n\t\tsetCanScrollNext(api.canScrollNext());\n\t}, []);\n\n\tconst scrollPrev = React.useCallback(() => {\n\t\tapi?.scrollPrev();\n\t}, [api]);\n\n\tconst scrollNext = React.useCallback(() => {\n\t\tapi?.scrollNext();\n\t}, [api]);\n\n\tconst handleKeyDown = React.useCallback(\n\t\t(event: React.KeyboardEvent<HTMLDivElement>) => {\n\t\t\tif (event.key === \"ArrowLeft\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tscrollPrev();\n\t\t\t} else if (event.key === \"ArrowRight\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tscrollNext();\n\t\t\t}\n\t\t},\n\t\t[scrollPrev, scrollNext],\n\t);\n\n\tReact.useEffect(() => {\n\t\tif (!api || !setApi) return;\n\t\tsetApi(api);\n\t}, [api, setApi]);\n\n\tReact.useEffect(() => {\n\t\tif (!api) return;\n\t\tonSelect(api);\n\t\tapi.on(\"reInit\", onSelect);\n\t\tapi.on(\"select\", onSelect);\n\n\t\treturn () => {\n\t\t\tapi?.off(\"select\", onSelect);\n\t\t};\n\t}, [api, onSelect]);\n\n\treturn (\n\t\t<CarouselContext.Provider\n\t\t\tvalue={{\n\t\t\t\tcarouselRef,\n\t\t\t\tapi: api,\n\t\t\t\topts,\n\t\t\t\torientation:\n\t\t\t\t\torientation || (opts?.axis === \"y\" ? \"vertical\" : \"horizontal\"),\n\t\t\t\tscrollPrev,\n\t\t\t\tscrollNext,\n\t\t\t\tcanScrollPrev,\n\t\t\t\tcanScrollNext,\n\t\t\t}}\n\t\t>\n\t\t\t{/* biome-ignore lint: FIXME: unchanged shadcn */}\n\t\t\t<div\n\t\t\t\tonKeyDownCapture={handleKeyDown}\n\t\t\t\tclassName={cn(\"relative\", className)}\n\t\t\t\trole=\"region\"\n\t\t\t\taria-roledescription=\"carousel\"\n\t\t\t\tdata-slot=\"carousel\"\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t</CarouselContext.Provider>\n\t);\n}\n\nfunction CarouselContent({ className, ...props }: React.ComponentProps<\"div\">) {\n\tconst { carouselRef, orientation } = useCarousel();\n\n\treturn (\n\t\t<div\n\t\t\tref={carouselRef}\n\t\t\tclassName=\"overflow-hidden\"\n\t\t\tdata-slot=\"carousel-content\"\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"flex\",\n\t\t\t\t\torientation === \"horizontal\" ? \"-ml-4\" : \"-mt-4 flex-col\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nfunction CarouselItem({ className, ...props }: React.ComponentProps<\"div\">) {\n\tconst { orientation } = useCarousel();\n\n\treturn (\n\t\t// biome-ignore lint/a11y/useSemanticElements: FIXME: unchanged shadcn\n\t\t<div\n\t\t\trole=\"group\"\n\t\t\taria-roledescription=\"slide\"\n\t\t\tdata-slot=\"carousel-item\"\n\t\t\tclassName={cn(\n\t\t\t\t\"min-w-0 shrink-0 grow-0 basis-full\",\n\t\t\t\torientation === \"horizontal\" ? \"pl-4\" : \"pt-4\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction CarouselPrevious({\n\tclassName,\n\tvariant = \"secondary\",\n\tsize = \"small\",\n\t...props\n}: React.ComponentProps<typeof Button>) {\n\tconst { orientation, scrollPrev, canScrollPrev } = useCarousel();\n\n\treturn (\n\t\t<Button\n\t\t\tdata-slot=\"carousel-previous\"\n\t\t\tvariant={variant}\n\t\t\tsize={size}\n\t\t\tclassName={cn(\n\t\t\t\t\"absolute size-8 rounded-full\",\n\t\t\t\torientation === \"horizontal\"\n\t\t\t\t\t? \"top-1/2 -left-12 -translate-y-1/2\"\n\t\t\t\t\t: \"-top-12 left-1/2 -translate-x-1/2 rotate-90\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tdisabled={!canScrollPrev}\n\t\t\tonClick={scrollPrev}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ArrowLeft />\n\t\t\t<span className=\"sr-only\">Previous slide</span>\n\t\t</Button>\n\t);\n}\n\nfunction CarouselNext({\n\tclassName,\n\tvariant = \"secondary\",\n\tsize = \"small\",\n\t...props\n}: React.ComponentProps<typeof Button>) {\n\tconst { orientation, scrollNext, canScrollNext } = useCarousel();\n\n\treturn (\n\t\t<Button\n\t\t\tdata-slot=\"carousel-next\"\n\t\t\tvariant={variant}\n\t\t\tsize={size}\n\t\t\tclassName={cn(\n\t\t\t\t\"absolute size-8 rounded-full\",\n\t\t\t\torientation === \"horizontal\"\n\t\t\t\t\t? \"top-1/2 -right-12 -translate-y-1/2\"\n\t\t\t\t\t: \"-bottom-12 left-1/2 -translate-x-1/2 rotate-90\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tdisabled={!canScrollNext}\n\t\t\tonClick={scrollNext}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ArrowRight />\n\t\t\t<span className=\"sr-only\">Next slide</span>\n\t\t</Button>\n\t);\n}\n\nexport {\n\ttype CarouselApi,\n\tCarousel,\n\tCarouselContent,\n\tCarouselItem,\n\tCarouselPrevious,\n\tCarouselNext,\n};\n"],"names":["useEmblaCarousel","ArrowLeft","ArrowRight","React","Button","cn","CarouselContext","createContext","useCarousel","context","useContext","Error","Carousel","orientation","opts","setApi","plugins","className","children","props","carouselRef","api","axis","canScrollPrev","setCanScrollPrev","useState","canScrollNext","setCanScrollNext","onSelect","useCallback","scrollPrev","scrollNext","handleKeyDown","event","key","preventDefault","useEffect","on","off","Provider","value","div","onKeyDownCapture","role","aria-roledescription","data-slot","CarouselContent","ref","CarouselItem","CarouselPrevious","variant","size","disabled","onClick","span","CarouselNext"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../src/shadcn/components/ui/carousel.tsx"],"sourcesContent":["\"use client\";\nimport useEmblaCarousel, {\n\ttype UseEmblaCarouselType,\n} from \"embla-carousel-react\";\nimport { ArrowLeft, ArrowRight } from \"lucide-react\";\nimport * as React from \"react\";\nimport { Button } from \"#shadcn/components/ui/button\";\nimport { cn } from \"#shadcn/lib/utils\";\n\ntype CarouselApi = UseEmblaCarouselType[1];\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>;\ntype CarouselOptions = UseCarouselParameters[0];\ntype CarouselPlugin = UseCarouselParameters[1];\n\ntype CarouselProps = {\n\topts?: CarouselOptions;\n\tplugins?: CarouselPlugin;\n\torientation?: \"horizontal\" | \"vertical\";\n\tsetApi?: (api: CarouselApi) => void;\n};\n\ntype CarouselContextProps = {\n\tcarouselRef: ReturnType<typeof useEmblaCarousel>[0];\n\tapi: ReturnType<typeof useEmblaCarousel>[1];\n\tscrollPrev: () => void;\n\tscrollNext: () => void;\n\tcanScrollPrev: boolean;\n\tcanScrollNext: boolean;\n} & CarouselProps;\n\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null);\n\nfunction useCarousel() {\n\tconst context = React.useContext(CarouselContext);\n\n\tif (!context) {\n\t\tthrow new Error(\"useCarousel must be used within a <Carousel />\");\n\t}\n\n\treturn context;\n}\n\nfunction Carousel({\n\torientation = \"horizontal\",\n\topts,\n\tsetApi,\n\tplugins,\n\tclassName,\n\tchildren,\n\t...props\n}: React.ComponentProps<\"div\"> & CarouselProps) {\n\tconst [carouselRef, api] = useEmblaCarousel(\n\t\t{\n\t\t\t...opts,\n\t\t\taxis: orientation === \"horizontal\" ? \"x\" : \"y\",\n\t\t},\n\t\tplugins,\n\t);\n\tconst [canScrollPrev, setCanScrollPrev] = React.useState(false);\n\tconst [canScrollNext, setCanScrollNext] = React.useState(false);\n\n\tconst onSelect = React.useCallback((api: CarouselApi) => {\n\t\tif (!api) return;\n\t\tsetCanScrollPrev(api.canScrollPrev());\n\t\tsetCanScrollNext(api.canScrollNext());\n\t}, []);\n\n\tconst scrollPrev = React.useCallback(() => {\n\t\tapi?.scrollPrev();\n\t}, [api]);\n\n\tconst scrollNext = React.useCallback(() => {\n\t\tapi?.scrollNext();\n\t}, [api]);\n\n\tconst handleKeyDown = React.useCallback(\n\t\t(event: React.KeyboardEvent<HTMLDivElement>) => {\n\t\t\tif (event.key === \"ArrowLeft\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tscrollPrev();\n\t\t\t} else if (event.key === \"ArrowRight\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tscrollNext();\n\t\t\t}\n\t\t},\n\t\t[scrollPrev, scrollNext],\n\t);\n\n\tReact.useEffect(() => {\n\t\tif (!api || !setApi) return;\n\t\tsetApi(api);\n\t}, [api, setApi]);\n\n\tReact.useEffect(() => {\n\t\tif (!api) return;\n\t\tonSelect(api);\n\t\tapi.on(\"reInit\", onSelect);\n\t\tapi.on(\"select\", onSelect);\n\n\t\treturn () => {\n\t\t\tapi?.off(\"select\", onSelect);\n\t\t};\n\t}, [api, onSelect]);\n\n\treturn (\n\t\t<CarouselContext.Provider\n\t\t\tvalue={{\n\t\t\t\tcarouselRef,\n\t\t\t\tapi: api,\n\t\t\t\topts,\n\t\t\t\torientation:\n\t\t\t\t\torientation || (opts?.axis === \"y\" ? \"vertical\" : \"horizontal\"),\n\t\t\t\tscrollPrev,\n\t\t\t\tscrollNext,\n\t\t\t\tcanScrollPrev,\n\t\t\t\tcanScrollNext,\n\t\t\t}}\n\t\t>\n\t\t\t{/* biome-ignore lint: FIXME: unchanged shadcn */}\n\t\t\t<div\n\t\t\t\tonKeyDownCapture={handleKeyDown}\n\t\t\t\tclassName={cn(\"relative\", className)}\n\t\t\t\trole=\"region\"\n\t\t\t\taria-roledescription=\"carousel\"\n\t\t\t\tdata-slot=\"carousel\"\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t</CarouselContext.Provider>\n\t);\n}\n\nfunction CarouselContent({ className, ...props }: React.ComponentProps<\"div\">) {\n\tconst { carouselRef, orientation } = useCarousel();\n\n\treturn (\n\t\t<div\n\t\t\tref={carouselRef}\n\t\t\tclassName=\"overflow-hidden\"\n\t\t\tdata-slot=\"carousel-content\"\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"flex\",\n\t\t\t\t\torientation === \"horizontal\" ? \"-ml-4\" : \"-mt-4 flex-col\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nfunction CarouselItem({ className, ...props }: React.ComponentProps<\"div\">) {\n\tconst { orientation } = useCarousel();\n\n\treturn (\n\t\t// biome-ignore lint/a11y/useSemanticElements: FIXME: unchanged shadcn\n\t\t<div\n\t\t\trole=\"group\"\n\t\t\taria-roledescription=\"slide\"\n\t\t\tdata-slot=\"carousel-item\"\n\t\t\tclassName={cn(\n\t\t\t\t\"min-w-0 shrink-0 grow-0 basis-full\",\n\t\t\t\torientation === \"horizontal\" ? \"pl-4\" : \"pt-4\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction CarouselPrevious({\n\tclassName,\n\tvariant = \"secondary\",\n\tsize = \"small\",\n\t...props\n}: React.ComponentProps<typeof Button>) {\n\tconst { orientation, scrollPrev, canScrollPrev } = useCarousel();\n\n\treturn (\n\t\t<Button\n\t\t\tdata-slot=\"carousel-previous\"\n\t\t\tvariant={variant}\n\t\t\tsize={size}\n\t\t\tclassName={cn(\n\t\t\t\t\"absolute size-8 rounded-full\",\n\t\t\t\torientation === \"horizontal\"\n\t\t\t\t\t? \"top-1/2 -left-12 -translate-y-1/2\"\n\t\t\t\t\t: \"-top-12 left-1/2 -translate-x-1/2 rotate-90\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tdisabled={!canScrollPrev}\n\t\t\tonClick={scrollPrev}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ArrowLeft />\n\t\t\t<span className=\"sr-only\">Previous slide</span>\n\t\t</Button>\n\t);\n}\n\nfunction CarouselNext({\n\tclassName,\n\tvariant = \"secondary\",\n\tsize = \"small\",\n\t...props\n}: React.ComponentProps<typeof Button>) {\n\tconst { orientation, scrollNext, canScrollNext } = useCarousel();\n\n\treturn (\n\t\t<Button\n\t\t\tdata-slot=\"carousel-next\"\n\t\t\tvariant={variant}\n\t\t\tsize={size}\n\t\t\tclassName={cn(\n\t\t\t\t\"absolute size-8 rounded-full\",\n\t\t\t\torientation === \"horizontal\"\n\t\t\t\t\t? \"top-1/2 -right-12 -translate-y-1/2\"\n\t\t\t\t\t: \"-bottom-12 left-1/2 -translate-x-1/2 rotate-90\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tdisabled={!canScrollNext}\n\t\t\tonClick={scrollNext}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ArrowRight />\n\t\t\t<span className=\"sr-only\">Next slide</span>\n\t\t</Button>\n\t);\n}\n\nexport {\n\ttype CarouselApi,\n\tCarousel,\n\tCarouselContent,\n\tCarouselItem,\n\tCarouselPrevious,\n\tCarouselNext,\n};\n"],"names":["useEmblaCarousel","ArrowLeft","ArrowRight","React","Button","cn","CarouselContext","createContext","useCarousel","context","useContext","Error","Carousel","orientation","opts","setApi","plugins","className","children","props","carouselRef","api","axis","canScrollPrev","setCanScrollPrev","useState","canScrollNext","setCanScrollNext","onSelect","useCallback","scrollPrev","scrollNext","handleKeyDown","event","key","preventDefault","useEffect","on","off","Provider","value","div","onKeyDownCapture","role","aria-roledescription","data-slot","CarouselContent","ref","CarouselItem","CarouselPrevious","variant","size","disabled","onClick","span","CarouselNext"],"mappings":"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"}