@cdx-ui/components 0.0.1-beta.1 → 0.0.1-beta.100

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 (1078) hide show
  1. package/README.md +37 -19
  2. package/lib/commonjs/animation/hooks/index.js +17 -0
  3. package/lib/commonjs/animation/hooks/index.js.map +1 -0
  4. package/lib/commonjs/animation/hooks/useCombinedAnimationDisabledState.js +50 -0
  5. package/lib/commonjs/animation/hooks/useCombinedAnimationDisabledState.js.map +1 -0
  6. package/lib/commonjs/animation/index.js +39 -0
  7. package/lib/commonjs/animation/index.js.map +1 -0
  8. package/lib/commonjs/animation/types.js +6 -0
  9. package/lib/commonjs/animation/types.js.map +1 -0
  10. package/lib/commonjs/animation/utils.js +223 -0
  11. package/lib/commonjs/animation/utils.js.map +1 -0
  12. package/lib/commonjs/components/Alert/index.js +263 -0
  13. package/lib/commonjs/components/Alert/index.js.map +1 -0
  14. package/lib/commonjs/components/Alert/styles.js +87 -0
  15. package/lib/commonjs/components/Alert/styles.js.map +1 -0
  16. package/lib/commonjs/components/AlertDialog/index.js +17 -14
  17. package/lib/commonjs/components/AlertDialog/index.js.map +1 -1
  18. package/lib/commonjs/components/Avatar/index.js +135 -26
  19. package/lib/commonjs/components/Avatar/index.js.map +1 -1
  20. package/lib/commonjs/components/Avatar/styles.js +36 -29
  21. package/lib/commonjs/components/Avatar/styles.js.map +1 -1
  22. package/lib/commonjs/components/Badge/index.js +86 -0
  23. package/lib/commonjs/components/Badge/index.js.map +1 -0
  24. package/lib/commonjs/components/Badge/styles.js +127 -0
  25. package/lib/commonjs/components/Badge/styles.js.map +1 -0
  26. package/lib/commonjs/components/BottomSheet/index.js +75 -27
  27. package/lib/commonjs/components/BottomSheet/index.js.map +1 -1
  28. package/lib/commonjs/components/BottomSheet/styles.js +8 -43
  29. package/lib/commonjs/components/BottomSheet/styles.js.map +1 -1
  30. package/lib/commonjs/components/Button/index.js +143 -29
  31. package/lib/commonjs/components/Button/index.js.map +1 -1
  32. package/lib/commonjs/components/Button/styles.js +94 -29
  33. package/lib/commonjs/components/Button/styles.js.map +1 -1
  34. package/lib/commonjs/components/CLAUDE.md +195 -0
  35. package/lib/commonjs/components/Card/index.js +62 -16
  36. package/lib/commonjs/components/Card/index.js.map +1 -1
  37. package/lib/commonjs/components/Card/styles.js +27 -5
  38. package/lib/commonjs/components/Card/styles.js.map +1 -1
  39. package/lib/commonjs/components/Checkbox/index.js +71 -48
  40. package/lib/commonjs/components/Checkbox/index.js.map +1 -1
  41. package/lib/commonjs/components/Checkbox/styles.js +41 -47
  42. package/lib/commonjs/components/Checkbox/styles.js.map +1 -1
  43. package/lib/commonjs/components/Chip/index.js +94 -17
  44. package/lib/commonjs/components/Chip/index.js.map +1 -1
  45. package/lib/commonjs/components/Chip/styles.js +178 -21
  46. package/lib/commonjs/components/Chip/styles.js.map +1 -1
  47. package/lib/commonjs/components/CurrencyInput/index.js +157 -0
  48. package/lib/commonjs/components/CurrencyInput/index.js.map +1 -0
  49. package/lib/commonjs/components/CurrencyInput/styles.js +31 -0
  50. package/lib/commonjs/components/CurrencyInput/styles.js.map +1 -0
  51. package/lib/commonjs/components/Dialog/index.js +140 -65
  52. package/lib/commonjs/components/Dialog/index.js.map +1 -1
  53. package/lib/commonjs/components/Dialog/styles.js +60 -14
  54. package/lib/commonjs/components/Dialog/styles.js.map +1 -1
  55. package/lib/commonjs/components/Divider/index.js +98 -0
  56. package/lib/commonjs/components/Divider/index.js.map +1 -0
  57. package/lib/commonjs/components/Divider/styles.js +75 -0
  58. package/lib/commonjs/components/Divider/styles.js.map +1 -0
  59. package/lib/commonjs/components/Field/index.js +77 -27
  60. package/lib/commonjs/components/Field/index.js.map +1 -1
  61. package/lib/commonjs/components/Field/styles.js +4 -4
  62. package/lib/commonjs/components/Field/styles.js.map +1 -1
  63. package/lib/commonjs/components/Form/index.js +5 -12
  64. package/lib/commonjs/components/Form/index.js.map +1 -1
  65. package/lib/commonjs/components/Heading/styles.js +1 -1
  66. package/lib/commonjs/components/Heading/styles.js.map +1 -1
  67. package/lib/commonjs/components/Icon/index.js +12 -5
  68. package/lib/commonjs/components/Icon/index.js.map +1 -1
  69. package/lib/commonjs/components/IconButton/index.js +11 -34
  70. package/lib/commonjs/components/IconButton/index.js.map +1 -1
  71. package/lib/commonjs/components/IconButton/styles.js +135 -10
  72. package/lib/commonjs/components/IconButton/styles.js.map +1 -1
  73. package/lib/commonjs/components/Input/index.js +50 -20
  74. package/lib/commonjs/components/Input/index.js.map +1 -1
  75. package/lib/commonjs/components/Input/styles.js +19 -6
  76. package/lib/commonjs/components/Input/styles.js.map +1 -1
  77. package/lib/commonjs/components/Link/index.js +35 -9
  78. package/lib/commonjs/components/Link/index.js.map +1 -1
  79. package/lib/commonjs/components/Link/styles.js +56 -6
  80. package/lib/commonjs/components/Link/styles.js.map +1 -1
  81. package/lib/commonjs/components/ListItem/index.js +336 -0
  82. package/lib/commonjs/components/ListItem/index.js.map +1 -0
  83. package/lib/commonjs/components/ListItem/styles.js +102 -0
  84. package/lib/commonjs/components/ListItem/styles.js.map +1 -0
  85. package/lib/commonjs/components/OtpInput/index.js +114 -36
  86. package/lib/commonjs/components/OtpInput/index.js.map +1 -1
  87. package/lib/commonjs/components/OtpInput/styles.js +9 -7
  88. package/lib/commonjs/components/OtpInput/styles.js.map +1 -1
  89. package/lib/commonjs/components/ProgressBar/index.js +8 -13
  90. package/lib/commonjs/components/ProgressBar/index.js.map +1 -1
  91. package/lib/commonjs/components/ProgressSegmented/index.js +24 -10
  92. package/lib/commonjs/components/ProgressSegmented/index.js.map +1 -1
  93. package/lib/commonjs/components/QuickActionButton/index.js +133 -0
  94. package/lib/commonjs/components/QuickActionButton/index.js.map +1 -0
  95. package/lib/commonjs/components/QuickActionButton/styles.js +17 -0
  96. package/lib/commonjs/components/QuickActionButton/styles.js.map +1 -0
  97. package/lib/commonjs/components/Radio/index.js +165 -0
  98. package/lib/commonjs/components/Radio/index.js.map +1 -0
  99. package/lib/commonjs/components/Radio/styles.js +31 -0
  100. package/lib/commonjs/components/Radio/styles.js.map +1 -0
  101. package/lib/commonjs/components/ScopedTheme/index.js +24 -0
  102. package/lib/commonjs/components/ScopedTheme/index.js.map +1 -0
  103. package/lib/commonjs/components/Select/index.js +111 -39
  104. package/lib/commonjs/components/Select/index.js.map +1 -1
  105. package/lib/commonjs/components/Select/styles.js +25 -20
  106. package/lib/commonjs/components/Select/styles.js.map +1 -1
  107. package/lib/commonjs/components/Skeleton/index.js +37 -0
  108. package/lib/commonjs/components/Skeleton/index.js.map +1 -0
  109. package/lib/commonjs/components/Skeleton/styles.js +9 -0
  110. package/lib/commonjs/components/Skeleton/styles.js.map +1 -0
  111. package/lib/commonjs/components/Switch/BaseSwitch.js +23 -13
  112. package/lib/commonjs/components/Switch/BaseSwitch.js.map +1 -1
  113. package/lib/commonjs/components/Switch/BaseSwitch.web.js +25 -21
  114. package/lib/commonjs/components/Switch/BaseSwitch.web.js.map +1 -1
  115. package/lib/commonjs/components/Switch/index.js +34 -3
  116. package/lib/commonjs/components/Switch/index.js.map +1 -1
  117. package/lib/commonjs/components/Text/styles.js +2 -2
  118. package/lib/commonjs/components/Text/styles.js.map +1 -1
  119. package/lib/commonjs/components/Textarea/index.js +135 -0
  120. package/lib/commonjs/components/Textarea/index.js.map +1 -0
  121. package/lib/commonjs/components/Textarea/styles.js +49 -0
  122. package/lib/commonjs/components/Textarea/styles.js.map +1 -0
  123. package/lib/commonjs/components/Tile/index.js +324 -0
  124. package/lib/commonjs/components/Tile/index.js.map +1 -0
  125. package/lib/commonjs/components/Tile/styles.js +52 -0
  126. package/lib/commonjs/components/Tile/styles.js.map +1 -0
  127. package/lib/commonjs/components/Toast/animation.js +329 -0
  128. package/lib/commonjs/components/Toast/animation.js.map +1 -0
  129. package/lib/commonjs/components/Toast/hooks.js +66 -0
  130. package/lib/commonjs/components/Toast/hooks.js.map +1 -0
  131. package/lib/commonjs/components/Toast/index.js +493 -0
  132. package/lib/commonjs/components/Toast/index.js.map +1 -0
  133. package/lib/commonjs/components/Toast/styles.js +141 -0
  134. package/lib/commonjs/components/Toast/styles.js.map +1 -0
  135. package/lib/commonjs/components/Toast/types.js +6 -0
  136. package/lib/commonjs/components/Toast/types.js.map +1 -0
  137. package/lib/commonjs/components/VirtualizedList/index.js.map +1 -1
  138. package/lib/commonjs/components/index.js +144 -0
  139. package/lib/commonjs/components/index.js.map +1 -1
  140. package/lib/commonjs/figma/Alert.Button.figma.js +31 -0
  141. package/lib/commonjs/figma/Alert.Button.figma.js.map +1 -0
  142. package/lib/commonjs/figma/Alert.Close.figma.js +24 -0
  143. package/lib/commonjs/figma/Alert.Close.figma.js.map +1 -0
  144. package/lib/commonjs/figma/Alert.Description.figma.js +20 -0
  145. package/lib/commonjs/figma/Alert.Description.figma.js.map +1 -0
  146. package/lib/commonjs/figma/Alert.Title.figma.js +20 -0
  147. package/lib/commonjs/figma/Alert.Title.figma.js.map +1 -0
  148. package/lib/commonjs/figma/Alert.figma.js +42 -0
  149. package/lib/commonjs/figma/Alert.figma.js.map +1 -0
  150. package/lib/commonjs/figma/AlertDialog.Description.figma.js +20 -0
  151. package/lib/commonjs/figma/AlertDialog.Description.figma.js.map +1 -0
  152. package/lib/commonjs/figma/AlertDialog.Footer.figma.js +41 -0
  153. package/lib/commonjs/figma/AlertDialog.Footer.figma.js.map +1 -0
  154. package/lib/commonjs/figma/AlertDialog.Header.figma.js +28 -0
  155. package/lib/commonjs/figma/AlertDialog.Header.figma.js.map +1 -0
  156. package/lib/commonjs/figma/AlertDialog.Text.figma.js +20 -0
  157. package/lib/commonjs/figma/AlertDialog.Text.figma.js.map +1 -0
  158. package/lib/commonjs/figma/AlertDialog.Title.figma.js +27 -0
  159. package/lib/commonjs/figma/AlertDialog.Title.figma.js.map +1 -0
  160. package/lib/commonjs/figma/AlertDialog.figma.js +43 -0
  161. package/lib/commonjs/figma/AlertDialog.figma.js.map +1 -0
  162. package/lib/commonjs/figma/Avatar.figma.js +57 -0
  163. package/lib/commonjs/figma/Avatar.figma.js.map +1 -0
  164. package/lib/commonjs/figma/Badge.Indicator.figma.js +47 -0
  165. package/lib/commonjs/figma/Badge.Indicator.figma.js.map +1 -0
  166. package/lib/commonjs/figma/Badge.figma.js +65 -0
  167. package/lib/commonjs/figma/Badge.figma.js.map +1 -0
  168. package/lib/commonjs/figma/BottomSheet.Footer.figma.js +31 -0
  169. package/lib/commonjs/figma/BottomSheet.Footer.figma.js.map +1 -0
  170. package/lib/commonjs/figma/BottomSheet.Header.figma.js +30 -0
  171. package/lib/commonjs/figma/BottomSheet.Header.figma.js.map +1 -0
  172. package/lib/commonjs/figma/BottomSheet.figma.js +54 -0
  173. package/lib/commonjs/figma/BottomSheet.figma.js.map +1 -0
  174. package/lib/commonjs/figma/Button.figma.js +66 -0
  175. package/lib/commonjs/figma/Button.figma.js.map +1 -0
  176. package/lib/commonjs/figma/CLAUDE.md +30 -0
  177. package/lib/commonjs/figma/Card.Header.figma.js +28 -0
  178. package/lib/commonjs/figma/Card.Header.figma.js.map +1 -0
  179. package/lib/commonjs/figma/Card.figma.js +42 -0
  180. package/lib/commonjs/figma/Card.figma.js.map +1 -0
  181. package/lib/commonjs/figma/Checkbox.figma.js +55 -0
  182. package/lib/commonjs/figma/Checkbox.figma.js.map +1 -0
  183. package/lib/commonjs/figma/Chip.figma.js +68 -0
  184. package/lib/commonjs/figma/Chip.figma.js.map +1 -0
  185. package/lib/commonjs/figma/Dialog.Description.figma.js +20 -0
  186. package/lib/commonjs/figma/Dialog.Description.figma.js.map +1 -0
  187. package/lib/commonjs/figma/Dialog.Footer.figma.js +30 -0
  188. package/lib/commonjs/figma/Dialog.Footer.figma.js.map +1 -0
  189. package/lib/commonjs/figma/Dialog.Header.figma.js +29 -0
  190. package/lib/commonjs/figma/Dialog.Header.figma.js.map +1 -0
  191. package/lib/commonjs/figma/Dialog.Text.figma.js +20 -0
  192. package/lib/commonjs/figma/Dialog.Text.figma.js.map +1 -0
  193. package/lib/commonjs/figma/Dialog.Title.figma.js +27 -0
  194. package/lib/commonjs/figma/Dialog.Title.figma.js.map +1 -0
  195. package/lib/commonjs/figma/Dialog.figma.js +51 -0
  196. package/lib/commonjs/figma/Dialog.figma.js.map +1 -0
  197. package/lib/commonjs/figma/Divider.figma.js +32 -0
  198. package/lib/commonjs/figma/Divider.figma.js.map +1 -0
  199. package/lib/commonjs/figma/Field.Input.figma.js +57 -0
  200. package/lib/commonjs/figma/Field.Input.figma.js.map +1 -0
  201. package/lib/commonjs/figma/Field.OtpInput.figma.js +52 -0
  202. package/lib/commonjs/figma/Field.OtpInput.figma.js.map +1 -0
  203. package/lib/commonjs/figma/Field.Select.figma.js +57 -0
  204. package/lib/commonjs/figma/Field.Select.figma.js.map +1 -0
  205. package/lib/commonjs/figma/Field.Textarea.figma.js +57 -0
  206. package/lib/commonjs/figma/Field.Textarea.figma.js.map +1 -0
  207. package/lib/commonjs/figma/Heading.figma.js +30 -0
  208. package/lib/commonjs/figma/Heading.figma.js.map +1 -0
  209. package/lib/commonjs/figma/Icon.figma.js +20 -0
  210. package/lib/commonjs/figma/Icon.figma.js.map +1 -0
  211. package/lib/commonjs/figma/IconButton.figma.js +47 -0
  212. package/lib/commonjs/figma/IconButton.figma.js.map +1 -0
  213. package/lib/commonjs/figma/Input.figma.js +52 -0
  214. package/lib/commonjs/figma/Input.figma.js.map +1 -0
  215. package/lib/commonjs/figma/Link.figma.js +30 -0
  216. package/lib/commonjs/figma/Link.figma.js.map +1 -0
  217. package/lib/commonjs/figma/ListItem.Description.figma.js +23 -0
  218. package/lib/commonjs/figma/ListItem.Description.figma.js.map +1 -0
  219. package/lib/commonjs/figma/ListItem.LeadingSlot.figma.js +24 -0
  220. package/lib/commonjs/figma/ListItem.LeadingSlot.figma.js.map +1 -0
  221. package/lib/commonjs/figma/ListItem.Meta.figma.js +23 -0
  222. package/lib/commonjs/figma/ListItem.Meta.figma.js.map +1 -0
  223. package/lib/commonjs/figma/ListItem.SectionHeader.figma.js +24 -0
  224. package/lib/commonjs/figma/ListItem.SectionHeader.figma.js.map +1 -0
  225. package/lib/commonjs/figma/ListItem.Title.figma.js +23 -0
  226. package/lib/commonjs/figma/ListItem.Title.figma.js.map +1 -0
  227. package/lib/commonjs/figma/ListItem.TrailingSlot.figma.js +24 -0
  228. package/lib/commonjs/figma/ListItem.TrailingSlot.figma.js.map +1 -0
  229. package/lib/commonjs/figma/ListItem.figma.js +50 -0
  230. package/lib/commonjs/figma/ListItem.figma.js.map +1 -0
  231. package/lib/commonjs/figma/OtpInput.Cell.figma.js +55 -0
  232. package/lib/commonjs/figma/OtpInput.Cell.figma.js.map +1 -0
  233. package/lib/commonjs/figma/OtpInput.figma.js +42 -0
  234. package/lib/commonjs/figma/OtpInput.figma.js.map +1 -0
  235. package/lib/commonjs/figma/ProgressSegmented.figma.js +39 -0
  236. package/lib/commonjs/figma/ProgressSegmented.figma.js.map +1 -0
  237. package/lib/commonjs/figma/QuickActionButton.figma.js +38 -0
  238. package/lib/commonjs/figma/QuickActionButton.figma.js.map +1 -0
  239. package/lib/commonjs/figma/Radio.figma.js +40 -0
  240. package/lib/commonjs/figma/Radio.figma.js.map +1 -0
  241. package/lib/commonjs/figma/Select.figma.js +53 -0
  242. package/lib/commonjs/figma/Select.figma.js.map +1 -0
  243. package/lib/commonjs/figma/Text.figma.js +32 -0
  244. package/lib/commonjs/figma/Text.figma.js.map +1 -0
  245. package/lib/commonjs/figma/Textarea.figma.js +47 -0
  246. package/lib/commonjs/figma/Textarea.figma.js.map +1 -0
  247. package/lib/commonjs/figma/icons.figma.batch.js +27 -0
  248. package/lib/commonjs/figma/icons.figma.batch.js.map +1 -0
  249. package/lib/commonjs/figma/icons.figma.batch.json +17705 -0
  250. package/lib/commonjs/globals.d.js +2 -0
  251. package/lib/commonjs/globals.d.js.map +1 -0
  252. package/lib/commonjs/hooks/index.js +19 -0
  253. package/lib/commonjs/hooks/index.js.map +1 -0
  254. package/lib/commonjs/hooks/useForgeBottomTabScreenOptions.js +246 -0
  255. package/lib/commonjs/hooks/useForgeBottomTabScreenOptions.js.map +1 -0
  256. package/lib/commonjs/index.js +39 -0
  257. package/lib/commonjs/index.js.map +1 -1
  258. package/lib/commonjs/metro/withCdxMetroConfig.js +7 -18
  259. package/lib/commonjs/metro/withCdxMetroConfig.js.map +1 -1
  260. package/lib/commonjs/metro/withForgeMetroConfig.js +24 -0
  261. package/lib/commonjs/metro/withForgeMetroConfig.js.map +1 -0
  262. package/lib/commonjs/navigation/forgeTabIcon.js +43 -0
  263. package/lib/commonjs/navigation/forgeTabIcon.js.map +1 -0
  264. package/lib/commonjs/navigation/forgeTabIcon.native.js +35 -0
  265. package/lib/commonjs/navigation/forgeTabIcon.native.js.map +1 -0
  266. package/lib/commonjs/navigation/index.js +13 -0
  267. package/lib/commonjs/navigation/index.js.map +1 -0
  268. package/lib/commonjs/navigation/types.js +38 -0
  269. package/lib/commonjs/navigation/types.js.map +1 -0
  270. package/lib/commonjs/providers/animation-settings/index.js +31 -0
  271. package/lib/commonjs/providers/animation-settings/index.js.map +1 -0
  272. package/lib/commonjs/providers/animation-settings/provider.js +59 -0
  273. package/lib/commonjs/providers/animation-settings/provider.js.map +1 -0
  274. package/lib/commonjs/providers/animation-settings/types.js +6 -0
  275. package/lib/commonjs/providers/animation-settings/types.js.map +1 -0
  276. package/lib/commonjs/providers/forge-design/index.js +29 -0
  277. package/lib/commonjs/providers/forge-design/index.js.map +1 -0
  278. package/lib/commonjs/providers/forge-design/provider.js +71 -0
  279. package/lib/commonjs/providers/forge-design/provider.js.map +1 -0
  280. package/lib/commonjs/providers/forge-design/types.js +6 -0
  281. package/lib/commonjs/providers/forge-design/types.js.map +1 -0
  282. package/lib/commonjs/providers/text-component/index.js +28 -0
  283. package/lib/commonjs/providers/text-component/index.js.map +1 -0
  284. package/lib/commonjs/providers/text-component/provider.js +11 -0
  285. package/lib/commonjs/providers/text-component/provider.js.map +1 -0
  286. package/lib/commonjs/providers/text-component/types.js +6 -0
  287. package/lib/commonjs/providers/text-component/types.js.map +1 -0
  288. package/lib/commonjs/providers/toast/index.js +33 -0
  289. package/lib/commonjs/providers/toast/index.js.map +1 -0
  290. package/lib/commonjs/providers/toast/insets-container.js +166 -0
  291. package/lib/commonjs/providers/toast/insets-container.js.map +1 -0
  292. package/lib/commonjs/providers/toast/lifecycle.context.js +36 -0
  293. package/lib/commonjs/providers/toast/lifecycle.context.js.map +1 -0
  294. package/lib/commonjs/providers/toast/provider.js +508 -0
  295. package/lib/commonjs/providers/toast/provider.js.map +1 -0
  296. package/lib/commonjs/providers/toast/reducer.js +46 -0
  297. package/lib/commonjs/providers/toast/reducer.js.map +1 -0
  298. package/lib/commonjs/providers/toast/toast-config.context.js +29 -0
  299. package/lib/commonjs/providers/toast/toast-config.context.js.map +1 -0
  300. package/lib/commonjs/providers/toast/toast-item-renderer.js +43 -0
  301. package/lib/commonjs/providers/toast/toast-item-renderer.js.map +1 -0
  302. package/lib/commonjs/providers/toast/types.js +6 -0
  303. package/lib/commonjs/providers/toast/types.js.map +1 -0
  304. package/lib/commonjs/styles/primitives.js +43 -7
  305. package/lib/commonjs/styles/primitives.js.map +1 -1
  306. package/lib/commonjs/styles.css +0 -5
  307. package/lib/commonjs/utils/positionToDataIcon.js +41 -0
  308. package/lib/commonjs/utils/positionToDataIcon.js.map +1 -0
  309. package/lib/module/animation/hooks/index.js +4 -0
  310. package/lib/module/animation/hooks/index.js.map +1 -0
  311. package/lib/module/animation/hooks/useCombinedAnimationDisabledState.js +47 -0
  312. package/lib/module/animation/hooks/useCombinedAnimationDisabledState.js.map +1 -0
  313. package/lib/module/animation/index.js +6 -0
  314. package/lib/module/animation/index.js.map +1 -0
  315. package/lib/module/animation/types.js +4 -0
  316. package/lib/module/animation/types.js.map +1 -0
  317. package/lib/module/animation/utils.js +212 -0
  318. package/lib/module/animation/utils.js.map +1 -0
  319. package/lib/module/components/Alert/index.js +259 -0
  320. package/lib/module/components/Alert/index.js.map +1 -0
  321. package/lib/module/components/Alert/styles.js +84 -0
  322. package/lib/module/components/Alert/styles.js.map +1 -0
  323. package/lib/module/components/AlertDialog/index.js +18 -15
  324. package/lib/module/components/AlertDialog/index.js.map +1 -1
  325. package/lib/module/components/Avatar/index.js +138 -29
  326. package/lib/module/components/Avatar/index.js.map +1 -1
  327. package/lib/module/components/Avatar/styles.js +36 -29
  328. package/lib/module/components/Avatar/styles.js.map +1 -1
  329. package/lib/module/components/Badge/index.js +83 -0
  330. package/lib/module/components/Badge/index.js.map +1 -0
  331. package/lib/module/components/Badge/styles.js +123 -0
  332. package/lib/module/components/Badge/styles.js.map +1 -0
  333. package/lib/module/components/BottomSheet/index.js +80 -32
  334. package/lib/module/components/BottomSheet/index.js.map +1 -1
  335. package/lib/module/components/BottomSheet/styles.js +7 -42
  336. package/lib/module/components/BottomSheet/styles.js.map +1 -1
  337. package/lib/module/components/Button/index.js +146 -33
  338. package/lib/module/components/Button/index.js.map +1 -1
  339. package/lib/module/components/Button/styles.js +93 -28
  340. package/lib/module/components/Button/styles.js.map +1 -1
  341. package/lib/module/components/CLAUDE.md +195 -0
  342. package/lib/module/components/Card/index.js +64 -17
  343. package/lib/module/components/Card/index.js.map +1 -1
  344. package/lib/module/components/Card/styles.js +27 -5
  345. package/lib/module/components/Card/styles.js.map +1 -1
  346. package/lib/module/components/Checkbox/index.js +75 -52
  347. package/lib/module/components/Checkbox/index.js.map +1 -1
  348. package/lib/module/components/Checkbox/styles.js +43 -48
  349. package/lib/module/components/Checkbox/styles.js.map +1 -1
  350. package/lib/module/components/Chip/index.js +98 -21
  351. package/lib/module/components/Chip/index.js.map +1 -1
  352. package/lib/module/components/Chip/styles.js +177 -20
  353. package/lib/module/components/Chip/styles.js.map +1 -1
  354. package/lib/module/components/CurrencyInput/index.js +154 -0
  355. package/lib/module/components/CurrencyInput/index.js.map +1 -0
  356. package/lib/module/components/CurrencyInput/styles.js +27 -0
  357. package/lib/module/components/CurrencyInput/styles.js.map +1 -0
  358. package/lib/module/components/Dialog/index.js +147 -72
  359. package/lib/module/components/Dialog/index.js.map +1 -1
  360. package/lib/module/components/Dialog/styles.js +60 -14
  361. package/lib/module/components/Dialog/styles.js.map +1 -1
  362. package/lib/module/components/Divider/index.js +94 -0
  363. package/lib/module/components/Divider/index.js.map +1 -0
  364. package/lib/module/components/Divider/styles.js +71 -0
  365. package/lib/module/components/Divider/styles.js.map +1 -0
  366. package/lib/module/components/Field/index.js +81 -32
  367. package/lib/module/components/Field/index.js.map +1 -1
  368. package/lib/module/components/Field/styles.js +4 -4
  369. package/lib/module/components/Field/styles.js.map +1 -1
  370. package/lib/module/components/Form/index.js +7 -14
  371. package/lib/module/components/Form/index.js.map +1 -1
  372. package/lib/module/components/Heading/styles.js +1 -1
  373. package/lib/module/components/Heading/styles.js.map +1 -1
  374. package/lib/module/components/Icon/index.js +12 -5
  375. package/lib/module/components/Icon/index.js.map +1 -1
  376. package/lib/module/components/IconButton/index.js +12 -35
  377. package/lib/module/components/IconButton/index.js.map +1 -1
  378. package/lib/module/components/IconButton/styles.js +135 -10
  379. package/lib/module/components/IconButton/styles.js.map +1 -1
  380. package/lib/module/components/Input/index.js +53 -23
  381. package/lib/module/components/Input/index.js.map +1 -1
  382. package/lib/module/components/Input/styles.js +19 -6
  383. package/lib/module/components/Input/styles.js.map +1 -1
  384. package/lib/module/components/Link/index.js +38 -11
  385. package/lib/module/components/Link/index.js.map +1 -1
  386. package/lib/module/components/Link/styles.js +55 -6
  387. package/lib/module/components/Link/styles.js.map +1 -1
  388. package/lib/module/components/ListItem/index.js +279 -0
  389. package/lib/module/components/ListItem/index.js.map +1 -0
  390. package/lib/module/components/ListItem/styles.js +99 -0
  391. package/lib/module/components/ListItem/styles.js.map +1 -0
  392. package/lib/module/components/OtpInput/index.js +114 -36
  393. package/lib/module/components/OtpInput/index.js.map +1 -1
  394. package/lib/module/components/OtpInput/styles.js +9 -7
  395. package/lib/module/components/OtpInput/styles.js.map +1 -1
  396. package/lib/module/components/ProgressBar/index.js +9 -14
  397. package/lib/module/components/ProgressBar/index.js.map +1 -1
  398. package/lib/module/components/ProgressSegmented/index.js +25 -11
  399. package/lib/module/components/ProgressSegmented/index.js.map +1 -1
  400. package/lib/module/components/QuickActionButton/index.js +129 -0
  401. package/lib/module/components/QuickActionButton/index.js.map +1 -0
  402. package/lib/module/components/QuickActionButton/styles.js +13 -0
  403. package/lib/module/components/QuickActionButton/styles.js.map +1 -0
  404. package/lib/module/components/Radio/index.js +161 -0
  405. package/lib/module/components/Radio/index.js.map +1 -0
  406. package/lib/module/components/Radio/styles.js +27 -0
  407. package/lib/module/components/Radio/styles.js.map +1 -0
  408. package/lib/module/components/ScopedTheme/index.js +19 -0
  409. package/lib/module/components/ScopedTheme/index.js.map +1 -0
  410. package/lib/module/components/Select/index.js +117 -45
  411. package/lib/module/components/Select/index.js.map +1 -1
  412. package/lib/module/components/Select/styles.js +26 -21
  413. package/lib/module/components/Select/styles.js.map +1 -1
  414. package/lib/module/components/Skeleton/index.js +32 -0
  415. package/lib/module/components/Skeleton/index.js.map +1 -0
  416. package/lib/module/components/Skeleton/styles.js +5 -0
  417. package/lib/module/components/Skeleton/styles.js.map +1 -0
  418. package/lib/module/components/Switch/BaseSwitch.js +24 -14
  419. package/lib/module/components/Switch/BaseSwitch.js.map +1 -1
  420. package/lib/module/components/Switch/BaseSwitch.web.js +26 -22
  421. package/lib/module/components/Switch/BaseSwitch.web.js.map +1 -1
  422. package/lib/module/components/Switch/index.js +35 -4
  423. package/lib/module/components/Switch/index.js.map +1 -1
  424. package/lib/module/components/Text/styles.js +2 -2
  425. package/lib/module/components/Text/styles.js.map +1 -1
  426. package/lib/module/components/Textarea/index.js +132 -0
  427. package/lib/module/components/Textarea/index.js.map +1 -0
  428. package/lib/module/components/Textarea/styles.js +45 -0
  429. package/lib/module/components/Textarea/styles.js.map +1 -0
  430. package/lib/module/components/Tile/index.js +315 -0
  431. package/lib/module/components/Tile/index.js.map +1 -0
  432. package/lib/module/components/Tile/styles.js +48 -0
  433. package/lib/module/components/Tile/styles.js.map +1 -0
  434. package/lib/module/components/Toast/animation.js +324 -0
  435. package/lib/module/components/Toast/animation.js.map +1 -0
  436. package/lib/module/components/Toast/hooks.js +61 -0
  437. package/lib/module/components/Toast/hooks.js.map +1 -0
  438. package/lib/module/components/Toast/index.js +487 -0
  439. package/lib/module/components/Toast/index.js.map +1 -0
  440. package/lib/module/components/Toast/styles.js +138 -0
  441. package/lib/module/components/Toast/styles.js.map +1 -0
  442. package/lib/module/components/Toast/types.js +4 -0
  443. package/lib/module/components/Toast/types.js.map +1 -0
  444. package/lib/module/components/VirtualizedList/index.js.map +1 -1
  445. package/lib/module/components/index.js +12 -0
  446. package/lib/module/components/index.js.map +1 -1
  447. package/lib/module/figma/Alert.Button.figma.js +25 -0
  448. package/lib/module/figma/Alert.Button.figma.js.map +1 -0
  449. package/lib/module/figma/Alert.Close.figma.js +18 -0
  450. package/lib/module/figma/Alert.Close.figma.js.map +1 -0
  451. package/lib/module/figma/Alert.Description.figma.js +14 -0
  452. package/lib/module/figma/Alert.Description.figma.js.map +1 -0
  453. package/lib/module/figma/Alert.Title.figma.js +14 -0
  454. package/lib/module/figma/Alert.Title.figma.js.map +1 -0
  455. package/lib/module/figma/Alert.figma.js +36 -0
  456. package/lib/module/figma/Alert.figma.js.map +1 -0
  457. package/lib/module/figma/AlertDialog.Description.figma.js +14 -0
  458. package/lib/module/figma/AlertDialog.Description.figma.js.map +1 -0
  459. package/lib/module/figma/AlertDialog.Footer.figma.js +35 -0
  460. package/lib/module/figma/AlertDialog.Footer.figma.js.map +1 -0
  461. package/lib/module/figma/AlertDialog.Header.figma.js +22 -0
  462. package/lib/module/figma/AlertDialog.Header.figma.js.map +1 -0
  463. package/lib/module/figma/AlertDialog.Text.figma.js +14 -0
  464. package/lib/module/figma/AlertDialog.Text.figma.js.map +1 -0
  465. package/lib/module/figma/AlertDialog.Title.figma.js +21 -0
  466. package/lib/module/figma/AlertDialog.Title.figma.js.map +1 -0
  467. package/lib/module/figma/AlertDialog.figma.js +37 -0
  468. package/lib/module/figma/AlertDialog.figma.js.map +1 -0
  469. package/lib/module/figma/Avatar.figma.js +51 -0
  470. package/lib/module/figma/Avatar.figma.js.map +1 -0
  471. package/lib/module/figma/Badge.Indicator.figma.js +41 -0
  472. package/lib/module/figma/Badge.Indicator.figma.js.map +1 -0
  473. package/lib/module/figma/Badge.figma.js +59 -0
  474. package/lib/module/figma/Badge.figma.js.map +1 -0
  475. package/lib/module/figma/BottomSheet.Footer.figma.js +25 -0
  476. package/lib/module/figma/BottomSheet.Footer.figma.js.map +1 -0
  477. package/lib/module/figma/BottomSheet.Header.figma.js +24 -0
  478. package/lib/module/figma/BottomSheet.Header.figma.js.map +1 -0
  479. package/lib/module/figma/BottomSheet.figma.js +48 -0
  480. package/lib/module/figma/BottomSheet.figma.js.map +1 -0
  481. package/lib/module/figma/Button.figma.js +60 -0
  482. package/lib/module/figma/Button.figma.js.map +1 -0
  483. package/lib/module/figma/CLAUDE.md +30 -0
  484. package/lib/module/figma/Card.Header.figma.js +22 -0
  485. package/lib/module/figma/Card.Header.figma.js.map +1 -0
  486. package/lib/module/figma/Card.figma.js +36 -0
  487. package/lib/module/figma/Card.figma.js.map +1 -0
  488. package/lib/module/figma/Checkbox.figma.js +49 -0
  489. package/lib/module/figma/Checkbox.figma.js.map +1 -0
  490. package/lib/module/figma/Chip.figma.js +62 -0
  491. package/lib/module/figma/Chip.figma.js.map +1 -0
  492. package/lib/module/figma/Dialog.Description.figma.js +14 -0
  493. package/lib/module/figma/Dialog.Description.figma.js.map +1 -0
  494. package/lib/module/figma/Dialog.Footer.figma.js +24 -0
  495. package/lib/module/figma/Dialog.Footer.figma.js.map +1 -0
  496. package/lib/module/figma/Dialog.Header.figma.js +23 -0
  497. package/lib/module/figma/Dialog.Header.figma.js.map +1 -0
  498. package/lib/module/figma/Dialog.Text.figma.js +14 -0
  499. package/lib/module/figma/Dialog.Text.figma.js.map +1 -0
  500. package/lib/module/figma/Dialog.Title.figma.js +21 -0
  501. package/lib/module/figma/Dialog.Title.figma.js.map +1 -0
  502. package/lib/module/figma/Dialog.figma.js +45 -0
  503. package/lib/module/figma/Dialog.figma.js.map +1 -0
  504. package/lib/module/figma/Divider.figma.js +26 -0
  505. package/lib/module/figma/Divider.figma.js.map +1 -0
  506. package/lib/module/figma/Field.Input.figma.js +51 -0
  507. package/lib/module/figma/Field.Input.figma.js.map +1 -0
  508. package/lib/module/figma/Field.OtpInput.figma.js +46 -0
  509. package/lib/module/figma/Field.OtpInput.figma.js.map +1 -0
  510. package/lib/module/figma/Field.Select.figma.js +51 -0
  511. package/lib/module/figma/Field.Select.figma.js.map +1 -0
  512. package/lib/module/figma/Field.Textarea.figma.js +51 -0
  513. package/lib/module/figma/Field.Textarea.figma.js.map +1 -0
  514. package/lib/module/figma/Heading.figma.js +24 -0
  515. package/lib/module/figma/Heading.figma.js.map +1 -0
  516. package/lib/module/figma/Icon.figma.js +14 -0
  517. package/lib/module/figma/Icon.figma.js.map +1 -0
  518. package/lib/module/figma/IconButton.figma.js +41 -0
  519. package/lib/module/figma/IconButton.figma.js.map +1 -0
  520. package/lib/module/figma/Input.figma.js +46 -0
  521. package/lib/module/figma/Input.figma.js.map +1 -0
  522. package/lib/module/figma/Link.figma.js +24 -0
  523. package/lib/module/figma/Link.figma.js.map +1 -0
  524. package/lib/module/figma/ListItem.Description.figma.js +17 -0
  525. package/lib/module/figma/ListItem.Description.figma.js.map +1 -0
  526. package/lib/module/figma/ListItem.LeadingSlot.figma.js +18 -0
  527. package/lib/module/figma/ListItem.LeadingSlot.figma.js.map +1 -0
  528. package/lib/module/figma/ListItem.Meta.figma.js +17 -0
  529. package/lib/module/figma/ListItem.Meta.figma.js.map +1 -0
  530. package/lib/module/figma/ListItem.SectionHeader.figma.js +18 -0
  531. package/lib/module/figma/ListItem.SectionHeader.figma.js.map +1 -0
  532. package/lib/module/figma/ListItem.Title.figma.js +17 -0
  533. package/lib/module/figma/ListItem.Title.figma.js.map +1 -0
  534. package/lib/module/figma/ListItem.TrailingSlot.figma.js +18 -0
  535. package/lib/module/figma/ListItem.TrailingSlot.figma.js.map +1 -0
  536. package/lib/module/figma/ListItem.figma.js +44 -0
  537. package/lib/module/figma/ListItem.figma.js.map +1 -0
  538. package/lib/module/figma/OtpInput.Cell.figma.js +49 -0
  539. package/lib/module/figma/OtpInput.Cell.figma.js.map +1 -0
  540. package/lib/module/figma/OtpInput.figma.js +36 -0
  541. package/lib/module/figma/OtpInput.figma.js.map +1 -0
  542. package/lib/module/figma/ProgressSegmented.figma.js +33 -0
  543. package/lib/module/figma/ProgressSegmented.figma.js.map +1 -0
  544. package/lib/module/figma/QuickActionButton.figma.js +32 -0
  545. package/lib/module/figma/QuickActionButton.figma.js.map +1 -0
  546. package/lib/module/figma/Radio.figma.js +34 -0
  547. package/lib/module/figma/Radio.figma.js.map +1 -0
  548. package/lib/module/figma/Select.figma.js +47 -0
  549. package/lib/module/figma/Select.figma.js.map +1 -0
  550. package/lib/module/figma/Text.figma.js +26 -0
  551. package/lib/module/figma/Text.figma.js.map +1 -0
  552. package/lib/module/figma/Textarea.figma.js +41 -0
  553. package/lib/module/figma/Textarea.figma.js.map +1 -0
  554. package/lib/module/figma/icons.figma.batch.js +22 -0
  555. package/lib/module/figma/icons.figma.batch.js.map +1 -0
  556. package/lib/module/figma/icons.figma.batch.json +17705 -0
  557. package/lib/module/globals.d.js +2 -0
  558. package/lib/module/globals.d.js.map +1 -0
  559. package/lib/module/hooks/index.js +4 -0
  560. package/lib/module/hooks/index.js.map +1 -0
  561. package/lib/module/hooks/useForgeBottomTabScreenOptions.js +242 -0
  562. package/lib/module/hooks/useForgeBottomTabScreenOptions.js.map +1 -0
  563. package/lib/module/index.js +3 -0
  564. package/lib/module/index.js.map +1 -1
  565. package/lib/module/metro/withCdxMetroConfig.js +3 -17
  566. package/lib/module/metro/withCdxMetroConfig.js.map +1 -1
  567. package/lib/module/metro/withForgeMetroConfig.js +20 -0
  568. package/lib/module/metro/withForgeMetroConfig.js.map +1 -0
  569. package/lib/module/navigation/forgeTabIcon.js +39 -0
  570. package/lib/module/navigation/forgeTabIcon.js.map +1 -0
  571. package/lib/module/navigation/forgeTabIcon.native.js +31 -0
  572. package/lib/module/navigation/forgeTabIcon.native.js.map +1 -0
  573. package/lib/module/navigation/index.js +4 -0
  574. package/lib/module/navigation/index.js.map +1 -0
  575. package/lib/module/navigation/types.js +36 -0
  576. package/lib/module/navigation/types.js.map +1 -0
  577. package/lib/module/providers/animation-settings/index.js +4 -0
  578. package/lib/module/providers/animation-settings/index.js.map +1 -0
  579. package/lib/module/providers/animation-settings/provider.js +52 -0
  580. package/lib/module/providers/animation-settings/provider.js.map +1 -0
  581. package/lib/module/providers/animation-settings/types.js +4 -0
  582. package/lib/module/providers/animation-settings/types.js.map +1 -0
  583. package/lib/module/providers/forge-design/index.js +5 -0
  584. package/lib/module/providers/forge-design/index.js.map +1 -0
  585. package/lib/module/providers/forge-design/provider.js +66 -0
  586. package/lib/module/providers/forge-design/provider.js.map +1 -0
  587. package/lib/module/providers/forge-design/types.js +4 -0
  588. package/lib/module/providers/forge-design/types.js.map +1 -0
  589. package/lib/module/providers/text-component/index.js +5 -0
  590. package/lib/module/providers/text-component/index.js.map +1 -0
  591. package/lib/module/providers/text-component/provider.js +6 -0
  592. package/lib/module/providers/text-component/provider.js.map +1 -0
  593. package/lib/module/providers/text-component/types.js +4 -0
  594. package/lib/module/providers/text-component/types.js.map +1 -0
  595. package/lib/module/providers/toast/index.js +6 -0
  596. package/lib/module/providers/toast/index.js.map +1 -0
  597. package/lib/module/providers/toast/insets-container.js +162 -0
  598. package/lib/module/providers/toast/insets-container.js.map +1 -0
  599. package/lib/module/providers/toast/lifecycle.context.js +32 -0
  600. package/lib/module/providers/toast/lifecycle.context.js.map +1 -0
  601. package/lib/module/providers/toast/provider.js +503 -0
  602. package/lib/module/providers/toast/provider.js.map +1 -0
  603. package/lib/module/providers/toast/reducer.js +42 -0
  604. package/lib/module/providers/toast/reducer.js.map +1 -0
  605. package/lib/module/providers/toast/toast-config.context.js +25 -0
  606. package/lib/module/providers/toast/toast-config.context.js.map +1 -0
  607. package/lib/module/providers/toast/toast-item-renderer.js +39 -0
  608. package/lib/module/providers/toast/toast-item-renderer.js.map +1 -0
  609. package/lib/module/providers/toast/types.js +4 -0
  610. package/lib/module/providers/toast/types.js.map +1 -0
  611. package/lib/module/styles/primitives.js +43 -7
  612. package/lib/module/styles/primitives.js.map +1 -1
  613. package/lib/module/styles.css +0 -5
  614. package/lib/module/utils/positionToDataIcon.js +38 -0
  615. package/lib/module/utils/positionToDataIcon.js.map +1 -0
  616. package/lib/typescript/animation/hooks/index.d.ts +2 -0
  617. package/lib/typescript/animation/hooks/index.d.ts.map +1 -0
  618. package/lib/typescript/animation/hooks/useCombinedAnimationDisabledState.d.ts +22 -0
  619. package/lib/typescript/animation/hooks/useCombinedAnimationDisabledState.d.ts.map +1 -0
  620. package/lib/typescript/animation/index.d.ts +4 -0
  621. package/lib/typescript/animation/index.d.ts.map +1 -0
  622. package/lib/typescript/animation/types.d.ts +105 -0
  623. package/lib/typescript/animation/types.d.ts.map +1 -0
  624. package/lib/typescript/animation/utils.d.ts +120 -0
  625. package/lib/typescript/animation/utils.d.ts.map +1 -0
  626. package/lib/typescript/components/Alert/index.d.ts +67 -0
  627. package/lib/typescript/components/Alert/index.d.ts.map +1 -0
  628. package/lib/typescript/components/Alert/styles.d.ts +19 -0
  629. package/lib/typescript/components/Alert/styles.d.ts.map +1 -0
  630. package/lib/typescript/components/AlertDialog/index.d.ts +3 -2
  631. package/lib/typescript/components/AlertDialog/index.d.ts.map +1 -1
  632. package/lib/typescript/components/Avatar/index.d.ts +14 -2
  633. package/lib/typescript/components/Avatar/index.d.ts.map +1 -1
  634. package/lib/typescript/components/Avatar/styles.d.ts +4 -4
  635. package/lib/typescript/components/Avatar/styles.d.ts.map +1 -1
  636. package/lib/typescript/components/Badge/index.d.ts +14 -0
  637. package/lib/typescript/components/Badge/index.d.ts.map +1 -0
  638. package/lib/typescript/components/Badge/styles.d.ts +18 -0
  639. package/lib/typescript/components/Badge/styles.d.ts.map +1 -0
  640. package/lib/typescript/components/BottomSheet/index.d.ts +2 -2
  641. package/lib/typescript/components/BottomSheet/index.d.ts.map +1 -1
  642. package/lib/typescript/components/BottomSheet/styles.d.ts +4 -8
  643. package/lib/typescript/components/BottomSheet/styles.d.ts.map +1 -1
  644. package/lib/typescript/components/Button/index.d.ts +44 -9
  645. package/lib/typescript/components/Button/index.d.ts.map +1 -1
  646. package/lib/typescript/components/Button/styles.d.ts +10 -7
  647. package/lib/typescript/components/Button/styles.d.ts.map +1 -1
  648. package/lib/typescript/components/Card/index.d.ts +8 -3
  649. package/lib/typescript/components/Card/index.d.ts.map +1 -1
  650. package/lib/typescript/components/Card/styles.d.ts +13 -3
  651. package/lib/typescript/components/Card/styles.d.ts.map +1 -1
  652. package/lib/typescript/components/Checkbox/index.d.ts +4 -3
  653. package/lib/typescript/components/Checkbox/index.d.ts.map +1 -1
  654. package/lib/typescript/components/Checkbox/styles.d.ts +4 -14
  655. package/lib/typescript/components/Checkbox/styles.d.ts.map +1 -1
  656. package/lib/typescript/components/Chip/index.d.ts +31 -8
  657. package/lib/typescript/components/Chip/index.d.ts.map +1 -1
  658. package/lib/typescript/components/Chip/styles.d.ts +12 -4
  659. package/lib/typescript/components/Chip/styles.d.ts.map +1 -1
  660. package/lib/typescript/components/CurrencyInput/index.d.ts +15 -0
  661. package/lib/typescript/components/CurrencyInput/index.d.ts.map +1 -0
  662. package/lib/typescript/components/CurrencyInput/styles.d.ts +9 -0
  663. package/lib/typescript/components/CurrencyInput/styles.d.ts.map +1 -0
  664. package/lib/typescript/components/Dialog/index.d.ts +25 -13
  665. package/lib/typescript/components/Dialog/index.d.ts.map +1 -1
  666. package/lib/typescript/components/Dialog/styles.d.ts +16 -5
  667. package/lib/typescript/components/Dialog/styles.d.ts.map +1 -1
  668. package/lib/typescript/components/Divider/index.d.ts +21 -0
  669. package/lib/typescript/components/Divider/index.d.ts.map +1 -0
  670. package/lib/typescript/components/Divider/styles.d.ts +12 -0
  671. package/lib/typescript/components/Divider/styles.d.ts.map +1 -0
  672. package/lib/typescript/components/Field/index.d.ts +14 -7
  673. package/lib/typescript/components/Field/index.d.ts.map +1 -1
  674. package/lib/typescript/components/Field/styles.d.ts.map +1 -1
  675. package/lib/typescript/components/Form/index.d.ts +4 -4
  676. package/lib/typescript/components/Form/index.d.ts.map +1 -1
  677. package/lib/typescript/components/Heading/styles.d.ts +1 -1
  678. package/lib/typescript/components/Heading/styles.d.ts.map +1 -1
  679. package/lib/typescript/components/Icon/index.d.ts +5 -5
  680. package/lib/typescript/components/Icon/index.d.ts.map +1 -1
  681. package/lib/typescript/components/IconButton/index.d.ts +3 -3
  682. package/lib/typescript/components/IconButton/index.d.ts.map +1 -1
  683. package/lib/typescript/components/IconButton/styles.d.ts +6 -2
  684. package/lib/typescript/components/IconButton/styles.d.ts.map +1 -1
  685. package/lib/typescript/components/Input/index.d.ts +11 -3
  686. package/lib/typescript/components/Input/index.d.ts.map +1 -1
  687. package/lib/typescript/components/Input/styles.d.ts.map +1 -1
  688. package/lib/typescript/components/Link/index.d.ts +4 -2
  689. package/lib/typescript/components/Link/index.d.ts.map +1 -1
  690. package/lib/typescript/components/Link/styles.d.ts +9 -2
  691. package/lib/typescript/components/Link/styles.d.ts.map +1 -1
  692. package/lib/typescript/components/ListItem/index.d.ts +71 -0
  693. package/lib/typescript/components/ListItem/index.d.ts.map +1 -0
  694. package/lib/typescript/components/ListItem/styles.d.ts +23 -0
  695. package/lib/typescript/components/ListItem/styles.d.ts.map +1 -0
  696. package/lib/typescript/components/OtpInput/index.d.ts +30 -3
  697. package/lib/typescript/components/OtpInput/index.d.ts.map +1 -1
  698. package/lib/typescript/components/OtpInput/styles.d.ts.map +1 -1
  699. package/lib/typescript/components/ProgressBar/index.d.ts +4 -4
  700. package/lib/typescript/components/ProgressBar/index.d.ts.map +1 -1
  701. package/lib/typescript/components/ProgressSegmented/index.d.ts +14 -3
  702. package/lib/typescript/components/ProgressSegmented/index.d.ts.map +1 -1
  703. package/lib/typescript/components/QuickActionButton/index.d.ts +41 -0
  704. package/lib/typescript/components/QuickActionButton/index.d.ts.map +1 -0
  705. package/lib/typescript/components/QuickActionButton/styles.d.ts +7 -0
  706. package/lib/typescript/components/QuickActionButton/styles.d.ts.map +1 -0
  707. package/lib/typescript/components/Radio/index.d.ts +44 -0
  708. package/lib/typescript/components/Radio/index.d.ts.map +1 -0
  709. package/lib/typescript/components/Radio/styles.d.ts +8 -0
  710. package/lib/typescript/components/Radio/styles.d.ts.map +1 -0
  711. package/lib/typescript/components/ScopedTheme/index.d.ts +16 -0
  712. package/lib/typescript/components/ScopedTheme/index.d.ts.map +1 -0
  713. package/lib/typescript/components/Select/index.d.ts +35 -2
  714. package/lib/typescript/components/Select/index.d.ts.map +1 -1
  715. package/lib/typescript/components/Select/styles.d.ts.map +1 -1
  716. package/lib/typescript/components/Skeleton/index.d.ts +9 -0
  717. package/lib/typescript/components/Skeleton/index.d.ts.map +1 -0
  718. package/lib/typescript/components/Skeleton/styles.d.ts +4 -0
  719. package/lib/typescript/components/Skeleton/styles.d.ts.map +1 -0
  720. package/lib/typescript/components/Stack/styles.d.ts +2 -2
  721. package/lib/typescript/components/Switch/BaseSwitch.d.ts +12 -5
  722. package/lib/typescript/components/Switch/BaseSwitch.d.ts.map +1 -1
  723. package/lib/typescript/components/Switch/BaseSwitch.web.d.ts +11 -5
  724. package/lib/typescript/components/Switch/BaseSwitch.web.d.ts.map +1 -1
  725. package/lib/typescript/components/Switch/index.d.ts +5 -1
  726. package/lib/typescript/components/Switch/index.d.ts.map +1 -1
  727. package/lib/typescript/components/Text/styles.d.ts +1 -1
  728. package/lib/typescript/components/Text/styles.d.ts.map +1 -1
  729. package/lib/typescript/components/Textarea/index.d.ts +27 -0
  730. package/lib/typescript/components/Textarea/index.d.ts.map +1 -0
  731. package/lib/typescript/components/Textarea/styles.d.ts +11 -0
  732. package/lib/typescript/components/Textarea/styles.d.ts.map +1 -0
  733. package/lib/typescript/components/Tile/index.d.ts +76 -0
  734. package/lib/typescript/components/Tile/index.d.ts.map +1 -0
  735. package/lib/typescript/components/Tile/styles.d.ts +18 -0
  736. package/lib/typescript/components/Tile/styles.d.ts.map +1 -0
  737. package/lib/typescript/components/Toast/animation.d.ts +21 -0
  738. package/lib/typescript/components/Toast/animation.d.ts.map +1 -0
  739. package/lib/typescript/components/Toast/hooks.d.ts +17 -0
  740. package/lib/typescript/components/Toast/hooks.d.ts.map +1 -0
  741. package/lib/typescript/components/Toast/index.d.ts +28 -0
  742. package/lib/typescript/components/Toast/index.d.ts.map +1 -0
  743. package/lib/typescript/components/Toast/styles.d.ts +73 -0
  744. package/lib/typescript/components/Toast/styles.d.ts.map +1 -0
  745. package/lib/typescript/components/Toast/types.d.ts +303 -0
  746. package/lib/typescript/components/Toast/types.d.ts.map +1 -0
  747. package/lib/typescript/components/VirtualizedList/index.d.ts +2 -1
  748. package/lib/typescript/components/VirtualizedList/index.d.ts.map +1 -1
  749. package/lib/typescript/components/index.d.ts +12 -0
  750. package/lib/typescript/components/index.d.ts.map +1 -1
  751. package/lib/typescript/figma/Alert.Button.figma.d.ts +11 -0
  752. package/lib/typescript/figma/Alert.Button.figma.d.ts.map +1 -0
  753. package/lib/typescript/figma/Alert.Close.figma.d.ts +11 -0
  754. package/lib/typescript/figma/Alert.Close.figma.d.ts.map +1 -0
  755. package/lib/typescript/figma/Alert.Description.figma.d.ts +8 -0
  756. package/lib/typescript/figma/Alert.Description.figma.d.ts.map +1 -0
  757. package/lib/typescript/figma/Alert.Title.figma.d.ts +8 -0
  758. package/lib/typescript/figma/Alert.Title.figma.d.ts.map +1 -0
  759. package/lib/typescript/figma/Alert.figma.d.ts +8 -0
  760. package/lib/typescript/figma/Alert.figma.d.ts.map +1 -0
  761. package/lib/typescript/figma/AlertDialog.Description.figma.d.ts +8 -0
  762. package/lib/typescript/figma/AlertDialog.Description.figma.d.ts.map +1 -0
  763. package/lib/typescript/figma/AlertDialog.Footer.figma.d.ts +8 -0
  764. package/lib/typescript/figma/AlertDialog.Footer.figma.d.ts.map +1 -0
  765. package/lib/typescript/figma/AlertDialog.Header.figma.d.ts +8 -0
  766. package/lib/typescript/figma/AlertDialog.Header.figma.d.ts.map +1 -0
  767. package/lib/typescript/figma/AlertDialog.Text.figma.d.ts +8 -0
  768. package/lib/typescript/figma/AlertDialog.Text.figma.d.ts.map +1 -0
  769. package/lib/typescript/figma/AlertDialog.Title.figma.d.ts +8 -0
  770. package/lib/typescript/figma/AlertDialog.Title.figma.d.ts.map +1 -0
  771. package/lib/typescript/figma/AlertDialog.figma.d.ts +8 -0
  772. package/lib/typescript/figma/AlertDialog.figma.d.ts.map +1 -0
  773. package/lib/typescript/figma/Avatar.figma.d.ts +11 -0
  774. package/lib/typescript/figma/Avatar.figma.d.ts.map +1 -0
  775. package/lib/typescript/figma/Badge.Indicator.figma.d.ts +11 -0
  776. package/lib/typescript/figma/Badge.Indicator.figma.d.ts.map +1 -0
  777. package/lib/typescript/figma/Badge.figma.d.ts +8 -0
  778. package/lib/typescript/figma/Badge.figma.d.ts.map +1 -0
  779. package/lib/typescript/figma/BottomSheet.Footer.figma.d.ts +8 -0
  780. package/lib/typescript/figma/BottomSheet.Footer.figma.d.ts.map +1 -0
  781. package/lib/typescript/figma/BottomSheet.Header.figma.d.ts +8 -0
  782. package/lib/typescript/figma/BottomSheet.Header.figma.d.ts.map +1 -0
  783. package/lib/typescript/figma/BottomSheet.figma.d.ts +8 -0
  784. package/lib/typescript/figma/BottomSheet.figma.d.ts.map +1 -0
  785. package/lib/typescript/figma/Button.figma.d.ts +8 -0
  786. package/lib/typescript/figma/Button.figma.d.ts.map +1 -0
  787. package/lib/typescript/figma/Card.Header.figma.d.ts +8 -0
  788. package/lib/typescript/figma/Card.Header.figma.d.ts.map +1 -0
  789. package/lib/typescript/figma/Card.figma.d.ts +8 -0
  790. package/lib/typescript/figma/Card.figma.d.ts.map +1 -0
  791. package/lib/typescript/figma/Checkbox.figma.d.ts +8 -0
  792. package/lib/typescript/figma/Checkbox.figma.d.ts.map +1 -0
  793. package/lib/typescript/figma/Chip.figma.d.ts +8 -0
  794. package/lib/typescript/figma/Chip.figma.d.ts.map +1 -0
  795. package/lib/typescript/figma/Dialog.Description.figma.d.ts +8 -0
  796. package/lib/typescript/figma/Dialog.Description.figma.d.ts.map +1 -0
  797. package/lib/typescript/figma/Dialog.Footer.figma.d.ts +8 -0
  798. package/lib/typescript/figma/Dialog.Footer.figma.d.ts.map +1 -0
  799. package/lib/typescript/figma/Dialog.Header.figma.d.ts +8 -0
  800. package/lib/typescript/figma/Dialog.Header.figma.d.ts.map +1 -0
  801. package/lib/typescript/figma/Dialog.Text.figma.d.ts +8 -0
  802. package/lib/typescript/figma/Dialog.Text.figma.d.ts.map +1 -0
  803. package/lib/typescript/figma/Dialog.Title.figma.d.ts +8 -0
  804. package/lib/typescript/figma/Dialog.Title.figma.d.ts.map +1 -0
  805. package/lib/typescript/figma/Dialog.figma.d.ts +8 -0
  806. package/lib/typescript/figma/Dialog.figma.d.ts.map +1 -0
  807. package/lib/typescript/figma/Divider.figma.d.ts +8 -0
  808. package/lib/typescript/figma/Divider.figma.d.ts.map +1 -0
  809. package/lib/typescript/figma/Field.Input.figma.d.ts +8 -0
  810. package/lib/typescript/figma/Field.Input.figma.d.ts.map +1 -0
  811. package/lib/typescript/figma/Field.OtpInput.figma.d.ts +8 -0
  812. package/lib/typescript/figma/Field.OtpInput.figma.d.ts.map +1 -0
  813. package/lib/typescript/figma/Field.Select.figma.d.ts +8 -0
  814. package/lib/typescript/figma/Field.Select.figma.d.ts.map +1 -0
  815. package/lib/typescript/figma/Field.Textarea.figma.d.ts +8 -0
  816. package/lib/typescript/figma/Field.Textarea.figma.d.ts.map +1 -0
  817. package/lib/typescript/figma/Heading.figma.d.ts +8 -0
  818. package/lib/typescript/figma/Heading.figma.d.ts.map +1 -0
  819. package/lib/typescript/figma/Icon.figma.d.ts +8 -0
  820. package/lib/typescript/figma/Icon.figma.d.ts.map +1 -0
  821. package/lib/typescript/figma/IconButton.figma.d.ts +8 -0
  822. package/lib/typescript/figma/IconButton.figma.d.ts.map +1 -0
  823. package/lib/typescript/figma/Input.figma.d.ts +8 -0
  824. package/lib/typescript/figma/Input.figma.d.ts.map +1 -0
  825. package/lib/typescript/figma/Link.figma.d.ts +8 -0
  826. package/lib/typescript/figma/Link.figma.d.ts.map +1 -0
  827. package/lib/typescript/figma/ListItem.Description.figma.d.ts +11 -0
  828. package/lib/typescript/figma/ListItem.Description.figma.d.ts.map +1 -0
  829. package/lib/typescript/figma/ListItem.LeadingSlot.figma.d.ts +8 -0
  830. package/lib/typescript/figma/ListItem.LeadingSlot.figma.d.ts.map +1 -0
  831. package/lib/typescript/figma/ListItem.Meta.figma.d.ts +11 -0
  832. package/lib/typescript/figma/ListItem.Meta.figma.d.ts.map +1 -0
  833. package/lib/typescript/figma/ListItem.SectionHeader.figma.d.ts +8 -0
  834. package/lib/typescript/figma/ListItem.SectionHeader.figma.d.ts.map +1 -0
  835. package/lib/typescript/figma/ListItem.Title.figma.d.ts +11 -0
  836. package/lib/typescript/figma/ListItem.Title.figma.d.ts.map +1 -0
  837. package/lib/typescript/figma/ListItem.TrailingSlot.figma.d.ts +8 -0
  838. package/lib/typescript/figma/ListItem.TrailingSlot.figma.d.ts.map +1 -0
  839. package/lib/typescript/figma/ListItem.figma.d.ts +8 -0
  840. package/lib/typescript/figma/ListItem.figma.d.ts.map +1 -0
  841. package/lib/typescript/figma/OtpInput.Cell.figma.d.ts +8 -0
  842. package/lib/typescript/figma/OtpInput.Cell.figma.d.ts.map +1 -0
  843. package/lib/typescript/figma/OtpInput.figma.d.ts +8 -0
  844. package/lib/typescript/figma/OtpInput.figma.d.ts.map +1 -0
  845. package/lib/typescript/figma/ProgressSegmented.figma.d.ts +8 -0
  846. package/lib/typescript/figma/ProgressSegmented.figma.d.ts.map +1 -0
  847. package/lib/typescript/figma/QuickActionButton.figma.d.ts +8 -0
  848. package/lib/typescript/figma/QuickActionButton.figma.d.ts.map +1 -0
  849. package/lib/typescript/figma/Radio.figma.d.ts +8 -0
  850. package/lib/typescript/figma/Radio.figma.d.ts.map +1 -0
  851. package/lib/typescript/figma/Select.figma.d.ts +8 -0
  852. package/lib/typescript/figma/Select.figma.d.ts.map +1 -0
  853. package/lib/typescript/figma/Text.figma.d.ts +11 -0
  854. package/lib/typescript/figma/Text.figma.d.ts.map +1 -0
  855. package/lib/typescript/figma/Textarea.figma.d.ts +8 -0
  856. package/lib/typescript/figma/Textarea.figma.d.ts.map +1 -0
  857. package/lib/typescript/figma/icons.figma.batch.d.ts +14 -0
  858. package/lib/typescript/figma/icons.figma.batch.d.ts.map +1 -0
  859. package/lib/typescript/hooks/index.d.ts +2 -0
  860. package/lib/typescript/hooks/index.d.ts.map +1 -0
  861. package/lib/typescript/hooks/useForgeBottomTabScreenOptions.d.ts +137 -0
  862. package/lib/typescript/hooks/useForgeBottomTabScreenOptions.d.ts.map +1 -0
  863. package/lib/typescript/index.d.ts +4 -0
  864. package/lib/typescript/index.d.ts.map +1 -1
  865. package/lib/typescript/metro/withCdxMetroConfig.d.ts +4 -18
  866. package/lib/typescript/metro/withCdxMetroConfig.d.ts.map +1 -1
  867. package/lib/typescript/metro/withForgeMetroConfig.d.ts +19 -0
  868. package/lib/typescript/metro/withForgeMetroConfig.d.ts.map +1 -0
  869. package/lib/typescript/navigation/forgeTabIcon.d.ts +27 -0
  870. package/lib/typescript/navigation/forgeTabIcon.d.ts.map +1 -0
  871. package/lib/typescript/navigation/forgeTabIcon.native.d.ts +15 -0
  872. package/lib/typescript/navigation/forgeTabIcon.native.d.ts.map +1 -0
  873. package/lib/typescript/navigation/index.d.ts +4 -0
  874. package/lib/typescript/navigation/index.d.ts.map +1 -0
  875. package/lib/typescript/navigation/types.d.ts +37 -0
  876. package/lib/typescript/navigation/types.d.ts.map +1 -0
  877. package/lib/typescript/providers/animation-settings/index.d.ts +3 -0
  878. package/lib/typescript/providers/animation-settings/index.d.ts.map +1 -0
  879. package/lib/typescript/providers/animation-settings/provider.d.ts +28 -0
  880. package/lib/typescript/providers/animation-settings/provider.d.ts.map +1 -0
  881. package/lib/typescript/providers/animation-settings/types.d.ts +35 -0
  882. package/lib/typescript/providers/animation-settings/types.d.ts.map +1 -0
  883. package/lib/typescript/providers/forge-design/index.d.ts +3 -0
  884. package/lib/typescript/providers/forge-design/index.d.ts.map +1 -0
  885. package/lib/typescript/providers/forge-design/provider.d.ts +24 -0
  886. package/lib/typescript/providers/forge-design/provider.d.ts.map +1 -0
  887. package/lib/typescript/providers/forge-design/types.d.ts +82 -0
  888. package/lib/typescript/providers/forge-design/types.d.ts.map +1 -0
  889. package/lib/typescript/providers/text-component/index.d.ts +3 -0
  890. package/lib/typescript/providers/text-component/index.d.ts.map +1 -0
  891. package/lib/typescript/providers/text-component/provider.d.ts +7 -0
  892. package/lib/typescript/providers/text-component/provider.d.ts.map +1 -0
  893. package/lib/typescript/providers/text-component/types.d.ts +51 -0
  894. package/lib/typescript/providers/text-component/types.d.ts.map +1 -0
  895. package/lib/typescript/providers/toast/index.d.ts +5 -0
  896. package/lib/typescript/providers/toast/index.d.ts.map +1 -0
  897. package/lib/typescript/providers/toast/insets-container.d.ts +72 -0
  898. package/lib/typescript/providers/toast/insets-container.d.ts.map +1 -0
  899. package/lib/typescript/providers/toast/lifecycle.context.d.ts +32 -0
  900. package/lib/typescript/providers/toast/lifecycle.context.d.ts.map +1 -0
  901. package/lib/typescript/providers/toast/provider.d.ts +32 -0
  902. package/lib/typescript/providers/toast/provider.d.ts.map +1 -0
  903. package/lib/typescript/providers/toast/reducer.d.ts +14 -0
  904. package/lib/typescript/providers/toast/reducer.d.ts.map +1 -0
  905. package/lib/typescript/providers/toast/toast-config.context.d.ts +20 -0
  906. package/lib/typescript/providers/toast/toast-config.context.d.ts.map +1 -0
  907. package/lib/typescript/providers/toast/toast-item-renderer.d.ts +7 -0
  908. package/lib/typescript/providers/toast/toast-item-renderer.d.ts.map +1 -0
  909. package/lib/typescript/providers/toast/types.d.ts +422 -0
  910. package/lib/typescript/providers/toast/types.d.ts.map +1 -0
  911. package/lib/typescript/styles/primitives.d.ts +38 -0
  912. package/lib/typescript/styles/primitives.d.ts.map +1 -1
  913. package/lib/typescript/utils/positionToDataIcon.d.ts +29 -0
  914. package/lib/typescript/utils/positionToDataIcon.d.ts.map +1 -0
  915. package/package.json +14 -11
  916. package/src/animation/hooks/index.ts +1 -0
  917. package/src/animation/hooks/useCombinedAnimationDisabledState.ts +46 -0
  918. package/src/animation/index.ts +3 -0
  919. package/src/animation/types.ts +128 -0
  920. package/src/animation/utils.ts +249 -0
  921. package/src/components/Alert/index.tsx +318 -0
  922. package/src/components/Alert/styles.ts +88 -0
  923. package/src/components/AlertDialog/index.tsx +21 -20
  924. package/src/components/Avatar/index.tsx +143 -45
  925. package/src/components/Avatar/styles.ts +49 -34
  926. package/src/components/Badge/index.tsx +91 -0
  927. package/src/components/Badge/styles.ts +136 -0
  928. package/src/components/BottomSheet/index.tsx +107 -50
  929. package/src/components/BottomSheet/styles.ts +9 -56
  930. package/src/components/Button/index.tsx +248 -47
  931. package/src/components/Button/styles.ts +78 -37
  932. package/src/components/CLAUDE.md +195 -0
  933. package/src/components/Card/index.tsx +84 -29
  934. package/src/components/Card/styles.ts +43 -23
  935. package/src/components/Checkbox/index.tsx +101 -51
  936. package/src/components/Checkbox/styles.ts +84 -86
  937. package/src/components/Chip/index.tsx +136 -32
  938. package/src/components/Chip/styles.ts +220 -18
  939. package/src/components/CurrencyInput/index.tsx +192 -0
  940. package/src/components/CurrencyInput/styles.ts +44 -0
  941. package/src/components/Dialog/index.tsx +199 -93
  942. package/src/components/Dialog/styles.ts +72 -30
  943. package/src/components/Divider/index.tsx +94 -0
  944. package/src/components/Divider/styles.ts +86 -0
  945. package/src/components/Field/index.tsx +121 -50
  946. package/src/components/Field/styles.ts +5 -4
  947. package/src/components/Form/index.tsx +18 -14
  948. package/src/components/Heading/{styles.tsx → styles.ts} +1 -1
  949. package/src/components/Icon/index.tsx +14 -8
  950. package/src/components/IconButton/index.tsx +13 -36
  951. package/src/components/IconButton/styles.ts +136 -10
  952. package/src/components/Input/index.tsx +75 -32
  953. package/src/components/Input/styles.ts +35 -12
  954. package/src/components/Link/index.tsx +57 -18
  955. package/src/components/Link/styles.ts +49 -9
  956. package/src/components/ListItem/index.tsx +355 -0
  957. package/src/components/ListItem/styles.ts +129 -0
  958. package/src/components/OtpInput/index.tsx +149 -34
  959. package/src/components/OtpInput/styles.ts +20 -13
  960. package/src/components/ProgressBar/index.tsx +11 -16
  961. package/src/components/ProgressSegmented/index.tsx +45 -14
  962. package/src/components/QuickActionButton/index.tsx +161 -0
  963. package/src/components/QuickActionButton/styles.ts +42 -0
  964. package/src/components/Radio/index.tsx +214 -0
  965. package/src/components/Radio/styles.ts +59 -0
  966. package/src/components/ScopedTheme/index.tsx +17 -0
  967. package/src/components/Select/index.tsx +175 -55
  968. package/src/components/Select/styles.ts +63 -51
  969. package/src/components/Skeleton/index.tsx +42 -0
  970. package/src/components/Skeleton/styles.ts +5 -0
  971. package/src/components/Switch/BaseSwitch.tsx +38 -16
  972. package/src/components/Switch/BaseSwitch.web.tsx +28 -35
  973. package/src/components/Switch/index.tsx +51 -4
  974. package/src/components/Text/{styles.tsx → styles.ts} +2 -2
  975. package/src/components/Textarea/index.tsx +180 -0
  976. package/src/components/Textarea/styles.ts +86 -0
  977. package/src/components/Tile/index.tsx +347 -0
  978. package/src/components/Tile/styles.ts +82 -0
  979. package/src/components/Toast/animation.ts +387 -0
  980. package/src/components/Toast/hooks.ts +92 -0
  981. package/src/components/Toast/index.tsx +520 -0
  982. package/src/components/Toast/styles.ts +186 -0
  983. package/src/components/Toast/types.ts +332 -0
  984. package/src/components/VirtualizedList/index.tsx +11 -1
  985. package/src/components/index.ts +12 -0
  986. package/src/globals.d.ts +1 -0
  987. package/src/hooks/index.ts +5 -0
  988. package/src/hooks/useForgeBottomTabScreenOptions.ts +245 -0
  989. package/src/index.ts +4 -0
  990. package/src/metro/withCdxMetroConfig.ts +4 -29
  991. package/src/metro/withForgeMetroConfig.ts +29 -0
  992. package/src/navigation/forgeTabIcon.native.ts +36 -0
  993. package/src/navigation/forgeTabIcon.ts +33 -0
  994. package/src/navigation/index.ts +3 -0
  995. package/src/navigation/types.ts +54 -0
  996. package/src/providers/animation-settings/index.ts +11 -0
  997. package/src/providers/animation-settings/provider.tsx +54 -0
  998. package/src/providers/animation-settings/types.ts +37 -0
  999. package/src/providers/forge-design/index.ts +2 -0
  1000. package/src/providers/forge-design/provider.tsx +61 -0
  1001. package/src/providers/forge-design/types.ts +84 -0
  1002. package/src/providers/text-component/index.ts +2 -0
  1003. package/src/providers/text-component/provider.tsx +7 -0
  1004. package/src/providers/text-component/types.ts +52 -0
  1005. package/src/providers/toast/index.ts +4 -0
  1006. package/src/providers/toast/insets-container.tsx +232 -0
  1007. package/src/providers/toast/lifecycle.context.tsx +37 -0
  1008. package/src/providers/toast/provider.tsx +572 -0
  1009. package/src/providers/toast/reducer.ts +40 -0
  1010. package/src/providers/toast/toast-config.context.ts +25 -0
  1011. package/src/providers/toast/toast-item-renderer.tsx +40 -0
  1012. package/src/providers/toast/types.ts +431 -0
  1013. package/src/styles/primitives.ts +43 -7
  1014. package/src/styles.css +0 -5
  1015. package/src/utils/positionToDataIcon.ts +34 -0
  1016. package/lib/commonjs/components/Field/FieldLabel.js +0 -33
  1017. package/lib/commonjs/components/Field/FieldLabel.js.map +0 -1
  1018. package/lib/commonjs/components/Field/FieldLabel.web.js +0 -22
  1019. package/lib/commonjs/components/Field/FieldLabel.web.js.map +0 -1
  1020. package/lib/commonjs/components/Form/FormRoot.js +0 -25
  1021. package/lib/commonjs/components/Form/FormRoot.js.map +0 -1
  1022. package/lib/commonjs/components/Form/FormRoot.web.js +0 -17
  1023. package/lib/commonjs/components/Form/FormRoot.web.js.map +0 -1
  1024. package/lib/commonjs/components/Input/BaseInput.android.js +0 -20
  1025. package/lib/commonjs/components/Input/BaseInput.android.js.map +0 -1
  1026. package/lib/commonjs/components/Input/BaseInput.js +0 -13
  1027. package/lib/commonjs/components/Input/BaseInput.js.map +0 -1
  1028. package/lib/commonjs/components/Input/BaseInput.web.js +0 -50
  1029. package/lib/commonjs/components/Input/BaseInput.web.js.map +0 -1
  1030. package/lib/commonjs/components/Select/SelectTriggerHost.js +0 -10
  1031. package/lib/commonjs/components/Select/SelectTriggerHost.js.map +0 -1
  1032. package/lib/commonjs/components/Select/SelectTriggerHost.web.js +0 -98
  1033. package/lib/commonjs/components/Select/SelectTriggerHost.web.js.map +0 -1
  1034. package/lib/module/components/Field/FieldLabel.js +0 -29
  1035. package/lib/module/components/Field/FieldLabel.js.map +0 -1
  1036. package/lib/module/components/Field/FieldLabel.web.js +0 -17
  1037. package/lib/module/components/Field/FieldLabel.web.js.map +0 -1
  1038. package/lib/module/components/Form/FormRoot.js +0 -21
  1039. package/lib/module/components/Form/FormRoot.js.map +0 -1
  1040. package/lib/module/components/Form/FormRoot.web.js +0 -12
  1041. package/lib/module/components/Form/FormRoot.web.js.map +0 -1
  1042. package/lib/module/components/Input/BaseInput.android.js +0 -16
  1043. package/lib/module/components/Input/BaseInput.android.js.map +0 -1
  1044. package/lib/module/components/Input/BaseInput.js +0 -4
  1045. package/lib/module/components/Input/BaseInput.js.map +0 -1
  1046. package/lib/module/components/Input/BaseInput.web.js +0 -45
  1047. package/lib/module/components/Input/BaseInput.web.js.map +0 -1
  1048. package/lib/module/components/Select/SelectTriggerHost.js +0 -7
  1049. package/lib/module/components/Select/SelectTriggerHost.js.map +0 -1
  1050. package/lib/module/components/Select/SelectTriggerHost.web.js +0 -93
  1051. package/lib/module/components/Select/SelectTriggerHost.web.js.map +0 -1
  1052. package/lib/typescript/components/Field/FieldLabel.d.ts +0 -18
  1053. package/lib/typescript/components/Field/FieldLabel.d.ts.map +0 -1
  1054. package/lib/typescript/components/Field/FieldLabel.web.d.ts +0 -16
  1055. package/lib/typescript/components/Field/FieldLabel.web.d.ts.map +0 -1
  1056. package/lib/typescript/components/Form/FormRoot.d.ts +0 -14
  1057. package/lib/typescript/components/Form/FormRoot.d.ts.map +0 -1
  1058. package/lib/typescript/components/Form/FormRoot.web.d.ts +0 -10
  1059. package/lib/typescript/components/Form/FormRoot.web.d.ts.map +0 -1
  1060. package/lib/typescript/components/Input/BaseInput.android.d.ts +0 -3
  1061. package/lib/typescript/components/Input/BaseInput.android.d.ts.map +0 -1
  1062. package/lib/typescript/components/Input/BaseInput.d.ts +0 -2
  1063. package/lib/typescript/components/Input/BaseInput.d.ts.map +0 -1
  1064. package/lib/typescript/components/Input/BaseInput.web.d.ts +0 -3
  1065. package/lib/typescript/components/Input/BaseInput.web.d.ts.map +0 -1
  1066. package/lib/typescript/components/Select/SelectTriggerHost.d.ts +0 -3
  1067. package/lib/typescript/components/Select/SelectTriggerHost.d.ts.map +0 -1
  1068. package/lib/typescript/components/Select/SelectTriggerHost.web.d.ts +0 -13
  1069. package/lib/typescript/components/Select/SelectTriggerHost.web.d.ts.map +0 -1
  1070. package/src/components/Field/FieldLabel.tsx +0 -33
  1071. package/src/components/Field/FieldLabel.web.tsx +0 -25
  1072. package/src/components/Form/FormRoot.tsx +0 -20
  1073. package/src/components/Form/FormRoot.web.tsx +0 -12
  1074. package/src/components/Input/BaseInput.android.tsx +0 -13
  1075. package/src/components/Input/BaseInput.tsx +0 -1
  1076. package/src/components/Input/BaseInput.web.tsx +0 -41
  1077. package/src/components/Select/SelectTriggerHost.tsx +0 -4
  1078. package/src/components/Select/SelectTriggerHost.web.tsx +0 -136
@@ -0,0 +1,355 @@
1
+ import { forwardRef, useMemo, type ReactNode } from 'react';
2
+ import { Text, View, type TextProps, type ViewProps } from 'react-native';
3
+ import {
4
+ ListItemRoot as ListItemRootPrimitive,
5
+ Slot,
6
+ dataAttributes,
7
+ mergeDataAttributes,
8
+ type IListItemProps,
9
+ type ListItemCrossAlign,
10
+ } from '@cdx-ui/primitives';
11
+ import { cn, ParentContext, useParentContext, useStyleContext } from '@cdx-ui/utils';
12
+ import {
13
+ listItemContentVariants,
14
+ listItemDescriptionVariants,
15
+ listItemLeadingSlotVariants,
16
+ listItemMetaVariants,
17
+ listItemRootVariants,
18
+ listItemSectionHeaderLabelVariants,
19
+ listItemSectionHeaderVariants,
20
+ listItemTitleVariants,
21
+ listItemTrailingSlotVariants,
22
+ type ListItemVariantProps,
23
+ } from './styles';
24
+
25
+ const SCOPE = 'LIST_ITEM';
26
+
27
+ const useListItemStyleContext = (): Pick<ListItemVariantProps, 'crossAlign'> => {
28
+ const ctx = useStyleContext(SCOPE) as ListItemVariantProps | undefined;
29
+ return { crossAlign: ctx?.crossAlign ?? 'center' };
30
+ };
31
+
32
+ // =============================================================================
33
+ // ROOT
34
+ // =============================================================================
35
+
36
+ export interface ListItemProps extends Omit<IListItemProps, 'crossAlign'>, ListItemVariantProps {
37
+ className?: string;
38
+ }
39
+
40
+ const ListItemRoot = forwardRef<View, ListItemProps>(
41
+ (
42
+ {
43
+ size = 'default',
44
+ showSeparator = true,
45
+ crossAlign: crossAlignProp = 'center',
46
+ className,
47
+ style,
48
+ ...props
49
+ },
50
+ ref,
51
+ ) => {
52
+ const crossAlign: ListItemCrossAlign = crossAlignProp ?? 'center';
53
+ const parent = useParentContext();
54
+ const ctx = useMemo(() => ({ ...parent, [SCOPE]: { crossAlign } }), [parent, crossAlign]);
55
+
56
+ const computedClassName = cn(
57
+ listItemRootVariants({ size, showSeparator, crossAlign }),
58
+ className,
59
+ );
60
+
61
+ return (
62
+ <ParentContext.Provider value={ctx}>
63
+ <ListItemRootPrimitive
64
+ ref={ref}
65
+ className={computedClassName}
66
+ crossAlign={crossAlign}
67
+ style={style}
68
+ {...props}
69
+ {...mergeDataAttributes(props, dataAttributes({ slot: 'list-item' }))}
70
+ />
71
+ </ParentContext.Provider>
72
+ );
73
+ },
74
+ );
75
+
76
+ ListItemRoot.displayName = 'ListItem';
77
+
78
+ // =============================================================================
79
+ // SLOTS & TEXT
80
+ // =============================================================================
81
+
82
+ const leadingSlotStyle = { flexShrink: 0 as const };
83
+
84
+ export interface ListItemLeadingSlotProps extends ViewProps {
85
+ asChild?: boolean;
86
+ className?: string;
87
+ /**
88
+ * Decorative leading content defaults to hidden from the accessibility tree.
89
+ * Set to `false` when the leading region contains meaningful controls.
90
+ * @default true
91
+ */
92
+ 'aria-hidden'?: boolean;
93
+ }
94
+
95
+ const ListItemLeadingSlot = forwardRef<View, ListItemLeadingSlotProps>(
96
+ ({ asChild, className, style, 'aria-hidden': ariaHidden, ...props }, ref) => {
97
+ const accessibilityElementsHidden = ariaHidden !== false;
98
+ const Comp = asChild ? Slot : View;
99
+ return (
100
+ <Comp
101
+ ref={ref}
102
+ accessibilityElementsHidden={accessibilityElementsHidden}
103
+ aria-hidden={ariaHidden ?? true}
104
+ className={cn(listItemLeadingSlotVariants(), className)}
105
+ style={[leadingSlotStyle, style]}
106
+ {...props}
107
+ {...mergeDataAttributes(props, dataAttributes({ slot: 'list-item-leading' }))}
108
+ />
109
+ );
110
+ },
111
+ );
112
+
113
+ ListItemLeadingSlot.displayName = 'ListItem.LeadingSlot';
114
+
115
+ const contentStyle = {
116
+ flex: 1,
117
+ flexDirection: 'column' as const,
118
+ minWidth: 0,
119
+ };
120
+
121
+ export interface ListItemContentProps extends ViewProps {
122
+ asChild?: boolean;
123
+ className?: string;
124
+ }
125
+
126
+ const ListItemContent = forwardRef<View, ListItemContentProps>(
127
+ ({ asChild, className, style, ...props }, ref) => {
128
+ const { crossAlign } = useListItemStyleContext();
129
+ const Comp = asChild ? Slot : View;
130
+
131
+ return (
132
+ <Comp
133
+ ref={ref}
134
+ className={cn(listItemContentVariants({ crossAlign }), className)}
135
+ style={[contentStyle, style]}
136
+ {...props}
137
+ {...mergeDataAttributes(props, dataAttributes({ slot: 'list-item-content' }))}
138
+ />
139
+ );
140
+ },
141
+ );
142
+
143
+ ListItemContent.displayName = 'ListItem.Content';
144
+
145
+ export interface ListItemTitleProps extends TextProps {
146
+ asChild?: boolean;
147
+ className?: string;
148
+ }
149
+
150
+ const ListItemTitle = forwardRef<Text, ListItemTitleProps>(
151
+ ({ asChild, className, numberOfLines = 1, style, ...props }, ref) => {
152
+ const Comp = asChild ? Slot : Text;
153
+ return (
154
+ <Comp
155
+ ref={ref}
156
+ className={cn(listItemTitleVariants(), className)}
157
+ numberOfLines={numberOfLines}
158
+ style={style}
159
+ {...props}
160
+ {...mergeDataAttributes(props, dataAttributes({ slot: 'list-item-title' }))}
161
+ />
162
+ );
163
+ },
164
+ );
165
+
166
+ ListItemTitle.displayName = 'ListItem.Title';
167
+
168
+ export interface ListItemDescriptionProps extends TextProps {
169
+ asChild?: boolean;
170
+ className?: string;
171
+ }
172
+
173
+ const ListItemDescription = forwardRef<Text, ListItemDescriptionProps>(
174
+ ({ asChild, className, style, ...props }, ref) => {
175
+ const Comp = asChild ? Slot : Text;
176
+ return (
177
+ <Comp
178
+ ref={ref}
179
+ className={cn(listItemDescriptionVariants(), className)}
180
+ style={style}
181
+ {...props}
182
+ {...mergeDataAttributes(props, dataAttributes({ slot: 'list-item-description' }))}
183
+ />
184
+ );
185
+ },
186
+ );
187
+
188
+ ListItemDescription.displayName = 'ListItem.Description';
189
+
190
+ export interface ListItemMetaProps extends TextProps {
191
+ asChild?: boolean;
192
+ className?: string;
193
+ }
194
+
195
+ const ListItemMeta = forwardRef<Text, ListItemMetaProps>(
196
+ ({ asChild, className, numberOfLines = 1, style, ...props }, ref) => {
197
+ const Comp = asChild ? Slot : Text;
198
+ return (
199
+ <Comp
200
+ ref={ref}
201
+ className={cn(listItemMetaVariants(), className)}
202
+ numberOfLines={numberOfLines}
203
+ style={style}
204
+ {...props}
205
+ {...mergeDataAttributes(props, dataAttributes({ slot: 'list-item-meta' }))}
206
+ />
207
+ );
208
+ },
209
+ );
210
+
211
+ ListItemMeta.displayName = 'ListItem.Meta';
212
+
213
+ export interface ListItemTrailingSlotProps extends ViewProps {
214
+ asChild?: boolean;
215
+ className?: string;
216
+ }
217
+
218
+ const ListItemTrailingSlot = forwardRef<View, ListItemTrailingSlotProps>(
219
+ ({ asChild, className, style, ...props }, ref) => {
220
+ const { crossAlign } = useListItemStyleContext();
221
+ const Comp = asChild ? Slot : View;
222
+
223
+ return (
224
+ <Comp
225
+ ref={ref}
226
+ className={cn(listItemTrailingSlotVariants({ crossAlign }), className)}
227
+ style={[{ flexShrink: 0 }, style]}
228
+ {...props}
229
+ {...mergeDataAttributes(props, dataAttributes({ slot: 'list-item-trailing' }))}
230
+ />
231
+ );
232
+ },
233
+ );
234
+
235
+ ListItemTrailingSlot.displayName = 'ListItem.TrailingSlot';
236
+
237
+ const wrapSectionHeaderLabel = (children: ReactNode): ReactNode => {
238
+ if (typeof children === 'string' || typeof children === 'number') {
239
+ return <Text className={cn(listItemSectionHeaderLabelVariants())}>{children}</Text>;
240
+ }
241
+ return children;
242
+ };
243
+
244
+ // =============================================================================
245
+ // SECTION HEADER
246
+ // =============================================================================
247
+
248
+ // TODO: ListItem.SectionHeader doesn't follow composition patterns (composing text, trailing prop, etc).
249
+
250
+ const sectionHeaderRow = {
251
+ flexDirection: 'row' as const,
252
+ alignItems: 'center' as const,
253
+ justifyContent: 'space-between' as const,
254
+ gap: 8,
255
+ };
256
+
257
+ const sectionHeaderLabelCell = {
258
+ flex: 1,
259
+ minWidth: 0,
260
+ /** Keeps the label column from stretching to a taller trailing sibling (e.g. Chip). */
261
+ alignSelf: 'center' as const,
262
+ };
263
+
264
+ const sectionHeaderTrailingCell = {
265
+ flexShrink: 0,
266
+ /** Prevents the trailing slot from stretching vertically and “filling” the row. */
267
+ alignSelf: 'center' as const,
268
+ };
269
+
270
+ export interface ListItemSectionHeaderProps extends ViewProps {
271
+ asChild?: boolean;
272
+ className?: string;
273
+ /** Primary section label (e.g. date heading). */
274
+ children: ReactNode;
275
+ /** Optional right-aligned adornment (e.g. section Chip). */
276
+ trailing?: ReactNode;
277
+ /**
278
+ * Whether to expose the top divider marker for styling.
279
+ * @default true
280
+ */
281
+ showDivider?: boolean;
282
+ }
283
+
284
+ const ListItemSectionHeader = forwardRef<View, ListItemSectionHeaderProps>(
285
+ (
286
+ {
287
+ asChild,
288
+ children,
289
+ className,
290
+ showDivider = true,
291
+ style,
292
+ trailing,
293
+ accessibilityRole = 'header',
294
+ ...props
295
+ },
296
+ ref,
297
+ ) => {
298
+ const Comp = asChild ? Slot : View;
299
+ return (
300
+ <Comp
301
+ ref={ref}
302
+ accessibilityRole={accessibilityRole}
303
+ className={cn(listItemSectionHeaderVariants({ showDivider }), className)}
304
+ style={[sectionHeaderRow, style]}
305
+ {...props}
306
+ {...mergeDataAttributes(
307
+ props,
308
+ dataAttributes({ slot: 'list-section-header', divider: showDivider }),
309
+ )}
310
+ >
311
+ <View style={sectionHeaderLabelCell}>{wrapSectionHeaderLabel(children)}</View>
312
+ {trailing ? <View style={sectionHeaderTrailingCell}>{trailing}</View> : null}
313
+ </Comp>
314
+ );
315
+ },
316
+ );
317
+
318
+ ListItemSectionHeader.displayName = 'ListItem.SectionHeader';
319
+
320
+ // =============================================================================
321
+ // COMPOUND EXPORT
322
+ // =============================================================================
323
+
324
+ type ListItemCompound = typeof ListItemRoot & {
325
+ LeadingSlot: typeof ListItemLeadingSlot;
326
+ Content: typeof ListItemContent;
327
+ Title: typeof ListItemTitle;
328
+ Description: typeof ListItemDescription;
329
+ Meta: typeof ListItemMeta;
330
+ TrailingSlot: typeof ListItemTrailingSlot;
331
+ SectionHeader: typeof ListItemSectionHeader;
332
+ };
333
+
334
+ export const ListItem = Object.assign(ListItemRoot, {
335
+ LeadingSlot: ListItemLeadingSlot,
336
+ Content: ListItemContent,
337
+ Title: ListItemTitle,
338
+ Description: ListItemDescription,
339
+ Meta: ListItemMeta,
340
+ TrailingSlot: ListItemTrailingSlot,
341
+ SectionHeader: ListItemSectionHeader,
342
+ }) as ListItemCompound;
343
+
344
+ export type { ListItemCrossAlign, ListItemVariantProps };
345
+ export {
346
+ listItemContentVariants,
347
+ listItemDescriptionVariants,
348
+ listItemLeadingSlotVariants,
349
+ listItemMetaVariants,
350
+ listItemRootVariants,
351
+ listItemSectionHeaderLabelVariants,
352
+ listItemSectionHeaderVariants,
353
+ listItemTitleVariants,
354
+ listItemTrailingSlotVariants,
355
+ } from './styles';
@@ -0,0 +1,129 @@
1
+ import { Platform } from 'react-native';
2
+ import { cva, type VariantProps } from 'class-variance-authority';
3
+ import { TRANSITION_COLORS } from '../../styles/primitives';
4
+
5
+ // ── Root (row): density, separator, interactive feedback ───────────────────
6
+ //
7
+ // Web hover/active/focus paint an absolutely positioned bg-content-primary overlay at
8
+ // --opacity-hover (8%) / --opacity-hover-overlay (20%) / --opacity-selected (12%), plus a focus
9
+ // ring on focus-visible. State is driven by the data attributes the primitive root emits
10
+ // (data-hover / data-active / data-focus-visible) — or by the composed child on `asChild`
11
+ // (e.g. Link emits the same attributes). Native active uses a flat tint because ::before
12
+ // pseudo-elements are web-only.
13
+ //
14
+ // TODO: Handle native background color hover/focus transitions
15
+
16
+ export const listItemRootVariants = cva(
17
+ [
18
+ 'relative flex-row self-stretch w-full overflow-clip px-5 bg-transparent',
19
+ 'data-[disabled=true]:opacity-[var(--opacity-disabled)] data-[disabled=true]:pointer-events-none',
20
+ TRANSITION_COLORS,
21
+ Platform.select({
22
+ web: [
23
+ 'outline-none',
24
+ 'before:pointer-events-none before:absolute before:inset-0 before:bg-content-primary before:opacity-0 before:content-[""]',
25
+ 'before:transition-opacity before:duration-150 before:ease-out',
26
+ 'data-[hover=true]:before:opacity-[var(--opacity-hover)]',
27
+ // Pressed wins over hover via the compound selector (higher specificity), mirroring Button.
28
+ 'data-[active=true]:data-[hover=true]:before:opacity-[var(--opacity-hover-overlay)]',
29
+ 'data-[focus-visible=true]:before:opacity-[var(--opacity-selected)]',
30
+ 'data-[focus-visible=true]:ring-2 data-[focus-visible=true]:ring-stroke-focus data-[focus-visible=true]:ring-offset-2',
31
+ ].join(' '),
32
+ default: 'data-[active=true]:bg-surface-primary-hover',
33
+ }),
34
+ ],
35
+ {
36
+ variants: {
37
+ size: {
38
+ default: 'gap-3 py-3 min-h-16',
39
+ compact: 'gap-3 py-2 min-h-12',
40
+ },
41
+ showSeparator: {
42
+ true: [
43
+ 'border-b border-solid border-stroke-secondary',
44
+ Platform.select({ web: 'before:-bottom-px', default: '' }),
45
+ ].join(' '),
46
+ false: 'border-b-0',
47
+ },
48
+ crossAlign: {
49
+ center: 'items-center',
50
+ start: 'items-start',
51
+ },
52
+ },
53
+ defaultVariants: {
54
+ size: 'default',
55
+ showSeparator: true,
56
+ crossAlign: 'center',
57
+ },
58
+ },
59
+ );
60
+
61
+ // ── Leading / trailing slots ─────────────────────────────────────────────────
62
+
63
+ export const listItemLeadingSlotVariants = cva([
64
+ 'relative z-10 flex shrink-0 items-center justify-center',
65
+ ]);
66
+
67
+ export const listItemTrailingSlotVariants = cva(
68
+ ['relative z-10 flex shrink-0 flex-row justify-end gap-2'],
69
+ {
70
+ variants: {
71
+ crossAlign: {
72
+ center: 'items-center',
73
+ start: 'items-start self-start',
74
+ },
75
+ },
76
+ defaultVariants: {
77
+ crossAlign: 'center',
78
+ },
79
+ },
80
+ );
81
+
82
+ // ── Content stack (title / description / meta) ───────────────────────────────
83
+
84
+ export const listItemContentVariants = cva('relative z-10 flex min-w-0 flex-1 flex-col gap-1', {
85
+ variants: {
86
+ crossAlign: {
87
+ center: 'justify-center',
88
+ start: 'justify-start',
89
+ },
90
+ },
91
+ defaultVariants: {
92
+ crossAlign: 'center',
93
+ },
94
+ });
95
+
96
+ // ── Typography ───────────────────────────────────────────────────────────────
97
+
98
+ export const listItemTitleVariants = cva('body-md font-medium text-content-primary');
99
+
100
+ export const listItemDescriptionVariants = cva('body-sm text-content-secondary');
101
+
102
+ export const listItemMetaVariants = cva('body-sm text-content-tertiary');
103
+
104
+ // ── Section header (group label row inside lists / cards) ───────────────────
105
+
106
+ export const listItemSectionHeaderVariants = cva(
107
+ [
108
+ 'flex-row items-center justify-between gap-2 border-b border-solid px-4 py-3',
109
+ 'border-stroke-secondary',
110
+ ],
111
+ {
112
+ variants: {
113
+ showDivider: {
114
+ true: ['border-t-4 border-solid border-t-surface-brand-strong/40', 'border-x-0'],
115
+ false: 'border-t-0',
116
+ },
117
+ },
118
+ defaultVariants: {
119
+ showDivider: true,
120
+ },
121
+ },
122
+ );
123
+
124
+ /** Default section-title typography; applied by `ListItem.SectionHeader` for string/number children. Exported for rare custom composition. */
125
+ export const listItemSectionHeaderLabelVariants = cva(
126
+ 'text-xs font-semibold uppercase tracking-wide text-content-secondary',
127
+ );
128
+
129
+ export type ListItemVariantProps = VariantProps<typeof listItemRootVariants>;
@@ -1,11 +1,20 @@
1
- import type { ComponentProps, ComponentRef, ForwardedRef } from 'react';
2
- import { forwardRef } from 'react';
3
- import type { View } from 'react-native';
4
- import { createOtpInput, type IOtpInputRootProps } from '@cdx-ui/primitives';
5
- import { cn, useStyleContext, withStyleContext } from '@cdx-ui/utils';
6
- import { HStack } from '../Stack/HStack';
1
+ import type { ForwardedRef } from 'react';
2
+ import { forwardRef, useMemo } from 'react';
3
+ import { View, type TextInput, type ViewProps } from 'react-native';
4
+ import {
5
+ OtpCellIndexProvider,
6
+ OtpInputField,
7
+ OtpInputProvider,
8
+ dataAttributes,
9
+ mergeDataAttributes,
10
+ useInputContext,
11
+ useOtpInput,
12
+ type IOtpInputRootProps,
13
+ type OtpInputFieldProps,
14
+ } from '@cdx-ui/primitives';
15
+ import { ParentContext, cn, useParentContext, useStyleContext } from '@cdx-ui/utils';
7
16
  import { Input, type InputProps } from '../Input';
8
- import type { InputVariantProps } from '../Input/styles';
17
+ import { type InputVariantProps, inputFieldVariants } from '../Input/styles';
9
18
  import {
10
19
  otpCellVariants,
11
20
  otpFieldVariants,
@@ -15,13 +24,24 @@ import {
15
24
 
16
25
  const SCOPE = 'OTP_INPUT';
17
26
 
18
- const OtpRoot = withStyleContext(HStack, SCOPE);
27
+ const useOtpInputStyleContext = () => useStyleContext(SCOPE) as Partial<InputVariantProps>;
19
28
 
20
- const useOtpInputStyleContext = () => useStyleContext(SCOPE) as InputVariantProps;
29
+ export interface OtpInputCellProps extends ViewProps, InputVariantProps {
30
+ className?: string;
31
+ children?: React.ReactNode;
32
+ isInvalid?: boolean;
33
+ isReadOnly?: boolean;
34
+ isDisabled?: boolean;
35
+ }
21
36
 
22
- const OtpStyledCell = forwardRef<View, InputProps>(
23
- ({ className, children, ...props }, ref: ForwardedRef<View>) => {
24
- const { size, variant } = useOtpInputStyleContext();
37
+ const OtpStyledCell = forwardRef<View, OtpInputCellProps>(
38
+ (
39
+ { className, children, variant: variantProp, size: sizeProp, ...props },
40
+ ref: ForwardedRef<View>,
41
+ ) => {
42
+ const context = useOtpInputStyleContext();
43
+ const variant = variantProp ?? context.variant ?? 'outline';
44
+ const size = sizeProp ?? context.size ?? 'default';
25
45
  return (
26
46
  <Input
27
47
  ref={ref}
@@ -38,42 +58,137 @@ const OtpStyledCell = forwardRef<View, InputProps>(
38
58
 
39
59
  OtpStyledCell.displayName = 'OtpInput.Cell';
40
60
 
41
- const OtpStyledField = forwardRef<
42
- ComponentRef<typeof Input.Field>,
43
- ComponentProps<typeof Input.Field>
44
- >(({ className, ...props }, ref) => {
45
- const { size } = useOtpInputStyleContext();
46
- return <Input.Field ref={ref} className={cn(otpFieldVariants({ size }), className)} {...props} />;
61
+ export type OtpInputFieldStyledProps = OtpInputFieldProps & { className?: string };
62
+
63
+ /**
64
+ * Bridges OtpInputField focus/blur events to the parent Input's context so
65
+ * InputRoot emits `data-focus=true` and the `border-stroke-action` CSS activates.
66
+ * The primitive OtpInputField doesn't know about InputContext — that coupling
67
+ * belongs here in the styled layer.
68
+ */
69
+ const OtpStyledField = forwardRef<TextInput, OtpInputFieldStyledProps>((props, ref) => {
70
+ const { setIsFocused } = useInputContext();
71
+ return (
72
+ <OtpInputField
73
+ ref={ref}
74
+ {...props}
75
+ onFocus={(e) => {
76
+ setIsFocused?.(true);
77
+ props.onFocus?.(e);
78
+ }}
79
+ onBlur={(e) => {
80
+ setIsFocused?.(false);
81
+ props.onBlur?.(e);
82
+ }}
83
+ />
84
+ );
47
85
  });
48
86
 
49
87
  OtpStyledField.displayName = 'OtpInput.Field';
50
88
 
51
- const OtpPrimitive = createOtpInput({
52
- Root: OtpRoot,
53
- Cell: OtpStyledCell,
54
- Field: OtpStyledField,
55
- });
56
-
57
89
  export interface OtpInputProps extends Omit<IOtpInputRootProps, 'size'>, OtpInputVariantProps {
58
90
  variant?: NonNullable<InputProps['variant']>;
59
91
  size?: NonNullable<InputProps['size']>;
60
92
  className?: string;
61
93
  }
62
94
 
63
- export const OtpInput = forwardRef<View, OtpInputProps>(
64
- ({ variant = 'outline', size = 'default', fullWidth = true, className, style, ...rest }, ref) => {
95
+ const OtpInputRoot = forwardRef<View, OtpInputProps>(
96
+ (
97
+ {
98
+ variant = 'outline',
99
+ size,
100
+ fullWidth,
101
+ className,
102
+ style,
103
+ cellCount,
104
+ value,
105
+ onChangeText,
106
+ onComplete,
107
+ isDisabled,
108
+ isInvalid,
109
+ isReadOnly,
110
+ smsOtpAutofill,
111
+ filterInput,
112
+ allowedCharacters,
113
+ characterPattern,
114
+ getCellProps,
115
+ cellTestIdPrefix,
116
+ accessibilityLabel,
117
+ ...rest
118
+ },
119
+ ref,
120
+ ) => {
121
+ const otpContext = useOtpInput({
122
+ cellCount,
123
+ value,
124
+ onChangeText,
125
+ onComplete,
126
+ isDisabled,
127
+ isInvalid,
128
+ isReadOnly,
129
+ smsOtpAutofill,
130
+ filterInput,
131
+ allowedCharacters,
132
+ characterPattern,
133
+ getCellProps,
134
+ cellTestIdPrefix,
135
+ accessibilityLabel,
136
+ });
137
+
65
138
  const rootClassName = cn(otpRootVariants({ size, fullWidth }), className);
66
139
 
140
+ const parent = useParentContext();
141
+ const ctx = useMemo(() => ({ ...parent, [SCOPE]: { variant, size } }), [parent, variant, size]);
142
+
143
+ const fieldClassName = cn(inputFieldVariants({ size }), otpFieldVariants({ size }));
144
+
145
+ const {
146
+ isDisabled: resolvedDisabled,
147
+ isInvalid: resolvedInvalid,
148
+ isReadOnly: resolvedReadOnly,
149
+ } = otpContext;
150
+
151
+ const cells: React.ReactElement[] = [];
152
+ for (let i = 0; i < cellCount; i++) {
153
+ cells.push(
154
+ <OtpCellIndexProvider key={i} value={{ cellIndex: i }}>
155
+ <OtpStyledCell
156
+ isDisabled={resolvedDisabled}
157
+ isInvalid={resolvedInvalid}
158
+ isReadOnly={resolvedReadOnly}
159
+ >
160
+ <OtpStyledField className={fieldClassName} />
161
+ </OtpStyledCell>
162
+ </OtpCellIndexProvider>,
163
+ );
164
+ }
165
+
67
166
  return (
68
- <OtpPrimitive
69
- ref={ref}
70
- className={rootClassName}
71
- style={style}
72
- context={{ variant, size }}
73
- {...rest}
74
- />
167
+ <ParentContext.Provider value={ctx}>
168
+ <OtpInputProvider value={otpContext}>
169
+ <View
170
+ ref={ref}
171
+ className={rootClassName}
172
+ style={style}
173
+ {...rest}
174
+ {...mergeDataAttributes(rest, dataAttributes({ slot: 'otp-input' }))}
175
+ >
176
+ {cells}
177
+ </View>
178
+ </OtpInputProvider>
179
+ </ParentContext.Provider>
75
180
  );
76
181
  },
77
182
  );
78
183
 
79
- OtpInput.displayName = 'OtpInput';
184
+ OtpInputRoot.displayName = 'OtpInput';
185
+
186
+ type OtpInputCompoundComponent = typeof OtpInputRoot & {
187
+ Cell: typeof OtpStyledCell;
188
+ Field: typeof OtpStyledField;
189
+ };
190
+
191
+ export const OtpInput = Object.assign(OtpInputRoot, {
192
+ Cell: OtpStyledCell,
193
+ Field: OtpStyledField,
194
+ }) as OtpInputCompoundComponent;