blend-native 0.0.1-beta.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 (555) hide show
  1. package/README.md +404 -0
  2. package/lib/commonjs/a11y/announcement.js +42 -0
  3. package/lib/commonjs/a11y/announcement.js.map +1 -0
  4. package/lib/commonjs/a11y/useLiveRegion.js +37 -0
  5. package/lib/commonjs/a11y/useLiveRegion.js.map +1 -0
  6. package/lib/commonjs/adapters/cssStringAdapter.js +363 -0
  7. package/lib/commonjs/adapters/cssStringAdapter.js.map +1 -0
  8. package/lib/commonjs/adapters/optionalGradient.js +33 -0
  9. package/lib/commonjs/adapters/optionalGradient.js.map +1 -0
  10. package/lib/commonjs/adapters/surfaceStyle.js +159 -0
  11. package/lib/commonjs/adapters/surfaceStyle.js.map +1 -0
  12. package/lib/commonjs/components/Alert/Alert.js +130 -0
  13. package/lib/commonjs/components/Alert/Alert.js.map +1 -0
  14. package/lib/commonjs/components/Alert/AlertActions.js +74 -0
  15. package/lib/commonjs/components/Alert/AlertActions.js.map +1 -0
  16. package/lib/commonjs/components/Alert/AlertClose.js +48 -0
  17. package/lib/commonjs/components/Alert/AlertClose.js.map +1 -0
  18. package/lib/commonjs/components/Alert/AlertText.js +49 -0
  19. package/lib/commonjs/components/Alert/AlertText.js.map +1 -0
  20. package/lib/commonjs/components/Alert/alert.tokens.js +6 -0
  21. package/lib/commonjs/components/Alert/alert.tokens.js.map +1 -0
  22. package/lib/commonjs/components/Alert/alert.types.js +6 -0
  23. package/lib/commonjs/components/Alert/alert.types.js.map +1 -0
  24. package/lib/commonjs/components/Alert/alert.utils.js +80 -0
  25. package/lib/commonjs/components/Alert/alert.utils.js.map +1 -0
  26. package/lib/commonjs/components/Alert/index.js +51 -0
  27. package/lib/commonjs/components/Alert/index.js.map +1 -0
  28. package/lib/commonjs/components/Button/Button.js +125 -0
  29. package/lib/commonjs/components/Button/Button.js.map +1 -0
  30. package/lib/commonjs/components/Button/button.types.js +6 -0
  31. package/lib/commonjs/components/Button/button.types.js.map +1 -0
  32. package/lib/commonjs/components/Button/button.utils.js +129 -0
  33. package/lib/commonjs/components/Button/button.utils.js.map +1 -0
  34. package/lib/commonjs/components/Button/index.js +57 -0
  35. package/lib/commonjs/components/Button/index.js.map +1 -0
  36. package/lib/commonjs/components/Skeleton/Skeleton.js +154 -0
  37. package/lib/commonjs/components/Skeleton/Skeleton.js.map +1 -0
  38. package/lib/commonjs/components/Skeleton/index.js +20 -0
  39. package/lib/commonjs/components/Skeleton/index.js.map +1 -0
  40. package/lib/commonjs/components/Skeleton/skeleton.types.js +6 -0
  41. package/lib/commonjs/components/Skeleton/skeleton.types.js.map +1 -0
  42. package/lib/commonjs/components/Skeleton/skeleton.utils.js +45 -0
  43. package/lib/commonjs/components/Skeleton/skeleton.utils.js.map +1 -0
  44. package/lib/commonjs/components/Tag/Tag.js +161 -0
  45. package/lib/commonjs/components/Tag/Tag.js.map +1 -0
  46. package/lib/commonjs/components/Tag/index.js +33 -0
  47. package/lib/commonjs/components/Tag/index.js.map +1 -0
  48. package/lib/commonjs/components/Tag/tag.types.js +6 -0
  49. package/lib/commonjs/components/Tag/tag.types.js.map +1 -0
  50. package/lib/commonjs/components/Tag/tag.utils.js +69 -0
  51. package/lib/commonjs/components/Tag/tag.utils.js.map +1 -0
  52. package/lib/commonjs/components/TextInput/TextInput.js +138 -0
  53. package/lib/commonjs/components/TextInput/TextInput.js.map +1 -0
  54. package/lib/commonjs/components/TextInput/index.js +14 -0
  55. package/lib/commonjs/components/TextInput/index.js.map +1 -0
  56. package/lib/commonjs/components/TextInput/textInput.types.js +6 -0
  57. package/lib/commonjs/components/TextInput/textInput.types.js.map +1 -0
  58. package/lib/commonjs/components/TextInput/textInput.utils.js +40 -0
  59. package/lib/commonjs/components/TextInput/textInput.utils.js.map +1 -0
  60. package/lib/commonjs/components/shared/field/FieldFooter.js +51 -0
  61. package/lib/commonjs/components/shared/field/FieldFooter.js.map +1 -0
  62. package/lib/commonjs/components/shared/field/FieldLabels.js +67 -0
  63. package/lib/commonjs/components/shared/field/FieldLabels.js.map +1 -0
  64. package/lib/commonjs/components/shared/field/fieldState.js +37 -0
  65. package/lib/commonjs/components/shared/field/fieldState.js.map +1 -0
  66. package/lib/commonjs/components/shared/group.js +73 -0
  67. package/lib/commonjs/components/shared/group.js.map +1 -0
  68. package/lib/commonjs/index.js +256 -0
  69. package/lib/commonjs/index.js.map +1 -0
  70. package/lib/commonjs/motion/motion.js +128 -0
  71. package/lib/commonjs/motion/motion.js.map +1 -0
  72. package/lib/commonjs/motion/useReduceMotion.js +37 -0
  73. package/lib/commonjs/motion/useReduceMotion.js.map +1 -0
  74. package/lib/commonjs/overlay/portal.js +110 -0
  75. package/lib/commonjs/overlay/portal.js.map +1 -0
  76. package/lib/commonjs/overlay/positioning.js +122 -0
  77. package/lib/commonjs/overlay/positioning.js.map +1 -0
  78. package/lib/commonjs/overlay/safeAreaInsets.js +30 -0
  79. package/lib/commonjs/overlay/safeAreaInsets.js.map +1 -0
  80. package/lib/commonjs/overlay/sheet/BottomSheet.js +196 -0
  81. package/lib/commonjs/overlay/sheet/BottomSheet.js.map +1 -0
  82. package/lib/commonjs/overlay/sheet/sheetMath.js +60 -0
  83. package/lib/commonjs/overlay/sheet/sheetMath.js.map +1 -0
  84. package/lib/commonjs/overlay/toast/ToastOutlet.js +106 -0
  85. package/lib/commonjs/overlay/toast/ToastOutlet.js.map +1 -0
  86. package/lib/commonjs/overlay/toast/toastStore.js +76 -0
  87. package/lib/commonjs/overlay/toast/toastStore.js.map +1 -0
  88. package/lib/commonjs/overlay/useAnchoredPosition.js +85 -0
  89. package/lib/commonjs/overlay/useAnchoredPosition.js.map +1 -0
  90. package/lib/commonjs/package.json +1 -0
  91. package/lib/commonjs/primitives/Block.js +112 -0
  92. package/lib/commonjs/primitives/Block.js.map +1 -0
  93. package/lib/commonjs/primitives/Pressable.js +348 -0
  94. package/lib/commonjs/primitives/Pressable.js.map +1 -0
  95. package/lib/commonjs/primitives/PrimitiveInput.js +66 -0
  96. package/lib/commonjs/primitives/PrimitiveInput.js.map +1 -0
  97. package/lib/commonjs/primitives/Separator.js +55 -0
  98. package/lib/commonjs/primitives/Separator.js.map +1 -0
  99. package/lib/commonjs/primitives/Slot.js +78 -0
  100. package/lib/commonjs/primitives/Slot.js.map +1 -0
  101. package/lib/commonjs/primitives/Text.js +73 -0
  102. package/lib/commonjs/primitives/Text.js.map +1 -0
  103. package/lib/commonjs/primitives/pressFeedback.js +53 -0
  104. package/lib/commonjs/primitives/pressFeedback.js.map +1 -0
  105. package/lib/commonjs/primitives/textStyle.js +27 -0
  106. package/lib/commonjs/primitives/textStyle.js.map +1 -0
  107. package/lib/commonjs/primitives/tintSlot.js +45 -0
  108. package/lib/commonjs/primitives/tintSlot.js.map +1 -0
  109. package/lib/commonjs/primitives/touchTarget.js +64 -0
  110. package/lib/commonjs/primitives/touchTarget.js.map +1 -0
  111. package/lib/commonjs/theme/BlendNativeProvider.js +90 -0
  112. package/lib/commonjs/theme/BlendNativeProvider.js.map +1 -0
  113. package/lib/commonjs/theme/breakpoint.js +36 -0
  114. package/lib/commonjs/theme/breakpoint.js.map +1 -0
  115. package/lib/commonjs/theme/fonts.js +58 -0
  116. package/lib/commonjs/theme/fonts.js.map +1 -0
  117. package/lib/commonjs/theme/nativeTokenRegistry.js +44 -0
  118. package/lib/commonjs/theme/nativeTokenRegistry.js.map +1 -0
  119. package/lib/commonjs/theme/systemTheme.js +35 -0
  120. package/lib/commonjs/theme/systemTheme.js.map +1 -0
  121. package/lib/commonjs/theme/useNativeBreakpoint.js +33 -0
  122. package/lib/commonjs/theme/useNativeBreakpoint.js.map +1 -0
  123. package/lib/commonjs/theme/useNativeTokens.js +71 -0
  124. package/lib/commonjs/theme/useNativeTokens.js.map +1 -0
  125. package/lib/module/a11y/announcement.js +38 -0
  126. package/lib/module/a11y/announcement.js.map +1 -0
  127. package/lib/module/a11y/useLiveRegion.js +33 -0
  128. package/lib/module/a11y/useLiveRegion.js.map +1 -0
  129. package/lib/module/adapters/cssStringAdapter.js +352 -0
  130. package/lib/module/adapters/cssStringAdapter.js.map +1 -0
  131. package/lib/module/adapters/optionalGradient.js +29 -0
  132. package/lib/module/adapters/optionalGradient.js.map +1 -0
  133. package/lib/module/adapters/surfaceStyle.js +155 -0
  134. package/lib/module/adapters/surfaceStyle.js.map +1 -0
  135. package/lib/module/components/Alert/Alert.js +126 -0
  136. package/lib/module/components/Alert/Alert.js.map +1 -0
  137. package/lib/module/components/Alert/AlertActions.js +70 -0
  138. package/lib/module/components/Alert/AlertActions.js.map +1 -0
  139. package/lib/module/components/Alert/AlertClose.js +44 -0
  140. package/lib/module/components/Alert/AlertClose.js.map +1 -0
  141. package/lib/module/components/Alert/AlertText.js +45 -0
  142. package/lib/module/components/Alert/AlertText.js.map +1 -0
  143. package/lib/module/components/Alert/alert.tokens.js +4 -0
  144. package/lib/module/components/Alert/alert.tokens.js.map +1 -0
  145. package/lib/module/components/Alert/alert.types.js +4 -0
  146. package/lib/module/components/Alert/alert.types.js.map +1 -0
  147. package/lib/module/components/Alert/alert.utils.js +72 -0
  148. package/lib/module/components/Alert/alert.utils.js.map +1 -0
  149. package/lib/module/components/Alert/index.js +6 -0
  150. package/lib/module/components/Alert/index.js.map +1 -0
  151. package/lib/module/components/Button/Button.js +121 -0
  152. package/lib/module/components/Button/Button.js.map +1 -0
  153. package/lib/module/components/Button/button.types.js +4 -0
  154. package/lib/module/components/Button/button.types.js.map +1 -0
  155. package/lib/module/components/Button/button.utils.js +120 -0
  156. package/lib/module/components/Button/button.utils.js.map +1 -0
  157. package/lib/module/components/Button/index.js +5 -0
  158. package/lib/module/components/Button/index.js.map +1 -0
  159. package/lib/module/components/Skeleton/Skeleton.js +149 -0
  160. package/lib/module/components/Skeleton/Skeleton.js.map +1 -0
  161. package/lib/module/components/Skeleton/index.js +4 -0
  162. package/lib/module/components/Skeleton/index.js.map +1 -0
  163. package/lib/module/components/Skeleton/skeleton.types.js +4 -0
  164. package/lib/module/components/Skeleton/skeleton.types.js.map +1 -0
  165. package/lib/module/components/Skeleton/skeleton.utils.js +40 -0
  166. package/lib/module/components/Skeleton/skeleton.utils.js.map +1 -0
  167. package/lib/module/components/Tag/Tag.js +157 -0
  168. package/lib/module/components/Tag/Tag.js.map +1 -0
  169. package/lib/module/components/Tag/index.js +5 -0
  170. package/lib/module/components/Tag/index.js.map +1 -0
  171. package/lib/module/components/Tag/tag.types.js +4 -0
  172. package/lib/module/components/Tag/tag.types.js.map +1 -0
  173. package/lib/module/components/Tag/tag.utils.js +64 -0
  174. package/lib/module/components/Tag/tag.utils.js.map +1 -0
  175. package/lib/module/components/TextInput/TextInput.js +134 -0
  176. package/lib/module/components/TextInput/TextInput.js.map +1 -0
  177. package/lib/module/components/TextInput/index.js +4 -0
  178. package/lib/module/components/TextInput/index.js.map +1 -0
  179. package/lib/module/components/TextInput/textInput.types.js +4 -0
  180. package/lib/module/components/TextInput/textInput.types.js.map +1 -0
  181. package/lib/module/components/TextInput/textInput.utils.js +36 -0
  182. package/lib/module/components/TextInput/textInput.utils.js.map +1 -0
  183. package/lib/module/components/shared/field/FieldFooter.js +47 -0
  184. package/lib/module/components/shared/field/FieldFooter.js.map +1 -0
  185. package/lib/module/components/shared/field/FieldLabels.js +63 -0
  186. package/lib/module/components/shared/field/FieldLabels.js.map +1 -0
  187. package/lib/module/components/shared/field/fieldState.js +33 -0
  188. package/lib/module/components/shared/field/fieldState.js.map +1 -0
  189. package/lib/module/components/shared/group.js +68 -0
  190. package/lib/module/components/shared/group.js.map +1 -0
  191. package/lib/module/index.js +80 -0
  192. package/lib/module/index.js.map +1 -0
  193. package/lib/module/motion/motion.js +123 -0
  194. package/lib/module/motion/motion.js.map +1 -0
  195. package/lib/module/motion/useReduceMotion.js +33 -0
  196. package/lib/module/motion/useReduceMotion.js.map +1 -0
  197. package/lib/module/overlay/portal.js +104 -0
  198. package/lib/module/overlay/portal.js.map +1 -0
  199. package/lib/module/overlay/positioning.js +118 -0
  200. package/lib/module/overlay/positioning.js.map +1 -0
  201. package/lib/module/overlay/safeAreaInsets.js +27 -0
  202. package/lib/module/overlay/safeAreaInsets.js.map +1 -0
  203. package/lib/module/overlay/sheet/BottomSheet.js +190 -0
  204. package/lib/module/overlay/sheet/BottomSheet.js.map +1 -0
  205. package/lib/module/overlay/sheet/sheetMath.js +53 -0
  206. package/lib/module/overlay/sheet/sheetMath.js.map +1 -0
  207. package/lib/module/overlay/toast/ToastOutlet.js +101 -0
  208. package/lib/module/overlay/toast/ToastOutlet.js.map +1 -0
  209. package/lib/module/overlay/toast/toastStore.js +66 -0
  210. package/lib/module/overlay/toast/toastStore.js.map +1 -0
  211. package/lib/module/overlay/useAnchoredPosition.js +82 -0
  212. package/lib/module/overlay/useAnchoredPosition.js.map +1 -0
  213. package/lib/module/package.json +1 -0
  214. package/lib/module/primitives/Block.js +107 -0
  215. package/lib/module/primitives/Block.js.map +1 -0
  216. package/lib/module/primitives/Pressable.js +339 -0
  217. package/lib/module/primitives/Pressable.js.map +1 -0
  218. package/lib/module/primitives/PrimitiveInput.js +62 -0
  219. package/lib/module/primitives/PrimitiveInput.js.map +1 -0
  220. package/lib/module/primitives/Separator.js +50 -0
  221. package/lib/module/primitives/Separator.js.map +1 -0
  222. package/lib/module/primitives/Slot.js +69 -0
  223. package/lib/module/primitives/Slot.js.map +1 -0
  224. package/lib/module/primitives/Text.js +68 -0
  225. package/lib/module/primitives/Text.js.map +1 -0
  226. package/lib/module/primitives/pressFeedback.js +48 -0
  227. package/lib/module/primitives/pressFeedback.js.map +1 -0
  228. package/lib/module/primitives/textStyle.js +23 -0
  229. package/lib/module/primitives/textStyle.js.map +1 -0
  230. package/lib/module/primitives/tintSlot.js +42 -0
  231. package/lib/module/primitives/tintSlot.js.map +1 -0
  232. package/lib/module/primitives/touchTarget.js +58 -0
  233. package/lib/module/primitives/touchTarget.js.map +1 -0
  234. package/lib/module/theme/BlendNativeProvider.js +78 -0
  235. package/lib/module/theme/BlendNativeProvider.js.map +1 -0
  236. package/lib/module/theme/breakpoint.js +33 -0
  237. package/lib/module/theme/breakpoint.js.map +1 -0
  238. package/lib/module/theme/fonts.js +55 -0
  239. package/lib/module/theme/fonts.js.map +1 -0
  240. package/lib/module/theme/nativeTokenRegistry.js +40 -0
  241. package/lib/module/theme/nativeTokenRegistry.js.map +1 -0
  242. package/lib/module/theme/systemTheme.js +31 -0
  243. package/lib/module/theme/systemTheme.js.map +1 -0
  244. package/lib/module/theme/useNativeBreakpoint.js +24 -0
  245. package/lib/module/theme/useNativeBreakpoint.js.map +1 -0
  246. package/lib/module/theme/useNativeTokens.js +67 -0
  247. package/lib/module/theme/useNativeTokens.js.map +1 -0
  248. package/lib/typescript/commonjs/a11y/announcement.d.ts +26 -0
  249. package/lib/typescript/commonjs/a11y/announcement.d.ts.map +1 -0
  250. package/lib/typescript/commonjs/a11y/useLiveRegion.d.ts +17 -0
  251. package/lib/typescript/commonjs/a11y/useLiveRegion.d.ts.map +1 -0
  252. package/lib/typescript/commonjs/adapters/cssStringAdapter.d.ts +119 -0
  253. package/lib/typescript/commonjs/adapters/cssStringAdapter.d.ts.map +1 -0
  254. package/lib/typescript/commonjs/adapters/optionalGradient.d.ts +32 -0
  255. package/lib/typescript/commonjs/adapters/optionalGradient.d.ts.map +1 -0
  256. package/lib/typescript/commonjs/adapters/surfaceStyle.d.ts +75 -0
  257. package/lib/typescript/commonjs/adapters/surfaceStyle.d.ts.map +1 -0
  258. package/lib/typescript/commonjs/components/Alert/Alert.d.ts +14 -0
  259. package/lib/typescript/commonjs/components/Alert/Alert.d.ts.map +1 -0
  260. package/lib/typescript/commonjs/components/Alert/AlertActions.d.ts +13 -0
  261. package/lib/typescript/commonjs/components/Alert/AlertActions.d.ts.map +1 -0
  262. package/lib/typescript/commonjs/components/Alert/AlertClose.d.ts +22 -0
  263. package/lib/typescript/commonjs/components/Alert/AlertClose.d.ts.map +1 -0
  264. package/lib/typescript/commonjs/components/Alert/AlertText.d.ts +19 -0
  265. package/lib/typescript/commonjs/components/Alert/AlertText.d.ts.map +1 -0
  266. package/lib/typescript/commonjs/components/Alert/alert.tokens.d.ts +17 -0
  267. package/lib/typescript/commonjs/components/Alert/alert.tokens.d.ts.map +1 -0
  268. package/lib/typescript/commonjs/components/Alert/alert.types.d.ts +70 -0
  269. package/lib/typescript/commonjs/components/Alert/alert.types.d.ts.map +1 -0
  270. package/lib/typescript/commonjs/components/Alert/alert.utils.d.ts +58 -0
  271. package/lib/typescript/commonjs/components/Alert/alert.utils.d.ts.map +1 -0
  272. package/lib/typescript/commonjs/components/Alert/index.d.ts +7 -0
  273. package/lib/typescript/commonjs/components/Alert/index.d.ts.map +1 -0
  274. package/lib/typescript/commonjs/components/Button/Button.d.ts +22 -0
  275. package/lib/typescript/commonjs/components/Button/Button.d.ts.map +1 -0
  276. package/lib/typescript/commonjs/components/Button/button.types.d.ts +37 -0
  277. package/lib/typescript/commonjs/components/Button/button.types.d.ts.map +1 -0
  278. package/lib/typescript/commonjs/components/Button/button.utils.d.ts +98 -0
  279. package/lib/typescript/commonjs/components/Button/button.utils.d.ts.map +1 -0
  280. package/lib/typescript/commonjs/components/Button/index.d.ts +5 -0
  281. package/lib/typescript/commonjs/components/Button/index.d.ts.map +1 -0
  282. package/lib/typescript/commonjs/components/Skeleton/Skeleton.d.ts +7 -0
  283. package/lib/typescript/commonjs/components/Skeleton/Skeleton.d.ts.map +1 -0
  284. package/lib/typescript/commonjs/components/Skeleton/index.d.ts +3 -0
  285. package/lib/typescript/commonjs/components/Skeleton/index.d.ts.map +1 -0
  286. package/lib/typescript/commonjs/components/Skeleton/skeleton.types.d.ts +25 -0
  287. package/lib/typescript/commonjs/components/Skeleton/skeleton.types.d.ts.map +1 -0
  288. package/lib/typescript/commonjs/components/Skeleton/skeleton.utils.d.ts +21 -0
  289. package/lib/typescript/commonjs/components/Skeleton/skeleton.utils.d.ts.map +1 -0
  290. package/lib/typescript/commonjs/components/Tag/Tag.d.ts +21 -0
  291. package/lib/typescript/commonjs/components/Tag/Tag.d.ts.map +1 -0
  292. package/lib/typescript/commonjs/components/Tag/index.d.ts +4 -0
  293. package/lib/typescript/commonjs/components/Tag/index.d.ts.map +1 -0
  294. package/lib/typescript/commonjs/components/Tag/tag.types.d.ts +56 -0
  295. package/lib/typescript/commonjs/components/Tag/tag.types.d.ts.map +1 -0
  296. package/lib/typescript/commonjs/components/Tag/tag.utils.d.ts +41 -0
  297. package/lib/typescript/commonjs/components/Tag/tag.utils.d.ts.map +1 -0
  298. package/lib/typescript/commonjs/components/TextInput/TextInput.d.ts +33 -0
  299. package/lib/typescript/commonjs/components/TextInput/TextInput.d.ts.map +1 -0
  300. package/lib/typescript/commonjs/components/TextInput/index.d.ts +3 -0
  301. package/lib/typescript/commonjs/components/TextInput/index.d.ts.map +1 -0
  302. package/lib/typescript/commonjs/components/TextInput/textInput.types.d.ts +45 -0
  303. package/lib/typescript/commonjs/components/TextInput/textInput.types.d.ts.map +1 -0
  304. package/lib/typescript/commonjs/components/TextInput/textInput.utils.d.ts +35 -0
  305. package/lib/typescript/commonjs/components/TextInput/textInput.utils.d.ts.map +1 -0
  306. package/lib/typescript/commonjs/components/shared/field/FieldFooter.d.ts +22 -0
  307. package/lib/typescript/commonjs/components/shared/field/FieldFooter.d.ts.map +1 -0
  308. package/lib/typescript/commonjs/components/shared/field/FieldLabels.d.ts +27 -0
  309. package/lib/typescript/commonjs/components/shared/field/FieldLabels.d.ts.map +1 -0
  310. package/lib/typescript/commonjs/components/shared/field/fieldState.d.ts +23 -0
  311. package/lib/typescript/commonjs/components/shared/field/fieldState.d.ts.map +1 -0
  312. package/lib/typescript/commonjs/components/shared/group.d.ts +50 -0
  313. package/lib/typescript/commonjs/components/shared/group.d.ts.map +1 -0
  314. package/lib/typescript/commonjs/index.d.ts +74 -0
  315. package/lib/typescript/commonjs/index.d.ts.map +1 -0
  316. package/lib/typescript/commonjs/motion/motion.d.ts +121 -0
  317. package/lib/typescript/commonjs/motion/motion.d.ts.map +1 -0
  318. package/lib/typescript/commonjs/motion/useReduceMotion.d.ts +14 -0
  319. package/lib/typescript/commonjs/motion/useReduceMotion.d.ts.map +1 -0
  320. package/lib/typescript/commonjs/overlay/portal.d.ts +20 -0
  321. package/lib/typescript/commonjs/overlay/portal.d.ts.map +1 -0
  322. package/lib/typescript/commonjs/overlay/positioning.d.ts +65 -0
  323. package/lib/typescript/commonjs/overlay/positioning.d.ts.map +1 -0
  324. package/lib/typescript/commonjs/overlay/safeAreaInsets.d.ts +19 -0
  325. package/lib/typescript/commonjs/overlay/safeAreaInsets.d.ts.map +1 -0
  326. package/lib/typescript/commonjs/overlay/sheet/BottomSheet.d.ts +56 -0
  327. package/lib/typescript/commonjs/overlay/sheet/BottomSheet.d.ts.map +1 -0
  328. package/lib/typescript/commonjs/overlay/sheet/sheetMath.d.ts +32 -0
  329. package/lib/typescript/commonjs/overlay/sheet/sheetMath.d.ts.map +1 -0
  330. package/lib/typescript/commonjs/overlay/toast/ToastOutlet.d.ts +17 -0
  331. package/lib/typescript/commonjs/overlay/toast/ToastOutlet.d.ts.map +1 -0
  332. package/lib/typescript/commonjs/overlay/toast/toastStore.d.ts +45 -0
  333. package/lib/typescript/commonjs/overlay/toast/toastStore.d.ts.map +1 -0
  334. package/lib/typescript/commonjs/overlay/useAnchoredPosition.d.ts +40 -0
  335. package/lib/typescript/commonjs/overlay/useAnchoredPosition.d.ts.map +1 -0
  336. package/lib/typescript/commonjs/package.json +1 -0
  337. package/lib/typescript/commonjs/primitives/Block.d.ts +37 -0
  338. package/lib/typescript/commonjs/primitives/Block.d.ts.map +1 -0
  339. package/lib/typescript/commonjs/primitives/Pressable.d.ts +135 -0
  340. package/lib/typescript/commonjs/primitives/Pressable.d.ts.map +1 -0
  341. package/lib/typescript/commonjs/primitives/PrimitiveInput.d.ts +42 -0
  342. package/lib/typescript/commonjs/primitives/PrimitiveInput.d.ts.map +1 -0
  343. package/lib/typescript/commonjs/primitives/Separator.d.ts +28 -0
  344. package/lib/typescript/commonjs/primitives/Separator.d.ts.map +1 -0
  345. package/lib/typescript/commonjs/primitives/Slot.d.ts +48 -0
  346. package/lib/typescript/commonjs/primitives/Slot.d.ts.map +1 -0
  347. package/lib/typescript/commonjs/primitives/Text.d.ts +50 -0
  348. package/lib/typescript/commonjs/primitives/Text.d.ts.map +1 -0
  349. package/lib/typescript/commonjs/primitives/pressFeedback.d.ts +39 -0
  350. package/lib/typescript/commonjs/primitives/pressFeedback.d.ts.map +1 -0
  351. package/lib/typescript/commonjs/primitives/textStyle.d.ts +13 -0
  352. package/lib/typescript/commonjs/primitives/textStyle.d.ts.map +1 -0
  353. package/lib/typescript/commonjs/primitives/tintSlot.d.ts +10 -0
  354. package/lib/typescript/commonjs/primitives/tintSlot.d.ts.map +1 -0
  355. package/lib/typescript/commonjs/primitives/touchTarget.d.ts +43 -0
  356. package/lib/typescript/commonjs/primitives/touchTarget.d.ts.map +1 -0
  357. package/lib/typescript/commonjs/theme/BlendNativeProvider.d.ts +69 -0
  358. package/lib/typescript/commonjs/theme/BlendNativeProvider.d.ts.map +1 -0
  359. package/lib/typescript/commonjs/theme/breakpoint.d.ts +27 -0
  360. package/lib/typescript/commonjs/theme/breakpoint.d.ts.map +1 -0
  361. package/lib/typescript/commonjs/theme/fonts.d.ts +34 -0
  362. package/lib/typescript/commonjs/theme/fonts.d.ts.map +1 -0
  363. package/lib/typescript/commonjs/theme/nativeTokenRegistry.d.ts +34 -0
  364. package/lib/typescript/commonjs/theme/nativeTokenRegistry.d.ts.map +1 -0
  365. package/lib/typescript/commonjs/theme/systemTheme.d.ts +25 -0
  366. package/lib/typescript/commonjs/theme/systemTheme.d.ts.map +1 -0
  367. package/lib/typescript/commonjs/theme/useNativeBreakpoint.d.ts +17 -0
  368. package/lib/typescript/commonjs/theme/useNativeBreakpoint.d.ts.map +1 -0
  369. package/lib/typescript/commonjs/theme/useNativeTokens.d.ts +4 -0
  370. package/lib/typescript/commonjs/theme/useNativeTokens.d.ts.map +1 -0
  371. package/lib/typescript/module/a11y/announcement.d.ts +26 -0
  372. package/lib/typescript/module/a11y/announcement.d.ts.map +1 -0
  373. package/lib/typescript/module/a11y/useLiveRegion.d.ts +17 -0
  374. package/lib/typescript/module/a11y/useLiveRegion.d.ts.map +1 -0
  375. package/lib/typescript/module/adapters/cssStringAdapter.d.ts +119 -0
  376. package/lib/typescript/module/adapters/cssStringAdapter.d.ts.map +1 -0
  377. package/lib/typescript/module/adapters/optionalGradient.d.ts +32 -0
  378. package/lib/typescript/module/adapters/optionalGradient.d.ts.map +1 -0
  379. package/lib/typescript/module/adapters/surfaceStyle.d.ts +75 -0
  380. package/lib/typescript/module/adapters/surfaceStyle.d.ts.map +1 -0
  381. package/lib/typescript/module/components/Alert/Alert.d.ts +14 -0
  382. package/lib/typescript/module/components/Alert/Alert.d.ts.map +1 -0
  383. package/lib/typescript/module/components/Alert/AlertActions.d.ts +13 -0
  384. package/lib/typescript/module/components/Alert/AlertActions.d.ts.map +1 -0
  385. package/lib/typescript/module/components/Alert/AlertClose.d.ts +22 -0
  386. package/lib/typescript/module/components/Alert/AlertClose.d.ts.map +1 -0
  387. package/lib/typescript/module/components/Alert/AlertText.d.ts +19 -0
  388. package/lib/typescript/module/components/Alert/AlertText.d.ts.map +1 -0
  389. package/lib/typescript/module/components/Alert/alert.tokens.d.ts +17 -0
  390. package/lib/typescript/module/components/Alert/alert.tokens.d.ts.map +1 -0
  391. package/lib/typescript/module/components/Alert/alert.types.d.ts +70 -0
  392. package/lib/typescript/module/components/Alert/alert.types.d.ts.map +1 -0
  393. package/lib/typescript/module/components/Alert/alert.utils.d.ts +58 -0
  394. package/lib/typescript/module/components/Alert/alert.utils.d.ts.map +1 -0
  395. package/lib/typescript/module/components/Alert/index.d.ts +7 -0
  396. package/lib/typescript/module/components/Alert/index.d.ts.map +1 -0
  397. package/lib/typescript/module/components/Button/Button.d.ts +22 -0
  398. package/lib/typescript/module/components/Button/Button.d.ts.map +1 -0
  399. package/lib/typescript/module/components/Button/button.types.d.ts +37 -0
  400. package/lib/typescript/module/components/Button/button.types.d.ts.map +1 -0
  401. package/lib/typescript/module/components/Button/button.utils.d.ts +98 -0
  402. package/lib/typescript/module/components/Button/button.utils.d.ts.map +1 -0
  403. package/lib/typescript/module/components/Button/index.d.ts +5 -0
  404. package/lib/typescript/module/components/Button/index.d.ts.map +1 -0
  405. package/lib/typescript/module/components/Skeleton/Skeleton.d.ts +7 -0
  406. package/lib/typescript/module/components/Skeleton/Skeleton.d.ts.map +1 -0
  407. package/lib/typescript/module/components/Skeleton/index.d.ts +3 -0
  408. package/lib/typescript/module/components/Skeleton/index.d.ts.map +1 -0
  409. package/lib/typescript/module/components/Skeleton/skeleton.types.d.ts +25 -0
  410. package/lib/typescript/module/components/Skeleton/skeleton.types.d.ts.map +1 -0
  411. package/lib/typescript/module/components/Skeleton/skeleton.utils.d.ts +21 -0
  412. package/lib/typescript/module/components/Skeleton/skeleton.utils.d.ts.map +1 -0
  413. package/lib/typescript/module/components/Tag/Tag.d.ts +21 -0
  414. package/lib/typescript/module/components/Tag/Tag.d.ts.map +1 -0
  415. package/lib/typescript/module/components/Tag/index.d.ts +4 -0
  416. package/lib/typescript/module/components/Tag/index.d.ts.map +1 -0
  417. package/lib/typescript/module/components/Tag/tag.types.d.ts +56 -0
  418. package/lib/typescript/module/components/Tag/tag.types.d.ts.map +1 -0
  419. package/lib/typescript/module/components/Tag/tag.utils.d.ts +41 -0
  420. package/lib/typescript/module/components/Tag/tag.utils.d.ts.map +1 -0
  421. package/lib/typescript/module/components/TextInput/TextInput.d.ts +33 -0
  422. package/lib/typescript/module/components/TextInput/TextInput.d.ts.map +1 -0
  423. package/lib/typescript/module/components/TextInput/index.d.ts +3 -0
  424. package/lib/typescript/module/components/TextInput/index.d.ts.map +1 -0
  425. package/lib/typescript/module/components/TextInput/textInput.types.d.ts +45 -0
  426. package/lib/typescript/module/components/TextInput/textInput.types.d.ts.map +1 -0
  427. package/lib/typescript/module/components/TextInput/textInput.utils.d.ts +35 -0
  428. package/lib/typescript/module/components/TextInput/textInput.utils.d.ts.map +1 -0
  429. package/lib/typescript/module/components/shared/field/FieldFooter.d.ts +22 -0
  430. package/lib/typescript/module/components/shared/field/FieldFooter.d.ts.map +1 -0
  431. package/lib/typescript/module/components/shared/field/FieldLabels.d.ts +27 -0
  432. package/lib/typescript/module/components/shared/field/FieldLabels.d.ts.map +1 -0
  433. package/lib/typescript/module/components/shared/field/fieldState.d.ts +23 -0
  434. package/lib/typescript/module/components/shared/field/fieldState.d.ts.map +1 -0
  435. package/lib/typescript/module/components/shared/group.d.ts +50 -0
  436. package/lib/typescript/module/components/shared/group.d.ts.map +1 -0
  437. package/lib/typescript/module/index.d.ts +74 -0
  438. package/lib/typescript/module/index.d.ts.map +1 -0
  439. package/lib/typescript/module/motion/motion.d.ts +121 -0
  440. package/lib/typescript/module/motion/motion.d.ts.map +1 -0
  441. package/lib/typescript/module/motion/useReduceMotion.d.ts +14 -0
  442. package/lib/typescript/module/motion/useReduceMotion.d.ts.map +1 -0
  443. package/lib/typescript/module/overlay/portal.d.ts +20 -0
  444. package/lib/typescript/module/overlay/portal.d.ts.map +1 -0
  445. package/lib/typescript/module/overlay/positioning.d.ts +65 -0
  446. package/lib/typescript/module/overlay/positioning.d.ts.map +1 -0
  447. package/lib/typescript/module/overlay/safeAreaInsets.d.ts +19 -0
  448. package/lib/typescript/module/overlay/safeAreaInsets.d.ts.map +1 -0
  449. package/lib/typescript/module/overlay/sheet/BottomSheet.d.ts +56 -0
  450. package/lib/typescript/module/overlay/sheet/BottomSheet.d.ts.map +1 -0
  451. package/lib/typescript/module/overlay/sheet/sheetMath.d.ts +32 -0
  452. package/lib/typescript/module/overlay/sheet/sheetMath.d.ts.map +1 -0
  453. package/lib/typescript/module/overlay/toast/ToastOutlet.d.ts +17 -0
  454. package/lib/typescript/module/overlay/toast/ToastOutlet.d.ts.map +1 -0
  455. package/lib/typescript/module/overlay/toast/toastStore.d.ts +45 -0
  456. package/lib/typescript/module/overlay/toast/toastStore.d.ts.map +1 -0
  457. package/lib/typescript/module/overlay/useAnchoredPosition.d.ts +40 -0
  458. package/lib/typescript/module/overlay/useAnchoredPosition.d.ts.map +1 -0
  459. package/lib/typescript/module/package.json +1 -0
  460. package/lib/typescript/module/primitives/Block.d.ts +37 -0
  461. package/lib/typescript/module/primitives/Block.d.ts.map +1 -0
  462. package/lib/typescript/module/primitives/Pressable.d.ts +135 -0
  463. package/lib/typescript/module/primitives/Pressable.d.ts.map +1 -0
  464. package/lib/typescript/module/primitives/PrimitiveInput.d.ts +42 -0
  465. package/lib/typescript/module/primitives/PrimitiveInput.d.ts.map +1 -0
  466. package/lib/typescript/module/primitives/Separator.d.ts +28 -0
  467. package/lib/typescript/module/primitives/Separator.d.ts.map +1 -0
  468. package/lib/typescript/module/primitives/Slot.d.ts +48 -0
  469. package/lib/typescript/module/primitives/Slot.d.ts.map +1 -0
  470. package/lib/typescript/module/primitives/Text.d.ts +50 -0
  471. package/lib/typescript/module/primitives/Text.d.ts.map +1 -0
  472. package/lib/typescript/module/primitives/pressFeedback.d.ts +39 -0
  473. package/lib/typescript/module/primitives/pressFeedback.d.ts.map +1 -0
  474. package/lib/typescript/module/primitives/textStyle.d.ts +13 -0
  475. package/lib/typescript/module/primitives/textStyle.d.ts.map +1 -0
  476. package/lib/typescript/module/primitives/tintSlot.d.ts +10 -0
  477. package/lib/typescript/module/primitives/tintSlot.d.ts.map +1 -0
  478. package/lib/typescript/module/primitives/touchTarget.d.ts +43 -0
  479. package/lib/typescript/module/primitives/touchTarget.d.ts.map +1 -0
  480. package/lib/typescript/module/theme/BlendNativeProvider.d.ts +69 -0
  481. package/lib/typescript/module/theme/BlendNativeProvider.d.ts.map +1 -0
  482. package/lib/typescript/module/theme/breakpoint.d.ts +27 -0
  483. package/lib/typescript/module/theme/breakpoint.d.ts.map +1 -0
  484. package/lib/typescript/module/theme/fonts.d.ts +34 -0
  485. package/lib/typescript/module/theme/fonts.d.ts.map +1 -0
  486. package/lib/typescript/module/theme/nativeTokenRegistry.d.ts +34 -0
  487. package/lib/typescript/module/theme/nativeTokenRegistry.d.ts.map +1 -0
  488. package/lib/typescript/module/theme/systemTheme.d.ts +25 -0
  489. package/lib/typescript/module/theme/systemTheme.d.ts.map +1 -0
  490. package/lib/typescript/module/theme/useNativeBreakpoint.d.ts +17 -0
  491. package/lib/typescript/module/theme/useNativeBreakpoint.d.ts.map +1 -0
  492. package/lib/typescript/module/theme/useNativeTokens.d.ts +4 -0
  493. package/lib/typescript/module/theme/useNativeTokens.d.ts.map +1 -0
  494. package/package.json +137 -0
  495. package/src/a11y/announcement.ts +41 -0
  496. package/src/a11y/useLiveRegion.ts +36 -0
  497. package/src/adapters/cssStringAdapter.ts +403 -0
  498. package/src/adapters/optionalGradient.ts +39 -0
  499. package/src/adapters/surfaceStyle.ts +209 -0
  500. package/src/components/Alert/Alert.tsx +167 -0
  501. package/src/components/Alert/AlertActions.tsx +98 -0
  502. package/src/components/Alert/AlertClose.tsx +53 -0
  503. package/src/components/Alert/AlertText.tsx +58 -0
  504. package/src/components/Alert/alert.tokens.ts +24 -0
  505. package/src/components/Alert/alert.types.ts +81 -0
  506. package/src/components/Alert/alert.utils.ts +94 -0
  507. package/src/components/Alert/index.ts +21 -0
  508. package/src/components/Button/Button.tsx +180 -0
  509. package/src/components/Button/button.types.ts +44 -0
  510. package/src/components/Button/button.utils.ts +213 -0
  511. package/src/components/Button/index.ts +12 -0
  512. package/src/components/Skeleton/Skeleton.tsx +196 -0
  513. package/src/components/Skeleton/index.ts +2 -0
  514. package/src/components/Skeleton/skeleton.types.ts +28 -0
  515. package/src/components/Skeleton/skeleton.utils.ts +56 -0
  516. package/src/components/Tag/Tag.tsx +204 -0
  517. package/src/components/Tag/index.ts +7 -0
  518. package/src/components/Tag/tag.types.ts +63 -0
  519. package/src/components/Tag/tag.utils.ts +82 -0
  520. package/src/components/TextInput/TextInput.tsx +165 -0
  521. package/src/components/TextInput/index.ts +2 -0
  522. package/src/components/TextInput/textInput.types.ts +54 -0
  523. package/src/components/TextInput/textInput.utils.ts +68 -0
  524. package/src/components/shared/field/FieldFooter.tsx +66 -0
  525. package/src/components/shared/field/FieldLabels.tsx +86 -0
  526. package/src/components/shared/field/fieldState.ts +39 -0
  527. package/src/components/shared/group.ts +72 -0
  528. package/src/index.ts +144 -0
  529. package/src/motion/motion.ts +115 -0
  530. package/src/motion/useReduceMotion.ts +36 -0
  531. package/src/overlay/portal.tsx +122 -0
  532. package/src/overlay/positioning.ts +196 -0
  533. package/src/overlay/safeAreaInsets.ts +36 -0
  534. package/src/overlay/sheet/BottomSheet.tsx +276 -0
  535. package/src/overlay/sheet/sheetMath.ts +58 -0
  536. package/src/overlay/toast/ToastOutlet.tsx +127 -0
  537. package/src/overlay/toast/toastStore.ts +96 -0
  538. package/src/overlay/useAnchoredPosition.ts +92 -0
  539. package/src/primitives/Block.tsx +129 -0
  540. package/src/primitives/Pressable.tsx +528 -0
  541. package/src/primitives/PrimitiveInput.tsx +87 -0
  542. package/src/primitives/Separator.tsx +65 -0
  543. package/src/primitives/Slot.tsx +94 -0
  544. package/src/primitives/Text.tsx +98 -0
  545. package/src/primitives/pressFeedback.ts +78 -0
  546. package/src/primitives/textStyle.ts +24 -0
  547. package/src/primitives/tintSlot.ts +44 -0
  548. package/src/primitives/touchTarget.ts +72 -0
  549. package/src/theme/BlendNativeProvider.tsx +147 -0
  550. package/src/theme/breakpoint.ts +38 -0
  551. package/src/theme/fonts.ts +63 -0
  552. package/src/theme/nativeTokenRegistry.ts +57 -0
  553. package/src/theme/systemTheme.ts +34 -0
  554. package/src/theme/useNativeBreakpoint.ts +27 -0
  555. package/src/theme/useNativeTokens.ts +99 -0
@@ -0,0 +1,363 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.mergeStyles = mergeStyles;
7
+ exports.parseBackground = parseBackground;
8
+ exports.parseBorder = parseBorder;
9
+ exports.parseBorderRadius = parseBorderRadius;
10
+ exports.parseBoxShadow = parseBoxShadow;
11
+ exports.parseDimension = parseDimension;
12
+ exports.parseDuration = parseDuration;
13
+ exports.parseSize = parseSize;
14
+ /**
15
+ * CSS-string token adapter for React Native.
16
+ *
17
+ * Blend's token factories emit CSS string values (`"6px"`,
18
+ * `"1px solid #E1E4EA"`, `"linear-gradient(180deg, #1A56DB -5%, #2563EB 107.5%)"`).
19
+ * RN's stylesheet engine accepts only numbers or platform-specific style
20
+ * objects, so every token value that touches layout/decoration must be
21
+ * translated here.
22
+ *
23
+ * Every function is pure and defensive: unparseable input returns a safe
24
+ * fallback (usually `undefined`) rather than throwing, so a single bad token
25
+ * never crashes the whole button.
26
+ */
27
+
28
+ /**
29
+ * A decimal number, in a form the regex engine cannot backtrack over.
30
+ *
31
+ * The obvious spellings — `\d*\.?\d+` and `\d+\.?\d*` — are **ambiguous**:
32
+ * with no `.` present, a run of digits can be divided between the two
33
+ * quantifiers in as many ways as there are digits, so a long non-matching
34
+ * input costs O(n^2). CodeQL flags both as `js/polynomial-redos`, correctly.
35
+ *
36
+ * Here the `.` inside the optional group is mandatory, so each digit run has
37
+ * exactly one valid division and matching stays linear.
38
+ */
39
+ const NUMBER = String.raw`-?(?:\d+(?:\.\d+)?|\.\d+)`;
40
+
41
+ /** `"6px"`, `"1.5px"`, `"0"` — a length, with the unit optional. */
42
+ const DIMENSION_RE = new RegExp(`^(${NUMBER})(?:px)?$`);
43
+
44
+ /** `"50%"`, `"33.5%"`, `"-5%"` — a percentage. */
45
+ const PERCENT_RE = new RegExp(`^(${NUMBER})%$`);
46
+
47
+ /**
48
+ * Result of parsing a background token.
49
+ *
50
+ * - `flat` — solid color, apply via `backgroundColor`.
51
+ * - `gradient` — linear gradient, requires a `<LinearGradient>` wrapper.
52
+ * - `null` — `none` / transparent / unparseable; no background.
53
+ */
54
+
55
+ /**
56
+ * Parse a CSS dimension string (`"6px"`, `"1.5px"`, `"0"`) into a number.
57
+ * Returns `undefined` for non-numeric input.
58
+ *
59
+ * `parseDimension("6px") → 6`
60
+ * `parseDimension("1.5px") → 1.5`
61
+ * `parseDimension("0") → 0`
62
+ */
63
+ function parseDimension(value) {
64
+ if (value === undefined || value === null) return undefined;
65
+ if (typeof value === 'number') return Number.isFinite(value) ? value : undefined;
66
+ const match = value.trim().match(DIMENSION_RE);
67
+ if (!match) return undefined;
68
+ const n = parseFloat(match[1]);
69
+ return Number.isNaN(n) ? undefined : n;
70
+ }
71
+
72
+ /**
73
+ * RN's type for anything that accepts a length or a percentage
74
+ * (`width`, `maxHeight`, `flexBasis`, ...).
75
+ */
76
+
77
+ /**
78
+ * Parse a CSS size value — `width`, `height`, `maxHeight`, `minWidth`, ... —
79
+ * into something RN's stylesheet actually understands.
80
+ *
81
+ * This is deliberately strict. `parseFloat` is NOT a safe fallback here: it
82
+ * turns `"100%"` into `100`, which RN renders as **100 pixels** rather than
83
+ * full width, and it silently accepts `"12abc"` (→ `12`) and `"50em"` (→ `50`).
84
+ * Anything not explicitly understood returns `undefined` so the caller skips
85
+ * the prop instead of laying out a wrong value.
86
+ *
87
+ * ```
88
+ * parseSize(24) → 24
89
+ * parseSize('24px') → 24
90
+ * parseSize('50%') → '50%'
91
+ * parseSize('100%') → '100%'
92
+ * parseSize('auto') → 'auto'
93
+ * parseSize('fit-content') → 'auto' // RN's nearest equivalent
94
+ * parseSize('min-content') → undefined
95
+ * parseSize('calc(1+2)') → undefined
96
+ * parseSize('50em') → undefined
97
+ * parseSize('12abc') → undefined
98
+ * ```
99
+ */
100
+ function parseSize(value) {
101
+ if (value === undefined || value === null) return undefined;
102
+ if (typeof value === 'number') {
103
+ return Number.isFinite(value) ? value : undefined;
104
+ }
105
+ const trimmed = value.trim();
106
+ if (trimmed === '') return undefined;
107
+
108
+ // `fit-content` has no RN equivalent; `auto` is the closest behaviour
109
+ // (shrink-to-fit within the parent's constraints).
110
+ if (trimmed === 'auto' || trimmed === 'fit-content') return 'auto';
111
+
112
+ // Percentages. See `NUMBER` — linear, so a long adversarial input cannot
113
+ // degrade this.
114
+ const pct = trimmed.match(PERCENT_RE);
115
+ if (pct) {
116
+ const n = parseFloat(pct[1]);
117
+ return Number.isNaN(n) ? undefined : `${n}%`;
118
+ }
119
+
120
+ // Bare numbers and `px` lengths.
121
+ return parseDimension(trimmed);
122
+ }
123
+
124
+ /**
125
+ * Parse a CSS time value (`"1.5s"`, `"200ms"`, `1500`) into milliseconds.
126
+ * Returns `undefined` for unparseable input so callers fall back to their
127
+ * own default duration.
128
+ *
129
+ * `parseDuration('1.5s') → 1500`
130
+ * `parseDuration('200ms') → 200`
131
+ */
132
+ function parseDuration(value) {
133
+ if (value === undefined || value === null) return undefined;
134
+ if (typeof value === 'number') return Number.isFinite(value) ? value : undefined;
135
+ const match = value.trim().match(new RegExp(`^(${NUMBER})(ms|s)$`));
136
+ if (!match) return undefined;
137
+ const n = parseFloat(match[1]);
138
+ if (Number.isNaN(n)) return undefined;
139
+ return match[2] === 's' ? n * 1000 : n;
140
+ }
141
+
142
+ /**
143
+ * Parse a CSS `border` shorthand (`"1px solid #E1E4EA"`) into RN border props.
144
+ * Returns `{ borderWidth, borderColor }` — the only two border properties RN
145
+ * supports uniformly across iOS/Android.
146
+ *
147
+ * `parseBorder("1.5px solid #1A56DB") → { borderWidth: 1.5, borderColor: "#1A56DB" }`
148
+ * `parseBorder("none") → {}`
149
+ */
150
+ function parseBorder(value) {
151
+ if (!value || value === 'none' || value === 'transparent') {
152
+ return {};
153
+ }
154
+ // Match: <width> <style> <color>
155
+ // width: "1px" / "1.5px"
156
+ // style: "solid" / "dashed" / "dotted" (RN only renders solid reliably)
157
+ // color: hex / rgb / rgba / named
158
+ const match = value.trim().match(/^(\d*\.?\d+)px\s+(?:solid|dashed|dotted)\s+(.+)$/);
159
+ if (!match) return {};
160
+ const width = parseFloat(match[1]);
161
+ const color = match[2].trim();
162
+ if (Number.isNaN(width) || !color) return {};
163
+ return {
164
+ borderWidth: width,
165
+ borderColor: color
166
+ };
167
+ }
168
+
169
+ /**
170
+ * Parse a CSS `border-radius` value into a number or corner-tuple for RN.
171
+ *
172
+ * Single value: `"10px" → 10`
173
+ * Four values (per CSS order TL TR BR BL): `"10px 0 0 10px" → { topLeft: 10, topRight: 0, bottomRight: 0, bottomLeft: 10 }`
174
+ *
175
+ * Returns `undefined` for unparseable input so callers can skip the prop.
176
+ */
177
+ function parseBorderRadius(value) {
178
+ if (value === undefined || value === null) return undefined;
179
+ if (typeof value === 'number') return value;
180
+ const trimmed = value.trim();
181
+ if (trimmed === '' || trimmed === 'none') return undefined;
182
+ const parts = trimmed.split(/\s+/).map(p => parseFloat(p));
183
+ if (parts.some(p => Number.isNaN(p))) return undefined;
184
+ if (parts.length === 1) return parts[0];
185
+ if (parts.length === 4) {
186
+ // CSS order: top-left, top-right, bottom-right, bottom-left
187
+ return {
188
+ borderTopLeftRadius: parts[0],
189
+ borderTopRightRadius: parts[1],
190
+ borderBottomRightRadius: parts[2],
191
+ borderBottomLeftRadius: parts[3]
192
+ };
193
+ }
194
+ // 2 or 3 value shorthands are rare in tokens; fall back to single.
195
+ return parts[0];
196
+ }
197
+
198
+ /**
199
+ * Parse one or more CSS `box-shadow` declarations into RN shadow/elevation props.
200
+ *
201
+ * RN does NOT support `inset` shadows — any `inset` declaration returns `null`
202
+ * (the caller should treat that as "no shadow"). Multiple comma-separated
203
+ * shadows are collapsed into the first non-inset shadow, because RN's shadow
204
+ * API models a single shadow.
205
+ *
206
+ * Focus-ring shadows (`"0 0 0 3px #EFF6FF"`) are parsed normally and become
207
+ * outer shadows — visually acceptable on native.
208
+ *
209
+ * Returns a `ViewStyle` subset: `shadowColor`, `shadowOffset`, `shadowOpacity`,
210
+ * `shadowRadius` (iOS) + `elevation` (Android).
211
+ */
212
+ function parseBoxShadow(value) {
213
+ if (!value || value === 'none') return null;
214
+
215
+ // Split on commas that separate multiple shadow declarations — but NOT
216
+ // commas inside rgba()/rgb() parens, which are part of a color, not
217
+ // separators. `(?![^(]*\))` = skip commas inside parens.
218
+ const shadows = value.split(/,(?![^(]*\))/).map(s => s.trim()).filter(Boolean);
219
+
220
+ // Find the first non-inset shadow — RN cannot render inset shadows at all.
221
+ const outer = shadows.find(s => !/\binset\b/i.test(s));
222
+ if (!outer) return null;
223
+
224
+ // Extract the color first, then parse numbers from the remainder.
225
+ // This avoids picking up digits from inside rgba(...) as offsets.
226
+ const colorMatch = outer.match(/#[0-9a-fA-F]{3,8}|rgba?\([^)]*\)/i);
227
+ const numericPart = outer.replace(/#[0-9a-fA-F]{3,8}|rgba?\([^)]*\)/gi, ' ').replace(/\binset\b/gi, ' ');
228
+ const nums = numericPart.match(/-?\d*\.?\d+/g)?.map(t => parseFloat(t)) ?? [];
229
+ const [offsetX = 0, offsetY = 0, blur = 0, spread = 0] = nums;
230
+
231
+ // RN's shadowRadius is the blur radius, not the spread.
232
+ // Elevation approximates the combined shadow depth on Android.
233
+ const shadowColor = colorMatch?.[0] ?? '#000000';
234
+
235
+ // If shadowColor is rgba(), extract the rgb for shadowColor and keep the
236
+ // alpha separately for shadowOpacity (iOS multiplies them).
237
+ let resolvedColor = shadowColor;
238
+ let resolvedOpacity = 1;
239
+ const rgbaMatch = shadowColor.match(/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*([\d.]+))?\s*\)/i);
240
+ if (rgbaMatch) {
241
+ const [, r, g, b, a] = rgbaMatch;
242
+ resolvedColor = `rgb(${r}, ${g}, ${b})`;
243
+ resolvedOpacity = a ? parseFloat(a) : 1;
244
+ }
245
+
246
+ // Elevation: a rough heuristic — use blur + |offsetY| as the depth cue.
247
+ // Spread on focus rings (e.g. `0 0 0 3px`) should still produce visible
248
+ // elevation, so include it.
249
+ const elevation = Math.max(blur, spread, Math.abs(offsetY));
250
+ return {
251
+ shadowColor: resolvedColor,
252
+ shadowOffset: {
253
+ width: offsetX,
254
+ height: offsetY
255
+ },
256
+ shadowOpacity: resolvedOpacity,
257
+ shadowRadius: blur + spread,
258
+ elevation
259
+ };
260
+ }
261
+
262
+ /**
263
+ * Parse a CSS `background` value into a `ParsedBackground`.
264
+ *
265
+ * - `"linear-gradient(180deg, #1A56DB -5%, #2563EB 107.5%)"` → gradient descriptor
266
+ * (percentage midpoints outside [0,1] are clamped — known limitation)
267
+ * - `"#FFFFFF"` / `"rgb(255,255,255)"` → flat color
268
+ * - `"none"` / `"transparent"` → null
269
+ */
270
+ function parseBackground(value) {
271
+ if (!value || value === 'none' || value === 'transparent') return null;
272
+
273
+ // Gradient?
274
+ const gradientMatch = value.match(/linear-gradient\(\s*(\d+)deg\s*,\s*(.+)\s*\)/i);
275
+ if (gradientMatch) {
276
+ const angle = parseFloat(gradientMatch[1]);
277
+ const stopsStr = gradientMatch[2];
278
+
279
+ // Parse color stops: "<color> <position>?" separated by commas.
280
+ // Blend gradient tokens use hex colors (no embedded commas), so a
281
+ // simple split on "," is safe. Each stop is trimmed, then split on
282
+ // whitespace to separate color from its optional percentage position.
283
+ // Positions may be outside [0,1] (e.g. "-5%", "107.5%") — clamped.
284
+ const stopStrs = stopsStr.split(',').map(s => s.trim()).filter(Boolean);
285
+ const colors = [];
286
+ const locations = [];
287
+ for (const stop of stopStrs) {
288
+ // "color" or "color position%"
289
+ const parts = stop.split(/\s+/);
290
+ colors.push(parts[0]);
291
+ if (parts[1]) {
292
+ const pct = parseFloat(parts[1]) / 100;
293
+ locations.push(Math.min(1, Math.max(0, pct)));
294
+ } else {
295
+ locations.push(0);
296
+ }
297
+ }
298
+ if (colors.length < 2) {
299
+ // Degenerate gradient — treat as flat color.
300
+ return colors[0] ? {
301
+ type: 'flat',
302
+ color: colors[0]
303
+ } : null;
304
+ }
305
+
306
+ // If locations weren't specified, distribute evenly.
307
+ const allZero = locations.every(l => l === 0);
308
+ let resolvedLocations = locations;
309
+ if (allZero) {
310
+ resolvedLocations = colors.map((_, i) => i / (colors.length - 1));
311
+ }
312
+
313
+ // Convert CSS angle (0deg = bottom→top) to RN {start, end} coords.
314
+ // RN's LinearGradient uses normalized [0,1] coordinates on the bounding box.
315
+ // 0deg → start={x:0.5,y:1} end={x:0.5,y:0}
316
+ // 90deg → start={x:0,y:0.5} end={x:1,y:0.5}
317
+ // 180deg → start={x:0.5,y:0} end={x:0.5,y:1}
318
+ const rad = angle * Math.PI / 180;
319
+ const start = {
320
+ x: 0.5 - Math.sin(rad) * 0.5,
321
+ y: 0.5 + Math.cos(rad) * 0.5
322
+ };
323
+ const end = {
324
+ x: 0.5 + Math.sin(rad) * 0.5,
325
+ y: 0.5 - Math.cos(rad) * 0.5
326
+ };
327
+ return {
328
+ type: 'gradient',
329
+ colors,
330
+ locations: resolvedLocations,
331
+ start,
332
+ end
333
+ };
334
+ }
335
+
336
+ // Solid color (hex / rgb / rgba / named)
337
+ if (/^(#[0-9a-fA-F]{3,8}|rgba?\(|[a-z]+)/i.test(value)) {
338
+ return {
339
+ type: 'flat',
340
+ color: value
341
+ };
342
+ }
343
+ return null;
344
+ }
345
+
346
+ /**
347
+ * Merge multiple style objects into one, skipping `undefined` values.
348
+ * Helper for composing adapter output with caller-provided overrides.
349
+ */
350
+ function mergeStyles(...styles) {
351
+ const result = {};
352
+ for (const s of styles) {
353
+ if (!s) continue;
354
+ for (const key of Object.keys(s)) {
355
+ const val = s[key];
356
+ if (val !== undefined && val !== null) {
357
+ result[key] = val;
358
+ }
359
+ }
360
+ }
361
+ return result;
362
+ }
363
+ //# sourceMappingURL=cssStringAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NUMBER","String","raw","DIMENSION_RE","RegExp","PERCENT_RE","parseDimension","value","undefined","Number","isFinite","match","trim","n","parseFloat","isNaN","parseSize","trimmed","pct","parseDuration","parseBorder","width","color","borderWidth","borderColor","parseBorderRadius","parts","split","map","p","some","length","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","parseBoxShadow","shadows","s","filter","Boolean","outer","find","test","colorMatch","numericPart","replace","nums","t","offsetX","offsetY","blur","spread","shadowColor","resolvedColor","resolvedOpacity","rgbaMatch","r","g","b","a","elevation","Math","max","abs","shadowOffset","height","shadowOpacity","shadowRadius","parseBackground","gradientMatch","angle","stopsStr","stopStrs","colors","locations","stop","push","min","type","allZero","every","l","resolvedLocations","_","i","rad","PI","start","x","sin","y","cos","end","mergeStyles","styles","result","key","Object","keys","val"],"sourceRoot":"../../../src","sources":["adapters/cssStringAdapter.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.LinearGradient = void 0;
7
+ /**
8
+ * Optional `expo-linear-gradient` probe, shared by every surface that can
9
+ * render a gradient (Pressable's gradient buttons, Skeleton's wave sweep).
10
+ *
11
+ * The probe must survive every build target this package ships:
12
+ *
13
+ * - **Metro (`react-native` condition, raw `src/`)** and the **CJS build**
14
+ * (`require`/`default` conditions): `require` exists, the module loads
15
+ * when installed, and the `catch` absorbs its absence.
16
+ * - **The ESM build** (`import` condition): there is no `require` in module
17
+ * scope. The `typeof` guard makes the degradation explicit — gradient
18
+ * surfaces fall back to a flat fill — instead of relying on a caught
19
+ * `ReferenceError`. Bundlers that polyfill `require` in ESM (webpack)
20
+ * still resolve the real module.
21
+ */
22
+
23
+ let LinearGradient = exports.LinearGradient = null;
24
+ try {
25
+ if (typeof require === 'function') {
26
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
27
+ const mod = require('expo-linear-gradient');
28
+ exports.LinearGradient = LinearGradient = mod.LinearGradient;
29
+ }
30
+ } catch {
31
+ exports.LinearGradient = LinearGradient = null;
32
+ }
33
+ //# sourceMappingURL=optionalGradient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["LinearGradient","exports","require","mod"],"sourceRoot":"../../../src","sources":["adapters/optionalGradient.ts"],"mappings":";;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAYO,IAAIA,cAAwC,GAAAC,OAAA,CAAAD,cAAA,GAAG,IAAI;AAC1D,IAAI;EACA,IAAI,OAAOE,OAAO,KAAK,UAAU,EAAE;IAC/B;IACA,MAAMC,GAAmB,GAAGD,OAAO,CAAC,sBAAsB,CAAC;IAC3DD,OAAA,CAAAD,cAAA,GAAAA,cAAc,GAAGG,GAAG,CAACH,cAAc;EACvC;AACJ,CAAC,CAAC,MAAM;EACJC,OAAA,CAAAD,cAAA,GAAAA,cAAc,GAAG,IAAI;AACzB","ignoreList":[]}
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.resolveBackground = resolveBackground;
7
+ exports.resolveSurfaceStyle = resolveSurfaceStyle;
8
+ var _cssStringAdapter = require("./cssStringAdapter.js");
9
+ /**
10
+ * Shared CSS-string → `ViewStyle` resolution for every native surface.
11
+ *
12
+ * Both `Block` (a plain `View`) and `Pressable` (an interactive surface) need
13
+ * to turn the same token-shaped CSS strings into RN styles. Before this
14
+ * existed, `Pressable` inlined the whole translation and `Block` had none at
15
+ * all — which meant a non-interactive container could not render a border,
16
+ * a radius, or a height. Components that switch between the two depending on
17
+ * whether they are interactive (web's `TagElement = onClick ? PrimitiveButton
18
+ * : Block` pattern) would have rendered differently in each branch.
19
+ *
20
+ * Pure and total: unparseable input is dropped rather than thrown, and no key
21
+ * is emitted for a value that could not be resolved, so `undefined`/`NaN`
22
+ * never reaches RN's stylesheet.
23
+ */
24
+
25
+ /**
26
+ * Which platform's shadow model to emit.
27
+ *
28
+ * Passed in rather than read from `Platform.OS` so this module stays free of
29
+ * any `react-native` value import and remains unit-testable outside a
30
+ * renderer — the same constraint that shapes `theme/breakpoint.ts` and
31
+ * `primitives/touchTarget.ts`.
32
+ */
33
+
34
+ /**
35
+ * Assign `value` to `target[key]` only when it is a usable style value.
36
+ * Keeps `undefined` and `NaN` out of the emitted `ViewStyle`.
37
+ */
38
+ function put(target, key, value) {
39
+ if (value === undefined || value === null) return;
40
+ if (typeof value === 'number' && Number.isNaN(value)) return;
41
+ target[key] = value;
42
+ }
43
+
44
+ /**
45
+ * Resolve the parsed background into `backgroundColor`, and report whether a
46
+ * gradient was requested. Gradients cannot be expressed as a `ViewStyle`, so
47
+ * callers that support them (`Pressable`) render a `<LinearGradient>` layer
48
+ * and callers that do not fall back to the gradient's first colour.
49
+ */
50
+ function resolveBackground(background, explicitBackgroundColor) {
51
+ if (explicitBackgroundColor) {
52
+ return {
53
+ backgroundColor: explicitBackgroundColor
54
+ };
55
+ }
56
+ const parsed = (0, _cssStringAdapter.parseBackground)(background);
57
+ if (!parsed) return {};
58
+ if (parsed.type === 'flat') return {
59
+ backgroundColor: parsed.color
60
+ };
61
+
62
+ // Gradient — hand it back for the caller to render, and supply the first
63
+ // stop as a static fallback so a non-gradient-capable surface still shows
64
+ // something in the right colour family rather than transparent.
65
+ return {
66
+ backgroundColor: parsed.colors[0],
67
+ gradient: parsed
68
+ };
69
+ }
70
+
71
+ /**
72
+ * Apply the shadow model the platform actually understands.
73
+ *
74
+ * The two are mutually exclusive in practice:
75
+ *
76
+ * - **iOS** renders `shadowColor` / `shadowOffset` / `shadowOpacity` /
77
+ * `shadowRadius` and ignores `elevation` entirely.
78
+ * - **Android** renders only `elevation`, and before API 28 it ignores
79
+ * `shadowColor` — so emitting the iOS keys alongside it is at best dead
80
+ * weight and at worst misleading to anyone reading the resolved style.
81
+ * - **Web** (react-native-web) maps the iOS keys onto `box-shadow`, as do
82
+ * RN-Windows and RN-macOS — so Android is the only platform that diverges.
83
+ *
84
+ * Emitting both unconditionally, as this used to, meant every surface carried
85
+ * four properties the running platform would never read.
86
+ */
87
+ function applyShadow(style, shadow, platform) {
88
+ if (!shadow) return;
89
+ if (platform === 'android') {
90
+ put(style, 'elevation', shadow.elevation);
91
+ return;
92
+ }
93
+ put(style, 'shadowColor', shadow.shadowColor);
94
+ put(style, 'shadowOffset', shadow.shadowOffset);
95
+ put(style, 'shadowOpacity', shadow.shadowOpacity);
96
+ put(style, 'shadowRadius', shadow.shadowRadius);
97
+ }
98
+
99
+ /**
100
+ * Translate token-shaped surface props into a `ViewStyle`.
101
+ *
102
+ * Gradients are reported separately via `resolveBackground` — this function
103
+ * emits only the flat-colour fallback, so it is safe for any `View`.
104
+ */
105
+ function resolveSurfaceStyle(props, platform = 'ios') {
106
+ const style = {};
107
+
108
+ // ---- Background -----------------------------------------------------
109
+ const {
110
+ backgroundColor
111
+ } = resolveBackground(props.background, props.backgroundColor);
112
+ put(style, 'backgroundColor', backgroundColor);
113
+
114
+ // ---- Border ---------------------------------------------------------
115
+ const borderStyle = (0, _cssStringAdapter.parseBorder)(props.border);
116
+ put(style, 'borderWidth', borderStyle.borderWidth);
117
+ put(style, 'borderColor', borderStyle.borderColor);
118
+
119
+ // ---- Radius ---------------------------------------------------------
120
+ const radius = (0, _cssStringAdapter.parseBorderRadius)(props.borderRadius);
121
+ if (typeof radius === 'number') {
122
+ put(style, 'borderRadius', radius);
123
+ } else if (radius && typeof radius === 'object') {
124
+ put(style, 'borderTopLeftRadius', radius.borderTopLeftRadius);
125
+ put(style, 'borderTopRightRadius', radius.borderTopRightRadius);
126
+ put(style, 'borderBottomRightRadius', radius.borderBottomRightRadius);
127
+ put(style, 'borderBottomLeftRadius', radius.borderBottomLeftRadius);
128
+ }
129
+
130
+ // ---- Shadow ---------------------------------------------------------
131
+ applyShadow(style, (0, _cssStringAdapter.parseBoxShadow)(props.boxShadow), platform);
132
+
133
+ // ---- Spacing --------------------------------------------------------
134
+ put(style, 'paddingTop', (0, _cssStringAdapter.parseDimension)(props.paddingTop));
135
+ put(style, 'paddingRight', (0, _cssStringAdapter.parseDimension)(props.paddingRight));
136
+ put(style, 'paddingBottom', (0, _cssStringAdapter.parseDimension)(props.paddingBottom));
137
+ put(style, 'paddingLeft', (0, _cssStringAdapter.parseDimension)(props.paddingLeft));
138
+ put(style, 'gap', (0, _cssStringAdapter.parseDimension)(props.gap));
139
+
140
+ // ---- Sizing ---------------------------------------------------------
141
+ put(style, 'width', (0, _cssStringAdapter.parseSize)(props.width));
142
+ put(style, 'minWidth', (0, _cssStringAdapter.parseSize)(props.minWidth));
143
+ put(style, 'maxWidth', (0, _cssStringAdapter.parseSize)(props.maxWidth));
144
+ put(style, 'height', (0, _cssStringAdapter.parseSize)(props.height));
145
+ put(style, 'minHeight', (0, _cssStringAdapter.parseSize)(props.minHeight));
146
+ put(style, 'maxHeight', (0, _cssStringAdapter.parseSize)(props.maxHeight));
147
+
148
+ // ---- Layout (already RN-shaped) -------------------------------------
149
+ put(style, 'flexDirection', props.flexDirection);
150
+ put(style, 'alignItems', props.alignItems);
151
+ put(style, 'justifyContent', props.justifyContent);
152
+ put(style, 'alignSelf', props.alignSelf);
153
+ put(style, 'flexShrink', props.flexShrink);
154
+ put(style, 'flexGrow', props.flexGrow);
155
+ put(style, 'opacity', props.opacity);
156
+ put(style, 'overflow', props.overflow);
157
+ return style;
158
+ }
159
+ //# sourceMappingURL=surfaceStyle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_cssStringAdapter","require","put","target","key","value","undefined","Number","isNaN","resolveBackground","background","explicitBackgroundColor","backgroundColor","parsed","parseBackground","type","color","colors","gradient","applyShadow","style","shadow","platform","elevation","shadowColor","shadowOffset","shadowOpacity","shadowRadius","resolveSurfaceStyle","props","borderStyle","parseBorder","border","borderWidth","borderColor","radius","parseBorderRadius","borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","parseBoxShadow","boxShadow","parseDimension","paddingTop","paddingRight","paddingBottom","paddingLeft","gap","parseSize","width","minWidth","maxWidth","height","minHeight","maxHeight","flexDirection","alignItems","justifyContent","alignSelf","flexShrink","flexGrow","opacity","overflow"],"sourceRoot":"../../../src","sources":["adapters/surfaceStyle.ts"],"mappings":";;;;;;;AACA,IAAAA,iBAAA,GAAAC,OAAA;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAsCA;AACA;AACA;AACA;AACA,SAASC,GAAGA,CACRC,MAAiB,EACjBC,GAAM,EACNC,KAA+B,EAC3B;EACJ,IAAIA,KAAK,KAAKC,SAAS,IAAID,KAAK,KAAK,IAAI,EAAE;EAC3C,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAIE,MAAM,CAACC,KAAK,CAACH,KAAK,CAAC,EAAE;EACtDF,MAAM,CAACC,GAAG,CAAC,GAAGC,KAAK;AACvB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASI,iBAAiBA,CAC7BC,UAA8B,EAC9BC,uBAA2C,EACc;EACzD,IAAIA,uBAAuB,EAAE;IACzB,OAAO;MAAEC,eAAe,EAAED;IAAwB,CAAC;EACvD;EAEA,MAAME,MAAM,GAAG,IAAAC,iCAAe,EAACJ,UAAU,CAAC;EAC1C,IAAI,CAACG,MAAM,EAAE,OAAO,CAAC,CAAC;EACtB,IAAIA,MAAM,CAACE,IAAI,KAAK,MAAM,EAAE,OAAO;IAAEH,eAAe,EAAEC,MAAM,CAACG;EAAM,CAAC;;EAEpE;EACA;EACA;EACA,OAAO;IAAEJ,eAAe,EAAEC,MAAM,CAACI,MAAM,CAAC,CAAC,CAAC;IAAEC,QAAQ,EAAEL;EAAO,CAAC;AAClE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASM,WAAWA,CAChBC,KAAgB,EAChBC,MAAyC,EACzCC,QAAyB,EACrB;EACJ,IAAI,CAACD,MAAM,EAAE;EAEb,IAAIC,QAAQ,KAAK,SAAS,EAAE;IACxBpB,GAAG,CAACkB,KAAK,EAAE,WAAW,EAAEC,MAAM,CAACE,SAAS,CAAC;IACzC;EACJ;EAEArB,GAAG,CAACkB,KAAK,EAAE,aAAa,EAAEC,MAAM,CAACG,WAAW,CAAC;EAC7CtB,GAAG,CAACkB,KAAK,EAAE,cAAc,EAAEC,MAAM,CAACI,YAAY,CAAC;EAC/CvB,GAAG,CAACkB,KAAK,EAAE,eAAe,EAAEC,MAAM,CAACK,aAAa,CAAC;EACjDxB,GAAG,CAACkB,KAAK,EAAE,cAAc,EAAEC,MAAM,CAACM,YAAY,CAAC;AACnD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,mBAAmBA,CAC/BC,KAAwB,EACxBP,QAAyB,GAAG,KAAK,EACxB;EACT,MAAMF,KAAgB,GAAG,CAAC,CAAC;;EAE3B;EACA,MAAM;IAAER;EAAgB,CAAC,GAAGH,iBAAiB,CACzCoB,KAAK,CAACnB,UAAU,EAChBmB,KAAK,CAACjB,eACV,CAAC;EACDV,GAAG,CAACkB,KAAK,EAAE,iBAAiB,EAAER,eAAe,CAAC;;EAE9C;EACA,MAAMkB,WAAW,GAAG,IAAAC,6BAAW,EAACF,KAAK,CAACG,MAAM,CAAC;EAC7C9B,GAAG,CAACkB,KAAK,EAAE,aAAa,EAAEU,WAAW,CAACG,WAAW,CAAC;EAClD/B,GAAG,CAACkB,KAAK,EAAE,aAAa,EAAEU,WAAW,CAACI,WAAW,CAAC;;EAElD;EACA,MAAMC,MAAM,GAAG,IAAAC,mCAAiB,EAACP,KAAK,CAACQ,YAAY,CAAC;EACpD,IAAI,OAAOF,MAAM,KAAK,QAAQ,EAAE;IAC5BjC,GAAG,CAACkB,KAAK,EAAE,cAAc,EAAEe,MAAM,CAAC;EACtC,CAAC,MAAM,IAAIA,MAAM,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;IAC7CjC,GAAG,CAACkB,KAAK,EAAE,qBAAqB,EAAEe,MAAM,CAACG,mBAAmB,CAAC;IAC7DpC,GAAG,CAACkB,KAAK,EAAE,sBAAsB,EAAEe,MAAM,CAACI,oBAAoB,CAAC;IAC/DrC,GAAG,CAACkB,KAAK,EAAE,yBAAyB,EAAEe,MAAM,CAACK,uBAAuB,CAAC;IACrEtC,GAAG,CAACkB,KAAK,EAAE,wBAAwB,EAAEe,MAAM,CAACM,sBAAsB,CAAC;EACvE;;EAEA;EACAtB,WAAW,CAACC,KAAK,EAAE,IAAAsB,gCAAc,EAACb,KAAK,CAACc,SAAS,CAAC,EAAErB,QAAQ,CAAC;;EAE7D;EACApB,GAAG,CAACkB,KAAK,EAAE,YAAY,EAAE,IAAAwB,gCAAc,EAACf,KAAK,CAACgB,UAAU,CAAC,CAAC;EAC1D3C,GAAG,CAACkB,KAAK,EAAE,cAAc,EAAE,IAAAwB,gCAAc,EAACf,KAAK,CAACiB,YAAY,CAAC,CAAC;EAC9D5C,GAAG,CAACkB,KAAK,EAAE,eAAe,EAAE,IAAAwB,gCAAc,EAACf,KAAK,CAACkB,aAAa,CAAC,CAAC;EAChE7C,GAAG,CAACkB,KAAK,EAAE,aAAa,EAAE,IAAAwB,gCAAc,EAACf,KAAK,CAACmB,WAAW,CAAC,CAAC;EAC5D9C,GAAG,CAACkB,KAAK,EAAE,KAAK,EAAE,IAAAwB,gCAAc,EAACf,KAAK,CAACoB,GAAG,CAAC,CAAC;;EAE5C;EACA/C,GAAG,CAACkB,KAAK,EAAE,OAAO,EAAE,IAAA8B,2BAAS,EAACrB,KAAK,CAACsB,KAAK,CAAC,CAAC;EAC3CjD,GAAG,CAACkB,KAAK,EAAE,UAAU,EAAE,IAAA8B,2BAAS,EAACrB,KAAK,CAACuB,QAAQ,CAAC,CAAC;EACjDlD,GAAG,CAACkB,KAAK,EAAE,UAAU,EAAE,IAAA8B,2BAAS,EAACrB,KAAK,CAACwB,QAAQ,CAAC,CAAC;EACjDnD,GAAG,CAACkB,KAAK,EAAE,QAAQ,EAAE,IAAA8B,2BAAS,EAACrB,KAAK,CAACyB,MAAM,CAAC,CAAC;EAC7CpD,GAAG,CAACkB,KAAK,EAAE,WAAW,EAAE,IAAA8B,2BAAS,EAACrB,KAAK,CAAC0B,SAAS,CAAC,CAAC;EACnDrD,GAAG,CAACkB,KAAK,EAAE,WAAW,EAAE,IAAA8B,2BAAS,EAACrB,KAAK,CAAC2B,SAAS,CAAC,CAAC;;EAEnD;EACAtD,GAAG,CAACkB,KAAK,EAAE,eAAe,EAAES,KAAK,CAAC4B,aAAa,CAAC;EAChDvD,GAAG,CAACkB,KAAK,EAAE,YAAY,EAAES,KAAK,CAAC6B,UAAU,CAAC;EAC1CxD,GAAG,CAACkB,KAAK,EAAE,gBAAgB,EAAES,KAAK,CAAC8B,cAAc,CAAC;EAClDzD,GAAG,CAACkB,KAAK,EAAE,WAAW,EAAES,KAAK,CAAC+B,SAAS,CAAC;EACxC1D,GAAG,CAACkB,KAAK,EAAE,YAAY,EAAES,KAAK,CAACgC,UAAU,CAAC;EAC1C3D,GAAG,CAACkB,KAAK,EAAE,UAAU,EAAES,KAAK,CAACiC,QAAQ,CAAC;EACtC5D,GAAG,CAACkB,KAAK,EAAE,SAAS,EAAES,KAAK,CAACkC,OAAO,CAAC;EACpC7D,GAAG,CAACkB,KAAK,EAAE,UAAU,EAAES,KAAK,CAACmC,QAAQ,CAAC;EAEtC,OAAO5C,KAAK;AAChB","ignoreList":[]}