@contractspec/lib.ui-kit 1.57.0 → 1.59.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (480) hide show
  1. package/dist/browser/index.js +5 -0
  2. package/dist/browser/ui/accordion.js +160 -0
  3. package/dist/browser/ui/alert-dialog.js +205 -0
  4. package/dist/browser/ui/alert.js +85 -0
  5. package/dist/browser/ui/aspect-ratio.js +6 -0
  6. package/dist/browser/ui/atoms/FilterSelect/FilterSelect.js +527 -0
  7. package/dist/browser/ui/atoms/FilterSelect/index.js +527 -0
  8. package/dist/browser/ui/atoms/FilterSelect/types.js +0 -0
  9. package/dist/browser/ui/atoms/LoadingSpinner/LoadingSpinner.js +193 -0
  10. package/dist/browser/ui/atoms/LoadingSpinner/index.js +193 -0
  11. package/dist/browser/ui/atoms/Pagination/Pagination.js +442 -0
  12. package/dist/browser/ui/atoms/Pagination/index.js +442 -0
  13. package/dist/browser/ui/atoms/Pagination/types.js +0 -0
  14. package/dist/browser/ui/atoms/SearchInput/SearchInput.js +155 -0
  15. package/dist/browser/ui/atoms/SearchInput/index.js +155 -0
  16. package/dist/browser/ui/atoms/SearchInput/types.js +0 -0
  17. package/dist/browser/ui/avatar.js +37 -0
  18. package/dist/browser/ui/badge.js +28 -0
  19. package/dist/browser/ui/breadcrumb.js +102 -0
  20. package/dist/browser/ui/button.js +88 -0
  21. package/dist/browser/ui/card.js +90 -0
  22. package/dist/browser/ui/carousel.js +5 -0
  23. package/dist/browser/ui/checkbox.js +21 -0
  24. package/dist/browser/ui/collapsible.js +10 -0
  25. package/dist/browser/ui/command.js +5 -0
  26. package/dist/browser/ui/context-menu.js +214 -0
  27. package/dist/browser/ui/date-picker.js +85 -0
  28. package/dist/browser/ui/date-range-picker.js +348 -0
  29. package/dist/browser/ui/datetime-picker.js +439 -0
  30. package/dist/browser/ui/dialog.js +126 -0
  31. package/dist/browser/ui/dropdown-menu.js +218 -0
  32. package/dist/browser/ui/empty-state.js +411 -0
  33. package/dist/browser/ui/empty.js +71 -0
  34. package/dist/browser/ui/fab.js +141 -0
  35. package/dist/browser/ui/field.js +559 -0
  36. package/dist/browser/ui/form.js +150 -0
  37. package/dist/browser/ui/hover-card.js +57 -0
  38. package/dist/browser/ui/icons/Check.js +20 -0
  39. package/dist/browser/ui/icons/ChevronDown.js +20 -0
  40. package/dist/browser/ui/icons/ChevronRight.js +20 -0
  41. package/dist/browser/ui/icons/ChevronUp.js +20 -0
  42. package/dist/browser/ui/icons/CircleUser.js +20 -0
  43. package/dist/browser/ui/icons/Info.js +20 -0
  44. package/dist/browser/ui/icons/Key.js +20 -0
  45. package/dist/browser/ui/icons/MoonStar.js +20 -0
  46. package/dist/browser/ui/icons/Sun.js +20 -0
  47. package/dist/browser/ui/icons/X.js +20 -0
  48. package/dist/browser/ui/icons/iconWithClassName.js +16 -0
  49. package/dist/browser/ui/input.js +18 -0
  50. package/dist/browser/ui/label.js +32 -0
  51. package/dist/browser/ui/link.js +16 -0
  52. package/dist/browser/ui/loading-button.js +350 -0
  53. package/dist/browser/ui/loading-overlay.js +398 -0
  54. package/dist/browser/ui/loading-screen.js +537 -0
  55. package/dist/browser/ui/marketing/FeatureGrid.js +42 -0
  56. package/dist/browser/ui/marketing/Hero.js +146 -0
  57. package/dist/browser/ui/marketing/PricingTable.js +158 -0
  58. package/dist/browser/ui/marketing/index.js +247 -0
  59. package/dist/browser/ui/menubar.js +225 -0
  60. package/dist/browser/ui/molecules/Autocomplete/index.js +5 -0
  61. package/dist/browser/ui/molecules/SearchAndFilter/SearchAndFilter.js +784 -0
  62. package/dist/browser/ui/molecules/SearchAndFilter/index.js +784 -0
  63. package/dist/browser/ui/molecules/SearchAndFilter/types.js +0 -0
  64. package/dist/browser/ui/molecules/SkeletonList.js +46 -0
  65. package/dist/browser/ui/nativewind-env.d.js +0 -0
  66. package/dist/browser/ui/navigation-menu.js +147 -0
  67. package/dist/browser/ui/organisms/ErrorBoundary/ErrorBoundary.js +222 -0
  68. package/dist/browser/ui/organisms/ErrorBoundary/index.js +222 -0
  69. package/dist/browser/ui/organisms/ListPage/ListPage.js +1375 -0
  70. package/dist/browser/ui/organisms/ListPage/index.js +1375 -0
  71. package/dist/browser/ui/organisms/ListPage/types.js +0 -0
  72. package/dist/browser/ui/page-header.js +405 -0
  73. package/dist/browser/ui/password-strength.js +400 -0
  74. package/dist/browser/ui/popover.js +59 -0
  75. package/dist/browser/ui/progress.js +57 -0
  76. package/dist/browser/ui/radio-group.js +32 -0
  77. package/dist/browser/ui/select.js +172 -0
  78. package/dist/browser/ui/separator.js +20 -0
  79. package/dist/browser/ui/sheet.js +5 -0
  80. package/dist/browser/ui/sidebar.js +5 -0
  81. package/dist/browser/ui/skeleton.js +32 -0
  82. package/dist/browser/ui/stack.js +243 -0
  83. package/dist/browser/ui/stepper.js +274 -0
  84. package/dist/browser/ui/switch.js +84 -0
  85. package/dist/browser/ui/table.js +100 -0
  86. package/dist/browser/ui/tabs.js +30 -0
  87. package/dist/browser/ui/text.js +23 -0
  88. package/dist/browser/ui/textarea.js +18 -0
  89. package/dist/browser/ui/time-picker.js +83 -0
  90. package/dist/browser/ui/toggle-group.js +150 -0
  91. package/dist/browser/ui/toggle.js +90 -0
  92. package/dist/browser/ui/tooltip.js +57 -0
  93. package/dist/browser/ui/typography.js +124 -0
  94. package/dist/browser/ui/useColorScheme.js +15 -0
  95. package/dist/browser/ui/useListState.js +68 -0
  96. package/dist/browser/ui/usecases/UseCaseCard.js +359 -0
  97. package/dist/browser/ui/usecases/UserStoryCard.js +274 -0
  98. package/dist/browser/ui/usecases/index.js +394 -0
  99. package/dist/browser/ui/utils.js +9 -0
  100. package/dist/index.d.ts +1 -3
  101. package/dist/index.d.ts.map +1 -1
  102. package/dist/index.js +5 -5
  103. package/dist/ui/accordion.d.ts +15 -34
  104. package/dist/ui/accordion.d.ts.map +1 -1
  105. package/dist/ui/accordion.js +154 -86
  106. package/dist/ui/alert-dialog.d.ts +36 -67
  107. package/dist/ui/alert-dialog.d.ts.map +1 -1
  108. package/dist/ui/alert-dialog.js +192 -84
  109. package/dist/ui/alert.d.ts +15 -34
  110. package/dist/ui/alert.d.ts.map +1 -1
  111. package/dist/ui/alert.js +80 -44
  112. package/dist/ui/aspect-ratio.d.ts +4 -10
  113. package/dist/ui/aspect-ratio.d.ts.map +1 -1
  114. package/dist/ui/aspect-ratio.js +6 -7
  115. package/dist/ui/atoms/FilterSelect/FilterSelect.d.ts +3 -7
  116. package/dist/ui/atoms/FilterSelect/FilterSelect.d.ts.map +1 -1
  117. package/dist/ui/atoms/FilterSelect/FilterSelect.js +526 -56
  118. package/dist/ui/atoms/FilterSelect/index.d.ts +3 -3
  119. package/dist/ui/atoms/FilterSelect/index.d.ts.map +1 -0
  120. package/dist/ui/atoms/FilterSelect/index.js +527 -2
  121. package/dist/ui/atoms/FilterSelect/types.d.ts +13 -16
  122. package/dist/ui/atoms/FilterSelect/types.d.ts.map +1 -1
  123. package/dist/ui/atoms/FilterSelect/types.js +1 -0
  124. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.d.ts +14 -17
  125. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.d.ts.map +1 -1
  126. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.js +191 -45
  127. package/dist/ui/atoms/LoadingSpinner/index.d.ts +2 -2
  128. package/dist/ui/atoms/LoadingSpinner/index.d.ts.map +1 -0
  129. package/dist/ui/atoms/LoadingSpinner/index.js +193 -2
  130. package/dist/ui/atoms/Pagination/Pagination.d.ts +3 -7
  131. package/dist/ui/atoms/Pagination/Pagination.d.ts.map +1 -1
  132. package/dist/ui/atoms/Pagination/Pagination.js +441 -161
  133. package/dist/ui/atoms/Pagination/index.d.ts +3 -3
  134. package/dist/ui/atoms/Pagination/index.d.ts.map +1 -0
  135. package/dist/ui/atoms/Pagination/index.js +442 -2
  136. package/dist/ui/atoms/Pagination/types.d.ts +11 -14
  137. package/dist/ui/atoms/Pagination/types.d.ts.map +1 -1
  138. package/dist/ui/atoms/Pagination/types.js +1 -0
  139. package/dist/ui/atoms/SearchInput/SearchInput.d.ts +3 -7
  140. package/dist/ui/atoms/SearchInput/SearchInput.d.ts.map +1 -1
  141. package/dist/ui/atoms/SearchInput/SearchInput.js +154 -47
  142. package/dist/ui/atoms/SearchInput/index.d.ts +3 -3
  143. package/dist/ui/atoms/SearchInput/index.d.ts.map +1 -0
  144. package/dist/ui/atoms/SearchInput/index.js +156 -3
  145. package/dist/ui/atoms/SearchInput/types.d.ts +8 -11
  146. package/dist/ui/atoms/SearchInput/types.d.ts.map +1 -1
  147. package/dist/ui/atoms/SearchInput/types.js +1 -0
  148. package/dist/ui/avatar.d.ts +12 -26
  149. package/dist/ui/avatar.d.ts.map +1 -1
  150. package/dist/ui/avatar.js +34 -24
  151. package/dist/ui/badge.d.ts +8 -18
  152. package/dist/ui/badge.d.ts.map +1 -1
  153. package/dist/ui/badge.js +24 -21
  154. package/dist/ui/breadcrumb.d.ts +12 -38
  155. package/dist/ui/breadcrumb.d.ts.map +1 -1
  156. package/dist/ui/breadcrumb.js +93 -62
  157. package/dist/ui/button.d.ts +13 -23
  158. package/dist/ui/button.d.ts.map +1 -1
  159. package/dist/ui/button.js +83 -69
  160. package/dist/ui/card.d.ts +22 -43
  161. package/dist/ui/card.d.ts.map +1 -1
  162. package/dist/ui/card.js +84 -45
  163. package/dist/ui/carousel.d.ts +1 -4
  164. package/dist/ui/carousel.d.ts.map +1 -1
  165. package/dist/ui/carousel.js +6 -6
  166. package/dist/ui/checkbox.d.ts +9 -13
  167. package/dist/ui/checkbox.d.ts.map +1 -1
  168. package/dist/ui/checkbox.js +20 -19
  169. package/dist/ui/collapsible.d.ts +16 -22
  170. package/dist/ui/collapsible.d.ts.map +1 -1
  171. package/dist/ui/collapsible.js +10 -9
  172. package/dist/ui/command.d.ts +1 -4
  173. package/dist/ui/command.d.ts.map +1 -1
  174. package/dist/ui/command.js +6 -6
  175. package/dist/ui/context-menu.d.ts +64 -105
  176. package/dist/ui/context-menu.d.ts.map +1 -1
  177. package/dist/ui/context-menu.js +203 -96
  178. package/dist/ui/date-picker.d.ts +9 -22
  179. package/dist/ui/date-picker.d.ts.map +1 -1
  180. package/dist/ui/date-picker.js +81 -49
  181. package/dist/ui/date-range-picker.d.ts +15 -28
  182. package/dist/ui/date-range-picker.d.ts.map +1 -1
  183. package/dist/ui/date-range-picker.js +344 -81
  184. package/dist/ui/datetime-picker.d.ts +11 -26
  185. package/dist/ui/datetime-picker.d.ts.map +1 -1
  186. package/dist/ui/datetime-picker.js +437 -42
  187. package/dist/ui/dialog.d.ts +37 -63
  188. package/dist/ui/dialog.d.ts.map +1 -1
  189. package/dist/ui/dialog.js +114 -68
  190. package/dist/ui/dropdown-menu.d.ts +65 -107
  191. package/dist/ui/dropdown-menu.d.ts.map +1 -1
  192. package/dist/ui/dropdown-menu.js +207 -98
  193. package/dist/ui/empty-state.d.ts +13 -26
  194. package/dist/ui/empty-state.d.ts.map +1 -1
  195. package/dist/ui/empty-state.js +409 -43
  196. package/dist/ui/empty.d.ts +11 -35
  197. package/dist/ui/empty.d.ts.map +1 -1
  198. package/dist/ui/empty.js +59 -50
  199. package/dist/ui/fab.d.ts +17 -31
  200. package/dist/ui/fab.d.ts.map +1 -1
  201. package/dist/ui/fab.js +138 -100
  202. package/dist/ui/field.d.ts +25 -65
  203. package/dist/ui/field.d.ts.map +1 -1
  204. package/dist/ui/field.js +548 -111
  205. package/dist/ui/form.d.ts +26 -47
  206. package/dist/ui/form.d.ts.map +1 -1
  207. package/dist/ui/form.js +139 -83
  208. package/dist/ui/hover-card.d.ts +16 -26
  209. package/dist/ui/hover-card.d.ts.map +1 -1
  210. package/dist/ui/hover-card.js +55 -30
  211. package/dist/ui/icons/Check.d.ts +3 -2
  212. package/dist/ui/icons/Check.d.ts.map +1 -0
  213. package/dist/ui/icons/Check.js +19 -7
  214. package/dist/ui/icons/ChevronDown.d.ts +3 -2
  215. package/dist/ui/icons/ChevronDown.d.ts.map +1 -0
  216. package/dist/ui/icons/ChevronDown.js +19 -7
  217. package/dist/ui/icons/ChevronRight.d.ts +3 -2
  218. package/dist/ui/icons/ChevronRight.d.ts.map +1 -0
  219. package/dist/ui/icons/ChevronRight.js +19 -7
  220. package/dist/ui/icons/ChevronUp.d.ts +3 -2
  221. package/dist/ui/icons/ChevronUp.d.ts.map +1 -0
  222. package/dist/ui/icons/ChevronUp.js +19 -7
  223. package/dist/ui/icons/CircleUser.d.ts +3 -2
  224. package/dist/ui/icons/CircleUser.d.ts.map +1 -0
  225. package/dist/ui/icons/CircleUser.js +19 -7
  226. package/dist/ui/icons/Info.d.ts +3 -2
  227. package/dist/ui/icons/Info.d.ts.map +1 -0
  228. package/dist/ui/icons/Info.js +19 -7
  229. package/dist/ui/icons/Key.d.ts +3 -2
  230. package/dist/ui/icons/Key.d.ts.map +1 -0
  231. package/dist/ui/icons/Key.js +19 -7
  232. package/dist/ui/icons/MoonStar.d.ts +3 -2
  233. package/dist/ui/icons/MoonStar.d.ts.map +1 -0
  234. package/dist/ui/icons/MoonStar.js +19 -7
  235. package/dist/ui/icons/Sun.d.ts +3 -2
  236. package/dist/ui/icons/Sun.d.ts.map +1 -0
  237. package/dist/ui/icons/Sun.js +19 -7
  238. package/dist/ui/icons/X.d.ts +3 -2
  239. package/dist/ui/icons/X.d.ts.map +1 -0
  240. package/dist/ui/icons/X.js +19 -7
  241. package/dist/ui/icons/iconWithClassName.d.ts +2 -6
  242. package/dist/ui/icons/iconWithClassName.d.ts.map +1 -1
  243. package/dist/ui/icons/iconWithClassName.js +14 -13
  244. package/dist/ui/input.d.ts +5 -13
  245. package/dist/ui/input.d.ts.map +1 -1
  246. package/dist/ui/input.js +16 -14
  247. package/dist/ui/label.d.ts +2 -14
  248. package/dist/ui/label.d.ts.map +1 -1
  249. package/dist/ui/label.js +30 -21
  250. package/dist/ui/link.d.ts +5 -12
  251. package/dist/ui/link.d.ts.map +1 -1
  252. package/dist/ui/link.js +15 -14
  253. package/dist/ui/loading-button.d.ts +7 -17
  254. package/dist/ui/loading-button.d.ts.map +1 -1
  255. package/dist/ui/loading-button.js +349 -20
  256. package/dist/ui/loading-overlay.d.ts +5 -13
  257. package/dist/ui/loading-overlay.d.ts.map +1 -1
  258. package/dist/ui/loading-overlay.js +399 -44
  259. package/dist/ui/loading-screen.d.ts +4 -11
  260. package/dist/ui/loading-screen.d.ts.map +1 -1
  261. package/dist/ui/loading-screen.js +536 -91
  262. package/dist/ui/marketing/FeatureGrid.d.ts +10 -19
  263. package/dist/ui/marketing/FeatureGrid.d.ts.map +1 -1
  264. package/dist/ui/marketing/FeatureGrid.js +41 -33
  265. package/dist/ui/marketing/Hero.d.ts +16 -27
  266. package/dist/ui/marketing/Hero.d.ts.map +1 -1
  267. package/dist/ui/marketing/Hero.js +145 -50
  268. package/dist/ui/marketing/PricingTable.d.ts +15 -23
  269. package/dist/ui/marketing/PricingTable.d.ts.map +1 -1
  270. package/dist/ui/marketing/PricingTable.js +157 -58
  271. package/dist/ui/marketing/index.d.ts +4 -4
  272. package/dist/ui/marketing/index.d.ts.map +1 -0
  273. package/dist/ui/marketing/index.js +247 -4
  274. package/dist/ui/menubar.d.ts +64 -110
  275. package/dist/ui/menubar.d.ts.map +1 -1
  276. package/dist/ui/menubar.js +212 -106
  277. package/dist/ui/molecules/Autocomplete/index.d.ts +1 -4
  278. package/dist/ui/molecules/Autocomplete/index.d.ts.map +1 -1
  279. package/dist/ui/molecules/Autocomplete/index.js +6 -6
  280. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.d.ts +3 -7
  281. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.d.ts.map +1 -1
  282. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.js +783 -104
  283. package/dist/ui/molecules/SearchAndFilter/index.d.ts +3 -3
  284. package/dist/ui/molecules/SearchAndFilter/index.d.ts.map +1 -0
  285. package/dist/ui/molecules/SearchAndFilter/index.js +784 -2
  286. package/dist/ui/molecules/SearchAndFilter/types.d.ts +18 -23
  287. package/dist/ui/molecules/SearchAndFilter/types.d.ts.map +1 -1
  288. package/dist/ui/molecules/SearchAndFilter/types.js +1 -0
  289. package/dist/ui/molecules/SkeletonList.d.ts +5 -13
  290. package/dist/ui/molecules/SkeletonList.d.ts.map +1 -1
  291. package/dist/ui/molecules/SkeletonList.js +46 -14
  292. package/dist/ui/nativewind-env.d.js +1 -0
  293. package/dist/ui/navigation-menu.d.ts +35 -64
  294. package/dist/ui/navigation-menu.d.ts.map +1 -1
  295. package/dist/ui/navigation-menu.js +140 -79
  296. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.d.ts +18 -22
  297. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.d.ts.map +1 -1
  298. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.js +220 -104
  299. package/dist/ui/organisms/ErrorBoundary/index.d.ts +3 -2
  300. package/dist/ui/organisms/ErrorBoundary/index.d.ts.map +1 -0
  301. package/dist/ui/organisms/ErrorBoundary/index.js +222 -2
  302. package/dist/ui/organisms/ListPage/ListPage.d.ts +2 -28
  303. package/dist/ui/organisms/ListPage/ListPage.d.ts.map +1 -1
  304. package/dist/ui/organisms/ListPage/ListPage.js +1374 -196
  305. package/dist/ui/organisms/ListPage/index.d.ts +3 -3
  306. package/dist/ui/organisms/ListPage/index.d.ts.map +1 -0
  307. package/dist/ui/organisms/ListPage/index.js +1375 -2
  308. package/dist/ui/organisms/ListPage/types.d.ts +34 -39
  309. package/dist/ui/organisms/ListPage/types.d.ts.map +1 -1
  310. package/dist/ui/organisms/ListPage/types.js +1 -0
  311. package/dist/ui/page-header.d.ts +12 -24
  312. package/dist/ui/page-header.d.ts.map +1 -1
  313. package/dist/ui/page-header.js +403 -38
  314. package/dist/ui/password-strength.d.ts +10 -17
  315. package/dist/ui/password-strength.d.ts.map +1 -1
  316. package/dist/ui/password-strength.js +396 -94
  317. package/dist/ui/popover.d.ts +14 -26
  318. package/dist/ui/popover.d.ts.map +1 -1
  319. package/dist/ui/popover.js +57 -32
  320. package/dist/ui/progress.d.ts +6 -15
  321. package/dist/ui/progress.d.ts.map +1 -1
  322. package/dist/ui/progress.js +54 -36
  323. package/dist/ui/radio-group.d.ts +3 -13
  324. package/dist/ui/radio-group.d.ts.map +1 -1
  325. package/dist/ui/radio-group.js +29 -19
  326. package/dist/ui/select.d.ts +43 -75
  327. package/dist/ui/select.d.ts.map +1 -1
  328. package/dist/ui/select.js +163 -101
  329. package/dist/ui/separator.d.ts +5 -14
  330. package/dist/ui/separator.d.ts.map +1 -1
  331. package/dist/ui/separator.js +19 -16
  332. package/dist/ui/sheet.d.ts +1 -4
  333. package/dist/ui/sheet.d.ts.map +1 -1
  334. package/dist/ui/sheet.js +6 -6
  335. package/dist/ui/sidebar.d.ts +1 -4
  336. package/dist/ui/sidebar.d.ts.map +1 -1
  337. package/dist/ui/sidebar.js +6 -6
  338. package/dist/ui/skeleton.d.ts +3 -10
  339. package/dist/ui/skeleton.d.ts.map +1 -1
  340. package/dist/ui/skeleton.js +31 -22
  341. package/dist/ui/stack.d.ts +34 -67
  342. package/dist/ui/stack.d.ts.map +1 -1
  343. package/dist/ui/stack.js +235 -229
  344. package/dist/ui/stepper.d.ts +10 -20
  345. package/dist/ui/stepper.d.ts.map +1 -1
  346. package/dist/ui/stepper.js +269 -32
  347. package/dist/ui/switch.d.ts +5 -12
  348. package/dist/ui/switch.d.ts.map +1 -1
  349. package/dist/ui/switch.js +79 -48
  350. package/dist/ui/table.d.ts +24 -50
  351. package/dist/ui/table.d.ts.map +1 -1
  352. package/dist/ui/table.js +99 -55
  353. package/dist/ui/tabs.d.ts +23 -28
  354. package/dist/ui/tabs.d.ts.map +1 -1
  355. package/dist/ui/tabs.js +27 -25
  356. package/dist/ui/text.d.ts +11 -19
  357. package/dist/ui/text.d.ts.map +1 -1
  358. package/dist/ui/text.js +21 -16
  359. package/dist/ui/textarea.d.ts +5 -8
  360. package/dist/ui/textarea.d.ts.map +1 -1
  361. package/dist/ui/textarea.js +15 -16
  362. package/dist/ui/time-picker.d.ts +8 -20
  363. package/dist/ui/time-picker.d.ts.map +1 -1
  364. package/dist/ui/time-picker.js +79 -48
  365. package/dist/ui/toggle-group.d.ts +14 -34
  366. package/dist/ui/toggle-group.d.ts.map +1 -1
  367. package/dist/ui/toggle-group.js +144 -48
  368. package/dist/ui/toggle.d.ts +16 -30
  369. package/dist/ui/toggle.d.ts.map +1 -1
  370. package/dist/ui/toggle.js +85 -61
  371. package/dist/ui/tooltip.d.ts +18 -28
  372. package/dist/ui/tooltip.d.ts.map +1 -1
  373. package/dist/ui/tooltip.js +55 -38
  374. package/dist/ui/typography.d.ts +15 -63
  375. package/dist/ui/typography.d.ts.map +1 -1
  376. package/dist/ui/typography.js +101 -64
  377. package/dist/ui/useColorScheme.d.ts +5 -10
  378. package/dist/ui/useColorScheme.d.ts.map +1 -1
  379. package/dist/ui/useColorScheme.js +14 -15
  380. package/dist/ui/useListState.d.ts +23 -31
  381. package/dist/ui/useListState.d.ts.map +1 -1
  382. package/dist/ui/useListState.js +67 -73
  383. package/dist/ui/usecases/UseCaseCard.d.ts +7 -18
  384. package/dist/ui/usecases/UseCaseCard.d.ts.map +1 -1
  385. package/dist/ui/usecases/UseCaseCard.js +359 -34
  386. package/dist/ui/usecases/UserStoryCard.d.ts +5 -14
  387. package/dist/ui/usecases/UserStoryCard.d.ts.map +1 -1
  388. package/dist/ui/usecases/UserStoryCard.js +274 -35
  389. package/dist/ui/usecases/index.d.ts +3 -3
  390. package/dist/ui/usecases/index.d.ts.map +1 -0
  391. package/dist/ui/usecases/index.js +394 -3
  392. package/dist/ui/utils.d.ts +2 -6
  393. package/dist/ui/utils.d.ts.map +1 -1
  394. package/dist/ui/utils.js +6 -7
  395. package/package.json +775 -209
  396. package/dist/index.js.map +0 -1
  397. package/dist/ui/accordion.js.map +0 -1
  398. package/dist/ui/alert-dialog.js.map +0 -1
  399. package/dist/ui/alert.js.map +0 -1
  400. package/dist/ui/aspect-ratio.js.map +0 -1
  401. package/dist/ui/atoms/FilterSelect/FilterSelect.js.map +0 -1
  402. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.js.map +0 -1
  403. package/dist/ui/atoms/Pagination/Pagination.js.map +0 -1
  404. package/dist/ui/atoms/SearchInput/SearchInput.js.map +0 -1
  405. package/dist/ui/avatar.js.map +0 -1
  406. package/dist/ui/badge.js.map +0 -1
  407. package/dist/ui/breadcrumb.js.map +0 -1
  408. package/dist/ui/button.js.map +0 -1
  409. package/dist/ui/card.js.map +0 -1
  410. package/dist/ui/carousel.js.map +0 -1
  411. package/dist/ui/checkbox.js.map +0 -1
  412. package/dist/ui/collapsible.js.map +0 -1
  413. package/dist/ui/command.js.map +0 -1
  414. package/dist/ui/context-menu.js.map +0 -1
  415. package/dist/ui/date-picker.js.map +0 -1
  416. package/dist/ui/date-range-picker.js.map +0 -1
  417. package/dist/ui/datetime-picker.js.map +0 -1
  418. package/dist/ui/dialog.js.map +0 -1
  419. package/dist/ui/dropdown-menu.js.map +0 -1
  420. package/dist/ui/empty-state.js.map +0 -1
  421. package/dist/ui/empty.js.map +0 -1
  422. package/dist/ui/fab.js.map +0 -1
  423. package/dist/ui/field.js.map +0 -1
  424. package/dist/ui/form.js.map +0 -1
  425. package/dist/ui/hover-card.js.map +0 -1
  426. package/dist/ui/icons/Check.js.map +0 -1
  427. package/dist/ui/icons/ChevronDown.js.map +0 -1
  428. package/dist/ui/icons/ChevronRight.js.map +0 -1
  429. package/dist/ui/icons/ChevronUp.js.map +0 -1
  430. package/dist/ui/icons/CircleUser.js.map +0 -1
  431. package/dist/ui/icons/Info.js.map +0 -1
  432. package/dist/ui/icons/Key.js.map +0 -1
  433. package/dist/ui/icons/MoonStar.js.map +0 -1
  434. package/dist/ui/icons/Sun.js.map +0 -1
  435. package/dist/ui/icons/X.js.map +0 -1
  436. package/dist/ui/icons/iconWithClassName.js.map +0 -1
  437. package/dist/ui/input.js.map +0 -1
  438. package/dist/ui/label.js.map +0 -1
  439. package/dist/ui/link.js.map +0 -1
  440. package/dist/ui/loading-button.js.map +0 -1
  441. package/dist/ui/loading-overlay.js.map +0 -1
  442. package/dist/ui/loading-screen.js.map +0 -1
  443. package/dist/ui/marketing/FeatureGrid.js.map +0 -1
  444. package/dist/ui/marketing/Hero.js.map +0 -1
  445. package/dist/ui/marketing/PricingTable.js.map +0 -1
  446. package/dist/ui/menubar.js.map +0 -1
  447. package/dist/ui/molecules/Autocomplete/index.js.map +0 -1
  448. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.js.map +0 -1
  449. package/dist/ui/molecules/SkeletonList.js.map +0 -1
  450. package/dist/ui/nativewind-env.d.ts +0 -1
  451. package/dist/ui/navigation-menu.js.map +0 -1
  452. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.js.map +0 -1
  453. package/dist/ui/organisms/ListPage/ListPage.js.map +0 -1
  454. package/dist/ui/page-header.js.map +0 -1
  455. package/dist/ui/password-strength.js.map +0 -1
  456. package/dist/ui/popover.js.map +0 -1
  457. package/dist/ui/progress.js.map +0 -1
  458. package/dist/ui/radio-group.js.map +0 -1
  459. package/dist/ui/select.js.map +0 -1
  460. package/dist/ui/separator.js.map +0 -1
  461. package/dist/ui/sheet.js.map +0 -1
  462. package/dist/ui/sidebar.js.map +0 -1
  463. package/dist/ui/skeleton.js.map +0 -1
  464. package/dist/ui/stack.js.map +0 -1
  465. package/dist/ui/stepper.js.map +0 -1
  466. package/dist/ui/switch.js.map +0 -1
  467. package/dist/ui/table.js.map +0 -1
  468. package/dist/ui/tabs.js.map +0 -1
  469. package/dist/ui/text.js.map +0 -1
  470. package/dist/ui/textarea.js.map +0 -1
  471. package/dist/ui/time-picker.js.map +0 -1
  472. package/dist/ui/toggle-group.js.map +0 -1
  473. package/dist/ui/toggle.js.map +0 -1
  474. package/dist/ui/tooltip.js.map +0 -1
  475. package/dist/ui/typography.js.map +0 -1
  476. package/dist/ui/useColorScheme.js.map +0 -1
  477. package/dist/ui/useListState.js.map +0 -1
  478. package/dist/ui/usecases/UseCaseCard.js.map +0 -1
  479. package/dist/ui/usecases/UserStoryCard.js.map +0 -1
  480. package/dist/ui/utils.js.map +0 -1
@@ -0,0 +1,274 @@
1
+ // ui/stack.tsx
2
+ import { View } from "react-native";
3
+ import { cn } from "@contractspec/lib.ui-kit-core/utils";
4
+ import { cva } from "class-variance-authority";
5
+ import { jsxDEV } from "react/jsx-dev-runtime";
6
+ var baseStyle = "flex";
7
+ var vStackVariants = cva([baseStyle, "flex-col"], {
8
+ variants: {
9
+ spacing: {
10
+ none: "",
11
+ xs: "gap-y-1",
12
+ sm: "gap-y-2",
13
+ md: "gap-y-4",
14
+ lg: "gap-y-6",
15
+ xl: "gap-y-8",
16
+ "2xl": "gap-y-12"
17
+ },
18
+ align: {
19
+ stretch: "items-stretch",
20
+ start: "items-start",
21
+ center: "items-center",
22
+ end: "items-end"
23
+ },
24
+ justify: {
25
+ start: "justify-start",
26
+ center: "justify-center",
27
+ end: "justify-end",
28
+ between: "justify-between",
29
+ around: "justify-around",
30
+ evenly: "justify-evenly"
31
+ },
32
+ width: {
33
+ auto: "w-auto",
34
+ full: "w-full",
35
+ screen: "w-screen",
36
+ fit: "w-fit"
37
+ },
38
+ padding: {
39
+ none: "",
40
+ xs: "p-1",
41
+ sm: "p-2",
42
+ md: "p-4",
43
+ lg: "p-6",
44
+ xl: "p-8"
45
+ },
46
+ gap: {
47
+ none: "",
48
+ xs: "gap-1",
49
+ sm: "gap-2",
50
+ md: "gap-4",
51
+ lg: "gap-6",
52
+ xl: "gap-8"
53
+ }
54
+ },
55
+ defaultVariants: {
56
+ spacing: "md",
57
+ align: "stretch",
58
+ justify: "start",
59
+ width: "auto",
60
+ padding: "none",
61
+ gap: "none"
62
+ }
63
+ });
64
+ var hStackVariants = cva([baseStyle, "flex-row"], {
65
+ variants: {
66
+ spacing: {
67
+ none: "",
68
+ xs: "gap-x-1",
69
+ sm: "gap-x-2",
70
+ md: "gap-x-4",
71
+ lg: "gap-x-6",
72
+ xl: "gap-x-8",
73
+ "2xl": "gap-x-12"
74
+ },
75
+ align: {
76
+ stretch: "items-stretch",
77
+ start: "items-start",
78
+ center: "items-center",
79
+ end: "items-end",
80
+ baseline: "items-baseline"
81
+ },
82
+ justify: {
83
+ start: "justify-start",
84
+ center: "justify-center",
85
+ end: "justify-end",
86
+ between: "justify-between",
87
+ around: "justify-around",
88
+ evenly: "justify-evenly"
89
+ },
90
+ width: {
91
+ auto: "w-auto",
92
+ full: "w-full",
93
+ screen: "w-screen",
94
+ fit: "w-fit"
95
+ },
96
+ padding: {
97
+ none: "",
98
+ xs: "p-1",
99
+ sm: "p-2",
100
+ md: "p-4",
101
+ lg: "p-6",
102
+ xl: "p-8"
103
+ },
104
+ gap: {
105
+ none: "",
106
+ xs: "gap-1",
107
+ sm: "gap-2",
108
+ md: "gap-4",
109
+ lg: "gap-6",
110
+ xl: "gap-8"
111
+ },
112
+ wrap: {
113
+ nowrap: "flex-nowrap",
114
+ wrap: "flex-wrap",
115
+ reverse: "flex-wrap-reverse"
116
+ }
117
+ },
118
+ defaultVariants: {
119
+ spacing: "md",
120
+ align: "center",
121
+ justify: "start",
122
+ width: "auto",
123
+ padding: "none",
124
+ gap: "none",
125
+ wrap: "wrap"
126
+ }
127
+ });
128
+ var boxVariants = cva([baseStyle, "flex-row"], {
129
+ variants: {
130
+ spacing: {
131
+ none: "",
132
+ xs: "gap-x-1",
133
+ sm: "gap-x-2",
134
+ md: "gap-x-4",
135
+ lg: "gap-x-6",
136
+ xl: "gap-x-8",
137
+ "2xl": "gap-x-12"
138
+ },
139
+ align: {
140
+ stretch: "items-stretch",
141
+ start: "items-start",
142
+ center: "items-center",
143
+ end: "items-end",
144
+ baseline: "items-baseline"
145
+ },
146
+ justify: {
147
+ start: "justify-start",
148
+ center: "justify-center",
149
+ end: "justify-end",
150
+ between: "justify-between",
151
+ around: "justify-around",
152
+ evenly: "justify-evenly"
153
+ },
154
+ width: {
155
+ auto: "w-auto",
156
+ full: "w-full",
157
+ screen: "w-screen",
158
+ fit: "w-fit"
159
+ },
160
+ padding: {
161
+ none: "",
162
+ xs: "p-1",
163
+ sm: "p-2",
164
+ md: "p-4",
165
+ lg: "p-6",
166
+ xl: "p-8"
167
+ },
168
+ gap: {
169
+ none: "",
170
+ xs: "gap-1",
171
+ sm: "gap-2",
172
+ md: "gap-4",
173
+ lg: "gap-6",
174
+ xl: "gap-8"
175
+ },
176
+ wrap: {
177
+ nowrap: "flex-nowrap",
178
+ wrap: "flex-wrap",
179
+ reverse: "flex-wrap-reverse"
180
+ }
181
+ },
182
+ defaultVariants: {
183
+ spacing: "md",
184
+ align: "center",
185
+ justify: "center",
186
+ width: "auto",
187
+ padding: "none",
188
+ gap: "none",
189
+ wrap: "wrap"
190
+ }
191
+ });
192
+ function Box({
193
+ className,
194
+ spacing,
195
+ align,
196
+ justify,
197
+ width,
198
+ padding,
199
+ gap,
200
+ wrap,
201
+ ...props
202
+ }) {
203
+ return /* @__PURE__ */ jsxDEV(View, {
204
+ className: cn(boxVariants({ spacing, align, justify, width, padding, gap, wrap }), className),
205
+ ...props
206
+ }, undefined, false, undefined, this);
207
+ }
208
+ function HStack({
209
+ className,
210
+ spacing,
211
+ align,
212
+ justify,
213
+ width,
214
+ padding,
215
+ gap,
216
+ wrap,
217
+ ...props
218
+ }) {
219
+ return /* @__PURE__ */ jsxDEV(View, {
220
+ className: cn(hStackVariants({ spacing, align, justify, width, padding, gap, wrap }), className),
221
+ ...props
222
+ }, undefined, false, undefined, this);
223
+ }
224
+ function VStack({
225
+ className,
226
+ spacing,
227
+ align,
228
+ justify,
229
+ width,
230
+ padding,
231
+ gap,
232
+ ...props
233
+ }) {
234
+ return /* @__PURE__ */ jsxDEV(View, {
235
+ className: cn(vStackVariants({ spacing, align, justify, width, padding, gap }), className),
236
+ ...props
237
+ }, undefined, false, undefined, this);
238
+ }
239
+ // ui/stepper.tsx
240
+ import { cva as cva2 } from "class-variance-authority";
241
+ import { cn as cn2 } from "@contractspec/lib.ui-kit-core/utils";
242
+ import { View as View2 } from "react-native";
243
+ import { jsxDEV as jsxDEV2 } from "react/jsx-dev-runtime";
244
+ var dotVariants = cva2("h-2 w-2 rounded-full", {
245
+ variants: {
246
+ state: {
247
+ active: "bg-primary",
248
+ inactive: "bg-muted-foreground/20"
249
+ },
250
+ size: {
251
+ sm: "",
252
+ md: "h-2.5 w-2.5"
253
+ }
254
+ },
255
+ defaultVariants: {
256
+ state: "inactive",
257
+ size: "md"
258
+ }
259
+ });
260
+ function Stepper({ current, total, size, className }) {
261
+ const items = Array.from({ length: Math.max(0, total) });
262
+ return /* @__PURE__ */ jsxDEV2(HStack, {
263
+ className: cn2("items-center gap-2", className),
264
+ children: items.map((_, idx) => /* @__PURE__ */ jsxDEV2(View2, {
265
+ className: cn2(dotVariants({
266
+ state: idx + 1 === current ? "active" : "inactive",
267
+ size
268
+ }))
269
+ }, idx, false, undefined, this))
270
+ }, undefined, false, undefined, this);
271
+ }
272
+ export {
273
+ Stepper
274
+ };
@@ -0,0 +1,84 @@
1
+ // ui/useColorScheme.tsx
2
+ import { useColorScheme as useNativewindColorScheme } from "nativewind";
3
+ var DEFAULT_COLOR_SCHEME = "light";
4
+ function useColorScheme() {
5
+ const { colorScheme, setColorScheme, toggleColorScheme } = useNativewindColorScheme();
6
+ return {
7
+ colorScheme: colorScheme ?? DEFAULT_COLOR_SCHEME,
8
+ isDarkColorScheme: colorScheme === "dark",
9
+ setColorScheme,
10
+ toggleColorScheme
11
+ };
12
+ }
13
+
14
+ // ui/switch.tsx
15
+ import * as SwitchPrimitives from "@rn-primitives/switch";
16
+ import { Platform } from "react-native";
17
+ import Animated, {
18
+ interpolateColor,
19
+ useAnimatedStyle,
20
+ useDerivedValue,
21
+ withTiming
22
+ } from "react-native-reanimated";
23
+ import { cn } from "@contractspec/lib.ui-kit-core/utils";
24
+ import { jsxDEV } from "react/jsx-dev-runtime";
25
+ function SwitchWeb({
26
+ className,
27
+ ...props
28
+ }) {
29
+ return /* @__PURE__ */ jsxDEV(SwitchPrimitives.Root, {
30
+ className: cn("peer focus-visible:ring-ring focus-visible:ring-offset-background h-6 w-11 shrink-0 cursor-pointer flex-row items-center rounded-full border-2 border-transparent transition-colors focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-hidden disabled:cursor-not-allowed", props.checked ? "bg-primary" : "bg-input", props.disabled && "opacity-50", className),
31
+ ...props,
32
+ children: /* @__PURE__ */ jsxDEV(SwitchPrimitives.Thumb, {
33
+ className: cn("bg-background shadow-foreground/5 pointer-events-none block h-5 w-5 rounded-full shadow-md ring-0 transition-transform", props.checked ? "translate-x-5" : "translate-x-0")
34
+ }, undefined, false, undefined, this)
35
+ }, undefined, false, undefined, this);
36
+ }
37
+ var RGB_COLORS = {
38
+ light: {
39
+ primary: "rgb(24, 24, 27)",
40
+ input: "rgb(228, 228, 231)"
41
+ },
42
+ dark: {
43
+ primary: "rgb(250, 250, 250)",
44
+ input: "rgb(39, 39, 42)"
45
+ }
46
+ };
47
+ function SwitchNative({
48
+ className,
49
+ ...props
50
+ }) {
51
+ const { colorScheme } = useColorScheme();
52
+ const translateX = useDerivedValue(() => props.checked ? 18 : 0);
53
+ const animatedRootStyle = useAnimatedStyle(() => {
54
+ return {
55
+ backgroundColor: interpolateColor(translateX.value, [0, 18], [RGB_COLORS[colorScheme].input, RGB_COLORS[colorScheme].primary])
56
+ };
57
+ });
58
+ const animatedThumbStyle = useAnimatedStyle(() => ({
59
+ transform: [
60
+ { translateX: withTiming(translateX.value, { duration: 200 }) }
61
+ ]
62
+ }));
63
+ return /* @__PURE__ */ jsxDEV(Animated.View, {
64
+ style: animatedRootStyle,
65
+ className: cn("h-8 w-[46px] rounded-full", props.disabled && "opacity-50"),
66
+ children: /* @__PURE__ */ jsxDEV(SwitchPrimitives.Root, {
67
+ className: cn("h-8 w-[46px] shrink-0 flex-row items-center rounded-full border-2 border-transparent", props.checked ? "bg-primary" : "bg-input", className),
68
+ ...props,
69
+ children: /* @__PURE__ */ jsxDEV(Animated.View, {
70
+ style: animatedThumbStyle,
71
+ children: /* @__PURE__ */ jsxDEV(SwitchPrimitives.Thumb, {
72
+ className: "bg-background shadow-foreground/25 h-7 w-7 rounded-full shadow-md ring-0"
73
+ }, undefined, false, undefined, this)
74
+ }, undefined, false, undefined, this)
75
+ }, undefined, false, undefined, this)
76
+ }, undefined, false, undefined, this);
77
+ }
78
+ var Switch = Platform.select({
79
+ web: SwitchWeb,
80
+ default: SwitchNative
81
+ });
82
+ export {
83
+ Switch
84
+ };
@@ -0,0 +1,100 @@
1
+ // ui/text.tsx
2
+ import * as Slot from "@rn-primitives/slot";
3
+ import * as React from "react";
4
+ import { Text as RNText } from "react-native";
5
+ import { cn } from "@contractspec/lib.ui-kit-core/utils";
6
+ import { jsxDEV } from "react/jsx-dev-runtime";
7
+ var TextClassContext = React.createContext(undefined);
8
+ function Text2({
9
+ className,
10
+ asChild = false,
11
+ ...props
12
+ }) {
13
+ const textClass = React.useContext(TextClassContext);
14
+ const Component = asChild ? Slot.Text : RNText;
15
+ return /* @__PURE__ */ jsxDEV(Component, {
16
+ className: cn("text-foreground web:select-text text-base", textClass, className),
17
+ ...props
18
+ }, undefined, false, undefined, this);
19
+ }
20
+ // ui/table.tsx
21
+ import * as TablePrimitive from "@rn-primitives/table";
22
+ import { cn as cn2 } from "@contractspec/lib.ui-kit-core/utils";
23
+ import { jsxDEV as jsxDEV2 } from "react/jsx-dev-runtime";
24
+ function Table({
25
+ className,
26
+ ...props
27
+ }) {
28
+ return /* @__PURE__ */ jsxDEV2(TablePrimitive.Root, {
29
+ className: cn2("w-full caption-bottom text-sm", className),
30
+ ...props
31
+ }, undefined, false, undefined, this);
32
+ }
33
+ function TableHeader({
34
+ className,
35
+ ...props
36
+ }) {
37
+ return /* @__PURE__ */ jsxDEV2(TablePrimitive.Header, {
38
+ className: cn2("border-border [&_tr]:border-b", className),
39
+ ...props
40
+ }, undefined, false, undefined, this);
41
+ }
42
+ function TableBody({
43
+ className,
44
+ style,
45
+ ...props
46
+ }) {
47
+ return /* @__PURE__ */ jsxDEV2(TablePrimitive.Body, {
48
+ className: cn2("border-border flex-1 [&_tr:last-child]:border-0", className),
49
+ style: [{ minHeight: 2 }, style],
50
+ ...props
51
+ }, undefined, false, undefined, this);
52
+ }
53
+ function TableFooter({
54
+ className,
55
+ ...props
56
+ }) {
57
+ return /* @__PURE__ */ jsxDEV2(TablePrimitive.Footer, {
58
+ className: cn2("bg-muted/50 font-medium [&>tr]:last:border-b-0", className),
59
+ ...props
60
+ }, undefined, false, undefined, this);
61
+ }
62
+ function TableRow({
63
+ className,
64
+ ...props
65
+ }) {
66
+ return /* @__PURE__ */ jsxDEV2(TablePrimitive.Row, {
67
+ className: cn2("border-border web:transition-colors web:hover:bg-muted/50 web:data-[state=selected]:bg-muted flex-row border-b", className),
68
+ ...props
69
+ }, undefined, false, undefined, this);
70
+ }
71
+ function TableHead({
72
+ className,
73
+ ...props
74
+ }) {
75
+ return /* @__PURE__ */ jsxDEV2(TextClassContext.Provider, {
76
+ value: "text-muted-foreground",
77
+ children: /* @__PURE__ */ jsxDEV2(TablePrimitive.Head, {
78
+ className: cn2("h-12 justify-center px-4 text-left font-medium [&:has([role=checkbox])]:pr-0", className),
79
+ ...props
80
+ }, undefined, false, undefined, this)
81
+ }, undefined, false, undefined, this);
82
+ }
83
+ function TableCell({
84
+ className,
85
+ ...props
86
+ }) {
87
+ return /* @__PURE__ */ jsxDEV2(TablePrimitive.Cell, {
88
+ className: cn2("p-4 align-middle [&:has([role=checkbox])]:pr-0", className),
89
+ ...props
90
+ }, undefined, false, undefined, this);
91
+ }
92
+ export {
93
+ TableRow,
94
+ TableHeader,
95
+ TableHead,
96
+ TableFooter,
97
+ TableCell,
98
+ TableBody,
99
+ Table
100
+ };
@@ -0,0 +1,30 @@
1
+ // ui/tabs.tsx
2
+ import * as TabsPrimitive from "@rn-primitives/tabs";
3
+ import * as React from "react";
4
+ import { cn } from "@contractspec/lib.ui-kit-core/utils";
5
+ import { jsxDEV } from "react/jsx-dev-runtime";
6
+ var Tabs = TabsPrimitive.Root;
7
+ var TabsList = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxDEV(TabsPrimitive.List, {
8
+ ref,
9
+ className: cn("bg-muted text-muted-foreground web:inline-flex h-10 items-center justify-center rounded-md p-1", className),
10
+ ...props
11
+ }, undefined, false, undefined, this));
12
+ TabsList.displayName = TabsPrimitive.List.displayName;
13
+ var TabsTrigger = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxDEV(TabsPrimitive.Trigger, {
14
+ ref,
15
+ className: cn("web:inline-flex web:whitespace-nowrap web:ring-offset-background web:transition-all web:focus-visible:outline-hidden web:focus-visible:ring-2 web:focus-visible:ring-ring web:focus-visible:ring-offset-2 items-center justify-center rounded-xs px-3 py-1.5 text-sm font-medium disabled:pointer-events-none disabled:opacity-50", "data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-2xs", className),
16
+ ...props
17
+ }, undefined, false, undefined, this));
18
+ TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
19
+ var TabsContent = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxDEV(TabsPrimitive.Content, {
20
+ ref,
21
+ className: cn("web:ring-offset-background web:focus-visible:outline-hidden web:focus-visible:ring-2 web:focus-visible:ring-ring web:focus-visible:ring-offset-2", className),
22
+ ...props
23
+ }, undefined, false, undefined, this));
24
+ TabsContent.displayName = TabsPrimitive.Content.displayName;
25
+ export {
26
+ TabsTrigger,
27
+ TabsList,
28
+ TabsContent,
29
+ Tabs
30
+ };
@@ -0,0 +1,23 @@
1
+ // ui/text.tsx
2
+ import * as Slot from "@rn-primitives/slot";
3
+ import * as React from "react";
4
+ import { Text as RNText } from "react-native";
5
+ import { cn } from "@contractspec/lib.ui-kit-core/utils";
6
+ import { jsxDEV } from "react/jsx-dev-runtime";
7
+ var TextClassContext = React.createContext(undefined);
8
+ function Text2({
9
+ className,
10
+ asChild = false,
11
+ ...props
12
+ }) {
13
+ const textClass = React.useContext(TextClassContext);
14
+ const Component = asChild ? Slot.Text : RNText;
15
+ return /* @__PURE__ */ jsxDEV(Component, {
16
+ className: cn("text-foreground web:select-text text-base", textClass, className),
17
+ ...props
18
+ }, undefined, false, undefined, this);
19
+ }
20
+ export {
21
+ TextClassContext,
22
+ Text2 as Text
23
+ };
@@ -0,0 +1,18 @@
1
+ // ui/textarea.tsx
2
+ import * as React from "react";
3
+ import { TextInput } from "react-native";
4
+ import { cn } from "@contractspec/lib.ui-kit-core/utils";
5
+ import { jsxDEV } from "react/jsx-dev-runtime";
6
+ var Textarea = React.forwardRef(({ className, placeholderClassName, ...props }, ref) => {
7
+ return /* @__PURE__ */ jsxDEV(TextInput, {
8
+ ref,
9
+ className: cn("native:text-lg native:leading-tight border-input bg-background text-foreground placeholder:text-muted-foreground web:flex web:ring-offset-background web:focus-visible:outline-hidden web:focus-visible:ring-2 web:focus-visible:ring-ring web:focus-visible:ring-offset-2 min-h-[80px] w-full rounded-md border px-3 py-2 text-base file:border-0 file:bg-transparent file:font-medium lg:text-sm", props.editable === false && "web:cursor-not-allowed opacity-50", className),
10
+ placeholderClassName: cn("text-muted-foreground", placeholderClassName),
11
+ multiline: true,
12
+ ...props
13
+ }, undefined, false, undefined, this);
14
+ });
15
+ Textarea.displayName = "Textarea";
16
+ export {
17
+ Textarea
18
+ };
@@ -0,0 +1,83 @@
1
+ // ui/text.tsx
2
+ import * as Slot from "@rn-primitives/slot";
3
+ import * as React from "react";
4
+ import { Text as RNText } from "react-native";
5
+ import { cn } from "@contractspec/lib.ui-kit-core/utils";
6
+ import { jsxDEV } from "react/jsx-dev-runtime";
7
+ var TextClassContext = React.createContext(undefined);
8
+ function Text2({
9
+ className,
10
+ asChild = false,
11
+ ...props
12
+ }) {
13
+ const textClass = React.useContext(TextClassContext);
14
+ const Component = asChild ? Slot.Text : RNText;
15
+ return /* @__PURE__ */ jsxDEV(Component, {
16
+ className: cn("text-foreground web:select-text text-base", textClass, className),
17
+ ...props
18
+ }, undefined, false, undefined, this);
19
+ }
20
+ // ui/time-picker.tsx
21
+ import { useMemo, useState } from "react";
22
+ import { Platform, Pressable, View } from "react-native";
23
+ import DateTimePicker from "@react-native-community/datetimepicker";
24
+ import { cn as cn2 } from "@contractspec/lib.ui-kit-core/utils";
25
+ import { jsxDEV as jsxDEV2 } from "react/jsx-dev-runtime";
26
+ function formatTimeDisplay(date, is24Hour) {
27
+ if (!date)
28
+ return "";
29
+ try {
30
+ return date.toLocaleTimeString([], {
31
+ hour: "2-digit",
32
+ minute: "2-digit",
33
+ hour12: !is24Hour
34
+ });
35
+ } catch {
36
+ return "";
37
+ }
38
+ }
39
+ function TimePicker({
40
+ value,
41
+ onChange,
42
+ disabled,
43
+ placeholder = "Select time",
44
+ is24Hour = true,
45
+ className
46
+ }) {
47
+ const [show, setShow] = useState(false);
48
+ const pickerProps = useMemo(() => ({
49
+ is24Hour,
50
+ timeZoneName: undefined
51
+ }), [is24Hour]);
52
+ const handleChange = (_event, selectedDate) => {
53
+ if (Platform.OS !== "ios")
54
+ setShow(false);
55
+ if (selectedDate) {
56
+ onChange(selectedDate);
57
+ }
58
+ };
59
+ return /* @__PURE__ */ jsxDEV2(View, {
60
+ className: cn2("w-full", className),
61
+ children: [
62
+ /* @__PURE__ */ jsxDEV2(Pressable, {
63
+ disabled,
64
+ onPress: () => setShow(true),
65
+ className: cn2("border-input bg-background h-12 flex-row items-center rounded-md border px-3", disabled && "opacity-50"),
66
+ children: /* @__PURE__ */ jsxDEV2(Text2, {
67
+ className: cn2("text-foreground text-base", !value && "opacity-50"),
68
+ children: value ? formatTimeDisplay(value, is24Hour) : placeholder
69
+ }, undefined, false, undefined, this)
70
+ }, undefined, false, undefined, this),
71
+ show && /* @__PURE__ */ jsxDEV2(DateTimePicker, {
72
+ value: value ?? new Date,
73
+ mode: "time",
74
+ display: Platform.OS === "ios" ? "spinner" : "default",
75
+ onChange: handleChange,
76
+ ...pickerProps
77
+ }, undefined, false, undefined, this)
78
+ ]
79
+ }, undefined, true, undefined, this);
80
+ }
81
+ export {
82
+ TimePicker
83
+ };