@hanzogui/web 2.0.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 (1122) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -0
  3. package/dist/cjs/Gui.cjs +72 -0
  4. package/dist/cjs/Gui.native.js +112 -0
  5. package/dist/cjs/Gui.native.js.map +1 -0
  6. package/dist/cjs/_withStableStyle.cjs +65 -0
  7. package/dist/cjs/_withStableStyle.native.js +77 -0
  8. package/dist/cjs/_withStableStyle.native.js.map +1 -0
  9. package/dist/cjs/animationDriverTypes.test-d.cjs +60 -0
  10. package/dist/cjs/animationDriverTypes.test-d.native.js +63 -0
  11. package/dist/cjs/animationDriverTypes.test-d.native.js.map +1 -0
  12. package/dist/cjs/config.cjs +126 -0
  13. package/dist/cjs/config.native.js +157 -0
  14. package/dist/cjs/config.native.js.map +1 -0
  15. package/dist/cjs/constants/accessibilityDirectMap.cjs +34 -0
  16. package/dist/cjs/constants/accessibilityDirectMap.native.js +37 -0
  17. package/dist/cjs/constants/accessibilityDirectMap.native.js.map +1 -0
  18. package/dist/cjs/constants/constants.cjs +38 -0
  19. package/dist/cjs/constants/constants.native.js +41 -0
  20. package/dist/cjs/constants/constants.native.js.map +1 -0
  21. package/dist/cjs/constants/isDevTools.cjs +31 -0
  22. package/dist/cjs/constants/isDevTools.native.js +34 -0
  23. package/dist/cjs/constants/isDevTools.native.js.map +1 -0
  24. package/dist/cjs/contexts/ComponentContext.cjs +37 -0
  25. package/dist/cjs/contexts/ComponentContext.native.js +42 -0
  26. package/dist/cjs/contexts/ComponentContext.native.js.map +1 -0
  27. package/dist/cjs/contexts/GroupContext.cjs +27 -0
  28. package/dist/cjs/contexts/GroupContext.native.js +30 -0
  29. package/dist/cjs/contexts/GroupContext.native.js.map +1 -0
  30. package/dist/cjs/createComponent.cjs +782 -0
  31. package/dist/cjs/createComponent.native.js +829 -0
  32. package/dist/cjs/createComponent.native.js.map +1 -0
  33. package/dist/cjs/createFont.cjs +42 -0
  34. package/dist/cjs/createFont.native.js +50 -0
  35. package/dist/cjs/createFont.native.js.map +1 -0
  36. package/dist/cjs/createGui.cjs +235 -0
  37. package/dist/cjs/createGui.native.js +297 -0
  38. package/dist/cjs/createGui.native.js.map +1 -0
  39. package/dist/cjs/createShorthands.cjs +28 -0
  40. package/dist/cjs/createShorthands.native.js +31 -0
  41. package/dist/cjs/createShorthands.native.js.map +1 -0
  42. package/dist/cjs/createTokens.cjs +29 -0
  43. package/dist/cjs/createTokens.native.js +33 -0
  44. package/dist/cjs/createTokens.native.js.map +1 -0
  45. package/dist/cjs/createVariable.cjs +96 -0
  46. package/dist/cjs/createVariable.native.js +116 -0
  47. package/dist/cjs/createVariable.native.js.map +1 -0
  48. package/dist/cjs/createVariables.cjs +68 -0
  49. package/dist/cjs/createVariables.native.js +77 -0
  50. package/dist/cjs/createVariables.native.js.map +1 -0
  51. package/dist/cjs/defaultComponentState.cjs +45 -0
  52. package/dist/cjs/defaultComponentState.native.js +48 -0
  53. package/dist/cjs/defaultComponentState.native.js.map +1 -0
  54. package/dist/cjs/eventHandling.cjs +46 -0
  55. package/dist/cjs/eventHandling.native.js +153 -0
  56. package/dist/cjs/eventHandling.native.js.map +1 -0
  57. package/dist/cjs/helpers/consoleLog.native.js +31 -0
  58. package/dist/cjs/helpers/consoleLog.native.js.map +1 -0
  59. package/dist/cjs/helpers/createDesignSystem.cjs +184 -0
  60. package/dist/cjs/helpers/createDesignSystem.native.js +235 -0
  61. package/dist/cjs/helpers/createDesignSystem.native.js.map +1 -0
  62. package/dist/cjs/helpers/createMediaStyle.cjs +100 -0
  63. package/dist/cjs/helpers/createMediaStyle.native.js +114 -0
  64. package/dist/cjs/helpers/createMediaStyle.native.js.map +1 -0
  65. package/dist/cjs/helpers/createStyledContext.cjs +82 -0
  66. package/dist/cjs/helpers/createStyledContext.native.js +93 -0
  67. package/dist/cjs/helpers/createStyledContext.native.js.map +1 -0
  68. package/dist/cjs/helpers/defaultAnimationDriver.cjs +42 -0
  69. package/dist/cjs/helpers/defaultAnimationDriver.native.js +59 -0
  70. package/dist/cjs/helpers/defaultAnimationDriver.native.js.map +1 -0
  71. package/dist/cjs/helpers/defaultOffset.cjs +29 -0
  72. package/dist/cjs/helpers/defaultOffset.native.js +32 -0
  73. package/dist/cjs/helpers/defaultOffset.native.js.map +1 -0
  74. package/dist/cjs/helpers/expandStyle.cjs +67 -0
  75. package/dist/cjs/helpers/expandStyle.native.js +162 -0
  76. package/dist/cjs/helpers/expandStyle.native.js.map +1 -0
  77. package/dist/cjs/helpers/expandStyles.cjs +40 -0
  78. package/dist/cjs/helpers/expandStyles.native.js +45 -0
  79. package/dist/cjs/helpers/expandStyles.native.js.map +1 -0
  80. package/dist/cjs/helpers/getCSSStylesAtomic.cjs +179 -0
  81. package/dist/cjs/helpers/getCSSStylesAtomic.native.js +36 -0
  82. package/dist/cjs/helpers/getCSSStylesAtomic.native.js.map +1 -0
  83. package/dist/cjs/helpers/getDefaultProps.cjs +38 -0
  84. package/dist/cjs/helpers/getDefaultProps.native.js +42 -0
  85. package/dist/cjs/helpers/getDefaultProps.native.js.map +1 -0
  86. package/dist/cjs/helpers/getDynamicVal.cjs +67 -0
  87. package/dist/cjs/helpers/getDynamicVal.native.js +71 -0
  88. package/dist/cjs/helpers/getDynamicVal.native.js.map +1 -0
  89. package/dist/cjs/helpers/getExpandedShorthands.cjs +38 -0
  90. package/dist/cjs/helpers/getExpandedShorthands.native.js +42 -0
  91. package/dist/cjs/helpers/getExpandedShorthands.native.js.map +1 -0
  92. package/dist/cjs/helpers/getFontLanguage.cjs +26 -0
  93. package/dist/cjs/helpers/getFontLanguage.native.js +31 -0
  94. package/dist/cjs/helpers/getFontLanguage.native.js.map +1 -0
  95. package/dist/cjs/helpers/getGroupPropParts.cjs +45 -0
  96. package/dist/cjs/helpers/getGroupPropParts.native.js +50 -0
  97. package/dist/cjs/helpers/getGroupPropParts.native.js.map +1 -0
  98. package/dist/cjs/helpers/getShorthandValue.cjs +28 -0
  99. package/dist/cjs/helpers/getShorthandValue.native.js +35 -0
  100. package/dist/cjs/helpers/getShorthandValue.native.js.map +1 -0
  101. package/dist/cjs/helpers/getSplitStyles.cjs +697 -0
  102. package/dist/cjs/helpers/getSplitStyles.native.js +810 -0
  103. package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -0
  104. package/dist/cjs/helpers/getThemeCSSRules.cjs +128 -0
  105. package/dist/cjs/helpers/getThemeCSSRules.native.js +31 -0
  106. package/dist/cjs/helpers/getThemeCSSRules.native.js.map +1 -0
  107. package/dist/cjs/helpers/getTokenForKey.cjs +127 -0
  108. package/dist/cjs/helpers/getTokenForKey.native.js +145 -0
  109. package/dist/cjs/helpers/getTokenForKey.native.js.map +1 -0
  110. package/dist/cjs/helpers/getVariantExtras.cjs +69 -0
  111. package/dist/cjs/helpers/getVariantExtras.native.js +73 -0
  112. package/dist/cjs/helpers/getVariantExtras.native.js.map +1 -0
  113. package/dist/cjs/helpers/insertStyleRule.cjs +199 -0
  114. package/dist/cjs/helpers/insertStyleRule.native.js +315 -0
  115. package/dist/cjs/helpers/insertStyleRule.native.js.map +1 -0
  116. package/dist/cjs/helpers/isActivePlatform.cjs +36 -0
  117. package/dist/cjs/helpers/isActivePlatform.native.js +39 -0
  118. package/dist/cjs/helpers/isActivePlatform.native.js.map +1 -0
  119. package/dist/cjs/helpers/isActiveTheme.cjs +28 -0
  120. package/dist/cjs/helpers/isActiveTheme.native.js +31 -0
  121. package/dist/cjs/helpers/isActiveTheme.native.js.map +1 -0
  122. package/dist/cjs/helpers/isGuiComponent.cjs +29 -0
  123. package/dist/cjs/helpers/isGuiComponent.native.js +32 -0
  124. package/dist/cjs/helpers/isGuiComponent.native.js.map +1 -0
  125. package/dist/cjs/helpers/isGuiElement.cjs +39 -0
  126. package/dist/cjs/helpers/isGuiElement.native.js +44 -0
  127. package/dist/cjs/helpers/isGuiElement.native.js.map +1 -0
  128. package/dist/cjs/helpers/isObj.cjs +26 -0
  129. package/dist/cjs/helpers/isObj.native.js +36 -0
  130. package/dist/cjs/helpers/isObj.native.js.map +1 -0
  131. package/dist/cjs/helpers/log.cjs +38 -0
  132. package/dist/cjs/helpers/log.native.js +42 -0
  133. package/dist/cjs/helpers/log.native.js.map +1 -0
  134. package/dist/cjs/helpers/mainThreadPressEvents.cjs +26 -0
  135. package/dist/cjs/helpers/mainThreadPressEvents.native.js +48 -0
  136. package/dist/cjs/helpers/mainThreadPressEvents.native.js.map +1 -0
  137. package/dist/cjs/helpers/matchMedia.cjs +36 -0
  138. package/dist/cjs/helpers/matchMedia.native.js +47 -0
  139. package/dist/cjs/helpers/matchMedia.native.js.map +1 -0
  140. package/dist/cjs/helpers/mediaObjectToString.cjs +35 -0
  141. package/dist/cjs/helpers/mediaObjectToString.native.js +43 -0
  142. package/dist/cjs/helpers/mediaObjectToString.native.js.map +1 -0
  143. package/dist/cjs/helpers/mediaState.cjs +45 -0
  144. package/dist/cjs/helpers/mediaState.native.js +50 -0
  145. package/dist/cjs/helpers/mediaState.native.js.map +1 -0
  146. package/dist/cjs/helpers/mergeProps.cjs +55 -0
  147. package/dist/cjs/helpers/mergeProps.native.js +62 -0
  148. package/dist/cjs/helpers/mergeProps.native.js.map +1 -0
  149. package/dist/cjs/helpers/mergeRenderElementProps.cjs +32 -0
  150. package/dist/cjs/helpers/mergeRenderElementProps.native.js +35 -0
  151. package/dist/cjs/helpers/mergeRenderElementProps.native.js.map +1 -0
  152. package/dist/cjs/helpers/mergeSlotStyleProps.cjs +39 -0
  153. package/dist/cjs/helpers/mergeSlotStyleProps.native.js +42 -0
  154. package/dist/cjs/helpers/mergeSlotStyleProps.native.js.map +1 -0
  155. package/dist/cjs/helpers/mergeVariants.cjs +40 -0
  156. package/dist/cjs/helpers/mergeVariants.native.js +44 -0
  157. package/dist/cjs/helpers/mergeVariants.native.js.map +1 -0
  158. package/dist/cjs/helpers/nativeOnlyProps.cjs +60 -0
  159. package/dist/cjs/helpers/nativeOnlyProps.native.js +63 -0
  160. package/dist/cjs/helpers/nativeOnlyProps.native.js.map +1 -0
  161. package/dist/cjs/helpers/normalizeColor.cjs +35 -0
  162. package/dist/cjs/helpers/normalizeColor.native.js +50 -0
  163. package/dist/cjs/helpers/normalizeColor.native.js.map +1 -0
  164. package/dist/cjs/helpers/normalizeShadow.cjs +48 -0
  165. package/dist/cjs/helpers/normalizeShadow.native.js +52 -0
  166. package/dist/cjs/helpers/normalizeShadow.native.js.map +1 -0
  167. package/dist/cjs/helpers/normalizeStyle.cjs +47 -0
  168. package/dist/cjs/helpers/normalizeStyle.native.js +52 -0
  169. package/dist/cjs/helpers/normalizeStyle.native.js.map +1 -0
  170. package/dist/cjs/helpers/normalizeStylePropKeys.cjs +26 -0
  171. package/dist/cjs/helpers/normalizeStylePropKeys.native.js +40 -0
  172. package/dist/cjs/helpers/normalizeStylePropKeys.native.js.map +1 -0
  173. package/dist/cjs/helpers/normalizeValueWithProperty.cjs +38 -0
  174. package/dist/cjs/helpers/normalizeValueWithProperty.native.js +47 -0
  175. package/dist/cjs/helpers/normalizeValueWithProperty.native.js.map +1 -0
  176. package/dist/cjs/helpers/objectIdentityKey.cjs +39 -0
  177. package/dist/cjs/helpers/objectIdentityKey.native.js +47 -0
  178. package/dist/cjs/helpers/objectIdentityKey.native.js.map +1 -0
  179. package/dist/cjs/helpers/parseBorderShorthand.cjs +26 -0
  180. package/dist/cjs/helpers/parseBorderShorthand.native.js +58 -0
  181. package/dist/cjs/helpers/parseBorderShorthand.native.js.map +1 -0
  182. package/dist/cjs/helpers/parseNativeStyle.cjs +133 -0
  183. package/dist/cjs/helpers/parseNativeStyle.native.js +151 -0
  184. package/dist/cjs/helpers/parseNativeStyle.native.js.map +1 -0
  185. package/dist/cjs/helpers/parseOutlineShorthand.cjs +26 -0
  186. package/dist/cjs/helpers/parseOutlineShorthand.native.js +58 -0
  187. package/dist/cjs/helpers/parseOutlineShorthand.native.js.map +1 -0
  188. package/dist/cjs/helpers/platformResolveValue.cjs +33 -0
  189. package/dist/cjs/helpers/platformResolveValue.native.js +62 -0
  190. package/dist/cjs/helpers/platformResolveValue.native.js.map +1 -0
  191. package/dist/cjs/helpers/pointerEvents.cjs +26 -0
  192. package/dist/cjs/helpers/pointerEvents.native.js +120 -0
  193. package/dist/cjs/helpers/pointerEvents.native.js.map +1 -0
  194. package/dist/cjs/helpers/propMapper.cjs +203 -0
  195. package/dist/cjs/helpers/propMapper.native.js +295 -0
  196. package/dist/cjs/helpers/propMapper.native.js.map +1 -0
  197. package/dist/cjs/helpers/proxyThemeToParents.cjs +49 -0
  198. package/dist/cjs/helpers/proxyThemeToParents.native.js +132 -0
  199. package/dist/cjs/helpers/proxyThemeToParents.native.js.map +1 -0
  200. package/dist/cjs/helpers/proxyThemeVariables.cjs +36 -0
  201. package/dist/cjs/helpers/proxyThemeVariables.native.js +41 -0
  202. package/dist/cjs/helpers/proxyThemeVariables.native.js.map +1 -0
  203. package/dist/cjs/helpers/pseudoDescriptors.cjs +80 -0
  204. package/dist/cjs/helpers/pseudoDescriptors.native.js +83 -0
  205. package/dist/cjs/helpers/pseudoDescriptors.native.js.map +1 -0
  206. package/dist/cjs/helpers/pseudoTransitions.cjs +65 -0
  207. package/dist/cjs/helpers/pseudoTransitions.native.js +72 -0
  208. package/dist/cjs/helpers/pseudoTransitions.native.js.map +1 -0
  209. package/dist/cjs/helpers/registerCSSVariable.cjs +64 -0
  210. package/dist/cjs/helpers/registerCSSVariable.native.js +70 -0
  211. package/dist/cjs/helpers/registerCSSVariable.native.js.map +1 -0
  212. package/dist/cjs/helpers/resolveAnimationDriver.cjs +28 -0
  213. package/dist/cjs/helpers/resolveAnimationDriver.native.js +32 -0
  214. package/dist/cjs/helpers/resolveAnimationDriver.native.js.map +1 -0
  215. package/dist/cjs/helpers/resolveCompoundTokens.cjs +37 -0
  216. package/dist/cjs/helpers/resolveCompoundTokens.native.js +40 -0
  217. package/dist/cjs/helpers/resolveCompoundTokens.native.js.map +1 -0
  218. package/dist/cjs/helpers/resolveRem.cjs +32 -0
  219. package/dist/cjs/helpers/resolveRem.native.js +50 -0
  220. package/dist/cjs/helpers/resolveRem.native.js.map +1 -0
  221. package/dist/cjs/helpers/resolveSafeArea.cjs +34 -0
  222. package/dist/cjs/helpers/resolveSafeArea.native.js +42 -0
  223. package/dist/cjs/helpers/resolveSafeArea.native.js.map +1 -0
  224. package/dist/cjs/helpers/setElementProps.cjs +29 -0
  225. package/dist/cjs/helpers/setElementProps.native.js +33 -0
  226. package/dist/cjs/helpers/setElementProps.native.js.map +1 -0
  227. package/dist/cjs/helpers/skipProps.cjs +45 -0
  228. package/dist/cjs/helpers/skipProps.native.js +48 -0
  229. package/dist/cjs/helpers/skipProps.native.js.map +1 -0
  230. package/dist/cjs/helpers/sortString.cjs +26 -0
  231. package/dist/cjs/helpers/sortString.native.js +31 -0
  232. package/dist/cjs/helpers/sortString.native.js.map +1 -0
  233. package/dist/cjs/helpers/subscribeToContextGroup.cjs +81 -0
  234. package/dist/cjs/helpers/subscribeToContextGroup.native.js +131 -0
  235. package/dist/cjs/helpers/subscribeToContextGroup.native.js.map +1 -0
  236. package/dist/cjs/helpers/themeable.cjs +87 -0
  237. package/dist/cjs/helpers/themeable.native.js +93 -0
  238. package/dist/cjs/helpers/themeable.native.js.map +1 -0
  239. package/dist/cjs/helpers/themes.cjs +38 -0
  240. package/dist/cjs/helpers/themes.native.js +41 -0
  241. package/dist/cjs/helpers/themes.native.js.map +1 -0
  242. package/dist/cjs/helpers/timer.cjs +32 -0
  243. package/dist/cjs/helpers/timer.native.js +35 -0
  244. package/dist/cjs/helpers/timer.native.js.map +1 -0
  245. package/dist/cjs/helpers/transformsToString.cjs +38 -0
  246. package/dist/cjs/helpers/transformsToString.native.js +41 -0
  247. package/dist/cjs/helpers/transformsToString.native.js.map +1 -0
  248. package/dist/cjs/helpers/useRenderElement.cjs +48 -0
  249. package/dist/cjs/helpers/useRenderElement.native.js +52 -0
  250. package/dist/cjs/helpers/useRenderElement.native.js.map +1 -0
  251. package/dist/cjs/helpers/webPropsToSkip.cjs +26 -0
  252. package/dist/cjs/helpers/webPropsToSkip.native.js +76 -0
  253. package/dist/cjs/helpers/webPropsToSkip.native.js.map +1 -0
  254. package/dist/cjs/helpers/wrapStyleTags.cjs +41 -0
  255. package/dist/cjs/helpers/wrapStyleTags.native.js +31 -0
  256. package/dist/cjs/helpers/wrapStyleTags.native.js.map +1 -0
  257. package/dist/cjs/hooks/doesRootSchemeMatchSystem.cjs +28 -0
  258. package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.js +34 -0
  259. package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.js.map +1 -0
  260. package/dist/cjs/hooks/getThemeProxied.cjs +60 -0
  261. package/dist/cjs/hooks/getThemeProxied.native.js +93 -0
  262. package/dist/cjs/hooks/getThemeProxied.native.js.map +1 -0
  263. package/dist/cjs/hooks/useComponentState.cjs +144 -0
  264. package/dist/cjs/hooks/useComponentState.native.js +165 -0
  265. package/dist/cjs/hooks/useComponentState.native.js.map +1 -0
  266. package/dist/cjs/hooks/useDisableSSR.cjs +29 -0
  267. package/dist/cjs/hooks/useDisableSSR.native.js +33 -0
  268. package/dist/cjs/hooks/useDisableSSR.native.js.map +1 -0
  269. package/dist/cjs/hooks/useIsTouchDevice.cjs +28 -0
  270. package/dist/cjs/hooks/useIsTouchDevice.native.js +33 -0
  271. package/dist/cjs/hooks/useIsTouchDevice.native.js.map +1 -0
  272. package/dist/cjs/hooks/useMedia.cjs +180 -0
  273. package/dist/cjs/hooks/useMedia.native.js +215 -0
  274. package/dist/cjs/hooks/useMedia.native.js.map +1 -0
  275. package/dist/cjs/hooks/useProps.cjs +114 -0
  276. package/dist/cjs/hooks/useProps.native.js +119 -0
  277. package/dist/cjs/hooks/useProps.native.js.map +1 -0
  278. package/dist/cjs/hooks/useTheme.cjs +46 -0
  279. package/dist/cjs/hooks/useTheme.native.js +53 -0
  280. package/dist/cjs/hooks/useTheme.native.js.map +1 -0
  281. package/dist/cjs/hooks/useThemeName.cjs +37 -0
  282. package/dist/cjs/hooks/useThemeName.native.js +43 -0
  283. package/dist/cjs/hooks/useThemeName.native.js.map +1 -0
  284. package/dist/cjs/hooks/useThemeState.cjs +274 -0
  285. package/dist/cjs/hooks/useThemeState.native.js +387 -0
  286. package/dist/cjs/hooks/useThemeState.native.js.map +1 -0
  287. package/dist/cjs/index.cjs +120 -0
  288. package/dist/cjs/index.native.js +123 -0
  289. package/dist/cjs/index.native.js.map +1 -0
  290. package/dist/cjs/inject-styles.cjs +37 -0
  291. package/dist/cjs/inject-styles.native.js +41 -0
  292. package/dist/cjs/inject-styles.native.js.map +1 -0
  293. package/dist/cjs/insertFont.cjs +75 -0
  294. package/dist/cjs/insertFont.native.js +76 -0
  295. package/dist/cjs/insertFont.native.js.map +1 -0
  296. package/dist/cjs/interfaces/CSSColorNames.cjs +16 -0
  297. package/dist/cjs/interfaces/CSSColorNames.native.js +19 -0
  298. package/dist/cjs/interfaces/CSSColorNames.native.js.map +1 -0
  299. package/dist/cjs/interfaces/GetRef.cjs +16 -0
  300. package/dist/cjs/interfaces/GetRef.native.js +19 -0
  301. package/dist/cjs/interfaces/GetRef.native.js.map +1 -0
  302. package/dist/cjs/interfaces/GuiComponentEvents.cjs +16 -0
  303. package/dist/cjs/interfaces/GuiComponentEvents.native.js +19 -0
  304. package/dist/cjs/interfaces/GuiComponentEvents.native.js.map +1 -0
  305. package/dist/cjs/interfaces/GuiComponentPropsBaseBase.cjs +16 -0
  306. package/dist/cjs/interfaces/GuiComponentPropsBaseBase.native.js +19 -0
  307. package/dist/cjs/interfaces/GuiComponentPropsBaseBase.native.js.map +1 -0
  308. package/dist/cjs/interfaces/RNExclusiveTypes.cjs +16 -0
  309. package/dist/cjs/interfaces/RNExclusiveTypes.native.js +19 -0
  310. package/dist/cjs/interfaces/RNExclusiveTypes.native.js.map +1 -0
  311. package/dist/cjs/setupHooks.cjs +30 -0
  312. package/dist/cjs/setupHooks.native.js +33 -0
  313. package/dist/cjs/setupHooks.native.js.map +1 -0
  314. package/dist/cjs/setupReactNative.cjs +47 -0
  315. package/dist/cjs/setupReactNative.native.js +54 -0
  316. package/dist/cjs/setupReactNative.native.js.map +1 -0
  317. package/dist/cjs/styled.cjs +115 -0
  318. package/dist/cjs/styled.native.js +127 -0
  319. package/dist/cjs/styled.native.js.map +1 -0
  320. package/dist/cjs/styledHtml.test-d.cjs +156 -0
  321. package/dist/cjs/styledHtml.test-d.native.js +159 -0
  322. package/dist/cjs/styledHtml.test-d.native.js.map +1 -0
  323. package/dist/cjs/type-utils.cjs +16 -0
  324. package/dist/cjs/type-utils.native.js +19 -0
  325. package/dist/cjs/type-utils.native.js.map +1 -0
  326. package/dist/cjs/types.cjs +16 -0
  327. package/dist/cjs/types.native.js +19 -0
  328. package/dist/cjs/types.native.js.map +1 -0
  329. package/dist/cjs/views/Configuration.cjs +50 -0
  330. package/dist/cjs/views/Configuration.native.js +54 -0
  331. package/dist/cjs/views/Configuration.native.js.map +1 -0
  332. package/dist/cjs/views/FontLanguage.cjs +37 -0
  333. package/dist/cjs/views/FontLanguage.native.js +57 -0
  334. package/dist/cjs/views/FontLanguage.native.js.map +1 -0
  335. package/dist/cjs/views/GuiProvider.cjs +94 -0
  336. package/dist/cjs/views/GuiProvider.native.js +100 -0
  337. package/dist/cjs/views/GuiProvider.native.js.map +1 -0
  338. package/dist/cjs/views/GuiRoot.cjs +68 -0
  339. package/dist/cjs/views/GuiRoot.native.js +31 -0
  340. package/dist/cjs/views/GuiRoot.native.js.map +1 -0
  341. package/dist/cjs/views/Slot.cjs +64 -0
  342. package/dist/cjs/views/Slot.native.js +70 -0
  343. package/dist/cjs/views/Slot.native.js.map +1 -0
  344. package/dist/cjs/views/Text.cjs +58 -0
  345. package/dist/cjs/views/Text.native.js +52 -0
  346. package/dist/cjs/views/Text.native.js.map +1 -0
  347. package/dist/cjs/views/Theme.cjs +162 -0
  348. package/dist/cjs/views/Theme.native.js +174 -0
  349. package/dist/cjs/views/Theme.native.js.map +1 -0
  350. package/dist/cjs/views/ThemeDebug.cjs +77 -0
  351. package/dist/cjs/views/ThemeDebug.native.js +37 -0
  352. package/dist/cjs/views/ThemeDebug.native.js.map +1 -0
  353. package/dist/cjs/views/ThemeProvider.cjs +52 -0
  354. package/dist/cjs/views/ThemeProvider.native.js +48 -0
  355. package/dist/cjs/views/ThemeProvider.native.js.map +1 -0
  356. package/dist/cjs/views/View.cjs +31 -0
  357. package/dist/cjs/views/View.native.js +34 -0
  358. package/dist/cjs/views/View.native.js.map +1 -0
  359. package/dist/esm/Gui.mjs +36 -0
  360. package/dist/esm/Gui.mjs.map +1 -0
  361. package/dist/esm/Gui.native.js +73 -0
  362. package/dist/esm/Gui.native.js.map +1 -0
  363. package/dist/esm/_withStableStyle.mjs +31 -0
  364. package/dist/esm/_withStableStyle.mjs.map +1 -0
  365. package/dist/esm/_withStableStyle.native.js +40 -0
  366. package/dist/esm/_withStableStyle.native.js.map +1 -0
  367. package/dist/esm/animationDriverTypes.test-d.mjs +61 -0
  368. package/dist/esm/animationDriverTypes.test-d.mjs.map +1 -0
  369. package/dist/esm/animationDriverTypes.test-d.native.js +61 -0
  370. package/dist/esm/animationDriverTypes.test-d.native.js.map +1 -0
  371. package/dist/esm/config.mjs +87 -0
  372. package/dist/esm/config.mjs.map +1 -0
  373. package/dist/esm/config.native.js +115 -0
  374. package/dist/esm/config.native.js.map +1 -0
  375. package/dist/esm/constants/accessibilityDirectMap.mjs +7 -0
  376. package/dist/esm/constants/accessibilityDirectMap.mjs.map +1 -0
  377. package/dist/esm/constants/accessibilityDirectMap.native.js +7 -0
  378. package/dist/esm/constants/accessibilityDirectMap.native.js.map +1 -0
  379. package/dist/esm/constants/constants.mjs +12 -0
  380. package/dist/esm/constants/constants.mjs.map +1 -0
  381. package/dist/esm/constants/constants.native.js +12 -0
  382. package/dist/esm/constants/constants.native.js.map +1 -0
  383. package/dist/esm/constants/isDevTools.mjs +8 -0
  384. package/dist/esm/constants/isDevTools.mjs.map +1 -0
  385. package/dist/esm/constants/isDevTools.native.js +8 -0
  386. package/dist/esm/constants/isDevTools.native.js.map +1 -0
  387. package/dist/esm/contexts/ComponentContext.mjs +13 -0
  388. package/dist/esm/contexts/ComponentContext.mjs.map +1 -0
  389. package/dist/esm/contexts/ComponentContext.native.js +15 -0
  390. package/dist/esm/contexts/ComponentContext.native.js.map +1 -0
  391. package/dist/esm/contexts/GroupContext.mjs +4 -0
  392. package/dist/esm/contexts/GroupContext.mjs.map +1 -0
  393. package/dist/esm/contexts/GroupContext.native.js +4 -0
  394. package/dist/esm/contexts/GroupContext.native.js.map +1 -0
  395. package/dist/esm/createComponent.mjs +746 -0
  396. package/dist/esm/createComponent.mjs.map +1 -0
  397. package/dist/esm/createComponent.native.js +790 -0
  398. package/dist/esm/createComponent.native.js.map +1 -0
  399. package/dist/esm/createFont.mjs +19 -0
  400. package/dist/esm/createFont.mjs.map +1 -0
  401. package/dist/esm/createFont.native.js +24 -0
  402. package/dist/esm/createFont.native.js.map +1 -0
  403. package/dist/esm/createGui.mjs +212 -0
  404. package/dist/esm/createGui.mjs.map +1 -0
  405. package/dist/esm/createGui.native.js +271 -0
  406. package/dist/esm/createGui.native.js.map +1 -0
  407. package/dist/esm/createShorthands.mjs +5 -0
  408. package/dist/esm/createShorthands.mjs.map +1 -0
  409. package/dist/esm/createShorthands.native.js +5 -0
  410. package/dist/esm/createShorthands.native.js.map +1 -0
  411. package/dist/esm/createTokens.mjs +6 -0
  412. package/dist/esm/createTokens.mjs.map +1 -0
  413. package/dist/esm/createTokens.native.js +7 -0
  414. package/dist/esm/createTokens.native.js.map +1 -0
  415. package/dist/esm/createVariable.mjs +63 -0
  416. package/dist/esm/createVariable.mjs.map +1 -0
  417. package/dist/esm/createVariable.native.js +80 -0
  418. package/dist/esm/createVariable.native.js.map +1 -0
  419. package/dist/esm/createVariables.mjs +45 -0
  420. package/dist/esm/createVariables.mjs.map +1 -0
  421. package/dist/esm/createVariables.native.js +51 -0
  422. package/dist/esm/createVariables.native.js.map +1 -0
  423. package/dist/esm/defaultComponentState.mjs +20 -0
  424. package/dist/esm/defaultComponentState.mjs.map +1 -0
  425. package/dist/esm/defaultComponentState.native.js +20 -0
  426. package/dist/esm/defaultComponentState.native.js.map +1 -0
  427. package/dist/esm/eventHandling.mjs +21 -0
  428. package/dist/esm/eventHandling.mjs.map +1 -0
  429. package/dist/esm/eventHandling.native.js +114 -0
  430. package/dist/esm/eventHandling.native.js.map +1 -0
  431. package/dist/esm/helpers/consoleLog.native.js +4 -0
  432. package/dist/esm/helpers/consoleLog.native.js.map +1 -0
  433. package/dist/esm/helpers/createDesignSystem.mjs +156 -0
  434. package/dist/esm/helpers/createDesignSystem.mjs.map +1 -0
  435. package/dist/esm/helpers/createDesignSystem.native.js +203 -0
  436. package/dist/esm/helpers/createDesignSystem.native.js.map +1 -0
  437. package/dist/esm/helpers/createMediaStyle.mjs +75 -0
  438. package/dist/esm/helpers/createMediaStyle.mjs.map +1 -0
  439. package/dist/esm/helpers/createMediaStyle.native.js +86 -0
  440. package/dist/esm/helpers/createMediaStyle.native.js.map +1 -0
  441. package/dist/esm/helpers/createStyledContext.mjs +48 -0
  442. package/dist/esm/helpers/createStyledContext.mjs.map +1 -0
  443. package/dist/esm/helpers/createStyledContext.native.js +56 -0
  444. package/dist/esm/helpers/createStyledContext.native.js.map +1 -0
  445. package/dist/esm/helpers/defaultAnimationDriver.mjs +19 -0
  446. package/dist/esm/helpers/defaultAnimationDriver.mjs.map +1 -0
  447. package/dist/esm/helpers/defaultAnimationDriver.native.js +33 -0
  448. package/dist/esm/helpers/defaultAnimationDriver.native.js.map +1 -0
  449. package/dist/esm/helpers/defaultOffset.mjs +6 -0
  450. package/dist/esm/helpers/defaultOffset.mjs.map +1 -0
  451. package/dist/esm/helpers/defaultOffset.native.js +6 -0
  452. package/dist/esm/helpers/defaultOffset.native.js.map +1 -0
  453. package/dist/esm/helpers/expandStyle.mjs +42 -0
  454. package/dist/esm/helpers/expandStyle.mjs.map +1 -0
  455. package/dist/esm/helpers/expandStyle.native.js +135 -0
  456. package/dist/esm/helpers/expandStyle.native.js.map +1 -0
  457. package/dist/esm/helpers/expandStyles.mjs +17 -0
  458. package/dist/esm/helpers/expandStyles.mjs.map +1 -0
  459. package/dist/esm/helpers/expandStyles.native.js +19 -0
  460. package/dist/esm/helpers/expandStyles.native.js.map +1 -0
  461. package/dist/esm/helpers/getCSSStylesAtomic.mjs +154 -0
  462. package/dist/esm/helpers/getCSSStylesAtomic.mjs.map +1 -0
  463. package/dist/esm/helpers/getCSSStylesAtomic.native.js +8 -0
  464. package/dist/esm/helpers/getCSSStylesAtomic.native.js.map +1 -0
  465. package/dist/esm/helpers/getDefaultProps.mjs +15 -0
  466. package/dist/esm/helpers/getDefaultProps.mjs.map +1 -0
  467. package/dist/esm/helpers/getDefaultProps.native.js +16 -0
  468. package/dist/esm/helpers/getDefaultProps.native.js.map +1 -0
  469. package/dist/esm/helpers/getDynamicVal.mjs +41 -0
  470. package/dist/esm/helpers/getDynamicVal.mjs.map +1 -0
  471. package/dist/esm/helpers/getDynamicVal.native.js +42 -0
  472. package/dist/esm/helpers/getDynamicVal.native.js.map +1 -0
  473. package/dist/esm/helpers/getExpandedShorthands.mjs +14 -0
  474. package/dist/esm/helpers/getExpandedShorthands.mjs.map +1 -0
  475. package/dist/esm/helpers/getExpandedShorthands.native.js +15 -0
  476. package/dist/esm/helpers/getExpandedShorthands.native.js.map +1 -0
  477. package/dist/esm/helpers/getFontLanguage.mjs +3 -0
  478. package/dist/esm/helpers/getFontLanguage.mjs.map +1 -0
  479. package/dist/esm/helpers/getFontLanguage.native.js +5 -0
  480. package/dist/esm/helpers/getFontLanguage.native.js.map +1 -0
  481. package/dist/esm/helpers/getGroupPropParts.mjs +22 -0
  482. package/dist/esm/helpers/getGroupPropParts.mjs.map +1 -0
  483. package/dist/esm/helpers/getGroupPropParts.native.js +24 -0
  484. package/dist/esm/helpers/getGroupPropParts.native.js.map +1 -0
  485. package/dist/esm/helpers/getShorthandValue.mjs +5 -0
  486. package/dist/esm/helpers/getShorthandValue.mjs.map +1 -0
  487. package/dist/esm/helpers/getShorthandValue.native.js +9 -0
  488. package/dist/esm/helpers/getShorthandValue.native.js.map +1 -0
  489. package/dist/esm/helpers/getSplitStyles.mjs +658 -0
  490. package/dist/esm/helpers/getSplitStyles.mjs.map +1 -0
  491. package/dist/esm/helpers/getSplitStyles.native.js +768 -0
  492. package/dist/esm/helpers/getSplitStyles.native.js.map +1 -0
  493. package/dist/esm/helpers/getThemeCSSRules.mjs +105 -0
  494. package/dist/esm/helpers/getThemeCSSRules.mjs.map +1 -0
  495. package/dist/esm/helpers/getThemeCSSRules.native.js +5 -0
  496. package/dist/esm/helpers/getThemeCSSRules.native.js.map +1 -0
  497. package/dist/esm/helpers/getTokenForKey.mjs +101 -0
  498. package/dist/esm/helpers/getTokenForKey.mjs.map +1 -0
  499. package/dist/esm/helpers/getTokenForKey.native.js +116 -0
  500. package/dist/esm/helpers/getTokenForKey.native.js.map +1 -0
  501. package/dist/esm/helpers/getVariantExtras.mjs +45 -0
  502. package/dist/esm/helpers/getVariantExtras.mjs.map +1 -0
  503. package/dist/esm/helpers/getVariantExtras.native.js +46 -0
  504. package/dist/esm/helpers/getVariantExtras.native.js.map +1 -0
  505. package/dist/esm/helpers/insertStyleRule.mjs +169 -0
  506. package/dist/esm/helpers/insertStyleRule.mjs.map +1 -0
  507. package/dist/esm/helpers/insertStyleRule.native.js +282 -0
  508. package/dist/esm/helpers/insertStyleRule.native.js.map +1 -0
  509. package/dist/esm/helpers/isActivePlatform.mjs +13 -0
  510. package/dist/esm/helpers/isActivePlatform.mjs.map +1 -0
  511. package/dist/esm/helpers/isActivePlatform.native.js +13 -0
  512. package/dist/esm/helpers/isActivePlatform.native.js.map +1 -0
  513. package/dist/esm/helpers/isActiveTheme.mjs +5 -0
  514. package/dist/esm/helpers/isActiveTheme.mjs.map +1 -0
  515. package/dist/esm/helpers/isActiveTheme.native.js +5 -0
  516. package/dist/esm/helpers/isActiveTheme.native.js.map +1 -0
  517. package/dist/esm/helpers/isGuiComponent.mjs +6 -0
  518. package/dist/esm/helpers/isGuiComponent.mjs.map +1 -0
  519. package/dist/esm/helpers/isGuiComponent.native.js +6 -0
  520. package/dist/esm/helpers/isGuiComponent.native.js.map +1 -0
  521. package/dist/esm/helpers/isGuiElement.mjs +5 -0
  522. package/dist/esm/helpers/isGuiElement.mjs.map +1 -0
  523. package/dist/esm/helpers/isGuiElement.native.js +7 -0
  524. package/dist/esm/helpers/isGuiElement.native.js.map +1 -0
  525. package/dist/esm/helpers/isObj.mjs +3 -0
  526. package/dist/esm/helpers/isObj.mjs.map +1 -0
  527. package/dist/esm/helpers/isObj.native.js +10 -0
  528. package/dist/esm/helpers/isObj.native.js.map +1 -0
  529. package/dist/esm/helpers/log.mjs +15 -0
  530. package/dist/esm/helpers/log.mjs.map +1 -0
  531. package/dist/esm/helpers/log.native.js +16 -0
  532. package/dist/esm/helpers/log.native.js.map +1 -0
  533. package/dist/esm/helpers/mainThreadPressEvents.mjs +3 -0
  534. package/dist/esm/helpers/mainThreadPressEvents.mjs.map +1 -0
  535. package/dist/esm/helpers/mainThreadPressEvents.native.js +22 -0
  536. package/dist/esm/helpers/mainThreadPressEvents.native.js.map +1 -0
  537. package/dist/esm/helpers/matchMedia.mjs +12 -0
  538. package/dist/esm/helpers/matchMedia.mjs.map +1 -0
  539. package/dist/esm/helpers/matchMedia.native.js +20 -0
  540. package/dist/esm/helpers/matchMedia.native.js.map +1 -0
  541. package/dist/esm/helpers/mediaObjectToString.mjs +12 -0
  542. package/dist/esm/helpers/mediaObjectToString.mjs.map +1 -0
  543. package/dist/esm/helpers/mediaObjectToString.native.js +17 -0
  544. package/dist/esm/helpers/mediaObjectToString.native.js.map +1 -0
  545. package/dist/esm/helpers/mediaState.mjs +18 -0
  546. package/dist/esm/helpers/mediaState.mjs.map +1 -0
  547. package/dist/esm/helpers/mediaState.native.js +20 -0
  548. package/dist/esm/helpers/mediaState.native.js.map +1 -0
  549. package/dist/esm/helpers/mergeProps.mjs +31 -0
  550. package/dist/esm/helpers/mergeProps.mjs.map +1 -0
  551. package/dist/esm/helpers/mergeProps.native.js +35 -0
  552. package/dist/esm/helpers/mergeProps.native.js.map +1 -0
  553. package/dist/esm/helpers/mergeRenderElementProps.mjs +9 -0
  554. package/dist/esm/helpers/mergeRenderElementProps.mjs.map +1 -0
  555. package/dist/esm/helpers/mergeRenderElementProps.native.js +9 -0
  556. package/dist/esm/helpers/mergeRenderElementProps.native.js.map +1 -0
  557. package/dist/esm/helpers/mergeSlotStyleProps.mjs +16 -0
  558. package/dist/esm/helpers/mergeSlotStyleProps.mjs.map +1 -0
  559. package/dist/esm/helpers/mergeSlotStyleProps.native.js +16 -0
  560. package/dist/esm/helpers/mergeSlotStyleProps.native.js.map +1 -0
  561. package/dist/esm/helpers/mergeVariants.mjs +17 -0
  562. package/dist/esm/helpers/mergeVariants.mjs.map +1 -0
  563. package/dist/esm/helpers/mergeVariants.native.js +18 -0
  564. package/dist/esm/helpers/mergeVariants.native.js.map +1 -0
  565. package/dist/esm/helpers/nativeOnlyProps.mjs +37 -0
  566. package/dist/esm/helpers/nativeOnlyProps.mjs.map +1 -0
  567. package/dist/esm/helpers/nativeOnlyProps.native.js +37 -0
  568. package/dist/esm/helpers/nativeOnlyProps.native.js.map +1 -0
  569. package/dist/esm/helpers/normalizeColor.mjs +11 -0
  570. package/dist/esm/helpers/normalizeColor.mjs.map +1 -0
  571. package/dist/esm/helpers/normalizeColor.native.js +22 -0
  572. package/dist/esm/helpers/normalizeColor.native.js.map +1 -0
  573. package/dist/esm/helpers/normalizeShadow.mjs +25 -0
  574. package/dist/esm/helpers/normalizeShadow.mjs.map +1 -0
  575. package/dist/esm/helpers/normalizeShadow.native.js +26 -0
  576. package/dist/esm/helpers/normalizeShadow.native.js.map +1 -0
  577. package/dist/esm/helpers/normalizeStyle.mjs +24 -0
  578. package/dist/esm/helpers/normalizeStyle.mjs.map +1 -0
  579. package/dist/esm/helpers/normalizeStyle.native.js +26 -0
  580. package/dist/esm/helpers/normalizeStyle.native.js.map +1 -0
  581. package/dist/esm/helpers/normalizeStylePropKeys.mjs +3 -0
  582. package/dist/esm/helpers/normalizeStylePropKeys.mjs.map +1 -0
  583. package/dist/esm/helpers/normalizeStylePropKeys.native.js +14 -0
  584. package/dist/esm/helpers/normalizeStylePropKeys.native.js.map +1 -0
  585. package/dist/esm/helpers/normalizeValueWithProperty.mjs +15 -0
  586. package/dist/esm/helpers/normalizeValueWithProperty.mjs.map +1 -0
  587. package/dist/esm/helpers/normalizeValueWithProperty.native.js +21 -0
  588. package/dist/esm/helpers/normalizeValueWithProperty.native.js.map +1 -0
  589. package/dist/esm/helpers/objectIdentityKey.mjs +16 -0
  590. package/dist/esm/helpers/objectIdentityKey.mjs.map +1 -0
  591. package/dist/esm/helpers/objectIdentityKey.native.js +21 -0
  592. package/dist/esm/helpers/objectIdentityKey.native.js.map +1 -0
  593. package/dist/esm/helpers/parseBorderShorthand.mjs +3 -0
  594. package/dist/esm/helpers/parseBorderShorthand.mjs.map +1 -0
  595. package/dist/esm/helpers/parseBorderShorthand.native.js +32 -0
  596. package/dist/esm/helpers/parseBorderShorthand.native.js.map +1 -0
  597. package/dist/esm/helpers/parseNativeStyle.mjs +110 -0
  598. package/dist/esm/helpers/parseNativeStyle.mjs.map +1 -0
  599. package/dist/esm/helpers/parseNativeStyle.native.js +125 -0
  600. package/dist/esm/helpers/parseNativeStyle.native.js.map +1 -0
  601. package/dist/esm/helpers/parseOutlineShorthand.mjs +3 -0
  602. package/dist/esm/helpers/parseOutlineShorthand.mjs.map +1 -0
  603. package/dist/esm/helpers/parseOutlineShorthand.native.js +32 -0
  604. package/dist/esm/helpers/parseOutlineShorthand.native.js.map +1 -0
  605. package/dist/esm/helpers/platformResolveValue.mjs +10 -0
  606. package/dist/esm/helpers/platformResolveValue.mjs.map +1 -0
  607. package/dist/esm/helpers/platformResolveValue.native.js +36 -0
  608. package/dist/esm/helpers/platformResolveValue.native.js.map +1 -0
  609. package/dist/esm/helpers/pointerEvents.mjs +3 -0
  610. package/dist/esm/helpers/pointerEvents.mjs.map +1 -0
  611. package/dist/esm/helpers/pointerEvents.native.js +94 -0
  612. package/dist/esm/helpers/pointerEvents.native.js.map +1 -0
  613. package/dist/esm/helpers/propMapper.mjs +176 -0
  614. package/dist/esm/helpers/propMapper.mjs.map +1 -0
  615. package/dist/esm/helpers/propMapper.native.js +267 -0
  616. package/dist/esm/helpers/propMapper.native.js.map +1 -0
  617. package/dist/esm/helpers/proxyThemeToParents.mjs +25 -0
  618. package/dist/esm/helpers/proxyThemeToParents.mjs.map +1 -0
  619. package/dist/esm/helpers/proxyThemeToParents.native.js +105 -0
  620. package/dist/esm/helpers/proxyThemeToParents.native.js.map +1 -0
  621. package/dist/esm/helpers/proxyThemeVariables.mjs +13 -0
  622. package/dist/esm/helpers/proxyThemeVariables.mjs.map +1 -0
  623. package/dist/esm/helpers/proxyThemeVariables.native.js +15 -0
  624. package/dist/esm/helpers/proxyThemeVariables.native.js.map +1 -0
  625. package/dist/esm/helpers/pseudoDescriptors.mjs +54 -0
  626. package/dist/esm/helpers/pseudoDescriptors.mjs.map +1 -0
  627. package/dist/esm/helpers/pseudoDescriptors.native.js +54 -0
  628. package/dist/esm/helpers/pseudoDescriptors.native.js.map +1 -0
  629. package/dist/esm/helpers/pseudoTransitions.mjs +41 -0
  630. package/dist/esm/helpers/pseudoTransitions.mjs.map +1 -0
  631. package/dist/esm/helpers/pseudoTransitions.native.js +45 -0
  632. package/dist/esm/helpers/pseudoTransitions.native.js.map +1 -0
  633. package/dist/esm/helpers/registerCSSVariable.mjs +35 -0
  634. package/dist/esm/helpers/registerCSSVariable.mjs.map +1 -0
  635. package/dist/esm/helpers/registerCSSVariable.native.js +38 -0
  636. package/dist/esm/helpers/registerCSSVariable.native.js.map +1 -0
  637. package/dist/esm/helpers/resolveAnimationDriver.mjs +5 -0
  638. package/dist/esm/helpers/resolveAnimationDriver.mjs.map +1 -0
  639. package/dist/esm/helpers/resolveAnimationDriver.native.js +6 -0
  640. package/dist/esm/helpers/resolveAnimationDriver.native.js.map +1 -0
  641. package/dist/esm/helpers/resolveCompoundTokens.mjs +14 -0
  642. package/dist/esm/helpers/resolveCompoundTokens.mjs.map +1 -0
  643. package/dist/esm/helpers/resolveCompoundTokens.native.js +14 -0
  644. package/dist/esm/helpers/resolveCompoundTokens.native.js.map +1 -0
  645. package/dist/esm/helpers/resolveRem.mjs +8 -0
  646. package/dist/esm/helpers/resolveRem.mjs.map +1 -0
  647. package/dist/esm/helpers/resolveRem.native.js +23 -0
  648. package/dist/esm/helpers/resolveRem.native.js.map +1 -0
  649. package/dist/esm/helpers/resolveSafeArea.mjs +11 -0
  650. package/dist/esm/helpers/resolveSafeArea.mjs.map +1 -0
  651. package/dist/esm/helpers/resolveSafeArea.native.js +16 -0
  652. package/dist/esm/helpers/resolveSafeArea.native.js.map +1 -0
  653. package/dist/esm/helpers/setElementProps.mjs +6 -0
  654. package/dist/esm/helpers/setElementProps.mjs.map +1 -0
  655. package/dist/esm/helpers/setElementProps.native.js +7 -0
  656. package/dist/esm/helpers/setElementProps.native.js.map +1 -0
  657. package/dist/esm/helpers/skipProps.mjs +21 -0
  658. package/dist/esm/helpers/skipProps.mjs.map +1 -0
  659. package/dist/esm/helpers/skipProps.native.js +21 -0
  660. package/dist/esm/helpers/skipProps.native.js.map +1 -0
  661. package/dist/esm/helpers/sortString.mjs +3 -0
  662. package/dist/esm/helpers/sortString.mjs.map +1 -0
  663. package/dist/esm/helpers/sortString.native.js +5 -0
  664. package/dist/esm/helpers/sortString.native.js.map +1 -0
  665. package/dist/esm/helpers/subscribeToContextGroup.mjs +58 -0
  666. package/dist/esm/helpers/subscribeToContextGroup.mjs.map +1 -0
  667. package/dist/esm/helpers/subscribeToContextGroup.native.js +105 -0
  668. package/dist/esm/helpers/subscribeToContextGroup.native.js.map +1 -0
  669. package/dist/esm/helpers/themeable.mjs +54 -0
  670. package/dist/esm/helpers/themeable.mjs.map +1 -0
  671. package/dist/esm/helpers/themeable.native.js +56 -0
  672. package/dist/esm/helpers/themeable.native.js.map +1 -0
  673. package/dist/esm/helpers/themes.mjs +15 -0
  674. package/dist/esm/helpers/themes.mjs.map +1 -0
  675. package/dist/esm/helpers/themes.native.js +15 -0
  676. package/dist/esm/helpers/themes.native.js.map +1 -0
  677. package/dist/esm/helpers/timer.mjs +9 -0
  678. package/dist/esm/helpers/timer.mjs.map +1 -0
  679. package/dist/esm/helpers/timer.native.js +9 -0
  680. package/dist/esm/helpers/timer.native.js.map +1 -0
  681. package/dist/esm/helpers/transformsToString.mjs +15 -0
  682. package/dist/esm/helpers/transformsToString.mjs.map +1 -0
  683. package/dist/esm/helpers/transformsToString.native.js +15 -0
  684. package/dist/esm/helpers/transformsToString.native.js.map +1 -0
  685. package/dist/esm/helpers/useRenderElement.mjs +25 -0
  686. package/dist/esm/helpers/useRenderElement.mjs.map +1 -0
  687. package/dist/esm/helpers/useRenderElement.native.js +26 -0
  688. package/dist/esm/helpers/useRenderElement.native.js.map +1 -0
  689. package/dist/esm/helpers/webPropsToSkip.mjs +3 -0
  690. package/dist/esm/helpers/webPropsToSkip.mjs.map +1 -0
  691. package/dist/esm/helpers/webPropsToSkip.native.js +50 -0
  692. package/dist/esm/helpers/webPropsToSkip.native.js.map +1 -0
  693. package/dist/esm/helpers/wrapStyleTags.mjs +18 -0
  694. package/dist/esm/helpers/wrapStyleTags.mjs.map +1 -0
  695. package/dist/esm/helpers/wrapStyleTags.native.js +3 -0
  696. package/dist/esm/helpers/wrapStyleTags.native.js.map +1 -0
  697. package/dist/esm/hooks/doesRootSchemeMatchSystem.mjs +5 -0
  698. package/dist/esm/hooks/doesRootSchemeMatchSystem.mjs.map +1 -0
  699. package/dist/esm/hooks/doesRootSchemeMatchSystem.native.js +8 -0
  700. package/dist/esm/hooks/doesRootSchemeMatchSystem.native.js.map +1 -0
  701. package/dist/esm/hooks/getThemeProxied.mjs +34 -0
  702. package/dist/esm/hooks/getThemeProxied.mjs.map +1 -0
  703. package/dist/esm/hooks/getThemeProxied.native.js +67 -0
  704. package/dist/esm/hooks/getThemeProxied.native.js.map +1 -0
  705. package/dist/esm/hooks/useComponentState.mjs +121 -0
  706. package/dist/esm/hooks/useComponentState.mjs.map +1 -0
  707. package/dist/esm/hooks/useComponentState.native.js +139 -0
  708. package/dist/esm/hooks/useComponentState.native.js.map +1 -0
  709. package/dist/esm/hooks/useDisableSSR.mjs +6 -0
  710. package/dist/esm/hooks/useDisableSSR.mjs.map +1 -0
  711. package/dist/esm/hooks/useDisableSSR.native.js +7 -0
  712. package/dist/esm/hooks/useDisableSSR.native.js.map +1 -0
  713. package/dist/esm/hooks/useIsTouchDevice.mjs +5 -0
  714. package/dist/esm/hooks/useIsTouchDevice.mjs.map +1 -0
  715. package/dist/esm/hooks/useIsTouchDevice.native.js +7 -0
  716. package/dist/esm/hooks/useIsTouchDevice.native.js.map +1 -0
  717. package/dist/esm/hooks/useMedia.mjs +145 -0
  718. package/dist/esm/hooks/useMedia.mjs.map +1 -0
  719. package/dist/esm/hooks/useMedia.native.js +177 -0
  720. package/dist/esm/hooks/useMedia.native.js.map +1 -0
  721. package/dist/esm/hooks/useProps.mjs +78 -0
  722. package/dist/esm/hooks/useProps.mjs.map +1 -0
  723. package/dist/esm/hooks/useProps.native.js +80 -0
  724. package/dist/esm/hooks/useProps.native.js.map +1 -0
  725. package/dist/esm/hooks/useTheme.mjs +22 -0
  726. package/dist/esm/hooks/useTheme.mjs.map +1 -0
  727. package/dist/esm/hooks/useTheme.native.js +26 -0
  728. package/dist/esm/hooks/useTheme.native.js.map +1 -0
  729. package/dist/esm/hooks/useThemeName.mjs +14 -0
  730. package/dist/esm/hooks/useThemeName.mjs.map +1 -0
  731. package/dist/esm/hooks/useThemeName.native.js +17 -0
  732. package/dist/esm/hooks/useThemeName.native.js.map +1 -0
  733. package/dist/esm/hooks/useThemeState.mjs +245 -0
  734. package/dist/esm/hooks/useThemeState.mjs.map +1 -0
  735. package/dist/esm/hooks/useThemeState.native.js +356 -0
  736. package/dist/esm/hooks/useThemeState.native.js.map +1 -0
  737. package/dist/esm/index.js +74 -0
  738. package/dist/esm/index.js.map +1 -0
  739. package/dist/esm/index.mjs +74 -0
  740. package/dist/esm/index.mjs.map +1 -0
  741. package/dist/esm/index.native.js +74 -0
  742. package/dist/esm/index.native.js.map +1 -0
  743. package/dist/esm/inject-styles.mjs +14 -0
  744. package/dist/esm/inject-styles.mjs.map +1 -0
  745. package/dist/esm/inject-styles.native.js +15 -0
  746. package/dist/esm/inject-styles.native.js.map +1 -0
  747. package/dist/esm/insertFont.mjs +49 -0
  748. package/dist/esm/insertFont.mjs.map +1 -0
  749. package/dist/esm/insertFont.native.js +46 -0
  750. package/dist/esm/insertFont.native.js.map +1 -0
  751. package/dist/esm/interfaces/CSSColorNames.mjs +2 -0
  752. package/dist/esm/interfaces/CSSColorNames.mjs.map +1 -0
  753. package/dist/esm/interfaces/CSSColorNames.native.js +2 -0
  754. package/dist/esm/interfaces/CSSColorNames.native.js.map +1 -0
  755. package/dist/esm/interfaces/GetRef.mjs +2 -0
  756. package/dist/esm/interfaces/GetRef.mjs.map +1 -0
  757. package/dist/esm/interfaces/GetRef.native.js +2 -0
  758. package/dist/esm/interfaces/GetRef.native.js.map +1 -0
  759. package/dist/esm/interfaces/GuiComponentEvents.mjs +2 -0
  760. package/dist/esm/interfaces/GuiComponentEvents.mjs.map +1 -0
  761. package/dist/esm/interfaces/GuiComponentEvents.native.js +2 -0
  762. package/dist/esm/interfaces/GuiComponentEvents.native.js.map +1 -0
  763. package/dist/esm/interfaces/GuiComponentPropsBaseBase.mjs +2 -0
  764. package/dist/esm/interfaces/GuiComponentPropsBaseBase.mjs.map +1 -0
  765. package/dist/esm/interfaces/GuiComponentPropsBaseBase.native.js +2 -0
  766. package/dist/esm/interfaces/GuiComponentPropsBaseBase.native.js.map +1 -0
  767. package/dist/esm/interfaces/RNExclusiveTypes.mjs +2 -0
  768. package/dist/esm/interfaces/RNExclusiveTypes.mjs.map +1 -0
  769. package/dist/esm/interfaces/RNExclusiveTypes.native.js +2 -0
  770. package/dist/esm/interfaces/RNExclusiveTypes.native.js.map +1 -0
  771. package/dist/esm/setupHooks.mjs +6 -0
  772. package/dist/esm/setupHooks.mjs.map +1 -0
  773. package/dist/esm/setupHooks.native.js +6 -0
  774. package/dist/esm/setupHooks.native.js.map +1 -0
  775. package/dist/esm/setupReactNative.mjs +24 -0
  776. package/dist/esm/setupReactNative.mjs.map +1 -0
  777. package/dist/esm/setupReactNative.native.js +28 -0
  778. package/dist/esm/setupReactNative.native.js.map +1 -0
  779. package/dist/esm/styled.mjs +91 -0
  780. package/dist/esm/styled.mjs.map +1 -0
  781. package/dist/esm/styled.native.js +100 -0
  782. package/dist/esm/styled.native.js.map +1 -0
  783. package/dist/esm/styledHtml.test-d.mjs +157 -0
  784. package/dist/esm/styledHtml.test-d.mjs.map +1 -0
  785. package/dist/esm/styledHtml.test-d.native.js +157 -0
  786. package/dist/esm/styledHtml.test-d.native.js.map +1 -0
  787. package/dist/esm/type-utils.mjs +2 -0
  788. package/dist/esm/type-utils.mjs.map +1 -0
  789. package/dist/esm/type-utils.native.js +2 -0
  790. package/dist/esm/type-utils.native.js.map +1 -0
  791. package/dist/esm/types.mjs +2 -0
  792. package/dist/esm/types.mjs.map +1 -0
  793. package/dist/esm/types.native.js +2 -0
  794. package/dist/esm/types.native.js.map +1 -0
  795. package/dist/esm/views/Configuration.mjs +16 -0
  796. package/dist/esm/views/Configuration.mjs.map +1 -0
  797. package/dist/esm/views/Configuration.native.js +17 -0
  798. package/dist/esm/views/Configuration.native.js.map +1 -0
  799. package/dist/esm/views/FontLanguage.mjs +14 -0
  800. package/dist/esm/views/FontLanguage.mjs.map +1 -0
  801. package/dist/esm/views/FontLanguage.native.js +20 -0
  802. package/dist/esm/views/FontLanguage.native.js.map +1 -0
  803. package/dist/esm/views/GuiProvider.mjs +60 -0
  804. package/dist/esm/views/GuiProvider.mjs.map +1 -0
  805. package/dist/esm/views/GuiProvider.native.js +62 -0
  806. package/dist/esm/views/GuiProvider.native.js.map +1 -0
  807. package/dist/esm/views/GuiRoot.mjs +34 -0
  808. package/dist/esm/views/GuiRoot.mjs.map +1 -0
  809. package/dist/esm/views/GuiRoot.native.js +5 -0
  810. package/dist/esm/views/GuiRoot.native.js.map +1 -0
  811. package/dist/esm/views/Slot.mjs +40 -0
  812. package/dist/esm/views/Slot.mjs.map +1 -0
  813. package/dist/esm/views/Slot.native.js +43 -0
  814. package/dist/esm/views/Slot.native.js.map +1 -0
  815. package/dist/esm/views/Text.mjs +35 -0
  816. package/dist/esm/views/Text.mjs.map +1 -0
  817. package/dist/esm/views/Text.native.js +26 -0
  818. package/dist/esm/views/Text.native.js.map +1 -0
  819. package/dist/esm/views/Theme.mjs +127 -0
  820. package/dist/esm/views/Theme.mjs.map +1 -0
  821. package/dist/esm/views/Theme.native.js +136 -0
  822. package/dist/esm/views/Theme.native.js.map +1 -0
  823. package/dist/esm/views/ThemeDebug.mjs +54 -0
  824. package/dist/esm/views/ThemeDebug.mjs.map +1 -0
  825. package/dist/esm/views/ThemeDebug.native.js +11 -0
  826. package/dist/esm/views/ThemeDebug.native.js.map +1 -0
  827. package/dist/esm/views/ThemeProvider.mjs +29 -0
  828. package/dist/esm/views/ThemeProvider.mjs.map +1 -0
  829. package/dist/esm/views/ThemeProvider.native.js +20 -0
  830. package/dist/esm/views/ThemeProvider.native.js.map +1 -0
  831. package/dist/esm/views/View.mjs +8 -0
  832. package/dist/esm/views/View.mjs.map +1 -0
  833. package/dist/esm/views/View.native.js +8 -0
  834. package/dist/esm/views/View.native.js.map +1 -0
  835. package/inject-styles/index.cjs +2 -0
  836. package/inject-styles/index.js +2 -0
  837. package/inject-styles.cjs +1 -0
  838. package/package.json +81 -0
  839. package/reset.css +59 -0
  840. package/src/Gui.ts +47 -0
  841. package/src/_withStableStyle.tsx +55 -0
  842. package/src/animationDriverTypes.test-d.ts +332 -0
  843. package/src/config.ts +232 -0
  844. package/src/constants/accessibilityDirectMap.native.tsx +10 -0
  845. package/src/constants/accessibilityDirectMap.tsx +11 -0
  846. package/src/constants/constants.ts +16 -0
  847. package/src/constants/isDevTools.ts +12 -0
  848. package/src/contexts/ComponentContext.tsx +16 -0
  849. package/src/contexts/GroupContext.tsx +4 -0
  850. package/src/createComponent.tsx +1806 -0
  851. package/src/createFont.ts +50 -0
  852. package/src/createGui.ts +363 -0
  853. package/src/createShorthands.ts +7 -0
  854. package/src/createTokens.ts +31 -0
  855. package/src/createVariable.ts +121 -0
  856. package/src/createVariables.ts +78 -0
  857. package/src/defaultComponentState.tsx +22 -0
  858. package/src/eventHandling.native.ts +184 -0
  859. package/src/eventHandling.ts +44 -0
  860. package/src/helpers/consoleLog.native.ts +2 -0
  861. package/src/helpers/createDesignSystem.ts +264 -0
  862. package/src/helpers/createMediaStyle.ts +167 -0
  863. package/src/helpers/createStyledContext.tsx +98 -0
  864. package/src/helpers/defaultAnimationDriver.tsx +23 -0
  865. package/src/helpers/defaultOffset.ts +1 -0
  866. package/src/helpers/expandStyle.ts +204 -0
  867. package/src/helpers/expandStyles.ts +42 -0
  868. package/src/helpers/getCSSStylesAtomic.native.ts +7 -0
  869. package/src/helpers/getCSSStylesAtomic.ts +263 -0
  870. package/src/helpers/getDefaultProps.ts +28 -0
  871. package/src/helpers/getDynamicVal.ts +63 -0
  872. package/src/helpers/getExpandedShorthands.ts +23 -0
  873. package/src/helpers/getFontLanguage.ts +2 -0
  874. package/src/helpers/getGroupPropParts.ts +46 -0
  875. package/src/helpers/getShorthandValue.ts +9 -0
  876. package/src/helpers/getSplitStyles.tsx +1768 -0
  877. package/src/helpers/getThemeCSSRules.native.ts +3 -0
  878. package/src/helpers/getThemeCSSRules.ts +192 -0
  879. package/src/helpers/getTokenForKey.ts +223 -0
  880. package/src/helpers/getVariantExtras.tsx +67 -0
  881. package/src/helpers/insertStyleRule.tsx +365 -0
  882. package/src/helpers/isActivePlatform.ts +14 -0
  883. package/src/helpers/isActiveTheme.ts +4 -0
  884. package/src/helpers/isGuiComponent.tsx +11 -0
  885. package/src/helpers/isGuiElement.tsx +11 -0
  886. package/src/helpers/isObj.ts +1 -0
  887. package/src/helpers/log.ts +17 -0
  888. package/src/helpers/mainThreadPressEvents.native.ts +41 -0
  889. package/src/helpers/mainThreadPressEvents.ts +6 -0
  890. package/src/helpers/matchMedia.native.ts +34 -0
  891. package/src/helpers/matchMedia.ts +17 -0
  892. package/src/helpers/mediaObjectToString.ts +30 -0
  893. package/src/helpers/mediaState.ts +32 -0
  894. package/src/helpers/mergeProps.ts +121 -0
  895. package/src/helpers/mergeRenderElementProps.ts +17 -0
  896. package/src/helpers/mergeSlotStyleProps.ts +46 -0
  897. package/src/helpers/mergeVariants.ts +40 -0
  898. package/src/helpers/nativeOnlyProps.ts +38 -0
  899. package/src/helpers/normalizeColor.native.ts +29 -0
  900. package/src/helpers/normalizeColor.ts +29 -0
  901. package/src/helpers/normalizeShadow.native.ts +20 -0
  902. package/src/helpers/normalizeShadow.ts +21 -0
  903. package/src/helpers/normalizeStyle.ts +42 -0
  904. package/src/helpers/normalizeStylePropKeys.native.ts +12 -0
  905. package/src/helpers/normalizeStylePropKeys.ts +3 -0
  906. package/src/helpers/normalizeValueWithProperty.ts +41 -0
  907. package/src/helpers/objectIdentityKey.tsx +20 -0
  908. package/src/helpers/parseBorderShorthand.native.ts +74 -0
  909. package/src/helpers/parseBorderShorthand.ts +6 -0
  910. package/src/helpers/parseNativeStyle.ts +193 -0
  911. package/src/helpers/parseOutlineShorthand.native.ts +62 -0
  912. package/src/helpers/parseOutlineShorthand.ts +6 -0
  913. package/src/helpers/platformResolveValue.native.ts +72 -0
  914. package/src/helpers/platformResolveValue.ts +22 -0
  915. package/src/helpers/pointerEvents.native.ts +143 -0
  916. package/src/helpers/pointerEvents.ts +9 -0
  917. package/src/helpers/propMapper.ts +404 -0
  918. package/src/helpers/proxyThemeToParents.ts +52 -0
  919. package/src/helpers/proxyThemeVariables.tsx +13 -0
  920. package/src/helpers/pseudoDescriptors.ts +74 -0
  921. package/src/helpers/pseudoTransitions.ts +97 -0
  922. package/src/helpers/registerCSSVariable.ts +54 -0
  923. package/src/helpers/resolveAnimationDriver.ts +23 -0
  924. package/src/helpers/resolveCompoundTokens.ts +28 -0
  925. package/src/helpers/resolveRem.native.ts +44 -0
  926. package/src/helpers/resolveRem.ts +17 -0
  927. package/src/helpers/resolveSafeArea.native.ts +18 -0
  928. package/src/helpers/resolveSafeArea.ts +10 -0
  929. package/src/helpers/setElementProps.native.tsx +9 -0
  930. package/src/helpers/setElementProps.tsx +5 -0
  931. package/src/helpers/skipProps.ts +35 -0
  932. package/src/helpers/sortString.ts +1 -0
  933. package/src/helpers/subscribeToContextGroup.tsx +99 -0
  934. package/src/helpers/themeable.tsx +104 -0
  935. package/src/helpers/themes.ts +23 -0
  936. package/src/helpers/timer.ts +9 -0
  937. package/src/helpers/transformsToString.ts +20 -0
  938. package/src/helpers/useRenderElement.tsx +73 -0
  939. package/src/helpers/webPropsToSkip.native.ts +56 -0
  940. package/src/helpers/webPropsToSkip.ts +1 -0
  941. package/src/helpers/wrapStyleTags.tsx +31 -0
  942. package/src/hooks/doesRootSchemeMatchSystem.native.ts +7 -0
  943. package/src/hooks/doesRootSchemeMatchSystem.ts +4 -0
  944. package/src/hooks/getThemeProxied.ts +202 -0
  945. package/src/hooks/useComponentState.ts +269 -0
  946. package/src/hooks/useDisableSSR.tsx +6 -0
  947. package/src/hooks/useIsTouchDevice.tsx +6 -0
  948. package/src/hooks/useMedia.tsx +298 -0
  949. package/src/hooks/useProps.tsx +158 -0
  950. package/src/hooks/useTheme.tsx +48 -0
  951. package/src/hooks/useThemeName.tsx +10 -0
  952. package/src/hooks/useThemeState.ts +558 -0
  953. package/src/index.ts +103 -0
  954. package/src/inject-styles.ts +20 -0
  955. package/src/insertFont.ts +81 -0
  956. package/src/interfaces/CSSColorNames.tsx +149 -0
  957. package/src/interfaces/GetRef.tsx +24 -0
  958. package/src/interfaces/GuiComponentEvents.tsx +18 -0
  959. package/src/interfaces/GuiComponentPropsBaseBase.tsx +124 -0
  960. package/src/interfaces/RNExclusiveTypes.ts +59 -0
  961. package/src/setupHooks.ts +27 -0
  962. package/src/setupReactNative.ts +60 -0
  963. package/src/styled.tsx +602 -0
  964. package/src/styledHtml.test-d.ts +286 -0
  965. package/src/type-utils.ts +30 -0
  966. package/src/types.tsx +3364 -0
  967. package/src/views/Configuration.tsx +20 -0
  968. package/src/views/FontLanguage.native.tsx +13 -0
  969. package/src/views/FontLanguage.tsx +18 -0
  970. package/src/views/GuiProvider.tsx +95 -0
  971. package/src/views/GuiRoot.native.tsx +9 -0
  972. package/src/views/GuiRoot.tsx +64 -0
  973. package/src/views/Slot.tsx +86 -0
  974. package/src/views/Text.tsx +71 -0
  975. package/src/views/Theme.tsx +246 -0
  976. package/src/views/ThemeDebug.native.tsx +17 -0
  977. package/src/views/ThemeDebug.tsx +95 -0
  978. package/src/views/ThemeProvider.tsx +45 -0
  979. package/src/views/View.tsx +25 -0
  980. package/tsconfig.json +44 -0
  981. package/tsconfig.test.json +9 -0
  982. package/types/Gui.d.ts +15 -0
  983. package/types/_withStableStyle.d.ts +4 -0
  984. package/types/config.d.ts +72 -0
  985. package/types/constants/accessibilityDirectMap.d.ts +6 -0
  986. package/types/constants/accessibilityDirectMap.native.d.ts +6 -0
  987. package/types/constants/constants.d.ts +5 -0
  988. package/types/constants/isDevTools.d.ts +2 -0
  989. package/types/contexts/ComponentContext.d.ts +4 -0
  990. package/types/contexts/GroupContext.d.ts +3 -0
  991. package/types/createComponent.d.ts +7 -0
  992. package/types/createFont.d.ts +3 -0
  993. package/types/createGui.d.ts +3 -0
  994. package/types/createShorthands.d.ts +3 -0
  995. package/types/createTokens.d.ts +22 -0
  996. package/types/createVariable.d.ts +22 -0
  997. package/types/createVariables.d.ts +10 -0
  998. package/types/defaultComponentState.d.ts +5 -0
  999. package/types/eventHandling.d.ts +27 -0
  1000. package/types/eventHandling.native.d.ts +12 -0
  1001. package/types/helpers/consoleLog.native.d.ts +7 -0
  1002. package/types/helpers/createDesignSystem.d.ts +47 -0
  1003. package/types/helpers/createMediaStyle.d.ts +5 -0
  1004. package/types/helpers/createStyledContext.d.ts +3 -0
  1005. package/types/helpers/defaultAnimationDriver.d.ts +3 -0
  1006. package/types/helpers/defaultOffset.d.ts +5 -0
  1007. package/types/helpers/expandStyle.d.ts +7 -0
  1008. package/types/helpers/expandStyles.d.ts +2 -0
  1009. package/types/helpers/getCSSStylesAtomic.d.ts +11 -0
  1010. package/types/helpers/getCSSStylesAtomic.native.d.ts +4 -0
  1011. package/types/helpers/getDefaultProps.d.ts +3 -0
  1012. package/types/helpers/getDynamicVal.d.ts +16 -0
  1013. package/types/helpers/getExpandedShorthands.d.ts +7 -0
  1014. package/types/helpers/getFontLanguage.d.ts +2 -0
  1015. package/types/helpers/getGroupPropParts.d.ts +7 -0
  1016. package/types/helpers/getShorthandValue.d.ts +2 -0
  1017. package/types/helpers/getSplitStyles.d.ts +13 -0
  1018. package/types/helpers/getThemeCSSRules.d.ts +10 -0
  1019. package/types/helpers/getThemeCSSRules.native.d.ts +2 -0
  1020. package/types/helpers/getTokenForKey.d.ts +6 -0
  1021. package/types/helpers/getVariantExtras.d.ts +4 -0
  1022. package/types/helpers/insertStyleRule.d.ts +10 -0
  1023. package/types/helpers/isActivePlatform.d.ts +2 -0
  1024. package/types/helpers/isActiveTheme.d.ts +2 -0
  1025. package/types/helpers/isGuiComponent.d.ts +5 -0
  1026. package/types/helpers/isGuiElement.d.ts +8 -0
  1027. package/types/helpers/isObj.d.ts +2 -0
  1028. package/types/helpers/log.d.ts +2 -0
  1029. package/types/helpers/mainThreadPressEvents.d.ts +2 -0
  1030. package/types/helpers/mainThreadPressEvents.native.d.ts +10 -0
  1031. package/types/helpers/matchMedia.d.ts +6 -0
  1032. package/types/helpers/matchMedia.native.d.ts +4 -0
  1033. package/types/helpers/mediaObjectToString.d.ts +3 -0
  1034. package/types/helpers/mediaState.d.ts +7 -0
  1035. package/types/helpers/mergeProps.d.ts +20 -0
  1036. package/types/helpers/mergeRenderElementProps.d.ts +7 -0
  1037. package/types/helpers/mergeSlotStyleProps.d.ts +10 -0
  1038. package/types/helpers/mergeVariants.d.ts +3 -0
  1039. package/types/helpers/nativeOnlyProps.d.ts +39 -0
  1040. package/types/helpers/normalizeColor.d.ts +8 -0
  1041. package/types/helpers/normalizeColor.native.d.ts +9 -0
  1042. package/types/helpers/normalizeShadow.d.ts +10 -0
  1043. package/types/helpers/normalizeShadow.native.d.ts +10 -0
  1044. package/types/helpers/normalizeStyle.d.ts +9 -0
  1045. package/types/helpers/normalizeStylePropKeys.d.ts +2 -0
  1046. package/types/helpers/normalizeStylePropKeys.native.d.ts +13 -0
  1047. package/types/helpers/normalizeValueWithProperty.d.ts +6 -0
  1048. package/types/helpers/objectIdentityKey.d.ts +2 -0
  1049. package/types/helpers/parseBorderShorthand.d.ts +3 -0
  1050. package/types/helpers/parseBorderShorthand.native.d.ts +3 -0
  1051. package/types/helpers/parseNativeStyle.d.ts +14 -0
  1052. package/types/helpers/parseOutlineShorthand.d.ts +3 -0
  1053. package/types/helpers/parseOutlineShorthand.native.d.ts +3 -0
  1054. package/types/helpers/platformResolveValue.d.ts +6 -0
  1055. package/types/helpers/platformResolveValue.native.d.ts +7 -0
  1056. package/types/helpers/pointerEvents.d.ts +8 -0
  1057. package/types/helpers/pointerEvents.native.d.ts +2 -0
  1058. package/types/helpers/propMapper.d.ts +5 -0
  1059. package/types/helpers/proxyThemeToParents.d.ts +4 -0
  1060. package/types/helpers/proxyThemeVariables.d.ts +2 -0
  1061. package/types/helpers/pseudoDescriptors.d.ts +51 -0
  1062. package/types/helpers/pseudoTransitions.d.ts +29 -0
  1063. package/types/helpers/registerCSSVariable.d.ts +9 -0
  1064. package/types/helpers/resolveAnimationDriver.d.ts +7 -0
  1065. package/types/helpers/resolveCompoundTokens.d.ts +9 -0
  1066. package/types/helpers/resolveRem.d.ts +13 -0
  1067. package/types/helpers/resolveRem.native.d.ts +13 -0
  1068. package/types/helpers/resolveSafeArea.d.ts +2 -0
  1069. package/types/helpers/resolveSafeArea.native.d.ts +2 -0
  1070. package/types/helpers/setElementProps.d.ts +2 -0
  1071. package/types/helpers/setElementProps.native.d.ts +2 -0
  1072. package/types/helpers/skipProps.d.ts +19 -0
  1073. package/types/helpers/sortString.d.ts +2 -0
  1074. package/types/helpers/subscribeToContextGroup.d.ts +10 -0
  1075. package/types/helpers/themeable.d.ts +3 -0
  1076. package/types/helpers/themes.d.ts +2 -0
  1077. package/types/helpers/timer.d.ts +2 -0
  1078. package/types/helpers/transformsToString.d.ts +2 -0
  1079. package/types/helpers/useRenderElement.d.ts +13 -0
  1080. package/types/helpers/webPropsToSkip.d.ts +2 -0
  1081. package/types/helpers/webPropsToSkip.native.d.ts +104 -0
  1082. package/types/helpers/wrapStyleTags.d.ts +3 -0
  1083. package/types/hooks/doesRootSchemeMatchSystem.d.ts +2 -0
  1084. package/types/hooks/doesRootSchemeMatchSystem.native.d.ts +2 -0
  1085. package/types/hooks/getThemeProxied.d.ts +23 -0
  1086. package/types/hooks/useComponentState.d.ts +25 -0
  1087. package/types/hooks/useDisableSSR.d.ts +3 -0
  1088. package/types/hooks/useIsTouchDevice.d.ts +2 -0
  1089. package/types/hooks/useMedia.d.ts +23 -0
  1090. package/types/hooks/useProps.d.ts +41 -0
  1091. package/types/hooks/useTheme.d.ts +9 -0
  1092. package/types/hooks/useThemeName.d.ts +3 -0
  1093. package/types/hooks/useThemeState.d.ts +11 -0
  1094. package/types/index.d.ts +77 -0
  1095. package/types/inject-styles.d.ts +7 -0
  1096. package/types/insertFont.d.ts +10 -0
  1097. package/types/interfaces/CSSColorNames.d.ts +2 -0
  1098. package/types/interfaces/GetRef.d.ts +6 -0
  1099. package/types/interfaces/GuiComponentEvents.d.ts +19 -0
  1100. package/types/interfaces/GuiComponentPropsBaseBase.d.ts +95 -0
  1101. package/types/interfaces/RNExclusiveTypes.d.ts +22 -0
  1102. package/types/setupHooks.d.ts +17 -0
  1103. package/types/setupReactNative.d.ts +5 -0
  1104. package/types/styled.d.ts +53 -0
  1105. package/types/type-utils.d.ts +13 -0
  1106. package/types/types.d.ts +1929 -0
  1107. package/types/views/Configuration.d.ts +10 -0
  1108. package/types/views/FontLanguage.d.ts +6 -0
  1109. package/types/views/FontLanguage.native.d.ts +3 -0
  1110. package/types/views/GuiProvider.d.ts +3 -0
  1111. package/types/views/GuiRoot.d.ts +15 -0
  1112. package/types/views/GuiRoot.native.d.ts +7 -0
  1113. package/types/views/Slot.d.ts +13 -0
  1114. package/types/views/Text.d.ts +4 -0
  1115. package/types/views/Theme.d.ts +16 -0
  1116. package/types/views/ThemeDebug.d.ts +10 -0
  1117. package/types/views/ThemeDebug.native.d.ts +10 -0
  1118. package/types/views/ThemeProvider.d.ts +3 -0
  1119. package/types/views/View.d.ts +8 -0
  1120. package/vitest.config.d.ts +3 -0
  1121. package/vitest.config.d.ts.map +1 -0
  1122. package/vitest.config.ts +14 -0
@@ -0,0 +1,1929 @@
1
+ import type { StyleObject } from '@hanzogui/helpers';
2
+ import type { Properties } from 'csstype';
3
+ import type { CSSProperties, ComponentType, Context, ForwardRefExoticComponent, ForwardRefRenderFunction, FunctionComponent, HTMLAttributes, ProviderExoticComponent, ReactNode, RefAttributes, RefObject } from 'react';
4
+ import type { PressableProps, Text as RNText, TextStyle as RNTextStyle, TextProps as ReactTextProps, View, ViewProps, ViewStyle } from 'react-native';
5
+ import type { CSSColorNames } from './interfaces/CSSColorNames';
6
+ import type { RNOnlyProps } from './interfaces/RNExclusiveTypes';
7
+ export type SizeKeys = 'width' | 'height' | 'minWidth' | 'minHeight' | 'maxWidth' | 'maxHeight' | 'shadowRadius';
8
+ export type ColorKeys = 'color' | 'backgroundColor' | 'borderColor' | 'borderBottomColor' | 'borderTopColor' | 'borderLeftColor' | 'borderRightColor' | 'shadowColor' | 'outlineColor' | 'textShadowColor' | 'borderBlockColor' | 'borderBlockEndColor' | 'borderBlockStartColor' | 'borderInlineColor' | 'borderInlineStartColor' | 'borderInlineEndColor';
9
+ export type SpaceKeys = 'space' | 'padding' | 'paddingHorizontal' | 'paddingVertical' | 'paddingLeft' | 'paddingTop' | 'paddingBottom' | 'paddingLeft' | 'paddingRight' | 'paddingEnd' | 'paddingStart' | 'margin' | 'marginHorizontal' | 'marginVertical' | 'marginLeft' | 'marginTop' | 'marginBottom' | 'marginLeft' | 'marginRight' | 'marginEnd' | 'marginStart' | 'marginBlock' | 'marginBlockStart' | 'marginBlockEnd' | 'marginInline' | 'marginInlineStart' | 'marginInlineEnd' | 'paddingBlock' | 'paddingBlockStart' | 'paddingBlockEnd' | 'paddingInline' | 'paddingInlineStart' | 'paddingInlineEnd' | 'x' | 'y' | 'gap' | 'rowGap' | 'columnGap' | 'scale' | 'scaleX' | 'scaleY' | 'borderTopEndRadius' | 'borderTopLeftRadius' | 'borderTopRightRadius' | 'borderTopStartRadius' | 'borderBottomEndRadius' | 'borderBottomLeftRadius' | 'borderBottomRightRadius' | 'borderBottomStartRadius' | 'borderBottomWidth' | 'borderLeftWidth' | 'borderRadius' | 'borderRightWidth' | 'borderTopEndRadius' | 'borderTopLeftRadius' | 'borderTopRightRadius' | 'borderEndWidth' | 'borderStartWidth' | 'borderTopStartRadius' | 'borderTopWidth' | 'borderWidth' | 'left' | 'top' | 'right' | 'bottom' | 'shadowOffset' | 'borderBlockWidth' | 'borderBlockStartWidth' | 'borderBlockEndWidth' | 'borderInlineWidth' | 'borderInlineStartWidth' | 'borderInlineEndWidth';
10
+ export type StyledContext<Props extends Record<string, any> = any> = Context<Props> & {
11
+ context: Context<Props>;
12
+ props: Record<string, any> | undefined;
13
+ Provider: ProviderExoticComponent<Partial<Props | undefined> & {
14
+ children?: ReactNode;
15
+ scope?: string;
16
+ }>;
17
+ useStyledContext: (scope?: string) => Props;
18
+ };
19
+ export type GuiComponentState = {
20
+ unmounted: boolean | 'should-enter';
21
+ disabled?: boolean;
22
+ hover?: boolean;
23
+ press?: boolean;
24
+ pressIn?: boolean;
25
+ focus?: boolean;
26
+ focusVisible?: boolean;
27
+ focusWithin?: boolean;
28
+ transition?: null | {
29
+ style?: any;
30
+ avoidClasses?: boolean;
31
+ };
32
+ group?: Record<string, ChildGroupState>;
33
+ hasDynGroupChildren?: boolean;
34
+ };
35
+ export type Role = 'alert' | 'alertdialog' | 'application' | 'article' | 'banner' | 'button' | 'cell' | 'checkbox' | 'columnheader' | 'combobox' | 'complementary' | 'contentinfo' | 'definition' | 'dialog' | 'directory' | 'document' | 'feed' | 'figure' | 'form' | 'grid' | 'group' | 'heading' | 'img' | 'link' | 'list' | 'listitem' | 'log' | 'main' | 'marquee' | 'math' | 'menu' | 'menubar' | 'menuitem' | 'meter' | 'navigation' | 'none' | 'note' | 'option' | 'presentation' | 'progressbar' | 'radio' | 'radiogroup' | 'region' | 'row' | 'rowgroup' | 'rowheader' | 'scrollbar' | 'searchbox' | 'separator' | 'slider' | 'spinbutton' | 'status' | 'summary' | 'switch' | 'tab' | 'table' | 'tablist' | 'tabpanel' | 'term' | 'timer' | 'toolbar' | 'tooltip' | 'tree' | 'treegrid' | 'treeitem';
36
+ export type GuiComponentPropsBaseBase = {
37
+ target?: string;
38
+ htmlFor?: string;
39
+ /**
40
+ * When truthy passes through all props to a single child element, and avoids rendering its own element.
41
+ * Must pass just one child React element that will receive all the props.
42
+ *
43
+ * The option "except-style" will avoid passing any style related props.
44
+ *
45
+ * The option "web" will map all React Native style props to web props (onPress becomes onClick).
46
+ *
47
+ * The option "except-style-web" combines the except-style and web options.
48
+ *
49
+ */
50
+ asChild?: boolean | 'except-style' | 'except-style-web' | 'web';
51
+ dangerouslySetInnerHTML?: {
52
+ __html: string;
53
+ };
54
+ children?: any | any[];
55
+ debug?: DebugProp;
56
+ disabled?: boolean;
57
+ /**
58
+ * Same as the web className property, useful for applying styles from CSS on web only
59
+ */
60
+ className?: string;
61
+ /**
62
+ * If given a theme it will only apply to this element, instead of passing down to children
63
+ */
64
+ themeShallow?: boolean;
65
+ /**
66
+ * If true, component themes will not be applied
67
+ */
68
+ unstyled?: boolean;
69
+ /**
70
+ * Same as the web id property for setting a uid on an element
71
+ */
72
+ id?: string;
73
+ /**
74
+ * Controls the rendered element on web.
75
+ * - String: renders as that HTML element (e.g., `render="button"`)
76
+ * - JSX Element: clones element with merged props (e.g., `render={<a href="/" />}`)
77
+ * - Function: full control with props and state (e.g., `render={(props) => <Custom {...props} />}`)
78
+ * @example render="button"
79
+ * @example render={<a href="/" />}
80
+ * @example render={(props, state) => <MyComponent {...props} isPressed={state.press} />}
81
+ */
82
+ render?: keyof HTMLElementTagNameMap | (string & {}) | React.ReactElement | ((props: Record<string, any> & {
83
+ ref?: React.Ref<any>;
84
+ }, state: GuiComponentState) => React.ReactElement);
85
+ /**
86
+ * Applies a theme to this element
87
+ */
88
+ theme?: ThemeName | null;
89
+ /**
90
+ * Marks this component as a group for use in styling children based on parents named group
91
+ * See: https://gui.hanzo.ai/docs/intro/props
92
+ */
93
+ group?: GroupNames | boolean;
94
+ /**
95
+ * Works only alongside group, when children of the group are using container based sizing on native you can hide them until parent is measured.
96
+ * See: https://gui.hanzo.ai/docs/intro/props
97
+ */
98
+ untilMeasured?: 'hide' | 'show';
99
+ /**
100
+ * Equivalent to "name" property on styled() for automatically applying a theme
101
+ */
102
+ componentName?: string;
103
+ /**
104
+ * Used for controlling the order of focus with keyboard or assistive device enavigation
105
+ * See https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex
106
+ */
107
+ tabIndex?: string | number;
108
+ /**
109
+ * Equivalent to role="" attribute on web for accessibility
110
+ */
111
+ role?: Role;
112
+ /**
113
+ * Disable all compiler optimization
114
+ */
115
+ disableOptimization?: boolean;
116
+ /**
117
+ * Forces the pseudo style state to be on
118
+ */
119
+ forceStyle?: 'hover' | 'press' | 'focus' | 'focusVisible' | 'focusWithin';
120
+ /**
121
+ * Disables className output of styles, instead using only inline styles
122
+ */
123
+ disableClassName?: boolean;
124
+ /**
125
+ * Adds some area outside the typical bounds of the component for touch actions to register.
126
+ * Hanzo GUI uses Pressable internally so it supports `number | Insets` rather than just `Insets`
127
+ */
128
+ hitSlop?: number | Insets | null;
129
+ /**
130
+ * Select which animation driver to use for this component.
131
+ * Pass a string key matching a driver registered in the `animations` config.
132
+ * Example: `<View animatedBy="spring">` when config has `animations: { default: css, spring: moti }`
133
+ */
134
+ animatedBy?: AnimationDriverKeys | null;
135
+ };
136
+ export interface Insets {
137
+ top?: number;
138
+ left?: number;
139
+ bottom?: number;
140
+ right?: number;
141
+ }
142
+ export interface WebOnlyPressEvents {
143
+ onPress?: PressableProps['onPress'];
144
+ onLongPress?: PressableProps['onLongPress'];
145
+ onPressIn?: PressableProps['onPress'];
146
+ onPressOut?: PressableProps['onPress'];
147
+ onMouseEnter?: DivAttributes['onMouseEnter'];
148
+ onMouseLeave?: DivAttributes['onMouseLeave'];
149
+ onMouseDown?: DivAttributes['onMouseDown'];
150
+ onMouseUp?: DivAttributes['onMouseUp'];
151
+ onMouseMove?: DivAttributes['onMouseMove'];
152
+ onMouseOver?: DivAttributes['onMouseOver'];
153
+ onMouseOut?: DivAttributes['onMouseOut'];
154
+ onFocus?: DivAttributes['onFocus'];
155
+ onBlur?: DivAttributes['onBlur'];
156
+ onClick?: DivAttributes['onClick'];
157
+ onDoubleClick?: DivAttributes['onDoubleClick'];
158
+ onContextMenu?: DivAttributes['onContextMenu'];
159
+ onWheel?: DivAttributes['onWheel'];
160
+ onKeyDown?: DivAttributes['onKeyDown'];
161
+ onKeyUp?: DivAttributes['onKeyUp'];
162
+ onChange?: DivAttributes['onChange'];
163
+ onInput?: DivAttributes['onInput'];
164
+ onBeforeInput?: DivAttributes['onBeforeInput'];
165
+ onScroll?: DivAttributes['onScroll'];
166
+ onCopy?: DivAttributes['onCopy'];
167
+ onCut?: DivAttributes['onCut'];
168
+ onPaste?: DivAttributes['onPaste'];
169
+ onDrag?: DivAttributes['onDrag'];
170
+ onDragStart?: DivAttributes['onDragStart'];
171
+ onDragEnd?: DivAttributes['onDragEnd'];
172
+ onDragEnter?: DivAttributes['onDragEnter'];
173
+ onDragLeave?: DivAttributes['onDragLeave'];
174
+ onDragOver?: DivAttributes['onDragOver'];
175
+ onDrop?: DivAttributes['onDrop'];
176
+ onPointerDown?: DivAttributes['onPointerDown'];
177
+ onPointerMove?: DivAttributes['onPointerMove'];
178
+ onPointerUp?: DivAttributes['onPointerUp'];
179
+ onPointerCancel?: DivAttributes['onPointerCancel'];
180
+ }
181
+ export type { MediaStyleObject, StyleObject } from '@hanzogui/helpers';
182
+ type FontFamilies = FontTokens extends `$${infer Token}` ? Token : never;
183
+ export type LanguageContextType = Partial<{
184
+ [key in FontFamilies]: FontLanguages | 'default';
185
+ }>;
186
+ export type FontLanguageProps = LanguageContextType & {
187
+ children?: React.ReactNode;
188
+ };
189
+ export type ThemeProviderProps = {
190
+ className?: string;
191
+ defaultTheme: string | null | undefined;
192
+ /** @deprecated moved to createGui({ settings: { disableRootThemeClass } }) */
193
+ disableRootThemeClass?: boolean;
194
+ /** @deprecated moved to createGui({ settings: { themeClassNameOnRoot } }) */
195
+ themeClassNameOnRoot?: boolean;
196
+ children?: any;
197
+ reset?: boolean;
198
+ };
199
+ export type ThemeState = {
200
+ id: string;
201
+ name: string;
202
+ theme: ThemeParsed;
203
+ parentName?: string;
204
+ isInverse?: boolean;
205
+ isNew?: boolean;
206
+ parentId?: string;
207
+ scheme?: 'light' | 'dark';
208
+ };
209
+ export interface Variable<A = any> {
210
+ isVar: true;
211
+ variable?: string;
212
+ val: A;
213
+ name: string;
214
+ key: string;
215
+ needsPx?: boolean;
216
+ }
217
+ export type MakeVariable<A = any> = A extends string | number ? Variable<A> : A;
218
+ /**
219
+ * Type for the px helper object that indicates a token value needs px units
220
+ */
221
+ export interface PxValue {
222
+ val: number;
223
+ needsPx: true;
224
+ }
225
+ export type ColorScheme = 'light' | 'dark';
226
+ export type IsMediaType = boolean | 'platform' | 'theme' | 'group';
227
+ export type MaybeGuiComponent<A = any> = GuiComponent<A> | React.FC<A>;
228
+ type MeasureOnSuccessCallback = (x: number, y: number, width: number, height: number, pageX: number, pageY: number) => void;
229
+ type MeasureInWindowOnSuccessCallback = (x: number, y: number, width: number, height: number) => void;
230
+ type MeasureLayoutOnSuccessCallback = (left: number, top: number, width: number, height: number) => void;
231
+ /**
232
+ * Methods added to element refs that work across web and native.
233
+ * On web these are added at runtime to HTMLElements.
234
+ * On native these exist on View already.
235
+ */
236
+ export interface GuiElementMethods {
237
+ measure(callback: MeasureOnSuccessCallback): void;
238
+ measureInWindow(callback: MeasureInWindowOnSuccessCallback): void;
239
+ measureLayout(relativeToNativeNode: View | HTMLElement, onSuccess: MeasureLayoutOnSuccessCallback, onFail?: () => void): void;
240
+ focus(): void;
241
+ blur(): void;
242
+ }
243
+ /**
244
+ * Cross-platform element ref type. On web, includes GuiElementMethods
245
+ * (measure, focus, blur) which Hanzo GUI adds at runtime. On native, View
246
+ * already has these via NativeMethods.
247
+ */
248
+ export type GuiElement = (HTMLElement & GuiElementMethods) | View;
249
+ export type GuiTextElement = (HTMLElement & GuiElementMethods) | RNText;
250
+ /**
251
+ * Web-specific element type for platform-specific .tsx files.
252
+ * Use when you need HTMLElement subtype properties (e.g., selectionStart on HTMLInputElement)
253
+ * that aren't on the cross-platform GuiElement type.
254
+ *
255
+ * @example
256
+ * const ref = useRef<GuiWebElement<HTMLInputElement>>(null)
257
+ * // ref.current has both HTMLInputElement props and GuiElementMethods
258
+ */
259
+ export type GuiWebElement<T extends HTMLElement = HTMLElement> = T & GuiElementMethods;
260
+ export type DebugProp = boolean | 'break' | 'verbose' | 'visualize' | 'profile';
261
+ export interface GuiComponentPropsBase extends GuiComponentPropsBaseBase, WebOnlyPressEvents {
262
+ }
263
+ /**
264
+ * For static / studio
265
+ */
266
+ type NameToPaths = {
267
+ [key: string]: Set<string>;
268
+ };
269
+ export type LoadedComponents = {
270
+ moduleName: string;
271
+ nameToInfo: Record<string, {
272
+ staticConfig: StaticConfig;
273
+ }>;
274
+ };
275
+ export type GuiProjectInfo = {
276
+ components: LoadedComponents[];
277
+ guiConfig: GuiInternalConfig;
278
+ nameToPaths: NameToPaths;
279
+ };
280
+ export type DivAttributes = HTMLAttributes<HTMLDivElement>;
281
+ export type ReactComponentWithRef<Props, Ref> = ForwardRefExoticComponent<Props & RefAttributes<Ref>>;
282
+ export type ComponentSetStateShallow = React.Dispatch<React.SetStateAction<Partial<GuiComponentState>>>;
283
+ export type ComponentContextI = {
284
+ disableSSR?: boolean;
285
+ inText: boolean;
286
+ language: LanguageContextType | null;
287
+ animationDriver: AnimationDriver | null;
288
+ setParentFocusState: ComponentSetStateShallow | null;
289
+ mediaEmit?: (state: UseMediaState) => void;
290
+ mediaEmitListeners?: Set<(state: UseMediaState) => void>;
291
+ insets?: {
292
+ top: number;
293
+ right: number;
294
+ bottom: number;
295
+ left: number;
296
+ } | null;
297
+ };
298
+ export type GuiComponentStateRef = {
299
+ startedUnhydrated: boolean;
300
+ host?: GuiElement;
301
+ composedRef?: (x: GuiElement) => void;
302
+ willHydrate?: boolean;
303
+ hasMeasured?: boolean;
304
+ hasAnimated?: boolean;
305
+ themeShallow?: boolean;
306
+ hasEverThemed?: boolean | 'wrapped';
307
+ hasEverResetPresence?: boolean;
308
+ hasHadEvents?: boolean;
309
+ isListeningToTheme?: boolean;
310
+ unPress?: Function;
311
+ setStateShallow?: ComponentSetStateShallow;
312
+ useStyleListener?: UseStyleListener;
313
+ updateStyleListener?: () => void;
314
+ group?: ComponentGroupEmitter;
315
+ nextState?: GuiComponentState;
316
+ nextMedia?: UseMediaState;
317
+ mediaEmitCleanup?: () => void;
318
+ prevPseudoState?: {
319
+ hover?: boolean;
320
+ press?: boolean;
321
+ focus?: boolean;
322
+ groups?: Record<string, {
323
+ hover?: boolean;
324
+ press?: boolean;
325
+ focus?: boolean;
326
+ }>;
327
+ };
328
+ };
329
+ export type ComponentGroupEmitter = {
330
+ listeners: Set<GroupStateListener>;
331
+ emit: GroupStateListener;
332
+ subscribe: (cb: GroupStateListener) => () => void;
333
+ };
334
+ export type WidthHeight = {
335
+ width: number;
336
+ height: number;
337
+ };
338
+ export type ChildGroupState = {
339
+ pseudo?: PseudoGroupState;
340
+ media?: Record<MediaQueryKey extends number ? never : MediaQueryKey, boolean>;
341
+ };
342
+ export type ComponentGroupState = {
343
+ pseudo?: PseudoGroupState;
344
+ layout?: WidthHeight;
345
+ };
346
+ export type GroupStateListener = (state: ComponentGroupState) => void;
347
+ export type SingleGroupContext = {
348
+ subscribe: (cb: GroupStateListener) => DisposeFn;
349
+ state: ComponentGroupState;
350
+ };
351
+ export type AllGroupContexts = {
352
+ [GroupName: string]: SingleGroupContext;
353
+ };
354
+ export type PseudoGroupState = Pick<GuiComponentState, 'disabled' | 'hover' | 'press' | 'pressIn' | 'focus' | 'focusVisible' | 'focusWithin'>;
355
+ export type LayoutEvent = {
356
+ nativeEvent: {
357
+ layout: LayoutValue;
358
+ target: any;
359
+ };
360
+ timeStamp: number;
361
+ };
362
+ type LayoutValue = {
363
+ x: number;
364
+ y: number;
365
+ width: number;
366
+ height: number;
367
+ left: number;
368
+ top: number;
369
+ };
370
+ export type DisposeFn = () => void;
371
+ export type ConfigListener = (conf: GuiInternalConfig) => void;
372
+ export type VariableVal = number | string | Variable | VariableValGeneric | PxValue;
373
+ export type VariableColorVal = string | Variable;
374
+ type GenericKey = string;
375
+ export type CreateTokens<Val extends VariableVal = VariableVal> = Record<string, {
376
+ [key: GenericKey]: Val;
377
+ }> & {
378
+ color?: {
379
+ [key: GenericKey]: Val;
380
+ };
381
+ space?: {
382
+ [key: GenericKey]: Val;
383
+ };
384
+ size?: {
385
+ [key: GenericKey]: Val;
386
+ };
387
+ radius?: {
388
+ [key: GenericKey]: Val;
389
+ };
390
+ zIndex?: {
391
+ [key: GenericKey]: Val;
392
+ };
393
+ };
394
+ export type TokenCategories = 'color' | 'space' | 'size' | 'radius' | 'zIndex';
395
+ type Tokenify<A extends GenericTokens> = Omit<{
396
+ [Key in keyof A]: TokenifyRecord<A[Key]>;
397
+ }, TokenCategories> & {
398
+ color: TokenifyRecord<A extends {
399
+ color: any;
400
+ } ? A['color'] : {}>;
401
+ space: TokenifyRecord<A extends {
402
+ space: any;
403
+ } ? A['space'] : {}>;
404
+ size: TokenifyRecord<A extends {
405
+ size: any;
406
+ } ? A['size'] : {}>;
407
+ radius: TokenifyRecord<A extends {
408
+ radius: any;
409
+ } ? A['radius'] : {}>;
410
+ zIndex: TokenifyRecord<A extends {
411
+ zIndex: any;
412
+ } ? A['zIndex'] : {}>;
413
+ };
414
+ type TokenifyRecord<A extends object> = {
415
+ [Key in keyof A]: CoerceToVariable<A[Key]>;
416
+ };
417
+ type CoerceToVariable<A> = A extends Variable ? A : Variable<A>;
418
+ export type GuiBaseTheme = {
419
+ background: VariableColorVal;
420
+ backgroundHover: VariableColorVal;
421
+ backgroundPress: VariableColorVal;
422
+ backgroundFocus: VariableColorVal;
423
+ color: VariableColorVal;
424
+ colorHover: VariableColorVal;
425
+ colorPress: VariableColorVal;
426
+ colorFocus: VariableColorVal;
427
+ borderColor: VariableColorVal;
428
+ borderColorHover: VariableColorVal;
429
+ borderColorPress: VariableColorVal;
430
+ borderColorFocus: VariableColorVal;
431
+ shadowColor: VariableColorVal;
432
+ shadowColorHover: VariableColorVal;
433
+ shadowColorPress: VariableColorVal;
434
+ shadowColorFocus: VariableColorVal;
435
+ };
436
+ export type VariableValGeneric = {
437
+ __generic: 1;
438
+ };
439
+ type GenericTokens = CreateTokens;
440
+ type GenericThemes = {
441
+ [key: string]: Partial<GuiBaseTheme> & {
442
+ [key: string]: VariableVal;
443
+ };
444
+ };
445
+ export type CreateShorthands = {
446
+ [key: string]: string;
447
+ };
448
+ export type GenericShorthands = {};
449
+ type GenericMedia = {
450
+ [key: string]: {
451
+ [key: string]: number | string;
452
+ };
453
+ };
454
+ export type GenericFonts = Record<string, GenericFont>;
455
+ type GenericAnimations = {
456
+ [key: string]: string | {
457
+ [key: string]: any;
458
+ } | any[];
459
+ };
460
+ export interface GuiCustomConfig {
461
+ }
462
+ export interface GuiConfig extends Omit<GenericGuiConfig, keyof GuiCustomConfig>, GuiCustomConfig {
463
+ }
464
+ export type OnlyAllowShorthandsSetting = GuiConfig['settings'] extends {
465
+ onlyAllowShorthands: infer X;
466
+ } ? X : false;
467
+ export type OnlyShorthandStylePropsSetting = GuiConfig['settings'] extends {
468
+ onlyShorthandStyleProps: infer X;
469
+ } ? X : false;
470
+ export type CreateGuiConfig<A extends GenericTokens, B extends GenericThemes, C extends GenericShorthands = GenericShorthands, D extends GenericMedia = GenericMedia, E extends GenericAnimations = GenericAnimations, F extends GenericFonts = GenericFonts, H extends GenericGuiSettings = GenericGuiSettings, AnimDriverKeys extends string = string> = {
471
+ fonts: RemoveLanguagePostfixes<F>;
472
+ fontLanguages: GetLanguagePostfixes<F> extends never ? string[] : GetLanguagePostfixes<F>[];
473
+ tokens: A;
474
+ themes: {
475
+ [Name in keyof B]: {
476
+ [Key in keyof B[Name]]: CoerceToVariable<B[Name][Key]>;
477
+ };
478
+ };
479
+ shorthands: C;
480
+ media: D;
481
+ animations: AnimationDriver<E> | AnimationsConfigObject;
482
+ animationDriverKeys?: AnimDriverKeys;
483
+ settings: H;
484
+ };
485
+ type GetLanguagePostfix<Set> = Set extends string ? Set extends `${string}_${infer Postfix}` ? Postfix : never : never;
486
+ type OmitLanguagePostfix<Set> = Set extends string ? Set extends `${infer Prefix}_${string}` ? Prefix : Set : never;
487
+ type RemoveLanguagePostfixes<F extends GenericFonts> = {
488
+ [Key in OmitLanguagePostfix<keyof F>]: F[Key];
489
+ };
490
+ type GetLanguagePostfixes<F extends GenericFonts> = GetLanguagePostfix<keyof F>;
491
+ type ConfProps<A, B, C, D, E, F, I> = {
492
+ tokens?: A;
493
+ themes?: B;
494
+ shorthands?: C;
495
+ media?: D;
496
+ animations?: E;
497
+ fonts?: F;
498
+ settings?: I;
499
+ };
500
+ type EmptyTokens = {
501
+ color: {};
502
+ space: {};
503
+ size: {};
504
+ radius: {};
505
+ zIndex: {};
506
+ };
507
+ type EmptyThemes = {};
508
+ type EmptyShorthands = {};
509
+ type EmptyMedia = {};
510
+ type EmptyAnimations = {};
511
+ type EmptyFonts = {};
512
+ type EmptyGuiSettings = {
513
+ allowedStyleValues: false;
514
+ autocompleteSpecificTokens: 'except-special';
515
+ };
516
+ type ExtractAnimationConfig<E> = E extends AnimationDriver<infer Config> ? Config : E extends {
517
+ default: AnimationDriver<infer Config>;
518
+ } ? Config : E extends GenericAnimations ? E : EmptyAnimations;
519
+ type ExtractAnimationDriverKeys<E> = E extends AnimationDriver<any> ? 'default' : E extends {
520
+ default: AnimationDriver<any>;
521
+ } ? Extract<keyof E, string> : 'default';
522
+ export type InferGuiConfig<Conf> = Conf extends ConfProps<infer A, infer B, infer C, infer D, infer E, infer F, infer H> ? GuiInternalConfig<A extends GenericTokens ? A : EmptyTokens, B extends GenericThemes ? B : EmptyThemes, C extends GenericShorthands ? C : EmptyShorthands, D extends GenericMedia ? D : EmptyMedia, ExtractAnimationConfig<E>, F extends GenericFonts ? F : EmptyFonts, H extends GenericGuiSettings ? H : EmptyGuiSettings, ExtractAnimationDriverKeys<E>> : unknown;
523
+ export type GenericGuiConfig = CreateGuiConfig<GenericTokens, GenericThemes, GenericShorthands, GenericMedia, GenericAnimations, GenericFonts>;
524
+ type NonSubThemeNames<A extends string | number> = A extends `${string}_${string}` ? never : A;
525
+ type BaseThemeDefinitions = GuiConfig['themes'][NonSubThemeNames<keyof GuiConfig['themes']>];
526
+ type GenericThemeDefinition = GuiConfig['themes'][keyof GuiConfig['themes']];
527
+ export type ThemeDefinition = BaseThemeDefinitions extends never ? GenericThemeDefinition : BaseThemeDefinitions;
528
+ export type ThemeKeys = keyof ThemeDefinition;
529
+ export type ThemeParsed = {
530
+ [key in ThemeKeys]: CoerceToVariable<ThemeDefinition[key]>;
531
+ };
532
+ export type Tokens = GuiConfig['tokens'];
533
+ export type TokensParsed = {
534
+ [Key in keyof Required<Tokens>]: TokenPrefixed<Tokens[Key]>;
535
+ };
536
+ type TokenPrefixed<A extends {
537
+ [key: string]: any;
538
+ }> = {
539
+ [Key in Ensure$Prefix<keyof A> | keyof A]: A[keyof A];
540
+ };
541
+ type Ensure$Prefix<A extends string | number | symbol> = A extends string | number | boolean ? A extends `$${string | number}` ? A : `$${A}` : never;
542
+ export type TokensMerged = TokensParsed & Tokens;
543
+ export type Shorthands = GuiConfig['shorthands'];
544
+ export type Media = GuiConfig['media'];
545
+ export type Themes = GuiConfig['themes'];
546
+ export type ThemeName = Exclude<GetAltThemeNames<keyof Themes>, number>;
547
+ export type ThemeTokens = `$${ThemeKeys}`;
548
+ type GetAnimationsFromDriver<T> = T extends {
549
+ animations: infer A;
550
+ } ? Extract<keyof A, string> : never;
551
+ type GetAnimationsFromMultiDriver<T> = T extends {
552
+ default: infer D;
553
+ } ? GetAnimationsFromDriver<D> : T extends {
554
+ [key: string]: infer D;
555
+ } ? GetAnimationsFromDriver<D> : never;
556
+ type ExtractDriver<T> = Extract<T, AnimationDriver<any>>;
557
+ type InferredTransitionKeys = ExtractDriver<GuiConfig['animations']> extends AnimationDriver<any> ? GetAnimationsFromDriver<ExtractDriver<GuiConfig['animations']>> : GetAnimationsFromMultiDriver<GuiConfig['animations']>;
558
+ export type TransitionKeys = InferredTransitionKeys;
559
+ export type AnimationDriverKeys = 'default' | Extract<Exclude<GuiConfig['animationDriverKeys'], undefined>, string> | (ReturnType<TypeOverride['animationDrivers']> extends 1 ? never : ReturnType<TypeOverride['animationDrivers']>);
560
+ export type FontLanguages = ArrayIntersection<GuiConfig['fontLanguages']>;
561
+ export interface ThemeProps {
562
+ className?: string;
563
+ name?: Exclude<ThemeName, number> | null;
564
+ componentName?: string;
565
+ children?: any;
566
+ reset?: boolean;
567
+ debug?: DebugProp;
568
+ forceClassName?: boolean;
569
+ shallow?: boolean;
570
+ }
571
+ export type UseThemeWithStateProps = ThemeProps & {
572
+ deopt?: boolean;
573
+ passThrough?: boolean;
574
+ disable?: boolean;
575
+ needsUpdate?: () => boolean;
576
+ unstyled?: boolean;
577
+ };
578
+ type ArrayIntersection<A extends any[]> = A[keyof A];
579
+ type GetAltThemeNames<S> = (S extends `${infer Theme}_${infer Alt}` ? Theme | GetAltThemeNames<Alt> : S) | S;
580
+ type AllowedValueSettingBase = boolean | 'strict' | 'somewhat-strict' | 'strict-web' | 'somewhat-strict-web';
581
+ type AllowedStyleValuesSettingSize = AllowedValueSettingBase | 'number' | 'percent';
582
+ type AllowedStyleValuesSettingZIndex = AllowedValueSettingBase | 'number';
583
+ type AllowedStyleValuesSettingRadius = AllowedValueSettingBase | 'number';
584
+ type AllowedStyleValuesSettingColor = AllowedValueSettingBase | 'named';
585
+ type AllowedStyleValuesSettingPerCategory = {
586
+ space?: AllowedStyleValuesSettingSize;
587
+ size?: AllowedStyleValuesSettingSize;
588
+ radius?: AllowedStyleValuesSettingRadius;
589
+ zIndex?: AllowedStyleValuesSettingZIndex;
590
+ color?: AllowedStyleValuesSettingColor;
591
+ };
592
+ type AllowedStyleValuesSetting = AllowedValueSettingBase | AllowedStyleValuesSettingPerCategory;
593
+ type AutocompleteSpecificTokensSetting = boolean | 'except-special';
594
+ export interface GenericGuiSettings {
595
+ /**
596
+ * When true, flexBasis will be set to 0 when flex is positive. This will be
597
+ * the default in v2 of Hanzo GUI alongside an alternative mode for web compat.
598
+ */
599
+ styleCompat?: 'react-native' | 'legacy';
600
+ /**
601
+ * When true, Hanzo GUI will always prefer a more specific style prop over a
602
+ * less specific one.
603
+ *
604
+ * By default, Hanzo GUI processes all style props in order of definition on the
605
+ * object. This is a bit strange to most people, but it gets around many
606
+ * annoying issues with specificity. You can see our docs on this here:
607
+ * https://gui.hanzo.ai/docs/intro/styles#style-order-is-important
608
+ *
609
+ * But this can be confusing in simple cases, like when you do:
610
+ *
611
+ * <View paddingTop={0} padding={10} />
612
+ *
613
+ * This would set paddingTop ultimately to be 10, because padding comes after
614
+ * paddingTop. When this setting is set to true, paddingTop will always beat
615
+ * padding, because it is more specific.
616
+ *
617
+ * For variants, it will still take the prop order as definitive.
618
+ *
619
+ *
620
+ * @default false
621
+ */
622
+ /**
623
+ * Set up allowed values on style props, this is only a type-level validation.
624
+ *
625
+ * "strict" - only allows tokens for any token-enabled properties "strict-web"
626
+ * - same as strict but allows for web-specific tokens like auto/inherit
627
+ * "somewhat-strict" - allow tokens or: for space/size: string% or numbers for
628
+ * radius: number for zIndex: number for color: named colors or rgba/hsla
629
+ * strings "somewhat-strict-web" - same as somewhat-strict but allows for
630
+ * web-specific tokens
631
+ *
632
+ * @default false - allows any string (or number for styles that accept
633
+ * numbers)
634
+ *
635
+ */
636
+ allowedStyleValues?: AllowedStyleValuesSetting;
637
+ /**
638
+ * Set up if "specific tokens" ($color.name) are added to the types where
639
+ * tokens are allowed. The VSCode autocomplete puts specific tokens above the
640
+ * regular ones, which leads to worse DX. If true this setting removes the
641
+ * specific token from types for the defined categories.
642
+ *
643
+ * If set to "except-special", specific tokens will autocomplete only if they
644
+ * don't normally use one of the special token groups: space, size, radius,
645
+ * zIndex, color.
646
+ *
647
+ * @default except-special
648
+ */
649
+ autocompleteSpecificTokens?: AutocompleteSpecificTokensSetting;
650
+ /**
651
+ * On iOS, this enables a mode where Hanzo GUI returns color values using
652
+ * `DynamicColorIOS` This is a React Native built in feature, you can read the
653
+ * docs here: https://reactnative.dev/docs/dynamiccolorios
654
+ *
655
+ * We're working to make this enabled by default without any setting, but
656
+ * Hanzo GUI themes support inversing and/or changing to light/dark at any point
657
+ * in the tree. We haven't implemented support for either of these cases when
658
+ * combined with this feature.
659
+ *
660
+ * So - as long as you:
661
+ *
662
+ * 1. Only use light/dark changes of themes at the root of your app
663
+ * 2. Always change light/dark alongside the Appearance.colorScheme
664
+ *
665
+ * Then this feature is safe to turn on and will significantly speed up
666
+ * dark/light re-renders.
667
+ */
668
+ fastSchemeChange?: boolean;
669
+ /**
670
+ * On Web, this allows changing the behavior of container groups which by
671
+ * default uses `container-type: inline-size`.
672
+ */
673
+ webContainerType?: 'normal' | 'size' | 'inline-size' | 'inherit' | 'initial' | 'revert' | 'revert-layer';
674
+ /**
675
+ * Only allow shorthands when enabled. Recommended to be true to avoid having
676
+ * two ways to style the same property.
677
+ */
678
+ onlyAllowShorthands?: boolean | undefined;
679
+ /**
680
+ * Define a default font, for better types and default font on Text
681
+ */
682
+ defaultFont?: string;
683
+ /**
684
+ * Web-only: define CSS text-selection styles
685
+ */
686
+ selectionStyles?: (theme: Record<string, string>) => null | {
687
+ backgroundColor?: any;
688
+ color?: any;
689
+ };
690
+ /**
691
+ * If building a non-server rendered app, set this to true.
692
+ *
693
+ * For SSR compatibility on the web, Hanzo GUI will render once with the settings
694
+ * from `mediaQueryDefaultActive` set for all media queries. Then, it will render
695
+ * again after the initial render using the proper media query values. This is so that
696
+ * hydration will match perfectly with the server.
697
+ *
698
+ * Setting disableSSR will avoid this second render by setting the media query state
699
+ * to the actual browser dimensions on initial load. This is only useful for client-only
700
+ * apps.
701
+ *
702
+ * @default false
703
+ *
704
+ */
705
+ disableSSR?: boolean;
706
+ /**
707
+ * For the first render, determines which media queries are true, this only
708
+ * affects things on native or on web if you disableSSR, as otherwise Gui
709
+ * relies on CSS to avoid the need for re-rendering on first render.
710
+ */
711
+ mediaQueryDefaultActive?: Record<string, boolean>;
712
+ /**
713
+ * Adds @media(prefers-color-scheme) media queries for dark/light, must be set
714
+ * true if you are supporting system preference for light and dark mode themes
715
+ */
716
+ shouldAddPrefersColorThemes?: boolean;
717
+ /**
718
+ * If you want to style your <body> tag to use theme CSS variables on web, you
719
+ * must place the theme className onto the body element or above. This will do so.
720
+ * If disabled, Hanzo GUI will place the className onto the element rendered by
721
+ * the GuiProvider
722
+ *
723
+ * @default html
724
+ */
725
+ addThemeClassName?: 'body' | 'html' | false;
726
+ /**
727
+ * Sets the default position value for all Hanzo GUI components.
728
+ * @default 'static'
729
+ */
730
+ defaultPosition?: 'static' | 'relative';
731
+ /**
732
+ * Sets the base font size for rem calculations on native platforms.
733
+ * On web, browsers use the root font size (typically 16px).
734
+ * @default 16
735
+ */
736
+ remBaseFontSize?: number;
737
+ /**
738
+ * When true, removes the individual longhand style props for border,
739
+ * outline, and shadow (borderWidth, borderStyle, borderColor,
740
+ * outlineWidth, outlineStyle, outlineColor, outlineOffset,
741
+ * shadowColor, shadowOffset, shadowOpacity, shadowRadius) from the
742
+ * type system, encouraging use of the combined shorthand props instead
743
+ * (`border`, `outline`, `boxShadow`).
744
+ *
745
+ * This avoids specificity issues when mixing shorthand and longhand
746
+ * props in atomic CSS output.
747
+ *
748
+ * Note: this is type-level only - it does not change runtime behavior.
749
+ *
750
+ * @default false
751
+ */
752
+ onlyShorthandStyleProps?: boolean;
753
+ }
754
+ export type GuiSettings = GuiConfig['settings'];
755
+ export type BaseStyleProps = {
756
+ [Key in keyof TextStylePropsBase]?: TextStyle[Key] | GetThemeValueForKey<Key>;
757
+ } & {
758
+ [Key in keyof StackStyleBase]?: StackStyle[Key] | GetThemeValueForKey<Key>;
759
+ };
760
+ /**
761
+ * Animation drivers config - can be a single driver or named drivers object.
762
+ * If object, must include a 'default' key.
763
+ */
764
+ export type AnimationsConfig = AnimationDriver<any> | AnimationsConfigObject;
765
+ export type AnimationsConfigObject = {
766
+ default: AnimationDriver<any>;
767
+ [key: string]: AnimationDriver<any>;
768
+ };
769
+ export type CreateGuiProps = {
770
+ reactNative?: any;
771
+ shorthands?: CreateShorthands;
772
+ media?: GenericGuiConfig['media'];
773
+ /**
774
+ * Animation driver(s) configuration.
775
+ * Can be a single driver or an object of named drivers (must include 'default').
776
+ * @example
777
+ * // Single driver
778
+ * animations: createAnimations({ slow: '...', fast: '...' })
779
+ * // Multiple named drivers
780
+ * animations: { default: cssDriver, spring: motiDriver }
781
+ */
782
+ animations?: AnimationsConfig;
783
+ fonts?: GenericGuiConfig['fonts'];
784
+ tokens?: GenericGuiConfig['tokens'];
785
+ themes?: {
786
+ [key: string]: {
787
+ [key: string]: string | number | Variable;
788
+ };
789
+ };
790
+ settings?: Partial<GenericGuiSettings>;
791
+ /**
792
+ * Web-only: define text-selection CSS
793
+ */
794
+ selectionStyles?: (theme: Record<string, string>) => null | {
795
+ backgroundColor?: any;
796
+ color?: any;
797
+ };
798
+ defaultProps?: Record<string, any> & {
799
+ Text?: TextProps;
800
+ View?: StackNonStyleProps & StackStyle;
801
+ };
802
+ };
803
+ export type GetCSS = (opts?: {
804
+ separator?: string;
805
+ exclude?: 'themes' | 'design-system' | null;
806
+ sinceLastCall?: boolean;
807
+ }) => string;
808
+ export type GuiInternalConfig<A extends GenericTokens = GenericTokens, B extends GenericThemes = GenericThemes, C extends GenericShorthands = GenericShorthands, D extends GenericMedia = GenericMedia, E extends GenericAnimations = GenericAnimations, F extends GenericFonts = GenericFonts, G extends GenericGuiSettings = GenericGuiSettings, AnimDriverKeys extends string = string> = Omit<CreateGuiProps, keyof GenericGuiConfig> & Omit<CreateGuiConfig<A, B, C, D, E, F, G, AnimDriverKeys>, 'tokens'> & {
809
+ tokens: Tokenify<A>;
810
+ tokensParsed: Tokenify<A>;
811
+ themeConfig: any;
812
+ fontsParsed: GenericFonts;
813
+ getCSS: GetCSS;
814
+ getNewCSS: GetCSS;
815
+ parsed: boolean;
816
+ inverseShorthands: Record<string, string>;
817
+ userShorthands: C;
818
+ reactNative?: any;
819
+ fontSizeTokens: Set<string>;
820
+ specificTokens: Record<string, Variable>;
821
+ settings: Omit<GenericGuiSettings, keyof G> & G;
822
+ defaultFont?: string;
823
+ defaultFontToken: `${string}`;
824
+ animationDrivers?: Record<string, AnimationDriver>;
825
+ };
826
+ export type GetAnimationKeys<A extends GenericGuiConfig> = keyof A['animations'];
827
+ export type UnionableString = string & {};
828
+ export type UnionableNumber = number & {};
829
+ type GenericFontKey = string | number | symbol;
830
+ export type GenericFont<Key extends GenericFontKey = GenericFontKey> = {
831
+ size: {
832
+ [key in Key]: number | Variable;
833
+ };
834
+ family?: string | Variable;
835
+ lineHeight?: Partial<{
836
+ [key in Key]: number | Variable;
837
+ }> | undefined;
838
+ letterSpacing?: Partial<{
839
+ [key in Key]: number | Variable;
840
+ }> | undefined;
841
+ weight?: Partial<{
842
+ [key in Key]: number | string | Variable;
843
+ }> | undefined;
844
+ style?: Partial<{
845
+ [key in Key]: RNTextStyle['fontStyle'] | Variable;
846
+ }> | undefined;
847
+ transform?: Partial<{
848
+ [key in Key]: RNTextStyle['textTransform'] | Variable;
849
+ }> | undefined;
850
+ color?: Partial<{
851
+ [key in Key]: string | Variable;
852
+ }> | undefined;
853
+ face?: Partial<{
854
+ [key in FontWeightValues]: {
855
+ normal?: string;
856
+ italic?: string;
857
+ };
858
+ }> | undefined;
859
+ };
860
+ export type MediaQueryObject = {
861
+ [key: string]: string | number | string;
862
+ };
863
+ export type MediaQueryKey = keyof Media;
864
+ export type MediaPropKeys = `$${MediaQueryKey}`;
865
+ export type MediaQueryState = {
866
+ [key in MediaQueryKey]: boolean;
867
+ };
868
+ export type ThemeMediaKeys<TK extends keyof Themes = keyof Themes> = `$theme-${TK extends `${string}_${string}` ? never : TK}`;
869
+ export type PlatformMediaKeys = `$platform-${AllPlatforms}`;
870
+ export interface TypeOverride {
871
+ groupNames(): 1;
872
+ animationDrivers(): 1;
873
+ }
874
+ export type GroupNames = ReturnType<TypeOverride['groupNames']> extends 1 ? never : ReturnType<TypeOverride['groupNames']>;
875
+ type ParentMediaStates = 'hover' | 'press' | 'focus' | 'focusVisible' | 'focusWithin';
876
+ export type GroupMediaKeys = `$group-${GroupNames}` | `$group-${GroupNames}-${ParentMediaStates}` | `$group-${GroupNames}-${MediaQueryKey}` | `$group-${GroupNames}-${MediaQueryKey}-${ParentMediaStates}` | `$group-${ParentMediaStates}` | `$group-${MediaQueryKey}` | `$group-${MediaQueryKey}-${ParentMediaStates}`;
877
+ export type WithMediaProps<A> = {
878
+ [Key in MediaPropKeys | GroupMediaKeys | ThemeMediaKeys | PlatformMediaKeys]?: Key extends MediaPropKeys ? A & {
879
+ [Key in PlatformMediaKeys]?: AddWebOnlyStyleProps<A>;
880
+ } : Key extends `$platform-web` ? AddWebOnlyStyleProps<A> : A;
881
+ };
882
+ type AddWebOnlyStyleProps<A> = {
883
+ [SubKey in keyof A | keyof CSSProperties]?: SubKey extends keyof CSSProperties ? CSSProperties[SubKey] : SubKey extends keyof A ? A[SubKey] : SubKey extends keyof WebOnlyValidStyleValues ? WebOnlyValidStyleValues[SubKey] : never;
884
+ };
885
+ export type WebOnlyValidStyleValues = {
886
+ position: '-webkit-sticky';
887
+ };
888
+ export type MediaQueries = {
889
+ [key in MediaQueryKey]: MediaQueryObject;
890
+ };
891
+ export interface MediaQueryList {
892
+ addListener(listener?: any): void;
893
+ removeListener(listener?: any): void;
894
+ match?: (query: string, dimensions: {
895
+ width: number;
896
+ height: number;
897
+ }) => boolean;
898
+ matches: boolean;
899
+ }
900
+ export type MatchMedia = (query: string) => MediaQueryList;
901
+ export type AnimationConfigType = any;
902
+ /**
903
+ * Spring configuration parameters that can override preset defaults.
904
+ * Use with array syntax: transition={['bouncy', { stiffness: 1000, damping: 70 }]}
905
+ */
906
+ export type TransitionSpringConfig = {
907
+ stiffness?: number;
908
+ damping?: number;
909
+ mass?: number;
910
+ tension?: number;
911
+ friction?: number;
912
+ velocity?: number;
913
+ overshootClamping?: boolean;
914
+ duration?: number;
915
+ bounciness?: number;
916
+ speed?: number;
917
+ };
918
+ export type TransitionProp = TransitionKeys | ({
919
+ default?: TransitionKeys;
920
+ enter?: TransitionKeys;
921
+ exit?: TransitionKeys;
922
+ delay?: number;
923
+ } & TransitionSpringConfig & {
924
+ [key: string]: TransitionKeys | {
925
+ type: TransitionKeys;
926
+ [key: string]: any;
927
+ } | number | boolean | undefined;
928
+ }) | [
929
+ TransitionKeys,
930
+ {
931
+ delay?: number;
932
+ enter?: TransitionKeys;
933
+ exit?: TransitionKeys;
934
+ } & TransitionSpringConfig & {
935
+ [key: string]: TransitionKeys | {
936
+ type?: TransitionKeys;
937
+ [key: string]: any;
938
+ } | number | boolean | undefined;
939
+ }
940
+ ];
941
+ /**
942
+ * Tokens
943
+ */
944
+ type PercentString = `${string}%` & {};
945
+ type RemString = `${number}rem`;
946
+ type SomewhatSpecificSizeValue = 'auto' | PercentString | RemString | UnionableNumber;
947
+ type SomewhatSpecificSpaceValue = 'auto' | PercentString | RemString | UnionableNumber;
948
+ type VariableString = `var(${string})`;
949
+ export type SomewhatSpecificColorValue = CSSColorNames | 'transparent' | (`rgba(${string})` & {}) | (`rgb(${string})` & {}) | (`hsl(${string})` & {}) | (`hsla(${string})` & {}) | (`#${string}` & {});
950
+ type WebOnlySizeValue = `${number}vw` | `${number}dvw` | `${number}lvw` | `${number}svw` | `${number}vh` | `${number}dvh` | `${number}lvh` | `${number}svh` | `calc(${string})` | `min(${string})` | `max(${string})` | 'max-content' | 'min-content';
951
+ type UserAllowedStyleValuesSetting = Exclude<GuiSettings['allowedStyleValues'], undefined>;
952
+ export type GetThemeValueSettingForCategory<Cat extends keyof AllowedStyleValuesSettingPerCategory> = UserAllowedStyleValuesSetting extends AllowedValueSettingBase | undefined ? UserAllowedStyleValuesSetting : UserAllowedStyleValuesSetting extends AllowedStyleValuesSettingPerCategory ? UserAllowedStyleValuesSetting[Cat] : true;
953
+ export type GetThemeValueFallbackFor<Setting, StrictValue, SomewhatStrictValue, LooseValue, WebOnlyValue> = Setting extends 'strict' ? StrictValue : Setting extends 'strict-web' ? StrictValue | WebOnlyValue : Setting extends 'somewhat-strict' ? SomewhatStrictValue : Setting extends 'somewhat-strict-web' ? SomewhatStrictValue | WebOnlyValue : LooseValue;
954
+ export type ThemeValueFallback = (GuiSettings extends {
955
+ allowedStyleValues: any;
956
+ } ? never : UnionableString) | Variable;
957
+ export type AllowedValueSettingSpace = GetThemeValueSettingForCategory<'space'>;
958
+ export type AllowedValueSettingSize = GetThemeValueSettingForCategory<'size'>;
959
+ export type AllowedValueSettingColor = GetThemeValueSettingForCategory<'color'>;
960
+ export type AllowedValueSettingZIndex = GetThemeValueSettingForCategory<'zIndex'>;
961
+ export type AllowedValueSettingRadius = GetThemeValueSettingForCategory<'radius'>;
962
+ export type WebStyleValueUniversal = 'unset' | 'inherit' | VariableString;
963
+ export type ThemeValueFallbackSpace = ThemeValueFallback | GetThemeValueFallbackFor<AllowedValueSettingSpace, never, SomewhatSpecificSpaceValue, UnionableString | UnionableNumber, WebStyleValueUniversal | WebOnlySizeValue>;
964
+ export type SpaceValue = number | SpaceTokens | ThemeValueFallback;
965
+ export type ThemeValueFallbackSize = GetThemeValueFallbackFor<AllowedValueSettingSize, never, SomewhatSpecificSizeValue, UnionableString | UnionableNumber, WebStyleValueUniversal | WebOnlySizeValue>;
966
+ export type ThemeValueFallbackColor = ThemeValueFallback | GetThemeValueFallbackFor<AllowedValueSettingColor, never, SomewhatSpecificColorValue, UnionableString | UnionableNumber, WebStyleValueUniversal>;
967
+ export type ThemeValueFallbackRadius = ThemeValueFallback | GetThemeValueFallbackFor<AllowedValueSettingRadius, never, UnionableNumber, UnionableNumber, WebStyleValueUniversal>;
968
+ export type ThemeValueFallbackZIndex = ThemeValueFallback | GetThemeValueFallbackFor<AllowedValueSettingZIndex, never, UnionableNumber, UnionableNumber, WebStyleValueUniversal>;
969
+ export type GetTokenString<A> = A extends `$${string}` ? A : A extends string | number ? `$${A}` : `$${string}`;
970
+ export type SpecificTokens<Record = Tokens, RK extends keyof Record = keyof Record> = RK extends string ? `$${RK}.${keyof Record[RK] extends string | number ? keyof Record[RK] extends `$${infer X}` ? X : keyof Record[RK] : never}` : never;
971
+ export type SpecificTokensSpecial = GuiSettings extends {
972
+ autocompleteSpecificTokens: infer Val;
973
+ } ? Val extends 'except-special' | undefined ? never : SpecificTokens : SpecificTokens;
974
+ export type SizeTokens = SpecificTokensSpecial | ThemeValueFallbackSize | GetTokenString<keyof Tokens['size']>;
975
+ export type SpaceTokens = SpecificTokensSpecial | GetTokenString<keyof Tokens['space']> | ThemeValueFallbackSpace;
976
+ export type ColorTokens = SpecificTokensSpecial | GetTokenString<keyof Tokens['color']> | GetTokenString<keyof ThemeParsed> | CSSColorNames;
977
+ export type ZIndexTokens = SpecificTokensSpecial | GetTokenString<keyof Tokens['zIndex']> | ThemeValueFallbackZIndex | number;
978
+ export type RadiusTokens = SpecificTokensSpecial | GetTokenString<keyof Tokens['radius']> | ThemeValueFallbackRadius | number | RemString;
979
+ export type NonSpecificTokens = GetTokenString<keyof Tokens['radius']> | GetTokenString<keyof Tokens['zIndex']> | GetTokenString<keyof Tokens['color']> | GetTokenString<keyof Tokens['space']> | GetTokenString<keyof Tokens['size']>;
980
+ export type Token = NonSpecificTokens | (GuiSettings extends {
981
+ autocompleteSpecificTokens: false;
982
+ } ? never : SpecificTokens);
983
+ export type ColorStyleProp = ThemeValueFallbackColor | ColorTokens;
984
+ type DefaultFont = GuiSettings['defaultFont'];
985
+ export type Fonts = DefaultFont extends string ? GuiConfig['fonts'][DefaultFont] : never;
986
+ export type Font = ParseFont<Fonts>;
987
+ export type GetTokenFontKeysFor<A extends 'size' | 'weight' | 'letterSpacing' | 'family' | 'lineHeight' | 'transform' | 'style' | 'color'> = keyof GuiConfig['fonts']['body'][A];
988
+ export type FontTokens = GetTokenString<keyof GuiConfig['fonts']>;
989
+ export type FontFamilyTokens = GetTokenString<GetTokenFontKeysFor<'family'>>;
990
+ export type FontSizeTokens = GetTokenString<GetTokenFontKeysFor<'size'>> | number | RemString;
991
+ export type FontLineHeightTokens = `$${GetTokenFontKeysFor<'lineHeight'>}` | number | RemString;
992
+ export type FontWeightValues = `${1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9}00` | 'bold' | 'normal';
993
+ export type FontWeightTokens = `$${GetTokenFontKeysFor<'weight'>}` | FontWeightValues;
994
+ export type FontColorTokens = `$${GetTokenFontKeysFor<'color'>}` | number;
995
+ export type FontLetterSpacingTokens = `$${GetTokenFontKeysFor<'letterSpacing'>}` | number | RemString;
996
+ export type FontStyleTokens = `$${GetTokenFontKeysFor<'style'>}` | RNTextStyle['fontStyle'];
997
+ export type FontTransformTokens = `$${GetTokenFontKeysFor<'transform'>}` | RNTextStyle['textTransform'];
998
+ export type ParseFont<A extends GenericFont> = {
999
+ size: TokenPrefixed<A['size']>;
1000
+ lineHeight: TokenPrefixedIfExists<A['lineHeight']>;
1001
+ letterSpacing: TokenPrefixedIfExists<A['letterSpacing']>;
1002
+ weight: TokenPrefixedIfExists<A['weight']>;
1003
+ family: TokenPrefixedIfExists<A['family']>;
1004
+ style: TokenPrefixedIfExists<A['style']>;
1005
+ transform: TokenPrefixedIfExists<A['transform']>;
1006
+ color: TokenPrefixedIfExists<A['color']>;
1007
+ face: TokenPrefixedIfExists<A['face']>;
1008
+ };
1009
+ export type TokenPrefixedIfExists<A> = A extends Record<string, any> ? TokenPrefixed<A> : {};
1010
+ export type ThemeValueByCategory<K extends string | number | symbol> = K extends 'theme' ? ThemeTokens : K extends 'size' ? SizeTokens : K extends 'font' ? FontTokens : K extends 'fontSize' ? FontSizeTokens : K extends 'space' ? SpaceTokens : K extends 'color' ? ColorTokens : K extends 'zIndex' ? ZIndexTokens : K extends 'radius' ? RadiusTokens : K extends 'lineHeight' ? FontLineHeightTokens : K extends 'fontWeight' ? FontWeightTokens : K extends 'letterSpacing' ? FontLetterSpacingTokens : K extends keyof Tokens ? GetTokenString<keyof Tokens[K]> : never;
1011
+ export type FontKeys = 'fontFamily';
1012
+ export type FontSizeKeys = 'fontSize';
1013
+ export type FontWeightKeys = 'fontWeight';
1014
+ export type FontLetterSpacingKeys = 'letterSpacing';
1015
+ export type LineHeightKeys = 'lineHeight';
1016
+ export type ZIndexKeys = 'zIndex';
1017
+ export type OpacityKeys = 'opacity';
1018
+ export type ThemeValueGet<K extends string | number | symbol> = K extends 'theme' ? ThemeTokens : K extends SizeKeys ? SizeTokens : K extends FontKeys ? FontTokens : K extends FontSizeKeys ? FontSizeTokens : K extends `${`border${string | ''}Radius`}` ? RadiusTokens : K extends SpaceKeys ? K extends 'shadowOffset' ? {
1019
+ width: SpaceTokens;
1020
+ height: SpaceTokens;
1021
+ } : SpaceTokens : K extends ColorKeys ? ColorTokens | ThemeValueFallbackColor : K extends ZIndexKeys ? ZIndexTokens : K extends LineHeightKeys ? FontLineHeightTokens : K extends FontWeightKeys ? FontWeightTokens : K extends FontLetterSpacingKeys ? FontLetterSpacingTokens : K extends OpacityKeys ? SpecificTokens | ThemeValueFallback : never;
1022
+ export type GetThemeValueForKey<K extends string | symbol | number> = ThemeValueGet<K> | ThemeValueFallback | (GuiSettings extends {
1023
+ autocompleteSpecificTokens: infer Val;
1024
+ } ? Val extends true | undefined ? SpecificTokens : never : never);
1025
+ export type WithThemeValues<T extends object> = {
1026
+ [K in keyof T]: ThemeValueGet<K> extends never ? K extends keyof ExtraBaseProps ? T[K] : T[K] | 'unset' : GetThemeValueForKey<K> | Exclude<T[K], string> | 'unset';
1027
+ };
1028
+ export type NarrowShorthands = Narrow<Shorthands>;
1029
+ export type Longhands = NarrowShorthands[keyof NarrowShorthands];
1030
+ type OnlyAllowShorthands = GuiConfig['settings']['onlyAllowShorthands'];
1031
+ type OnlyShorthandStyleProps = GuiConfig['settings']['onlyShorthandStyleProps'];
1032
+ type ShorthandLonghandProps = 'borderWidth' | 'borderStyle' | 'borderColor' | 'outlineWidth' | 'outlineStyle' | 'outlineColor' | 'outlineOffset' | 'shadowColor' | 'shadowOffset' | 'shadowOpacity' | 'shadowRadius';
1033
+ export type WithShorthands<StyleProps> = {
1034
+ [Key in keyof Shorthands]?: Shorthands[Key] extends keyof StyleProps ? StyleProps[Shorthands[Key]] | null : undefined;
1035
+ };
1036
+ export type PseudoStyleWithTransition<A> = A & {
1037
+ transition?: TransitionProp | null;
1038
+ };
1039
+ export type WithPseudoProps<A> = {
1040
+ hoverStyle?: PseudoStyleWithTransition<A> | null;
1041
+ pressStyle?: PseudoStyleWithTransition<A> | null;
1042
+ focusStyle?: PseudoStyleWithTransition<A> | null;
1043
+ focusWithinStyle?: PseudoStyleWithTransition<A> | null;
1044
+ focusVisibleStyle?: PseudoStyleWithTransition<A> | null;
1045
+ disabledStyle?: PseudoStyleWithTransition<A> | null;
1046
+ exitStyle?: PseudoStyleWithTransition<A> | null;
1047
+ enterStyle?: PseudoStyleWithTransition<A> | null;
1048
+ };
1049
+ export type PseudoTransitions = Partial<Record<keyof WithPseudoProps<any>, TransitionProp | null>> & {
1050
+ [key: `$group-${string}-${'hover' | 'press' | 'focus'}`]: TransitionProp | null | undefined;
1051
+ };
1052
+ export type PseudoPropKeys = keyof WithPseudoProps<any>;
1053
+ export type PseudoStyles = {
1054
+ hoverStyle?: ViewStyle;
1055
+ pressStyle?: ViewStyle;
1056
+ focusStyle?: ViewStyle;
1057
+ focusWithinStyle?: ViewStyle;
1058
+ focusVisibleStyle?: ViewStyle;
1059
+ disabledStyle?: ViewStyle;
1060
+ enterStyle?: ViewStyle;
1061
+ exitStyle?: ViewStyle;
1062
+ };
1063
+ export type AllPlatforms = 'web' | 'native' | 'android' | 'ios';
1064
+ type MaybeOmitLonghands<A> = OnlyShorthandStyleProps extends true ? Omit<A, ShorthandLonghandProps> : A;
1065
+ export type WithThemeAndShorthands<A extends object, Variants = {}> = OnlyAllowShorthands extends true ? WithThemeValues<MaybeOmitLonghands<Omit<A, Longhands>>> & Variants & WithShorthands<WithThemeValues<A>> : WithThemeValues<MaybeOmitLonghands<A>> & Variants & WithShorthands<WithThemeValues<A>>;
1066
+ export type WithThemeShorthandsAndPseudos<A extends object, Variants = {}> = WithThemeAndShorthands<A, Variants> & WithPseudoProps<WithThemeAndShorthands<A, Variants>>;
1067
+ export type WithThemeShorthandsPseudosMedia<A extends object, Variants = {}> = WithThemeShorthandsAndPseudos<A, Variants> & WithMediaProps<WithThemeShorthandsAndPseudos<A, Variants>>;
1068
+ /**
1069
+ * Base style-only props (no media, pseudo):
1070
+ */
1071
+ type Px = `${string | number}px`;
1072
+ type PxOrPct = Px | `${string | number}%`;
1073
+ type TwoValueTransformOrigin = `${PxOrPct | 'left' | 'center' | 'right'} ${PxOrPct | 'top' | 'center' | 'bottom'}`;
1074
+ export interface TransformStyleProps {
1075
+ /**
1076
+ * Maps to translateX
1077
+ */
1078
+ x?: number;
1079
+ /**
1080
+ * Maps to translateY
1081
+ */
1082
+ y?: number;
1083
+ perspective?: number;
1084
+ scale?: number;
1085
+ scaleX?: number;
1086
+ scaleY?: number;
1087
+ skewX?: string;
1088
+ skewY?: string;
1089
+ matrix?: number[];
1090
+ rotate?: `${number}deg` | UnionableString;
1091
+ rotateY?: `${number}deg` | UnionableString;
1092
+ rotateX?: `${number}deg` | UnionableString;
1093
+ rotateZ?: `${number}deg` | UnionableString;
1094
+ }
1095
+ type BoxShadowPreset = '0 0' | '0 1px 2px' | '0 1px 2px 0' | '0 1px 2px $shadowColor' | '0 1px 3px 0 $shadowColor' | '0 4px 6px -1px $shadowColor' | 'inset 0 2px 4px $shadowColor' | 'none';
1096
+ export type BoxShadowValue = BoxShadowPreset | (string & {});
1097
+ type FilterPreset = 'blur(4px)' | 'brightness(1.2)' | 'contrast(1.2)' | 'drop-shadow(0 4px 8px $shadowColor)' | 'grayscale(1)' | 'hue-rotate(90deg)' | 'invert(1)' | 'opacity(0.5)' | 'saturate(1.5)' | 'sepia(1)' | 'none';
1098
+ export type FilterValue = FilterPreset | (string & {});
1099
+ type BorderPreset = '1px solid' | '1px solid $borderColor' | '2px dashed $borderColor' | '1px dotted red' | 'none';
1100
+ export type BorderValue = BorderPreset | (string & {});
1101
+ type OutlinePreset = '1px solid' | '1px solid $outlineColor' | '2px dashed $outlineColor' | '1px dotted red' | 'none';
1102
+ export type OutlineValue = OutlinePreset | (string & {});
1103
+ interface ExtraStyleProps {
1104
+ /**
1105
+ * Controls the curve style of rounded corners.
1106
+ * - 'circular': Standard circular arc corners (default)
1107
+ * - 'continuous': Apple's "squircle" style continuous curve
1108
+ * @platform iOS 13+
1109
+ */
1110
+ borderCurve?: 'circular' | 'continuous';
1111
+ /**
1112
+ * Web-only style property. Will be omitted on native.
1113
+ */
1114
+ contain?: Properties['contain'];
1115
+ /**
1116
+ * Cursor style. On web, supports all CSS cursor values.
1117
+ * On iOS 17+ (trackpad/stylus), only 'auto' and 'pointer' are supported.
1118
+ */
1119
+ cursor?: Properties['cursor'];
1120
+ /**
1121
+ * Outline color. Supported on web and native.
1122
+ */
1123
+ outlineColor?: ColorStyleProp;
1124
+ /**
1125
+ * Outline offset. Supported on web and native.
1126
+ */
1127
+ outlineOffset?: SpaceValue;
1128
+ /**
1129
+ * Outline style. Supported on web and native.
1130
+ */
1131
+ outlineStyle?: 'solid' | 'dotted' | 'dashed' | (string & {});
1132
+ /**
1133
+ * Outline width. Supported on web and native.
1134
+ */
1135
+ outlineWidth?: SpaceValue;
1136
+ /**
1137
+ * CSS outline shorthand string. Supports tokens: "2px solid $outlineColor"
1138
+ * Expands to outlineWidth, outlineStyle, outlineColor on native.
1139
+ * Works on web and native.
1140
+ */
1141
+ outline?: OutlineValue;
1142
+ /**
1143
+ * On native, maps to the `selectable` prop on Text (userSelect !== 'none')
1144
+ */
1145
+ userSelect?: Properties['userSelect'];
1146
+ /**
1147
+ * Web-only style property. Will be omitted on native.
1148
+ */
1149
+ backdropFilter?: Properties['backdropFilter'];
1150
+ /**
1151
+ * Web-only style property. Will be omitted on native.
1152
+ */
1153
+ background?: Properties['background'];
1154
+ /**
1155
+ * Web-only style property. Will be omitted on native.
1156
+ */
1157
+ backgroundImage?: Properties['backgroundImage'];
1158
+ /**
1159
+ * Web-only style property. Will be omitted on native.
1160
+ */
1161
+ backgroundOrigin?: Properties['backgroundOrigin'];
1162
+ /**
1163
+ * Web-only style property. Will be omitted on native.
1164
+ */
1165
+ backgroundPosition?: Properties['backgroundPosition'];
1166
+ /**
1167
+ * Web-only style property. Will be omitted on native.
1168
+ */
1169
+ backgroundRepeat?: Properties['backgroundRepeat'];
1170
+ /**
1171
+ * Web-only style property. Will be omitted on native.
1172
+ */
1173
+ backgroundSize?: Properties['backgroundSize'];
1174
+ /**
1175
+ * CSS box-shadow string. Supports tokens: "0 4px 8px $shadowColor"
1176
+ * Works on web and native (RN 0.76+).
1177
+ */
1178
+ boxShadow?: BoxShadowValue;
1179
+ /**
1180
+ * CSS border shorthand string. Supports tokens: "1px solid $borderColor"
1181
+ * Expands to borderWidth, borderStyle, borderColor.
1182
+ * Works on web and native. On native, applies to all sides.
1183
+ */
1184
+ border?: BorderValue;
1185
+ /**
1186
+ * Web-only style property. Will be omitted on native.
1187
+ */
1188
+ overflowX?: Properties['overflowX'];
1189
+ /**
1190
+ * Web-only style property. Will be omitted on native.
1191
+ */
1192
+ overflowY?: Properties['overflowY'];
1193
+ pointerEvents?: ViewProps['pointerEvents'];
1194
+ /**
1195
+ * The point at which transforms originate from.
1196
+ */
1197
+ transformOrigin?: PxOrPct | 'left' | 'center' | 'right' | 'top' | 'bottom' | TwoValueTransformOrigin | `${TwoValueTransformOrigin} ${Px}`;
1198
+ /**
1199
+ * CSS filter string. Example: "blur(10px) brightness(1.2)"
1200
+ * Works on web and native (RN 0.76+). Supports embedded tokens.
1201
+ */
1202
+ filter?: FilterValue;
1203
+ /**
1204
+ * Web-only style property. Will be omitted on native.
1205
+ */
1206
+ backgroundClip?: Properties['backgroundClip'];
1207
+ /**
1208
+ * Web-only style property. Will be omitted on native.
1209
+ */
1210
+ backgroundBlendMode?: Properties['backgroundBlendMode'];
1211
+ /**
1212
+ * Web-only style property. Will be omitted on native.
1213
+ */
1214
+ backgroundAttachment?: Properties['backgroundAttachment'];
1215
+ /**
1216
+ * Web-only style property. Will be omitted on native.
1217
+ */
1218
+ clipPath?: Properties['clipPath'];
1219
+ /**
1220
+ * Web-only style property. Will be omitted on native.
1221
+ */
1222
+ caretColor?: Properties['caretColor'];
1223
+ /**
1224
+ * Web-only style property. Will be omitted on native.
1225
+ */
1226
+ transformStyle?: Properties['transformStyle'];
1227
+ /**
1228
+ * Web-only style property. Will be omitted on native.
1229
+ */
1230
+ mask?: Properties['mask'];
1231
+ /**
1232
+ * Web-only style property. Will be omitted on native.
1233
+ */
1234
+ maskImage?: Properties['maskImage'];
1235
+ /**
1236
+ * Web-only style property. Will be omitted on native.
1237
+ */
1238
+ textEmphasis?: Properties['textEmphasis'];
1239
+ /**
1240
+ * Web-only style property. Will be omitted on native.
1241
+ */
1242
+ borderImage?: Properties['borderImage'];
1243
+ /**
1244
+ * Web-only style property. Will be omitted on native.
1245
+ */
1246
+ float?: Properties['float'];
1247
+ /**
1248
+ * Web-only style property. Will be omitted on native.
1249
+ */
1250
+ content?: Properties['content'];
1251
+ /**
1252
+ * Web-only style property. Will be omitted on native.
1253
+ */
1254
+ overflowBlock?: Properties['overflowBlock'];
1255
+ /**
1256
+ * Web-only style property. Will be omitted on native.
1257
+ */
1258
+ overflowInline?: Properties['overflowInline'];
1259
+ /**
1260
+ * Web-only style property. Will be omitted on native.
1261
+ */
1262
+ maskBorder?: Properties['maskBorder'];
1263
+ /**
1264
+ * Web-only style property. Will be omitted on native.
1265
+ */
1266
+ maskBorderMode?: Properties['maskBorderMode'];
1267
+ /**
1268
+ * Web-only style property. Will be omitted on native.
1269
+ */
1270
+ maskBorderOutset?: Properties['maskBorderOutset'];
1271
+ /**
1272
+ * Web-only style property. Will be omitted on native.
1273
+ */
1274
+ maskBorderRepeat?: Properties['maskBorderRepeat'];
1275
+ /**
1276
+ * Web-only style property. Will be omitted on native.
1277
+ */
1278
+ maskBorderSlice?: Properties['maskBorderSlice'];
1279
+ /**
1280
+ * Web-only style property. Will be omitted on native.
1281
+ */
1282
+ maskBorderSource?: Properties['maskBorderSource'];
1283
+ /**
1284
+ * Web-only style property. Will be omitted on native.
1285
+ */
1286
+ maskBorderWidth?: Properties['maskBorderWidth'];
1287
+ /**
1288
+ * Web-only style property. Will be omitted on native.
1289
+ */
1290
+ maskClip?: Properties['maskClip'];
1291
+ /**
1292
+ * Web-only style property. Will be omitted on native.
1293
+ */
1294
+ maskComposite?: Properties['maskComposite'];
1295
+ /**
1296
+ * Web-only style property. Will be omitted on native.
1297
+ */
1298
+ maskMode?: Properties['maskMode'];
1299
+ /**
1300
+ * Web-only style property. Will be omitted on native.
1301
+ */
1302
+ maskOrigin?: Properties['maskOrigin'];
1303
+ /**
1304
+ * Web-only style property. Will be omitted on native.
1305
+ */
1306
+ maskPosition?: Properties['maskPosition'];
1307
+ /**
1308
+ * Web-only style property. Will be omitted on native.
1309
+ */
1310
+ maskRepeat?: Properties['maskRepeat'];
1311
+ /**
1312
+ * Web-only style property. Will be omitted on native.
1313
+ */
1314
+ maskSize?: Properties['maskSize'];
1315
+ /**
1316
+ * Web-only style property. Will be omitted on native.
1317
+ */
1318
+ maskType?: Properties['maskType'];
1319
+ /**
1320
+ * Web-only style property. Will be omitted on native.
1321
+ */
1322
+ gridRow?: Properties['gridRow'];
1323
+ /**
1324
+ * Web-only style property. Will be omitted on native.
1325
+ */
1326
+ gridRowEnd?: Properties['gridRowEnd'];
1327
+ /**
1328
+ * Web-only style property. Will be omitted on native.
1329
+ */
1330
+ gridRowGap?: Properties['gridRowGap'];
1331
+ /**
1332
+ * Web-only style property. Will be omitted on native.
1333
+ */
1334
+ gridRowStart?: Properties['gridRowStart'];
1335
+ /**
1336
+ * Web-only style property. Will be omitted on native.
1337
+ */
1338
+ gridColumn?: Properties['gridColumn'];
1339
+ /**
1340
+ * Web-only style property. Will be omitted on native.
1341
+ */
1342
+ gridColumnEnd?: Properties['gridColumnEnd'];
1343
+ /**
1344
+ * Web-only style property. Will be omitted on native.
1345
+ */
1346
+ gridColumnGap?: Properties['gridColumnGap'];
1347
+ /**
1348
+ * Web-only style property. Will be omitted on native.
1349
+ */
1350
+ gridColumnStart?: Properties['gridColumnStart'];
1351
+ /**
1352
+ * Web-only style property. Will be omitted on native.
1353
+ */
1354
+ gridTemplateColumns?: Properties['gridTemplateColumns'];
1355
+ /**
1356
+ * Web-only style property. Will be omitted on native.
1357
+ */
1358
+ gridTemplateAreas?: Properties['gridTemplateAreas'];
1359
+ /**
1360
+ * Web-only style property. Will be omitted on native.
1361
+ */
1362
+ containerType?: Properties['containerType'];
1363
+ /**
1364
+ * Web-only style property. Will be omitted on native.
1365
+ */
1366
+ blockSize?: SizeTokens | number;
1367
+ /**
1368
+ * Web-only style property. Will be omitted on native.
1369
+ */
1370
+ inlineSize?: SizeTokens | number;
1371
+ /**
1372
+ * Web-only style property. Will be omitted on native.
1373
+ */
1374
+ minBlockSize?: SizeTokens | number;
1375
+ /**
1376
+ * Web-only style property. Will be omitted on native.
1377
+ */
1378
+ maxBlockSize?: SizeTokens | number;
1379
+ /**
1380
+ * Web-only style property. Will be omitted on native.
1381
+ */
1382
+ objectFit?: Properties['objectFit'];
1383
+ /**
1384
+ * Web-only style property. Will be omitted on native.
1385
+ */
1386
+ verticalAlign?: Properties['verticalAlign'];
1387
+ /**
1388
+ * Web-only style property. Will be omitted on native.
1389
+ */
1390
+ minInlineSize?: SizeTokens | number;
1391
+ /**
1392
+ * Web-only style property. Will be omitted on native.
1393
+ */
1394
+ maxInlineSize?: SizeTokens | number;
1395
+ /**
1396
+ * Web-only style property. Will be omitted on native.
1397
+ */
1398
+ borderInlineColor?: ColorTokens;
1399
+ /**
1400
+ * Web-only style property. Will be omitted on native.
1401
+ */
1402
+ borderInlineStartColor?: ColorTokens;
1403
+ /**
1404
+ * Web-only style property. Will be omitted on native.
1405
+ */
1406
+ borderInlineEndColor?: ColorTokens;
1407
+ borderBlockWidth?: SpaceTokens | number;
1408
+ borderBlockStartWidth?: SpaceTokens | number;
1409
+ borderBlockEndWidth?: SpaceTokens | number;
1410
+ borderInlineWidth?: SpaceTokens | number;
1411
+ borderInlineStartWidth?: SpaceTokens | number;
1412
+ borderInlineEndWidth?: SpaceTokens | number;
1413
+ borderBlockStyle?: ViewStyle['borderStyle'];
1414
+ borderBlockStartStyle?: ViewStyle['borderStyle'];
1415
+ borderBlockEndStyle?: ViewStyle['borderStyle'];
1416
+ borderInlineStyle?: ViewStyle['borderStyle'];
1417
+ borderInlineStartStyle?: ViewStyle['borderStyle'];
1418
+ borderInlineEndStyle?: ViewStyle['borderStyle'];
1419
+ marginBlock?: SpaceTokens | number;
1420
+ marginBlockStart?: SpaceTokens | number;
1421
+ marginBlockEnd?: SpaceTokens | number;
1422
+ marginInline?: SpaceTokens | number;
1423
+ marginInlineStart?: SpaceTokens | number;
1424
+ marginInlineEnd?: SpaceTokens | number;
1425
+ paddingBlock?: SpaceTokens | number;
1426
+ paddingBlockStart?: SpaceTokens | number;
1427
+ paddingBlockEnd?: SpaceTokens | number;
1428
+ paddingInline?: SpaceTokens | number;
1429
+ paddingInlineStart?: SpaceTokens | number;
1430
+ paddingInlineEnd?: SpaceTokens | number;
1431
+ inset?: SpaceTokens | number;
1432
+ insetBlock?: SpaceTokens | number;
1433
+ insetBlockStart?: SpaceTokens | number;
1434
+ insetBlockEnd?: SpaceTokens | number;
1435
+ insetInline?: SpaceTokens | number;
1436
+ insetInlineStart?: SpaceTokens | number;
1437
+ insetInlineEnd?: SpaceTokens | number;
1438
+ }
1439
+ export interface ExtendBaseStackProps {
1440
+ }
1441
+ export interface ExtendBaseTextProps {
1442
+ }
1443
+ interface ExtraBaseProps {
1444
+ /**
1445
+ * Transitions are defined using `createGui` typically in a gui.config.ts file.
1446
+ * Pass a string transition name here and it uses an animation driver to execute it.
1447
+ *
1448
+ * See: https://gui.hanzo.ai/docs/core/animations
1449
+ */
1450
+ transition?: TransitionProp | null;
1451
+ /**
1452
+ * Pass an array of strings containing the long style property names
1453
+ * which will be exclusively transitioned.
1454
+ */
1455
+ animateOnly?: string[];
1456
+ /**
1457
+ * If you'd like this component to not attach to the nearest parent AnimatePresence,
1458
+ * set this to `false` and it will pass through to the next animated child.
1459
+ */
1460
+ animatePresence?: boolean;
1461
+ /**
1462
+ * Avoids as much work as possible and passes through the children with no changes.
1463
+ * Advanced: Useful for adapting to other element when you want to avoid re-parenting.
1464
+ */
1465
+ passThrough?: boolean;
1466
+ }
1467
+ interface ExtendedBaseProps extends TransformStyleProps, ExtendBaseTextProps, ExtendBaseStackProps, ExtraStyleProps, ExtraBaseProps {
1468
+ display?: 'inherit' | 'none' | 'inline' | 'block' | 'contents' | 'flex' | 'inline-flex';
1469
+ position?: 'absolute' | 'relative' | 'fixed' | 'static' | 'sticky';
1470
+ }
1471
+ export interface StackStyleBase extends Omit<ViewStyle, keyof ExtendedBaseProps | 'elevation'>, ExtendedBaseProps {
1472
+ }
1473
+ export interface TextStylePropsBase extends Omit<RNTextStyle, keyof ExtendedBaseProps>, ExtendedBaseProps {
1474
+ ellipsis?: boolean;
1475
+ textDecorationDistance?: number;
1476
+ textOverflow?: Properties['textOverflow'];
1477
+ whiteSpace?: Properties['whiteSpace'];
1478
+ wordWrap?: Properties['wordWrap'];
1479
+ /**
1480
+ * CSS text-shadow string. Supports tokens: "2px 2px 4px $shadowColor"
1481
+ * On native, only a single shadow is supported.
1482
+ */
1483
+ textShadow?: string;
1484
+ }
1485
+ type LooseCombinedObjects<A extends object, B extends object> = A | B | (A & B);
1486
+ export interface StackNonStyleProps extends Omit<ViewProps, 'hitSlop' | 'pointerEvents' | 'display' | 'children' | keyof GuiComponentPropsBaseBase | RNOnlyProps | keyof ExtendBaseStackProps | 'style' | 'onFocus' | 'onBlur' | 'onPointerCancel' | 'onPointerDown' | 'onPointerMove' | 'onPointerUp'>, ExtendBaseStackProps, GuiComponentPropsBase {
1487
+ style?: StyleProp<LooseCombinedObjects<React.CSSProperties, ViewStyle>>;
1488
+ }
1489
+ export type StackStyle = WithThemeShorthandsPseudosMedia<StackStyleBase>;
1490
+ export interface TextNonStyleProps extends Omit<ReactTextProps, 'children' | keyof WebOnlyPressEvents | RNOnlyProps | keyof ExtendBaseTextProps | 'style'>, ExtendBaseTextProps, GuiComponentPropsBase {
1491
+ style?: StyleProp<LooseCombinedObjects<React.CSSProperties, RNTextStyle>>;
1492
+ }
1493
+ export type TextStyle = WithThemeShorthandsPseudosMedia<TextStylePropsBase>;
1494
+ export type TextProps = TextNonStyleProps & TextStyle;
1495
+ export interface ThemeableProps {
1496
+ theme?: ThemeName | null;
1497
+ themeReset?: boolean;
1498
+ componentName?: string;
1499
+ debug?: DebugProp;
1500
+ }
1501
+ export type StyleableOptions = {
1502
+ disableTheme?: boolean;
1503
+ staticConfig?: Partial<StaticConfig>;
1504
+ };
1505
+ export type Styleable<Props, Ref, NonStyledProps, BaseStyles extends object, VariantProps, ParentStaticProperties> = <CustomProps extends object | void = void, MergedProps = CustomProps extends void ? Props : Omit<Props, keyof CustomProps> & CustomProps, FunctionDef extends ForwardRefRenderFunction<Ref, MergedProps> = ForwardRefRenderFunction<Ref, MergedProps>>(a: FunctionDef, options?: StyleableOptions) => GuiComponent<MergedProps, Ref, NonStyledProps & CustomProps, BaseStyles, VariantProps, ParentStaticProperties>;
1506
+ export type GetFinalProps<NonStyleProps, StylePropsBase, Variants> = Omit<NonStyleProps, keyof StylePropsBase | keyof Variants> & (StylePropsBase extends object ? WithThemeShorthandsPseudosMedia<StylePropsBase, Variants> : {});
1507
+ export type GuiComponent<Props = any, Ref = any, NonStyledProps = {}, BaseStyles extends object = {}, Variants = {}, ParentStaticProperties = {}> = ForwardRefExoticComponent<(Props extends TamaDefer ? GetFinalProps<NonStyledProps, BaseStyles, Variants> : Props) & RefAttributes<Ref>> & StaticComponentObject<Props, Ref, NonStyledProps, BaseStyles, Variants, ParentStaticProperties> & Omit<ParentStaticProperties, 'staticConfig' | 'styleable'> & {
1508
+ __tama: [Props, Ref, NonStyledProps, BaseStyles, Variants, ParentStaticProperties];
1509
+ };
1510
+ export type InferGenericComponentProps<A> = A extends ComponentType<infer Props> ? Props : A extends ForwardRefExoticComponent<infer P> ? P : A extends ReactComponentWithRef<infer P, any> ? P : A extends new (props: infer Props) => any ? Props : {};
1511
+ export type InferStyledProps<A extends StylableComponent, B extends StaticConfigPublic> = A extends {
1512
+ __tama: any;
1513
+ } ? GetProps<A> : GetFinalProps<InferGenericComponentProps<A>, GetBaseStyles<{}, B>, {}>;
1514
+ /** Like InferStyledProps but returns only style props (no non-styled props or variants). */
1515
+ export type InferStyleProps<A extends StylableComponent, B extends StaticConfigPublic> = WithThemeShorthandsPseudosMedia<GetBaseStyles<A, B>, {}>;
1516
+ export type GetProps<A extends StylableComponent> = A extends {
1517
+ __tama: [
1518
+ infer Props,
1519
+ any,
1520
+ infer NonStyledProps,
1521
+ infer BaseStyles,
1522
+ infer VariantProps,
1523
+ any
1524
+ ];
1525
+ } ? Props extends TamaDefer ? GetFinalProps<NonStyledProps, BaseStyles, VariantProps> : Props : InferGenericComponentProps<A>;
1526
+ export type GetNonStyledProps<A extends StylableComponent> = A extends {
1527
+ __tama: [any, any, infer B, any, any, any];
1528
+ } ? B : GuiComponentPropsBaseBase & GetProps<A>;
1529
+ export type GetBaseStyles<A, B> = A extends {
1530
+ __tama: [any, any, any, infer C, any, any];
1531
+ } ? C : B extends {
1532
+ isText: true;
1533
+ } ? TextStylePropsBase : B extends {
1534
+ isInput: true;
1535
+ } ? TextStylePropsBase : StackStyleBase;
1536
+ export type GetStyledVariants<A> = A extends {
1537
+ __tama: [any, any, any, any, infer B, any];
1538
+ } ? B : {};
1539
+ export type GetStaticConfig<A, Extra = {}> = A extends {
1540
+ __tama: [any, any, any, any, any, infer B];
1541
+ } ? B & Extra : Extra;
1542
+ export type StaticComponentObject<Props, Ref, NonStyledProps, BaseStyles extends object, VariantProps, ParentStaticProperties> = {
1543
+ staticConfig: StaticConfig;
1544
+ styleable: Styleable<Props extends TamaDefer ? GetFinalProps<NonStyledProps, BaseStyles, VariantProps> : Props, Ref, NonStyledProps, BaseStyles, VariantProps, ParentStaticProperties>;
1545
+ };
1546
+ export type GuiComponentExpectingVariants<Props = {}, Variants extends object = {}> = GuiComponent<Props, any, any, any, Variants>;
1547
+ export type GuiProviderProps = Omit<ThemeProviderProps, 'children'> & {
1548
+ config?: GuiInternalConfig;
1549
+ disableInjectCSS?: boolean;
1550
+ children?: ReactNode;
1551
+ insets?: {
1552
+ top: number;
1553
+ right: number;
1554
+ bottom: number;
1555
+ left: number;
1556
+ };
1557
+ };
1558
+ export type PropMappedValue = [string, any][] | undefined;
1559
+ export type GetStyleState = {
1560
+ style: TextStyle | null;
1561
+ usedKeys: Record<string, number>;
1562
+ classNames: ClassNamesObject;
1563
+ staticConfig: StaticConfig;
1564
+ theme: ThemeParsed;
1565
+ props: Record<string, any>;
1566
+ context?: ComponentContextI;
1567
+ viewProps: Record<string, any>;
1568
+ styleProps: SplitStyleProps;
1569
+ componentState: GuiComponentState;
1570
+ conf: GuiInternalConfig;
1571
+ avoidMergeTransform?: boolean;
1572
+ fontFamily?: string;
1573
+ debug?: DebugProp;
1574
+ flatTransforms?: Record<string, any>;
1575
+ overriddenContextProps?: Record<string, any>;
1576
+ originalContextPropValues?: Record<string, any>;
1577
+ pseudoTransitions?: PseudoTransitions | null;
1578
+ animationDriver?: AnimationDriver | null;
1579
+ };
1580
+ export type StyleResolver<Response = PropMappedValue> = (key: string, value: any, props: SplitStyleProps, state: GetStyleState, parentVariantKey: string) => Response;
1581
+ export type PropMapper = (key: string, value: any, state: GetStyleState, disabled: boolean, map: (key: string, val: any, originalVal?: any) => void) => void;
1582
+ export type GenericVariantDefinitions = {
1583
+ [key: string]: {
1584
+ [key: string]: ((a: any, b: any) => any) | {
1585
+ [key: string]: any;
1586
+ };
1587
+ };
1588
+ };
1589
+ export type StaticConfigPublic = {
1590
+ defaultProps?: Record<string, any>;
1591
+ /**
1592
+ * (compiler) If you need to pass context or something, prevents from ever
1593
+ * flattening. The 'jsx' option means it will never flatten. if you
1594
+ * pass JSX as a children (if its purely string, it will still flatten).
1595
+ */
1596
+ neverFlatten?: boolean | 'jsx';
1597
+ /**
1598
+ * Adds support for text props and handles focus properly
1599
+ */
1600
+ isInput?: boolean;
1601
+ /**
1602
+ * Determines ultimate output tag (Text vs View)
1603
+ */
1604
+ isText?: boolean;
1605
+ /**
1606
+ * Which style keys are allowed to be extracted.
1607
+ */
1608
+ validStyles?: {
1609
+ [key: string]: boolean;
1610
+ };
1611
+ /**
1612
+ * Accept Hanzo GUI tokens for these props (key for the prop key, val for the token category)
1613
+ */
1614
+ accept?: {
1615
+ [key: string]: keyof Tokens | 'style' | 'textStyle';
1616
+ };
1617
+ /**
1618
+ * (compiler) If these props are encountered, leave them un-extracted.
1619
+ */
1620
+ inlineProps?: Set<string>;
1621
+ /**
1622
+ * (compiler) If not flattening, leave this prop as original value.
1623
+ * Only applies to style attributes
1624
+ */
1625
+ inlineWhenUnflattened?: Set<string>;
1626
+ /**
1627
+ * Auto-detected, but can override. Wraps children to space them on top
1628
+ */
1629
+ isZStack?: boolean;
1630
+ /**
1631
+ * Auto-detect, but can override, passes styles properly to react-native-web
1632
+ */
1633
+ isReactNative?: boolean;
1634
+ /**
1635
+ * By default if styled() doesn't recognize a parent Hanzo GUI component or specific react-native views,
1636
+ * it will assume the passed in component only accepts style={} for react-native compatibility.
1637
+ * Setting `acceptsClassName: true` indicates Hanzo GUI can pass in className props.
1638
+ */
1639
+ acceptsClassName?: boolean;
1640
+ /**
1641
+ * memoizes component, rarely useful except mostly style components that don't take children
1642
+ */
1643
+ memo?: boolean;
1644
+ };
1645
+ type StaticConfigBase = StaticConfigPublic & {
1646
+ Component?: FunctionComponent<any> & StaticComponentObject<any, any, any, any, any, any>;
1647
+ variants?: GenericVariantDefinitions;
1648
+ context?: StyledContext;
1649
+ /**
1650
+ * Used for applying sub theme style
1651
+ */
1652
+ componentName?: string;
1653
+ /**
1654
+ * Merges into defaultProps later on, used internally only
1655
+ */
1656
+ defaultVariants?: {
1657
+ [key: string]: any;
1658
+ };
1659
+ /**
1660
+ * Memoize the component
1661
+ */
1662
+ memo?: boolean;
1663
+ /**
1664
+ * Used internally for knowing how to handle when a HOC is in-between styled()
1665
+ */
1666
+ isHOC?: boolean;
1667
+ isStyledHOC?: boolean;
1668
+ };
1669
+ export type StaticConfig = StaticConfigBase & {
1670
+ parentStaticConfig?: StaticConfigBase;
1671
+ };
1672
+ export type ViewStyleWithPseudos = TextStyle | (TextStyle & {
1673
+ hoverStyle?: TextStyle;
1674
+ pressStyle?: TextStyle;
1675
+ focusStyle?: TextStyle;
1676
+ focusWithinStyle?: TextStyle;
1677
+ focusVisibleStyle?: TextStyle;
1678
+ disabledStyle?: TextStyle;
1679
+ });
1680
+ /**
1681
+ * --------------------------------------------
1682
+ * variants
1683
+ * --------------------------------------------
1684
+ */
1685
+ export type StylableComponent = GuiComponent | ComponentType<any> | ForwardRefExoticComponent<any> | ReactComponentWithRef<any, any> | (new (props: any) => any);
1686
+ export type SpreadKeys = '...fontSize' | '...fontStyle' | '...fontTransform' | '...lineHeight' | '...letterSpacing' | '...size' | '...space' | '...color' | '...zIndex' | '...theme' | '...radius';
1687
+ export type VariantDefinitions<Parent extends StylableComponent = GuiComponent, StaticConfig extends StaticConfigPublic = Parent extends {
1688
+ __tama: [any, any, any, any, any, infer S];
1689
+ } ? S : {}, MyProps extends object = Partial<GetVariantProps<Parent, StaticConfig['isText'] extends true ? true : StaticConfig['isInput'] extends true ? true : false>>, Val = any> = VariantDefinitionFromProps<MyProps, Val> & {
1690
+ _isEmpty?: 1;
1691
+ };
1692
+ export type GetVariantProps<A extends StylableComponent, IsText extends boolean | undefined> = A extends {
1693
+ __tama: [
1694
+ infer Props,
1695
+ any,
1696
+ infer NonStyledProps,
1697
+ infer BaseStyles,
1698
+ infer VariantProps,
1699
+ any
1700
+ ];
1701
+ } ? Props extends TamaDefer ? GetFinalProps<NonStyledProps, BaseStyles, VariantProps> : Props : WithThemeShorthandsPseudosMedia<IsText extends true ? TextStylePropsBase : StackStyleBase>;
1702
+ export type VariantDefinitionFromProps<MyProps, Val> = MyProps extends object ? {
1703
+ [propName: string]: VariantSpreadFunction<MyProps, Val> | ({
1704
+ [Key in SpreadKeys]?: Key extends '...fontSize' ? FontSizeVariantSpreadFunction<MyProps> : Key extends '...size' ? SizeVariantSpreadFunction<MyProps> : Key extends '...space' ? SpaceVariantSpreadFunction<MyProps> : Key extends '...color' ? ColorVariantSpreadFunction<MyProps> : Key extends '...lineHeight' ? FontLineHeightVariantSpreadFunction<MyProps> : Key extends '...fontTransform' ? FontTransformVariantSpreadFunction<MyProps> : Key extends '...fontStyle' ? FontStyleVariantSpreadFunction<MyProps> : Key extends '...letterSpacing' ? FontLetterSpacingVariantSpreadFunction<MyProps> : Key extends '...zIndex' ? ZIndexVariantSpreadFunction<MyProps> : Key extends '...radius' ? RadiusVariantSpreadFunction<MyProps> : Key extends '...theme' ? ThemeVariantSpreadFunction<MyProps> : never;
1705
+ } & {
1706
+ [Key in string | number | 'true' | 'false']?: MyProps | VariantSpreadFunction<MyProps, Val>;
1707
+ } & {
1708
+ [Key in VariantTypeKeys]?: Key extends ':number' ? VariantSpreadFunction<MyProps, number> : Key extends ':boolean' ? VariantSpreadFunction<MyProps, boolean> : Key extends ':string' ? VariantSpreadFunction<MyProps, string> : never;
1709
+ });
1710
+ } : {};
1711
+ export type GenericStackVariants = VariantDefinitionFromProps<StackNonStyleProps & StackStyle, any>;
1712
+ export type GenericTextVariants = VariantDefinitionFromProps<TextProps, any>;
1713
+ export type VariantSpreadExtras<Props> = {
1714
+ fonts: GuiConfig['fonts'];
1715
+ tokens: TokensParsed;
1716
+ theme: Themes extends {
1717
+ [key: string]: infer B;
1718
+ } ? B : unknown;
1719
+ props: Props;
1720
+ fontFamily?: FontFamilyTokens;
1721
+ font?: Font;
1722
+ };
1723
+ type PropLike = {
1724
+ [key: string]: any;
1725
+ };
1726
+ export type VariantSpreadFunction<Props extends PropLike, Val = any> = (val: Val, config: VariantSpreadExtras<Props>) => {
1727
+ [Key in keyof Props]: Props[Key] | Variable | VariableVal;
1728
+ } | null | undefined;
1729
+ export type VariantTypeKeys = ':string' | ':boolean' | ':number';
1730
+ export type GetVariantValues<Key> = Key extends `...${infer VariantSpread}` ? ThemeValueByCategory<VariantSpread> : Key extends 'true' | 'false' ? boolean : Key extends ':string' ? string : Key extends ':boolean' ? boolean : Key extends ':number' ? number : Key;
1731
+ export type FontSizeVariantSpreadFunction<A extends PropLike> = VariantSpreadFunction<A, FontSizeTokens>;
1732
+ export type SizeVariantSpreadFunction<A extends PropLike> = VariantSpreadFunction<A, SizeTokens>;
1733
+ export type SpaceVariantSpreadFunction<A extends PropLike> = VariantSpreadFunction<A, SpaceTokens>;
1734
+ export type ColorVariantSpreadFunction<A extends PropLike> = VariantSpreadFunction<A, ColorTokens>;
1735
+ export type FontLineHeightVariantSpreadFunction<A extends PropLike> = VariantSpreadFunction<A, FontLineHeightTokens>;
1736
+ export type FontLetterSpacingVariantSpreadFunction<A extends PropLike> = VariantSpreadFunction<A, FontLetterSpacingTokens>;
1737
+ export type FontStyleVariantSpreadFunction<A extends PropLike> = VariantSpreadFunction<A, FontStyleTokens>;
1738
+ export type FontTransformVariantSpreadFunction<A extends PropLike> = VariantSpreadFunction<A, FontTransformTokens>;
1739
+ export type ZIndexVariantSpreadFunction<A extends PropLike> = VariantSpreadFunction<A, ZIndexTokens>;
1740
+ export type RadiusVariantSpreadFunction<A extends PropLike> = VariantSpreadFunction<A, RadiusTokens>;
1741
+ export type ThemeVariantSpreadFunction<A extends PropLike> = VariantSpreadFunction<A, ThemeTokens>;
1742
+ /**
1743
+ * --------------------------------------------
1744
+ * end variants
1745
+ * --------------------------------------------
1746
+ */
1747
+ export type ResolveVariableAs = 'auto' | 'value' | 'variable' | 'none' | 'web' | 'except-theme';
1748
+ export type SplitStyleProps = {
1749
+ styledContext?: Record<string, any>;
1750
+ mediaState?: Record<string, boolean>;
1751
+ noClass?: boolean;
1752
+ noExpand?: boolean;
1753
+ noNormalize?: boolean | 'values';
1754
+ noSkip?: boolean;
1755
+ noMergeStyle?: boolean;
1756
+ resolveValues?: ResolveVariableAs;
1757
+ disableExpandShorthands?: boolean;
1758
+ fallbackProps?: Record<string, any>;
1759
+ hasTextAncestor?: boolean;
1760
+ willBeAnimated?: boolean;
1761
+ isAnimated: boolean;
1762
+ isExiting?: boolean;
1763
+ exitVariant?: string;
1764
+ enterVariant?: string;
1765
+ };
1766
+ export interface PresenceContextProps {
1767
+ id: string;
1768
+ isPresent: boolean;
1769
+ register: (id: string) => () => void;
1770
+ onExitComplete?: (id: string) => void;
1771
+ initial?: false | string | string[];
1772
+ custom?: any;
1773
+ exitVariant?: string | null;
1774
+ enterVariant?: string | null;
1775
+ enterExitVariant?: string | null;
1776
+ }
1777
+ type SafeToRemoveCallback = () => void;
1778
+ type AlwaysPresent = [true, null, null];
1779
+ type Present = [true, undefined, PresenceContextProps];
1780
+ type NotPresent = [false, SafeToRemoveCallback, PresenceContextProps];
1781
+ export type UsePresenceResult = AlwaysPresent | Present | NotPresent;
1782
+ type AnimationConfig = {
1783
+ [key: string]: any;
1784
+ };
1785
+ export type AnimatedNumberStrategy = {
1786
+ type: 'spring';
1787
+ stiffness?: number;
1788
+ damping?: number;
1789
+ mass?: number;
1790
+ overshootClamping?: boolean;
1791
+ restSpeedThreshold?: number;
1792
+ restDisplacementThreshold?: number;
1793
+ } | {
1794
+ type: 'timing';
1795
+ duration: number;
1796
+ } | {
1797
+ type: 'direct';
1798
+ };
1799
+ export type UniversalAnimatedNumber<A> = {
1800
+ getInstance(): A;
1801
+ getValue(): number;
1802
+ setValue(next: number, config?: AnimatedNumberStrategy, onFinished?: () => void): void;
1803
+ stop(): void;
1804
+ };
1805
+ export type UseAnimatedNumberReaction<V extends UniversalAnimatedNumber<any> = UniversalAnimatedNumber<any>> = (opts: {
1806
+ value: V;
1807
+ hostRef: RefObject<GuiElement>;
1808
+ }, onValue: (current: number) => void) => void;
1809
+ export type UseAnimatedNumberStyle<V extends UniversalAnimatedNumber<any> = UniversalAnimatedNumber<any>> = (val: V, getStyle: (current: any) => any) => any;
1810
+ export type UseAnimatedNumber<N extends UniversalAnimatedNumber<any> = UniversalAnimatedNumber<any>> = (initial: number) => N;
1811
+ export type AnimationDriver<A extends AnimationConfig = AnimationConfig> = {
1812
+ isReactNative?: boolean;
1813
+ /** What style format the driver expects as input: 'css' (CSS variables) or 'value' (resolved values) */
1814
+ inputStyle?: 'css' | 'value';
1815
+ /** How the driver outputs styles: 'css' (className-based) or 'inline' (style object) */
1816
+ outputStyle?: 'css' | 'inline';
1817
+ needsCustomComponent?: boolean;
1818
+ avoidReRenders?: boolean;
1819
+ onMount?: () => void;
1820
+ /** When true, this is a stub driver with no real animation support */
1821
+ isStub?: boolean;
1822
+ useAnimations: UseAnimationHook;
1823
+ usePresence: () => UsePresenceResult;
1824
+ ResetPresence: (props: {
1825
+ children?: React.ReactNode;
1826
+ disabled?: boolean;
1827
+ }) => React.ReactNode;
1828
+ useAnimatedNumber: UseAnimatedNumber;
1829
+ useAnimatedNumberStyle: UseAnimatedNumberStyle;
1830
+ useAnimatedNumberReaction: UseAnimatedNumberReaction;
1831
+ animations: A;
1832
+ View?: any;
1833
+ Text?: any;
1834
+ };
1835
+ export type UseAnimationProps = GuiComponentPropsBase & Record<string, any>;
1836
+ type UseStyleListener = (nextStyle: Record<string, unknown>, effectiveTransition?: TransitionProp | null) => void;
1837
+ export type UseStyleEmitter = (cb: UseStyleListener) => void;
1838
+ export type UseAnimationHook = (props: {
1839
+ style: Record<string, any>;
1840
+ props: Record<string, any>;
1841
+ presence?: UsePresenceResult | null;
1842
+ staticConfig: StaticConfig;
1843
+ styleProps: SplitStyleProps;
1844
+ componentState: GuiComponentState;
1845
+ useStyleEmitter?: UseStyleEmitter;
1846
+ theme: ThemeParsed;
1847
+ themeName: string;
1848
+ pseudos: WithPseudoProps<ViewStyle> | null;
1849
+ stateRef: {
1850
+ current: GuiComponentStateRef;
1851
+ };
1852
+ onDidAnimate?: any;
1853
+ delay?: number;
1854
+ }) => null | {
1855
+ style?: StackStyleBase | StackStyleBase[];
1856
+ className?: string;
1857
+ ref?: any;
1858
+ };
1859
+ export type GestureReponderEvent = Exclude<View['props']['onResponderMove'], void> extends (event: infer Event) => void ? Event : never;
1860
+ export type RulesToInsert = Record<string, StyleObject>;
1861
+ export type GetStyleResult = {
1862
+ pseudos?: PseudoStyles | null;
1863
+ style: ViewStyle | null;
1864
+ classNames: ClassNamesObject;
1865
+ rulesToInsert: RulesToInsert;
1866
+ viewProps: (StackNonStyleProps & StackStyle) & Record<string, any>;
1867
+ fontFamily: string | undefined;
1868
+ space?: any;
1869
+ hasMedia: boolean | Set<string>;
1870
+ dynamicThemeAccess?: boolean;
1871
+ pseudoGroups?: Set<string>;
1872
+ mediaGroups?: Set<string>;
1873
+ overriddenContextProps?: Record<string, any>;
1874
+ pseudoTransitions?: PseudoTransitions | null;
1875
+ effectiveTransition?: TransitionProp | null;
1876
+ };
1877
+ export type ClassNamesObject = Record<string, string>;
1878
+ export type ModifyGuiComponentStyleProps<Comp extends GuiComponent, ChangedProps extends object> = Comp extends GuiComponent<infer A, infer B, infer C, infer D, infer E> ? A extends object ? GuiComponent<Omit<A, keyof ChangedProps> & ChangedProps, B, C, D, E> : never : never;
1879
+ /**
1880
+ * Narrow copied from ts-toolbelt
1881
+ * https://github.com/millsp/ts-toolbelt/blob/master/sources/Function/Narrow.ts
1882
+ */
1883
+ export type Try<A1, A2, Catch = never> = A1 extends A2 ? A1 : Catch;
1884
+ type Narrowable = string | number | bigint | boolean;
1885
+ type NarrowRaw<A> = (A extends [] ? [] : never) | (A extends Narrowable ? A : never) | {
1886
+ [K in keyof A]: A[K] extends Function ? A[K] : NarrowRaw<A[K]>;
1887
+ };
1888
+ export type Narrow<A> = Try<A, [], NarrowRaw<A>>;
1889
+ /**
1890
+ * `StyleProp` copied from React Native:
1891
+ * Exported to fix https://github.com/hanzoai/gui/issues/1258
1892
+ */
1893
+ export type Falsy = undefined | null | false | '';
1894
+ export interface RecursiveArray<T> extends Array<T | ReadonlyArray<T> | RecursiveArray<T>> {
1895
+ }
1896
+ /** Keep a brand of 'T' so that calls to `StyleSheet.flatten` can take `RegisteredStyle<T>` and return `T`. */
1897
+ export type RegisteredStyle<T> = number & {
1898
+ __registeredStyleBrand: T;
1899
+ };
1900
+ export type StyleProp<T> = T | RegisteredStyle<T> | RecursiveArray<T | RegisteredStyle<T> | Falsy> | Falsy;
1901
+ export type FillInFont<A extends GenericFont, DefaultKeys extends string | number> = {
1902
+ family: string;
1903
+ lineHeight: FillInFontValues<A, 'lineHeight', DefaultKeys>;
1904
+ weight: FillInFontValues<A, 'weight', DefaultKeys>;
1905
+ letterSpacing: FillInFontValues<A, 'letterSpacing', DefaultKeys>;
1906
+ size: FillInFontValues<A, 'size', DefaultKeys>;
1907
+ style: FillInFontValues<A, 'style', DefaultKeys>;
1908
+ transform: FillInFontValues<A, 'transform', DefaultKeys>;
1909
+ color: FillInFontValues<A, 'color', DefaultKeys>;
1910
+ face: Partial<A['face']>;
1911
+ };
1912
+ type FillInFontValues<A extends GenericFont, K extends keyof A, DefaultKeys extends string | number> = keyof A[K] extends GenericFontKey ? {
1913
+ [Key in DefaultKeys]: A[K][any];
1914
+ } : {
1915
+ [Key in keyof A[K] | DefaultKeys]: Key extends keyof A[K] ? Exclude<A[K][Key], Variable> : any;
1916
+ };
1917
+ export type ThemesLikeObject = Record<string, Record<string, string>>;
1918
+ export type DedupedTheme = {
1919
+ names: string[];
1920
+ theme: ThemeParsed;
1921
+ };
1922
+ export type DedupedThemes = DedupedTheme[];
1923
+ export type UseMediaState = {
1924
+ [key in MediaQueryKey]: boolean;
1925
+ };
1926
+ export type TamaDefer = {
1927
+ __tamaDefer: true;
1928
+ };
1929
+ //# sourceMappingURL=types.d.ts.map