@lssm/lib.ui-kit 1.10.0 → 1.11.1

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 (363) hide show
  1. package/README.md +11 -0
  2. package/dist/index.d.ts +1 -2
  3. package/dist/index.js +1 -2
  4. package/dist/tsconfig.tsbuildinfo +1 -1
  5. package/dist/ui/accordion.d.ts +6 -7
  6. package/dist/ui/accordion.js +1 -2
  7. package/dist/ui/alert-dialog.d.ts +12 -13
  8. package/dist/ui/alert-dialog.js +1 -2
  9. package/dist/ui/alert.d.ts +7 -8
  10. package/dist/ui/alert.js +1 -2
  11. package/dist/ui/aspect-ratio.d.ts +1 -2
  12. package/dist/ui/aspect-ratio.js +1 -2
  13. package/dist/ui/atoms/FilterSelect/FilterSelect.d.ts +1 -2
  14. package/dist/ui/atoms/FilterSelect/FilterSelect.js +1 -2
  15. package/dist/ui/atoms/FilterSelect/types.d.ts +1 -2
  16. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.d.ts +1 -2
  17. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.js +1 -2
  18. package/dist/ui/atoms/Pagination/Pagination.d.ts +1 -2
  19. package/dist/ui/atoms/Pagination/Pagination.js +1 -2
  20. package/dist/ui/atoms/Pagination/types.d.ts +1 -2
  21. package/dist/ui/atoms/SearchInput/SearchInput.d.ts +1 -2
  22. package/dist/ui/atoms/SearchInput/SearchInput.js +1 -2
  23. package/dist/ui/atoms/SearchInput/types.d.ts +1 -2
  24. package/dist/ui/avatar.d.ts +5 -6
  25. package/dist/ui/avatar.js +1 -2
  26. package/dist/ui/badge.d.ts +6 -7
  27. package/dist/ui/badge.js +1 -2
  28. package/dist/ui/breadcrumb.d.ts +9 -10
  29. package/dist/ui/breadcrumb.js +1 -2
  30. package/dist/ui/button.d.ts +8 -9
  31. package/dist/ui/button.js +1 -2
  32. package/dist/ui/card.d.ts +8 -9
  33. package/dist/ui/card.js +1 -2
  34. package/dist/ui/carousel.d.ts +1 -2
  35. package/dist/ui/carousel.js +1 -2
  36. package/dist/ui/checkbox.d.ts +4 -5
  37. package/dist/ui/checkbox.js +1 -2
  38. package/dist/ui/collapsible.d.ts +9 -10
  39. package/dist/ui/collapsible.js +1 -2
  40. package/dist/ui/command.d.ts +1 -2
  41. package/dist/ui/command.js +1 -2
  42. package/dist/ui/context-menu.d.ts +17 -18
  43. package/dist/ui/context-menu.js +1 -2
  44. package/dist/ui/date-picker.d.ts +3 -4
  45. package/dist/ui/date-picker.js +1 -2
  46. package/dist/ui/date-range-picker.d.ts +3 -4
  47. package/dist/ui/date-range-picker.js +1 -2
  48. package/dist/ui/datetime-picker.d.ts +3 -4
  49. package/dist/ui/datetime-picker.js +1 -2
  50. package/dist/ui/dialog.d.ts +11 -12
  51. package/dist/ui/dialog.js +1 -2
  52. package/dist/ui/dropdown-menu.d.ts +17 -18
  53. package/dist/ui/dropdown-menu.js +1 -2
  54. package/dist/ui/empty-state.d.ts +5 -6
  55. package/dist/ui/empty-state.js +1 -2
  56. package/dist/ui/empty.d.ts +10 -11
  57. package/dist/ui/empty.js +1 -2
  58. package/dist/ui/fab.d.ts +4 -5
  59. package/dist/ui/fab.js +1 -2
  60. package/dist/ui/field.d.ts +15 -16
  61. package/dist/ui/field.js +1 -2
  62. package/dist/ui/form.d.ts +8 -9
  63. package/dist/ui/form.js +2 -3
  64. package/dist/ui/hover-card.d.ts +7 -8
  65. package/dist/ui/hover-card.js +1 -2
  66. package/dist/ui/icons/Check.js +1 -2
  67. package/dist/ui/icons/ChevronDown.js +1 -2
  68. package/dist/ui/icons/ChevronRight.js +1 -2
  69. package/dist/ui/icons/ChevronUp.js +1 -2
  70. package/dist/ui/icons/CircleUser.js +1 -2
  71. package/dist/ui/icons/Info.js +1 -2
  72. package/dist/ui/icons/Key.js +1 -2
  73. package/dist/ui/icons/MoonStar.js +1 -2
  74. package/dist/ui/icons/Sun.js +1 -2
  75. package/dist/ui/icons/X.js +1 -2
  76. package/dist/ui/icons/iconWithClassName.d.ts +1 -2
  77. package/dist/ui/icons/iconWithClassName.js +1 -2
  78. package/dist/ui/input.d.ts +3 -4
  79. package/dist/ui/input.js +1 -2
  80. package/dist/ui/label.d.ts +3 -4
  81. package/dist/ui/label.js +1 -2
  82. package/dist/ui/link.d.ts +3 -4
  83. package/dist/ui/link.js +1 -2
  84. package/dist/ui/loading-button.d.ts +3 -4
  85. package/dist/ui/loading-button.js +1 -2
  86. package/dist/ui/loading-overlay.d.ts +3 -4
  87. package/dist/ui/loading-overlay.js +1 -2
  88. package/dist/ui/loading-screen.d.ts +3 -4
  89. package/dist/ui/loading-screen.js +1 -2
  90. package/dist/ui/marketing/FeatureGrid.d.ts +3 -4
  91. package/dist/ui/marketing/FeatureGrid.js +1 -2
  92. package/dist/ui/marketing/Hero.d.ts +3 -4
  93. package/dist/ui/marketing/Hero.js +1 -2
  94. package/dist/ui/marketing/PricingTable.d.ts +3 -4
  95. package/dist/ui/marketing/PricingTable.js +1 -2
  96. package/dist/ui/menubar.d.ts +18 -19
  97. package/dist/ui/menubar.js +1 -2
  98. package/dist/ui/molecules/Autocomplete/index.d.ts +1 -2
  99. package/dist/ui/molecules/Autocomplete/index.js +1 -2
  100. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.d.ts +1 -2
  101. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.js +1 -2
  102. package/dist/ui/molecules/SearchAndFilter/types.d.ts +1 -2
  103. package/dist/ui/molecules/SkeletonList.d.ts +3 -4
  104. package/dist/ui/molecules/SkeletonList.js +1 -2
  105. package/dist/ui/navigation-menu.d.ts +13 -14
  106. package/dist/ui/navigation-menu.js +1 -2
  107. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.d.ts +3 -4
  108. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.js +1 -2
  109. package/dist/ui/organisms/ListPage/ListPage.d.ts +3 -4
  110. package/dist/ui/organisms/ListPage/ListPage.js +1 -2
  111. package/dist/ui/organisms/ListPage/types.d.ts +1 -2
  112. package/dist/ui/page-header.d.ts +6 -7
  113. package/dist/ui/page-header.js +1 -2
  114. package/dist/ui/password-strength.d.ts +3 -4
  115. package/dist/ui/password-strength.js +1 -2
  116. package/dist/ui/popover.d.ts +7 -8
  117. package/dist/ui/popover.js +1 -2
  118. package/dist/ui/progress.d.ts +3 -4
  119. package/dist/ui/progress.js +1 -2
  120. package/dist/ui/radio-group.d.ts +4 -5
  121. package/dist/ui/radio-group.js +1 -2
  122. package/dist/ui/select.d.ts +14 -15
  123. package/dist/ui/select.js +1 -2
  124. package/dist/ui/separator.d.ts +3 -4
  125. package/dist/ui/separator.js +1 -2
  126. package/dist/ui/sheet.d.ts +1 -2
  127. package/dist/ui/sheet.js +1 -2
  128. package/dist/ui/sidebar.d.ts +1 -2
  129. package/dist/ui/sidebar.js +1 -2
  130. package/dist/ui/skeleton.d.ts +3 -4
  131. package/dist/ui/skeleton.js +1 -2
  132. package/dist/ui/stack.d.ts +20 -21
  133. package/dist/ui/stack.js +1 -2
  134. package/dist/ui/stepper.d.ts +5 -6
  135. package/dist/ui/stepper.js +1 -2
  136. package/dist/ui/switch.d.ts +3 -4
  137. package/dist/ui/switch.js +1 -2
  138. package/dist/ui/table.d.ts +9 -10
  139. package/dist/ui/table.js +1 -2
  140. package/dist/ui/tabs.d.ts +12 -13
  141. package/dist/ui/tabs.js +1 -2
  142. package/dist/ui/text.d.ts +3 -4
  143. package/dist/ui/text.js +1 -2
  144. package/dist/ui/textarea.d.ts +1 -2
  145. package/dist/ui/textarea.js +1 -2
  146. package/dist/ui/time-picker.d.ts +3 -4
  147. package/dist/ui/time-picker.js +1 -2
  148. package/dist/ui/toggle-group.d.ts +5 -6
  149. package/dist/ui/toggle-group.js +1 -2
  150. package/dist/ui/toggle.d.ts +7 -8
  151. package/dist/ui/toggle.js +1 -2
  152. package/dist/ui/tooltip.d.ts +7 -8
  153. package/dist/ui/tooltip.js +1 -2
  154. package/dist/ui/typography.d.ts +13 -14
  155. package/dist/ui/typography.js +1 -2
  156. package/dist/ui/useColorScheme.d.ts +3 -4
  157. package/dist/ui/useColorScheme.js +1 -2
  158. package/dist/ui/useListState.d.ts +1 -2
  159. package/dist/ui/useListState.js +1 -2
  160. package/dist/ui/usecases/UseCaseCard.d.ts +3 -4
  161. package/dist/ui/usecases/UseCaseCard.js +1 -2
  162. package/dist/ui/usecases/UserStoryCard.d.ts +3 -4
  163. package/dist/ui/usecases/UserStoryCard.js +1 -2
  164. package/dist/ui/utils.d.ts +1 -2
  165. package/dist/ui/utils.js +1 -2
  166. package/package.json +5 -3
  167. package/dist/index.d.ts.map +0 -1
  168. package/dist/index.js.map +0 -1
  169. package/dist/node_modules/@hookform/resolvers/dist/resolvers.js +0 -29
  170. package/dist/node_modules/@hookform/resolvers/dist/resolvers.js.map +0 -1
  171. package/dist/node_modules/@hookform/resolvers/zod/dist/zod.js +0 -61
  172. package/dist/node_modules/@hookform/resolvers/zod/dist/zod.js.map +0 -1
  173. package/dist/node_modules/react-hook-form/dist/index.esm.js +0 -2073
  174. package/dist/node_modules/react-hook-form/dist/index.esm.js.map +0 -1
  175. package/dist/node_modules/zod/v4/classic/errors.js +0 -30
  176. package/dist/node_modules/zod/v4/classic/errors.js.map +0 -1
  177. package/dist/node_modules/zod/v4/classic/iso.js +0 -38
  178. package/dist/node_modules/zod/v4/classic/iso.js.map +0 -1
  179. package/dist/node_modules/zod/v4/classic/parse.js +0 -20
  180. package/dist/node_modules/zod/v4/classic/parse.js.map +0 -1
  181. package/dist/node_modules/zod/v4/classic/schemas.js +0 -395
  182. package/dist/node_modules/zod/v4/classic/schemas.js.map +0 -1
  183. package/dist/node_modules/zod/v4/core/api.js +0 -377
  184. package/dist/node_modules/zod/v4/core/api.js.map +0 -1
  185. package/dist/node_modules/zod/v4/core/checks.js +0 -226
  186. package/dist/node_modules/zod/v4/core/checks.js.map +0 -1
  187. package/dist/node_modules/zod/v4/core/core.js +0 -56
  188. package/dist/node_modules/zod/v4/core/core.js.map +0 -1
  189. package/dist/node_modules/zod/v4/core/errors.js +0 -63
  190. package/dist/node_modules/zod/v4/core/errors.js.map +0 -1
  191. package/dist/node_modules/zod/v4/core/parse.js +0 -110
  192. package/dist/node_modules/zod/v4/core/parse.js.map +0 -1
  193. package/dist/node_modules/zod/v4/core/regexes.js +0 -59
  194. package/dist/node_modules/zod/v4/core/regexes.js.map +0 -1
  195. package/dist/node_modules/zod/v4/core/registries.js +0 -51
  196. package/dist/node_modules/zod/v4/core/registries.js.map +0 -1
  197. package/dist/node_modules/zod/v4/core/schemas.js +0 -755
  198. package/dist/node_modules/zod/v4/core/schemas.js.map +0 -1
  199. package/dist/node_modules/zod/v4/core/util.js +0 -152
  200. package/dist/node_modules/zod/v4/core/util.js.map +0 -1
  201. package/dist/node_modules/zod/v4/core/versions.js +0 -10
  202. package/dist/node_modules/zod/v4/core/versions.js.map +0 -1
  203. package/dist/ui/accordion.d.ts.map +0 -1
  204. package/dist/ui/accordion.js.map +0 -1
  205. package/dist/ui/alert-dialog.d.ts.map +0 -1
  206. package/dist/ui/alert-dialog.js.map +0 -1
  207. package/dist/ui/alert.d.ts.map +0 -1
  208. package/dist/ui/alert.js.map +0 -1
  209. package/dist/ui/aspect-ratio.d.ts.map +0 -1
  210. package/dist/ui/aspect-ratio.js.map +0 -1
  211. package/dist/ui/atoms/FilterSelect/FilterSelect.d.ts.map +0 -1
  212. package/dist/ui/atoms/FilterSelect/FilterSelect.js.map +0 -1
  213. package/dist/ui/atoms/FilterSelect/types.d.ts.map +0 -1
  214. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.d.ts.map +0 -1
  215. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.js.map +0 -1
  216. package/dist/ui/atoms/Pagination/Pagination.d.ts.map +0 -1
  217. package/dist/ui/atoms/Pagination/Pagination.js.map +0 -1
  218. package/dist/ui/atoms/Pagination/types.d.ts.map +0 -1
  219. package/dist/ui/atoms/SearchInput/SearchInput.d.ts.map +0 -1
  220. package/dist/ui/atoms/SearchInput/SearchInput.js.map +0 -1
  221. package/dist/ui/atoms/SearchInput/types.d.ts.map +0 -1
  222. package/dist/ui/avatar.d.ts.map +0 -1
  223. package/dist/ui/avatar.js.map +0 -1
  224. package/dist/ui/badge.d.ts.map +0 -1
  225. package/dist/ui/badge.js.map +0 -1
  226. package/dist/ui/breadcrumb.d.ts.map +0 -1
  227. package/dist/ui/breadcrumb.js.map +0 -1
  228. package/dist/ui/button.d.ts.map +0 -1
  229. package/dist/ui/button.js.map +0 -1
  230. package/dist/ui/card.d.ts.map +0 -1
  231. package/dist/ui/card.js.map +0 -1
  232. package/dist/ui/carousel.d.ts.map +0 -1
  233. package/dist/ui/carousel.js.map +0 -1
  234. package/dist/ui/checkbox.d.ts.map +0 -1
  235. package/dist/ui/checkbox.js.map +0 -1
  236. package/dist/ui/collapsible.d.ts.map +0 -1
  237. package/dist/ui/collapsible.js.map +0 -1
  238. package/dist/ui/command.d.ts.map +0 -1
  239. package/dist/ui/command.js.map +0 -1
  240. package/dist/ui/context-menu.d.ts.map +0 -1
  241. package/dist/ui/context-menu.js.map +0 -1
  242. package/dist/ui/date-picker.d.ts.map +0 -1
  243. package/dist/ui/date-picker.js.map +0 -1
  244. package/dist/ui/date-range-picker.d.ts.map +0 -1
  245. package/dist/ui/date-range-picker.js.map +0 -1
  246. package/dist/ui/datetime-picker.d.ts.map +0 -1
  247. package/dist/ui/datetime-picker.js.map +0 -1
  248. package/dist/ui/dialog.d.ts.map +0 -1
  249. package/dist/ui/dialog.js.map +0 -1
  250. package/dist/ui/dropdown-menu.d.ts.map +0 -1
  251. package/dist/ui/dropdown-menu.js.map +0 -1
  252. package/dist/ui/empty-state.d.ts.map +0 -1
  253. package/dist/ui/empty-state.js.map +0 -1
  254. package/dist/ui/empty.d.ts.map +0 -1
  255. package/dist/ui/empty.js.map +0 -1
  256. package/dist/ui/fab.d.ts.map +0 -1
  257. package/dist/ui/fab.js.map +0 -1
  258. package/dist/ui/field.d.ts.map +0 -1
  259. package/dist/ui/field.js.map +0 -1
  260. package/dist/ui/form.d.ts.map +0 -1
  261. package/dist/ui/form.js.map +0 -1
  262. package/dist/ui/hover-card.d.ts.map +0 -1
  263. package/dist/ui/hover-card.js.map +0 -1
  264. package/dist/ui/icons/Check.js.map +0 -1
  265. package/dist/ui/icons/ChevronDown.js.map +0 -1
  266. package/dist/ui/icons/ChevronRight.js.map +0 -1
  267. package/dist/ui/icons/ChevronUp.js.map +0 -1
  268. package/dist/ui/icons/CircleUser.js.map +0 -1
  269. package/dist/ui/icons/Info.js.map +0 -1
  270. package/dist/ui/icons/Key.js.map +0 -1
  271. package/dist/ui/icons/MoonStar.js.map +0 -1
  272. package/dist/ui/icons/Sun.js.map +0 -1
  273. package/dist/ui/icons/X.js.map +0 -1
  274. package/dist/ui/icons/iconWithClassName.d.ts.map +0 -1
  275. package/dist/ui/icons/iconWithClassName.js.map +0 -1
  276. package/dist/ui/input.d.ts.map +0 -1
  277. package/dist/ui/input.js.map +0 -1
  278. package/dist/ui/label.d.ts.map +0 -1
  279. package/dist/ui/label.js.map +0 -1
  280. package/dist/ui/link.d.ts.map +0 -1
  281. package/dist/ui/link.js.map +0 -1
  282. package/dist/ui/loading-button.d.ts.map +0 -1
  283. package/dist/ui/loading-button.js.map +0 -1
  284. package/dist/ui/loading-overlay.d.ts.map +0 -1
  285. package/dist/ui/loading-overlay.js.map +0 -1
  286. package/dist/ui/loading-screen.d.ts.map +0 -1
  287. package/dist/ui/loading-screen.js.map +0 -1
  288. package/dist/ui/marketing/FeatureGrid.d.ts.map +0 -1
  289. package/dist/ui/marketing/FeatureGrid.js.map +0 -1
  290. package/dist/ui/marketing/Hero.d.ts.map +0 -1
  291. package/dist/ui/marketing/Hero.js.map +0 -1
  292. package/dist/ui/marketing/PricingTable.d.ts.map +0 -1
  293. package/dist/ui/marketing/PricingTable.js.map +0 -1
  294. package/dist/ui/menubar.d.ts.map +0 -1
  295. package/dist/ui/menubar.js.map +0 -1
  296. package/dist/ui/molecules/Autocomplete/index.d.ts.map +0 -1
  297. package/dist/ui/molecules/Autocomplete/index.js.map +0 -1
  298. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.d.ts.map +0 -1
  299. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.js.map +0 -1
  300. package/dist/ui/molecules/SearchAndFilter/types.d.ts.map +0 -1
  301. package/dist/ui/molecules/SkeletonList.d.ts.map +0 -1
  302. package/dist/ui/molecules/SkeletonList.js.map +0 -1
  303. package/dist/ui/navigation-menu.d.ts.map +0 -1
  304. package/dist/ui/navigation-menu.js.map +0 -1
  305. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.d.ts.map +0 -1
  306. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.js.map +0 -1
  307. package/dist/ui/organisms/ListPage/ListPage.d.ts.map +0 -1
  308. package/dist/ui/organisms/ListPage/ListPage.js.map +0 -1
  309. package/dist/ui/organisms/ListPage/types.d.ts.map +0 -1
  310. package/dist/ui/page-header.d.ts.map +0 -1
  311. package/dist/ui/page-header.js.map +0 -1
  312. package/dist/ui/password-strength.d.ts.map +0 -1
  313. package/dist/ui/password-strength.js.map +0 -1
  314. package/dist/ui/popover.d.ts.map +0 -1
  315. package/dist/ui/popover.js.map +0 -1
  316. package/dist/ui/progress.d.ts.map +0 -1
  317. package/dist/ui/progress.js.map +0 -1
  318. package/dist/ui/radio-group.d.ts.map +0 -1
  319. package/dist/ui/radio-group.js.map +0 -1
  320. package/dist/ui/select.d.ts.map +0 -1
  321. package/dist/ui/select.js.map +0 -1
  322. package/dist/ui/separator.d.ts.map +0 -1
  323. package/dist/ui/separator.js.map +0 -1
  324. package/dist/ui/sheet.d.ts.map +0 -1
  325. package/dist/ui/sheet.js.map +0 -1
  326. package/dist/ui/sidebar.d.ts.map +0 -1
  327. package/dist/ui/sidebar.js.map +0 -1
  328. package/dist/ui/skeleton.d.ts.map +0 -1
  329. package/dist/ui/skeleton.js.map +0 -1
  330. package/dist/ui/stack.d.ts.map +0 -1
  331. package/dist/ui/stack.js.map +0 -1
  332. package/dist/ui/stepper.d.ts.map +0 -1
  333. package/dist/ui/stepper.js.map +0 -1
  334. package/dist/ui/switch.d.ts.map +0 -1
  335. package/dist/ui/switch.js.map +0 -1
  336. package/dist/ui/table.d.ts.map +0 -1
  337. package/dist/ui/table.js.map +0 -1
  338. package/dist/ui/tabs.d.ts.map +0 -1
  339. package/dist/ui/tabs.js.map +0 -1
  340. package/dist/ui/text.d.ts.map +0 -1
  341. package/dist/ui/text.js.map +0 -1
  342. package/dist/ui/textarea.d.ts.map +0 -1
  343. package/dist/ui/textarea.js.map +0 -1
  344. package/dist/ui/time-picker.d.ts.map +0 -1
  345. package/dist/ui/time-picker.js.map +0 -1
  346. package/dist/ui/toggle-group.d.ts.map +0 -1
  347. package/dist/ui/toggle-group.js.map +0 -1
  348. package/dist/ui/toggle.d.ts.map +0 -1
  349. package/dist/ui/toggle.js.map +0 -1
  350. package/dist/ui/tooltip.d.ts.map +0 -1
  351. package/dist/ui/tooltip.js.map +0 -1
  352. package/dist/ui/typography.d.ts.map +0 -1
  353. package/dist/ui/typography.js.map +0 -1
  354. package/dist/ui/useColorScheme.d.ts.map +0 -1
  355. package/dist/ui/useColorScheme.js.map +0 -1
  356. package/dist/ui/useListState.d.ts.map +0 -1
  357. package/dist/ui/useListState.js.map +0 -1
  358. package/dist/ui/usecases/UseCaseCard.d.ts.map +0 -1
  359. package/dist/ui/usecases/UseCaseCard.js.map +0 -1
  360. package/dist/ui/usecases/UserStoryCard.d.ts.map +0 -1
  361. package/dist/ui/usecases/UserStoryCard.js.map +0 -1
  362. package/dist/ui/utils.d.ts.map +0 -1
  363. package/dist/ui/utils.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"avatar.d.ts","names":[],"sources":["../../ui/avatar.tsx"],"sourcesContent":[],"mappings":";;;;;iBAIS,MAAA;;;GAGN,eAAA,CAAgB;QACX,OAAA,CAAM,UAAU,eAAA,CAAgB;IACvC,mBAAA,CAAA,GAAA,CAAA;AAR8B,iBAoBtB,WAAA,CAjBM;EAAA,SAAA;EAAA,GAAA;EAAA,GAAA;CAAA,EAqBZ,eAAA,CAAgB,UArBJ,GAAA;EACb,GAAA,CAAA,EAqBM,OAAA,CAAM,SArBZ,CAqBsB,eAAA,CAAgB,QArBtC,CAAA;EAEC,GAAA,CAAA,EAAA,MAAA;CACqB,CAAA,EAoBvB,mBAAA,CAAA,GAAA,CAAA,OApBuC;iBA6B/B,cAAA,CA7BK;EAAA,SAAA;EAAA,GAAA;CAAA,EAgCX,eAAA,CAAgB,aAhCL,GAAA;EACb,GAAA,CAAA,EAgCO,OAAA,CAAM,SAhCb,CAgCuB,eAAA,CAAgB,WAhCvC,CAAA;CAAA,CAAA,EAiCA,mBAAA,CAAA,GAAA,CAAA,OAjCA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"avatar.js","names":[],"sources":["../../ui/avatar.tsx"],"sourcesContent":["import * as AvatarPrimitive from '@rn-primitives/avatar';\nimport * as React from 'react';\nimport { cn } from './utils';\n\nfunction Avatar({\n className,\n ...props\n}: AvatarPrimitive.RootProps & {\n ref?: React.RefObject<AvatarPrimitive.RootRef>;\n}) {\n return (\n <AvatarPrimitive.Root\n className={cn(\n 'relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction AvatarImage({\n className,\n alt,\n ...props\n}: AvatarPrimitive.ImageProps & {\n ref?: React.RefObject<AvatarPrimitive.ImageRef>;\n alt?: string;\n}) {\n return (\n <AvatarPrimitive.Image\n className={cn('aspect-square h-full w-full', className)}\n {...props}\n />\n );\n}\n\nfunction AvatarFallback({\n className,\n ...props\n}: AvatarPrimitive.FallbackProps & {\n ref?: React.RefObject<AvatarPrimitive.FallbackRef>;\n}) {\n return (\n <AvatarPrimitive.Fallback\n className={cn(\n 'bg-muted flex h-full w-full items-center justify-center rounded-full',\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Avatar, AvatarFallback, AvatarImage };\n"],"mappings":";;;;;;AAIA,SAAS,OAAO,EACd,WACA,GAAG,SAGF;AACD,QACE,oBAAC,gBAAgB;EACf,WAAW,GACT,iEACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,YAAY,EACnB,WACA,KACA,GAAG,SAIF;AACD,QACE,oBAAC,gBAAgB;EACf,WAAW,GAAG,+BAA+B,UAAU;EACvD,GAAI;GACJ;;AAIN,SAAS,eAAe,EACtB,WACA,GAAG,SAGF;AACD,QACE,oBAAC,gBAAgB;EACf,WAAW,GACT,wEACA,UACD;EACD,GAAI;GACJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"badge.d.ts","names":[],"sources":["../../ui/badge.tsx"],"sourcesContent":[],"mappings":";;;;;;;cAKM;;IAkBL,+BAAA,CAAA;KAEI,UAAA,GAAa,OAAA,CAAM,sBAAsB,QAC5C,oBAAoB;EArBhB,cAAA,CAAA,EAkBL,MAAA;;iBAOQ,KAAA,CALqC;EAAA,SAAA;EAAA,OAAA;EAAA,cAAA;EAAA,GAAA;AAAA,CAAA,EAKmB,UALnB,CAAA,EAK6B,mBAAA,CAAA,GAAA,CAAA,OAL7B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"badge.js","names":[],"sources":["../../ui/badge.tsx"],"sourcesContent":["import * as React from 'react';\nimport { View } from 'react-native';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from './utils';\n\nconst badgeVariants = cva(\n 'web:inline-flex items-center rounded-full border border-border px-2.5 py-0.5 text-xs font-semibold web:transition-colors web:focus:outline-hidden web:focus:ring-2 web:focus:ring-ring web:focus:ring-offset-2',\n {\n variants: {\n variant: {\n default:\n 'border-transparent bg-primary text-primary-foreground web:hover:opacity-80 active:opacity-80',\n secondary:\n 'border-transparent bg-secondary text-secondary-foreground web:hover:opacity-80 active:opacity-80',\n destructive:\n 'border-transparent bg-destructive text-destructive-foreground web:hover:opacity-80 active:opacity-80',\n outline: 'text-foreground',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\ntype BadgeProps = React.ComponentProps<typeof View> &\n VariantProps<typeof badgeVariants> & {\n labelClassName?: string;\n };\n\nfunction Badge({ className, variant, labelClassName, ...props }: BadgeProps) {\n return (\n <View className={cn(badgeVariants({ variant }), className)} {...props} />\n );\n}\n\nexport { Badge, badgeVariants };\n"],"mappings":";;;;;;;AAKA,MAAM,gBAAgB,IACpB,kNACA;CACE,UAAU,EACR,SAAS;EACP,SACE;EACF,WACE;EACF,aACE;EACF,SAAS;EACV,EACF;CACD,iBAAiB,EACf,SAAS,WACV;CACF,CACF;AAOD,SAAS,MAAM,EAAE,WAAW,SAAS,gBAAgB,GAAG,SAAqB;AAC3E,QACE,oBAAC;EAAK,WAAW,GAAG,cAAc,EAAE,SAAS,CAAC,EAAE,UAAU;EAAE,GAAI;GAAS"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"breadcrumb.d.ts","names":[],"sources":["../../ui/breadcrumb.tsx"],"sourcesContent":[],"mappings":";;;;;iBAOS,UAAA;;GAAyB,OAAA,CAAM,wBAAqB,mBAAA,CAAA,GAAA,CAAA;iBAIpD,cAAA;;;GAGN,OAAA,CAAM,sBAAsB,QAAK,mBAAA,CAAA,GAAA,CAAA;iBAa3B,cAAA;;;GAGN,OAAA,CAAM,sBAAsB,QAAK,mBAAA,CAAA,GAAA,CAAA;AA3BsB,iBAqCjD,cAAA,CAjCyB;EAAA,OAAM;EAAA,SAAA;EAAqB,GAAA;CAAA,EAqC1D,OAAA,CAAM,cArCoD,CAAA,OAqC9B,IArC8B,CAAA,GAAA;EAIpD,OAAA,CAAA,EAAA,OAAc;CACrB,CAAA,EAkCD,mBAAA,CAAA,GAAA,CAAA,OAlCC;iBA8CO,cAAA,CA5CsB;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA+C5B,OAAA,CAAM,cA/CsB,CAAA,OA+CA,IA/CA,CAAA,CAAA,EA+CK,mBAAA,CAAA,GAAA,CAAA,OA/CL;iBA4DtB,mBAAA,CA5DA;EAAA,QAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAgEN,OAAA,CAAM,cAhEA,CAAA,OAgEsB,IAhEtB,CAAA,CAAA,EAgE2B,mBAAA,CAAA,GAAA,CAAA,OAhE3B;iBA8EA,kBAAA,CA9E2B;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAiFjC,OAAA,CAAM,cAjF2B,CAAA,OAiFL,IAjFK,CAAA,CAAA,EAiFA,mBAAA,CAAA,GAAA,CAAA,OAjFA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"breadcrumb.js","names":[],"sources":["../../ui/breadcrumb.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as Slot from '@rn-primitives/slot';\nimport { ChevronRight, MoreHorizontal } from 'lucide-react';\nimport { Text, View, type ViewProps } from 'react-native';\n\nimport { cn } from './utils';\n\nfunction Breadcrumb({ ...props }: React.ComponentProps<'nav'>) {\n return <nav aria-label=\"breadcrumb\" data-slot=\"breadcrumb\" {...props} />;\n}\n\nfunction BreadcrumbList({\n className,\n ...props\n}: React.ComponentProps<typeof View>) {\n return (\n <View\n data-slot=\"breadcrumb-list\"\n className={cn(\n 'text-muted-foreground flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbItem({\n className,\n ...props\n}: React.ComponentProps<typeof View>) {\n return (\n <View\n data-slot=\"breadcrumb-item\"\n className={cn('inline-flex items-center gap-1.5', className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbLink({\n asChild,\n className,\n ...props\n}: React.ComponentProps<typeof View> & {\n asChild?: boolean;\n}) {\n // const Comp = asChild ? Slot : View;\n\n return (\n <View\n data-slot=\"breadcrumb-link\"\n className={cn('hover:text-foreground transition-colors', className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbPage({\n className,\n ...props\n}: React.ComponentProps<typeof View>) {\n return (\n <View\n data-slot=\"breadcrumb-page\"\n role=\"link\"\n aria-disabled\n aria-current=\"page\"\n className={cn('text-foreground font-normal', className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbSeparator({\n children,\n className,\n ...props\n}: React.ComponentProps<typeof View>) {\n return (\n <View\n role=\"presentation\"\n data-slot=\"breadcrumb-separator\"\n aria-hidden\n className={cn('[&>svg]:size-3.5', className)}\n {...props}\n >\n {children ?? <ChevronRight />}\n </View>\n );\n}\n\nfunction BreadcrumbEllipsis({\n className,\n ...props\n}: React.ComponentProps<typeof View>) {\n return (\n <View\n data-slot=\"breadcrumb-ellipsis\"\n role=\"presentation\"\n aria-hidden\n className={cn('flex size-9 items-center justify-center', className)}\n {...props}\n >\n <MoreHorizontal className=\"size-4\" />\n <View className=\"sr-only\">\n <Text>More</Text>\n </View>\n </View>\n );\n}\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis,\n};\n"],"mappings":";;;;;;;;AAOA,SAAS,WAAW,EAAE,GAAG,SAAsC;AAC7D,QAAO,oBAAC;EAAI,cAAW;EAAa,aAAU;EAAa,GAAI;GAAS;;AAG1E,SAAS,eAAe,EACtB,WACA,GAAG,SACiC;AACpC,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,4FACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,eAAe,EACtB,WACA,GAAG,SACiC;AACpC,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GAAG,oCAAoC,UAAU;EAC5D,GAAI;GACJ;;AAIN,SAAS,eAAe,EACtB,SACA,WACA,GAAG,SAGF;AAGD,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GAAG,2CAA2C,UAAU;EACnE,GAAI;GACJ;;AAIN,SAAS,eAAe,EACtB,WACA,GAAG,SACiC;AACpC,QACE,oBAAC;EACC,aAAU;EACV,MAAK;EACL;EACA,gBAAa;EACb,WAAW,GAAG,+BAA+B,UAAU;EACvD,GAAI;GACJ;;AAIN,SAAS,oBAAoB,EAC3B,UACA,WACA,GAAG,SACiC;AACpC,QACE,oBAAC;EACC,MAAK;EACL,aAAU;EACV;EACA,WAAW,GAAG,oBAAoB,UAAU;EAC5C,GAAI;YAEH,YAAY,oBAAC,iBAAe;GACxB;;AAIX,SAAS,mBAAmB,EAC1B,WACA,GAAG,SACiC;AACpC,QACE,qBAAC;EACC,aAAU;EACV,MAAK;EACL;EACA,WAAW,GAAG,2CAA2C,UAAU;EACnE,GAAI;aAEJ,oBAAC,kBAAe,WAAU,WAAW,EACrC,oBAAC;GAAK,WAAU;aACd,oBAAC,kBAAK,SAAW;IACZ;GACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"button.d.ts","names":[],"sources":["../../ui/button.tsx"],"sourcesContent":[],"mappings":";;;;;;;cAMM;;;IA0BL,+BAAA,CAAA;AA9BwC,cAgCnC,kBAFL,EAAA,CAAA,KA6B8C,CA7B9C,EAAA,CAAA;EAEK,OAAA,CAAA,EAAA,SAAA,GAyBL,WAAA,GAAA,aAAA,GAAA,SAAA,GAAA,OAAA,GAAA,MAAA,GAAA,IAAA,GAAA,SAAA;EAEI,IAAA,CAAA,EAAA,SAAW,GAAA,IAAA,GAAA,IAAA,GAAA,MAAA,GAAA,IAAA,GAAA,SAAA;CAA+B,GAF9C,+BAAA,CAAA,SAE8C,CAAA,GAAA,SAAA,EAAA,GAAA,MAAA;KAA1C,WAAA,GAAc,OAAA,CAAM,cAAA,CAAA,OAAsB,SAAtB,CAAA,GACvB,YADuB,CAAA,OACH,cADG,CAAA;iBAGhB,MAAA,CAFa;EAAA,GAAA;EAAA,SAAA;EAAA,OAAA;EAAA,IAAA;EAAA,GAAA;AAAA,CAAA,EAEuC,WAFvC,CAAA,EAEkD,mBAAA,CAAA,GAAA,CAAA,OAFlD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"button.js","names":[],"sources":["../../ui/button.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\nimport { Pressable } from 'react-native';\nimport { TextClassContext } from './text';\nimport { cn } from './utils';\n\nconst buttonVariants = cva(\n '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',\n {\n variants: {\n variant: {\n default: 'bg-primary web:hover:opacity-90 active:opacity-90',\n destructive: 'bg-destructive web:hover:opacity-90 active:opacity-90',\n outline:\n 'border border-input bg-background web:hover:bg-accent web:hover:text-accent-foreground active:bg-accent',\n secondary: 'bg-secondary web:hover:opacity-80 active:opacity-80',\n ghost:\n 'web:hover:bg-accent web:hover:text-accent-foreground active:bg-accent',\n link: 'web:underline-offset-4 web:hover:underline web:focus:underline',\n },\n size: {\n default: 'h-10 px-4 py-2 native:h-12 native:px-5 native:py-3',\n sm: 'h-9 rounded-md px-3',\n lg: 'h-11 rounded-md px-8 native:h-14',\n icon: 'h-10 w-10',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n);\n\nconst buttonTextVariants = cva(\n 'web:whitespace-nowrap text-sm native:text-base font-medium text-foreground web:transition-colors',\n {\n variants: {\n variant: {\n default: 'text-primary-foreground',\n destructive: 'text-destructive-foreground',\n outline: 'group-active:text-accent-foreground',\n secondary:\n 'text-secondary-foreground group-active:text-secondary-foreground',\n ghost: 'group-active:text-accent-foreground',\n link: 'text-primary group-active:underline',\n },\n size: {\n default: '',\n sm: '',\n lg: 'native:text-lg',\n icon: '',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n);\n\ntype ButtonProps = React.ComponentProps<typeof Pressable> &\n VariantProps<typeof buttonVariants>;\n\nfunction Button({ ref, className, variant, size, ...props }: ButtonProps) {\n return (\n <TextClassContext.Provider\n value={buttonTextVariants({\n variant,\n size,\n className: 'web:pointer-events-none',\n })}\n >\n <Pressable\n className={cn(\n props.disabled && 'web:pointer-events-none opacity-50',\n buttonVariants({ variant, size, className })\n )}\n ref={ref}\n role=\"button\"\n {...props}\n />\n </TextClassContext.Provider>\n );\n}\n\nexport { Button, buttonTextVariants, buttonVariants };\nexport type { ButtonProps };\n"],"mappings":";;;;;;;;AAMA,MAAM,iBAAiB,IACrB,4NACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;GACT,aAAa;GACb,SACE;GACF,WAAW;GACX,OACE;GACF,MAAM;GACP;EACD,MAAM;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACJ,MAAM;GACP;EACF;CACD,iBAAiB;EACf,SAAS;EACT,MAAM;EACP;CACF,CACF;AAED,MAAM,qBAAqB,IACzB,oGACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;GACT,aAAa;GACb,SAAS;GACT,WACE;GACF,OAAO;GACP,MAAM;GACP;EACD,MAAM;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACJ,MAAM;GACP;EACF;CACD,iBAAiB;EACf,SAAS;EACT,MAAM;EACP;CACF,CACF;AAKD,SAAS,OAAO,EAAE,KAAK,WAAW,SAAS,MAAM,GAAG,SAAsB;AACxE,QACE,oBAAC,iBAAiB;EAChB,OAAO,mBAAmB;GACxB;GACA;GACA,WAAW;GACZ,CAAC;YAEF,oBAAC;GACC,WAAW,GACT,MAAM,YAAY,sCAClB,eAAe;IAAE;IAAS;IAAM;IAAW,CAAC,CAC7C;GACI;GACL,MAAK;GACL,GAAI;IACJ;GACwB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"card.d.ts","names":[],"sources":["../../ui/card.tsx"],"sourcesContent":[],"mappings":";;;;;iBAMS,IAAA;;;AAJiC,GAOvC;QACK,OAAA,CAAM,UAAU;AARkB,CAAA,CAAA,EASzC,mBAAA,CAAA,GAAA,CAAA,OALY;iBAiBJ,UAAA,CAhBP;EAAA,SAAA;EAAA,GAAA;CAAA,EAmBC,SAnBD,GAAA;EAEC,GAAA,CAAA,EAkBK,OAAA,CAAM,SAlBX,CAkBqB,IAlBrB,CAAA;CACqB,CAAA,EAkBvB,mBAAA,CAAA,GAAA,CAAA,OAlBuB;iBAwBf,SAAA,CAxBK;EAAA,SAAA;EAAA,GAAA;CAAA,EA2BX,SA3BW,GAAA;EACb,GAAA,CAAA,EA2BO,OAAA,CAAM,SA3Bb,CA2BuB,IA3BvB,CAAA;CAAA,CAAA,EA4BA,mBAAA,CAAA,GAAA,CAAA,OA5BA;AAAA,iBA0CQ,eAAA,CA9BU;EAAA,SAAA;EAAA,GAAA;CAAA,EAiChB,SAjCgB,GAAA;EACjB,GAAA,CAAA,EAiCM,OAAA,CAAM,SAjCZ,CAiCsB,IAjCtB,CAAA;CAEC,CAAA,EAgCF,mBAAA,CAAA,GAAA,CAAA,OAhCE;iBAyCM,WAAA,CAxCe;EAAA,SAAA;EAAA,GAAA;CAAA,EA2CrB,SA3CqB,GAAA;EAAhB,GAAA,CAAA,EA4CA,OAAA,CAAM,SA5CA,CA4CU,IA5CV,CAAA;CACb,CAAA,EA4CA,mBAAA,CAAA,GAAA,CAAA,OA5CA;iBAoDQ,UAAA,CApDR;EAAA,SAAA;EAAA,GAAA;CAAA,EAuDE,SAvDF,GAAA;EAMQ,GAAA,CAAA,EAkDD,OAAA,CAAM,SAlDI,CAkDM,IAlDN,CAAA;CAChB,CAAA,EAkDD,mBAAA,CAAA,GAAA,CAAA,OAlDC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"card.js","names":[],"sources":["../../ui/card.tsx"],"sourcesContent":["import * as React from 'react';\nimport type { TextProps, ViewProps } from 'react-native';\nimport { Text, View } from 'react-native';\nimport { TextClassContext } from './text';\nimport { cn } from './utils';\n\nfunction Card({\n className,\n ...props\n}: ViewProps & {\n ref?: React.RefObject<View>;\n}) {\n return (\n <View\n className={cn(\n 'border-border bg-card shadow-foreground/10 rounded-lg border shadow-2xs',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction CardHeader({\n className,\n ...props\n}: ViewProps & {\n ref?: React.RefObject<View>;\n}) {\n return (\n <View className={cn('flex flex-col gap-y-1.5 p-6', className)} {...props} />\n );\n}\n\nfunction CardTitle({\n className,\n ...props\n}: TextProps & {\n ref?: React.RefObject<Text>;\n}) {\n return (\n <Text\n role=\"heading\"\n aria-level={3}\n className={cn(\n 'text-card-foreground text-2xl leading-none font-semibold tracking-tight',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction CardDescription({\n className,\n ...props\n}: TextProps & {\n ref?: React.RefObject<Text>;\n}) {\n return (\n <Text\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n );\n}\n\nfunction CardContent({\n className,\n ...props\n}: ViewProps & {\n ref?: React.RefObject<View>;\n}) {\n return (\n <TextClassContext.Provider value=\"text-card-foreground\">\n <View className={cn('p-6 pt-0', className)} {...props} />\n </TextClassContext.Provider>\n );\n}\n\nfunction CardFooter({\n className,\n ...props\n}: ViewProps & {\n ref?: React.RefObject<View>;\n}) {\n return (\n <View\n className={cn('flex flex-row items-center p-6 pt-0', className)}\n {...props}\n />\n );\n}\n\nexport {\n Card,\n CardContent,\n CardDescription,\n CardFooter,\n CardHeader,\n CardTitle,\n};\n"],"mappings":";;;;;;;AAMA,SAAS,KAAK,EACZ,WACA,GAAG,SAGF;AACD,QACE,oBAAC;EACC,WAAW,GACT,2EACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,WAAW,EAClB,WACA,GAAG,SAGF;AACD,QACE,oBAAC;EAAK,WAAW,GAAG,+BAA+B,UAAU;EAAE,GAAI;GAAS;;AAIhF,SAAS,UAAU,EACjB,WACA,GAAG,SAGF;AACD,QACE,oBAAC;EACC,MAAK;EACL,cAAY;EACZ,WAAW,GACT,2EACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,gBAAgB,EACvB,WACA,GAAG,SAGF;AACD,QACE,oBAAC;EACC,WAAW,GAAG,iCAAiC,UAAU;EACzD,GAAI;GACJ;;AAIN,SAAS,YAAY,EACnB,WACA,GAAG,SAGF;AACD,QACE,oBAAC,iBAAiB;EAAS,OAAM;YAC/B,oBAAC;GAAK,WAAW,GAAG,YAAY,UAAU;GAAE,GAAI;IAAS;GAC/B;;AAIhC,SAAS,WAAW,EAClB,WACA,GAAG,SAGF;AACD,QACE,oBAAC;EACC,WAAW,GAAG,uCAAuC,UAAU;EAC/D,GAAI;GACJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"carousel.d.ts","names":[],"sources":["../../ui/carousel.tsx"],"sourcesContent":[],"mappings":";cAAa,QAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"carousel.js","names":[],"sources":["../../ui/carousel.tsx"],"sourcesContent":["export const carousel = 'null';\n"],"mappings":";AAAA,MAAa,WAAW"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkbox.d.ts","names":[],"sources":["../../ui/checkbox.tsx"],"sourcesContent":[],"mappings":";;;;cAKM,UAAQ,OAAA,CAAA,0BAAA,KAAA,KAkBZ,aAAA,CAlBY,cAAA,GAAA,OAAA,CAAA,cAAA,aAAA,CAAA,IAAA;;;EAAR,SAAA,CAAA,EAkBJ,CAAA,EAAA,uBAAA,EAAA,GAAA,IAAA;EAAA,OAAA,CAAA,EAAA,CAlBY,EAAA,uBAAA,EAAA,GAAA,IAAA;CAAA,GAAA;EAAA,OAAA,EAAA,OAAA;EAAA,eAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,GAAA,IAAA;;8EAAA,aAAA,CAAA,IAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkbox.js","names":["React"],"sources":["../../ui/checkbox.tsx"],"sourcesContent":["import * as CheckboxPrimitive from '@rn-primitives/checkbox';\nimport * as React from 'react';\nimport { cn } from './utils';\nimport { Check } from 'lucide-react-native';\n\nconst Checkbox = React.forwardRef<\n React.ElementRef<typeof CheckboxPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(\n 'web:peer border-primary web:ring-offset-background web:focus-visible:outline-hidden web:focus-visible:ring-2 web:focus-visible:ring-ring web:focus-visible:ring-offset-2 h-4 w-4 shrink-0 rounded-xs border disabled:cursor-not-allowed disabled:opacity-50',\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n className={cn('flex items-center justify-center text-current')}\n >\n <Check className=\"h-4 w-4\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n));\nCheckbox.displayName = CheckboxPrimitive.Root.displayName;\n\nexport { Checkbox };\n"],"mappings":";;;;;;;AAKA,MAAM,WAAWA,QAAM,YAGpB,EAAE,WAAW,GAAG,SAAS,QAC1B,oBAAC,kBAAkB;CACZ;CACL,WAAW,GACT,+PACA,UACD;CACD,GAAI;WAEJ,oBAAC,kBAAkB;EACjB,WAAW,GAAG,gDAAgD;YAE9D,oBAAC,SAAM,WAAU,YAAY;GACD;EACP,CACzB;AACF,SAAS,cAAc,kBAAkB,KAAK"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"collapsible.d.ts","names":[],"sources":["../../ui/collapsible.tsx"],"sourcesContent":[],"mappings":";;;;;cAEM,oBAAW,0BAA4B,cAAA,CAA5B,SAAA;;;;;EAAX,YAAA,CAAA,EAAuC,CAAA,IAAA,EAAA,OAAA,EAAA,GAAA,IAAA;EAAA,QAAA,CAAA,EAAA,OAA5B;CAAA,uBAAA,CAAA,cAAA,CAAA,IAAA,CAAA,CAAA;cAEX,2BAAkB,0BAAA,KAA+B,cAAA,CAA/B,cAAA,GAAA,MAAA,CAAA,cAAA,cAAA,CAAA,IAAA;SAFP,CAAA,EAAA,OAAA;CAAA,GAAA;EAEX,SAAA,CAAA,EAAA,CAAA,EAAA,qBAAiD,EAAA,GAAA,IAAA;EAAA,OAAA,CAAA,EAAA,CAAA,EAA/B,qBAAA,EAAA,GAAA,IAAA;CAAA,uBAAA,qBAAA,CAAA;cAElB,kBAFkB,SAEA,yBAFA,CAE+B,qBAAA,CAA/B,cAAA,GAAA,cAAA,CAAA,SAAA,GAFA;EAAA,OAAA,CAAA,EAAA,OAAA;yBAEA,cAAA,CAAA,IAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"collapsible.js","names":[],"sources":["../../ui/collapsible.tsx"],"sourcesContent":["import * as CollapsiblePrimitive from '@rn-primitives/collapsible';\n\nconst Collapsible = CollapsiblePrimitive.Root;\n\nconst CollapsibleTrigger = CollapsiblePrimitive.Trigger;\n\nconst CollapsibleContent = CollapsiblePrimitive.Content;\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent };\n"],"mappings":";;;AAEA,MAAM,cAAc,qBAAqB;AAEzC,MAAM,qBAAqB,qBAAqB;AAEhD,MAAM,qBAAqB,qBAAqB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"command.d.ts","names":[],"sources":["../../ui/command.tsx"],"sourcesContent":[],"mappings":";cAAa,QAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"command.js","names":[],"sources":["../../ui/command.tsx"],"sourcesContent":["export const carousel = 'null';\n"],"mappings":";AAAA,MAAa,WAAW"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"context-menu.d.ts","names":[],"sources":["../../ui/context-menu.tsx"],"sourcesContent":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"context-menu.js","names":[],"sources":["../../ui/context-menu.tsx"],"sourcesContent":["import * as ContextMenuPrimitive from '@rn-primitives/context-menu';\nimport * as React from 'react';\nimport {\n Platform,\n type StyleProp,\n StyleSheet,\n Text,\n type TextProps,\n View,\n type ViewStyle,\n} from 'react-native';\nimport { Check } from './icons/Check';\nimport { ChevronDown } from './icons/ChevronDown';\nimport { ChevronRight } from './icons/ChevronRight';\nimport { ChevronUp } from './icons/ChevronUp';\nimport { TextClassContext } from './text';\nimport { cn } from './utils';\n\nconst ContextMenu = ContextMenuPrimitive.Root;\nconst ContextMenuTrigger = ContextMenuPrimitive.Trigger;\nconst ContextMenuGroup = ContextMenuPrimitive.Group;\nconst ContextMenuSub = ContextMenuPrimitive.Sub;\nconst ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;\n\nfunction ContextMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: ContextMenuPrimitive.SubTriggerProps & {\n ref?: React.RefObject<ContextMenuPrimitive.SubTriggerRef>;\n children?: React.ReactNode;\n inset?: boolean;\n}) {\n const { open } = ContextMenuPrimitive.useSubContext();\n const Icon =\n Platform.OS === 'web' ? ChevronRight : open ? ChevronUp : ChevronDown;\n return (\n <TextClassContext.Provider\n value={cn(\n 'native:text-lg text-primary text-sm select-none',\n open && 'native:text-accent-foreground'\n )}\n >\n <ContextMenuPrimitive.SubTrigger\n className={cn(\n 'native:py-2 active:bg-accent web:cursor-default web:select-none web:outline-hidden web:hover:bg-accent web:focus:bg-accent flex flex-row items-center gap-2 rounded-xs px-2 py-1.5',\n open && 'bg-accent',\n inset && 'pl-8',\n className\n )}\n {...props}\n >\n {children}\n <Icon size={18} className=\"text-foreground ml-auto\" />\n </ContextMenuPrimitive.SubTrigger>\n </TextClassContext.Provider>\n );\n}\n\nfunction ContextMenuSubContent({\n className,\n ...props\n}: ContextMenuPrimitive.SubContentProps & {\n ref?: React.RefObject<ContextMenuPrimitive.SubContentRef>;\n}) {\n const { open } = ContextMenuPrimitive.useSubContext();\n return (\n <ContextMenuPrimitive.SubContent\n className={cn(\n 'border-border bg-popover shadow-foreground/5 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 mt-1 min-w-32 overflow-hidden rounded-md border p-1 shadow-md',\n open\n ? 'web:animate-in web:fade-in-0 web:zoom-in-95'\n : 'web:animate-out web:fade-out-0 web:zoom-out',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction ContextMenuContent({\n className,\n overlayClassName,\n overlayStyle,\n portalHost,\n ...props\n}: ContextMenuPrimitive.ContentProps & {\n ref?: React.RefObject<ContextMenuPrimitive.ContentRef>;\n overlayStyle?: StyleProp<ViewStyle>;\n overlayClassName?: string;\n portalHost?: string;\n}) {\n const { open } = ContextMenuPrimitive.useRootContext();\n return (\n <ContextMenuPrimitive.Portal hostName={portalHost}>\n <ContextMenuPrimitive.Overlay\n style={\n overlayStyle\n ? StyleSheet.flatten([\n Platform.OS !== 'web' ? StyleSheet.absoluteFill : undefined,\n overlayStyle as typeof StyleSheet.absoluteFill,\n ])\n : Platform.OS !== 'web'\n ? StyleSheet.absoluteFill\n : undefined\n }\n className={overlayClassName}\n >\n <ContextMenuPrimitive.Content\n className={cn(\n 'border-border bg-popover shadow-foreground/5 web:data-[side=bottom]:slide-in-from-top-2 web:data-[side=left]:slide-in-from-right-2 web:data-[side=right]:slide-in-from-left-2 web:data-[side=top]:slide-in-from-bottom-2 z-50 min-w-32 overflow-hidden rounded-md border p-1 shadow-md',\n open\n ? 'web:animate-in web:fade-in-0 web:zoom-in-95'\n : 'web:animate-out web:fade-out-0 web:zoom-out-95',\n className\n )}\n {...props}\n />\n </ContextMenuPrimitive.Overlay>\n </ContextMenuPrimitive.Portal>\n );\n}\n\nfunction ContextMenuItem({\n className,\n inset,\n ...props\n}: ContextMenuPrimitive.ItemProps & {\n ref?: React.RefObject<ContextMenuPrimitive.ItemRef>;\n className?: string;\n inset?: boolean;\n}) {\n return (\n <TextClassContext.Provider value=\"select-none text-sm native:text-lg text-popover-foreground web:group-focus:text-accent-foreground\">\n <ContextMenuPrimitive.Item\n className={cn(\n 'native:py-2 group active:bg-accent web:cursor-default web:outline-hidden web:hover:bg-accent web:focus:bg-accent relative flex flex-row items-center gap-2 rounded-xs px-2 py-1.5',\n inset && 'pl-8',\n props.disabled && 'web:pointer-events-none opacity-50',\n className\n )}\n {...props}\n />\n </TextClassContext.Provider>\n );\n}\n\nfunction ContextMenuCheckboxItem({\n className,\n children,\n ...props\n}: ContextMenuPrimitive.CheckboxItemProps & {\n ref?: React.RefObject<ContextMenuPrimitive.CheckboxItemRef>;\n children?: React.ReactNode;\n}) {\n return (\n <ContextMenuPrimitive.CheckboxItem\n className={cn(\n 'web:group native:py-2 active:bg-accent web:cursor-default web:outline-hidden web:focus:bg-accent relative flex flex-row items-center rounded-xs py-1.5 pr-2 pl-8',\n props.disabled && 'web:pointer-events-none opacity-50',\n className\n )}\n {...props}\n >\n <View className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <ContextMenuPrimitive.ItemIndicator>\n <Check size={14} strokeWidth={3} className=\"text-foreground\" />\n </ContextMenuPrimitive.ItemIndicator>\n </View>\n {children}\n </ContextMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction ContextMenuRadioItem({\n className,\n children,\n ...props\n}: ContextMenuPrimitive.RadioItemProps & {\n ref?: React.RefObject<ContextMenuPrimitive.RadioItemRef>;\n children?: React.ReactNode;\n}) {\n return (\n <ContextMenuPrimitive.RadioItem\n className={cn(\n 'web:group native:py-2 active:bg-accent web:cursor-default web:outline-hidden web:focus:bg-accent relative flex flex-row items-center rounded-xs py-1.5 pr-2 pl-8',\n props.disabled && 'web:pointer-events-none opacity-50',\n className\n )}\n {...props}\n >\n <View className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <ContextMenuPrimitive.ItemIndicator>\n <View className=\"bg-foreground h-2 w-2 rounded-full\" />\n </ContextMenuPrimitive.ItemIndicator>\n </View>\n {children}\n </ContextMenuPrimitive.RadioItem>\n );\n}\n\nfunction ContextMenuLabel({\n className,\n inset,\n ...props\n}: ContextMenuPrimitive.LabelProps & {\n ref?: React.RefObject<ContextMenuPrimitive.LabelRef>;\n className?: string;\n inset?: boolean;\n}) {\n return (\n <ContextMenuPrimitive.Label\n className={cn(\n 'native:text-base text-foreground web:cursor-default px-2 py-1.5 text-sm font-semibold',\n inset && 'pl-8',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction ContextMenuSeparator({\n className,\n ...props\n}: ContextMenuPrimitive.SeparatorProps & {\n ref?: React.RefObject<ContextMenuPrimitive.SeparatorRef>;\n}) {\n return (\n <ContextMenuPrimitive.Separator\n className={cn('bg-border -mx-1 my-1 h-px', className)}\n {...props}\n />\n );\n}\n\nfunction ContextMenuShortcut({ className, ...props }: TextProps) {\n return (\n <Text\n className={cn(\n 'native:text-sm text-muted-foreground ml-auto text-xs tracking-widest',\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n ContextMenu,\n ContextMenuCheckboxItem,\n ContextMenuContent,\n ContextMenuGroup,\n ContextMenuItem,\n ContextMenuLabel,\n ContextMenuRadioGroup,\n ContextMenuRadioItem,\n ContextMenuSeparator,\n ContextMenuShortcut,\n ContextMenuSub,\n ContextMenuSubContent,\n ContextMenuSubTrigger,\n ContextMenuTrigger,\n};\n"],"mappings":";;;;;;;;;;;;AAkBA,MAAM,cAAc,qBAAqB;AACzC,MAAM,qBAAqB,qBAAqB;AAChD,MAAM,mBAAmB,qBAAqB;AAC9C,MAAM,iBAAiB,qBAAqB;AAC5C,MAAM,wBAAwB,qBAAqB;AAEnD,SAAS,sBAAsB,EAC7B,WACA,OACA,UACA,GAAG,SAKF;CACD,MAAM,EAAE,SAAS,qBAAqB,eAAe;CACrD,MAAM,OACJ,SAAS,OAAO,QAAQ,eAAe,OAAO,YAAY;AAC5D,QACE,oBAAC,iBAAiB;EAChB,OAAO,GACL,mDACA,QAAQ,gCACT;YAED,qBAAC,qBAAqB;GACpB,WAAW,GACT,sLACA,QAAQ,aACR,SAAS,QACT,UACD;GACD,GAAI;cAEH,UACD,oBAAC;IAAK,MAAM;IAAI,WAAU;KAA4B;IACtB;GACR;;AAIhC,SAAS,sBAAsB,EAC7B,WACA,GAAG,SAGF;CACD,MAAM,EAAE,SAAS,qBAAqB,eAAe;AACrD,QACE,oBAAC,qBAAqB;EACpB,WAAW,GACT,+QACA,OACI,gDACA,+CACJ,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,mBAAmB,EAC1B,WACA,kBACA,cACA,YACA,GAAG,SAMF;CACD,MAAM,EAAE,SAAS,qBAAqB,gBAAgB;AACtD,QACE,oBAAC,qBAAqB;EAAO,UAAU;YACrC,oBAAC,qBAAqB;GACpB,OACE,eACI,WAAW,QAAQ,CACjB,SAAS,OAAO,QAAQ,WAAW,eAAe,QAClD,aACD,CAAC,GACF,SAAS,OAAO,QACd,WAAW,eACX;GAER,WAAW;aAEX,oBAAC,qBAAqB;IACpB,WAAW,GACT,0RACA,OACI,gDACA,kDACJ,UACD;IACD,GAAI;KACJ;IAC2B;GACH;;AAIlC,SAAS,gBAAgB,EACvB,WACA,OACA,GAAG,SAKF;AACD,QACE,oBAAC,iBAAiB;EAAS,OAAM;YAC/B,oBAAC,qBAAqB;GACpB,WAAW,GACT,qLACA,SAAS,QACT,MAAM,YAAY,sCAClB,UACD;GACD,GAAI;IACJ;GACwB;;AAIhC,SAAS,wBAAwB,EAC/B,WACA,UACA,GAAG,SAIF;AACD,QACE,qBAAC,qBAAqB;EACpB,WAAW,GACT,oKACA,MAAM,YAAY,sCAClB,UACD;EACD,GAAI;aAEJ,oBAAC;GAAK,WAAU;aACd,oBAAC,qBAAqB,2BACpB,oBAAC;IAAM,MAAM;IAAI,aAAa;IAAG,WAAU;KAAoB,GAC5B;IAChC,EACN;GACiC;;AAIxC,SAAS,qBAAqB,EAC5B,WACA,UACA,GAAG,SAIF;AACD,QACE,qBAAC,qBAAqB;EACpB,WAAW,GACT,oKACA,MAAM,YAAY,sCAClB,UACD;EACD,GAAI;aAEJ,oBAAC;GAAK,WAAU;aACd,oBAAC,qBAAqB,2BACpB,oBAAC,QAAK,WAAU,uCAAuC,GACpB;IAChC,EACN;GAC8B;;AAIrC,SAAS,iBAAiB,EACxB,WACA,OACA,GAAG,SAKF;AACD,QACE,oBAAC,qBAAqB;EACpB,WAAW,GACT,yFACA,SAAS,QACT,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,qBAAqB,EAC5B,WACA,GAAG,SAGF;AACD,QACE,oBAAC,qBAAqB;EACpB,WAAW,GAAG,6BAA6B,UAAU;EACrD,GAAI;GACJ;;AAIN,SAAS,oBAAoB,EAAE,WAAW,GAAG,SAAoB;AAC/D,QACE,oBAAC;EACC,WAAW,GACT,wEACA,UACD;EACD,GAAI;GACJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"date-picker.d.ts","names":[],"sources":["../../ui/date-picker.tsx"],"sourcesContent":[],"mappings":";;;UAUiB,eAAA;SACR;mBACU;EAFF,QAAA,CAAA,EAAA,OAAe;EACvB,OAAA,CAAA,EAGG,IAHH;EACU,OAAA,CAAA,EAGP,IAHO;EAEP,WAAA,CAAA,EAAA,MAAA;EACA,SAAA,CAAA,EAAA,MAAA;;AAkBI,iBAAA,UAAA,CAAU;EAAA,KAAA;EAAA,QAAA;EAAA,QAAA;EAAA,OAAA;EAAA,OAAA;EAAA,WAAA;EAAA;AAAA,CAAA,EAQvB,eARuB,CAAA,EAQR,mBAAA,CAAA,GAAA,CAAA,OARQ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"date-picker.js","names":["Text"],"sources":["../../ui/date-picker.tsx"],"sourcesContent":["import React, { useMemo, useState } from 'react';\nimport { Platform, Pressable, View } from 'react-native';\nimport type {\n AndroidNativeProps,\n IOSNativeProps,\n} from '@react-native-community/datetimepicker';\nimport DateTimePicker from '@react-native-community/datetimepicker';\nimport { cn } from './utils';\nimport { Text } from './text';\n\nexport interface DatePickerProps {\n value: Date | null;\n onChange: (date: Date | null) => void;\n disabled?: boolean;\n minDate?: Date;\n maxDate?: Date;\n placeholder?: string;\n className?: string;\n}\n\nfunction formatDateDisplay(date: Date | null) {\n if (!date) return '';\n try {\n return date.toLocaleDateString(undefined, {\n day: '2-digit',\n month: 'long',\n year: 'numeric',\n });\n } catch {\n return '';\n }\n}\n\nexport function DatePicker({\n value,\n onChange,\n disabled,\n minDate,\n maxDate,\n placeholder = 'Select date',\n className,\n}: DatePickerProps) {\n const [show, setShow] = useState(false);\n\n const pickerProps = useMemo<Partial<AndroidNativeProps & IOSNativeProps>>(\n () => ({\n minimumDate: minDate,\n maximumDate: maxDate,\n timeZoneName: undefined,\n }),\n [minDate, maxDate]\n );\n\n const handleChange = (_event: any, selectedDate?: Date | undefined) => {\n if (Platform.OS !== 'ios') setShow(false);\n if (selectedDate) {\n onChange(selectedDate);\n }\n };\n\n return (\n <View className={cn('w-full', className)}>\n <Pressable\n disabled={disabled}\n onPress={() => setShow(true)}\n className={cn(\n 'border-input bg-background h-12 flex-row items-center rounded-md border px-3',\n disabled && 'opacity-50'\n )}\n >\n <Text\n className={cn('text-foreground text-base', !value && 'opacity-50')}\n >\n {value ? formatDateDisplay(value) : placeholder}\n </Text>\n </Pressable>\n {show && (\n <DateTimePicker\n value={value ?? new Date()}\n mode=\"date\"\n display={Platform.OS === 'ios' ? 'inline' : 'default'}\n onChange={handleChange}\n {...(pickerProps as any)}\n />\n )}\n </View>\n );\n}\n"],"mappings":";;;;;;;;AAoBA,SAAS,kBAAkB,MAAmB;AAC5C,KAAI,CAAC,KAAM,QAAO;AAClB,KAAI;AACF,SAAO,KAAK,mBAAmB,QAAW;GACxC,KAAK;GACL,OAAO;GACP,MAAM;GACP,CAAC;SACI;AACN,SAAO;;;AAIX,SAAgB,WAAW,EACzB,OACA,UACA,UACA,SACA,SACA,cAAc,eACd,aACkB;CAClB,MAAM,CAAC,MAAM,WAAW,SAAS,MAAM;CAEvC,MAAM,cAAc,eACX;EACL,aAAa;EACb,aAAa;EACb,cAAc;EACf,GACD,CAAC,SAAS,QAAQ,CACnB;CAED,MAAM,gBAAgB,QAAa,iBAAoC;AACrE,MAAI,SAAS,OAAO,MAAO,SAAQ,MAAM;AACzC,MAAI,aACF,UAAS,aAAa;;AAI1B,QACE,qBAAC;EAAK,WAAW,GAAG,UAAU,UAAU;aACtC,oBAAC;GACW;GACV,eAAe,QAAQ,KAAK;GAC5B,WAAW,GACT,gFACA,YAAY,aACb;aAED,oBAACA;IACC,WAAW,GAAG,6BAA6B,CAAC,SAAS,aAAa;cAEjE,QAAQ,kBAAkB,MAAM,GAAG;KAC/B;IACG,EACX,QACC,oBAAC;GACC,OAAO,yBAAS,IAAI,MAAM;GAC1B,MAAK;GACL,SAAS,SAAS,OAAO,QAAQ,WAAW;GAC5C,UAAU;GACV,GAAK;IACL;GAEC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"date-range-picker.d.ts","names":[],"sources":["../../ui/date-range-picker.tsx"],"sourcesContent":[],"mappings":";;;UAOiB,SAAA;SACR;OACF;AAFP;AAKiB,UAAA,oBAAA,CAAoB;EAC5B,KAAA,EAAA,SAAA;EACW,QAAA,EAAA,CAAA,KAAA,EAAA,SAAA,EAAA,GAAA,IAAA;EAER,QAAA,CAAA,EAAA,OAAA;EACA,OAAA,CAAA,EADA,IACA;EAAI,OAAA,CAAA,EAAJ,IAAI;EAcA,YAAA,CAAA,EAAA;IACd,KAAA,CAAA,EAAA,MAAA;IACA,GAAA,CAAA,EAAA,MAAA;EACA,CAAA;EACA,SAAA,CAAA,EAAA,MAAA;;AAEA,iBANc,eAAA,CAMd;EAAA,KAAA;EAAA,QAAA;EAAA,QAAA;EAAA,OAAA;EAAA,OAAA;EAAA,YAAA;EAAA;AAAA,CAAA,EAEC,oBAFD,CAAA,EAEqB,mBAAA,CAAA,GAAA,CAAA,OAFrB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"date-range-picker.js","names":["Text"],"sources":["../../ui/date-range-picker.tsx"],"sourcesContent":["import React, { useMemo, useState } from 'react';\nimport { Platform, Pressable, View } from 'react-native';\nimport DateTimePicker from '@react-native-community/datetimepicker';\nimport { HStack, VStack } from './stack';\nimport { Text } from './text';\nimport { cn } from './utils';\n\nexport interface DateRange {\n start: Date | null;\n end: Date | null;\n}\n\nexport interface DateRangePickerProps {\n value: DateRange;\n onChange: (range: DateRange) => void;\n disabled?: boolean;\n minDate?: Date;\n maxDate?: Date;\n placeholders?: { start?: string; end?: string };\n className?: string;\n}\n\nfunction fmt(d: Date | null) {\n if (!d) return '';\n try {\n return d.toLocaleDateString();\n } catch {\n return '';\n }\n}\n\nexport function DateRangePicker({\n value,\n onChange,\n disabled,\n minDate,\n maxDate,\n placeholders,\n className,\n}: DateRangePickerProps) {\n const [showStart, setShowStart] = useState(false);\n const [showEnd, setShowEnd] = useState(false);\n\n const pickerCommon = useMemo(\n () => ({ minimumDate: minDate, maximumDate: maxDate }),\n [minDate, maxDate]\n );\n\n const handleStart = (_: any, d?: Date) => {\n if (Platform.OS !== 'ios') setShowStart(false);\n if (!d) return;\n const end = value.end && d > value.end ? d : value.end;\n onChange({ start: d, end });\n };\n const handleEnd = (_: any, d?: Date) => {\n if (Platform.OS !== 'ios') setShowEnd(false);\n if (!d) return;\n const start = value.start && d < value.start ? d : value.start;\n onChange({ start, end: d });\n };\n\n return (\n <VStack className={cn('w-full', className)} spacing=\"sm\">\n <HStack gap=\"sm\">\n <Pressable\n disabled={disabled}\n onPress={() => setShowStart(true)}\n className={cn(\n 'border-input bg-background h-12 flex-1 flex-row items-center rounded-md border px-3',\n disabled && 'opacity-50'\n )}\n >\n <Text\n className={cn(\n 'text-foreground text-base',\n !value.start && 'opacity-50'\n )}\n >\n {value.start\n ? fmt(value.start)\n : placeholders?.start || 'Start date'}\n </Text>\n </Pressable>\n <Pressable\n disabled={disabled}\n onPress={() => setShowEnd(true)}\n className={cn(\n 'border-input bg-background h-12 flex-1 flex-row items-center rounded-md border px-3',\n disabled && 'opacity-50'\n )}\n >\n <Text\n className={cn(\n 'text-foreground text-base',\n !value.end && 'opacity-50'\n )}\n >\n {value.end ? fmt(value.end) : placeholders?.end || 'End date'}\n </Text>\n </Pressable>\n </HStack>\n\n {showStart && (\n <DateTimePicker\n value={value.start ?? new Date()}\n mode=\"date\"\n display={Platform.OS === 'ios' ? 'inline' : 'default'}\n onChange={handleStart}\n {...(pickerCommon as any)}\n />\n )}\n {showEnd && (\n <DateTimePicker\n value={value.end ?? value.start ?? new Date()}\n mode=\"date\"\n display={Platform.OS === 'ios' ? 'inline' : 'default'}\n onChange={handleEnd}\n minimumDate={value.start ?? minDate}\n maximumDate={maxDate}\n />\n )}\n </VStack>\n );\n}\n"],"mappings":";;;;;;;;;AAsBA,SAAS,IAAI,GAAgB;AAC3B,KAAI,CAAC,EAAG,QAAO;AACf,KAAI;AACF,SAAO,EAAE,oBAAoB;SACvB;AACN,SAAO;;;AAIX,SAAgB,gBAAgB,EAC9B,OACA,UACA,UACA,SACA,SACA,cACA,aACuB;CACvB,MAAM,CAAC,WAAW,gBAAgB,SAAS,MAAM;CACjD,MAAM,CAAC,SAAS,cAAc,SAAS,MAAM;CAE7C,MAAM,eAAe,eACZ;EAAE,aAAa;EAAS,aAAa;EAAS,GACrD,CAAC,SAAS,QAAQ,CACnB;CAED,MAAM,eAAe,GAAQ,MAAa;AACxC,MAAI,SAAS,OAAO,MAAO,cAAa,MAAM;AAC9C,MAAI,CAAC,EAAG;AAER,WAAS;GAAE,OAAO;GAAG,KADT,MAAM,OAAO,IAAI,MAAM,MAAM,IAAI,MAAM;GACzB,CAAC;;CAE7B,MAAM,aAAa,GAAQ,MAAa;AACtC,MAAI,SAAS,OAAO,MAAO,YAAW,MAAM;AAC5C,MAAI,CAAC,EAAG;AAER,WAAS;GAAE,OADG,MAAM,SAAS,IAAI,MAAM,QAAQ,IAAI,MAAM;GACvC,KAAK;GAAG,CAAC;;AAG7B,QACE,qBAAC;EAAO,WAAW,GAAG,UAAU,UAAU;EAAE,SAAQ;;GAClD,qBAAC;IAAO,KAAI;eACV,oBAAC;KACW;KACV,eAAe,aAAa,KAAK;KACjC,WAAW,GACT,uFACA,YAAY,aACb;eAED,oBAACA;MACC,WAAW,GACT,6BACA,CAAC,MAAM,SAAS,aACjB;gBAEA,MAAM,QACH,IAAI,MAAM,MAAM,GAChB,cAAc,SAAS;OACtB;MACG,EACZ,oBAAC;KACW;KACV,eAAe,WAAW,KAAK;KAC/B,WAAW,GACT,uFACA,YAAY,aACb;eAED,oBAACA;MACC,WAAW,GACT,6BACA,CAAC,MAAM,OAAO,aACf;gBAEA,MAAM,MAAM,IAAI,MAAM,IAAI,GAAG,cAAc,OAAO;OAC9C;MACG;KACL;GAER,aACC,oBAAC;IACC,OAAO,MAAM,yBAAS,IAAI,MAAM;IAChC,MAAK;IACL,SAAS,SAAS,OAAO,QAAQ,WAAW;IAC5C,UAAU;IACV,GAAK;KACL;GAEH,WACC,oBAAC;IACC,OAAO,MAAM,OAAO,MAAM,yBAAS,IAAI,MAAM;IAC7C,MAAK;IACL,SAAS,SAAS,OAAO,QAAQ,WAAW;IAC5C,UAAU;IACV,aAAa,MAAM,SAAS;IAC5B,aAAa;KACb;;GAEG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"datetime-picker.d.ts","names":[],"sources":["../../ui/datetime-picker.tsx"],"sourcesContent":[],"mappings":";;;UAKiB,mBAAA;SACR;mBACU;EAFF,QAAA,CAAA,EAAA,OAAA;EACR,OAAA,CAAA,EAGG,IAHH;EACU,OAAA,CAAA,EAGP,IAHO;EAEP,eAAA,CAAA,EAAA,MAAA;EACA,eAAA,CAAA,EAAA,MAAA;EAAI,QAAA,CAAA,EAAA,OAAA;EAOA,SAAA,CAAA,EAAA,MAAc;;AAE5B,iBAFc,cAAA,CAEd;EAAA,KAAA;EAAA,QAAA;EAAA,QAAA;EAAA,OAAA;EAAA,OAAA;EAAA,eAAA;EAAA,eAAA;EAAA,QAAA;EAAA;AAAA,CAAA,EAQC,mBARD,CAAA,EAQoB,mBAAA,CAAA,GAAA,CAAA,OARpB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"datetime-picker.js","names":[],"sources":["../../ui/datetime-picker.tsx"],"sourcesContent":["import React from 'react';\nimport { HStack } from './stack';\nimport { DatePicker } from './date-picker';\nimport { TimePicker } from './time-picker';\n\nexport interface DateTimePickerProps {\n value: Date | null;\n onChange: (date: Date | null) => void;\n disabled?: boolean;\n minDate?: Date;\n maxDate?: Date;\n datePlaceholder?: string;\n timePlaceholder?: string;\n is24Hour?: boolean;\n className?: string;\n}\n\nexport function DateTimePicker({\n value,\n onChange,\n disabled,\n minDate,\n maxDate,\n datePlaceholder,\n timePlaceholder,\n is24Hour,\n className,\n}: DateTimePickerProps) {\n const handleDateChange = (d: Date | null) => {\n if (!d) return;\n const next = new Date(d);\n if (value) {\n next.setHours(value.getHours(), value.getMinutes(), 0, 0);\n }\n onChange(next);\n };\n\n const handleTimeChange = (t: Date | null) => {\n if (!t) return;\n const next = new Date(value ?? new Date());\n next.setHours(t.getHours(), t.getMinutes(), 0, 0);\n onChange(next);\n };\n\n return (\n <HStack className={className} gap=\"sm\">\n <DatePicker\n value={value}\n onChange={handleDateChange}\n disabled={disabled}\n minDate={minDate}\n maxDate={maxDate}\n placeholder={datePlaceholder}\n className=\"flex-1\"\n />\n <TimePicker\n value={value}\n onChange={handleTimeChange}\n disabled={disabled}\n is24Hour={is24Hour}\n placeholder={timePlaceholder}\n className=\"flex-1\"\n />\n </HStack>\n );\n}\n"],"mappings":";;;;;;;AAiBA,SAAgB,eAAe,EAC7B,OACA,UACA,UACA,SACA,SACA,iBACA,iBACA,UACA,aACsB;CACtB,MAAM,oBAAoB,MAAmB;AAC3C,MAAI,CAAC,EAAG;EACR,MAAM,OAAO,IAAI,KAAK,EAAE;AACxB,MAAI,MACF,MAAK,SAAS,MAAM,UAAU,EAAE,MAAM,YAAY,EAAE,GAAG,EAAE;AAE3D,WAAS,KAAK;;CAGhB,MAAM,oBAAoB,MAAmB;AAC3C,MAAI,CAAC,EAAG;EACR,MAAM,OAAO,IAAI,KAAK,yBAAS,IAAI,MAAM,CAAC;AAC1C,OAAK,SAAS,EAAE,UAAU,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE;AACjD,WAAS,KAAK;;AAGhB,QACE,qBAAC;EAAkB;EAAW,KAAI;aAChC,oBAAC;GACQ;GACP,UAAU;GACA;GACD;GACA;GACT,aAAa;GACb,WAAU;IACV,EACF,oBAAC;GACQ;GACP,UAAU;GACA;GACA;GACV,aAAa;GACb,WAAU;IACV;GACK"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"dialog.d.ts","names":[],"sources":["../../ui/dialog.tsx"],"sourcesContent":[],"mappings":";;;;;;;cAOM,QAAM,OAAA,CAAA,0BAAA;;;;EAAN,WAA6B,CAAA,EAAA,OAAA;EAAvB,YAAA,CAAA,EAAA,CAAA,KAAA,EAAA,OAAA,EAAA,GAAA,IAAA;;cAEN,eAAa,OAAA,CAAA,0BAAA,KAA0B,aAAA,CAA1B,cAAA,GAAA,OAAA,CAAA,cAAA;EAFP,OAAA,CAAA,EAAA,OAAA;CAAA,GAAA;EAEN,SAAA,CAAA,EAAA,CAAA,EAAA,uBAAuC,EAAA,GAAA,IAAA;EAAA,OAAA,CAAA,EAAA,CAA1B,EAAA,uBAAA,EAAA,GAAA,IAAA;CAAA,wBAAA,KAAA,CAAA,CAAA;cAEb,YAFa,EAAA,OAED,eAAA,CAAA,MAFC;cAIb,WAJa,EAIF,OAAA,CAAA,yBAJE,CAIF,IAJE,CAIsB,aAAA,CAAxB,cAAA,GAAA,OAAA,CAAA,aAJE,CAIF,IAJE,CAAA,EAAA,KAAA,CAAA,GAAA;;;;;CAAA,wBAAA,KAAA,CAAA,CAAA;iBA2BV,mBAAA,CA3BU;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;CAAA,EA+BhB,eAAA,CAAgB,YA/BA,GAAA;EAEb,GAAA,CAAA,EA8BE,OAAA,CAAM,SA9B6B,CA8BnB,eAAA,CAAgB,UA9BtB,CAAA;EAEZ,QAAA,CAAA,EA6BO,OAAA,CAAM,SA7BsB;CAAA,CAAA,EA8BxC,mBAAA,CAAA,GAAA,CAAA,OA9BgB;cAkDX,aAlDW,EAAA,OAkDE,mBAlDF;iBAuDR,aAAA,CAvDQ;EAAA,SAAA;EAAA,QAAA;EAAA,UAAA;EAAA,GAAA;CAAA,EA4Dd,eAAA,CAAgB,YA5DF,GAAA;EAAA,GAAA,CAAA,EA6DT,OAAA,CAAM,SA7DG,CA6DO,eAAA,CAAgB,UA7DvB,CAAA;;;IAgEhB,mBAAA,CAAA,GAAA,CAAA;iBAmCQ,YAAA;;;GAAsC,YAAS,mBAAA,CAAA,GAAA,CAAA;iBAY/C,YAAA,CA/GQ;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA+G8B,SA/G9B,CAAA,EA+GuC,mBAAA,CAAA,GAAA,CAAA,OA/GvC;iBA2HR,WAAA,CA3HQ;EAAA,SAAA;EAAA,GAAA;CAAA,EA8Hd,eAAA,CAAgB,UA9HF,GAAA;EAuBR,GAAA,CAAA,EAwGD,OAAA,CAAM,SAxGL,CAwGe,eAAA,CAAgB,QAxGZ,CAAA;CAC1B,CAAA,EAwGD,mBAAA,CAAA,GAAA,CAAA,OAxGC;iBAoHO,iBAAA,CAnHP;EAAA,SAAA;EAAA,GAAA;CAAA,EAsHC,eAAA,CAAgB,gBAtHjB,GAAA;EAEC,GAAA,CAAA,EAqHK,OAAA,CAAM,SArHK,CAqHK,eAAA,CAAgB,cArHrB,CAAA;CACK,CAAA,EAqHvB,mBAAA,CAAA,GAAA,CAAA,OArHuC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"dialog.js","names":[],"sources":["../../ui/dialog.tsx"],"sourcesContent":["import * as DialogPrimitive from '@rn-primitives/dialog';\nimport * as React from 'react';\nimport { Platform, StyleSheet, View, type ViewProps } from 'react-native';\nimport Animated, { FadeIn, FadeOut } from 'react-native-reanimated';\nimport { X } from './icons/X';\nimport { cn } from './utils';\n\nconst Dialog = DialogPrimitive.Root;\n\nconst DialogTrigger = DialogPrimitive.Trigger;\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogClose = DialogPrimitive.Close;\n\nfunction DialogOverlayWeb({\n className,\n ...props\n}: DialogPrimitive.OverlayProps & {\n ref?: React.RefObject<DialogPrimitive.OverlayRef>;\n}) {\n const { open } = DialogPrimitive.useRootContext();\n return (\n <DialogPrimitive.Overlay\n className={cn(\n 'absolute top-0 right-0 bottom-0 left-0 flex items-center justify-center bg-black/80 p-2',\n open\n ? 'web:animate-in web:fade-in-0'\n : 'web:animate-out web:fade-out-0',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DialogOverlayNative({\n className,\n children,\n ...props\n}: DialogPrimitive.OverlayProps & {\n ref?: React.RefObject<DialogPrimitive.OverlayRef>;\n children?: React.ReactNode;\n}) {\n return (\n <DialogPrimitive.Overlay\n style={StyleSheet.absoluteFill}\n className={cn(\n 'flex items-center justify-center bg-black/80 p-2',\n className\n )}\n {...props}\n >\n <Animated.View\n entering={FadeIn.duration(150)}\n exiting={FadeOut.duration(150)}\n >\n {children}\n </Animated.View>\n </DialogPrimitive.Overlay>\n );\n}\n\nconst DialogOverlay = Platform.select({\n web: DialogOverlayWeb,\n default: DialogOverlayNative,\n});\n\nfunction DialogContent({\n className,\n children,\n portalHost,\n ...props\n}: DialogPrimitive.ContentProps & {\n ref?: React.RefObject<DialogPrimitive.ContentRef>;\n className?: string;\n portalHost?: string;\n}) {\n const { open } = DialogPrimitive.useRootContext();\n return (\n <DialogPortal hostName={portalHost}>\n <DialogOverlay>\n <DialogPrimitive.Content\n className={cn(\n 'border-border bg-background web:cursor-default web:duration-200 max-w-lg gap-4 rounded-lg border p-6 shadow-lg',\n open\n ? 'web:animate-in web:fade-in-0 web:zoom-in-95'\n : 'web:animate-out web:fade-out-0 web:zoom-out-95',\n className\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close\n className={\n 'web:group web:ring-offset-background web:transition-opacity web:hover:opacity-100 web:focus:outline-hidden web:focus:ring-2 web:focus:ring-ring web:focus:ring-offset-2 web:disabled:pointer-events-none absolute top-4 right-4 rounded-xs p-0.5 opacity-70'\n }\n >\n <X\n size={Platform.OS === 'web' ? 16 : 18}\n className={cn(\n 'text-muted-foreground',\n open && 'text-accent-foreground'\n )}\n />\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogOverlay>\n </DialogPortal>\n );\n}\n\nfunction DialogHeader({ className, ...props }: ViewProps) {\n return (\n <View\n className={cn(\n 'flex flex-col gap-1.5 text-center sm:text-left',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DialogFooter({ className, ...props }: ViewProps) {\n return (\n <View\n className={cn(\n 'flex flex-col-reverse gap-2 sm:flex-row sm:justify-end',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DialogTitle({\n className,\n ...props\n}: DialogPrimitive.TitleProps & {\n ref?: React.RefObject<DialogPrimitive.TitleRef>;\n}) {\n return (\n <DialogPrimitive.Title\n className={cn(\n 'native:text-xl text-foreground text-lg leading-none font-semibold tracking-tight',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DialogDescription({\n className,\n ...props\n}: DialogPrimitive.DescriptionProps & {\n ref?: React.RefObject<DialogPrimitive.DescriptionRef>;\n}) {\n return (\n <DialogPrimitive.Description\n className={cn(\n 'native:text-base text-muted-foreground text-sm',\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n};\n"],"mappings":";;;;;;;;;AAOA,MAAM,SAAS,gBAAgB;AAE/B,MAAM,gBAAgB,gBAAgB;AAEtC,MAAM,eAAe,gBAAgB;AAErC,MAAM,cAAc,gBAAgB;AAEpC,SAAS,iBAAiB,EACxB,WACA,GAAG,SAGF;CACD,MAAM,EAAE,SAAS,gBAAgB,gBAAgB;AACjD,QACE,oBAAC,gBAAgB;EACf,WAAW,GACT,2FACA,OACI,iCACA,kCACJ,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,oBAAoB,EAC3B,WACA,UACA,GAAG,SAIF;AACD,QACE,oBAAC,gBAAgB;EACf,OAAO,WAAW;EAClB,WAAW,GACT,oDACA,UACD;EACD,GAAI;YAEJ,oBAAC,SAAS;GACR,UAAU,OAAO,SAAS,IAAI;GAC9B,SAAS,QAAQ,SAAS,IAAI;GAE7B;IACa;GACQ;;AAI9B,MAAM,gBAAgB,SAAS,OAAO;CACpC,KAAK;CACL,SAAS;CACV,CAAC;AAEF,SAAS,cAAc,EACrB,WACA,UACA,YACA,GAAG,SAKF;CACD,MAAM,EAAE,SAAS,gBAAgB,gBAAgB;AACjD,QACE,oBAAC;EAAa,UAAU;YACtB,oBAAC,2BACC,qBAAC,gBAAgB;GACf,WAAW,GACT,kHACA,OACI,gDACA,kDACJ,UACD;GACD,GAAI;cAEH,UACD,oBAAC,gBAAgB;IACf,WACE;cAGF,oBAAC;KACC,MAAM,SAAS,OAAO,QAAQ,KAAK;KACnC,WAAW,GACT,yBACA,QAAQ,yBACT;MACD;KACoB;IACA,GACZ;GACH;;AAInB,SAAS,aAAa,EAAE,WAAW,GAAG,SAAoB;AACxD,QACE,oBAAC;EACC,WAAW,GACT,kDACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,aAAa,EAAE,WAAW,GAAG,SAAoB;AACxD,QACE,oBAAC;EACC,WAAW,GACT,0DACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,YAAY,EACnB,WACA,GAAG,SAGF;AACD,QACE,oBAAC,gBAAgB;EACf,WAAW,GACT,oFACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,kBAAkB,EACzB,WACA,GAAG,SAGF;AACD,QACE,oBAAC,gBAAgB;EACf,WAAW,GACT,kDACA,UACD;EACD,GAAI;GACJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"dropdown-menu.d.ts","names":[],"sources":["../../ui/dropdown-menu.tsx"],"sourcesContent":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"dropdown-menu.js","names":[],"sources":["../../ui/dropdown-menu.tsx"],"sourcesContent":["import * as DropdownMenuPrimitive from '@rn-primitives/dropdown-menu';\nimport * as React from 'react';\nimport {\n Platform,\n type StyleProp,\n StyleSheet,\n Text,\n type TextProps,\n View,\n type ViewStyle,\n} from 'react-native';\nimport { Check } from './icons/Check';\nimport { ChevronDown } from './icons/ChevronDown';\nimport { ChevronRight } from './icons/ChevronRight';\nimport { ChevronUp } from './icons/ChevronUp';\nimport { cn } from './utils';\nimport { TextClassContext } from './text';\n\nconst DropdownMenu = DropdownMenuPrimitive.Root;\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal;\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: DropdownMenuPrimitive.SubTriggerProps & {\n ref?: React.RefObject<DropdownMenuPrimitive.SubTriggerRef>;\n className?: string;\n inset?: boolean;\n children?: React.ReactNode;\n}) {\n const { open } = DropdownMenuPrimitive.useSubContext();\n const Icon =\n Platform.OS === 'web' ? ChevronRight : open ? ChevronUp : ChevronDown;\n return (\n <TextClassContext.Provider\n value={cn(\n 'native:text-lg text-primary text-sm select-none',\n open && 'native:text-accent-foreground'\n )}\n >\n <DropdownMenuPrimitive.SubTrigger\n className={cn(\n 'native:py-2 active:bg-accent web:cursor-default web:select-none web:outline-hidden web:hover:bg-accent web:focus:bg-accent flex flex-row items-center gap-2 rounded-xs px-2 py-1.5',\n open && 'bg-accent',\n inset && 'pl-8',\n className\n )}\n {...props}\n >\n {children}\n <Icon size={18} className=\"text-foreground ml-auto\" />\n </DropdownMenuPrimitive.SubTrigger>\n </TextClassContext.Provider>\n );\n}\n\nfunction DropdownMenuSubContent({\n className,\n ...props\n}: DropdownMenuPrimitive.SubContentProps & {\n ref?: React.RefObject<DropdownMenuPrimitive.SubContentRef>;\n}) {\n const { open } = DropdownMenuPrimitive.useSubContext();\n return (\n <DropdownMenuPrimitive.SubContent\n className={cn(\n 'border-border bg-popover shadow-foreground/5 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 mt-1 min-w-32 overflow-hidden rounded-md border p-1 shadow-md',\n open\n ? 'web:animate-in web:fade-in-0 web:zoom-in-95'\n : 'web:animate-out web:fade-out-0 web:zoom-out',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuContent({\n className,\n overlayClassName,\n overlayStyle,\n portalHost,\n ...props\n}: DropdownMenuPrimitive.ContentProps & {\n ref?: React.RefObject<DropdownMenuPrimitive.ContentRef>;\n overlayStyle?: StyleProp<ViewStyle>;\n overlayClassName?: string;\n portalHost?: string;\n}) {\n const { open } = DropdownMenuPrimitive.useRootContext();\n return (\n <DropdownMenuPrimitive.Portal hostName={portalHost}>\n <DropdownMenuPrimitive.Overlay\n style={\n overlayStyle\n ? StyleSheet.flatten([\n Platform.OS !== 'web' ? StyleSheet.absoluteFill : undefined,\n overlayStyle as typeof StyleSheet.absoluteFill,\n ])\n : Platform.OS !== 'web'\n ? StyleSheet.absoluteFill\n : undefined\n }\n className={overlayClassName}\n >\n <DropdownMenuPrimitive.Content\n className={cn(\n 'border-border bg-popover shadow-foreground/5 web:data-[side=bottom]:slide-in-from-top-2 web:data-[side=left]:slide-in-from-right-2 web:data-[side=right]:slide-in-from-left-2 web:data-[side=top]:slide-in-from-bottom-2 z-50 min-w-32 overflow-hidden rounded-md border p-1 shadow-md',\n open\n ? 'web:animate-in web:fade-in-0 web:zoom-in-95'\n : 'web:animate-out web:fade-out-0 web:zoom-out-95',\n className\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Overlay>\n </DropdownMenuPrimitive.Portal>\n );\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n ...props\n}: DropdownMenuPrimitive.ItemProps & {\n ref?: React.RefObject<DropdownMenuPrimitive.ItemRef>;\n className?: string;\n inset?: boolean;\n}) {\n return (\n <TextClassContext.Provider value=\"select-none text-sm native:text-lg text-popover-foreground web:group-focus:text-accent-foreground\">\n <DropdownMenuPrimitive.Item\n className={cn(\n 'native:py-2 group active:bg-accent web:cursor-default web:outline-hidden web:hover:bg-accent web:focus:bg-accent relative flex flex-row items-center gap-2 rounded-xs px-2 py-1.5',\n inset && 'pl-8',\n props.disabled && 'web:pointer-events-none opacity-50',\n className\n )}\n {...props}\n />\n </TextClassContext.Provider>\n );\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: DropdownMenuPrimitive.CheckboxItemProps & {\n ref?: React.RefObject<DropdownMenuPrimitive.CheckboxItemRef>;\n children?: React.ReactNode;\n}) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n className={cn(\n 'web:group native:py-2 active:bg-accent web:cursor-default web:outline-hidden web:focus:bg-accent relative flex flex-row items-center rounded-xs py-1.5 pr-2 pl-8',\n props.disabled && 'web:pointer-events-none opacity-50',\n className\n )}\n checked={checked}\n {...props}\n >\n <View className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Check size={14} strokeWidth={3} className=\"text-foreground\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </View>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n ...props\n}: DropdownMenuPrimitive.RadioItemProps & {\n ref?: React.RefObject<DropdownMenuPrimitive.RadioItemRef>;\n children?: React.ReactNode;\n}) {\n return (\n <DropdownMenuPrimitive.RadioItem\n className={cn(\n 'web:group native:py-2 active:bg-accent web:cursor-default web:outline-hidden web:focus:bg-accent relative flex flex-row items-center rounded-xs py-1.5 pr-2 pl-8',\n props.disabled && 'web:pointer-events-none opacity-50',\n className\n )}\n {...props}\n >\n <View className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <View className=\"bg-foreground h-2 w-2 rounded-full\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </View>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: DropdownMenuPrimitive.LabelProps & {\n ref?: React.RefObject<DropdownMenuPrimitive.LabelRef>;\n className?: string;\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.Label\n className={cn(\n 'native:text-base text-foreground web:cursor-default px-2 py-1.5 text-sm font-semibold',\n inset && 'pl-8',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n}: DropdownMenuPrimitive.SeparatorProps & {\n ref?: React.RefObject<DropdownMenuPrimitive.SeparatorRef>;\n}) {\n return (\n <DropdownMenuPrimitive.Separator\n className={cn('bg-border -mx-1 my-1 h-px', className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuShortcut({ className, ...props }: TextProps) {\n return (\n <Text\n className={cn(\n 'native:text-sm text-muted-foreground ml-auto text-xs tracking-widest',\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n};\n"],"mappings":";;;;;;;;;;;;AAkBA,MAAM,eAAe,sBAAsB;AAE3C,MAAM,sBAAsB,sBAAsB;AAElD,MAAM,oBAAoB,sBAAsB;AAEhD,MAAM,qBAAqB,sBAAsB;AAEjD,MAAM,kBAAkB,sBAAsB;AAE9C,MAAM,yBAAyB,sBAAsB;AAErD,SAAS,uBAAuB,EAC9B,WACA,OACA,UACA,GAAG,SAMF;CACD,MAAM,EAAE,SAAS,sBAAsB,eAAe;CACtD,MAAM,OACJ,SAAS,OAAO,QAAQ,eAAe,OAAO,YAAY;AAC5D,QACE,oBAAC,iBAAiB;EAChB,OAAO,GACL,mDACA,QAAQ,gCACT;YAED,qBAAC,sBAAsB;GACrB,WAAW,GACT,sLACA,QAAQ,aACR,SAAS,QACT,UACD;GACD,GAAI;cAEH,UACD,oBAAC;IAAK,MAAM;IAAI,WAAU;KAA4B;IACrB;GACT;;AAIhC,SAAS,uBAAuB,EAC9B,WACA,GAAG,SAGF;CACD,MAAM,EAAE,SAAS,sBAAsB,eAAe;AACtD,QACE,oBAAC,sBAAsB;EACrB,WAAW,GACT,+QACA,OACI,gDACA,+CACJ,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,oBAAoB,EAC3B,WACA,kBACA,cACA,YACA,GAAG,SAMF;CACD,MAAM,EAAE,SAAS,sBAAsB,gBAAgB;AACvD,QACE,oBAAC,sBAAsB;EAAO,UAAU;YACtC,oBAAC,sBAAsB;GACrB,OACE,eACI,WAAW,QAAQ,CACjB,SAAS,OAAO,QAAQ,WAAW,eAAe,QAClD,aACD,CAAC,GACF,SAAS,OAAO,QACd,WAAW,eACX;GAER,WAAW;aAEX,oBAAC,sBAAsB;IACrB,WAAW,GACT,0RACA,OACI,gDACA,kDACJ,UACD;IACD,GAAI;KACJ;IAC4B;GACH;;AAInC,SAAS,iBAAiB,EACxB,WACA,OACA,GAAG,SAKF;AACD,QACE,oBAAC,iBAAiB;EAAS,OAAM;YAC/B,oBAAC,sBAAsB;GACrB,WAAW,GACT,qLACA,SAAS,QACT,MAAM,YAAY,sCAClB,UACD;GACD,GAAI;IACJ;GACwB;;AAIhC,SAAS,yBAAyB,EAChC,WACA,UACA,SACA,GAAG,SAIF;AACD,QACE,qBAAC,sBAAsB;EACrB,WAAW,GACT,oKACA,MAAM,YAAY,sCAClB,UACD;EACQ;EACT,GAAI;aAEJ,oBAAC;GAAK,WAAU;aACd,oBAAC,sBAAsB,2BACrB,oBAAC;IAAM,MAAM;IAAI,aAAa;IAAG,WAAU;KAAoB,GAC3B;IACjC,EACN;GACkC;;AAIzC,SAAS,sBAAsB,EAC7B,WACA,UACA,GAAG,SAIF;AACD,QACE,qBAAC,sBAAsB;EACrB,WAAW,GACT,oKACA,MAAM,YAAY,sCAClB,UACD;EACD,GAAI;aAEJ,oBAAC;GAAK,WAAU;aACd,oBAAC,sBAAsB,2BACrB,oBAAC,QAAK,WAAU,uCAAuC,GACnB;IACjC,EACN;GAC+B;;AAItC,SAAS,kBAAkB,EACzB,WACA,OACA,GAAG,SAKF;AACD,QACE,oBAAC,sBAAsB;EACrB,WAAW,GACT,yFACA,SAAS,QACT,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,sBAAsB,EAC7B,WACA,GAAG,SAGF;AACD,QACE,oBAAC,sBAAsB;EACrB,WAAW,GAAG,6BAA6B,UAAU;EACrD,GAAI;GACJ;;AAIN,SAAS,qBAAqB,EAAE,WAAW,GAAG,SAAoB;AAChE,QACE,oBAAC;EACC,WAAW,GACT,wEACA,UACD;EACD,GAAI;GACJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"empty-state.d.ts","names":[],"sources":["../../ui/empty-state.tsx"],"sourcesContent":[],"mappings":";;;;;;cAQM;;IAUJ,gCAAA,CAAA;UAEe,eAAA,SACP,oBAAoB;EAbxB,IAAA,CAAA,EAcG,OAAA,CAAM,SAJb;EAEe,KAAA,EAGR,OAAA,CAAM,SAFb;EAA4B,WAAA,CAAA,EAGd,OAAA,CAAM,SAHQ;EACrB,aAAM,CAAA,EAGG,OAAA,CAAM,SAHT;EACN,eAAM,CAAA,EAGK,OAAA,CAAM,SAHX;EACC,SAAM,CAAA,EAAA,MAAA;;AAEF,iBAIJ,UAAA,CAJU;EAAA,IAAA;EAAA,KAAA;EAAA,WAAA;EAAA,aAAA;EAAA,eAAA;EAAA,SAAA;EAAA;AAAA,CAAA,EAYvB,eAZuB,CAAA,EAYR,oBAAA,CAAA,GAAA,CAAA,OAZQ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"empty-state.js","names":["Text"],"sources":["../../ui/empty-state.tsx"],"sourcesContent":["import * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from './utils';\nimport { VStack } from './stack';\nimport { H3 } from './typography';\nimport { Text } from './text';\nimport { View } from 'react-native';\n\nconst containerVariants = cva('items-center text-center', {\n variants: {\n density: {\n compact: 'gap-3 p-6',\n default: 'gap-4 p-8',\n },\n },\n defaultVariants: {\n density: 'default',\n },\n});\n\nexport interface EmptyStateProps\n extends VariantProps<typeof containerVariants> {\n icon?: React.ReactNode;\n title: React.ReactNode;\n description?: React.ReactNode;\n primaryAction?: React.ReactNode;\n secondaryAction?: React.ReactNode;\n className?: string;\n}\n\nexport function EmptyState({\n icon,\n title,\n description,\n primaryAction,\n secondaryAction,\n className,\n density,\n}: EmptyStateProps) {\n return (\n <VStack className={cn(containerVariants({ density }), className)}>\n {icon ? (\n <View className=\"bg-muted flex h-12 w-12 items-center justify-center rounded-full\">\n {/* Consumers pass their own icon; keep neutral backdrop */}\n <View className=\"text-muted-foreground flex items-center justify-center\">\n {icon}\n </View>\n </View>\n ) : null}\n\n <View>\n <H3 className=\"font-medium\">{title}</H3>\n {description ? (\n <View className=\"text-muted-foreground text-base\">\n <Text>{description}</Text>\n </View>\n ) : null}\n </View>\n\n {(primaryAction || secondaryAction) && (\n <View className=\"flex items-center justify-center gap-2\">\n {primaryAction}\n {secondaryAction}\n </View>\n )}\n </VStack>\n );\n}\n"],"mappings":";;;;;;;;;;AAQA,MAAM,oBAAoB,IAAI,4BAA4B;CACxD,UAAU,EACR,SAAS;EACP,SAAS;EACT,SAAS;EACV,EACF;CACD,iBAAiB,EACf,SAAS,WACV;CACF,CAAC;AAYF,SAAgB,WAAW,EACzB,MACA,OACA,aACA,eACA,iBACA,WACA,WACkB;AAClB,QACE,qBAAC;EAAO,WAAW,GAAG,kBAAkB,EAAE,SAAS,CAAC,EAAE,UAAU;;GAC7D,OACC,oBAAC;IAAK,WAAU;cAEd,oBAAC;KAAK,WAAU;eACb;MACI;KACF,GACL;GAEJ,qBAAC,mBACC,oBAAC;IAAG,WAAU;cAAe;KAAW,EACvC,cACC,oBAAC;IAAK,WAAU;cACd,oBAACA,oBAAM,cAAmB;KACrB,GACL,QACC;IAEL,iBAAiB,oBACjB,qBAAC;IAAK,WAAU;eACb,eACA;KACI;;GAEF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"empty.d.ts","names":[],"sources":["../../ui/empty.tsx"],"sourcesContent":[],"mappings":";;;;;;iBAKS,KAAA;;;GAA+B,YAAS,mBAAA,CAAA,GAAA,CAAA;iBAaxC,WAAA;;;GAAqC,YAAS,mBAAA,CAAA,GAAA,CAAA;cAajD,0BA1BQ;;AAFsC,CAAA,GAyCnD,+BAAA,CAAA,SAvCa,CAAA,GAAA,SAAA,EAAA,GAAA,MAAA;iBAyCL,UAAA,CAzCQ;EAAA,SAAA;EAAA,OAAA;EAAA,GAAA;AAAA,CAAA,EA6Cd,SA7Cc,GA6CF,YA7CE,CAAA,OA6CkB,kBA7ClB,CAAA,CAAA,EA6CqC,mBAAA,CAAA,GAAA,CAAA,OA7CrC;iBAwDR,UAAA,CAxD+B;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAwDK,SAxDL,CAAA,EAwDc,mBAAA,CAAA,GAAA,CAAA,OAxDd;iBAkE/B,gBAAA,CAlEwC;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAkEE,SAlEF,CAAA,EAkEW,mBAAA,CAAA,GAAA,CAAA,OAlEX;iBA+ExC,YAAA,CA/EwC;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA+EF,SA/EE,CAAA,EA+EO,mBAAA,CAAA,GAAA,CAAA,OA/EP"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"empty.js","names":[],"sources":["../../ui/empty.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from './utils';\nimport { View, type ViewProps } from 'react-native';\n\nfunction Empty({ className, ...props }: ViewProps) {\n return (\n <View\n data-slot=\"empty\"\n className={cn(\n 'flex min-w-0 flex-1 flex-col items-center justify-center gap-6 rounded-lg border-dashed p-6 text-center text-balance md:p-12',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction EmptyHeader({ className, ...props }: ViewProps) {\n return (\n <View\n data-slot=\"empty-header\"\n className={cn(\n 'flex max-w-sm flex-col items-center gap-2 text-center',\n className\n )}\n {...props}\n />\n );\n}\n\nconst emptyMediaVariants = cva(\n 'flex shrink-0 items-center justify-center mb-2 [&_svg]:pointer-events-none [&_svg]:shrink-0',\n {\n variants: {\n variant: {\n default: 'bg-transparent',\n icon: \"bg-muted text-foreground flex size-10 shrink-0 items-center justify-center rounded-lg [&_svg:not([class*='size-'])]:size-6\",\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nfunction EmptyMedia({\n className,\n variant = 'default',\n ...props\n}: ViewProps & VariantProps<typeof emptyMediaVariants>) {\n return (\n <View\n data-slot=\"empty-icon\"\n data-variant={variant}\n className={cn(emptyMediaVariants({ variant, className }))}\n {...props}\n />\n );\n}\n\nfunction EmptyTitle({ className, ...props }: ViewProps) {\n return (\n <View\n data-slot=\"empty-title\"\n className={cn('text-lg font-medium tracking-tight', className)}\n {...props}\n />\n );\n}\n\nfunction EmptyDescription({ className, ...props }: ViewProps) {\n return (\n <View\n data-slot=\"empty-description\"\n className={cn(\n 'text-muted-foreground [&>a:hover]:text-primary text-sm/relaxed [&>a]:underline [&>a]:underline-offset-4',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction EmptyContent({ className, ...props }: ViewProps) {\n return (\n <View\n data-slot=\"empty-content\"\n className={cn(\n 'flex w-full max-w-sm min-w-0 flex-col items-center gap-4 text-sm text-balance',\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n Empty,\n EmptyHeader,\n EmptyTitle,\n EmptyDescription,\n EmptyContent,\n EmptyMedia,\n};\n"],"mappings":";;;;;;AAKA,SAAS,MAAM,EAAE,WAAW,GAAG,SAAoB;AACjD,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,gIACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,YAAY,EAAE,WAAW,GAAG,SAAoB;AACvD,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,yDACA,UACD;EACD,GAAI;GACJ;;AAIN,MAAM,qBAAqB,IACzB,+FACA;CACE,UAAU,EACR,SAAS;EACP,SAAS;EACT,MAAM;EACP,EACF;CACD,iBAAiB,EACf,SAAS,WACV;CACF,CACF;AAED,SAAS,WAAW,EAClB,WACA,UAAU,WACV,GAAG,SACmD;AACtD,QACE,oBAAC;EACC,aAAU;EACV,gBAAc;EACd,WAAW,GAAG,mBAAmB;GAAE;GAAS;GAAW,CAAC,CAAC;EACzD,GAAI;GACJ;;AAIN,SAAS,WAAW,EAAE,WAAW,GAAG,SAAoB;AACtD,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GAAG,sCAAsC,UAAU;EAC9D,GAAI;GACJ;;AAIN,SAAS,iBAAiB,EAAE,WAAW,GAAG,SAAoB;AAC5D,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,2GACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,aAAa,EAAE,WAAW,GAAG,SAAoB;AACxD,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,iFACA,UACD;EACD,GAAI;GACJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"fab.d.ts","names":[],"sources":["../../ui/fab.tsx"],"sourcesContent":[],"mappings":";;;;UAUU,SAAA;QACF,KAAA,CAAM;;EADJ,OAAA,EAAA,GAAS,GAAA,IAAA;EAOT,KAAA,CAAA,EAAA,MAAQ;AASlB;UATU,QAAA,CAUR;EACA,OAAA,EAVS,SAUT,EAAA;EACA,SAAA,CAAA,EAAA,MAAA;EACA,QAAA,CAAA,EAVW,KAAA,CAAM,SAUjB;EACC,SAAA,CAAA,EAAA,MAAA;;AAAQ,iBALK,GAAA,CAKL;EAAA,OAAA;EAAA,SAAA;EAAA,QAAA;EAAA;AAAA,CAAA,EAAR,QAAQ,CAAA,EAAA,mBAAA,CAAA,GAAA,CAAA,OAAA;AAuHK,iBAAA,OAAA,CAAO;EAAA,IAAA;EAAA,OAAA;EAAA,SAAA;EAAA;CAAA,EAAA;EACrB,IAAA,EAKM,KAAA,CAAM,SALZ;EACA,OAAA,EAAA,GAAA,GAAA,IAAA;EACA,SAAA,CAAA,EAAA,MAAA;EACA,KAAA,CAAA,EAAA,MAAA;CAEM,CAAA,EAIP,mBAAA,CAAA,GAAA,CAAA,OAJa"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"fab.js","names":[],"sources":["../../ui/fab.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { Pressable, StyleSheet, View } from 'react-native';\nimport Animated, {\n useAnimatedStyle,\n withSpring,\n withTiming,\n} from 'react-native-reanimated';\nimport { cn } from './utils';\nimport { Plus, X } from 'lucide-react-native';\n\ninterface FABAction {\n icon: React.ReactNode;\n label: string;\n onPress: () => void;\n color?: string;\n}\n\ninterface FABProps {\n actions: FABAction[];\n className?: string;\n mainIcon?: React.ReactNode;\n mainColor?: string;\n}\n\nconst AnimatedPressable = Animated.createAnimatedComponent(Pressable);\n\nexport function FAB({\n actions,\n className,\n mainIcon,\n mainColor = 'bg-primary',\n}: FABProps) {\n const [isOpen, setIsOpen] = useState(false);\n\n const toggleMenu = () => {\n setIsOpen(!isOpen);\n };\n\n const rotation = useAnimatedStyle(() => {\n return {\n transform: [\n {\n rotate: withSpring(isOpen ? '45deg' : '0deg', {\n damping: 15,\n stiffness: 150,\n }),\n },\n ],\n };\n });\n\n return (\n <View className={cn('absolute right-4 bottom-24 z-50', className)}>\n {/* Backdrop */}\n {isOpen && (\n <Pressable\n style={StyleSheet.absoluteFillObject}\n className=\"fixed inset-0 -top-full -left-full h-[200%] w-[200%]\"\n onPress={() => setIsOpen(false)}\n />\n )}\n\n {/* Action buttons */}\n {actions.map((action, index) => {\n const translateY = useAnimatedStyle(() => {\n const baseTranslation = isOpen ? -(index + 1) * 65 : 0;\n return {\n transform: [\n {\n translateY: withSpring(baseTranslation, {\n damping: 15,\n stiffness: 150,\n mass: 1 + index * 0.1,\n }),\n },\n ],\n opacity: withTiming(isOpen ? 1 : 0, {\n duration: 200,\n }),\n pointerEvents: isOpen ? 'auto' : 'none',\n };\n });\n\n const scale = useAnimatedStyle(() => {\n return {\n transform: [\n {\n scale: withSpring(isOpen ? 1 : 0.8, {\n damping: 15,\n stiffness: 150,\n }),\n },\n ],\n };\n });\n\n return (\n <AnimatedPressable\n key={index}\n style={[translateY, scale]}\n className=\"absolute right-0 bottom-0\"\n onPress={() => {\n action.onPress();\n setIsOpen(false);\n }}\n >\n <View\n className={cn(\n 'h-12 w-12 items-center justify-center rounded-full shadow-lg',\n action.color || 'bg-secondary'\n )}\n >\n {action.icon}\n </View>\n </AnimatedPressable>\n );\n })}\n\n {/* Main FAB button */}\n <AnimatedPressable\n onPress={toggleMenu}\n className={cn(\n 'h-14 w-14 items-center justify-center rounded-full shadow-xl',\n mainColor\n )}\n style={[\n rotation,\n {\n shadowColor: '#000',\n shadowOffset: {\n width: 0,\n height: 4,\n },\n shadowOpacity: 0.3,\n shadowRadius: 8,\n elevation: 8,\n },\n ]}\n >\n {isOpen ? (\n <X size={24} color=\"white\" strokeWidth={2.5} />\n ) : (\n mainIcon || <Plus size={24} color=\"white\" strokeWidth={2.5} />\n )}\n </AnimatedPressable>\n </View>\n );\n}\n\n// Mini FAB for single actions\nexport function MiniFAB({\n icon,\n onPress,\n className,\n color = 'bg-primary',\n}: {\n icon: React.ReactNode;\n onPress: () => void;\n className?: string;\n color?: string;\n}) {\n return (\n <Pressable\n onPress={onPress}\n className={cn(\n 'h-12 w-12 items-center justify-center rounded-full shadow-lg',\n color,\n className\n )}\n style={{\n shadowColor: '#000',\n shadowOffset: {\n width: 0,\n height: 2,\n },\n shadowOpacity: 0.25,\n shadowRadius: 4,\n elevation: 5,\n }}\n >\n {icon}\n </Pressable>\n );\n}\n"],"mappings":";;;;;;;;AAwBA,MAAM,oBAAoB,SAAS,wBAAwB,UAAU;AAErE,SAAgB,IAAI,EAClB,SACA,WACA,UACA,YAAY,gBACD;CACX,MAAM,CAAC,QAAQ,aAAa,SAAS,MAAM;CAE3C,MAAM,mBAAmB;AACvB,YAAU,CAAC,OAAO;;CAGpB,MAAM,WAAW,uBAAuB;AACtC,SAAO,EACL,WAAW,CACT,EACE,QAAQ,WAAW,SAAS,UAAU,QAAQ;GAC5C,SAAS;GACT,WAAW;GACZ,CAAC,EACH,CACF,EACF;GACD;AAEF,QACE,qBAAC;EAAK,WAAW,GAAG,mCAAmC,UAAU;;GAE9D,UACC,oBAAC;IACC,OAAO,WAAW;IAClB,WAAU;IACV,eAAe,UAAU,MAAM;KAC/B;GAIH,QAAQ,KAAK,QAAQ,UAAU;AAiC9B,WACE,oBAAC;KAEC,OAAO,CAnCQ,uBAAuB;AAExC,aAAO;OACL,WAAW,CACT,EACE,YAAY,WAJM,SAAS,EAAE,QAAQ,KAAK,KAAK,GAIP;QACtC,SAAS;QACT,WAAW;QACX,MAAM,IAAI,QAAQ;QACnB,CAAC,EACH,CACF;OACD,SAAS,WAAW,SAAS,IAAI,GAAG,EAClC,UAAU,KACX,CAAC;OACF,eAAe,SAAS,SAAS;OAClC;OACD,EAEY,uBAAuB;AACnC,aAAO,EACL,WAAW,CACT,EACE,OAAO,WAAW,SAAS,IAAI,IAAK;OAClC,SAAS;OACT,WAAW;OACZ,CAAC,EACH,CACF,EACF;OACD,CAK4B;KAC1B,WAAU;KACV,eAAe;AACb,aAAO,SAAS;AAChB,gBAAU,MAAM;;eAGlB,oBAAC;MACC,WAAW,GACT,gEACA,OAAO,SAAS,eACjB;gBAEA,OAAO;OACH;OAfF,MAgBa;KAEtB;GAGF,oBAAC;IACC,SAAS;IACT,WAAW,GACT,gEACA,UACD;IACD,OAAO,CACL,UACA;KACE,aAAa;KACb,cAAc;MACZ,OAAO;MACP,QAAQ;MACT;KACD,eAAe;KACf,cAAc;KACd,WAAW;KACZ,CACF;cAEA,SACC,oBAAC;KAAE,MAAM;KAAI,OAAM;KAAQ,aAAa;MAAO,GAE/C,YAAY,oBAAC;KAAK,MAAM;KAAI,OAAM;KAAQ,aAAa;MAAO;KAE9C;;GACf;;AAKX,SAAgB,QAAQ,EACtB,MACA,SACA,WACA,QAAQ,gBAMP;AACD,QACE,oBAAC;EACU;EACT,WAAW,GACT,gEACA,OACA,UACD;EACD,OAAO;GACL,aAAa;GACb,cAAc;IACZ,OAAO;IACP,QAAQ;IACT;GACD,eAAe;GACf,cAAc;GACd,WAAW;GACZ;YAEA;GACS"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"field.d.ts","names":[],"sources":["../../ui/field.tsx"],"sourcesContent":[],"mappings":";;;;;;;;iBAWS,QAAA;;;GAAkC,WAAQ,mBAAA,CAAA,GAAA,CAAA;iBAc1C,WAAA;;;;GAIN;;IAA2C,mBAAA,CAAA,GAAA,CAAA;AApBS,iBAoC9C,UAAA,CAlCQ;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAkC4B,QAlC5B,CAAA,EAkCoC,mBAAA,CAAA,GAAA,CAAA,OAlCpC;cA+CX,aA/Cc,EAAA,CAAA,KAA+B,CAA/B,EAAA,CAAA;EAAuB,WAAA,CAAA,EAAA,UAAA,GAAA,YAAA,GAAA,YAAA,GAAA,IAAA,GAAA,SAAA;CAAQ,GAqElD,+BAAA,CAAA,SArEkD,CAAA,GAAA,SAAA,EAAA,GAAA,MAAA;iBAuE1C,KAAA,CAvE0C;EAAA,SAAA;EAAA,WAAA;EAAA,GAAA;AAAA,CAAA,EA2EhD,QA3EgD,GA2ErC,YA3EqC,CAAA,OA2EjB,aA3EiB,CAAA,CAAA,EA2EH,mBAAA,CAAA,GAAA,CAAA,OA3EG;AAAA,iBAuF1C,YAAA,CAzEW;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAyE2B,QAzE3B,CAAA,EAyEmC,mBAAA,CAAA,GAAA,CAAA,OAzEnC;iBAsFX,UAAA,CArFP;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAwFC,KAAA,CAAM,cAxFP,CAAA,OAwF6B,KAxF7B,CAAA,CAAA,EAwFmC,mBAAA,CAAA,GAAA,CAAA,OAxFnC;iBAuGO,UAAA,CAtGP;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAsG2C,QAtG3C,CAAA,EAsGmD,mBAAA,CAAA,GAAA,CAAA,OAtGnD;iBAmHO,gBAAA,CAjHN;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAiHgD,eAjHhD,CAAA,EAiH+D,mBAAA,CAAA,GAAA,CAAA,OAjH/D;iBAgIM,cAAA,CAhIqC;EAAA,QAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAoI3C,QApI2C,GAAA;EAAA,QAAA,CAAA,EAqIjC,KAAA,CAAM,SArI2B;AAAA,CAAA,CAAA,EAsI7C,mBAAA,CAAA,GAAA,CAAA,OAtHkB;iBA8IV,UAAA,CA9Ia;EAAA,SAAA;EAAA,QAAA;EAAA,MAAA;EAAA,GAAA;AAA+B,CAA/B,EAmJnB,QAnJmB,GAAA;EAAuB,MAAA,CAAA,EAAA,CAAA;IAAQ,OAAA,CAAA,EAAA,MAAA;EAAA,CAAA,GAAA,SAAA,CAAA,EAAA;AAAA,CAAA,CAAA,EAqJpD,mBAAA,CAAA,GAAA,CAAA,OAAA,GAlHA,IAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"field.js","names":[],"sources":["../../ui/field.tsx"],"sourcesContent":["'use client';\n\nimport { useMemo } from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from './utils';\nimport { Label } from './label';\nimport { Separator } from './separator';\nimport { Box, VStack, type BoxProps } from './stack';\nimport { P, type TypographyProps } from './typography';\n\nfunction FieldSet({ className, ...props }: BoxProps) {\n return (\n <Box\n data-slot=\"field-set\"\n className={cn(\n 'flex flex-col gap-6',\n 'has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction FieldLegend({\n className,\n variant = 'legend',\n ...props\n}: BoxProps & { variant?: 'legend' | 'label' }) {\n return (\n <Box\n data-slot=\"field-legend\"\n data-variant={variant}\n className={cn(\n 'mb-3 font-medium',\n 'data-[variant=legend]:text-base',\n 'data-[variant=label]:text-sm',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction FieldGroup({ className, ...props }: BoxProps) {\n return (\n <Box\n data-slot=\"field-group\"\n className={cn(\n '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',\n className\n )}\n {...props}\n />\n );\n}\n\nconst fieldVariants = cva(\n 'group/field flex w-full gap-3 data-[invalid=true]:text-destructive',\n {\n variants: {\n orientation: {\n vertical: ['flex-col *:w-full [&>.sr-only]:w-auto'],\n horizontal: [\n 'flex-row items-center',\n 'data-[slot=field-label]:*:flex-auto',\n 'has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px',\n ],\n responsive: [\n 'flex-col *:w-full [&>.sr-only]:w-auto @md/field-group:flex-row @md/field-group:items-center @md/field-group:*:w-auto',\n '@md/field-group:data-[slot=field-label]:*:flex-auto',\n '@md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px',\n ],\n },\n },\n defaultVariants: {\n orientation: 'vertical',\n },\n }\n);\n\nfunction Field({\n className,\n orientation = 'vertical',\n ...props\n}: BoxProps & VariantProps<typeof fieldVariants>) {\n return (\n <Box\n role=\"group\"\n data-slot=\"field\"\n data-orientation={orientation}\n className={cn(fieldVariants({ orientation }), className)}\n {...props}\n />\n );\n}\n\nfunction FieldContent({ className, ...props }: BoxProps) {\n return (\n <Box\n data-slot=\"field-content\"\n className={cn(\n 'group/field-content flex flex-1 flex-col gap-1.5 leading-snug',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction FieldLabel({\n className,\n ...props\n}: React.ComponentProps<typeof Label>) {\n return (\n <Label\n data-slot=\"field-label\"\n className={cn(\n 'group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50',\n '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',\n 'has-data-[state=checked]:bg-primary/5 has-data-[state=checked]:border-primary dark:has-data-[state=checked]:bg-primary/10',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction FieldTitle({ className, ...props }: BoxProps) {\n return (\n <Box\n data-slot=\"field-label\"\n className={cn(\n 'flex w-fit items-center gap-2 text-sm leading-snug font-medium group-data-[disabled=true]/field:opacity-50',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction FieldDescription({ className, ...props }: TypographyProps) {\n return (\n <P\n data-slot=\"field-description\"\n className={cn(\n 'text-muted-foreground text-sm leading-normal font-normal group-has-data-[orientation=horizontal]/field:text-balance',\n 'last:mt-0 nth-last-2:-mt-1 [[data-variant=legend]+&]:-mt-1.5',\n '[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction FieldSeparator({\n children,\n className,\n ...props\n}: BoxProps & {\n children?: React.ReactNode;\n}) {\n return (\n <Box\n data-slot=\"field-separator\"\n data-content={!!children}\n className={cn(\n 'relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2',\n className\n )}\n {...props}\n >\n <Separator className=\"absolute inset-0 top-1/2\" />\n {children && (\n <Box\n className=\"bg-background text-muted-foreground relative mx-auto block w-fit px-2\"\n data-slot=\"field-separator-content\"\n >\n {children}\n </Box>\n )}\n </Box>\n );\n}\n\nfunction FieldError({\n className,\n children,\n errors,\n ...props\n}: BoxProps & {\n errors?: ({ message?: string } | undefined)[];\n}) {\n const content = useMemo(() => {\n if (children) {\n return children;\n }\n\n if (!errors?.length) {\n return null;\n }\n\n if (errors?.length == 1) {\n return errors[0]?.message;\n }\n\n return (\n <VStack className=\"ml-4 flex list-disc flex-col gap-1\">\n {errors.map(\n (error, index) => error?.message && <P key={index}>{error.message}</P>\n )}\n </VStack>\n );\n }, [children, errors]);\n\n if (!content) {\n return null;\n }\n\n return (\n <Box\n role=\"alert\"\n data-slot=\"field-error\"\n className={cn('text-destructive text-sm font-normal', className)}\n {...props}\n >\n {content}\n </Box>\n );\n}\n\nexport {\n Field,\n FieldLabel,\n FieldDescription,\n FieldError,\n FieldGroup,\n FieldLegend,\n FieldSeparator,\n FieldSet,\n FieldContent,\n FieldTitle,\n};\n"],"mappings":";;;;;;;;;;;;AAWA,SAAS,SAAS,EAAE,WAAW,GAAG,SAAmB;AACnD,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,uBACA,gFACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,YAAY,EACnB,WACA,UAAU,UACV,GAAG,SAC2C;AAC9C,QACE,oBAAC;EACC,aAAU;EACV,gBAAc;EACd,WAAW,GACT,oBACA,mCACA,gCACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,WAAW,EAAE,WAAW,GAAG,SAAmB;AACrD,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,wIACA,UACD;EACD,GAAI;GACJ;;AAIN,MAAM,gBAAgB,IACpB,sEACA;CACE,UAAU,EACR,aAAa;EACX,UAAU,CAAC,wCAAwC;EACnD,YAAY;GACV;GACA;GACA;GACD;EACD,YAAY;GACV;GACA;GACA;GACD;EACF,EACF;CACD,iBAAiB,EACf,aAAa,YACd;CACF,CACF;AAED,SAAS,MAAM,EACb,WACA,cAAc,YACd,GAAG,SAC6C;AAChD,QACE,oBAAC;EACC,MAAK;EACL,aAAU;EACV,oBAAkB;EAClB,WAAW,GAAG,cAAc,EAAE,aAAa,CAAC,EAAE,UAAU;EACxD,GAAI;GACJ;;AAIN,SAAS,aAAa,EAAE,WAAW,GAAG,SAAmB;AACvD,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,iEACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,WAAW,EAClB,WACA,GAAG,SACkC;AACrC,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,gHACA,iKACA,6HACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,WAAW,EAAE,WAAW,GAAG,SAAmB;AACrD,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,8GACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,iBAAiB,EAAE,WAAW,GAAG,SAA0B;AAClE,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,uHACA,gEACA,qEACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,eAAe,EACtB,UACA,WACA,GAAG,SAGF;AACD,QACE,qBAAC;EACC,aAAU;EACV,gBAAc,CAAC,CAAC;EAChB,WAAW,GACT,6EACA,UACD;EACD,GAAI;aAEJ,oBAAC,aAAU,WAAU,6BAA6B,EACjD,YACC,oBAAC;GACC,WAAU;GACV,aAAU;GAET;IACG;GAEJ;;AAIV,SAAS,WAAW,EAClB,WACA,UACA,QACA,GAAG,SAGF;CACD,MAAM,UAAU,cAAc;AAC5B,MAAI,SACF,QAAO;AAGT,MAAI,CAAC,QAAQ,OACX,QAAO;AAGT,MAAI,QAAQ,UAAU,EACpB,QAAO,OAAO,IAAI;AAGpB,SACE,oBAAC;GAAO,WAAU;aACf,OAAO,KACL,OAAO,UAAU,OAAO,WAAW,oBAAC,eAAe,MAAM,WAAd,MAA0B,CACvE;IACM;IAEV,CAAC,UAAU,OAAO,CAAC;AAEtB,KAAI,CAAC,QACH,QAAO;AAGT,QACE,oBAAC;EACC,MAAK;EACL,aAAU;EACV,WAAW,GAAG,wCAAwC,UAAU;EAChE,GAAI;YAEH;GACG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"form.d.ts","names":[],"sources":["../../ui/form.tsx"],"sourcesContent":[],"mappings":";;;;;;;;;cAqBM,4BAAI,kDAAA,qBAAA,gBAAA,CAAA,kBAAA,cAAA,UAAA,wBAAA,OAAA,CAAA,GAAA,CAAA;cAaJ,iCACiB,cAAc,2BACrB,UAAU,gBAAgB,UAAU;;GAGjD,gBAAgB,cAAc,WAAM,mBAAA,CAAA,GAAA,CAAA;cAQjC;EA1BA,OAAmB,EAAA,OAAA;EAAf,OAAA,EAAA,OAAA;EAAA,SAAA,EAAA,OAAA;EAAA,YAAA,EAAA,OAAA;EAAA,KAAA,CAAA,EA+CT,gBAAA,CAAA,UA/CS;EAAA,EAAA,EAAA,MAAA;EAAA,IAAA,EAAA,MAAA;EAAA,UAAA,EAAA,MAAA;EAAe,iBAAA,EAAA,MAAA;EAanB,aAWL,EAAA,MAAA;CAVsB;iBA2Cd,QAAA,CA3C4B;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA2CM,OAAA,CAAM,cA3CZ,CAAA,KAAA,CAAA,CAAA,EA2CiC,mBAAA,CAAA,GAAA,CAAA,OA3CjC;iBAyD5B,SAAA,CAxDiB;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA2DvB,OAAA,CAAM,cA3DiB,CAAA,OA2DK,KA3DL,CAAA,CAAA,EA2DW,mBAAA,CAAA,GAAA,CAAA,OA3DX;iBAyEjB,WAAA,CAzEO;EAAA,OAAA;EAAA,GAAA;CAAA,EA4Eb,OAAA,CAAM,cA5EO,CAAA,OA4Ee,IA5Ef,CAAA,GAAA;EAAoC,OAAA,CAAA,EAAA,OAAA;CAAV,CAAA,EA8EzC,mBAAA,CAAA,GAAA,CAAA,OA9EyC;iBAkGjC,eAAA,CA/FU;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA+F+B,OAAA,CAAM,cA/FrC,CAAA,GAAA,CAAA,CAAA,EA+FwD,mBAAA,CAAA,GAAA,CAAA,OA/FxD;iBA4GV,WAAA,CA5GwB;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA4Ga,OAAA,CAAM,cA5GnB,CAAA,GAAA,CAAA,CAAA,EA4GsC,mBAAA,CAAA,GAAA,CAAA,OAAA,GA5GtC,IAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"form.js","names":["React","RNView"],"sources":["../../ui/form.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport * as Slot from '@rn-primitives/slot';\nimport { View as RNView } from 'react-native';\nimport {\n Controller,\n type ControllerProps,\n type FieldPath,\n type FieldValues,\n FormProvider,\n useFormContext,\n useFormState,\n} from 'react-hook-form';\n\nimport { cn } from './utils';\nimport { Label } from './label';\n\nexport { zodResolver } from '@hookform/resolvers/zod';\nexport { useForm, type UseFormReturn, useFieldArray } from 'react-hook-form';\n\nconst Form = FormProvider;\n\ninterface FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> {\n name: TName;\n}\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>(\n {} as FormFieldContextValue\n);\n\nconst FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n );\n};\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext);\n const itemContext = React.useContext(FormItemContext);\n const { getFieldState } = useFormContext();\n const formState = useFormState({ name: fieldContext.name });\n const fieldState = getFieldState(fieldContext.name, formState);\n\n if (!fieldContext) {\n throw new Error('useFormField should be used within <FormField>');\n }\n\n const { id } = itemContext;\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n };\n};\n\ninterface FormItemContextValue {\n id: string;\n}\n\nconst FormItemContext = React.createContext<FormItemContextValue>(\n {} as FormItemContextValue\n);\n\nfunction FormItem({ className, ...props }: React.ComponentProps<'div'>) {\n const id = React.useId();\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div\n data-slot=\"form-item\"\n className={cn('grid gap-2', className)}\n {...props}\n />\n </FormItemContext.Provider>\n );\n}\n\nfunction FormLabel({\n className,\n ...props\n}: React.ComponentProps<typeof Label>) {\n const { error, formItemId } = useFormField();\n\n return (\n <Label\n data-slot=\"form-label\"\n data-error={!!error}\n className={cn('data-[error=true]:text-destructive', className)}\n htmlFor={formItemId}\n {...props}\n />\n );\n}\n\nfunction FormControl({\n asChild = false,\n ...props\n}: React.ComponentProps<typeof RNView> & {\n asChild?: boolean;\n}) {\n const Component = asChild ? Slot.Text : RNView;\n const { error, formItemId, formDescriptionId, formMessageId } =\n useFormField();\n\n return (\n <Component\n data-slot=\"form-control\"\n id={formItemId}\n aria-describedby={\n !error\n ? `${formDescriptionId}`\n : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={!!error}\n {...props}\n />\n );\n}\n\nfunction FormDescription({ className, ...props }: React.ComponentProps<'p'>) {\n const { formDescriptionId } = useFormField();\n\n return (\n <p\n data-slot=\"form-description\"\n id={formDescriptionId}\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n );\n}\n\nfunction FormMessage({ className, ...props }: React.ComponentProps<'p'>) {\n const { error, formMessageId } = useFormField();\n const body = error ? String(error?.message ?? '') : props.children;\n\n if (!body) {\n return null;\n }\n\n return (\n <p\n data-slot=\"form-message\"\n id={formMessageId}\n className={cn('text-destructive text-sm', className)}\n {...props}\n >\n {body}\n </p>\n );\n}\n\nexport {\n useFormField,\n Form,\n FormItem,\n FormLabel,\n FormControl,\n FormDescription,\n FormMessage,\n FormField,\n};\n"],"mappings":";;;;;;;;;;;;AAqBA,MAAM,OAAO;AASb,MAAM,mBAAmBA,QAAM,cAC7B,EAAE,CACH;AAED,MAAM,aAGJ,EACA,GAAG,YACuC;AAC1C,QACE,oBAAC,iBAAiB;EAAS,OAAO,EAAE,MAAM,MAAM,MAAM;YACpD,oBAAC,cAAW,GAAI,QAAS;GACC;;AAIhC,MAAM,qBAAqB;CACzB,MAAM,eAAeA,QAAM,WAAW,iBAAiB;CACvD,MAAM,cAAcA,QAAM,WAAW,gBAAgB;CACrD,MAAM,EAAE,kBAAkB,gBAAgB;CAC1C,MAAM,YAAY,aAAa,EAAE,MAAM,aAAa,MAAM,CAAC;CAC3D,MAAM,aAAa,cAAc,aAAa,MAAM,UAAU;AAE9D,KAAI,CAAC,aACH,OAAM,IAAI,MAAM,iDAAiD;CAGnE,MAAM,EAAE,OAAO;AAEf,QAAO;EACL;EACA,MAAM,aAAa;EACnB,YAAY,GAAG,GAAG;EAClB,mBAAmB,GAAG,GAAG;EACzB,eAAe,GAAG,GAAG;EACrB,GAAG;EACJ;;AAOH,MAAM,kBAAkBA,QAAM,cAC5B,EAAE,CACH;AAED,SAAS,SAAS,EAAE,WAAW,GAAG,SAAsC;CACtE,MAAM,KAAKA,QAAM,OAAO;AAExB,QACE,oBAAC,gBAAgB;EAAS,OAAO,EAAE,IAAI;YACrC,oBAAC;GACC,aAAU;GACV,WAAW,GAAG,cAAc,UAAU;GACtC,GAAI;IACJ;GACuB;;AAI/B,SAAS,UAAU,EACjB,WACA,GAAG,SACkC;CACrC,MAAM,EAAE,OAAO,eAAe,cAAc;AAE5C,QACE,oBAAC;EACC,aAAU;EACV,cAAY,CAAC,CAAC;EACd,WAAW,GAAG,sCAAsC,UAAU;EAC9D,SAAS;EACT,GAAI;GACJ;;AAIN,SAAS,YAAY,EACnB,UAAU,OACV,GAAG,SAGF;CACD,MAAM,YAAY,UAAU,KAAK,OAAOC;CACxC,MAAM,EAAE,OAAO,YAAY,mBAAmB,kBAC5C,cAAc;AAEhB,QACE,oBAAC;EACC,aAAU;EACV,IAAI;EACJ,oBACE,CAAC,QACG,GAAG,sBACH,GAAG,kBAAkB,GAAG;EAE9B,gBAAc,CAAC,CAAC;EAChB,GAAI;GACJ;;AAIN,SAAS,gBAAgB,EAAE,WAAW,GAAG,SAAoC;CAC3E,MAAM,EAAE,sBAAsB,cAAc;AAE5C,QACE,oBAAC;EACC,aAAU;EACV,IAAI;EACJ,WAAW,GAAG,iCAAiC,UAAU;EACzD,GAAI;GACJ;;AAIN,SAAS,YAAY,EAAE,WAAW,GAAG,SAAoC;CACvE,MAAM,EAAE,OAAO,kBAAkB,cAAc;CAC/C,MAAM,OAAO,QAAQ,OAAO,OAAO,WAAW,GAAG,GAAG,MAAM;AAE1D,KAAI,CAAC,KACH,QAAO;AAGT,QACE,oBAAC;EACC,aAAU;EACV,IAAI;EACJ,WAAW,GAAG,4BAA4B,UAAU;EACpD,GAAI;YAEH;GACC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hover-card.d.ts","names":[],"sources":["../../ui/hover-card.tsx"],"sourcesContent":[],"mappings":";;;;;;cAOM,WAAS,OAAA,CAAA,0BAA0B,aAAA,CAA1B,SAAA;;;;EAAT,SAAA,CAAA,EAAmC,MAAA;EAAA,UAAA,CAA1B,EAAA,MAAA;CAAA,wBAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA;cAET,kBAAgB,OAAA,CAAA,0BAAA,KAA6B,aAAA,CAA7B,cAAA,GAAA,OAAA,CAAA,cAAA,aAAA,CAAA,IAAA;EAFP,OAAA,CAAA,EAAA,OAAA;CAAA,GAAA;EAET,SAAA,CAAA,EAAA,CAAA,EAAA,uBAA6C,EAAA,GAAA,IAAA;EAAA,OAAA,CAAA,EAAA,CAA7B,EAAA,uBAAA,EAAA,GAAA,IAAA;CAAA,wBAAA,uCAAA,CAAA;iBAEb,gBAAA,CAFa;EAAA,SAAA;EAAA,KAAA;EAAA,UAAA;EAAA,GAAA;CAAA,EAOnB,0BAAA,CAAmB,YAPA,GAAA;EAAA,GAAA,CAAA,EAQd,OAAA,CAAM,SARQ,CAQE,0BAAA,CAAmB,UARrB,CAAA;IASrB,mBAAA,CAAA,GAAA,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hover-card.js","names":[],"sources":["../../ui/hover-card.tsx"],"sourcesContent":["import * as HoverCardPrimitive from '@rn-primitives/hover-card';\nimport * as React from 'react';\nimport { Platform, StyleSheet } from 'react-native';\nimport Animated, { FadeIn } from 'react-native-reanimated';\nimport { cn } from './utils';\nimport { TextClassContext } from './text';\n\nconst HoverCard = HoverCardPrimitive.Root;\n\nconst HoverCardTrigger = HoverCardPrimitive.Trigger;\n\nfunction HoverCardContent({\n className,\n align = 'center',\n sideOffset = 4,\n ...props\n}: HoverCardPrimitive.ContentProps & {\n ref?: React.RefObject<HoverCardPrimitive.ContentRef>;\n}) {\n const { open } = HoverCardPrimitive.useRootContext();\n return (\n <HoverCardPrimitive.Portal>\n <HoverCardPrimitive.Overlay\n style={Platform.OS !== 'web' ? StyleSheet.absoluteFill : undefined}\n >\n <Animated.View entering={FadeIn}>\n <TextClassContext.Provider value=\"text-popover-foreground\">\n <HoverCardPrimitive.Content\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'border-border bg-popover shadow-foreground/5 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 web:cursor-auto web:outline-hidden z-50 w-64 rounded-md border p-4 shadow-md',\n open\n ? 'web:animate-in web:fade-in-0 web:zoom-in-95'\n : 'web:animate-out web:fade-out-0 web:zoom-out-95',\n className\n )}\n {...props}\n />\n </TextClassContext.Provider>\n </Animated.View>\n </HoverCardPrimitive.Overlay>\n </HoverCardPrimitive.Portal>\n );\n}\n\nexport { HoverCard, HoverCardContent, HoverCardTrigger };\n"],"mappings":";;;;;;;;;AAOA,MAAM,YAAY,mBAAmB;AAErC,MAAM,mBAAmB,mBAAmB;AAE5C,SAAS,iBAAiB,EACxB,WACA,QAAQ,UACR,aAAa,GACb,GAAG,SAGF;CACD,MAAM,EAAE,SAAS,mBAAmB,gBAAgB;AACpD,QACE,oBAAC,mBAAmB,oBAClB,oBAAC,mBAAmB;EAClB,OAAO,SAAS,OAAO,QAAQ,WAAW,eAAe;YAEzD,oBAAC,SAAS;GAAK,UAAU;aACvB,oBAAC,iBAAiB;IAAS,OAAM;cAC/B,oBAAC,mBAAmB;KACX;KACK;KACZ,WAAW,GACT,yRACA,OACI,gDACA,kDACJ,UACD;KACD,GAAI;MACJ;KACwB;IACd;GACW,GACH"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Check.js","names":[],"sources":["../../../ui/icons/Check.tsx"],"sourcesContent":["import { Check } from 'lucide-react-native';\nimport { iconWithClassName } from './iconWithClassName';\n\niconWithClassName(Check);\nexport { Check };\n"],"mappings":";;;;AAGA,kBAAkB,MAAM"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChevronDown.js","names":[],"sources":["../../../ui/icons/ChevronDown.tsx"],"sourcesContent":["import { ChevronDown } from 'lucide-react-native';\nimport { iconWithClassName } from './iconWithClassName';\n\niconWithClassName(ChevronDown);\nexport { ChevronDown };\n"],"mappings":";;;;AAGA,kBAAkB,YAAY"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChevronRight.js","names":[],"sources":["../../../ui/icons/ChevronRight.tsx"],"sourcesContent":["import { ChevronRight } from 'lucide-react-native';\nimport { iconWithClassName } from './iconWithClassName';\n\niconWithClassName(ChevronRight);\nexport { ChevronRight };\n"],"mappings":";;;;AAGA,kBAAkB,aAAa"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChevronUp.js","names":[],"sources":["../../../ui/icons/ChevronUp.tsx"],"sourcesContent":["import { ChevronUp } from 'lucide-react-native';\nimport { iconWithClassName } from './iconWithClassName';\n\niconWithClassName(ChevronUp);\nexport { ChevronUp };\n"],"mappings":";;;;AAGA,kBAAkB,UAAU"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CircleUser.js","names":[],"sources":["../../../ui/icons/CircleUser.tsx"],"sourcesContent":["import { CircleUserRoundIcon } from 'lucide-react-native';\nimport { iconWithClassName } from './iconWithClassName';\n\niconWithClassName(CircleUserRoundIcon);\nexport { CircleUserRoundIcon };\n"],"mappings":";;;;AAGA,kBAAkB,oBAAoB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Info.js","names":[],"sources":["../../../ui/icons/Info.tsx"],"sourcesContent":["import { Info } from 'lucide-react-native';\nimport { iconWithClassName } from './iconWithClassName';\n\niconWithClassName(Info);\nexport { Info };\n"],"mappings":";;;;AAGA,kBAAkB,KAAK"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Key.js","names":[],"sources":["../../../ui/icons/Key.tsx"],"sourcesContent":["import { KeyRoundIcon } from 'lucide-react-native';\nimport { iconWithClassName } from './iconWithClassName';\n\niconWithClassName(KeyRoundIcon);\nexport { KeyRoundIcon };\n"],"mappings":";;;;AAGA,kBAAkB,aAAa"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MoonStar.js","names":[],"sources":["../../../ui/icons/MoonStar.tsx"],"sourcesContent":["import { MoonStar } from 'lucide-react-native';\nimport { iconWithClassName } from './iconWithClassName';\n\niconWithClassName(MoonStar);\nexport { MoonStar };\n"],"mappings":";;;;AAGA,kBAAkB,SAAS"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Sun.js","names":[],"sources":["../../../ui/icons/Sun.tsx"],"sourcesContent":["import { Sun } from 'lucide-react-native';\nimport { iconWithClassName } from './iconWithClassName';\n\niconWithClassName(Sun);\nexport { Sun };\n"],"mappings":";;;;AAGA,kBAAkB,IAAI"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"X.js","names":[],"sources":["../../../ui/icons/X.tsx"],"sourcesContent":["import { X } from 'lucide-react-native';\nimport { iconWithClassName } from './iconWithClassName';\n\niconWithClassName(X);\nexport { X };\n"],"mappings":";;;;AAGA,kBAAkB,EAAE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"iconWithClassName.d.ts","names":[],"sources":["../../../ui/icons/iconWithClassName.ts"],"sourcesContent":[],"mappings":";;;iBAGgB,iBAAA,OAAwB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"iconWithClassName.js","names":[],"sources":["../../../ui/icons/iconWithClassName.ts"],"sourcesContent":["import type { LucideIcon } from 'lucide-react-native';\nimport { styled } from 'nativewind';\n\nexport function iconWithClassName(icon: LucideIcon) {\n styled(icon, {\n className: {\n target: 'style',\n nativeStyleMapping: {\n color: true,\n opacity: true,\n },\n },\n });\n}\n"],"mappings":";;;AAGA,SAAgB,kBAAkB,MAAkB;AAClD,QAAO,MAAM,EACX,WAAW;EACT,QAAQ;EACR,oBAAoB;GAClB,OAAO;GACP,SAAS;GACV;EACF,EACF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"input.d.ts","names":[],"sources":["../../ui/input.tsx"],"sourcesContent":[],"mappings":";;;;;iBAIS,KAAA;;;;GAIN;QACK,OAAA,CAAM,UAAU;IACvB,mBAAA,CAAA,GAAA,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"input.js","names":[],"sources":["../../ui/input.tsx"],"sourcesContent":["import * as React from 'react';\nimport { TextInput, type TextInputProps } from 'react-native';\nimport { cn } from './utils';\n\nfunction Input({\n className,\n placeholderClassName,\n ...props\n}: TextInputProps & {\n ref?: React.RefObject<TextInput>;\n}) {\n return (\n <TextInput\n className={cn(\n 'native:h-12 native:text-lg native:leading-tight border-input bg-background text-foreground placeholder:text-muted-foreground web:flex web:w-full web:py-2 web:ring-offset-background web:focus-visible:outline-hidden web:focus-visible:ring-2 web:focus-visible:ring-ring web:focus-visible:ring-offset-2 h-10 rounded-md border px-3 text-base file:border-0 file:bg-transparent file:font-medium lg:text-sm',\n props.editable === false && 'web:cursor-not-allowed opacity-50',\n className\n )}\n placeholderClassName={cn('text-muted-foreground', placeholderClassName)}\n {...props}\n />\n );\n}\n\nexport { Input };\n"],"mappings":";;;;;;AAIA,SAAS,MAAM,EACb,WACA,sBACA,GAAG,SAGF;AACD,QACE,oBAAC;EACC,WAAW,GACT,kZACA,MAAM,aAAa,SAAS,qCAC5B,UACD;EACD,sBAAsB,GAAG,yBAAyB,qBAAqB;EACvE,GAAI;GACJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"label.d.ts","names":[],"sources":["../../ui/label.tsx"],"sourcesContent":[],"mappings":";;;;iBAIS,KAAA;;;;;;;;GAQN,cAAA,CAAe,YAAY,KAAA,CAAM,cAAc,cAAA,CAAe,WAAQ,mBAAA,CAAA,GAAA,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"label.js","names":[],"sources":["../../ui/label.tsx"],"sourcesContent":["import { cn } from './utils';\nimport * as LabelPrimitive from '@rn-primitives/label';\nimport { Platform } from 'react-native';\n\nfunction Label({\n className,\n onPress,\n onLongPress,\n onPressIn,\n onPressOut,\n disabled,\n ...props\n}: LabelPrimitive.TextProps & React.RefAttributes<LabelPrimitive.TextRef>) {\n return (\n <LabelPrimitive.Root\n className={cn(\n 'flex flex-row items-center gap-2 select-none',\n Platform.select({\n web: 'cursor-default leading-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50',\n }),\n disabled && 'opacity-50'\n )}\n onPress={onPress}\n onLongPress={onLongPress}\n onPressIn={onPressIn}\n onPressOut={onPressOut}\n disabled={disabled}\n >\n <LabelPrimitive.Text\n className={cn(\n 'text-foreground text-sm font-medium',\n Platform.select({ web: 'leading-none' }),\n className\n )}\n {...props}\n />\n </LabelPrimitive.Root>\n );\n}\n\nexport { Label };\n"],"mappings":";;;;;;AAIA,SAAS,MAAM,EACb,WACA,SACA,aACA,WACA,YACA,UACA,GAAG,SACsE;AACzE,QACE,oBAAC,eAAe;EACd,WAAW,GACT,gDACA,SAAS,OAAO,EACd,KAAK,8KACN,CAAC,EACF,YAAY,aACb;EACQ;EACI;EACF;EACC;EACF;YAEV,oBAAC,eAAe;GACd,WAAW,GACT,uCACA,SAAS,OAAO,EAAE,KAAK,gBAAgB,CAAC,EACxC,UACD;GACD,GAAI;IACJ;GACkB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"link.d.ts","names":[],"sources":["../../ui/link.tsx"],"sourcesContent":[],"mappings":";;;;;iBAIS,IAAA;;;GAGN;QACK,OAAA,CAAM,iBAAiB;IAC9B,mBAAA,CAAA,GAAA,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"link.js","names":["LinkExpo"],"sources":["../../ui/link.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Link as LinkExpo, type LinkProps } from 'expo-router';\nimport { cn } from './utils';\n\nfunction Link({\n className,\n ...props\n}: LinkProps & {\n ref?: React.RefObject<typeof LinkExpo>;\n}) {\n return (\n <LinkExpo\n className={cn('className=\"text-primary underline\"', className)}\n {...props}\n />\n );\n}\n\nexport { Link };\n"],"mappings":";;;;;;AAIA,SAAS,KAAK,EACZ,WACA,GAAG,SAGF;AACD,QACE,oBAACA;EACC,WAAW,GAAG,wCAAsC,UAAU;EAC9D,GAAI;GACJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"loading-button.d.ts","names":[],"sources":["../../ui/loading-button.tsx"],"sourcesContent":[],"mappings":";;;;;UAOU,kBAAA,SAA2B;;;EAA3B,QAAA,EAGE,KAAA,CAAM,SAHW;AAM7B;AACE,iBADc,aAAA,CACd;EAAA,SAAA;EAAA,WAAA;EAAA,QAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EAKC,kBALD,CAAA,EAKmB,mBAAA,CAAA,GAAA,CAAA,OALnB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"loading-button.js","names":["Text"],"sources":["../../ui/loading-button.tsx"],"sourcesContent":["import React from 'react';\nimport { ActivityIndicator } from 'react-native';\nimport type { ButtonProps } from './button';\nimport { Button } from './button';\nimport { Text } from './text';\nimport { HStack } from './stack';\n\ninterface LoadingButtonProps extends ButtonProps {\n isLoading?: boolean;\n loadingText?: string;\n children: React.ReactNode;\n}\n\nexport function LoadingButton({\n isLoading = false,\n loadingText,\n children,\n disabled,\n ...props\n}: LoadingButtonProps) {\n return (\n <Button disabled={disabled || isLoading} {...props}>\n {isLoading ? (\n <HStack className=\"items-center gap-x-2\">\n <ActivityIndicator\n size=\"small\"\n // color={props.variant === 'outline' ? '#6b7280' : '#ffffff'}\n />\n <Text>{loadingText || 'Loading...'}</Text>\n </HStack>\n ) : (\n children\n )}\n </Button>\n );\n}\n"],"mappings":";;;;;;;;AAaA,SAAgB,cAAc,EAC5B,YAAY,OACZ,aACA,UACA,UACA,GAAG,SACkB;AACrB,QACE,oBAAC;EAAO,UAAU,YAAY;EAAW,GAAI;YAC1C,YACC,qBAAC;GAAO,WAAU;cAChB,oBAAC,qBACC,MAAK,UAEL,EACF,oBAACA,oBAAM,eAAe,eAAoB;IACnC,GAET;GAEK"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"loading-overlay.d.ts","names":[],"sources":["../../ui/loading-overlay.tsx"],"sourcesContent":[],"mappings":";;;UAMU,mBAAA;;;EAAA,QAAA,CAAA,EAAA,MAAA;AAMV;AACE,iBADc,cAAA,CACd;EAAA,SAAA;EAAA,KAAA;EAAA;AAAA,CAAA,EAGC,mBAHD,CAAA,EAGoB,oBAAA,CAAA,GAAA,CAAA,OAAA,GAHpB,IAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"loading-overlay.js","names":["Text"],"sources":["../../ui/loading-overlay.tsx"],"sourcesContent":["import React from 'react';\nimport { ActivityIndicator, View } from 'react-native';\nimport { VStack } from './stack';\nimport { Text } from './text';\nimport { H3 } from './typography';\n\ninterface LoadingOverlayProps {\n isVisible: boolean;\n title?: string;\n subtitle?: string;\n}\n\nexport function LoadingOverlay({\n isVisible,\n title = 'Loading...',\n subtitle,\n}: LoadingOverlayProps) {\n if (!isVisible) return null;\n\n return (\n <View\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: 'rgba(255, 255, 255, 0.9)',\n justifyContent: 'center',\n alignItems: 'center',\n zIndex: 1000,\n }}\n >\n <VStack className=\"items-center gap-y-4\">\n <ActivityIndicator size=\"large\" color=\"#6b7280\" />\n <VStack className=\"items-center gap-y-2\">\n <H3 className=\"text-center\">{title}</H3>\n {subtitle && (\n <Text className=\"text-muted-foreground text-center\">\n {subtitle}\n </Text>\n )}\n </VStack>\n </VStack>\n </View>\n );\n}\n"],"mappings":";;;;;;;;AAYA,SAAgB,eAAe,EAC7B,WACA,QAAQ,cACR,YACsB;AACtB,KAAI,CAAC,UAAW,QAAO;AAEvB,QACE,oBAAC;EACC,OAAO;GACL,UAAU;GACV,KAAK;GACL,MAAM;GACN,OAAO;GACP,QAAQ;GACR,iBAAiB;GACjB,gBAAgB;GAChB,YAAY;GACZ,QAAQ;GACT;YAED,qBAAC;GAAO,WAAU;cAChB,oBAAC;IAAkB,MAAK;IAAQ,OAAM;KAAY,EAClD,qBAAC;IAAO,WAAU;eAChB,oBAAC;KAAG,WAAU;eAAe;MAAW,EACvC,YACC,oBAACA;KAAK,WAAU;eACb;MACI;KAEF;IACF;GACJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"loading-screen.d.ts","names":[],"sources":["../../ui/loading-screen.tsx"],"sourcesContent":[],"mappings":";;;UAOU,kBAAA;;;AAQW;AAHL,iBAAA,aAAA,CAAa;EAAA,KAAA;EAAA;AAAA,CAAA,EAG1B,kBAH0B,CAAA,EAGR,oBAAA,CAAA,GAAA,CAAA,OAHQ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"loading-screen.js","names":[],"sources":["../../ui/loading-screen.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { SafeAreaView } from 'react-native-safe-area-context';\nimport { VStack } from './stack';\nimport { Skeleton } from './skeleton';\nimport { H3 } from './typography';\n\ninterface LoadingScreenProps {\n title?: string;\n variant?: 'default' | 'profile' | 'form' | 'list';\n}\n\nexport function LoadingScreen({\n title = 'Loading...',\n variant = 'default',\n}: LoadingScreenProps) {\n const renderContent = () => {\n switch (variant) {\n case 'profile':\n return (\n <VStack className=\"gap-y-6\">\n {/* Header skeleton */}\n <VStack className=\"gap-y-2\">\n <Skeleton className=\"h-8 w-3/4\" />\n <Skeleton className=\"h-4 w-1/2\" />\n </VStack>\n\n {/* Profile card skeleton */}\n <VStack className=\"gap-y-4\">\n <Skeleton className=\"h-16 w-16 rounded-full\" />\n <VStack className=\"gap-y-2\">\n <Skeleton className=\"h-6 w-2/3\" />\n <Skeleton className=\"h-4 w-1/2\" />\n </VStack>\n </VStack>\n\n {/* Content skeleton */}\n <VStack className=\"gap-y-3\">\n <Skeleton className=\"h-4 w-full\" />\n <Skeleton className=\"h-4 w-5/6\" />\n <Skeleton className=\"h-4 w-3/4\" />\n </VStack>\n </VStack>\n );\n\n case 'form':\n return (\n <VStack className=\"gap-y-6\">\n {/* Header */}\n <VStack className=\"gap-y-2\">\n <Skeleton className=\"h-8 w-3/4\" />\n <Skeleton className=\"h-4 w-1/2\" />\n </VStack>\n\n {/* Form fields */}\n <VStack className=\"gap-y-4\">\n <VStack className=\"gap-y-2\">\n <Skeleton className=\"h-4 w-1/4\" />\n <Skeleton className=\"h-12 w-full\" />\n </VStack>\n <VStack className=\"gap-y-2\">\n <Skeleton className=\"h-4 w-1/4\" />\n <Skeleton className=\"h-12 w-full\" />\n </VStack>\n <Skeleton className=\"h-12 w-full\" />\n </VStack>\n </VStack>\n );\n\n case 'list':\n return (\n <VStack className=\"gap-y-4\">\n <Skeleton className=\"h-8 w-1/2\" />\n {[...Array(5)].map((_, i) => (\n <VStack key={i} className=\"gap-y-2\">\n <Skeleton className=\"h-6 w-3/4\" />\n <Skeleton className=\"h-4 w-1/2\" />\n </VStack>\n ))}\n </VStack>\n );\n\n default:\n return (\n <VStack className=\"gap-y-4\">\n <H3 className=\"text-muted-foreground text-center\">{title}</H3>\n <Skeleton className=\"h-8 w-full\" />\n <Skeleton className=\"h-6 w-3/4\" />\n <Skeleton className=\"h-6 w-1/2\" />\n </VStack>\n );\n }\n };\n\n return (\n <SafeAreaView style={{ flex: 1 }}>\n <View style={{ flex: 1, padding: 16, justifyContent: 'center' }}>\n {renderContent()}\n </View>\n </SafeAreaView>\n );\n}\n"],"mappings":";;;;;;;;;AAYA,SAAgB,cAAc,EAC5B,QAAQ,cACR,UAAU,aACW;CACrB,MAAM,sBAAsB;AAC1B,UAAQ,SAAR;GACE,KAAK,UACH,QACE,qBAAC;IAAO,WAAU;;KAEhB,qBAAC;MAAO,WAAU;iBAChB,oBAAC,YAAS,WAAU,cAAc,EAClC,oBAAC,YAAS,WAAU,cAAc;OAC3B;KAGT,qBAAC;MAAO,WAAU;iBAChB,oBAAC,YAAS,WAAU,2BAA2B,EAC/C,qBAAC;OAAO,WAAU;kBAChB,oBAAC,YAAS,WAAU,cAAc,EAClC,oBAAC,YAAS,WAAU,cAAc;QAC3B;OACF;KAGT,qBAAC;MAAO,WAAU;;OAChB,oBAAC,YAAS,WAAU,eAAe;OACnC,oBAAC,YAAS,WAAU,cAAc;OAClC,oBAAC,YAAS,WAAU,cAAc;;OAC3B;;KACF;GAGb,KAAK,OACH,QACE,qBAAC;IAAO,WAAU;eAEhB,qBAAC;KAAO,WAAU;gBAChB,oBAAC,YAAS,WAAU,cAAc,EAClC,oBAAC,YAAS,WAAU,cAAc;MAC3B,EAGT,qBAAC;KAAO,WAAU;;MAChB,qBAAC;OAAO,WAAU;kBAChB,oBAAC,YAAS,WAAU,cAAc,EAClC,oBAAC,YAAS,WAAU,gBAAgB;QAC7B;MACT,qBAAC;OAAO,WAAU;kBAChB,oBAAC,YAAS,WAAU,cAAc,EAClC,oBAAC,YAAS,WAAU,gBAAgB;QAC7B;MACT,oBAAC,YAAS,WAAU,gBAAgB;;MAC7B;KACF;GAGb,KAAK,OACH,QACE,qBAAC;IAAO,WAAU;eAChB,oBAAC,YAAS,WAAU,cAAc,EACjC,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,KAAK,GAAG,MACrB,qBAAC;KAAe,WAAU;gBACxB,oBAAC,YAAS,WAAU,cAAc,EAClC,oBAAC,YAAS,WAAU,cAAc;OAFvB,EAGJ,CACT;KACK;GAGb,QACE,QACE,qBAAC;IAAO,WAAU;;KAChB,oBAAC;MAAG,WAAU;gBAAqC;OAAW;KAC9D,oBAAC,YAAS,WAAU,eAAe;KACnC,oBAAC,YAAS,WAAU,cAAc;KAClC,oBAAC,YAAS,WAAU,cAAc;;KAC3B;;;AAKjB,QACE,oBAAC;EAAa,OAAO,EAAE,MAAM,GAAG;YAC9B,oBAAC;GAAK,OAAO;IAAE,MAAM;IAAG,SAAS;IAAI,gBAAgB;IAAU;aAC5D,eAAe;IACX;GACM"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"FeatureGrid.d.ts","names":[],"sources":["../../../ui/marketing/FeatureGrid.tsx"],"sourcesContent":[],"mappings":";;;;UAGiB,WAAA;SACR,OAAA,CAAM;gBACC,OAAA,CAAM;EAFL,IAAA,CAAA,EAGR,OAAA,CAAM,SAHa;;AAEZ,iBAIA,WAAA,CAJM;EAAA,KAAA;EAAA,OAAA;EAAA;CAAA,EAAA;EACb,KAAM,EAQN,WARM,EAAA;EAAS,OAAA,CAAA,EAAA,CAAA,GAAA,CAAA,GAAA,CAAA;EAGR,SAAA,CAAA,EAAA,MAAW;CACzB,CAAA,EAOD,oBAAA,CAAA,GAAA,CAAA,OAPC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"FeatureGrid.js","names":[],"sources":["../../../ui/marketing/FeatureGrid.tsx"],"sourcesContent":["import * as React from 'react';\nimport { cn } from '../utils';\n\nexport interface FeatureItem {\n title: React.ReactNode;\n description?: React.ReactNode;\n icon?: React.ReactNode;\n}\n\nexport function FeatureGrid({\n items,\n columns = 3,\n className,\n}: {\n items: FeatureItem[];\n columns?: 2 | 3 | 4;\n className?: string;\n}) {\n const gridCols =\n columns === 4\n ? 'md:grid-cols-4'\n : columns === 2\n ? 'md:grid-cols-2'\n : 'md:grid-cols-3';\n return (\n <section className={cn('mx-auto max-w-6xl py-12', className)}>\n <div className={cn('grid grid-cols-1 gap-6', gridCols)}>\n {items.map((it, idx) => (\n <div key={idx} className=\"rounded-lg border p-6\">\n {it.icon && <div className=\"text-primary mb-3\">{it.icon}</div>}\n <h3 className=\"text-lg font-semibold\">{it.title}</h3>\n {it.description && (\n <p className=\"text-muted-foreground mt-2 text-base\">\n {it.description}\n </p>\n )}\n </div>\n ))}\n </div>\n </section>\n );\n}\n"],"mappings":";;;;;AASA,SAAgB,YAAY,EAC1B,OACA,UAAU,GACV,aAKC;CACD,MAAM,WACJ,YAAY,IACR,mBACA,YAAY,IACV,mBACA;AACR,QACE,oBAAC;EAAQ,WAAW,GAAG,2BAA2B,UAAU;YAC1D,oBAAC;GAAI,WAAW,GAAG,0BAA0B,SAAS;aACnD,MAAM,KAAK,IAAI,QACd,qBAAC;IAAc,WAAU;;KACtB,GAAG,QAAQ,oBAAC;MAAI,WAAU;gBAAqB,GAAG;OAAW;KAC9D,oBAAC;MAAG,WAAU;gBAAyB,GAAG;OAAW;KACpD,GAAG,eACF,oBAAC;MAAE,WAAU;gBACV,GAAG;OACF;;MANE,IAQJ,CACN;IACE;GACE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Hero.d.ts","names":[],"sources":["../../../ui/marketing/Hero.tsx"],"sourcesContent":[],"mappings":";;;;iBAKgB,IAAA;;;;;;;SAOP,OAAA,CAAM;aACF,OAAA,CAAM;EARH,UAAI,CAAA,EAAA;IAClB,KAAA,EAAA,MAAA;IACA,IAAA,CAAA,EAAA,MAAA;IACA,OAAA,CAAA,EAAA,GAAA,GAAA,IAAA;EACA,CAAA;EACA,YAAA,CAAA,EAAA;IAEO,KAAM,EAAA,MAAA;IACF,IAAM,CAAA,EAAA,MAAA;IAIlB,OAAA,CAAA,EAAA,GAAA,GAAA,IAAA;EAAA,CAAA;;IAAA,oBAAA,CAAA,GAAA,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Hero.js","names":[],"sources":["../../../ui/marketing/Hero.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Button } from '../button';\nimport { cn } from '../utils';\nimport { Link } from 'expo-router';\n\nexport function Hero({\n title,\n subtitle,\n primaryCta,\n secondaryCta,\n className,\n}: {\n title: React.ReactNode;\n subtitle?: React.ReactNode;\n primaryCta?: { label: string; href?: string; onClick?: () => void };\n secondaryCta?: { label: string; href?: string; onClick?: () => void };\n className?: string;\n}) {\n return (\n <section className={cn('mx-auto max-w-4xl py-16 text-center', className)}>\n <h1 className=\"text-4xl font-bold tracking-tight md:text-5xl\">{title}</h1>\n {subtitle && (\n <p className=\"text-muted-foreground mt-4 text-lg md:text-xl\">\n {subtitle}\n </p>\n )}\n {(primaryCta || secondaryCta) && (\n <div className=\"mt-8 flex items-center justify-center gap-3\">\n {primaryCta &&\n (primaryCta.href ? (\n <Button size=\"lg\">\n <Link href={primaryCta.href}>{primaryCta.label}</Link>\n </Button>\n ) : (\n <Button size=\"lg\" onPress={primaryCta.onClick}>\n {primaryCta.label}\n </Button>\n ))}\n {secondaryCta &&\n (secondaryCta.href ? (\n <Button variant=\"outline\" size=\"lg\">\n <Link href={secondaryCta.href}>{secondaryCta.label}</Link>\n </Button>\n ) : (\n <Button\n variant=\"outline\"\n size=\"lg\"\n onPress={secondaryCta.onClick}\n >\n {secondaryCta.label}\n </Button>\n ))}\n </div>\n )}\n </section>\n );\n}\n"],"mappings":";;;;;;;AAKA,SAAgB,KAAK,EACnB,OACA,UACA,YACA,cACA,aAOC;AACD,QACE,qBAAC;EAAQ,WAAW,GAAG,uCAAuC,UAAU;;GACtE,oBAAC;IAAG,WAAU;cAAiD;KAAW;GACzE,YACC,oBAAC;IAAE,WAAU;cACV;KACC;IAEJ,cAAc,iBACd,qBAAC;IAAI,WAAU;eACZ,eACE,WAAW,OACV,oBAAC;KAAO,MAAK;eACX,oBAAC;MAAK,MAAM,WAAW;gBAAO,WAAW;OAAa;MAC/C,GAET,oBAAC;KAAO,MAAK;KAAK,SAAS,WAAW;eACnC,WAAW;MACL,GAEZ,iBACE,aAAa,OACZ,oBAAC;KAAO,SAAQ;KAAU,MAAK;eAC7B,oBAAC;MAAK,MAAM,aAAa;gBAAO,aAAa;OAAa;MACnD,GAET,oBAAC;KACC,SAAQ;KACR,MAAK;KACL,SAAS,aAAa;eAErB,aAAa;MACP;KAET;;GAEA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PricingTable.d.ts","names":[],"sources":["../../../ui/marketing/PricingTable.tsx"],"sourcesContent":[],"mappings":";;;UAKiB,WAAA;;;EAAA,OAAA,CAAA,EAAA,MAAW;EASZ,QAAA,EAAA,MAAY,EAAA;EAC1B,GAAA,CAAA,EAAA;IACA,KAAA,EAAA,MAAA;IAEO,IAAA,CAAA,EAAA,MAAA;IAER,OAAA,CAAA,EAAA,GAAA,GAAA,IAAA;EAAA,CAAA;;;iBANe,YAAA;;;;SAIP;;IAER,oBAAA,CAAA,GAAA,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PricingTable.js","names":[],"sources":["../../../ui/marketing/PricingTable.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Button } from '../button';\nimport { cn } from '../utils';\nimport { Link } from 'expo-router';\n\nexport interface PricingTier {\n name: string;\n price: string;\n tagline?: string;\n features: string[];\n cta?: { label: string; href?: string; onClick?: () => void };\n highlighted?: boolean;\n}\n\nexport function PricingTable({\n tiers,\n className,\n}: {\n tiers: PricingTier[];\n className?: string;\n}) {\n return (\n <section className={cn('mx-auto max-w-6xl py-12', className)}>\n <div className=\"grid grid-cols-1 gap-6 md:grid-cols-3\">\n {tiers.map((t, idx) => (\n <div\n key={idx}\n className={cn(\n 'flex flex-col rounded-lg border p-6',\n t.highlighted && 'border-primary shadow-lg'\n )}\n >\n <div className=\"text-muted-foreground mb-2 text-base font-medium\">\n {t.name}\n </div>\n <div className=\"text-3xl font-semibold\">{t.price}</div>\n {t.tagline && (\n <div className=\"text-muted-foreground mt-1 text-base\">\n {t.tagline}\n </div>\n )}\n <ul className=\"mt-4 space-y-2 text-base\">\n {t.features.map((f, i) => (\n <li key={i} className=\"flex items-start gap-2\">\n <span className=\"bg-primary mt-1 h-1.5 w-1.5 rounded-full\" />\n <span>{f}</span>\n </li>\n ))}\n </ul>\n {t.cta && (\n <div className=\"mt-6\">\n {t.cta.href ? (\n <Button className=\"w-full\">\n <Link href={t.cta.href}>{t.cta.label}</Link>\n </Button>\n ) : (\n <Button className=\"w-full\" onPress={t.cta.onClick}>\n {t.cta.label}\n </Button>\n )}\n </div>\n )}\n </div>\n ))}\n </div>\n <p className=\"text-muted-foreground mt-6 text-center text-base\">\n Usage-based tiers inspired by generous free allowances and per-unit\n pricing.\n </p>\n </section>\n );\n}\n"],"mappings":";;;;;;;AAcA,SAAgB,aAAa,EAC3B,OACA,aAIC;AACD,QACE,qBAAC;EAAQ,WAAW,GAAG,2BAA2B,UAAU;aAC1D,oBAAC;GAAI,WAAU;aACZ,MAAM,KAAK,GAAG,QACb,qBAAC;IAEC,WAAW,GACT,uCACA,EAAE,eAAe,2BAClB;;KAED,oBAAC;MAAI,WAAU;gBACZ,EAAE;OACC;KACN,oBAAC;MAAI,WAAU;gBAA0B,EAAE;OAAY;KACtD,EAAE,WACD,oBAAC;MAAI,WAAU;gBACZ,EAAE;OACC;KAER,oBAAC;MAAG,WAAU;gBACX,EAAE,SAAS,KAAK,GAAG,MAClB,qBAAC;OAAW,WAAU;kBACpB,oBAAC,UAAK,WAAU,6CAA6C,EAC7D,oBAAC,oBAAM,IAAS;SAFT,EAGJ,CACL;OACC;KACJ,EAAE,OACD,oBAAC;MAAI,WAAU;gBACZ,EAAE,IAAI,OACL,oBAAC;OAAO,WAAU;iBAChB,oBAAC;QAAK,MAAM,EAAE,IAAI;kBAAO,EAAE,IAAI;SAAa;QACrC,GAET,oBAAC;OAAO,WAAU;OAAS,SAAS,EAAE,IAAI;iBACvC,EAAE,IAAI;QACA;OAEP;;MAlCH,IAoCD,CACN;IACE,EACN,oBAAC;GAAE,WAAU;aAAmD;IAG5D;GACI"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"menubar.d.ts","names":[],"sources":["../../ui/menubar.tsx"],"sourcesContent":[],"mappings":"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"}