react-native-terra-ui 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (379) hide show
  1. package/README.md +70 -0
  2. package/lib/module/components/avatar/Avatar.js +121 -0
  3. package/lib/module/components/avatar/Avatar.js.map +1 -0
  4. package/lib/module/components/avatar/index.js +4 -0
  5. package/lib/module/components/avatar/index.js.map +1 -0
  6. package/lib/module/components/avatar/types.js +4 -0
  7. package/lib/module/components/avatar/types.js.map +1 -0
  8. package/lib/module/components/box/Box.js +49 -0
  9. package/lib/module/components/box/Box.js.map +1 -0
  10. package/lib/module/components/box/index.js +4 -0
  11. package/lib/module/components/box/index.js.map +1 -0
  12. package/lib/module/components/box/utils.js +95 -0
  13. package/lib/module/components/box/utils.js.map +1 -0
  14. package/lib/module/components/button/Button.js +281 -0
  15. package/lib/module/components/button/Button.js.map +1 -0
  16. package/lib/module/components/button/index.js +4 -0
  17. package/lib/module/components/button/index.js.map +1 -0
  18. package/lib/module/components/header/Header.js +25 -0
  19. package/lib/module/components/header/Header.js.map +1 -0
  20. package/lib/module/components/header/header-buttons.js +65 -0
  21. package/lib/module/components/header/header-buttons.js.map +1 -0
  22. package/lib/module/components/header/index.js +7 -0
  23. package/lib/module/components/header/index.js.map +1 -0
  24. package/lib/module/components/header/variants/LargeTitleHeader/index.js +335 -0
  25. package/lib/module/components/header/variants/LargeTitleHeader/index.js.map +1 -0
  26. package/lib/module/components/header/variants/TitleHeader/index.js +184 -0
  27. package/lib/module/components/header/variants/TitleHeader/index.js.map +1 -0
  28. package/lib/module/components/icon/Icon.js +53 -0
  29. package/lib/module/components/icon/Icon.js.map +1 -0
  30. package/lib/module/components/icon/index.js +4 -0
  31. package/lib/module/components/icon/index.js.map +1 -0
  32. package/lib/module/components/icon/utils.js +188 -0
  33. package/lib/module/components/icon/utils.js.map +1 -0
  34. package/lib/module/components/index.js +16 -0
  35. package/lib/module/components/index.js.map +1 -0
  36. package/lib/module/components/page-indicator/PageIndicator.js +49 -0
  37. package/lib/module/components/page-indicator/PageIndicator.js.map +1 -0
  38. package/lib/module/components/page-indicator/PageIndicatorRoot.js +24 -0
  39. package/lib/module/components/page-indicator/PageIndicatorRoot.js.map +1 -0
  40. package/lib/module/components/page-indicator/hooks/use-page-indicator-colors.js +24 -0
  41. package/lib/module/components/page-indicator/hooks/use-page-indicator-colors.js.map +1 -0
  42. package/lib/module/components/page-indicator/hooks/use-page-indicator-core.js +20 -0
  43. package/lib/module/components/page-indicator/hooks/use-page-indicator-core.js.map +1 -0
  44. package/lib/module/components/page-indicator/hooks/use-page-indicator-progress.js +68 -0
  45. package/lib/module/components/page-indicator/hooks/use-page-indicator-progress.js.map +1 -0
  46. package/lib/module/components/page-indicator/index.js +5 -0
  47. package/lib/module/components/page-indicator/index.js.map +1 -0
  48. package/lib/module/components/page-indicator/utils.js +127 -0
  49. package/lib/module/components/page-indicator/utils.js.map +1 -0
  50. package/lib/module/components/page-indicator/variants/DotIndicator/InactiveDot.js +50 -0
  51. package/lib/module/components/page-indicator/variants/DotIndicator/InactiveDot.js.map +1 -0
  52. package/lib/module/components/page-indicator/variants/DotIndicator/LoadingOrbit.js +165 -0
  53. package/lib/module/components/page-indicator/variants/DotIndicator/LoadingOrbit.js.map +1 -0
  54. package/lib/module/components/page-indicator/variants/DotIndicator/TravelingPill.js +60 -0
  55. package/lib/module/components/page-indicator/variants/DotIndicator/TravelingPill.js.map +1 -0
  56. package/lib/module/components/page-indicator/variants/DotIndicator/index.js +87 -0
  57. package/lib/module/components/page-indicator/variants/DotIndicator/index.js.map +1 -0
  58. package/lib/module/components/page-indicator/variants/DotIndicator/utils.js +28 -0
  59. package/lib/module/components/page-indicator/variants/DotIndicator/utils.js.map +1 -0
  60. package/lib/module/components/page-indicator/variants/PillIndicator/PillIndicatorDot.js +53 -0
  61. package/lib/module/components/page-indicator/variants/PillIndicator/PillIndicatorDot.js.map +1 -0
  62. package/lib/module/components/page-indicator/variants/PillIndicator/index.js +76 -0
  63. package/lib/module/components/page-indicator/variants/PillIndicator/index.js.map +1 -0
  64. package/lib/module/components/page-indicator/variants/PillIndicator/utils.js +47 -0
  65. package/lib/module/components/page-indicator/variants/PillIndicator/utils.js.map +1 -0
  66. package/lib/module/components/portal/PortalContext.js +20 -0
  67. package/lib/module/components/portal/PortalContext.js.map +1 -0
  68. package/lib/module/components/portal/PortalHost.js +23 -0
  69. package/lib/module/components/portal/PortalHost.js.map +1 -0
  70. package/lib/module/components/portal/PortalProvider.js +40 -0
  71. package/lib/module/components/portal/PortalProvider.js.map +1 -0
  72. package/lib/module/components/portal/index.js +6 -0
  73. package/lib/module/components/portal/index.js.map +1 -0
  74. package/lib/module/components/screen/Screen.js +100 -0
  75. package/lib/module/components/screen/Screen.js.map +1 -0
  76. package/lib/module/components/screen/ScreenContext.js +66 -0
  77. package/lib/module/components/screen/ScreenContext.js.map +1 -0
  78. package/lib/module/components/screen/ScreenFlatList.js +75 -0
  79. package/lib/module/components/screen/ScreenFlatList.js.map +1 -0
  80. package/lib/module/components/screen/ScreenScrollView.js +82 -0
  81. package/lib/module/components/screen/ScreenScrollView.js.map +1 -0
  82. package/lib/module/components/screen/index.js +7 -0
  83. package/lib/module/components/screen/index.js.map +1 -0
  84. package/lib/module/components/screen/utils.js +13 -0
  85. package/lib/module/components/screen/utils.js.map +1 -0
  86. package/lib/module/components/slot/Slot.js +38 -0
  87. package/lib/module/components/slot/Slot.js.map +1 -0
  88. package/lib/module/components/slot/index.js +10 -0
  89. package/lib/module/components/slot/index.js.map +1 -0
  90. package/lib/module/components/slot/utils.js +55 -0
  91. package/lib/module/components/slot/utils.js.map +1 -0
  92. package/lib/module/components/spinner/Spinner.js +132 -0
  93. package/lib/module/components/spinner/Spinner.js.map +1 -0
  94. package/lib/module/components/spinner/index.js +4 -0
  95. package/lib/module/components/spinner/index.js.map +1 -0
  96. package/lib/module/components/surface/Surface.js +74 -0
  97. package/lib/module/components/surface/Surface.js.map +1 -0
  98. package/lib/module/components/surface/index.js +4 -0
  99. package/lib/module/components/surface/index.js.map +1 -0
  100. package/lib/module/components/text/Text.js +67 -0
  101. package/lib/module/components/text/Text.js.map +1 -0
  102. package/lib/module/components/text/index.js +4 -0
  103. package/lib/module/components/text/index.js.map +1 -0
  104. package/lib/module/components/toast/Toast.js +350 -0
  105. package/lib/module/components/toast/Toast.js.map +1 -0
  106. package/lib/module/components/toast/ToastProvider.js +272 -0
  107. package/lib/module/components/toast/ToastProvider.js.map +1 -0
  108. package/lib/module/components/toast/index.js +5 -0
  109. package/lib/module/components/toast/index.js.map +1 -0
  110. package/lib/module/components/toast/parts/ToastAnimatedItem.js +168 -0
  111. package/lib/module/components/toast/parts/ToastAnimatedItem.js.map +1 -0
  112. package/lib/module/components/toast/types.js +4 -0
  113. package/lib/module/components/toast/types.js.map +1 -0
  114. package/lib/module/components/toast/utils/controller.js +19 -0
  115. package/lib/module/components/toast/utils/controller.js.map +1 -0
  116. package/lib/module/context/ThemeProvider.js +66 -0
  117. package/lib/module/context/ThemeProvider.js.map +1 -0
  118. package/lib/module/context/index.js +4 -0
  119. package/lib/module/context/index.js.map +1 -0
  120. package/lib/module/index.js +8 -0
  121. package/lib/module/index.js.map +1 -0
  122. package/lib/module/package.json +1 -0
  123. package/lib/module/theme/configure.js +152 -0
  124. package/lib/module/theme/configure.js.map +1 -0
  125. package/lib/module/theme/index.js +22 -0
  126. package/lib/module/theme/index.js.map +1 -0
  127. package/lib/module/theme/runtime.js +25 -0
  128. package/lib/module/theme/runtime.js.map +1 -0
  129. package/lib/module/theme/theme.js +121 -0
  130. package/lib/module/theme/theme.js.map +1 -0
  131. package/lib/module/theme/tokens/dark.js +109 -0
  132. package/lib/module/theme/tokens/dark.js.map +1 -0
  133. package/lib/module/theme/tokens/light.js +115 -0
  134. package/lib/module/theme/tokens/light.js.map +1 -0
  135. package/lib/module/theme/tokens/primitives.js +228 -0
  136. package/lib/module/theme/tokens/primitives.js.map +1 -0
  137. package/lib/module/theme/types.js +4 -0
  138. package/lib/module/theme/types.js.map +1 -0
  139. package/lib/module/types.js +2 -0
  140. package/lib/module/types.js.map +1 -0
  141. package/lib/module/utils/accent-utils.js +52 -0
  142. package/lib/module/utils/accent-utils.js.map +1 -0
  143. package/lib/module/utils/color-utils.js +53 -0
  144. package/lib/module/utils/color-utils.js.map +1 -0
  145. package/lib/module/utils/deep-merge.js +28 -0
  146. package/lib/module/utils/deep-merge.js.map +1 -0
  147. package/lib/module/utils/resolve-theme-color.js +20 -0
  148. package/lib/module/utils/resolve-theme-color.js.map +1 -0
  149. package/lib/module/utils/typography.js +13 -0
  150. package/lib/module/utils/typography.js.map +1 -0
  151. package/lib/module/utils/unflatten.js +35 -0
  152. package/lib/module/utils/unflatten.js.map +1 -0
  153. package/lib/typescript/package.json +1 -0
  154. package/lib/typescript/src/components/avatar/Avatar.d.ts +3 -0
  155. package/lib/typescript/src/components/avatar/Avatar.d.ts.map +1 -0
  156. package/lib/typescript/src/components/avatar/index.d.ts +3 -0
  157. package/lib/typescript/src/components/avatar/index.d.ts.map +1 -0
  158. package/lib/typescript/src/components/avatar/types.d.ts +30 -0
  159. package/lib/typescript/src/components/avatar/types.d.ts.map +1 -0
  160. package/lib/typescript/src/components/box/Box.d.ts +12 -0
  161. package/lib/typescript/src/components/box/Box.d.ts.map +1 -0
  162. package/lib/typescript/src/components/box/index.d.ts +4 -0
  163. package/lib/typescript/src/components/box/index.d.ts.map +1 -0
  164. package/lib/typescript/src/components/box/utils.d.ts +39 -0
  165. package/lib/typescript/src/components/box/utils.d.ts.map +1 -0
  166. package/lib/typescript/src/components/button/Button.d.ts +46 -0
  167. package/lib/typescript/src/components/button/Button.d.ts.map +1 -0
  168. package/lib/typescript/src/components/button/index.d.ts +3 -0
  169. package/lib/typescript/src/components/button/index.d.ts.map +1 -0
  170. package/lib/typescript/src/components/header/Header.d.ts +22 -0
  171. package/lib/typescript/src/components/header/Header.d.ts.map +1 -0
  172. package/lib/typescript/src/components/header/header-buttons.d.ts +16 -0
  173. package/lib/typescript/src/components/header/header-buttons.d.ts.map +1 -0
  174. package/lib/typescript/src/components/header/index.d.ts +7 -0
  175. package/lib/typescript/src/components/header/index.d.ts.map +1 -0
  176. package/lib/typescript/src/components/header/variants/LargeTitleHeader/index.d.ts +25 -0
  177. package/lib/typescript/src/components/header/variants/LargeTitleHeader/index.d.ts.map +1 -0
  178. package/lib/typescript/src/components/header/variants/TitleHeader/index.d.ts +28 -0
  179. package/lib/typescript/src/components/header/variants/TitleHeader/index.d.ts.map +1 -0
  180. package/lib/typescript/src/components/icon/Icon.d.ts +22 -0
  181. package/lib/typescript/src/components/icon/Icon.d.ts.map +1 -0
  182. package/lib/typescript/src/components/icon/index.d.ts +3 -0
  183. package/lib/typescript/src/components/icon/index.d.ts.map +1 -0
  184. package/lib/typescript/src/components/icon/utils.d.ts +4 -0
  185. package/lib/typescript/src/components/icon/utils.d.ts.map +1 -0
  186. package/lib/typescript/src/components/index.d.ts +14 -0
  187. package/lib/typescript/src/components/index.d.ts.map +1 -0
  188. package/lib/typescript/src/components/page-indicator/PageIndicator.d.ts +48 -0
  189. package/lib/typescript/src/components/page-indicator/PageIndicator.d.ts.map +1 -0
  190. package/lib/typescript/src/components/page-indicator/PageIndicatorRoot.d.ts +13 -0
  191. package/lib/typescript/src/components/page-indicator/PageIndicatorRoot.d.ts.map +1 -0
  192. package/lib/typescript/src/components/page-indicator/hooks/use-page-indicator-colors.d.ts +14 -0
  193. package/lib/typescript/src/components/page-indicator/hooks/use-page-indicator-colors.d.ts.map +1 -0
  194. package/lib/typescript/src/components/page-indicator/hooks/use-page-indicator-core.d.ts +11 -0
  195. package/lib/typescript/src/components/page-indicator/hooks/use-page-indicator-core.d.ts.map +1 -0
  196. package/lib/typescript/src/components/page-indicator/hooks/use-page-indicator-progress.d.ts +19 -0
  197. package/lib/typescript/src/components/page-indicator/hooks/use-page-indicator-progress.d.ts.map +1 -0
  198. package/lib/typescript/src/components/page-indicator/index.d.ts +4 -0
  199. package/lib/typescript/src/components/page-indicator/index.d.ts.map +1 -0
  200. package/lib/typescript/src/components/page-indicator/utils.d.ts +36 -0
  201. package/lib/typescript/src/components/page-indicator/utils.d.ts.map +1 -0
  202. package/lib/typescript/src/components/page-indicator/variants/DotIndicator/InactiveDot.d.ts +14 -0
  203. package/lib/typescript/src/components/page-indicator/variants/DotIndicator/InactiveDot.d.ts.map +1 -0
  204. package/lib/typescript/src/components/page-indicator/variants/DotIndicator/LoadingOrbit.d.ts +11 -0
  205. package/lib/typescript/src/components/page-indicator/variants/DotIndicator/LoadingOrbit.d.ts.map +1 -0
  206. package/lib/typescript/src/components/page-indicator/variants/DotIndicator/TravelingPill.d.ts +15 -0
  207. package/lib/typescript/src/components/page-indicator/variants/DotIndicator/TravelingPill.d.ts.map +1 -0
  208. package/lib/typescript/src/components/page-indicator/variants/DotIndicator/index.d.ts +32 -0
  209. package/lib/typescript/src/components/page-indicator/variants/DotIndicator/index.d.ts.map +1 -0
  210. package/lib/typescript/src/components/page-indicator/variants/DotIndicator/utils.d.ts +14 -0
  211. package/lib/typescript/src/components/page-indicator/variants/DotIndicator/utils.d.ts.map +1 -0
  212. package/lib/typescript/src/components/page-indicator/variants/PillIndicator/PillIndicatorDot.d.ts +16 -0
  213. package/lib/typescript/src/components/page-indicator/variants/PillIndicator/PillIndicatorDot.d.ts.map +1 -0
  214. package/lib/typescript/src/components/page-indicator/variants/PillIndicator/index.d.ts +28 -0
  215. package/lib/typescript/src/components/page-indicator/variants/PillIndicator/index.d.ts.map +1 -0
  216. package/lib/typescript/src/components/page-indicator/variants/PillIndicator/utils.d.ts +21 -0
  217. package/lib/typescript/src/components/page-indicator/variants/PillIndicator/utils.d.ts.map +1 -0
  218. package/lib/typescript/src/components/portal/PortalContext.d.ts +19 -0
  219. package/lib/typescript/src/components/portal/PortalContext.d.ts.map +1 -0
  220. package/lib/typescript/src/components/portal/PortalHost.d.ts +7 -0
  221. package/lib/typescript/src/components/portal/PortalHost.d.ts.map +1 -0
  222. package/lib/typescript/src/components/portal/PortalProvider.d.ts +11 -0
  223. package/lib/typescript/src/components/portal/PortalProvider.d.ts.map +1 -0
  224. package/lib/typescript/src/components/portal/index.d.ts +6 -0
  225. package/lib/typescript/src/components/portal/index.d.ts.map +1 -0
  226. package/lib/typescript/src/components/screen/Screen.d.ts +53 -0
  227. package/lib/typescript/src/components/screen/Screen.d.ts.map +1 -0
  228. package/lib/typescript/src/components/screen/ScreenContext.d.ts +64 -0
  229. package/lib/typescript/src/components/screen/ScreenContext.d.ts.map +1 -0
  230. package/lib/typescript/src/components/screen/ScreenFlatList.d.ts +26 -0
  231. package/lib/typescript/src/components/screen/ScreenFlatList.d.ts.map +1 -0
  232. package/lib/typescript/src/components/screen/ScreenScrollView.d.ts +36 -0
  233. package/lib/typescript/src/components/screen/ScreenScrollView.d.ts.map +1 -0
  234. package/lib/typescript/src/components/screen/index.d.ts +9 -0
  235. package/lib/typescript/src/components/screen/index.d.ts.map +1 -0
  236. package/lib/typescript/src/components/screen/utils.d.ts +10 -0
  237. package/lib/typescript/src/components/screen/utils.d.ts.map +1 -0
  238. package/lib/typescript/src/components/slot/Slot.d.ts +17 -0
  239. package/lib/typescript/src/components/slot/Slot.d.ts.map +1 -0
  240. package/lib/typescript/src/components/slot/index.d.ts +8 -0
  241. package/lib/typescript/src/components/slot/index.d.ts.map +1 -0
  242. package/lib/typescript/src/components/slot/utils.d.ts +17 -0
  243. package/lib/typescript/src/components/slot/utils.d.ts.map +1 -0
  244. package/lib/typescript/src/components/spinner/Spinner.d.ts +18 -0
  245. package/lib/typescript/src/components/spinner/Spinner.d.ts.map +1 -0
  246. package/lib/typescript/src/components/spinner/index.d.ts +3 -0
  247. package/lib/typescript/src/components/spinner/index.d.ts.map +1 -0
  248. package/lib/typescript/src/components/surface/Surface.d.ts +31 -0
  249. package/lib/typescript/src/components/surface/Surface.d.ts.map +1 -0
  250. package/lib/typescript/src/components/surface/index.d.ts +3 -0
  251. package/lib/typescript/src/components/surface/index.d.ts.map +1 -0
  252. package/lib/typescript/src/components/text/Text.d.ts +23 -0
  253. package/lib/typescript/src/components/text/Text.d.ts.map +1 -0
  254. package/lib/typescript/src/components/text/index.d.ts +3 -0
  255. package/lib/typescript/src/components/text/index.d.ts.map +1 -0
  256. package/lib/typescript/src/components/toast/Toast.d.ts +71 -0
  257. package/lib/typescript/src/components/toast/Toast.d.ts.map +1 -0
  258. package/lib/typescript/src/components/toast/ToastProvider.d.ts +4 -0
  259. package/lib/typescript/src/components/toast/ToastProvider.d.ts.map +1 -0
  260. package/lib/typescript/src/components/toast/index.d.ts +5 -0
  261. package/lib/typescript/src/components/toast/index.d.ts.map +1 -0
  262. package/lib/typescript/src/components/toast/parts/ToastAnimatedItem.d.ts +18 -0
  263. package/lib/typescript/src/components/toast/parts/ToastAnimatedItem.d.ts.map +1 -0
  264. package/lib/typescript/src/components/toast/types.d.ts +62 -0
  265. package/lib/typescript/src/components/toast/types.d.ts.map +1 -0
  266. package/lib/typescript/src/components/toast/utils/controller.d.ts +5 -0
  267. package/lib/typescript/src/components/toast/utils/controller.d.ts.map +1 -0
  268. package/lib/typescript/src/context/ThemeProvider.d.ts +29 -0
  269. package/lib/typescript/src/context/ThemeProvider.d.ts.map +1 -0
  270. package/lib/typescript/src/context/index.d.ts +3 -0
  271. package/lib/typescript/src/context/index.d.ts.map +1 -0
  272. package/lib/typescript/src/index.d.ts +4 -0
  273. package/lib/typescript/src/index.d.ts.map +1 -0
  274. package/lib/typescript/src/theme/configure.d.ts +47 -0
  275. package/lib/typescript/src/theme/configure.d.ts.map +1 -0
  276. package/lib/typescript/src/theme/index.d.ts +11 -0
  277. package/lib/typescript/src/theme/index.d.ts.map +1 -0
  278. package/lib/typescript/src/theme/runtime.d.ts +7 -0
  279. package/lib/typescript/src/theme/runtime.d.ts.map +1 -0
  280. package/lib/typescript/src/theme/theme.d.ts +22 -0
  281. package/lib/typescript/src/theme/theme.d.ts.map +1 -0
  282. package/lib/typescript/src/theme/tokens/dark.d.ts +100 -0
  283. package/lib/typescript/src/theme/tokens/dark.d.ts.map +1 -0
  284. package/lib/typescript/src/theme/tokens/light.d.ts +106 -0
  285. package/lib/typescript/src/theme/tokens/light.d.ts.map +1 -0
  286. package/lib/typescript/src/theme/tokens/primitives.d.ts +212 -0
  287. package/lib/typescript/src/theme/tokens/primitives.d.ts.map +1 -0
  288. package/lib/typescript/src/theme/types.d.ts +273 -0
  289. package/lib/typescript/src/theme/types.d.ts.map +1 -0
  290. package/lib/typescript/src/types.d.ts +4 -0
  291. package/lib/typescript/src/types.d.ts.map +1 -0
  292. package/lib/typescript/src/utils/accent-utils.d.ts +4 -0
  293. package/lib/typescript/src/utils/accent-utils.d.ts.map +1 -0
  294. package/lib/typescript/src/utils/color-utils.d.ts +11 -0
  295. package/lib/typescript/src/utils/color-utils.d.ts.map +1 -0
  296. package/lib/typescript/src/utils/deep-merge.d.ts +11 -0
  297. package/lib/typescript/src/utils/deep-merge.d.ts.map +1 -0
  298. package/lib/typescript/src/utils/resolve-theme-color.d.ts +12 -0
  299. package/lib/typescript/src/utils/resolve-theme-color.d.ts.map +1 -0
  300. package/lib/typescript/src/utils/typography.d.ts +6 -0
  301. package/lib/typescript/src/utils/typography.d.ts.map +1 -0
  302. package/lib/typescript/src/utils/unflatten.d.ts +12 -0
  303. package/lib/typescript/src/utils/unflatten.d.ts.map +1 -0
  304. package/package.json +137 -0
  305. package/src/components/avatar/Avatar.tsx +146 -0
  306. package/src/components/avatar/index.ts +8 -0
  307. package/src/components/avatar/types.ts +35 -0
  308. package/src/components/box/Box.tsx +59 -0
  309. package/src/components/box/index.ts +8 -0
  310. package/src/components/box/utils.ts +181 -0
  311. package/src/components/button/Button.tsx +313 -0
  312. package/src/components/button/index.ts +8 -0
  313. package/src/components/header/Header.ts +22 -0
  314. package/src/components/header/header-buttons.tsx +103 -0
  315. package/src/components/header/index.ts +11 -0
  316. package/src/components/header/variants/LargeTitleHeader/index.tsx +390 -0
  317. package/src/components/header/variants/TitleHeader/index.tsx +194 -0
  318. package/src/components/icon/Icon.tsx +74 -0
  319. package/src/components/icon/index.ts +2 -0
  320. package/src/components/icon/utils.tsx +147 -0
  321. package/src/components/index.ts +13 -0
  322. package/src/components/page-indicator/PageIndicator.tsx +100 -0
  323. package/src/components/page-indicator/PageIndicatorRoot.tsx +41 -0
  324. package/src/components/page-indicator/hooks/use-page-indicator-colors.ts +65 -0
  325. package/src/components/page-indicator/hooks/use-page-indicator-core.ts +34 -0
  326. package/src/components/page-indicator/hooks/use-page-indicator-progress.ts +122 -0
  327. package/src/components/page-indicator/index.ts +13 -0
  328. package/src/components/page-indicator/utils.ts +208 -0
  329. package/src/components/page-indicator/variants/DotIndicator/InactiveDot.tsx +70 -0
  330. package/src/components/page-indicator/variants/DotIndicator/LoadingOrbit.tsx +201 -0
  331. package/src/components/page-indicator/variants/DotIndicator/TravelingPill.tsx +80 -0
  332. package/src/components/page-indicator/variants/DotIndicator/index.tsx +145 -0
  333. package/src/components/page-indicator/variants/DotIndicator/utils.ts +28 -0
  334. package/src/components/page-indicator/variants/PillIndicator/PillIndicatorDot.tsx +107 -0
  335. package/src/components/page-indicator/variants/PillIndicator/index.tsx +149 -0
  336. package/src/components/page-indicator/variants/PillIndicator/utils.ts +63 -0
  337. package/src/components/portal/PortalContext.tsx +27 -0
  338. package/src/components/portal/PortalHost.tsx +20 -0
  339. package/src/components/portal/PortalProvider.tsx +44 -0
  340. package/src/components/portal/index.ts +5 -0
  341. package/src/components/screen/Screen.tsx +163 -0
  342. package/src/components/screen/ScreenContext.tsx +144 -0
  343. package/src/components/screen/ScreenFlatList.tsx +121 -0
  344. package/src/components/screen/ScreenScrollView.tsx +130 -0
  345. package/src/components/screen/index.ts +8 -0
  346. package/src/components/screen/utils.ts +17 -0
  347. package/src/components/slot/Slot.tsx +56 -0
  348. package/src/components/slot/index.ts +8 -0
  349. package/src/components/slot/utils.ts +61 -0
  350. package/src/components/spinner/Spinner.tsx +153 -0
  351. package/src/components/spinner/index.ts +2 -0
  352. package/src/components/surface/Surface.tsx +100 -0
  353. package/src/components/surface/index.ts +2 -0
  354. package/src/components/text/Text.tsx +115 -0
  355. package/src/components/text/index.ts +2 -0
  356. package/src/components/toast/Toast.tsx +477 -0
  357. package/src/components/toast/ToastProvider.tsx +403 -0
  358. package/src/components/toast/index.ts +26 -0
  359. package/src/components/toast/parts/ToastAnimatedItem.tsx +184 -0
  360. package/src/components/toast/types.ts +75 -0
  361. package/src/components/toast/utils/controller.ts +23 -0
  362. package/src/context/ThemeProvider.tsx +97 -0
  363. package/src/context/index.ts +2 -0
  364. package/src/index.tsx +6 -0
  365. package/src/theme/configure.ts +215 -0
  366. package/src/theme/index.ts +72 -0
  367. package/src/theme/runtime.ts +27 -0
  368. package/src/theme/theme.ts +152 -0
  369. package/src/theme/tokens/dark.ts +117 -0
  370. package/src/theme/tokens/light.ts +123 -0
  371. package/src/theme/tokens/primitives.ts +232 -0
  372. package/src/theme/types.ts +384 -0
  373. package/src/types.ts +1 -0
  374. package/src/utils/accent-utils.ts +58 -0
  375. package/src/utils/color-utils.ts +51 -0
  376. package/src/utils/deep-merge.ts +36 -0
  377. package/src/utils/resolve-theme-color.ts +27 -0
  378. package/src/utils/typography.ts +15 -0
  379. package/src/utils/unflatten.ts +36 -0
@@ -0,0 +1,19 @@
1
+ import type { SharedValue } from 'react-native-reanimated';
2
+ export interface PillJumpState {
3
+ active: SharedValue<boolean>;
4
+ from: SharedValue<number>;
5
+ to: SharedValue<number>;
6
+ t: SharedValue<number>;
7
+ }
8
+ /**
9
+ * Returns scroll-linked `progress` when provided; otherwise owns a shared value
10
+ * that animates toward the discrete page index.
11
+ *
12
+ * Single-step pill changes animate `progress` continuously. Multi-step pill
13
+ * jumps cross-fade only the source and target dots — intermediates stay idle.
14
+ */
15
+ export declare function usePageIndicatorProgress(count: number, progress: SharedValue<number> | undefined, page: number | undefined, variant?: 'pill' | 'dot', duration?: number): {
16
+ progress: SharedValue<number>;
17
+ pillJump: PillJumpState;
18
+ };
19
+ //# sourceMappingURL=use-page-indicator-progress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-page-indicator-progress.d.ts","sourceRoot":"","sources":["../../../../../../src/components/page-indicator/hooks/use-page-indicator-progress.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAmB3D,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7B,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1B,EAAE,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACxB;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,EACzC,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,OAAO,GAAE,MAAM,GAAG,KAAc,EAChC,QAAQ,SAAsC,GAC7C;IAAE,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAAC,QAAQ,EAAE,aAAa,CAAA;CAAE,CAgF5D"}
@@ -0,0 +1,4 @@
1
+ export type { DotIndicatorProps, PageIndicatorDotProps, PageIndicatorPillProps, PageIndicatorProps, PageIndicatorVariant, PillIndicatorProps, } from './PageIndicator.js';
2
+ export { DotIndicator, PageIndicator, PillIndicator } from './PageIndicator.js';
3
+ export { DEFAULT_PAGE_INDICATOR_MAX_VISIBLE, PAGE_INDICATOR_SINGLE_PAGE_DURATION, } from './utils.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/page-indicator/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,oBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAiB,CAAC;AAC7E,OAAO,EACL,kCAAkC,EAClC,mCAAmC,GACpC,MAAM,YAAS,CAAC"}
@@ -0,0 +1,36 @@
1
+ import type { ViewStyle } from 'react-native';
2
+ import type { SharedValue } from 'react-native-reanimated';
3
+ /** Duration for a single-page `current` transition. */
4
+ export declare const PAGE_INDICATOR_SINGLE_PAGE_DURATION = 600;
5
+ /** Extra duration per additional page when jumping more than one step. */
6
+ export declare const PAGE_INDICATOR_MULTI_PAGE_DURATION_STEP = 100;
7
+ /** Upper bound for multi-page `current` transitions. */
8
+ export declare const PAGE_INDICATOR_MULTI_PAGE_DURATION_MAX = 600;
9
+ /** Default max dots visible before scrolling and edge scaling kick in. */
10
+ export declare const DEFAULT_PAGE_INDICATOR_MAX_VISIBLE = 5;
11
+ /** Absolute page delta between two indices. */
12
+ export declare function pageIndicatorPageJumpDistance(from: number, to: number): number;
13
+ /**
14
+ * Scales transition time for discrete `current` changes. Single-step jumps stay
15
+ * snappy; longer jumps get more time (capped) so the pill does not blur
16
+ * through intermediate dots.
17
+ */
18
+ export declare function pageIndicatorPageJumpDuration(from: number, to: number): number;
19
+ export declare function isPageIndicatorSharedValue(value: number | SharedValue<number>): value is SharedValue<number>;
20
+ /** Transform style for overflow track scrolling along the main axis. */
21
+ export declare function pageIndicatorAxisTranslateStyle(vertical: boolean, translate: number): {
22
+ transform: {
23
+ translateY: number;
24
+ }[] | {
25
+ translateX: number;
26
+ }[];
27
+ };
28
+ /** Clips an overflowing track to the visible viewport along the main axis. */
29
+ export declare function pageIndicatorViewportClipStyle(vertical: boolean, viewportMainSize: number, crossSize?: number): ViewStyle;
30
+ /** Scale for a slot inside the window given the active slot. */
31
+ export declare function pageIndicatorWindowSlotScale(positionInWindow: number, activeSlot: number, maxVisible: number): number;
32
+ export declare function pageIndicatorTrackMainSize(count: number, slot: number, dotSize: number, activeMainSize?: number): number;
33
+ export declare function pageIndicatorViewportMainSize(count: number, slot: number, dotSize: number, maxVisible: number, activeMainSize?: number): number;
34
+ export declare function computePageIndicatorWindowTranslate(count: number, progress: number, slot: number, dotSize: number, maxVisible: number, activeMainSize?: number): number;
35
+ export declare function pageIndicatorWindowScale(index: number, displayProgress: number, count: number, slot: number, dotSize: number, maxVisible: number, activeMainSize?: number): number;
36
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/components/page-indicator/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,uDAAuD;AACvD,eAAO,MAAM,mCAAmC,MAAM,CAAC;AAEvD,0EAA0E;AAC1E,eAAO,MAAM,uCAAuC,MAAM,CAAC;AAE3D,wDAAwD;AACxD,eAAO,MAAM,sCAAsC,MAAM,CAAC;AAE1D,0EAA0E;AAC1E,eAAO,MAAM,kCAAkC,IAAI,CAAC;AAMpD,+CAA+C;AAC/C,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,MAAM,CAER;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,MAAM,CASR;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,GAClC,KAAK,IAAI,WAAW,CAAC,MAAM,CAAC,CAE9B;AAED,wEAAwE;AACxE,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,OAAO,EACjB,SAAS,EAAE,MAAM;;;;;;EAQlB;AAED,8EAA8E;AAC9E,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,OAAO,EACjB,gBAAgB,EAAE,MAAM,EACxB,SAAS,CAAC,EAAE,MAAM,GACjB,SAAS,CAcX;AAYD,gEAAgE;AAChE,wBAAgB,4BAA4B,CAC1C,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,MAAM,CA2BR;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,cAAc,SAAU,GACvB,MAAM,CAER;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,cAAc,SAAU,GACvB,MAAM,CAGR;AAED,wBAAgB,mCAAmC,CACjD,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,cAAc,SAAU,GACvB,MAAM,CAgBR;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,cAAc,SAAU,GACvB,MAAM,CAuBR"}
@@ -0,0 +1,14 @@
1
+ import { type SharedValue } from 'react-native-reanimated';
2
+ interface InactiveDotProps {
3
+ color: string;
4
+ count: number;
5
+ index: number;
6
+ maxVisible: number;
7
+ opacity: number;
8
+ overflows: boolean;
9
+ progress: SharedValue<number>;
10
+ vertical: boolean;
11
+ }
12
+ export declare function InactiveDot({ color, count, index, maxVisible, opacity, overflows, progress, vertical, }: InactiveDotProps): import("react").JSX.Element;
13
+ export {};
14
+ //# sourceMappingURL=InactiveDot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InactiveDot.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/page-indicator/variants/DotIndicator/InactiveDot.tsx"],"names":[],"mappings":"AAAA,OAAiB,EACf,KAAK,WAAW,EAEjB,MAAM,yBAAyB,CAAC;AAMjC,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,KAAK,EACL,KAAK,EACL,UAAU,EACV,OAAO,EACP,SAAS,EACT,QAAQ,EACR,QAAQ,GACT,EAAE,gBAAgB,+BAwClB"}
@@ -0,0 +1,11 @@
1
+ import { type SharedValue } from 'react-native-reanimated';
2
+ interface LoadingOrbitProps {
3
+ color: string;
4
+ count: number;
5
+ loading: boolean;
6
+ progress: SharedValue<number>;
7
+ vertical: boolean;
8
+ }
9
+ export declare function LoadingOrbit({ color, count, loading, progress, vertical, }: LoadingOrbitProps): import("react").JSX.Element;
10
+ export {};
11
+ //# sourceMappingURL=LoadingOrbit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadingOrbit.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/page-indicator/variants/DotIndicator/LoadingOrbit.tsx"],"names":[],"mappings":"AAEA,OAAiB,EAGf,KAAK,WAAW,EAKjB,MAAM,yBAAyB,CAAC;AAyGjC,UAAU,iBAAiB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,KAAK,EACL,OAAO,EACP,QAAQ,EACR,QAAQ,GACT,EAAE,iBAAiB,+BAuEnB"}
@@ -0,0 +1,15 @@
1
+ import { type SharedValue } from 'react-native-reanimated';
2
+ interface TravelingPillProps {
3
+ activeColor: string;
4
+ count: number;
5
+ progress: SharedValue<number>;
6
+ vertical: boolean;
7
+ }
8
+ /**
9
+ * A single pill on top of the resting dots. As `progress` moves between pages
10
+ * its leading edge advances first (stretch), then its trailing edge catches up
11
+ * (collapse).
12
+ */
13
+ export declare function TravelingPill({ activeColor, count, progress, vertical, }: TravelingPillProps): import("react").JSX.Element;
14
+ export {};
15
+ //# sourceMappingURL=TravelingPill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TravelingPill.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/page-indicator/variants/DotIndicator/TravelingPill.tsx"],"names":[],"mappings":"AAAA,OAAiB,EAGf,KAAK,WAAW,EAEjB,MAAM,yBAAyB,CAAC;AAIjC,UAAU,kBAAkB;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAC5B,WAAW,EACX,KAAK,EACL,QAAQ,EACR,QAAQ,GACT,EAAE,kBAAkB,+BAqDpB"}
@@ -0,0 +1,32 @@
1
+ import type { StyleProp, ViewStyle } from 'react-native';
2
+ import type { SharedValue } from 'react-native-reanimated';
3
+ import type { ColorToken } from '#theme/types';
4
+ export interface DotIndicatorProps {
5
+ /** Number of pages represented by the indicator. */
6
+ count: number;
7
+ /**
8
+ * Active page index, or a shared value for scroll-linked motion.
9
+ * Index `0` is the first page; fractional values animate between pages.
10
+ */
11
+ current?: number | SharedValue<number>;
12
+ /** Duration for discrete `current` changes. Defaults to `250`. */
13
+ duration?: number;
14
+ /** Active page color token. */
15
+ activeColor?: ColorToken;
16
+ /** Inactive page color token. */
17
+ inactiveColor?: ColorToken;
18
+ /** Loading ring color token. */
19
+ loadingColor?: ColorToken;
20
+ /** Renders a ring around the active dot while loading. */
21
+ loading?: boolean;
22
+ /** Stack dots vertically instead of horizontally. */
23
+ vertical?: boolean;
24
+ /**
25
+ * Maximum dots visible before the track scrolls and edge-scales.
26
+ * Defaults to `5`. Overflow scrolling is off when `count <= maxVisible`.
27
+ */
28
+ maxVisible?: number;
29
+ style?: StyleProp<ViewStyle>;
30
+ }
31
+ export declare function DotIndicator({ count, current, duration, activeColor, inactiveColor, loadingColor, loading, vertical, maxVisible, style, }: DotIndicatorProps): import("react").JSX.Element;
32
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/page-indicator/variants/DotIndicator/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAG3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAkB/C,MAAM,WAAW,iBAAiB;IAChC,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+BAA+B;IAC/B,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,iCAAiC;IACjC,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,gCAAgC;IAChC,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,0DAA0D;IAC1D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,OAAW,EACX,QAA8C,EAC9C,WAAW,EACX,aAAa,EACb,YAAY,EACZ,OAAe,EACf,QAAgB,EAChB,UAA+C,EAC/C,KAAK,GACN,EAAE,iBAAiB,+BAiFnB"}
@@ -0,0 +1,14 @@
1
+ /** Precomputed geometry shared by DotIndicator sub-components. */
2
+ export declare const DOT_INDICATOR_GEOMETRY: {
3
+ readonly dotSize: 8;
4
+ readonly slot: number;
5
+ readonly crossSize: number;
6
+ readonly ringSize: 14;
7
+ readonly ringStroke: 1.5;
8
+ readonly ringRadius: number;
9
+ readonly ringCircumference: number;
10
+ readonly inactiveOpacity: 0.42;
11
+ };
12
+ /** Main-axis center of dot `index` within the track. */
13
+ export declare function pageIndicatorDotCenter(index: number, slot: number, dotSize: number): number;
14
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/page-indicator/variants/DotIndicator/utils.ts"],"names":[],"mappings":"AAOA,kEAAkE;AAClE,eAAO,MAAM,sBAAsB;;;;;;;;;CASzB,CAAC;AAEX,wDAAwD;AACxD,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,MAAM,CAGR"}
@@ -0,0 +1,16 @@
1
+ import { type SharedValue } from 'react-native-reanimated';
2
+ import type { PillJumpState } from '../../hooks/use-page-indicator-progress.js';
3
+ interface PillIndicatorDotProps {
4
+ activeColor: string;
5
+ inactiveColor: string;
6
+ count: number;
7
+ index: number;
8
+ maxVisible: number;
9
+ overflows: boolean;
10
+ pillJump: PillJumpState;
11
+ progress: SharedValue<number>;
12
+ vertical: boolean;
13
+ }
14
+ export declare function PillIndicatorDot({ activeColor, inactiveColor, count, index, maxVisible, overflows, pillJump, progress, vertical, }: PillIndicatorDotProps): import("react").JSX.Element;
15
+ export {};
16
+ //# sourceMappingURL=PillIndicatorDot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PillIndicatorDot.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/page-indicator/variants/PillIndicator/PillIndicatorDot.tsx"],"names":[],"mappings":"AAAA,OAAiB,EAIf,KAAK,WAAW,EAEjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4CAAyC,CAAC;AAU7E,UAAU,qBAAqB;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,aAAa,CAAC;IACxB,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,WAAW,EACX,aAAa,EACb,KAAK,EACL,KAAK,EACL,UAAU,EACV,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,GACT,EAAE,qBAAqB,+BAkEvB"}
@@ -0,0 +1,28 @@
1
+ import type { StyleProp, ViewStyle } from 'react-native';
2
+ import type { SharedValue } from 'react-native-reanimated';
3
+ import type { ColorToken } from '#theme/types';
4
+ export interface PillIndicatorProps {
5
+ /** Number of pages represented by the indicator. */
6
+ count: number;
7
+ /**
8
+ * Active page index, or a shared value for scroll-linked motion.
9
+ * Index `0` is the first page; fractional values animate between pages.
10
+ */
11
+ current?: number | SharedValue<number>;
12
+ /** Duration for discrete `current` changes. Defaults to `600`. */
13
+ duration?: number;
14
+ /** Active page color token. */
15
+ activeColor?: ColorToken;
16
+ /** Inactive page color token. */
17
+ inactiveColor?: ColorToken;
18
+ /** Stack pills vertically instead of horizontally. */
19
+ vertical?: boolean;
20
+ /**
21
+ * Maximum dots visible before the track scrolls and edge-scales.
22
+ * Defaults to `5`. Overflow scrolling is off when `count <= maxVisible`.
23
+ */
24
+ maxVisible?: number;
25
+ style?: StyleProp<ViewStyle>;
26
+ }
27
+ export declare function PillIndicator({ count, current, duration, activeColor, inactiveColor, vertical, maxVisible, style, }: PillIndicatorProps): import("react").JSX.Element;
28
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/page-indicator/variants/PillIndicator/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAG3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAmB/C,MAAM,WAAW,kBAAkB;IACjC,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+BAA+B;IAC/B,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,iCAAiC;IACjC,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,sDAAsD;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,OAAW,EACX,QAA8C,EAC9C,WAAW,EACX,aAAa,EACb,QAAgB,EAChB,UAA+C,EAC/C,KAAK,GACN,EAAE,kBAAkB,+BA0FpB"}
@@ -0,0 +1,21 @@
1
+ import type { PillJumpState } from '../../hooks/use-page-indicator-progress.js';
2
+ /** Precomputed geometry shared by PillIndicator sub-components. */
3
+ export declare const PILL_INDICATOR_GEOMETRY: {
4
+ readonly dotSize: 8;
5
+ readonly gap: 8;
6
+ readonly slot: number;
7
+ readonly activeWidth: 24;
8
+ readonly inactiveOpacity: 0.42;
9
+ readonly inactiveScale: 0.9;
10
+ };
11
+ export type PillIndicatorGeometry = typeof PILL_INDICATOR_GEOMETRY;
12
+ export declare function readPillJumpState(jump: PillJumpState): {
13
+ active: boolean;
14
+ from: number;
15
+ to: number;
16
+ t: number;
17
+ };
18
+ export declare function pillIndicatorDotDistance(index: number, progress: number, jumpActive: boolean, jumpFrom: number, jumpTo: number, jumpT: number): number;
19
+ /** Progress for window translation during a multi-page pill jump. */
20
+ export declare function pillIndicatorJumpDisplayProgress(progress: number, jumpActive: boolean, jumpFrom: number, jumpTo: number, jumpT: number): number;
21
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/page-indicator/variants/PillIndicator/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4CAAyC,CAAC;AAK7E,mEAAmE;AACnE,eAAO,MAAM,uBAAuB;;;;;;;CAO1B,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAAG,OAAO,uBAAuB,CAAC;AAEnE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa;;;;;EAQpD;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,OAAO,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,MAAM,CAeR;AAED,qEAAqE;AACrE,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,OAAO,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,MAAM,CAIR"}
@@ -0,0 +1,19 @@
1
+ import { type ReactNode } from 'react';
2
+ export interface PortalContextValue {
3
+ /** Register (or replace) portal content under a stable id. */
4
+ registerContent: (id: string, content: ReactNode) => void;
5
+ /** Remove the content previously registered under `id`. */
6
+ unregisterContent: (id: string) => void;
7
+ /** Currently registered content, keyed by id, rendered by `PortalHost`. */
8
+ contents: Map<string, ReactNode>;
9
+ }
10
+ export declare const PortalContext: import("react").Context<PortalContextValue | null>;
11
+ /**
12
+ * Access the nearest {@link PortalProvider}. Used by components that need to
13
+ * teleport content into a `PortalHost` rendered elsewhere in the tree (e.g. the
14
+ * large-title header injecting its title into the scroll content).
15
+ *
16
+ * @throws if called outside a `PortalProvider`.
17
+ */
18
+ export declare function usePortal(): PortalContextValue;
19
+ //# sourceMappingURL=PortalContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PortalContext.d.ts","sourceRoot":"","sources":["../../../../../src/components/portal/PortalContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAc,MAAM,OAAO,CAAC;AAElE,MAAM,WAAW,kBAAkB;IACjC,8DAA8D;IAC9D,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,KAAK,IAAI,CAAC;IAC1D,2DAA2D;IAC3D,iBAAiB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,2EAA2E;IAC3E,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAClC;AAED,eAAO,MAAM,aAAa,oDAAiD,CAAC;AAE5E;;;;;;GAMG;AACH,wBAAgB,SAAS,IAAI,kBAAkB,CAM9C"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Renders every node currently registered with the nearest
3
+ * {@link PortalProvider}, in insertion order. Place it where teleported content
4
+ * should appear (e.g. at the top of a `Screen.ScrollView`).
5
+ */
6
+ export declare function PortalHost(): import("react").JSX.Element;
7
+ //# sourceMappingURL=PortalHost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PortalHost.d.ts","sourceRoot":"","sources":["../../../../../src/components/portal/PortalHost.tsx"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,wBAAgB,UAAU,gCAUzB"}
@@ -0,0 +1,11 @@
1
+ import { type ReactNode } from 'react';
2
+ export interface PortalProviderProps {
3
+ children: ReactNode;
4
+ }
5
+ /**
6
+ * Holds a registry of teleported content. Children register/unregister nodes by
7
+ * id (see {@link usePortal}); a `PortalHost` placed anywhere below renders them.
8
+ * Context-only — no animation dependency.
9
+ */
10
+ export declare function PortalProvider({ children }: PortalProviderProps): import("react").JSX.Element;
11
+ //# sourceMappingURL=PortalProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PortalProvider.d.ts","sourceRoot":"","sources":["../../../../../src/components/portal/PortalProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAkC,MAAM,OAAO,CAAC;AAIvE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE,mBAAmB,+BA8B/D"}
@@ -0,0 +1,6 @@
1
+ export type { PortalContextValue } from './PortalContext.js';
2
+ export { usePortal } from './PortalContext.js';
3
+ export { PortalHost } from './PortalHost.js';
4
+ export type { PortalProviderProps } from './PortalProvider.js';
5
+ export { PortalProvider } from './PortalProvider.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/portal/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAiB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAc,CAAC;AAC1C,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAkB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAkB,CAAC"}
@@ -0,0 +1,53 @@
1
+ import { type ComponentPropsWithoutRef, type ComponentRef, type ElementType, Fragment, forwardRef, type PropsWithChildren, type ReactNode } from 'react';
2
+ import { type Edge, SafeAreaView, type SafeAreaViewProps } from 'react-native-safe-area-context';
3
+ import type { ColorToken } from '#theme/types';
4
+ import { ScreenFlatList } from './ScreenFlatList.js';
5
+ import { ScreenScrollView } from './ScreenScrollView.js';
6
+ export type ScreenHeaderProps<T extends ElementType = typeof Fragment> = PropsWithChildren<{
7
+ /**
8
+ * Component to render the header as. Defaults to `Fragment` (no
9
+ * wrapper). Use this to cast the header to a different container,
10
+ * e.g. `as={View}` — any extra props are forwarded to it.
11
+ */
12
+ as?: T;
13
+ } & Omit<ComponentPropsWithoutRef<T>, 'children'>>;
14
+ /**
15
+ * Marker slot identifying the screen's header — its purpose is to let
16
+ * `Screen` detect a header synchronously and drop the `top` safe-area edge
17
+ * (the header manages its own top inset).
18
+ *
19
+ * Place a `Header.Title` / `Header.LargeTitle` (or any custom header) inside it.
20
+ *
21
+ * @example
22
+ * ```tsx
23
+ * <Screen.Header as={Header.Title} title="Meditate" />
24
+ * ```
25
+ */
26
+ declare function ScreenHeader<T extends ElementType = typeof Fragment>({ children, as, ...rest }: ScreenHeaderProps<T>): import("react").JSX.Element;
27
+ export interface ScreenProps extends Omit<SafeAreaViewProps, 'edges'> {
28
+ children: ReactNode;
29
+ /** Background color token. Defaults to the `background` token. */
30
+ bg?: ColorToken;
31
+ /**
32
+ * Safe-area edges to inset. Defaults are header-aware: `[]` when a
33
+ * `Screen.Header` is present (the header owns the top inset), otherwise
34
+ * `['top', 'bottom']`. An explicit value is respected, except `top` is
35
+ * dropped when a header is present.
36
+ */
37
+ edges?: Edge[];
38
+ /** Hosted inside a tab navigator? Exposed via `useScreen()`. Default false. */
39
+ inTabView?: boolean;
40
+ /**
41
+ * Apply `layout.screen.margin` padding on `Screen.ScrollView` /
42
+ * `Screen.FlatList`. Default true. Overridable per scroll container.
43
+ */
44
+ margins?: boolean;
45
+ }
46
+ type ScreenComponent = ReturnType<typeof forwardRef<ComponentRef<typeof SafeAreaView>, ScreenProps>> & {
47
+ Header: typeof ScreenHeader;
48
+ ScrollView: typeof ScreenScrollView;
49
+ FlatList: typeof ScreenFlatList;
50
+ };
51
+ export declare const Screen: ScreenComponent;
52
+ export {};
53
+ //# sourceMappingURL=Screen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Screen.d.ts","sourceRoot":"","sources":["../../../../../src/components/screen/Screen.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,QAAQ,EACR,UAAU,EAEV,KAAK,iBAAiB,EACtB,KAAK,SAAS,EAEf,MAAM,OAAO,CAAC;AACf,OAAO,EACL,KAAK,IAAI,EACT,YAAY,EACZ,KAAK,iBAAiB,EACvB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAK/C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAoB,CAAC;AAEtD,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,WAAW,GAAG,OAAO,QAAQ,IACnE,iBAAiB,CACf;IACE;;;;OAIG;IACH,EAAE,CAAC,EAAE,CAAC,CAAC;CACR,GAAG,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAClD,CAAC;AAEJ;;;;;;;;;;;GAWG;AACH,iBAAS,YAAY,CAAC,CAAC,SAAS,WAAW,GAAG,OAAO,QAAQ,EAAE,EAC7D,QAAQ,EACR,EAAE,EACF,GAAG,IAAI,EACR,EAAE,iBAAiB,CAAC,CAAC,CAAC,+BAGtB;AAYD,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACnE,QAAQ,EAAE,SAAS,CAAC;IACpB,kEAAkE;IAClE,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,+EAA+E;IAC/E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,KAAK,eAAe,GAAG,UAAU,CAC/B,OAAO,UAAU,CAAC,YAAY,CAAC,OAAO,YAAY,CAAC,EAAE,WAAW,CAAC,CAClE,GAAG;IACF,MAAM,EAAE,OAAO,YAAY,CAAC;IAC5B,UAAU,EAAE,OAAO,gBAAgB,CAAC;IACpC,QAAQ,EAAE,OAAO,cAAc,CAAC;CACjC,CAAC;AAkEF,eAAO,MAAM,MAAM,iBAAa,CAAC"}
@@ -0,0 +1,64 @@
1
+ import { type ReactNode } from 'react';
2
+ import Animated, { type AnimatedRef, type ScrollHandlerProcessed, type SharedValue } from 'react-native-reanimated';
3
+ export type ScreenScrollRef = AnimatedRef<Animated.ScrollView>;
4
+ export interface ScreenContextValue {
5
+ /**
6
+ * Whether scroll containers apply `layout.screen.margin` padding.
7
+ * Overridable per `Screen.ScrollView` / `Screen.FlatList`.
8
+ */
9
+ margins: boolean;
10
+ /** Whether a `Screen.Header` is present. Used by scroll containers to add top inset. */
11
+ hasHeader: boolean;
12
+ /**
13
+ * Live vertical scroll offset of the screen's scroll container, driven by
14
+ * `Screen.ScrollView` / `Screen.FlatList`. Headers (and consumer UI) read it
15
+ * to animate on scroll.
16
+ */
17
+ scrollY: SharedValue<number>;
18
+ /**
19
+ * Scroll distance (px) over which the active header collapses — measured by
20
+ * the header (e.g. large-title portal height, parallax hero height). `0`
21
+ * disables snap and collapse-range animations (`Header.Title` screens).
22
+ */
23
+ headerCollapseHeight: SharedValue<number>;
24
+ /**
25
+ * Native `snapToOffsets` for the scroll container. `[0, height]` when a
26
+ * collapsible header is active; `undefined` otherwise.
27
+ */
28
+ headerSnapOffsets: number[] | undefined;
29
+ /** Updates collapse height for animations and native snap offsets. */
30
+ setHeaderCollapseHeight: (height: number) => void;
31
+ /** Shared scroll container ref — bound by `Screen.ScrollView` / `Screen.FlatList`. */
32
+ scrollRef: ScreenScrollRef;
33
+ /** Scroll handler that mirrors offset into `scrollY`. */
34
+ scrollHandler: ScrollHandlerProcessed<Record<string, unknown>>;
35
+ /** Whether the screen is hosted inside a tab navigator (affects edges). */
36
+ isInTabView: boolean;
37
+ }
38
+ export declare const ScreenContext: import("react").Context<ScreenContextValue | null>;
39
+ export interface ScreenScrollProviderProps {
40
+ children: ReactNode;
41
+ isInTabView: boolean;
42
+ /** Apply `layout.screen.margin` to scroll containers. Default true. */
43
+ margins?: boolean;
44
+ /** Whether a `Screen.Header` child is present. Default false. */
45
+ hasHeader?: boolean;
46
+ }
47
+ /**
48
+ * Owns the screen's shared scroll ref, offset, snap offsets, and header collapse
49
+ * metrics. Header variants call {@link ScreenContextValue.setHeaderCollapseHeight};
50
+ * scroll containers bind the ref via {@link useScreen}.
51
+ */
52
+ export declare function ScreenScrollProvider({ children, isInTabView, margins, hasHeader, }: ScreenScrollProviderProps): import("react").JSX.Element;
53
+ /**
54
+ * Access the enclosing `Screen`'s shared scroll state, ref, and snap offsets.
55
+ *
56
+ * @example
57
+ * ```tsx
58
+ * const { scrollY, scrollRef, headerSnapOffsets } = useScreen();
59
+ * ```
60
+ *
61
+ * @throws if called outside a `Screen`.
62
+ */
63
+ export declare function useScreen(): ScreenContextValue;
64
+ //# sourceMappingURL=ScreenContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScreenContext.d.ts","sourceRoot":"","sources":["../../../../../src/components/screen/ScreenContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AAEf,OAAO,QAAQ,EAAE,EACf,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAC3B,KAAK,WAAW,EAIjB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAE/D,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB,wFAAwF;IACxF,SAAS,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B;;;;OAIG;IACH,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1C;;;OAGG;IACH,iBAAiB,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACxC,sEAAsE;IACtE,uBAAuB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,sFAAsF;IACtF,SAAS,EAAE,eAAe,CAAC;IAC3B,yDAAyD;IACzD,aAAa,EAAE,sBAAsB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/D,2EAA2E;IAC3E,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,aAAa,oDAAiD,CAAC;AAE5E,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,uEAAuE;IACvE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iEAAiE;IACjE,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,QAAQ,EACR,WAAW,EACX,OAAc,EACd,SAAiB,GAClB,EAAE,yBAAyB,+BAiD3B;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,IAAI,kBAAkB,CAM9C"}
@@ -0,0 +1,26 @@
1
+ import { type FlatListProps } from 'react-native';
2
+ export interface ScreenFlatListProps<T> extends Omit<FlatListProps<T>, 'CellRendererComponent'> {
3
+ /**
4
+ * Apply `layout.screen.margin` padding. Defaults to the enclosing `Screen`'s
5
+ * `margins` value.
6
+ */
7
+ margins?: boolean;
8
+ /**
9
+ * Extra bottom padding on the list content — clearance for a tab bar or home
10
+ * indicator. Defaults to the `layout.screen.margin.y` token when margins are
11
+ * enabled, otherwise `0`.
12
+ */
13
+ bottomInset?: number;
14
+ }
15
+ /**
16
+ * `FlatList` variant of `Screen.ScrollView`: binds the screen's shared scroll
17
+ * ref, mirrors offset into `scrollY`, hosts the portal target above the list,
18
+ * and applies token-driven content padding.
19
+ *
20
+ * @example
21
+ * ```tsx
22
+ * <Screen.FlatList data={items} renderItem={({ item }) => <Row item={item} />} />
23
+ * ```
24
+ */
25
+ export declare function ScreenFlatList<T>({ style, contentContainerStyle, ListHeaderComponent, margins, bottomInset, onScroll, ...rest }: ScreenFlatListProps<T>): import("react").JSX.Element;
26
+ //# sourceMappingURL=ScreenFlatList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScreenFlatList.d.ts","sourceRoot":"","sources":["../../../../../src/components/screen/ScreenFlatList.tsx"],"names":[],"mappings":"AAMA,OAAO,EACL,KAAK,aAAa,EAInB,MAAM,cAAc,CAAC;AActB,MAAM,WAAW,mBAAmB,CAAC,CAAC,CACpC,SAAQ,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,uBAAuB,CAAC;IACvD;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAUD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,EAChC,KAAK,EACL,qBAAqB,EACrB,mBAAmB,EACnB,OAAO,EACP,WAAW,EACX,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,mBAAmB,CAAC,CAAC,CAAC,+BAsDxB"}
@@ -0,0 +1,36 @@
1
+ import type { ReactNode } from 'react';
2
+ import { type ScrollViewProps } from 'react-native';
3
+ import { type ScrollHandlerProcessed } from 'react-native-reanimated';
4
+ export interface ScreenScrollViewProps extends ScrollViewProps {
5
+ children?: ReactNode;
6
+ /**
7
+ * Apply `layout.screen.margin` padding. Defaults to the enclosing `Screen`'s
8
+ * `margins` value.
9
+ */
10
+ hasMargins?: boolean;
11
+ /**
12
+ * Extra bottom padding on the scroll content — clearance for a tab bar or
13
+ * home indicator. Defaults to the `layout.screen.margin.y` token when margins
14
+ * are enabled, otherwise `0`.
15
+ */
16
+ bottomInset?: number;
17
+ /**
18
+ * Optional Reanimated scroll handler composed with the screen's own scroll
19
+ * tracking and any JS `onScroll` callback.
20
+ */
21
+ scrollHandler?: ScrollHandlerProcessed<Record<string, unknown>>;
22
+ }
23
+ /**
24
+ * Scrollable content container for a `Screen`. Binds the screen's shared scroll
25
+ * ref, mirrors offset into `scrollY`, hosts the portal target at the top (where
26
+ * header content is injected), and applies token-driven content padding.
27
+ *
28
+ * @example
29
+ * ```tsx
30
+ * <Screen.ScrollView>
31
+ * <Text>Scrollable content</Text>
32
+ * </Screen.ScrollView>
33
+ * ```
34
+ */
35
+ export declare function ScreenScrollView({ children, style, contentContainerStyle, hasMargins, bottomInset, scrollHandler: externalScrollHandler, onScroll: onScrollProp, horizontal, ...rest }: ScreenScrollViewProps): import("react").JSX.Element;
36
+ //# sourceMappingURL=ScreenScrollView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScreenScrollView.d.ts","sourceRoot":"","sources":["../../../../../src/components/screen/ScreenScrollView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAGL,KAAK,eAAe,EAErB,MAAM,cAAc,CAAC;AAEtB,OAAiB,EACf,KAAK,sBAAsB,EAG5B,MAAM,yBAAyB,CAAC;AAQjC,MAAM,WAAW,qBAAsB,SAAQ,eAAe;IAC5D,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,aAAa,CAAC,EAAE,sBAAsB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACjE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,KAAK,EACL,qBAAqB,EACrB,UAAU,EACV,WAAW,EACX,aAAa,EAAE,qBAAqB,EACpC,QAAQ,EAAE,YAAY,EACtB,UAAkB,EAClB,GAAG,IAAI,EACR,EAAE,qBAAqB,+BAmEvB"}
@@ -0,0 +1,9 @@
1
+ export type { ScreenHeaderProps, ScreenProps } from './Screen.js';
2
+ export { Screen } from './Screen.js';
3
+ export type { ScreenContextValue } from './ScreenContext.js';
4
+ export { useScreen } from './ScreenContext.js';
5
+ export type { ScreenFlatListProps } from './ScreenFlatList.js';
6
+ export { ScreenFlatList } from './ScreenFlatList.js';
7
+ export type { ScreenScrollViewProps } from './ScreenScrollView.js';
8
+ export { ScreenScrollView } from './ScreenScrollView.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/screen/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,aAAU,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAU,CAAC;AAClC,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAiB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAiB,CAAC;AAC5C,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAkB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAkB,CAAC;AAClD,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAoB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAoB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { LayoutTokens } from '#theme/types';
2
+ export declare function resolveScreenContentInsets(margin: LayoutTokens['screen']['margin'], margins: boolean, bottomInset?: number, topInset?: number): {
3
+ contentPadding: {
4
+ flexGrow: 1;
5
+ paddingTop: number;
6
+ paddingHorizontal: number;
7
+ paddingBottom: number;
8
+ };
9
+ };
10
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/components/screen/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EACxC,OAAO,EAAE,OAAO,EAChB,WAAW,CAAC,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM;;;;;;;EAUlB"}
@@ -0,0 +1,17 @@
1
+ import { type ReactElement, type ReactNode } from 'react';
2
+ type AnyProps = Record<string, unknown>;
3
+ export interface SlotProps {
4
+ /** Props (incl. pre-merged `style` and optional `ref`) to merge onto the child. */
5
+ slotProps: AnyProps;
6
+ /** Name used in dev warnings. */
7
+ ownerName?: string;
8
+ children: ReactNode;
9
+ }
10
+ /**
11
+ * Radix-style Slot: merges `slotProps` onto a single child element instead of
12
+ * rendering a wrapper. Composes `on*` handlers (child first), `style`
13
+ * (`[slotStyle, childStyle]`), and refs.
14
+ */
15
+ export declare function Slot({ slotProps, ownerName, children, }: SlotProps): ReactElement | null;
16
+ export {};
17
+ //# sourceMappingURL=Slot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Slot.d.ts","sourceRoot":"","sources":["../../../../../src/components/slot/Slot.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,SAAS,EAEf,MAAM,OAAO,CAAC;AAIf,KAAK,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAExC,MAAM,WAAW,SAAS;IACxB,mFAAmF;IACnF,SAAS,EAAE,QAAQ,CAAC;IACpB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,EACnB,SAAS,EACT,SAAuB,EACvB,QAAQ,GACT,EAAE,SAAS,GAAG,YAAY,GAAG,IAAI,CA0BjC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Low-level composition helpers for advanced use cases (custom primitives,
3
+ * `asChild` patterns). Most apps should use component APIs directly.
4
+ */
5
+ export type { SlotProps } from './Slot.js';
6
+ export { Slot } from './Slot.js';
7
+ export { composeRefs, mergeProps } from './utils.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/slot/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EAAE,SAAS,EAAE,MAAM,WAAQ,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAQ,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAS,CAAC"}