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

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 (390) hide show
  1. package/README.md +112 -23
  2. package/package.json +1341 -843
  3. package/dist/browser/index.js +0 -1
  4. package/dist/browser/ui/accordion.js +0 -1
  5. package/dist/browser/ui/alert-dialog.js +0 -1
  6. package/dist/browser/ui/alert.js +0 -1
  7. package/dist/browser/ui/aspect-ratio.js +0 -1
  8. package/dist/browser/ui/atoms/FilterSelect/FilterSelect.js +0 -1
  9. package/dist/browser/ui/atoms/FilterSelect/index.js +0 -1
  10. package/dist/browser/ui/atoms/FilterSelect/types.js +0 -0
  11. package/dist/browser/ui/atoms/LoadingSpinner/LoadingSpinner.js +0 -1
  12. package/dist/browser/ui/atoms/LoadingSpinner/index.js +0 -1
  13. package/dist/browser/ui/atoms/Pagination/Pagination.js +0 -1
  14. package/dist/browser/ui/atoms/Pagination/index.js +0 -1
  15. package/dist/browser/ui/atoms/Pagination/types.js +0 -0
  16. package/dist/browser/ui/atoms/SearchInput/SearchInput.js +0 -1
  17. package/dist/browser/ui/atoms/SearchInput/index.js +0 -1
  18. package/dist/browser/ui/atoms/SearchInput/types.js +0 -0
  19. package/dist/browser/ui/avatar.js +0 -1
  20. package/dist/browser/ui/badge.js +0 -1
  21. package/dist/browser/ui/breadcrumb.js +0 -1
  22. package/dist/browser/ui/button-group.js +0 -1
  23. package/dist/browser/ui/button.js +0 -1
  24. package/dist/browser/ui/calendar.js +0 -1
  25. package/dist/browser/ui/card.js +0 -1
  26. package/dist/browser/ui/carousel.js +0 -1
  27. package/dist/browser/ui/chart.js +0 -1
  28. package/dist/browser/ui/checkbox.js +0 -1
  29. package/dist/browser/ui/collapsible.js +0 -1
  30. package/dist/browser/ui/combobox.js +0 -1
  31. package/dist/browser/ui/command.js +0 -1
  32. package/dist/browser/ui/confirm-dialog.js +0 -1
  33. package/dist/browser/ui/context-menu.js +0 -1
  34. package/dist/browser/ui/contracts.typecheck.js +0 -0
  35. package/dist/browser/ui/cta.js +0 -1
  36. package/dist/browser/ui/data-table.js +0 -1
  37. package/dist/browser/ui/data-table.parts.js +0 -1
  38. package/dist/browser/ui/date-picker.js +0 -1
  39. package/dist/browser/ui/date-range-picker.js +0 -1
  40. package/dist/browser/ui/datetime-picker.js +0 -1
  41. package/dist/browser/ui/dialog.js +0 -1
  42. package/dist/browser/ui/direction.js +0 -1
  43. package/dist/browser/ui/drawer.js +0 -1
  44. package/dist/browser/ui/dropdown-menu.js +0 -1
  45. package/dist/browser/ui/empty-state.js +0 -1
  46. package/dist/browser/ui/empty.js +0 -1
  47. package/dist/browser/ui/field.js +0 -1
  48. package/dist/browser/ui/focus-on-route-change.js +0 -1
  49. package/dist/browser/ui/form.js +0 -1
  50. package/dist/browser/ui/hover-card.js +0 -1
  51. package/dist/browser/ui/input-group.js +0 -1
  52. package/dist/browser/ui/input-otp.js +0 -1
  53. package/dist/browser/ui/input-password.js +0 -1
  54. package/dist/browser/ui/input.js +0 -1
  55. package/dist/browser/ui/item.js +0 -1
  56. package/dist/browser/ui/kbd.js +0 -1
  57. package/dist/browser/ui/label.js +0 -1
  58. package/dist/browser/ui/link.js +0 -1
  59. package/dist/browser/ui/list.js +0 -1
  60. package/dist/browser/ui/live-region.js +0 -1
  61. package/dist/browser/ui/loading-button.js +0 -1
  62. package/dist/browser/ui/map/MapBase.js +0 -1
  63. package/dist/browser/ui/map/MapGeoJsonOverlay.js +0 -1
  64. package/dist/browser/ui/map/MapHeatmapH3.js +0 -1
  65. package/dist/browser/ui/map/MapMarkers.js +0 -1
  66. package/dist/browser/ui/map/index.js +0 -1
  67. package/dist/browser/ui/marketing/FeatureGrid.js +0 -1
  68. package/dist/browser/ui/marketing/Hero.js +0 -1
  69. package/dist/browser/ui/marketing/PricingTable.js +0 -1
  70. package/dist/browser/ui/marketing/index.js +0 -1
  71. package/dist/browser/ui/menubar.js +0 -1
  72. package/dist/browser/ui/molecules/Autocomplete/index.js +0 -1
  73. package/dist/browser/ui/molecules/SearchAndFilter/SearchAndFilter.js +0 -1
  74. package/dist/browser/ui/molecules/SearchAndFilter/index.js +0 -1
  75. package/dist/browser/ui/molecules/SearchAndFilter/types.js +0 -0
  76. package/dist/browser/ui/molecules/SkeletonList.js +0 -1
  77. package/dist/browser/ui/native-select.js +0 -1
  78. package/dist/browser/ui/nav-layout.js +0 -1
  79. package/dist/browser/ui/navigation-menu.js +0 -1
  80. package/dist/browser/ui/organisms/ErrorBoundary/ErrorBoundary.js +0 -1
  81. package/dist/browser/ui/organisms/ErrorBoundary/index.js +0 -1
  82. package/dist/browser/ui/organisms/ListPage/ListPage.js +0 -1
  83. package/dist/browser/ui/organisms/ListPage/index.js +0 -1
  84. package/dist/browser/ui/organisms/ListPage/types.js +0 -0
  85. package/dist/browser/ui/page-header.js +0 -1
  86. package/dist/browser/ui/pagination.js +0 -1
  87. package/dist/browser/ui/popover.js +0 -1
  88. package/dist/browser/ui/progress.js +0 -1
  89. package/dist/browser/ui/radio-group.js +0 -1
  90. package/dist/browser/ui/resizable.js +0 -1
  91. package/dist/browser/ui/route-announcer.js +0 -1
  92. package/dist/browser/ui/scroll-area.js +0 -1
  93. package/dist/browser/ui/section.js +0 -1
  94. package/dist/browser/ui/select.js +0 -1
  95. package/dist/browser/ui/separator.js +0 -1
  96. package/dist/browser/ui/sheet.js +0 -1
  97. package/dist/browser/ui/sidebar.js +0 -1
  98. package/dist/browser/ui/skeleton.js +0 -1
  99. package/dist/browser/ui/skip-link.js +0 -1
  100. package/dist/browser/ui/slider.js +0 -1
  101. package/dist/browser/ui/sonner.js +0 -1
  102. package/dist/browser/ui/spinner.js +0 -1
  103. package/dist/browser/ui/stack.js +0 -1
  104. package/dist/browser/ui/stat-card-group.js +0 -1
  105. package/dist/browser/ui/stepper.js +0 -1
  106. package/dist/browser/ui/switch.js +0 -1
  107. package/dist/browser/ui/table.js +0 -1
  108. package/dist/browser/ui/tabs.js +0 -1
  109. package/dist/browser/ui/text.js +0 -1
  110. package/dist/browser/ui/textarea.js +0 -1
  111. package/dist/browser/ui/time-picker.js +0 -1
  112. package/dist/browser/ui/toast.js +0 -1
  113. package/dist/browser/ui/toaster.js +0 -1
  114. package/dist/browser/ui/toggle-group.js +0 -1
  115. package/dist/browser/ui/toggle.js +0 -1
  116. package/dist/browser/ui/tooltip.js +0 -1
  117. package/dist/browser/ui/typography.js +0 -1
  118. package/dist/browser/ui/use-media-query.js +0 -1
  119. package/dist/browser/ui/use-mobile.js +0 -1
  120. package/dist/browser/ui/use-reduced-motion.js +0 -1
  121. package/dist/browser/ui/use-toast.js +0 -1
  122. package/dist/browser/ui/useListState.js +0 -1
  123. package/dist/browser/ui/usecases/UseCaseCard.js +0 -1
  124. package/dist/browser/ui/usecases/UserStoryCard.js +0 -1
  125. package/dist/browser/ui/usecases/index.js +0 -1
  126. package/dist/browser/ui/utils.js +0 -1
  127. package/dist/browser/ui/visualization/Visualization.js +0 -1
  128. package/dist/browser/ui/visualization/Visualization.support.js +0 -1
  129. package/dist/browser/ui/visualization/index.js +0 -1
  130. package/dist/browser/ui/visually-hidden.js +0 -1
  131. package/dist/index.d.ts +0 -1
  132. package/dist/index.js +0 -2
  133. package/dist/ui/accordion.d.ts +0 -7
  134. package/dist/ui/accordion.js +0 -2
  135. package/dist/ui/alert-dialog.d.ts +0 -14
  136. package/dist/ui/alert-dialog.js +0 -2
  137. package/dist/ui/alert.d.ts +0 -9
  138. package/dist/ui/alert.js +0 -2
  139. package/dist/ui/aspect-ratio.d.ts +0 -3
  140. package/dist/ui/aspect-ratio.js +0 -2
  141. package/dist/ui/atoms/FilterSelect/FilterSelect.d.ts +0 -3
  142. package/dist/ui/atoms/FilterSelect/FilterSelect.js +0 -2
  143. package/dist/ui/atoms/FilterSelect/index.d.ts +0 -2
  144. package/dist/ui/atoms/FilterSelect/index.js +0 -2
  145. package/dist/ui/atoms/FilterSelect/types.d.ts +0 -5
  146. package/dist/ui/atoms/FilterSelect/types.js +0 -1
  147. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.d.ts +0 -19
  148. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.js +0 -2
  149. package/dist/ui/atoms/LoadingSpinner/index.d.ts +0 -1
  150. package/dist/ui/atoms/LoadingSpinner/index.js +0 -2
  151. package/dist/ui/atoms/Pagination/Pagination.d.ts +0 -3
  152. package/dist/ui/atoms/Pagination/Pagination.js +0 -2
  153. package/dist/ui/atoms/Pagination/index.d.ts +0 -2
  154. package/dist/ui/atoms/Pagination/index.js +0 -2
  155. package/dist/ui/atoms/Pagination/types.d.ts +0 -3
  156. package/dist/ui/atoms/Pagination/types.js +0 -1
  157. package/dist/ui/atoms/SearchInput/SearchInput.d.ts +0 -3
  158. package/dist/ui/atoms/SearchInput/SearchInput.js +0 -2
  159. package/dist/ui/atoms/SearchInput/index.d.ts +0 -2
  160. package/dist/ui/atoms/SearchInput/index.js +0 -2
  161. package/dist/ui/atoms/SearchInput/types.d.ts +0 -3
  162. package/dist/ui/atoms/SearchInput/types.js +0 -1
  163. package/dist/ui/avatar.d.ts +0 -6
  164. package/dist/ui/avatar.js +0 -2
  165. package/dist/ui/badge.d.ts +0 -9
  166. package/dist/ui/badge.js +0 -2
  167. package/dist/ui/breadcrumb.d.ts +0 -11
  168. package/dist/ui/breadcrumb.js +0 -2
  169. package/dist/ui/button-group.d.ts +0 -5
  170. package/dist/ui/button-group.js +0 -2
  171. package/dist/ui/button.d.ts +0 -17
  172. package/dist/ui/button.js +0 -2
  173. package/dist/ui/calendar.d.ts +0 -8
  174. package/dist/ui/calendar.js +0 -2
  175. package/dist/ui/card.d.ts +0 -9
  176. package/dist/ui/card.js +0 -2
  177. package/dist/ui/carousel.d.ts +0 -19
  178. package/dist/ui/carousel.js +0 -2
  179. package/dist/ui/chart.d.ts +0 -45
  180. package/dist/ui/chart.js +0 -2
  181. package/dist/ui/checkbox.d.ts +0 -4
  182. package/dist/ui/checkbox.js +0 -2
  183. package/dist/ui/collapsible.d.ts +0 -5
  184. package/dist/ui/collapsible.js +0 -2
  185. package/dist/ui/combobox.d.ts +0 -32
  186. package/dist/ui/combobox.js +0 -2
  187. package/dist/ui/combobox.test.d.ts +0 -1
  188. package/dist/ui/command.d.ts +0 -18
  189. package/dist/ui/command.js +0 -2
  190. package/dist/ui/confirm-dialog.d.ts +0 -14
  191. package/dist/ui/confirm-dialog.js +0 -2
  192. package/dist/ui/context-menu.d.ts +0 -31
  193. package/dist/ui/context-menu.js +0 -2
  194. package/dist/ui/contracts.typecheck.d.ts +0 -1
  195. package/dist/ui/contracts.typecheck.js +0 -1
  196. package/dist/ui/cta.d.ts +0 -12
  197. package/dist/ui/cta.js +0 -2
  198. package/dist/ui/data-table.d.ts +0 -8
  199. package/dist/ui/data-table.js +0 -2
  200. package/dist/ui/data-table.parts.d.ts +0 -19
  201. package/dist/ui/data-table.parts.js +0 -2
  202. package/dist/ui/data-table.test.d.ts +0 -1
  203. package/dist/ui/date-picker.d.ts +0 -5
  204. package/dist/ui/date-picker.js +0 -2
  205. package/dist/ui/date-range-picker.d.ts +0 -6
  206. package/dist/ui/date-range-picker.js +0 -2
  207. package/dist/ui/datetime-picker.d.ts +0 -6
  208. package/dist/ui/datetime-picker.js +0 -2
  209. package/dist/ui/dialog.d.ts +0 -15
  210. package/dist/ui/dialog.js +0 -2
  211. package/dist/ui/direction.d.ts +0 -9
  212. package/dist/ui/direction.js +0 -2
  213. package/dist/ui/drawer.d.ts +0 -13
  214. package/dist/ui/drawer.js +0 -2
  215. package/dist/ui/dropdown-menu.d.ts +0 -25
  216. package/dist/ui/dropdown-menu.js +0 -2
  217. package/dist/ui/empty-state.d.ts +0 -9
  218. package/dist/ui/empty-state.js +0 -2
  219. package/dist/ui/empty.d.ts +0 -12
  220. package/dist/ui/empty.js +0 -2
  221. package/dist/ui/field.d.ts +0 -20
  222. package/dist/ui/field.js +0 -2
  223. package/dist/ui/focus-on-route-change.d.ts +0 -3
  224. package/dist/ui/focus-on-route-change.js +0 -2
  225. package/dist/ui/form.d.ts +0 -26
  226. package/dist/ui/form.js +0 -2
  227. package/dist/ui/hover-card.d.ts +0 -6
  228. package/dist/ui/hover-card.js +0 -2
  229. package/dist/ui/input-group.d.ts +0 -18
  230. package/dist/ui/input-group.js +0 -2
  231. package/dist/ui/input-otp.d.ts +0 -16
  232. package/dist/ui/input-otp.js +0 -2
  233. package/dist/ui/input-password.d.ts +0 -11
  234. package/dist/ui/input-password.js +0 -2
  235. package/dist/ui/input-password.test.d.ts +0 -1
  236. package/dist/ui/input.d.ts +0 -7
  237. package/dist/ui/input.js +0 -2
  238. package/dist/ui/item.d.ts +0 -23
  239. package/dist/ui/item.js +0 -2
  240. package/dist/ui/kbd.d.ts +0 -3
  241. package/dist/ui/kbd.js +0 -2
  242. package/dist/ui/label.d.ts +0 -4
  243. package/dist/ui/label.js +0 -2
  244. package/dist/ui/link.d.ts +0 -6
  245. package/dist/ui/link.js +0 -2
  246. package/dist/ui/list.d.ts +0 -20
  247. package/dist/ui/list.js +0 -2
  248. package/dist/ui/live-region.d.ts +0 -10
  249. package/dist/ui/live-region.js +0 -2
  250. package/dist/ui/loading-button.d.ts +0 -9
  251. package/dist/ui/loading-button.js +0 -2
  252. package/dist/ui/map/MapBase.d.ts +0 -22
  253. package/dist/ui/map/MapBase.js +0 -2
  254. package/dist/ui/map/MapGeoJsonOverlay.d.ts +0 -10
  255. package/dist/ui/map/MapGeoJsonOverlay.js +0 -2
  256. package/dist/ui/map/MapHeatmapH3.d.ts +0 -12
  257. package/dist/ui/map/MapHeatmapH3.js +0 -2
  258. package/dist/ui/map/MapMarkers.d.ts +0 -12
  259. package/dist/ui/map/MapMarkers.js +0 -2
  260. package/dist/ui/map/index.d.ts +0 -4
  261. package/dist/ui/map/index.js +0 -2
  262. package/dist/ui/marketing/FeatureGrid.d.ts +0 -4
  263. package/dist/ui/marketing/FeatureGrid.js +0 -2
  264. package/dist/ui/marketing/Hero.d.ts +0 -16
  265. package/dist/ui/marketing/Hero.js +0 -2
  266. package/dist/ui/marketing/PricingTable.d.ts +0 -4
  267. package/dist/ui/marketing/PricingTable.js +0 -2
  268. package/dist/ui/marketing/index.d.ts +0 -3
  269. package/dist/ui/marketing/index.js +0 -2
  270. package/dist/ui/menubar.d.ts +0 -26
  271. package/dist/ui/menubar.js +0 -2
  272. package/dist/ui/molecules/Autocomplete/index.d.ts +0 -1
  273. package/dist/ui/molecules/Autocomplete/index.js +0 -2
  274. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.d.ts +0 -3
  275. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.js +0 -2
  276. package/dist/ui/molecules/SearchAndFilter/index.d.ts +0 -2
  277. package/dist/ui/molecules/SearchAndFilter/index.js +0 -2
  278. package/dist/ui/molecules/SearchAndFilter/types.d.ts +0 -3
  279. package/dist/ui/molecules/SearchAndFilter/types.js +0 -1
  280. package/dist/ui/molecules/SkeletonList.d.ts +0 -7
  281. package/dist/ui/molecules/SkeletonList.js +0 -2
  282. package/dist/ui/native-select.d.ts +0 -4
  283. package/dist/ui/native-select.js +0 -2
  284. package/dist/ui/nav-layout.d.ts +0 -47
  285. package/dist/ui/nav-layout.js +0 -2
  286. package/dist/ui/navigation-menu.d.ts +0 -14
  287. package/dist/ui/navigation-menu.js +0 -2
  288. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.d.ts +0 -25
  289. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.js +0 -2
  290. package/dist/ui/organisms/ErrorBoundary/index.d.ts +0 -2
  291. package/dist/ui/organisms/ErrorBoundary/index.js +0 -2
  292. package/dist/ui/organisms/ListPage/ListPage.d.ts +0 -2
  293. package/dist/ui/organisms/ListPage/ListPage.js +0 -2
  294. package/dist/ui/organisms/ListPage/index.d.ts +0 -2
  295. package/dist/ui/organisms/ListPage/index.js +0 -2
  296. package/dist/ui/organisms/ListPage/types.d.ts +0 -37
  297. package/dist/ui/organisms/ListPage/types.js +0 -1
  298. package/dist/ui/page-header.d.ts +0 -9
  299. package/dist/ui/page-header.js +0 -2
  300. package/dist/ui/pagination.d.ts +0 -17
  301. package/dist/ui/pagination.js +0 -2
  302. package/dist/ui/popover.d.ts +0 -7
  303. package/dist/ui/popover.js +0 -2
  304. package/dist/ui/progress.d.ts +0 -4
  305. package/dist/ui/progress.js +0 -2
  306. package/dist/ui/radio-group.d.ts +0 -5
  307. package/dist/ui/radio-group.js +0 -2
  308. package/dist/ui/resizable.d.ts +0 -8
  309. package/dist/ui/resizable.js +0 -2
  310. package/dist/ui/route-announcer.d.ts +0 -3
  311. package/dist/ui/route-announcer.js +0 -2
  312. package/dist/ui/scroll-area.d.ts +0 -5
  313. package/dist/ui/scroll-area.js +0 -2
  314. package/dist/ui/section.d.ts +0 -15
  315. package/dist/ui/section.js +0 -2
  316. package/dist/ui/select.d.ts +0 -15
  317. package/dist/ui/select.js +0 -2
  318. package/dist/ui/select.test.d.ts +0 -1
  319. package/dist/ui/separator.d.ts +0 -4
  320. package/dist/ui/separator.js +0 -2
  321. package/dist/ui/sheet.d.ts +0 -13
  322. package/dist/ui/sheet.js +0 -2
  323. package/dist/ui/sidebar.d.ts +0 -69
  324. package/dist/ui/sidebar.js +0 -2
  325. package/dist/ui/skeleton.d.ts +0 -3
  326. package/dist/ui/skeleton.js +0 -2
  327. package/dist/ui/skip-link.d.ts +0 -7
  328. package/dist/ui/skip-link.js +0 -2
  329. package/dist/ui/slider.d.ts +0 -4
  330. package/dist/ui/slider.js +0 -2
  331. package/dist/ui/sonner.d.ts +0 -3
  332. package/dist/ui/sonner.js +0 -2
  333. package/dist/ui/spinner.d.ts +0 -5
  334. package/dist/ui/spinner.js +0 -2
  335. package/dist/ui/stack.d.ts +0 -35
  336. package/dist/ui/stack.js +0 -2
  337. package/dist/ui/stat-card-group.d.ts +0 -10
  338. package/dist/ui/stat-card-group.js +0 -2
  339. package/dist/ui/stepper.d.ts +0 -10
  340. package/dist/ui/stepper.js +0 -2
  341. package/dist/ui/switch.d.ts +0 -6
  342. package/dist/ui/switch.js +0 -2
  343. package/dist/ui/table.d.ts +0 -10
  344. package/dist/ui/table.js +0 -2
  345. package/dist/ui/tabs.d.ts +0 -7
  346. package/dist/ui/tabs.js +0 -2
  347. package/dist/ui/text.d.ts +0 -6
  348. package/dist/ui/text.js +0 -2
  349. package/dist/ui/textarea.d.ts +0 -5
  350. package/dist/ui/textarea.js +0 -2
  351. package/dist/ui/time-picker.d.ts +0 -4
  352. package/dist/ui/time-picker.js +0 -2
  353. package/dist/ui/toast.d.ts +0 -28
  354. package/dist/ui/toast.js +0 -2
  355. package/dist/ui/toaster.d.ts +0 -1
  356. package/dist/ui/toaster.js +0 -2
  357. package/dist/ui/toggle-group.d.ts +0 -7
  358. package/dist/ui/toggle-group.js +0 -2
  359. package/dist/ui/toggle.d.ts +0 -9
  360. package/dist/ui/toggle.js +0 -2
  361. package/dist/ui/tooltip.d.ts +0 -7
  362. package/dist/ui/tooltip.js +0 -2
  363. package/dist/ui/typography.d.ts +0 -16
  364. package/dist/ui/typography.js +0 -2
  365. package/dist/ui/use-media-query.d.ts +0 -1
  366. package/dist/ui/use-media-query.js +0 -2
  367. package/dist/ui/use-mobile.d.ts +0 -1
  368. package/dist/ui/use-mobile.js +0 -2
  369. package/dist/ui/use-reduced-motion.d.ts +0 -1
  370. package/dist/ui/use-reduced-motion.js +0 -2
  371. package/dist/ui/use-toast.d.ts +0 -44
  372. package/dist/ui/use-toast.js +0 -2
  373. package/dist/ui/useListState.d.ts +0 -6
  374. package/dist/ui/useListState.js +0 -2
  375. package/dist/ui/usecases/UseCaseCard.d.ts +0 -7
  376. package/dist/ui/usecases/UseCaseCard.js +0 -2
  377. package/dist/ui/usecases/UserStoryCard.d.ts +0 -5
  378. package/dist/ui/usecases/UserStoryCard.js +0 -2
  379. package/dist/ui/usecases/index.d.ts +0 -2
  380. package/dist/ui/usecases/index.js +0 -2
  381. package/dist/ui/utils.d.ts +0 -2
  382. package/dist/ui/utils.js +0 -2
  383. package/dist/ui/visualization/Visualization.d.ts +0 -7
  384. package/dist/ui/visualization/Visualization.js +0 -2
  385. package/dist/ui/visualization/Visualization.support.d.ts +0 -15
  386. package/dist/ui/visualization/Visualization.support.js +0 -2
  387. package/dist/ui/visualization/index.d.ts +0 -1
  388. package/dist/ui/visualization/index.js +0 -2
  389. package/dist/ui/visually-hidden.d.ts +0 -8
  390. package/dist/ui/visually-hidden.js +0 -2
package/dist/ui/cta.js DELETED
@@ -1,2 +0,0 @@
1
- // @bun
2
- var X=import.meta.require;import{cn as Q}from"@contractspec/lib.ui-kit-core/utils";import{Slot as R}from"@radix-ui/react-slot";import{cva as T}from"class-variance-authority";import*as M from"react";import{jsx as W}from"react/jsx-runtime";var U=T("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"}}),A=M.forwardRef(({className:g,variant:q,size:w,asChild:D=!1,...E},F)=>{return W(D?R:"button",{ref:F,"data-slot":"button",className:Q(U({variant:q,size:w,className:g})),...E})});A.displayName="Button";import{cn as O}from"@contractspec/lib.ui-kit-core/utils";import{jsx as H}from"react/jsx-runtime";function B({capture:g,ctaName:q,className:w,as:D="button",href:E,onClick:F,size:G="lg",children:I,ref:J,...K}){let L=(P)=>{if(q&&g)try{g(q)}catch{}F?.(P)};if(D==="a")return H(A,{asChild:!0,size:G,className:O("min-h-[44px]",w),...K,children:H("a",{href:E,onClick:L,ref:J,children:I})});return H(A,{size:G,className:O("min-h-[44px]",w),onClick:L,ref:J,...K,children:I})}export{B as Cta};
@@ -1,8 +0,0 @@
1
- import type { ContractTableController, ContractTableRowRenderModel } from '@contractspec/lib.presentation-runtime-core';
2
- import type { SharedDataTableProps } from '@contractspec/lib.ui-kit-core/interfaces';
3
- import * as React from 'react';
4
- export interface DataTableProps<TItem = unknown> extends SharedDataTableProps<TItem> {
5
- controller: ContractTableController<TItem, React.ReactNode>;
6
- onRowPress?: (row: ContractTableRowRenderModel<TItem, React.ReactNode>) => void;
7
- }
8
- export declare function DataTable<TItem>({ controller, className, toolbar, footer, emptyState, loading, onRowPress, }: DataTableProps<TItem>): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +0,0 @@
1
- // @bun
2
- var e1=import.meta.require;import{cn as L1}from"@contractspec/lib.ui-kit-core/utils";import{Slot as H1}from"@radix-ui/react-slot";import{cva as E1}from"class-variance-authority";import*as l from"react";import{jsx as k1}from"react/jsx-runtime";var z1=E1("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"}}),H=l.forwardRef(({className:f,variant:y,size:A,asChild:_=!1,...U},J)=>{return k1(_?H1:"button",{ref:J,"data-slot":"button",className:L1(z1({variant:y,size:A,className:f})),...U})});H.displayName="Button";import{cn as T}from"@contractspec/lib.ui-kit-core/utils";import*as q from"@radix-ui/react-select";import{CheckIcon as I1,ChevronDownIcon as n,ChevronUpIcon as S1}from"lucide-react";import{jsx as K,jsxs as x}from"react/jsx-runtime";function o({...f}){return K(q.Root,{"data-slot":"select",...f})}function Q8({...f}){return K(q.Group,{"data-slot":"select-group",...f})}function e({...f}){return K(q.Value,{"data-slot":"select-value",...f})}function f1({className:f,size:y="default",children:A,..._}){return x(q.Trigger,{"data-slot":"select-trigger","data-size":y,className:T("flex w-fit items-center justify-between gap-2 whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-2xs outline-hidden transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[size=default]:h-9 data-[size=sm]:h-8 data-placeholder:text-muted-foreground *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 dark:bg-input/30 dark:aria-invalid:ring-destructive/40 dark:hover:bg-input/50 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0",f),..._,children:[A,K(q.Icon,{asChild:!0,children:K(n,{className:"size-4 opacity-50"})})]})}function y1({className:f,children:y,position:A="popper",..._}){return K(q.Portal,{children:x(q.Content,{"data-slot":"select-content",className:T("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 relative z-50 max-h-(--radix-select-content-available-height) min-w-32 origin-(--radix-select-content-transform-origin) overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=closed]:animate-out data-[state=open]:animate-in",A==="popper"&&"data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=bottom]:translate-y-1 data-[side=top]:-translate-y-1",f),position:A,..._,children:[K(T1,{}),K(q.Viewport,{className:T("p-1",A==="popper"&&"h-(--radix-select-trigger-height) w-full min-w-(--radix-select-trigger-width) scroll-my-1"),children:y}),K(M1,{})]})})}function Y8({className:f,...y}){return K(q.Label,{"data-slot":"select-label",className:T("px-2 py-1.5 text-muted-foreground text-xs",f),...y})}function A1({className:f,children:y,...A}){return x(q.Item,{"data-slot":"select-item",className:T("relative flex w-full cursor-default select-none items-center gap-2 rounded-xs py-1.5 pr-8 pl-2 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",f),...A,children:[K("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:K(q.ItemIndicator,{children:K(I1,{className:"size-4"})})}),K(q.ItemText,{children:y})]})}function Z8({className:f,...y}){return K(q.Separator,{"data-slot":"select-separator",className:T("pointer-events-none -mx-1 my-1 h-px bg-border",f),...y})}function T1({className:f,...y}){return K(q.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:T("flex cursor-default items-center justify-center py-1",f),...y,children:K(S1,{className:"size-4"})})}function M1({className:f,...y}){return K(q.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:T("flex cursor-default items-center justify-center py-1",f),...y,children:K(n,{className:"size-4"})})}import{clsx as h1}from"clsx";import{twMerge as R1}from"tailwind-merge";function $1(...f){return R1(h1(f))}import{ChevronLeft as P1,ChevronRight as g1,ChevronsLeft as N1,ChevronsRight as C1}from"lucide-react";import{jsx as O,jsxs as k}from"react/jsx-runtime";var j=({currentPage:f,totalPages:y,totalItems:A,itemsPerPage:_,onPageChange:U,onItemsPerPageChange:J,disabled:Z=!1,className:L="",showItemsPerPage:$=!0,itemsPerPageOptions:E=[10,25,50,100]})=>{let B=(f-1)*_+1,G=Math.min(f*_,A),g=f>1&&!Z,N=f<y&&!Z,b=()=>{if(y<=7)return Array.from({length:y},(V,C)=>C+1);if(f<=3)return[1,2,3,4,5,-1,y];if(f>=y-2)return[1,-1,y-4,y-3,y-2,y-1,y];return[1,-1,f-1,f,f+1,-1,y]};if(y===0)return null;return k("div",{className:`flex flex-col items-center justify-between gap-4 sm:flex-row ${L}`,children:[k("div",{className:"order-2 text-base text-muted-foreground sm:order-1",children:["Affichage de ",B," \xE0 ",G," sur ",A," r\xE9sultats"]}),k("div",{className:"order-1 flex items-center gap-2 sm:order-2",children:[k(H,{variant:"outline",size:"sm",onClick:()=>U(1),disabled:!g,className:"hidden h-8 w-8 p-0 sm:flex",children:[O(N1,{className:"h-4 w-4"}),O("span",{className:"sr-only",children:"Premi\xE8re page"})]}),k(H,{variant:"outline",size:"sm",onClick:()=>U(f-1),disabled:!g,className:"h-8 w-8 p-0",children:[O(P1,{className:"h-4 w-4"}),O("span",{className:"sr-only",children:"Page pr\xE9c\xE9dente"})]}),O("div",{className:"flex items-center gap-1",children:b().map((V,C)=>{if(V===-1)return O("span",{className:"px-2 py-1 text-muted-foreground",children:"..."},`ellipsis-${C}`);return O(H,{variant:V===f?"default":"outline",size:"sm",onClick:()=>U(V),disabled:Z,className:"h-8 min-w-8 px-2",children:V},V)})}),k(H,{variant:"outline",size:"sm",onClick:()=>U(f+1),disabled:!N,className:"h-8 w-8 p-0",children:[O(g1,{className:"h-4 w-4"}),O("span",{className:"sr-only",children:"Page suivante"})]}),k(H,{variant:"outline",size:"sm",onClick:()=>U(y),disabled:!N,className:"hidden h-8 w-8 p-0 sm:flex",children:[O(C1,{className:"h-4 w-4"}),O("span",{className:"sr-only",children:"Derni\xE8re page"})]})]}),$&&J&&k("div",{className:"order-3 flex items-center gap-2 text-base",children:[O("span",{className:"text-muted-foreground",children:"Afficher:"}),k(o,{value:_.toString(),onValueChange:(V)=>J(parseInt(V)),disabled:Z,children:[O(f1,{className:"h-8 w-16",children:O(e,{})}),O(y1,{className:"bg-background",children:E.map((V)=>O(A1,{value:V.toString(),children:V},V))})]})]})]})};import{cn as D1}from"@contractspec/lib.ui-kit-core/utils";import*as v from"@radix-ui/react-checkbox";import{CheckIcon as b1}from"lucide-react";import{jsx as p}from"react/jsx-runtime";function m({className:f,...y}){return p(v.Root,{"data-slot":"checkbox",className:D1("peer size-4 shrink-0 rounded-[4px] border border-input shadow-xs outline-none transition-shadow focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:bg-input/30 dark:data-[state=checked]:bg-primary dark:aria-invalid:ring-destructive/40",f),...y,children:p(v.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:p(b1,{className:"size-3.5"})})})}import{cn as I}from"@contractspec/lib.ui-kit-core/utils";import*as W from"@radix-ui/react-dropdown-menu";import{CheckIcon as v1,ChevronRightIcon as w1,CircleIcon as d1}from"lucide-react";import{jsx as Y,jsxs as c}from"react/jsx-runtime";function u({...f}){return Y(W.Root,{"data-slot":"dropdown-menu",...f})}function R8({...f}){return Y(W.Portal,{"data-slot":"dropdown-menu-portal",...f})}function t({...f}){return Y(W.Trigger,{"data-slot":"dropdown-menu-trigger",...f})}function a({className:f,sideOffset:y=4,...A}){return Y(W.Portal,{children:Y(W.Content,{"data-slot":"dropdown-menu-content",sideOffset:y,className:I("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 max-h-(--radix-dropdown-menu-content-available-height) min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=closed]:animate-out data-[state=open]:animate-in",f),...A})})}function P8({...f}){return Y(W.Group,{"data-slot":"dropdown-menu-group",...f})}function P({className:f,inset:y,variant:A="default",..._}){return Y(W.Item,{"data-slot":"dropdown-menu-item","data-inset":y,"data-variant":A,className:I("relative flex cursor-default select-none items-center gap-2 rounded-xs px-2 py-1.5 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-inset:pl-8 data-[variant=destructive]:text-destructive data-disabled:opacity-50 data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 data-[variant=destructive]:*:[svg]:text-destructive!",f),..._})}function W1({className:f,children:y,checked:A,..._}){return c(W.CheckboxItem,{"data-slot":"dropdown-menu-checkbox-item",className:I("relative flex cursor-default select-none items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",f),checked:A,..._,children:[Y("span",{className:"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",children:Y(W.ItemIndicator,{children:Y(v1,{className:"size-4"})})}),y]})}function g8({...f}){return Y(W.RadioGroup,{"data-slot":"dropdown-menu-radio-group",...f})}function N8({className:f,children:y,...A}){return c(W.RadioItem,{"data-slot":"dropdown-menu-radio-item",className:I("relative flex cursor-default select-none items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",f),...A,children:[Y("span",{className:"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",children:Y(W.ItemIndicator,{children:Y(d1,{className:"size-2 fill-current"})})}),y]})}function _1({className:f,inset:y,...A}){return Y(W.Label,{"data-slot":"dropdown-menu-label","data-inset":y,className:I("px-2 py-1.5 font-medium text-sm data-inset:pl-8",f),...A})}function r({className:f,...y}){return Y(W.Separator,{"data-slot":"dropdown-menu-separator",className:I("-mx-1 my-1 h-px bg-border",f),...y})}function C8({className:f,...y}){return Y("span",{"data-slot":"dropdown-menu-shortcut",className:I("ml-auto text-muted-foreground text-xs tracking-widest",f),...y})}function D8({...f}){return Y(W.Sub,{"data-slot":"dropdown-menu-sub",...f})}function b8({className:f,inset:y,children:A,..._}){return c(W.SubTrigger,{"data-slot":"dropdown-menu-sub-trigger","data-inset":y,className:I("flex cursor-default select-none items-center rounded-xs px-2 py-1.5 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-inset:pl-8 data-[state=open]:text-accent-foreground",f),..._,children:[A,Y(w1,{className:"ml-auto size-4"})]})}function v8({className:f,...y}){return Y(W.SubContent,{"data-slot":"dropdown-menu-sub-content",className:I("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-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=closed]:animate-out data-[state=open]:animate-in",f),...y})}import{cn as i1}from"@contractspec/lib.ui-kit-core/utils";import{ChevronDown as x1,ChevronRight as j1,Columns3 as q1,GripVertical as p1,PanelLeft as m1,PanelRight as u1,PinOff as t1}from"lucide-react";import*as X from"react";import{jsx as Q,jsxs as z,Fragment as l1}from"react/jsx-runtime";function a1(f){f.forEach((y)=>y.toggleVisibility?.(!0))}function r1(f,y){if(y.kind!=="data"||!y.visible)return!0;return f.filter((A)=>A.kind==="data"&&A.visible).length>1}function J1({columns:f}){let y=f.filter((J)=>J.kind==="data"),A=y.filter((J)=>J.canHide),_=A.filter((J)=>!J.visible),U=y.some((J)=>J.pinState);if(!A.length)return null;return z(u,{children:[Q(t,{asChild:!0,children:z(H,{variant:"outline",size:"sm",children:[Q(q1,{className:"h-4 w-4"}),"Columns"]})}),z(a,{align:"end",children:[Q(_1,{children:"Visible Columns"}),Q(r,{}),A.map((J)=>{let Z=!r1(f,J);return Q(W1,{checked:J.visible,disabled:Z,onCheckedChange:(L)=>{let $=Boolean(L);if(!$&&Z)return;J.toggleVisibility?.($)},children:z("div",{className:"flex w-full items-center justify-between gap-3",children:[Q("span",{children:J.label}),Z?Q("span",{className:"text-muted-foreground text-xs",children:"Required"}):null]})},J.id)}),_.length||U?z(l1,{children:[Q(r,{}),_.length?Q(P,{onClick:()=>a1(A),children:"Show All Columns"}):null,U?Q(P,{onClick:()=>y.forEach((J)=>J.pin?.(!1)),children:"Reset Pins"}):null]}):null]})]})}function Q1({column:f}){if(!f.canPin)return null;return z(u,{children:[Q(t,{asChild:!0,children:Q(H,{variant:"ghost",size:"icon",className:"h-6 w-6",onClick:(y)=>y.stopPropagation(),children:Q(q1,{className:"h-3.5 w-3.5"})})}),z(a,{align:"start",children:[z(P,{onClick:()=>f.pin?.("left"),children:[Q(m1,{className:"h-4 w-4"}),"Pin Left"]}),z(P,{onClick:()=>f.pin?.("right"),children:[Q(u1,{className:"h-4 w-4"}),"Pin Right"]}),z(P,{onClick:()=>f.pin?.(!1),children:[Q(t1,{className:"h-4 w-4"}),"Unpin"]})]})]})}function Y1({column:f}){let y=X.useRef(null),A=X.useRef(0),_=X.useRef(null),U=X.useRef(null),J=X.useCallback(()=>{if(_.current=null,!A.current)return;f.resizeBy?.(A.current),A.current=0},[f]),Z=X.useCallback((G)=>{if(!Number.isFinite(G)||G===0)return;if(A.current+=G,_.current!=null)return;_.current=window.requestAnimationFrame(J)},[J]),L=X.useCallback(()=>{if(y.current=null,U.current?.(),U.current=null,_.current!=null)window.cancelAnimationFrame(_.current),_.current=null;if(!A.current)return;f.resizeBy?.(A.current),A.current=0},[f]);X.useEffect(()=>{return L},[L]);let $=X.useCallback((G,g,N)=>{L(),y.current=G;let b=(R)=>{if(y.current==null)return;let X1=R.clientX-y.current;y.current=R.clientX,Z(X1)},V=()=>L(),C=()=>{window.removeEventListener(g,b);for(let R of N)window.removeEventListener(R,V)};U.current=C,window.addEventListener(g,b);for(let R of N)window.addEventListener(R,V)},[L,Z]),E=X.useCallback((G)=>{G.preventDefault(),G.stopPropagation(),G.currentTarget.setPointerCapture?.(G.pointerId),$(G.clientX,"pointermove",["pointerup","pointercancel"])},[$]),B=X.useCallback((G)=>{if(typeof window.PointerEvent==="function")return;G.preventDefault(),G.stopPropagation(),$(G.clientX,"mousemove",["mouseup"])},[$]);return Q("span",{role:"separator","aria-label":`Resize ${f.label} column`,"aria-orientation":"vertical",tabIndex:-1,className:"absolute inset-y-0 right-0 flex w-3 cursor-col-resize items-center justify-center",onPointerDown:E,onMouseDown:B,children:Q(p1,{className:"h-3.5 w-3.5 text-muted-foreground"})})}function s(f,y){if(y.kind==="selection"&&f.selectionMode==="multiple")return Q(m,{"aria-label":"Select all rows",checked:f.allRowsSelected||(f.someRowsSelected?"indeterminate":!1),onCheckedChange:(A)=>f.toggleAllRowsSelected?.(Boolean(A)),onClick:(A)=>A.stopPropagation()});if(y.kind==="expansion")return null;return y.header}function c1(f,y){if(!y)return null;if(y.kind==="selection")return Q(m,{"aria-label":`Select row ${f.id}`,checked:f.isSelected,onCheckedChange:(A)=>f.toggleSelected?.(Boolean(A)),onClick:(A)=>A.stopPropagation()});if(y.kind==="expansion")return f.canExpand?Q(H,{variant:"ghost",size:"icon",className:"h-7 w-7","aria-label":f.isExpanded?`Collapse row ${f.id}`:`Expand row ${f.id}`,onClick:(A)=>{A.stopPropagation(),f.toggleExpanded?.()},children:f.isExpanded?Q(x1,{className:"h-4 w-4"}):Q(j1,{className:"h-4 w-4"})}):null;return y.content}function s1(f){if(!f||f.kind!=="data")return;switch(f.overflow){case"truncate":case"expand":return"max-w-full truncate whitespace-nowrap";case"wrap":return"max-w-full whitespace-normal break-words";case"none":default:return}}function Z1(f,y){let A=c1(f,y),_=s1(y);if(!_)return A;return Q("div",{className:i1("min-w-0",_),children:A})}function w(f,y=!1){return{width:f.size,minWidth:f.size,maxWidth:f.size,left:f.pinState==="left"?f.stickyOffset:void 0,right:f.pinState==="right"?f.stickyOffset:void 0,position:f.pinState?"sticky":"relative",zIndex:f.pinState?y?30:20:void 0}}function K1(f){if(f.kind!=="data"||!f.canSort)return;if(f.sortDirection==="asc")return"ascending";if(f.sortDirection==="desc")return"descending";return"none"}import{jsx as n1}from"react/jsx-runtime";function F1({className:f,...y}){return n1("div",{"data-slot":"skeleton",className:$1("animate-pulse rounded-md bg-accent",f),...y})}import{cn as M}from"@contractspec/lib.ui-kit-core/utils";import{jsx as S}from"react/jsx-runtime";function G1({className:f,...y}){return S("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:S("table",{"data-slot":"table",className:M("w-full caption-bottom text-sm",f),...y})})}function U1({className:f,...y}){return S("thead",{"data-slot":"table-header",className:M("[&_tr]:border-b",f),...y})}function O1({className:f,...y}){return S("tbody",{"data-slot":"table-body",className:M("[&_tr:last-child]:border-0",f),...y})}function l8({className:f,...y}){return S("tfoot",{"data-slot":"table-footer",className:M("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",f),...y})}function D({className:f,...y}){return S("tr",{"data-slot":"table-row",className:M("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",f),...y})}function B1({className:f,...y}){return S("th",{"data-slot":"table-head",className:M("h-10 whitespace-nowrap px-2 text-left align-middle font-medium text-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",f),...y})}function d({className:f,...y}){return S("td",{"data-slot":"table-cell",className:M("whitespace-nowrap p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",f),...y})}function n8({className:f,...y}){return S("caption",{"data-slot":"table-caption",className:M("mt-4 text-muted-foreground text-sm",f),...y})}import{cn as V1}from"@contractspec/lib.ui-kit-core/utils";import*as i from"react";import{jsx as F,jsxs as h,Fragment as o1}from"react/jsx-runtime";function _0({controller:f,className:y,toolbar:A,footer:_,emptyState:U,loading:J,onRowPress:Z}){let L=i.useCallback(($,E)=>{if(!Z||$.key!=="Enter"&&$.key!==" ")return;if($.target instanceof HTMLElement&&$.target.closest('button, a, input, select, textarea, [role="checkbox"], [role="separator"]'))return;$.preventDefault(),Z(E)},[Z]);return h("div",{className:V1("space-y-3",y),children:[h("div",{className:V1("flex items-center gap-3",A?"justify-between":"justify-end"),children:[F("div",{children:A}),F(J1,{columns:f.columns})]}),h(G1,{children:[F(U1,{children:F(D,{children:f.visibleColumns.map(($)=>h(B1,{"aria-sort":K1($),className:"relative bg-background",style:w($,!0),children:[h("div",{className:"flex items-center gap-2",children:[$.kind==="data"&&$.canSort?h("button",{type:"button",className:"inline-flex items-center gap-2 text-left font-medium text-sm outline-none focus-visible:ring-2 focus-visible:ring-ring/50",onClick:$.toggleSorting,children:[s(f,$),$.sortDirection?F("span",{className:"text-muted-foreground text-xs uppercase",children:$.sortDirection}):null]}):h(o1,{children:[s(f,$),$.kind==="data"&&$.sortDirection?F("span",{className:"text-muted-foreground text-xs uppercase",children:$.sortDirection}):null]}),$.kind==="data"?F(Q1,{column:$}):null]}),$.canResize?F(Y1,{column:$}):null]},$.id))})}),F(O1,{children:J?Array.from({length:5}).map(($,E)=>F(D,{children:f.visibleColumns.map((B)=>F(d,{style:w(B),children:F(F1,{className:"h-4 w-full"})},`${B.id}-${E}`))},`loading-${E}`)):f.rows.map(($)=>(()=>{let E=new Map($.cells.map((B)=>[B.columnId,B]));return h(i.Fragment,{children:[F(D,{"data-state":$.isSelected?"selected":void 0,className:Z?"cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/50":void 0,onClick:()=>Z?.($),onKeyDown:(B)=>L(B,$),tabIndex:Z?0:void 0,children:f.visibleColumns.map((B)=>F(d,{style:w(B),children:Z1($,E.get(B.id))},B.id))}),$.isExpanded&&$.expandedContent?F(D,{children:F(d,{className:"bg-muted/20 text-muted-foreground text-sm",colSpan:f.visibleColumns.length,children:$.expandedContent})}):null]},$.id)})())})]}),!J&&f.rows.length===0?U??F("div",{className:"rounded-md border border-dashed p-8 text-center text-muted-foreground text-sm",children:"No rows available."}):null,f.pageCount>0?F(j,{currentPage:f.pageIndex+1,totalPages:f.pageCount,totalItems:f.totalItems,itemsPerPage:f.pageSize,onPageChange:($)=>f.setPageIndex($-1),onItemsPerPageChange:($)=>f.setPageSize($)}):null,_]})}export{_0 as DataTable};
@@ -1,19 +0,0 @@
1
- import type { ContractTableCellRenderModel, ContractTableColumnRenderModel, ContractTableController, ContractTableRowRenderModel } from '@contractspec/lib.presentation-runtime-core';
2
- import * as React from 'react';
3
- export declare function showAllColumns(columns: ContractTableController<unknown, React.ReactNode>['columns']): void;
4
- export declare function canHideDataColumn(columns: ContractTableController<unknown, React.ReactNode>['columns'], column: ContractTableColumnRenderModel<React.ReactNode>): boolean;
5
- export declare function ColumnVisibilityMenu({ columns, }: {
6
- columns: ContractTableController<unknown, React.ReactNode>['columns'];
7
- }): import("react/jsx-runtime").JSX.Element | null;
8
- export declare function PinMenu({ column, }: {
9
- column: ContractTableColumnRenderModel<React.ReactNode>;
10
- }): import("react/jsx-runtime").JSX.Element | null;
11
- export declare function ResizeHandle({ column, }: {
12
- column: ContractTableColumnRenderModel<React.ReactNode>;
13
- }): import("react/jsx-runtime").JSX.Element;
14
- export declare function renderHeaderContent<TItem>(controller: ContractTableController<TItem, React.ReactNode>, column: ContractTableColumnRenderModel<React.ReactNode>): string | number | bigint | boolean | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined;
15
- export declare function renderCellContent<TItem>(row: ContractTableRowRenderModel<TItem, React.ReactNode>, cell: ContractTableRowRenderModel<TItem, React.ReactNode>['cells'][number] | undefined): string | number | bigint | boolean | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined;
16
- export declare function cellOverflowClassName(cell: ContractTableCellRenderModel<React.ReactNode> | undefined): "max-w-full truncate whitespace-nowrap" | "max-w-full whitespace-normal break-words" | undefined;
17
- export declare function renderOverflowCellContent<TItem>(row: ContractTableRowRenderModel<TItem, React.ReactNode>, cell: ContractTableRowRenderModel<TItem, React.ReactNode>['cells'][number] | undefined): string | number | bigint | boolean | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined;
18
- export declare function stickyStyle(column: ContractTableColumnRenderModel<React.ReactNode>, isHeader?: boolean): React.CSSProperties;
19
- export declare function ariaSortValue(column: ContractTableColumnRenderModel<React.ReactNode>): "none" | "ascending" | "descending" | undefined;
@@ -1,2 +0,0 @@
1
- // @bun
2
- var Zq=import.meta.require;import{cn as x}from"@contractspec/lib.ui-kit-core/utils";import{Slot as d}from"@radix-ui/react-slot";import{cva as p}from"class-variance-authority";import*as M from"react";import{jsx as m}from"react/jsx-runtime";var i=p("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"}}),P=M.forwardRef(({className:q,variant:J,size:K,asChild:W=!1,...F},Y)=>{return m(W?d:"button",{ref:Y,"data-slot":"button",className:x(i({variant:J,size:K,className:q})),...F})});P.displayName="Button";import{cn as a}from"@contractspec/lib.ui-kit-core/utils";import*as X from"@radix-ui/react-checkbox";import{CheckIcon as u}from"lucide-react";import{jsx as S}from"react/jsx-runtime";function V({className:q,...J}){return S(X.Root,{"data-slot":"checkbox",className:a("peer size-4 shrink-0 rounded-[4px] border border-input shadow-xs outline-none transition-shadow focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:bg-input/30 dark:data-[state=checked]:bg-primary dark:aria-invalid:ring-destructive/40",q),...J,children:S(X.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:S(u,{className:"size-3.5"})})})}import{cn as A}from"@contractspec/lib.ui-kit-core/utils";import*as Q from"@radix-ui/react-dropdown-menu";import{CheckIcon as t,ChevronRightIcon as r,CircleIcon as c}from"lucide-react";import{jsx as Z,jsxs as k}from"react/jsx-runtime";function L({...q}){return Z(Q.Root,{"data-slot":"dropdown-menu",...q})}function Sq({...q}){return Z(Q.Portal,{"data-slot":"dropdown-menu-portal",...q})}function I({...q}){return Z(Q.Trigger,{"data-slot":"dropdown-menu-trigger",...q})}function E({className:q,sideOffset:J=4,...K}){return Z(Q.Portal,{children:Z(Q.Content,{"data-slot":"dropdown-menu-content",sideOffset:J,className:A("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 max-h-(--radix-dropdown-menu-content-available-height) min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=closed]:animate-out data-[state=open]:animate-in",q),...K})})}function Vq({...q}){return Z(Q.Group,{"data-slot":"dropdown-menu-group",...q})}function B({className:q,inset:J,variant:K="default",...W}){return Z(Q.Item,{"data-slot":"dropdown-menu-item","data-inset":J,"data-variant":K,className:A("relative flex cursor-default select-none items-center gap-2 rounded-xs px-2 py-1.5 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-inset:pl-8 data-[variant=destructive]:text-destructive data-disabled:opacity-50 data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 data-[variant=destructive]:*:[svg]:text-destructive!",q),...W})}function N({className:q,children:J,checked:K,...W}){return k(Q.CheckboxItem,{"data-slot":"dropdown-menu-checkbox-item",className:A("relative flex cursor-default select-none items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",q),checked:K,...W,children:[Z("span",{className:"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",children:Z(Q.ItemIndicator,{children:Z(t,{className:"size-4"})})}),J]})}function Lq({...q}){return Z(Q.RadioGroup,{"data-slot":"dropdown-menu-radio-group",...q})}function Iq({className:q,children:J,...K}){return k(Q.RadioItem,{"data-slot":"dropdown-menu-radio-item",className:A("relative flex cursor-default select-none items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",q),...K,children:[Z("span",{className:"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",children:Z(Q.ItemIndicator,{children:Z(c,{className:"size-2 fill-current"})})}),J]})}function C({className:q,inset:J,...K}){return Z(Q.Label,{"data-slot":"dropdown-menu-label","data-inset":J,className:A("px-2 py-1.5 font-medium text-sm data-inset:pl-8",q),...K})}function z({className:q,...J}){return Z(Q.Separator,{"data-slot":"dropdown-menu-separator",className:A("-mx-1 my-1 h-px bg-border",q),...J})}function Eq({className:q,...J}){return Z("span",{"data-slot":"dropdown-menu-shortcut",className:A("ml-auto text-muted-foreground text-xs tracking-widest",q),...J})}function zq({...q}){return Z(Q.Sub,{"data-slot":"dropdown-menu-sub",...q})}function kq({className:q,inset:J,children:K,...W}){return k(Q.SubTrigger,{"data-slot":"dropdown-menu-sub-trigger","data-inset":J,className:A("flex cursor-default select-none items-center rounded-xs px-2 py-1.5 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-inset:pl-8 data-[state=open]:text-accent-foreground",q),...W,children:[K,Z(r,{className:"ml-auto size-4"})]})}function gq({className:q,...J}){return Z(Q.SubContent,{"data-slot":"dropdown-menu-sub-content",className:A("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-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=closed]:animate-out data-[state=open]:animate-in",q),...J})}import{cn as l}from"@contractspec/lib.ui-kit-core/utils";import{ChevronDown as s,ChevronRight as o,Columns3 as D,GripVertical as n,PanelLeft as e,PanelRight as qq,PinOff as Jq}from"lucide-react";import*as $ from"react";import{jsx as U,jsxs as y,Fragment as Yq}from"react/jsx-runtime";function Kq(q){q.forEach((J)=>J.toggleVisibility?.(!0))}function Qq(q,J){if(J.kind!=="data"||!J.visible)return!0;return q.filter((K)=>K.kind==="data"&&K.visible).length>1}function hq({columns:q}){let J=q.filter((Y)=>Y.kind==="data"),K=J.filter((Y)=>Y.canHide),W=K.filter((Y)=>!Y.visible),F=J.some((Y)=>Y.pinState);if(!K.length)return null;return y(L,{children:[U(I,{asChild:!0,children:y(P,{variant:"outline",size:"sm",children:[U(D,{className:"h-4 w-4"}),"Columns"]})}),y(E,{align:"end",children:[U(C,{children:"Visible Columns"}),U(z,{}),K.map((Y)=>{let G=!Qq(q,Y);return U(N,{checked:Y.visible,disabled:G,onCheckedChange:(H)=>{let O=Boolean(H);if(!O&&G)return;Y.toggleVisibility?.(O)},children:y("div",{className:"flex w-full items-center justify-between gap-3",children:[U("span",{children:Y.label}),G?U("span",{className:"text-muted-foreground text-xs",children:"Required"}):null]})},Y.id)}),W.length||F?y(Yq,{children:[U(z,{}),W.length?U(B,{onClick:()=>Kq(K),children:"Show All Columns"}):null,F?U(B,{onClick:()=>J.forEach((Y)=>Y.pin?.(!1)),children:"Reset Pins"}):null]}):null]})]})}function wq({column:q}){if(!q.canPin)return null;return y(L,{children:[U(I,{asChild:!0,children:U(P,{variant:"ghost",size:"icon",className:"h-6 w-6",onClick:(J)=>J.stopPropagation(),children:U(D,{className:"h-3.5 w-3.5"})})}),y(E,{align:"start",children:[y(B,{onClick:()=>q.pin?.("left"),children:[U(e,{className:"h-4 w-4"}),"Pin Left"]}),y(B,{onClick:()=>q.pin?.("right"),children:[U(qq,{className:"h-4 w-4"}),"Pin Right"]}),y(B,{onClick:()=>q.pin?.(!1),children:[U(Jq,{className:"h-4 w-4"}),"Unpin"]})]})]})}function vq({column:q}){let J=$.useRef(null),K=$.useRef(0),W=$.useRef(null),F=$.useRef(null),Y=$.useCallback(()=>{if(W.current=null,!K.current)return;q.resizeBy?.(K.current),K.current=0},[q]),G=$.useCallback((_)=>{if(!Number.isFinite(_)||_===0)return;if(K.current+=_,W.current!=null)return;W.current=window.requestAnimationFrame(Y)},[Y]),H=$.useCallback(()=>{if(J.current=null,F.current?.(),F.current=null,W.current!=null)window.cancelAnimationFrame(W.current),W.current=null;if(!K.current)return;q.resizeBy?.(K.current),K.current=0},[q]);$.useEffect(()=>{return H},[H]);let O=$.useCallback((_,g,R)=>{H(),J.current=_;let f=(T)=>{if(J.current==null)return;let j=T.clientX-J.current;J.current=T.clientX,G(j)},b=()=>H(),v=()=>{window.removeEventListener(g,f);for(let T of R)window.removeEventListener(T,b)};F.current=v,window.addEventListener(g,f);for(let T of R)window.addEventListener(T,b)},[H,G]),h=$.useCallback((_)=>{_.preventDefault(),_.stopPropagation(),_.currentTarget.setPointerCapture?.(_.pointerId),O(_.clientX,"pointermove",["pointerup","pointercancel"])},[O]),w=$.useCallback((_)=>{if(typeof window.PointerEvent==="function")return;_.preventDefault(),_.stopPropagation(),O(_.clientX,"mousemove",["mouseup"])},[O]);return U("span",{role:"separator","aria-label":`Resize ${q.label} column`,"aria-orientation":"vertical",tabIndex:-1,className:"absolute inset-y-0 right-0 flex w-3 cursor-col-resize items-center justify-center",onPointerDown:h,onMouseDown:w,children:U(n,{className:"h-3.5 w-3.5 text-muted-foreground"})})}function jq(q,J){if(J.kind==="selection"&&q.selectionMode==="multiple")return U(V,{"aria-label":"Select all rows",checked:q.allRowsSelected||(q.someRowsSelected?"indeterminate":!1),onCheckedChange:(K)=>q.toggleAllRowsSelected?.(Boolean(K)),onClick:(K)=>K.stopPropagation()});if(J.kind==="expansion")return null;return J.header}function Uq(q,J){if(!J)return null;if(J.kind==="selection")return U(V,{"aria-label":`Select row ${q.id}`,checked:q.isSelected,onCheckedChange:(K)=>q.toggleSelected?.(Boolean(K)),onClick:(K)=>K.stopPropagation()});if(J.kind==="expansion")return q.canExpand?U(P,{variant:"ghost",size:"icon",className:"h-7 w-7","aria-label":q.isExpanded?`Collapse row ${q.id}`:`Expand row ${q.id}`,onClick:(K)=>{K.stopPropagation(),q.toggleExpanded?.()},children:q.isExpanded?U(s,{className:"h-4 w-4"}):U(o,{className:"h-4 w-4"})}):null;return J.content}function Wq(q){if(!q||q.kind!=="data")return;switch(q.overflow){case"truncate":case"expand":return"max-w-full truncate whitespace-nowrap";case"wrap":return"max-w-full whitespace-normal break-words";case"none":default:return}}function xq(q,J){let K=Uq(q,J),W=Wq(J);if(!W)return K;return U("div",{className:l("min-w-0",W),children:K})}function dq(q,J=!1){return{width:q.size,minWidth:q.size,maxWidth:q.size,left:q.pinState==="left"?q.stickyOffset:void 0,right:q.pinState==="right"?q.stickyOffset:void 0,position:q.pinState?"sticky":"relative",zIndex:q.pinState?J?30:20:void 0}}function pq(q){if(q.kind!=="data"||!q.canSort)return;if(q.sortDirection==="asc")return"ascending";if(q.sortDirection==="desc")return"descending";return"none"}export{dq as stickyStyle,Kq as showAllColumns,xq as renderOverflowCellContent,jq as renderHeaderContent,Uq as renderCellContent,Wq as cellOverflowClassName,Qq as canHideDataColumn,pq as ariaSortValue,vq as ResizeHandle,wq as PinMenu,hq as ColumnVisibilityMenu};
@@ -1 +0,0 @@
1
- export {};
@@ -1,5 +0,0 @@
1
- import type { SharedDatePickerProps } from '@contractspec/lib.ui-kit-core/interfaces';
2
- export interface DatePickerProps extends SharedDatePickerProps {
3
- language?: string;
4
- }
5
- export declare function DatePicker({ value, onChange, disabled, minDate, maxDate, placeholder, className, language, }: DatePickerProps): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +0,0 @@
1
- // @bun
2
- var s=import.meta.require;import{cn as N}from"@contractspec/lib.ui-kit-core/utils";import{Slot as f}from"@radix-ui/react-slot";import{cva as p}from"class-variance-authority";import*as T from"react";import{jsx as m}from"react/jsx-runtime";var R=p("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"}}),W=T.forwardRef(({className:F,variant:Q,size:G,asChild:J=!1,...U},Z)=>{return m(J?f:"button",{ref:Z,"data-slot":"button",className:N(R({variant:Q,size:G,className:F})),...U})});W.displayName="Button";import{cn as u}from"@contractspec/lib.ui-kit-core/utils";import{jsx as d}from"react/jsx-runtime";function P({className:F,type:Q,ref:G,...J}){return d("input",{ref:G,type:Q,"data-slot":"input",className:u("h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs outline-none transition-[color,box-shadow] selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:font-medium file:text-foreground file:text-sm placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30","focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50","aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40",F),...J})}import{cn as q}from"@contractspec/lib.ui-kit-core/utils";import{ChevronDownIcon as c,ChevronLeftIcon as i,ChevronRightIcon as l}from"lucide-react";import*as L from"react";import{DayPicker as r,getDefaultClassNames as V}from"react-day-picker";import{jsx as $}from"react/jsx-runtime";function y({className:F,classNames:Q,showOutsideDays:G=!0,captionLayout:J="label",buttonVariant:U="ghost",formatters:Z,components:w,...B}){let E=V();return $(r,{showOutsideDays:G,className:q("group/calendar bg-background in-data-[slot=card-content]:bg-transparent in-data-[slot=popover-content]:bg-transparent p-3 [--cell-size:--spacing(8)]",String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,F),captionLayout:J,formatters:{formatMonthDropdown:(K)=>K.toLocaleString("default",{month:"short"}),...Z},classNames:{root:q("w-fit",E.root),months:q("relative flex flex-col gap-4 md:flex-row",E.months),month:q("flex w-full flex-col gap-4",E.month),nav:q("absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1",E.nav),button_previous:q(R({variant:U}),"size-(--cell-size) select-none p-0 aria-disabled:opacity-50",E.button_previous),button_next:q(R({variant:U}),"size-(--cell-size) select-none p-0 aria-disabled:opacity-50",E.button_next),month_caption:q("flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)",E.month_caption),dropdowns:q("flex h-(--cell-size) w-full items-center justify-center gap-1.5 font-medium text-sm",E.dropdowns),dropdown_root:q("relative rounded-md border border-input shadow-2xs has-focus:border-ring has-focus:ring-[3px] has-focus:ring-ring/50",E.dropdown_root),dropdown:q("absolute inset-0 bg-popover opacity-0",E.dropdown),caption_label:q("select-none font-medium",J==="label"?"text-sm":"flex h-8 items-center gap-1 rounded-md pr-1 pl-2 text-sm [&>svg]:size-3.5 [&>svg]:text-muted-foreground",E.caption_label),table:"w-full border-collapse",weekdays:q("flex",E.weekdays),weekday:q("flex-1 select-none rounded-md font-normal text-[0.8rem] text-muted-foreground",E.weekday),week:q("mt-2 flex w-full",E.week),week_number_header:q("w-(--cell-size) select-none",E.week_number_header),week_number:q("select-none text-[0.8rem] text-muted-foreground",E.week_number),day:q("group/day relative aspect-square h-full w-full select-none p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md",E.day),range_start:q("rounded-l-md bg-accent",E.range_start),range_middle:q("rounded-none",E.range_middle),range_end:q("rounded-r-md bg-accent",E.range_end),today:q("rounded-md bg-accent text-accent-foreground data-[selected=true]:rounded-none",E.today),outside:q("text-muted-foreground aria-selected:text-muted-foreground",E.outside),disabled:q("text-muted-foreground opacity-50",E.disabled),hidden:q("invisible",E.hidden),...Q},components:{Root:({className:K,rootRef:_,...Y})=>{return $("div",{"data-slot":"calendar",ref:_,className:q(K),...Y})},Chevron:({className:K,orientation:_,...Y})=>{if(_==="left")return $(i,{className:q("size-4",K),...Y});if(_==="right")return $(l,{className:q("size-4",K),...Y});return $(c,{className:q("size-4",K),...Y})},DayButton:n,WeekNumber:({children:K,..._})=>{return $("td",{..._,children:$("div",{className:"flex size-(--cell-size) items-center justify-center text-center",children:K})})},...w},...B})}function n({className:F,day:Q,modifiers:G,...J}){let U=V(),Z=L.useRef(null);return L.useEffect(()=>{if(G.focused)Z.current?.focus()},[G.focused]),$(W,{ref:Z,variant:"ghost",size:"icon","data-day":Q.date.toLocaleDateString(),"data-selected-single":G.selected&&!G.range_start&&!G.range_end&&!G.range_middle,"data-range-start":G.range_start,"data-range-end":G.range_end,"data-range-middle":G.range_middle,className:q("flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 font-normal leading-none data-[range-end=true]:rounded-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-start=true]:rounded-l-md data-[range-end=true]:bg-primary data-[range-middle=true]:bg-accent data-[range-start=true]:bg-primary data-[selected-single=true]:bg-primary data-[range-end=true]:text-primary-foreground data-[range-middle=true]:text-accent-foreground data-[range-start=true]:text-primary-foreground data-[selected-single=true]:text-primary-foreground group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-[3px] group-data-[focused=true]/day:ring-ring/50 dark:hover:text-accent-foreground [&>span]:text-xs [&>span]:opacity-70",U.day,F),...J})}import{cn as o}from"@contractspec/lib.ui-kit-core/utils";import*as X from"@radix-ui/react-popover";import{jsx as z}from"react/jsx-runtime";function g({...F}){return z(X.Root,{"data-slot":"popover",...F})}function b({...F}){return z(X.Trigger,{"data-slot":"popover-trigger",...F})}function h({className:F,align:Q="center",sideOffset:G=4,...J}){return z(X.Portal,{children:z(X.Content,{"data-slot":"popover-content",align:Q,sideOffset:G,className:o("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 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden data-[state=closed]:animate-out data-[state=open]:animate-in",F),...J})})}function Sq({...F}){return z(X.Anchor,{"data-slot":"popover-anchor",...F})}import{cn as D}from"@contractspec/lib.ui-kit-core/utils";import{CalendarIcon as t}from"lucide-react";import*as S from"react";import{jsx as A,jsxs as j}from"react/jsx-runtime";function kq({value:F,onChange:Q,disabled:G,minDate:J,maxDate:U,placeholder:Z="Select date",className:w,language:B}){let[E,K]=S.useState(!1),[_,Y]=S.useState(F??new Date),[v,I]=S.useState(k(F));S.useEffect(()=>{if(I(k(F)),F)Y(F)},[F]);function k(H){if(!H)return"";return H.toLocaleDateString(B,{day:"2-digit",month:"long",year:"numeric"})}function C(H){if(!H)return!1;return!isNaN(H.getTime())}function x(H){if(J&&H<J)return!1;if(U&&H>U)return!1;return!0}return j(g,{open:E,onOpenChange:K,children:[j("div",{className:D("relative w-full",w),children:[A(P,{value:v,placeholder:Z,onChange:(H)=>{let O=H.currentTarget.value;I(O);let M=new Date(O);if(C(M)&&x(M))Q(M),Y(M)},onKeyDown:(H)=>{if(H.key==="ArrowDown")H.preventDefault(),K(!0)},disabled:G,className:D("pr-10")}),A(b,{asChild:!0,children:A(W,{type:"button",variant:"ghost",size:"icon",className:"absolute top-1/2 right-1 -translate-y-1/2",disabled:G,"aria-label":"Open date picker",children:A(t,{className:"size-4"})})})]}),A(h,{className:"w-auto overflow-hidden p-0",align:"end",sideOffset:10,alignOffset:-8,children:A(y,{mode:"single",selected:F??void 0,captionLayout:"dropdown",month:_,onMonthChange:Y,onSelect:(H)=>{if(Q(H??null),I(k(H??null)),H)K(!1)},fromDate:J,toDate:U,initialFocus:!0})})]})}export{kq as DatePicker};
@@ -1,6 +0,0 @@
1
- import type { SharedDateRange, SharedDateRangePickerProps } from '@contractspec/lib.ui-kit-core/interfaces';
2
- export interface DateRange extends SharedDateRange {
3
- }
4
- export interface DateRangePickerProps extends SharedDateRangePickerProps {
5
- }
6
- export declare function DateRangePicker({ value, onChange, disabled, minDate, maxDate, className, }: DateRangePickerProps): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +0,0 @@
1
- // @bun
2
- var f=import.meta.require;import{cn as P}from"@contractspec/lib.ui-kit-core/utils";import{Slot as V}from"@radix-ui/react-slot";import{cva as D}from"class-variance-authority";import*as w from"react";import{jsx as y}from"react/jsx-runtime";var S=D("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"}}),Z=w.forwardRef(({className:F,variant:M,size:G,asChild:J=!1,...Q},U)=>{return y(J?V:"button",{ref:U,"data-slot":"button",className:P(S({variant:M,size:G,className:F})),...Q})});Z.displayName="Button";import{cn as q}from"@contractspec/lib.ui-kit-core/utils";import{ChevronDownIcon as h,ChevronLeftIcon as g,ChevronRightIcon as b}from"lucide-react";import*as z from"react";import{DayPicker as j,getDefaultClassNames as I}from"react-day-picker";import{jsx as X}from"react/jsx-runtime";function R({className:F,classNames:M,showOutsideDays:G=!0,captionLayout:J="label",buttonVariant:Q="ghost",formatters:U,components:A,...T}){let E=I();return X(j,{showOutsideDays:G,className:q("group/calendar bg-background in-data-[slot=card-content]:bg-transparent in-data-[slot=popover-content]:bg-transparent p-3 [--cell-size:--spacing(8)]",String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,F),captionLayout:J,formatters:{formatMonthDropdown:(H)=>H.toLocaleString("default",{month:"short"}),...U},classNames:{root:q("w-fit",E.root),months:q("relative flex flex-col gap-4 md:flex-row",E.months),month:q("flex w-full flex-col gap-4",E.month),nav:q("absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1",E.nav),button_previous:q(S({variant:Q}),"size-(--cell-size) select-none p-0 aria-disabled:opacity-50",E.button_previous),button_next:q(S({variant:Q}),"size-(--cell-size) select-none p-0 aria-disabled:opacity-50",E.button_next),month_caption:q("flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)",E.month_caption),dropdowns:q("flex h-(--cell-size) w-full items-center justify-center gap-1.5 font-medium text-sm",E.dropdowns),dropdown_root:q("relative rounded-md border border-input shadow-2xs has-focus:border-ring has-focus:ring-[3px] has-focus:ring-ring/50",E.dropdown_root),dropdown:q("absolute inset-0 bg-popover opacity-0",E.dropdown),caption_label:q("select-none font-medium",J==="label"?"text-sm":"flex h-8 items-center gap-1 rounded-md pr-1 pl-2 text-sm [&>svg]:size-3.5 [&>svg]:text-muted-foreground",E.caption_label),table:"w-full border-collapse",weekdays:q("flex",E.weekdays),weekday:q("flex-1 select-none rounded-md font-normal text-[0.8rem] text-muted-foreground",E.weekday),week:q("mt-2 flex w-full",E.week),week_number_header:q("w-(--cell-size) select-none",E.week_number_header),week_number:q("select-none text-[0.8rem] text-muted-foreground",E.week_number),day:q("group/day relative aspect-square h-full w-full select-none p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md",E.day),range_start:q("rounded-l-md bg-accent",E.range_start),range_middle:q("rounded-none",E.range_middle),range_end:q("rounded-r-md bg-accent",E.range_end),today:q("rounded-md bg-accent text-accent-foreground data-[selected=true]:rounded-none",E.today),outside:q("text-muted-foreground aria-selected:text-muted-foreground",E.outside),disabled:q("text-muted-foreground opacity-50",E.disabled),hidden:q("invisible",E.hidden),...M},components:{Root:({className:H,rootRef:W,...Y})=>{return X("div",{"data-slot":"calendar",ref:W,className:q(H),...Y})},Chevron:({className:H,orientation:W,...Y})=>{if(W==="left")return X(g,{className:q("size-4",H),...Y});if(W==="right")return X(b,{className:q("size-4",H),...Y});return X(h,{className:q("size-4",H),...Y})},DayButton:x,WeekNumber:({children:H,...W})=>{return X("td",{...W,children:X("div",{className:"flex size-(--cell-size) items-center justify-center text-center",children:H})})},...A},...T})}function x({className:F,day:M,modifiers:G,...J}){let Q=I(),U=z.useRef(null);return z.useEffect(()=>{if(G.focused)U.current?.focus()},[G.focused]),X(Z,{ref:U,variant:"ghost",size:"icon","data-day":M.date.toLocaleDateString(),"data-selected-single":G.selected&&!G.range_start&&!G.range_end&&!G.range_middle,"data-range-start":G.range_start,"data-range-end":G.range_end,"data-range-middle":G.range_middle,className:q("flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 font-normal leading-none data-[range-end=true]:rounded-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-start=true]:rounded-l-md data-[range-end=true]:bg-primary data-[range-middle=true]:bg-accent data-[range-start=true]:bg-primary data-[selected-single=true]:bg-primary data-[range-end=true]:text-primary-foreground data-[range-middle=true]:text-accent-foreground data-[range-start=true]:text-primary-foreground data-[selected-single=true]:text-primary-foreground group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-[3px] group-data-[focused=true]/day:ring-ring/50 dark:hover:text-accent-foreground [&>span]:text-xs [&>span]:opacity-70",Q.day,F),...J})}import{cn as v}from"@contractspec/lib.ui-kit-core/utils";import*as K from"@radix-ui/react-popover";import{jsx as _}from"react/jsx-runtime";function L({...F}){return _(K.Root,{"data-slot":"popover",...F})}function O({...F}){return _(K.Trigger,{"data-slot":"popover-trigger",...F})}function k({className:F,align:M="center",sideOffset:G=4,...J}){return _(K.Portal,{children:_(K.Content,{"data-slot":"popover-content",align:M,sideOffset:G,className:v("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 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden data-[state=closed]:animate-out data-[state=open]:animate-in",F),...J})})}function qq({...F}){return _(K.Anchor,{"data-slot":"popover-anchor",...F})}import{cn as C}from"@contractspec/lib.ui-kit-core/utils";import*as B from"react";import{jsx as $,jsxs as N}from"react/jsx-runtime";function Mq({value:F,onChange:M,disabled:G,minDate:J,maxDate:Q,className:U}){let[A,T]=B.useState(!1);return N(L,{open:A,onOpenChange:T,children:[$(O,{asChild:!0,children:$(Z,{type:"button",variant:"outline",disabled:G,className:C("w-full justify-start text-left font-normal",U),children:F.start&&F.end?`${F.start.toLocaleDateString()} - ${F.end.toLocaleDateString()}`:$("span",{className:"opacity-50",children:"Select date range"})})}),$(k,{className:"w-auto p-0",align:"start",children:$(R,{mode:"range",selected:F.start&&F.end?{from:F.start,to:F.end}:void 0,onSelect:(E)=>{let H=E?.from??null,W=E?.to??null;M({start:H,end:W})},fromDate:J,toDate:Q,numberOfMonths:2,initialFocus:!0})})]})}export{Mq as DateRangePicker};
@@ -1,6 +0,0 @@
1
- import type { SharedDateTimePickerProps } from '@contractspec/lib.ui-kit-core/interfaces';
2
- export interface DateTimePickerProps extends SharedDateTimePickerProps {
3
- datePlaceholder?: string;
4
- timePlaceholder?: string;
5
- }
6
- export declare function DateTimePicker({ value, onChange, disabled, minDate, maxDate, datePlaceholder, timePlaceholder, is24Hour, className, }: DateTimePickerProps): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +0,0 @@
1
- // @bun
2
- var Uq=import.meta.require;import{cn as c}from"@contractspec/lib.ui-kit-core/utils";import{Slot as i}from"@radix-ui/react-slot";import{cva as r}from"class-variance-authority";import*as j from"react";import{jsx as n}from"react/jsx-runtime";var k=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"}}),w=j.forwardRef(({className:q,variant:J,size:G,asChild:K=!1,...Y},_)=>{return n(K?i:"button",{ref:_,"data-slot":"button",className:c(k({variant:J,size:G,className:q})),...Y})});w.displayName="Button";import{cn as l}from"@contractspec/lib.ui-kit-core/utils";import{jsx as o}from"react/jsx-runtime";function C({className:q,type:J,ref:G,...K}){return o("input",{ref:G,type:J,"data-slot":"input",className:l("h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs outline-none transition-[color,box-shadow] selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:font-medium file:text-foreground file:text-sm placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30","focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50","aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40",q),...K})}import{cn as F}from"@contractspec/lib.ui-kit-core/utils";import{ChevronDownIcon as t,ChevronLeftIcon as s,ChevronRightIcon as a}from"lucide-react";import*as V from"react";import{DayPicker as e,getDefaultClassNames as N}from"react-day-picker";import{jsx as M}from"react/jsx-runtime";function v({className:q,classNames:J,showOutsideDays:G=!0,captionLayout:K="label",buttonVariant:Y="ghost",formatters:_,components:W,...z}){let E=N();return M(e,{showOutsideDays:G,className:F("group/calendar bg-background in-data-[slot=card-content]:bg-transparent in-data-[slot=popover-content]:bg-transparent p-3 [--cell-size:--spacing(8)]",String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,q),captionLayout:K,formatters:{formatMonthDropdown:(U)=>U.toLocaleString("default",{month:"short"}),..._},classNames:{root:F("w-fit",E.root),months:F("relative flex flex-col gap-4 md:flex-row",E.months),month:F("flex w-full flex-col gap-4",E.month),nav:F("absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1",E.nav),button_previous:F(k({variant:Y}),"size-(--cell-size) select-none p-0 aria-disabled:opacity-50",E.button_previous),button_next:F(k({variant:Y}),"size-(--cell-size) select-none p-0 aria-disabled:opacity-50",E.button_next),month_caption:F("flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)",E.month_caption),dropdowns:F("flex h-(--cell-size) w-full items-center justify-center gap-1.5 font-medium text-sm",E.dropdowns),dropdown_root:F("relative rounded-md border border-input shadow-2xs has-focus:border-ring has-focus:ring-[3px] has-focus:ring-ring/50",E.dropdown_root),dropdown:F("absolute inset-0 bg-popover opacity-0",E.dropdown),caption_label:F("select-none font-medium",K==="label"?"text-sm":"flex h-8 items-center gap-1 rounded-md pr-1 pl-2 text-sm [&>svg]:size-3.5 [&>svg]:text-muted-foreground",E.caption_label),table:"w-full border-collapse",weekdays:F("flex",E.weekdays),weekday:F("flex-1 select-none rounded-md font-normal text-[0.8rem] text-muted-foreground",E.weekday),week:F("mt-2 flex w-full",E.week),week_number_header:F("w-(--cell-size) select-none",E.week_number_header),week_number:F("select-none text-[0.8rem] text-muted-foreground",E.week_number),day:F("group/day relative aspect-square h-full w-full select-none p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md",E.day),range_start:F("rounded-l-md bg-accent",E.range_start),range_middle:F("rounded-none",E.range_middle),range_end:F("rounded-r-md bg-accent",E.range_end),today:F("rounded-md bg-accent text-accent-foreground data-[selected=true]:rounded-none",E.today),outside:F("text-muted-foreground aria-selected:text-muted-foreground",E.outside),disabled:F("text-muted-foreground opacity-50",E.disabled),hidden:F("invisible",E.hidden),...J},components:{Root:({className:U,rootRef:Z,...Q})=>{return M("div",{"data-slot":"calendar",ref:Z,className:F(U),...Q})},Chevron:({className:U,orientation:Z,...Q})=>{if(Z==="left")return M(s,{className:F("size-4",U),...Q});if(Z==="right")return M(a,{className:F("size-4",U),...Q});return M(t,{className:F("size-4",U),...Q})},DayButton:qq,WeekNumber:({children:U,...Z})=>{return M("td",{...Z,children:M("div",{className:"flex size-(--cell-size) items-center justify-center text-center",children:U})})},...W},...z})}function qq({className:q,day:J,modifiers:G,...K}){let Y=N(),_=V.useRef(null);return V.useEffect(()=>{if(G.focused)_.current?.focus()},[G.focused]),M(w,{ref:_,variant:"ghost",size:"icon","data-day":J.date.toLocaleDateString(),"data-selected-single":G.selected&&!G.range_start&&!G.range_end&&!G.range_middle,"data-range-start":G.range_start,"data-range-end":G.range_end,"data-range-middle":G.range_middle,className:F("flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 font-normal leading-none data-[range-end=true]:rounded-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-start=true]:rounded-l-md data-[range-end=true]:bg-primary data-[range-middle=true]:bg-accent data-[range-start=true]:bg-primary data-[selected-single=true]:bg-primary data-[range-end=true]:text-primary-foreground data-[range-middle=true]:text-accent-foreground data-[range-start=true]:text-primary-foreground data-[selected-single=true]:text-primary-foreground group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-[3px] group-data-[focused=true]/day:ring-ring/50 dark:hover:text-accent-foreground [&>span]:text-xs [&>span]:opacity-70",Y.day,q),...K})}import{cn as Eq}from"@contractspec/lib.ui-kit-core/utils";import*as $ from"@radix-ui/react-popover";import{jsx as H}from"react/jsx-runtime";function y({...q}){return H($.Root,{"data-slot":"popover",...q})}function P({...q}){return H($.Trigger,{"data-slot":"popover-trigger",...q})}function g({className:q,align:J="center",sideOffset:G=4,...K}){return H($.Portal,{children:H($.Content,{"data-slot":"popover-content",align:J,sideOffset:G,className:Eq("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 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden data-[state=closed]:animate-out data-[state=open]:animate-in",q),...K})})}function Tq({...q}){return H($.Anchor,{"data-slot":"popover-anchor",...q})}import{cn as f}from"@contractspec/lib.ui-kit-core/utils";import{CalendarIcon as Fq}from"lucide-react";import*as I from"react";import{jsx as L,jsxs as x}from"react/jsx-runtime";function p({value:q,onChange:J,disabled:G,minDate:K,maxDate:Y,placeholder:_="Select date",className:W,language:z}){let[E,U]=I.useState(!1),[Z,Q]=I.useState(q??new Date),[A,S]=I.useState(B(q));I.useEffect(()=>{if(S(B(q)),q)Q(q)},[q]);function B(X){if(!X)return"";return X.toLocaleDateString(z,{day:"2-digit",month:"long",year:"numeric"})}function D(X){if(!X)return!1;return!isNaN(X.getTime())}function O(X){if(K&&X<K)return!1;if(Y&&X>Y)return!1;return!0}return x(y,{open:E,onOpenChange:U,children:[x("div",{className:f("relative w-full",W),children:[L(C,{value:A,placeholder:_,onChange:(X)=>{let h=X.currentTarget.value;S(h);let T=new Date(h);if(D(T)&&O(T))J(T),Q(T)},onKeyDown:(X)=>{if(X.key==="ArrowDown")X.preventDefault(),U(!0)},disabled:G,className:f("pr-10")}),L(P,{asChild:!0,children:L(w,{type:"button",variant:"ghost",size:"icon",className:"absolute top-1/2 right-1 -translate-y-1/2",disabled:G,"aria-label":"Open date picker",children:L(Fq,{className:"size-4"})})})]}),L(g,{className:"w-auto overflow-hidden p-0",align:"end",sideOffset:10,alignOffset:-8,children:L(v,{mode:"single",selected:q??void 0,captionLayout:"dropdown",month:Z,onMonthChange:Q,onSelect:(X)=>{if(J(X??null),S(B(X??null)),X)U(!1)},fromDate:K,toDate:Y,initialFocus:!0})})]})}import{cn as Gq}from"@contractspec/lib.ui-kit-core/utils";import*as b from"react";import{jsx as R,jsxs as m}from"react/jsx-runtime";function Jq(q,J){if(!q)return"";return q.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",hour12:!J})}function d({value:q,onChange:J,disabled:G,placeholder:K="Select time",is24Hour:Y=!0,className:_}){let[W,z]=b.useState(!1),[E,U]=b.useState(()=>q?String(q.getHours()).padStart(2,"0"):""),[Z,Q]=b.useState(()=>q?String(q.getMinutes()).padStart(2,"0"):""),A=(S,B)=>{let O=new Date(q??new Date);O.setHours(S,B,0,0),J(O),z(!1)};return m(y,{open:W,onOpenChange:z,children:[R(P,{asChild:!0,children:R(w,{type:"button",variant:"outline",disabled:G,className:Gq("w-full justify-start text-left font-normal",_),children:q?Jq(q,Y):R("span",{className:"opacity-50",children:K})})}),R(g,{className:"w-56",align:"start",children:m("div",{className:"flex items-center gap-2",children:[R("input",{type:"number",min:0,max:Y?23:12,value:E,onChange:(S)=>U(S.target.value),className:"w-16 rounded-md border border-input bg-background px-2 py-1 text-center"}),R("span",{children:":"}),R("input",{type:"number",min:0,max:59,value:Z,onChange:(S)=>Q(S.target.value),className:"w-16 rounded-md border border-input bg-background px-2 py-1 text-center"}),R(w,{type:"button",onClick:()=>A(Number(E||0),Number(Z||0)),className:"ml-auto",children:"Set"})]})})]})}import{cn as Kq}from"@contractspec/lib.ui-kit-core/utils";import{jsx as u,jsxs as Qq}from"react/jsx-runtime";function cq({value:q,onChange:J,disabled:G,minDate:K,maxDate:Y,datePlaceholder:_,timePlaceholder:W,is24Hour:z,className:E}){let U=(Q)=>{if(!Q)return;let A=new Date(Q);if(q)A.setHours(q.getHours(),q.getMinutes(),0,0);J(A)},Z=(Q)=>{if(!Q)return;let A=new Date(q??new Date);A.setHours(Q.getHours(),Q.getMinutes(),0,0),J(A)};return Qq("div",{className:Kq("flex w-full min-w-0 gap-2",E),children:[u(p,{value:q,onChange:U,disabled:G,minDate:K,maxDate:Y,placeholder:_,className:"min-w-0 flex-1 shrink"}),u(d,{value:q,onChange:Z,disabled:G,is24Hour:z,placeholder:W,className:"min-w-0 flex-1 shrink"})]})}export{cq as DateTimePicker};
@@ -1,15 +0,0 @@
1
- import * as DialogPrimitive from '@radix-ui/react-dialog';
2
- import * as React from 'react';
3
- declare function Dialog({ ...props }: React.ComponentProps<typeof DialogPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
- declare function DialogTrigger({ ...props }: React.ComponentProps<typeof DialogPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
5
- declare function DialogPortal({ ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>): import("react/jsx-runtime").JSX.Element;
6
- declare function DialogClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Close>): import("react/jsx-runtime").JSX.Element;
7
- declare function DialogOverlay({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Overlay>): import("react/jsx-runtime").JSX.Element;
8
- declare function DialogContent({ className, children, showCloseButton, ...props }: React.ComponentProps<typeof DialogPrimitive.Content> & {
9
- showCloseButton?: boolean;
10
- }): import("react/jsx-runtime").JSX.Element;
11
- declare function DialogHeader({ className, ...props }: React.ComponentPropsWithoutRef<'div'>): import("react/jsx-runtime").JSX.Element;
12
- declare function DialogFooter({ className, ...props }: React.ComponentPropsWithoutRef<'div'>): import("react/jsx-runtime").JSX.Element;
13
- declare function DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>): import("react/jsx-runtime").JSX.Element;
14
- declare function DialogDescription({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Description>): import("react/jsx-runtime").JSX.Element;
15
- export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, };
package/dist/ui/dialog.js DELETED
@@ -1,2 +0,0 @@
1
- // @bun
2
- var R=import.meta.require;import{cn as E}from"@contractspec/lib.ui-kit-core/utils";import*as q from"@radix-ui/react-dialog";import{XIcon as L}from"lucide-react";import{jsx as z,jsxs as G}from"react/jsx-runtime";function W({...f}){return z(q.Root,{"data-slot":"dialog",...f})}function Y({...f}){return z(q.Trigger,{"data-slot":"dialog-trigger",...f})}function M({...f}){return z(q.Portal,{"data-slot":"dialog-portal",...f})}function Z({...f}){return z(q.Close,{"data-slot":"dialog-close",...f})}function Q({className:f,...A}){return z(q.Overlay,{"data-slot":"dialog-overlay",className:E("data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=open]:animate-in",f),...A})}function _({className:f,children:A,showCloseButton:J=!0,...K}){return G(M,{"data-slot":"dialog-portal",children:[z(Q,{}),G(q.Content,{"data-slot":"dialog-content",className:E("data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 data-[state=closed]:animate-out data-[state=open]:animate-in sm:max-w-lg",f),...K,children:[A,J&&G(q.Close,{"data-slot":"dialog-close",className:"absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",children:[z(L,{}),z("span",{className:"sr-only",children:"Close"})]})]})]})}function $({className:f,...A}){return z("div",{"data-slot":"dialog-header",className:E("flex flex-col gap-2 text-center sm:text-left",f),...A})}function b({className:f,...A}){return z("div",{"data-slot":"dialog-footer",className:E("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",f),...A})}function k({className:f,...A}){return z(q.Title,{"data-slot":"dialog-title",className:E("font-semibold text-lg leading-none",f),...A})}function F({className:f,...A}){return z(q.Description,{"data-slot":"dialog-description",className:E("text-muted-foreground text-sm",f),...A})}export{Y as DialogTrigger,k as DialogTitle,M as DialogPortal,Q as DialogOverlay,$ as DialogHeader,b as DialogFooter,F as DialogDescription,_ as DialogContent,Z as DialogClose,W as Dialog};
@@ -1,9 +0,0 @@
1
- import * as React from 'react';
2
- type Direction = 'ltr' | 'rtl';
3
- export interface DirectionProviderProps {
4
- children: React.ReactNode;
5
- dir?: Direction;
6
- }
7
- export declare function DirectionProvider({ children, dir, }: DirectionProviderProps): import("react/jsx-runtime").JSX.Element;
8
- export declare function useDirection(): Direction;
9
- export {};
@@ -1,2 +0,0 @@
1
- // @bun
2
- var n=import.meta.require;import*as e from"react";import{jsx as o}from"react/jsx-runtime";var t=e.createContext("ltr");function D({children:r,dir:i="ltr"}){return o(t.Provider,{value:i,children:r})}function a(){return e.useContext(t)}export{a as useDirection,D as DirectionProvider};
@@ -1,13 +0,0 @@
1
- import * as React from 'react';
2
- import { Drawer as DrawerPrimitive } from 'vaul';
3
- declare function Drawer({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
- declare function DrawerTrigger({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
5
- declare function DrawerPortal({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Portal>): import("react/jsx-runtime").JSX.Element;
6
- declare function DrawerClose({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Close>): import("react/jsx-runtime").JSX.Element;
7
- declare function DrawerOverlay({ className, ...props }: React.ComponentProps<typeof DrawerPrimitive.Overlay>): import("react/jsx-runtime").JSX.Element;
8
- declare function DrawerContent({ className, children, ...props }: React.ComponentProps<typeof DrawerPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
9
- declare function DrawerHeader({ className, ...props }: React.ComponentPropsWithoutRef<'div'>): import("react/jsx-runtime").JSX.Element;
10
- declare function DrawerFooter({ className, ...props }: React.ComponentPropsWithoutRef<'div'>): import("react/jsx-runtime").JSX.Element;
11
- declare function DrawerTitle({ className, ...props }: React.ComponentProps<typeof DrawerPrimitive.Title>): import("react/jsx-runtime").JSX.Element;
12
- declare function DrawerDescription({ className, ...props }: React.ComponentProps<typeof DrawerPrimitive.Description>): import("react/jsx-runtime").JSX.Element;
13
- export { Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, };
package/dist/ui/drawer.js DELETED
@@ -1,2 +0,0 @@
1
- // @bun
2
- var K=import.meta.require;import{cn as B}from"@contractspec/lib.ui-kit-core/utils";import{Drawer as A}from"vaul";import{jsx as z,jsxs as E}from"react/jsx-runtime";function R({...f}){return z(A.Root,{"data-slot":"drawer",...f})}function S({...f}){return z(A.Trigger,{"data-slot":"drawer-trigger",...f})}function I({...f}){return z(A.Portal,{"data-slot":"drawer-portal",...f})}function U({...f}){return z(A.Close,{"data-slot":"drawer-close",...f})}function J({className:f,...q}){return z(A.Overlay,{"data-slot":"drawer-overlay",className:B("data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=open]:animate-in",f),...q})}function V({className:f,children:q,...G}){return E(I,{"data-slot":"drawer-portal",children:[z(J,{}),E(A.Content,{"data-slot":"drawer-content",className:B("group/drawer-content fixed z-50 flex h-auto flex-col bg-background","data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-lg data-[vaul-drawer-direction=top]:border-b","data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-lg data-[vaul-drawer-direction=bottom]:border-t","data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:border-l sm:data-[vaul-drawer-direction=right]:max-w-sm","data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:border-r sm:data-[vaul-drawer-direction=left]:max-w-sm",f),...G,children:[z("div",{className:"mx-auto mt-4 hidden h-2 w-[100px] shrink-0 rounded-full bg-muted group-data-[vaul-drawer-direction=bottom]/drawer-content:block"}),q]})]})}function W({className:f,...q}){return z("div",{"data-slot":"drawer-header",className:B("flex flex-col gap-0.5 p-4 group-data-[vaul-drawer-direction=bottom]/drawer-content:text-center group-data-[vaul-drawer-direction=top]/drawer-content:text-center md:gap-1.5 md:text-left",f),...q})}function X({className:f,...q}){return z("div",{"data-slot":"drawer-footer",className:B("mt-auto flex flex-col gap-2 p-4",f),...q})}function Y({className:f,...q}){return z(A.Title,{"data-slot":"drawer-title",className:B("font-semibold text-foreground",f),...q})}function Z({className:f,...q}){return z(A.Description,{"data-slot":"drawer-description",className:B("text-muted-foreground text-sm",f),...q})}export{S as DrawerTrigger,Y as DrawerTitle,I as DrawerPortal,J as DrawerOverlay,W as DrawerHeader,X as DrawerFooter,Z as DrawerDescription,V as DrawerContent,U as DrawerClose,R as Drawer};
@@ -1,25 +0,0 @@
1
- import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
2
- import * as React from 'react';
3
- declare function DropdownMenu({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
- declare function DropdownMenuPortal({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>): import("react/jsx-runtime").JSX.Element;
5
- declare function DropdownMenuTrigger({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
6
- declare function DropdownMenuContent({ className, sideOffset, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
7
- declare function DropdownMenuGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>): import("react/jsx-runtime").JSX.Element;
8
- declare function DropdownMenuItem({ className, inset, variant, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {
9
- inset?: boolean;
10
- variant?: 'default' | 'destructive';
11
- }): import("react/jsx-runtime").JSX.Element;
12
- declare function DropdownMenuCheckboxItem({ className, children, checked, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>): import("react/jsx-runtime").JSX.Element;
13
- declare function DropdownMenuRadioGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>): import("react/jsx-runtime").JSX.Element;
14
- declare function DropdownMenuRadioItem({ className, children, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>): import("react/jsx-runtime").JSX.Element;
15
- declare function DropdownMenuLabel({ className, inset, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {
16
- inset?: boolean;
17
- }): import("react/jsx-runtime").JSX.Element;
18
- declare function DropdownMenuSeparator({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>): import("react/jsx-runtime").JSX.Element;
19
- declare function DropdownMenuShortcut({ className, ...props }: React.ComponentPropsWithoutRef<'span'>): import("react/jsx-runtime").JSX.Element;
20
- declare function DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>): import("react/jsx-runtime").JSX.Element;
21
- declare function DropdownMenuSubTrigger({ className, inset, children, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {
22
- inset?: boolean;
23
- }): import("react/jsx-runtime").JSX.Element;
24
- declare function DropdownMenuSubContent({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>): import("react/jsx-runtime").JSX.Element;
25
- export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, };
@@ -1,2 +0,0 @@
1
- // @bun
2
- var U=import.meta.require;import{cn as E}from"@contractspec/lib.ui-kit-core/utils";import*as q from"@radix-ui/react-dropdown-menu";import{CheckIcon as J,ChevronRightIcon as K,CircleIcon as Q}from"lucide-react";import{jsx as z,jsxs as H}from"react/jsx-runtime";function Y({...y}){return z(q.Root,{"data-slot":"dropdown-menu",...y})}function Z({...y}){return z(q.Portal,{"data-slot":"dropdown-menu-portal",...y})}function _({...y}){return z(q.Trigger,{"data-slot":"dropdown-menu-trigger",...y})}function $({className:y,sideOffset:A=4,...B}){return z(q.Portal,{children:z(q.Content,{"data-slot":"dropdown-menu-content",sideOffset:A,className:E("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 max-h-(--radix-dropdown-menu-content-available-height) min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=closed]:animate-out data-[state=open]:animate-in",y),...B})})}function L({...y}){return z(q.Group,{"data-slot":"dropdown-menu-group",...y})}function P({className:y,inset:A,variant:B="default",...F}){return z(q.Item,{"data-slot":"dropdown-menu-item","data-inset":A,"data-variant":B,className:E("relative flex cursor-default select-none items-center gap-2 rounded-xs px-2 py-1.5 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-inset:pl-8 data-[variant=destructive]:text-destructive data-disabled:opacity-50 data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 data-[variant=destructive]:*:[svg]:text-destructive!",y),...F})}function G({className:y,children:A,checked:B,...F}){return H(q.CheckboxItem,{"data-slot":"dropdown-menu-checkbox-item",className:E("relative flex cursor-default select-none items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",y),checked:B,...F,children:[z("span",{className:"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",children:z(q.ItemIndicator,{children:z(J,{className:"size-4"})})}),A]})}function O({...y}){return z(q.RadioGroup,{"data-slot":"dropdown-menu-radio-group",...y})}function T({className:y,children:A,...B}){return H(q.RadioItem,{"data-slot":"dropdown-menu-radio-item",className:E("relative flex cursor-default select-none items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",y),...B,children:[z("span",{className:"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",children:z(q.ItemIndicator,{children:z(Q,{className:"size-2 fill-current"})})}),A]})}function v({className:y,inset:A,...B}){return z(q.Label,{"data-slot":"dropdown-menu-label","data-inset":A,className:E("px-2 py-1.5 font-medium text-sm data-inset:pl-8",y),...B})}function R({className:y,...A}){return z(q.Separator,{"data-slot":"dropdown-menu-separator",className:E("-mx-1 my-1 h-px bg-border",y),...A})}function f({className:y,...A}){return z("span",{"data-slot":"dropdown-menu-shortcut",className:E("ml-auto text-muted-foreground text-xs tracking-widest",y),...A})}function g({...y}){return z(q.Sub,{"data-slot":"dropdown-menu-sub",...y})}function k({className:y,inset:A,children:B,...F}){return H(q.SubTrigger,{"data-slot":"dropdown-menu-sub-trigger","data-inset":A,className:E("flex cursor-default select-none items-center rounded-xs px-2 py-1.5 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-inset:pl-8 data-[state=open]:text-accent-foreground",y),...F,children:[B,z(K,{className:"ml-auto size-4"})]})}function S({className:y,...A}){return z(q.SubContent,{"data-slot":"dropdown-menu-sub-content",className:E("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-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=closed]:animate-out data-[state=open]:animate-in",y),...A})}export{_ as DropdownMenuTrigger,k as DropdownMenuSubTrigger,S as DropdownMenuSubContent,g as DropdownMenuSub,f as DropdownMenuShortcut,R as DropdownMenuSeparator,T as DropdownMenuRadioItem,O as DropdownMenuRadioGroup,Z as DropdownMenuPortal,v as DropdownMenuLabel,P as DropdownMenuItem,L as DropdownMenuGroup,$ as DropdownMenuContent,G as DropdownMenuCheckboxItem,Y as DropdownMenu};
@@ -1,9 +0,0 @@
1
- import type { SharedEmptyStateProps } from '@contractspec/lib.ui-kit-core/interfaces';
2
- import { type VariantProps } from 'class-variance-authority';
3
- declare const containerVariants: (props?: ({
4
- density?: "default" | "compact" | null | undefined;
5
- } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
- export interface EmptyStateProps extends SharedEmptyStateProps, VariantProps<typeof containerVariants> {
7
- }
8
- export declare function EmptyState({ icon, title, description, primaryAction, secondaryAction, className, density, }: EmptyStateProps): import("react/jsx-runtime").JSX.Element;
9
- export {};
@@ -1,2 +0,0 @@
1
- // @bun
2
- var Z=import.meta.require;import{cn as K}from"@contractspec/lib.ui-kit-core/utils";import{cva as L}from"class-variance-authority";import{jsx as M}from"react/jsx-runtime";var R=L("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 P({className:q,gap:E,align:z,justify:C,as:D="div",ref:F,...G}){return M(D,{ref:F,className:K(R({gap:E,align:z,justify:C}),q),...G})}var T=L("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 H({className:q,gap:E,align:z,justify:C,wrap:D,as:F="div",ref:G,...I}){return M(F,{ref:G,className:K(T({gap:E,align:z,justify:C,wrap:D}),q),...I})}var U=L("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 b({className:q,gap:E,align:z,justify:C,wrap:D,as:F="div",ref:G,...I}){return M(F,{ref:G,className:K(U({gap:E,align:z,justify:C,wrap:D}),q),...I})}import{cn as W}from"@contractspec/lib.ui-kit-core/utils";import{cva as X}from"class-variance-authority";import{jsx as J,jsxs as O}from"react/jsx-runtime";var Y=X("items-center text-center",{variants:{density:{compact:"gap-3 p-6",default:"gap-4 p-8"}},defaultVariants:{density:"default"}});function N({icon:q,title:E,description:z,primaryAction:C,secondaryAction:D,className:F,density:G}){return O(P,{className:W(Y({density:G}),F),children:[q?J("div",{className:"flex h-12 w-12 items-center justify-center rounded-full bg-muted",children:J("div",{className:"flex items-center justify-center text-muted-foreground",children:q})}):null,O("div",{children:[J("h3",{className:"font-medium",children:E}),z?J("p",{className:"text-base text-muted-foreground",children:z}):null]}),(C||D)&&O("div",{className:"flex items-center justify-center gap-2",children:[C,D]})]})}export{N as EmptyState};
@@ -1,12 +0,0 @@
1
- import { type VariantProps } from 'class-variance-authority';
2
- import type * as React from 'react';
3
- declare function Empty({ className, ...props }: React.ComponentPropsWithoutRef<'div'>): import("react/jsx-runtime").JSX.Element;
4
- declare function EmptyHeader({ className, ...props }: React.ComponentPropsWithoutRef<'div'>): import("react/jsx-runtime").JSX.Element;
5
- declare const emptyMediaVariants: (props?: ({
6
- variant?: "default" | "icon" | null | undefined;
7
- } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
- declare function EmptyMedia({ className, variant, ...props }: React.ComponentPropsWithoutRef<'div'> & VariantProps<typeof emptyMediaVariants>): import("react/jsx-runtime").JSX.Element;
9
- declare function EmptyTitle({ className, ...props }: React.ComponentPropsWithoutRef<'div'>): import("react/jsx-runtime").JSX.Element;
10
- declare function EmptyDescription({ className, ...props }: React.ComponentPropsWithoutRef<'p'>): import("react/jsx-runtime").JSX.Element;
11
- declare function EmptyContent({ className, ...props }: React.ComponentPropsWithoutRef<'div'>): import("react/jsx-runtime").JSX.Element;
12
- export { Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, };
package/dist/ui/empty.js DELETED
@@ -1,2 +0,0 @@
1
- // @bun
2
- var F=import.meta.require;import{cn as q}from"@contractspec/lib.ui-kit-core/utils";import{cva as A}from"class-variance-authority";import{jsx as w}from"react/jsx-runtime";function K({className:g,...f}){return w("div",{"data-slot":"empty",className:q("flex min-w-0 flex-1 flex-col items-center justify-center gap-6 text-balance rounded-lg border-dashed p-6 text-center md:p-12",g),...f})}function L({className:g,...f}){return w("div",{"data-slot":"empty-header",className:q("flex max-w-sm flex-col items-center gap-2 text-center",g),...f})}var B=A("mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0",{variants:{variant:{default:"bg-transparent",icon:"flex size-10 shrink-0 items-center justify-center rounded-lg bg-muted text-foreground [&_svg:not([class*='size-'])]:size-6"}},defaultVariants:{variant:"default"}});function O({className:g,variant:f="default",...z}){return w("div",{"data-slot":"empty-icon","data-variant":f,className:q(B({variant:f,className:g})),...z})}function P({className:g,...f}){return w("div",{"data-slot":"empty-title",className:q("font-medium text-lg tracking-tight",g),...f})}function Q({className:g,...f}){return w("p",{"data-slot":"empty-description",className:q("text-muted-foreground text-sm/relaxed [&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4",g),...f})}function R({className:g,...f}){return w("div",{"data-slot":"empty-content",className:q("flex w-full min-w-0 max-w-sm flex-col items-center gap-4 text-balance text-sm",g),...f})}export{P as EmptyTitle,O as EmptyMedia,L as EmptyHeader,Q as EmptyDescription,R as EmptyContent,K as Empty};
@@ -1,20 +0,0 @@
1
- import type { SharedFieldErrorProps, SharedFieldLegendProps, SharedFieldProps } from '@contractspec/lib.ui-kit-core/interfaces';
2
- import { type VariantProps } from 'class-variance-authority';
3
- import * as React from 'react';
4
- import { Label } from './label';
5
- declare function FieldSet({ className, ...props }: React.ComponentPropsWithoutRef<'fieldset'>): import("react/jsx-runtime").JSX.Element;
6
- declare function FieldLegend({ className, variant, ...props }: React.ComponentPropsWithoutRef<'legend'> & SharedFieldLegendProps): import("react/jsx-runtime").JSX.Element;
7
- declare function FieldGroup({ className, ...props }: React.ComponentPropsWithoutRef<'div'>): import("react/jsx-runtime").JSX.Element;
8
- declare const fieldVariants: (props?: ({
9
- orientation?: "horizontal" | "vertical" | "responsive" | null | undefined;
10
- } & import("class-variance-authority/types").ClassProp) | undefined) => string;
11
- declare function Field({ className, orientation, ...props }: React.ComponentPropsWithoutRef<'div'> & SharedFieldProps & VariantProps<typeof fieldVariants>): import("react/jsx-runtime").JSX.Element;
12
- declare function FieldContent({ className, ...props }: React.ComponentPropsWithoutRef<'div'>): import("react/jsx-runtime").JSX.Element;
13
- declare function FieldLabel({ className, ...props }: React.ComponentPropsWithoutRef<typeof Label>): import("react/jsx-runtime").JSX.Element;
14
- declare function FieldTitle({ className, ...props }: React.ComponentPropsWithoutRef<'div'>): import("react/jsx-runtime").JSX.Element;
15
- declare function FieldDescription({ className, ...props }: React.ComponentPropsWithoutRef<'p'>): import("react/jsx-runtime").JSX.Element;
16
- declare function FieldSeparator({ children, className, ...props }: React.ComponentPropsWithoutRef<'div'> & {
17
- children?: React.ReactNode;
18
- }): import("react/jsx-runtime").JSX.Element;
19
- declare function FieldError({ className, children, errors, ...props }: React.ComponentPropsWithoutRef<'div'> & SharedFieldErrorProps): import("react/jsx-runtime").JSX.Element | null;
20
- export { Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, };
package/dist/ui/field.js DELETED
@@ -1,2 +0,0 @@
1
- // @bun
2
- var f=import.meta.require;import{cn as U}from"@contractspec/lib.ui-kit-core/utils";import*as K from"@radix-ui/react-label";import{jsx as W}from"react/jsx-runtime";function M({className:w,...q}){return W(K.Root,{"data-slot":"label",className:U("flex select-none items-center gap-2 font-medium text-sm leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-50 group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50",w),...q})}import{cn as X}from"@contractspec/lib.ui-kit-core/utils";import*as O from"@radix-ui/react-separator";import{jsx as Y}from"react/jsx-runtime";function P({className:w,orientation:q="horizontal",decorative:z=!0,...H}){return Y(O.Root,{"data-slot":"separator",decorative:z,orientation:q,className:X("shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=vertical]:h-full data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px",w),...H})}import{cn as B}from"@contractspec/lib.ui-kit-core/utils";import{cva as Z}from"class-variance-authority";import*as Q from"react";import{jsx as A,jsxs as $}from"react/jsx-runtime";function v({className:w,...q}){return A("fieldset",{"data-slot":"field-set",className:B("flex flex-col gap-6","has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3",w),...q})}function b({className:w,variant:q="legend",...z}){return A("legend",{"data-slot":"field-legend","data-variant":q,className:B("mb-3 font-medium","data-[variant=legend]:text-base","data-[variant=label]:text-sm",w),...z})}function F({className:w,...q}){return A("div",{"data-slot":"field-group",className:B("group/field-group @container/field-group flex w-full flex-col gap-7 data-[slot=checkbox-group]:gap-3 data-[slot=field-group]:*:gap-4",w),...q})}var _=Z("group/field flex w-full gap-3 data-[invalid=true]:text-destructive",{variants:{orientation:{vertical:["flex-col *:w-full [&>.sr-only]:w-auto"],horizontal:["flex-row items-center","data-[slot=field-label]:*:flex-auto","has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"],responsive:["@md/field-group:flex-row flex-col @md/field-group:items-center *:w-full @md/field-group:*:w-auto [&>.sr-only]:w-auto","@md/field-group:data-[slot=field-label]:*:flex-auto","@md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"]}},defaultVariants:{orientation:"vertical"}});function h({className:w,orientation:q="vertical",...z}){return A("div",{role:"group","data-slot":"field","data-orientation":q,className:B(_({orientation:q}),w),...z})}function u({className:w,...q}){return A("div",{"data-slot":"field-content",className:B("group/field-content flex flex-1 flex-col gap-1.5 leading-snug",w),...q})}function j({className:w,...q}){return A(M,{"data-slot":"field-label",className:B("group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50","has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border *:data-[slot=field]:p-4","has-data-[state=checked]:border-primary has-data-[state=checked]:bg-primary/5 dark:has-data-[state=checked]:bg-primary/10",w),...q})}function x({className:w,...q}){return A("div",{"data-slot":"field-label",className:B("flex w-fit items-center gap-2 font-medium text-sm leading-snug group-data-[disabled=true]/field:opacity-50",w),...q})}function N({className:w,...q}){return A("p",{"data-slot":"field-description",className:B("font-normal text-muted-foreground text-sm leading-normal group-has-data-[orientation=horizontal]/field:text-balance","nth-last-2:-mt-1 last:mt-0 [[data-variant=legend]+&]:-mt-1.5","[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4",w),...q})}function m({children:w,className:q,...z}){return $("div",{"data-slot":"field-separator","data-content":!!w,className:B("relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2",q),...z,children:[A(P,{className:"absolute inset-0 top-1/2"}),w&&A("span",{className:"relative mx-auto block w-fit bg-background px-2 text-muted-foreground","data-slot":"field-separator-content",children:w})]})}function d({className:w,children:q,errors:z,...H}){let I=Q.useMemo(()=>{if(q)return q;if(!z?.length)return null;if(z?.length==1)return z[0]?.message;return A("ul",{className:"ml-4 flex list-disc flex-col gap-1",children:z.map((J,R)=>J?.message&&A("li",{children:J.message},R))})},[q,z]);if(!I)return null;return A("div",{role:"alert","data-slot":"field-error",className:B("font-normal text-destructive text-sm",w),...H,children:I})}export{x as FieldTitle,v as FieldSet,m as FieldSeparator,b as FieldLegend,j as FieldLabel,F as FieldGroup,d as FieldError,N as FieldDescription,u as FieldContent,h as Field};
@@ -1,3 +0,0 @@
1
- export declare function FocusOnRouteChange({ focusSelector, }: {
2
- focusSelector?: string;
3
- }): null;
@@ -1,2 +0,0 @@
1
- // @bun
2
- var o=import.meta.require;import*as t from"react";function u({focusSelector:n="h1, [data-page-title], #main"}){return t.useEffect(()=>{let e=document.querySelector(n);if(e)e.tabIndex=-1,e.focus()}),null}export{u as FocusOnRouteChange};
package/dist/ui/form.d.ts DELETED
@@ -1,26 +0,0 @@
1
- import * as LabelPrimitive from '@radix-ui/react-label';
2
- import { Slot } from '@radix-ui/react-slot';
3
- import * as React from 'react';
4
- import { type ControllerProps, type FieldPath, type FieldValues } from 'react-hook-form';
5
- export { zodResolver } from '@hookform/resolvers/zod';
6
- export { type FieldValues, type Resolver, type UseFormReturn, useFieldArray, useForm, } from 'react-hook-form';
7
- declare const Form: <TFieldValues extends FieldValues, TContext = any, TTransformedValues = TFieldValues>(props: import("react-hook-form").FormProviderProps<TFieldValues, TContext, TTransformedValues>) => React.JSX.Element;
8
- declare const FormField: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ ...props }: ControllerProps<TFieldValues, TName>) => import("react/jsx-runtime").JSX.Element;
9
- declare const useFormField: () => {
10
- invalid: boolean;
11
- isDirty: boolean;
12
- isTouched: boolean;
13
- isValidating: boolean;
14
- error?: import("react-hook-form").FieldError;
15
- id: string;
16
- name: string;
17
- formItemId: string;
18
- formDescriptionId: string;
19
- formMessageId: string;
20
- };
21
- declare function FormItem({ className, ...props }: React.ComponentPropsWithoutRef<'div'>): import("react/jsx-runtime").JSX.Element;
22
- declare function FormLabel({ className, ...props }: React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
23
- declare function FormControl({ ...props }: React.ComponentPropsWithoutRef<typeof Slot>): import("react/jsx-runtime").JSX.Element;
24
- declare function FormDescription({ className, ...props }: React.ComponentPropsWithoutRef<'p'>): import("react/jsx-runtime").JSX.Element;
25
- declare function FormMessage({ className, ...props }: React.ComponentPropsWithoutRef<'p'>): import("react/jsx-runtime").JSX.Element | null;
26
- export { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField, };
package/dist/ui/form.js DELETED
@@ -1,2 +0,0 @@
1
- // @bun
2
- var h=import.meta.require;import{cn as c}from"@contractspec/lib.ui-kit-core/utils";import*as d from"@radix-ui/react-label";import{jsx as p}from"react/jsx-runtime";function u({className:e,...t}){return p(d.Root,{"data-slot":"label",className:c("flex select-none items-center gap-2 font-medium text-sm leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-50 group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50",e),...t})}import{clsx as C}from"clsx";import{twMerge as V}from"tailwind-merge";function a(...e){return V(C(e))}import{Slot as R}from"@radix-ui/react-slot";import*as m from"react";import{Controller as x,FormProvider as I,useFormContext as P,useFormState as v}from"react-hook-form";import{zodResolver as J}from"@hookform/resolvers/zod";import{useFieldArray as O,useForm as Q}from"react-hook-form";import{jsx as n}from"react/jsx-runtime";var L=I,F=m.createContext({}),z=({...e})=>{return n(F.Provider,{value:{name:e.name},children:n(x,{...e})})},s=()=>{let e=m.useContext(F),t=m.useContext(f),{getFieldState:o}=P(),r=v({name:e.name}),i=o(e.name,r);if(!e)throw Error("useFormField should be used within <FormField>");let{id:l}=t;return{id:l,name:e.name,formItemId:`${l}-form-item`,formDescriptionId:`${l}-form-item-description`,formMessageId:`${l}-form-item-message`,...i}},f=m.createContext({});function A({className:e,...t}){let o=m.useId();return n(f.Provider,{value:{id:o},children:n("div",{"data-slot":"form-item",className:a("grid gap-2",e),...t})})}function E({className:e,...t}){let{error:o,formItemId:r}=s();return n(u,{"data-slot":"form-label","data-error":!!o,className:a("data-[error=true]:text-destructive",e),htmlFor:r,...t})}function U({...e}){let{error:t,formItemId:o,formDescriptionId:r,formMessageId:i}=s();return n(R,{"data-slot":"form-control",id:o,"aria-describedby":!t?`${r}`:`${r} ${i}`,"aria-invalid":!!t,...e})}function q({className:e,...t}){let{formDescriptionId:o}=s();return n("p",{"data-slot":"form-description",id:o,className:a("text-muted-foreground text-sm",e),...t})}function B({className:e,...t}){let{error:o,formMessageId:r}=s(),i=o?String(o?.message??""):t.children;if(!i)return null;return n("p",{"data-slot":"form-message",id:r,className:a("text-destructive text-sm",e),...t,children:i})}export{J as zodResolver,s as useFormField,Q as useForm,O as useFieldArray,B as FormMessage,E as FormLabel,A as FormItem,z as FormField,q as FormDescription,U as FormControl,L as Form};
@@ -1,6 +0,0 @@
1
- import * as HoverCardPrimitive from '@radix-ui/react-hover-card';
2
- import * as React from 'react';
3
- declare function HoverCard({ ...props }: React.ComponentProps<typeof HoverCardPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
- declare function HoverCardTrigger({ ...props }: React.ComponentProps<typeof HoverCardPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
5
- declare function HoverCardContent({ className, align, sideOffset, ...props }: React.ComponentProps<typeof HoverCardPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
6
- export { HoverCard, HoverCardContent, HoverCardTrigger };
@@ -1,2 +0,0 @@
1
- // @bun
2
- var E=import.meta.require;import{cn as D}from"@contractspec/lib.ui-kit-core/utils";import*as q from"@radix-ui/react-hover-card";import{jsx as y}from"react/jsx-runtime";function I({...w}){return y(q.Root,{"data-slot":"hover-card",...w})}function J({...w}){return y(q.Trigger,{"data-slot":"hover-card-trigger",...w})}function K({className:w,align:z="center",sideOffset:A=4,...B}){return y(q.Portal,{"data-slot":"hover-card-portal",children:y(q.Content,{"data-slot":"hover-card-content",align:z,sideOffset:A,className:D("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 w-64 origin-(--radix-hover-card-content-transform-origin) rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden data-[state=closed]:animate-out data-[state=open]:animate-in",w),...B})})}export{J as HoverCardTrigger,K as HoverCardContent,I as HoverCard};
@@ -1,18 +0,0 @@
1
- import { type VariantProps } from 'class-variance-authority';
2
- import * as React from 'react';
3
- import { Button } from './button';
4
- declare function InputGroup({ className, ...props }: React.ComponentPropsWithoutRef<'div'>): import("react/jsx-runtime").JSX.Element;
5
- declare const inputGroupAddonVariants: (props?: ({
6
- align?: "inline-end" | "inline-start" | "block-end" | "block-start" | null | undefined;
7
- } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
- declare function InputGroupAddon({ className, align, ...props }: React.ComponentPropsWithoutRef<'div'> & VariantProps<typeof inputGroupAddonVariants>): import("react/jsx-runtime").JSX.Element;
9
- declare const inputGroupButtonVariants: (props?: ({
10
- size?: "sm" | "xs" | "icon-xs" | "icon-sm" | null | undefined;
11
- } & import("class-variance-authority/types").ClassProp) | undefined) => string;
12
- declare function InputGroupButton({ className, type, variant, size, ...props }: Omit<React.ComponentProps<typeof Button>, 'size'> & VariantProps<typeof inputGroupButtonVariants>): import("react/jsx-runtime").JSX.Element;
13
- declare function InputGroupText({ className, ...props }: React.ComponentPropsWithoutRef<'span'>): import("react/jsx-runtime").JSX.Element;
14
- declare function InputGroupInput({ className, ref, ...props }: React.ComponentPropsWithoutRef<'input'> & {
15
- ref?: React.Ref<HTMLInputElement>;
16
- }): import("react/jsx-runtime").JSX.Element;
17
- declare function InputGroupTextarea({ className, ...props }: React.ComponentPropsWithoutRef<'textarea'>): import("react/jsx-runtime").JSX.Element;
18
- export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, };
@@ -1,2 +0,0 @@
1
- // @bun
2
- var h=import.meta.require;import{cn as R}from"@contractspec/lib.ui-kit-core/utils";import{Slot as U}from"@radix-ui/react-slot";import{cva as W}from"class-variance-authority";import*as L from"react";import{jsx as Y}from"react/jsx-runtime";var X=W("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"}}),K=L.forwardRef(({className:w,variant:q,size:E,asChild:D=!1,...J},Q)=>{return Y(D?U:"button",{ref:Q,"data-slot":"button",className:R(X({variant:q,size:E,className:w})),...J})});K.displayName="Button";import{cn as Z}from"@contractspec/lib.ui-kit-core/utils";import{jsx as _}from"react/jsx-runtime";function M({className:w,type:q,ref:E,...D}){return _("input",{ref:E,type:q,"data-slot":"input",className:Z("h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs outline-none transition-[color,box-shadow] selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:font-medium file:text-foreground file:text-sm placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30","focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50","aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40",w),...D})}import{cn as $}from"@contractspec/lib.ui-kit-core/utils";import{jsx as S}from"react/jsx-runtime";function O({className:w,...q}){return S("textarea",{"data-slot":"textarea",className:$("field-sizing-content flex min-h-16 w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-2xs outline-hidden transition-[color,box-shadow] placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:aria-invalid:ring-destructive/40",w),...q})}import{cn as F}from"@contractspec/lib.ui-kit-core/utils";import{cva as P}from"class-variance-authority";import{jsx as H}from"react/jsx-runtime";function u({className:w,...q}){return H("div",{"data-slot":"input-group",role:"group",className:F("group/input-group relative flex w-full items-center rounded-md border border-input shadow-xs outline-none transition-[color,box-shadow] dark:bg-input/30","h-9 min-w-0 has-[>textarea]:h-auto","has-[>[data-align=inline-start]]:[&>input]:pl-2","has-[>[data-align=inline-end]]:[&>input]:pr-2","has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-start]]:[&>input]:pb-3","has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3","has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-[3px] has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50","has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-destructive/20 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40",w),...q})}var A=P("flex h-auto cursor-text select-none items-center justify-center gap-2 py-1.5 font-medium text-muted-foreground text-sm group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4",{variants:{align:{"inline-start":"order-first pl-3 has-[>button]:ml-[-0.45rem] has-[>kbd]:ml-[-0.35rem]","inline-end":"order-last pr-3 has-[>button]:mr-[-0.45rem] has-[>kbd]:mr-[-0.35rem]","block-start":"order-first w-full justify-start px-3 pt-3 group-has-[>input]/input-group:pt-2.5 [.border-b]:pb-3","block-end":"order-last w-full justify-start px-3 pb-3 group-has-[>input]/input-group:pb-2.5 [.border-t]:pt-3"}},defaultVariants:{align:"inline-start"}});function o({className:w,align:q="inline-start",...E}){return H("div",{role:"group","data-slot":"input-group-addon","data-align":q,className:F(A({align:q}),w),onClick:(D)=>{if(D.target.closest("button"))return;D.currentTarget.parentElement?.querySelector("input")?.focus()},onKeyDown:(D)=>{if(D.key==="Enter"||D.key===" ")D.preventDefault(),D.currentTarget.parentElement?.querySelector("input")?.focus()},...E})}var C=P("flex items-center gap-2 text-sm shadow-none",{variants:{size:{xs:"h-6 gap-1 rounded-[calc(var(--radius)-5px)] px-2 has-[>svg]:px-2 [&>svg:not([class*='size-'])]:size-3.5",sm:"h-8 gap-1.5 rounded-md px-2.5 has-[>svg]:px-2.5","icon-xs":"size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0","icon-sm":"size-8 p-0 has-[>svg]:p-0"}},defaultVariants:{size:"xs"}});function i({className:w,type:q="button",variant:E="ghost",size:D="xs",...J}){return H(K,{type:q,"data-size":D,variant:E,className:F(C({size:D}),w),...J})}function n({className:w,...q}){return H("span",{className:F("flex items-center gap-2 text-muted-foreground text-sm [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none",w),...q})}function c({className:w,ref:q,...E}){return H(M,{ref:q,"data-slot":"input-group-control",className:F("flex-1 rounded-none border-0 bg-transparent shadow-none focus-visible:ring-0 dark:bg-transparent",w),...E})}function p({className:w,...q}){return H(O,{"data-slot":"input-group-control",className:F("flex-1 resize-none rounded-none border-0 bg-transparent py-3 shadow-none focus-visible:ring-0 dark:bg-transparent",w),...q})}export{p as InputGroupTextarea,n as InputGroupText,c as InputGroupInput,i as InputGroupButton,o as InputGroupAddon,u as InputGroup};