@lssm/lib.ui-kit-web 1.11.0 → 1.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (409) hide show
  1. package/README.md +5 -0
  2. package/dist/node_modules/sonner/dist/index.js +910 -0
  3. package/dist/tsconfig.tsbuildinfo +1 -1
  4. package/dist/ui/accordion.js +2 -3
  5. package/dist/ui/alert-dialog.js +2 -3
  6. package/dist/ui/alert.js +2 -3
  7. package/dist/ui/aspect-ratio.js +1 -2
  8. package/dist/ui/atoms/FilterSelect/FilterSelect.js +1 -2
  9. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.js +1 -2
  10. package/dist/ui/atoms/Pagination/Pagination.js +1 -2
  11. package/dist/ui/atoms/SearchInput/SearchInput.js +1 -2
  12. package/dist/ui/avatar.js +1 -2
  13. package/dist/ui/badge.js +2 -3
  14. package/dist/ui/breadcrumb.js +2 -3
  15. package/dist/ui/button.js +17 -7
  16. package/dist/ui/calendar.js +3 -4
  17. package/dist/ui/card.js +2 -3
  18. package/dist/ui/carousel.js +2 -3
  19. package/dist/ui/checkbox.js +4 -5
  20. package/dist/ui/collapsible.js +1 -2
  21. package/dist/ui/command.js +2 -3
  22. package/dist/ui/confirm-dialog.js +1 -2
  23. package/dist/ui/context-menu.js +2 -3
  24. package/dist/ui/cta.js +2 -3
  25. package/dist/ui/date-picker.js +2 -3
  26. package/dist/ui/date-range-picker.js +2 -3
  27. package/dist/ui/datetime-picker.js +2 -3
  28. package/dist/ui/dialog.js +2 -3
  29. package/dist/ui/drawer.js +2 -3
  30. package/dist/ui/dropdown-menu.js +2 -3
  31. package/dist/ui/empty-state.js +2 -3
  32. package/dist/ui/empty.js +3 -4
  33. package/dist/ui/field.js +4 -5
  34. package/dist/ui/focus-on-route-change.js +1 -2
  35. package/dist/ui/form.js +1 -2
  36. package/dist/ui/hover-card.js +2 -3
  37. package/dist/ui/input-group.js +2 -3
  38. package/dist/ui/input-otp.js +2 -3
  39. package/dist/ui/input.js +2 -3
  40. package/dist/ui/label.js +2 -3
  41. package/dist/ui/link.js +2 -3
  42. package/dist/ui/live-region.js +1 -2
  43. package/dist/ui/loading-button.js +1 -2
  44. package/dist/ui/map/MapBase.js +1 -2
  45. package/dist/ui/map/MapGeoJsonOverlay.js +1 -2
  46. package/dist/ui/map/MapHeatmapH3.js +1 -2
  47. package/dist/ui/map/MapMarkers.js +1 -2
  48. package/dist/ui/marketing/FeatureGrid.js +1 -2
  49. package/dist/ui/marketing/Hero.js +2 -3
  50. package/dist/ui/marketing/PricingTable.js +2 -3
  51. package/dist/ui/menubar.js +2 -3
  52. package/dist/ui/molecules/Autocomplete/index.js +1 -2
  53. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.js +1 -2
  54. package/dist/ui/molecules/SkeletonList.js +1 -2
  55. package/dist/ui/nav-layout.js +2 -3
  56. package/dist/ui/navigation-menu.js +2 -3
  57. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.js +1 -2
  58. package/dist/ui/organisms/ListPage/ListPage.js +1 -2
  59. package/dist/ui/page-header.js +2 -3
  60. package/dist/ui/pagination.js +2 -3
  61. package/dist/ui/popover.js +2 -3
  62. package/dist/ui/progress.js +2 -3
  63. package/dist/ui/radio-group.js +2 -3
  64. package/dist/ui/resizable.js +2 -3
  65. package/dist/ui/route-announcer.js +1 -2
  66. package/dist/ui/scroll-area.js +2 -3
  67. package/dist/ui/section.js +2 -3
  68. package/dist/ui/select.js +2 -3
  69. package/dist/ui/separator.js +2 -3
  70. package/dist/ui/sheet.js +2 -3
  71. package/dist/ui/sidebar.js +2 -3
  72. package/dist/ui/skeleton.js +1 -2
  73. package/dist/ui/skip-link.js +1 -2
  74. package/dist/ui/slider.js +2 -3
  75. package/dist/ui/sonner.js +1 -2
  76. package/dist/ui/stack.js +2 -3
  77. package/dist/ui/stat-card-group.js +1 -2
  78. package/dist/ui/stepper.js +2 -3
  79. package/dist/ui/switch.js +5 -5
  80. package/dist/ui/table.js +2 -3
  81. package/dist/ui/tabs.js +2 -3
  82. package/dist/ui/text.js +2 -3
  83. package/dist/ui/textarea.js +2 -3
  84. package/dist/ui/time-picker.js +2 -3
  85. package/dist/ui/toast.js +2 -3
  86. package/dist/ui/toaster.js +1 -2
  87. package/dist/ui/toggle-group.js +2 -3
  88. package/dist/ui/toggle.js +2 -3
  89. package/dist/ui/tooltip.js +2 -3
  90. package/dist/ui/typography.js +2 -3
  91. package/dist/ui/use-media-query.js +1 -2
  92. package/dist/ui/use-mobile.js +1 -2
  93. package/dist/ui/use-reduced-motion.js +1 -2
  94. package/dist/ui/use-toast.js +1 -2
  95. package/dist/ui/useListState.js +1 -2
  96. package/dist/ui/usecases/UseCaseCard.js +1 -2
  97. package/dist/ui/usecases/UserStoryCard.js +1 -2
  98. package/dist/ui/utils.js +1 -2
  99. package/dist/ui/visually-hidden.js +1 -2
  100. package/package.json +242 -137
  101. package/dist/index.d.ts +0 -1
  102. package/dist/ui/accordion.d.ts +0 -25
  103. package/dist/ui/accordion.d.ts.map +0 -1
  104. package/dist/ui/accordion.js.map +0 -1
  105. package/dist/ui/alert-dialog.d.ts +0 -49
  106. package/dist/ui/alert-dialog.d.ts.map +0 -1
  107. package/dist/ui/alert-dialog.js.map +0 -1
  108. package/dist/ui/alert.d.ts +0 -25
  109. package/dist/ui/alert.d.ts.map +0 -1
  110. package/dist/ui/alert.js.map +0 -1
  111. package/dist/ui/aspect-ratio.d.ts +0 -8
  112. package/dist/ui/aspect-ratio.d.ts.map +0 -1
  113. package/dist/ui/aspect-ratio.js.map +0 -1
  114. package/dist/ui/atoms/FilterSelect/FilterSelect.d.ts +0 -8
  115. package/dist/ui/atoms/FilterSelect/FilterSelect.d.ts.map +0 -1
  116. package/dist/ui/atoms/FilterSelect/FilterSelect.js.map +0 -1
  117. package/dist/ui/atoms/FilterSelect/index.d.ts +0 -3
  118. package/dist/ui/atoms/FilterSelect/types.d.ts +0 -19
  119. package/dist/ui/atoms/FilterSelect/types.d.ts.map +0 -1
  120. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.d.ts +0 -23
  121. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.d.ts.map +0 -1
  122. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.js.map +0 -1
  123. package/dist/ui/atoms/LoadingSpinner/index.d.ts +0 -2
  124. package/dist/ui/atoms/Pagination/Pagination.d.ts +0 -8
  125. package/dist/ui/atoms/Pagination/Pagination.d.ts.map +0 -1
  126. package/dist/ui/atoms/Pagination/Pagination.js.map +0 -1
  127. package/dist/ui/atoms/Pagination/index.d.ts +0 -3
  128. package/dist/ui/atoms/Pagination/types.d.ts +0 -16
  129. package/dist/ui/atoms/Pagination/types.d.ts.map +0 -1
  130. package/dist/ui/atoms/SearchInput/SearchInput.d.ts +0 -8
  131. package/dist/ui/atoms/SearchInput/SearchInput.d.ts.map +0 -1
  132. package/dist/ui/atoms/SearchInput/SearchInput.js.map +0 -1
  133. package/dist/ui/atoms/SearchInput/index.d.ts +0 -3
  134. package/dist/ui/atoms/SearchInput/types.d.ts +0 -13
  135. package/dist/ui/atoms/SearchInput/types.d.ts.map +0 -1
  136. package/dist/ui/avatar.d.ts +0 -20
  137. package/dist/ui/avatar.d.ts.map +0 -1
  138. package/dist/ui/avatar.js.map +0 -1
  139. package/dist/ui/badge.d.ts +0 -20
  140. package/dist/ui/badge.d.ts.map +0 -1
  141. package/dist/ui/badge.js.map +0 -1
  142. package/dist/ui/breadcrumb.d.ts +0 -38
  143. package/dist/ui/breadcrumb.d.ts.map +0 -1
  144. package/dist/ui/breadcrumb.js.map +0 -1
  145. package/dist/ui/button.d.ts +0 -23
  146. package/dist/ui/button.d.ts.map +0 -1
  147. package/dist/ui/button.js.map +0 -1
  148. package/dist/ui/calendar.d.ts +0 -27
  149. package/dist/ui/calendar.d.ts.map +0 -1
  150. package/dist/ui/calendar.js.map +0 -1
  151. package/dist/ui/card.d.ts +0 -35
  152. package/dist/ui/card.d.ts.map +0 -1
  153. package/dist/ui/card.js.map +0 -1
  154. package/dist/ui/carousel.d.ts +0 -48
  155. package/dist/ui/carousel.d.ts.map +0 -1
  156. package/dist/ui/carousel.js.map +0 -1
  157. package/dist/ui/checkbox.d.ts +0 -12
  158. package/dist/ui/checkbox.d.ts.map +0 -1
  159. package/dist/ui/checkbox.js.map +0 -1
  160. package/dist/ui/collapsible.d.ts +0 -16
  161. package/dist/ui/collapsible.d.ts.map +0 -1
  162. package/dist/ui/collapsible.js.map +0 -1
  163. package/dist/ui/command.d.ts +0 -53
  164. package/dist/ui/command.d.ts.map +0 -1
  165. package/dist/ui/command.js.map +0 -1
  166. package/dist/ui/confirm-dialog.d.ts +0 -31
  167. package/dist/ui/confirm-dialog.d.ts.map +0 -1
  168. package/dist/ui/confirm-dialog.js.map +0 -1
  169. package/dist/ui/context-menu.d.ts +0 -35
  170. package/dist/ui/context-menu.d.ts.map +0 -1
  171. package/dist/ui/context-menu.js.map +0 -1
  172. package/dist/ui/cta.d.ts +0 -15
  173. package/dist/ui/cta.d.ts.map +0 -1
  174. package/dist/ui/cta.js.map +0 -1
  175. package/dist/ui/date-picker.d.ts +0 -26
  176. package/dist/ui/date-picker.d.ts.map +0 -1
  177. package/dist/ui/date-picker.js.map +0 -1
  178. package/dist/ui/date-range-picker.d.ts +0 -26
  179. package/dist/ui/date-range-picker.d.ts.map +0 -1
  180. package/dist/ui/date-range-picker.js.map +0 -1
  181. package/dist/ui/datetime-picker.d.ts +0 -28
  182. package/dist/ui/datetime-picker.d.ts.map +0 -1
  183. package/dist/ui/datetime-picker.js.map +0 -1
  184. package/dist/ui/dialog.d.ts +0 -48
  185. package/dist/ui/dialog.d.ts.map +0 -1
  186. package/dist/ui/dialog.js.map +0 -1
  187. package/dist/ui/drawer.d.ts +0 -45
  188. package/dist/ui/drawer.d.ts.map +0 -1
  189. package/dist/ui/drawer.js.map +0 -1
  190. package/dist/ui/dropdown-menu.d.ts +0 -78
  191. package/dist/ui/dropdown-menu.d.ts.map +0 -1
  192. package/dist/ui/dropdown-menu.js.map +0 -1
  193. package/dist/ui/empty-state.d.ts +0 -29
  194. package/dist/ui/empty-state.d.ts.map +0 -1
  195. package/dist/ui/empty-state.js.map +0 -1
  196. package/dist/ui/empty.d.ts +0 -36
  197. package/dist/ui/empty.d.ts.map +0 -1
  198. package/dist/ui/empty.js.map +0 -1
  199. package/dist/ui/field.d.ts +0 -65
  200. package/dist/ui/field.d.ts.map +0 -1
  201. package/dist/ui/field.js.map +0 -1
  202. package/dist/ui/focus-on-route-change.d.ts +0 -9
  203. package/dist/ui/focus-on-route-change.d.ts.map +0 -1
  204. package/dist/ui/focus-on-route-change.js.map +0 -1
  205. package/dist/ui/form.d.ts +0 -47
  206. package/dist/ui/form.d.ts.map +0 -1
  207. package/dist/ui/form.js.map +0 -1
  208. package/dist/ui/hover-card.d.ts +0 -20
  209. package/dist/ui/hover-card.d.ts.map +0 -1
  210. package/dist/ui/hover-card.js.map +0 -1
  211. package/dist/ui/input-group.d.ts +0 -44
  212. package/dist/ui/input-group.d.ts.map +0 -1
  213. package/dist/ui/input-group.js.map +0 -1
  214. package/dist/ui/input-otp.d.ts +0 -39
  215. package/dist/ui/input-otp.d.ts.map +0 -1
  216. package/dist/ui/input-otp.js.map +0 -1
  217. package/dist/ui/input.d.ts +0 -13
  218. package/dist/ui/input.d.ts.map +0 -1
  219. package/dist/ui/input.js.map +0 -1
  220. package/dist/ui/label.d.ts +0 -12
  221. package/dist/ui/label.d.ts.map +0 -1
  222. package/dist/ui/label.js.map +0 -1
  223. package/dist/ui/link.d.ts +0 -9
  224. package/dist/ui/link.d.ts.map +0 -1
  225. package/dist/ui/link.js.map +0 -1
  226. package/dist/ui/live-region.d.ts +0 -17
  227. package/dist/ui/live-region.d.ts.map +0 -1
  228. package/dist/ui/live-region.js.map +0 -1
  229. package/dist/ui/loading-button.d.ts +0 -20
  230. package/dist/ui/loading-button.d.ts.map +0 -1
  231. package/dist/ui/loading-button.js.map +0 -1
  232. package/dist/ui/map/MapBase.d.ts +0 -29
  233. package/dist/ui/map/MapBase.d.ts.map +0 -1
  234. package/dist/ui/map/MapBase.js.map +0 -1
  235. package/dist/ui/map/MapGeoJsonOverlay.d.ts +0 -16
  236. package/dist/ui/map/MapGeoJsonOverlay.d.ts.map +0 -1
  237. package/dist/ui/map/MapGeoJsonOverlay.js.map +0 -1
  238. package/dist/ui/map/MapHeatmapH3.d.ts +0 -18
  239. package/dist/ui/map/MapHeatmapH3.d.ts.map +0 -1
  240. package/dist/ui/map/MapHeatmapH3.js.map +0 -1
  241. package/dist/ui/map/MapMarkers.d.ts +0 -20
  242. package/dist/ui/map/MapMarkers.d.ts.map +0 -1
  243. package/dist/ui/map/MapMarkers.js.map +0 -1
  244. package/dist/ui/map/index.d.ts +0 -5
  245. package/dist/ui/marketing/FeatureGrid.d.ts +0 -21
  246. package/dist/ui/marketing/FeatureGrid.d.ts.map +0 -1
  247. package/dist/ui/marketing/FeatureGrid.js.map +0 -1
  248. package/dist/ui/marketing/Hero.d.ts +0 -28
  249. package/dist/ui/marketing/Hero.d.ts.map +0 -1
  250. package/dist/ui/marketing/Hero.js.map +0 -1
  251. package/dist/ui/marketing/PricingTable.d.ts +0 -25
  252. package/dist/ui/marketing/PricingTable.d.ts.map +0 -1
  253. package/dist/ui/marketing/PricingTable.js.map +0 -1
  254. package/dist/ui/marketing/index.d.ts +0 -4
  255. package/dist/ui/menubar.d.ts +0 -85
  256. package/dist/ui/menubar.d.ts.map +0 -1
  257. package/dist/ui/menubar.js.map +0 -1
  258. package/dist/ui/molecules/Autocomplete/index.d.ts +0 -7
  259. package/dist/ui/molecules/Autocomplete/index.d.ts.map +0 -1
  260. package/dist/ui/molecules/Autocomplete/index.js.map +0 -1
  261. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.d.ts +0 -8
  262. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.d.ts.map +0 -1
  263. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.js.map +0 -1
  264. package/dist/ui/molecules/SearchAndFilter/index.d.ts +0 -3
  265. package/dist/ui/molecules/SearchAndFilter/types.d.ts +0 -24
  266. package/dist/ui/molecules/SearchAndFilter/types.d.ts.map +0 -1
  267. package/dist/ui/molecules/SkeletonList.d.ts +0 -16
  268. package/dist/ui/molecules/SkeletonList.d.ts.map +0 -1
  269. package/dist/ui/molecules/SkeletonList.js.map +0 -1
  270. package/dist/ui/nav-layout.d.ts +0 -71
  271. package/dist/ui/nav-layout.d.ts.map +0 -1
  272. package/dist/ui/nav-layout.js.map +0 -1
  273. package/dist/ui/navigation-menu.d.ts +0 -47
  274. package/dist/ui/navigation-menu.d.ts.map +0 -1
  275. package/dist/ui/navigation-menu.js.map +0 -1
  276. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.d.ts +0 -30
  277. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.d.ts.map +0 -1
  278. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.js.map +0 -1
  279. package/dist/ui/organisms/ErrorBoundary/index.d.ts +0 -2
  280. package/dist/ui/organisms/ListPage/ListPage.d.ts +0 -29
  281. package/dist/ui/organisms/ListPage/ListPage.d.ts.map +0 -1
  282. package/dist/ui/organisms/ListPage/ListPage.js.map +0 -1
  283. package/dist/ui/organisms/ListPage/index.d.ts +0 -3
  284. package/dist/ui/organisms/ListPage/types.d.ts +0 -41
  285. package/dist/ui/organisms/ListPage/types.d.ts.map +0 -1
  286. package/dist/ui/page-header.d.ts +0 -27
  287. package/dist/ui/page-header.d.ts.map +0 -1
  288. package/dist/ui/page-header.js.map +0 -1
  289. package/dist/ui/pagination.d.ts +0 -50
  290. package/dist/ui/pagination.d.ts.map +0 -1
  291. package/dist/ui/pagination.js.map +0 -1
  292. package/dist/ui/popover.d.ts +0 -23
  293. package/dist/ui/popover.d.ts.map +0 -1
  294. package/dist/ui/popover.js.map +0 -1
  295. package/dist/ui/progress.d.ts +0 -13
  296. package/dist/ui/progress.d.ts.map +0 -1
  297. package/dist/ui/progress.js.map +0 -1
  298. package/dist/ui/radio-group.d.ts +0 -16
  299. package/dist/ui/radio-group.d.ts.map +0 -1
  300. package/dist/ui/radio-group.js.map +0 -1
  301. package/dist/ui/resizable.d.ts +0 -36
  302. package/dist/ui/resizable.d.ts.map +0 -1
  303. package/dist/ui/resizable.js.map +0 -1
  304. package/dist/ui/route-announcer.d.ts +0 -11
  305. package/dist/ui/route-announcer.d.ts.map +0 -1
  306. package/dist/ui/route-announcer.js.map +0 -1
  307. package/dist/ui/scroll-area.d.ts +0 -18
  308. package/dist/ui/scroll-area.d.ts.map +0 -1
  309. package/dist/ui/scroll-area.js.map +0 -1
  310. package/dist/ui/section.d.ts +0 -27
  311. package/dist/ui/section.d.ts.map +0 -1
  312. package/dist/ui/section.js.map +0 -1
  313. package/dist/ui/select.d.ts +0 -52
  314. package/dist/ui/select.d.ts.map +0 -1
  315. package/dist/ui/select.js.map +0 -1
  316. package/dist/ui/separator.d.ts +0 -14
  317. package/dist/ui/separator.d.ts.map +0 -1
  318. package/dist/ui/separator.js.map +0 -1
  319. package/dist/ui/sheet.d.ts +0 -41
  320. package/dist/ui/sheet.d.ts.map +0 -1
  321. package/dist/ui/sheet.js.map +0 -1
  322. package/dist/ui/sidebar.d.ts +0 -167
  323. package/dist/ui/sidebar.d.ts.map +0 -1
  324. package/dist/ui/sidebar.js.map +0 -1
  325. package/dist/ui/skeleton.d.ts +0 -10
  326. package/dist/ui/skeleton.d.ts.map +0 -1
  327. package/dist/ui/skeleton.js.map +0 -1
  328. package/dist/ui/skip-link.d.ts +0 -17
  329. package/dist/ui/skip-link.d.ts.map +0 -1
  330. package/dist/ui/skip-link.js.map +0 -1
  331. package/dist/ui/slider.d.ts +0 -16
  332. package/dist/ui/slider.d.ts.map +0 -1
  333. package/dist/ui/slider.js.map +0 -1
  334. package/dist/ui/sonner.d.ts +0 -10
  335. package/dist/ui/sonner.d.ts.map +0 -1
  336. package/dist/ui/sonner.js.map +0 -1
  337. package/dist/ui/stack.d.ts +0 -48
  338. package/dist/ui/stack.d.ts.map +0 -1
  339. package/dist/ui/stack.js.map +0 -1
  340. package/dist/ui/stat-card-group.d.ts +0 -19
  341. package/dist/ui/stat-card-group.d.ts.map +0 -1
  342. package/dist/ui/stat-card-group.js.map +0 -1
  343. package/dist/ui/stepper.d.ts +0 -23
  344. package/dist/ui/stepper.d.ts.map +0 -1
  345. package/dist/ui/stepper.js.map +0 -1
  346. package/dist/ui/switch.d.ts +0 -12
  347. package/dist/ui/switch.d.ts.map +0 -1
  348. package/dist/ui/switch.js.map +0 -1
  349. package/dist/ui/table.d.ts +0 -39
  350. package/dist/ui/table.d.ts.map +0 -1
  351. package/dist/ui/table.js.map +0 -1
  352. package/dist/ui/tabs.d.ts +0 -24
  353. package/dist/ui/tabs.d.ts.map +0 -1
  354. package/dist/ui/tabs.js.map +0 -1
  355. package/dist/ui/text.d.ts +0 -16
  356. package/dist/ui/text.d.ts.map +0 -1
  357. package/dist/ui/text.js.map +0 -1
  358. package/dist/ui/textarea.d.ts +0 -12
  359. package/dist/ui/textarea.d.ts.map +0 -1
  360. package/dist/ui/textarea.js.map +0 -1
  361. package/dist/ui/time-picker.d.ts +0 -22
  362. package/dist/ui/time-picker.d.ts.map +0 -1
  363. package/dist/ui/time-picker.js.map +0 -1
  364. package/dist/ui/toast.d.ts +0 -20
  365. package/dist/ui/toast.d.ts.map +0 -1
  366. package/dist/ui/toast.js.map +0 -1
  367. package/dist/ui/toaster.d.ts +0 -7
  368. package/dist/ui/toaster.d.ts.map +0 -1
  369. package/dist/ui/toaster.js.map +0 -1
  370. package/dist/ui/toggle-group.d.ts +0 -24
  371. package/dist/ui/toggle-group.d.ts.map +0 -1
  372. package/dist/ui/toggle-group.js.map +0 -1
  373. package/dist/ui/toggle.d.ts +0 -20
  374. package/dist/ui/toggle.d.ts.map +0 -1
  375. package/dist/ui/toggle.js.map +0 -1
  376. package/dist/ui/tooltip.d.ts +0 -24
  377. package/dist/ui/tooltip.d.ts.map +0 -1
  378. package/dist/ui/tooltip.js.map +0 -1
  379. package/dist/ui/typography.d.ts +0 -65
  380. package/dist/ui/typography.d.ts.map +0 -1
  381. package/dist/ui/typography.js.map +0 -1
  382. package/dist/ui/use-media-query.d.ts +0 -5
  383. package/dist/ui/use-media-query.d.ts.map +0 -1
  384. package/dist/ui/use-media-query.js.map +0 -1
  385. package/dist/ui/use-mobile.d.ts +0 -5
  386. package/dist/ui/use-mobile.d.ts.map +0 -1
  387. package/dist/ui/use-mobile.js.map +0 -1
  388. package/dist/ui/use-reduced-motion.d.ts +0 -5
  389. package/dist/ui/use-reduced-motion.d.ts.map +0 -1
  390. package/dist/ui/use-reduced-motion.js.map +0 -1
  391. package/dist/ui/use-toast.d.ts +0 -50
  392. package/dist/ui/use-toast.d.ts.map +0 -1
  393. package/dist/ui/use-toast.js.map +0 -1
  394. package/dist/ui/useListState.d.ts +0 -34
  395. package/dist/ui/useListState.d.ts.map +0 -1
  396. package/dist/ui/useListState.js.map +0 -1
  397. package/dist/ui/usecases/UseCaseCard.d.ts +0 -19
  398. package/dist/ui/usecases/UseCaseCard.d.ts.map +0 -1
  399. package/dist/ui/usecases/UseCaseCard.js.map +0 -1
  400. package/dist/ui/usecases/UserStoryCard.d.ts +0 -15
  401. package/dist/ui/usecases/UserStoryCard.d.ts.map +0 -1
  402. package/dist/ui/usecases/UserStoryCard.js.map +0 -1
  403. package/dist/ui/usecases/index.d.ts +0 -3
  404. package/dist/ui/utils.d.ts +0 -7
  405. package/dist/ui/utils.d.ts.map +0 -1
  406. package/dist/ui/utils.js.map +0 -1
  407. package/dist/ui/visually-hidden.d.ts +0 -10
  408. package/dist/ui/visually-hidden.d.ts.map +0 -1
  409. package/dist/ui/visually-hidden.js.map +0 -1
@@ -1,17 +0,0 @@
1
- import * as React$1 from "react";
2
- import * as react_jsx_runtime231 from "react/jsx-runtime";
3
-
4
- //#region ui/live-region.d.ts
5
- type LiveRegionPoliteness = 'polite' | 'assertive';
6
- interface SRLiveRegionContextValue {
7
- announce: (text: string, politeness?: LiveRegionPoliteness) => void;
8
- }
9
- declare function useSRLiveRegion(): SRLiveRegionContextValue;
10
- declare function SRLiveRegionProvider({
11
- children
12
- }: {
13
- children: React$1.ReactNode;
14
- }): react_jsx_runtime231.JSX.Element;
15
- //#endregion
16
- export { LiveRegionPoliteness, SRLiveRegionProvider, useSRLiveRegion };
17
- //# sourceMappingURL=live-region.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"live-region.d.ts","names":[],"sources":["../../ui/live-region.tsx"],"sourcesContent":[],"mappings":";;;;KAIY,oBAAA;UAQF,wBAAA;wCAC8B;AATxC;AAQU,iBAOM,eAAA,CAAA,CAPkB,EAOH,wBAN6B;AAM5C,iBAOA,oBAAA,CAPe;EAAA;CAAA,EAAA;EAOf,QAAA,EAGJ,OAAA,CAAM,SAHkB;CAClC,CAAA,EAGD,oBAAA,CAAA,GAAA,CAAA,OAHC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"live-region.js","names":["React"],"sources":["../../ui/live-region.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\n\nexport type LiveRegionPoliteness = 'polite' | 'assertive';\n\ninterface LiveRegionMessage {\n id: number;\n text: string;\n politeness: LiveRegionPoliteness;\n}\n\ninterface SRLiveRegionContextValue {\n announce: (text: string, politeness?: LiveRegionPoliteness) => void;\n}\n\nconst SRLiveRegionContext =\n React.createContext<SRLiveRegionContextValue | null>(null);\n\nexport function useSRLiveRegion() {\n const ctx = React.useContext(SRLiveRegionContext);\n if (!ctx)\n throw new Error('useSRLiveRegion must be used within SRLiveRegionProvider');\n return ctx;\n}\n\nexport function SRLiveRegionProvider({\n children,\n}: {\n children: React.ReactNode;\n}) {\n const [messages, setMessages] = React.useState<LiveRegionMessage[]>([]);\n const idRef = React.useRef(0);\n\n const announce = React.useCallback(\n (text: string, politeness: LiveRegionPoliteness = 'polite') => {\n const id = ++idRef.current;\n setMessages((prev) => [...prev, { id, text, politeness }]);\n // Remove message after render tick to avoid accumulation\n setTimeout(\n () => setMessages((prev) => prev.filter((m) => m.id !== id)),\n 1000\n );\n },\n []\n );\n\n return (\n <SRLiveRegionContext.Provider value={{ announce }}>\n {children}\n <div aria-live=\"polite\" aria-atomic=\"true\" className=\"sr-only\">\n {messages\n .filter((m) => m.politeness === 'polite')\n .map((m) => (\n <div key={m.id}>{m.text}</div>\n ))}\n </div>\n <div aria-live=\"assertive\" aria-atomic=\"true\" className=\"sr-only\">\n {messages\n .filter((m) => m.politeness === 'assertive')\n .map((m) => (\n <div key={m.id}>{m.text}</div>\n ))}\n </div>\n </SRLiveRegionContext.Provider>\n );\n}\n"],"mappings":";;;;;;AAgBA,MAAM,sBACJA,QAAM,cAA+C,KAAK;AAE5D,SAAgB,kBAAkB;CAChC,MAAM,MAAMA,QAAM,WAAW,oBAAoB;AACjD,KAAI,CAAC,IACH,OAAM,IAAI,MAAM,2DAA2D;AAC7E,QAAO;;AAGT,SAAgB,qBAAqB,EACnC,YAGC;CACD,MAAM,CAAC,UAAU,eAAeA,QAAM,SAA8B,EAAE,CAAC;CACvE,MAAM,QAAQA,QAAM,OAAO,EAAE;CAE7B,MAAM,WAAWA,QAAM,aACpB,MAAc,aAAmC,aAAa;EAC7D,MAAM,KAAK,EAAE,MAAM;AACnB,eAAa,SAAS,CAAC,GAAG,MAAM;GAAE;GAAI;GAAM;GAAY,CAAC,CAAC;AAE1D,mBACQ,aAAa,SAAS,KAAK,QAAQ,MAAM,EAAE,OAAO,GAAG,CAAC,EAC5D,IACD;IAEH,EAAE,CACH;AAED,QACE,qBAAC,oBAAoB;EAAS,OAAO,EAAE,UAAU;;GAC9C;GACD,oBAAC;IAAI,aAAU;IAAS,eAAY;IAAO,WAAU;cAClD,SACE,QAAQ,MAAM,EAAE,eAAe,SAAS,CACxC,KAAK,MACJ,oBAAC,mBAAgB,EAAE,QAAT,EAAE,GAAkB,CAC9B;KACA;GACN,oBAAC;IAAI,aAAU;IAAY,eAAY;IAAO,WAAU;cACrD,SACE,QAAQ,MAAM,EAAE,eAAe,YAAY,CAC3C,KAAK,MACJ,oBAAC,mBAAgB,EAAE,QAAT,EAAE,GAAkB,CAC9B;KACA;;GACuB"}
@@ -1,20 +0,0 @@
1
- import { ButtonProps } from "./button.js";
2
- import React from "react";
3
- import * as react_jsx_runtime232 from "react/jsx-runtime";
4
-
5
- //#region ui/loading-button.d.ts
6
- interface LoadingButtonProps extends ButtonProps {
7
- isLoading?: boolean;
8
- loadingText?: string;
9
- children: React.ReactNode;
10
- }
11
- declare function LoadingButton({
12
- isLoading,
13
- loadingText,
14
- children,
15
- disabled,
16
- ...props
17
- }: LoadingButtonProps): react_jsx_runtime232.JSX.Element;
18
- //#endregion
19
- export { LoadingButton };
20
- //# sourceMappingURL=loading-button.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loading-button.d.ts","names":[],"sources":["../../ui/loading-button.tsx"],"sourcesContent":[],"mappings":";;;;;UAOU,kBAAA,SAA2B;;;EAA3B,QAAA,EAGE,KAAA,CAAM,SAHW;AAM7B;AACE,iBADc,aAAA,CACd;EAAA,SAAA;EAAA,WAAA;EAAA,QAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EAKC,kBALD,CAAA,EAKmB,oBAAA,CAAA,GAAA,CAAA,OALnB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"loading-button.js","names":[],"sources":["../../ui/loading-button.tsx"],"sourcesContent":["import React from 'react';\n// import { ActivityIndicator } from 'react-native';\nimport type { ButtonProps } from './button';\nimport { Button } from './button';\nimport { Text } from './text';\nimport { HStack } from './stack';\n\ninterface LoadingButtonProps extends ButtonProps {\n isLoading?: boolean;\n loadingText?: string;\n children: React.ReactNode;\n}\n\nexport function LoadingButton({\n isLoading = false,\n loadingText,\n children,\n disabled,\n ...props\n}: LoadingButtonProps) {\n return (\n <Button disabled={disabled || isLoading} {...props}>\n {isLoading ? (\n <HStack className=\"items-center gap-x-2\">\n {/*<ActivityIndicator*/}\n {/* size=\"small\"*/}\n {/* color={props.variant === 'outline' ? '#6b7280' : '#ffffff'}*/}\n {/*/>*/}\n <Text>{loadingText || 'Loading...'}</Text>\n </HStack>\n ) : (\n children\n )}\n </Button>\n );\n}\n"],"mappings":";;;;;;;AAaA,SAAgB,cAAc,EAC5B,YAAY,OACZ,aACA,UACA,UACA,GAAG,SACkB;AACrB,QACE,oBAAC;EAAO,UAAU,YAAY;EAAW,GAAI;YAC1C,YACC,oBAAC;GAAO,WAAU;aAKhB,oBAAC,kBAAM,eAAe,eAAoB;IACnC,GAET;GAEK"}
@@ -1,29 +0,0 @@
1
- import { CSSProperties, ReactNode } from "react";
2
- import * as react_jsx_runtime235 from "react/jsx-runtime";
3
- import { MapRef } from "react-map-gl/maplibre";
4
-
5
- //#region ui/map/MapBase.d.ts
6
- interface BBox {
7
- minLng: number;
8
- minLat: number;
9
- maxLng: number;
10
- maxLat: number;
11
- }
12
- interface MapBaseProps {
13
- initialViewState?: {
14
- longitude: number;
15
- latitude: number;
16
- zoom: number;
17
- };
18
- styleUrl?: string;
19
- style?: CSSProperties;
20
- showControls?: boolean;
21
- showCssLink?: boolean;
22
- onMoveEnd?: (bbox: BBox) => void;
23
- onMapRef?: (ref: MapRef | null) => void;
24
- children?: ReactNode;
25
- }
26
- declare function MapBase(props: MapBaseProps): react_jsx_runtime235.JSX.Element;
27
- //#endregion
28
- export { BBox, MapBase, MapBase as default, MapBaseProps };
29
- //# sourceMappingURL=MapBase.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MapBase.d.ts","names":[],"sources":["../../../ui/map/MapBase.tsx"],"sourcesContent":[],"mappings":";;;;;UAaiB,IAAA;;;EAAA,MAAA,EAAI,MAAA;EAOJ,MAAA,EAAA,MAAA;;AAMI,UANJ,YAAA,CAMI;EACF,gBAAA,CAAA,EAAA;IACN,SAAA,EAAA,MAAA;IAAS,QAAA,EAAA,MAAA;IAGN,IAAA,EAAO,MAAA;;;UARb;;;qBAGW;mBACF;aACN;;iBAGG,OAAA,QAAe,eAAY,oBAAA,CAAA,GAAA,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MapBase.js","names":["React"],"sources":["../../../ui/map/MapBase.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport type { CSSProperties, ReactNode } from 'react';\nimport Map, {\n type MapRef,\n NavigationControl,\n ScaleControl,\n} from 'react-map-gl/maplibre';\n\nconst DEFAULT_STYLE =\n 'https://basemaps.cartocdn.com/gl/positron-gl-style/style.json';\n\nexport interface BBox {\n minLng: number;\n minLat: number;\n maxLng: number;\n maxLat: number;\n}\n\nexport interface MapBaseProps {\n initialViewState?: { longitude: number; latitude: number; zoom: number };\n styleUrl?: string;\n style?: CSSProperties;\n showControls?: boolean;\n showCssLink?: boolean;\n onMoveEnd?: (bbox: BBox) => void;\n onMapRef?: (ref: MapRef | null) => void;\n children?: ReactNode;\n}\n\nexport function MapBase(props: MapBaseProps) {\n const {\n initialViewState = { longitude: 2.3522, latitude: 48.8566, zoom: 5 },\n styleUrl = DEFAULT_STYLE,\n style,\n showControls = true,\n showCssLink = true,\n onMoveEnd,\n onMapRef,\n children,\n } = props;\n\n const mapRef = React.useRef<MapRef | null>(null);\n\n React.useEffect(() => {\n onMapRef?.(mapRef.current);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [mapRef.current]);\n\n // const handleMoveEnd = React.useCallback(() => {\n // if (!onMoveEnd) return;\n // const b = mapRef.current?.getBounds();\n // if (!b) return;\n // // maplibre-gl bounds → [[minLng,minLat],[maxLng,maxLat]]\n // const arr = (b as any).toArray?.() as [number, number][] | undefined;\n // if (!arr || arr.length < 2) return;\n // const [sw, ne] = arr;\n // onMoveEnd({ minLng: sw[0], minLat: sw[1], maxLng: ne[0], maxLat: ne[1] });\n // }, [onMoveEnd]);\n\n return (\n <div\n style={{\n position: 'relative',\n width: '100%',\n height: '100%',\n ...(style || {}),\n }}\n >\n {showCssLink && (\n <link\n href=\"https://unpkg.com/maplibre-gl@4.7.0/dist/maplibre-gl.css\"\n rel=\"stylesheet\"\n />\n )}\n <Map\n ref={mapRef}\n mapLib={import('maplibre-gl') as unknown as any}\n initialViewState={initialViewState}\n style={{ width: '100%', height: '100%' }}\n mapStyle={styleUrl}\n // onMoveEnd={handleMoveEnd}\n maplibreLogo={false}\n >\n {showControls && (\n <>\n <ScaleControl position=\"bottom-left\" />\n <NavigationControl position=\"bottom-left\" />\n </>\n )}\n {children}\n </Map>\n </div>\n );\n}\n\nexport default MapBase;\n"],"mappings":";;;;;;;AAUA,MAAM,gBACJ;AAoBF,SAAgB,QAAQ,OAAqB;CAC3C,MAAM,EACJ,mBAAmB;EAAE,WAAW;EAAQ,UAAU;EAAS,MAAM;EAAG,EACpE,WAAW,eACX,OACA,eAAe,MACf,cAAc,MACd,WACA,UACA,aACE;CAEJ,MAAM,SAASA,QAAM,OAAsB,KAAK;AAEhD,SAAM,gBAAgB;AACpB,aAAW,OAAO,QAAQ;IAEzB,CAAC,OAAO,QAAQ,CAAC;AAapB,QACE,qBAAC;EACC,OAAO;GACL,UAAU;GACV,OAAO;GACP,QAAQ;GACR,GAAI,SAAS,EAAE;GAChB;aAEA,eACC,oBAAC;GACC,MAAK;GACL,KAAI;IACJ,EAEJ,qBAAC;GACC,KAAK;GACL,QAAQ,OAAO;GACG;GAClB,OAAO;IAAE,OAAO;IAAQ,QAAQ;IAAQ;GACxC,UAAU;GAEV,cAAc;cAEb,gBACC,4CACE,oBAAC,gBAAa,UAAS,gBAAgB,EACvC,oBAAC,qBAAkB,UAAS,gBAAgB,IAC3C,EAEJ;IACG;GACF;;AAIV,sBAAe"}
@@ -1,16 +0,0 @@
1
- import * as react_jsx_runtime255 from "react/jsx-runtime";
2
-
3
- //#region ui/map/MapGeoJsonOverlay.d.ts
4
- interface GeoJsonOverlayProps {
5
- id?: string;
6
- data: GeoJSON.FeatureCollection;
7
- fillColor?: string;
8
- fillOpacity?: number;
9
- lineColor?: string;
10
- lineWidth?: number;
11
- lineOpacity?: number;
12
- }
13
- declare function MapGeoJsonOverlay(props: GeoJsonOverlayProps): react_jsx_runtime255.JSX.Element;
14
- //#endregion
15
- export { GeoJsonOverlayProps, MapGeoJsonOverlay, MapGeoJsonOverlay as default };
16
- //# sourceMappingURL=MapGeoJsonOverlay.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MapGeoJsonOverlay.d.ts","names":[],"sources":["../../../ui/map/MapGeoJsonOverlay.tsx"],"sourcesContent":[],"mappings":";;;UAKiB,mBAAA;;QAET,OAAA,CAAQ;EAFC,SAAA,CAAA,EAAA,MAAA;EAUD,WAAA,CAAA,EAAA,MAAiB;;;;;iBAAjB,iBAAA,QAAyB,sBAAmB,oBAAA,CAAA,GAAA,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MapGeoJsonOverlay.js","names":["fillLayer: any","outlineLayer: any"],"sources":["../../../ui/map/MapGeoJsonOverlay.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Layer, Source } from 'react-map-gl/maplibre';\n\nexport interface GeoJsonOverlayProps {\n id?: string;\n data: GeoJSON.FeatureCollection;\n fillColor?: string;\n fillOpacity?: number;\n lineColor?: string;\n lineWidth?: number;\n lineOpacity?: number;\n}\n\nexport function MapGeoJsonOverlay(props: GeoJsonOverlayProps) {\n const {\n id = 'geojson-overlay',\n data,\n fillColor = '#2563eb',\n fillOpacity = 0.25,\n lineColor = '#1e40af',\n lineWidth = 1.5,\n lineOpacity = 0.8,\n } = props;\n\n const fillLayer: any = {\n id: `${id}-fill`,\n type: 'fill',\n paint: {\n 'fill-color': fillColor,\n 'fill-opacity': fillOpacity,\n },\n };\n\n const outlineLayer: any = {\n id: `${id}-outline`,\n type: 'line',\n paint: {\n 'line-color': lineColor,\n 'line-width': lineWidth,\n 'line-opacity': lineOpacity,\n },\n };\n\n return (\n <Source id={id} type=\"geojson\" data={data as any}>\n <Layer {...fillLayer} />\n <Layer {...outlineLayer} />\n </Source>\n );\n}\n\nexport default MapGeoJsonOverlay;\n"],"mappings":";;;;;;;AAeA,SAAgB,kBAAkB,OAA4B;CAC5D,MAAM,EACJ,KAAK,mBACL,MACA,YAAY,WACZ,cAAc,KACd,YAAY,WACZ,YAAY,KACZ,cAAc,OACZ;CAEJ,MAAMA,YAAiB;EACrB,IAAI,GAAG,GAAG;EACV,MAAM;EACN,OAAO;GACL,cAAc;GACd,gBAAgB;GACjB;EACF;CAED,MAAMC,eAAoB;EACxB,IAAI,GAAG,GAAG;EACV,MAAM;EACN,OAAO;GACL,cAAc;GACd,cAAc;GACd,gBAAgB;GACjB;EACF;AAED,QACE,qBAAC;EAAW;EAAI,MAAK;EAAgB;aACnC,oBAAC,SAAM,GAAI,YAAa,EACxB,oBAAC,SAAM,GAAI,eAAgB;GACpB;;AAIb,gCAAe"}
@@ -1,18 +0,0 @@
1
- import * as react_jsx_runtime256 from "react/jsx-runtime";
2
-
3
- //#region ui/map/MapHeatmapH3.d.ts
4
- interface H3FeatureProperties {
5
- id: string;
6
- h3Index?: string;
7
- count: number;
8
- }
9
- interface H3HeatmapProps {
10
- id?: string;
11
- data: GeoJSON.FeatureCollection<GeoJSON.Polygon | GeoJSON.MultiPolygon, H3FeatureProperties>;
12
- colorStops?: [number, string][];
13
- maxCount?: number;
14
- }
15
- declare function MapHeatmapH3(props: H3HeatmapProps): react_jsx_runtime256.JSX.Element;
16
- //#endregion
17
- export { H3FeatureProperties, H3HeatmapProps, MapHeatmapH3, MapHeatmapH3 as default };
18
- //# sourceMappingURL=MapHeatmapH3.d.ts.map
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
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 const fillLayer: any = {\n id: `${id}-fill`,\n type: 'fill',\n paint: buildChoroplethPaint(colorStops, maxCount),\n };\n\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 <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,UACA;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;CAEJ,MAAMA,YAAiB;EACrB,IAAI,GAAG,GAAG;EACV,MAAM;EACN,OAAO,qBAAqB,YAAY,SAAS;EAClD;CAED,MAAMC,YAAiB;EACrB,IAAI,GAAG,GAAG;EACV,MAAM;EACN,OAAO;GACL,cAAc;GACd,cAAc;GACd,gBAAgB;GACjB;EACF;AAED,QACE,qBAAC;EAAW;EAAI,MAAK;EAAgB;aACnC,oBAAC,SAAM,GAAI,YAAa,EACxB,oBAAC,SAAM,GAAI,YAAa;GACjB;;AAIb,2BAAe"}
@@ -1,20 +0,0 @@
1
- import * as react_jsx_runtime257 from "react/jsx-runtime";
2
-
3
- //#region ui/map/MapMarkers.d.ts
4
- interface MapPoint {
5
- id: string;
6
- lng: number;
7
- lat: number;
8
- color?: string;
9
- size?: number;
10
- ariaLabel?: string;
11
- onClick?: () => void;
12
- }
13
- declare function MapMarkers({
14
- points
15
- }: {
16
- points: MapPoint[];
17
- }): react_jsx_runtime257.JSX.Element;
18
- //#endregion
19
- export { MapMarkers, MapMarkers as default, MapPoint };
20
- //# sourceMappingURL=MapMarkers.d.ts.map
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
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 <div\n role={p.onClick ? 'button' : undefined}\n tabIndex={p.onClick ? 0 : -1}\n aria-label={p.ariaLabel || 'marker'}\n onClick={p.onClick}\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,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;IAfS,EAAE,GAgBN,CACT,GACD;;AAIP,yBAAe"}
@@ -1,5 +0,0 @@
1
- import { BBox, MapBase, MapBaseProps } from "./MapBase.js";
2
- import { GeoJsonOverlayProps, MapGeoJsonOverlay } from "./MapGeoJsonOverlay.js";
3
- import { H3FeatureProperties, H3HeatmapProps, MapHeatmapH3 } from "./MapHeatmapH3.js";
4
- import { MapMarkers, MapPoint } from "./MapMarkers.js";
5
- export { BBox, GeoJsonOverlayProps, H3FeatureProperties, H3HeatmapProps, MapBase, MapBaseProps, MapGeoJsonOverlay, MapHeatmapH3, MapMarkers, MapPoint };
@@ -1,21 +0,0 @@
1
- import * as React$1 from "react";
2
- import * as react_jsx_runtime258 from "react/jsx-runtime";
3
-
4
- //#region ui/marketing/FeatureGrid.d.ts
5
- interface FeatureItem {
6
- title: React$1.ReactNode;
7
- description?: React$1.ReactNode;
8
- icon?: React$1.ReactNode;
9
- }
10
- declare function FeatureGrid({
11
- items,
12
- columns,
13
- className
14
- }: {
15
- items: FeatureItem[];
16
- columns?: 2 | 3 | 4;
17
- className?: string;
18
- }): react_jsx_runtime258.JSX.Element;
19
- //#endregion
20
- export { FeatureGrid, FeatureItem };
21
- //# sourceMappingURL=FeatureGrid.d.ts.map
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
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,28 +0,0 @@
1
- import * as React$1 from "react";
2
- import * as react_jsx_runtime259 from "react/jsx-runtime";
3
-
4
- //#region ui/marketing/Hero.d.ts
5
- declare function Hero({
6
- title,
7
- subtitle,
8
- primaryCta,
9
- secondaryCta,
10
- className
11
- }: {
12
- title: React$1.ReactNode;
13
- subtitle?: React$1.ReactNode;
14
- primaryCta?: {
15
- label: string;
16
- href?: string;
17
- onClick?: () => void;
18
- };
19
- secondaryCta?: {
20
- label: string;
21
- href?: string;
22
- onClick?: () => void;
23
- };
24
- className?: string;
25
- }): react_jsx_runtime259.JSX.Element;
26
- //#endregion
27
- export { Hero };
28
- //# sourceMappingURL=Hero.d.ts.map
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
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,25 +0,0 @@
1
- import * as react_jsx_runtime260 from "react/jsx-runtime";
2
-
3
- //#region ui/marketing/PricingTable.d.ts
4
- interface PricingTier {
5
- name: string;
6
- price: string;
7
- tagline?: string;
8
- features: string[];
9
- cta?: {
10
- label: string;
11
- href?: string;
12
- onClick?: () => void;
13
- };
14
- highlighted?: boolean;
15
- }
16
- declare function PricingTable({
17
- tiers,
18
- className
19
- }: {
20
- tiers: PricingTier[];
21
- className?: string;
22
- }): react_jsx_runtime260.JSX.Element;
23
- //#endregion
24
- export { PricingTable, PricingTier };
25
- //# sourceMappingURL=PricingTable.d.ts.map
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
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,4 +0,0 @@
1
- import { FeatureGrid, FeatureItem } from "./FeatureGrid.js";
2
- import { Hero } from "./Hero.js";
3
- import { PricingTable, PricingTier } from "./PricingTable.js";
4
- export { FeatureGrid, type FeatureItem, Hero, PricingTable, type PricingTier };
@@ -1,85 +0,0 @@
1
- import * as React$1 from "react";
2
- import * as react_jsx_runtime75 from "react/jsx-runtime";
3
- import * as MenubarPrimitive from "@radix-ui/react-menubar";
4
-
5
- //#region ui/menubar.d.ts
6
- declare function Menubar({
7
- className,
8
- ...props
9
- }: React$1.ComponentProps<typeof MenubarPrimitive.Root>): react_jsx_runtime75.JSX.Element;
10
- declare function MenubarMenu({
11
- ...props
12
- }: React$1.ComponentProps<typeof MenubarPrimitive.Menu>): react_jsx_runtime75.JSX.Element;
13
- declare function MenubarGroup({
14
- ...props
15
- }: React$1.ComponentProps<typeof MenubarPrimitive.Group>): react_jsx_runtime75.JSX.Element;
16
- declare function MenubarPortal({
17
- ...props
18
- }: React$1.ComponentProps<typeof MenubarPrimitive.Portal>): react_jsx_runtime75.JSX.Element;
19
- declare function MenubarRadioGroup({
20
- ...props
21
- }: React$1.ComponentProps<typeof MenubarPrimitive.RadioGroup>): react_jsx_runtime75.JSX.Element;
22
- declare function MenubarTrigger({
23
- className,
24
- ...props
25
- }: React$1.ComponentProps<typeof MenubarPrimitive.Trigger>): react_jsx_runtime75.JSX.Element;
26
- declare function MenubarContent({
27
- className,
28
- align,
29
- alignOffset,
30
- sideOffset,
31
- ...props
32
- }: React$1.ComponentProps<typeof MenubarPrimitive.Content>): react_jsx_runtime75.JSX.Element;
33
- declare function MenubarItem({
34
- className,
35
- inset,
36
- variant,
37
- ...props
38
- }: React$1.ComponentProps<typeof MenubarPrimitive.Item> & {
39
- inset?: boolean;
40
- variant?: 'default' | 'destructive';
41
- }): react_jsx_runtime75.JSX.Element;
42
- declare function MenubarCheckboxItem({
43
- className,
44
- children,
45
- checked,
46
- ...props
47
- }: React$1.ComponentProps<typeof MenubarPrimitive.CheckboxItem>): react_jsx_runtime75.JSX.Element;
48
- declare function MenubarRadioItem({
49
- className,
50
- children,
51
- ...props
52
- }: React$1.ComponentProps<typeof MenubarPrimitive.RadioItem>): react_jsx_runtime75.JSX.Element;
53
- declare function MenubarLabel({
54
- className,
55
- inset,
56
- ...props
57
- }: React$1.ComponentProps<typeof MenubarPrimitive.Label> & {
58
- inset?: boolean;
59
- }): react_jsx_runtime75.JSX.Element;
60
- declare function MenubarSeparator({
61
- className,
62
- ...props
63
- }: React$1.ComponentProps<typeof MenubarPrimitive.Separator>): react_jsx_runtime75.JSX.Element;
64
- declare function MenubarShortcut({
65
- className,
66
- ...props
67
- }: React$1.ComponentProps<'span'>): react_jsx_runtime75.JSX.Element;
68
- declare function MenubarSub({
69
- ...props
70
- }: React$1.ComponentProps<typeof MenubarPrimitive.Sub>): react_jsx_runtime75.JSX.Element;
71
- declare function MenubarSubTrigger({
72
- className,
73
- inset,
74
- children,
75
- ...props
76
- }: React$1.ComponentProps<typeof MenubarPrimitive.SubTrigger> & {
77
- inset?: boolean;
78
- }): react_jsx_runtime75.JSX.Element;
79
- declare function MenubarSubContent({
80
- className,
81
- ...props
82
- }: React$1.ComponentProps<typeof MenubarPrimitive.SubContent>): react_jsx_runtime75.JSX.Element;
83
- //#endregion
84
- export { Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger };
85
- //# sourceMappingURL=menubar.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"menubar.d.ts","names":[],"sources":["../../ui/menubar.tsx"],"sourcesContent":[],"mappings":"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"}
@@ -1 +0,0 @@
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 './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.ComponentProps<'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,7 +0,0 @@
1
- import * as react_jsx_runtime264 from "react/jsx-runtime";
2
-
3
- //#region ui/molecules/Autocomplete/index.d.ts
4
- declare function ComboBoxResponsive(): react_jsx_runtime264.JSX.Element;
5
- //#endregion
6
- export { ComboBoxResponsive };
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../../../ui/molecules/Autocomplete/index.tsx"],"sourcesContent":[],"mappings":";;;iBAyCgB,kBAAA,CAAA,GAAkB,oBAAA,CAAA,GAAA,CAAA"}
@@ -1 +0,0 @@
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"}
@@ -1,8 +0,0 @@
1
- import { SearchAndFilterProps } from "./types.js";
2
- import React from "react";
3
-
4
- //#region ui/molecules/SearchAndFilter/SearchAndFilter.d.ts
5
- declare const SearchAndFilter: React.FC<SearchAndFilterProps>;
6
- //#endregion
7
- export { SearchAndFilter };
8
- //# sourceMappingURL=SearchAndFilter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SearchAndFilter.d.ts","names":[],"sources":["../../../../ui/molecules/SearchAndFilter/SearchAndFilter.tsx"],"sourcesContent":[],"mappings":";;;;cAYa,iBAAiB,KAAA,CAAM,GAAG"}
@@ -1 +0,0 @@
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"}
@@ -1,3 +0,0 @@
1
- import { SearchAndFilterProps } from "./types.js";
2
- import { SearchAndFilter } from "./SearchAndFilter.js";
3
- export { SearchAndFilter, type SearchAndFilterProps };
@@ -1,24 +0,0 @@
1
- import { FilterOption } from "@lssm/lib.ui-kit-web/ui/atoms/FilterSelect";
2
-
3
- //#region ui/molecules/SearchAndFilter/types.d.ts
4
- interface SearchAndFilterProps {
5
- searchValue: string;
6
- onSearchChange: (value: string) => void;
7
- searchPlaceholder?: string;
8
- filters?: {
9
- key: string;
10
- label: string;
11
- value: string;
12
- options: FilterOption[];
13
- onChange: (value: string) => void;
14
- showCounts?: boolean;
15
- }[];
16
- isLoading?: boolean;
17
- disabled?: boolean;
18
- className?: string;
19
- collapsible?: boolean;
20
- defaultCollapsed?: boolean;
21
- }
22
- //#endregion
23
- export { SearchAndFilterProps };
24
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
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,16 +0,0 @@
1
- import * as react_jsx_runtime261 from "react/jsx-runtime";
2
-
3
- //#region ui/molecules/SkeletonList.d.ts
4
- interface Props {
5
- count?: number;
6
- className?: string;
7
- itemClassName?: string;
8
- }
9
- declare function SkeletonList({
10
- count,
11
- className,
12
- itemClassName
13
- }: Props): react_jsx_runtime261.JSX.Element;
14
- //#endregion
15
- export { SkeletonList };
16
- //# sourceMappingURL=SkeletonList.d.ts.map
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
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"}