@lssm-tech/lib.ui-kit-web 3.13.4

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 (391) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +233 -0
  3. package/dist/browser/index.js +1 -0
  4. package/dist/browser/ui/accordion.js +1 -0
  5. package/dist/browser/ui/alert-dialog.js +1 -0
  6. package/dist/browser/ui/alert.js +1 -0
  7. package/dist/browser/ui/aspect-ratio.js +1 -0
  8. package/dist/browser/ui/atoms/FilterSelect/FilterSelect.js +1 -0
  9. package/dist/browser/ui/atoms/FilterSelect/index.js +1 -0
  10. package/dist/browser/ui/atoms/FilterSelect/types.js +0 -0
  11. package/dist/browser/ui/atoms/LoadingSpinner/LoadingSpinner.js +1 -0
  12. package/dist/browser/ui/atoms/LoadingSpinner/index.js +1 -0
  13. package/dist/browser/ui/atoms/Pagination/Pagination.js +1 -0
  14. package/dist/browser/ui/atoms/Pagination/index.js +1 -0
  15. package/dist/browser/ui/atoms/Pagination/types.js +0 -0
  16. package/dist/browser/ui/atoms/SearchInput/SearchInput.js +1 -0
  17. package/dist/browser/ui/atoms/SearchInput/index.js +1 -0
  18. package/dist/browser/ui/atoms/SearchInput/types.js +0 -0
  19. package/dist/browser/ui/avatar.js +1 -0
  20. package/dist/browser/ui/badge.js +1 -0
  21. package/dist/browser/ui/breadcrumb.js +1 -0
  22. package/dist/browser/ui/button-group.js +1 -0
  23. package/dist/browser/ui/button.js +1 -0
  24. package/dist/browser/ui/calendar.js +1 -0
  25. package/dist/browser/ui/card.js +1 -0
  26. package/dist/browser/ui/carousel.js +1 -0
  27. package/dist/browser/ui/chart.js +1 -0
  28. package/dist/browser/ui/checkbox.js +1 -0
  29. package/dist/browser/ui/collapsible.js +1 -0
  30. package/dist/browser/ui/combobox.js +1 -0
  31. package/dist/browser/ui/command.js +1 -0
  32. package/dist/browser/ui/confirm-dialog.js +1 -0
  33. package/dist/browser/ui/context-menu.js +1 -0
  34. package/dist/browser/ui/contracts.typecheck.js +0 -0
  35. package/dist/browser/ui/cta.js +1 -0
  36. package/dist/browser/ui/data-table.js +1 -0
  37. package/dist/browser/ui/data-table.parts.js +1 -0
  38. package/dist/browser/ui/date-picker.js +1 -0
  39. package/dist/browser/ui/date-range-picker.js +1 -0
  40. package/dist/browser/ui/datetime-picker.js +1 -0
  41. package/dist/browser/ui/dialog.js +1 -0
  42. package/dist/browser/ui/direction.js +1 -0
  43. package/dist/browser/ui/drawer.js +1 -0
  44. package/dist/browser/ui/dropdown-menu.js +1 -0
  45. package/dist/browser/ui/empty-state.js +1 -0
  46. package/dist/browser/ui/empty.js +1 -0
  47. package/dist/browser/ui/field.js +1 -0
  48. package/dist/browser/ui/focus-on-route-change.js +1 -0
  49. package/dist/browser/ui/form.js +1 -0
  50. package/dist/browser/ui/hover-card.js +1 -0
  51. package/dist/browser/ui/input-group.js +1 -0
  52. package/dist/browser/ui/input-otp.js +1 -0
  53. package/dist/browser/ui/input-password.js +1 -0
  54. package/dist/browser/ui/input.js +1 -0
  55. package/dist/browser/ui/item.js +1 -0
  56. package/dist/browser/ui/kbd.js +1 -0
  57. package/dist/browser/ui/label.js +1 -0
  58. package/dist/browser/ui/link.js +1 -0
  59. package/dist/browser/ui/list.js +1 -0
  60. package/dist/browser/ui/live-region.js +1 -0
  61. package/dist/browser/ui/loading-button.js +1 -0
  62. package/dist/browser/ui/map/MapBase.js +1 -0
  63. package/dist/browser/ui/map/MapGeoJsonOverlay.js +1 -0
  64. package/dist/browser/ui/map/MapHeatmapH3.js +1 -0
  65. package/dist/browser/ui/map/MapMarkers.js +1 -0
  66. package/dist/browser/ui/map/index.js +1 -0
  67. package/dist/browser/ui/marketing/FeatureGrid.js +1 -0
  68. package/dist/browser/ui/marketing/Hero.js +1 -0
  69. package/dist/browser/ui/marketing/PricingTable.js +1 -0
  70. package/dist/browser/ui/marketing/index.js +1 -0
  71. package/dist/browser/ui/menubar.js +1 -0
  72. package/dist/browser/ui/molecules/Autocomplete/index.js +1 -0
  73. package/dist/browser/ui/molecules/SearchAndFilter/SearchAndFilter.js +1 -0
  74. package/dist/browser/ui/molecules/SearchAndFilter/index.js +1 -0
  75. package/dist/browser/ui/molecules/SearchAndFilter/types.js +0 -0
  76. package/dist/browser/ui/molecules/SkeletonList.js +1 -0
  77. package/dist/browser/ui/native-select.js +1 -0
  78. package/dist/browser/ui/nav-layout.js +1 -0
  79. package/dist/browser/ui/navigation-menu.js +1 -0
  80. package/dist/browser/ui/organisms/ErrorBoundary/ErrorBoundary.js +1 -0
  81. package/dist/browser/ui/organisms/ErrorBoundary/index.js +1 -0
  82. package/dist/browser/ui/organisms/ListPage/ListPage.js +1 -0
  83. package/dist/browser/ui/organisms/ListPage/index.js +1 -0
  84. package/dist/browser/ui/organisms/ListPage/types.js +0 -0
  85. package/dist/browser/ui/page-header.js +1 -0
  86. package/dist/browser/ui/pagination.js +1 -0
  87. package/dist/browser/ui/popover.js +1 -0
  88. package/dist/browser/ui/progress.js +1 -0
  89. package/dist/browser/ui/radio-group.js +1 -0
  90. package/dist/browser/ui/resizable.js +1 -0
  91. package/dist/browser/ui/route-announcer.js +1 -0
  92. package/dist/browser/ui/scroll-area.js +1 -0
  93. package/dist/browser/ui/section.js +1 -0
  94. package/dist/browser/ui/select.js +1 -0
  95. package/dist/browser/ui/separator.js +1 -0
  96. package/dist/browser/ui/sheet.js +1 -0
  97. package/dist/browser/ui/sidebar.js +1 -0
  98. package/dist/browser/ui/skeleton.js +1 -0
  99. package/dist/browser/ui/skip-link.js +1 -0
  100. package/dist/browser/ui/slider.js +1 -0
  101. package/dist/browser/ui/sonner.js +1 -0
  102. package/dist/browser/ui/spinner.js +1 -0
  103. package/dist/browser/ui/stack.js +1 -0
  104. package/dist/browser/ui/stat-card-group.js +1 -0
  105. package/dist/browser/ui/stepper.js +1 -0
  106. package/dist/browser/ui/switch.js +1 -0
  107. package/dist/browser/ui/table.js +1 -0
  108. package/dist/browser/ui/tabs.js +1 -0
  109. package/dist/browser/ui/text.js +1 -0
  110. package/dist/browser/ui/textarea.js +1 -0
  111. package/dist/browser/ui/time-picker.js +1 -0
  112. package/dist/browser/ui/toast.js +1 -0
  113. package/dist/browser/ui/toaster.js +1 -0
  114. package/dist/browser/ui/toggle-group.js +1 -0
  115. package/dist/browser/ui/toggle.js +1 -0
  116. package/dist/browser/ui/tooltip.js +1 -0
  117. package/dist/browser/ui/typography.js +1 -0
  118. package/dist/browser/ui/use-media-query.js +1 -0
  119. package/dist/browser/ui/use-mobile.js +1 -0
  120. package/dist/browser/ui/use-reduced-motion.js +1 -0
  121. package/dist/browser/ui/use-toast.js +1 -0
  122. package/dist/browser/ui/useListState.js +1 -0
  123. package/dist/browser/ui/usecases/UseCaseCard.js +1 -0
  124. package/dist/browser/ui/usecases/UserStoryCard.js +1 -0
  125. package/dist/browser/ui/usecases/index.js +1 -0
  126. package/dist/browser/ui/utils.js +1 -0
  127. package/dist/browser/ui/visualization/Visualization.js +1 -0
  128. package/dist/browser/ui/visualization/Visualization.support.js +1 -0
  129. package/dist/browser/ui/visualization/index.js +1 -0
  130. package/dist/browser/ui/visually-hidden.js +1 -0
  131. package/dist/index.d.ts +1 -0
  132. package/dist/index.js +2 -0
  133. package/dist/ui/accordion.d.ts +7 -0
  134. package/dist/ui/accordion.js +2 -0
  135. package/dist/ui/alert-dialog.d.ts +14 -0
  136. package/dist/ui/alert-dialog.js +2 -0
  137. package/dist/ui/alert.d.ts +9 -0
  138. package/dist/ui/alert.js +2 -0
  139. package/dist/ui/aspect-ratio.d.ts +3 -0
  140. package/dist/ui/aspect-ratio.js +2 -0
  141. package/dist/ui/atoms/FilterSelect/FilterSelect.d.ts +3 -0
  142. package/dist/ui/atoms/FilterSelect/FilterSelect.js +2 -0
  143. package/dist/ui/atoms/FilterSelect/index.d.ts +2 -0
  144. package/dist/ui/atoms/FilterSelect/index.js +2 -0
  145. package/dist/ui/atoms/FilterSelect/types.d.ts +5 -0
  146. package/dist/ui/atoms/FilterSelect/types.js +1 -0
  147. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.d.ts +19 -0
  148. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.js +2 -0
  149. package/dist/ui/atoms/LoadingSpinner/index.d.ts +1 -0
  150. package/dist/ui/atoms/LoadingSpinner/index.js +2 -0
  151. package/dist/ui/atoms/Pagination/Pagination.d.ts +3 -0
  152. package/dist/ui/atoms/Pagination/Pagination.js +2 -0
  153. package/dist/ui/atoms/Pagination/index.d.ts +2 -0
  154. package/dist/ui/atoms/Pagination/index.js +2 -0
  155. package/dist/ui/atoms/Pagination/types.d.ts +3 -0
  156. package/dist/ui/atoms/Pagination/types.js +1 -0
  157. package/dist/ui/atoms/SearchInput/SearchInput.d.ts +3 -0
  158. package/dist/ui/atoms/SearchInput/SearchInput.js +2 -0
  159. package/dist/ui/atoms/SearchInput/index.d.ts +2 -0
  160. package/dist/ui/atoms/SearchInput/index.js +2 -0
  161. package/dist/ui/atoms/SearchInput/types.d.ts +3 -0
  162. package/dist/ui/atoms/SearchInput/types.js +1 -0
  163. package/dist/ui/avatar.d.ts +6 -0
  164. package/dist/ui/avatar.js +2 -0
  165. package/dist/ui/badge.d.ts +9 -0
  166. package/dist/ui/badge.js +2 -0
  167. package/dist/ui/breadcrumb.d.ts +11 -0
  168. package/dist/ui/breadcrumb.js +2 -0
  169. package/dist/ui/button-group.d.ts +5 -0
  170. package/dist/ui/button-group.js +2 -0
  171. package/dist/ui/button.d.ts +17 -0
  172. package/dist/ui/button.js +2 -0
  173. package/dist/ui/calendar.d.ts +8 -0
  174. package/dist/ui/calendar.js +2 -0
  175. package/dist/ui/card.d.ts +9 -0
  176. package/dist/ui/card.js +2 -0
  177. package/dist/ui/carousel.d.ts +19 -0
  178. package/dist/ui/carousel.js +2 -0
  179. package/dist/ui/chart.d.ts +45 -0
  180. package/dist/ui/chart.js +2 -0
  181. package/dist/ui/checkbox.d.ts +4 -0
  182. package/dist/ui/checkbox.js +2 -0
  183. package/dist/ui/collapsible.d.ts +5 -0
  184. package/dist/ui/collapsible.js +2 -0
  185. package/dist/ui/combobox.d.ts +32 -0
  186. package/dist/ui/combobox.js +2 -0
  187. package/dist/ui/combobox.test.d.ts +1 -0
  188. package/dist/ui/command.d.ts +18 -0
  189. package/dist/ui/command.js +2 -0
  190. package/dist/ui/confirm-dialog.d.ts +14 -0
  191. package/dist/ui/confirm-dialog.js +2 -0
  192. package/dist/ui/context-menu.d.ts +31 -0
  193. package/dist/ui/context-menu.js +2 -0
  194. package/dist/ui/contracts.typecheck.d.ts +1 -0
  195. package/dist/ui/contracts.typecheck.js +1 -0
  196. package/dist/ui/cta.d.ts +12 -0
  197. package/dist/ui/cta.js +2 -0
  198. package/dist/ui/data-table.d.ts +8 -0
  199. package/dist/ui/data-table.js +2 -0
  200. package/dist/ui/data-table.parts.d.ts +19 -0
  201. package/dist/ui/data-table.parts.js +2 -0
  202. package/dist/ui/data-table.test.d.ts +1 -0
  203. package/dist/ui/date-picker.d.ts +5 -0
  204. package/dist/ui/date-picker.js +2 -0
  205. package/dist/ui/date-range-picker.d.ts +6 -0
  206. package/dist/ui/date-range-picker.js +2 -0
  207. package/dist/ui/datetime-picker.d.ts +6 -0
  208. package/dist/ui/datetime-picker.js +2 -0
  209. package/dist/ui/dialog.d.ts +15 -0
  210. package/dist/ui/dialog.js +2 -0
  211. package/dist/ui/direction.d.ts +9 -0
  212. package/dist/ui/direction.js +2 -0
  213. package/dist/ui/drawer.d.ts +13 -0
  214. package/dist/ui/drawer.js +2 -0
  215. package/dist/ui/dropdown-menu.d.ts +25 -0
  216. package/dist/ui/dropdown-menu.js +2 -0
  217. package/dist/ui/empty-state.d.ts +9 -0
  218. package/dist/ui/empty-state.js +2 -0
  219. package/dist/ui/empty.d.ts +12 -0
  220. package/dist/ui/empty.js +2 -0
  221. package/dist/ui/field.d.ts +20 -0
  222. package/dist/ui/field.js +2 -0
  223. package/dist/ui/focus-on-route-change.d.ts +3 -0
  224. package/dist/ui/focus-on-route-change.js +2 -0
  225. package/dist/ui/form.d.ts +26 -0
  226. package/dist/ui/form.js +2 -0
  227. package/dist/ui/hover-card.d.ts +6 -0
  228. package/dist/ui/hover-card.js +2 -0
  229. package/dist/ui/input-group.d.ts +18 -0
  230. package/dist/ui/input-group.js +2 -0
  231. package/dist/ui/input-otp.d.ts +16 -0
  232. package/dist/ui/input-otp.js +2 -0
  233. package/dist/ui/input-password.d.ts +11 -0
  234. package/dist/ui/input-password.js +2 -0
  235. package/dist/ui/input-password.test.d.ts +1 -0
  236. package/dist/ui/input.d.ts +7 -0
  237. package/dist/ui/input.js +2 -0
  238. package/dist/ui/item.d.ts +23 -0
  239. package/dist/ui/item.js +2 -0
  240. package/dist/ui/kbd.d.ts +3 -0
  241. package/dist/ui/kbd.js +2 -0
  242. package/dist/ui/label.d.ts +4 -0
  243. package/dist/ui/label.js +2 -0
  244. package/dist/ui/link.d.ts +6 -0
  245. package/dist/ui/link.js +2 -0
  246. package/dist/ui/list.d.ts +20 -0
  247. package/dist/ui/list.js +2 -0
  248. package/dist/ui/live-region.d.ts +10 -0
  249. package/dist/ui/live-region.js +2 -0
  250. package/dist/ui/loading-button.d.ts +9 -0
  251. package/dist/ui/loading-button.js +2 -0
  252. package/dist/ui/map/MapBase.d.ts +22 -0
  253. package/dist/ui/map/MapBase.js +2 -0
  254. package/dist/ui/map/MapGeoJsonOverlay.d.ts +10 -0
  255. package/dist/ui/map/MapGeoJsonOverlay.js +2 -0
  256. package/dist/ui/map/MapHeatmapH3.d.ts +12 -0
  257. package/dist/ui/map/MapHeatmapH3.js +2 -0
  258. package/dist/ui/map/MapMarkers.d.ts +12 -0
  259. package/dist/ui/map/MapMarkers.js +2 -0
  260. package/dist/ui/map/index.d.ts +4 -0
  261. package/dist/ui/map/index.js +2 -0
  262. package/dist/ui/marketing/FeatureGrid.d.ts +4 -0
  263. package/dist/ui/marketing/FeatureGrid.js +2 -0
  264. package/dist/ui/marketing/Hero.d.ts +16 -0
  265. package/dist/ui/marketing/Hero.js +2 -0
  266. package/dist/ui/marketing/PricingTable.d.ts +4 -0
  267. package/dist/ui/marketing/PricingTable.js +2 -0
  268. package/dist/ui/marketing/index.d.ts +3 -0
  269. package/dist/ui/marketing/index.js +2 -0
  270. package/dist/ui/menubar.d.ts +26 -0
  271. package/dist/ui/menubar.js +2 -0
  272. package/dist/ui/molecules/Autocomplete/index.d.ts +1 -0
  273. package/dist/ui/molecules/Autocomplete/index.js +2 -0
  274. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.d.ts +3 -0
  275. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.js +2 -0
  276. package/dist/ui/molecules/SearchAndFilter/index.d.ts +2 -0
  277. package/dist/ui/molecules/SearchAndFilter/index.js +2 -0
  278. package/dist/ui/molecules/SearchAndFilter/types.d.ts +3 -0
  279. package/dist/ui/molecules/SearchAndFilter/types.js +1 -0
  280. package/dist/ui/molecules/SkeletonList.d.ts +7 -0
  281. package/dist/ui/molecules/SkeletonList.js +2 -0
  282. package/dist/ui/native-select.d.ts +4 -0
  283. package/dist/ui/native-select.js +2 -0
  284. package/dist/ui/nav-layout.d.ts +47 -0
  285. package/dist/ui/nav-layout.js +2 -0
  286. package/dist/ui/navigation-menu.d.ts +14 -0
  287. package/dist/ui/navigation-menu.js +2 -0
  288. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.d.ts +25 -0
  289. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.js +2 -0
  290. package/dist/ui/organisms/ErrorBoundary/index.d.ts +2 -0
  291. package/dist/ui/organisms/ErrorBoundary/index.js +2 -0
  292. package/dist/ui/organisms/ListPage/ListPage.d.ts +2 -0
  293. package/dist/ui/organisms/ListPage/ListPage.js +2 -0
  294. package/dist/ui/organisms/ListPage/index.d.ts +2 -0
  295. package/dist/ui/organisms/ListPage/index.js +2 -0
  296. package/dist/ui/organisms/ListPage/types.d.ts +37 -0
  297. package/dist/ui/organisms/ListPage/types.js +1 -0
  298. package/dist/ui/page-header.d.ts +9 -0
  299. package/dist/ui/page-header.js +2 -0
  300. package/dist/ui/pagination.d.ts +17 -0
  301. package/dist/ui/pagination.js +2 -0
  302. package/dist/ui/popover.d.ts +7 -0
  303. package/dist/ui/popover.js +2 -0
  304. package/dist/ui/progress.d.ts +4 -0
  305. package/dist/ui/progress.js +2 -0
  306. package/dist/ui/radio-group.d.ts +5 -0
  307. package/dist/ui/radio-group.js +2 -0
  308. package/dist/ui/resizable.d.ts +8 -0
  309. package/dist/ui/resizable.js +2 -0
  310. package/dist/ui/route-announcer.d.ts +3 -0
  311. package/dist/ui/route-announcer.js +2 -0
  312. package/dist/ui/scroll-area.d.ts +5 -0
  313. package/dist/ui/scroll-area.js +2 -0
  314. package/dist/ui/section.d.ts +15 -0
  315. package/dist/ui/section.js +2 -0
  316. package/dist/ui/select.d.ts +15 -0
  317. package/dist/ui/select.js +2 -0
  318. package/dist/ui/select.test.d.ts +1 -0
  319. package/dist/ui/separator.d.ts +4 -0
  320. package/dist/ui/separator.js +2 -0
  321. package/dist/ui/sheet.d.ts +13 -0
  322. package/dist/ui/sheet.js +2 -0
  323. package/dist/ui/sidebar.d.ts +69 -0
  324. package/dist/ui/sidebar.js +2 -0
  325. package/dist/ui/skeleton.d.ts +3 -0
  326. package/dist/ui/skeleton.js +2 -0
  327. package/dist/ui/skip-link.d.ts +7 -0
  328. package/dist/ui/skip-link.js +2 -0
  329. package/dist/ui/slider.d.ts +4 -0
  330. package/dist/ui/slider.js +2 -0
  331. package/dist/ui/sonner.d.ts +3 -0
  332. package/dist/ui/sonner.js +2 -0
  333. package/dist/ui/spinner.d.ts +5 -0
  334. package/dist/ui/spinner.js +2 -0
  335. package/dist/ui/stack.d.ts +35 -0
  336. package/dist/ui/stack.js +2 -0
  337. package/dist/ui/stat-card-group.d.ts +10 -0
  338. package/dist/ui/stat-card-group.js +2 -0
  339. package/dist/ui/stepper.d.ts +10 -0
  340. package/dist/ui/stepper.js +2 -0
  341. package/dist/ui/switch.d.ts +6 -0
  342. package/dist/ui/switch.js +2 -0
  343. package/dist/ui/table.d.ts +10 -0
  344. package/dist/ui/table.js +2 -0
  345. package/dist/ui/tabs.d.ts +7 -0
  346. package/dist/ui/tabs.js +2 -0
  347. package/dist/ui/text.d.ts +6 -0
  348. package/dist/ui/text.js +2 -0
  349. package/dist/ui/textarea.d.ts +5 -0
  350. package/dist/ui/textarea.js +2 -0
  351. package/dist/ui/time-picker.d.ts +4 -0
  352. package/dist/ui/time-picker.js +2 -0
  353. package/dist/ui/toast.d.ts +28 -0
  354. package/dist/ui/toast.js +2 -0
  355. package/dist/ui/toaster.d.ts +1 -0
  356. package/dist/ui/toaster.js +2 -0
  357. package/dist/ui/toggle-group.d.ts +7 -0
  358. package/dist/ui/toggle-group.js +2 -0
  359. package/dist/ui/toggle.d.ts +9 -0
  360. package/dist/ui/toggle.js +2 -0
  361. package/dist/ui/tooltip.d.ts +7 -0
  362. package/dist/ui/tooltip.js +2 -0
  363. package/dist/ui/typography.d.ts +16 -0
  364. package/dist/ui/typography.js +2 -0
  365. package/dist/ui/use-media-query.d.ts +1 -0
  366. package/dist/ui/use-media-query.js +2 -0
  367. package/dist/ui/use-mobile.d.ts +1 -0
  368. package/dist/ui/use-mobile.js +2 -0
  369. package/dist/ui/use-reduced-motion.d.ts +1 -0
  370. package/dist/ui/use-reduced-motion.js +2 -0
  371. package/dist/ui/use-toast.d.ts +44 -0
  372. package/dist/ui/use-toast.js +2 -0
  373. package/dist/ui/useListState.d.ts +6 -0
  374. package/dist/ui/useListState.js +2 -0
  375. package/dist/ui/usecases/UseCaseCard.d.ts +7 -0
  376. package/dist/ui/usecases/UseCaseCard.js +2 -0
  377. package/dist/ui/usecases/UserStoryCard.d.ts +5 -0
  378. package/dist/ui/usecases/UserStoryCard.js +2 -0
  379. package/dist/ui/usecases/index.d.ts +2 -0
  380. package/dist/ui/usecases/index.js +2 -0
  381. package/dist/ui/utils.d.ts +2 -0
  382. package/dist/ui/utils.js +2 -0
  383. package/dist/ui/visualization/Visualization.d.ts +7 -0
  384. package/dist/ui/visualization/Visualization.js +2 -0
  385. package/dist/ui/visualization/Visualization.support.d.ts +15 -0
  386. package/dist/ui/visualization/Visualization.support.js +2 -0
  387. package/dist/ui/visualization/index.d.ts +1 -0
  388. package/dist/ui/visualization/index.js +2 -0
  389. package/dist/ui/visually-hidden.d.ts +8 -0
  390. package/dist/ui/visually-hidden.js +2 -0
  391. package/package.json +1691 -0
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ var R=import.meta.require;import{cn as O}from"@contractspec/lib.ui-kit-core/utils";import*as K from"@radix-ui/react-toggle";import{cva as P}from"class-variance-authority";import{jsx as Q}from"react/jsx-runtime";var H=P("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md font-medium text-sm outline-hidden transition-[color,box-shadow] hover:bg-muted hover:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",{variants:{variant:{default:"bg-transparent",outline:"border border-input bg-transparent shadow-2xs hover:bg-accent hover:text-accent-foreground"},size:{default:"h-9 min-w-9 px-2",sm:"h-8 min-w-8 px-1.5",lg:"h-10 min-w-10 px-2.5"}},defaultVariants:{variant:"default",size:"default"}});function X({className:A,variant:q,size:f,...w}){return Q(K.Root,{"data-slot":"toggle",className:O(H({variant:q,size:f,className:A})),...w})}import{cn as L}from"@contractspec/lib.ui-kit-core/utils";import*as D from"@radix-ui/react-toggle-group";import*as E from"react";import{jsx as J}from"react/jsx-runtime";var M=E.createContext({size:"default",variant:"default"});function y({className:A,variant:q,size:f,children:w,...F}){return J(D.Root,{"data-slot":"toggle-group","data-variant":q,"data-size":f,className:L("group/toggle-group flex w-fit items-center rounded-md data-[variant=outline]:shadow-2xs",A),...F,children:J(M.Provider,{value:{variant:q,size:f},children:w})})}function I({className:A,children:q,variant:f,size:w,...F}){let B=E.useContext(M);return J(D.Item,{"data-slot":"toggle-group-item","data-variant":B.variant||f,"data-size":B.size||w,className:L(H({variant:B.variant||f,size:B.size||w}),"min-w-0 flex-1 shrink-0 rounded-none shadow-none first:rounded-l-md last:rounded-r-md focus:z-10 focus-visible:z-10 data-[variant=outline]:border-l-0 data-[variant=outline]:first:border-l",A),...F,children:q})}export{I as ToggleGroupItem,y as ToggleGroup};
@@ -0,0 +1,9 @@
1
+ import * as TogglePrimitive from '@radix-ui/react-toggle';
2
+ import { type VariantProps } from 'class-variance-authority';
3
+ import * as React from 'react';
4
+ declare const toggleVariants: (props?: ({
5
+ variant?: "default" | "outline" | null | undefined;
6
+ size?: "default" | "sm" | "lg" | null | undefined;
7
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
+ declare function Toggle({ className, variant, size, ...props }: React.ComponentProps<typeof TogglePrimitive.Root> & VariantProps<typeof toggleVariants>): import("react/jsx-runtime").JSX.Element;
9
+ export { Toggle, toggleVariants };
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ var G=import.meta.require;import{cn as C}from"@contractspec/lib.ui-kit-core/utils";import*as f from"@radix-ui/react-toggle";import{cva as D}from"class-variance-authority";import{jsx as F}from"react/jsx-runtime";var E=D("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md font-medium text-sm outline-hidden transition-[color,box-shadow] hover:bg-muted hover:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",{variants:{variant:{default:"bg-transparent",outline:"border border-input bg-transparent shadow-2xs hover:bg-accent hover:text-accent-foreground"},size:{default:"h-9 min-w-9 px-2",sm:"h-8 min-w-8 px-1.5",lg:"h-10 min-w-10 px-2.5"}},defaultVariants:{variant:"default",size:"default"}});function K({className:q,variant:w,size:A,...B}){return F(f.Root,{"data-slot":"toggle",className:C(E({variant:w,size:A,className:q})),...B})}export{E as toggleVariants,K as Toggle};
@@ -0,0 +1,7 @@
1
+ import * as TooltipPrimitive from '@radix-ui/react-tooltip';
2
+ import * as React from 'react';
3
+ declare function TooltipProvider({ delayDuration, ...props }: React.ComponentProps<typeof TooltipPrimitive.Provider>): import("react/jsx-runtime").JSX.Element;
4
+ declare function Tooltip({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
5
+ declare function TooltipTrigger({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
6
+ declare function TooltipContent({ className, sideOffset, children, ...props }: React.ComponentProps<typeof TooltipPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
7
+ export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ var I=import.meta.require;import{cn as F}from"@contractspec/lib.ui-kit-core/utils";import*as q from"@radix-ui/react-tooltip";import{jsx as z,jsxs as H}from"react/jsx-runtime";function G({delayDuration:w=0,...A}){return z(q.Provider,{"data-slot":"tooltip-provider",delayDuration:w,...A})}function L({...w}){return z(G,{children:z(q.Root,{"data-slot":"tooltip",...w})})}function M({...w}){return z(q.Trigger,{"data-slot":"tooltip-trigger",...w})}function Q({className:w,sideOffset:A=0,children:B,...E}){return z(q.Portal,{children:H(q.Content,{"data-slot":"tooltip-content",sideOffset:A,className:F("fade-in-0 zoom-in-95 data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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 w-fit origin-(--radix-tooltip-content-transform-origin) animate-in text-balance rounded-md bg-foreground px-3 py-1.5 text-background text-xs data-[state=closed]:animate-out",w),...E,children:[B,z(q.Arrow,{className:"z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground"})]})})}export{M as TooltipTrigger,G as TooltipProvider,Q as TooltipContent,L as Tooltip};
@@ -0,0 +1,16 @@
1
+ import { type TextProps } from './text';
2
+ type TypographyProps = TextProps & {
3
+ asChild?: boolean;
4
+ };
5
+ declare function H1({ className, asChild, ...props }: TypographyProps): import("react/jsx-runtime").JSX.Element;
6
+ declare function H2({ className, asChild, ...props }: TypographyProps): import("react/jsx-runtime").JSX.Element;
7
+ declare function H3({ className, asChild, ...props }: TypographyProps): import("react/jsx-runtime").JSX.Element;
8
+ declare function H4({ className, asChild, ...props }: TypographyProps): import("react/jsx-runtime").JSX.Element;
9
+ declare function P({ className, asChild, ...props }: TypographyProps): import("react/jsx-runtime").JSX.Element;
10
+ declare function BlockQuote({ className, asChild, ...props }: TypographyProps): import("react/jsx-runtime").JSX.Element;
11
+ declare function Code({ className, asChild, ...props }: TypographyProps): import("react/jsx-runtime").JSX.Element;
12
+ declare function Lead({ className, asChild, ...props }: TypographyProps): import("react/jsx-runtime").JSX.Element;
13
+ declare function Large({ className, asChild, ...props }: TypographyProps): import("react/jsx-runtime").JSX.Element;
14
+ declare function Small({ className, asChild, ...props }: TypographyProps): import("react/jsx-runtime").JSX.Element;
15
+ declare function Muted({ className, asChild, ...props }: TypographyProps): import("react/jsx-runtime").JSX.Element;
16
+ export { BlockQuote, Code, H1, H2, H3, H4, Large, Lead, Muted, P, Small };
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ var I=import.meta.require;import{cn as E}from"@contractspec/lib.ui-kit-core/utils";import{Slot as F}from"@radix-ui/react-slot";import{jsx as G}from"react/jsx-runtime";function D({className:f,asChild:q=!1,...v}){return G(q?F:"p",{className:E("web:select-text text-base text-foreground",f),...v})}import{cn as y}from"@contractspec/lib.ui-kit-core/utils";import{Slot as z}from"@radix-ui/react-slot";import{jsx as A}from"react/jsx-runtime";function Y({className:f,asChild:q=!1,...v}){return A(q?z:"h1",{role:"heading","aria-level":1,className:y("web:select-text web:scroll-m-20 font-extrabold text-4xl text-foreground tracking-tight lg:text-5xl",f),...v})}function Z({className:f,asChild:q=!1,...v}){return A(q?z:"h2",{role:"heading","aria-level":2,className:y("web:select-text web:scroll-m-20 border-border border-b pb-2 font-semibold text-3xl text-foreground tracking-tight first:mt-0",f),...v})}function _({className:f,asChild:q=!1,...v}){return A(q?z:"h3",{role:"heading","aria-level":3,className:y("web:select-text web:scroll-m-20 font-semibold text-2xl text-foreground tracking-tight",f),...v})}function $({className:f,asChild:q=!1,...v}){return A(q?z:"h4",{role:"heading","aria-level":4,className:y("web:select-text web:scroll-m-20 font-semibold text-foreground text-xl tracking-tight",f),...v})}function g({className:f,asChild:q=!1,...v}){return A(q?z:D,{className:y("web:select-text text-base text-foreground",f),...v})}function B({className:f,asChild:q=!1,...v}){return A(q?z:D,{role:"blockquote",className:y("mt-6 native:mt-4 web:select-text border-border border-l-2 native:pl-3 pl-6 text-base text-foreground italic",f),...v})}function M({className:f,asChild:q=!1,...v}){return A(q?z:D,{role:"code",className:y("relative web:select-text rounded-md bg-muted px-[0.3rem] py-[0.2rem] font-semibold text-foreground text-sm",f),...v})}function P({className:f,asChild:q=!1,...v}){return A(q?z:D,{className:y("web:select-text text-muted-foreground text-xl",f),...v})}function Q({className:f,asChild:q=!1,...v}){return A(q?z:D,{className:y("web:select-text font-semibold text-foreground text-xl",f),...v})}function b({className:f,asChild:q=!1,...v}){return A(q?z:D,{className:y("web:select-text font-medium text-foreground text-sm leading-none",f),...v})}function L({className:f,asChild:q=!1,...v}){return A(q?z:D,{className:y("web:select-text text-muted-foreground text-sm",f),...v})}export{b as Small,g as P,L as Muted,P as Lead,Q as Large,$ as H4,_ as H3,Z as H2,Y as H1,M as Code,B as BlockQuote};
@@ -0,0 +1 @@
1
+ export declare function useMediaQuery(query: string): boolean;
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ var u=import.meta.require;import*as e from"react";function o(a){let[c,n]=e.useState(!1);return e.useEffect(()=>{function s(r){n(r.matches)}let t=matchMedia(a);return t.addEventListener("change",s),n(t.matches),()=>t.removeEventListener("change",s)},[a]),c}export{o as useMediaQuery};
@@ -0,0 +1 @@
1
+ export declare function useIsMobile(): boolean;
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ var D=import.meta.require;import*as f from"react";var j=640;function G(){let[z,k]=f.useState(void 0);return f.useEffect(()=>{let v=window.matchMedia(`(max-width: ${j-1}px)`),y=()=>{k(window.innerWidth<j)};return v.addEventListener("change",y),k(window.innerWidth<j),()=>v.removeEventListener("change",y)},[]),!!z}export{G as useIsMobile};
@@ -0,0 +1 @@
1
+ export declare function useReducedMotion(): boolean;
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ var r=import.meta.require;import*as e from"react";function d(){let[c,o]=e.useState(!1);return e.useEffect(()=>{let t=window.matchMedia("(prefers-reduced-motion: reduce)"),n=()=>o(t.matches);return n(),t.addEventListener("change",n),()=>t.removeEventListener("change",n)},[]),c}export{d as useReducedMotion};
@@ -0,0 +1,44 @@
1
+ import * as React from 'react';
2
+ import type { ToastActionElement, ToastProps } from './toast';
3
+ type ToasterToast = ToastProps & {
4
+ id: string;
5
+ title?: React.ReactNode;
6
+ description?: React.ReactNode;
7
+ action?: ToastActionElement;
8
+ };
9
+ declare const actionTypes: {
10
+ readonly ADD_TOAST: "ADD_TOAST";
11
+ readonly UPDATE_TOAST: "UPDATE_TOAST";
12
+ readonly DISMISS_TOAST: "DISMISS_TOAST";
13
+ readonly REMOVE_TOAST: "REMOVE_TOAST";
14
+ };
15
+ type ActionType = typeof actionTypes;
16
+ type Action = {
17
+ type: ActionType['ADD_TOAST'];
18
+ toast: ToasterToast;
19
+ } | {
20
+ type: ActionType['UPDATE_TOAST'];
21
+ toast: Partial<ToasterToast>;
22
+ } | {
23
+ type: ActionType['DISMISS_TOAST'];
24
+ toastId?: ToasterToast['id'];
25
+ } | {
26
+ type: ActionType['REMOVE_TOAST'];
27
+ toastId?: ToasterToast['id'];
28
+ };
29
+ interface State {
30
+ toasts: ToasterToast[];
31
+ }
32
+ export declare const reducer: (state: State, action: Action) => State;
33
+ type Toast = Omit<ToasterToast, 'id'>;
34
+ declare function toast({ ...props }: Toast): {
35
+ id: string;
36
+ dismiss: () => void;
37
+ update: (props: ToasterToast) => void;
38
+ };
39
+ declare function useToast(): {
40
+ toast: typeof toast;
41
+ dismiss: (toastId?: string) => void;
42
+ toasts: ToasterToast[];
43
+ };
44
+ export { toast, useToast };
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ var $=import.meta.require;import*as G from"react";var P=1,U=1e6;var J=0;function W(){return J=(J+1)%Number.MAX_SAFE_INTEGER,J.toString()}var K=new Map,N=(j)=>{if(K.has(j))return;let q=setTimeout(()=>{K.delete(j),B({type:"REMOVE_TOAST",toastId:j})},U);K.set(j,q)},X=(j,q)=>{switch(q.type){case"ADD_TOAST":return{...j,toasts:[q.toast,...j.toasts].slice(0,P)};case"UPDATE_TOAST":return{...j,toasts:j.toasts.map((w)=>w.id===q.toast.id?{...w,...q.toast}:w)};case"DISMISS_TOAST":{let{toastId:w}=q;if(w)N(w);else j.toasts.forEach((z)=>{N(z.id)});return{...j,toasts:j.toasts.map((z)=>z.id===w||w===void 0?{...z,open:!1}:z)}}case"REMOVE_TOAST":if(q.toastId===void 0)return{...j,toasts:[]};return{...j,toasts:j.toasts.filter((w)=>w.id!==q.toastId)}}},C=[],F={toasts:[]};function B(j){F=X(F,j),C.forEach((q)=>{q(F)})}function Z({...j}){let q=W(),w=(H)=>B({type:"UPDATE_TOAST",toast:{...H,id:q}}),z=()=>B({type:"DISMISS_TOAST",toastId:q});return B({type:"ADD_TOAST",toast:{...j,id:q,open:!0,onOpenChange:(H)=>{if(!H)z()}}}),{id:q,dismiss:z,update:w}}function f(){let[j,q]=G.useState(F);return G.useEffect(()=>{return C.push(q),()=>{let w=C.indexOf(q);if(w>-1)C.splice(w,1)}},[j]),{...j,toast:Z,dismiss:(w)=>B({type:"DISMISS_TOAST",toastId:w})}}export{f as useToast,Z as toast,X as reducer};
@@ -0,0 +1,6 @@
1
+ import type { SharedUseListStateOptions, SharedUseListStateReturn } from '@contractspec/lib.ui-kit-core/interfaces';
2
+ export interface UseListStateOptions extends SharedUseListStateOptions {
3
+ }
4
+ export interface UseListStateReturn extends SharedUseListStateReturn {
5
+ }
6
+ export declare const useListState: ({ initialSearch, initialFilters, initialPage, initialItemsPerPage, }?: UseListStateOptions) => UseListStateReturn;
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ var o=import.meta.require;import{useCallback as z,useMemo as A,useState as D}from"react";var d=({initialSearch:E="",initialFilters:G={},initialPage:H=1,initialItemsPerPage:J=25}={})=>{let[K,V]=D(E),[L,N]=D(G),[O,x]=D(H),[T,W]=D(J),Y=z((j,B)=>{N((U)=>({...U,[j]:B})),x(1)},[]),Z=z(()=>{N({}),x(1)},[]),_=z((j)=>{V(j),x(1)},[]),$=z((j)=>{W(j),x(1)},[]),M=z(()=>{V(E),N(G),x(H),W(J)},[E,G,H,J]),R=A(()=>{let j={search:K,page:O,limit:T},B={};return Object.entries(L).forEach(([U,X])=>{if(X)B[U]=X}),{...j,...B}},[K,L,O,T]);return{searchQuery:K,setSearchQuery:_,filters:L,setFilter:Y,clearFilters:Z,currentPage:O,itemsPerPage:T,setCurrentPage:x,setItemsPerPage:$,queryParams:R,resetAll:M}};export{d as useListState};
@@ -0,0 +1,7 @@
1
+ export declare function UseCaseCard({ title, summary, ctaHref, ctaLabel, onCtaClick, }: {
2
+ title: string;
3
+ summary?: string;
4
+ ctaHref?: string;
5
+ ctaLabel?: string;
6
+ onCtaClick?: () => void;
7
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ var $=import.meta.require;import{cn as P}from"@contractspec/lib.ui-kit-core/utils";import{Slot as Q}from"@radix-ui/react-slot";import{cva as R}from"class-variance-authority";import*as J from"react";import{jsx as W}from"react/jsx-runtime";var T=R("inline-flex shrink-0 items-center justify-center gap-2 whitespace-nowrap rounded-md font-medium text-sm outline-hidden transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",outline:"border bg-background shadow-2xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9"}},defaultVariants:{variant:"default",size:"default"}}),E=J.forwardRef(({className:L,variant:d,size:C,asChild:m=!1,...H},U)=>{return W(m?Q:"button",{ref:U,"data-slot":"button",className:P(T({variant:d,size:C,className:L})),...H})});E.displayName="Button";import{cn as F}from"@contractspec/lib.ui-kit-core/utils";import{cva as G}from"class-variance-authority";import{jsx as I}from"react/jsx-runtime";var X=G("flex flex-col",{variants:{gap:{none:"gap-0",xs:"gap-1",sm:"gap-2",md:"gap-3",lg:"gap-4",xl:"gap-6","2xl":"gap-8"},align:{start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"}},defaultVariants:{gap:"md",align:"stretch",justify:"start"}});function K({className:L,gap:d,align:C,justify:m,as:H="div",ref:U,...q}){return I(H,{ref:U,className:F(X({gap:d,align:C,justify:m}),L),...q})}var Y=G("flex flex-row",{variants:{gap:{none:"gap-0",xs:"gap-1",sm:"gap-2",md:"gap-3",lg:"gap-4",xl:"gap-6","2xl":"gap-8"},align:{start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch",baseline:"items-baseline"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},wrap:{nowrap:"flex-nowrap",wrap:"flex-wrap",wrapReverse:"flex-wrap-reverse"}},defaultVariants:{gap:"md",align:"center",justify:"start",wrap:"wrap"}});function M({className:L,gap:d,align:C,justify:m,wrap:H,as:U="div",ref:q,...D}){return I(U,{ref:q,className:F(Y({gap:d,align:C,justify:m,wrap:H}),L),...D})}var Z=G("flex flex-row",{variants:{gap:{none:"gap-0",xs:"gap-1",sm:"gap-2",md:"gap-3",lg:"gap-4",xl:"gap-6","2xl":"gap-8"},align:{start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch",baseline:"items-baseline"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},wrap:{nowrap:"flex-nowrap",wrap:"flex-wrap",wrapReverse:"flex-wrap-reverse"}},defaultVariants:{gap:"md",align:"center",justify:"center",wrap:"nowrap"}});function w({className:L,gap:d,align:C,justify:m,wrap:H,as:U="div",ref:q,...D}){return I(U,{ref:q,className:F(Z({gap:d,align:C,justify:m,wrap:H}),L),...D})}import{jsx as A,jsxs as _}from"react/jsx-runtime";function y({title:L,summary:d,ctaHref:C,ctaLabel:m="Learn more",onCtaClick:H}){return _(K,{className:"rounded-lg border p-4",gap:"sm",children:[A("div",{className:"font-semibold text-lg",children:L}),d&&A("div",{className:"text-base text-muted-foreground",children:d}),C&&A(M,{children:A("a",{href:C,onClick:H,children:A(E,{size:"sm",variant:"outline",children:m})})})]})}export{y as UseCaseCard};
@@ -0,0 +1,5 @@
1
+ export declare function UserStoryCard({ title, body, outcome, }: {
2
+ title: string;
3
+ body?: string;
4
+ outcome?: string;
5
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ var K=import.meta.require;import{cn as q}from"@contractspec/lib.ui-kit-core/utils";import{cva as v}from"class-variance-authority";import{jsx as z}from"react/jsx-runtime";var G=v("flex flex-col",{variants:{gap:{none:"gap-0",xs:"gap-1",sm:"gap-2",md:"gap-3",lg:"gap-4",xl:"gap-6","2xl":"gap-8"},align:{start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"}},defaultVariants:{gap:"md",align:"stretch",justify:"start"}});function D({className:e,gap:d,align:m,justify:b,as:o="div",ref:C,...O}){return z(o,{ref:C,className:q(G({gap:d,align:m,justify:b}),e),...O})}var I=v("flex flex-row",{variants:{gap:{none:"gap-0",xs:"gap-1",sm:"gap-2",md:"gap-3",lg:"gap-4",xl:"gap-6","2xl":"gap-8"},align:{start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch",baseline:"items-baseline"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},wrap:{nowrap:"flex-nowrap",wrap:"flex-wrap",wrapReverse:"flex-wrap-reverse"}},defaultVariants:{gap:"md",align:"center",justify:"start",wrap:"wrap"}});function Q({className:e,gap:d,align:m,justify:b,wrap:o,as:C="div",ref:O,...U}){return z(C,{ref:O,className:q(I({gap:d,align:m,justify:b,wrap:o}),e),...U})}var J=v("flex flex-row",{variants:{gap:{none:"gap-0",xs:"gap-1",sm:"gap-2",md:"gap-3",lg:"gap-4",xl:"gap-6","2xl":"gap-8"},align:{start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch",baseline:"items-baseline"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},wrap:{nowrap:"flex-nowrap",wrap:"flex-wrap",wrapReverse:"flex-wrap-reverse"}},defaultVariants:{gap:"md",align:"center",justify:"center",wrap:"nowrap"}});function R({className:e,gap:d,align:m,justify:b,wrap:o,as:C="div",ref:O,...U}){return z(C,{ref:O,className:q(J({gap:d,align:m,justify:b,wrap:o}),e),...U})}import{jsx as A,jsxs as E}from"react/jsx-runtime";function Y({title:e,body:d,outcome:m}){return E(D,{className:"rounded-lg border p-4",gap:"sm",children:[A("div",{className:"font-semibold text-lg",children:e}),d&&A("div",{className:"text-base text-muted-foreground",children:d}),m&&E("div",{className:"text-base",children:[A("span",{className:"font-medium",children:"Outcome:"})," ",m]})]})}export{Y as UserStoryCard};
@@ -0,0 +1,2 @@
1
+ export { UseCaseCard } from './UseCaseCard';
2
+ export { UserStoryCard } from './UserStoryCard';
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ var r=import.meta.require;export{C as UserStoryCard,s as UseCaseCard};
@@ -0,0 +1,2 @@
1
+ import { type ClassValue } from 'clsx';
2
+ export declare function cn(...inputs: ClassValue[]): string;
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ var o=import.meta.require;import{clsx as e}from"clsx";import{twMerge as t}from"tailwind-merge";function m(...r){return t(e(r))}export{m as cn};
@@ -0,0 +1,7 @@
1
+ import { type ContractVisualizationRenderModel } from '@contractspec/lib.presentation-runtime-core';
2
+ import type { SharedVisualizationInteractionHandler, SharedVisualizationProps } from '@contractspec/lib.ui-kit-core/interfaces';
3
+ export type VisualizationInteractionHandler = SharedVisualizationInteractionHandler;
4
+ export interface VisualizationProps extends Omit<SharedVisualizationProps, 'model'> {
5
+ model: ContractVisualizationRenderModel;
6
+ }
7
+ export declare function Visualization({ model, className, height, onDataPointPress, }: VisualizationProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ var F=import.meta.require;import*as M from"react";import J,{NavigationControl as O,ScaleControl as G}from"react-map-gl/maplibre";import{jsx as H,jsxs as U,Fragment as D}from"react/jsx-runtime";var V="https://basemaps.cartocdn.com/gl/positron-gl-style/style.json";function X(f){let{initialViewState:b={longitude:2.3522,latitude:48.8566,zoom:5},styleUrl:t=V,style:y,showControls:k=!0,showCssLink:w=!0,onMapRef:R,children:g}=f,p=M.useRef(null);return M.useEffect(()=>{R?.(p.current)},[p.current]),U("div",{style:{position:"relative",width:"100%",height:"100%",...y||{}},children:[w&&H("link",{href:"https://unpkg.com/maplibre-gl@4.7.0/dist/maplibre-gl.css",rel:"stylesheet"}),U(J,{ref:p,mapLib:import("maplibre-gl"),initialViewState:b,style:{width:"100%",height:"100%"},mapStyle:t,maplibreLogo:!1,children:[k&&U(D,{children:[H(G,{position:"bottom-left"}),H(O,{position:"bottom-left"})]}),g]})]})}import{Layer as I,Source as N}from"react-map-gl/maplibre";import{jsx as K,jsxs as h}from"react/jsx-runtime";function Y(f){let{id:b="geojson-overlay",data:t,fillColor:y="#2563eb",fillOpacity:k=0.25,lineColor:w="#1e40af",lineWidth:R=1.5,lineOpacity:g=0.8}=f,p={id:`${b}-fill`,type:"fill",paint:{"fill-color":y,"fill-opacity":k}},A={id:`${b}-outline`,type:"line",paint:{"line-color":w,"line-width":R,"line-opacity":g}};return h(N,{id:b,type:"geojson",data:t,children:[K(I,{...p}),K(I,{...A})]})}import{Marker as P}from"react-map-gl/maplibre";import{jsx as n,Fragment as c}from"react/jsx-runtime";function _({points:f}){return n(c,{children:f.map((b)=>n(P,{longitude:b.lng,latitude:b.lat,anchor:"bottom",children:n("button",{role:b.onClick?"button":void 0,tabIndex:b.onClick?0:-1,"aria-label":b.ariaLabel||"marker",onClick:b.onClick,onKeyDown:(t)=>{if(t.key==="Enter"||t.key===" ")t.preventDefault(),b.onClick?.()},style:{width:b.size??14,height:b.size??14,background:b.color??"#2563eb",border:"2px solid white",borderRadius:9999,boxShadow:"0 1px 3px rgba(0,0,0,0.35)",cursor:b.onClick?"pointer":"default"}})},b.id))})}import{formatVisualizationValue as q}from"@contractspec/lib.presentation-runtime-core";import{cn as Q}from"@contractspec/lib.ui-kit-core/utils";import*as T from"echarts/core";import{jsx as S,jsxs as L}from"react/jsx-runtime";function Z({className:f,model:b}){return L("div",{className:Q("space-y-2",f),children:[S("div",{className:"text-muted-foreground text-sm",children:b.metric?.label??b.title}),S("div",{className:"font-semibold text-3xl",children:q(b.metric?.value,b.metric?.format)}),b.metric?.comparisonValue!=null?L("div",{className:"text-muted-foreground text-sm",children:["Comparison:"," ",q(b.metric.comparisonValue,b.metric.format)]}):null,S(E,{model:b})]})}function E({model:f}){if(!f.table.columns.length||!f.table.rows.length)return null;return L("details",{className:"rounded-md border p-3 text-sm",children:[S("summary",{className:"cursor-pointer font-medium",children:"Data summary"}),S("div",{className:"mt-3 overflow-x-auto",children:L("table",{className:"w-full text-left",children:[S("thead",{children:S("tr",{children:f.table.columns.map((b)=>S("th",{className:"px-2 py-1 font-medium",children:b.label},b.key))})}),S("tbody",{children:f.table.rows.slice(0,8).map((b,t)=>S("tr",{children:f.table.columns.map((y)=>S("td",{className:"px-2 py-1",children:String(b[y.key]??"\u2014")},y.key))},`summary-row-${t}`))})]})})]})}function $({className:f,model:b,reason:t}){return L("div",{className:Q("space-y-3",f),children:[S("p",{className:"text-muted-foreground text-sm",children:t}),S(E,{model:b})]})}function W(f){if(f.kind==="metric")return!1;if(f.kind==="geo"&&f.geo?.mode==="slippy-map")return!1;if(f.kind==="geo"&&f.geo?.geoJson?.type==="url")return!1;return!0}function z(f){if(f.kind!=="geo"||f.geo?.geoJson?.type!=="inline")return;x(f.geo.geoJson)}function x(f){if(f.type!=="inline")return;T.registerMap("contractspec-visualization-geo",f.data)}import{jsx as d}from"react/jsx-runtime";var j={border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap"};function C({as:f="span",style:b,children:t,ref:y,...k}){return d(f,{ref:y,style:{...j,...b},...k,children:t})}import{buildVisualizationEChartsOption as e}from"@contractspec/lib.presentation-runtime-core";import{cn as v}from"@contractspec/lib.ui-kit-core/utils";import{BarChart as a,FunnelChart as o,HeatmapChart as l,LineChart as m,MapChart as s,PieChart as ff,ScatterChart as bf}from"echarts/charts";import{AriaComponent as tf,GeoComponent as yf,GridComponent as wf,LegendComponent as Sf,TitleComponent as kf,TooltipComponent as uf,VisualMapComponent as Rf}from"echarts/components";import*as r from"echarts/core";import{CanvasRenderer as gf}from"echarts/renderers";import*as i from"react";import{jsx as u,jsxs as B}from"react/jsx-runtime";r.use([tf,kf,uf,wf,Sf,Rf,yf,gf,m,a,ff,bf,l,o,s]);function pf(){if(typeof document>"u")return!1;let f=document.createElement("canvas");return typeof f.getContext==="function"&&f.getContext("2d")!==null}function Vf({model:f,className:b,height:t=280,onDataPointPress:y}){let k=i.useRef(null),w=i.useMemo(()=>e(f),[f]);if(i.useEffect(()=>{if(!W(f)||!k.current||!pf())return;z(f);let R=r.init(k.current,void 0,{renderer:"canvas"});if(R.setOption(w),y)R.on("click",y);let g=new ResizeObserver(()=>R.resize());return g.observe(k.current),()=>{if(g.disconnect(),y)R.off("click",y);R.dispose()}},[f,y,w]),f.kind==="metric")return u(Z,{className:b,model:f});if(f.kind==="geo"&&f.geo?.mode==="slippy-map")return u(Lf,{className:b,height:t,model:f});if(f.kind==="geo"&&f.geo?.geoJson?.type==="url")return u($,{className:b,model:f,reason:"Geo URL sources currently fall back to the summary table."});return B("div",{className:v("space-y-3",b),children:[u(C,{children:f.summary}),u("div",{ref:k,"aria-label":f.summary,className:"w-full rounded-md",style:{height:t}}),u(E,{model:f})]})}function Lf({className:f,height:b,model:t}){let y=t.series.flatMap((k)=>k.points.filter((w)=>w.latitude!=null&&w.longitude!=null).map((w)=>({id:w.id,lat:w.latitude,lng:w.longitude,ariaLabel:w.name})));return B("div",{className:v("space-y-3",f),children:[u("div",{style:{height:b},children:B(X,{children:[y.length>0?u(_,{points:y}):null,t.geo?.geoJson?.type==="inline"?u(Y,{data:t.geo.geoJson.data}):null]})}),u(E,{model:t})]})}export{Vf as Visualization};
@@ -0,0 +1,15 @@
1
+ import { type ContractVisualizationRenderModel } from '@contractspec/lib.presentation-runtime-core';
2
+ export declare function MetricVisualization({ className, model, }: {
3
+ className?: string;
4
+ model: ContractVisualizationRenderModel;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
+ export declare function TableAlternative({ model, }: {
7
+ model: ContractVisualizationRenderModel;
8
+ }): import("react/jsx-runtime").JSX.Element | null;
9
+ export declare function FallbackVisualization({ className, model, reason, }: {
10
+ className?: string;
11
+ model: ContractVisualizationRenderModel;
12
+ reason: string;
13
+ }): import("react/jsx-runtime").JSX.Element;
14
+ export declare function shouldRenderEChart(model: ContractVisualizationRenderModel): boolean;
15
+ export declare function registerGeoMap(model: ContractVisualizationRenderModel): void;
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ var O=import.meta.require;import{formatVisualizationValue as F}from"@contractspec/lib.presentation-runtime-core";import{cn as G}from"@contractspec/lib.ui-kit-core/utils";import*as H from"echarts/core";import{jsx as B,jsxs as C}from"react/jsx-runtime";function S({className:q,model:y}){return C("div",{className:G("space-y-2",q),children:[B("div",{className:"text-muted-foreground text-sm",children:y.metric?.label??y.title}),B("div",{className:"font-semibold text-3xl",children:F(y.metric?.value,y.metric?.format)}),y.metric?.comparisonValue!=null?C("div",{className:"text-muted-foreground text-sm",children:["Comparison:"," ",F(y.metric.comparisonValue,y.metric.format)]}):null,B(K,{model:y})]})}function K({model:q}){if(!q.table.columns.length||!q.table.rows.length)return null;return C("details",{className:"rounded-md border p-3 text-sm",children:[B("summary",{className:"cursor-pointer font-medium",children:"Data summary"}),B("div",{className:"mt-3 overflow-x-auto",children:C("table",{className:"w-full text-left",children:[B("thead",{children:B("tr",{children:q.table.columns.map((y)=>B("th",{className:"px-2 py-1 font-medium",children:y.label},y.key))})}),B("tbody",{children:q.table.rows.slice(0,8).map((y,D)=>B("tr",{children:q.table.columns.map((E)=>B("td",{className:"px-2 py-1",children:String(y[E.key]??"\u2014")},E.key))},`summary-row-${D}`))})]})})]})}function U({className:q,model:y,reason:D}){return C("div",{className:G("space-y-3",q),children:[B("p",{className:"text-muted-foreground text-sm",children:D}),B(K,{model:y})]})}function W(q){if(q.kind==="metric")return!1;if(q.kind==="geo"&&q.geo?.mode==="slippy-map")return!1;if(q.kind==="geo"&&q.geo?.geoJson?.type==="url")return!1;return!0}function X(q){if(q.kind!=="geo"||q.geo?.geoJson?.type!=="inline")return;L(q.geo.geoJson)}function L(q){if(q.type!=="inline")return;H.registerMap("contractspec-visualization-geo",q.data)}export{W as shouldRenderEChart,X as registerGeoMap,K as TableAlternative,S as MetricVisualization,U as FallbackVisualization};
@@ -0,0 +1 @@
1
+ export { Visualization, type VisualizationInteractionHandler, type VisualizationProps, } from './Visualization';
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ var i=import.meta.require;export{n as Visualization};
@@ -0,0 +1,8 @@
1
+ import type { JSX } from 'react';
2
+ import * as React from 'react';
3
+ type VisuallyHiddenProps = React.HTMLAttributes<HTMLElement> & {
4
+ as?: keyof JSX.IntrinsicElements;
5
+ ref?: React.Ref<HTMLElement>;
6
+ };
7
+ declare function VisuallyHidden({ as, style, children, ref, ...props }: VisuallyHiddenProps): import("react/jsx-runtime").JSX.Element;
8
+ export { VisuallyHidden };
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ var s=import.meta.require;import{jsx as n}from"react/jsx-runtime";var r={border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap"};function c({as:e="span",style:t,children:o,ref:i,...p}){return n(e,{ref:i,style:{...r,...t},...p,children:o})}export{c as VisuallyHidden};