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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (426) hide show
  1. package/README.md +73 -0
  2. package/dist/index.d.ts +1 -0
  3. package/dist/index.js +0 -0
  4. package/dist/node_modules/sonner/dist/index.js +912 -0
  5. package/dist/node_modules/sonner/dist/index.js.map +1 -0
  6. package/dist/tsconfig.tsbuildinfo +1 -0
  7. package/dist/ui/accordion.d.ts +25 -0
  8. package/dist/ui/accordion.d.ts.map +1 -0
  9. package/dist/ui/accordion.js +49 -0
  10. package/dist/ui/accordion.js.map +1 -0
  11. package/dist/ui/alert-dialog.d.ts +49 -0
  12. package/dist/ui/alert-dialog.d.ts.map +1 -0
  13. package/dist/ui/alert-dialog.js +86 -0
  14. package/dist/ui/alert-dialog.js.map +1 -0
  15. package/dist/ui/alert.d.ts +25 -0
  16. package/dist/ui/alert.d.ts.map +1 -0
  17. package/dist/ui/alert.js +39 -0
  18. package/dist/ui/alert.js.map +1 -0
  19. package/dist/ui/aspect-ratio.d.ts +8 -0
  20. package/dist/ui/aspect-ratio.d.ts.map +1 -0
  21. package/dist/ui/aspect-ratio.js +11 -0
  22. package/dist/ui/aspect-ratio.js.map +1 -0
  23. package/dist/ui/atoms/FilterSelect/FilterSelect.d.ts +8 -0
  24. package/dist/ui/atoms/FilterSelect/FilterSelect.d.ts.map +1 -0
  25. package/dist/ui/atoms/FilterSelect/FilterSelect.js +53 -0
  26. package/dist/ui/atoms/FilterSelect/FilterSelect.js.map +1 -0
  27. package/dist/ui/atoms/FilterSelect/index.d.ts +3 -0
  28. package/dist/ui/atoms/FilterSelect/index.js +3 -0
  29. package/dist/ui/atoms/FilterSelect/types.d.ts +19 -0
  30. package/dist/ui/atoms/FilterSelect/types.d.ts.map +1 -0
  31. package/dist/ui/atoms/FilterSelect/types.js +0 -0
  32. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.d.ts +23 -0
  33. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.d.ts.map +1 -0
  34. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.js +46 -0
  35. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.js.map +1 -0
  36. package/dist/ui/atoms/LoadingSpinner/index.d.ts +2 -0
  37. package/dist/ui/atoms/LoadingSpinner/index.js +3 -0
  38. package/dist/ui/atoms/Pagination/Pagination.d.ts +8 -0
  39. package/dist/ui/atoms/Pagination/Pagination.d.ts.map +1 -0
  40. package/dist/ui/atoms/Pagination/Pagination.js +157 -0
  41. package/dist/ui/atoms/Pagination/Pagination.js.map +1 -0
  42. package/dist/ui/atoms/Pagination/index.d.ts +3 -0
  43. package/dist/ui/atoms/Pagination/index.js +3 -0
  44. package/dist/ui/atoms/Pagination/types.d.ts +16 -0
  45. package/dist/ui/atoms/Pagination/types.d.ts.map +1 -0
  46. package/dist/ui/atoms/Pagination/types.js +0 -0
  47. package/dist/ui/atoms/SearchInput/SearchInput.d.ts +8 -0
  48. package/dist/ui/atoms/SearchInput/SearchInput.d.ts.map +1 -0
  49. package/dist/ui/atoms/SearchInput/SearchInput.js +50 -0
  50. package/dist/ui/atoms/SearchInput/SearchInput.js.map +1 -0
  51. package/dist/ui/atoms/SearchInput/index.d.ts +3 -0
  52. package/dist/ui/atoms/SearchInput/index.js +3 -0
  53. package/dist/ui/atoms/SearchInput/types.d.ts +13 -0
  54. package/dist/ui/atoms/SearchInput/types.d.ts.map +1 -0
  55. package/dist/ui/atoms/SearchInput/types.js +0 -0
  56. package/dist/ui/avatar.d.ts +20 -0
  57. package/dist/ui/avatar.d.ts.map +1 -0
  58. package/dist/ui/avatar.js +34 -0
  59. package/dist/ui/avatar.js.map +1 -0
  60. package/dist/ui/badge.d.ts +20 -0
  61. package/dist/ui/badge.d.ts.map +1 -0
  62. package/dist/ui/badge.js +27 -0
  63. package/dist/ui/badge.js.map +1 -0
  64. package/dist/ui/breadcrumb.d.ts +38 -0
  65. package/dist/ui/breadcrumb.d.ts.map +1 -0
  66. package/dist/ui/breadcrumb.js +72 -0
  67. package/dist/ui/breadcrumb.js.map +1 -0
  68. package/dist/ui/button.d.ts +23 -0
  69. package/dist/ui/button.d.ts.map +1 -0
  70. package/dist/ui/button.js +44 -0
  71. package/dist/ui/button.js.map +1 -0
  72. package/dist/ui/calendar.d.ts +27 -0
  73. package/dist/ui/calendar.d.ts.map +1 -0
  74. package/dist/ui/calendar.js +110 -0
  75. package/dist/ui/calendar.js.map +1 -0
  76. package/dist/ui/card.d.ts +35 -0
  77. package/dist/ui/card.d.ts.map +1 -0
  78. package/dist/ui/card.js +58 -0
  79. package/dist/ui/card.js.map +1 -0
  80. package/dist/ui/carousel.d.ts +48 -0
  81. package/dist/ui/carousel.d.ts.map +1 -0
  82. package/dist/ui/carousel.js +137 -0
  83. package/dist/ui/carousel.js.map +1 -0
  84. package/dist/ui/checkbox.d.ts +12 -0
  85. package/dist/ui/checkbox.d.ts.map +1 -0
  86. package/dist/ui/checkbox.js +26 -0
  87. package/dist/ui/checkbox.js.map +1 -0
  88. package/dist/ui/collapsible.d.ts +16 -0
  89. package/dist/ui/collapsible.d.ts.map +1 -0
  90. package/dist/ui/collapsible.js +29 -0
  91. package/dist/ui/collapsible.js.map +1 -0
  92. package/dist/ui/command.d.ts +53 -0
  93. package/dist/ui/command.d.ts.map +1 -0
  94. package/dist/ui/command.js +91 -0
  95. package/dist/ui/command.js.map +1 -0
  96. package/dist/ui/confirm-dialog.d.ts +31 -0
  97. package/dist/ui/confirm-dialog.d.ts.map +1 -0
  98. package/dist/ui/confirm-dialog.js +34 -0
  99. package/dist/ui/confirm-dialog.js.map +1 -0
  100. package/dist/ui/context-menu.d.ts +35 -0
  101. package/dist/ui/context-menu.d.ts.map +1 -0
  102. package/dist/ui/context-menu.js +85 -0
  103. package/dist/ui/context-menu.js.map +1 -0
  104. package/dist/ui/cta.d.ts +15 -0
  105. package/dist/ui/cta.d.ts.map +1 -0
  106. package/dist/ui/cta.js +39 -0
  107. package/dist/ui/cta.js.map +1 -0
  108. package/dist/ui/date-picker.d.ts +26 -0
  109. package/dist/ui/date-picker.d.ts.map +1 -0
  110. package/dist/ui/date-picker.js +102 -0
  111. package/dist/ui/date-picker.js.map +1 -0
  112. package/dist/ui/date-range-picker.d.ts +26 -0
  113. package/dist/ui/date-range-picker.d.ts.map +1 -0
  114. package/dist/ui/date-range-picker.js +55 -0
  115. package/dist/ui/date-range-picker.js.map +1 -0
  116. package/dist/ui/datetime-picker.d.ts +28 -0
  117. package/dist/ui/datetime-picker.d.ts.map +1 -0
  118. package/dist/ui/datetime-picker.js +45 -0
  119. package/dist/ui/datetime-picker.js.map +1 -0
  120. package/dist/ui/dialog.d.ts +48 -0
  121. package/dist/ui/dialog.d.ts.map +1 -0
  122. package/dist/ui/dialog.js +91 -0
  123. package/dist/ui/dialog.js.map +1 -0
  124. package/dist/ui/drawer.d.ts +45 -0
  125. package/dist/ui/drawer.d.ts.map +1 -0
  126. package/dist/ui/drawer.js +83 -0
  127. package/dist/ui/drawer.js.map +1 -0
  128. package/dist/ui/dropdown-menu.d.ts +78 -0
  129. package/dist/ui/dropdown-menu.d.ts.map +1 -0
  130. package/dist/ui/dropdown-menu.js +128 -0
  131. package/dist/ui/dropdown-menu.js.map +1 -0
  132. package/dist/ui/empty-state.d.ts +29 -0
  133. package/dist/ui/empty-state.d.ts.map +1 -0
  134. package/dist/ui/empty-state.js +43 -0
  135. package/dist/ui/empty-state.js.map +1 -0
  136. package/dist/ui/empty.d.ts +36 -0
  137. package/dist/ui/empty.d.ts.map +1 -0
  138. package/dist/ui/empty.js +62 -0
  139. package/dist/ui/empty.js.map +1 -0
  140. package/dist/ui/field.d.ts +65 -0
  141. package/dist/ui/field.d.ts.map +1 -0
  142. package/dist/ui/field.js +122 -0
  143. package/dist/ui/field.js.map +1 -0
  144. package/dist/ui/focus-on-route-change.d.ts +9 -0
  145. package/dist/ui/focus-on-route-change.d.ts.map +1 -0
  146. package/dist/ui/focus-on-route-change.js +17 -0
  147. package/dist/ui/focus-on-route-change.js.map +1 -0
  148. package/dist/ui/form.d.ts +47 -0
  149. package/dist/ui/form.d.ts.map +1 -0
  150. package/dist/ui/form.js +95 -0
  151. package/dist/ui/form.js.map +1 -0
  152. package/dist/ui/hover-card.d.ts +20 -0
  153. package/dist/ui/hover-card.d.ts.map +1 -0
  154. package/dist/ui/hover-card.js +37 -0
  155. package/dist/ui/hover-card.js.map +1 -0
  156. package/dist/ui/input-group.d.ts +44 -0
  157. package/dist/ui/input-group.d.ts.map +1 -0
  158. package/dist/ui/input-group.js +84 -0
  159. package/dist/ui/input-group.js.map +1 -0
  160. package/dist/ui/input-otp.d.ts +39 -0
  161. package/dist/ui/input-otp.d.ts.map +1 -0
  162. package/dist/ui/input-otp.js +47 -0
  163. package/dist/ui/input-otp.js.map +1 -0
  164. package/dist/ui/input.d.ts +13 -0
  165. package/dist/ui/input.d.ts.map +1 -0
  166. package/dist/ui/input.js +17 -0
  167. package/dist/ui/input.js.map +1 -0
  168. package/dist/ui/label.d.ts +12 -0
  169. package/dist/ui/label.d.ts.map +1 -0
  170. package/dist/ui/label.js +20 -0
  171. package/dist/ui/label.js.map +1 -0
  172. package/dist/ui/link.d.ts +9 -0
  173. package/dist/ui/link.d.ts.map +1 -0
  174. package/dist/ui/link.js +18 -0
  175. package/dist/ui/link.js.map +1 -0
  176. package/dist/ui/live-region.d.ts +17 -0
  177. package/dist/ui/live-region.d.ts.map +1 -0
  178. package/dist/ui/live-region.js +48 -0
  179. package/dist/ui/live-region.js.map +1 -0
  180. package/dist/ui/loading-button.d.ts +20 -0
  181. package/dist/ui/loading-button.d.ts.map +1 -0
  182. package/dist/ui/loading-button.js +21 -0
  183. package/dist/ui/loading-button.js.map +1 -0
  184. package/dist/ui/map/MapBase.d.ts +29 -0
  185. package/dist/ui/map/MapBase.d.ts.map +1 -0
  186. package/dist/ui/map/MapBase.js +48 -0
  187. package/dist/ui/map/MapBase.js.map +1 -0
  188. package/dist/ui/map/MapGeoJsonOverlay.d.ts +16 -0
  189. package/dist/ui/map/MapGeoJsonOverlay.d.ts.map +1 -0
  190. package/dist/ui/map/MapGeoJsonOverlay.js +39 -0
  191. package/dist/ui/map/MapGeoJsonOverlay.js.map +1 -0
  192. package/dist/ui/map/MapHeatmapH3.d.ts +18 -0
  193. package/dist/ui/map/MapHeatmapH3.d.ts.map +1 -0
  194. package/dist/ui/map/MapHeatmapH3.js +52 -0
  195. package/dist/ui/map/MapHeatmapH3.js.map +1 -0
  196. package/dist/ui/map/MapMarkers.d.ts +20 -0
  197. package/dist/ui/map/MapMarkers.d.ts.map +1 -0
  198. package/dist/ui/map/MapMarkers.js +35 -0
  199. package/dist/ui/map/MapMarkers.js.map +1 -0
  200. package/dist/ui/map/index.d.ts +5 -0
  201. package/dist/ui/map/index.js +6 -0
  202. package/dist/ui/marketing/FeatureGrid.d.ts +21 -0
  203. package/dist/ui/marketing/FeatureGrid.d.ts.map +1 -0
  204. package/dist/ui/marketing/FeatureGrid.js +35 -0
  205. package/dist/ui/marketing/FeatureGrid.js.map +1 -0
  206. package/dist/ui/marketing/Hero.d.ts +28 -0
  207. package/dist/ui/marketing/Hero.d.ts.map +1 -0
  208. package/dist/ui/marketing/Hero.js +53 -0
  209. package/dist/ui/marketing/Hero.js.map +1 -0
  210. package/dist/ui/marketing/PricingTable.d.ts +25 -0
  211. package/dist/ui/marketing/PricingTable.d.ts.map +1 -0
  212. package/dist/ui/marketing/PricingTable.js +60 -0
  213. package/dist/ui/marketing/PricingTable.js.map +1 -0
  214. package/dist/ui/marketing/index.d.ts +4 -0
  215. package/dist/ui/marketing/index.js +5 -0
  216. package/dist/ui/menubar.d.ts +85 -0
  217. package/dist/ui/menubar.d.ts.map +1 -0
  218. package/dist/ui/menubar.js +138 -0
  219. package/dist/ui/menubar.js.map +1 -0
  220. package/dist/ui/molecules/Autocomplete/index.d.ts +7 -0
  221. package/dist/ui/molecules/Autocomplete/index.d.ts.map +1 -0
  222. package/dist/ui/molecules/Autocomplete/index.js +86 -0
  223. package/dist/ui/molecules/Autocomplete/index.js.map +1 -0
  224. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.d.ts +8 -0
  225. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.d.ts.map +1 -0
  226. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.js +103 -0
  227. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.js.map +1 -0
  228. package/dist/ui/molecules/SearchAndFilter/index.d.ts +3 -0
  229. package/dist/ui/molecules/SearchAndFilter/index.js +3 -0
  230. package/dist/ui/molecules/SearchAndFilter/types.d.ts +24 -0
  231. package/dist/ui/molecules/SearchAndFilter/types.d.ts.map +1 -0
  232. package/dist/ui/molecules/SearchAndFilter/types.js +0 -0
  233. package/dist/ui/molecules/SkeletonList.d.ts +16 -0
  234. package/dist/ui/molecules/SkeletonList.d.ts.map +1 -0
  235. package/dist/ui/molecules/SkeletonList.js +15 -0
  236. package/dist/ui/molecules/SkeletonList.js.map +1 -0
  237. package/dist/ui/nav-layout.d.ts +71 -0
  238. package/dist/ui/nav-layout.d.ts.map +1 -0
  239. package/dist/ui/nav-layout.js +133 -0
  240. package/dist/ui/nav-layout.js.map +1 -0
  241. package/dist/ui/navigation-menu.d.ts +47 -0
  242. package/dist/ui/navigation-menu.d.ts.map +1 -0
  243. package/dist/ui/navigation-menu.js +83 -0
  244. package/dist/ui/navigation-menu.js.map +1 -0
  245. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.d.ts +30 -0
  246. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.d.ts.map +1 -0
  247. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.js +108 -0
  248. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.js.map +1 -0
  249. package/dist/ui/organisms/ErrorBoundary/index.d.ts +2 -0
  250. package/dist/ui/organisms/ErrorBoundary/index.js +3 -0
  251. package/dist/ui/organisms/ListPage/ListPage.d.ts +29 -0
  252. package/dist/ui/organisms/ListPage/ListPage.d.ts.map +1 -0
  253. package/dist/ui/organisms/ListPage/ListPage.js +198 -0
  254. package/dist/ui/organisms/ListPage/ListPage.js.map +1 -0
  255. package/dist/ui/organisms/ListPage/index.d.ts +3 -0
  256. package/dist/ui/organisms/ListPage/index.js +3 -0
  257. package/dist/ui/organisms/ListPage/types.d.ts +41 -0
  258. package/dist/ui/organisms/ListPage/types.d.ts.map +1 -0
  259. package/dist/ui/organisms/ListPage/types.js +0 -0
  260. package/dist/ui/page-header.d.ts +27 -0
  261. package/dist/ui/page-header.d.ts.map +1 -0
  262. package/dist/ui/page-header.js +40 -0
  263. package/dist/ui/page-header.js.map +1 -0
  264. package/dist/ui/pagination.d.ts +50 -0
  265. package/dist/ui/pagination.d.ts.map +1 -0
  266. package/dist/ui/pagination.js +65 -0
  267. package/dist/ui/pagination.js.map +1 -0
  268. package/dist/ui/popover.d.ts +23 -0
  269. package/dist/ui/popover.d.ts.map +1 -0
  270. package/dist/ui/popover.js +40 -0
  271. package/dist/ui/popover.js.map +1 -0
  272. package/dist/ui/progress.d.ts +13 -0
  273. package/dist/ui/progress.d.ts.map +1 -0
  274. package/dist/ui/progress.js +25 -0
  275. package/dist/ui/progress.js.map +1 -0
  276. package/dist/ui/radio-group.d.ts +16 -0
  277. package/dist/ui/radio-group.d.ts.map +1 -0
  278. package/dist/ui/radio-group.js +33 -0
  279. package/dist/ui/radio-group.js.map +1 -0
  280. package/dist/ui/resizable.d.ts +36 -0
  281. package/dist/ui/resizable.d.ts.map +1 -0
  282. package/dist/ui/resizable.js +26 -0
  283. package/dist/ui/resizable.js.map +1 -0
  284. package/dist/ui/route-announcer.d.ts +11 -0
  285. package/dist/ui/route-announcer.d.ts.map +1 -0
  286. package/dist/ui/route-announcer.js +23 -0
  287. package/dist/ui/route-announcer.js.map +1 -0
  288. package/dist/ui/scroll-area.d.ts +18 -0
  289. package/dist/ui/scroll-area.d.ts.map +1 -0
  290. package/dist/ui/scroll-area.js +41 -0
  291. package/dist/ui/scroll-area.js.map +1 -0
  292. package/dist/ui/section.d.ts +27 -0
  293. package/dist/ui/section.d.ts.map +1 -0
  294. package/dist/ui/section.js +63 -0
  295. package/dist/ui/section.js.map +1 -0
  296. package/dist/ui/select.d.ts +52 -0
  297. package/dist/ui/select.d.ts.map +1 -0
  298. package/dist/ui/select.js +101 -0
  299. package/dist/ui/select.js.map +1 -0
  300. package/dist/ui/separator.d.ts +14 -0
  301. package/dist/ui/separator.d.ts.map +1 -0
  302. package/dist/ui/separator.js +22 -0
  303. package/dist/ui/separator.js.map +1 -0
  304. package/dist/ui/sheet.d.ts +41 -0
  305. package/dist/ui/sheet.d.ts.map +1 -0
  306. package/dist/ui/sheet.js +87 -0
  307. package/dist/ui/sheet.js.map +1 -0
  308. package/dist/ui/sidebar.d.ts +167 -0
  309. package/dist/ui/sidebar.d.ts.map +1 -0
  310. package/dist/ui/sidebar.js +380 -0
  311. package/dist/ui/sidebar.js.map +1 -0
  312. package/dist/ui/skeleton.d.ts +10 -0
  313. package/dist/ui/skeleton.d.ts.map +1 -0
  314. package/dist/ui/skeleton.js +15 -0
  315. package/dist/ui/skeleton.js.map +1 -0
  316. package/dist/ui/skip-link.d.ts +17 -0
  317. package/dist/ui/skip-link.d.ts.map +1 -0
  318. package/dist/ui/skip-link.js +17 -0
  319. package/dist/ui/skip-link.js.map +1 -0
  320. package/dist/ui/slider.d.ts +16 -0
  321. package/dist/ui/slider.d.ts.map +1 -0
  322. package/dist/ui/slider.js +41 -0
  323. package/dist/ui/slider.js.map +1 -0
  324. package/dist/ui/sonner.d.ts +10 -0
  325. package/dist/ui/sonner.d.ts.map +1 -0
  326. package/dist/ui/sonner.js +25 -0
  327. package/dist/ui/sonner.js.map +1 -0
  328. package/dist/ui/stack.d.ts +48 -0
  329. package/dist/ui/stack.d.ts.map +1 -0
  330. package/dist/ui/stack.js +158 -0
  331. package/dist/ui/stack.js.map +1 -0
  332. package/dist/ui/stat-card-group.d.ts +19 -0
  333. package/dist/ui/stat-card-group.d.ts.map +1 -0
  334. package/dist/ui/stat-card-group.js +39 -0
  335. package/dist/ui/stat-card-group.js.map +1 -0
  336. package/dist/ui/stepper.d.ts +23 -0
  337. package/dist/ui/stepper.d.ts.map +1 -0
  338. package/dist/ui/stepper.js +37 -0
  339. package/dist/ui/stepper.js.map +1 -0
  340. package/dist/ui/switch.d.ts +12 -0
  341. package/dist/ui/switch.d.ts.map +1 -0
  342. package/dist/ui/switch.js +24 -0
  343. package/dist/ui/switch.js.map +1 -0
  344. package/dist/ui/table.d.ts +39 -0
  345. package/dist/ui/table.d.ts.map +1 -0
  346. package/dist/ui/table.js +72 -0
  347. package/dist/ui/table.js.map +1 -0
  348. package/dist/ui/tabs.d.ts +24 -0
  349. package/dist/ui/tabs.d.ts.map +1 -0
  350. package/dist/ui/tabs.js +41 -0
  351. package/dist/ui/tabs.js.map +1 -0
  352. package/dist/ui/text.d.ts +16 -0
  353. package/dist/ui/text.d.ts.map +1 -0
  354. package/dist/ui/text.js +16 -0
  355. package/dist/ui/text.js.map +1 -0
  356. package/dist/ui/textarea.d.ts +12 -0
  357. package/dist/ui/textarea.d.ts.map +1 -0
  358. package/dist/ui/textarea.js +16 -0
  359. package/dist/ui/textarea.js.map +1 -0
  360. package/dist/ui/time-picker.d.ts +22 -0
  361. package/dist/ui/time-picker.d.ts.map +1 -0
  362. package/dist/ui/time-picker.js +82 -0
  363. package/dist/ui/time-picker.js.map +1 -0
  364. package/dist/ui/toast.d.ts +20 -0
  365. package/dist/ui/toast.d.ts.map +1 -0
  366. package/dist/ui/toast.js +63 -0
  367. package/dist/ui/toast.js.map +1 -0
  368. package/dist/ui/toaster.d.ts +7 -0
  369. package/dist/ui/toaster.d.ts.map +1 -0
  370. package/dist/ui/toaster.js +28 -0
  371. package/dist/ui/toaster.js.map +1 -0
  372. package/dist/ui/toggle-group.d.ts +24 -0
  373. package/dist/ui/toggle-group.d.ts.map +1 -0
  374. package/dist/ui/toggle-group.js +49 -0
  375. package/dist/ui/toggle-group.js.map +1 -0
  376. package/dist/ui/toggle.d.ts +20 -0
  377. package/dist/ui/toggle.d.ts.map +1 -0
  378. package/dist/ui/toggle.js +42 -0
  379. package/dist/ui/toggle.js.map +1 -0
  380. package/dist/ui/tooltip.d.ts +24 -0
  381. package/dist/ui/tooltip.d.ts.map +1 -0
  382. package/dist/ui/tooltip.js +41 -0
  383. package/dist/ui/tooltip.js.map +1 -0
  384. package/dist/ui/typography.d.ts +65 -0
  385. package/dist/ui/typography.d.ts.map +1 -0
  386. package/dist/ui/typography.js +87 -0
  387. package/dist/ui/typography.js.map +1 -0
  388. package/dist/ui/use-media-query.d.ts +5 -0
  389. package/dist/ui/use-media-query.d.ts.map +1 -0
  390. package/dist/ui/use-media-query.js +20 -0
  391. package/dist/ui/use-media-query.js.map +1 -0
  392. package/dist/ui/use-mobile.d.ts +5 -0
  393. package/dist/ui/use-mobile.d.ts.map +1 -0
  394. package/dist/ui/use-mobile.js +21 -0
  395. package/dist/ui/use-mobile.js.map +1 -0
  396. package/dist/ui/use-reduced-motion.d.ts +5 -0
  397. package/dist/ui/use-reduced-motion.d.ts.map +1 -0
  398. package/dist/ui/use-reduced-motion.js +18 -0
  399. package/dist/ui/use-reduced-motion.js.map +1 -0
  400. package/dist/ui/use-toast.d.ts +50 -0
  401. package/dist/ui/use-toast.d.ts.map +1 -0
  402. package/dist/ui/use-toast.js +123 -0
  403. package/dist/ui/use-toast.js.map +1 -0
  404. package/dist/ui/useListState.d.ts +34 -0
  405. package/dist/ui/useListState.d.ts.map +1 -0
  406. package/dist/ui/useListState.js +75 -0
  407. package/dist/ui/useListState.js.map +1 -0
  408. package/dist/ui/usecases/UseCaseCard.d.ts +19 -0
  409. package/dist/ui/usecases/UseCaseCard.d.ts.map +1 -0
  410. package/dist/ui/usecases/UseCaseCard.js +35 -0
  411. package/dist/ui/usecases/UseCaseCard.js.map +1 -0
  412. package/dist/ui/usecases/UserStoryCard.d.ts +15 -0
  413. package/dist/ui/usecases/UserStoryCard.d.ts.map +1 -0
  414. package/dist/ui/usecases/UserStoryCard.js +36 -0
  415. package/dist/ui/usecases/UserStoryCard.js.map +1 -0
  416. package/dist/ui/usecases/index.d.ts +3 -0
  417. package/dist/ui/usecases/index.js +4 -0
  418. package/dist/ui/utils.d.ts +7 -0
  419. package/dist/ui/utils.d.ts.map +1 -0
  420. package/dist/ui/utils.js +11 -0
  421. package/dist/ui/utils.js.map +1 -0
  422. package/dist/ui/visually-hidden.d.ts +10 -0
  423. package/dist/ui/visually-hidden.d.ts.map +1 -0
  424. package/dist/ui/visually-hidden.js +31 -0
  425. package/dist/ui/visually-hidden.js.map +1 -0
  426. package/package.json +222 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkeletonList.d.ts","names":[],"sources":["../../../ui/molecules/SkeletonList.tsx"],"sourcesContent":[],"mappings":";;;UAGU,KAAA;;;EAAA,aAAK,CAAA,EAAA,MAAA;AAMf;AACE,iBADc,YAAA,CACd;EAAA,KAAA;EAAA,SAAA;EAAA;AAAA,CAAA,EAGC,KAHD,CAAA,EAGM,oBAAA,CAAA,GAAA,CAAA,OAHN"}
@@ -0,0 +1,15 @@
1
+ import { Skeleton } from "../skeleton.js";
2
+ import "react";
3
+ import { jsx } from "react/jsx-runtime";
4
+
5
+ //#region ui/molecules/SkeletonList.tsx
6
+ function SkeletonList({ count = 6, className = "", itemClassName = "" }) {
7
+ return /* @__PURE__ */ jsx("div", {
8
+ className: `space-y-3 ${className}`,
9
+ children: Array.from({ length: count }).map((_, i) => /* @__PURE__ */ jsx(Skeleton, { className: `h-20 rounded-md ${itemClassName}` }, i))
10
+ });
11
+ }
12
+
13
+ //#endregion
14
+ export { SkeletonList };
15
+ //# sourceMappingURL=SkeletonList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkeletonList.js","names":[],"sources":["../../../ui/molecules/SkeletonList.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Skeleton } from '../skeleton';\n\ninterface Props {\n count?: number;\n className?: string;\n itemClassName?: string;\n}\n\nexport function SkeletonList({\n count = 6,\n className = '',\n itemClassName = '',\n}: Props) {\n return (\n <div className={`space-y-3 ${className}`}>\n {Array.from({ length: count }).map((_, i) => (\n <Skeleton key={i} className={`h-20 rounded-md ${itemClassName}`} />\n ))}\n </div>\n );\n}\n"],"mappings":";;;;;AASA,SAAgB,aAAa,EAC3B,QAAQ,GACR,YAAY,IACZ,gBAAgB,MACR;AACR,QACE,oBAAC;EAAI,WAAW,aAAa;YAC1B,MAAM,KAAK,EAAE,QAAQ,OAAO,CAAC,CAAC,KAAK,GAAG,MACrC,oBAAC,YAAiB,WAAW,mBAAmB,mBAAjC,EAAoD,CACnE;GACE"}
@@ -0,0 +1,71 @@
1
+ import { NavigationMenu, NavigationMenuContent, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger } from "./navigation-menu.js";
2
+ import * as React$1 from "react";
3
+ import * as react_jsx_runtime177 from "react/jsx-runtime";
4
+ import * as class_variance_authority_types7 from "class-variance-authority/types";
5
+
6
+ //#region ui/nav-layout.d.ts
7
+ declare const navPanelVariants: (props?: ({
8
+ width?: "sm" | "lg" | "md" | "full" | null | undefined;
9
+ padding?: "none" | "sm" | "md" | null | undefined;
10
+ } & class_variance_authority_types7.ClassProp) | undefined) => string;
11
+ interface NavPanelProps extends React$1.ComponentPropsWithoutRef<'div'> {
12
+ width?: 'sm' | 'md' | 'lg' | 'full';
13
+ padding?: 'none' | 'sm' | 'md';
14
+ }
15
+ declare function NavPanel({
16
+ width,
17
+ padding,
18
+ className,
19
+ ...props
20
+ }: NavPanelProps): react_jsx_runtime177.JSX.Element;
21
+ declare function NavSimpleList({
22
+ title,
23
+ items
24
+ }: {
25
+ title?: React$1.ReactNode;
26
+ items: {
27
+ href: string;
28
+ label: string;
29
+ description?: string;
30
+ }[];
31
+ }): react_jsx_runtime177.JSX.Element;
32
+ declare function NavColumns({
33
+ columns
34
+ }: {
35
+ columns: {
36
+ title?: string;
37
+ items: {
38
+ href: string;
39
+ label: string;
40
+ description?: string;
41
+ }[];
42
+ }[];
43
+ }): react_jsx_runtime177.JSX.Element;
44
+ declare function NavCategorizedWithPreview({
45
+ categories,
46
+ modules,
47
+ activeCategory,
48
+ setActiveCategory,
49
+ activeKey,
50
+ setActiveKey,
51
+ preview
52
+ }: {
53
+ categories: {
54
+ key: string;
55
+ label: string;
56
+ }[];
57
+ modules: {
58
+ key: string;
59
+ title: string;
60
+ description?: string;
61
+ categories: string[];
62
+ }[];
63
+ activeCategory: string;
64
+ setActiveCategory: (k: string) => void;
65
+ activeKey: string | null;
66
+ setActiveKey: (k: string | null) => void;
67
+ preview: React$1.ReactNode;
68
+ }): react_jsx_runtime177.JSX.Element;
69
+ //#endregion
70
+ export { NavCategorizedWithPreview, NavColumns, NavigationMenuContent as NavContent, NavigationMenuItem as NavItem, NavigationMenuLink as NavLink, NavigationMenuList as NavList, NavPanel, NavPanelProps, NavigationMenu as NavRoot, NavSimpleList, NavigationMenuTrigger as NavTrigger, navPanelVariants };
71
+ //# sourceMappingURL=nav-layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nav-layout.d.ts","names":[],"sources":["../../ui/nav-layout.tsx"],"sourcesContent":[],"mappings":";;;;;;cAYa;;;IAkBX,+BAAA,CAAA;AAlBW,UAoBI,aAAA,SAAsB,OAAA,CAAM,wBAF3C,CAAA,KAAA,CAAA,CAAA;EAEe,KAAA,CAAA,EAAA,IAAA,GAAA,IAAc,GAAA,IAAA,GAAQ,MAAA;EAKvB,OAAA,CAAA,EAAA,MAAQ,GAAA,IAAA,GAAA,IAAA;;AAEtB,iBAFc,QAAA,CAEd;EAAA,KAAA;EAAA,OAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAGC,aAHD,CAAA,EAGc,oBAAA,CAAA,GAAA,CAAA,OAHd;AACA,iBAYc,aAAA,CAZd;EAAA,KAAA;EAAA;CAAA,EAAA;EAEC,KAAA,CAAA,EAcO,OAAA,CAAM,SAdb;EAAa,KAAA,EAAA;IAAA,IAAA,EAAA,MAAA;IAUA,KAAA,EAAA,MAAa;IAC3B,WAAA,CAAA,EAAA,MAAA;EACA,CAAA,EAAA;CAEQ,CAAA,EAET,oBAAA,CAAA,GAAA,CAAA,OAFe;AAEf,iBA4Be,UAAA,CA5Bf;EAAA;CAAA,EAAA;EAAA,OAAA,EAAA;IA4Be,KAAA,CAAA,EAAA,MAAU;IA2CV,KAAA,EAAA;MACd,IAAA,EAAA,MAAA;MACA,KAAA,EAAA,MAAA;MACA,WAAA,CAAA,EAAA,MAAA;IACA,CAAA,EAAA;EACA,CAAA,EAAA;CACA,CAAA,EA1CD,oBAAA,CAAA,GAAA,CAAA,OA0CC;AACA,iBAPc,yBAAA,CAOd;EAAA,UAAA;EAAA,OAAA;EAAA,cAAA;EAAA,iBAAA;EAAA,SAAA;EAAA,YAAA;EAAA;CAAA,EAAA;EAaS,UAAM,EAAA;IAChB,GAAA,EAAA,MAAA;IAAA,KAAA,EAAA,MAAA;;;;;;;;;;;;WADU,OAAA,CAAM;IAChB,oBAAA,CAAA,GAAA,CAAA"}
@@ -0,0 +1,133 @@
1
+ import { cn } from "./utils.js";
2
+ import { NavigationMenu, NavigationMenuContent, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger } from "./navigation-menu.js";
3
+ import * as React$1 from "react";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ import { cva } from "class-variance-authority";
6
+
7
+ //#region ui/nav-layout.tsx
8
+ const navPanelVariants = cva("", {
9
+ variants: {
10
+ width: {
11
+ sm: "w-[280px]",
12
+ md: "w-[500px]",
13
+ lg: "w-[900px]",
14
+ full: "w-[calc(100vw-2rem)]"
15
+ },
16
+ padding: {
17
+ none: "",
18
+ sm: "p-2",
19
+ md: "p-3"
20
+ }
21
+ },
22
+ defaultVariants: {
23
+ width: "lg",
24
+ padding: "md"
25
+ }
26
+ });
27
+ function NavPanel({ width, padding, className,...props }) {
28
+ return /* @__PURE__ */ jsx("div", {
29
+ className: cn(navPanelVariants({
30
+ width,
31
+ padding
32
+ }), className),
33
+ ...props
34
+ });
35
+ }
36
+ function NavSimpleList({ title, items }) {
37
+ return /* @__PURE__ */ jsxs("div", { children: [title && /* @__PURE__ */ jsx("div", {
38
+ className: "mb-2 text-base font-semibold",
39
+ children: title
40
+ }), /* @__PURE__ */ jsx("ul", {
41
+ className: "grid w-[280px] gap-2",
42
+ children: items.map((it) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(NavigationMenuLink, {
43
+ asChild: true,
44
+ children: /* @__PURE__ */ jsxs("a", {
45
+ href: it.href,
46
+ className: "hover:bg-accent block rounded-md p-2",
47
+ children: [/* @__PURE__ */ jsx("div", {
48
+ className: "text-base font-medium",
49
+ children: it.label
50
+ }), it.description && /* @__PURE__ */ jsx("div", {
51
+ className: "text-muted-foreground line-clamp-2 text-sm",
52
+ children: it.description
53
+ })]
54
+ })
55
+ }) }, it.href))
56
+ })] });
57
+ }
58
+ function NavColumns({ columns }) {
59
+ return /* @__PURE__ */ jsx("div", {
60
+ className: "grid w-[500px] grid-cols-2 gap-3",
61
+ children: columns.map((col, idx) => /* @__PURE__ */ jsxs("div", { children: [col.title && /* @__PURE__ */ jsx("div", {
62
+ className: "text-muted-foreground mb-2 text-base font-semibold",
63
+ children: col.title
64
+ }), /* @__PURE__ */ jsx("ul", {
65
+ className: "grid gap-2",
66
+ children: col.items.map((it) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(NavigationMenuLink, {
67
+ asChild: true,
68
+ children: /* @__PURE__ */ jsxs("a", {
69
+ href: it.href,
70
+ className: "hover:bg-accent block rounded-md p-2",
71
+ children: [/* @__PURE__ */ jsx("div", {
72
+ className: "text-base font-medium",
73
+ children: it.label
74
+ }), it.description && /* @__PURE__ */ jsx("div", {
75
+ className: "text-muted-foreground line-clamp-2 text-sm",
76
+ children: it.description
77
+ })]
78
+ })
79
+ }) }, it.href))
80
+ })] }, idx))
81
+ });
82
+ }
83
+ function NavCategorizedWithPreview({ categories, modules, activeCategory, setActiveCategory, activeKey, setActiveKey, preview }) {
84
+ const visible = React$1.useMemo(() => modules.filter((m) => activeCategory === "all" || m.categories.includes(activeCategory)), [modules, activeCategory]);
85
+ return /* @__PURE__ */ jsxs("div", {
86
+ className: "flex items-start gap-3",
87
+ children: [
88
+ /* @__PURE__ */ jsxs("div", {
89
+ className: "max-h-96 w-48 shrink-0 overflow-auto pr-1",
90
+ children: [/* @__PURE__ */ jsx("button", {
91
+ className: `hover:bg-muted w-full rounded-md px-3 py-2 text-left text-base transition-colors ${activeCategory === "all" ? "bg-muted" : ""}`,
92
+ onMouseEnter: () => setActiveCategory("all"),
93
+ onFocus: () => setActiveCategory("all"),
94
+ onClick: () => setActiveCategory("all"),
95
+ children: "All"
96
+ }), categories.map((c) => /* @__PURE__ */ jsx("button", {
97
+ className: `hover:bg-muted w-full rounded-md px-3 py-2 text-left text-base transition-colors ${activeCategory === c.key ? "bg-muted" : ""}`,
98
+ onMouseEnter: () => setActiveCategory(c.key),
99
+ onFocus: () => setActiveCategory(c.key),
100
+ onClick: () => setActiveCategory(c.key),
101
+ children: c.label
102
+ }, c.key))]
103
+ }),
104
+ /* @__PURE__ */ jsx("div", {
105
+ className: "grid max-h-96 flex-1 grid-cols-1 gap-1 overflow-auto pr-1",
106
+ children: visible.map((m) => /* @__PURE__ */ jsx(NavigationMenuLink, {
107
+ asChild: true,
108
+ children: /* @__PURE__ */ jsxs("a", {
109
+ href: `/modules/${m.key}`,
110
+ className: "hover:bg-muted rounded-md px-3 py-2 text-left transition-colors",
111
+ onMouseEnter: () => setActiveKey(m.key),
112
+ onFocus: () => setActiveKey(m.key),
113
+ children: [/* @__PURE__ */ jsx("div", {
114
+ className: "text-base font-medium",
115
+ children: m.title
116
+ }), m.description && /* @__PURE__ */ jsx("div", {
117
+ className: "text-muted-foreground line-clamp-2 text-sm",
118
+ children: m.description
119
+ })]
120
+ })
121
+ }, m.key))
122
+ }),
123
+ /* @__PURE__ */ jsx("div", {
124
+ className: "w-[320px] shrink-0",
125
+ children: preview
126
+ })
127
+ ]
128
+ });
129
+ }
130
+
131
+ //#endregion
132
+ export { NavCategorizedWithPreview, NavColumns, NavigationMenuContent as NavContent, NavigationMenuItem as NavItem, NavigationMenuLink as NavLink, NavigationMenuList as NavList, NavPanel, NavigationMenu as NavRoot, NavSimpleList, NavigationMenuTrigger as NavTrigger, navPanelVariants };
133
+ //# sourceMappingURL=nav-layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nav-layout.js","names":["React"],"sources":["../../ui/nav-layout.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n NavigationMenu,\n NavigationMenuContent,\n NavigationMenuItem,\n NavigationMenuLink,\n NavigationMenuList,\n NavigationMenuTrigger,\n} from './navigation-menu';\nimport { cva } from 'class-variance-authority';\nimport { cn } from './utils';\n\nexport const navPanelVariants = cva('', {\n variants: {\n width: {\n sm: 'w-[280px]',\n md: 'w-[500px]',\n lg: 'w-[900px]',\n full: 'w-[calc(100vw-2rem)]',\n },\n padding: {\n none: '',\n sm: 'p-2',\n md: 'p-3',\n },\n },\n defaultVariants: {\n width: 'lg',\n padding: 'md',\n },\n});\n\nexport interface NavPanelProps extends React.ComponentPropsWithoutRef<'div'> {\n width?: 'sm' | 'md' | 'lg' | 'full';\n padding?: 'none' | 'sm' | 'md';\n}\n\nexport function NavPanel({\n width,\n padding,\n className,\n ...props\n}: NavPanelProps) {\n return (\n <div\n className={cn(navPanelVariants({ width, padding }), className)}\n {...props}\n />\n );\n}\n\n// Simple list layout\nexport function NavSimpleList({\n title,\n items,\n}: {\n title?: React.ReactNode;\n items: { href: string; label: string; description?: string }[];\n}) {\n return (\n <div>\n {title && <div className=\"mb-2 text-base font-semibold\">{title}</div>}\n <ul className=\"grid w-[280px] gap-2\">\n {items.map((it) => (\n <li key={it.href}>\n <NavigationMenuLink asChild>\n <a\n href={it.href}\n className=\"hover:bg-accent block rounded-md p-2\"\n >\n <div className=\"text-base font-medium\">{it.label}</div>\n {it.description && (\n <div className=\"text-muted-foreground line-clamp-2 text-sm\">\n {it.description}\n </div>\n )}\n </a>\n </NavigationMenuLink>\n </li>\n ))}\n </ul>\n </div>\n );\n}\n\n// Columns layout\nexport function NavColumns({\n columns,\n}: {\n columns: {\n title?: string;\n items: { href: string; label: string; description?: string }[];\n }[];\n}) {\n return (\n <div className=\"grid w-[500px] grid-cols-2 gap-3\">\n {columns.map((col, idx) => (\n <div key={idx}>\n {col.title && (\n <div className=\"text-muted-foreground mb-2 text-base font-semibold\">\n {col.title}\n </div>\n )}\n <ul className=\"grid gap-2\">\n {col.items.map((it) => (\n <li key={it.href}>\n <NavigationMenuLink asChild>\n <a\n href={it.href}\n className=\"hover:bg-accent block rounded-md p-2\"\n >\n <div className=\"text-base font-medium\">{it.label}</div>\n {it.description && (\n <div className=\"text-muted-foreground line-clamp-2 text-sm\">\n {it.description}\n </div>\n )}\n </a>\n </NavigationMenuLink>\n </li>\n ))}\n </ul>\n </div>\n ))}\n </div>\n );\n}\n\n// Categorized with preview layout\nexport function NavCategorizedWithPreview({\n categories,\n modules,\n activeCategory,\n setActiveCategory,\n activeKey,\n setActiveKey,\n preview,\n}: {\n categories: { key: string; label: string }[];\n modules: {\n key: string;\n title: string;\n description?: string;\n categories: string[];\n }[];\n activeCategory: string;\n setActiveCategory: (k: string) => void;\n activeKey: string | null;\n setActiveKey: (k: string | null) => void;\n preview: React.ReactNode;\n}) {\n const visible = React.useMemo(\n () =>\n modules.filter(\n (m) => activeCategory === 'all' || m.categories.includes(activeCategory)\n ),\n [modules, activeCategory]\n );\n\n return (\n <div className=\"flex items-start gap-3\">\n <div className=\"max-h-96 w-48 shrink-0 overflow-auto pr-1\">\n <button\n className={`hover:bg-muted w-full rounded-md px-3 py-2 text-left text-base transition-colors ${\n activeCategory === 'all' ? 'bg-muted' : ''\n }`}\n onMouseEnter={() => setActiveCategory('all')}\n onFocus={() => setActiveCategory('all')}\n onClick={() => setActiveCategory('all')}\n >\n All\n </button>\n {categories.map((c) => (\n <button\n key={c.key}\n className={`hover:bg-muted w-full rounded-md px-3 py-2 text-left text-base transition-colors ${\n activeCategory === c.key ? 'bg-muted' : ''\n }`}\n onMouseEnter={() => setActiveCategory(c.key)}\n onFocus={() => setActiveCategory(c.key)}\n onClick={() => setActiveCategory(c.key)}\n >\n {c.label}\n </button>\n ))}\n </div>\n <div className=\"grid max-h-96 flex-1 grid-cols-1 gap-1 overflow-auto pr-1\">\n {visible.map((m) => (\n <NavigationMenuLink asChild key={m.key}>\n <a\n href={`/modules/${m.key}`}\n className=\"hover:bg-muted rounded-md px-3 py-2 text-left transition-colors\"\n onMouseEnter={() => setActiveKey(m.key)}\n onFocus={() => setActiveKey(m.key)}\n >\n <div className=\"text-base font-medium\">{m.title}</div>\n {m.description && (\n <div className=\"text-muted-foreground line-clamp-2 text-sm\">\n {m.description}\n </div>\n )}\n </a>\n </NavigationMenuLink>\n ))}\n </div>\n <div className=\"w-[320px] shrink-0\">{preview}</div>\n </div>\n );\n}\n\nexport {\n NavigationMenu as NavRoot,\n NavigationMenuList as NavList,\n NavigationMenuItem as NavItem,\n NavigationMenuTrigger as NavTrigger,\n NavigationMenuContent as NavContent,\n NavigationMenuLink as NavLink,\n};\n"],"mappings":";;;;;;;AAYA,MAAa,mBAAmB,IAAI,IAAI;CACtC,UAAU;EACR,OAAO;GACL,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,MAAM;GACP;EACD,SAAS;GACP,MAAM;GACN,IAAI;GACJ,IAAI;GACL;EACF;CACD,iBAAiB;EACf,OAAO;EACP,SAAS;EACV;CACF,CAAC;AAOF,SAAgB,SAAS,EACvB,OACA,SACA,UACA,GAAG,SACa;AAChB,QACE,oBAAC;EACC,WAAW,GAAG,iBAAiB;GAAE;GAAO;GAAS,CAAC,EAAE,UAAU;EAC9D,GAAI;GACJ;;AAKN,SAAgB,cAAc,EAC5B,OACA,SAIC;AACD,QACE,qBAAC,oBACE,SAAS,oBAAC;EAAI,WAAU;YAAgC;GAAY,EACrE,oBAAC;EAAG,WAAU;YACX,MAAM,KAAK,OACV,oBAAC,kBACC,oBAAC;GAAmB;aAClB,qBAAC;IACC,MAAM,GAAG;IACT,WAAU;eAEV,oBAAC;KAAI,WAAU;eAAyB,GAAG;MAAY,EACtD,GAAG,eACF,oBAAC;KAAI,WAAU;eACZ,GAAG;MACA;KAEN;IACe,IAbd,GAAG,KAcP,CACL;GACC,IACD;;AAKV,SAAgB,WAAW,EACzB,WAMC;AACD,QACE,oBAAC;EAAI,WAAU;YACZ,QAAQ,KAAK,KAAK,QACjB,qBAAC,oBACE,IAAI,SACH,oBAAC;GAAI,WAAU;aACZ,IAAI;IACD,EAER,oBAAC;GAAG,WAAU;aACX,IAAI,MAAM,KAAK,OACd,oBAAC,kBACC,oBAAC;IAAmB;cAClB,qBAAC;KACC,MAAM,GAAG;KACT,WAAU;gBAEV,oBAAC;MAAI,WAAU;gBAAyB,GAAG;OAAY,EACtD,GAAG,eACF,oBAAC;MAAI,WAAU;gBACZ,GAAG;OACA;MAEN;KACe,IAbd,GAAG,KAcP,CACL;IACC,KAxBG,IAyBJ,CACN;GACE;;AAKV,SAAgB,0BAA0B,EACxC,YACA,SACA,gBACA,mBACA,WACA,cACA,WAcC;CACD,MAAM,UAAUA,QAAM,cAElB,QAAQ,QACL,MAAM,mBAAmB,SAAS,EAAE,WAAW,SAAS,eAAe,CACzE,EACH,CAAC,SAAS,eAAe,CAC1B;AAED,QACE,qBAAC;EAAI,WAAU;;GACb,qBAAC;IAAI,WAAU;eACb,oBAAC;KACC,WAAW,oFACT,mBAAmB,QAAQ,aAAa;KAE1C,oBAAoB,kBAAkB,MAAM;KAC5C,eAAe,kBAAkB,MAAM;KACvC,eAAe,kBAAkB,MAAM;eACxC;MAEQ,EACR,WAAW,KAAK,MACf,oBAAC;KAEC,WAAW,oFACT,mBAAmB,EAAE,MAAM,aAAa;KAE1C,oBAAoB,kBAAkB,EAAE,IAAI;KAC5C,eAAe,kBAAkB,EAAE,IAAI;KACvC,eAAe,kBAAkB,EAAE,IAAI;eAEtC,EAAE;OARE,EAAE,IASA,CACT;KACE;GACN,oBAAC;IAAI,WAAU;cACZ,QAAQ,KAAK,MACZ,oBAAC;KAAmB;eAClB,qBAAC;MACC,MAAM,YAAY,EAAE;MACpB,WAAU;MACV,oBAAoB,aAAa,EAAE,IAAI;MACvC,eAAe,aAAa,EAAE,IAAI;iBAElC,oBAAC;OAAI,WAAU;iBAAyB,EAAE;QAAY,EACrD,EAAE,eACD,oBAAC;OAAI,WAAU;iBACZ,EAAE;QACC;OAEN;OAb2B,EAAE,IAcd,CACrB;KACE;GACN,oBAAC;IAAI,WAAU;cAAsB;KAAc;;GAC/C"}
@@ -0,0 +1,47 @@
1
+ import * as React$1 from "react";
2
+ import * as react_jsx_runtime181 from "react/jsx-runtime";
3
+ import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
4
+ import * as class_variance_authority_types8 from "class-variance-authority/types";
5
+
6
+ //#region ui/navigation-menu.d.ts
7
+ declare function NavigationMenu({
8
+ className,
9
+ children,
10
+ viewport,
11
+ ...props
12
+ }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Root> & {
13
+ viewport?: boolean;
14
+ }): react_jsx_runtime181.JSX.Element;
15
+ declare function NavigationMenuList({
16
+ className,
17
+ ...props
18
+ }: React$1.ComponentProps<typeof NavigationMenuPrimitive.List>): react_jsx_runtime181.JSX.Element;
19
+ declare function NavigationMenuItem({
20
+ className,
21
+ ...props
22
+ }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Item>): react_jsx_runtime181.JSX.Element;
23
+ declare const navigationMenuTriggerStyle: (props?: class_variance_authority_types8.ClassProp | undefined) => string;
24
+ declare function NavigationMenuTrigger({
25
+ className,
26
+ children,
27
+ ...props
28
+ }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Trigger>): react_jsx_runtime181.JSX.Element;
29
+ declare function NavigationMenuContent({
30
+ className,
31
+ ...props
32
+ }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Content>): react_jsx_runtime181.JSX.Element;
33
+ declare function NavigationMenuViewport({
34
+ className,
35
+ ...props
36
+ }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Viewport>): react_jsx_runtime181.JSX.Element;
37
+ declare function NavigationMenuLink({
38
+ className,
39
+ ...props
40
+ }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Link>): react_jsx_runtime181.JSX.Element;
41
+ declare function NavigationMenuIndicator({
42
+ className,
43
+ ...props
44
+ }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Indicator>): react_jsx_runtime181.JSX.Element;
45
+ //#endregion
46
+ export { NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, navigationMenuTriggerStyle };
47
+ //# sourceMappingURL=navigation-menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-menu.d.ts","names":[],"sources":["../../ui/navigation-menu.tsx"],"sourcesContent":[],"mappings":";;;;;;iBAOS,cAAA;;;;;GAKN,OAAA,CAAM,sBAAsB,uBAAA,CAAwB;;IAEtD,oBAAA,CAAA,GAAA,CAAA;iBAiBQ,kBAAA;;;GAGN,OAAA,CAAM,sBAAsB,uBAAA,CAAwB,QAAK,oBAAA,CAAA,GAAA,CAAA;AAjCe,iBA8ClE,kBAAA,CAxCc;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA2CpB,OAAA,CAAM,cA3Cc,CAAA,OA2CQ,uBAAA,CAAwB,IA3ChC,CAAA,CAAA,EA2CqC,oBAAA,CAAA,GAAA,CAAA,OA3CrC;cAqDjB,0BApDJ,EAAA,CAAA,KAAA,CAAA,EAsDD,+BAAA,CAF+B,SAAA,GApD9B,SAAA,EAAA,GAAA,MAAA;iBAwDO,qBAAA,CAvDP;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EA2DC,OAAA,CAAM,cA3DP,CAAA,OA2D6B,uBAAA,CAAwB,OA3DrD,CAAA,CAAA,EA2D6D,oBAAA,CAAA,GAAA,CAAA,OA3D7D;iBA2EO,qBAAA,CA1EP;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA6EC,OAAA,CAAM,cA7EP,CAAA,OA6E6B,uBAAA,CAAwB,OA7ErD,CAAA,CAAA,EA6E6D,oBAAA,CAAA,GAAA,CAAA,OA7E7D;iBA2FO,sBAAA,CAzF8C;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA4FpD,OAAA,CAAM,cA5F8C,CAAA,OA4FxB,uBAAA,CAAwB,QA5FA,CAAA,CAAA,EA4FS,oBAAA,CAAA,GAAA,CAAA,OA5FT;iBA+G9C,kBAAA,CA/GA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAkHN,OAAA,CAAM,cAlHA,CAAA,OAkHsB,uBAAA,CAAwB,IAlH9C,CAAA,CAAA,EAkHmD,oBAAA,CAAA,GAAA,CAAA,OAlHnD;iBA+HA,uBAAA,CA7HR;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAgIE,OAAA,CAAM,cAhIR,CAAA,OAgI8B,uBAAA,CAAwB,SAhItD,CAAA,CAAA,EAgIgE,oBAAA,CAAA,GAAA,CAAA,OAhIhE"}
@@ -0,0 +1,83 @@
1
+ import { cn } from "./utils.js";
2
+ import "react";
3
+ import { ChevronDownIcon } from "lucide-react";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ import { cva } from "class-variance-authority";
6
+ import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
7
+
8
+ //#region ui/navigation-menu.tsx
9
+ function NavigationMenu({ className, children, viewport = true,...props }) {
10
+ return /* @__PURE__ */ jsxs(NavigationMenuPrimitive.Root, {
11
+ "data-slot": "navigation-menu",
12
+ "data-viewport": viewport,
13
+ className: cn("group/navigation-menu relative flex max-w-max flex-1 items-center justify-center", className),
14
+ ...props,
15
+ children: [children, viewport && /* @__PURE__ */ jsx(NavigationMenuViewport, {})]
16
+ });
17
+ }
18
+ function NavigationMenuList({ className,...props }) {
19
+ return /* @__PURE__ */ jsx(NavigationMenuPrimitive.List, {
20
+ "data-slot": "navigation-menu-list",
21
+ className: cn("group flex flex-1 list-none items-center justify-center gap-1", className),
22
+ ...props
23
+ });
24
+ }
25
+ function NavigationMenuItem({ className,...props }) {
26
+ return /* @__PURE__ */ jsx(NavigationMenuPrimitive.Item, {
27
+ "data-slot": "navigation-menu-item",
28
+ className: cn("relative", className),
29
+ ...props
30
+ });
31
+ }
32
+ const navigationMenuTriggerStyle = cva("group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-accent data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-accent data-[state=open]:bg-accent/50 focus-visible:ring-ring/50 outline-hidden transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1");
33
+ function NavigationMenuTrigger({ className, children,...props }) {
34
+ return /* @__PURE__ */ jsxs(NavigationMenuPrimitive.Trigger, {
35
+ "data-slot": "navigation-menu-trigger",
36
+ className: cn(navigationMenuTriggerStyle(), "group", className),
37
+ ...props,
38
+ children: [
39
+ children,
40
+ " ",
41
+ /* @__PURE__ */ jsx(ChevronDownIcon, {
42
+ className: "relative top-px ml-1 size-3 transition duration-300 group-data-[state=open]:rotate-180",
43
+ "aria-hidden": "true"
44
+ })
45
+ ]
46
+ });
47
+ }
48
+ function NavigationMenuContent({ className,...props }) {
49
+ return /* @__PURE__ */ jsx(NavigationMenuPrimitive.Content, {
50
+ "data-slot": "navigation-menu-content",
51
+ className: cn("data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full p-2 pr-2.5 md:absolute md:w-auto", "bg-background group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground data-[state=open]:group-data-[viewport=false]/navigation-menu:animate-in data-[state=closed]:group-data-[viewport=false]/navigation-menu:animate-out data-[state=closed]:group-data-[viewport=false]/navigation-menu:fade-out-0 data-[state=open]:group-data-[viewport=false]/navigation-menu:fade-in-0 data-[state=closed]:group-data-[viewport=false]/navigation-menu:zoom-out-95 data-[state=open]:group-data-[viewport=false]/navigation-menu:zoom-in-95 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:shadow-2xs group-data-[viewport=false]/navigation-menu:duration-200 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-hidden", className),
52
+ ...props
53
+ });
54
+ }
55
+ function NavigationMenuViewport({ className,...props }) {
56
+ return /* @__PURE__ */ jsx("div", {
57
+ className: cn("absolute top-full left-0 isolate z-50 flex justify-center"),
58
+ children: /* @__PURE__ */ jsx(NavigationMenuPrimitive.Viewport, {
59
+ "data-slot": "navigation-menu-viewport",
60
+ className: cn("origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-(--radix-navigation-menu-viewport-height) w-full overflow-hidden rounded-md border shadow-2xs md:w-(--radix-navigation-menu-viewport-width)", className),
61
+ ...props
62
+ })
63
+ });
64
+ }
65
+ function NavigationMenuLink({ className,...props }) {
66
+ return /* @__PURE__ */ jsx(NavigationMenuPrimitive.Link, {
67
+ "data-slot": "navigation-menu-link",
68
+ className: cn("hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus-visible:ring-ring/50 data-[active=true]:bg-accent/50 data-[active=true]:text-accent-foreground data-[active=true]:hover:bg-accent data-[active=true]:focus:bg-accent [&_svg:not([class*='text-'])]:text-muted-foreground flex flex-col gap-1 rounded-xs p-2 text-sm outline-hidden transition-all focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4", className),
69
+ ...props
70
+ });
71
+ }
72
+ function NavigationMenuIndicator({ className,...props }) {
73
+ return /* @__PURE__ */ jsx(NavigationMenuPrimitive.Indicator, {
74
+ "data-slot": "navigation-menu-indicator",
75
+ className: cn("data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-1 flex h-1.5 items-end justify-center overflow-hidden", className),
76
+ ...props,
77
+ children: /* @__PURE__ */ jsx("div", { className: "bg-border relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md" })
78
+ });
79
+ }
80
+
81
+ //#endregion
82
+ export { NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, navigationMenuTriggerStyle };
83
+ //# sourceMappingURL=navigation-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-menu.js","names":[],"sources":["../../ui/navigation-menu.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';\nimport { cva } from 'class-variance-authority';\nimport { ChevronDownIcon } from 'lucide-react';\n\nimport { cn } from './utils';\n\nfunction NavigationMenu({\n className,\n children,\n viewport = true,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Root> & {\n viewport?: boolean;\n}) {\n return (\n <NavigationMenuPrimitive.Root\n data-slot=\"navigation-menu\"\n data-viewport={viewport}\n className={cn(\n 'group/navigation-menu relative flex max-w-max flex-1 items-center justify-center',\n className\n )}\n {...props}\n >\n {children}\n {viewport && <NavigationMenuViewport />}\n </NavigationMenuPrimitive.Root>\n );\n}\n\nfunction NavigationMenuList({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.List>) {\n return (\n <NavigationMenuPrimitive.List\n data-slot=\"navigation-menu-list\"\n className={cn(\n 'group flex flex-1 list-none items-center justify-center gap-1',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction NavigationMenuItem({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Item>) {\n return (\n <NavigationMenuPrimitive.Item\n data-slot=\"navigation-menu-item\"\n className={cn('relative', className)}\n {...props}\n />\n );\n}\n\nconst navigationMenuTriggerStyle = cva(\n 'group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-accent data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-accent data-[state=open]:bg-accent/50 focus-visible:ring-ring/50 outline-hidden transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1'\n);\n\nfunction NavigationMenuTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Trigger>) {\n return (\n <NavigationMenuPrimitive.Trigger\n data-slot=\"navigation-menu-trigger\"\n className={cn(navigationMenuTriggerStyle(), 'group', className)}\n {...props}\n >\n {children}{' '}\n <ChevronDownIcon\n className=\"relative top-px ml-1 size-3 transition duration-300 group-data-[state=open]:rotate-180\"\n aria-hidden=\"true\"\n />\n </NavigationMenuPrimitive.Trigger>\n );\n}\n\nfunction NavigationMenuContent({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Content>) {\n return (\n <NavigationMenuPrimitive.Content\n data-slot=\"navigation-menu-content\"\n className={cn(\n 'data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full p-2 pr-2.5 md:absolute md:w-auto',\n 'bg-background group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground data-[state=open]:group-data-[viewport=false]/navigation-menu:animate-in data-[state=closed]:group-data-[viewport=false]/navigation-menu:animate-out data-[state=closed]:group-data-[viewport=false]/navigation-menu:fade-out-0 data-[state=open]:group-data-[viewport=false]/navigation-menu:fade-in-0 data-[state=closed]:group-data-[viewport=false]/navigation-menu:zoom-out-95 data-[state=open]:group-data-[viewport=false]/navigation-menu:zoom-in-95 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:shadow-2xs group-data-[viewport=false]/navigation-menu:duration-200 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-hidden',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction NavigationMenuViewport({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Viewport>) {\n return (\n <div\n className={cn(\n 'absolute top-full left-0 isolate z-50 flex justify-center'\n )}\n >\n <NavigationMenuPrimitive.Viewport\n data-slot=\"navigation-menu-viewport\"\n className={cn(\n 'origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-(--radix-navigation-menu-viewport-height) w-full overflow-hidden rounded-md border shadow-2xs md:w-(--radix-navigation-menu-viewport-width)',\n className\n )}\n {...props}\n />\n </div>\n );\n}\n\nfunction NavigationMenuLink({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Link>) {\n return (\n <NavigationMenuPrimitive.Link\n data-slot=\"navigation-menu-link\"\n className={cn(\n \"hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus-visible:ring-ring/50 data-[active=true]:bg-accent/50 data-[active=true]:text-accent-foreground data-[active=true]:hover:bg-accent data-[active=true]:focus:bg-accent [&_svg:not([class*='text-'])]:text-muted-foreground flex flex-col gap-1 rounded-xs p-2 text-sm outline-hidden transition-all focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction NavigationMenuIndicator({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Indicator>) {\n return (\n <NavigationMenuPrimitive.Indicator\n data-slot=\"navigation-menu-indicator\"\n className={cn(\n 'data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-1 flex h-1.5 items-end justify-center overflow-hidden',\n className\n )}\n {...props}\n >\n <div className=\"bg-border relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md\" />\n </NavigationMenuPrimitive.Indicator>\n );\n}\n\nexport {\n NavigationMenu,\n NavigationMenuList,\n NavigationMenuItem,\n NavigationMenuContent,\n NavigationMenuTrigger,\n NavigationMenuLink,\n NavigationMenuIndicator,\n NavigationMenuViewport,\n navigationMenuTriggerStyle,\n};\n"],"mappings":";;;;;;;;AAOA,SAAS,eAAe,EACtB,WACA,UACA,WAAW,KACX,GAAG,SAGF;AACD,QACE,qBAAC,wBAAwB;EACvB,aAAU;EACV,iBAAe;EACf,WAAW,GACT,oFACA,UACD;EACD,GAAI;aAEH,UACA,YAAY,oBAAC,2BAAyB;GACV;;AAInC,SAAS,mBAAmB,EAC1B,UACA,GAAG,SACyD;AAC5D,QACE,oBAAC,wBAAwB;EACvB,aAAU;EACV,WAAW,GACT,iEACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,mBAAmB,EAC1B,UACA,GAAG,SACyD;AAC5D,QACE,oBAAC,wBAAwB;EACvB,aAAU;EACV,WAAW,GAAG,YAAY,UAAU;EACpC,GAAI;GACJ;;AAIN,MAAM,6BAA6B,IACjC,igBACD;AAED,SAAS,sBAAsB,EAC7B,WACA,SACA,GAAG,SAC4D;AAC/D,QACE,qBAAC,wBAAwB;EACvB,aAAU;EACV,WAAW,GAAG,4BAA4B,EAAE,SAAS,UAAU;EAC/D,GAAI;;GAEH;GAAU;GACX,oBAAC;IACC,WAAU;IACV,eAAY;KACZ;;GAC8B;;AAItC,SAAS,sBAAsB,EAC7B,UACA,GAAG,SAC4D;AAC/D,QACE,oBAAC,wBAAwB;EACvB,aAAU;EACV,WAAW,GACT,oWACA,ijCACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,uBAAuB,EAC9B,UACA,GAAG,SAC6D;AAChE,QACE,oBAAC;EACC,WAAW,GACT,4DACD;YAED,oBAAC,wBAAwB;GACvB,aAAU;GACV,WAAW,GACT,gVACA,UACD;GACD,GAAI;IACJ;GACE;;AAIV,SAAS,mBAAmB,EAC1B,UACA,GAAG,SACyD;AAC5D,QACE,oBAAC,wBAAwB;EACvB,aAAU;EACV,WAAW,GACT,2dACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,wBAAwB,EAC/B,UACA,GAAG,SAC8D;AACjE,QACE,oBAAC,wBAAwB;EACvB,aAAU;EACV,WAAW,GACT,8LACA,UACD;EACD,GAAI;YAEJ,oBAAC,SAAI,WAAU,2EAA2E;GACxD"}
@@ -0,0 +1,30 @@
1
+ import React from "react";
2
+ import * as react_jsx_runtime70 from "react/jsx-runtime";
3
+
4
+ //#region ui/organisms/ErrorBoundary/ErrorBoundary.d.ts
5
+ interface ErrorBoundaryState {
6
+ hasError: boolean;
7
+ error: Error | null;
8
+ errorId: string | null;
9
+ }
10
+ interface ErrorBoundaryProps {
11
+ children: React.ReactNode;
12
+ fallback?: React.ComponentType<ErrorFallbackProps>;
13
+ onError?: (error: Error, errorInfo: React.ErrorInfo) => void;
14
+ }
15
+ interface ErrorFallbackProps {
16
+ error: Error;
17
+ errorId: string | null;
18
+ resetError: () => void;
19
+ }
20
+ declare class ErrorBoundary extends React.Component<ErrorBoundaryProps, ErrorBoundaryState> {
21
+ constructor(props: ErrorBoundaryProps);
22
+ static getDerivedStateFromError(error: Error): Partial<ErrorBoundaryState>;
23
+ componentDidCatch(error: Error, errorInfo: React.ErrorInfo): void;
24
+ resetError: () => void;
25
+ render(): string | number | bigint | boolean | react_jsx_runtime70.JSX.Element | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | null | undefined;
26
+ }
27
+ declare const useErrorHandler: () => (error: Error) => never;
28
+ //#endregion
29
+ export { ErrorBoundary, type ErrorBoundaryProps, type ErrorFallbackProps, useErrorHandler };
30
+ //# sourceMappingURL=ErrorBoundary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorBoundary.d.ts","names":[],"sources":["../../../../ui/organisms/ErrorBoundary/ErrorBoundary.tsx"],"sourcesContent":[],"mappings":";;;;UAOU,kBAAA;;SAED;EAFC,OAAA,EAAA,MAAA,GAAA,IAAkB;AAEd;UAIJ,kBAAA,CACQ;EACe,QAAA,EADrB,KAAA,CAAM,SACe;EAApB,QAAM,CAAA,EAAN,KAAA,CAAM,aAAA,CAAc,kBAAd,CAAA;EACC,OAAA,CAAA,EAAA,CAAA,KAAA,EAAA,KAAA,EAAA,SAAA,EAAkB,KAAA,CAAM,SAAxB,EAAA,GAAA,IAAA;;UAGV,kBAAA,CAH2C;EAG3C,KAAA,EACD,KADC;EAmEG,OAAA,EAAA,MAAA,GAAc,IAAA;EACzB,UAAA,EAAA,GAAA,GAAA,IAAA;;AAGmB,cAJR,aAAA,SAAsB,KAAA,CAAM,SAIpB,CAHnB,kBAGmB,EAFnB,kBAEmB,CAAA,CAAA;EASoB,WAAA,CAAA,KAAA,EATpB,kBASoB;EAAgB,OAAA,wBAAA,CAAA,KAAA,EAAhB,KAAgB,CAAA,EAAR,OAAQ,CAAA,kBAAA,CAAA;EAAR,iBAAA,CAAA,KAAA,EAOtB,KAPsB,EAAA,SAAA,EAOJ,KAAA,CAAM,SAPF,CAAA,EAAA,IAAA;EAOtB,UAAA,EAAA,GAAA,GAAA,IAAA;EAAkB,MAAM,CAAA,CAAA,EAAA,MAAA,GAAA,MAAA,GAAA,MAAA,GAAA,OAAA,GAgC3C,mBAAA,CAAA,GAAA,CAAA,OAAA,GAAA,QAhC2C,CAgC3C,KAAA,CAAA,SAhC2C,CAAA,GAgC3C,OAhC2C,CAAA,MAAA,GAAA,MAAA,GAAA,MAAA,GAAA,OAAA,GAgC3C,KAAA,CAAA,WAhC2C,GAgC3C,KAAA,CAAA,YAhC2C,CAAA,OAAA,EAAA,MAAA,GAgC3C,KAAA,CAAA,qBAhC2C,CAAA,GAAA,CAAA,CAAA,GAgC3C,QAhC2C,CAgC3C,KAAA,CAAA,SAhC2C,CAAA,GAAA,IAAA,GAAA,SAAA,CAAA,GAAA,IAAA,GAAA,SAAA;;AAgC3C,cAkBK,eAlBL,EAAA,GAAA,GAAA,CAAA,KAAA,EAmB2B,KAnB3B,EAAA,GAAA,KAAA"}
@@ -0,0 +1,108 @@
1
+ 'use client';
2
+
3
+
4
+ import { Button } from "../../button.js";
5
+ import React from "react";
6
+ import { AlertTriangle, Home, RefreshCw } from "lucide-react";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+
9
+ //#region ui/organisms/ErrorBoundary/ErrorBoundary.tsx
10
+ const DefaultErrorFallback = ({ error, errorId, resetError }) => {
11
+ return /* @__PURE__ */ jsx("div", {
12
+ className: "flex min-h-screen items-center justify-center bg-gray-50 px-4",
13
+ children: /* @__PURE__ */ jsxs("div", {
14
+ className: "w-full max-w-md rounded-lg bg-white p-6 text-center shadow-lg",
15
+ children: [
16
+ /* @__PURE__ */ jsx("div", {
17
+ className: "mb-4 flex justify-center",
18
+ children: /* @__PURE__ */ jsx(AlertTriangle, { className: "h-12 w-12 text-red-500" })
19
+ }),
20
+ /* @__PURE__ */ jsx("h1", {
21
+ className: "mb-2 text-2xl font-semibold text-gray-900",
22
+ children: "Une erreur s'est produite"
23
+ }),
24
+ /* @__PURE__ */ jsx("p", {
25
+ className: "mb-6 text-gray-600",
26
+ children: "Nous nous excusons pour ce désagrément. Notre équipe a été notifiée et travaille à résoudre le problème."
27
+ }),
28
+ /* @__PURE__ */ jsxs("div", {
29
+ className: "mb-6 rounded-md bg-red-50 p-4 text-left",
30
+ children: [
31
+ /* @__PURE__ */ jsx("p", {
32
+ className: "mb-2 text-base font-medium text-red-800",
33
+ children: "Erreur de développement:"
34
+ }),
35
+ /* @__PURE__ */ jsx("p", {
36
+ className: "font-mono text-sm break-all text-red-700",
37
+ children: error.message
38
+ }),
39
+ errorId && /* @__PURE__ */ jsxs("p", {
40
+ className: "mt-2 text-sm text-red-600",
41
+ children: ["ID: ", errorId]
42
+ })
43
+ ]
44
+ }),
45
+ /* @__PURE__ */ jsxs("div", {
46
+ className: "flex flex-col justify-center gap-3 sm:flex-row",
47
+ children: [/* @__PURE__ */ jsxs(Button, {
48
+ onClick: resetError,
49
+ className: "flex items-center gap-2",
50
+ children: [/* @__PURE__ */ jsx(RefreshCw, { className: "h-4 w-4" }), "Réessayer"]
51
+ }), /* @__PURE__ */ jsxs(Button, {
52
+ onClick: () => window.location.href = "/",
53
+ variant: "secondary",
54
+ className: "flex items-center gap-2",
55
+ children: [/* @__PURE__ */ jsx(Home, { className: "h-4 w-4" }), "Accueil"]
56
+ })]
57
+ }),
58
+ false
59
+ ]
60
+ })
61
+ });
62
+ };
63
+ var ErrorBoundary = class extends React.Component {
64
+ constructor(props) {
65
+ super(props);
66
+ this.state = {
67
+ hasError: false,
68
+ error: null,
69
+ errorId: null
70
+ };
71
+ }
72
+ static getDerivedStateFromError(error) {
73
+ return {
74
+ hasError: true,
75
+ error
76
+ };
77
+ }
78
+ componentDidCatch(error, errorInfo) {
79
+ const errorId = `err_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
80
+ this.setState({ errorId });
81
+ this.props.onError?.(error, errorInfo);
82
+ console.error("ErrorBoundary caught an error:", error, errorInfo);
83
+ }
84
+ resetError = () => {
85
+ this.setState({
86
+ hasError: false,
87
+ error: null,
88
+ errorId: null
89
+ });
90
+ };
91
+ render() {
92
+ if (this.state.hasError && this.state.error) return /* @__PURE__ */ jsx(this.props.fallback || DefaultErrorFallback, {
93
+ error: this.state.error,
94
+ errorId: this.state.errorId,
95
+ resetError: this.resetError
96
+ });
97
+ return this.props.children;
98
+ }
99
+ };
100
+ const useErrorHandler = () => {
101
+ return React.useCallback((error) => {
102
+ throw error;
103
+ }, []);
104
+ };
105
+
106
+ //#endregion
107
+ export { ErrorBoundary, useErrorHandler };
108
+ //# sourceMappingURL=ErrorBoundary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorBoundary.js","names":["DefaultErrorFallback: React.FC<ErrorFallbackProps>"],"sources":["../../../../ui/organisms/ErrorBoundary/ErrorBoundary.tsx"],"sourcesContent":["'use client';\n\nimport React from 'react';\n// import * as Sentry from '@sentry/nextjs';\nimport { AlertTriangle, RefreshCw, Home } from 'lucide-react';\nimport { Button } from '../../button';\n\ninterface ErrorBoundaryState {\n hasError: boolean;\n error: Error | null;\n errorId: string | null;\n}\n\ninterface ErrorBoundaryProps {\n children: React.ReactNode;\n fallback?: React.ComponentType<ErrorFallbackProps>;\n onError?: (error: Error, errorInfo: React.ErrorInfo) => void;\n}\n\ninterface ErrorFallbackProps {\n error: Error;\n errorId: string | null;\n resetError: () => void;\n}\n\nconst DefaultErrorFallback: React.FC<ErrorFallbackProps> = ({\n error,\n errorId,\n resetError,\n}) => {\n const isDevelopment = process.env.NODE_ENV === 'development';\n\n return (\n <div className=\"flex min-h-screen items-center justify-center bg-gray-50 px-4\">\n <div className=\"w-full max-w-md rounded-lg bg-white p-6 text-center shadow-lg\">\n <div className=\"mb-4 flex justify-center\">\n <AlertTriangle className=\"h-12 w-12 text-red-500\" />\n </div>\n\n <h1 className=\"mb-2 text-2xl font-semibold text-gray-900\">\n Une erreur s'est produite\n </h1>\n\n <p className=\"mb-6 text-gray-600\">\n Nous nous excusons pour ce désagrément. Notre équipe a été notifiée et\n travaille à résoudre le problème.\n </p>\n\n {isDevelopment && (\n <div className=\"mb-6 rounded-md bg-red-50 p-4 text-left\">\n <p className=\"mb-2 text-base font-medium text-red-800\">\n Erreur de développement:\n </p>\n <p className=\"font-mono text-sm break-all text-red-700\">\n {error.message}\n </p>\n {errorId && (\n <p className=\"mt-2 text-sm text-red-600\">ID: {errorId}</p>\n )}\n </div>\n )}\n\n <div className=\"flex flex-col justify-center gap-3 sm:flex-row\">\n <Button onClick={resetError} className=\"flex items-center gap-2\">\n <RefreshCw className=\"h-4 w-4\" />\n Réessayer\n </Button>\n\n <Button\n onClick={() => (window.location.href = '/')}\n variant=\"secondary\"\n className=\"flex items-center gap-2\"\n >\n <Home className=\"h-4 w-4\" />\n Accueil\n </Button>\n </div>\n\n {!isDevelopment && errorId && (\n <p className=\"mt-4 text-sm text-gray-500\">Code d'erreur: {errorId}</p>\n )}\n </div>\n </div>\n );\n};\n\nexport class ErrorBoundary extends React.Component<\n ErrorBoundaryProps,\n ErrorBoundaryState\n> {\n constructor(props: ErrorBoundaryProps) {\n super(props);\n this.state = {\n hasError: false,\n error: null,\n errorId: null,\n };\n }\n\n static getDerivedStateFromError(error: Error): Partial<ErrorBoundaryState> {\n return {\n hasError: true,\n error,\n };\n }\n\n componentDidCatch(error: Error, errorInfo: React.ErrorInfo) {\n // Generate unique error ID\n const errorId = `err_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;\n\n // Log to Sentry with additional context\n // Sentry.withScope((scope) => {\n // scope.setTag('errorBoundary', true);\n // scope.setContext('errorInfo', { ...errorInfo });\n // scope.setContext('errorId', { errorId });\n // Sentry.captureException(error);\n // });\n\n // Update state with error ID\n this.setState({ errorId });\n\n // Call custom error handler if provided\n this.props.onError?.(error, errorInfo);\n\n // Log to console in development\n if (process.env.NODE_ENV === 'development') {\n console.error('ErrorBoundary caught an error:', error, errorInfo);\n }\n }\n\n resetError = () => {\n this.setState({\n hasError: false,\n error: null,\n errorId: null,\n });\n };\n\n render() {\n if (this.state.hasError && this.state.error) {\n const FallbackComponent = this.props.fallback || DefaultErrorFallback;\n\n return (\n <FallbackComponent\n error={this.state.error}\n errorId={this.state.errorId}\n resetError={this.resetError}\n />\n );\n }\n\n return this.props.children;\n }\n}\n\n// Hook for functional components to trigger error boundary\nexport const useErrorHandler = () => {\n return React.useCallback((error: Error) => {\n // This will be caught by the nearest error boundary\n throw error;\n }, []);\n};\n\nexport type { ErrorBoundaryProps, ErrorFallbackProps };\n"],"mappings":";;;;;;;;;AAyBA,MAAMA,wBAAsD,EAC1D,OACA,SACA,iBACI;AAGJ,QACE,oBAAC;EAAI,WAAU;YACb,qBAAC;GAAI,WAAU;;IACb,oBAAC;KAAI,WAAU;eACb,oBAAC,iBAAc,WAAU,2BAA2B;MAChD;IAEN,oBAAC;KAAG,WAAU;eAA4C;MAErD;IAEL,oBAAC;KAAE,WAAU;eAAqB;MAG9B;IAGF,qBAAC;KAAI,WAAU;;MACb,oBAAC;OAAE,WAAU;iBAA0C;QAEnD;MACJ,oBAAC;OAAE,WAAU;iBACV,MAAM;QACL;MACH,WACC,qBAAC;OAAE,WAAU;kBAA4B,QAAK;QAAY;;MAExD;IAGR,qBAAC;KAAI,WAAU;gBACb,qBAAC;MAAO,SAAS;MAAY,WAAU;iBACrC,oBAAC,aAAU,WAAU,YAAY;OAE1B,EAET,qBAAC;MACC,eAAgB,OAAO,SAAS,OAAO;MACvC,SAAQ;MACR,WAAU;iBAEV,oBAAC,QAAK,WAAU,YAAY;OAErB;MACL;IAEL;;IAGG;GACF;;AAIV,IAAa,gBAAb,cAAmC,MAAM,UAGvC;CACA,YAAY,OAA2B;AACrC,QAAM,MAAM;AACZ,OAAK,QAAQ;GACX,UAAU;GACV,OAAO;GACP,SAAS;GACV;;CAGH,OAAO,yBAAyB,OAA2C;AACzE,SAAO;GACL,UAAU;GACV;GACD;;CAGH,kBAAkB,OAAc,WAA4B;EAE1D,MAAM,UAAU,OAAO,KAAK,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,SAAS,GAAG,CAAC,OAAO,GAAG,EAAE;AAW5E,OAAK,SAAS,EAAE,SAAS,CAAC;AAG1B,OAAK,MAAM,UAAU,OAAO,UAAU;AAIpC,UAAQ,MAAM,kCAAkC,OAAO,UAAU;;CAIrE,mBAAmB;AACjB,OAAK,SAAS;GACZ,UAAU;GACV,OAAO;GACP,SAAS;GACV,CAAC;;CAGJ,SAAS;AACP,MAAI,KAAK,MAAM,YAAY,KAAK,MAAM,MAGpC,QACE,oBAHwB,KAAK,MAAM,YAAY;GAI7C,OAAO,KAAK,MAAM;GAClB,SAAS,KAAK,MAAM;GACpB,YAAY,KAAK;IACjB;AAIN,SAAO,KAAK,MAAM;;;AAKtB,MAAa,wBAAwB;AACnC,QAAO,MAAM,aAAa,UAAiB;AAEzC,QAAM;IACL,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { ErrorBoundary, ErrorBoundaryProps, ErrorFallbackProps, useErrorHandler } from "./ErrorBoundary.js";
2
+ export { ErrorBoundary, type ErrorBoundaryProps, type ErrorFallbackProps, useErrorHandler };
@@ -0,0 +1,3 @@
1
+ import { ErrorBoundary, useErrorHandler } from "./ErrorBoundary.js";
2
+
3
+ export { ErrorBoundary, useErrorHandler };
@@ -0,0 +1,29 @@
1
+ import { ListPageProps } from "./types.js";
2
+ import * as react_jsx_runtime73 from "react/jsx-runtime";
3
+
4
+ //#region ui/organisms/ListPage/ListPage.d.ts
5
+ declare function ListPage<T>({
6
+ title,
7
+ description,
8
+ header,
9
+ items,
10
+ totalItems,
11
+ totalPages,
12
+ isLoading,
13
+ isFetching,
14
+ error,
15
+ listState,
16
+ searchPlaceholder,
17
+ filters,
18
+ onRefresh,
19
+ primaryAction,
20
+ toolbar,
21
+ renderItem,
22
+ renderEmpty,
23
+ renderStats,
24
+ className,
25
+ itemClassName
26
+ }: ListPageProps<T>): react_jsx_runtime73.JSX.Element;
27
+ //#endregion
28
+ export { ListPage };
29
+ //# sourceMappingURL=ListPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListPage.d.ts","names":[],"sources":["../../../../ui/organisms/ListPage/ListPage.tsx"],"sourcesContent":[],"mappings":";;;;iBAWgB;;;;;;;;;;;;;;;;;;;;;GAqBb,cAAc,KAAE,mBAAA,CAAA,GAAA,CAAA"}