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,178 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Select = Select;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _createStyles = require("../theme/createStyles");
10
+ var _UIProvider = require("../theme/UIProvider");
11
+ var _Icon = require("../icons/Icon");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
14
+ const useStyles = (0, _createStyles.createStyles)(theme => ({
15
+ container: {
16
+ gap: theme.tokens.spacing.sm
17
+ },
18
+ containerOpen: {
19
+ zIndex: 20,
20
+ elevation: 20
21
+ },
22
+ label: {
23
+ fontWeight: theme.tokens.fontWeight.bold,
24
+ fontSize: theme.tokens.fontSize.md,
25
+ color: theme.colors.text
26
+ },
27
+ required: {
28
+ color: theme.colors.error
29
+ },
30
+ field: {
31
+ flexDirection: 'row',
32
+ alignItems: 'center',
33
+ justifyContent: 'space-between',
34
+ borderWidth: 2,
35
+ borderColor: theme.colors.border,
36
+ borderRadius: theme.tokens.radius.lg,
37
+ backgroundColor: theme.colors.inputBackground,
38
+ minHeight: 50,
39
+ paddingHorizontal: theme.tokens.spacing.lg
40
+ },
41
+ fieldText: {
42
+ fontSize: theme.tokens.fontSize.lg,
43
+ color: theme.colors.text
44
+ },
45
+ fieldPlaceholder: {
46
+ color: theme.colors.textLight
47
+ },
48
+ optionsList: {
49
+ position: 'absolute',
50
+ top: '100%',
51
+ left: 0,
52
+ right: 0,
53
+ marginTop: theme.tokens.spacing.sm,
54
+ borderWidth: 2,
55
+ borderColor: theme.colors.border,
56
+ borderRadius: theme.tokens.radius.lg,
57
+ backgroundColor: theme.colors.surface,
58
+ overflow: 'hidden',
59
+ zIndex: 20,
60
+ elevation: 20,
61
+ ...theme.tokens.shadow.md
62
+ },
63
+ optionRow: {
64
+ flexDirection: 'row',
65
+ alignItems: 'center',
66
+ justifyContent: 'space-between',
67
+ paddingHorizontal: theme.tokens.spacing.lg,
68
+ paddingVertical: theme.tokens.spacing.md + 2,
69
+ borderBottomWidth: 1,
70
+ borderBottomColor: theme.colors.border
71
+ },
72
+ optionRowLast: {
73
+ borderBottomWidth: 0
74
+ },
75
+ optionRowSelected: {
76
+ backgroundColor: theme.colors.primary + '15'
77
+ },
78
+ optionText: {
79
+ fontSize: theme.tokens.fontSize.lg - 1,
80
+ color: theme.colors.text
81
+ },
82
+ optionTextSelected: {
83
+ fontWeight: theme.tokens.fontWeight.semibold,
84
+ color: theme.colors.primary
85
+ },
86
+ errorText: {
87
+ fontSize: theme.tokens.fontSize.sm,
88
+ color: theme.colors.error
89
+ }
90
+ }));
91
+
92
+ /**
93
+ * Select
94
+ * Dropdown que expande la lista de opciones flotando sobre el resto del
95
+ * contenido (position: absolute), en vez de empujarlo hacia abajo o abrir
96
+ * un picker nativo del sistema.
97
+ */
98
+ function Select({
99
+ label,
100
+ required = false,
101
+ options,
102
+ selectedValue,
103
+ onSelect,
104
+ placeholder,
105
+ error,
106
+ isLoading = false,
107
+ containerStyle
108
+ }) {
109
+ const colors = (0, _UIProvider.useColors)();
110
+ const styles = useStyles();
111
+ const labels = (0, _UIProvider.useLabels)();
112
+ const allowFontScaling = (0, _UIProvider.useAllowFontScaling)();
113
+ const [open, setOpen] = (0, _react.useState)(false);
114
+ const selectedOption = options.find(o => o.value === selectedValue);
115
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
116
+ style: [styles.container, open && styles.containerOpen, containerStyle],
117
+ children: [label && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
118
+ allowFontScaling: allowFontScaling,
119
+ style: styles.label,
120
+ children: [label, required && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
121
+ style: styles.required,
122
+ children: " *"
123
+ })]
124
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
125
+ style: styles.field,
126
+ onPress: () => !isLoading && setOpen(o => !o),
127
+ disabled: isLoading,
128
+ accessibilityRole: "button",
129
+ accessibilityLabel: label ?? placeholder ?? labels.selectPlaceholder,
130
+ accessibilityState: {
131
+ expanded: open,
132
+ disabled: isLoading
133
+ },
134
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
135
+ allowFontScaling: allowFontScaling,
136
+ style: [styles.fieldText, !selectedOption && styles.fieldPlaceholder],
137
+ children: selectedOption?.label || placeholder || labels.selectPlaceholder
138
+ }), isLoading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
139
+ size: "small",
140
+ color: colors.primary
141
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.Icon, {
142
+ name: open ? 'chevron-up' : 'chevron-down',
143
+ size: 20,
144
+ color: colors.textLight
145
+ })]
146
+ }), open && !isLoading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
147
+ style: styles.optionsList,
148
+ children: options.map((option, index) => {
149
+ const isSelected = option.value === selectedValue;
150
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
151
+ style: [styles.optionRow, index === options.length - 1 && styles.optionRowLast, isSelected && styles.optionRowSelected],
152
+ onPress: () => {
153
+ onSelect(option.value);
154
+ setOpen(false);
155
+ },
156
+ accessibilityRole: "menuitem",
157
+ accessibilityState: {
158
+ selected: isSelected
159
+ },
160
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
161
+ allowFontScaling: allowFontScaling,
162
+ style: [styles.optionText, isSelected && styles.optionTextSelected],
163
+ children: option.label
164
+ }), isSelected && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.Icon, {
165
+ name: "check",
166
+ size: 18,
167
+ color: colors.primary
168
+ })]
169
+ }, String(option.value));
170
+ })
171
+ }), !!error && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
172
+ allowFontScaling: allowFontScaling,
173
+ style: styles.errorText,
174
+ children: error
175
+ })]
176
+ });
177
+ }
178
+ //# sourceMappingURL=Select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_createStyles","_UIProvider","_Icon","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useStyles","createStyles","theme","container","gap","tokens","spacing","sm","containerOpen","zIndex","elevation","label","fontWeight","bold","fontSize","md","color","colors","text","required","error","field","flexDirection","alignItems","justifyContent","borderWidth","borderColor","border","borderRadius","radius","lg","backgroundColor","inputBackground","minHeight","paddingHorizontal","fieldText","fieldPlaceholder","textLight","optionsList","position","top","left","right","marginTop","surface","overflow","shadow","optionRow","paddingVertical","borderBottomWidth","borderBottomColor","optionRowLast","optionRowSelected","primary","optionText","optionTextSelected","semibold","errorText","Select","options","selectedValue","onSelect","placeholder","isLoading","containerStyle","useColors","styles","labels","useLabels","allowFontScaling","useAllowFontScaling","open","setOpen","useState","selectedOption","find","value","jsxs","View","style","children","Text","jsx","Pressable","onPress","disabled","accessibilityRole","accessibilityLabel","selectPlaceholder","accessibilityState","expanded","ActivityIndicator","size","Icon","name","map","option","index","isSelected","length","selected","String"],"sourceRoot":"../../../src","sources":["organisms/Select.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,157 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Toast = exports.AnimatedToast = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _createStyles = require("../theme/createStyles");
10
+ var _UIProvider = require("../theme/UIProvider");
11
+ var _Icon = require("../icons/Icon");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
14
+ const ICON_BY_VARIANT = {
15
+ success: 'check',
16
+ error: 'alert',
17
+ warning: 'warning',
18
+ info: 'info'
19
+ };
20
+ const useStyles = (0, _createStyles.createStyles)(theme => ({
21
+ container: {
22
+ flexDirection: 'row',
23
+ alignItems: 'center',
24
+ gap: theme.tokens.spacing.md,
25
+ backgroundColor: theme.colors.surface,
26
+ borderRadius: theme.tokens.radius.lg,
27
+ borderWidth: 1,
28
+ borderColor: theme.colors.border,
29
+ paddingVertical: theme.tokens.spacing.md,
30
+ paddingHorizontal: theme.tokens.spacing.lg,
31
+ ...theme.tokens.shadow.lg
32
+ },
33
+ accent: {
34
+ position: 'absolute',
35
+ left: 0,
36
+ top: 0,
37
+ bottom: 0,
38
+ width: 4,
39
+ borderTopLeftRadius: theme.tokens.radius.lg,
40
+ borderBottomLeftRadius: theme.tokens.radius.lg
41
+ },
42
+ text: {
43
+ flex: 1,
44
+ gap: 2
45
+ },
46
+ title: {
47
+ fontSize: theme.tokens.fontSize.md,
48
+ fontWeight: theme.tokens.fontWeight.semibold,
49
+ color: theme.colors.text
50
+ },
51
+ message: {
52
+ fontSize: theme.tokens.fontSize.sm,
53
+ color: theme.colors.textLight,
54
+ lineHeight: theme.tokens.lineHeight.sm
55
+ }
56
+ }));
57
+
58
+ /**
59
+ * Toast
60
+ * Notificación efímera. Normalmente no se usa directo: `ToastProvider` +
61
+ * `useToast()` la montan y la descartan por vos. Se expone igual por si
62
+ * querés colocarla vos mismo dentro de una pantalla concreta.
63
+ */
64
+ const Toast = exports.Toast = /*#__PURE__*/(0, _react.memo)(({
65
+ title,
66
+ message,
67
+ variant = 'info',
68
+ onPress,
69
+ onDismiss,
70
+ hideCloseButton,
71
+ style,
72
+ testID
73
+ }) => {
74
+ const colors = (0, _UIProvider.useColors)();
75
+ const styles = useStyles();
76
+ const allowFontScaling = (0, _UIProvider.useAllowFontScaling)();
77
+ const accentColor = {
78
+ success: colors.success,
79
+ error: colors.error,
80
+ warning: colors.warning,
81
+ info: colors.secondary
82
+ };
83
+ const body = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
84
+ style: [styles.container, style],
85
+ testID: testID,
86
+ accessibilityRole: "alert",
87
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
88
+ style: [styles.accent, {
89
+ backgroundColor: accentColor[variant]
90
+ }]
91
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.Icon, {
92
+ name: ICON_BY_VARIANT[variant],
93
+ size: 22,
94
+ color: accentColor[variant]
95
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
96
+ style: styles.text,
97
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
98
+ allowFontScaling: allowFontScaling,
99
+ style: styles.title,
100
+ children: title
101
+ }), !!message && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
102
+ allowFontScaling: allowFontScaling,
103
+ style: styles.message,
104
+ children: message
105
+ })]
106
+ }), !hideCloseButton && !!onDismiss && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
107
+ onPress: onDismiss,
108
+ accessibilityRole: "button",
109
+ accessibilityLabel: "Dismiss",
110
+ hitSlop: 8,
111
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.Icon, {
112
+ name: "close",
113
+ size: 18,
114
+ color: colors.textLight
115
+ })
116
+ })]
117
+ });
118
+ if (!onPress) return body;
119
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
120
+ onPress: onPress,
121
+ accessibilityRole: "button",
122
+ accessibilityLabel: title,
123
+ children: body
124
+ });
125
+ });
126
+ Toast.displayName = 'Toast';
127
+
128
+ /** Envuelve un Toast con su animación de entrada/salida. Uso interno del provider. */
129
+ const AnimatedToast = exports.AnimatedToast = /*#__PURE__*/(0, _react.memo)(({
130
+ children,
131
+ onHeight
132
+ }) => {
133
+ const progress = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
134
+ (0, _react.useEffect)(() => {
135
+ _reactNative.Animated.spring(progress, {
136
+ toValue: 1,
137
+ useNativeDriver: true,
138
+ speed: 14,
139
+ bounciness: 4
140
+ }).start();
141
+ }, [progress]);
142
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
143
+ onLayout: e => onHeight?.(e.nativeEvent.layout.height),
144
+ style: {
145
+ opacity: progress,
146
+ transform: [{
147
+ translateY: progress.interpolate({
148
+ inputRange: [0, 1],
149
+ outputRange: [-16, 0]
150
+ })
151
+ }]
152
+ },
153
+ children: children
154
+ });
155
+ });
156
+ AnimatedToast.displayName = 'AnimatedToast';
157
+ //# sourceMappingURL=Toast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_createStyles","_UIProvider","_Icon","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ICON_BY_VARIANT","success","error","warning","info","useStyles","createStyles","theme","container","flexDirection","alignItems","gap","tokens","spacing","md","backgroundColor","colors","surface","borderRadius","radius","lg","borderWidth","borderColor","border","paddingVertical","paddingHorizontal","shadow","accent","position","left","top","bottom","width","borderTopLeftRadius","borderBottomLeftRadius","text","flex","title","fontSize","fontWeight","semibold","color","message","sm","textLight","lineHeight","Toast","exports","memo","variant","onPress","onDismiss","hideCloseButton","style","testID","useColors","styles","allowFontScaling","useAllowFontScaling","accentColor","secondary","body","jsxs","View","accessibilityRole","children","jsx","Icon","name","size","Text","Pressable","accessibilityLabel","hitSlop","displayName","AnimatedToast","onHeight","progress","useRef","Animated","Value","current","useEffect","spring","toValue","useNativeDriver","speed","bounciness","start","onLayout","nativeEvent","layout","height","opacity","transform","translateY","interpolate","inputRange","outputRange"],"sourceRoot":"../../../src","sources":["organisms/Toast.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ToastProvider = ToastProvider;
7
+ exports.useToast = useToast;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _reactNative = require("react-native");
10
+ var _Toast = require("./Toast");
11
+ var _UIProvider = require("../theme/UIProvider");
12
+ var _createStyles = require("../theme/createStyles");
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
15
+ const ToastContext = /*#__PURE__*/(0, _react.createContext)(undefined);
16
+ const useStyles = (0, _createStyles.createStyles)(theme => ({
17
+ host: {
18
+ position: 'absolute',
19
+ left: 0,
20
+ right: 0,
21
+ paddingHorizontal: theme.tokens.spacing.lg,
22
+ gap: theme.tokens.spacing.sm
23
+ }
24
+ }));
25
+ /**
26
+ * ToastProvider
27
+ * Monta la capa de toasts sobre el resto de la app. Colocar una vez cerca de
28
+ * la raíz, dentro de UIProvider. Los timers de auto-dismiss se limpian al
29
+ * desmontar y al cerrar cada toast, así que no quedan callbacks colgados.
30
+ */
31
+ function ToastProvider({
32
+ children,
33
+ position = 'top',
34
+ maxVisible = 3,
35
+ defaultDuration = 4000
36
+ }) {
37
+ const [toasts, setToasts] = (0, _react.useState)([]);
38
+ const timers = (0, _react.useRef)(new Map());
39
+ const counter = (0, _react.useRef)(0);
40
+ const insets = (0, _UIProvider.useInsets)();
41
+ const styles = useStyles();
42
+ const clearTimer = (0, _react.useCallback)(id => {
43
+ const t = timers.current.get(id);
44
+ if (t) {
45
+ clearTimeout(t);
46
+ timers.current.delete(id);
47
+ }
48
+ }, []);
49
+ const hide = (0, _react.useCallback)(id => {
50
+ clearTimer(id);
51
+ setToasts(prev => prev.filter(t => t.id !== id));
52
+ }, [clearTimer]);
53
+ const hideAll = (0, _react.useCallback)(() => {
54
+ timers.current.forEach(t => clearTimeout(t));
55
+ timers.current.clear();
56
+ setToasts([]);
57
+ }, []);
58
+ const show = (0, _react.useCallback)(options => {
59
+ counter.current += 1;
60
+ const id = `toast-${counter.current}`;
61
+ const duration = options.duration ?? defaultDuration;
62
+ setToasts(prev => {
63
+ const next = [...prev, {
64
+ ...options,
65
+ id
66
+ }];
67
+ // Se descartan los más viejos, no los recién llegados: un toast nuevo
68
+ // siempre se ve.
69
+ const overflow = next.length - maxVisible;
70
+ if (overflow > 0) {
71
+ next.slice(0, overflow).forEach(t => clearTimer(t.id));
72
+ return next.slice(overflow);
73
+ }
74
+ return next;
75
+ });
76
+ if (duration > 0) {
77
+ timers.current.set(id, setTimeout(() => hide(id), duration));
78
+ }
79
+ return id;
80
+ }, [defaultDuration, maxVisible, hide, clearTimer]);
81
+
82
+ // Al desmontar el provider no debe quedar ningún setTimeout apuntando a un
83
+ // setState de un árbol ya desmontado.
84
+ (0, _react.useEffect)(() => {
85
+ const pending = timers.current;
86
+ return () => {
87
+ pending.forEach(t => clearTimeout(t));
88
+ pending.clear();
89
+ };
90
+ }, []);
91
+ const value = (0, _react.useMemo)(() => ({
92
+ show,
93
+ hide,
94
+ hideAll
95
+ }), [show, hide, hideAll]);
96
+ const hostPosition = position === 'top' ? {
97
+ top: insets.top + 8
98
+ } : {
99
+ bottom: insets.bottom + 8,
100
+ flexDirection: 'column-reverse'
101
+ };
102
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(ToastContext.Provider, {
103
+ value: value,
104
+ children: [children, toasts.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
105
+ style: [styles.host, hostPosition],
106
+ pointerEvents: "box-none",
107
+ testID: "toast-host",
108
+ children: toasts.map(t => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Toast.AnimatedToast, {
109
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Toast.Toast, {
110
+ title: t.title,
111
+ message: t.message,
112
+ variant: t.variant,
113
+ hideCloseButton: t.hideCloseButton,
114
+ onDismiss: () => hide(t.id),
115
+ onPress: t.onPress ? () => {
116
+ t.onPress?.();
117
+ hide(t.id);
118
+ } : undefined
119
+ })
120
+ }, t.id))
121
+ })]
122
+ });
123
+ }
124
+ function useToast() {
125
+ const ctx = (0, _react.useContext)(ToastContext);
126
+ if (!ctx) {
127
+ throw new Error('orn-ui: useToast must be used within a <ToastProvider>.');
128
+ }
129
+ return ctx;
130
+ }
131
+ //# sourceMappingURL=ToastProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_Toast","_UIProvider","_createStyles","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ToastContext","createContext","undefined","useStyles","createStyles","theme","host","position","left","right","paddingHorizontal","tokens","spacing","lg","gap","sm","ToastProvider","children","maxVisible","defaultDuration","toasts","setToasts","useState","timers","useRef","Map","counter","insets","useInsets","styles","clearTimer","useCallback","id","current","clearTimeout","delete","hide","prev","filter","hideAll","forEach","clear","show","options","duration","next","overflow","length","slice","setTimeout","useEffect","pending","value","useMemo","hostPosition","top","bottom","flexDirection","jsxs","Provider","jsx","View","style","pointerEvents","testID","map","AnimatedToast","Toast","title","message","variant","hideCloseButton","onDismiss","onPress","useToast","ctx","useContext","Error"],"sourceRoot":"../../../src","sources":["organisms/ToastProvider.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Wizard = Wizard;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _createStyles = require("../theme/createStyles");
10
+ var _Steps = require("../molecules/Steps");
11
+ var _Button = require("../atoms/Button");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
14
+ const useStyles = (0, _createStyles.createStyles)(theme => ({
15
+ container: {
16
+ flex: 1,
17
+ gap: theme.tokens.spacing.xl
18
+ },
19
+ content: {
20
+ flex: 1
21
+ },
22
+ contentInner: {
23
+ flexGrow: 1,
24
+ paddingBottom: theme.tokens.spacing.sm
25
+ },
26
+ footer: {
27
+ flexDirection: 'row',
28
+ gap: theme.tokens.spacing.md
29
+ },
30
+ footerButton: {
31
+ flex: 1
32
+ }
33
+ }));
34
+
35
+ /**
36
+ * Wizard
37
+ * Flujo multi-paso: indicador (Steps) + contenido del paso actual + barra de
38
+ * navegación. Funciona controlado (`current` + `onStepChange`) o por su
39
+ * cuenta. `canGoNext: false` en un paso deshabilita el avance, que es donde
40
+ * se engancha la validación del formulario de ese paso.
41
+ */
42
+ function Wizard({
43
+ steps,
44
+ current: controlledCurrent,
45
+ onStepChange,
46
+ onFinish,
47
+ orientation = 'horizontal',
48
+ completedIndicator = 'check',
49
+ allowStepNavigation = true,
50
+ backLabel = 'Back',
51
+ nextLabel = 'Next',
52
+ finishLabel = 'Finish',
53
+ scrollableContent = true,
54
+ style
55
+ }) {
56
+ const styles = useStyles();
57
+ const [uncontrolled, setUncontrolled] = (0, _react.useState)(0);
58
+ const isControlled = controlledCurrent !== undefined;
59
+ const current = isControlled ? controlledCurrent : uncontrolled;
60
+ const goTo = (0, _react.useCallback)(index => {
61
+ const clamped = Math.max(0, Math.min(index, steps.length - 1));
62
+ if (!isControlled) setUncontrolled(clamped);
63
+ onStepChange?.(clamped);
64
+ }, [isControlled, onStepChange, steps.length]);
65
+ const stepItems = (0, _react.useMemo)(() => steps.map(({
66
+ label,
67
+ description
68
+ }) => ({
69
+ label,
70
+ description
71
+ })), [steps]);
72
+ const activeStep = steps[current];
73
+ const isFirst = current === 0;
74
+ const isLast = current === steps.length - 1;
75
+ const canGoNext = activeStep?.canGoNext !== false;
76
+ const handleNext = () => {
77
+ if (isLast) onFinish?.();else goTo(current + 1);
78
+ };
79
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
80
+ style: [styles.container, style],
81
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Steps.Steps, {
82
+ steps: stepItems,
83
+ current: current,
84
+ orientation: orientation,
85
+ completedIndicator: completedIndicator
86
+ // Sólo se puede volver atrás tocando el indicador; saltar hacia
87
+ // adelante se saltearía la validación de los pasos intermedios.
88
+ ,
89
+ onStepPress: allowStepNavigation ? index => index < current && goTo(index) : undefined
90
+ }), scrollableContent ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
91
+ style: styles.content,
92
+ contentContainerStyle: styles.contentInner,
93
+ keyboardShouldPersistTaps: "handled",
94
+ automaticallyAdjustKeyboardInsets: true,
95
+ showsVerticalScrollIndicator: false,
96
+ children: activeStep?.content
97
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
98
+ style: styles.content,
99
+ children: activeStep?.content
100
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
101
+ style: styles.footer,
102
+ children: [!isFirst && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.Button, {
103
+ title: backLabel,
104
+ variant: "outline",
105
+ onPress: () => goTo(current - 1),
106
+ style: styles.footerButton
107
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.Button, {
108
+ title: isLast ? finishLabel : nextLabel,
109
+ onPress: handleNext,
110
+ disabled: !canGoNext,
111
+ style: styles.footerButton
112
+ })]
113
+ })]
114
+ });
115
+ }
116
+ //# sourceMappingURL=Wizard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_createStyles","_Steps","_Button","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useStyles","createStyles","theme","container","flex","gap","tokens","spacing","xl","content","contentInner","flexGrow","paddingBottom","sm","footer","flexDirection","md","footerButton","Wizard","steps","current","controlledCurrent","onStepChange","onFinish","orientation","completedIndicator","allowStepNavigation","backLabel","nextLabel","finishLabel","scrollableContent","style","styles","uncontrolled","setUncontrolled","useState","isControlled","undefined","goTo","useCallback","index","clamped","Math","max","min","length","stepItems","useMemo","map","label","description","activeStep","isFirst","isLast","canGoNext","handleNext","jsxs","View","children","jsx","Steps","onStepPress","ScrollView","contentContainerStyle","keyboardShouldPersistTaps","automaticallyAdjustKeyboardInsets","showsVerticalScrollIndicator","Button","title","variant","onPress","disabled"],"sourceRoot":"../../../src","sources":["organisms/Wizard.tsx"],"mappings":"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","ignoreList":[]}