@lssm/lib.ui-kit-web 0.0.0-canary-20251217083314 → 0.0.0-canary-20251220002821

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 (399) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +3 -0
  3. package/dist/ui/accordion.d.ts +7 -6
  4. package/dist/ui/accordion.d.ts.map +1 -0
  5. package/dist/ui/accordion.js +2 -1
  6. package/dist/ui/accordion.js.map +1 -0
  7. package/dist/ui/alert-dialog.d.ts +14 -13
  8. package/dist/ui/alert-dialog.d.ts.map +1 -0
  9. package/dist/ui/alert-dialog.js +2 -1
  10. package/dist/ui/alert-dialog.js.map +1 -0
  11. package/dist/ui/alert.d.ts +8 -7
  12. package/dist/ui/alert.d.ts.map +1 -0
  13. package/dist/ui/alert.js +2 -1
  14. package/dist/ui/alert.js.map +1 -0
  15. package/dist/ui/aspect-ratio.d.ts +4 -3
  16. package/dist/ui/aspect-ratio.d.ts.map +1 -0
  17. package/dist/ui/aspect-ratio.js +2 -1
  18. package/dist/ui/aspect-ratio.js.map +1 -0
  19. package/dist/ui/atoms/FilterSelect/FilterSelect.d.ts +2 -1
  20. package/dist/ui/atoms/FilterSelect/FilterSelect.d.ts.map +1 -0
  21. package/dist/ui/atoms/FilterSelect/FilterSelect.js +2 -1
  22. package/dist/ui/atoms/FilterSelect/FilterSelect.js.map +1 -0
  23. package/dist/ui/atoms/FilterSelect/types.d.ts +2 -1
  24. package/dist/ui/atoms/FilterSelect/types.d.ts.map +1 -0
  25. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.d.ts +2 -1
  26. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.d.ts.map +1 -0
  27. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.js +2 -1
  28. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.js.map +1 -0
  29. package/dist/ui/atoms/Pagination/Pagination.d.ts +2 -1
  30. package/dist/ui/atoms/Pagination/Pagination.d.ts.map +1 -0
  31. package/dist/ui/atoms/Pagination/Pagination.js +2 -1
  32. package/dist/ui/atoms/Pagination/Pagination.js.map +1 -0
  33. package/dist/ui/atoms/Pagination/types.d.ts +2 -1
  34. package/dist/ui/atoms/Pagination/types.d.ts.map +1 -0
  35. package/dist/ui/atoms/SearchInput/SearchInput.d.ts +2 -1
  36. package/dist/ui/atoms/SearchInput/SearchInput.d.ts.map +1 -0
  37. package/dist/ui/atoms/SearchInput/SearchInput.js +2 -1
  38. package/dist/ui/atoms/SearchInput/SearchInput.js.map +1 -0
  39. package/dist/ui/atoms/SearchInput/types.d.ts +2 -1
  40. package/dist/ui/atoms/SearchInput/types.d.ts.map +1 -0
  41. package/dist/ui/avatar.d.ts +6 -5
  42. package/dist/ui/avatar.d.ts.map +1 -0
  43. package/dist/ui/avatar.js +2 -1
  44. package/dist/ui/avatar.js.map +1 -0
  45. package/dist/ui/badge.d.ts +7 -6
  46. package/dist/ui/badge.d.ts.map +1 -0
  47. package/dist/ui/badge.js +2 -1
  48. package/dist/ui/badge.js.map +1 -0
  49. package/dist/ui/breadcrumb.d.ts +10 -9
  50. package/dist/ui/breadcrumb.d.ts.map +1 -0
  51. package/dist/ui/breadcrumb.js +2 -1
  52. package/dist/ui/breadcrumb.js.map +1 -0
  53. package/dist/ui/button.d.ts +7 -6
  54. package/dist/ui/button.d.ts.map +1 -0
  55. package/dist/ui/button.js +2 -1
  56. package/dist/ui/button.js.map +1 -0
  57. package/dist/ui/calendar.d.ts +5 -4
  58. package/dist/ui/calendar.d.ts.map +1 -0
  59. package/dist/ui/calendar.js +2 -1
  60. package/dist/ui/calendar.js.map +1 -0
  61. package/dist/ui/card.d.ts +10 -9
  62. package/dist/ui/card.d.ts.map +1 -0
  63. package/dist/ui/card.js +2 -1
  64. package/dist/ui/card.js.map +1 -0
  65. package/dist/ui/carousel.d.ts +8 -7
  66. package/dist/ui/carousel.d.ts.map +1 -0
  67. package/dist/ui/carousel.js +2 -1
  68. package/dist/ui/carousel.js.map +1 -0
  69. package/dist/ui/checkbox.d.ts +4 -3
  70. package/dist/ui/checkbox.d.ts.map +1 -0
  71. package/dist/ui/checkbox.js +2 -1
  72. package/dist/ui/checkbox.js.map +1 -0
  73. package/dist/ui/collapsible.d.ts +6 -5
  74. package/dist/ui/collapsible.d.ts.map +1 -0
  75. package/dist/ui/collapsible.js +2 -1
  76. package/dist/ui/collapsible.js.map +1 -0
  77. package/dist/ui/command.d.ts +12 -11
  78. package/dist/ui/command.d.ts.map +1 -0
  79. package/dist/ui/command.js +2 -1
  80. package/dist/ui/command.js.map +1 -0
  81. package/dist/ui/confirm-dialog.d.ts +4 -3
  82. package/dist/ui/confirm-dialog.d.ts.map +1 -0
  83. package/dist/ui/confirm-dialog.js +2 -1
  84. package/dist/ui/confirm-dialog.js.map +1 -0
  85. package/dist/ui/context-menu.d.ts +4 -3
  86. package/dist/ui/context-menu.d.ts.map +1 -0
  87. package/dist/ui/context-menu.js +2 -1
  88. package/dist/ui/context-menu.js.map +1 -0
  89. package/dist/ui/cta.d.ts +2 -1
  90. package/dist/ui/cta.d.ts.map +1 -0
  91. package/dist/ui/cta.js +2 -1
  92. package/dist/ui/cta.js.map +1 -0
  93. package/dist/ui/date-picker.d.ts +4 -3
  94. package/dist/ui/date-picker.d.ts.map +1 -0
  95. package/dist/ui/date-picker.js +2 -1
  96. package/dist/ui/date-picker.js.map +1 -0
  97. package/dist/ui/date-range-picker.d.ts +4 -3
  98. package/dist/ui/date-range-picker.d.ts.map +1 -0
  99. package/dist/ui/date-range-picker.js +2 -1
  100. package/dist/ui/date-range-picker.js.map +1 -0
  101. package/dist/ui/datetime-picker.d.ts +4 -3
  102. package/dist/ui/datetime-picker.d.ts.map +1 -0
  103. package/dist/ui/datetime-picker.js +2 -1
  104. package/dist/ui/datetime-picker.js.map +1 -0
  105. package/dist/ui/dialog.d.ts +13 -12
  106. package/dist/ui/dialog.d.ts.map +1 -0
  107. package/dist/ui/dialog.js +2 -1
  108. package/dist/ui/dialog.js.map +1 -0
  109. package/dist/ui/drawer.d.ts +13 -12
  110. package/dist/ui/drawer.d.ts.map +1 -0
  111. package/dist/ui/drawer.js +2 -1
  112. package/dist/ui/drawer.js.map +1 -0
  113. package/dist/ui/dropdown-menu.d.ts +18 -17
  114. package/dist/ui/dropdown-menu.d.ts.map +1 -0
  115. package/dist/ui/dropdown-menu.js +2 -1
  116. package/dist/ui/dropdown-menu.js.map +1 -0
  117. package/dist/ui/empty-state.d.ts +6 -5
  118. package/dist/ui/empty-state.d.ts.map +1 -0
  119. package/dist/ui/empty-state.js +2 -1
  120. package/dist/ui/empty-state.js.map +1 -0
  121. package/dist/ui/empty.d.ts +11 -10
  122. package/dist/ui/empty.d.ts.map +1 -0
  123. package/dist/ui/empty.js +2 -1
  124. package/dist/ui/empty.js.map +1 -0
  125. package/dist/ui/field.d.ts +15 -14
  126. package/dist/ui/field.d.ts.map +1 -0
  127. package/dist/ui/field.js +2 -1
  128. package/dist/ui/field.js.map +1 -0
  129. package/dist/ui/focus-on-route-change.d.ts +2 -1
  130. package/dist/ui/focus-on-route-change.d.ts.map +1 -0
  131. package/dist/ui/focus-on-route-change.js +2 -1
  132. package/dist/ui/focus-on-route-change.js.map +1 -0
  133. package/dist/ui/form.d.ts +9 -8
  134. package/dist/ui/form.d.ts.map +1 -0
  135. package/dist/ui/form.js +2 -1
  136. package/dist/ui/form.js.map +1 -0
  137. package/dist/ui/hover-card.d.ts +6 -5
  138. package/dist/ui/hover-card.d.ts.map +1 -0
  139. package/dist/ui/hover-card.js +2 -1
  140. package/dist/ui/hover-card.js.map +1 -0
  141. package/dist/ui/input-group.d.ts +12 -11
  142. package/dist/ui/input-group.d.ts.map +1 -0
  143. package/dist/ui/input-group.js +8 -1
  144. package/dist/ui/input-group.js.map +1 -0
  145. package/dist/ui/input-otp.d.ts +2 -1
  146. package/dist/ui/input-otp.d.ts.map +1 -0
  147. package/dist/ui/input-otp.js +2 -1
  148. package/dist/ui/input-otp.js.map +1 -0
  149. package/dist/ui/input.d.ts +4 -3
  150. package/dist/ui/input.d.ts.map +1 -0
  151. package/dist/ui/input.js +2 -1
  152. package/dist/ui/input.js.map +1 -0
  153. package/dist/ui/label.d.ts +4 -3
  154. package/dist/ui/label.d.ts.map +1 -0
  155. package/dist/ui/label.js +2 -1
  156. package/dist/ui/label.js.map +1 -0
  157. package/dist/ui/link.d.ts +5 -4
  158. package/dist/ui/link.d.ts.map +1 -0
  159. package/dist/ui/link.js +2 -1
  160. package/dist/ui/link.js.map +1 -0
  161. package/dist/ui/live-region.d.ts +4 -3
  162. package/dist/ui/live-region.d.ts.map +1 -0
  163. package/dist/ui/live-region.js +2 -1
  164. package/dist/ui/live-region.js.map +1 -0
  165. package/dist/ui/loading-button.d.ts +4 -3
  166. package/dist/ui/loading-button.d.ts.map +1 -0
  167. package/dist/ui/loading-button.js +2 -1
  168. package/dist/ui/loading-button.js.map +1 -0
  169. package/dist/ui/map/MapBase.d.ts +4 -4
  170. package/dist/ui/map/MapBase.d.ts.map +1 -0
  171. package/dist/ui/map/MapBase.js +3 -2
  172. package/dist/ui/map/MapBase.js.map +1 -0
  173. package/dist/ui/map/MapGeoJsonOverlay.d.ts +4 -3
  174. package/dist/ui/map/MapGeoJsonOverlay.d.ts.map +1 -0
  175. package/dist/ui/map/MapGeoJsonOverlay.js +2 -1
  176. package/dist/ui/map/MapGeoJsonOverlay.js.map +1 -0
  177. package/dist/ui/map/MapHeatmapH3.d.ts +4 -3
  178. package/dist/ui/map/MapHeatmapH3.d.ts.map +1 -0
  179. package/dist/ui/map/MapHeatmapH3.js +3 -2
  180. package/dist/ui/map/MapHeatmapH3.js.map +1 -0
  181. package/dist/ui/map/MapMarkers.d.ts +4 -3
  182. package/dist/ui/map/MapMarkers.d.ts.map +1 -0
  183. package/dist/ui/map/MapMarkers.js +9 -2
  184. package/dist/ui/map/MapMarkers.js.map +1 -0
  185. package/dist/ui/marketing/FeatureGrid.d.ts +4 -3
  186. package/dist/ui/marketing/FeatureGrid.d.ts.map +1 -0
  187. package/dist/ui/marketing/FeatureGrid.js +2 -1
  188. package/dist/ui/marketing/FeatureGrid.js.map +1 -0
  189. package/dist/ui/marketing/Hero.d.ts +4 -3
  190. package/dist/ui/marketing/Hero.d.ts.map +1 -0
  191. package/dist/ui/marketing/Hero.js +2 -1
  192. package/dist/ui/marketing/Hero.js.map +1 -0
  193. package/dist/ui/marketing/PricingTable.d.ts +4 -3
  194. package/dist/ui/marketing/PricingTable.d.ts.map +1 -0
  195. package/dist/ui/marketing/PricingTable.js +2 -1
  196. package/dist/ui/marketing/PricingTable.js.map +1 -0
  197. package/dist/ui/menubar.d.ts +19 -18
  198. package/dist/ui/menubar.d.ts.map +1 -0
  199. package/dist/ui/menubar.js +2 -1
  200. package/dist/ui/menubar.js.map +1 -0
  201. package/dist/ui/molecules/Autocomplete/index.d.ts +4 -3
  202. package/dist/ui/molecules/Autocomplete/index.d.ts.map +1 -0
  203. package/dist/ui/molecules/Autocomplete/index.js +2 -1
  204. package/dist/ui/molecules/Autocomplete/index.js.map +1 -0
  205. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.d.ts +2 -1
  206. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.d.ts.map +1 -0
  207. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.js +2 -1
  208. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.js.map +1 -0
  209. package/dist/ui/molecules/SearchAndFilter/types.d.ts +2 -1
  210. package/dist/ui/molecules/SearchAndFilter/types.d.ts.map +1 -0
  211. package/dist/ui/molecules/SkeletonList.d.ts +4 -3
  212. package/dist/ui/molecules/SkeletonList.d.ts.map +1 -0
  213. package/dist/ui/molecules/SkeletonList.js +2 -1
  214. package/dist/ui/molecules/SkeletonList.js.map +1 -0
  215. package/dist/ui/nav-layout.d.ts +10 -9
  216. package/dist/ui/nav-layout.d.ts.map +1 -0
  217. package/dist/ui/nav-layout.js +3 -2
  218. package/dist/ui/nav-layout.js.map +1 -0
  219. package/dist/ui/navigation-menu.d.ts +13 -12
  220. package/dist/ui/navigation-menu.d.ts.map +1 -0
  221. package/dist/ui/navigation-menu.js +2 -1
  222. package/dist/ui/navigation-menu.js.map +1 -0
  223. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.d.ts +4 -3
  224. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.d.ts.map +1 -0
  225. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.js +2 -1
  226. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.js.map +1 -0
  227. package/dist/ui/organisms/ListPage/ListPage.d.ts +4 -3
  228. package/dist/ui/organisms/ListPage/ListPage.d.ts.map +1 -0
  229. package/dist/ui/organisms/ListPage/ListPage.js +2 -1
  230. package/dist/ui/organisms/ListPage/ListPage.js.map +1 -0
  231. package/dist/ui/organisms/ListPage/types.d.ts +2 -1
  232. package/dist/ui/organisms/ListPage/types.d.ts.map +1 -0
  233. package/dist/ui/page-header.d.ts +6 -5
  234. package/dist/ui/page-header.d.ts.map +1 -0
  235. package/dist/ui/page-header.js +2 -1
  236. package/dist/ui/page-header.js.map +1 -0
  237. package/dist/ui/pagination.d.ts +8 -7
  238. package/dist/ui/pagination.d.ts.map +1 -0
  239. package/dist/ui/pagination.js +2 -1
  240. package/dist/ui/pagination.js.map +1 -0
  241. package/dist/ui/popover.d.ts +7 -6
  242. package/dist/ui/popover.d.ts.map +1 -0
  243. package/dist/ui/popover.js +2 -1
  244. package/dist/ui/popover.js.map +1 -0
  245. package/dist/ui/progress.d.ts +4 -3
  246. package/dist/ui/progress.d.ts.map +1 -0
  247. package/dist/ui/progress.js +2 -1
  248. package/dist/ui/progress.js.map +1 -0
  249. package/dist/ui/radio-group.d.ts +5 -4
  250. package/dist/ui/radio-group.d.ts.map +1 -0
  251. package/dist/ui/radio-group.js +2 -1
  252. package/dist/ui/radio-group.js.map +1 -0
  253. package/dist/ui/resizable.d.ts +9 -8
  254. package/dist/ui/resizable.d.ts.map +1 -0
  255. package/dist/ui/resizable.js +2 -1
  256. package/dist/ui/resizable.js.map +1 -0
  257. package/dist/ui/route-announcer.d.ts +4 -3
  258. package/dist/ui/route-announcer.d.ts.map +1 -0
  259. package/dist/ui/route-announcer.js +2 -1
  260. package/dist/ui/route-announcer.js.map +1 -0
  261. package/dist/ui/scroll-area.d.ts +5 -4
  262. package/dist/ui/scroll-area.d.ts.map +1 -0
  263. package/dist/ui/scroll-area.js +2 -1
  264. package/dist/ui/scroll-area.js.map +1 -0
  265. package/dist/ui/section.d.ts +7 -6
  266. package/dist/ui/section.d.ts.map +1 -0
  267. package/dist/ui/section.js +2 -1
  268. package/dist/ui/section.js.map +1 -0
  269. package/dist/ui/select.d.ts +13 -12
  270. package/dist/ui/select.d.ts.map +1 -0
  271. package/dist/ui/select.js +2 -1
  272. package/dist/ui/select.js.map +1 -0
  273. package/dist/ui/separator.d.ts +4 -3
  274. package/dist/ui/separator.d.ts.map +1 -0
  275. package/dist/ui/separator.js +2 -1
  276. package/dist/ui/separator.js.map +1 -0
  277. package/dist/ui/sheet.d.ts +11 -10
  278. package/dist/ui/sheet.d.ts.map +1 -0
  279. package/dist/ui/sheet.js +2 -1
  280. package/dist/ui/sheet.js.map +1 -0
  281. package/dist/ui/sidebar.d.ts +28 -27
  282. package/dist/ui/sidebar.d.ts.map +1 -0
  283. package/dist/ui/sidebar.js +2 -1
  284. package/dist/ui/sidebar.js.map +1 -0
  285. package/dist/ui/skeleton.d.ts +4 -3
  286. package/dist/ui/skeleton.d.ts.map +1 -0
  287. package/dist/ui/skeleton.js +2 -1
  288. package/dist/ui/skeleton.js.map +1 -0
  289. package/dist/ui/skip-link.d.ts +4 -3
  290. package/dist/ui/skip-link.d.ts.map +1 -0
  291. package/dist/ui/skip-link.js +2 -1
  292. package/dist/ui/skip-link.js.map +1 -0
  293. package/dist/ui/slider.d.ts +4 -3
  294. package/dist/ui/slider.d.ts.map +1 -0
  295. package/dist/ui/slider.js +2 -1
  296. package/dist/ui/slider.js.map +1 -0
  297. package/dist/ui/sonner.d.ts +4 -3
  298. package/dist/ui/sonner.d.ts.map +1 -0
  299. package/dist/ui/sonner.js +2 -1
  300. package/dist/ui/sonner.js.map +1 -0
  301. package/dist/ui/stack.d.ts +15 -14
  302. package/dist/ui/stack.d.ts.map +1 -0
  303. package/dist/ui/stack.js +2 -1
  304. package/dist/ui/stack.js.map +1 -0
  305. package/dist/ui/stat-card-group.d.ts +4 -3
  306. package/dist/ui/stat-card-group.d.ts.map +1 -0
  307. package/dist/ui/stat-card-group.js +2 -1
  308. package/dist/ui/stat-card-group.js.map +1 -0
  309. package/dist/ui/stepper.d.ts +6 -5
  310. package/dist/ui/stepper.d.ts.map +1 -0
  311. package/dist/ui/stepper.js +2 -1
  312. package/dist/ui/stepper.js.map +1 -0
  313. package/dist/ui/switch.d.ts +4 -3
  314. package/dist/ui/switch.d.ts.map +1 -0
  315. package/dist/ui/switch.js +2 -2
  316. package/dist/ui/switch.js.map +1 -0
  317. package/dist/ui/table.d.ts +11 -10
  318. package/dist/ui/table.d.ts.map +1 -0
  319. package/dist/ui/table.js +2 -1
  320. package/dist/ui/table.js.map +1 -0
  321. package/dist/ui/tabs.d.ts +7 -6
  322. package/dist/ui/tabs.d.ts.map +1 -0
  323. package/dist/ui/tabs.js +2 -1
  324. package/dist/ui/tabs.js.map +1 -0
  325. package/dist/ui/text.d.ts +4 -3
  326. package/dist/ui/text.d.ts.map +1 -0
  327. package/dist/ui/text.js +2 -1
  328. package/dist/ui/text.js.map +1 -0
  329. package/dist/ui/textarea.d.ts +4 -3
  330. package/dist/ui/textarea.d.ts.map +1 -0
  331. package/dist/ui/textarea.js +2 -1
  332. package/dist/ui/textarea.js.map +1 -0
  333. package/dist/ui/time-picker.d.ts +4 -3
  334. package/dist/ui/time-picker.d.ts.map +1 -0
  335. package/dist/ui/time-picker.js +2 -1
  336. package/dist/ui/time-picker.js.map +1 -0
  337. package/dist/ui/toast.d.ts +4 -3
  338. package/dist/ui/toast.d.ts.map +1 -0
  339. package/dist/ui/toast.js +2 -1
  340. package/dist/ui/toast.js.map +1 -0
  341. package/dist/ui/toaster.d.ts +4 -3
  342. package/dist/ui/toaster.d.ts.map +1 -0
  343. package/dist/ui/toaster.js +2 -1
  344. package/dist/ui/toaster.js.map +1 -0
  345. package/dist/ui/toggle-group.d.ts +5 -4
  346. package/dist/ui/toggle-group.d.ts.map +1 -0
  347. package/dist/ui/toggle-group.js +2 -1
  348. package/dist/ui/toggle-group.js.map +1 -0
  349. package/dist/ui/toggle.d.ts +6 -5
  350. package/dist/ui/toggle.d.ts.map +1 -0
  351. package/dist/ui/toggle.js +2 -1
  352. package/dist/ui/toggle.js.map +1 -0
  353. package/dist/ui/tooltip.d.ts +7 -6
  354. package/dist/ui/tooltip.d.ts.map +1 -0
  355. package/dist/ui/tooltip.js +2 -1
  356. package/dist/ui/tooltip.js.map +1 -0
  357. package/dist/ui/typography.d.ts +14 -13
  358. package/dist/ui/typography.d.ts.map +1 -0
  359. package/dist/ui/typography.js +2 -1
  360. package/dist/ui/typography.js.map +1 -0
  361. package/dist/ui/use-media-query.d.ts +2 -1
  362. package/dist/ui/use-media-query.d.ts.map +1 -0
  363. package/dist/ui/use-media-query.js +2 -1
  364. package/dist/ui/use-media-query.js.map +1 -0
  365. package/dist/ui/use-mobile.d.ts +2 -1
  366. package/dist/ui/use-mobile.d.ts.map +1 -0
  367. package/dist/ui/use-mobile.js +2 -1
  368. package/dist/ui/use-mobile.js.map +1 -0
  369. package/dist/ui/use-reduced-motion.d.ts +2 -1
  370. package/dist/ui/use-reduced-motion.d.ts.map +1 -0
  371. package/dist/ui/use-reduced-motion.js +2 -1
  372. package/dist/ui/use-reduced-motion.js.map +1 -0
  373. package/dist/ui/use-toast.d.ts +2 -1
  374. package/dist/ui/use-toast.d.ts.map +1 -0
  375. package/dist/ui/use-toast.js +2 -1
  376. package/dist/ui/use-toast.js.map +1 -0
  377. package/dist/ui/useListState.d.ts +2 -1
  378. package/dist/ui/useListState.d.ts.map +1 -0
  379. package/dist/ui/useListState.js +2 -1
  380. package/dist/ui/useListState.js.map +1 -0
  381. package/dist/ui/usecases/UseCaseCard.d.ts +4 -3
  382. package/dist/ui/usecases/UseCaseCard.d.ts.map +1 -0
  383. package/dist/ui/usecases/UseCaseCard.js +2 -1
  384. package/dist/ui/usecases/UseCaseCard.js.map +1 -0
  385. package/dist/ui/usecases/UserStoryCard.d.ts +4 -3
  386. package/dist/ui/usecases/UserStoryCard.d.ts.map +1 -0
  387. package/dist/ui/usecases/UserStoryCard.js +2 -1
  388. package/dist/ui/usecases/UserStoryCard.js.map +1 -0
  389. package/dist/ui/utils.d.ts +2 -1
  390. package/dist/ui/utils.d.ts.map +1 -0
  391. package/dist/ui/utils.js +2 -1
  392. package/dist/ui/utils.js.map +1 -0
  393. package/dist/ui/visually-hidden.d.ts +2 -1
  394. package/dist/ui/visually-hidden.d.ts.map +1 -0
  395. package/dist/ui/visually-hidden.js +2 -1
  396. package/dist/ui/visually-hidden.js.map +1 -0
  397. package/dist/ui-kit-core/dist/utils.js +2 -1
  398. package/dist/ui-kit-core/dist/utils.js.map +1 -0
  399. package/package.json +18 -11
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime207 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime154 from "react/jsx-runtime";
2
2
 
3
3
  //#region ui/map/MapHeatmapH3.d.ts
4
4
  interface H3FeatureProperties {
@@ -12,6 +12,7 @@ interface H3HeatmapProps {
12
12
  colorStops?: [number, string][];
13
13
  maxCount?: number;
14
14
  }
15
- declare function MapHeatmapH3(props: H3HeatmapProps): react_jsx_runtime207.JSX.Element;
15
+ declare function MapHeatmapH3(props: H3HeatmapProps): react_jsx_runtime154.JSX.Element;
16
16
  //#endregion
17
- export { H3FeatureProperties, H3HeatmapProps, MapHeatmapH3, MapHeatmapH3 as default };
17
+ export { H3FeatureProperties, H3HeatmapProps, MapHeatmapH3, MapHeatmapH3 as default };
18
+ //# sourceMappingURL=MapHeatmapH3.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MapHeatmapH3.d.ts","names":[],"sources":["../../../ui/map/MapHeatmapH3.tsx"],"sourcesContent":[],"mappings":";;;UAKiB,mBAAA;;;EAAA,KAAA,EAAA,MAAA;AAMjB;AAGI,UAHa,cAAA,CAGL;EAAU,EAAA,CAAA,EAAQ,MAAA;EAC1B,IAAA,EAFI,OAAA,CAAQ,iBAEZ,CADA,OAAA,CAAQ,OACR,GADkB,OAAA,CAAQ,YAC1B,EAAA,mBAAA,CAAA;EAFI,UAAQ,CAAA,EAAA,CAAA,MAAA,EAAA,MAAA,CAAA,EAAA;EAAiB,QAAA,CAAA,EAAA,MAAA;AAwBjC;iBAAgB,YAAA,QAAoB,iBAAc,oBAAA,CAAA,GAAA,CAAA"}
@@ -5,7 +5,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
5
5
  import { Layer, Source } from "react-map-gl/maplibre";
6
6
 
7
7
  //#region ui/map/MapHeatmapH3.tsx
8
- function buildChoroplethPaint(stops, maxCount) {
8
+ function buildChoroplethPaint(stops, _maxCount) {
9
9
  const scaleStops = (stops || []).map(([c, col]) => [c, col]);
10
10
  return {
11
11
  "fill-color": [
@@ -47,4 +47,5 @@ function MapHeatmapH3(props) {
47
47
  var MapHeatmapH3_default = MapHeatmapH3;
48
48
 
49
49
  //#endregion
50
- export { MapHeatmapH3, MapHeatmapH3_default as default };
50
+ export { MapHeatmapH3, MapHeatmapH3_default as default };
51
+ //# sourceMappingURL=MapHeatmapH3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MapHeatmapH3.js","names":["fillLayer: any","lineLayer: any"],"sources":["../../../ui/map/MapHeatmapH3.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Layer, Source } from 'react-map-gl/maplibre';\n\nexport interface H3FeatureProperties {\n id: string;\n h3Index?: string;\n count: number;\n}\n\nexport interface H3HeatmapProps {\n id?: string;\n data: GeoJSON.FeatureCollection<\n GeoJSON.Polygon | GeoJSON.MultiPolygon,\n H3FeatureProperties\n >;\n colorStops?: [number, string][]; // [count, color]\n maxCount?: number; // for normalization\n}\n\nfunction buildChoroplethPaint(\n stops: [number, string][],\n _maxCount: number | undefined\n) {\n const scaleStops = (stops || []).map(([c, col]) => [c, col]);\n return {\n 'fill-color': [\n 'interpolate',\n ['linear'],\n ['get', 'count'],\n ...scaleStops.flat(),\n ],\n 'fill-opacity': 0.6,\n } as const;\n}\n\nexport function MapHeatmapH3(props: H3HeatmapProps) {\n const {\n id = 'h3-heatmap',\n data,\n colorStops = [\n [0, '#22c55e'],\n [5, '#eab308'],\n [10, '#ef4444'],\n ],\n maxCount,\n } = props;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const fillLayer: any = {\n id: `${id}-fill`,\n type: 'fill',\n paint: buildChoroplethPaint(colorStops, maxCount),\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const lineLayer: any = {\n id: `${id}-outline`,\n type: 'line',\n paint: {\n 'line-color': '#ffffff',\n 'line-width': 0.25,\n 'line-opacity': 0.25,\n },\n };\n\n return (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n <Source id={id} type=\"geojson\" data={data as any}>\n <Layer {...fillLayer} />\n <Layer {...lineLayer} />\n </Source>\n );\n}\n\nexport default MapHeatmapH3;\n"],"mappings":";;;;;;;AAqBA,SAAS,qBACP,OACA,WACA;CACA,MAAM,cAAc,SAAS,EAAE,EAAE,KAAK,CAAC,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC;AAC5D,QAAO;EACL,cAAc;GACZ;GACA,CAAC,SAAS;GACV,CAAC,OAAO,QAAQ;GAChB,GAAG,WAAW,MAAM;GACrB;EACD,gBAAgB;EACjB;;AAGH,SAAgB,aAAa,OAAuB;CAClD,MAAM,EACJ,KAAK,cACL,MACA,aAAa;EACX,CAAC,GAAG,UAAU;EACd,CAAC,GAAG,UAAU;EACd,CAAC,IAAI,UAAU;EAChB,EACD,aACE;CAGJ,MAAMA,YAAiB;EACrB,IAAI,GAAG,GAAG;EACV,MAAM;EACN,OAAO,qBAAqB,YAAY,SAAS;EAClD;CAGD,MAAMC,YAAiB;EACrB,IAAI,GAAG,GAAG;EACV,MAAM;EACN,OAAO;GACL,cAAc;GACd,cAAc;GACd,gBAAgB;GACjB;EACF;AAED,QAEE,qBAAC;EAAW;EAAI,MAAK;EAAgB;aACnC,oBAAC,SAAM,GAAI,YAAa,EACxB,oBAAC,SAAM,GAAI,YAAa;GACjB;;AAIb,2BAAe"}
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime206 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime155 from "react/jsx-runtime";
2
2
 
3
3
  //#region ui/map/MapMarkers.d.ts
4
4
  interface MapPoint {
@@ -14,6 +14,7 @@ declare function MapMarkers({
14
14
  points
15
15
  }: {
16
16
  points: MapPoint[];
17
- }): react_jsx_runtime206.JSX.Element;
17
+ }): react_jsx_runtime155.JSX.Element;
18
18
  //#endregion
19
- export { MapMarkers, MapMarkers as default, MapPoint };
19
+ export { MapMarkers, MapMarkers as default, MapPoint };
20
+ //# sourceMappingURL=MapMarkers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MapMarkers.d.ts","names":[],"sources":["../../../ui/map/MapMarkers.tsx"],"sourcesContent":[],"mappings":";;;UAKiB,QAAA;;;EAAA,GAAA,EAAA,MAAQ;EAUT,KAAA,CAAA,EAAA,MAAU;EAAG,IAAA,CAAA,EAAA,MAAA;EAAoB,SAAA,CAAA,EAAA,MAAA;EAAY,OAAA,CAAA,EAAA,GAAA,GAAA,IAAA;;iBAA7C,UAAA;;;UAAiC;IAAY,oBAAA,CAAA,GAAA,CAAA"}
@@ -10,11 +10,17 @@ function MapMarkers({ points }) {
10
10
  longitude: p.lng,
11
11
  latitude: p.lat,
12
12
  anchor: "bottom",
13
- children: /* @__PURE__ */ jsx("div", {
13
+ children: /* @__PURE__ */ jsx("button", {
14
14
  role: p.onClick ? "button" : void 0,
15
15
  tabIndex: p.onClick ? 0 : -1,
16
16
  "aria-label": p.ariaLabel || "marker",
17
17
  onClick: p.onClick,
18
+ onKeyDown: (e) => {
19
+ if (e.key === "Enter" || e.key === " ") {
20
+ e.preventDefault();
21
+ p.onClick?.();
22
+ }
23
+ },
18
24
  style: {
19
25
  width: p.size ?? 14,
20
26
  height: p.size ?? 14,
@@ -30,4 +36,5 @@ function MapMarkers({ points }) {
30
36
  var MapMarkers_default = MapMarkers;
31
37
 
32
38
  //#endregion
33
- export { MapMarkers, MapMarkers_default as default };
39
+ export { MapMarkers, MapMarkers_default as default };
40
+ //# sourceMappingURL=MapMarkers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MapMarkers.js","names":[],"sources":["../../../ui/map/MapMarkers.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Marker } from 'react-map-gl/maplibre';\n\nexport interface MapPoint {\n id: string;\n lng: number;\n lat: number;\n color?: string;\n size?: number;\n ariaLabel?: string;\n onClick?: () => void;\n}\n\nexport function MapMarkers({ points }: { points: MapPoint[] }) {\n return (\n <>\n {points.map((p) => (\n <Marker key={p.id} longitude={p.lng} latitude={p.lat} anchor=\"bottom\">\n <button\n role={p.onClick ? 'button' : undefined}\n tabIndex={p.onClick ? 0 : -1}\n aria-label={p.ariaLabel || 'marker'}\n onClick={p.onClick}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n p.onClick?.();\n }\n }}\n style={{\n width: p.size ?? 14,\n height: p.size ?? 14,\n background: p.color ?? '#2563eb',\n border: '2px solid white',\n borderRadius: 9999,\n boxShadow: '0 1px 3px rgba(0,0,0,0.35)',\n cursor: p.onClick ? 'pointer' : 'default',\n }}\n />\n </Marker>\n ))}\n </>\n );\n}\n\nexport default MapMarkers;\n"],"mappings":";;;;;;;AAeA,SAAgB,WAAW,EAAE,UAAkC;AAC7D,QACE,0CACG,OAAO,KAAK,MACX,oBAAC;EAAkB,WAAW,EAAE;EAAK,UAAU,EAAE;EAAK,QAAO;YAC3D,oBAAC;GACC,MAAM,EAAE,UAAU,WAAW;GAC7B,UAAU,EAAE,UAAU,IAAI;GAC1B,cAAY,EAAE,aAAa;GAC3B,SAAS,EAAE;GACX,YAAY,MAAM;AAChB,QAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,KAAK;AACtC,OAAE,gBAAgB;AAClB,OAAE,WAAW;;;GAGjB,OAAO;IACL,OAAO,EAAE,QAAQ;IACjB,QAAQ,EAAE,QAAQ;IAClB,YAAY,EAAE,SAAS;IACvB,QAAQ;IACR,cAAc;IACd,WAAW;IACX,QAAQ,EAAE,UAAU,YAAY;IACjC;IACD;IArBS,EAAE,GAsBN,CACT,GACD;;AAIP,yBAAe"}
@@ -1,5 +1,5 @@
1
1
  import * as React$1 from "react";
2
- import * as react_jsx_runtime215 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime157 from "react/jsx-runtime";
3
3
 
4
4
  //#region ui/marketing/FeatureGrid.d.ts
5
5
  interface FeatureItem {
@@ -15,6 +15,7 @@ declare function FeatureGrid({
15
15
  items: FeatureItem[];
16
16
  columns?: 2 | 3 | 4;
17
17
  className?: string;
18
- }): react_jsx_runtime215.JSX.Element;
18
+ }): react_jsx_runtime157.JSX.Element;
19
19
  //#endregion
20
- export { FeatureGrid, FeatureItem };
20
+ export { FeatureGrid, FeatureItem };
21
+ //# sourceMappingURL=FeatureGrid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FeatureGrid.d.ts","names":[],"sources":["../../../ui/marketing/FeatureGrid.tsx"],"sourcesContent":[],"mappings":";;;;UAGiB,WAAA;SACR,OAAA,CAAM;gBACC,OAAA,CAAM;EAFL,IAAA,CAAA,EAGR,OAAA,CAAM,SAHa;;AAEZ,iBAIA,WAAA,CAJM;EAAA,KAAA;EAAA,OAAA;EAAA;CAAA,EAAA;EACb,KAAM,EAQN,WARM,EAAA;EAAS,OAAA,CAAA,EAAA,CAAA,GAAA,CAAA,GAAA,CAAA;EAGR,SAAA,CAAA,EAAA,MAAW;CACzB,CAAA,EAOD,oBAAA,CAAA,GAAA,CAAA,OAPC"}
@@ -31,4 +31,5 @@ function FeatureGrid({ items, columns = 3, className }) {
31
31
  }
32
32
 
33
33
  //#endregion
34
- export { FeatureGrid };
34
+ export { FeatureGrid };
35
+ //# sourceMappingURL=FeatureGrid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FeatureGrid.js","names":[],"sources":["../../../ui/marketing/FeatureGrid.tsx"],"sourcesContent":["import * as React from 'react';\nimport { cn } from '../utils';\n\nexport interface FeatureItem {\n title: React.ReactNode;\n description?: React.ReactNode;\n icon?: React.ReactNode;\n}\n\nexport function FeatureGrid({\n items,\n columns = 3,\n className,\n}: {\n items: FeatureItem[];\n columns?: 2 | 3 | 4;\n className?: string;\n}) {\n const gridCols =\n columns === 4\n ? 'md:grid-cols-4'\n : columns === 2\n ? 'md:grid-cols-2'\n : 'md:grid-cols-3';\n return (\n <section className={cn('mx-auto max-w-6xl py-12', className)}>\n <div className={cn('grid grid-cols-1 gap-6', gridCols)}>\n {items.map((it, idx) => (\n <div key={idx} className=\"rounded-lg border p-6\">\n {it.icon && <div className=\"text-primary mb-3\">{it.icon}</div>}\n <h3 className=\"text-lg font-semibold\">{it.title}</h3>\n {it.description && (\n <p className=\"text-muted-foreground mt-2 text-base\">\n {it.description}\n </p>\n )}\n </div>\n ))}\n </div>\n </section>\n );\n}\n"],"mappings":";;;;;AASA,SAAgB,YAAY,EAC1B,OACA,UAAU,GACV,aAKC;CACD,MAAM,WACJ,YAAY,IACR,mBACA,YAAY,IACV,mBACA;AACR,QACE,oBAAC;EAAQ,WAAW,GAAG,2BAA2B,UAAU;YAC1D,oBAAC;GAAI,WAAW,GAAG,0BAA0B,SAAS;aACnD,MAAM,KAAK,IAAI,QACd,qBAAC;IAAc,WAAU;;KACtB,GAAG,QAAQ,oBAAC;MAAI,WAAU;gBAAqB,GAAG;OAAW;KAC9D,oBAAC;MAAG,WAAU;gBAAyB,GAAG;OAAW;KACpD,GAAG,eACF,oBAAC;MAAE,WAAU;gBACV,GAAG;OACF;;MANE,IAQJ,CACN;IACE;GACE"}
@@ -1,5 +1,5 @@
1
1
  import * as React$1 from "react";
2
- import * as react_jsx_runtime209 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime159 from "react/jsx-runtime";
3
3
 
4
4
  //#region ui/marketing/Hero.d.ts
5
5
  declare function Hero({
@@ -22,6 +22,7 @@ declare function Hero({
22
22
  onClick?: () => void;
23
23
  };
24
24
  className?: string;
25
- }): react_jsx_runtime209.JSX.Element;
25
+ }): react_jsx_runtime159.JSX.Element;
26
26
  //#endregion
27
- export { Hero };
27
+ export { Hero };
28
+ //# sourceMappingURL=Hero.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Hero.d.ts","names":[],"sources":["../../../ui/marketing/Hero.tsx"],"sourcesContent":[],"mappings":";;;;iBAIgB,IAAA;;;;;;;SAOP,OAAA,CAAM;aACF,OAAA,CAAM;EARH,UAAI,CAAA,EAAA;IAClB,KAAA,EAAA,MAAA;IACA,IAAA,CAAA,EAAA,MAAA;IACA,OAAA,CAAA,EAAA,GAAA,GAAA,IAAA;EACA,CAAA;EACA,YAAA,CAAA,EAAA;IAEO,KAAM,EAAA,MAAA;IACF,IAAM,CAAA,EAAA,MAAA;IAIlB,OAAA,CAAA,EAAA,GAAA,GAAA,IAAA;EAAA,CAAA;;IAAA,oBAAA,CAAA,GAAA,CAAA"}
@@ -49,4 +49,5 @@ function Hero({ title, subtitle, primaryCta, secondaryCta, className }) {
49
49
  }
50
50
 
51
51
  //#endregion
52
- export { Hero };
52
+ export { Hero };
53
+ //# sourceMappingURL=Hero.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Hero.js","names":[],"sources":["../../../ui/marketing/Hero.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Button } from '../button';\nimport { cn } from '../utils';\n\nexport function Hero({\n title,\n subtitle,\n primaryCta,\n secondaryCta,\n className,\n}: {\n title: React.ReactNode;\n subtitle?: React.ReactNode;\n primaryCta?: { label: string; href?: string; onClick?: () => void };\n secondaryCta?: { label: string; href?: string; onClick?: () => void };\n className?: string;\n}) {\n return (\n <section className={cn('mx-auto max-w-4xl py-16 text-center', className)}>\n <h1 className=\"text-4xl font-bold tracking-tight md:text-5xl\">{title}</h1>\n {subtitle && (\n <p className=\"text-muted-foreground mt-4 text-lg md:text-xl\">\n {subtitle}\n </p>\n )}\n {(primaryCta || secondaryCta) && (\n <div className=\"mt-8 flex items-center justify-center gap-3\">\n {primaryCta &&\n (primaryCta.href ? (\n <Button asChild size=\"lg\">\n {}\n <a href={primaryCta.href}>{primaryCta.label}</a>\n </Button>\n ) : (\n <Button size=\"lg\" onClick={primaryCta.onClick}>\n {primaryCta.label}\n </Button>\n ))}\n {secondaryCta &&\n (secondaryCta.href ? (\n <Button variant=\"outline\" asChild size=\"lg\">\n {}\n <a href={secondaryCta.href}>{secondaryCta.label}</a>\n </Button>\n ) : (\n <Button\n variant=\"outline\"\n size=\"lg\"\n onClick={secondaryCta.onClick}\n >\n {secondaryCta.label}\n </Button>\n ))}\n </div>\n )}\n </section>\n );\n}\n"],"mappings":";;;;;;AAIA,SAAgB,KAAK,EACnB,OACA,UACA,YACA,cACA,aAOC;AACD,QACE,qBAAC;EAAQ,WAAW,GAAG,uCAAuC,UAAU;;GACtE,oBAAC;IAAG,WAAU;cAAiD;KAAW;GACzE,YACC,oBAAC;IAAE,WAAU;cACV;KACC;IAEJ,cAAc,iBACd,qBAAC;IAAI,WAAU;eACZ,eACE,WAAW,OACV,oBAAC;KAAO;KAAQ,MAAK;eAEnB,oBAAC;MAAE,MAAM,WAAW;gBAAO,WAAW;OAAU;MACzC,GAET,oBAAC;KAAO,MAAK;KAAK,SAAS,WAAW;eACnC,WAAW;MACL,GAEZ,iBACE,aAAa,OACZ,oBAAC;KAAO,SAAQ;KAAU;KAAQ,MAAK;eAErC,oBAAC;MAAE,MAAM,aAAa;gBAAO,aAAa;OAAU;MAC7C,GAET,oBAAC;KACC,SAAQ;KACR,MAAK;KACL,SAAS,aAAa;eAErB,aAAa;MACP;KAET;;GAEA"}
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime236 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime266 from "react/jsx-runtime";
2
2
 
3
3
  //#region ui/marketing/PricingTable.d.ts
4
4
  interface PricingTier {
@@ -19,6 +19,7 @@ declare function PricingTable({
19
19
  }: {
20
20
  tiers: PricingTier[];
21
21
  className?: string;
22
- }): react_jsx_runtime236.JSX.Element;
22
+ }): react_jsx_runtime266.JSX.Element;
23
23
  //#endregion
24
- export { PricingTable, PricingTier };
24
+ export { PricingTable, PricingTier };
25
+ //# sourceMappingURL=PricingTable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PricingTable.d.ts","names":[],"sources":["../../../ui/marketing/PricingTable.tsx"],"sourcesContent":[],"mappings":";;;UAIiB,WAAA;;;EAAA,OAAA,CAAA,EAAA,MAAW;EASZ,QAAA,EAAA,MAAY,EAAA;EAC1B,GAAA,CAAA,EAAA;IACA,KAAA,EAAA,MAAA;IAEO,IAAA,CAAA,EAAA,MAAA;IAER,OAAA,CAAA,EAAA,GAAA,GAAA,IAAA;EAAA,CAAA;;;iBANe,YAAA;;;;SAIP;;IAER,oBAAA,CAAA,GAAA,CAAA"}
@@ -56,4 +56,5 @@ function PricingTable({ tiers, className }) {
56
56
  }
57
57
 
58
58
  //#endregion
59
- export { PricingTable };
59
+ export { PricingTable };
60
+ //# sourceMappingURL=PricingTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PricingTable.js","names":[],"sources":["../../../ui/marketing/PricingTable.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Button } from '../button';\nimport { cn } from '../utils';\n\nexport interface PricingTier {\n name: string;\n price: string;\n tagline?: string;\n features: string[];\n cta?: { label: string; href?: string; onClick?: () => void };\n highlighted?: boolean;\n}\n\nexport function PricingTable({\n tiers,\n className,\n}: {\n tiers: PricingTier[];\n className?: string;\n}) {\n return (\n <section className={cn('mx-auto max-w-6xl py-12', className)}>\n <div className=\"grid grid-cols-1 gap-6 md:grid-cols-3\">\n {tiers.map((t, idx) => (\n <div\n key={idx}\n className={cn(\n 'flex flex-col rounded-lg border p-6',\n t.highlighted && 'border-primary shadow-lg'\n )}\n >\n <div className=\"text-muted-foreground mb-2 text-base font-medium\">\n {t.name}\n </div>\n <div className=\"text-3xl font-semibold\">{t.price}</div>\n {t.tagline && (\n <div className=\"text-muted-foreground mt-1 text-base\">\n {t.tagline}\n </div>\n )}\n <ul className=\"mt-4 space-y-2 text-base\">\n {t.features.map((f, i) => (\n <li key={i} className=\"flex items-start gap-2\">\n <span className=\"bg-primary mt-1 h-1.5 w-1.5 rounded-full\" />\n <span>{f}</span>\n </li>\n ))}\n </ul>\n {t.cta && (\n <div className=\"mt-6\">\n {t.cta.href ? (\n <Button asChild className=\"w-full\">\n {}\n <a href={t.cta.href}>{t.cta.label}</a>\n </Button>\n ) : (\n <Button className=\"w-full\" onClick={t.cta.onClick}>\n {t.cta.label}\n </Button>\n )}\n </div>\n )}\n </div>\n ))}\n </div>\n <p className=\"text-muted-foreground mt-6 text-center text-base\">\n Usage-based tiers inspired by generous free allowances and per-unit\n pricing.\n </p>\n </section>\n );\n}\n"],"mappings":";;;;;;AAaA,SAAgB,aAAa,EAC3B,OACA,aAIC;AACD,QACE,qBAAC;EAAQ,WAAW,GAAG,2BAA2B,UAAU;aAC1D,oBAAC;GAAI,WAAU;aACZ,MAAM,KAAK,GAAG,QACb,qBAAC;IAEC,WAAW,GACT,uCACA,EAAE,eAAe,2BAClB;;KAED,oBAAC;MAAI,WAAU;gBACZ,EAAE;OACC;KACN,oBAAC;MAAI,WAAU;gBAA0B,EAAE;OAAY;KACtD,EAAE,WACD,oBAAC;MAAI,WAAU;gBACZ,EAAE;OACC;KAER,oBAAC;MAAG,WAAU;gBACX,EAAE,SAAS,KAAK,GAAG,MAClB,qBAAC;OAAW,WAAU;kBACpB,oBAAC,UAAK,WAAU,6CAA6C,EAC7D,oBAAC,oBAAM,IAAS;SAFT,EAGJ,CACL;OACC;KACJ,EAAE,OACD,oBAAC;MAAI,WAAU;gBACZ,EAAE,IAAI,OACL,oBAAC;OAAO;OAAQ,WAAU;iBAExB,oBAAC;QAAE,MAAM,EAAE,IAAI;kBAAO,EAAE,IAAI;SAAU;QAC/B,GAET,oBAAC;OAAO,WAAU;OAAS,SAAS,EAAE,IAAI;iBACvC,EAAE,IAAI;QACA;OAEP;;MAnCH,IAqCD,CACN;IACE,EACN,oBAAC;GAAE,WAAU;aAAmD;IAG5D;GACI"}
@@ -1,35 +1,35 @@
1
1
  import * as React$1 from "react";
2
- import * as react_jsx_runtime115 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime187 from "react/jsx-runtime";
3
3
  import * as MenubarPrimitive from "@radix-ui/react-menubar";
4
4
 
5
5
  //#region ui/menubar.d.ts
6
6
  declare function Menubar({
7
7
  className,
8
8
  ...props
9
- }: React$1.ComponentProps<typeof MenubarPrimitive.Root>): react_jsx_runtime115.JSX.Element;
9
+ }: React$1.ComponentProps<typeof MenubarPrimitive.Root>): react_jsx_runtime187.JSX.Element;
10
10
  declare function MenubarMenu({
11
11
  ...props
12
- }: React$1.ComponentProps<typeof MenubarPrimitive.Menu>): react_jsx_runtime115.JSX.Element;
12
+ }: React$1.ComponentProps<typeof MenubarPrimitive.Menu>): react_jsx_runtime187.JSX.Element;
13
13
  declare function MenubarGroup({
14
14
  ...props
15
- }: React$1.ComponentProps<typeof MenubarPrimitive.Group>): react_jsx_runtime115.JSX.Element;
15
+ }: React$1.ComponentProps<typeof MenubarPrimitive.Group>): react_jsx_runtime187.JSX.Element;
16
16
  declare function MenubarPortal({
17
17
  ...props
18
- }: React$1.ComponentProps<typeof MenubarPrimitive.Portal>): react_jsx_runtime115.JSX.Element;
18
+ }: React$1.ComponentProps<typeof MenubarPrimitive.Portal>): react_jsx_runtime187.JSX.Element;
19
19
  declare function MenubarRadioGroup({
20
20
  ...props
21
- }: React$1.ComponentProps<typeof MenubarPrimitive.RadioGroup>): react_jsx_runtime115.JSX.Element;
21
+ }: React$1.ComponentProps<typeof MenubarPrimitive.RadioGroup>): react_jsx_runtime187.JSX.Element;
22
22
  declare function MenubarTrigger({
23
23
  className,
24
24
  ...props
25
- }: React$1.ComponentProps<typeof MenubarPrimitive.Trigger>): react_jsx_runtime115.JSX.Element;
25
+ }: React$1.ComponentProps<typeof MenubarPrimitive.Trigger>): react_jsx_runtime187.JSX.Element;
26
26
  declare function MenubarContent({
27
27
  className,
28
28
  align,
29
29
  alignOffset,
30
30
  sideOffset,
31
31
  ...props
32
- }: React$1.ComponentProps<typeof MenubarPrimitive.Content>): react_jsx_runtime115.JSX.Element;
32
+ }: React$1.ComponentProps<typeof MenubarPrimitive.Content>): react_jsx_runtime187.JSX.Element;
33
33
  declare function MenubarItem({
34
34
  className,
35
35
  inset,
@@ -38,36 +38,36 @@ declare function MenubarItem({
38
38
  }: React$1.ComponentProps<typeof MenubarPrimitive.Item> & {
39
39
  inset?: boolean;
40
40
  variant?: 'default' | 'destructive';
41
- }): react_jsx_runtime115.JSX.Element;
41
+ }): react_jsx_runtime187.JSX.Element;
42
42
  declare function MenubarCheckboxItem({
43
43
  className,
44
44
  children,
45
45
  checked,
46
46
  ...props
47
- }: React$1.ComponentProps<typeof MenubarPrimitive.CheckboxItem>): react_jsx_runtime115.JSX.Element;
47
+ }: React$1.ComponentProps<typeof MenubarPrimitive.CheckboxItem>): react_jsx_runtime187.JSX.Element;
48
48
  declare function MenubarRadioItem({
49
49
  className,
50
50
  children,
51
51
  ...props
52
- }: React$1.ComponentProps<typeof MenubarPrimitive.RadioItem>): react_jsx_runtime115.JSX.Element;
52
+ }: React$1.ComponentProps<typeof MenubarPrimitive.RadioItem>): react_jsx_runtime187.JSX.Element;
53
53
  declare function MenubarLabel({
54
54
  className,
55
55
  inset,
56
56
  ...props
57
57
  }: React$1.ComponentProps<typeof MenubarPrimitive.Label> & {
58
58
  inset?: boolean;
59
- }): react_jsx_runtime115.JSX.Element;
59
+ }): react_jsx_runtime187.JSX.Element;
60
60
  declare function MenubarSeparator({
61
61
  className,
62
62
  ...props
63
- }: React$1.ComponentProps<typeof MenubarPrimitive.Separator>): react_jsx_runtime115.JSX.Element;
63
+ }: React$1.ComponentProps<typeof MenubarPrimitive.Separator>): react_jsx_runtime187.JSX.Element;
64
64
  declare function MenubarShortcut({
65
65
  className,
66
66
  ...props
67
- }: React$1.ComponentPropsWithoutRef<'span'>): react_jsx_runtime115.JSX.Element;
67
+ }: React$1.ComponentPropsWithoutRef<'span'>): react_jsx_runtime187.JSX.Element;
68
68
  declare function MenubarSub({
69
69
  ...props
70
- }: React$1.ComponentProps<typeof MenubarPrimitive.Sub>): react_jsx_runtime115.JSX.Element;
70
+ }: React$1.ComponentProps<typeof MenubarPrimitive.Sub>): react_jsx_runtime187.JSX.Element;
71
71
  declare function MenubarSubTrigger({
72
72
  className,
73
73
  inset,
@@ -75,10 +75,11 @@ declare function MenubarSubTrigger({
75
75
  ...props
76
76
  }: React$1.ComponentProps<typeof MenubarPrimitive.SubTrigger> & {
77
77
  inset?: boolean;
78
- }): react_jsx_runtime115.JSX.Element;
78
+ }): react_jsx_runtime187.JSX.Element;
79
79
  declare function MenubarSubContent({
80
80
  className,
81
81
  ...props
82
- }: React$1.ComponentProps<typeof MenubarPrimitive.SubContent>): react_jsx_runtime115.JSX.Element;
82
+ }: React$1.ComponentProps<typeof MenubarPrimitive.SubContent>): react_jsx_runtime187.JSX.Element;
83
83
  //#endregion
84
- export { Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger };
84
+ export { Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger };
85
+ //# sourceMappingURL=menubar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menubar.d.ts","names":[],"sources":["../../ui/menubar.tsx"],"sourcesContent":[],"mappings":"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"}
@@ -133,4 +133,5 @@ function MenubarSubContent({ className, ...props }) {
133
133
  }
134
134
 
135
135
  //#endregion
136
- export { Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger };
136
+ export { Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger };
137
+ //# sourceMappingURL=menubar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menubar.js","names":[],"sources":["../../ui/menubar.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport * as MenubarPrimitive from '@radix-ui/react-menubar';\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from 'lucide-react';\n\nimport { cn } from '@lssm/lib.ui-kit-core/utils';\n\nfunction Menubar({\n className,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Root>) {\n return (\n <MenubarPrimitive.Root\n data-slot=\"menubar\"\n className={cn(\n 'bg-background flex h-9 items-center gap-1 rounded-md border p-1 shadow-2xs',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction MenubarMenu({\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Menu>) {\n return <MenubarPrimitive.Menu data-slot=\"menubar-menu\" {...props} />;\n}\n\nfunction MenubarGroup({\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Group>) {\n return <MenubarPrimitive.Group data-slot=\"menubar-group\" {...props} />;\n}\n\nfunction MenubarPortal({\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Portal>) {\n return <MenubarPrimitive.Portal data-slot=\"menubar-portal\" {...props} />;\n}\n\nfunction MenubarRadioGroup({\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.RadioGroup>) {\n return (\n <MenubarPrimitive.RadioGroup data-slot=\"menubar-radio-group\" {...props} />\n );\n}\n\nfunction MenubarTrigger({\n className,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Trigger>) {\n return (\n <MenubarPrimitive.Trigger\n data-slot=\"menubar-trigger\"\n className={cn(\n 'focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex items-center rounded-xs px-2 py-1 text-sm font-medium outline-hidden select-none',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction MenubarContent({\n className,\n align = 'start',\n alignOffset = -4,\n sideOffset = 8,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Content>) {\n return (\n <MenubarPortal>\n <MenubarPrimitive.Content\n data-slot=\"menubar-content\"\n align={align}\n alignOffset={alignOffset}\n sideOffset={sideOffset}\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-48 origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-md',\n className\n )}\n {...props}\n />\n </MenubarPortal>\n );\n}\n\nfunction MenubarItem({\n className,\n inset,\n variant = 'default',\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Item> & {\n inset?: boolean;\n variant?: 'default' | 'destructive';\n}) {\n return (\n <MenubarPrimitive.Item\n data-slot=\"menubar-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"data-[variant=destructive]:*:[svg]:text-destructive! focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-xs px-2 py-1.5 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction MenubarCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.CheckboxItem>) {\n return (\n <MenubarPrimitive.CheckboxItem\n data-slot=\"menubar-checkbox-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <MenubarPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.CheckboxItem>\n );\n}\n\nfunction MenubarRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.RadioItem>) {\n return (\n <MenubarPrimitive.RadioItem\n data-slot=\"menubar-radio-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <MenubarPrimitive.ItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.RadioItem>\n );\n}\n\nfunction MenubarLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <MenubarPrimitive.Label\n data-slot=\"menubar-label\"\n data-inset={inset}\n className={cn(\n 'px-2 py-1.5 text-sm font-medium data-inset:pl-8',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction MenubarSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Separator>) {\n return (\n <MenubarPrimitive.Separator\n data-slot=\"menubar-separator\"\n className={cn('bg-border -mx-1 my-1 h-px', className)}\n {...props}\n />\n );\n}\n\nfunction MenubarShortcut({\n className,\n ...props\n}: React.ComponentPropsWithoutRef<'span'>) {\n return (\n <span\n data-slot=\"menubar-shortcut\"\n className={cn(\n 'text-muted-foreground ml-auto text-xs tracking-widest',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction MenubarSub({\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Sub>) {\n return <MenubarPrimitive.Sub data-slot=\"menubar-sub\" {...props} />;\n}\n\nfunction MenubarSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <MenubarPrimitive.SubTrigger\n data-slot=\"menubar-sub-trigger\"\n data-inset={inset}\n className={cn(\n 'focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-xs px-2 py-1.5 text-sm outline-hidden select-none data-inset:pl-8',\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto h-4 w-4\" />\n </MenubarPrimitive.SubTrigger>\n );\n}\n\nfunction MenubarSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.SubContent>) {\n return (\n <MenubarPrimitive.SubContent\n data-slot=\"menubar-sub-content\"\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-32 origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg',\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n Menubar,\n MenubarPortal,\n MenubarMenu,\n MenubarTrigger,\n MenubarContent,\n MenubarGroup,\n MenubarSeparator,\n MenubarLabel,\n MenubarItem,\n MenubarShortcut,\n MenubarCheckboxItem,\n MenubarRadioGroup,\n MenubarRadioItem,\n MenubarSub,\n MenubarSubTrigger,\n MenubarSubContent,\n};\n"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- import * as react_jsx_runtime270 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime156 from "react/jsx-runtime";
2
2
 
3
3
  //#region ui/molecules/Autocomplete/index.d.ts
4
- declare function ComboBoxResponsive(): react_jsx_runtime270.JSX.Element;
4
+ declare function ComboBoxResponsive(): react_jsx_runtime156.JSX.Element;
5
5
  //#endregion
6
- export { ComboBoxResponsive };
6
+ export { ComboBoxResponsive };
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../../ui/molecules/Autocomplete/index.tsx"],"sourcesContent":[],"mappings":";;;iBAyCgB,kBAAA,CAAA,GAAkB,oBAAA,CAAA,GAAA,CAAA"}
@@ -81,4 +81,5 @@ function StatusList({ setOpen, setSelectedStatus }) {
81
81
  }
82
82
 
83
83
  //#endregion
84
- export { ComboBoxResponsive };
84
+ export { ComboBoxResponsive };
85
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["statuses: Status[]","React"],"sources":["../../../../ui/molecules/Autocomplete/index.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\n\nimport { Button } from '../../button';\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from '../../command';\nimport { Drawer, DrawerContent, DrawerTrigger } from '../../drawer';\nimport { Popover, PopoverContent, PopoverTrigger } from '../../popover';\nimport { useMediaQuery } from '../../use-media-query';\n\ninterface Status {\n value: string;\n label: string;\n}\n\nconst statuses: Status[] = [\n {\n value: 'backlog',\n label: 'Backlog',\n },\n {\n value: 'in progress',\n label: 'In Progress',\n },\n {\n value: 'done',\n label: 'Done',\n },\n {\n value: 'canceled',\n label: 'Canceled',\n },\n];\n\nexport function ComboBoxResponsive() {\n const [open, setOpen] = React.useState(false);\n const isDesktop = useMediaQuery('(min-width: 768px)');\n const [selectedStatus, setSelectedStatus] = React.useState<Status | null>(\n null\n );\n\n if (isDesktop) {\n return (\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <Button variant=\"outline\" className=\"w-[150px] justify-start\">\n {selectedStatus ? <>{selectedStatus.label}</> : <>+ Set status</>}\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-[200px] p-0\" align=\"start\">\n <StatusList setOpen={setOpen} setSelectedStatus={setSelectedStatus} />\n </PopoverContent>\n </Popover>\n );\n }\n\n return (\n <Drawer open={open} onOpenChange={setOpen}>\n <DrawerTrigger asChild>\n <Button variant=\"outline\" className=\"w-[150px] justify-start\">\n {selectedStatus ? <>{selectedStatus.label}</> : <>+ Set status</>}\n </Button>\n </DrawerTrigger>\n <DrawerContent>\n <div className=\"mt-4 border-t\">\n <StatusList setOpen={setOpen} setSelectedStatus={setSelectedStatus} />\n </div>\n </DrawerContent>\n </Drawer>\n );\n}\n\nfunction StatusList({\n setOpen,\n setSelectedStatus,\n}: {\n setOpen: (open: boolean) => void;\n setSelectedStatus: (status: Status | null) => void;\n}) {\n return (\n <Command>\n <CommandInput placeholder=\"Filter status...\" />\n <CommandList>\n <CommandEmpty>No results found.</CommandEmpty>\n <CommandGroup>\n {statuses.map((status) => (\n <CommandItem\n key={status.value}\n value={status.value}\n onSelect={(value) => {\n setSelectedStatus(\n statuses.find((priority) => priority.value === value) || null\n );\n setOpen(false);\n }}\n >\n {status.label}\n </CommandItem>\n ))}\n </CommandGroup>\n </CommandList>\n </Command>\n );\n}\n"],"mappings":";;;;;;;;;;;AAsBA,MAAMA,WAAqB;CACzB;EACE,OAAO;EACP,OAAO;EACR;CACD;EACE,OAAO;EACP,OAAO;EACR;CACD;EACE,OAAO;EACP,OAAO;EACR;CACD;EACE,OAAO;EACP,OAAO;EACR;CACF;AAED,SAAgB,qBAAqB;CACnC,MAAM,CAAC,MAAM,WAAWC,QAAM,SAAS,MAAM;CAC7C,MAAM,YAAY,cAAc,qBAAqB;CACrD,MAAM,CAAC,gBAAgB,qBAAqBA,QAAM,SAChD,KACD;AAED,KAAI,UACF,QACE,qBAAC;EAAc;EAAM,cAAc;aACjC,oBAAC;GAAe;aACd,oBAAC;IAAO,SAAQ;IAAU,WAAU;cACjC,iBAAiB,0CAAG,eAAe,QAAS,GAAG,0CAAE,iBAAe;KAC1D;IACM,EACjB,oBAAC;GAAe,WAAU;GAAgB,OAAM;aAC9C,oBAAC;IAAoB;IAA4B;KAAqB;IACvD;GACT;AAId,QACE,qBAAC;EAAa;EAAM,cAAc;aAChC,oBAAC;GAAc;aACb,oBAAC;IAAO,SAAQ;IAAU,WAAU;cACjC,iBAAiB,0CAAG,eAAe,QAAS,GAAG,0CAAE,iBAAe;KAC1D;IACK,EAChB,oBAAC,2BACC,oBAAC;GAAI,WAAU;aACb,oBAAC;IAAoB;IAA4B;KAAqB;IAClE,GACQ;GACT;;AAIb,SAAS,WAAW,EAClB,SACA,qBAIC;AACD,QACE,qBAAC,sBACC,oBAAC,gBAAa,aAAY,qBAAqB,EAC/C,qBAAC,0BACC,oBAAC,0BAAa,sBAAgC,EAC9C,oBAAC,0BACE,SAAS,KAAK,WACb,oBAAC;EAEC,OAAO,OAAO;EACd,WAAW,UAAU;AACnB,qBACE,SAAS,MAAM,aAAa,SAAS,UAAU,MAAM,IAAI,KAC1D;AACD,WAAQ,MAAM;;YAGf,OAAO;IATH,OAAO,MAUA,CACd,GACW,IACH,IACN"}
@@ -4,4 +4,5 @@ import React from "react";
4
4
  //#region ui/molecules/SearchAndFilter/SearchAndFilter.d.ts
5
5
  declare const SearchAndFilter: React.FC<SearchAndFilterProps>;
6
6
  //#endregion
7
- export { SearchAndFilter };
7
+ export { SearchAndFilter };
8
+ //# sourceMappingURL=SearchAndFilter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchAndFilter.d.ts","names":[],"sources":["../../../../ui/molecules/SearchAndFilter/SearchAndFilter.tsx"],"sourcesContent":[],"mappings":";;;;cAYa,iBAAiB,KAAA,CAAM,GAAG"}
@@ -99,4 +99,5 @@ const SearchAndFilter = ({ searchValue, onSearchChange, searchPlaceholder, filte
99
99
  };
100
100
 
101
101
  //#endregion
102
- export { SearchAndFilter };
102
+ export { SearchAndFilter };
103
+ //# sourceMappingURL=SearchAndFilter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchAndFilter.js","names":["SearchAndFilter: React.FC<SearchAndFilterProps>"],"sources":["../../../../ui/molecules/SearchAndFilter/SearchAndFilter.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { ChevronDown, ChevronUp, Filter } from 'lucide-react';\nimport { Button } from '../../button';\nimport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n} from '../../collapsible';\nimport { SearchInput } from '../../atoms/SearchInput';\nimport { FilterSelect } from '../../atoms/FilterSelect';\nimport type { SearchAndFilterProps } from './types';\n\nexport const SearchAndFilter: React.FC<SearchAndFilterProps> = ({\n searchValue,\n onSearchChange,\n searchPlaceholder,\n filters = [],\n isLoading = false,\n disabled = false,\n className = '',\n collapsible = true,\n defaultCollapsed = false,\n}) => {\n const [isCollapsed, setIsCollapsed] = useState(defaultCollapsed);\n\n const hasFilters = filters.length > 0;\n const activeFiltersCount = filters.filter((f) => f.value).length;\n\n // On mobile, show collapsible by default; on desktop, always show filters\n const shouldUseCollapsible = collapsible && hasFilters;\n\n console.log('SearchAndFilter', { filters });\n\n const FilterComponents = () => (\n <div className=\"grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4\">\n {filters.map((filter) => (\n <FilterSelect\n key={filter.key}\n value={filter.value}\n options={filter.options}\n onChange={filter.onChange}\n label={filter.label}\n disabled={disabled || isLoading}\n showCounts={filter.showCounts}\n className=\"min-w-0\"\n />\n ))}\n </div>\n );\n\n return (\n <div className={`space-y-4 ${className}`}>\n {/* Search - Always visible */}\n <div className=\"flex flex-col gap-4 sm:flex-row\">\n <div className=\"flex-1\">\n <SearchInput\n value={searchValue}\n onChange={onSearchChange}\n placeholder={searchPlaceholder}\n disabled={disabled || isLoading}\n className=\"w-full\"\n />\n </div>\n\n {/* Filter toggle for mobile */}\n {shouldUseCollapsible && (\n <Collapsible\n open={!isCollapsed}\n onOpenChange={setIsCollapsed}\n className=\"sm:hidden\"\n >\n <CollapsibleTrigger asChild>\n <Button\n variant=\"outline\"\n className=\"sm:hidden\"\n disabled={disabled || isLoading}\n >\n <Filter className=\"mr-2 h-4 w-4\" />\n Filtres\n {activeFiltersCount > 0 && (\n <span className=\"bg-primary text-primary-foreground ml-2 flex h-5 w-5 items-center justify-center rounded-full text-sm\">\n {activeFiltersCount}\n </span>\n )}\n {isCollapsed ? (\n <ChevronDown className=\"ml-2 h-4 w-4\" />\n ) : (\n <ChevronUp className=\"ml-2 h-4 w-4\" />\n )}\n </Button>\n </CollapsibleTrigger>\n <CollapsibleContent className=\"mt-4 space-y-4\">\n <FilterComponents />\n </CollapsibleContent>\n </Collapsible>\n )}\n </div>\n\n {/* Filters - Always visible on desktop, collapsible on mobile */}\n {hasFilters && (\n <div className=\"hidden sm:block\">\n <FilterComponents />\n </div>\n )}\n\n {/* Active filters summary */}\n {activeFiltersCount > 0 && (\n <div className=\"flex flex-wrap items-center gap-2\">\n <span className=\"text-muted-foreground text-base\">\n Filtres actifs:\n </span>\n {filters\n .filter((f) => f.value)\n .map((filter) => {\n const selectedOption = filter.options.find(\n (opt) => opt.value === filter.value\n );\n return (\n <Button\n key={filter.key}\n variant=\"secondary\"\n size=\"sm\"\n onClick={() => filter.onChange('')}\n disabled={disabled || isLoading}\n className=\"h-7 px-2 text-sm\"\n >\n {filter.label}: {selectedOption?.label}\n <span className=\"ml-1\">×</span>\n </Button>\n );\n })}\n </div>\n )}\n </div>\n );\n};\n"],"mappings":";;;;;;;;;AAYA,MAAaA,mBAAmD,EAC9D,aACA,gBACA,mBACA,UAAU,EAAE,EACZ,YAAY,OACZ,WAAW,OACX,YAAY,IACZ,cAAc,MACd,mBAAmB,YACf;CACJ,MAAM,CAAC,aAAa,kBAAkB,SAAS,iBAAiB;CAEhE,MAAM,aAAa,QAAQ,SAAS;CACpC,MAAM,qBAAqB,QAAQ,QAAQ,MAAM,EAAE,MAAM,CAAC;CAG1D,MAAM,uBAAuB,eAAe;AAE5C,SAAQ,IAAI,mBAAmB,EAAE,SAAS,CAAC;CAE3C,MAAM,yBACJ,oBAAC;EAAI,WAAU;YACZ,QAAQ,KAAK,WACZ,oBAAC;GAEC,OAAO,OAAO;GACd,SAAS,OAAO;GAChB,UAAU,OAAO;GACjB,OAAO,OAAO;GACd,UAAU,YAAY;GACtB,YAAY,OAAO;GACnB,WAAU;KAPL,OAAO,IAQZ,CACF;GACE;AAGR,QACE,qBAAC;EAAI,WAAW,aAAa;;GAE3B,qBAAC;IAAI,WAAU;eACb,oBAAC;KAAI,WAAU;eACb,oBAAC;MACC,OAAO;MACP,UAAU;MACV,aAAa;MACb,UAAU,YAAY;MACtB,WAAU;OACV;MACE,EAGL,wBACC,qBAAC;KACC,MAAM,CAAC;KACP,cAAc;KACd,WAAU;gBAEV,oBAAC;MAAmB;gBAClB,qBAAC;OACC,SAAQ;OACR,WAAU;OACV,UAAU,YAAY;;QAEtB,oBAAC,UAAO,WAAU,iBAAiB;;QAElC,qBAAqB,KACpB,oBAAC;SAAK,WAAU;mBACb;UACI;QAER,cACC,oBAAC,eAAY,WAAU,iBAAiB,GAExC,oBAAC,aAAU,WAAU,iBAAiB;;QAEjC;OACU,EACrB,oBAAC;MAAmB,WAAU;gBAC5B,oBAAC,qBAAmB;OACD;MACT;KAEZ;GAGL,cACC,oBAAC;IAAI,WAAU;cACb,oBAAC,qBAAmB;KAChB;GAIP,qBAAqB,KACpB,qBAAC;IAAI,WAAU;eACb,oBAAC;KAAK,WAAU;eAAkC;MAE3C,EACN,QACE,QAAQ,MAAM,EAAE,MAAM,CACtB,KAAK,WAAW;KACf,MAAM,iBAAiB,OAAO,QAAQ,MACnC,QAAQ,IAAI,UAAU,OAAO,MAC/B;AACD,YACE,qBAAC;MAEC,SAAQ;MACR,MAAK;MACL,eAAe,OAAO,SAAS,GAAG;MAClC,UAAU,YAAY;MACtB,WAAU;;OAET,OAAO;OAAM;OAAG,gBAAgB;OACjC,oBAAC;QAAK,WAAU;kBAAO;SAAQ;;QAR1B,OAAO,IASL;MAEX;KACA;;GAEJ"}
@@ -20,4 +20,5 @@ interface SearchAndFilterProps {
20
20
  defaultCollapsed?: boolean;
21
21
  }
22
22
  //#endregion
23
- export { SearchAndFilterProps };
23
+ export { SearchAndFilterProps };
24
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../../../../ui/molecules/SearchAndFilter/types.ts"],"sourcesContent":[],"mappings":";;;UAEiB,oBAAA;;EAAA,cAAA,EAAA,CAAA,KAAA,EAAoB,MAAA,EAAA,GAAA,IAWxB;;;;;;aAAA"}
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime204 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime161 from "react/jsx-runtime";
2
2
 
3
3
  //#region ui/molecules/SkeletonList.d.ts
4
4
  interface Props {
@@ -10,6 +10,7 @@ declare function SkeletonList({
10
10
  count,
11
11
  className,
12
12
  itemClassName
13
- }: Props): react_jsx_runtime204.JSX.Element;
13
+ }: Props): react_jsx_runtime161.JSX.Element;
14
14
  //#endregion
15
- export { SkeletonList };
15
+ export { SkeletonList };
16
+ //# sourceMappingURL=SkeletonList.d.ts.map
@@ -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"}
@@ -11,4 +11,5 @@ function SkeletonList({ count = 6, className = "", itemClassName = "" }) {
11
11
  }
12
12
 
13
13
  //#endregion
14
- export { SkeletonList };
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"}
@@ -1,13 +1,13 @@
1
1
  import { NavigationMenu, NavigationMenuContent, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger } from "./navigation-menu.js";
2
2
  import * as React$1 from "react";
3
- import * as react_jsx_runtime150 from "react/jsx-runtime";
4
- import * as class_variance_authority_types6 from "class-variance-authority/types";
3
+ import * as react_jsx_runtime203 from "react/jsx-runtime";
4
+ import * as class_variance_authority_types12 from "class-variance-authority/types";
5
5
 
6
6
  //#region ui/nav-layout.d.ts
7
7
  declare const navPanelVariants: (props?: ({
8
8
  width?: "sm" | "lg" | "md" | "full" | null | undefined;
9
9
  padding?: "sm" | "none" | "md" | null | undefined;
10
- } & class_variance_authority_types6.ClassProp) | undefined) => string;
10
+ } & class_variance_authority_types12.ClassProp) | undefined) => string;
11
11
  interface NavPanelProps extends React$1.ComponentPropsWithoutRef<'div'> {
12
12
  width?: 'sm' | 'md' | 'lg' | 'full';
13
13
  padding?: 'none' | 'sm' | 'md';
@@ -17,7 +17,7 @@ declare function NavPanel({
17
17
  padding,
18
18
  className,
19
19
  ...props
20
- }: NavPanelProps): react_jsx_runtime150.JSX.Element;
20
+ }: NavPanelProps): react_jsx_runtime203.JSX.Element;
21
21
  declare function NavSimpleList({
22
22
  title,
23
23
  items
@@ -28,7 +28,7 @@ declare function NavSimpleList({
28
28
  label: string;
29
29
  description?: string;
30
30
  }[];
31
- }): react_jsx_runtime150.JSX.Element;
31
+ }): react_jsx_runtime203.JSX.Element;
32
32
  declare function NavColumns({
33
33
  columns
34
34
  }: {
@@ -40,13 +40,13 @@ declare function NavColumns({
40
40
  description?: string;
41
41
  }[];
42
42
  }[];
43
- }): react_jsx_runtime150.JSX.Element;
43
+ }): react_jsx_runtime203.JSX.Element;
44
44
  declare function NavCategorizedWithPreview({
45
45
  categories,
46
46
  modules,
47
47
  activeCategory,
48
48
  setActiveCategory,
49
- activeKey,
49
+ activeKey: _activeKey,
50
50
  setActiveKey,
51
51
  preview
52
52
  }: {
@@ -65,6 +65,7 @@ declare function NavCategorizedWithPreview({
65
65
  activeKey: string | null;
66
66
  setActiveKey: (k: string | null) => void;
67
67
  preview: React$1.ReactNode;
68
- }): react_jsx_runtime150.JSX.Element;
68
+ }): react_jsx_runtime203.JSX.Element;
69
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 };
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,gCAAA,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;EACW,CAAA,EAAA;CACX,CAAA,EA1CD,oBAAA,CAAA,GAAA,CAAA,OA0CC;AACA,iBAPc,yBAAA,CAOd;EAAA,UAAA;EAAA,OAAA;EAAA,cAAA;EAAA,iBAAA;EAAA,SAAA,EAFW,UAEX;EAAA,YAAA;EAAA;CAAA,EAAA;EAaS,UAAM,EAAA;IAChB,GAAA,EAAA,MAAA;IAAA,KAAA,EAAA,MAAA;;;;;;;;;;;;WADU,OAAA,CAAM;IAChB,oBAAA,CAAA,GAAA,CAAA"}
@@ -80,7 +80,7 @@ function NavColumns({ columns }) {
80
80
  })] }, idx))
81
81
  });
82
82
  }
83
- function NavCategorizedWithPreview({ categories, modules, activeCategory, setActiveCategory, activeKey, setActiveKey, preview }) {
83
+ function NavCategorizedWithPreview({ categories, modules, activeCategory, setActiveCategory, activeKey: _activeKey, setActiveKey, preview }) {
84
84
  const visible = React$1.useMemo(() => modules.filter((m) => activeCategory === "all" || m.categories.includes(activeCategory)), [modules, activeCategory]);
85
85
  return /* @__PURE__ */ jsxs("div", {
86
86
  className: "flex items-start gap-3",
@@ -129,4 +129,5 @@ function NavCategorizedWithPreview({ categories, modules, activeCategory, setAct
129
129
  }
130
130
 
131
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 };
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 '@lssm/lib.ui-kit-core/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: _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,WACA,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,WAAW,YACX,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"}