@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.
- package/LICENSE +21 -0
- package/README.md +1 -0
- package/dist/cjs/Gui.cjs +72 -0
- package/dist/cjs/Gui.native.js +112 -0
- package/dist/cjs/Gui.native.js.map +1 -0
- package/dist/cjs/_withStableStyle.cjs +65 -0
- package/dist/cjs/_withStableStyle.native.js +77 -0
- package/dist/cjs/_withStableStyle.native.js.map +1 -0
- package/dist/cjs/animationDriverTypes.test-d.cjs +60 -0
- package/dist/cjs/animationDriverTypes.test-d.native.js +63 -0
- package/dist/cjs/animationDriverTypes.test-d.native.js.map +1 -0
- package/dist/cjs/config.cjs +126 -0
- package/dist/cjs/config.native.js +157 -0
- package/dist/cjs/config.native.js.map +1 -0
- package/dist/cjs/constants/accessibilityDirectMap.cjs +34 -0
- package/dist/cjs/constants/accessibilityDirectMap.native.js +37 -0
- package/dist/cjs/constants/accessibilityDirectMap.native.js.map +1 -0
- package/dist/cjs/constants/constants.cjs +38 -0
- package/dist/cjs/constants/constants.native.js +41 -0
- package/dist/cjs/constants/constants.native.js.map +1 -0
- package/dist/cjs/constants/isDevTools.cjs +31 -0
- package/dist/cjs/constants/isDevTools.native.js +34 -0
- package/dist/cjs/constants/isDevTools.native.js.map +1 -0
- package/dist/cjs/contexts/ComponentContext.cjs +37 -0
- package/dist/cjs/contexts/ComponentContext.native.js +42 -0
- package/dist/cjs/contexts/ComponentContext.native.js.map +1 -0
- package/dist/cjs/contexts/GroupContext.cjs +27 -0
- package/dist/cjs/contexts/GroupContext.native.js +30 -0
- package/dist/cjs/contexts/GroupContext.native.js.map +1 -0
- package/dist/cjs/createComponent.cjs +782 -0
- package/dist/cjs/createComponent.native.js +829 -0
- package/dist/cjs/createComponent.native.js.map +1 -0
- package/dist/cjs/createFont.cjs +42 -0
- package/dist/cjs/createFont.native.js +50 -0
- package/dist/cjs/createFont.native.js.map +1 -0
- package/dist/cjs/createGui.cjs +235 -0
- package/dist/cjs/createGui.native.js +297 -0
- package/dist/cjs/createGui.native.js.map +1 -0
- package/dist/cjs/createShorthands.cjs +28 -0
- package/dist/cjs/createShorthands.native.js +31 -0
- package/dist/cjs/createShorthands.native.js.map +1 -0
- package/dist/cjs/createTokens.cjs +29 -0
- package/dist/cjs/createTokens.native.js +33 -0
- package/dist/cjs/createTokens.native.js.map +1 -0
- package/dist/cjs/createVariable.cjs +96 -0
- package/dist/cjs/createVariable.native.js +116 -0
- package/dist/cjs/createVariable.native.js.map +1 -0
- package/dist/cjs/createVariables.cjs +68 -0
- package/dist/cjs/createVariables.native.js +77 -0
- package/dist/cjs/createVariables.native.js.map +1 -0
- package/dist/cjs/defaultComponentState.cjs +45 -0
- package/dist/cjs/defaultComponentState.native.js +48 -0
- package/dist/cjs/defaultComponentState.native.js.map +1 -0
- package/dist/cjs/eventHandling.cjs +46 -0
- package/dist/cjs/eventHandling.native.js +153 -0
- package/dist/cjs/eventHandling.native.js.map +1 -0
- package/dist/cjs/helpers/consoleLog.native.js +31 -0
- package/dist/cjs/helpers/consoleLog.native.js.map +1 -0
- package/dist/cjs/helpers/createDesignSystem.cjs +184 -0
- package/dist/cjs/helpers/createDesignSystem.native.js +235 -0
- package/dist/cjs/helpers/createDesignSystem.native.js.map +1 -0
- package/dist/cjs/helpers/createMediaStyle.cjs +100 -0
- package/dist/cjs/helpers/createMediaStyle.native.js +114 -0
- package/dist/cjs/helpers/createMediaStyle.native.js.map +1 -0
- package/dist/cjs/helpers/createStyledContext.cjs +82 -0
- package/dist/cjs/helpers/createStyledContext.native.js +93 -0
- package/dist/cjs/helpers/createStyledContext.native.js.map +1 -0
- package/dist/cjs/helpers/defaultAnimationDriver.cjs +42 -0
- package/dist/cjs/helpers/defaultAnimationDriver.native.js +59 -0
- package/dist/cjs/helpers/defaultAnimationDriver.native.js.map +1 -0
- package/dist/cjs/helpers/defaultOffset.cjs +29 -0
- package/dist/cjs/helpers/defaultOffset.native.js +32 -0
- package/dist/cjs/helpers/defaultOffset.native.js.map +1 -0
- package/dist/cjs/helpers/expandStyle.cjs +67 -0
- package/dist/cjs/helpers/expandStyle.native.js +162 -0
- package/dist/cjs/helpers/expandStyle.native.js.map +1 -0
- package/dist/cjs/helpers/expandStyles.cjs +40 -0
- package/dist/cjs/helpers/expandStyles.native.js +45 -0
- package/dist/cjs/helpers/expandStyles.native.js.map +1 -0
- package/dist/cjs/helpers/getCSSStylesAtomic.cjs +179 -0
- package/dist/cjs/helpers/getCSSStylesAtomic.native.js +36 -0
- package/dist/cjs/helpers/getCSSStylesAtomic.native.js.map +1 -0
- package/dist/cjs/helpers/getDefaultProps.cjs +38 -0
- package/dist/cjs/helpers/getDefaultProps.native.js +42 -0
- package/dist/cjs/helpers/getDefaultProps.native.js.map +1 -0
- package/dist/cjs/helpers/getDynamicVal.cjs +67 -0
- package/dist/cjs/helpers/getDynamicVal.native.js +71 -0
- package/dist/cjs/helpers/getDynamicVal.native.js.map +1 -0
- package/dist/cjs/helpers/getExpandedShorthands.cjs +38 -0
- package/dist/cjs/helpers/getExpandedShorthands.native.js +42 -0
- package/dist/cjs/helpers/getExpandedShorthands.native.js.map +1 -0
- package/dist/cjs/helpers/getFontLanguage.cjs +26 -0
- package/dist/cjs/helpers/getFontLanguage.native.js +31 -0
- package/dist/cjs/helpers/getFontLanguage.native.js.map +1 -0
- package/dist/cjs/helpers/getGroupPropParts.cjs +45 -0
- package/dist/cjs/helpers/getGroupPropParts.native.js +50 -0
- package/dist/cjs/helpers/getGroupPropParts.native.js.map +1 -0
- package/dist/cjs/helpers/getShorthandValue.cjs +28 -0
- package/dist/cjs/helpers/getShorthandValue.native.js +35 -0
- package/dist/cjs/helpers/getShorthandValue.native.js.map +1 -0
- package/dist/cjs/helpers/getSplitStyles.cjs +697 -0
- package/dist/cjs/helpers/getSplitStyles.native.js +810 -0
- package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -0
- package/dist/cjs/helpers/getThemeCSSRules.cjs +128 -0
- package/dist/cjs/helpers/getThemeCSSRules.native.js +31 -0
- package/dist/cjs/helpers/getThemeCSSRules.native.js.map +1 -0
- package/dist/cjs/helpers/getTokenForKey.cjs +127 -0
- package/dist/cjs/helpers/getTokenForKey.native.js +145 -0
- package/dist/cjs/helpers/getTokenForKey.native.js.map +1 -0
- package/dist/cjs/helpers/getVariantExtras.cjs +69 -0
- package/dist/cjs/helpers/getVariantExtras.native.js +73 -0
- package/dist/cjs/helpers/getVariantExtras.native.js.map +1 -0
- package/dist/cjs/helpers/insertStyleRule.cjs +199 -0
- package/dist/cjs/helpers/insertStyleRule.native.js +315 -0
- package/dist/cjs/helpers/insertStyleRule.native.js.map +1 -0
- package/dist/cjs/helpers/isActivePlatform.cjs +36 -0
- package/dist/cjs/helpers/isActivePlatform.native.js +39 -0
- package/dist/cjs/helpers/isActivePlatform.native.js.map +1 -0
- package/dist/cjs/helpers/isActiveTheme.cjs +28 -0
- package/dist/cjs/helpers/isActiveTheme.native.js +31 -0
- package/dist/cjs/helpers/isActiveTheme.native.js.map +1 -0
- package/dist/cjs/helpers/isGuiComponent.cjs +29 -0
- package/dist/cjs/helpers/isGuiComponent.native.js +32 -0
- package/dist/cjs/helpers/isGuiComponent.native.js.map +1 -0
- package/dist/cjs/helpers/isGuiElement.cjs +39 -0
- package/dist/cjs/helpers/isGuiElement.native.js +44 -0
- package/dist/cjs/helpers/isGuiElement.native.js.map +1 -0
- package/dist/cjs/helpers/isObj.cjs +26 -0
- package/dist/cjs/helpers/isObj.native.js +36 -0
- package/dist/cjs/helpers/isObj.native.js.map +1 -0
- package/dist/cjs/helpers/log.cjs +38 -0
- package/dist/cjs/helpers/log.native.js +42 -0
- package/dist/cjs/helpers/log.native.js.map +1 -0
- package/dist/cjs/helpers/mainThreadPressEvents.cjs +26 -0
- package/dist/cjs/helpers/mainThreadPressEvents.native.js +48 -0
- package/dist/cjs/helpers/mainThreadPressEvents.native.js.map +1 -0
- package/dist/cjs/helpers/matchMedia.cjs +36 -0
- package/dist/cjs/helpers/matchMedia.native.js +47 -0
- package/dist/cjs/helpers/matchMedia.native.js.map +1 -0
- package/dist/cjs/helpers/mediaObjectToString.cjs +35 -0
- package/dist/cjs/helpers/mediaObjectToString.native.js +43 -0
- package/dist/cjs/helpers/mediaObjectToString.native.js.map +1 -0
- package/dist/cjs/helpers/mediaState.cjs +45 -0
- package/dist/cjs/helpers/mediaState.native.js +50 -0
- package/dist/cjs/helpers/mediaState.native.js.map +1 -0
- package/dist/cjs/helpers/mergeProps.cjs +55 -0
- package/dist/cjs/helpers/mergeProps.native.js +62 -0
- package/dist/cjs/helpers/mergeProps.native.js.map +1 -0
- package/dist/cjs/helpers/mergeRenderElementProps.cjs +32 -0
- package/dist/cjs/helpers/mergeRenderElementProps.native.js +35 -0
- package/dist/cjs/helpers/mergeRenderElementProps.native.js.map +1 -0
- package/dist/cjs/helpers/mergeSlotStyleProps.cjs +39 -0
- package/dist/cjs/helpers/mergeSlotStyleProps.native.js +42 -0
- package/dist/cjs/helpers/mergeSlotStyleProps.native.js.map +1 -0
- package/dist/cjs/helpers/mergeVariants.cjs +40 -0
- package/dist/cjs/helpers/mergeVariants.native.js +44 -0
- package/dist/cjs/helpers/mergeVariants.native.js.map +1 -0
- package/dist/cjs/helpers/nativeOnlyProps.cjs +60 -0
- package/dist/cjs/helpers/nativeOnlyProps.native.js +63 -0
- package/dist/cjs/helpers/nativeOnlyProps.native.js.map +1 -0
- package/dist/cjs/helpers/normalizeColor.cjs +35 -0
- package/dist/cjs/helpers/normalizeColor.native.js +50 -0
- package/dist/cjs/helpers/normalizeColor.native.js.map +1 -0
- package/dist/cjs/helpers/normalizeShadow.cjs +48 -0
- package/dist/cjs/helpers/normalizeShadow.native.js +52 -0
- package/dist/cjs/helpers/normalizeShadow.native.js.map +1 -0
- package/dist/cjs/helpers/normalizeStyle.cjs +47 -0
- package/dist/cjs/helpers/normalizeStyle.native.js +52 -0
- package/dist/cjs/helpers/normalizeStyle.native.js.map +1 -0
- package/dist/cjs/helpers/normalizeStylePropKeys.cjs +26 -0
- package/dist/cjs/helpers/normalizeStylePropKeys.native.js +40 -0
- package/dist/cjs/helpers/normalizeStylePropKeys.native.js.map +1 -0
- package/dist/cjs/helpers/normalizeValueWithProperty.cjs +38 -0
- package/dist/cjs/helpers/normalizeValueWithProperty.native.js +47 -0
- package/dist/cjs/helpers/normalizeValueWithProperty.native.js.map +1 -0
- package/dist/cjs/helpers/objectIdentityKey.cjs +39 -0
- package/dist/cjs/helpers/objectIdentityKey.native.js +47 -0
- package/dist/cjs/helpers/objectIdentityKey.native.js.map +1 -0
- package/dist/cjs/helpers/parseBorderShorthand.cjs +26 -0
- package/dist/cjs/helpers/parseBorderShorthand.native.js +58 -0
- package/dist/cjs/helpers/parseBorderShorthand.native.js.map +1 -0
- package/dist/cjs/helpers/parseNativeStyle.cjs +133 -0
- package/dist/cjs/helpers/parseNativeStyle.native.js +151 -0
- package/dist/cjs/helpers/parseNativeStyle.native.js.map +1 -0
- package/dist/cjs/helpers/parseOutlineShorthand.cjs +26 -0
- package/dist/cjs/helpers/parseOutlineShorthand.native.js +58 -0
- package/dist/cjs/helpers/parseOutlineShorthand.native.js.map +1 -0
- package/dist/cjs/helpers/platformResolveValue.cjs +33 -0
- package/dist/cjs/helpers/platformResolveValue.native.js +62 -0
- package/dist/cjs/helpers/platformResolveValue.native.js.map +1 -0
- package/dist/cjs/helpers/pointerEvents.cjs +26 -0
- package/dist/cjs/helpers/pointerEvents.native.js +120 -0
- package/dist/cjs/helpers/pointerEvents.native.js.map +1 -0
- package/dist/cjs/helpers/propMapper.cjs +203 -0
- package/dist/cjs/helpers/propMapper.native.js +295 -0
- package/dist/cjs/helpers/propMapper.native.js.map +1 -0
- package/dist/cjs/helpers/proxyThemeToParents.cjs +49 -0
- package/dist/cjs/helpers/proxyThemeToParents.native.js +132 -0
- package/dist/cjs/helpers/proxyThemeToParents.native.js.map +1 -0
- package/dist/cjs/helpers/proxyThemeVariables.cjs +36 -0
- package/dist/cjs/helpers/proxyThemeVariables.native.js +41 -0
- package/dist/cjs/helpers/proxyThemeVariables.native.js.map +1 -0
- package/dist/cjs/helpers/pseudoDescriptors.cjs +80 -0
- package/dist/cjs/helpers/pseudoDescriptors.native.js +83 -0
- package/dist/cjs/helpers/pseudoDescriptors.native.js.map +1 -0
- package/dist/cjs/helpers/pseudoTransitions.cjs +65 -0
- package/dist/cjs/helpers/pseudoTransitions.native.js +72 -0
- package/dist/cjs/helpers/pseudoTransitions.native.js.map +1 -0
- package/dist/cjs/helpers/registerCSSVariable.cjs +64 -0
- package/dist/cjs/helpers/registerCSSVariable.native.js +70 -0
- package/dist/cjs/helpers/registerCSSVariable.native.js.map +1 -0
- package/dist/cjs/helpers/resolveAnimationDriver.cjs +28 -0
- package/dist/cjs/helpers/resolveAnimationDriver.native.js +32 -0
- package/dist/cjs/helpers/resolveAnimationDriver.native.js.map +1 -0
- package/dist/cjs/helpers/resolveCompoundTokens.cjs +37 -0
- package/dist/cjs/helpers/resolveCompoundTokens.native.js +40 -0
- package/dist/cjs/helpers/resolveCompoundTokens.native.js.map +1 -0
- package/dist/cjs/helpers/resolveRem.cjs +32 -0
- package/dist/cjs/helpers/resolveRem.native.js +50 -0
- package/dist/cjs/helpers/resolveRem.native.js.map +1 -0
- package/dist/cjs/helpers/resolveSafeArea.cjs +34 -0
- package/dist/cjs/helpers/resolveSafeArea.native.js +42 -0
- package/dist/cjs/helpers/resolveSafeArea.native.js.map +1 -0
- package/dist/cjs/helpers/setElementProps.cjs +29 -0
- package/dist/cjs/helpers/setElementProps.native.js +33 -0
- package/dist/cjs/helpers/setElementProps.native.js.map +1 -0
- package/dist/cjs/helpers/skipProps.cjs +45 -0
- package/dist/cjs/helpers/skipProps.native.js +48 -0
- package/dist/cjs/helpers/skipProps.native.js.map +1 -0
- package/dist/cjs/helpers/sortString.cjs +26 -0
- package/dist/cjs/helpers/sortString.native.js +31 -0
- package/dist/cjs/helpers/sortString.native.js.map +1 -0
- package/dist/cjs/helpers/subscribeToContextGroup.cjs +81 -0
- package/dist/cjs/helpers/subscribeToContextGroup.native.js +131 -0
- package/dist/cjs/helpers/subscribeToContextGroup.native.js.map +1 -0
- package/dist/cjs/helpers/themeable.cjs +87 -0
- package/dist/cjs/helpers/themeable.native.js +93 -0
- package/dist/cjs/helpers/themeable.native.js.map +1 -0
- package/dist/cjs/helpers/themes.cjs +38 -0
- package/dist/cjs/helpers/themes.native.js +41 -0
- package/dist/cjs/helpers/themes.native.js.map +1 -0
- package/dist/cjs/helpers/timer.cjs +32 -0
- package/dist/cjs/helpers/timer.native.js +35 -0
- package/dist/cjs/helpers/timer.native.js.map +1 -0
- package/dist/cjs/helpers/transformsToString.cjs +38 -0
- package/dist/cjs/helpers/transformsToString.native.js +41 -0
- package/dist/cjs/helpers/transformsToString.native.js.map +1 -0
- package/dist/cjs/helpers/useRenderElement.cjs +48 -0
- package/dist/cjs/helpers/useRenderElement.native.js +52 -0
- package/dist/cjs/helpers/useRenderElement.native.js.map +1 -0
- package/dist/cjs/helpers/webPropsToSkip.cjs +26 -0
- package/dist/cjs/helpers/webPropsToSkip.native.js +76 -0
- package/dist/cjs/helpers/webPropsToSkip.native.js.map +1 -0
- package/dist/cjs/helpers/wrapStyleTags.cjs +41 -0
- package/dist/cjs/helpers/wrapStyleTags.native.js +31 -0
- package/dist/cjs/helpers/wrapStyleTags.native.js.map +1 -0
- package/dist/cjs/hooks/doesRootSchemeMatchSystem.cjs +28 -0
- package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.js +34 -0
- package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.js.map +1 -0
- package/dist/cjs/hooks/getThemeProxied.cjs +60 -0
- package/dist/cjs/hooks/getThemeProxied.native.js +93 -0
- package/dist/cjs/hooks/getThemeProxied.native.js.map +1 -0
- package/dist/cjs/hooks/useComponentState.cjs +144 -0
- package/dist/cjs/hooks/useComponentState.native.js +165 -0
- package/dist/cjs/hooks/useComponentState.native.js.map +1 -0
- package/dist/cjs/hooks/useDisableSSR.cjs +29 -0
- package/dist/cjs/hooks/useDisableSSR.native.js +33 -0
- package/dist/cjs/hooks/useDisableSSR.native.js.map +1 -0
- package/dist/cjs/hooks/useIsTouchDevice.cjs +28 -0
- package/dist/cjs/hooks/useIsTouchDevice.native.js +33 -0
- package/dist/cjs/hooks/useIsTouchDevice.native.js.map +1 -0
- package/dist/cjs/hooks/useMedia.cjs +180 -0
- package/dist/cjs/hooks/useMedia.native.js +215 -0
- package/dist/cjs/hooks/useMedia.native.js.map +1 -0
- package/dist/cjs/hooks/useProps.cjs +114 -0
- package/dist/cjs/hooks/useProps.native.js +119 -0
- package/dist/cjs/hooks/useProps.native.js.map +1 -0
- package/dist/cjs/hooks/useTheme.cjs +46 -0
- package/dist/cjs/hooks/useTheme.native.js +53 -0
- package/dist/cjs/hooks/useTheme.native.js.map +1 -0
- package/dist/cjs/hooks/useThemeName.cjs +37 -0
- package/dist/cjs/hooks/useThemeName.native.js +43 -0
- package/dist/cjs/hooks/useThemeName.native.js.map +1 -0
- package/dist/cjs/hooks/useThemeState.cjs +274 -0
- package/dist/cjs/hooks/useThemeState.native.js +387 -0
- package/dist/cjs/hooks/useThemeState.native.js.map +1 -0
- package/dist/cjs/index.cjs +120 -0
- package/dist/cjs/index.native.js +123 -0
- package/dist/cjs/index.native.js.map +1 -0
- package/dist/cjs/inject-styles.cjs +37 -0
- package/dist/cjs/inject-styles.native.js +41 -0
- package/dist/cjs/inject-styles.native.js.map +1 -0
- package/dist/cjs/insertFont.cjs +75 -0
- package/dist/cjs/insertFont.native.js +76 -0
- package/dist/cjs/insertFont.native.js.map +1 -0
- package/dist/cjs/interfaces/CSSColorNames.cjs +16 -0
- package/dist/cjs/interfaces/CSSColorNames.native.js +19 -0
- package/dist/cjs/interfaces/CSSColorNames.native.js.map +1 -0
- package/dist/cjs/interfaces/GetRef.cjs +16 -0
- package/dist/cjs/interfaces/GetRef.native.js +19 -0
- package/dist/cjs/interfaces/GetRef.native.js.map +1 -0
- package/dist/cjs/interfaces/GuiComponentEvents.cjs +16 -0
- package/dist/cjs/interfaces/GuiComponentEvents.native.js +19 -0
- package/dist/cjs/interfaces/GuiComponentEvents.native.js.map +1 -0
- package/dist/cjs/interfaces/GuiComponentPropsBaseBase.cjs +16 -0
- package/dist/cjs/interfaces/GuiComponentPropsBaseBase.native.js +19 -0
- package/dist/cjs/interfaces/GuiComponentPropsBaseBase.native.js.map +1 -0
- package/dist/cjs/interfaces/RNExclusiveTypes.cjs +16 -0
- package/dist/cjs/interfaces/RNExclusiveTypes.native.js +19 -0
- package/dist/cjs/interfaces/RNExclusiveTypes.native.js.map +1 -0
- package/dist/cjs/setupHooks.cjs +30 -0
- package/dist/cjs/setupHooks.native.js +33 -0
- package/dist/cjs/setupHooks.native.js.map +1 -0
- package/dist/cjs/setupReactNative.cjs +47 -0
- package/dist/cjs/setupReactNative.native.js +54 -0
- package/dist/cjs/setupReactNative.native.js.map +1 -0
- package/dist/cjs/styled.cjs +115 -0
- package/dist/cjs/styled.native.js +127 -0
- package/dist/cjs/styled.native.js.map +1 -0
- package/dist/cjs/styledHtml.test-d.cjs +156 -0
- package/dist/cjs/styledHtml.test-d.native.js +159 -0
- package/dist/cjs/styledHtml.test-d.native.js.map +1 -0
- package/dist/cjs/type-utils.cjs +16 -0
- package/dist/cjs/type-utils.native.js +19 -0
- package/dist/cjs/type-utils.native.js.map +1 -0
- package/dist/cjs/types.cjs +16 -0
- package/dist/cjs/types.native.js +19 -0
- package/dist/cjs/types.native.js.map +1 -0
- package/dist/cjs/views/Configuration.cjs +50 -0
- package/dist/cjs/views/Configuration.native.js +54 -0
- package/dist/cjs/views/Configuration.native.js.map +1 -0
- package/dist/cjs/views/FontLanguage.cjs +37 -0
- package/dist/cjs/views/FontLanguage.native.js +57 -0
- package/dist/cjs/views/FontLanguage.native.js.map +1 -0
- package/dist/cjs/views/GuiProvider.cjs +94 -0
- package/dist/cjs/views/GuiProvider.native.js +100 -0
- package/dist/cjs/views/GuiProvider.native.js.map +1 -0
- package/dist/cjs/views/GuiRoot.cjs +68 -0
- package/dist/cjs/views/GuiRoot.native.js +31 -0
- package/dist/cjs/views/GuiRoot.native.js.map +1 -0
- package/dist/cjs/views/Slot.cjs +64 -0
- package/dist/cjs/views/Slot.native.js +70 -0
- package/dist/cjs/views/Slot.native.js.map +1 -0
- package/dist/cjs/views/Text.cjs +58 -0
- package/dist/cjs/views/Text.native.js +52 -0
- package/dist/cjs/views/Text.native.js.map +1 -0
- package/dist/cjs/views/Theme.cjs +162 -0
- package/dist/cjs/views/Theme.native.js +174 -0
- package/dist/cjs/views/Theme.native.js.map +1 -0
- package/dist/cjs/views/ThemeDebug.cjs +77 -0
- package/dist/cjs/views/ThemeDebug.native.js +37 -0
- package/dist/cjs/views/ThemeDebug.native.js.map +1 -0
- package/dist/cjs/views/ThemeProvider.cjs +52 -0
- package/dist/cjs/views/ThemeProvider.native.js +48 -0
- package/dist/cjs/views/ThemeProvider.native.js.map +1 -0
- package/dist/cjs/views/View.cjs +31 -0
- package/dist/cjs/views/View.native.js +34 -0
- package/dist/cjs/views/View.native.js.map +1 -0
- package/dist/esm/Gui.mjs +36 -0
- package/dist/esm/Gui.mjs.map +1 -0
- package/dist/esm/Gui.native.js +73 -0
- package/dist/esm/Gui.native.js.map +1 -0
- package/dist/esm/_withStableStyle.mjs +31 -0
- package/dist/esm/_withStableStyle.mjs.map +1 -0
- package/dist/esm/_withStableStyle.native.js +40 -0
- package/dist/esm/_withStableStyle.native.js.map +1 -0
- package/dist/esm/animationDriverTypes.test-d.mjs +61 -0
- package/dist/esm/animationDriverTypes.test-d.mjs.map +1 -0
- package/dist/esm/animationDriverTypes.test-d.native.js +61 -0
- package/dist/esm/animationDriverTypes.test-d.native.js.map +1 -0
- package/dist/esm/config.mjs +87 -0
- package/dist/esm/config.mjs.map +1 -0
- package/dist/esm/config.native.js +115 -0
- package/dist/esm/config.native.js.map +1 -0
- package/dist/esm/constants/accessibilityDirectMap.mjs +7 -0
- package/dist/esm/constants/accessibilityDirectMap.mjs.map +1 -0
- package/dist/esm/constants/accessibilityDirectMap.native.js +7 -0
- package/dist/esm/constants/accessibilityDirectMap.native.js.map +1 -0
- package/dist/esm/constants/constants.mjs +12 -0
- package/dist/esm/constants/constants.mjs.map +1 -0
- package/dist/esm/constants/constants.native.js +12 -0
- package/dist/esm/constants/constants.native.js.map +1 -0
- package/dist/esm/constants/isDevTools.mjs +8 -0
- package/dist/esm/constants/isDevTools.mjs.map +1 -0
- package/dist/esm/constants/isDevTools.native.js +8 -0
- package/dist/esm/constants/isDevTools.native.js.map +1 -0
- package/dist/esm/contexts/ComponentContext.mjs +13 -0
- package/dist/esm/contexts/ComponentContext.mjs.map +1 -0
- package/dist/esm/contexts/ComponentContext.native.js +15 -0
- package/dist/esm/contexts/ComponentContext.native.js.map +1 -0
- package/dist/esm/contexts/GroupContext.mjs +4 -0
- package/dist/esm/contexts/GroupContext.mjs.map +1 -0
- package/dist/esm/contexts/GroupContext.native.js +4 -0
- package/dist/esm/contexts/GroupContext.native.js.map +1 -0
- package/dist/esm/createComponent.mjs +746 -0
- package/dist/esm/createComponent.mjs.map +1 -0
- package/dist/esm/createComponent.native.js +790 -0
- package/dist/esm/createComponent.native.js.map +1 -0
- package/dist/esm/createFont.mjs +19 -0
- package/dist/esm/createFont.mjs.map +1 -0
- package/dist/esm/createFont.native.js +24 -0
- package/dist/esm/createFont.native.js.map +1 -0
- package/dist/esm/createGui.mjs +212 -0
- package/dist/esm/createGui.mjs.map +1 -0
- package/dist/esm/createGui.native.js +271 -0
- package/dist/esm/createGui.native.js.map +1 -0
- package/dist/esm/createShorthands.mjs +5 -0
- package/dist/esm/createShorthands.mjs.map +1 -0
- package/dist/esm/createShorthands.native.js +5 -0
- package/dist/esm/createShorthands.native.js.map +1 -0
- package/dist/esm/createTokens.mjs +6 -0
- package/dist/esm/createTokens.mjs.map +1 -0
- package/dist/esm/createTokens.native.js +7 -0
- package/dist/esm/createTokens.native.js.map +1 -0
- package/dist/esm/createVariable.mjs +63 -0
- package/dist/esm/createVariable.mjs.map +1 -0
- package/dist/esm/createVariable.native.js +80 -0
- package/dist/esm/createVariable.native.js.map +1 -0
- package/dist/esm/createVariables.mjs +45 -0
- package/dist/esm/createVariables.mjs.map +1 -0
- package/dist/esm/createVariables.native.js +51 -0
- package/dist/esm/createVariables.native.js.map +1 -0
- package/dist/esm/defaultComponentState.mjs +20 -0
- package/dist/esm/defaultComponentState.mjs.map +1 -0
- package/dist/esm/defaultComponentState.native.js +20 -0
- package/dist/esm/defaultComponentState.native.js.map +1 -0
- package/dist/esm/eventHandling.mjs +21 -0
- package/dist/esm/eventHandling.mjs.map +1 -0
- package/dist/esm/eventHandling.native.js +114 -0
- package/dist/esm/eventHandling.native.js.map +1 -0
- package/dist/esm/helpers/consoleLog.native.js +4 -0
- package/dist/esm/helpers/consoleLog.native.js.map +1 -0
- package/dist/esm/helpers/createDesignSystem.mjs +156 -0
- package/dist/esm/helpers/createDesignSystem.mjs.map +1 -0
- package/dist/esm/helpers/createDesignSystem.native.js +203 -0
- package/dist/esm/helpers/createDesignSystem.native.js.map +1 -0
- package/dist/esm/helpers/createMediaStyle.mjs +75 -0
- package/dist/esm/helpers/createMediaStyle.mjs.map +1 -0
- package/dist/esm/helpers/createMediaStyle.native.js +86 -0
- package/dist/esm/helpers/createMediaStyle.native.js.map +1 -0
- package/dist/esm/helpers/createStyledContext.mjs +48 -0
- package/dist/esm/helpers/createStyledContext.mjs.map +1 -0
- package/dist/esm/helpers/createStyledContext.native.js +56 -0
- package/dist/esm/helpers/createStyledContext.native.js.map +1 -0
- package/dist/esm/helpers/defaultAnimationDriver.mjs +19 -0
- package/dist/esm/helpers/defaultAnimationDriver.mjs.map +1 -0
- package/dist/esm/helpers/defaultAnimationDriver.native.js +33 -0
- package/dist/esm/helpers/defaultAnimationDriver.native.js.map +1 -0
- package/dist/esm/helpers/defaultOffset.mjs +6 -0
- package/dist/esm/helpers/defaultOffset.mjs.map +1 -0
- package/dist/esm/helpers/defaultOffset.native.js +6 -0
- package/dist/esm/helpers/defaultOffset.native.js.map +1 -0
- package/dist/esm/helpers/expandStyle.mjs +42 -0
- package/dist/esm/helpers/expandStyle.mjs.map +1 -0
- package/dist/esm/helpers/expandStyle.native.js +135 -0
- package/dist/esm/helpers/expandStyle.native.js.map +1 -0
- package/dist/esm/helpers/expandStyles.mjs +17 -0
- package/dist/esm/helpers/expandStyles.mjs.map +1 -0
- package/dist/esm/helpers/expandStyles.native.js +19 -0
- package/dist/esm/helpers/expandStyles.native.js.map +1 -0
- package/dist/esm/helpers/getCSSStylesAtomic.mjs +154 -0
- package/dist/esm/helpers/getCSSStylesAtomic.mjs.map +1 -0
- package/dist/esm/helpers/getCSSStylesAtomic.native.js +8 -0
- package/dist/esm/helpers/getCSSStylesAtomic.native.js.map +1 -0
- package/dist/esm/helpers/getDefaultProps.mjs +15 -0
- package/dist/esm/helpers/getDefaultProps.mjs.map +1 -0
- package/dist/esm/helpers/getDefaultProps.native.js +16 -0
- package/dist/esm/helpers/getDefaultProps.native.js.map +1 -0
- package/dist/esm/helpers/getDynamicVal.mjs +41 -0
- package/dist/esm/helpers/getDynamicVal.mjs.map +1 -0
- package/dist/esm/helpers/getDynamicVal.native.js +42 -0
- package/dist/esm/helpers/getDynamicVal.native.js.map +1 -0
- package/dist/esm/helpers/getExpandedShorthands.mjs +14 -0
- package/dist/esm/helpers/getExpandedShorthands.mjs.map +1 -0
- package/dist/esm/helpers/getExpandedShorthands.native.js +15 -0
- package/dist/esm/helpers/getExpandedShorthands.native.js.map +1 -0
- package/dist/esm/helpers/getFontLanguage.mjs +3 -0
- package/dist/esm/helpers/getFontLanguage.mjs.map +1 -0
- package/dist/esm/helpers/getFontLanguage.native.js +5 -0
- package/dist/esm/helpers/getFontLanguage.native.js.map +1 -0
- package/dist/esm/helpers/getGroupPropParts.mjs +22 -0
- package/dist/esm/helpers/getGroupPropParts.mjs.map +1 -0
- package/dist/esm/helpers/getGroupPropParts.native.js +24 -0
- package/dist/esm/helpers/getGroupPropParts.native.js.map +1 -0
- package/dist/esm/helpers/getShorthandValue.mjs +5 -0
- package/dist/esm/helpers/getShorthandValue.mjs.map +1 -0
- package/dist/esm/helpers/getShorthandValue.native.js +9 -0
- package/dist/esm/helpers/getShorthandValue.native.js.map +1 -0
- package/dist/esm/helpers/getSplitStyles.mjs +658 -0
- package/dist/esm/helpers/getSplitStyles.mjs.map +1 -0
- package/dist/esm/helpers/getSplitStyles.native.js +768 -0
- package/dist/esm/helpers/getSplitStyles.native.js.map +1 -0
- package/dist/esm/helpers/getThemeCSSRules.mjs +105 -0
- package/dist/esm/helpers/getThemeCSSRules.mjs.map +1 -0
- package/dist/esm/helpers/getThemeCSSRules.native.js +5 -0
- package/dist/esm/helpers/getThemeCSSRules.native.js.map +1 -0
- package/dist/esm/helpers/getTokenForKey.mjs +101 -0
- package/dist/esm/helpers/getTokenForKey.mjs.map +1 -0
- package/dist/esm/helpers/getTokenForKey.native.js +116 -0
- package/dist/esm/helpers/getTokenForKey.native.js.map +1 -0
- package/dist/esm/helpers/getVariantExtras.mjs +45 -0
- package/dist/esm/helpers/getVariantExtras.mjs.map +1 -0
- package/dist/esm/helpers/getVariantExtras.native.js +46 -0
- package/dist/esm/helpers/getVariantExtras.native.js.map +1 -0
- package/dist/esm/helpers/insertStyleRule.mjs +169 -0
- package/dist/esm/helpers/insertStyleRule.mjs.map +1 -0
- package/dist/esm/helpers/insertStyleRule.native.js +282 -0
- package/dist/esm/helpers/insertStyleRule.native.js.map +1 -0
- package/dist/esm/helpers/isActivePlatform.mjs +13 -0
- package/dist/esm/helpers/isActivePlatform.mjs.map +1 -0
- package/dist/esm/helpers/isActivePlatform.native.js +13 -0
- package/dist/esm/helpers/isActivePlatform.native.js.map +1 -0
- package/dist/esm/helpers/isActiveTheme.mjs +5 -0
- package/dist/esm/helpers/isActiveTheme.mjs.map +1 -0
- package/dist/esm/helpers/isActiveTheme.native.js +5 -0
- package/dist/esm/helpers/isActiveTheme.native.js.map +1 -0
- package/dist/esm/helpers/isGuiComponent.mjs +6 -0
- package/dist/esm/helpers/isGuiComponent.mjs.map +1 -0
- package/dist/esm/helpers/isGuiComponent.native.js +6 -0
- package/dist/esm/helpers/isGuiComponent.native.js.map +1 -0
- package/dist/esm/helpers/isGuiElement.mjs +5 -0
- package/dist/esm/helpers/isGuiElement.mjs.map +1 -0
- package/dist/esm/helpers/isGuiElement.native.js +7 -0
- package/dist/esm/helpers/isGuiElement.native.js.map +1 -0
- package/dist/esm/helpers/isObj.mjs +3 -0
- package/dist/esm/helpers/isObj.mjs.map +1 -0
- package/dist/esm/helpers/isObj.native.js +10 -0
- package/dist/esm/helpers/isObj.native.js.map +1 -0
- package/dist/esm/helpers/log.mjs +15 -0
- package/dist/esm/helpers/log.mjs.map +1 -0
- package/dist/esm/helpers/log.native.js +16 -0
- package/dist/esm/helpers/log.native.js.map +1 -0
- package/dist/esm/helpers/mainThreadPressEvents.mjs +3 -0
- package/dist/esm/helpers/mainThreadPressEvents.mjs.map +1 -0
- package/dist/esm/helpers/mainThreadPressEvents.native.js +22 -0
- package/dist/esm/helpers/mainThreadPressEvents.native.js.map +1 -0
- package/dist/esm/helpers/matchMedia.mjs +12 -0
- package/dist/esm/helpers/matchMedia.mjs.map +1 -0
- package/dist/esm/helpers/matchMedia.native.js +20 -0
- package/dist/esm/helpers/matchMedia.native.js.map +1 -0
- package/dist/esm/helpers/mediaObjectToString.mjs +12 -0
- package/dist/esm/helpers/mediaObjectToString.mjs.map +1 -0
- package/dist/esm/helpers/mediaObjectToString.native.js +17 -0
- package/dist/esm/helpers/mediaObjectToString.native.js.map +1 -0
- package/dist/esm/helpers/mediaState.mjs +18 -0
- package/dist/esm/helpers/mediaState.mjs.map +1 -0
- package/dist/esm/helpers/mediaState.native.js +20 -0
- package/dist/esm/helpers/mediaState.native.js.map +1 -0
- package/dist/esm/helpers/mergeProps.mjs +31 -0
- package/dist/esm/helpers/mergeProps.mjs.map +1 -0
- package/dist/esm/helpers/mergeProps.native.js +35 -0
- package/dist/esm/helpers/mergeProps.native.js.map +1 -0
- package/dist/esm/helpers/mergeRenderElementProps.mjs +9 -0
- package/dist/esm/helpers/mergeRenderElementProps.mjs.map +1 -0
- package/dist/esm/helpers/mergeRenderElementProps.native.js +9 -0
- package/dist/esm/helpers/mergeRenderElementProps.native.js.map +1 -0
- package/dist/esm/helpers/mergeSlotStyleProps.mjs +16 -0
- package/dist/esm/helpers/mergeSlotStyleProps.mjs.map +1 -0
- package/dist/esm/helpers/mergeSlotStyleProps.native.js +16 -0
- package/dist/esm/helpers/mergeSlotStyleProps.native.js.map +1 -0
- package/dist/esm/helpers/mergeVariants.mjs +17 -0
- package/dist/esm/helpers/mergeVariants.mjs.map +1 -0
- package/dist/esm/helpers/mergeVariants.native.js +18 -0
- package/dist/esm/helpers/mergeVariants.native.js.map +1 -0
- package/dist/esm/helpers/nativeOnlyProps.mjs +37 -0
- package/dist/esm/helpers/nativeOnlyProps.mjs.map +1 -0
- package/dist/esm/helpers/nativeOnlyProps.native.js +37 -0
- package/dist/esm/helpers/nativeOnlyProps.native.js.map +1 -0
- package/dist/esm/helpers/normalizeColor.mjs +11 -0
- package/dist/esm/helpers/normalizeColor.mjs.map +1 -0
- package/dist/esm/helpers/normalizeColor.native.js +22 -0
- package/dist/esm/helpers/normalizeColor.native.js.map +1 -0
- package/dist/esm/helpers/normalizeShadow.mjs +25 -0
- package/dist/esm/helpers/normalizeShadow.mjs.map +1 -0
- package/dist/esm/helpers/normalizeShadow.native.js +26 -0
- package/dist/esm/helpers/normalizeShadow.native.js.map +1 -0
- package/dist/esm/helpers/normalizeStyle.mjs +24 -0
- package/dist/esm/helpers/normalizeStyle.mjs.map +1 -0
- package/dist/esm/helpers/normalizeStyle.native.js +26 -0
- package/dist/esm/helpers/normalizeStyle.native.js.map +1 -0
- package/dist/esm/helpers/normalizeStylePropKeys.mjs +3 -0
- package/dist/esm/helpers/normalizeStylePropKeys.mjs.map +1 -0
- package/dist/esm/helpers/normalizeStylePropKeys.native.js +14 -0
- package/dist/esm/helpers/normalizeStylePropKeys.native.js.map +1 -0
- package/dist/esm/helpers/normalizeValueWithProperty.mjs +15 -0
- package/dist/esm/helpers/normalizeValueWithProperty.mjs.map +1 -0
- package/dist/esm/helpers/normalizeValueWithProperty.native.js +21 -0
- package/dist/esm/helpers/normalizeValueWithProperty.native.js.map +1 -0
- package/dist/esm/helpers/objectIdentityKey.mjs +16 -0
- package/dist/esm/helpers/objectIdentityKey.mjs.map +1 -0
- package/dist/esm/helpers/objectIdentityKey.native.js +21 -0
- package/dist/esm/helpers/objectIdentityKey.native.js.map +1 -0
- package/dist/esm/helpers/parseBorderShorthand.mjs +3 -0
- package/dist/esm/helpers/parseBorderShorthand.mjs.map +1 -0
- package/dist/esm/helpers/parseBorderShorthand.native.js +32 -0
- package/dist/esm/helpers/parseBorderShorthand.native.js.map +1 -0
- package/dist/esm/helpers/parseNativeStyle.mjs +110 -0
- package/dist/esm/helpers/parseNativeStyle.mjs.map +1 -0
- package/dist/esm/helpers/parseNativeStyle.native.js +125 -0
- package/dist/esm/helpers/parseNativeStyle.native.js.map +1 -0
- package/dist/esm/helpers/parseOutlineShorthand.mjs +3 -0
- package/dist/esm/helpers/parseOutlineShorthand.mjs.map +1 -0
- package/dist/esm/helpers/parseOutlineShorthand.native.js +32 -0
- package/dist/esm/helpers/parseOutlineShorthand.native.js.map +1 -0
- package/dist/esm/helpers/platformResolveValue.mjs +10 -0
- package/dist/esm/helpers/platformResolveValue.mjs.map +1 -0
- package/dist/esm/helpers/platformResolveValue.native.js +36 -0
- package/dist/esm/helpers/platformResolveValue.native.js.map +1 -0
- package/dist/esm/helpers/pointerEvents.mjs +3 -0
- package/dist/esm/helpers/pointerEvents.mjs.map +1 -0
- package/dist/esm/helpers/pointerEvents.native.js +94 -0
- package/dist/esm/helpers/pointerEvents.native.js.map +1 -0
- package/dist/esm/helpers/propMapper.mjs +176 -0
- package/dist/esm/helpers/propMapper.mjs.map +1 -0
- package/dist/esm/helpers/propMapper.native.js +267 -0
- package/dist/esm/helpers/propMapper.native.js.map +1 -0
- package/dist/esm/helpers/proxyThemeToParents.mjs +25 -0
- package/dist/esm/helpers/proxyThemeToParents.mjs.map +1 -0
- package/dist/esm/helpers/proxyThemeToParents.native.js +105 -0
- package/dist/esm/helpers/proxyThemeToParents.native.js.map +1 -0
- package/dist/esm/helpers/proxyThemeVariables.mjs +13 -0
- package/dist/esm/helpers/proxyThemeVariables.mjs.map +1 -0
- package/dist/esm/helpers/proxyThemeVariables.native.js +15 -0
- package/dist/esm/helpers/proxyThemeVariables.native.js.map +1 -0
- package/dist/esm/helpers/pseudoDescriptors.mjs +54 -0
- package/dist/esm/helpers/pseudoDescriptors.mjs.map +1 -0
- package/dist/esm/helpers/pseudoDescriptors.native.js +54 -0
- package/dist/esm/helpers/pseudoDescriptors.native.js.map +1 -0
- package/dist/esm/helpers/pseudoTransitions.mjs +41 -0
- package/dist/esm/helpers/pseudoTransitions.mjs.map +1 -0
- package/dist/esm/helpers/pseudoTransitions.native.js +45 -0
- package/dist/esm/helpers/pseudoTransitions.native.js.map +1 -0
- package/dist/esm/helpers/registerCSSVariable.mjs +35 -0
- package/dist/esm/helpers/registerCSSVariable.mjs.map +1 -0
- package/dist/esm/helpers/registerCSSVariable.native.js +38 -0
- package/dist/esm/helpers/registerCSSVariable.native.js.map +1 -0
- package/dist/esm/helpers/resolveAnimationDriver.mjs +5 -0
- package/dist/esm/helpers/resolveAnimationDriver.mjs.map +1 -0
- package/dist/esm/helpers/resolveAnimationDriver.native.js +6 -0
- package/dist/esm/helpers/resolveAnimationDriver.native.js.map +1 -0
- package/dist/esm/helpers/resolveCompoundTokens.mjs +14 -0
- package/dist/esm/helpers/resolveCompoundTokens.mjs.map +1 -0
- package/dist/esm/helpers/resolveCompoundTokens.native.js +14 -0
- package/dist/esm/helpers/resolveCompoundTokens.native.js.map +1 -0
- package/dist/esm/helpers/resolveRem.mjs +8 -0
- package/dist/esm/helpers/resolveRem.mjs.map +1 -0
- package/dist/esm/helpers/resolveRem.native.js +23 -0
- package/dist/esm/helpers/resolveRem.native.js.map +1 -0
- package/dist/esm/helpers/resolveSafeArea.mjs +11 -0
- package/dist/esm/helpers/resolveSafeArea.mjs.map +1 -0
- package/dist/esm/helpers/resolveSafeArea.native.js +16 -0
- package/dist/esm/helpers/resolveSafeArea.native.js.map +1 -0
- package/dist/esm/helpers/setElementProps.mjs +6 -0
- package/dist/esm/helpers/setElementProps.mjs.map +1 -0
- package/dist/esm/helpers/setElementProps.native.js +7 -0
- package/dist/esm/helpers/setElementProps.native.js.map +1 -0
- package/dist/esm/helpers/skipProps.mjs +21 -0
- package/dist/esm/helpers/skipProps.mjs.map +1 -0
- package/dist/esm/helpers/skipProps.native.js +21 -0
- package/dist/esm/helpers/skipProps.native.js.map +1 -0
- package/dist/esm/helpers/sortString.mjs +3 -0
- package/dist/esm/helpers/sortString.mjs.map +1 -0
- package/dist/esm/helpers/sortString.native.js +5 -0
- package/dist/esm/helpers/sortString.native.js.map +1 -0
- package/dist/esm/helpers/subscribeToContextGroup.mjs +58 -0
- package/dist/esm/helpers/subscribeToContextGroup.mjs.map +1 -0
- package/dist/esm/helpers/subscribeToContextGroup.native.js +105 -0
- package/dist/esm/helpers/subscribeToContextGroup.native.js.map +1 -0
- package/dist/esm/helpers/themeable.mjs +54 -0
- package/dist/esm/helpers/themeable.mjs.map +1 -0
- package/dist/esm/helpers/themeable.native.js +56 -0
- package/dist/esm/helpers/themeable.native.js.map +1 -0
- package/dist/esm/helpers/themes.mjs +15 -0
- package/dist/esm/helpers/themes.mjs.map +1 -0
- package/dist/esm/helpers/themes.native.js +15 -0
- package/dist/esm/helpers/themes.native.js.map +1 -0
- package/dist/esm/helpers/timer.mjs +9 -0
- package/dist/esm/helpers/timer.mjs.map +1 -0
- package/dist/esm/helpers/timer.native.js +9 -0
- package/dist/esm/helpers/timer.native.js.map +1 -0
- package/dist/esm/helpers/transformsToString.mjs +15 -0
- package/dist/esm/helpers/transformsToString.mjs.map +1 -0
- package/dist/esm/helpers/transformsToString.native.js +15 -0
- package/dist/esm/helpers/transformsToString.native.js.map +1 -0
- package/dist/esm/helpers/useRenderElement.mjs +25 -0
- package/dist/esm/helpers/useRenderElement.mjs.map +1 -0
- package/dist/esm/helpers/useRenderElement.native.js +26 -0
- package/dist/esm/helpers/useRenderElement.native.js.map +1 -0
- package/dist/esm/helpers/webPropsToSkip.mjs +3 -0
- package/dist/esm/helpers/webPropsToSkip.mjs.map +1 -0
- package/dist/esm/helpers/webPropsToSkip.native.js +50 -0
- package/dist/esm/helpers/webPropsToSkip.native.js.map +1 -0
- package/dist/esm/helpers/wrapStyleTags.mjs +18 -0
- package/dist/esm/helpers/wrapStyleTags.mjs.map +1 -0
- package/dist/esm/helpers/wrapStyleTags.native.js +3 -0
- package/dist/esm/helpers/wrapStyleTags.native.js.map +1 -0
- package/dist/esm/hooks/doesRootSchemeMatchSystem.mjs +5 -0
- package/dist/esm/hooks/doesRootSchemeMatchSystem.mjs.map +1 -0
- package/dist/esm/hooks/doesRootSchemeMatchSystem.native.js +8 -0
- package/dist/esm/hooks/doesRootSchemeMatchSystem.native.js.map +1 -0
- package/dist/esm/hooks/getThemeProxied.mjs +34 -0
- package/dist/esm/hooks/getThemeProxied.mjs.map +1 -0
- package/dist/esm/hooks/getThemeProxied.native.js +67 -0
- package/dist/esm/hooks/getThemeProxied.native.js.map +1 -0
- package/dist/esm/hooks/useComponentState.mjs +121 -0
- package/dist/esm/hooks/useComponentState.mjs.map +1 -0
- package/dist/esm/hooks/useComponentState.native.js +139 -0
- package/dist/esm/hooks/useComponentState.native.js.map +1 -0
- package/dist/esm/hooks/useDisableSSR.mjs +6 -0
- package/dist/esm/hooks/useDisableSSR.mjs.map +1 -0
- package/dist/esm/hooks/useDisableSSR.native.js +7 -0
- package/dist/esm/hooks/useDisableSSR.native.js.map +1 -0
- package/dist/esm/hooks/useIsTouchDevice.mjs +5 -0
- package/dist/esm/hooks/useIsTouchDevice.mjs.map +1 -0
- package/dist/esm/hooks/useIsTouchDevice.native.js +7 -0
- package/dist/esm/hooks/useIsTouchDevice.native.js.map +1 -0
- package/dist/esm/hooks/useMedia.mjs +145 -0
- package/dist/esm/hooks/useMedia.mjs.map +1 -0
- package/dist/esm/hooks/useMedia.native.js +177 -0
- package/dist/esm/hooks/useMedia.native.js.map +1 -0
- package/dist/esm/hooks/useProps.mjs +78 -0
- package/dist/esm/hooks/useProps.mjs.map +1 -0
- package/dist/esm/hooks/useProps.native.js +80 -0
- package/dist/esm/hooks/useProps.native.js.map +1 -0
- package/dist/esm/hooks/useTheme.mjs +22 -0
- package/dist/esm/hooks/useTheme.mjs.map +1 -0
- package/dist/esm/hooks/useTheme.native.js +26 -0
- package/dist/esm/hooks/useTheme.native.js.map +1 -0
- package/dist/esm/hooks/useThemeName.mjs +14 -0
- package/dist/esm/hooks/useThemeName.mjs.map +1 -0
- package/dist/esm/hooks/useThemeName.native.js +17 -0
- package/dist/esm/hooks/useThemeName.native.js.map +1 -0
- package/dist/esm/hooks/useThemeState.mjs +245 -0
- package/dist/esm/hooks/useThemeState.mjs.map +1 -0
- package/dist/esm/hooks/useThemeState.native.js +356 -0
- package/dist/esm/hooks/useThemeState.native.js.map +1 -0
- package/dist/esm/index.js +74 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/index.mjs +74 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/index.native.js +74 -0
- package/dist/esm/index.native.js.map +1 -0
- package/dist/esm/inject-styles.mjs +14 -0
- package/dist/esm/inject-styles.mjs.map +1 -0
- package/dist/esm/inject-styles.native.js +15 -0
- package/dist/esm/inject-styles.native.js.map +1 -0
- package/dist/esm/insertFont.mjs +49 -0
- package/dist/esm/insertFont.mjs.map +1 -0
- package/dist/esm/insertFont.native.js +46 -0
- package/dist/esm/insertFont.native.js.map +1 -0
- package/dist/esm/interfaces/CSSColorNames.mjs +2 -0
- package/dist/esm/interfaces/CSSColorNames.mjs.map +1 -0
- package/dist/esm/interfaces/CSSColorNames.native.js +2 -0
- package/dist/esm/interfaces/CSSColorNames.native.js.map +1 -0
- package/dist/esm/interfaces/GetRef.mjs +2 -0
- package/dist/esm/interfaces/GetRef.mjs.map +1 -0
- package/dist/esm/interfaces/GetRef.native.js +2 -0
- package/dist/esm/interfaces/GetRef.native.js.map +1 -0
- package/dist/esm/interfaces/GuiComponentEvents.mjs +2 -0
- package/dist/esm/interfaces/GuiComponentEvents.mjs.map +1 -0
- package/dist/esm/interfaces/GuiComponentEvents.native.js +2 -0
- package/dist/esm/interfaces/GuiComponentEvents.native.js.map +1 -0
- package/dist/esm/interfaces/GuiComponentPropsBaseBase.mjs +2 -0
- package/dist/esm/interfaces/GuiComponentPropsBaseBase.mjs.map +1 -0
- package/dist/esm/interfaces/GuiComponentPropsBaseBase.native.js +2 -0
- package/dist/esm/interfaces/GuiComponentPropsBaseBase.native.js.map +1 -0
- package/dist/esm/interfaces/RNExclusiveTypes.mjs +2 -0
- package/dist/esm/interfaces/RNExclusiveTypes.mjs.map +1 -0
- package/dist/esm/interfaces/RNExclusiveTypes.native.js +2 -0
- package/dist/esm/interfaces/RNExclusiveTypes.native.js.map +1 -0
- package/dist/esm/setupHooks.mjs +6 -0
- package/dist/esm/setupHooks.mjs.map +1 -0
- package/dist/esm/setupHooks.native.js +6 -0
- package/dist/esm/setupHooks.native.js.map +1 -0
- package/dist/esm/setupReactNative.mjs +24 -0
- package/dist/esm/setupReactNative.mjs.map +1 -0
- package/dist/esm/setupReactNative.native.js +28 -0
- package/dist/esm/setupReactNative.native.js.map +1 -0
- package/dist/esm/styled.mjs +91 -0
- package/dist/esm/styled.mjs.map +1 -0
- package/dist/esm/styled.native.js +100 -0
- package/dist/esm/styled.native.js.map +1 -0
- package/dist/esm/styledHtml.test-d.mjs +157 -0
- package/dist/esm/styledHtml.test-d.mjs.map +1 -0
- package/dist/esm/styledHtml.test-d.native.js +157 -0
- package/dist/esm/styledHtml.test-d.native.js.map +1 -0
- package/dist/esm/type-utils.mjs +2 -0
- package/dist/esm/type-utils.mjs.map +1 -0
- package/dist/esm/type-utils.native.js +2 -0
- package/dist/esm/type-utils.native.js.map +1 -0
- package/dist/esm/types.mjs +2 -0
- package/dist/esm/types.mjs.map +1 -0
- package/dist/esm/types.native.js +2 -0
- package/dist/esm/types.native.js.map +1 -0
- package/dist/esm/views/Configuration.mjs +16 -0
- package/dist/esm/views/Configuration.mjs.map +1 -0
- package/dist/esm/views/Configuration.native.js +17 -0
- package/dist/esm/views/Configuration.native.js.map +1 -0
- package/dist/esm/views/FontLanguage.mjs +14 -0
- package/dist/esm/views/FontLanguage.mjs.map +1 -0
- package/dist/esm/views/FontLanguage.native.js +20 -0
- package/dist/esm/views/FontLanguage.native.js.map +1 -0
- package/dist/esm/views/GuiProvider.mjs +60 -0
- package/dist/esm/views/GuiProvider.mjs.map +1 -0
- package/dist/esm/views/GuiProvider.native.js +62 -0
- package/dist/esm/views/GuiProvider.native.js.map +1 -0
- package/dist/esm/views/GuiRoot.mjs +34 -0
- package/dist/esm/views/GuiRoot.mjs.map +1 -0
- package/dist/esm/views/GuiRoot.native.js +5 -0
- package/dist/esm/views/GuiRoot.native.js.map +1 -0
- package/dist/esm/views/Slot.mjs +40 -0
- package/dist/esm/views/Slot.mjs.map +1 -0
- package/dist/esm/views/Slot.native.js +43 -0
- package/dist/esm/views/Slot.native.js.map +1 -0
- package/dist/esm/views/Text.mjs +35 -0
- package/dist/esm/views/Text.mjs.map +1 -0
- package/dist/esm/views/Text.native.js +26 -0
- package/dist/esm/views/Text.native.js.map +1 -0
- package/dist/esm/views/Theme.mjs +127 -0
- package/dist/esm/views/Theme.mjs.map +1 -0
- package/dist/esm/views/Theme.native.js +136 -0
- package/dist/esm/views/Theme.native.js.map +1 -0
- package/dist/esm/views/ThemeDebug.mjs +54 -0
- package/dist/esm/views/ThemeDebug.mjs.map +1 -0
- package/dist/esm/views/ThemeDebug.native.js +11 -0
- package/dist/esm/views/ThemeDebug.native.js.map +1 -0
- package/dist/esm/views/ThemeProvider.mjs +29 -0
- package/dist/esm/views/ThemeProvider.mjs.map +1 -0
- package/dist/esm/views/ThemeProvider.native.js +20 -0
- package/dist/esm/views/ThemeProvider.native.js.map +1 -0
- package/dist/esm/views/View.mjs +8 -0
- package/dist/esm/views/View.mjs.map +1 -0
- package/dist/esm/views/View.native.js +8 -0
- package/dist/esm/views/View.native.js.map +1 -0
- package/inject-styles/index.cjs +2 -0
- package/inject-styles/index.js +2 -0
- package/inject-styles.cjs +1 -0
- package/package.json +81 -0
- package/reset.css +59 -0
- package/src/Gui.ts +47 -0
- package/src/_withStableStyle.tsx +55 -0
- package/src/animationDriverTypes.test-d.ts +332 -0
- package/src/config.ts +232 -0
- package/src/constants/accessibilityDirectMap.native.tsx +10 -0
- package/src/constants/accessibilityDirectMap.tsx +11 -0
- package/src/constants/constants.ts +16 -0
- package/src/constants/isDevTools.ts +12 -0
- package/src/contexts/ComponentContext.tsx +16 -0
- package/src/contexts/GroupContext.tsx +4 -0
- package/src/createComponent.tsx +1806 -0
- package/src/createFont.ts +50 -0
- package/src/createGui.ts +363 -0
- package/src/createShorthands.ts +7 -0
- package/src/createTokens.ts +31 -0
- package/src/createVariable.ts +121 -0
- package/src/createVariables.ts +78 -0
- package/src/defaultComponentState.tsx +22 -0
- package/src/eventHandling.native.ts +184 -0
- package/src/eventHandling.ts +44 -0
- package/src/helpers/consoleLog.native.ts +2 -0
- package/src/helpers/createDesignSystem.ts +264 -0
- package/src/helpers/createMediaStyle.ts +167 -0
- package/src/helpers/createStyledContext.tsx +98 -0
- package/src/helpers/defaultAnimationDriver.tsx +23 -0
- package/src/helpers/defaultOffset.ts +1 -0
- package/src/helpers/expandStyle.ts +204 -0
- package/src/helpers/expandStyles.ts +42 -0
- package/src/helpers/getCSSStylesAtomic.native.ts +7 -0
- package/src/helpers/getCSSStylesAtomic.ts +263 -0
- package/src/helpers/getDefaultProps.ts +28 -0
- package/src/helpers/getDynamicVal.ts +63 -0
- package/src/helpers/getExpandedShorthands.ts +23 -0
- package/src/helpers/getFontLanguage.ts +2 -0
- package/src/helpers/getGroupPropParts.ts +46 -0
- package/src/helpers/getShorthandValue.ts +9 -0
- package/src/helpers/getSplitStyles.tsx +1768 -0
- package/src/helpers/getThemeCSSRules.native.ts +3 -0
- package/src/helpers/getThemeCSSRules.ts +192 -0
- package/src/helpers/getTokenForKey.ts +223 -0
- package/src/helpers/getVariantExtras.tsx +67 -0
- package/src/helpers/insertStyleRule.tsx +365 -0
- package/src/helpers/isActivePlatform.ts +14 -0
- package/src/helpers/isActiveTheme.ts +4 -0
- package/src/helpers/isGuiComponent.tsx +11 -0
- package/src/helpers/isGuiElement.tsx +11 -0
- package/src/helpers/isObj.ts +1 -0
- package/src/helpers/log.ts +17 -0
- package/src/helpers/mainThreadPressEvents.native.ts +41 -0
- package/src/helpers/mainThreadPressEvents.ts +6 -0
- package/src/helpers/matchMedia.native.ts +34 -0
- package/src/helpers/matchMedia.ts +17 -0
- package/src/helpers/mediaObjectToString.ts +30 -0
- package/src/helpers/mediaState.ts +32 -0
- package/src/helpers/mergeProps.ts +121 -0
- package/src/helpers/mergeRenderElementProps.ts +17 -0
- package/src/helpers/mergeSlotStyleProps.ts +46 -0
- package/src/helpers/mergeVariants.ts +40 -0
- package/src/helpers/nativeOnlyProps.ts +38 -0
- package/src/helpers/normalizeColor.native.ts +29 -0
- package/src/helpers/normalizeColor.ts +29 -0
- package/src/helpers/normalizeShadow.native.ts +20 -0
- package/src/helpers/normalizeShadow.ts +21 -0
- package/src/helpers/normalizeStyle.ts +42 -0
- package/src/helpers/normalizeStylePropKeys.native.ts +12 -0
- package/src/helpers/normalizeStylePropKeys.ts +3 -0
- package/src/helpers/normalizeValueWithProperty.ts +41 -0
- package/src/helpers/objectIdentityKey.tsx +20 -0
- package/src/helpers/parseBorderShorthand.native.ts +74 -0
- package/src/helpers/parseBorderShorthand.ts +6 -0
- package/src/helpers/parseNativeStyle.ts +193 -0
- package/src/helpers/parseOutlineShorthand.native.ts +62 -0
- package/src/helpers/parseOutlineShorthand.ts +6 -0
- package/src/helpers/platformResolveValue.native.ts +72 -0
- package/src/helpers/platformResolveValue.ts +22 -0
- package/src/helpers/pointerEvents.native.ts +143 -0
- package/src/helpers/pointerEvents.ts +9 -0
- package/src/helpers/propMapper.ts +404 -0
- package/src/helpers/proxyThemeToParents.ts +52 -0
- package/src/helpers/proxyThemeVariables.tsx +13 -0
- package/src/helpers/pseudoDescriptors.ts +74 -0
- package/src/helpers/pseudoTransitions.ts +97 -0
- package/src/helpers/registerCSSVariable.ts +54 -0
- package/src/helpers/resolveAnimationDriver.ts +23 -0
- package/src/helpers/resolveCompoundTokens.ts +28 -0
- package/src/helpers/resolveRem.native.ts +44 -0
- package/src/helpers/resolveRem.ts +17 -0
- package/src/helpers/resolveSafeArea.native.ts +18 -0
- package/src/helpers/resolveSafeArea.ts +10 -0
- package/src/helpers/setElementProps.native.tsx +9 -0
- package/src/helpers/setElementProps.tsx +5 -0
- package/src/helpers/skipProps.ts +35 -0
- package/src/helpers/sortString.ts +1 -0
- package/src/helpers/subscribeToContextGroup.tsx +99 -0
- package/src/helpers/themeable.tsx +104 -0
- package/src/helpers/themes.ts +23 -0
- package/src/helpers/timer.ts +9 -0
- package/src/helpers/transformsToString.ts +20 -0
- package/src/helpers/useRenderElement.tsx +73 -0
- package/src/helpers/webPropsToSkip.native.ts +56 -0
- package/src/helpers/webPropsToSkip.ts +1 -0
- package/src/helpers/wrapStyleTags.tsx +31 -0
- package/src/hooks/doesRootSchemeMatchSystem.native.ts +7 -0
- package/src/hooks/doesRootSchemeMatchSystem.ts +4 -0
- package/src/hooks/getThemeProxied.ts +202 -0
- package/src/hooks/useComponentState.ts +269 -0
- package/src/hooks/useDisableSSR.tsx +6 -0
- package/src/hooks/useIsTouchDevice.tsx +6 -0
- package/src/hooks/useMedia.tsx +298 -0
- package/src/hooks/useProps.tsx +158 -0
- package/src/hooks/useTheme.tsx +48 -0
- package/src/hooks/useThemeName.tsx +10 -0
- package/src/hooks/useThemeState.ts +558 -0
- package/src/index.ts +103 -0
- package/src/inject-styles.ts +20 -0
- package/src/insertFont.ts +81 -0
- package/src/interfaces/CSSColorNames.tsx +149 -0
- package/src/interfaces/GetRef.tsx +24 -0
- package/src/interfaces/GuiComponentEvents.tsx +18 -0
- package/src/interfaces/GuiComponentPropsBaseBase.tsx +124 -0
- package/src/interfaces/RNExclusiveTypes.ts +59 -0
- package/src/setupHooks.ts +27 -0
- package/src/setupReactNative.ts +60 -0
- package/src/styled.tsx +602 -0
- package/src/styledHtml.test-d.ts +286 -0
- package/src/type-utils.ts +30 -0
- package/src/types.tsx +3364 -0
- package/src/views/Configuration.tsx +20 -0
- package/src/views/FontLanguage.native.tsx +13 -0
- package/src/views/FontLanguage.tsx +18 -0
- package/src/views/GuiProvider.tsx +95 -0
- package/src/views/GuiRoot.native.tsx +9 -0
- package/src/views/GuiRoot.tsx +64 -0
- package/src/views/Slot.tsx +86 -0
- package/src/views/Text.tsx +71 -0
- package/src/views/Theme.tsx +246 -0
- package/src/views/ThemeDebug.native.tsx +17 -0
- package/src/views/ThemeDebug.tsx +95 -0
- package/src/views/ThemeProvider.tsx +45 -0
- package/src/views/View.tsx +25 -0
- package/tsconfig.json +44 -0
- package/tsconfig.test.json +9 -0
- package/types/Gui.d.ts +15 -0
- package/types/_withStableStyle.d.ts +4 -0
- package/types/config.d.ts +72 -0
- package/types/constants/accessibilityDirectMap.d.ts +6 -0
- package/types/constants/accessibilityDirectMap.native.d.ts +6 -0
- package/types/constants/constants.d.ts +5 -0
- package/types/constants/isDevTools.d.ts +2 -0
- package/types/contexts/ComponentContext.d.ts +4 -0
- package/types/contexts/GroupContext.d.ts +3 -0
- package/types/createComponent.d.ts +7 -0
- package/types/createFont.d.ts +3 -0
- package/types/createGui.d.ts +3 -0
- package/types/createShorthands.d.ts +3 -0
- package/types/createTokens.d.ts +22 -0
- package/types/createVariable.d.ts +22 -0
- package/types/createVariables.d.ts +10 -0
- package/types/defaultComponentState.d.ts +5 -0
- package/types/eventHandling.d.ts +27 -0
- package/types/eventHandling.native.d.ts +12 -0
- package/types/helpers/consoleLog.native.d.ts +7 -0
- package/types/helpers/createDesignSystem.d.ts +47 -0
- package/types/helpers/createMediaStyle.d.ts +5 -0
- package/types/helpers/createStyledContext.d.ts +3 -0
- package/types/helpers/defaultAnimationDriver.d.ts +3 -0
- package/types/helpers/defaultOffset.d.ts +5 -0
- package/types/helpers/expandStyle.d.ts +7 -0
- package/types/helpers/expandStyles.d.ts +2 -0
- package/types/helpers/getCSSStylesAtomic.d.ts +11 -0
- package/types/helpers/getCSSStylesAtomic.native.d.ts +4 -0
- package/types/helpers/getDefaultProps.d.ts +3 -0
- package/types/helpers/getDynamicVal.d.ts +16 -0
- package/types/helpers/getExpandedShorthands.d.ts +7 -0
- package/types/helpers/getFontLanguage.d.ts +2 -0
- package/types/helpers/getGroupPropParts.d.ts +7 -0
- package/types/helpers/getShorthandValue.d.ts +2 -0
- package/types/helpers/getSplitStyles.d.ts +13 -0
- package/types/helpers/getThemeCSSRules.d.ts +10 -0
- package/types/helpers/getThemeCSSRules.native.d.ts +2 -0
- package/types/helpers/getTokenForKey.d.ts +6 -0
- package/types/helpers/getVariantExtras.d.ts +4 -0
- package/types/helpers/insertStyleRule.d.ts +10 -0
- package/types/helpers/isActivePlatform.d.ts +2 -0
- package/types/helpers/isActiveTheme.d.ts +2 -0
- package/types/helpers/isGuiComponent.d.ts +5 -0
- package/types/helpers/isGuiElement.d.ts +8 -0
- package/types/helpers/isObj.d.ts +2 -0
- package/types/helpers/log.d.ts +2 -0
- package/types/helpers/mainThreadPressEvents.d.ts +2 -0
- package/types/helpers/mainThreadPressEvents.native.d.ts +10 -0
- package/types/helpers/matchMedia.d.ts +6 -0
- package/types/helpers/matchMedia.native.d.ts +4 -0
- package/types/helpers/mediaObjectToString.d.ts +3 -0
- package/types/helpers/mediaState.d.ts +7 -0
- package/types/helpers/mergeProps.d.ts +20 -0
- package/types/helpers/mergeRenderElementProps.d.ts +7 -0
- package/types/helpers/mergeSlotStyleProps.d.ts +10 -0
- package/types/helpers/mergeVariants.d.ts +3 -0
- package/types/helpers/nativeOnlyProps.d.ts +39 -0
- package/types/helpers/normalizeColor.d.ts +8 -0
- package/types/helpers/normalizeColor.native.d.ts +9 -0
- package/types/helpers/normalizeShadow.d.ts +10 -0
- package/types/helpers/normalizeShadow.native.d.ts +10 -0
- package/types/helpers/normalizeStyle.d.ts +9 -0
- package/types/helpers/normalizeStylePropKeys.d.ts +2 -0
- package/types/helpers/normalizeStylePropKeys.native.d.ts +13 -0
- package/types/helpers/normalizeValueWithProperty.d.ts +6 -0
- package/types/helpers/objectIdentityKey.d.ts +2 -0
- package/types/helpers/parseBorderShorthand.d.ts +3 -0
- package/types/helpers/parseBorderShorthand.native.d.ts +3 -0
- package/types/helpers/parseNativeStyle.d.ts +14 -0
- package/types/helpers/parseOutlineShorthand.d.ts +3 -0
- package/types/helpers/parseOutlineShorthand.native.d.ts +3 -0
- package/types/helpers/platformResolveValue.d.ts +6 -0
- package/types/helpers/platformResolveValue.native.d.ts +7 -0
- package/types/helpers/pointerEvents.d.ts +8 -0
- package/types/helpers/pointerEvents.native.d.ts +2 -0
- package/types/helpers/propMapper.d.ts +5 -0
- package/types/helpers/proxyThemeToParents.d.ts +4 -0
- package/types/helpers/proxyThemeVariables.d.ts +2 -0
- package/types/helpers/pseudoDescriptors.d.ts +51 -0
- package/types/helpers/pseudoTransitions.d.ts +29 -0
- package/types/helpers/registerCSSVariable.d.ts +9 -0
- package/types/helpers/resolveAnimationDriver.d.ts +7 -0
- package/types/helpers/resolveCompoundTokens.d.ts +9 -0
- package/types/helpers/resolveRem.d.ts +13 -0
- package/types/helpers/resolveRem.native.d.ts +13 -0
- package/types/helpers/resolveSafeArea.d.ts +2 -0
- package/types/helpers/resolveSafeArea.native.d.ts +2 -0
- package/types/helpers/setElementProps.d.ts +2 -0
- package/types/helpers/setElementProps.native.d.ts +2 -0
- package/types/helpers/skipProps.d.ts +19 -0
- package/types/helpers/sortString.d.ts +2 -0
- package/types/helpers/subscribeToContextGroup.d.ts +10 -0
- package/types/helpers/themeable.d.ts +3 -0
- package/types/helpers/themes.d.ts +2 -0
- package/types/helpers/timer.d.ts +2 -0
- package/types/helpers/transformsToString.d.ts +2 -0
- package/types/helpers/useRenderElement.d.ts +13 -0
- package/types/helpers/webPropsToSkip.d.ts +2 -0
- package/types/helpers/webPropsToSkip.native.d.ts +104 -0
- package/types/helpers/wrapStyleTags.d.ts +3 -0
- package/types/hooks/doesRootSchemeMatchSystem.d.ts +2 -0
- package/types/hooks/doesRootSchemeMatchSystem.native.d.ts +2 -0
- package/types/hooks/getThemeProxied.d.ts +23 -0
- package/types/hooks/useComponentState.d.ts +25 -0
- package/types/hooks/useDisableSSR.d.ts +3 -0
- package/types/hooks/useIsTouchDevice.d.ts +2 -0
- package/types/hooks/useMedia.d.ts +23 -0
- package/types/hooks/useProps.d.ts +41 -0
- package/types/hooks/useTheme.d.ts +9 -0
- package/types/hooks/useThemeName.d.ts +3 -0
- package/types/hooks/useThemeState.d.ts +11 -0
- package/types/index.d.ts +77 -0
- package/types/inject-styles.d.ts +7 -0
- package/types/insertFont.d.ts +10 -0
- package/types/interfaces/CSSColorNames.d.ts +2 -0
- package/types/interfaces/GetRef.d.ts +6 -0
- package/types/interfaces/GuiComponentEvents.d.ts +19 -0
- package/types/interfaces/GuiComponentPropsBaseBase.d.ts +95 -0
- package/types/interfaces/RNExclusiveTypes.d.ts +22 -0
- package/types/setupHooks.d.ts +17 -0
- package/types/setupReactNative.d.ts +5 -0
- package/types/styled.d.ts +53 -0
- package/types/type-utils.d.ts +13 -0
- package/types/types.d.ts +1929 -0
- package/types/views/Configuration.d.ts +10 -0
- package/types/views/FontLanguage.d.ts +6 -0
- package/types/views/FontLanguage.native.d.ts +3 -0
- package/types/views/GuiProvider.d.ts +3 -0
- package/types/views/GuiRoot.d.ts +15 -0
- package/types/views/GuiRoot.native.d.ts +7 -0
- package/types/views/Slot.d.ts +13 -0
- package/types/views/Text.d.ts +4 -0
- package/types/views/Theme.d.ts +16 -0
- package/types/views/ThemeDebug.d.ts +10 -0
- package/types/views/ThemeDebug.native.d.ts +10 -0
- package/types/views/ThemeProvider.d.ts +3 -0
- package/types/views/View.d.ts +8 -0
- package/vitest.config.d.ts +3 -0
- package/vitest.config.d.ts.map +1 -0
- package/vitest.config.ts +14 -0
|
@@ -0,0 +1,558 @@
|
|
|
1
|
+
import { isIos } from '@hanzogui/constants'
|
|
2
|
+
import { useIsomorphicLayoutEffect } from '@hanzogui/constants'
|
|
3
|
+
import {
|
|
4
|
+
createContext,
|
|
5
|
+
useCallback,
|
|
6
|
+
useContext,
|
|
7
|
+
useId,
|
|
8
|
+
useSyncExternalStore,
|
|
9
|
+
type MutableRefObject,
|
|
10
|
+
} from 'react'
|
|
11
|
+
import { getConfig, getSetting } from '../config'
|
|
12
|
+
import { MISSING_THEME_MESSAGE } from '../constants/constants'
|
|
13
|
+
import type {
|
|
14
|
+
ThemeParsed,
|
|
15
|
+
ThemeProps,
|
|
16
|
+
ThemeState,
|
|
17
|
+
UseThemeWithStateProps,
|
|
18
|
+
} from '../types'
|
|
19
|
+
|
|
20
|
+
type ID = string
|
|
21
|
+
|
|
22
|
+
export const ThemeStateContext = createContext<ID>('')
|
|
23
|
+
|
|
24
|
+
const allListeners = new Map<ID, Function>()
|
|
25
|
+
const listenersByParent: Record<ID, Set<ID>> = {}
|
|
26
|
+
const HasRenderedOnce = new WeakMap<object, boolean>()
|
|
27
|
+
const HadTheme = new WeakMap<object, boolean>()
|
|
28
|
+
const PendingUpdate = new Map<any, boolean | 'force'>()
|
|
29
|
+
|
|
30
|
+
// TODO this will gain memory over time but its not going to be a ton
|
|
31
|
+
const states: Map<ID, ThemeState | undefined> = new Map()
|
|
32
|
+
const localStates: Map<ID, ThemeState | undefined> = new Map()
|
|
33
|
+
|
|
34
|
+
let shouldForce = false
|
|
35
|
+
export const forceUpdateThemes = () => {
|
|
36
|
+
cacheVersion++
|
|
37
|
+
shouldForce = true
|
|
38
|
+
allListeners.forEach((cb) => cb())
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export const getThemeState = (id: ID) => states.get(id)
|
|
42
|
+
|
|
43
|
+
let cacheVersion = 0
|
|
44
|
+
|
|
45
|
+
// cache for getNewThemeName - invalidated on cacheVersion change
|
|
46
|
+
const themeNameCache = new Map<string, string | null>()
|
|
47
|
+
let themeNameCacheVer = -1
|
|
48
|
+
|
|
49
|
+
let themes: Record<string, ThemeParsed> | null = null
|
|
50
|
+
|
|
51
|
+
let rootThemeState: ThemeState | null = null
|
|
52
|
+
export const getRootThemeState = () => rootThemeState
|
|
53
|
+
|
|
54
|
+
// extracts base name without scheme: "light_red_surface1" -> "red_surface1"
|
|
55
|
+
const getThemeBaseName = (name: string) => name.replace(/^(light|dark)_/, '')
|
|
56
|
+
|
|
57
|
+
export const useThemeState = (
|
|
58
|
+
props: UseThemeWithStateProps,
|
|
59
|
+
isRoot = false,
|
|
60
|
+
keys: MutableRefObject<Set<string> | null>,
|
|
61
|
+
schemeKeys?: MutableRefObject<Set<string> | null>
|
|
62
|
+
): ThemeState => {
|
|
63
|
+
'use no memo'
|
|
64
|
+
|
|
65
|
+
const { disable } = props
|
|
66
|
+
const parentId = useContext(ThemeStateContext)
|
|
67
|
+
|
|
68
|
+
if (!parentId && !isRoot) {
|
|
69
|
+
throw new Error(
|
|
70
|
+
process.env.NODE_ENV === 'development'
|
|
71
|
+
? `${MISSING_THEME_MESSAGE}
|
|
72
|
+
|
|
73
|
+
Looked for theme${props.name ? ` "${props.name}"` : ''}${props.componentName ? ` (component: ${props.componentName})` : ''}, but no parent theme context was found (parentId: ${parentId}).`
|
|
74
|
+
: MISSING_THEME_MESSAGE
|
|
75
|
+
)
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
if (disable) {
|
|
79
|
+
return (
|
|
80
|
+
states.get(parentId) || {
|
|
81
|
+
id: '',
|
|
82
|
+
name: 'light',
|
|
83
|
+
theme: getConfig().themes.light,
|
|
84
|
+
// inverses: 0,
|
|
85
|
+
}
|
|
86
|
+
)
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
const id = useId()
|
|
90
|
+
const subscribe = useCallback(
|
|
91
|
+
(cb: Function) => {
|
|
92
|
+
listenersByParent[parentId] = listenersByParent[parentId] || new Set()
|
|
93
|
+
listenersByParent[parentId].add(id)
|
|
94
|
+
allListeners.set(id, () => {
|
|
95
|
+
PendingUpdate.set(id, shouldForce ? 'force' : true)
|
|
96
|
+
cb()
|
|
97
|
+
})
|
|
98
|
+
return () => {
|
|
99
|
+
allListeners.delete(id)
|
|
100
|
+
listenersByParent[parentId].delete(id)
|
|
101
|
+
localStates.delete(id)
|
|
102
|
+
states.delete(id)
|
|
103
|
+
PendingUpdate.delete(id)
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
[id, parentId]
|
|
107
|
+
)
|
|
108
|
+
|
|
109
|
+
const propsKey = getPropsKey(props)
|
|
110
|
+
|
|
111
|
+
const getSnapshot = () => {
|
|
112
|
+
let local = localStates.get(id)
|
|
113
|
+
const parentState = states.get(parentId)
|
|
114
|
+
|
|
115
|
+
// fast path: nothing changed since last snapshot
|
|
116
|
+
if (local && !PendingUpdate.has(id)) {
|
|
117
|
+
if (
|
|
118
|
+
parentState &&
|
|
119
|
+
(local as any)._parentName === parentState.name &&
|
|
120
|
+
(local as any)._propsKey === propsKey
|
|
121
|
+
) {
|
|
122
|
+
return local
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
// check if this is a scheme-only change (light↔dark) where DynamicColorIOS handles it
|
|
127
|
+
const isSchemeOnlyChange =
|
|
128
|
+
process.env.HANZO_GUI_TARGET === 'native' &&
|
|
129
|
+
isIos &&
|
|
130
|
+
getSetting('fastSchemeChange') &&
|
|
131
|
+
local &&
|
|
132
|
+
parentState &&
|
|
133
|
+
local.scheme !== parentState.scheme &&
|
|
134
|
+
getThemeBaseName(local.name) === getThemeBaseName(parentState.name)
|
|
135
|
+
|
|
136
|
+
// all tracked keys are scheme-optimized = can skip re-render for scheme changes
|
|
137
|
+
const keysSize = keys?.current?.size ?? 0
|
|
138
|
+
const schemeKeysSize = schemeKeys?.current?.size ?? 0
|
|
139
|
+
const allKeysSchemeOptimized = schemeKeysSize === keysSize && keysSize > 0
|
|
140
|
+
|
|
141
|
+
const canSkipForSchemeChange = isSchemeOnlyChange && allKeysSchemeOptimized
|
|
142
|
+
|
|
143
|
+
const needsUpdate = props.passThrough
|
|
144
|
+
? false
|
|
145
|
+
: isRoot || props.name === 'light' || props.name === 'dark' || props.name === null
|
|
146
|
+
? true
|
|
147
|
+
: !HasRenderedOnce.get(keys)
|
|
148
|
+
? true
|
|
149
|
+
: canSkipForSchemeChange
|
|
150
|
+
? false // skip re-render for scheme-only changes with DynamicColorIOS
|
|
151
|
+
: keys?.current?.size
|
|
152
|
+
? true
|
|
153
|
+
: props.needsUpdate?.()
|
|
154
|
+
|
|
155
|
+
const [rerender, next] = getNextState(
|
|
156
|
+
local,
|
|
157
|
+
props,
|
|
158
|
+
propsKey,
|
|
159
|
+
isRoot,
|
|
160
|
+
id,
|
|
161
|
+
parentId,
|
|
162
|
+
needsUpdate,
|
|
163
|
+
PendingUpdate.get(id)
|
|
164
|
+
)
|
|
165
|
+
|
|
166
|
+
PendingUpdate.delete(id)
|
|
167
|
+
|
|
168
|
+
// we always create a new localState for every component
|
|
169
|
+
// that way we can use it to de-opt and avoid renders granularly
|
|
170
|
+
// we always return the localState object in each component
|
|
171
|
+
// the global state (states) should always be up to date with the latest
|
|
172
|
+
if (!local || rerender) {
|
|
173
|
+
local = { ...next }
|
|
174
|
+
localStates.set(id, local)
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
if (process.env.NODE_ENV === 'development' && props.debug === 'verbose') {
|
|
178
|
+
console.groupCollapsed(` ${id} getSnapshot ${rerender}`, local.name, '>', next.name)
|
|
179
|
+
console.info({
|
|
180
|
+
props,
|
|
181
|
+
propsKey,
|
|
182
|
+
isRoot,
|
|
183
|
+
parentId,
|
|
184
|
+
local,
|
|
185
|
+
next,
|
|
186
|
+
needsUpdate,
|
|
187
|
+
isSchemeOnlyChange,
|
|
188
|
+
allKeysSchemeOptimized,
|
|
189
|
+
canSkipForSchemeChange,
|
|
190
|
+
})
|
|
191
|
+
console.groupEnd()
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
if (next !== local) {
|
|
195
|
+
Object.assign(local, next)
|
|
196
|
+
local.id = id
|
|
197
|
+
}
|
|
198
|
+
;(local as any)._parentName = parentState?.name
|
|
199
|
+
;(local as any)._propsKey = propsKey
|
|
200
|
+
states.set(id, next)
|
|
201
|
+
|
|
202
|
+
return local
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
if (process.env.NODE_ENV === 'development' && globalThis.time)
|
|
206
|
+
globalThis.time`theme-prep-uses`
|
|
207
|
+
|
|
208
|
+
const state = useSyncExternalStore(subscribe, getSnapshot, getSnapshot)
|
|
209
|
+
|
|
210
|
+
useIsomorphicLayoutEffect(() => {
|
|
211
|
+
if (!HasRenderedOnce.get(keys)) {
|
|
212
|
+
HasRenderedOnce.set(keys, true)
|
|
213
|
+
return
|
|
214
|
+
}
|
|
215
|
+
if (!propsKey) {
|
|
216
|
+
if (HadTheme.get(keys)) {
|
|
217
|
+
// we're removing the last theme, make sure to notify
|
|
218
|
+
scheduleUpdate(id)
|
|
219
|
+
}
|
|
220
|
+
HadTheme.set(keys, false)
|
|
221
|
+
return
|
|
222
|
+
}
|
|
223
|
+
if (process.env.NODE_ENV === 'development' && props.debug === 'verbose') {
|
|
224
|
+
console.warn(` · useTheme(${id}) scheduleUpdate`, propsKey, states.get(id)?.name)
|
|
225
|
+
}
|
|
226
|
+
scheduleUpdate(id)
|
|
227
|
+
HadTheme.set(keys, true)
|
|
228
|
+
}, [keys, propsKey])
|
|
229
|
+
|
|
230
|
+
return state
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
const getNextState = (
|
|
234
|
+
lastState: ThemeState | undefined,
|
|
235
|
+
props: UseThemeWithStateProps,
|
|
236
|
+
propsKey: string,
|
|
237
|
+
isRoot = false,
|
|
238
|
+
id: string,
|
|
239
|
+
parentId: string,
|
|
240
|
+
needsUpdate: boolean | undefined,
|
|
241
|
+
pendingUpdate: boolean | 'force' | undefined
|
|
242
|
+
): [boolean, ThemeState] => {
|
|
243
|
+
const { debug } = props
|
|
244
|
+
const parentState = states.get(parentId)
|
|
245
|
+
|
|
246
|
+
if (props.passThrough) {
|
|
247
|
+
return [false, lastState || parentState || ({ name: '' } as any)]
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
if (!themes) {
|
|
251
|
+
themes = getConfig().themes
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
const name =
|
|
255
|
+
!propsKey && (!lastState || !lastState?.isNew)
|
|
256
|
+
? null
|
|
257
|
+
: getNewThemeName(
|
|
258
|
+
parentState?.name,
|
|
259
|
+
props,
|
|
260
|
+
pendingUpdate === 'force' ? true : !!needsUpdate
|
|
261
|
+
)
|
|
262
|
+
const isSameAsParent = parentState && (!name || name === parentState.name)
|
|
263
|
+
const shouldRerender = Boolean(
|
|
264
|
+
pendingUpdate === 'force' ||
|
|
265
|
+
(needsUpdate && (pendingUpdate || lastState?.name !== parentState?.name))
|
|
266
|
+
)
|
|
267
|
+
|
|
268
|
+
if (process.env.NODE_ENV === 'development' && debug === 'verbose') {
|
|
269
|
+
const message = ` · useTheme(${id}) getNextState => ${name} needsUpdate ${needsUpdate} shouldRerender ${shouldRerender}`
|
|
270
|
+
if (process.env.HANZO_GUI_TARGET === 'native') {
|
|
271
|
+
console.info(message)
|
|
272
|
+
} else {
|
|
273
|
+
console.groupCollapsed(message)
|
|
274
|
+
console.trace({ name, lastState, parentState, props, propsKey, id, isSameAsParent })
|
|
275
|
+
console.groupEnd()
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
if (isSameAsParent) {
|
|
280
|
+
if (!shouldRerender && lastState && lastState.name === parentState!.name) {
|
|
281
|
+
return [false, lastState]
|
|
282
|
+
}
|
|
283
|
+
return [shouldRerender, { ...parentState, isNew: false }]
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
if (!name) {
|
|
287
|
+
const next = lastState ?? parentState
|
|
288
|
+
|
|
289
|
+
if (!next) {
|
|
290
|
+
throw new Error(
|
|
291
|
+
process.env.NODE_ENV === 'development'
|
|
292
|
+
? `${MISSING_THEME_MESSAGE}
|
|
293
|
+
|
|
294
|
+
Looked for theme${props.name ? ` "${props.name}"` : ''}${props.componentName ? ` (component: ${props.componentName})` : ''}, but no theme state was resolved (parentId: ${parentId}, id: ${id}).`
|
|
295
|
+
: MISSING_THEME_MESSAGE
|
|
296
|
+
)
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
if (shouldRerender) {
|
|
300
|
+
const updated = { ...(parentState || lastState)! }
|
|
301
|
+
return [true, updated]
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
return [false, next]
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
const scheme = getScheme(name)
|
|
308
|
+
// const parentInverses = parentState?.inverses ?? 0
|
|
309
|
+
const isInverse = parentState && scheme !== parentState.scheme
|
|
310
|
+
// const inverses = parentInverses + (isInverse ? 1 : 0)
|
|
311
|
+
|
|
312
|
+
const nextState = {
|
|
313
|
+
id,
|
|
314
|
+
name,
|
|
315
|
+
theme: themes[name],
|
|
316
|
+
scheme,
|
|
317
|
+
parentId,
|
|
318
|
+
parentName: parentState?.name,
|
|
319
|
+
// inverses,
|
|
320
|
+
isInverse,
|
|
321
|
+
isNew: true,
|
|
322
|
+
} satisfies ThemeState
|
|
323
|
+
|
|
324
|
+
if (isRoot) {
|
|
325
|
+
rootThemeState = nextState
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
if (pendingUpdate !== 'force' && lastState && lastState.name === name) {
|
|
329
|
+
return [false, nextState]
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
const shouldAvoidRerender =
|
|
333
|
+
pendingUpdate !== 'force' &&
|
|
334
|
+
lastState &&
|
|
335
|
+
!needsUpdate &&
|
|
336
|
+
nextState.name === lastState.name
|
|
337
|
+
|
|
338
|
+
if (process.env.NODE_ENV === 'development' && debug === 'verbose') {
|
|
339
|
+
console.groupCollapsed(
|
|
340
|
+
` · useTheme(${id}) ⏭️ ${name} shouldAvoidRerender: ${shouldAvoidRerender}`
|
|
341
|
+
)
|
|
342
|
+
console.info({ lastState, needsUpdate, nextState, pendingUpdate })
|
|
343
|
+
console.groupEnd()
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
// we still update the state (not changing identity), that way children can properly resolve the right state
|
|
347
|
+
// but this one wont trigger an update
|
|
348
|
+
if (shouldAvoidRerender) {
|
|
349
|
+
return [false, nextState]
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
return [true, nextState]
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
function scheduleUpdate(id: string) {
|
|
356
|
+
const queue = [id]
|
|
357
|
+
const visited = new Set<string>()
|
|
358
|
+
|
|
359
|
+
while (queue.length) {
|
|
360
|
+
const parent = queue.shift()!
|
|
361
|
+
const children = listenersByParent[parent]
|
|
362
|
+
if (children) {
|
|
363
|
+
for (const childId of children) {
|
|
364
|
+
if (!visited.has(childId)) {
|
|
365
|
+
visited.add(childId)
|
|
366
|
+
queue.push(childId)
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
visited.forEach((childId) => {
|
|
373
|
+
const cb = allListeners.get(childId)
|
|
374
|
+
cb?.()
|
|
375
|
+
})
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
const validSchemes = {
|
|
379
|
+
light: 'light',
|
|
380
|
+
dark: 'dark',
|
|
381
|
+
} as const
|
|
382
|
+
|
|
383
|
+
function getScheme(name: string) {
|
|
384
|
+
return validSchemes[name.split('_')[0]]
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
function getNewThemeName(
|
|
388
|
+
parentName = '',
|
|
389
|
+
props: UseThemeWithStateProps,
|
|
390
|
+
forceUpdate = false
|
|
391
|
+
): string | null {
|
|
392
|
+
const { name, reset } = props
|
|
393
|
+
const componentName = props.unstyled ? undefined : props.componentName
|
|
394
|
+
|
|
395
|
+
if (name && reset) {
|
|
396
|
+
throw new Error(
|
|
397
|
+
process.env.NODE_ENV === 'production'
|
|
398
|
+
? `❌004`
|
|
399
|
+
: 'Cannot reset and set a new name at the same time.'
|
|
400
|
+
)
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
// check cache
|
|
404
|
+
const cacheKey = `${parentName}|${name || ''}|${componentName || ''}|${reset ? 1 : 0}|${forceUpdate ? 1 : 0}`
|
|
405
|
+
if (themeNameCacheVer !== cacheVersion) {
|
|
406
|
+
themeNameCache.clear()
|
|
407
|
+
themeNameCacheVer = cacheVersion
|
|
408
|
+
} else {
|
|
409
|
+
const cached = themeNameCache.get(cacheKey)
|
|
410
|
+
if (cached !== undefined) return cached
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
const { themes } = getConfig()
|
|
414
|
+
|
|
415
|
+
if (reset) {
|
|
416
|
+
// For reset, we need to go back to the grandparent theme
|
|
417
|
+
// If parentName is just a scheme (like "dark" or "light"),
|
|
418
|
+
// we should return the opposite scheme or a default
|
|
419
|
+
const isSchemeOnly = parentName === 'light' || parentName === 'dark'
|
|
420
|
+
if (isSchemeOnly) {
|
|
421
|
+
// If parent is just a scheme, go to the opposite scheme
|
|
422
|
+
const result = parentName === 'light' ? 'dark' : 'light'
|
|
423
|
+
themeNameCache.set(cacheKey, result)
|
|
424
|
+
return result
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
// For compound themes like "dark_blue", extract the scheme
|
|
428
|
+
const lastPartIndex = parentName.lastIndexOf('_')
|
|
429
|
+
// parentName will have format light_{name} or dark_{name}
|
|
430
|
+
const name = lastPartIndex <= 0 ? parentName : parentName.slice(lastPartIndex)
|
|
431
|
+
const scheme = parentName.slice(0, lastPartIndex)
|
|
432
|
+
const result = themes[name] ? name : scheme
|
|
433
|
+
themeNameCache.set(cacheKey, result)
|
|
434
|
+
return result
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
const parentParts = parentName.split('_')
|
|
438
|
+
|
|
439
|
+
// always remove component theme if it exists, we never sub a component theme
|
|
440
|
+
const lastName = parentParts[parentParts.length - 1]
|
|
441
|
+
if (lastName && lastName[0].toLowerCase() !== lastName[0]) {
|
|
442
|
+
parentParts.pop()
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
const subNames = [
|
|
446
|
+
name && componentName ? `${name}_${componentName}` : undefined,
|
|
447
|
+
name,
|
|
448
|
+
componentName,
|
|
449
|
+
].filter(Boolean) as string[]
|
|
450
|
+
|
|
451
|
+
let found: string | null = null
|
|
452
|
+
|
|
453
|
+
// If name is provided, try it as a standalone theme first (both with and without scheme)
|
|
454
|
+
// This allows explicit theme overrides like:
|
|
455
|
+
// - <Theme name="blue"><Button theme="dark_green"> → finds "dark_green_Button"
|
|
456
|
+
// - <Theme name="blue"><Button theme="green"> → finds "light_green_Button"
|
|
457
|
+
// - <Theme name="blue"><Button theme="green_active"> → finds "light_green_active_Button"
|
|
458
|
+
if (name) {
|
|
459
|
+
// First try the exact name as-is, but only if it already has a scheme prefix
|
|
460
|
+
// This prevents "green" from matching before we try "light_green_Button"
|
|
461
|
+
const nameHasScheme = getScheme(name)
|
|
462
|
+
|
|
463
|
+
if (nameHasScheme) {
|
|
464
|
+
// Name has scheme (like "dark_green"), try as-is with priority to component theme
|
|
465
|
+
for (const subName of subNames) {
|
|
466
|
+
if (subName in themes) {
|
|
467
|
+
found = subName
|
|
468
|
+
break
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
// If not found and name doesn't have a scheme, try adding parent's scheme
|
|
474
|
+
if (!found && !nameHasScheme) {
|
|
475
|
+
const parentScheme = getScheme(parentName)
|
|
476
|
+
|
|
477
|
+
if (parentScheme) {
|
|
478
|
+
// Try progressively shorter parent bases to preserve color context
|
|
479
|
+
// For parent "light_blue_surface1" + name "surface3":
|
|
480
|
+
// Try: light_blue_surface1_surface3, light_blue_surface3, light_surface3
|
|
481
|
+
// This ensures color context (blue) is preserved before falling back to scheme-only
|
|
482
|
+
|
|
483
|
+
// Build list of potential bases from most specific to least specific
|
|
484
|
+
const potentialBases: string[] = []
|
|
485
|
+
for (let i = parentParts.length; i >= 1; i--) {
|
|
486
|
+
potentialBases.push(parentParts.slice(0, i).join('_'))
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
outer: for (const base of potentialBases) {
|
|
490
|
+
// Try with componentName first, then without
|
|
491
|
+
const candidates = [
|
|
492
|
+
componentName ? `${base}_${name}_${componentName}` : undefined,
|
|
493
|
+
`${base}_${name}`,
|
|
494
|
+
].filter(Boolean) as string[]
|
|
495
|
+
|
|
496
|
+
for (const potential of candidates) {
|
|
497
|
+
if (potential in themes) {
|
|
498
|
+
found = potential
|
|
499
|
+
break outer
|
|
500
|
+
}
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
// If not found, fall back to the original search algorithm combining with parent
|
|
508
|
+
if (!found) {
|
|
509
|
+
// If we're only adding componentName (no explicit name prop), don't backtrack through parent parts
|
|
510
|
+
// This preserves sub-themes like "light_red_surface1" when adding Button component
|
|
511
|
+
if (!name && componentName) {
|
|
512
|
+
// Just try adding component to full parent
|
|
513
|
+
const potential = `${parentParts.join('_')}_${componentName}`
|
|
514
|
+
if (potential in themes) {
|
|
515
|
+
found = potential
|
|
516
|
+
}
|
|
517
|
+
// If not found, don't add component theme - return null to keep parent theme
|
|
518
|
+
} else {
|
|
519
|
+
// Original backtracking search for when explicit name is provided
|
|
520
|
+
const max = parentParts.length
|
|
521
|
+
|
|
522
|
+
for (let i = 0; i <= max; i++) {
|
|
523
|
+
const base = (i === 0 ? parentParts : parentParts.slice(0, -i)).join('_')
|
|
524
|
+
|
|
525
|
+
for (const subName of subNames) {
|
|
526
|
+
const potential = base ? `${base}_${subName}` : subName
|
|
527
|
+
|
|
528
|
+
if (potential in themes) {
|
|
529
|
+
found = potential
|
|
530
|
+
break
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
|
|
534
|
+
if (found) break
|
|
535
|
+
}
|
|
536
|
+
}
|
|
537
|
+
}
|
|
538
|
+
|
|
539
|
+
if (
|
|
540
|
+
!forceUpdate &&
|
|
541
|
+
found === parentName &&
|
|
542
|
+
// if its a scheme only sub-theme, we always consider it "new" because it likely inverses
|
|
543
|
+
// and we want to avoid reparenting
|
|
544
|
+
!validSchemes[found]
|
|
545
|
+
) {
|
|
546
|
+
themeNameCache.set(cacheKey, null)
|
|
547
|
+
return null
|
|
548
|
+
}
|
|
549
|
+
|
|
550
|
+
themeNameCache.set(cacheKey, found)
|
|
551
|
+
return found
|
|
552
|
+
}
|
|
553
|
+
|
|
554
|
+
const getPropsKey = ({ name, reset, forceClassName, componentName }: ThemeProps) =>
|
|
555
|
+
`${name || ''}${reset || ''}${forceClassName || ''}${componentName || ''}`
|
|
556
|
+
|
|
557
|
+
export const hasThemeUpdatingProps = (props: ThemeProps) =>
|
|
558
|
+
'name' in props || 'reset' in props || 'forceClassName' in props
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
export * from './contexts/ComponentContext'
|
|
2
|
+
export * from './contexts/GroupContext'
|
|
3
|
+
|
|
4
|
+
export * from '@hanzogui/is-equal-shallow'
|
|
5
|
+
export * from './_withStableStyle'
|
|
6
|
+
export * from './createComponent'
|
|
7
|
+
export * from './helpers/createMediaStyle'
|
|
8
|
+
export * from './helpers/createStyledContext'
|
|
9
|
+
export * from './helpers/getDefaultProps'
|
|
10
|
+
export * from './helpers/expandStyles'
|
|
11
|
+
export * from './helpers/getCSSStylesAtomic'
|
|
12
|
+
export * from './helpers/getExpandedShorthands'
|
|
13
|
+
export * from './helpers/getShorthandValue'
|
|
14
|
+
export * from './helpers/getSplitStyles'
|
|
15
|
+
export * from './helpers/getThemeCSSRules'
|
|
16
|
+
export * from './helpers/getVariantExtras'
|
|
17
|
+
export { autoVariables, mutatedAutoVariables } from './helpers/registerCSSVariable'
|
|
18
|
+
export { insertStyleRules } from './helpers/insertStyleRule'
|
|
19
|
+
export * from './helpers/isGuiComponent'
|
|
20
|
+
export * from './helpers/isGuiElement'
|
|
21
|
+
export * from './helpers/matchMedia'
|
|
22
|
+
export * from './helpers/mergeProps'
|
|
23
|
+
export * from './helpers/mergeSlotStyleProps'
|
|
24
|
+
export * from './helpers/normalizeColor'
|
|
25
|
+
export * from './helpers/normalizeStyle'
|
|
26
|
+
export * from './helpers/normalizeValueWithProperty'
|
|
27
|
+
export * from './helpers/propMapper'
|
|
28
|
+
export * from './helpers/proxyThemeToParents'
|
|
29
|
+
export * from './helpers/proxyThemeVariables'
|
|
30
|
+
export * from './helpers/pseudoDescriptors'
|
|
31
|
+
export * from './helpers/pseudoTransitions'
|
|
32
|
+
export * from './helpers/themeable'
|
|
33
|
+
export * from './helpers/themes'
|
|
34
|
+
export * from './helpers/transformsToString'
|
|
35
|
+
export * from './helpers/wrapStyleTags'
|
|
36
|
+
|
|
37
|
+
export * from './createComponent'
|
|
38
|
+
export * from './createFont'
|
|
39
|
+
export * from './createShorthands'
|
|
40
|
+
export * from './createGui'
|
|
41
|
+
export * from './createTokens'
|
|
42
|
+
export * from './createVariable'
|
|
43
|
+
export * from './createVariables'
|
|
44
|
+
export * from './insertFont'
|
|
45
|
+
export * from './setupReactNative'
|
|
46
|
+
export * from './styled'
|
|
47
|
+
export * from './Gui'
|
|
48
|
+
|
|
49
|
+
export type { GuiBuildOptions } from '@hanzogui/types'
|
|
50
|
+
export type * from './interfaces/RNExclusiveTypes'
|
|
51
|
+
export type * from './interfaces/GuiComponentEvents'
|
|
52
|
+
export type * from './types'
|
|
53
|
+
|
|
54
|
+
export * from './interfaces/GetRef'
|
|
55
|
+
|
|
56
|
+
export {
|
|
57
|
+
getConfig,
|
|
58
|
+
getSetting,
|
|
59
|
+
getThemes,
|
|
60
|
+
getToken,
|
|
61
|
+
getTokens,
|
|
62
|
+
getTokenValue,
|
|
63
|
+
loadAnimationDriver,
|
|
64
|
+
setConfig,
|
|
65
|
+
setupDev,
|
|
66
|
+
updateConfig,
|
|
67
|
+
} from './config'
|
|
68
|
+
|
|
69
|
+
export { setNonce } from './helpers/insertStyleRule'
|
|
70
|
+
|
|
71
|
+
export * from './constants/constants'
|
|
72
|
+
|
|
73
|
+
export * from './hooks/useIsTouchDevice'
|
|
74
|
+
export {
|
|
75
|
+
_disableMediaTouch,
|
|
76
|
+
configureMedia,
|
|
77
|
+
mediaKeyMatch,
|
|
78
|
+
useMedia,
|
|
79
|
+
} from './hooks/useMedia'
|
|
80
|
+
export { mediaObjectToString } from './helpers/mediaObjectToString'
|
|
81
|
+
export { getMedia, mediaQueryConfig, mediaState } from './helpers/mediaState'
|
|
82
|
+
export * from './hooks/useProps'
|
|
83
|
+
export * from './hooks/useTheme'
|
|
84
|
+
export * from './hooks/useThemeName'
|
|
85
|
+
export { forceUpdateThemes } from './hooks/useThemeState'
|
|
86
|
+
|
|
87
|
+
export * from './views/Configuration'
|
|
88
|
+
export * from './views/GuiRoot'
|
|
89
|
+
export * from './views/FontLanguage'
|
|
90
|
+
export * from './views/Slot'
|
|
91
|
+
export * from './views/GuiProvider'
|
|
92
|
+
export * from './views/Text'
|
|
93
|
+
export * from './views/Theme'
|
|
94
|
+
export * from './views/ThemeProvider'
|
|
95
|
+
export * from './views/View'
|
|
96
|
+
|
|
97
|
+
export * from '@hanzogui/compose-refs'
|
|
98
|
+
export * from '@hanzogui/constants'
|
|
99
|
+
export * from '@hanzogui/helpers'
|
|
100
|
+
export * from '@hanzogui/use-did-finish-ssr'
|
|
101
|
+
export * from '@hanzogui/use-event'
|
|
102
|
+
|
|
103
|
+
export * from './setupHooks'
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// for vite dev mode
|
|
2
|
+
|
|
3
|
+
const stylesheets: Record<string, HTMLElement> = {}
|
|
4
|
+
|
|
5
|
+
interface InjectStylesOptions {
|
|
6
|
+
filePath: string
|
|
7
|
+
css: string
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export const injectStyles = ({ filePath, css }: InjectStylesOptions) => {
|
|
11
|
+
let stylesheet = stylesheets[filePath]
|
|
12
|
+
if (!stylesheet) {
|
|
13
|
+
const styleEl = document.createElement('style')
|
|
14
|
+
styleEl.setAttribute('data-file', filePath)
|
|
15
|
+
styleEl.setAttribute('type', 'text/css')
|
|
16
|
+
stylesheet = stylesheets[filePath] = styleEl
|
|
17
|
+
document.head.appendChild(styleEl)
|
|
18
|
+
}
|
|
19
|
+
stylesheet.innerHTML = css
|
|
20
|
+
}
|