@lssm/lib.ui-kit-web 1.2.0

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 (425) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.js +1 -0
  3. package/dist/node_modules/sonner/dist/index.js +630 -0
  4. package/dist/node_modules/sonner/dist/index.js.map +1 -0
  5. package/dist/tsconfig.tsbuildinfo +1 -0
  6. package/dist/ui/accordion.d.ts +25 -0
  7. package/dist/ui/accordion.d.ts.map +1 -0
  8. package/dist/ui/accordion.js +49 -0
  9. package/dist/ui/accordion.js.map +1 -0
  10. package/dist/ui/alert-dialog.d.ts +49 -0
  11. package/dist/ui/alert-dialog.d.ts.map +1 -0
  12. package/dist/ui/alert-dialog.js +86 -0
  13. package/dist/ui/alert-dialog.js.map +1 -0
  14. package/dist/ui/alert.d.ts +25 -0
  15. package/dist/ui/alert.d.ts.map +1 -0
  16. package/dist/ui/alert.js +39 -0
  17. package/dist/ui/alert.js.map +1 -0
  18. package/dist/ui/aspect-ratio.d.ts +8 -0
  19. package/dist/ui/aspect-ratio.d.ts.map +1 -0
  20. package/dist/ui/aspect-ratio.js +11 -0
  21. package/dist/ui/aspect-ratio.js.map +1 -0
  22. package/dist/ui/atoms/FilterSelect/FilterSelect.d.ts +8 -0
  23. package/dist/ui/atoms/FilterSelect/FilterSelect.d.ts.map +1 -0
  24. package/dist/ui/atoms/FilterSelect/FilterSelect.js +53 -0
  25. package/dist/ui/atoms/FilterSelect/FilterSelect.js.map +1 -0
  26. package/dist/ui/atoms/FilterSelect/index.d.ts +3 -0
  27. package/dist/ui/atoms/FilterSelect/index.js +3 -0
  28. package/dist/ui/atoms/FilterSelect/types.d.ts +19 -0
  29. package/dist/ui/atoms/FilterSelect/types.d.ts.map +1 -0
  30. package/dist/ui/atoms/FilterSelect/types.js +1 -0
  31. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.d.ts +23 -0
  32. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.d.ts.map +1 -0
  33. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.js +46 -0
  34. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.js.map +1 -0
  35. package/dist/ui/atoms/LoadingSpinner/index.d.ts +2 -0
  36. package/dist/ui/atoms/LoadingSpinner/index.js +3 -0
  37. package/dist/ui/atoms/Pagination/Pagination.d.ts +8 -0
  38. package/dist/ui/atoms/Pagination/Pagination.d.ts.map +1 -0
  39. package/dist/ui/atoms/Pagination/Pagination.js +157 -0
  40. package/dist/ui/atoms/Pagination/Pagination.js.map +1 -0
  41. package/dist/ui/atoms/Pagination/index.d.ts +3 -0
  42. package/dist/ui/atoms/Pagination/index.js +3 -0
  43. package/dist/ui/atoms/Pagination/types.d.ts +16 -0
  44. package/dist/ui/atoms/Pagination/types.d.ts.map +1 -0
  45. package/dist/ui/atoms/Pagination/types.js +1 -0
  46. package/dist/ui/atoms/SearchInput/SearchInput.d.ts +8 -0
  47. package/dist/ui/atoms/SearchInput/SearchInput.d.ts.map +1 -0
  48. package/dist/ui/atoms/SearchInput/SearchInput.js +50 -0
  49. package/dist/ui/atoms/SearchInput/SearchInput.js.map +1 -0
  50. package/dist/ui/atoms/SearchInput/index.d.ts +3 -0
  51. package/dist/ui/atoms/SearchInput/index.js +3 -0
  52. package/dist/ui/atoms/SearchInput/types.d.ts +13 -0
  53. package/dist/ui/atoms/SearchInput/types.d.ts.map +1 -0
  54. package/dist/ui/atoms/SearchInput/types.js +1 -0
  55. package/dist/ui/avatar.d.ts +20 -0
  56. package/dist/ui/avatar.d.ts.map +1 -0
  57. package/dist/ui/avatar.js +34 -0
  58. package/dist/ui/avatar.js.map +1 -0
  59. package/dist/ui/badge.d.ts +20 -0
  60. package/dist/ui/badge.d.ts.map +1 -0
  61. package/dist/ui/badge.js +27 -0
  62. package/dist/ui/badge.js.map +1 -0
  63. package/dist/ui/breadcrumb.d.ts +38 -0
  64. package/dist/ui/breadcrumb.d.ts.map +1 -0
  65. package/dist/ui/breadcrumb.js +72 -0
  66. package/dist/ui/breadcrumb.js.map +1 -0
  67. package/dist/ui/button.d.ts +23 -0
  68. package/dist/ui/button.d.ts.map +1 -0
  69. package/dist/ui/button.js +44 -0
  70. package/dist/ui/button.js.map +1 -0
  71. package/dist/ui/calendar.d.ts +27 -0
  72. package/dist/ui/calendar.d.ts.map +1 -0
  73. package/dist/ui/calendar.js +110 -0
  74. package/dist/ui/calendar.js.map +1 -0
  75. package/dist/ui/card.d.ts +35 -0
  76. package/dist/ui/card.d.ts.map +1 -0
  77. package/dist/ui/card.js +58 -0
  78. package/dist/ui/card.js.map +1 -0
  79. package/dist/ui/carousel.d.ts +48 -0
  80. package/dist/ui/carousel.d.ts.map +1 -0
  81. package/dist/ui/carousel.js +137 -0
  82. package/dist/ui/carousel.js.map +1 -0
  83. package/dist/ui/checkbox.d.ts +12 -0
  84. package/dist/ui/checkbox.d.ts.map +1 -0
  85. package/dist/ui/checkbox.js +26 -0
  86. package/dist/ui/checkbox.js.map +1 -0
  87. package/dist/ui/collapsible.d.ts +16 -0
  88. package/dist/ui/collapsible.d.ts.map +1 -0
  89. package/dist/ui/collapsible.js +29 -0
  90. package/dist/ui/collapsible.js.map +1 -0
  91. package/dist/ui/command.d.ts +53 -0
  92. package/dist/ui/command.d.ts.map +1 -0
  93. package/dist/ui/command.js +91 -0
  94. package/dist/ui/command.js.map +1 -0
  95. package/dist/ui/confirm-dialog.d.ts +31 -0
  96. package/dist/ui/confirm-dialog.d.ts.map +1 -0
  97. package/dist/ui/confirm-dialog.js +34 -0
  98. package/dist/ui/confirm-dialog.js.map +1 -0
  99. package/dist/ui/context-menu.d.ts +35 -0
  100. package/dist/ui/context-menu.d.ts.map +1 -0
  101. package/dist/ui/context-menu.js +85 -0
  102. package/dist/ui/context-menu.js.map +1 -0
  103. package/dist/ui/cta.d.ts +15 -0
  104. package/dist/ui/cta.d.ts.map +1 -0
  105. package/dist/ui/cta.js +39 -0
  106. package/dist/ui/cta.js.map +1 -0
  107. package/dist/ui/date-picker.d.ts +26 -0
  108. package/dist/ui/date-picker.d.ts.map +1 -0
  109. package/dist/ui/date-picker.js +102 -0
  110. package/dist/ui/date-picker.js.map +1 -0
  111. package/dist/ui/date-range-picker.d.ts +26 -0
  112. package/dist/ui/date-range-picker.d.ts.map +1 -0
  113. package/dist/ui/date-range-picker.js +55 -0
  114. package/dist/ui/date-range-picker.js.map +1 -0
  115. package/dist/ui/datetime-picker.d.ts +28 -0
  116. package/dist/ui/datetime-picker.d.ts.map +1 -0
  117. package/dist/ui/datetime-picker.js +45 -0
  118. package/dist/ui/datetime-picker.js.map +1 -0
  119. package/dist/ui/dialog.d.ts +48 -0
  120. package/dist/ui/dialog.d.ts.map +1 -0
  121. package/dist/ui/dialog.js +91 -0
  122. package/dist/ui/dialog.js.map +1 -0
  123. package/dist/ui/drawer.d.ts +45 -0
  124. package/dist/ui/drawer.d.ts.map +1 -0
  125. package/dist/ui/drawer.js +83 -0
  126. package/dist/ui/drawer.js.map +1 -0
  127. package/dist/ui/dropdown-menu.d.ts +78 -0
  128. package/dist/ui/dropdown-menu.d.ts.map +1 -0
  129. package/dist/ui/dropdown-menu.js +128 -0
  130. package/dist/ui/dropdown-menu.js.map +1 -0
  131. package/dist/ui/empty-state.d.ts +29 -0
  132. package/dist/ui/empty-state.d.ts.map +1 -0
  133. package/dist/ui/empty-state.js +43 -0
  134. package/dist/ui/empty-state.js.map +1 -0
  135. package/dist/ui/empty.d.ts +36 -0
  136. package/dist/ui/empty.d.ts.map +1 -0
  137. package/dist/ui/empty.js +62 -0
  138. package/dist/ui/empty.js.map +1 -0
  139. package/dist/ui/field.d.ts +65 -0
  140. package/dist/ui/field.d.ts.map +1 -0
  141. package/dist/ui/field.js +122 -0
  142. package/dist/ui/field.js.map +1 -0
  143. package/dist/ui/focus-on-route-change.d.ts +9 -0
  144. package/dist/ui/focus-on-route-change.d.ts.map +1 -0
  145. package/dist/ui/focus-on-route-change.js +17 -0
  146. package/dist/ui/focus-on-route-change.js.map +1 -0
  147. package/dist/ui/form.d.ts +47 -0
  148. package/dist/ui/form.d.ts.map +1 -0
  149. package/dist/ui/form.js +95 -0
  150. package/dist/ui/form.js.map +1 -0
  151. package/dist/ui/hover-card.d.ts +20 -0
  152. package/dist/ui/hover-card.d.ts.map +1 -0
  153. package/dist/ui/hover-card.js +37 -0
  154. package/dist/ui/hover-card.js.map +1 -0
  155. package/dist/ui/input-group.d.ts +44 -0
  156. package/dist/ui/input-group.d.ts.map +1 -0
  157. package/dist/ui/input-group.js +84 -0
  158. package/dist/ui/input-group.js.map +1 -0
  159. package/dist/ui/input-otp.d.ts +39 -0
  160. package/dist/ui/input-otp.d.ts.map +1 -0
  161. package/dist/ui/input-otp.js +47 -0
  162. package/dist/ui/input-otp.js.map +1 -0
  163. package/dist/ui/input.d.ts +13 -0
  164. package/dist/ui/input.d.ts.map +1 -0
  165. package/dist/ui/input.js +17 -0
  166. package/dist/ui/input.js.map +1 -0
  167. package/dist/ui/label.d.ts +12 -0
  168. package/dist/ui/label.d.ts.map +1 -0
  169. package/dist/ui/label.js +20 -0
  170. package/dist/ui/label.js.map +1 -0
  171. package/dist/ui/link.d.ts +9 -0
  172. package/dist/ui/link.d.ts.map +1 -0
  173. package/dist/ui/link.js +18 -0
  174. package/dist/ui/link.js.map +1 -0
  175. package/dist/ui/live-region.d.ts +17 -0
  176. package/dist/ui/live-region.d.ts.map +1 -0
  177. package/dist/ui/live-region.js +48 -0
  178. package/dist/ui/live-region.js.map +1 -0
  179. package/dist/ui/loading-button.d.ts +20 -0
  180. package/dist/ui/loading-button.d.ts.map +1 -0
  181. package/dist/ui/loading-button.js +21 -0
  182. package/dist/ui/loading-button.js.map +1 -0
  183. package/dist/ui/map/MapBase.d.ts +29 -0
  184. package/dist/ui/map/MapBase.d.ts.map +1 -0
  185. package/dist/ui/map/MapBase.js +48 -0
  186. package/dist/ui/map/MapBase.js.map +1 -0
  187. package/dist/ui/map/MapGeoJsonOverlay.d.ts +16 -0
  188. package/dist/ui/map/MapGeoJsonOverlay.d.ts.map +1 -0
  189. package/dist/ui/map/MapGeoJsonOverlay.js +39 -0
  190. package/dist/ui/map/MapGeoJsonOverlay.js.map +1 -0
  191. package/dist/ui/map/MapHeatmapH3.d.ts +18 -0
  192. package/dist/ui/map/MapHeatmapH3.d.ts.map +1 -0
  193. package/dist/ui/map/MapHeatmapH3.js +52 -0
  194. package/dist/ui/map/MapHeatmapH3.js.map +1 -0
  195. package/dist/ui/map/MapMarkers.d.ts +20 -0
  196. package/dist/ui/map/MapMarkers.d.ts.map +1 -0
  197. package/dist/ui/map/MapMarkers.js +35 -0
  198. package/dist/ui/map/MapMarkers.js.map +1 -0
  199. package/dist/ui/map/index.d.ts +5 -0
  200. package/dist/ui/map/index.js +6 -0
  201. package/dist/ui/marketing/FeatureGrid.d.ts +21 -0
  202. package/dist/ui/marketing/FeatureGrid.d.ts.map +1 -0
  203. package/dist/ui/marketing/FeatureGrid.js +35 -0
  204. package/dist/ui/marketing/FeatureGrid.js.map +1 -0
  205. package/dist/ui/marketing/Hero.d.ts +28 -0
  206. package/dist/ui/marketing/Hero.d.ts.map +1 -0
  207. package/dist/ui/marketing/Hero.js +53 -0
  208. package/dist/ui/marketing/Hero.js.map +1 -0
  209. package/dist/ui/marketing/PricingTable.d.ts +25 -0
  210. package/dist/ui/marketing/PricingTable.d.ts.map +1 -0
  211. package/dist/ui/marketing/PricingTable.js +60 -0
  212. package/dist/ui/marketing/PricingTable.js.map +1 -0
  213. package/dist/ui/marketing/index.d.ts +4 -0
  214. package/dist/ui/marketing/index.js +5 -0
  215. package/dist/ui/menubar.d.ts +85 -0
  216. package/dist/ui/menubar.d.ts.map +1 -0
  217. package/dist/ui/menubar.js +138 -0
  218. package/dist/ui/menubar.js.map +1 -0
  219. package/dist/ui/molecules/Autocomplete/index.d.ts +7 -0
  220. package/dist/ui/molecules/Autocomplete/index.d.ts.map +1 -0
  221. package/dist/ui/molecules/Autocomplete/index.js +86 -0
  222. package/dist/ui/molecules/Autocomplete/index.js.map +1 -0
  223. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.d.ts +8 -0
  224. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.d.ts.map +1 -0
  225. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.js +103 -0
  226. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.js.map +1 -0
  227. package/dist/ui/molecules/SearchAndFilter/index.d.ts +3 -0
  228. package/dist/ui/molecules/SearchAndFilter/index.js +3 -0
  229. package/dist/ui/molecules/SearchAndFilter/types.d.ts +24 -0
  230. package/dist/ui/molecules/SearchAndFilter/types.d.ts.map +1 -0
  231. package/dist/ui/molecules/SearchAndFilter/types.js +1 -0
  232. package/dist/ui/molecules/SkeletonList.d.ts +16 -0
  233. package/dist/ui/molecules/SkeletonList.d.ts.map +1 -0
  234. package/dist/ui/molecules/SkeletonList.js +15 -0
  235. package/dist/ui/molecules/SkeletonList.js.map +1 -0
  236. package/dist/ui/nav-layout.d.ts +71 -0
  237. package/dist/ui/nav-layout.d.ts.map +1 -0
  238. package/dist/ui/nav-layout.js +133 -0
  239. package/dist/ui/nav-layout.js.map +1 -0
  240. package/dist/ui/navigation-menu.d.ts +47 -0
  241. package/dist/ui/navigation-menu.d.ts.map +1 -0
  242. package/dist/ui/navigation-menu.js +83 -0
  243. package/dist/ui/navigation-menu.js.map +1 -0
  244. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.d.ts +30 -0
  245. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.d.ts.map +1 -0
  246. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.js +112 -0
  247. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.js.map +1 -0
  248. package/dist/ui/organisms/ErrorBoundary/index.d.ts +2 -0
  249. package/dist/ui/organisms/ErrorBoundary/index.js +3 -0
  250. package/dist/ui/organisms/ListPage/ListPage.d.ts +29 -0
  251. package/dist/ui/organisms/ListPage/ListPage.d.ts.map +1 -0
  252. package/dist/ui/organisms/ListPage/ListPage.js +198 -0
  253. package/dist/ui/organisms/ListPage/ListPage.js.map +1 -0
  254. package/dist/ui/organisms/ListPage/index.d.ts +3 -0
  255. package/dist/ui/organisms/ListPage/index.js +3 -0
  256. package/dist/ui/organisms/ListPage/types.d.ts +41 -0
  257. package/dist/ui/organisms/ListPage/types.d.ts.map +1 -0
  258. package/dist/ui/organisms/ListPage/types.js +1 -0
  259. package/dist/ui/page-header.d.ts +27 -0
  260. package/dist/ui/page-header.d.ts.map +1 -0
  261. package/dist/ui/page-header.js +40 -0
  262. package/dist/ui/page-header.js.map +1 -0
  263. package/dist/ui/pagination.d.ts +50 -0
  264. package/dist/ui/pagination.d.ts.map +1 -0
  265. package/dist/ui/pagination.js +65 -0
  266. package/dist/ui/pagination.js.map +1 -0
  267. package/dist/ui/popover.d.ts +23 -0
  268. package/dist/ui/popover.d.ts.map +1 -0
  269. package/dist/ui/popover.js +40 -0
  270. package/dist/ui/popover.js.map +1 -0
  271. package/dist/ui/progress.d.ts +13 -0
  272. package/dist/ui/progress.d.ts.map +1 -0
  273. package/dist/ui/progress.js +25 -0
  274. package/dist/ui/progress.js.map +1 -0
  275. package/dist/ui/radio-group.d.ts +16 -0
  276. package/dist/ui/radio-group.d.ts.map +1 -0
  277. package/dist/ui/radio-group.js +33 -0
  278. package/dist/ui/radio-group.js.map +1 -0
  279. package/dist/ui/resizable.d.ts +36 -0
  280. package/dist/ui/resizable.d.ts.map +1 -0
  281. package/dist/ui/resizable.js +26 -0
  282. package/dist/ui/resizable.js.map +1 -0
  283. package/dist/ui/route-announcer.d.ts +11 -0
  284. package/dist/ui/route-announcer.d.ts.map +1 -0
  285. package/dist/ui/route-announcer.js +23 -0
  286. package/dist/ui/route-announcer.js.map +1 -0
  287. package/dist/ui/scroll-area.d.ts +18 -0
  288. package/dist/ui/scroll-area.d.ts.map +1 -0
  289. package/dist/ui/scroll-area.js +41 -0
  290. package/dist/ui/scroll-area.js.map +1 -0
  291. package/dist/ui/section.d.ts +27 -0
  292. package/dist/ui/section.d.ts.map +1 -0
  293. package/dist/ui/section.js +63 -0
  294. package/dist/ui/section.js.map +1 -0
  295. package/dist/ui/select.d.ts +52 -0
  296. package/dist/ui/select.d.ts.map +1 -0
  297. package/dist/ui/select.js +101 -0
  298. package/dist/ui/select.js.map +1 -0
  299. package/dist/ui/separator.d.ts +14 -0
  300. package/dist/ui/separator.d.ts.map +1 -0
  301. package/dist/ui/separator.js +22 -0
  302. package/dist/ui/separator.js.map +1 -0
  303. package/dist/ui/sheet.d.ts +41 -0
  304. package/dist/ui/sheet.d.ts.map +1 -0
  305. package/dist/ui/sheet.js +87 -0
  306. package/dist/ui/sheet.js.map +1 -0
  307. package/dist/ui/sidebar.d.ts +77 -0
  308. package/dist/ui/sidebar.d.ts.map +1 -0
  309. package/dist/ui/sidebar.js +380 -0
  310. package/dist/ui/sidebar.js.map +1 -0
  311. package/dist/ui/skeleton.d.ts +10 -0
  312. package/dist/ui/skeleton.d.ts.map +1 -0
  313. package/dist/ui/skeleton.js +15 -0
  314. package/dist/ui/skeleton.js.map +1 -0
  315. package/dist/ui/skip-link.d.ts +17 -0
  316. package/dist/ui/skip-link.d.ts.map +1 -0
  317. package/dist/ui/skip-link.js +17 -0
  318. package/dist/ui/skip-link.js.map +1 -0
  319. package/dist/ui/slider.d.ts +16 -0
  320. package/dist/ui/slider.d.ts.map +1 -0
  321. package/dist/ui/slider.js +41 -0
  322. package/dist/ui/slider.js.map +1 -0
  323. package/dist/ui/sonner.d.ts +10 -0
  324. package/dist/ui/sonner.d.ts.map +1 -0
  325. package/dist/ui/sonner.js +25 -0
  326. package/dist/ui/sonner.js.map +1 -0
  327. package/dist/ui/stack.d.ts +48 -0
  328. package/dist/ui/stack.d.ts.map +1 -0
  329. package/dist/ui/stack.js +158 -0
  330. package/dist/ui/stack.js.map +1 -0
  331. package/dist/ui/stat-card-group.d.ts +19 -0
  332. package/dist/ui/stat-card-group.d.ts.map +1 -0
  333. package/dist/ui/stat-card-group.js +39 -0
  334. package/dist/ui/stat-card-group.js.map +1 -0
  335. package/dist/ui/stepper.d.ts +23 -0
  336. package/dist/ui/stepper.d.ts.map +1 -0
  337. package/dist/ui/stepper.js +37 -0
  338. package/dist/ui/stepper.js.map +1 -0
  339. package/dist/ui/switch.d.ts +12 -0
  340. package/dist/ui/switch.d.ts.map +1 -0
  341. package/dist/ui/switch.js +24 -0
  342. package/dist/ui/switch.js.map +1 -0
  343. package/dist/ui/table.d.ts +39 -0
  344. package/dist/ui/table.d.ts.map +1 -0
  345. package/dist/ui/table.js +72 -0
  346. package/dist/ui/table.js.map +1 -0
  347. package/dist/ui/tabs.d.ts +24 -0
  348. package/dist/ui/tabs.d.ts.map +1 -0
  349. package/dist/ui/tabs.js +41 -0
  350. package/dist/ui/tabs.js.map +1 -0
  351. package/dist/ui/text.d.ts +16 -0
  352. package/dist/ui/text.d.ts.map +1 -0
  353. package/dist/ui/text.js +16 -0
  354. package/dist/ui/text.js.map +1 -0
  355. package/dist/ui/textarea.d.ts +12 -0
  356. package/dist/ui/textarea.d.ts.map +1 -0
  357. package/dist/ui/textarea.js +16 -0
  358. package/dist/ui/textarea.js.map +1 -0
  359. package/dist/ui/time-picker.d.ts +22 -0
  360. package/dist/ui/time-picker.d.ts.map +1 -0
  361. package/dist/ui/time-picker.js +82 -0
  362. package/dist/ui/time-picker.js.map +1 -0
  363. package/dist/ui/toast.d.ts +20 -0
  364. package/dist/ui/toast.d.ts.map +1 -0
  365. package/dist/ui/toast.js +63 -0
  366. package/dist/ui/toast.js.map +1 -0
  367. package/dist/ui/toaster.d.ts +7 -0
  368. package/dist/ui/toaster.d.ts.map +1 -0
  369. package/dist/ui/toaster.js +28 -0
  370. package/dist/ui/toaster.js.map +1 -0
  371. package/dist/ui/toggle-group.d.ts +24 -0
  372. package/dist/ui/toggle-group.d.ts.map +1 -0
  373. package/dist/ui/toggle-group.js +49 -0
  374. package/dist/ui/toggle-group.js.map +1 -0
  375. package/dist/ui/toggle.d.ts +20 -0
  376. package/dist/ui/toggle.d.ts.map +1 -0
  377. package/dist/ui/toggle.js +42 -0
  378. package/dist/ui/toggle.js.map +1 -0
  379. package/dist/ui/tooltip.d.ts +24 -0
  380. package/dist/ui/tooltip.d.ts.map +1 -0
  381. package/dist/ui/tooltip.js +41 -0
  382. package/dist/ui/tooltip.js.map +1 -0
  383. package/dist/ui/typography.d.ts +65 -0
  384. package/dist/ui/typography.d.ts.map +1 -0
  385. package/dist/ui/typography.js +87 -0
  386. package/dist/ui/typography.js.map +1 -0
  387. package/dist/ui/use-media-query.d.ts +5 -0
  388. package/dist/ui/use-media-query.d.ts.map +1 -0
  389. package/dist/ui/use-media-query.js +20 -0
  390. package/dist/ui/use-media-query.js.map +1 -0
  391. package/dist/ui/use-mobile.d.ts +5 -0
  392. package/dist/ui/use-mobile.d.ts.map +1 -0
  393. package/dist/ui/use-mobile.js +21 -0
  394. package/dist/ui/use-mobile.js.map +1 -0
  395. package/dist/ui/use-reduced-motion.d.ts +5 -0
  396. package/dist/ui/use-reduced-motion.d.ts.map +1 -0
  397. package/dist/ui/use-reduced-motion.js +18 -0
  398. package/dist/ui/use-reduced-motion.js.map +1 -0
  399. package/dist/ui/use-toast.d.ts +50 -0
  400. package/dist/ui/use-toast.d.ts.map +1 -0
  401. package/dist/ui/use-toast.js +123 -0
  402. package/dist/ui/use-toast.js.map +1 -0
  403. package/dist/ui/useListState.d.ts +34 -0
  404. package/dist/ui/useListState.d.ts.map +1 -0
  405. package/dist/ui/useListState.js +75 -0
  406. package/dist/ui/useListState.js.map +1 -0
  407. package/dist/ui/usecases/UseCaseCard.d.ts +19 -0
  408. package/dist/ui/usecases/UseCaseCard.d.ts.map +1 -0
  409. package/dist/ui/usecases/UseCaseCard.js +35 -0
  410. package/dist/ui/usecases/UseCaseCard.js.map +1 -0
  411. package/dist/ui/usecases/UserStoryCard.d.ts +15 -0
  412. package/dist/ui/usecases/UserStoryCard.d.ts.map +1 -0
  413. package/dist/ui/usecases/UserStoryCard.js +36 -0
  414. package/dist/ui/usecases/UserStoryCard.js.map +1 -0
  415. package/dist/ui/usecases/index.d.ts +3 -0
  416. package/dist/ui/usecases/index.js +4 -0
  417. package/dist/ui/utils.d.ts +7 -0
  418. package/dist/ui/utils.d.ts.map +1 -0
  419. package/dist/ui/utils.js +11 -0
  420. package/dist/ui/utils.js.map +1 -0
  421. package/dist/ui/visually-hidden.d.ts +10 -0
  422. package/dist/ui/visually-hidden.d.ts.map +1 -0
  423. package/dist/ui/visually-hidden.js +31 -0
  424. package/dist/ui/visually-hidden.js.map +1 -0
  425. package/package.json +222 -0
@@ -0,0 +1,157 @@
1
+ import { Button } from "../../button.js";
2
+ import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "../../select.js";
3
+ import React from "react";
4
+ import { ChevronLeft, ChevronRight, ChevronsLeft, ChevronsRight } from "lucide-react";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+
7
+ //#region ui/atoms/Pagination/Pagination.tsx
8
+ const Pagination = ({ currentPage, totalPages, totalItems, itemsPerPage, onPageChange, onItemsPerPageChange, disabled = false, className = "", showItemsPerPage = true, itemsPerPageOptions = [
9
+ 10,
10
+ 25,
11
+ 50,
12
+ 100
13
+ ] }) => {
14
+ const startItem = (currentPage - 1) * itemsPerPage + 1;
15
+ const endItem = Math.min(currentPage * itemsPerPage, totalItems);
16
+ const canGoPrevious = currentPage > 1 && !disabled;
17
+ const canGoNext = currentPage < totalPages && !disabled;
18
+ const getVisiblePageNumbers = () => {
19
+ if (totalPages <= 7) return Array.from({ length: totalPages }, (_, i) => i + 1);
20
+ if (currentPage <= 3) return [
21
+ 1,
22
+ 2,
23
+ 3,
24
+ 4,
25
+ 5,
26
+ -1,
27
+ totalPages
28
+ ];
29
+ if (currentPage >= totalPages - 2) return [
30
+ 1,
31
+ -1,
32
+ totalPages - 4,
33
+ totalPages - 3,
34
+ totalPages - 2,
35
+ totalPages - 1,
36
+ totalPages
37
+ ];
38
+ return [
39
+ 1,
40
+ -1,
41
+ currentPage - 1,
42
+ currentPage,
43
+ currentPage + 1,
44
+ -1,
45
+ totalPages
46
+ ];
47
+ };
48
+ if (totalPages === 0) return null;
49
+ return /* @__PURE__ */ jsxs("div", {
50
+ className: `flex flex-col items-center justify-between gap-4 sm:flex-row ${className}`,
51
+ children: [
52
+ /* @__PURE__ */ jsxs("div", {
53
+ className: "text-muted-foreground order-2 text-base sm:order-1",
54
+ children: [
55
+ "Affichage de ",
56
+ startItem,
57
+ " à ",
58
+ endItem,
59
+ " sur ",
60
+ totalItems,
61
+ " résultats"
62
+ ]
63
+ }),
64
+ /* @__PURE__ */ jsxs("div", {
65
+ className: "order-1 flex items-center gap-2 sm:order-2",
66
+ children: [
67
+ /* @__PURE__ */ jsxs(Button, {
68
+ variant: "outline",
69
+ size: "sm",
70
+ onClick: () => onPageChange(1),
71
+ disabled: !canGoPrevious,
72
+ className: "hidden h-8 w-8 p-0 sm:flex",
73
+ children: [/* @__PURE__ */ jsx(ChevronsLeft, { className: "h-4 w-4" }), /* @__PURE__ */ jsx("span", {
74
+ className: "sr-only",
75
+ children: "Première page"
76
+ })]
77
+ }),
78
+ /* @__PURE__ */ jsxs(Button, {
79
+ variant: "outline",
80
+ size: "sm",
81
+ onClick: () => onPageChange(currentPage - 1),
82
+ disabled: !canGoPrevious,
83
+ className: "h-8 w-8 p-0",
84
+ children: [/* @__PURE__ */ jsx(ChevronLeft, { className: "h-4 w-4" }), /* @__PURE__ */ jsx("span", {
85
+ className: "sr-only",
86
+ children: "Page précédente"
87
+ })]
88
+ }),
89
+ /* @__PURE__ */ jsx("div", {
90
+ className: "flex items-center gap-1",
91
+ children: getVisiblePageNumbers().map((page, index) => {
92
+ if (page === -1) return /* @__PURE__ */ jsx("span", {
93
+ className: "text-muted-foreground px-2 py-1",
94
+ children: "..."
95
+ }, `ellipsis-${index}`);
96
+ return /* @__PURE__ */ jsx(Button, {
97
+ variant: page === currentPage ? "default" : "outline",
98
+ size: "sm",
99
+ onClick: () => onPageChange(page),
100
+ disabled,
101
+ className: "h-8 min-w-8 px-2",
102
+ children: page
103
+ }, page);
104
+ })
105
+ }),
106
+ /* @__PURE__ */ jsxs(Button, {
107
+ variant: "outline",
108
+ size: "sm",
109
+ onClick: () => onPageChange(currentPage + 1),
110
+ disabled: !canGoNext,
111
+ className: "h-8 w-8 p-0",
112
+ children: [/* @__PURE__ */ jsx(ChevronRight, { className: "h-4 w-4" }), /* @__PURE__ */ jsx("span", {
113
+ className: "sr-only",
114
+ children: "Page suivante"
115
+ })]
116
+ }),
117
+ /* @__PURE__ */ jsxs(Button, {
118
+ variant: "outline",
119
+ size: "sm",
120
+ onClick: () => onPageChange(totalPages),
121
+ disabled: !canGoNext,
122
+ className: "hidden h-8 w-8 p-0 sm:flex",
123
+ children: [/* @__PURE__ */ jsx(ChevronsRight, { className: "h-4 w-4" }), /* @__PURE__ */ jsx("span", {
124
+ className: "sr-only",
125
+ children: "Dernière page"
126
+ })]
127
+ })
128
+ ]
129
+ }),
130
+ showItemsPerPage && onItemsPerPageChange && /* @__PURE__ */ jsxs("div", {
131
+ className: "order-3 flex items-center gap-2 text-base",
132
+ children: [/* @__PURE__ */ jsx("span", {
133
+ className: "text-muted-foreground",
134
+ children: "Afficher:"
135
+ }), /* @__PURE__ */ jsxs(Select, {
136
+ value: itemsPerPage.toString(),
137
+ onValueChange: (value) => onItemsPerPageChange(parseInt(value)),
138
+ disabled,
139
+ children: [/* @__PURE__ */ jsx(SelectTrigger, {
140
+ className: "h-8 w-16",
141
+ children: /* @__PURE__ */ jsx(SelectValue, {})
142
+ }), /* @__PURE__ */ jsx(SelectContent, {
143
+ className: "bg-background",
144
+ children: itemsPerPageOptions.map((option) => /* @__PURE__ */ jsx(SelectItem, {
145
+ value: option.toString(),
146
+ children: option
147
+ }, option))
148
+ })]
149
+ })]
150
+ })
151
+ ]
152
+ });
153
+ };
154
+
155
+ //#endregion
156
+ export { Pagination };
157
+ //# sourceMappingURL=Pagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pagination.js","names":["Pagination: React.FC<PaginationProps>"],"sources":["../../../../ui/atoms/Pagination/Pagination.tsx"],"sourcesContent":["import React from 'react';\nimport {\n ChevronLeft,\n ChevronRight,\n ChevronsLeft,\n ChevronsRight,\n} from 'lucide-react';\nimport { Button } from '../../button';\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from '../../select';\nimport type { PaginationProps } from './types';\n\nexport const Pagination: React.FC<PaginationProps> = ({\n currentPage,\n totalPages,\n totalItems,\n itemsPerPage,\n onPageChange,\n onItemsPerPageChange,\n disabled = false,\n className = '',\n showItemsPerPage = true,\n itemsPerPageOptions = [10, 25, 50, 100],\n}) => {\n const startItem = (currentPage - 1) * itemsPerPage + 1;\n const endItem = Math.min(currentPage * itemsPerPage, totalItems);\n\n const canGoPrevious = currentPage > 1 && !disabled;\n const canGoNext = currentPage < totalPages && !disabled;\n\n const getVisiblePageNumbers = () => {\n if (totalPages <= 7) {\n return Array.from({ length: totalPages }, (_, i) => i + 1);\n }\n\n if (currentPage <= 3) {\n return [1, 2, 3, 4, 5, -1, totalPages]; // -1 represents ellipsis\n }\n\n if (currentPage >= totalPages - 2) {\n return [\n 1,\n -1,\n totalPages - 4,\n totalPages - 3,\n totalPages - 2,\n totalPages - 1,\n totalPages,\n ];\n }\n\n return [\n 1,\n -1,\n currentPage - 1,\n currentPage,\n currentPage + 1,\n -1,\n totalPages,\n ];\n };\n\n if (totalPages === 0) return null;\n\n return (\n <div\n className={`flex flex-col items-center justify-between gap-4 sm:flex-row ${className}`}\n >\n {/* Items info */}\n <div className=\"text-muted-foreground order-2 text-base sm:order-1\">\n Affichage de {startItem} à {endItem} sur {totalItems} résultats\n </div>\n\n {/* Pagination controls */}\n <div className=\"order-1 flex items-center gap-2 sm:order-2\">\n {/* First page */}\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={() => onPageChange(1)}\n disabled={!canGoPrevious}\n className=\"hidden h-8 w-8 p-0 sm:flex\"\n >\n <ChevronsLeft className=\"h-4 w-4\" />\n <span className=\"sr-only\">Première page</span>\n </Button>\n\n {/* Previous page */}\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={() => onPageChange(currentPage - 1)}\n disabled={!canGoPrevious}\n className=\"h-8 w-8 p-0\"\n >\n <ChevronLeft className=\"h-4 w-4\" />\n <span className=\"sr-only\">Page précédente</span>\n </Button>\n\n {/* Page numbers */}\n <div className=\"flex items-center gap-1\">\n {getVisiblePageNumbers().map((page, index) => {\n if (page === -1) {\n return (\n <span\n key={`ellipsis-${index}`}\n className=\"text-muted-foreground px-2 py-1\"\n >\n ...\n </span>\n );\n }\n\n return (\n <Button\n key={page}\n variant={page === currentPage ? 'default' : 'outline'}\n size=\"sm\"\n onClick={() => onPageChange(page)}\n disabled={disabled}\n className=\"h-8 min-w-8 px-2\"\n >\n {page}\n </Button>\n );\n })}\n </div>\n\n {/* Next page */}\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={() => onPageChange(currentPage + 1)}\n disabled={!canGoNext}\n className=\"h-8 w-8 p-0\"\n >\n <ChevronRight className=\"h-4 w-4\" />\n <span className=\"sr-only\">Page suivante</span>\n </Button>\n\n {/* Last page */}\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={() => onPageChange(totalPages)}\n disabled={!canGoNext}\n className=\"hidden h-8 w-8 p-0 sm:flex\"\n >\n <ChevronsRight className=\"h-4 w-4\" />\n <span className=\"sr-only\">Dernière page</span>\n </Button>\n </div>\n\n {/* Items per page */}\n {showItemsPerPage && onItemsPerPageChange && (\n <div className=\"order-3 flex items-center gap-2 text-base\">\n <span className=\"text-muted-foreground\">Afficher:</span>\n <Select\n value={itemsPerPage.toString()}\n onValueChange={(value) => onItemsPerPageChange(parseInt(value))}\n disabled={disabled}\n >\n <SelectTrigger className=\"h-8 w-16\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent className=\"bg-background\">\n {itemsPerPageOptions.map((option) => (\n <SelectItem key={option} value={option.toString()}>\n {option}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n )}\n </div>\n );\n};\n"],"mappings":";;;;;;;AAiBA,MAAaA,cAAyC,EACpD,aACA,YACA,YACA,cACA,cACA,sBACA,WAAW,OACX,YAAY,IACZ,mBAAmB,MACnB,sBAAsB;CAAC;CAAI;CAAI;CAAI;CAAI,OACnC;CACJ,MAAM,aAAa,cAAc,KAAK,eAAe;CACrD,MAAM,UAAU,KAAK,IAAI,cAAc,cAAc,WAAW;CAEhE,MAAM,gBAAgB,cAAc,KAAK,CAAC;CAC1C,MAAM,YAAY,cAAc,cAAc,CAAC;CAE/C,MAAM,8BAA8B;AAClC,MAAI,cAAc,EAChB,QAAO,MAAM,KAAK,EAAE,QAAQ,YAAY,GAAG,GAAG,MAAM,IAAI,EAAE;AAG5D,MAAI,eAAe,EACjB,QAAO;GAAC;GAAG;GAAG;GAAG;GAAG;GAAG;GAAI;GAAW;AAGxC,MAAI,eAAe,aAAa,EAC9B,QAAO;GACL;GACA;GACA,aAAa;GACb,aAAa;GACb,aAAa;GACb,aAAa;GACb;GACD;AAGH,SAAO;GACL;GACA;GACA,cAAc;GACd;GACA,cAAc;GACd;GACA;GACD;;AAGH,KAAI,eAAe,EAAG,QAAO;AAE7B,QACE,qBAAC;EACC,WAAW,gEAAgE;;GAG3E,qBAAC;IAAI,WAAU;;KAAqD;KACpD;KAAU;KAAI;KAAQ;KAAM;KAAW;;KACjD;GAGN,qBAAC;IAAI,WAAU;;KAEb,qBAAC;MACC,SAAQ;MACR,MAAK;MACL,eAAe,aAAa,EAAE;MAC9B,UAAU,CAAC;MACX,WAAU;iBAEV,oBAAC,gBAAa,WAAU,YAAY,EACpC,oBAAC;OAAK,WAAU;iBAAU;QAAoB;OACvC;KAGT,qBAAC;MACC,SAAQ;MACR,MAAK;MACL,eAAe,aAAa,cAAc,EAAE;MAC5C,UAAU,CAAC;MACX,WAAU;iBAEV,oBAAC,eAAY,WAAU,YAAY,EACnC,oBAAC;OAAK,WAAU;iBAAU;QAAsB;OACzC;KAGT,oBAAC;MAAI,WAAU;gBACZ,uBAAuB,CAAC,KAAK,MAAM,UAAU;AAC5C,WAAI,SAAS,GACX,QACE,oBAAC;QAEC,WAAU;kBACX;UAFM,YAAY,QAIZ;AAIX,cACE,oBAAC;QAEC,SAAS,SAAS,cAAc,YAAY;QAC5C,MAAK;QACL,eAAe,aAAa,KAAK;QACvB;QACV,WAAU;kBAET;UAPI,KAQE;QAEX;OACE;KAGN,qBAAC;MACC,SAAQ;MACR,MAAK;MACL,eAAe,aAAa,cAAc,EAAE;MAC5C,UAAU,CAAC;MACX,WAAU;iBAEV,oBAAC,gBAAa,WAAU,YAAY,EACpC,oBAAC;OAAK,WAAU;iBAAU;QAAoB;OACvC;KAGT,qBAAC;MACC,SAAQ;MACR,MAAK;MACL,eAAe,aAAa,WAAW;MACvC,UAAU,CAAC;MACX,WAAU;iBAEV,oBAAC,iBAAc,WAAU,YAAY,EACrC,oBAAC;OAAK,WAAU;iBAAU;QAAoB;OACvC;;KACL;GAGL,oBAAoB,wBACnB,qBAAC;IAAI,WAAU;eACb,oBAAC;KAAK,WAAU;eAAwB;MAAgB,EACxD,qBAAC;KACC,OAAO,aAAa,UAAU;KAC9B,gBAAgB,UAAU,qBAAqB,SAAS,MAAM,CAAC;KACrD;gBAEV,oBAAC;MAAc,WAAU;gBACvB,oBAAC,gBAAc;OACD,EAChB,oBAAC;MAAc,WAAU;gBACtB,oBAAoB,KAAK,WACxB,oBAAC;OAAwB,OAAO,OAAO,UAAU;iBAC9C;SADc,OAEJ,CACb;OACY;MACT;KACL;;GAEJ"}
@@ -0,0 +1,3 @@
1
+ import { PaginationProps } from "./types.js";
2
+ import { Pagination } from "./Pagination.js";
3
+ export { Pagination, type PaginationProps };
@@ -0,0 +1,3 @@
1
+ import { Pagination } from "./Pagination.js";
2
+
3
+ export { Pagination };
@@ -0,0 +1,16 @@
1
+ //#region ui/atoms/Pagination/types.d.ts
2
+ interface PaginationProps {
3
+ currentPage: number;
4
+ totalPages: number;
5
+ totalItems: number;
6
+ itemsPerPage: number;
7
+ onPageChange: (page: number) => void;
8
+ onItemsPerPageChange?: (itemsPerPage: number) => void;
9
+ disabled?: boolean;
10
+ className?: string;
11
+ showItemsPerPage?: boolean;
12
+ itemsPerPageOptions?: number[];
13
+ }
14
+ //#endregion
15
+ export { PaginationProps };
16
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../../../../ui/atoms/Pagination/types.ts"],"sourcesContent":[],"mappings":";UAAiB,eAAA;EAAA,WAAA,EAAA,MAAe"}
@@ -0,0 +1 @@
1
+ export { };
@@ -0,0 +1,8 @@
1
+ import { SearchInputProps } from "./types.js";
2
+ import React from "react";
3
+
4
+ //#region ui/atoms/SearchInput/SearchInput.d.ts
5
+ declare const SearchInput: React.FC<SearchInputProps>;
6
+ //#endregion
7
+ export { SearchInput };
8
+ //# sourceMappingURL=SearchInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchInput.d.ts","names":[],"sources":["../../../../ui/atoms/SearchInput/SearchInput.tsx"],"sourcesContent":[],"mappings":";;;;cAMa,aAAa,KAAA,CAAM,GAAG"}
@@ -0,0 +1,50 @@
1
+ import { Button } from "../../button.js";
2
+ import { Input } from "../../input.js";
3
+ import React from "react";
4
+ import { Search, X } from "lucide-react";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+
7
+ //#region ui/atoms/SearchInput/SearchInput.tsx
8
+ const SearchInput = ({ value, onChange, placeholder = "Rechercher...", onClear, disabled = false, className = "", autoFocus = false }) => {
9
+ const handleClear = () => {
10
+ onChange("");
11
+ onClear?.();
12
+ };
13
+ return /* @__PURE__ */ jsxs("div", {
14
+ className: `relative w-full ${className}`,
15
+ children: [
16
+ /* @__PURE__ */ jsx("div", {
17
+ className: "pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3",
18
+ children: /* @__PURE__ */ jsx(Search, { className: "text-muted-foreground h-4 w-4" })
19
+ }),
20
+ /* @__PURE__ */ jsx(Input, {
21
+ type: "text",
22
+ value,
23
+ onChange: (e) => onChange(e.target.value),
24
+ placeholder,
25
+ disabled,
26
+ autoFocus,
27
+ className: "pr-10 pl-10"
28
+ }),
29
+ value && /* @__PURE__ */ jsx("div", {
30
+ className: "absolute inset-y-0 right-0 flex items-center pr-3",
31
+ children: /* @__PURE__ */ jsxs(Button, {
32
+ type: "button",
33
+ variant: "ghost",
34
+ size: "sm",
35
+ onClick: handleClear,
36
+ disabled,
37
+ className: "h-6 w-6 p-0 hover:bg-transparent",
38
+ children: [/* @__PURE__ */ jsx(X, { className: "text-muted-foreground hover:text-foreground h-4 w-4" }), /* @__PURE__ */ jsx("span", {
39
+ className: "sr-only",
40
+ children: "Effacer la recherche"
41
+ })]
42
+ })
43
+ })
44
+ ]
45
+ });
46
+ };
47
+
48
+ //#endregion
49
+ export { SearchInput };
50
+ //# sourceMappingURL=SearchInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchInput.js","names":["SearchInput: React.FC<SearchInputProps>"],"sources":["../../../../ui/atoms/SearchInput/SearchInput.tsx"],"sourcesContent":["import React from 'react';\nimport { Search, X } from 'lucide-react';\nimport { Input } from '../../input';\nimport { Button } from '../../button';\nimport type { SearchInputProps } from './types';\n\nexport const SearchInput: React.FC<SearchInputProps> = ({\n value,\n onChange,\n placeholder = 'Rechercher...',\n onClear,\n disabled = false,\n className = '',\n autoFocus = false,\n}) => {\n const handleClear = () => {\n onChange('');\n onClear?.();\n };\n\n return (\n <div className={`relative w-full ${className}`}>\n <div className=\"pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3\">\n <Search className=\"text-muted-foreground h-4 w-4\" />\n </div>\n\n <Input\n type=\"text\"\n value={value}\n onChange={(e) => onChange(e.target.value)}\n placeholder={placeholder}\n disabled={disabled}\n autoFocus={autoFocus}\n className=\"pr-10 pl-10\"\n />\n\n {value && (\n <div className=\"absolute inset-y-0 right-0 flex items-center pr-3\">\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"sm\"\n onClick={handleClear}\n disabled={disabled}\n className=\"h-6 w-6 p-0 hover:bg-transparent\"\n >\n <X className=\"text-muted-foreground hover:text-foreground h-4 w-4\" />\n <span className=\"sr-only\">Effacer la recherche</span>\n </Button>\n </div>\n )}\n </div>\n );\n};\n"],"mappings":";;;;;;;AAMA,MAAaA,eAA2C,EACtD,OACA,UACA,cAAc,iBACd,SACA,WAAW,OACX,YAAY,IACZ,YAAY,YACR;CACJ,MAAM,oBAAoB;AACxB,WAAS,GAAG;AACZ,aAAW;;AAGb,QACE,qBAAC;EAAI,WAAW,mBAAmB;;GACjC,oBAAC;IAAI,WAAU;cACb,oBAAC,UAAO,WAAU,kCAAkC;KAChD;GAEN,oBAAC;IACC,MAAK;IACE;IACP,WAAW,MAAM,SAAS,EAAE,OAAO,MAAM;IAC5B;IACH;IACC;IACX,WAAU;KACV;GAED,SACC,oBAAC;IAAI,WAAU;cACb,qBAAC;KACC,MAAK;KACL,SAAQ;KACR,MAAK;KACL,SAAS;KACC;KACV,WAAU;gBAEV,oBAAC,KAAE,WAAU,wDAAwD,EACrE,oBAAC;MAAK,WAAU;gBAAU;OAA2B;MAC9C;KACL;;GAEJ"}
@@ -0,0 +1,3 @@
1
+ import { SearchInputProps } from "./types.js";
2
+ import { SearchInput } from "./SearchInput.js";
3
+ export { SearchInput, type SearchInputProps };
@@ -0,0 +1,3 @@
1
+ import { SearchInput } from "./SearchInput.js";
2
+
3
+ export { SearchInput };
@@ -0,0 +1,13 @@
1
+ //#region ui/atoms/SearchInput/types.d.ts
2
+ interface SearchInputProps {
3
+ value: string;
4
+ onChange: (value: string) => void;
5
+ placeholder?: string;
6
+ onClear?: () => void;
7
+ disabled?: boolean;
8
+ className?: string;
9
+ autoFocus?: boolean;
10
+ }
11
+ //#endregion
12
+ export { SearchInputProps };
13
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../../../../ui/atoms/SearchInput/types.ts"],"sourcesContent":[],"mappings":";UAAiB,gBAAA;EAAA,KAAA,EAAA,MAAA"}
@@ -0,0 +1 @@
1
+ export { };
@@ -0,0 +1,20 @@
1
+ import * as React$1 from "react";
2
+ import * as react_jsx_runtime202 from "react/jsx-runtime";
3
+ import * as AvatarPrimitive from "@radix-ui/react-avatar";
4
+
5
+ //#region ui/avatar.d.ts
6
+ declare function Avatar({
7
+ className,
8
+ ...props
9
+ }: React$1.ComponentProps<typeof AvatarPrimitive.Root>): react_jsx_runtime202.JSX.Element;
10
+ declare function AvatarImage({
11
+ className,
12
+ ...props
13
+ }: React$1.ComponentProps<typeof AvatarPrimitive.Image>): react_jsx_runtime202.JSX.Element;
14
+ declare function AvatarFallback({
15
+ className,
16
+ ...props
17
+ }: React$1.ComponentProps<typeof AvatarPrimitive.Fallback>): react_jsx_runtime202.JSX.Element;
18
+ //#endregion
19
+ export { Avatar, AvatarFallback, AvatarImage };
20
+ //# sourceMappingURL=avatar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar.d.ts","names":[],"sources":["../../ui/avatar.tsx"],"sourcesContent":[],"mappings":";;;;;iBAOS,MAAA;;;GAGN,OAAA,CAAM,sBAAsB,eAAA,CAAgB,QAAK,oBAAA,CAAA,GAAA,CAAA;iBAa3C,WAAA;;;GAGN,OAAA,CAAM,sBAAsB,eAAA,CAAgB,SAAM,oBAAA,CAAA,GAAA,CAAA;iBAU5C,cAAA;;;GAGN,OAAA,CAAM,sBAAsB,eAAA,CAAgB,YAAS,oBAAA,CAAA,GAAA,CAAA"}
@@ -0,0 +1,34 @@
1
+ 'use client';
2
+
3
+
4
+ import { cn } from "./utils.js";
5
+ import "react";
6
+ import { jsx } from "react/jsx-runtime";
7
+ import * as AvatarPrimitive from "@radix-ui/react-avatar";
8
+
9
+ //#region ui/avatar.tsx
10
+ function Avatar({ className,...props }) {
11
+ return /* @__PURE__ */ jsx(AvatarPrimitive.Root, {
12
+ "data-slot": "avatar",
13
+ className: cn("relative flex size-8 shrink-0 overflow-hidden rounded-full", className),
14
+ ...props
15
+ });
16
+ }
17
+ function AvatarImage({ className,...props }) {
18
+ return /* @__PURE__ */ jsx(AvatarPrimitive.Image, {
19
+ "data-slot": "avatar-image",
20
+ className: cn("aspect-square size-full", className),
21
+ ...props
22
+ });
23
+ }
24
+ function AvatarFallback({ className,...props }) {
25
+ return /* @__PURE__ */ jsx(AvatarPrimitive.Fallback, {
26
+ "data-slot": "avatar-fallback",
27
+ className: cn("bg-muted flex size-full items-center justify-center rounded-full", className),
28
+ ...props
29
+ });
30
+ }
31
+
32
+ //#endregion
33
+ export { Avatar, AvatarFallback, AvatarImage };
34
+ //# sourceMappingURL=avatar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar.js","names":[],"sources":["../../ui/avatar.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport * as AvatarPrimitive from '@radix-ui/react-avatar';\n\nimport { cn } from './utils';\n\nfunction Avatar({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Root>) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n className={cn(\n 'relative flex size-8 shrink-0 overflow-hidden rounded-full',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction AvatarImage({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Image>) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn('aspect-square size-full', className)}\n {...props}\n />\n );\n}\n\nfunction AvatarFallback({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n 'bg-muted flex size-full items-center justify-center rounded-full',\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Avatar, AvatarImage, AvatarFallback };\n"],"mappings":";;;;;;;;;AAOA,SAAS,OAAO,EACd,UACA,GAAG,SACiD;AACpD,QACE,oBAAC,gBAAgB;EACf,aAAU;EACV,WAAW,GACT,8DACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,YAAY,EACnB,UACA,GAAG,SACkD;AACrD,QACE,oBAAC,gBAAgB;EACf,aAAU;EACV,WAAW,GAAG,2BAA2B,UAAU;EACnD,GAAI;GACJ;;AAIN,SAAS,eAAe,EACtB,UACA,GAAG,SACqD;AACxD,QACE,oBAAC,gBAAgB;EACf,aAAU;EACV,WAAW,GACT,oEACA,UACD;EACD,GAAI;GACJ"}
@@ -0,0 +1,20 @@
1
+ import * as React$1 from "react";
2
+ import * as react_jsx_runtime248 from "react/jsx-runtime";
3
+ import { VariantProps } from "class-variance-authority";
4
+ import * as class_variance_authority_types22 from "class-variance-authority/types";
5
+
6
+ //#region ui/badge.d.ts
7
+ declare const badgeVariants: (props?: ({
8
+ variant?: "default" | "destructive" | "outline" | "secondary" | null | undefined;
9
+ } & class_variance_authority_types22.ClassProp) | undefined) => string;
10
+ declare function Badge({
11
+ className,
12
+ variant,
13
+ asChild,
14
+ ...props
15
+ }: React$1.ComponentProps<'span'> & VariantProps<typeof badgeVariants> & {
16
+ asChild?: boolean;
17
+ }): react_jsx_runtime248.JSX.Element;
18
+ //#endregion
19
+ export { Badge, badgeVariants };
20
+ //# sourceMappingURL=badge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badge.d.ts","names":[],"sources":["../../ui/badge.tsx"],"sourcesContent":[],"mappings":";;;;;;cAMM;;IAmBL,gCAAA,CAAA;iBAEQ,KAAA;;;;;GAKN,OAAA,CAAM,yBACP,oBAAoB;EA3BhB,OAAA,CAAA,EAAA,OAmBL;IAQ2D,oBAAA,CAAA,GAAA,CAAA,OAN9C"}
@@ -0,0 +1,27 @@
1
+ import { cn } from "./utils.js";
2
+ import "react";
3
+ import { jsx } from "react/jsx-runtime";
4
+ import { Slot } from "@radix-ui/react-slot";
5
+ import { cva } from "class-variance-authority";
6
+
7
+ //#region ui/badge.tsx
8
+ const badgeVariants = cva("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden", {
9
+ variants: { variant: {
10
+ default: "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
11
+ secondary: "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
12
+ destructive: "border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
13
+ outline: "text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"
14
+ } },
15
+ defaultVariants: { variant: "default" }
16
+ });
17
+ function Badge({ className, variant, asChild = false,...props }) {
18
+ return /* @__PURE__ */ jsx(asChild ? Slot : "span", {
19
+ "data-slot": "badge",
20
+ className: cn(badgeVariants({ variant }), className),
21
+ ...props
22
+ });
23
+ }
24
+
25
+ //#endregion
26
+ export { Badge, badgeVariants };
27
+ //# sourceMappingURL=badge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badge.js","names":[],"sources":["../../ui/badge.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from './utils';\n\nconst badgeVariants = cva(\n 'inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden',\n {\n variants: {\n variant: {\n default:\n 'border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90',\n secondary:\n 'border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90',\n destructive:\n 'border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60',\n outline:\n 'text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nfunction Badge({\n className,\n variant,\n asChild = false,\n ...props\n}: React.ComponentProps<'span'> &\n VariantProps<typeof badgeVariants> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : 'span';\n\n return (\n <Comp\n data-slot=\"badge\"\n className={cn(badgeVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nexport { Badge, badgeVariants };\n"],"mappings":";;;;;;;AAMA,MAAM,gBAAgB,IACpB,kZACA;CACE,UAAU,EACR,SAAS;EACP,SACE;EACF,WACE;EACF,aACE;EACF,SACE;EACH,EACF;CACD,iBAAiB,EACf,SAAS,WACV;CACF,CACF;AAED,SAAS,MAAM,EACb,WACA,SACA,UAAU,MACV,GAAG,SAEyD;AAG5D,QACE,oBAHW,UAAU,OAAO;EAI1B,aAAU;EACV,WAAW,GAAG,cAAc,EAAE,SAAS,CAAC,EAAE,UAAU;EACpD,GAAI;GACJ"}
@@ -0,0 +1,38 @@
1
+ import * as React$1 from "react";
2
+ import * as react_jsx_runtime213 from "react/jsx-runtime";
3
+
4
+ //#region ui/breadcrumb.d.ts
5
+ declare function Breadcrumb({
6
+ ...props
7
+ }: React$1.ComponentProps<'nav'>): react_jsx_runtime213.JSX.Element;
8
+ declare function BreadcrumbList({
9
+ className,
10
+ ...props
11
+ }: React$1.ComponentProps<'ol'>): react_jsx_runtime213.JSX.Element;
12
+ declare function BreadcrumbItem({
13
+ className,
14
+ ...props
15
+ }: React$1.ComponentProps<'li'>): react_jsx_runtime213.JSX.Element;
16
+ declare function BreadcrumbLink({
17
+ asChild,
18
+ className,
19
+ ...props
20
+ }: React$1.ComponentProps<'a'> & {
21
+ asChild?: boolean;
22
+ }): react_jsx_runtime213.JSX.Element;
23
+ declare function BreadcrumbPage({
24
+ className,
25
+ ...props
26
+ }: React$1.ComponentProps<'span'>): react_jsx_runtime213.JSX.Element;
27
+ declare function BreadcrumbSeparator({
28
+ children,
29
+ className,
30
+ ...props
31
+ }: React$1.ComponentProps<'li'>): react_jsx_runtime213.JSX.Element;
32
+ declare function BreadcrumbEllipsis({
33
+ className,
34
+ ...props
35
+ }: React$1.ComponentProps<'span'>): react_jsx_runtime213.JSX.Element;
36
+ //#endregion
37
+ export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator };
38
+ //# sourceMappingURL=breadcrumb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breadcrumb.d.ts","names":[],"sources":["../../ui/breadcrumb.tsx"],"sourcesContent":[],"mappings":";;;;iBAMS,UAAA;;GAAyB,OAAA,CAAM,wBAAqB,oBAAA,CAAA,GAAA,CAAA;iBAIpD,cAAA;;;GAAwC,OAAA,CAAM,uBAAoB,oBAAA,CAAA,GAAA,CAAA;iBAalE,cAAA;;;GAAwC,OAAA,CAAM,uBAAoB,oBAAA,CAAA,GAAA,CAAA;AAvB5C,iBAiCtB,cAAA,CA3ByB;EAAA,OAAM;EAAA,SAAA;EAAqB,GAAA;CAAA,EA+B1D,OAAA,CAAM,cA/BoD,CAAA,GAAA,CAAA,GAAA;EAIpD,OAAA,CAAA,EAAA,OAAc;CAAG,CAAA,EA6BzB,oBAAA,CAAA,GAAA,CAAA,OA7ByB;iBAyCjB,cAAA,CAzC8C;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAyCN,OAAA,CAAM,cAzCA,CAAA,MAAA,CAAA,CAAA,EAyCsB,oBAAA,CAAA,GAAA,CAAA,OAzCtB;iBAsD9C,mBAAA,CAtDkE;EAAA,QAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA0DxE,OAAA,CAAM,cA1DkE,CAAA,IAAA,CAAA,CAAA,EA0D9C,oBAAA,CAAA,GAAA,CAAA,OA1D8C;iBAwElE,kBAAA,CAxEkE;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA2ExE,OAAA,CAAM,cA3EkE,CAAA,MAAA,CAAA,CAAA,EA2E5C,oBAAA,CAAA,GAAA,CAAA,OA3E4C"}
@@ -0,0 +1,72 @@
1
+ import { cn } from "./utils.js";
2
+ import "react";
3
+ import { ChevronRight, MoreHorizontal } from "lucide-react";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ import { Slot } from "@radix-ui/react-slot";
6
+
7
+ //#region ui/breadcrumb.tsx
8
+ function Breadcrumb({ ...props }) {
9
+ return /* @__PURE__ */ jsx("nav", {
10
+ "aria-label": "breadcrumb",
11
+ "data-slot": "breadcrumb",
12
+ ...props
13
+ });
14
+ }
15
+ function BreadcrumbList({ className,...props }) {
16
+ return /* @__PURE__ */ jsx("ol", {
17
+ "data-slot": "breadcrumb-list",
18
+ className: cn("text-muted-foreground flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5", className),
19
+ ...props
20
+ });
21
+ }
22
+ function BreadcrumbItem({ className,...props }) {
23
+ return /* @__PURE__ */ jsx("li", {
24
+ "data-slot": "breadcrumb-item",
25
+ className: cn("inline-flex items-center gap-1.5", className),
26
+ ...props
27
+ });
28
+ }
29
+ function BreadcrumbLink({ asChild, className,...props }) {
30
+ return /* @__PURE__ */ jsx(asChild ? Slot : "a", {
31
+ "data-slot": "breadcrumb-link",
32
+ className: cn("hover:text-foreground transition-colors", className),
33
+ ...props
34
+ });
35
+ }
36
+ function BreadcrumbPage({ className,...props }) {
37
+ return /* @__PURE__ */ jsx("span", {
38
+ "data-slot": "breadcrumb-page",
39
+ role: "link",
40
+ "aria-disabled": "true",
41
+ "aria-current": "page",
42
+ className: cn("text-foreground font-normal", className),
43
+ ...props
44
+ });
45
+ }
46
+ function BreadcrumbSeparator({ children, className,...props }) {
47
+ return /* @__PURE__ */ jsx("li", {
48
+ "data-slot": "breadcrumb-separator",
49
+ role: "presentation",
50
+ "aria-hidden": "true",
51
+ className: cn("[&>svg]:size-3.5", className),
52
+ ...props,
53
+ children: children ?? /* @__PURE__ */ jsx(ChevronRight, {})
54
+ });
55
+ }
56
+ function BreadcrumbEllipsis({ className,...props }) {
57
+ return /* @__PURE__ */ jsxs("span", {
58
+ "data-slot": "breadcrumb-ellipsis",
59
+ role: "presentation",
60
+ "aria-hidden": "true",
61
+ className: cn("flex size-9 items-center justify-center", className),
62
+ ...props,
63
+ children: [/* @__PURE__ */ jsx(MoreHorizontal, { className: "size-4" }), /* @__PURE__ */ jsx("span", {
64
+ className: "sr-only",
65
+ children: "More"
66
+ })]
67
+ });
68
+ }
69
+
70
+ //#endregion
71
+ export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator };
72
+ //# sourceMappingURL=breadcrumb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breadcrumb.js","names":[],"sources":["../../ui/breadcrumb.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Slot } from '@radix-ui/react-slot';\nimport { ChevronRight, MoreHorizontal } from 'lucide-react';\n\nimport { cn } from './utils';\n\nfunction Breadcrumb({ ...props }: React.ComponentProps<'nav'>) {\n return <nav aria-label=\"breadcrumb\" data-slot=\"breadcrumb\" {...props} />;\n}\n\nfunction BreadcrumbList({ className, ...props }: React.ComponentProps<'ol'>) {\n return (\n <ol\n data-slot=\"breadcrumb-list\"\n className={cn(\n 'text-muted-foreground flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbItem({ className, ...props }: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot=\"breadcrumb-item\"\n className={cn('inline-flex items-center gap-1.5', className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbLink({\n asChild,\n className,\n ...props\n}: React.ComponentProps<'a'> & {\n asChild?: boolean;\n}) {\n const Comp = asChild ? Slot : 'a';\n\n return (\n <Comp\n data-slot=\"breadcrumb-link\"\n className={cn('hover:text-foreground transition-colors', className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbPage({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"breadcrumb-page\"\n role=\"link\"\n aria-disabled=\"true\"\n aria-current=\"page\"\n className={cn('text-foreground font-normal', className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbSeparator({\n children,\n className,\n ...props\n}: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot=\"breadcrumb-separator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn('[&>svg]:size-3.5', className)}\n {...props}\n >\n {children ?? <ChevronRight />}\n </li>\n );\n}\n\nfunction BreadcrumbEllipsis({\n className,\n ...props\n}: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"breadcrumb-ellipsis\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn('flex size-9 items-center justify-center', className)}\n {...props}\n >\n <MoreHorizontal className=\"size-4\" />\n <span className=\"sr-only\">More</span>\n </span>\n );\n}\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis,\n};\n"],"mappings":";;;;;;;AAMA,SAAS,WAAW,EAAE,GAAG,SAAsC;AAC7D,QAAO,oBAAC;EAAI,cAAW;EAAa,aAAU;EAAa,GAAI;GAAS;;AAG1E,SAAS,eAAe,EAAE,UAAW,GAAG,SAAqC;AAC3E,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,4FACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,eAAe,EAAE,UAAW,GAAG,SAAqC;AAC3E,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GAAG,oCAAoC,UAAU;EAC5D,GAAI;GACJ;;AAIN,SAAS,eAAe,EACtB,SACA,UACA,GAAG,SAGF;AAGD,QACE,oBAHW,UAAU,OAAO;EAI1B,aAAU;EACV,WAAW,GAAG,2CAA2C,UAAU;EACnE,GAAI;GACJ;;AAIN,SAAS,eAAe,EAAE,UAAW,GAAG,SAAuC;AAC7E,QACE,oBAAC;EACC,aAAU;EACV,MAAK;EACL,iBAAc;EACd,gBAAa;EACb,WAAW,GAAG,+BAA+B,UAAU;EACvD,GAAI;GACJ;;AAIN,SAAS,oBAAoB,EAC3B,UACA,UACA,GAAG,SAC0B;AAC7B,QACE,oBAAC;EACC,aAAU;EACV,MAAK;EACL,eAAY;EACZ,WAAW,GAAG,oBAAoB,UAAU;EAC5C,GAAI;YAEH,YAAY,oBAAC,iBAAe;GAC1B;;AAIT,SAAS,mBAAmB,EAC1B,UACA,GAAG,SAC4B;AAC/B,QACE,qBAAC;EACC,aAAU;EACV,MAAK;EACL,eAAY;EACZ,WAAW,GAAG,2CAA2C,UAAU;EACnE,GAAI;aAEJ,oBAAC,kBAAe,WAAU,WAAW,EACrC,oBAAC;GAAK,WAAU;aAAU;IAAW;GAChC"}
@@ -0,0 +1,23 @@
1
+ import * as React$1 from "react";
2
+ import * as react_jsx_runtime211 from "react/jsx-runtime";
3
+ import { VariantProps } from "class-variance-authority";
4
+ import * as class_variance_authority_types21 from "class-variance-authority/types";
5
+
6
+ //#region ui/button.d.ts
7
+ declare const buttonVariants: (props?: ({
8
+ variant?: "default" | "destructive" | "link" | "outline" | "secondary" | "ghost" | null | undefined;
9
+ size?: "default" | "sm" | "lg" | "icon" | null | undefined;
10
+ } & class_variance_authority_types21.ClassProp) | undefined) => string;
11
+ type ButtonProps = React$1.ComponentProps<'button'> & VariantProps<typeof buttonVariants> & {
12
+ asChild?: boolean;
13
+ };
14
+ declare function Button({
15
+ className,
16
+ variant,
17
+ size,
18
+ asChild,
19
+ ...props
20
+ }: ButtonProps): react_jsx_runtime211.JSX.Element;
21
+ //#endregion
22
+ export { Button, ButtonProps, buttonVariants };
23
+ //# sourceMappingURL=button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.d.ts","names":[],"sources":["../../ui/button.tsx"],"sourcesContent":[],"mappings":";;;;;;cAMM;;;IA4BL,gCAAA,CAAA;AA5BK,KA8BM,WAAA,GAAc,OAAA,CAAM,cAF/B,CAAA,QAAA,CAAA,GAGC,YAHD,CAAA,OAGqB,cAHrB,CAAA,GAAA;EAEW,OAAA,CAAA,EAAA,OAAW;CAAG;iBAKjB,MAAA,CAJa;EAAA,SAAA;EAAA,OAAA;EAAA,IAAA;EAAA,OAAA;EAAA,GAAA;AAAA,CAAA,EAUnB,WAVmB,CAAA,EAUR,oBAAA,CAAA,GAAA,CAAA,OAVQ"}
@@ -0,0 +1,44 @@
1
+ import { cn } from "./utils.js";
2
+ import "react";
3
+ import { jsx } from "react/jsx-runtime";
4
+ import { Slot } from "@radix-ui/react-slot";
5
+ import { cva } from "class-variance-authority";
6
+
7
+ //#region ui/button.tsx
8
+ const buttonVariants = cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-hidden focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", {
9
+ variants: {
10
+ variant: {
11
+ default: "bg-primary text-primary-foreground hover:bg-primary/90",
12
+ destructive: "bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
13
+ outline: "border bg-background shadow-2xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
14
+ secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
15
+ ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
16
+ link: "text-primary underline-offset-4 hover:underline"
17
+ },
18
+ size: {
19
+ default: "h-9 px-4 py-2 has-[>svg]:px-3",
20
+ sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
21
+ lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
22
+ icon: "size-9"
23
+ }
24
+ },
25
+ defaultVariants: {
26
+ variant: "default",
27
+ size: "default"
28
+ }
29
+ });
30
+ function Button({ className, variant, size, asChild = false,...props }) {
31
+ return /* @__PURE__ */ jsx(asChild ? Slot : "button", {
32
+ "data-slot": "button",
33
+ className: cn(buttonVariants({
34
+ variant,
35
+ size,
36
+ className
37
+ })),
38
+ ...props
39
+ });
40
+ }
41
+
42
+ //#endregion
43
+ export { Button, buttonVariants };
44
+ //# sourceMappingURL=button.js.map