orn-ui 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (407) hide show
  1. package/README.md +107 -0
  2. package/bin/orn-ui.mjs +228 -0
  3. package/lib/commonjs/atoms/Avatar.js +42 -0
  4. package/lib/commonjs/atoms/Avatar.js.map +1 -0
  5. package/lib/commonjs/atoms/Badge.js +82 -0
  6. package/lib/commonjs/atoms/Badge.js.map +1 -0
  7. package/lib/commonjs/atoms/Button.js +222 -0
  8. package/lib/commonjs/atoms/Button.js.map +1 -0
  9. package/lib/commonjs/atoms/Card.js +33 -0
  10. package/lib/commonjs/atoms/Card.js.map +1 -0
  11. package/lib/commonjs/atoms/Checkbox.js +107 -0
  12. package/lib/commonjs/atoms/Checkbox.js.map +1 -0
  13. package/lib/commonjs/atoms/Divider.js +27 -0
  14. package/lib/commonjs/atoms/Divider.js.map +1 -0
  15. package/lib/commonjs/atoms/EmptyState.js +69 -0
  16. package/lib/commonjs/atoms/EmptyState.js.map +1 -0
  17. package/lib/commonjs/atoms/Fab.js +62 -0
  18. package/lib/commonjs/atoms/Fab.js.map +1 -0
  19. package/lib/commonjs/atoms/IconButton.js +60 -0
  20. package/lib/commonjs/atoms/IconButton.js.map +1 -0
  21. package/lib/commonjs/atoms/Image.js +113 -0
  22. package/lib/commonjs/atoms/Image.js.map +1 -0
  23. package/lib/commonjs/atoms/Input.js +173 -0
  24. package/lib/commonjs/atoms/Input.js.map +1 -0
  25. package/lib/commonjs/atoms/KeyValueRow.js +60 -0
  26. package/lib/commonjs/atoms/KeyValueRow.js.map +1 -0
  27. package/lib/commonjs/atoms/PressableScale.js +60 -0
  28. package/lib/commonjs/atoms/PressableScale.js.map +1 -0
  29. package/lib/commonjs/atoms/Spinner.js +156 -0
  30. package/lib/commonjs/atoms/Spinner.js.map +1 -0
  31. package/lib/commonjs/atoms/Text.js +63 -0
  32. package/lib/commonjs/atoms/Text.js.map +1 -0
  33. package/lib/commonjs/atoms/index.js +135 -0
  34. package/lib/commonjs/atoms/index.js.map +1 -0
  35. package/lib/commonjs/icons/Icon.js +40 -0
  36. package/lib/commonjs/icons/Icon.js.map +1 -0
  37. package/lib/commonjs/icons/defaultIcons.js +386 -0
  38. package/lib/commonjs/icons/defaultIcons.js.map +1 -0
  39. package/lib/commonjs/icons/index.js +20 -0
  40. package/lib/commonjs/icons/index.js.map +1 -0
  41. package/lib/commonjs/icons/types.js +6 -0
  42. package/lib/commonjs/icons/types.js.map +1 -0
  43. package/lib/commonjs/index.js +61 -0
  44. package/lib/commonjs/index.js.map +1 -0
  45. package/lib/commonjs/molecules/AvatarHeader.js +87 -0
  46. package/lib/commonjs/molecules/AvatarHeader.js.map +1 -0
  47. package/lib/commonjs/molecules/FormActions.js +47 -0
  48. package/lib/commonjs/molecules/FormActions.js.map +1 -0
  49. package/lib/commonjs/molecules/InfoRow.js +83 -0
  50. package/lib/commonjs/molecules/InfoRow.js.map +1 -0
  51. package/lib/commonjs/molecules/OptionCard.js +98 -0
  52. package/lib/commonjs/molecules/OptionCard.js.map +1 -0
  53. package/lib/commonjs/molecules/Stepper.js +104 -0
  54. package/lib/commonjs/molecules/Stepper.js.map +1 -0
  55. package/lib/commonjs/molecules/Steps.js +220 -0
  56. package/lib/commonjs/molecules/Steps.js.map +1 -0
  57. package/lib/commonjs/molecules/ThemeToggle.js +91 -0
  58. package/lib/commonjs/molecules/ThemeToggle.js.map +1 -0
  59. package/lib/commonjs/molecules/index.js +55 -0
  60. package/lib/commonjs/molecules/index.js.map +1 -0
  61. package/lib/commonjs/organisms/Alert.js +223 -0
  62. package/lib/commonjs/organisms/Alert.js.map +1 -0
  63. package/lib/commonjs/organisms/AlertProvider.js +109 -0
  64. package/lib/commonjs/organisms/AlertProvider.js.map +1 -0
  65. package/lib/commonjs/organisms/BottomSheet.js +154 -0
  66. package/lib/commonjs/organisms/BottomSheet.js.map +1 -0
  67. package/lib/commonjs/organisms/DateField.js +147 -0
  68. package/lib/commonjs/organisms/DateField.js.map +1 -0
  69. package/lib/commonjs/organisms/DatePicker.js +253 -0
  70. package/lib/commonjs/organisms/DatePicker.js.map +1 -0
  71. package/lib/commonjs/organisms/List.js +143 -0
  72. package/lib/commonjs/organisms/List.js.map +1 -0
  73. package/lib/commonjs/organisms/Modal.js +286 -0
  74. package/lib/commonjs/organisms/Modal.js.map +1 -0
  75. package/lib/commonjs/organisms/Screen.js +75 -0
  76. package/lib/commonjs/organisms/Screen.js.map +1 -0
  77. package/lib/commonjs/organisms/SearchList.js +180 -0
  78. package/lib/commonjs/organisms/SearchList.js.map +1 -0
  79. package/lib/commonjs/organisms/Select.js +178 -0
  80. package/lib/commonjs/organisms/Select.js.map +1 -0
  81. package/lib/commonjs/organisms/Toast.js +157 -0
  82. package/lib/commonjs/organisms/Toast.js.map +1 -0
  83. package/lib/commonjs/organisms/ToastProvider.js +131 -0
  84. package/lib/commonjs/organisms/ToastProvider.js.map +1 -0
  85. package/lib/commonjs/organisms/Wizard.js +116 -0
  86. package/lib/commonjs/organisms/Wizard.js.map +1 -0
  87. package/lib/commonjs/organisms/index.js +127 -0
  88. package/lib/commonjs/organisms/index.js.map +1 -0
  89. package/lib/commonjs/package.json +1 -0
  90. package/lib/commonjs/theme/UIProvider.js +110 -0
  91. package/lib/commonjs/theme/UIProvider.js.map +1 -0
  92. package/lib/commonjs/theme/createStyles.js +42 -0
  93. package/lib/commonjs/theme/createStyles.js.map +1 -0
  94. package/lib/commonjs/theme/createTheme.js +50 -0
  95. package/lib/commonjs/theme/createTheme.js.map +1 -0
  96. package/lib/commonjs/theme/index.js +151 -0
  97. package/lib/commonjs/theme/index.js.map +1 -0
  98. package/lib/commonjs/theme/insets.js +15 -0
  99. package/lib/commonjs/theme/insets.js.map +1 -0
  100. package/lib/commonjs/theme/labels.js +18 -0
  101. package/lib/commonjs/theme/labels.js.map +1 -0
  102. package/lib/commonjs/theme/palettes.js +42 -0
  103. package/lib/commonjs/theme/palettes.js.map +1 -0
  104. package/lib/commonjs/theme/tokens.js +120 -0
  105. package/lib/commonjs/theme/tokens.js.map +1 -0
  106. package/lib/commonjs/theme/types.js +6 -0
  107. package/lib/commonjs/theme/types.js.map +1 -0
  108. package/lib/module/atoms/Avatar.js +37 -0
  109. package/lib/module/atoms/Avatar.js.map +1 -0
  110. package/lib/module/atoms/Badge.js +77 -0
  111. package/lib/module/atoms/Badge.js.map +1 -0
  112. package/lib/module/atoms/Button.js +217 -0
  113. package/lib/module/atoms/Button.js.map +1 -0
  114. package/lib/module/atoms/Card.js +28 -0
  115. package/lib/module/atoms/Card.js.map +1 -0
  116. package/lib/module/atoms/Checkbox.js +102 -0
  117. package/lib/module/atoms/Checkbox.js.map +1 -0
  118. package/lib/module/atoms/Divider.js +22 -0
  119. package/lib/module/atoms/Divider.js.map +1 -0
  120. package/lib/module/atoms/EmptyState.js +64 -0
  121. package/lib/module/atoms/EmptyState.js.map +1 -0
  122. package/lib/module/atoms/Fab.js +57 -0
  123. package/lib/module/atoms/Fab.js.map +1 -0
  124. package/lib/module/atoms/IconButton.js +55 -0
  125. package/lib/module/atoms/IconButton.js.map +1 -0
  126. package/lib/module/atoms/Image.js +108 -0
  127. package/lib/module/atoms/Image.js.map +1 -0
  128. package/lib/module/atoms/Input.js +168 -0
  129. package/lib/module/atoms/Input.js.map +1 -0
  130. package/lib/module/atoms/KeyValueRow.js +55 -0
  131. package/lib/module/atoms/KeyValueRow.js.map +1 -0
  132. package/lib/module/atoms/PressableScale.js +55 -0
  133. package/lib/module/atoms/PressableScale.js.map +1 -0
  134. package/lib/module/atoms/Spinner.js +151 -0
  135. package/lib/module/atoms/Spinner.js.map +1 -0
  136. package/lib/module/atoms/Text.js +58 -0
  137. package/lib/module/atoms/Text.js.map +1 -0
  138. package/lib/module/atoms/index.js +18 -0
  139. package/lib/module/atoms/index.js.map +1 -0
  140. package/lib/module/icons/Icon.js +35 -0
  141. package/lib/module/icons/Icon.js.map +1 -0
  142. package/lib/module/icons/defaultIcons.js +381 -0
  143. package/lib/module/icons/defaultIcons.js.map +1 -0
  144. package/lib/module/icons/index.js +5 -0
  145. package/lib/module/icons/index.js.map +1 -0
  146. package/lib/module/icons/types.js +4 -0
  147. package/lib/module/icons/types.js.map +1 -0
  148. package/lib/module/index.js +8 -0
  149. package/lib/module/index.js.map +1 -0
  150. package/lib/module/molecules/AvatarHeader.js +82 -0
  151. package/lib/module/molecules/AvatarHeader.js.map +1 -0
  152. package/lib/module/molecules/FormActions.js +42 -0
  153. package/lib/module/molecules/FormActions.js.map +1 -0
  154. package/lib/module/molecules/InfoRow.js +78 -0
  155. package/lib/module/molecules/InfoRow.js.map +1 -0
  156. package/lib/module/molecules/OptionCard.js +93 -0
  157. package/lib/module/molecules/OptionCard.js.map +1 -0
  158. package/lib/module/molecules/Stepper.js +99 -0
  159. package/lib/module/molecules/Stepper.js.map +1 -0
  160. package/lib/module/molecules/Steps.js +215 -0
  161. package/lib/module/molecules/Steps.js.map +1 -0
  162. package/lib/module/molecules/ThemeToggle.js +86 -0
  163. package/lib/module/molecules/ThemeToggle.js.map +1 -0
  164. package/lib/module/molecules/index.js +10 -0
  165. package/lib/module/molecules/index.js.map +1 -0
  166. package/lib/module/organisms/Alert.js +218 -0
  167. package/lib/module/organisms/Alert.js.map +1 -0
  168. package/lib/module/organisms/AlertProvider.js +103 -0
  169. package/lib/module/organisms/AlertProvider.js.map +1 -0
  170. package/lib/module/organisms/BottomSheet.js +149 -0
  171. package/lib/module/organisms/BottomSheet.js.map +1 -0
  172. package/lib/module/organisms/DateField.js +142 -0
  173. package/lib/module/organisms/DateField.js.map +1 -0
  174. package/lib/module/organisms/DatePicker.js +247 -0
  175. package/lib/module/organisms/DatePicker.js.map +1 -0
  176. package/lib/module/organisms/List.js +138 -0
  177. package/lib/module/organisms/List.js.map +1 -0
  178. package/lib/module/organisms/Modal.js +281 -0
  179. package/lib/module/organisms/Modal.js.map +1 -0
  180. package/lib/module/organisms/Screen.js +70 -0
  181. package/lib/module/organisms/Screen.js.map +1 -0
  182. package/lib/module/organisms/SearchList.js +175 -0
  183. package/lib/module/organisms/SearchList.js.map +1 -0
  184. package/lib/module/organisms/Select.js +173 -0
  185. package/lib/module/organisms/Select.js.map +1 -0
  186. package/lib/module/organisms/Toast.js +152 -0
  187. package/lib/module/organisms/Toast.js.map +1 -0
  188. package/lib/module/organisms/ToastProvider.js +125 -0
  189. package/lib/module/organisms/ToastProvider.js.map +1 -0
  190. package/lib/module/organisms/Wizard.js +111 -0
  191. package/lib/module/organisms/Wizard.js.map +1 -0
  192. package/lib/module/organisms/index.js +16 -0
  193. package/lib/module/organisms/index.js.map +1 -0
  194. package/lib/module/package.json +1 -0
  195. package/lib/module/theme/UIProvider.js +97 -0
  196. package/lib/module/theme/UIProvider.js.map +1 -0
  197. package/lib/module/theme/createStyles.js +38 -0
  198. package/lib/module/theme/createStyles.js.map +1 -0
  199. package/lib/module/theme/createTheme.js +45 -0
  200. package/lib/module/theme/createTheme.js.map +1 -0
  201. package/lib/module/theme/index.js +10 -0
  202. package/lib/module/theme/index.js.map +1 -0
  203. package/lib/module/theme/insets.js +11 -0
  204. package/lib/module/theme/insets.js.map +1 -0
  205. package/lib/module/theme/labels.js +14 -0
  206. package/lib/module/theme/labels.js.map +1 -0
  207. package/lib/module/theme/palettes.js +38 -0
  208. package/lib/module/theme/palettes.js.map +1 -0
  209. package/lib/module/theme/tokens.js +117 -0
  210. package/lib/module/theme/tokens.js.map +1 -0
  211. package/lib/module/theme/types.js +4 -0
  212. package/lib/module/theme/types.js.map +1 -0
  213. package/lib/typescript/atoms/Avatar.d.ts +15 -0
  214. package/lib/typescript/atoms/Avatar.d.ts.map +1 -0
  215. package/lib/typescript/atoms/Badge.d.ts +19 -0
  216. package/lib/typescript/atoms/Badge.d.ts.map +1 -0
  217. package/lib/typescript/atoms/Button.d.ts +30 -0
  218. package/lib/typescript/atoms/Button.d.ts.map +1 -0
  219. package/lib/typescript/atoms/Card.d.ts +8 -0
  220. package/lib/typescript/atoms/Card.d.ts.map +1 -0
  221. package/lib/typescript/atoms/Checkbox.d.ts +11 -0
  222. package/lib/typescript/atoms/Checkbox.d.ts.map +1 -0
  223. package/lib/typescript/atoms/Divider.d.ts +8 -0
  224. package/lib/typescript/atoms/Divider.d.ts.map +1 -0
  225. package/lib/typescript/atoms/EmptyState.d.ts +12 -0
  226. package/lib/typescript/atoms/EmptyState.d.ts.map +1 -0
  227. package/lib/typescript/atoms/Fab.d.ts +22 -0
  228. package/lib/typescript/atoms/Fab.d.ts.map +1 -0
  229. package/lib/typescript/atoms/IconButton.d.ts +23 -0
  230. package/lib/typescript/atoms/IconButton.d.ts.map +1 -0
  231. package/lib/typescript/atoms/Image.d.ts +45 -0
  232. package/lib/typescript/atoms/Image.d.ts.map +1 -0
  233. package/lib/typescript/atoms/Input.d.ts +24 -0
  234. package/lib/typescript/atoms/Input.d.ts.map +1 -0
  235. package/lib/typescript/atoms/KeyValueRow.d.ts +17 -0
  236. package/lib/typescript/atoms/KeyValueRow.d.ts.map +1 -0
  237. package/lib/typescript/atoms/PressableScale.d.ts +15 -0
  238. package/lib/typescript/atoms/PressableScale.d.ts.map +1 -0
  239. package/lib/typescript/atoms/Spinner.d.ts +20 -0
  240. package/lib/typescript/atoms/Spinner.d.ts.map +1 -0
  241. package/lib/typescript/atoms/Text.d.ts +13 -0
  242. package/lib/typescript/atoms/Text.d.ts.map +1 -0
  243. package/lib/typescript/atoms/index.d.ts +31 -0
  244. package/lib/typescript/atoms/index.d.ts.map +1 -0
  245. package/lib/typescript/icons/Icon.d.ts +18 -0
  246. package/lib/typescript/icons/Icon.d.ts.map +1 -0
  247. package/lib/typescript/icons/defaultIcons.d.ts +5 -0
  248. package/lib/typescript/icons/defaultIcons.d.ts.map +1 -0
  249. package/lib/typescript/icons/index.d.ts +5 -0
  250. package/lib/typescript/icons/index.d.ts.map +1 -0
  251. package/lib/typescript/icons/types.d.ts +10 -0
  252. package/lib/typescript/icons/types.d.ts.map +1 -0
  253. package/lib/typescript/index.d.ts +6 -0
  254. package/lib/typescript/index.d.ts.map +1 -0
  255. package/lib/typescript/molecules/AvatarHeader.d.ts +20 -0
  256. package/lib/typescript/molecules/AvatarHeader.d.ts.map +1 -0
  257. package/lib/typescript/molecules/FormActions.d.ts +21 -0
  258. package/lib/typescript/molecules/FormActions.d.ts.map +1 -0
  259. package/lib/typescript/molecules/InfoRow.d.ts +17 -0
  260. package/lib/typescript/molecules/InfoRow.d.ts.map +1 -0
  261. package/lib/typescript/molecules/OptionCard.d.ts +20 -0
  262. package/lib/typescript/molecules/OptionCard.d.ts.map +1 -0
  263. package/lib/typescript/molecules/Stepper.d.ts +15 -0
  264. package/lib/typescript/molecules/Stepper.d.ts.map +1 -0
  265. package/lib/typescript/molecules/Steps.d.ts +29 -0
  266. package/lib/typescript/molecules/Steps.d.ts.map +1 -0
  267. package/lib/typescript/molecules/ThemeToggle.d.ts +15 -0
  268. package/lib/typescript/molecules/ThemeToggle.d.ts.map +1 -0
  269. package/lib/typescript/molecules/index.d.ts +15 -0
  270. package/lib/typescript/molecules/index.d.ts.map +1 -0
  271. package/lib/typescript/organisms/Alert.d.ts +29 -0
  272. package/lib/typescript/organisms/Alert.d.ts.map +1 -0
  273. package/lib/typescript/organisms/AlertProvider.d.ts +32 -0
  274. package/lib/typescript/organisms/AlertProvider.d.ts.map +1 -0
  275. package/lib/typescript/organisms/BottomSheet.d.ts +15 -0
  276. package/lib/typescript/organisms/BottomSheet.d.ts.map +1 -0
  277. package/lib/typescript/organisms/DateField.d.ts +26 -0
  278. package/lib/typescript/organisms/DateField.d.ts.map +1 -0
  279. package/lib/typescript/organisms/DatePicker.d.ts +49 -0
  280. package/lib/typescript/organisms/DatePicker.d.ts.map +1 -0
  281. package/lib/typescript/organisms/List.d.ts +35 -0
  282. package/lib/typescript/organisms/List.d.ts.map +1 -0
  283. package/lib/typescript/organisms/Modal.d.ts +25 -0
  284. package/lib/typescript/organisms/Modal.d.ts.map +1 -0
  285. package/lib/typescript/organisms/Screen.d.ts +26 -0
  286. package/lib/typescript/organisms/Screen.d.ts.map +1 -0
  287. package/lib/typescript/organisms/SearchList.d.ts +40 -0
  288. package/lib/typescript/organisms/SearchList.d.ts.map +1 -0
  289. package/lib/typescript/organisms/Select.d.ts +25 -0
  290. package/lib/typescript/organisms/Select.d.ts.map +1 -0
  291. package/lib/typescript/organisms/Toast.d.ts +28 -0
  292. package/lib/typescript/organisms/Toast.d.ts.map +1 -0
  293. package/lib/typescript/organisms/ToastProvider.d.ts +36 -0
  294. package/lib/typescript/organisms/ToastProvider.d.ts.map +1 -0
  295. package/lib/typescript/organisms/Wizard.d.ts +40 -0
  296. package/lib/typescript/organisms/Wizard.d.ts.map +1 -0
  297. package/lib/typescript/organisms/index.d.ts +27 -0
  298. package/lib/typescript/organisms/index.d.ts.map +1 -0
  299. package/lib/typescript/theme/UIProvider.d.ts +47 -0
  300. package/lib/typescript/theme/UIProvider.d.ts.map +1 -0
  301. package/lib/typescript/theme/createStyles.d.ts +21 -0
  302. package/lib/typescript/theme/createStyles.d.ts.map +1 -0
  303. package/lib/typescript/theme/createTheme.d.ts +9 -0
  304. package/lib/typescript/theme/createTheme.d.ts.map +1 -0
  305. package/lib/typescript/theme/index.d.ts +14 -0
  306. package/lib/typescript/theme/index.d.ts.map +1 -0
  307. package/lib/typescript/theme/insets.d.ts +9 -0
  308. package/lib/typescript/theme/insets.d.ts.map +1 -0
  309. package/lib/typescript/theme/labels.d.ts +13 -0
  310. package/lib/typescript/theme/labels.d.ts.map +1 -0
  311. package/lib/typescript/theme/palettes.d.ts +24 -0
  312. package/lib/typescript/theme/palettes.d.ts.map +1 -0
  313. package/lib/typescript/theme/tokens.d.ts +41 -0
  314. package/lib/typescript/theme/tokens.d.ts.map +1 -0
  315. package/lib/typescript/theme/types.d.ts +24 -0
  316. package/lib/typescript/theme/types.d.ts.map +1 -0
  317. package/package.json +311 -0
  318. package/registry/alert-provider.json +21 -0
  319. package/registry/alert.json +19 -0
  320. package/registry/avatar-header.json +18 -0
  321. package/registry/avatar.json +18 -0
  322. package/registry/badge.json +18 -0
  323. package/registry/bottom-sheet.json +18 -0
  324. package/registry/button.json +18 -0
  325. package/registry/card.json +18 -0
  326. package/registry/checkbox.json +18 -0
  327. package/registry/core.json +64 -0
  328. package/registry/date-field.json +24 -0
  329. package/registry/date-picker.json +23 -0
  330. package/registry/divider.json +18 -0
  331. package/registry/empty-state.json +18 -0
  332. package/registry/fab.json +19 -0
  333. package/registry/form-actions.json +19 -0
  334. package/registry/icon-button.json +19 -0
  335. package/registry/image.json +20 -0
  336. package/registry/index.json +465 -0
  337. package/registry/info-row.json +19 -0
  338. package/registry/input.json +18 -0
  339. package/registry/key-value-row.json +18 -0
  340. package/registry/list.json +20 -0
  341. package/registry/manifest.json +263 -0
  342. package/registry/modal.json +21 -0
  343. package/registry/option-card.json +18 -0
  344. package/registry/pressable-scale.json +18 -0
  345. package/registry/screen.json +18 -0
  346. package/registry/search-list.json +23 -0
  347. package/registry/select.json +18 -0
  348. package/registry/spinner.json +18 -0
  349. package/registry/stepper.json +18 -0
  350. package/registry/steps.json +18 -0
  351. package/registry/theme-toggle.json +18 -0
  352. package/registry/title.json +21 -0
  353. package/registry/toast-provider.json +20 -0
  354. package/registry/toast.json +18 -0
  355. package/registry/wizard.json +20 -0
  356. package/src/atoms/Avatar.tsx +40 -0
  357. package/src/atoms/Badge.tsx +55 -0
  358. package/src/atoms/Button.tsx +186 -0
  359. package/src/atoms/Card.tsx +27 -0
  360. package/src/atoms/Checkbox.tsx +75 -0
  361. package/src/atoms/Divider.tsx +14 -0
  362. package/src/atoms/EmptyState.tsx +60 -0
  363. package/src/atoms/Fab.tsx +63 -0
  364. package/src/atoms/IconButton.tsx +53 -0
  365. package/src/atoms/Image.tsx +137 -0
  366. package/src/atoms/Input.tsx +166 -0
  367. package/src/atoms/KeyValueRow.tsx +48 -0
  368. package/src/atoms/PressableScale.tsx +52 -0
  369. package/src/atoms/Spinner.tsx +127 -0
  370. package/src/atoms/Text.tsx +58 -0
  371. package/src/atoms/index.ts +30 -0
  372. package/src/icons/Icon.tsx +27 -0
  373. package/src/icons/defaultIcons.tsx +292 -0
  374. package/src/icons/index.ts +4 -0
  375. package/src/icons/types.ts +27 -0
  376. package/src/index.ts +5 -0
  377. package/src/molecules/AvatarHeader.tsx +69 -0
  378. package/src/molecules/FormActions.tsx +52 -0
  379. package/src/molecules/InfoRow.tsx +52 -0
  380. package/src/molecules/OptionCard.tsx +82 -0
  381. package/src/molecules/Stepper.tsx +76 -0
  382. package/src/molecules/Steps.tsx +198 -0
  383. package/src/molecules/ThemeToggle.tsx +67 -0
  384. package/src/molecules/index.ts +14 -0
  385. package/src/organisms/Alert.tsx +162 -0
  386. package/src/organisms/AlertProvider.tsx +125 -0
  387. package/src/organisms/BottomSheet.tsx +95 -0
  388. package/src/organisms/DateField.tsx +134 -0
  389. package/src/organisms/DatePicker.tsx +255 -0
  390. package/src/organisms/List.tsx +154 -0
  391. package/src/organisms/Modal.tsx +251 -0
  392. package/src/organisms/Screen.tsx +84 -0
  393. package/src/organisms/SearchList.tsx +186 -0
  394. package/src/organisms/Select.tsx +156 -0
  395. package/src/organisms/Toast.tsx +135 -0
  396. package/src/organisms/ToastProvider.tsx +166 -0
  397. package/src/organisms/Wizard.tsx +137 -0
  398. package/src/organisms/index.ts +26 -0
  399. package/src/theme/UIProvider.tsx +129 -0
  400. package/src/theme/createStyles.ts +40 -0
  401. package/src/theme/createTheme.ts +49 -0
  402. package/src/theme/index.ts +22 -0
  403. package/src/theme/insets.ts +9 -0
  404. package/src/theme/labels.ts +23 -0
  405. package/src/theme/palettes.ts +53 -0
  406. package/src/theme/tokens.ts +113 -0
  407. package/src/theme/types.ts +27 -0
@@ -0,0 +1,30 @@
1
+ import React from 'react';
2
+ import { type GestureResponderEvent, type StyleProp, type TextStyle, type ViewStyle } from 'react-native';
3
+ import type { IconName } from '../icons/types';
4
+ export type ButtonVariant = 'primary' | 'secondary' | 'outline' | 'ghost' | 'link' | 'destructive';
5
+ export type ButtonSize = 'sm' | 'md' | 'lg';
6
+ export interface ButtonProps {
7
+ title: string;
8
+ onPress: (e: GestureResponderEvent) => void;
9
+ variant?: ButtonVariant;
10
+ size?: ButtonSize;
11
+ loading?: boolean;
12
+ disabled?: boolean;
13
+ style?: StyleProp<ViewStyle>;
14
+ textStyle?: StyleProp<TextStyle>;
15
+ leftIcon?: React.ReactNode;
16
+ rightIcon?: React.ReactNode;
17
+ leftIconName?: IconName;
18
+ rightIconName?: IconName;
19
+ iconColor?: string;
20
+ testID?: string;
21
+ accessibilityLabel?: string;
22
+ }
23
+ /**
24
+ * Button
25
+ * Único componente de botón de la librería. `variant` decide el estilo
26
+ * semántico, `size` la densidad. El feedback de "presionado" anima solo
27
+ * `transform` (Animated.spring, useNativeDriver) — nunca opacity ni layout.
28
+ */
29
+ export declare const Button: React.MemoExoticComponent<({ title, onPress, variant, size, loading, disabled, style, textStyle, leftIcon, rightIcon, leftIconName, rightIconName, iconColor, testID, accessibilityLabel, }: ButtonProps) => React.JSX.Element>;
30
+ //# sourceMappingURL=Button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/atoms/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuB,MAAM,OAAO,CAAC;AAC5C,OAAO,EAKL,KAAK,qBAAqB,EAC1B,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAI/C,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,aAAa,CAAC;AACnG,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE5C,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,CAAC,CAAC,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAC5C,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB,aAAa,CAAC,EAAE,QAAQ,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AA8CD;;;;;GAKG;AACH,eAAO,MAAM,MAAM,+LAiBd,WAAW,uBA8Ef,CAAC"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { type ViewProps, type ViewStyle } from 'react-native';
3
+ export interface CardProps extends ViewProps {
4
+ children: React.ReactNode;
5
+ style?: ViewStyle;
6
+ }
7
+ export declare const Card: React.MemoExoticComponent<({ children, style, ...props }: CardProps) => React.JSX.Element>;
8
+ //# sourceMappingURL=Card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../src/atoms/Card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAAQ,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGpE,MAAM,WAAW,SAAU,SAAQ,SAAS;IAC1C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAWD,eAAO,MAAM,IAAI,4DAAwC,SAAS,uBAOhE,CAAC"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ export interface CheckboxProps {
3
+ value: boolean;
4
+ onValueChange: (value: boolean) => void;
5
+ label?: string;
6
+ color?: string;
7
+ disabled?: boolean;
8
+ testID?: string;
9
+ }
10
+ export declare const Checkbox: React.MemoExoticComponent<({ value, onValueChange, label, color, disabled, testID }: CheckboxProps) => React.JSX.Element>;
11
+ //# sourceMappingURL=Checkbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../src/atoms/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AAMvD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,OAAO,CAAC;IACf,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAgBD,eAAO,MAAM,QAAQ,uFAAmE,aAAa,uBA4CnG,CAAC"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { type StyleProp, type ViewStyle } from 'react-native';
3
+ export interface DividerProps {
4
+ style?: StyleProp<ViewStyle>;
5
+ testID?: string;
6
+ }
7
+ export declare const Divider: React.MemoExoticComponent<({ style, testID }: DividerProps) => React.JSX.Element>;
8
+ //# sourceMappingURL=Divider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Divider.d.ts","sourceRoot":"","sources":["../../../src/atoms/Divider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAAQ,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGpE,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,OAAO,gDAA4B,YAAY,uBAG1D,CAAC"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { type ViewStyle } from 'react-native';
3
+ import type { IconName } from '../icons/types';
4
+ export interface EmptyStateProps {
5
+ title?: string;
6
+ description?: string;
7
+ iconName?: IconName;
8
+ icon?: React.ReactNode;
9
+ style?: ViewStyle;
10
+ }
11
+ export declare const EmptyState: React.MemoExoticComponent<({ title, description, iconName, icon, style }: EmptyStateProps) => React.JSX.Element>;
12
+ //# sourceMappingURL=EmptyState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../../src/atoms/EmptyState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAI1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAyBD,eAAO,MAAM,UAAU,4EACsC,eAAe,uBAmB3E,CAAC"}
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+ import { type GestureResponderEvent, type StyleProp, type ViewStyle } from 'react-native';
3
+ import type { IconName } from '../icons/types';
4
+ export interface FabProps {
5
+ onPress: (e: GestureResponderEvent) => void;
6
+ iconName?: IconName;
7
+ icon?: React.ReactNode;
8
+ size?: number;
9
+ bottom?: number;
10
+ right?: number;
11
+ color?: string;
12
+ style?: StyleProp<ViewStyle>;
13
+ accessibilityLabel: string;
14
+ }
15
+ /**
16
+ * Fab
17
+ * Botón flotante circular. `bottom`/`right` en vez del `tabBarHeight`
18
+ * obligatorio de la versión original — el consumidor decide su propio
19
+ * offset (con o sin tab bar).
20
+ */
21
+ export declare const Fab: React.MemoExoticComponent<({ onPress, iconName, icon, size, bottom, right, color, style, accessibilityLabel }: FabProps) => React.JSX.Element>;
22
+ //# sourceMappingURL=Fab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Fab.d.ts","sourceRoot":"","sources":["../../../src/atoms/Fab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAG1F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAI/C,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,CAAC,CAAC,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAWD;;;;;GAKG;AACH,eAAO,MAAM,GAAG,iHAC+F,QAAQ,uBAyBtH,CAAC"}
@@ -0,0 +1,23 @@
1
+ import React from 'react';
2
+ import { type GestureResponderEvent, type StyleProp, type ViewStyle } from 'react-native';
3
+ import type { IconName } from '../icons/types';
4
+ export interface IconButtonProps {
5
+ iconName?: IconName;
6
+ icon?: React.ReactNode;
7
+ onPress?: (e: GestureResponderEvent) => void;
8
+ size?: number;
9
+ color?: string;
10
+ disabled?: boolean;
11
+ style?: StyleProp<ViewStyle>;
12
+ accessibilityLabel: string;
13
+ testID?: string;
14
+ }
15
+ /**
16
+ * IconButton
17
+ * Botón de solo ícono con área táctil mínima de 44x44 garantizada por el
18
+ * padding (icon 24 + padding 8*2 = 40; sube a 44 con size>=24 default RN).
19
+ * `accessibilityLabel` es obligatorio: sin texto visible, es la única forma
20
+ * de que un lector de pantalla anuncie qué hace el botón.
21
+ */
22
+ export declare const IconButton: React.MemoExoticComponent<({ iconName, icon, onPress, size, color, disabled, style, accessibilityLabel, testID }: IconButtonProps) => React.JSX.Element>;
23
+ //# sourceMappingURL=IconButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../src/atoms/IconButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAG1F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAUD;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,oHACwE,eAAe,uBAgB7G,CAAC"}
@@ -0,0 +1,45 @@
1
+ import React from 'react';
2
+ import { Image as RNImage, type ImageErrorEventData, type ImageResizeMode, type ImageSourcePropType, type NativeSyntheticEvent, type StyleProp, type ViewStyle } from 'react-native';
3
+ export interface ImageProps {
4
+ source: ImageSourcePropType;
5
+ width?: number;
6
+ height?: number;
7
+ /** @default 'cover' */
8
+ resizeMode?: ImageResizeMode;
9
+ /** Radio de las esquinas, mismo patrón que Avatar/Card. @default 0 */
10
+ radius?: number;
11
+ /** Qué mostrar mientras carga. `false` para no mostrar nada. @default true (spinner chico) */
12
+ loading?: React.ReactNode | boolean;
13
+ /** Qué mostrar si la carga falla. @default un placeholder gris, sin contenido */
14
+ fallback?: React.ReactNode;
15
+ /**
16
+ * 'high' dispara Image.prefetch() al montar, antes de que <Image> arranque
17
+ * su propio ciclo de carga — pensado para la imagen above-the-fold de una
18
+ * pantalla (la primera que el usuario ve). Sin costo si ya está en caché.
19
+ * @default 'normal'
20
+ */
21
+ priority?: 'low' | 'normal' | 'high';
22
+ style?: StyleProp<ViewStyle>;
23
+ onLoadEnd?: () => void;
24
+ onError?: (error: NativeSyntheticEvent<ImageErrorEventData>) => void;
25
+ testID?: string;
26
+ }
27
+ /**
28
+ * Image
29
+ * Wrapper cero-dependencias sobre <Image> de RN: agrega estado de carga y
30
+ * error (con los mismos placeholders que el resto de la librería), y expone
31
+ * `priority="high"` para adelantar la descarga vía Image.prefetch(). El
32
+ * cache real (disco/memoria) lo maneja el motor de imágenes nativo de RN —
33
+ * esto no lo reimplementa, solo no lo deja apagado por accidente: en iOS
34
+ * fuerza `cache="force-cache"` (usa el disco aunque el header HTTP no lo
35
+ * pida); en Android el cache de disco de la imagen nativa ya está siempre
36
+ * activo, no hay knob equivalente que tocar.
37
+ */
38
+ export declare const Image: React.MemoExoticComponent<({ source, width, height, resizeMode, radius, loading, fallback, priority, style, onLoadEnd, onError, testID, }: ImageProps) => React.JSX.Element>;
39
+ /**
40
+ * Precarga una URL antes de montar el componente (p.ej. al recibir la
41
+ * respuesta de un listado, antes de navegar al detalle). Re-exporta
42
+ * Image.prefetch de RN — no hay nada zero-dep que agregarle encima.
43
+ */
44
+ export declare const prefetchImage: typeof RNImage.prefetch;
45
+ //# sourceMappingURL=Image.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Image.d.ts","sourceRoot":"","sources":["../../../src/atoms/Image.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AACtE,OAAO,EACL,KAAK,IAAI,OAAO,EAIhB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAItB,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8FAA8F;IAC9F,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC;IACpC,iFAAiF;IACjF,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAYD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,KAAK,6IAcb,UAAU,uBAoDd,CAAC;AAGF;;;;GAIG;AACH,eAAO,MAAM,aAAa,yBAAmB,CAAC"}
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ import { type StyleProp, type TextInputProps, type ViewStyle } from 'react-native';
3
+ import type { IconName } from '../icons/types';
4
+ export interface InputProps extends Omit<TextInputProps, 'style'> {
5
+ label?: string;
6
+ /** Muestra un asterisco junto al label. Puramente visual, no valida nada. */
7
+ required?: boolean;
8
+ error?: string;
9
+ containerStyle?: StyleProp<ViewStyle>;
10
+ style?: TextInputProps['style'];
11
+ leftIconName?: IconName;
12
+ rightIconName?: IconName;
13
+ onRightIconPress?: () => void;
14
+ isPassword?: boolean;
15
+ isLoading?: boolean;
16
+ }
17
+ /**
18
+ * Input
19
+ * El borde anima color entre border/primary/error con Animated (no
20
+ * useNativeDriver: los navegadores de color en RN sin Fabric solo son
21
+ * confiables en el hilo de JS; el costo es despreciable, se anima un borde).
22
+ */
23
+ export declare const Input: React.MemoExoticComponent<({ label, required, error, containerStyle, leftIconName, rightIconName, onRightIconPress, isPassword, isLoading, style, onFocus, onBlur, testID, ...props }: InputProps) => React.JSX.Element>;
24
+ //# sourceMappingURL=Input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/atoms/Input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiC,MAAM,OAAO,CAAC;AACtD,OAAO,EAOL,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAChC,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB,aAAa,CAAC,EAAE,QAAQ,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AA+BD;;;;;GAKG;AACH,eAAO,MAAM,KAAK,yLAgBb,UAAU,uBAkFd,CAAC"}
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import { type StyleProp, type TextStyle, type ViewStyle } from 'react-native';
3
+ export interface KeyValueRowProps {
4
+ label: React.ReactNode;
5
+ value: React.ReactNode;
6
+ style?: StyleProp<ViewStyle>;
7
+ labelStyle?: StyleProp<TextStyle>;
8
+ valueStyle?: StyleProp<TextStyle>;
9
+ }
10
+ /**
11
+ * KeyValueRow
12
+ * Fila label (izquierda) / value (derecha). Si label/value son string o
13
+ * number, se renderizan con el estilo default; si ya vienen envueltos en un
14
+ * componente de texto propio, se respetan tal cual.
15
+ */
16
+ export declare const KeyValueRow: React.MemoExoticComponent<({ label, value, style, labelStyle, valueStyle }: KeyValueRowProps) => React.JSX.Element>;
17
+ //# sourceMappingURL=KeyValueRow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KeyValueRow.d.ts","sourceRoot":"","sources":["../../../src/atoms/KeyValueRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAAc,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAI1F,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CACnC;AAQD;;;;;GAKG;AACH,eAAO,MAAM,WAAW,8EAA0D,gBAAgB,uBAqBhG,CAAC"}
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import { type PressableProps } from 'react-native';
3
+ export interface PressableScaleProps extends PressableProps {
4
+ /** Escala objetivo al presionar. @default 0.96 */
5
+ scaleTo?: number;
6
+ children: React.ReactNode;
7
+ }
8
+ /**
9
+ * PressableScale
10
+ * Feedback táctil de "achicarse" al presionar, con Animated.spring de RN
11
+ * (useNativeDriver: true — corre en el hilo nativo, sin coste de JS por frame).
12
+ * No depende de reanimated: la librería entera es cero-dependencias.
13
+ */
14
+ export declare const PressableScale: React.MemoExoticComponent<({ scaleTo, style, children, onPressIn, onPressOut, disabled, ...props }: PressableScaleProps) => React.JSX.Element>;
15
+ //# sourceMappingURL=PressableScale.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PressableScale.d.ts","sourceRoot":"","sources":["../../../src/atoms/PressableScale.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuB,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAuB,KAAK,cAAc,EAA8B,MAAM,cAAc,CAAC;AAEpG,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,sGACwD,mBAAmB,uBAkCrG,CAAC"}
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ export type SpinnerVariant = 'native' | 'dots' | 'ring';
3
+ export interface SpinnerProps {
4
+ size?: 'small' | 'large';
5
+ color?: string;
6
+ text?: string;
7
+ /** @default true. En false, no ocupa flex:1 (útil inline, dentro de un botón/fila). */
8
+ fullscreen?: boolean;
9
+ /**
10
+ * 'native' usa el ActivityIndicator del sistema; 'dots' y 'ring' son
11
+ * indicadores propios, iguales en iOS y Android.
12
+ * @default 'native'
13
+ */
14
+ variant?: SpinnerVariant;
15
+ /** Indicador totalmente propio. Gana sobre `variant`. */
16
+ indicator?: React.ReactNode;
17
+ testID?: string;
18
+ }
19
+ export declare const Spinner: React.MemoExoticComponent<({ size, color, text, fullscreen, variant, indicator, testID }: SpinnerProps) => React.JSX.Element>;
20
+ //# sourceMappingURL=Spinner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Spinner.d.ts","sourceRoot":"","sources":["../../../src/atoms/Spinner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AAKvD,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAExD,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uFAAuF;IACvF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,yDAAyD;IACzD,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA6ED,eAAO,MAAM,OAAO,4FAC0E,YAAY,uBAyBzG,CAAC"}
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { type StyleProp, type TextProps, type TextStyle } from 'react-native';
3
+ export interface TypographyProps extends TextProps {
4
+ children?: React.ReactNode;
5
+ style?: StyleProp<TextStyle>;
6
+ color?: string;
7
+ align?: 'left' | 'center' | 'right';
8
+ }
9
+ export declare const Title: React.MemoExoticComponent<({ children, style, color, align, ...props }: TypographyProps) => React.JSX.Element>;
10
+ export declare const Subtitle: React.MemoExoticComponent<({ children, style, color, align, ...props }: TypographyProps) => React.JSX.Element>;
11
+ export declare const Body: React.MemoExoticComponent<({ children, style, color, align, ...props }: TypographyProps) => React.JSX.Element>;
12
+ export declare const Caption: React.MemoExoticComponent<({ children, style, color, align, ...props }: TypographyProps) => React.JSX.Element>;
13
+ //# sourceMappingURL=Text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../../src/atoms/Text.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAAkB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAI9F,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;CACrC;AA4CD,eAAO,MAAM,KAAK,0EAlB8D,eAAe,uBAkB9C,CAAC;AAClD,eAAO,MAAM,QAAQ,0EAnB2D,eAAe,uBAmBxC,CAAC;AACxD,eAAO,MAAM,IAAI,0EApB+D,eAAe,uBAoBhD,CAAC;AAChD,eAAO,MAAM,OAAO,0EArB4D,eAAe,uBAqBrC,CAAC"}
@@ -0,0 +1,31 @@
1
+ export { Title, Subtitle, Body, Caption } from './Text';
2
+ export type { TypographyProps } from './Text';
3
+ export { Button } from './Button';
4
+ export type { ButtonProps, ButtonVariant, ButtonSize } from './Button';
5
+ export { IconButton } from './IconButton';
6
+ export type { IconButtonProps } from './IconButton';
7
+ export { Input } from './Input';
8
+ export type { InputProps } from './Input';
9
+ export { Checkbox } from './Checkbox';
10
+ export type { CheckboxProps } from './Checkbox';
11
+ export { Badge } from './Badge';
12
+ export type { BadgeProps, BadgeVariant } from './Badge';
13
+ export { Card } from './Card';
14
+ export type { CardProps } from './Card';
15
+ export { Divider } from './Divider';
16
+ export type { DividerProps } from './Divider';
17
+ export { Avatar } from './Avatar';
18
+ export type { AvatarProps } from './Avatar';
19
+ export { Image, prefetchImage } from './Image';
20
+ export type { ImageProps } from './Image';
21
+ export { Spinner } from './Spinner';
22
+ export type { SpinnerProps, SpinnerVariant } from './Spinner';
23
+ export { EmptyState } from './EmptyState';
24
+ export type { EmptyStateProps } from './EmptyState';
25
+ export { KeyValueRow } from './KeyValueRow';
26
+ export type { KeyValueRowProps } from './KeyValueRow';
27
+ export { Fab } from './Fab';
28
+ export type { FabProps } from './Fab';
29
+ export { PressableScale } from './PressableScale';
30
+ export type { PressableScaleProps } from './PressableScale';
31
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atoms/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/C,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,YAAY,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import { type StyleProp, type ViewStyle } from 'react-native';
3
+ import type { IconName } from './types';
4
+ export interface IconProps {
5
+ name: IconName;
6
+ size?: number;
7
+ color?: string;
8
+ style?: StyleProp<ViewStyle>;
9
+ }
10
+ /**
11
+ * Icon
12
+ * Resuelve el glifo vía el renderer activo (UIProvider.icons, default zero-dep
13
+ * si no se configuró ninguno). Uso interno de la librería — los componentes
14
+ * públicos exponen `icon?: ReactNode` además de esto, para que el consumidor
15
+ * pueda inyectar cualquier ícono sin pasar por el sistema de nombres.
16
+ */
17
+ export declare const Icon: React.MemoExoticComponent<({ name, size, color, style }: IconProps) => React.JSX.Element>;
18
+ //# sourceMappingURL=Icon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../../src/icons/Icon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAAQ,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAEpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,IAAI,2DAA4C,SAAS,uBAMpE,CAAC"}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import type { IconName, IconRenderProps } from './types';
3
+ /** Renderer default. Se usa cuando <UIProvider icons={...}> no pasa uno propio. */
4
+ export declare function renderDefaultIcon(name: IconName, props: IconRenderProps): React.ReactNode;
5
+ //# sourceMappingURL=defaultIcons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultIcons.d.ts","sourceRoot":"","sources":["../../../src/icons/defaultIcons.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAEpC,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AA6PzD,mFAAmF;AACnF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,GAAG,KAAK,CAAC,SAAS,CAmCzF"}
@@ -0,0 +1,5 @@
1
+ export { Icon } from './Icon';
2
+ export type { IconProps } from './Icon';
3
+ export { renderDefaultIcon } from './defaultIcons';
4
+ export type { IconName, IconRenderer, IconRenderProps } from './types';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/icons/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { ReactNode } from 'react';
2
+ /** Glifos que los componentes de la librería necesitan internamente. */
3
+ export type IconName = 'check' | 'close' | 'chevron-down' | 'chevron-up' | 'chevron-left' | 'chevron-right' | 'eye' | 'eye-off' | 'search' | 'plus' | 'minus' | 'alert' | 'info' | 'warning' | 'question';
4
+ export interface IconRenderProps {
5
+ size: number;
6
+ color: string;
7
+ }
8
+ /** Renderer inyectable: reemplaza los glifos default por los de cualquier set de iconos. */
9
+ export type IconRenderer = (name: IconName, props: IconRenderProps) => ReactNode;
10
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/icons/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,wEAAwE;AACxE,MAAM,MAAM,QAAQ,GAChB,OAAO,GACP,OAAO,GACP,cAAc,GACd,YAAY,GACZ,cAAc,GACd,eAAe,GACf,KAAK,GACL,SAAS,GACT,QAAQ,GACR,MAAM,GACN,OAAO,GACP,OAAO,GACP,MAAM,GACN,SAAS,GACT,UAAU,CAAC;AAEf,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,4FAA4F;AAC5F,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,KAAK,SAAS,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from './theme';
2
+ export * from './icons';
3
+ export * from './atoms';
4
+ export * from './molecules';
5
+ export * from './organisms';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import { type StyleProp, type ViewStyle } from 'react-native';
3
+ import type { IconName } from '../icons/types';
4
+ export interface AvatarHeaderProps {
5
+ /** Ícono a mostrar dentro del círculo. Si se omite, se usan `initials`. */
6
+ iconName?: IconName;
7
+ iconColor?: string;
8
+ /** Texto corto (ej. 2 letras) mostrado si no se pasa `iconName`. */
9
+ initials?: string;
10
+ title: string;
11
+ subtitle?: React.ReactNode;
12
+ style?: StyleProp<ViewStyle>;
13
+ }
14
+ /**
15
+ * AvatarHeader
16
+ * Círculo 80x80 con ícono o iniciales + título/subtítulo centrado. Header
17
+ * típico de modales de detalle (cliente, producto, etc).
18
+ */
19
+ export declare const AvatarHeader: React.MemoExoticComponent<({ iconName, iconColor, initials, title, subtitle, style }: AvatarHeaderProps) => React.JSX.Element>;
20
+ //# sourceMappingURL=AvatarHeader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AvatarHeader.d.ts","sourceRoot":"","sources":["../../../src/molecules/AvatarHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAAc,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAI1E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,WAAW,iBAAiB;IAChC,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAkBD;;;;GAIG;AACH,eAAO,MAAM,YAAY,wFAAoE,iBAAiB,uBA4B5G,CAAC"}
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ import { type StyleProp, type ViewStyle } from 'react-native';
3
+ import type { IconName } from '../icons/types';
4
+ export interface FormActionsProps {
5
+ /** Si se omite, solo se muestra el botón secundario. */
6
+ primaryLabel?: string;
7
+ onPrimaryPress?: () => void;
8
+ primaryDisabled?: boolean;
9
+ primaryLoading?: boolean;
10
+ primaryLeftIconName?: IconName;
11
+ secondaryLabel?: string;
12
+ onSecondaryPress: () => void;
13
+ style?: StyleProp<ViewStyle>;
14
+ }
15
+ /**
16
+ * FormActions
17
+ * Par de botones: uno primario (guardar/editar) y uno ghost (cerrar/cancelar).
18
+ * Uso típico: al final de un form, o en el footer de un Modal.
19
+ */
20
+ export declare const FormActions: React.MemoExoticComponent<({ primaryLabel, onPrimaryPress, primaryDisabled, primaryLoading, primaryLeftIconName, secondaryLabel, onSecondaryPress, style, }: FormActionsProps) => React.JSX.Element>;
21
+ //# sourceMappingURL=FormActions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormActions.d.ts","sourceRoot":"","sources":["../../../src/molecules/FormActions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAAQ,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAEpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,MAAM,WAAW,gBAAgB;IAC/B,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mBAAmB,CAAC,EAAE,QAAQ,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,+JAUnB,gBAAgB,uBAiBpB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import { type StyleProp, type ViewStyle } from 'react-native';
3
+ import type { IconName } from '../icons/types';
4
+ export interface InfoRowProps {
5
+ icon: IconName;
6
+ label: string;
7
+ value: string | null | undefined;
8
+ placeholder: string;
9
+ style?: StyleProp<ViewStyle>;
10
+ }
11
+ /**
12
+ * InfoRow
13
+ * Ícono circular a la izquierda + label/valor apilado a la derecha. Muestra
14
+ * `placeholder` en itálica si no hay valor. Pensado para modales de detalle.
15
+ */
16
+ export declare const InfoRow: React.MemoExoticComponent<({ icon, label, value, placeholder, style }: InfoRowProps) => React.JSX.Element>;
17
+ //# sourceMappingURL=InfoRow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InfoRow.d.ts","sourceRoot":"","sources":["../../../src/molecules/InfoRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAAc,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAI1E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAWD;;;;GAIG;AACH,eAAO,MAAM,OAAO,yEAAqD,YAAY,uBAoBnF,CAAC"}
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import { type StyleProp, type ViewStyle } from 'react-native';
3
+ import type { IconName } from '../icons/types';
4
+ export interface OptionCardProps {
5
+ label: string;
6
+ iconName: IconName;
7
+ isSelected: boolean;
8
+ onPress: () => void;
9
+ /** 'vertical': ícono arriba, texto abajo centrado. 'horizontal': ícono y texto en fila. */
10
+ layout?: 'vertical' | 'horizontal';
11
+ style?: StyleProp<ViewStyle>;
12
+ }
13
+ /**
14
+ * OptionCard
15
+ * Card con ícono+label que resalta con borde/fondo primary cuando
16
+ * `isSelected`. Para elegir entre opciones excluyentes (forma de pago, tipo
17
+ * de documento, etc).
18
+ */
19
+ export declare const OptionCard: React.MemoExoticComponent<({ label, iconName, isSelected, onPress, layout, style }: OptionCardProps) => React.JSX.Element>;
20
+ //# sourceMappingURL=OptionCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OptionCard.d.ts","sourceRoot":"","sources":["../../../src/molecules/OptionCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAA0B,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAItF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,2FAA2F;IAC3F,MAAM,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACnC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AA0BD;;;;;GAKG;AACH,eAAO,MAAM,UAAU,sFACoD,eAAe,uBAgCzF,CAAC"}
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import { type StyleProp, type ViewStyle } from 'react-native';
3
+ export interface StepperProps {
4
+ value: string;
5
+ onChangeText: (text: string) => void;
6
+ onIncrement: () => void;
7
+ onDecrement: () => void;
8
+ size?: 'sm' | 'md';
9
+ style?: StyleProp<ViewStyle>;
10
+ incrementAccessibilityLabel?: string;
11
+ decrementAccessibilityLabel?: string;
12
+ }
13
+ /** Stepper: botón "-" + input numérico editable + botón "+". */
14
+ export declare const Stepper: React.MemoExoticComponent<({ value, onChangeText, onIncrement, onDecrement, size, style, incrementAccessibilityLabel, decrementAccessibilityLabel, }: StepperProps) => React.JSX.Element>;
15
+ //# sourceMappingURL=Stepper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Stepper.d.ts","sourceRoot":"","sources":["../../../src/molecules/Stepper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAAqC,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAKjG,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAUD,gEAAgE;AAChE,eAAO,MAAM,OAAO,wJAUf,YAAY,uBAsChB,CAAC"}
@@ -0,0 +1,29 @@
1
+ import React from 'react';
2
+ import { type StyleProp, type ViewStyle } from 'react-native';
3
+ export interface StepItem {
4
+ label: string;
5
+ description?: string;
6
+ }
7
+ export type StepStatus = 'completed' | 'current' | 'pending';
8
+ export interface StepsProps {
9
+ steps: StepItem[];
10
+ /** Índice del paso actual (0-based). Los anteriores quedan 'completed'. */
11
+ current: number;
12
+ /** @default 'horizontal' */
13
+ orientation?: 'horizontal' | 'vertical';
14
+ /**
15
+ * Qué muestra el círculo de un paso ya completado: un check, o su número.
16
+ * @default 'check'
17
+ */
18
+ completedIndicator?: 'check' | 'number';
19
+ /** Si se pasa, cada paso es tocable y reporta su índice. */
20
+ onStepPress?: (index: number) => void;
21
+ style?: StyleProp<ViewStyle>;
22
+ }
23
+ /**
24
+ * Steps
25
+ * Indicador de progreso multi-paso. Base visual de `Wizard`, pero utilizable
26
+ * suelto para mostrar el avance de un flujo que se navega de otra forma.
27
+ */
28
+ export declare const Steps: React.MemoExoticComponent<({ steps, current, orientation, completedIndicator, onStepPress, style }: StepsProps) => React.JSX.Element>;
29
+ //# sourceMappingURL=Steps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Steps.d.ts","sourceRoot":"","sources":["../../../src/molecules/Steps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAAgC,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAK5F,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;AAE7D,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IACxC,4DAA4D;IAC5D,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AA4CD;;;;GAIG;AACH,eAAO,MAAM,KAAK,sGACmF,UAAU,uBAuH9G,CAAC"}
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import { type StyleProp, type ViewStyle } from 'react-native';
3
+ import { type ThemeMode } from '../theme/UIProvider';
4
+ export interface ThemeToggleProps {
5
+ style?: StyleProp<ViewStyle>;
6
+ labels?: Partial<Record<ThemeMode, string>>;
7
+ }
8
+ /**
9
+ * ThemeToggle
10
+ * Segmented control de 3 estados (system/light/dark) conectado a
11
+ * UIProvider.setMode. Sin persistencia — el consumidor la resuelve vía
12
+ * onModeChange en <UIProvider>.
13
+ */
14
+ export declare const ThemeToggle: React.MemoExoticComponent<({ style, labels: labelOverrides }: ThemeToggleProps) => React.JSX.Element>;
15
+ //# sourceMappingURL=ThemeToggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeToggle.d.ts","sourceRoot":"","sources":["../../../src/molecules/ThemeToggle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAAgC,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAE5F,OAAO,EAAgD,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEnG,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;CAC7C;AAuBD;;;;;GAKG;AACH,eAAO,MAAM,WAAW,gEAA4C,gBAAgB,uBA4BlF,CAAC"}