@lssm-tech/lib.ui-kit 4.1.6 → 8.0.3

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 (341) hide show
  1. package/README.md +69 -17
  2. package/package.json +1311 -807
  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.js +0 -1
  23. package/dist/browser/ui/card.js +0 -1
  24. package/dist/browser/ui/carousel.js +0 -1
  25. package/dist/browser/ui/checkbox.js +0 -1
  26. package/dist/browser/ui/collapsible.js +0 -1
  27. package/dist/browser/ui/combobox.js +0 -1
  28. package/dist/browser/ui/command.js +0 -1
  29. package/dist/browser/ui/context-menu.js +0 -1
  30. package/dist/browser/ui/contracts.typecheck.js +0 -0
  31. package/dist/browser/ui/data-table.js +0 -1
  32. package/dist/browser/ui/date-picker.js +0 -1
  33. package/dist/browser/ui/date-range-picker.js +0 -1
  34. package/dist/browser/ui/datetime-picker.js +0 -1
  35. package/dist/browser/ui/dialog.js +0 -1
  36. package/dist/browser/ui/dropdown-menu.js +0 -1
  37. package/dist/browser/ui/empty-state.js +0 -1
  38. package/dist/browser/ui/empty.js +0 -1
  39. package/dist/browser/ui/fab.js +0 -1
  40. package/dist/browser/ui/field.js +0 -1
  41. package/dist/browser/ui/form.js +0 -1
  42. package/dist/browser/ui/hover-card.js +0 -1
  43. package/dist/browser/ui/icons/Check.js +0 -1
  44. package/dist/browser/ui/icons/ChevronDown.js +0 -1
  45. package/dist/browser/ui/icons/ChevronRight.js +0 -1
  46. package/dist/browser/ui/icons/ChevronUp.js +0 -1
  47. package/dist/browser/ui/icons/CircleUser.js +0 -1
  48. package/dist/browser/ui/icons/Info.js +0 -1
  49. package/dist/browser/ui/icons/Key.js +0 -1
  50. package/dist/browser/ui/icons/MoonStar.js +0 -1
  51. package/dist/browser/ui/icons/Sun.js +0 -1
  52. package/dist/browser/ui/icons/X.js +0 -1
  53. package/dist/browser/ui/icons/iconWithClassName.js +0 -1
  54. package/dist/browser/ui/input-group.js +0 -1
  55. package/dist/browser/ui/input-otp.js +0 -1
  56. package/dist/browser/ui/input-password.js +0 -1
  57. package/dist/browser/ui/input.js +0 -1
  58. package/dist/browser/ui/label.js +0 -1
  59. package/dist/browser/ui/link.js +0 -1
  60. package/dist/browser/ui/list.js +0 -1
  61. package/dist/browser/ui/loading-button.js +0 -1
  62. package/dist/browser/ui/loading-overlay.js +0 -1
  63. package/dist/browser/ui/loading-screen.js +0 -1
  64. package/dist/browser/ui/marketing/FeatureGrid.js +0 -1
  65. package/dist/browser/ui/marketing/Hero.js +0 -1
  66. package/dist/browser/ui/marketing/PricingTable.js +0 -1
  67. package/dist/browser/ui/marketing/index.js +0 -1
  68. package/dist/browser/ui/menubar.js +0 -1
  69. package/dist/browser/ui/molecules/Autocomplete/index.js +0 -1
  70. package/dist/browser/ui/molecules/SearchAndFilter/SearchAndFilter.js +0 -1
  71. package/dist/browser/ui/molecules/SearchAndFilter/index.js +0 -1
  72. package/dist/browser/ui/molecules/SearchAndFilter/types.js +0 -0
  73. package/dist/browser/ui/molecules/SkeletonList.js +0 -1
  74. package/dist/browser/ui/native-select.js +0 -1
  75. package/dist/browser/ui/nativewind-env.d.js +0 -0
  76. package/dist/browser/ui/navigation-menu.js +0 -1
  77. package/dist/browser/ui/organisms/ErrorBoundary/ErrorBoundary.js +0 -1
  78. package/dist/browser/ui/organisms/ErrorBoundary/index.js +0 -1
  79. package/dist/browser/ui/organisms/ListPage/ListPage.js +0 -1
  80. package/dist/browser/ui/organisms/ListPage/index.js +0 -1
  81. package/dist/browser/ui/organisms/ListPage/types.js +0 -0
  82. package/dist/browser/ui/page-header.js +0 -1
  83. package/dist/browser/ui/password-strength.js +0 -1
  84. package/dist/browser/ui/popover.js +0 -1
  85. package/dist/browser/ui/portal.js +0 -1
  86. package/dist/browser/ui/progress.js +0 -1
  87. package/dist/browser/ui/radio-group.js +0 -1
  88. package/dist/browser/ui/select.js +0 -1
  89. package/dist/browser/ui/separator.js +0 -1
  90. package/dist/browser/ui/sheet.js +0 -1
  91. package/dist/browser/ui/sidebar.js +0 -1
  92. package/dist/browser/ui/skeleton.js +0 -1
  93. package/dist/browser/ui/slider.js +0 -1
  94. package/dist/browser/ui/stack.js +0 -1
  95. package/dist/browser/ui/stepper.js +0 -1
  96. package/dist/browser/ui/switch.js +0 -1
  97. package/dist/browser/ui/table.js +0 -1
  98. package/dist/browser/ui/tabs.js +0 -1
  99. package/dist/browser/ui/text.js +0 -1
  100. package/dist/browser/ui/textarea.js +0 -1
  101. package/dist/browser/ui/time-picker.js +0 -1
  102. package/dist/browser/ui/toast.js +0 -1
  103. package/dist/browser/ui/toggle-group.js +0 -1
  104. package/dist/browser/ui/toggle.js +0 -1
  105. package/dist/browser/ui/toolbar.js +0 -1
  106. package/dist/browser/ui/tooltip.js +0 -1
  107. package/dist/browser/ui/typography.js +0 -1
  108. package/dist/browser/ui/useColorScheme.js +0 -1
  109. package/dist/browser/ui/useListState.js +0 -1
  110. package/dist/browser/ui/usecases/UseCaseCard.js +0 -1
  111. package/dist/browser/ui/usecases/UserStoryCard.js +0 -1
  112. package/dist/browser/ui/usecases/index.js +0 -1
  113. package/dist/browser/ui/utils.js +0 -1
  114. package/dist/browser/ui/visualization/Visualization.js +0 -1
  115. package/dist/browser/ui/visualization/index.js +0 -1
  116. package/dist/index.d.ts +0 -2
  117. package/dist/index.js +0 -2
  118. package/dist/ui/accordion.d.ts +0 -16
  119. package/dist/ui/accordion.js +0 -2
  120. package/dist/ui/alert-dialog.d.ts +0 -46
  121. package/dist/ui/alert-dialog.js +0 -2
  122. package/dist/ui/alert.d.ts +0 -17
  123. package/dist/ui/alert.js +0 -2
  124. package/dist/ui/aspect-ratio.d.ts +0 -8
  125. package/dist/ui/aspect-ratio.js +0 -2
  126. package/dist/ui/atoms/FilterSelect/FilterSelect.d.ts +0 -3
  127. package/dist/ui/atoms/FilterSelect/FilterSelect.js +0 -2
  128. package/dist/ui/atoms/FilterSelect/index.d.ts +0 -2
  129. package/dist/ui/atoms/FilterSelect/index.js +0 -2
  130. package/dist/ui/atoms/FilterSelect/types.d.ts +0 -5
  131. package/dist/ui/atoms/FilterSelect/types.js +0 -1
  132. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.d.ts +0 -19
  133. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.js +0 -2
  134. package/dist/ui/atoms/LoadingSpinner/index.d.ts +0 -1
  135. package/dist/ui/atoms/LoadingSpinner/index.js +0 -2
  136. package/dist/ui/atoms/Pagination/Pagination.d.ts +0 -3
  137. package/dist/ui/atoms/Pagination/Pagination.js +0 -2
  138. package/dist/ui/atoms/Pagination/index.d.ts +0 -2
  139. package/dist/ui/atoms/Pagination/index.js +0 -2
  140. package/dist/ui/atoms/Pagination/types.d.ts +0 -3
  141. package/dist/ui/atoms/Pagination/types.js +0 -1
  142. package/dist/ui/atoms/SearchInput/SearchInput.d.ts +0 -3
  143. package/dist/ui/atoms/SearchInput/SearchInput.js +0 -2
  144. package/dist/ui/atoms/SearchInput/index.d.ts +0 -2
  145. package/dist/ui/atoms/SearchInput/index.js +0 -2
  146. package/dist/ui/atoms/SearchInput/types.d.ts +0 -3
  147. package/dist/ui/atoms/SearchInput/types.js +0 -1
  148. package/dist/ui/avatar.d.ts +0 -13
  149. package/dist/ui/avatar.js +0 -2
  150. package/dist/ui/badge.d.ts +0 -11
  151. package/dist/ui/badge.js +0 -2
  152. package/dist/ui/breadcrumb.d.ts +0 -12
  153. package/dist/ui/breadcrumb.js +0 -2
  154. package/dist/ui/button.d.ts +0 -16
  155. package/dist/ui/button.js +0 -2
  156. package/dist/ui/card.d.ts +0 -22
  157. package/dist/ui/card.js +0 -2
  158. package/dist/ui/carousel.d.ts +0 -1
  159. package/dist/ui/carousel.js +0 -2
  160. package/dist/ui/checkbox.d.ts +0 -12
  161. package/dist/ui/checkbox.js +0 -2
  162. package/dist/ui/collapsible.d.ts +0 -27
  163. package/dist/ui/collapsible.js +0 -2
  164. package/dist/ui/combobox.d.ts +0 -17
  165. package/dist/ui/combobox.js +0 -2
  166. package/dist/ui/command.d.ts +0 -1
  167. package/dist/ui/command.js +0 -2
  168. package/dist/ui/context-menu.d.ts +0 -83
  169. package/dist/ui/context-menu.js +0 -2
  170. package/dist/ui/contracts.typecheck.d.ts +0 -1
  171. package/dist/ui/contracts.typecheck.js +0 -1
  172. package/dist/ui/data-table.d.ts +0 -8
  173. package/dist/ui/data-table.js +0 -2
  174. package/dist/ui/data-table.smoke.test.d.ts +0 -1
  175. package/dist/ui/date-picker.d.ts +0 -4
  176. package/dist/ui/date-picker.js +0 -2
  177. package/dist/ui/date-range-picker.d.ts +0 -6
  178. package/dist/ui/date-range-picker.js +0 -2
  179. package/dist/ui/datetime-picker.d.ts +0 -6
  180. package/dist/ui/datetime-picker.js +0 -2
  181. package/dist/ui/dialog.d.ts +0 -51
  182. package/dist/ui/dialog.js +0 -2
  183. package/dist/ui/dropdown-menu.d.ts +0 -84
  184. package/dist/ui/dropdown-menu.js +0 -2
  185. package/dist/ui/empty-state.d.ts +0 -9
  186. package/dist/ui/empty-state.js +0 -2
  187. package/dist/ui/empty.d.ts +0 -12
  188. package/dist/ui/empty.js +0 -2
  189. package/dist/ui/fab.d.ts +0 -21
  190. package/dist/ui/fab.js +0 -2
  191. package/dist/ui/field.d.ts +0 -21
  192. package/dist/ui/field.js +0 -2
  193. package/dist/ui/form.d.ts +0 -29
  194. package/dist/ui/form.js +0 -2
  195. package/dist/ui/hover-card.d.ts +0 -25
  196. package/dist/ui/hover-card.js +0 -2
  197. package/dist/ui/icons/Check.d.ts +0 -2
  198. package/dist/ui/icons/Check.js +0 -2
  199. package/dist/ui/icons/ChevronDown.d.ts +0 -2
  200. package/dist/ui/icons/ChevronDown.js +0 -2
  201. package/dist/ui/icons/ChevronRight.d.ts +0 -2
  202. package/dist/ui/icons/ChevronRight.js +0 -2
  203. package/dist/ui/icons/ChevronUp.d.ts +0 -2
  204. package/dist/ui/icons/ChevronUp.js +0 -2
  205. package/dist/ui/icons/CircleUser.d.ts +0 -2
  206. package/dist/ui/icons/CircleUser.js +0 -2
  207. package/dist/ui/icons/Info.d.ts +0 -2
  208. package/dist/ui/icons/Info.js +0 -2
  209. package/dist/ui/icons/Key.d.ts +0 -2
  210. package/dist/ui/icons/Key.js +0 -2
  211. package/dist/ui/icons/MoonStar.d.ts +0 -2
  212. package/dist/ui/icons/MoonStar.js +0 -2
  213. package/dist/ui/icons/Sun.d.ts +0 -2
  214. package/dist/ui/icons/Sun.js +0 -2
  215. package/dist/ui/icons/X.d.ts +0 -2
  216. package/dist/ui/icons/X.js +0 -2
  217. package/dist/ui/icons/iconWithClassName.d.ts +0 -2
  218. package/dist/ui/icons/iconWithClassName.js +0 -2
  219. package/dist/ui/input-group.d.ts +0 -36
  220. package/dist/ui/input-group.js +0 -2
  221. package/dist/ui/input-otp.d.ts +0 -20
  222. package/dist/ui/input-otp.js +0 -2
  223. package/dist/ui/input-password.d.ts +0 -10
  224. package/dist/ui/input-password.js +0 -2
  225. package/dist/ui/input.d.ts +0 -8
  226. package/dist/ui/input.js +0 -2
  227. package/dist/ui/label.d.ts +0 -3
  228. package/dist/ui/label.js +0 -2
  229. package/dist/ui/link.d.ts +0 -6
  230. package/dist/ui/link.js +0 -2
  231. package/dist/ui/list.d.ts +0 -23
  232. package/dist/ui/list.js +0 -2
  233. package/dist/ui/loading-button.d.ts +0 -9
  234. package/dist/ui/loading-button.js +0 -2
  235. package/dist/ui/loading-overlay.d.ts +0 -7
  236. package/dist/ui/loading-overlay.js +0 -2
  237. package/dist/ui/loading-screen.d.ts +0 -6
  238. package/dist/ui/loading-screen.js +0 -2
  239. package/dist/ui/marketing/FeatureGrid.d.ts +0 -4
  240. package/dist/ui/marketing/FeatureGrid.js +0 -2
  241. package/dist/ui/marketing/Hero.d.ts +0 -16
  242. package/dist/ui/marketing/Hero.js +0 -2
  243. package/dist/ui/marketing/PricingTable.d.ts +0 -4
  244. package/dist/ui/marketing/PricingTable.js +0 -2
  245. package/dist/ui/marketing/index.d.ts +0 -3
  246. package/dist/ui/marketing/index.js +0 -2
  247. package/dist/ui/menubar.d.ts +0 -80
  248. package/dist/ui/menubar.js +0 -2
  249. package/dist/ui/molecules/Autocomplete/index.d.ts +0 -1
  250. package/dist/ui/molecules/Autocomplete/index.js +0 -2
  251. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.d.ts +0 -3
  252. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.js +0 -2
  253. package/dist/ui/molecules/SearchAndFilter/index.d.ts +0 -2
  254. package/dist/ui/molecules/SearchAndFilter/index.js +0 -2
  255. package/dist/ui/molecules/SearchAndFilter/types.d.ts +0 -4
  256. package/dist/ui/molecules/SearchAndFilter/types.js +0 -1
  257. package/dist/ui/molecules/SkeletonList.d.ts +0 -7
  258. package/dist/ui/molecules/SkeletonList.js +0 -2
  259. package/dist/ui/native-select.d.ts +0 -29
  260. package/dist/ui/native-select.js +0 -2
  261. package/dist/ui/nativewind-env.d.js +0 -1
  262. package/dist/ui/navigation-menu.d.ts +0 -44
  263. package/dist/ui/navigation-menu.js +0 -2
  264. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.d.ts +0 -25
  265. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.js +0 -2
  266. package/dist/ui/organisms/ErrorBoundary/index.d.ts +0 -2
  267. package/dist/ui/organisms/ErrorBoundary/index.js +0 -2
  268. package/dist/ui/organisms/ListPage/ListPage.d.ts +0 -2
  269. package/dist/ui/organisms/ListPage/ListPage.js +0 -2
  270. package/dist/ui/organisms/ListPage/index.d.ts +0 -2
  271. package/dist/ui/organisms/ListPage/index.js +0 -2
  272. package/dist/ui/organisms/ListPage/types.d.ts +0 -44
  273. package/dist/ui/organisms/ListPage/types.js +0 -1
  274. package/dist/ui/page-header.d.ts +0 -9
  275. package/dist/ui/page-header.js +0 -2
  276. package/dist/ui/password-strength.d.ts +0 -13
  277. package/dist/ui/password-strength.js +0 -2
  278. package/dist/ui/popover.d.ts +0 -23
  279. package/dist/ui/popover.js +0 -2
  280. package/dist/ui/portal.d.ts +0 -1
  281. package/dist/ui/portal.js +0 -2
  282. package/dist/ui/progress.d.ts +0 -7
  283. package/dist/ui/progress.js +0 -2
  284. package/dist/ui/radio-group.d.ts +0 -4
  285. package/dist/ui/radio-group.js +0 -2
  286. package/dist/ui/select.d.ts +0 -60
  287. package/dist/ui/select.js +0 -2
  288. package/dist/ui/separator.d.ts +0 -6
  289. package/dist/ui/separator.js +0 -2
  290. package/dist/ui/sheet.d.ts +0 -1
  291. package/dist/ui/sheet.js +0 -2
  292. package/dist/ui/sidebar.d.ts +0 -1
  293. package/dist/ui/sidebar.js +0 -2
  294. package/dist/ui/skeleton.d.ts +0 -4
  295. package/dist/ui/skeleton.js +0 -2
  296. package/dist/ui/slider.d.ts +0 -7
  297. package/dist/ui/slider.js +0 -2
  298. package/dist/ui/stack.d.ts +0 -43
  299. package/dist/ui/stack.js +0 -2
  300. package/dist/ui/stepper.d.ts +0 -10
  301. package/dist/ui/stepper.js +0 -2
  302. package/dist/ui/switch.d.ts +0 -7
  303. package/dist/ui/switch.js +0 -2
  304. package/dist/ui/table.d.ts +0 -24
  305. package/dist/ui/table.js +0 -2
  306. package/dist/ui/tabs.d.ts +0 -6
  307. package/dist/ui/tabs.js +0 -2
  308. package/dist/ui/text.d.ts +0 -12
  309. package/dist/ui/text.js +0 -2
  310. package/dist/ui/textarea.d.ts +0 -8
  311. package/dist/ui/textarea.js +0 -2
  312. package/dist/ui/time-picker.d.ts +0 -4
  313. package/dist/ui/time-picker.js +0 -2
  314. package/dist/ui/toast.d.ts +0 -40
  315. package/dist/ui/toast.js +0 -2
  316. package/dist/ui/toggle-group.d.ts +0 -15
  317. package/dist/ui/toggle-group.js +0 -2
  318. package/dist/ui/toggle.d.ts +0 -19
  319. package/dist/ui/toggle.js +0 -2
  320. package/dist/ui/toolbar.d.ts +0 -25
  321. package/dist/ui/toolbar.js +0 -2
  322. package/dist/ui/tooltip.d.ts +0 -27
  323. package/dist/ui/tooltip.js +0 -2
  324. package/dist/ui/typography.d.ts +0 -16
  325. package/dist/ui/typography.js +0 -2
  326. package/dist/ui/useColorScheme.d.ts +0 -6
  327. package/dist/ui/useColorScheme.js +0 -2
  328. package/dist/ui/useListState.d.ts +0 -6
  329. package/dist/ui/useListState.js +0 -2
  330. package/dist/ui/usecases/UseCaseCard.d.ts +0 -7
  331. package/dist/ui/usecases/UseCaseCard.js +0 -2
  332. package/dist/ui/usecases/UserStoryCard.d.ts +0 -5
  333. package/dist/ui/usecases/UserStoryCard.js +0 -2
  334. package/dist/ui/usecases/index.d.ts +0 -2
  335. package/dist/ui/usecases/index.js +0 -2
  336. package/dist/ui/utils.d.ts +0 -2
  337. package/dist/ui/utils.js +0 -2
  338. package/dist/ui/visualization/Visualization.d.ts +0 -7
  339. package/dist/ui/visualization/Visualization.js +0 -2
  340. package/dist/ui/visualization/index.d.ts +0 -1
  341. package/dist/ui/visualization/index.js +0 -2
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{cn as A}from"@contractspec/lib.ui-kit-core/utils";import*as P from"@rn-primitives/slot";import*as Z from"react";import{Text as S}from"react-native";import{jsx as v}from"react/jsx-runtime";var k=Z.createContext(void 0);function F({className:q,asChild:D=!1,...z}){let E=Z.useContext(k);return v(D?P.Text:S,{className:A("web:select-text text-base text-foreground",E,q),...z})}import{cn as $}from"@contractspec/lib.ui-kit-core/utils";import{cva as M}from"class-variance-authority";import{View as Q}from"react-native";import{jsx as B}from"react/jsx-runtime";var R="flex",V=M([R,"flex-col"],{variants:{spacing:{none:"",xs:"gap-y-1",sm:"gap-y-2",md:"gap-y-4",lg:"gap-y-6",xl:"gap-y-8","2xl":"gap-y-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"}},defaultVariants:{spacing:"md",align:"stretch",justify:"start",width:"auto",padding:"none",gap:"none"}}),T=M([R,"flex-row"],{variants:{spacing:{none:"",xs:"gap-x-1",sm:"gap-x-2",md:"gap-x-4",lg:"gap-x-6",xl:"gap-x-8","2xl":"gap-x-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end",baseline:"items-baseline"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},wrap:{nowrap:"flex-nowrap",wrap:"flex-wrap",reverse:"flex-wrap-reverse"}},defaultVariants:{spacing:"md",align:"center",justify:"start",width:"auto",padding:"none",gap:"none",wrap:"wrap"}}),w=M([R,"flex-row"],{variants:{spacing:{none:"",xs:"gap-x-1",sm:"gap-x-2",md:"gap-x-4",lg:"gap-x-6",xl:"gap-x-8","2xl":"gap-x-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end",baseline:"items-baseline"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},wrap:{nowrap:"flex-nowrap",wrap:"flex-wrap",reverse:"flex-wrap-reverse"}},defaultVariants:{spacing:"md",align:"center",justify:"center",width:"auto",padding:"none",gap:"none",wrap:"wrap"}});function o({className:q,spacing:D,align:z,justify:E,width:K,padding:O,gap:U,wrap:W,..._}){return B(Q,{className:$(w({spacing:D,align:z,justify:E,width:K,padding:O,gap:U,wrap:W}),q),..._})}function n({className:q,spacing:D,align:z,justify:E,width:K,padding:O,gap:U,wrap:W,..._}){return B(Q,{className:$(T({spacing:D,align:z,justify:E,width:K,padding:O,gap:U,wrap:W}),q),..._})}function H({className:q,spacing:D,align:z,justify:E,width:K,padding:O,gap:U,...W}){return B(Q,{className:$(V({spacing:D,align:z,justify:E,width:K,padding:O,gap:U}),q),...W})}import{cn as I}from"@contractspec/lib.ui-kit-core/utils";import*as G from"@rn-primitives/slot";import{Platform as b}from"react-native";import{jsx as J}from"react/jsx-runtime";function t({className:q,asChild:D=!1,...z}){return J(D?G.Text:F,{role:"heading","aria-level":"1",className:I("web:select-text web:scroll-m-20 font-extrabold text-4xl text-foreground tracking-tight lg:text-5xl",q),...z})}function i({className:q,asChild:D=!1,...z}){return J(D?G.Text:F,{role:"heading","aria-level":"2",className:I("web:select-text web:scroll-m-20 border-border border-b pb-2 font-semibold text-3xl text-foreground tracking-tight first:mt-0",q),...z})}function f({className:q,asChild:D=!1,...z}){return J(D?G.Text:F,{role:"heading","aria-level":"3",className:I("web:select-text web:scroll-m-20 font-semibold text-2xl text-foreground tracking-tight",q),...z})}function a({className:q,asChild:D=!1,...z}){return J(D?G.Text:F,{role:"heading","aria-level":"4",className:I("web:select-text web:scroll-m-20 font-semibold text-foreground text-xl tracking-tight",q),...z})}function s({className:q,asChild:D=!1,...z}){return J(D?G.Text:F,{className:I("web:select-text text-base text-foreground",q),...z})}function qq({className:q,asChild:D=!1,...z}){return J(D?G.Text:F,{role:b.OS==="web"?"blockquote":void 0,className:I("mt-6 native:mt-4 web:select-text border-border border-l-2 native:pl-3 pl-6 text-base text-foreground italic",q),...z})}function zq({className:q,asChild:D=!1,...z}){return J(D?G.Text:F,{role:b.OS==="web"?"code":void 0,className:I("relative web:select-text rounded-md bg-muted px-[0.3rem] py-[0.2rem] font-semibold text-foreground text-sm",q),...z})}function Dq({className:q,asChild:D=!1,...z}){return J(D?G.Text:F,{className:I("web:select-text text-muted-foreground text-xl",q),...z})}function Eq({className:q,asChild:D=!1,...z}){return J(D?G.Text:F,{className:I("web:select-text font-semibold text-foreground text-xl",q),...z})}function Fq({className:q,asChild:D=!1,...z}){return J(D?G.Text:F,{className:I("web:select-text font-medium text-foreground text-sm leading-none",q),...z})}function Gq({className:q,asChild:D=!1,...z}){return J(D?G.Text:F,{className:I("web:select-text text-muted-foreground text-sm",q),...z})}import{cn as u}from"@contractspec/lib.ui-kit-core/utils";import{cva as y}from"class-variance-authority";import{View as X}from"react-native";import{jsx as Y,jsxs as L}from"react/jsx-runtime";var g=y("items-center text-center",{variants:{density:{compact:"gap-3 p-6",default:"gap-4 p-8"}},defaultVariants:{density:"default"}});function Zq({icon:q,title:D,description:z,primaryAction:E,secondaryAction:K,className:O,density:U}){return L(H,{className:u(g({density:U}),O),children:[q?Y(X,{className:"flex h-12 w-12 items-center justify-center rounded-full bg-muted",children:Y(X,{className:"flex items-center justify-center text-muted-foreground",children:q})}):null,L(X,{children:[Y(f,{className:"font-medium",children:D}),z?Y(X,{className:"text-base text-muted-foreground",children:Y(F,{children:z})}):null]}),(E||K)&&L(X,{className:"flex items-center justify-center gap-2",children:[E,K]})]})}export{Zq as EmptyState};
@@ -1,12 +0,0 @@
1
- import { type VariantProps } from 'class-variance-authority';
2
- import { type ViewProps } from 'react-native';
3
- declare function Empty({ className, ...props }: ViewProps): import("react/jsx-runtime").JSX.Element;
4
- declare function EmptyHeader({ className, ...props }: ViewProps): 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 }: ViewProps & VariantProps<typeof emptyMediaVariants>): import("react/jsx-runtime").JSX.Element;
9
- declare function EmptyTitle({ className, ...props }: ViewProps): import("react/jsx-runtime").JSX.Element;
10
- declare function EmptyDescription({ className, ...props }: ViewProps): import("react/jsx-runtime").JSX.Element;
11
- declare function EmptyContent({ className, ...props }: ViewProps): 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
- import{cn as q}from"@contractspec/lib.ui-kit-core/utils";import{cva as F}from"class-variance-authority";import{View as z}from"react-native";import{jsx as A}from"react/jsx-runtime";function L({className:g,...f}){return A(z,{"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 O({className:g,...f}){return A(z,{"data-slot":"empty-header",className:q("flex max-w-sm flex-col items-center gap-2 text-center",g),...f})}var G=F("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 P({className:g,variant:f="default",...B}){return A(z,{"data-slot":"empty-icon","data-variant":f,className:q(G({variant:f,className:g})),...B})}function Q({className:g,...f}){return A(z,{"data-slot":"empty-title",className:q("font-medium text-lg tracking-tight",g),...f})}function R({className:g,...f}){return A(z,{"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 S({className:g,...f}){return A(z,{"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{Q as EmptyTitle,P as EmptyMedia,O as EmptyHeader,R as EmptyDescription,S as EmptyContent,L as Empty};
package/dist/ui/fab.d.ts DELETED
@@ -1,21 +0,0 @@
1
- import React from 'react';
2
- interface FABAction {
3
- icon: React.ReactNode;
4
- label: string;
5
- onPress: () => void;
6
- color?: string;
7
- }
8
- interface FABProps {
9
- actions: FABAction[];
10
- className?: string;
11
- mainIcon?: React.ReactNode;
12
- mainColor?: string;
13
- }
14
- export declare function FAB({ actions, className, mainIcon, mainColor, }: FABProps): import("react/jsx-runtime").JSX.Element;
15
- export declare function MiniFAB({ icon, onPress, className, color, }: {
16
- icon: React.ReactNode;
17
- onPress: () => void;
18
- className?: string;
19
- color?: string;
20
- }): import("react/jsx-runtime").JSX.Element;
21
- export {};
package/dist/ui/fab.js DELETED
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{cn as z}from"@contractspec/lib.ui-kit-core/utils";import{Plus as M,X}from"lucide-react-native";import{useState as Y}from"react";import{Pressable as Q,StyleSheet as C,View as R}from"react-native";import T,{useAnimatedStyle as K,withSpring as L,withTiming as V}from"react-native-reanimated";import{jsx as q,jsxs as v}from"react/jsx-runtime";var U=T.createAnimatedComponent(Q);function A({actions:B,className:D,mainIcon:E,mainColor:F="bg-primary"}){let[f,G]=Y(!1),W=()=>{G(!f)},Z=K(()=>{return{transform:[{rotate:L(f?"45deg":"0deg",{damping:15,stiffness:150})}]}});return v(R,{className:z("absolute right-4 bottom-24 z-50",D),children:[f&&q(Q,{style:C.absoluteFillObject,className:"fixed inset-0 -top-full -left-full h-[200%] w-[200%]",onPress:()=>G(!1)}),B.map((H,J)=>{let _=K(()=>{let k=f?-(J+1)*65:0;return{transform:[{translateY:L(k,{damping:15,stiffness:150,mass:1+J*0.1})}],opacity:V(f?1:0,{duration:200}),pointerEvents:f?"auto":"none"}}),$=K(()=>{return{transform:[{scale:L(f?1:0.8,{damping:15,stiffness:150})}]}});return q(U,{style:[_,$],className:"absolute right-0 bottom-0",onPress:()=>{H.onPress(),G(!1)},children:q(R,{className:z("h-12 w-12 items-center justify-center rounded-full shadow-lg",H.color||"bg-secondary"),children:H.icon})},J)}),q(U,{onPress:W,className:z("h-14 w-14 items-center justify-center rounded-full shadow-xl",F),style:[Z,{shadowColor:"#000",shadowOffset:{width:0,height:4},shadowOpacity:0.3,shadowRadius:8,elevation:8}],children:f?q(X,{size:24,color:"white",strokeWidth:2.5}):E||q(M,{size:24,color:"white",strokeWidth:2.5})})]})}function b({icon:B,onPress:D,className:E,color:F="bg-primary"}){return q(Q,{onPress:D,className:z("h-12 w-12 items-center justify-center rounded-full shadow-lg",F,E),style:{shadowColor:"#000",shadowOffset:{width:0,height:2},shadowOpacity:0.25,shadowRadius:4,elevation:5},children:B})}export{b as MiniFAB,A as FAB};
@@ -1,21 +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 { Label } from './label';
4
- import { type BoxProps } from './stack';
5
- import { type TypographyProps } from './typography';
6
- declare function FieldSet({ className, ...props }: BoxProps): import("react/jsx-runtime").JSX.Element;
7
- declare function FieldLegend({ className, variant, ...props }: BoxProps & SharedFieldLegendProps): import("react/jsx-runtime").JSX.Element;
8
- declare function FieldGroup({ className, ...props }: BoxProps): import("react/jsx-runtime").JSX.Element;
9
- declare const fieldVariants: (props?: ({
10
- orientation?: "vertical" | "horizontal" | "responsive" | null | undefined;
11
- } & import("class-variance-authority/types").ClassProp) | undefined) => string;
12
- declare function Field({ className, orientation, ...props }: BoxProps & SharedFieldProps & VariantProps<typeof fieldVariants>): import("react/jsx-runtime").JSX.Element;
13
- declare function FieldContent({ className, ...props }: BoxProps): import("react/jsx-runtime").JSX.Element;
14
- declare function FieldLabel({ className, ...props }: React.ComponentProps<typeof Label>): import("react/jsx-runtime").JSX.Element;
15
- declare function FieldTitle({ className, ...props }: BoxProps): import("react/jsx-runtime").JSX.Element;
16
- declare function FieldDescription({ className, ...props }: TypographyProps): import("react/jsx-runtime").JSX.Element;
17
- declare function FieldSeparator({ children, className, ...props }: BoxProps & {
18
- children?: React.ReactNode;
19
- }): import("react/jsx-runtime").JSX.Element;
20
- declare function FieldError({ className, children, errors, ...props }: BoxProps & SharedFieldErrorProps): import("react/jsx-runtime").JSX.Element | null;
21
- export { Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, };
package/dist/ui/field.js DELETED
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{cn as v}from"@contractspec/lib.ui-kit-core/utils";import*as f from"@rn-primitives/slot";import*as Q from"react";import{Text as g}from"react-native";import{jsx as u}from"react/jsx-runtime";var C=Q.createContext(void 0);function U({className:z,asChild:q=!1,...A}){let J=Q.useContext(C);return u(q?f.Text:g,{className:v("web:select-text text-base text-foreground",J,z),...A})}import{cn as B}from"@contractspec/lib.ui-kit-core/utils";import*as R from"@rn-primitives/label";import{Platform as k}from"react-native";import{jsx as w}from"react/jsx-runtime";function y({className:z,onPress:q,onLongPress:A,onPressIn:J,onPressOut:X,disabled:Y,...E}){return w(R.Root,{className:B("flex select-none flex-row items-center gap-2",k.select({web:"cursor-default leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-50 group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50"}),Y&&"opacity-50"),onPress:q,onLongPress:A,onPressIn:J,onPressOut:X,disabled:Y,children:w(R.Text,{className:B("font-medium text-foreground text-sm",k.select({web:"leading-none"}),z),...E})})}import{cn as M}from"@contractspec/lib.ui-kit-core/utils";import{cva as O}from"class-variance-authority";import{View as H}from"react-native";import{jsx as V}from"react/jsx-runtime";var L="flex",j=O([L,"flex-col"],{variants:{spacing:{none:"",xs:"gap-y-1",sm:"gap-y-2",md:"gap-y-4",lg:"gap-y-6",xl:"gap-y-8","2xl":"gap-y-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"}},defaultVariants:{spacing:"md",align:"stretch",justify:"start",width:"auto",padding:"none",gap:"none"}}),h=O([L,"flex-row"],{variants:{spacing:{none:"",xs:"gap-x-1",sm:"gap-x-2",md:"gap-x-4",lg:"gap-x-6",xl:"gap-x-8","2xl":"gap-x-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end",baseline:"items-baseline"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},wrap:{nowrap:"flex-nowrap",wrap:"flex-wrap",reverse:"flex-wrap-reverse"}},defaultVariants:{spacing:"md",align:"center",justify:"start",width:"auto",padding:"none",gap:"none",wrap:"wrap"}}),N=O([L,"flex-row"],{variants:{spacing:{none:"",xs:"gap-x-1",sm:"gap-x-2",md:"gap-x-4",lg:"gap-x-6",xl:"gap-x-8","2xl":"gap-x-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end",baseline:"items-baseline"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},wrap:{nowrap:"flex-nowrap",wrap:"flex-wrap",reverse:"flex-wrap-reverse"}},defaultVariants:{spacing:"md",align:"center",justify:"center",width:"auto",padding:"none",gap:"none",wrap:"wrap"}});function $({className:z,spacing:q,align:A,justify:J,width:X,padding:Y,gap:E,wrap:G,...I}){return V(H,{className:M(N({spacing:q,align:A,justify:J,width:X,padding:Y,gap:E,wrap:G}),z),...I})}function Jq({className:z,spacing:q,align:A,justify:J,width:X,padding:Y,gap:E,wrap:G,...I}){return V(H,{className:M(h({spacing:q,align:A,justify:J,width:X,padding:Y,gap:E,wrap:G}),z),...I})}function S({className:z,spacing:q,align:A,justify:J,width:X,padding:Y,gap:E,...G}){return V(H,{className:M(j({spacing:q,align:A,justify:J,width:X,padding:Y,gap:E}),z),...G})}import{cn as Z}from"@contractspec/lib.ui-kit-core/utils";import*as W from"@rn-primitives/slot";import{Platform as P}from"react-native";import{jsx as _}from"react/jsx-runtime";function Zq({className:z,asChild:q=!1,...A}){return _(q?W.Text:U,{role:"heading","aria-level":"1",className:Z("web:select-text web:scroll-m-20 font-extrabold text-4xl text-foreground tracking-tight lg:text-5xl",z),...A})}function _q({className:z,asChild:q=!1,...A}){return _(q?W.Text:U,{role:"heading","aria-level":"2",className:Z("web:select-text web:scroll-m-20 border-border border-b pb-2 font-semibold text-3xl text-foreground tracking-tight first:mt-0",z),...A})}function $q({className:z,asChild:q=!1,...A}){return _(q?W.Text:U,{role:"heading","aria-level":"3",className:Z("web:select-text web:scroll-m-20 font-semibold text-2xl text-foreground tracking-tight",z),...A})}function Dq({className:z,asChild:q=!1,...A}){return _(q?W.Text:U,{role:"heading","aria-level":"4",className:Z("web:select-text web:scroll-m-20 font-semibold text-foreground text-xl tracking-tight",z),...A})}function F({className:z,asChild:q=!1,...A}){return _(q?W.Text:U,{className:Z("web:select-text text-base text-foreground",z),...A})}function Eq({className:z,asChild:q=!1,...A}){return _(q?W.Text:U,{role:P.OS==="web"?"blockquote":void 0,className:Z("mt-6 native:mt-4 web:select-text border-border border-l-2 native:pl-3 pl-6 text-base text-foreground italic",z),...A})}function Gq({className:z,asChild:q=!1,...A}){return _(q?W.Text:U,{role:P.OS==="web"?"code":void 0,className:Z("relative web:select-text rounded-md bg-muted px-[0.3rem] py-[0.2rem] font-semibold text-foreground text-sm",z),...A})}function Qq({className:z,asChild:q=!1,...A}){return _(q?W.Text:U,{className:Z("web:select-text text-muted-foreground text-xl",z),...A})}function Rq({className:z,asChild:q=!1,...A}){return _(q?W.Text:U,{className:Z("web:select-text font-semibold text-foreground text-xl",z),...A})}function Iq({className:z,asChild:q=!1,...A}){return _(q?W.Text:U,{className:Z("web:select-text font-medium text-foreground text-sm leading-none",z),...A})}function Mq({className:z,asChild:q=!1,...A}){return _(q?W.Text:U,{className:Z("web:select-text text-muted-foreground text-sm",z),...A})}import{cn as m}from"@contractspec/lib.ui-kit-core/utils";import*as T from"@rn-primitives/separator";import{jsx as x}from"react/jsx-runtime";function b({className:z,orientation:q="horizontal",decorative:A=!0,...J}){return x(T.Root,{decorative:A,orientation:q,className:m("shrink-0 bg-border",q==="horizontal"?"h-px w-full":"h-full w-px",z),...J})}import{cn as D}from"@contractspec/lib.ui-kit-core/utils";import{cva as d}from"class-variance-authority";import{useMemo as n}from"react";import{jsx as K,jsxs as l}from"react/jsx-runtime";function Tq({className:z,...q}){return K($,{"data-slot":"field-set",className:D("flex flex-col gap-6","has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3",z),...q})}function bq({className:z,variant:q="legend",...A}){return K($,{"data-slot":"field-legend","data-variant":q,className:D("mb-3 font-medium","data-[variant=legend]:text-base","data-[variant=label]:text-sm",z),...A})}function vq({className:z,...q}){return K($,{"data-slot":"field-group",className:D("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",z),...q})}var o=d("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 gq({className:z,orientation:q="vertical",...A}){return K($,{role:"group","data-slot":"field","data-orientation":q,className:D(o({orientation:q}),z),...A})}function Cq({className:z,...q}){return K($,{"data-slot":"field-content",className:D("group/field-content flex flex-1 flex-col gap-1.5 leading-snug",z),...q})}function uq({className:z,...q}){return K(y,{"data-slot":"field-label",className:D("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",z),...q})}function jq({className:z,...q}){return K($,{"data-slot":"field-label",className:D("flex w-fit items-center gap-2 font-medium text-sm leading-snug group-data-[disabled=true]/field:opacity-50",z),...q})}function hq({className:z,...q}){return K(F,{"data-slot":"field-description",className:D("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",z),...q})}function Nq({children:z,className:q,...A}){return l($,{"data-slot":"field-separator","data-content":!!z,className:D("relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2",q),...A,children:[K(b,{className:"absolute inset-0 top-1/2"}),z&&K($,{className:"relative mx-auto block w-fit bg-background px-2 text-muted-foreground","data-slot":"field-separator-content",children:z})]})}function mq({className:z,children:q,errors:A,...J}){let X=n(()=>{if(q)return q;if(!A?.length)return null;if(A?.length==1)return A[0]?.message;return K(S,{className:"ml-4 flex list-disc flex-col gap-1",children:A.map((Y,E)=>Y?.message&&K(F,{children:Y.message},E))})},[q,A]);if(!X)return null;return K($,{role:"alert","data-slot":"field-error",className:D("font-normal text-destructive text-sm",z),...J,children:X})}export{jq as FieldTitle,Tq as FieldSet,Nq as FieldSeparator,bq as FieldLegend,uq as FieldLabel,vq as FieldGroup,mq as FieldError,hq as FieldDescription,Cq as FieldContent,gq as Field};
package/dist/ui/form.d.ts DELETED
@@ -1,29 +0,0 @@
1
- import * as React from 'react';
2
- import { type ControllerProps, type FieldPath, type FieldValues } from 'react-hook-form';
3
- import { View as RNView } from 'react-native';
4
- import { Label } from './label';
5
- import { P } from './typography';
6
- export { zodResolver } from '@hookform/resolvers/zod';
7
- export { type UseFormReturn, useFieldArray, useForm } from 'react-hook-form';
8
- declare const Form: <TFieldValues extends FieldValues, TContext = any, TTransformedValues = TFieldValues>(props: import("react-hook-form").FormProviderProps<TFieldValues, TContext, TTransformedValues>) => React.JSX.Element;
9
- declare const FormField: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ ...props }: ControllerProps<TFieldValues, TName>) => import("react/jsx-runtime").JSX.Element;
10
- declare const useFormField: () => {
11
- invalid: boolean;
12
- isDirty: boolean;
13
- isTouched: boolean;
14
- isValidating: boolean;
15
- error?: import("react-hook-form").FieldError;
16
- id: string;
17
- name: string;
18
- formItemId: string;
19
- formDescriptionId: string;
20
- formMessageId: string;
21
- };
22
- declare function FormItem({ className, ...props }: React.ComponentProps<typeof RNView>): import("react/jsx-runtime").JSX.Element;
23
- declare function FormLabel({ className, ...props }: React.ComponentProps<typeof Label>): import("react/jsx-runtime").JSX.Element;
24
- declare function FormControl({ asChild, ...props }: React.ComponentProps<typeof RNView> & {
25
- asChild?: boolean;
26
- }): import("react/jsx-runtime").JSX.Element;
27
- declare function FormDescription({ className, ...props }: React.ComponentProps<typeof P>): import("react/jsx-runtime").JSX.Element;
28
- declare function FormMessage({ className, ...props }: React.ComponentProps<typeof P>): import("react/jsx-runtime").JSX.Element | null;
29
- export { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField, };
package/dist/ui/form.js DELETED
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{cn as v}from"@contractspec/lib.ui-kit-core/utils";import*as V from"@rn-primitives/slot";import*as z from"react";import{Text as I}from"react-native";import{jsx as b}from"react/jsx-runtime";var T=z.createContext(void 0);function J({className:A,asChild:q=!1,...E}){let G=z.useContext(T);return b(q?V.Text:I,{className:v("web:select-text text-base text-foreground",G,A),...E})}import{cn as R}from"@contractspec/lib.ui-kit-core/utils";import*as B from"@rn-primitives/label";import{Platform as y}from"react-native";import{jsx as D}from"react/jsx-runtime";function H({className:A,onPress:q,onLongPress:E,onPressIn:G,onPressOut:X,disabled:$,...Z}){return D(B.Root,{className:R("flex select-none flex-row items-center gap-2",y.select({web:"cursor-default leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-50 group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50"}),$&&"opacity-50"),onPress:q,onLongPress:E,onPressIn:G,onPressOut:X,disabled:$,children:D(B.Text,{className:R("font-medium text-foreground text-sm",y.select({web:"leading-none"}),A),...Z})})}import{cn as U}from"@contractspec/lib.ui-kit-core/utils";import*as K from"@rn-primitives/slot";import{Platform as M}from"react-native";import{jsx as W}from"react/jsx-runtime";function l({className:A,asChild:q=!1,...E}){return W(q?K.Text:J,{role:"heading","aria-level":"1",className:U("web:select-text web:scroll-m-20 font-extrabold text-4xl text-foreground tracking-tight lg:text-5xl",A),...E})}function t({className:A,asChild:q=!1,...E}){return W(q?K.Text:J,{role:"heading","aria-level":"2",className:U("web:select-text web:scroll-m-20 border-border border-b pb-2 font-semibold text-3xl text-foreground tracking-tight first:mt-0",A),...E})}function o({className:A,asChild:q=!1,...E}){return W(q?K.Text:J,{role:"heading","aria-level":"3",className:U("web:select-text web:scroll-m-20 font-semibold text-2xl text-foreground tracking-tight",A),...E})}function a({className:A,asChild:q=!1,...E}){return W(q?K.Text:J,{role:"heading","aria-level":"4",className:U("web:select-text web:scroll-m-20 font-semibold text-foreground text-xl tracking-tight",A),...E})}function O({className:A,asChild:q=!1,...E}){return W(q?K.Text:J,{className:U("web:select-text text-base text-foreground",A),...E})}function r({className:A,asChild:q=!1,...E}){return W(q?K.Text:J,{role:M.OS==="web"?"blockquote":void 0,className:U("mt-6 native:mt-4 web:select-text border-border border-l-2 native:pl-3 pl-6 text-base text-foreground italic",A),...E})}function e({className:A,asChild:q=!1,...E}){return W(q?K.Text:J,{role:M.OS==="web"?"code":void 0,className:U("relative web:select-text rounded-md bg-muted px-[0.3rem] py-[0.2rem] font-semibold text-foreground text-sm",A),...E})}function s({className:A,asChild:q=!1,...E}){return W(q?K.Text:J,{className:U("web:select-text text-muted-foreground text-xl",A),...E})}function qq({className:A,asChild:q=!1,...E}){return W(q?K.Text:J,{className:U("web:select-text font-semibold text-foreground text-xl",A),...E})}function Aq({className:A,asChild:q=!1,...E}){return W(q?K.Text:J,{className:U("web:select-text font-medium text-foreground text-sm leading-none",A),...E})}function Eq({className:A,asChild:q=!1,...E}){return W(q?K.Text:J,{className:U("web:select-text text-muted-foreground text-sm",A),...E})}import{cn as Q}from"@contractspec/lib.ui-kit-core/utils";import*as S from"@rn-primitives/slot";import*as Y from"react";import{Controller as P,FormProvider as f,useFormContext as u,useFormState as j}from"react-hook-form";import{View as L}from"react-native";import{zodResolver as Rq}from"@hookform/resolvers/zod";import{useFieldArray as Dq,useForm as Hq}from"react-hook-form";import{jsx as _}from"react/jsx-runtime";var Zq=f,g=Y.createContext({}),_q=({...A})=>{return _(g.Provider,{value:{name:A.name},children:_(P,{...A})})},w=()=>{let A=Y.useId(),q=Y.useContext(g),E=Y.useContext(k),{getFieldState:G}=u();if(!q?.name)throw Error("useFormField should be used within <FormField>");let X=j({name:q.name}),$=G(q.name,X),Z=E?.id??A;return{id:Z,name:q.name,formItemId:`${Z}-form-item`,formDescriptionId:`${Z}-form-item-description`,formMessageId:`${Z}-form-item-message`,...$}},k=Y.createContext({});function $q({className:A,...q}){let E=Y.useId();return _(k.Provider,{value:{id:E},children:_(L,{"data-slot":"form-item",className:Q("flex flex-col gap-2",A),...q})})}function zq({className:A,...q}){let{error:E,formItemId:G}=w();return _(H,{"data-slot":"form-label","data-error":!!E,className:Q("data-[error=true]:text-destructive",A),htmlFor:G,...q})}function Bq({asChild:A=!1,...q}){let E=A?S.Text:L,{error:G,formItemId:X,formDescriptionId:$,formMessageId:Z}=w();return _(E,{"data-slot":"form-control",id:X,"aria-describedby":!G?`${$}`:`${$} ${Z}`,"aria-invalid":!!G,...q})}function Qq({className:A,...q}){let{formDescriptionId:E}=w();return _(O,{"data-slot":"form-description",nativeID:E,className:Q("text-muted-foreground text-sm",A),...q})}function wq({className:A,...q}){let{error:E,formMessageId:G}=w(),X=E?String(E?.message??""):q.children;if(!X)return null;return _(O,{"data-slot":"form-message",nativeID:G,className:Q("text-destructive text-sm",A),...q,children:X})}export{Rq as zodResolver,w as useFormField,Hq as useForm,Dq as useFieldArray,wq as FormMessage,zq as FormLabel,$q as FormItem,_q as FormField,Qq as FormDescription,Bq as FormControl,Zq as Form};
@@ -1,25 +0,0 @@
1
- import * as HoverCardPrimitive from '@rn-primitives/hover-card';
2
- import * as React from 'react';
3
- declare const HoverCard: {
4
- ({ asChild, openDelay: _openDelay, closeDelay: _closeDelay, onOpenChange: onOpenChangeProp, ref, ...viewProps }: import("react-native").ViewProps & {
5
- asChild?: boolean;
6
- } & {
7
- onOpenChange?: (open: boolean) => void;
8
- openDelay?: number;
9
- closeDelay?: number;
10
- } & React.RefAttributes<import("react-native").View>): React.JSX.Element;
11
- displayName: string;
12
- };
13
- declare const HoverCardTrigger: {
14
- ({ asChild, onPress: onPressProp, disabled, ref, ...props }: Omit<import("react-native").PressableProps & React.RefAttributes<import("react-native").View>, "ref"> & {
15
- asChild?: boolean;
16
- } & {
17
- onKeyDown?: (ev: React.KeyboardEvent) => void;
18
- onKeyUp?: (ev: React.KeyboardEvent) => void;
19
- } & React.RefAttributes<import("@rn-primitives/hover-card").TriggerRef>): React.JSX.Element;
20
- displayName: string;
21
- };
22
- declare function HoverCardContent({ className, align, sideOffset, ...props }: HoverCardPrimitive.ContentProps & {
23
- ref?: React.RefObject<HoverCardPrimitive.ContentRef>;
24
- }): import("react/jsx-runtime").JSX.Element;
25
- export { HoverCard, HoverCardContent, HoverCardTrigger };
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{cn as M}from"@contractspec/lib.ui-kit-core/utils";import*as L from"@rn-primitives/slot";import*as z from"react";import{Text as Q}from"react-native";import{jsx as U}from"react/jsx-runtime";var J=z.createContext(void 0);function y({className:B,asChild:D=!1,...E}){let G=z.useContext(J);return U(D?L.Text:Q,{className:M("web:select-text text-base text-foreground",G,B),...E})}import{cn as V}from"@contractspec/lib.ui-kit-core/utils";import*as q from"@rn-primitives/hover-card";import{Platform as W,StyleSheet as X}from"react-native";import Y,{FadeIn as Z}from"react-native-reanimated";import{jsx as w}from"react/jsx-runtime";var k=q.Root,O=q.Trigger;function S({className:B,align:D="center",sideOffset:E=4,...G}){let{open:K}=q.useRootContext();return w(q.Portal,{children:w(q.Overlay,{style:W.OS!=="web"?X.absoluteFill:void 0,children:w(Y.View,{entering:Z,children:w(J.Provider,{value:"text-popover-foreground",children:w(q.Content,{align:D,sideOffset:E,className:V("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 web:cursor-auto rounded-md border border-border bg-popover p-4 shadow-foreground/5 shadow-md web:outline-hidden",K?"web:fade-in-0 web:zoom-in-95 web:animate-in":"web:fade-out-0 web:zoom-out-95 web:animate-out",B),...G})})})})})}export{O as HoverCardTrigger,S as HoverCardContent,k as HoverCard};
@@ -1,2 +0,0 @@
1
- import { Check } from 'lucide-react-native';
2
- export { Check };
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{styled as o}from"nativewind";function t(e){o(e,{className:{target:"style",nativeStyleMapping:{color:!0,opacity:!0}}})}import{Check as i}from"lucide-react-native";t(i);export{i as Check};
@@ -1,2 +0,0 @@
1
- import { ChevronDown } from 'lucide-react-native';
2
- export { ChevronDown };
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{styled as e}from"nativewind";function t(o){e(o,{className:{target:"style",nativeStyleMapping:{color:!0,opacity:!0}}})}import{ChevronDown as i}from"lucide-react-native";t(i);export{i as ChevronDown};
@@ -1,2 +0,0 @@
1
- import { ChevronRight } from 'lucide-react-native';
2
- export { ChevronRight };
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{styled as o}from"nativewind";function t(e){o(e,{className:{target:"style",nativeStyleMapping:{color:!0,opacity:!0}}})}import{ChevronRight as i}from"lucide-react-native";t(i);export{i as ChevronRight};
@@ -1,2 +0,0 @@
1
- import { ChevronUp } from 'lucide-react-native';
2
- export { ChevronUp };
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{styled as o}from"nativewind";function t(e){o(e,{className:{target:"style",nativeStyleMapping:{color:!0,opacity:!0}}})}import{ChevronUp as i}from"lucide-react-native";t(i);export{i as ChevronUp};
@@ -1,2 +0,0 @@
1
- import { CircleUserRoundIcon } from 'lucide-react-native';
2
- export { CircleUserRoundIcon };
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{styled as o}from"nativewind";function t(e){o(e,{className:{target:"style",nativeStyleMapping:{color:!0,opacity:!0}}})}t(i);export{i as CircleUserRoundIcon};
@@ -1,2 +0,0 @@
1
- import { Info } from 'lucide-react-native';
2
- export { Info };
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{styled as e}from"nativewind";function t(o){e(o,{className:{target:"style",nativeStyleMapping:{color:!0,opacity:!0}}})}t(i);export{i as Info};
@@ -1,2 +0,0 @@
1
- import { KeyRoundIcon } from 'lucide-react-native';
2
- export { KeyRoundIcon };
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{styled as e}from"nativewind";function t(o){e(o,{className:{target:"style",nativeStyleMapping:{color:!0,opacity:!0}}})}t(i);export{i as KeyRoundIcon};
@@ -1,2 +0,0 @@
1
- import { MoonStar } from 'lucide-react-native';
2
- export { MoonStar };
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{styled as e}from"nativewind";function t(o){e(o,{className:{target:"style",nativeStyleMapping:{color:!0,opacity:!0}}})}t(i);export{i as MoonStar};
@@ -1,2 +0,0 @@
1
- import { Sun } from 'lucide-react-native';
2
- export { Sun };
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{styled as o}from"nativewind";function t(e){o(e,{className:{target:"style",nativeStyleMapping:{color:!0,opacity:!0}}})}t(i);export{i as Sun};
@@ -1,2 +0,0 @@
1
- import { X } from 'lucide-react-native';
2
- export { X };
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{styled as o}from"nativewind";function t(e){o(e,{className:{target:"style",nativeStyleMapping:{color:!0,opacity:!0}}})}import{X as i}from"lucide-react-native";t(i);export{i as X};
@@ -1,2 +0,0 @@
1
- import type { LucideIcon } from 'lucide-react-native';
2
- export declare function iconWithClassName(icon: LucideIcon): void;
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{styled as e}from"nativewind";function o(t){e(t,{className:{target:"style",nativeStyleMapping:{color:!0,opacity:!0}}})}export{o as iconWithClassName};
@@ -1,36 +0,0 @@
1
- import * as React from 'react';
2
- import { Button, type ButtonProps } from './button';
3
- import { Input, type InputProps } from './input';
4
- import { HStack, type HStackProps } from './stack';
5
- import { Text, type TextProps } from './text';
6
- import { Textarea, type TextareaProps } from './textarea';
7
- export type InputGroupAddonAlign = 'inline-start' | 'inline-end' | 'block-start' | 'block-end';
8
- type SlotProps = {
9
- 'data-slot'?: string;
10
- };
11
- type InputGroupProps = HStackProps & SlotProps & {
12
- 'data-disabled'?: boolean | string;
13
- };
14
- type InputGroupAddonProps = Omit<HStackProps, 'align'> & SlotProps & {
15
- align?: InputGroupAddonAlign;
16
- 'data-align'?: InputGroupAddonAlign;
17
- };
18
- declare function InputGroup({ className, ...props }: InputGroupProps & {
19
- ref?: React.RefObject<React.ComponentRef<typeof HStack>>;
20
- }): import("react/jsx-runtime").JSX.Element;
21
- declare function InputGroupAddon({ align: _align, className, ...props }: InputGroupAddonProps & {
22
- ref?: React.RefObject<React.ComponentRef<typeof HStack>>;
23
- }): import("react/jsx-runtime").JSX.Element;
24
- declare function InputGroupButton({ className, ...props }: ButtonProps & SlotProps & {
25
- ref?: React.RefObject<React.ComponentRef<typeof Button>>;
26
- }): import("react/jsx-runtime").JSX.Element;
27
- declare function InputGroupText({ className, ...props }: TextProps & SlotProps & {
28
- ref?: React.RefObject<React.ComponentRef<typeof Text>>;
29
- }): import("react/jsx-runtime").JSX.Element;
30
- declare function InputGroupInput({ className, ...props }: InputProps & SlotProps & {
31
- ref?: React.RefObject<React.ComponentRef<typeof Input>>;
32
- }): import("react/jsx-runtime").JSX.Element;
33
- declare function InputGroupTextarea({ className, ...props }: TextareaProps & SlotProps & {
34
- ref?: React.RefObject<React.ComponentRef<typeof Textarea>>;
35
- }): import("react/jsx-runtime").JSX.Element;
36
- export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, };
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{cn as k}from"@contractspec/lib.ui-kit-core/utils";import*as H from"@rn-primitives/slot";import*as U from"react";import{Text as w}from"react-native";import{jsx as C}from"react/jsx-runtime";var X=U.createContext(void 0);function z({className:D,asChild:q=!1,...E}){let F=U.useContext(X);return C(q?H.Text:w,{className:k("web:select-text text-base text-foreground",F,D),...E})}import{cn as h}from"@contractspec/lib.ui-kit-core/utils";import{cva as G}from"class-variance-authority";import{Pressable as T}from"react-native";import{jsx as B}from"react/jsx-runtime";var b=G("group flex items-center justify-center rounded-md web:ring-offset-background web:transition-colors web:focus-visible:outline-hidden web:focus-visible:ring-2 web:focus-visible:ring-ring web:focus-visible:ring-offset-2",{variants:{variant:{default:"bg-primary web:hover:opacity-90 active:opacity-90",destructive:"bg-destructive web:hover:opacity-90 active:opacity-90",outline:"border border-input bg-background web:hover:bg-accent web:hover:text-accent-foreground active:bg-accent",secondary:"bg-secondary web:hover:opacity-80 active:opacity-80",ghost:"web:hover:bg-accent web:hover:text-accent-foreground active:bg-accent",link:"web:underline-offset-4 web:hover:underline web:focus:underline"},size:{default:"h-10 native:h-12 native:px-5 px-4 native:py-3 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 native:h-14 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),v=G("web:whitespace-nowrap font-medium native:text-base text-foreground text-sm web:transition-colors",{variants:{variant:{default:"text-primary-foreground",destructive:"text-destructive-foreground",outline:"group-active:text-accent-foreground",secondary:"text-secondary-foreground group-active:text-secondary-foreground",ghost:"group-active:text-accent-foreground",link:"text-primary group-active:underline"},size:{default:"",sm:"",lg:"native:text-lg",icon:""}},defaultVariants:{variant:"default",size:"default"}});function S({ref:D,className:q,variant:E,size:F,...J}){return B(X.Provider,{value:v({variant:E,size:F,className:"web:pointer-events-none"}),children:B(T,{className:h(J.disabled&&"web:pointer-events-none opacity-50",b({variant:E,size:F,className:q})),ref:D,role:"button",...J})})}import{cn as Y}from"@contractspec/lib.ui-kit-core/utils";import{cva as Z}from"class-variance-authority";import{View as _}from"react-native";import{jsx as P}from"react/jsx-runtime";var $="flex",g=Z([$,"flex-col"],{variants:{spacing:{none:"",xs:"gap-y-1",sm:"gap-y-2",md:"gap-y-4",lg:"gap-y-6",xl:"gap-y-8","2xl":"gap-y-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"}},defaultVariants:{spacing:"md",align:"stretch",justify:"start",width:"auto",padding:"none",gap:"none"}}),d=Z([$,"flex-row"],{variants:{spacing:{none:"",xs:"gap-x-1",sm:"gap-x-2",md:"gap-x-4",lg:"gap-x-6",xl:"gap-x-8","2xl":"gap-x-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end",baseline:"items-baseline"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},wrap:{nowrap:"flex-nowrap",wrap:"flex-wrap",reverse:"flex-wrap-reverse"}},defaultVariants:{spacing:"md",align:"center",justify:"start",width:"auto",padding:"none",gap:"none",wrap:"wrap"}}),j=Z([$,"flex-row"],{variants:{spacing:{none:"",xs:"gap-x-1",sm:"gap-x-2",md:"gap-x-4",lg:"gap-x-6",xl:"gap-x-8","2xl":"gap-x-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end",baseline:"items-baseline"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},wrap:{nowrap:"flex-nowrap",wrap:"flex-wrap",reverse:"flex-wrap-reverse"}},defaultVariants:{spacing:"md",align:"center",justify:"center",width:"auto",padding:"none",gap:"none",wrap:"wrap"}});function Eq({className:D,spacing:q,align:E,justify:F,width:J,padding:M,gap:O,wrap:Q,...W}){return P(_,{className:Y(j({spacing:q,align:E,justify:F,width:J,padding:M,gap:O,wrap:Q}),D),...W})}function A({className:D,spacing:q,align:E,justify:F,width:J,padding:M,gap:O,wrap:Q,...W}){return P(_,{className:Y(d({spacing:q,align:E,justify:F,width:J,padding:M,gap:O,wrap:Q}),D),...W})}function Fq({className:D,spacing:q,align:E,justify:F,width:J,padding:M,gap:O,...Q}){return P(_,{className:Y(g({spacing:q,align:E,justify:F,width:J,padding:M,gap:O}),D),...Q})}import{cn as f}from"@contractspec/lib.ui-kit-core/utils";import{TextInput as N}from"react-native";import{jsx as m}from"react/jsx-runtime";function y({className:D,placeholderClassName:q,...E}){return m(N,{className:f("web:flex h-10 native:h-12 web:w-full rounded-md border border-input bg-background px-3 web:py-2 native:text-lg text-base text-foreground native:leading-tight web:ring-offset-background file:border-0 file:bg-transparent file:font-medium placeholder:text-muted-foreground web:focus-visible:outline-hidden web:focus-visible:ring-2 web:focus-visible:ring-ring web:focus-visible:ring-offset-2 lg:text-sm",E.editable===!1&&"web:cursor-not-allowed opacity-50",D),placeholderClassName:f("text-muted-foreground",q),...E})}import{cn as I}from"@contractspec/lib.ui-kit-core/utils";import*as V from"react";import{TextInput as x}from"react-native";import{jsx as u}from"react/jsx-runtime";var R=V.forwardRef(({className:D,placeholderClassName:q,...E},F)=>{return u(x,{ref:F,className:I("web:flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 native:text-lg text-base text-foreground native:leading-tight web:ring-offset-background file:border-0 file:bg-transparent file:font-medium placeholder:text-muted-foreground web:focus-visible:outline-hidden web:focus-visible:ring-2 web:focus-visible:ring-ring web:focus-visible:ring-offset-2 lg:text-sm",E.editable===!1&&"web:cursor-not-allowed opacity-50",D),placeholderClassName:I("text-muted-foreground",q),multiline:!0,...E})});R.displayName="Textarea";import{cn as K}from"@contractspec/lib.ui-kit-core/utils";import{jsx as L}from"react/jsx-runtime";function Hq({className:D,...q}){return L(A,{className:K("w-full rounded-md border border-input bg-background",D),gap:"xs",width:"full",...q})}function zq({align:D="inline-start",className:q,...E}){return L(A,{className:K("items-center px-2 py-1.5",q),gap:"xs",...E})}function Bq({className:D,...q}){return L(S,{className:K("h-8 px-2 shadow-none",D),size:"sm",variant:"ghost",...q})}function Gq({className:D,...q}){return L(z,{className:K("text-muted-foreground text-sm",D),...q})}function Sq({className:D,...q}){return L(y,{className:K("flex-1 border-0 bg-transparent shadow-none",D),...q})}function fq({className:D,...q}){return L(R,{className:K("flex-1 border-0 bg-transparent shadow-none",D),...q})}export{fq as InputGroupTextarea,Gq as InputGroupText,Sq as InputGroupInput,Bq as InputGroupButton,zq as InputGroupAddon,Hq as InputGroup};
@@ -1,20 +0,0 @@
1
- import * as React from 'react';
2
- import { Input, type InputProps } from './input';
3
- import { Box, type BoxProps, HStack, type HStackProps } from './stack';
4
- type InputOTPProps = InputProps & {
5
- containerClassName?: string;
6
- };
7
- declare function InputOTP({ className, containerClassName, ...props }: InputOTPProps & {
8
- ref?: React.RefObject<React.ComponentRef<typeof Input>>;
9
- }): import("react/jsx-runtime").JSX.Element;
10
- declare function InputOTPGroup({ className, ...props }: HStackProps & {
11
- ref?: React.RefObject<React.ComponentRef<typeof HStack>>;
12
- }): import("react/jsx-runtime").JSX.Element;
13
- declare function InputOTPSlot({ index: _index, className, ...props }: BoxProps & {
14
- index: number;
15
- ref?: React.RefObject<React.ComponentRef<typeof Box>>;
16
- }): import("react/jsx-runtime").JSX.Element;
17
- declare function InputOTPSeparator({ className, children, ...props }: BoxProps & {
18
- ref?: React.RefObject<React.ComponentRef<typeof Box>>;
19
- }): import("react/jsx-runtime").JSX.Element;
20
- export { InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot };
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{cn as P}from"@contractspec/lib.ui-kit-core/utils";import*as R from"@rn-primitives/slot";import*as M from"react";import{Text as f}from"react-native";import{jsx as V}from"react/jsx-runtime";var I=M.createContext(void 0);function B({className:z,asChild:q=!1,...A}){let D=M.useContext(I);return V(q?R.Text:f,{className:P("web:select-text text-base text-foreground",D,z),...A})}import{cn as W}from"@contractspec/lib.ui-kit-core/utils";import{cva as X}from"class-variance-authority";import{View as Y}from"react-native";import{jsx as G}from"react/jsx-runtime";var Z="flex",b=X([Z,"flex-col"],{variants:{spacing:{none:"",xs:"gap-y-1",sm:"gap-y-2",md:"gap-y-4",lg:"gap-y-6",xl:"gap-y-8","2xl":"gap-y-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"}},defaultVariants:{spacing:"md",align:"stretch",justify:"start",width:"auto",padding:"none",gap:"none"}}),v=X([Z,"flex-row"],{variants:{spacing:{none:"",xs:"gap-x-1",sm:"gap-x-2",md:"gap-x-4",lg:"gap-x-6",xl:"gap-x-8","2xl":"gap-x-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end",baseline:"items-baseline"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},wrap:{nowrap:"flex-nowrap",wrap:"flex-wrap",reverse:"flex-wrap-reverse"}},defaultVariants:{spacing:"md",align:"center",justify:"start",width:"auto",padding:"none",gap:"none",wrap:"wrap"}}),y=X([Z,"flex-row"],{variants:{spacing:{none:"",xs:"gap-x-1",sm:"gap-x-2",md:"gap-x-4",lg:"gap-x-6",xl:"gap-x-8","2xl":"gap-x-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end",baseline:"items-baseline"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},wrap:{nowrap:"flex-nowrap",wrap:"flex-wrap",reverse:"flex-wrap-reverse"}},defaultVariants:{spacing:"md",align:"center",justify:"center",width:"auto",padding:"none",gap:"none",wrap:"wrap"}});function _({className:z,spacing:q,align:A,justify:D,width:E,padding:J,gap:K,wrap:L,...U}){return G(Y,{className:W(y({spacing:q,align:A,justify:D,width:E,padding:J,gap:K,wrap:L}),z),...U})}function $({className:z,spacing:q,align:A,justify:D,width:E,padding:J,gap:K,wrap:L,...U}){return G(Y,{className:W(v({spacing:q,align:A,justify:D,width:E,padding:J,gap:K,wrap:L}),z),...U})}function g({className:z,spacing:q,align:A,justify:D,width:E,padding:J,gap:K,...L}){return G(Y,{className:W(b({spacing:q,align:A,justify:D,width:E,padding:J,gap:K}),z),...L})}import{cn as H}from"@contractspec/lib.ui-kit-core/utils";import{TextInput as T}from"react-native";import{jsx as k}from"react/jsx-runtime";function O({className:z,placeholderClassName:q,...A}){return k(T,{className:H("web:flex h-10 native:h-12 web:w-full rounded-md border border-input bg-background px-3 web:py-2 native:text-lg text-base text-foreground native:leading-tight web:ring-offset-background file:border-0 file:bg-transparent file:font-medium placeholder:text-muted-foreground web:focus-visible:outline-hidden web:focus-visible:ring-2 web:focus-visible:ring-ring web:focus-visible:ring-offset-2 lg:text-sm",A.editable===!1&&"web:cursor-not-allowed opacity-50",z),placeholderClassName:H("text-muted-foreground",q),...A})}import{cn as Q}from"@contractspec/lib.ui-kit-core/utils";import{jsx as F}from"react/jsx-runtime";function p({className:z,containerClassName:q,...A}){return F($,{className:Q("items-center",q),width:"full",children:F(O,{className:z,...A})})}function t({className:z,...q}){return F($,{className:Q("items-center",z),...q})}function s({index:z,className:q,...A}){return F(_,{className:Q("h-10 w-10 items-center justify-center rounded-md border border-input",q),...A})}function a({className:z,children:q,...A}){return F(_,{className:Q("items-center justify-center px-1",z),...A,children:q??F(B,{children:"-"})})}export{s as InputOTPSlot,a as InputOTPSeparator,t as InputOTPGroup,p as InputOTP};
@@ -1,10 +0,0 @@
1
- import { type InputProps } from './input';
2
- export type PasswordPurpose = 'current' | 'new';
3
- export type InputPasswordProps = Omit<InputProps, 'secureTextEntry' | 'textContentType'> & {
4
- passwordPurpose?: PasswordPurpose;
5
- visibilityToggle?: boolean;
6
- showLabel?: string;
7
- hideLabel?: string;
8
- };
9
- declare function InputPassword({ className, passwordPurpose, visibilityToggle, showLabel, hideLabel, autoComplete, editable, disabled, ...props }: InputPasswordProps): import("react/jsx-runtime").JSX.Element;
10
- export { InputPassword };
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{cn as S}from"@contractspec/lib.ui-kit-core/utils";import{TextInput as k}from"react-native";import{jsx as E}from"react/jsx-runtime";function K({className:q,placeholderClassName:B,...F}){return E(k,{className:S("web:flex h-10 native:h-12 web:w-full rounded-md border border-input bg-background px-3 web:py-2 native:text-lg text-base text-foreground native:leading-tight web:ring-offset-background file:border-0 file:bg-transparent file:font-medium placeholder:text-muted-foreground web:focus-visible:outline-hidden web:focus-visible:ring-2 web:focus-visible:ring-ring web:focus-visible:ring-offset-2 lg:text-sm",F.editable===!1&&"web:cursor-not-allowed opacity-50",q),placeholderClassName:S("text-muted-foreground",B),...F})}import{cn as V}from"@contractspec/lib.ui-kit-core/utils";import{Eye as A,EyeOff as g}from"lucide-react-native";import*as U from"react";import{Pressable as L,View as D}from"react-native";import{jsx as H,jsxs as P}from"react/jsx-runtime";function h(q){return q==="new"?"new-password":"current-password"}function I(q){return q==="new"?"newPassword":"password"}function m({className:q,passwordPurpose:B="current",visibilityToggle:F=!0,showLabel:W="Show password",hideLabel:X="Hide password",autoComplete:Y,editable:Z,disabled:J,...M}){let[G,_]=U.useState(!1),z=Boolean(J||Z===!1),$=G?X:W,O=G?g:A,Q=Y??h(B),R=I(B);if(!F)return H(K,{className:q,secureTextEntry:!0,autoComplete:Q,textContentType:R,editable:!z,disabled:J,...M});return P(D,{className:V("web:flex native:h-12 web:w-full flex-row items-center rounded-md border border-input bg-background px-3 text-foreground web:ring-offset-background",z&&"web:cursor-not-allowed opacity-50",q),children:[H(K,{className:"native:h-12 web:h-10 min-w-0 flex-1 border-0 bg-transparent px-0 shadow-none web:focus-visible:ring-0 web:focus-visible:ring-offset-0",secureTextEntry:!G,autoComplete:Q,textContentType:R,editable:!z,disabled:J,...M}),H(L,{accessibilityRole:"button",accessibilityLabel:$,accessibilityState:{disabled:z,selected:G},disabled:z,className:"native:h-10 native:w-10 items-center justify-center",onPress:()=>{_((f)=>!f)},children:H(O,{size:18,color:"#64748b"})})]})}export{m as InputPassword};
@@ -1,8 +0,0 @@
1
- import type { SharedInputProps } from '@contractspec/lib.ui-kit-core/interfaces';
2
- import * as React from 'react';
3
- import { TextInput, type TextInputProps } from 'react-native';
4
- export type InputProps = SharedInputProps & TextInputProps & {
5
- ref?: React.RefObject<TextInput>;
6
- };
7
- declare function Input({ className, placeholderClassName, ...props }: InputProps): import("react/jsx-runtime").JSX.Element;
8
- export { Input };
package/dist/ui/input.js DELETED
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{cn as g}from"@contractspec/lib.ui-kit-core/utils";import{TextInput as y}from"react-native";import{jsx as z}from"react/jsx-runtime";function D({className:q,placeholderClassName:w,...f}){return z(y,{className:g("web:flex h-10 native:h-12 web:w-full rounded-md border border-input bg-background px-3 web:py-2 native:text-lg text-base text-foreground native:leading-tight web:ring-offset-background file:border-0 file:bg-transparent file:font-medium placeholder:text-muted-foreground web:focus-visible:outline-hidden web:focus-visible:ring-2 web:focus-visible:ring-ring web:focus-visible:ring-offset-2 lg:text-sm",f.editable===!1&&"web:cursor-not-allowed opacity-50",q),placeholderClassName:g("text-muted-foreground",w),...f})}export{D as Input};
@@ -1,3 +0,0 @@
1
- import * as LabelPrimitive from '@rn-primitives/label';
2
- declare function Label({ className, onPress, onLongPress, onPressIn, onPressOut, disabled, ...props }: LabelPrimitive.TextProps & React.RefAttributes<LabelPrimitive.TextRef>): import("react/jsx-runtime").JSX.Element;
3
- export { Label };
package/dist/ui/label.js DELETED
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{cn as w}from"@contractspec/lib.ui-kit-core/utils";import*as h from"@rn-primitives/label";import{Platform as y}from"react-native";import{jsx as z}from"react/jsx-runtime";function J({className:A,onPress:B,onLongPress:C,onPressIn:D,onPressOut:E,disabled:q,...F}){return z(h.Root,{className:w("flex select-none flex-row items-center gap-2",y.select({web:"cursor-default leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-50 group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50"}),q&&"opacity-50"),onPress:B,onLongPress:C,onPressIn:D,onPressOut:E,disabled:q,children:z(h.Text,{className:w("font-medium text-foreground text-sm",y.select({web:"leading-none"}),A),...F})})}export{J as Label};
package/dist/ui/link.d.ts DELETED
@@ -1,6 +0,0 @@
1
- import { Link as LinkExpo, type LinkProps } from 'expo-router';
2
- import * as React from 'react';
3
- declare function Link({ className, ...props }: LinkProps & {
4
- ref?: React.RefObject<typeof LinkExpo>;
5
- }): import("react/jsx-runtime").JSX.Element;
6
- export { Link };
package/dist/ui/link.js DELETED
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{cn as g}from"@contractspec/lib.ui-kit-core/utils";import{Link as h}from"expo-router";import{jsx as q}from"react/jsx-runtime";function y({className:d,...f}){return q(h,{className:g('className="text-primary underline"',d),...f})}export{y as Link};
package/dist/ui/list.d.ts DELETED
@@ -1,23 +0,0 @@
1
- import { type VariantProps } from 'class-variance-authority';
2
- import * as React from 'react';
3
- import type { ViewProps } from 'react-native';
4
- import { View } from 'react-native';
5
- export type ListType = 'unordered' | 'ordered' | 'none';
6
- declare const listVariants: (props?: ({
7
- spacing?: "none" | "sm" | "lg" | "xs" | "md" | null | undefined;
8
- } & import("class-variance-authority/types").ClassProp) | undefined) => string;
9
- export type ListProps = ViewProps & VariantProps<typeof listVariants> & {
10
- type?: ListType;
11
- ref?: React.RefObject<React.ComponentRef<typeof View>>;
12
- };
13
- declare function List({ className, type, spacing, ...props }: ListProps): import("react/jsx-runtime").JSX.Element;
14
- declare const listItemVariants: (props?: ({
15
- tone?: "default" | "muted" | null | undefined;
16
- } & import("class-variance-authority/types").ClassProp) | undefined) => string;
17
- export type ListItemProps = ViewProps & VariantProps<typeof listItemVariants> & {
18
- index?: number;
19
- marker?: React.ReactNode | false;
20
- ref?: React.RefObject<React.ComponentRef<typeof View>>;
21
- };
22
- declare function ListItem({ children, className, tone, index, marker, ...props }: ListItemProps): import("react/jsx-runtime").JSX.Element;
23
- export { List, ListItem, listItemVariants, listVariants };
package/dist/ui/list.js DELETED
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{cn as G}from"@contractspec/lib.ui-kit-core/utils";import{cva as H}from"class-variance-authority";import*as B from"react";import{Text as Q,View as E}from"react-native";import{jsx as A,jsxs as W}from"react/jsx-runtime";var J=B.createContext("unordered"),R=H("flex flex-col",{variants:{spacing:{none:"gap-0",xs:"gap-1",sm:"gap-2",md:"gap-3",lg:"gap-4"}},defaultVariants:{spacing:"sm"}});function _({className:f,type:z="unordered",spacing:q,...D}){return A(J.Provider,{value:z,children:A(E,{role:"list",className:G(R({spacing:q}),f),...D})})}var S=H("flex flex-row items-start",{variants:{tone:{default:"",muted:"text-muted-foreground"}},defaultVariants:{tone:"default"}});function U(f,z,q){if(q!==void 0)return q;if(f==="none")return!1;if(f==="ordered")return`${z??1}.`;return"\u2022"}function $({children:f,className:z,tone:q,index:D,marker:K,...O}){let P=B.useContext(J),F=U(P,D,K);return W(E,{role:"listitem",className:G(S({tone:q}),z),...O,children:[F===!1?null:A(Q,{className:"mr-2 min-w-4 text-foreground",children:F}),A(E,{className:"flex-1",children:f})]})}export{R as listVariants,S as listItemVariants,$ as ListItem,_ as List};
@@ -1,9 +0,0 @@
1
- import type { SharedLoadingButtonProps } from '@contractspec/lib.ui-kit-core/interfaces';
2
- import React from 'react';
3
- import type { ButtonProps } from './button';
4
- export interface LoadingButtonProps extends SharedLoadingButtonProps, ButtonProps {
5
- isLoading?: boolean;
6
- loadingText?: string;
7
- children: React.ReactNode;
8
- }
9
- export declare function LoadingButton({ isLoading, loadingText, children, disabled, ...props }: LoadingButtonProps): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{cn as Y}from"@contractspec/lib.ui-kit-core/utils";import*as M from"@rn-primitives/slot";import*as H from"react";import{Text as Z}from"react-native";import{jsx as _}from"react/jsx-runtime";var q=H.createContext(void 0);function O({className:o,asChild:L=!1,...f}){let B=H.useContext(q);return _(L?M.Text:Z,{className:Y("web:select-text text-base text-foreground",B,o),...f})}import{cn as $}from"@contractspec/lib.ui-kit-core/utils";import{cva as U}from"class-variance-authority";import{Pressable as z}from"react-native";import{jsx as Q}from"react/jsx-runtime";var S=U("group flex items-center justify-center rounded-md web:ring-offset-background web:transition-colors web:focus-visible:outline-hidden web:focus-visible:ring-2 web:focus-visible:ring-ring web:focus-visible:ring-offset-2",{variants:{variant:{default:"bg-primary web:hover:opacity-90 active:opacity-90",destructive:"bg-destructive web:hover:opacity-90 active:opacity-90",outline:"border border-input bg-background web:hover:bg-accent web:hover:text-accent-foreground active:bg-accent",secondary:"bg-secondary web:hover:opacity-80 active:opacity-80",ghost:"web:hover:bg-accent web:hover:text-accent-foreground active:bg-accent",link:"web:underline-offset-4 web:hover:underline web:focus:underline"},size:{default:"h-10 native:h-12 native:px-5 px-4 native:py-3 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 native:h-14 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),k=U("web:whitespace-nowrap font-medium native:text-base text-foreground text-sm web:transition-colors",{variants:{variant:{default:"text-primary-foreground",destructive:"text-destructive-foreground",outline:"group-active:text-accent-foreground",secondary:"text-secondary-foreground group-active:text-secondary-foreground",ghost:"group-active:text-accent-foreground",link:"text-primary group-active:underline"},size:{default:"",sm:"",lg:"native:text-lg",icon:""}},defaultVariants:{variant:"default",size:"default"}});function W({ref:o,className:L,variant:f,size:B,...P}){return Q(q.Provider,{value:k({variant:f,size:B,className:"web:pointer-events-none"}),children:Q(z,{className:$(P.disabled&&"web:pointer-events-none opacity-50",S({variant:f,size:B,className:L})),ref:o,role:"button",...P})})}import{cn as D}from"@contractspec/lib.ui-kit-core/utils";import{cva as E}from"class-variance-authority";import{View as F}from"react-native";import{jsx as J}from"react/jsx-runtime";var G="flex",T=E([G,"flex-col"],{variants:{spacing:{none:"",xs:"gap-y-1",sm:"gap-y-2",md:"gap-y-4",lg:"gap-y-6",xl:"gap-y-8","2xl":"gap-y-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"}},defaultVariants:{spacing:"md",align:"stretch",justify:"start",width:"auto",padding:"none",gap:"none"}}),d=E([G,"flex-row"],{variants:{spacing:{none:"",xs:"gap-x-1",sm:"gap-x-2",md:"gap-x-4",lg:"gap-x-6",xl:"gap-x-8","2xl":"gap-x-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end",baseline:"items-baseline"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},wrap:{nowrap:"flex-nowrap",wrap:"flex-wrap",reverse:"flex-wrap-reverse"}},defaultVariants:{spacing:"md",align:"center",justify:"start",width:"auto",padding:"none",gap:"none",wrap:"wrap"}}),b=E([G,"flex-row"],{variants:{spacing:{none:"",xs:"gap-x-1",sm:"gap-x-2",md:"gap-x-4",lg:"gap-x-6",xl:"gap-x-8","2xl":"gap-x-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end",baseline:"items-baseline"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},wrap:{nowrap:"flex-nowrap",wrap:"flex-wrap",reverse:"flex-wrap-reverse"}},defaultVariants:{spacing:"md",align:"center",justify:"center",width:"auto",padding:"none",gap:"none",wrap:"wrap"}});function e({className:o,spacing:L,align:f,justify:B,width:P,padding:m,gap:R,wrap:A,...I}){return J(F,{className:D(b({spacing:L,align:f,justify:B,width:P,padding:m,gap:R,wrap:A}),o),...I})}function X({className:o,spacing:L,align:f,justify:B,width:P,padding:m,gap:R,wrap:A,...I}){return J(F,{className:D(d({spacing:L,align:f,justify:B,width:P,padding:m,gap:R,wrap:A}),o),...I})}function t({className:o,spacing:L,align:f,justify:B,width:P,padding:m,gap:R,...A}){return J(F,{className:D(T({spacing:L,align:f,justify:B,width:P,padding:m,gap:R}),o),...A})}import{ActivityIndicator as h}from"react-native";import{jsx as K,jsxs as y}from"react/jsx-runtime";function Bo({isLoading:o=!1,loadingText:L,children:f,disabled:B,...P}){return K(W,{disabled:B||o,...P,children:o?y(X,{className:"items-center gap-x-2",children:[K(h,{size:"small"}),K(O,{children:L||"Loading..."})]}):f})}export{Bo as LoadingButton};
@@ -1,7 +0,0 @@
1
- interface LoadingOverlayProps {
2
- isVisible: boolean;
3
- title?: string;
4
- subtitle?: string;
5
- }
6
- export declare function LoadingOverlay({ isVisible, title, subtitle, }: LoadingOverlayProps): import("react/jsx-runtime").JSX.Element | null;
7
- export {};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{cn as V}from"@contractspec/lib.ui-kit-core/utils";import*as M from"@rn-primitives/slot";import*as J from"react";import{Text as y}from"react-native";import{jsx as H}from"react/jsx-runtime";var B=J.createContext(void 0);function L({className:O,asChild:f=!1,...I}){let z=J.useContext(B);return H(f?M.Text:y,{className:V("web:select-text text-base text-foreground",z,O),...I})}import{cn as W}from"@contractspec/lib.ui-kit-core/utils";import{cva as X}from"class-variance-authority";import{View as Y}from"react-native";import{jsx as $}from"react/jsx-runtime";var Z="flex",k=X([Z,"flex-col"],{variants:{spacing:{none:"",xs:"gap-y-1",sm:"gap-y-2",md:"gap-y-4",lg:"gap-y-6",xl:"gap-y-8","2xl":"gap-y-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"}},defaultVariants:{spacing:"md",align:"stretch",justify:"start",width:"auto",padding:"none",gap:"none"}}),S=X([Z,"flex-row"],{variants:{spacing:{none:"",xs:"gap-x-1",sm:"gap-x-2",md:"gap-x-4",lg:"gap-x-6",xl:"gap-x-8","2xl":"gap-x-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end",baseline:"items-baseline"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},wrap:{nowrap:"flex-nowrap",wrap:"flex-wrap",reverse:"flex-wrap-reverse"}},defaultVariants:{spacing:"md",align:"center",justify:"start",width:"auto",padding:"none",gap:"none",wrap:"wrap"}}),v=X([Z,"flex-row"],{variants:{spacing:{none:"",xs:"gap-x-1",sm:"gap-x-2",md:"gap-x-4",lg:"gap-x-6",xl:"gap-x-8","2xl":"gap-x-12"},align:{stretch:"items-stretch",start:"items-start",center:"items-center",end:"items-end",baseline:"items-baseline"},justify:{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},width:{auto:"w-auto",full:"w-full",screen:"w-screen",fit:"w-fit"},padding:{none:"",xs:"p-1",sm:"p-2",md:"p-4",lg:"p-6",xl:"p-8"},gap:{none:"",xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},wrap:{nowrap:"flex-nowrap",wrap:"flex-wrap",reverse:"flex-wrap-reverse"}},defaultVariants:{spacing:"md",align:"center",justify:"center",width:"auto",padding:"none",gap:"none",wrap:"wrap"}});function r({className:O,spacing:f,align:I,justify:z,width:D,padding:E,gap:F,wrap:G,...U}){return $(Y,{className:W(v({spacing:f,align:I,justify:z,width:D,padding:E,gap:F,wrap:G}),O),...U})}function j({className:O,spacing:f,align:I,justify:z,width:D,padding:E,gap:F,wrap:G,...U}){return $(Y,{className:W(S({spacing:f,align:I,justify:z,width:D,padding:E,gap:F,wrap:G}),O),...U})}function _({className:O,spacing:f,align:I,justify:z,width:D,padding:E,gap:F,...G}){return $(Y,{className:W(k({spacing:f,align:I,justify:z,width:D,padding:E,gap:F}),O),...G})}import{cn as b}from"@contractspec/lib.ui-kit-core/utils";import*as A from"@rn-primitives/slot";import{Platform as P}from"react-native";import{jsx as q}from"react/jsx-runtime";function i({className:O,asChild:f=!1,...I}){return q(f?A.Text:L,{role:"heading","aria-level":"1",className:b("web:select-text web:scroll-m-20 font-extrabold text-4xl text-foreground tracking-tight lg:text-5xl",O),...I})}function l({className:O,asChild:f=!1,...I}){return q(f?A.Text:L,{role:"heading","aria-level":"2",className:b("web:select-text web:scroll-m-20 border-border border-b pb-2 font-semibold text-3xl text-foreground tracking-tight first:mt-0",O),...I})}function Q({className:O,asChild:f=!1,...I}){return q(f?A.Text:L,{role:"heading","aria-level":"3",className:b("web:select-text web:scroll-m-20 font-semibold text-2xl text-foreground tracking-tight",O),...I})}function c({className:O,asChild:f=!1,...I}){return q(f?A.Text:L,{role:"heading","aria-level":"4",className:b("web:select-text web:scroll-m-20 font-semibold text-foreground text-xl tracking-tight",O),...I})}function p({className:O,asChild:f=!1,...I}){return q(f?A.Text:L,{className:b("web:select-text text-base text-foreground",O),...I})}function a({className:O,asChild:f=!1,...I}){return q(f?A.Text:L,{role:P.OS==="web"?"blockquote":void 0,className:b("mt-6 native:mt-4 web:select-text border-border border-l-2 native:pl-3 pl-6 text-base text-foreground italic",O),...I})}function s({className:O,asChild:f=!1,...I}){return q(f?A.Text:L,{role:P.OS==="web"?"code":void 0,className:b("relative web:select-text rounded-md bg-muted px-[0.3rem] py-[0.2rem] font-semibold text-foreground text-sm",O),...I})}function I0({className:O,asChild:f=!1,...I}){return q(f?A.Text:L,{className:b("web:select-text text-muted-foreground text-xl",O),...I})}function O0({className:O,asChild:f=!1,...I}){return q(f?A.Text:L,{className:b("web:select-text font-semibold text-foreground text-xl",O),...I})}function f0({className:O,asChild:f=!1,...I}){return q(f?A.Text:L,{className:b("web:select-text font-medium text-foreground text-sm leading-none",O),...I})}function z0({className:O,asChild:f=!1,...I}){return q(f?A.Text:L,{className:b("web:select-text text-muted-foreground text-sm",O),...I})}import{ActivityIndicator as u,View as g}from"react-native";import{jsx as K,jsxs as R}from"react/jsx-runtime";function F0({isVisible:O,title:f="Loading...",subtitle:I}){if(!O)return null;return K(g,{style:{position:"absolute",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(255, 255, 255, 0.9)",justifyContent:"center",alignItems:"center",zIndex:1000},children:R(_,{className:"items-center gap-y-4",children:[K(u,{size:"large",color:"#6b7280"}),R(_,{className:"items-center gap-y-2",children:[K(Q,{className:"text-center",children:f}),I&&K(L,{className:"text-center text-muted-foreground",children:I})]})]})})}export{F0 as LoadingOverlay};
@@ -1,6 +0,0 @@
1
- interface LoadingScreenProps {
2
- title?: string;
3
- variant?: 'default' | 'profile' | 'form' | 'list';
4
- }
5
- export declare function LoadingScreen({ title, variant, }: LoadingScreenProps): import("react/jsx-runtime").JSX.Element;
6
- export {};