@tamagui/web 2.3.3 → 2.4.0-1783110557100
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/.turbo/turbo-build.log +1 -1
- package/dist/cjs/Tamagui.native.js.map +1 -1
- package/dist/cjs/_withStableStyle.native.js.map +1 -1
- package/dist/cjs/animationDriverTypes.test-d.native.js.map +1 -1
- package/dist/cjs/config.native.js.map +1 -1
- package/dist/cjs/constants/constants.native.js.map +1 -1
- package/dist/cjs/constants/isDevTools.native.js.map +1 -1
- package/dist/cjs/contexts/ComponentContext.native.js.map +1 -1
- package/dist/cjs/contexts/GroupContext.native.js.map +1 -1
- package/dist/cjs/createComponent.cjs +4 -3
- package/dist/cjs/createComponent.native.js +7 -6
- package/dist/cjs/createComponent.native.js.map +1 -1
- package/dist/cjs/createFont.native.js.map +1 -1
- package/dist/cjs/createShorthands.native.js.map +1 -1
- package/dist/cjs/createTamagui.native.js.map +1 -1
- package/dist/cjs/createTokens.native.js.map +1 -1
- package/dist/cjs/createVariable.native.js.map +1 -1
- package/dist/cjs/createVariables.native.js.map +1 -1
- package/dist/cjs/defaultComponentState.native.js.map +1 -1
- package/dist/cjs/eventHandling.cjs +1 -1
- package/dist/cjs/eventHandling.native.js +12 -36
- package/dist/cjs/eventHandling.native.js.map +1 -1
- package/dist/cjs/helpers/createDesignSystem.native.js.map +1 -1
- package/dist/cjs/helpers/createMediaStyle.native.js.map +1 -1
- package/dist/cjs/helpers/createStyledContext.native.js.map +1 -1
- package/dist/cjs/helpers/defaultAnimationDriver.native.js.map +1 -1
- package/dist/cjs/helpers/defaultOffset.native.js.map +1 -1
- package/dist/cjs/helpers/expandStyle.native.js.map +1 -1
- package/dist/cjs/helpers/expandStyles.native.js.map +1 -1
- package/dist/cjs/helpers/getDefaultProps.native.js.map +1 -1
- package/dist/cjs/helpers/getDynamicVal.native.js.map +1 -1
- package/dist/cjs/helpers/getExpandedShorthands.native.js.map +1 -1
- package/dist/cjs/helpers/getFontLanguage.native.js.map +1 -1
- package/dist/cjs/helpers/getGroupPropParts.native.js.map +1 -1
- package/dist/cjs/helpers/getShorthandValue.native.js.map +1 -1
- package/dist/cjs/helpers/getSplitStyles.cjs +5 -0
- package/dist/cjs/helpers/getSplitStyles.native.js +9 -0
- package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
- package/dist/cjs/helpers/getTokenForKey.native.js.map +1 -1
- package/dist/cjs/helpers/getVariantExtras.native.js.map +1 -1
- package/dist/cjs/helpers/insertStyleRule.native.js.map +1 -1
- package/dist/cjs/helpers/isActivePlatform.native.js.map +1 -1
- package/dist/cjs/helpers/isActiveTheme.native.js.map +1 -1
- package/dist/cjs/helpers/isObj.native.js.map +1 -1
- package/dist/cjs/helpers/isTamaguiComponent.native.js.map +1 -1
- package/dist/cjs/helpers/isTamaguiElement.native.js.map +1 -1
- package/dist/cjs/helpers/log.native.js.map +1 -1
- package/dist/cjs/helpers/mainThreadPressEvents.native.js +20 -3
- package/dist/cjs/helpers/mainThreadPressEvents.native.js.map +1 -1
- package/dist/cjs/helpers/mediaObjectToString.native.js.map +1 -1
- package/dist/cjs/helpers/mediaState.native.js.map +1 -1
- package/dist/cjs/helpers/mergeProps.native.js.map +1 -1
- package/dist/cjs/helpers/mergeRenderElementProps.native.js.map +1 -1
- package/dist/cjs/helpers/mergeSlotStyleProps.native.js.map +1 -1
- package/dist/cjs/helpers/mergeVariants.native.js.map +1 -1
- package/dist/cjs/helpers/nativeOnlyProps.native.js.map +1 -1
- package/dist/cjs/helpers/normalizeStyle.native.js.map +1 -1
- package/dist/cjs/helpers/normalizeValueWithProperty.native.js.map +1 -1
- package/dist/cjs/helpers/objectIdentityKey.native.js.map +1 -1
- package/dist/cjs/helpers/parseNativeStyle.native.js.map +1 -1
- package/dist/cjs/helpers/pointerEvents.native.js +26 -20
- package/dist/cjs/helpers/pointerEvents.native.js.map +1 -1
- package/dist/cjs/helpers/propMapper.native.js +40 -15
- package/dist/cjs/helpers/propMapper.native.js.map +1 -1
- package/dist/cjs/helpers/proxyThemeToParents.native.js.map +1 -1
- package/dist/cjs/helpers/proxyThemeVariables.native.js.map +1 -1
- package/dist/cjs/helpers/pseudoDescriptors.native.js.map +1 -1
- package/dist/cjs/helpers/pseudoTransitions.native.js.map +1 -1
- package/dist/cjs/helpers/registerCSSVariable.native.js.map +1 -1
- package/dist/cjs/helpers/resolveAnimationDriver.native.js.map +1 -1
- package/dist/cjs/helpers/resolveCompoundTokens.native.js.map +1 -1
- package/dist/cjs/helpers/skipProps.native.js.map +1 -1
- package/dist/cjs/helpers/sortString.native.js.map +1 -1
- package/dist/cjs/helpers/styleOriginalValues.native.js.map +1 -1
- package/dist/cjs/helpers/subscribeToContextGroup.native.js.map +1 -1
- package/dist/cjs/helpers/themeable.native.js.map +1 -1
- package/dist/cjs/helpers/themes.native.js.map +1 -1
- package/dist/cjs/helpers/timer.native.js.map +1 -1
- package/dist/cjs/helpers/transformsToString.native.js.map +1 -1
- package/dist/cjs/helpers/useRenderElement.native.js.map +1 -1
- package/dist/cjs/helpers/wrapStyleTags.native.js.map +1 -1
- package/dist/cjs/hooks/getThemeProxied.native.js.map +1 -1
- package/dist/cjs/hooks/useComponentState.cjs +25 -1
- package/dist/cjs/hooks/useComponentState.native.js +25 -1
- package/dist/cjs/hooks/useComponentState.native.js.map +1 -1
- package/dist/cjs/hooks/useDisableSSR.native.js.map +1 -1
- package/dist/cjs/hooks/useIsTouchDevice.native.js.map +1 -1
- package/dist/cjs/hooks/useMedia.cjs +107 -42
- package/dist/cjs/hooks/useMedia.native.js +149 -60
- package/dist/cjs/hooks/useMedia.native.js.map +1 -1
- package/dist/cjs/hooks/useProps.native.js.map +1 -1
- package/dist/cjs/hooks/useTheme.cjs +17 -4
- package/dist/cjs/hooks/useTheme.native.js +18 -4
- package/dist/cjs/hooks/useTheme.native.js.map +1 -1
- package/dist/cjs/hooks/useThemeName.native.js.map +1 -1
- package/dist/cjs/hooks/useThemeState.cjs +132 -67
- package/dist/cjs/hooks/useThemeState.native.js +144 -70
- package/dist/cjs/hooks/useThemeState.native.js.map +1 -1
- package/dist/cjs/index.cjs +2 -0
- package/dist/cjs/index.native.js +2 -0
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/inject-styles.native.js.map +1 -1
- package/dist/cjs/insertFont.native.js.map +1 -1
- package/dist/cjs/interfaces/CSSColorNames.native.js.map +1 -1
- package/dist/cjs/interfaces/GetRef.native.js.map +1 -1
- package/dist/cjs/interfaces/RNExclusiveTypes.native.js.map +1 -1
- package/dist/cjs/interfaces/TamaguiComponentEvents.native.js.map +1 -1
- package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.native.js.map +1 -1
- package/dist/cjs/opacityModifier.test-d.native.js.map +1 -1
- package/dist/cjs/setupHooks.native.js.map +1 -1
- package/dist/cjs/setupReactNative.native.js.map +1 -1
- package/dist/cjs/styled.native.js.map +1 -1
- package/dist/cjs/styledHtml.test-d.native.js.map +1 -1
- package/dist/cjs/styledNonStyleProps.test-d.native.js.map +1 -1
- package/dist/cjs/type-utils.native.js.map +1 -1
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/cjs/views/Configuration.native.js.map +1 -1
- package/dist/cjs/views/Slot.native.js.map +1 -1
- package/dist/cjs/views/TamaguiProvider.native.js.map +1 -1
- package/dist/cjs/views/Text.native.js.map +1 -1
- package/dist/cjs/views/Theme.cjs +1 -1
- package/dist/cjs/views/Theme.native.js +1 -1
- package/dist/cjs/views/Theme.native.js.map +1 -1
- package/dist/cjs/views/ThemeProvider.native.js.map +1 -1
- package/dist/cjs/views/View.native.js.map +1 -1
- package/dist/esm/createComponent.mjs +4 -3
- package/dist/esm/createComponent.mjs.map +1 -1
- package/dist/esm/createComponent.native.js +10 -8
- package/dist/esm/createComponent.native.js.map +1 -1
- package/dist/esm/eventHandling.mjs +1 -1
- package/dist/esm/eventHandling.mjs.map +1 -1
- package/dist/esm/eventHandling.native.js +12 -36
- package/dist/esm/eventHandling.native.js.map +1 -1
- package/dist/esm/helpers/getSplitStyles.mjs +5 -0
- package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
- package/dist/esm/helpers/getSplitStyles.native.js +9 -0
- package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
- package/dist/esm/helpers/mainThreadPressEvents.native.js +20 -3
- package/dist/esm/helpers/mainThreadPressEvents.native.js.map +1 -1
- package/dist/esm/helpers/pointerEvents.native.js +26 -20
- package/dist/esm/helpers/pointerEvents.native.js.map +1 -1
- package/dist/esm/helpers/propMapper.native.js +40 -15
- package/dist/esm/helpers/propMapper.native.js.map +1 -1
- package/dist/esm/hooks/useComponentState.mjs +26 -2
- package/dist/esm/hooks/useComponentState.mjs.map +1 -1
- package/dist/esm/hooks/useComponentState.native.js +26 -2
- package/dist/esm/hooks/useComponentState.native.js.map +1 -1
- package/dist/esm/hooks/useMedia.mjs +108 -43
- package/dist/esm/hooks/useMedia.mjs.map +1 -1
- package/dist/esm/hooks/useMedia.native.js +150 -61
- package/dist/esm/hooks/useMedia.native.js.map +1 -1
- package/dist/esm/hooks/useTheme.mjs +17 -4
- package/dist/esm/hooks/useTheme.mjs.map +1 -1
- package/dist/esm/hooks/useTheme.native.js +18 -4
- package/dist/esm/hooks/useTheme.native.js.map +1 -1
- package/dist/esm/hooks/useThemeState.mjs +133 -68
- package/dist/esm/hooks/useThemeState.mjs.map +1 -1
- package/dist/esm/hooks/useThemeState.native.js +145 -71
- package/dist/esm/hooks/useThemeState.native.js.map +1 -1
- package/dist/esm/index.js +3 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +3 -3
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +3 -3
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/views/Theme.mjs +1 -1
- package/dist/esm/views/Theme.mjs.map +1 -1
- package/dist/esm/views/Theme.native.js +1 -1
- package/dist/esm/views/Theme.native.js.map +1 -1
- package/package.json +13 -13
- package/src/createComponent.tsx +18 -7
- package/src/eventHandling.native.ts +28 -40
- package/src/eventHandling.ts +2 -1
- package/src/helpers/getSplitStyles.tsx +33 -0
- package/src/helpers/mainThreadPressEvents.native.ts +25 -3
- package/src/helpers/pointerEvents.native.ts +26 -19
- package/src/helpers/propMapper.ts +23 -0
- package/src/hooks/useComponentState.ts +39 -2
- package/src/hooks/useMedia.tsx +147 -42
- package/src/hooks/useTheme.tsx +27 -5
- package/src/hooks/useThemeState.ts +263 -137
- package/src/index.ts +7 -1
- package/src/types.tsx +53 -5
- package/src/views/Theme.tsx +4 -1
- package/types/createComponent.d.ts.map +1 -1
- package/types/eventHandling.d.ts +1 -1
- package/types/eventHandling.d.ts.map +1 -1
- package/types/eventHandling.native.d.ts +2 -2
- package/types/eventHandling.native.d.ts.map +1 -1
- package/types/helpers/getSplitStyles.d.ts.map +1 -1
- package/types/helpers/mainThreadPressEvents.native.d.ts.map +1 -1
- package/types/helpers/pointerEvents.native.d.ts.map +1 -1
- package/types/helpers/propMapper.d.ts.map +1 -1
- package/types/hooks/useComponentState.d.ts +1 -1
- package/types/hooks/useComponentState.d.ts.map +1 -1
- package/types/hooks/useMedia.d.ts.map +1 -1
- package/types/hooks/useTheme.d.ts +1 -1
- package/types/hooks/useTheme.d.ts.map +1 -1
- package/types/hooks/useThemeState.d.ts +1 -1
- package/types/hooks/useThemeState.d.ts.map +1 -1
- package/types/index.d.ts +2 -2
- package/types/index.d.ts.map +1 -1
- package/types/types.d.ts +3 -1
- package/types/types.d.ts.map +1 -1
- package/types/views/Theme.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","useTheme_exports","useTheme","useThemeWithState","module","exports","import_react","require","import_getThemeProxied","import_useThemeState","EMPTY","theme","res","props","isRoot","arguments","length","forThemeView","bag","useRef","current","keys","schemeKeys","themeState","useThemeState","process","env","NODE_ENV","passThrough","TAMAGUI_DISABLE_NO_THEME_WARNING","console","error","JSON","stringify","themeProxied","getThemeProxied"],"sources":["useTheme.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar useTheme_exports = {};\n__export(useTheme_exports, {\n useTheme: () => useTheme,\n useThemeWithState: () => useThemeWithState\n});\nmodule.exports = __toCommonJS(useTheme_exports);\nvar import_react = require(\"react\");\nvar import_getThemeProxied = require(\"./getThemeProxied\");\nvar import_useThemeState = require(\"./useThemeState\");\nvar EMPTY = {};\nvar useTheme = function() {\n \"use no memo\";\n var [theme] = useThemeWithState(EMPTY);\n var res = theme;\n return res;\n};\nvar useThemeWithState = function(props) {\n \"use no memo\";\n var isRoot = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false, forThemeView = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;\n var bag = (0, import_react.useRef)(null);\n if (!bag.current) {\n bag.current = {\n keys: {\n current: null\n },\n schemeKeys: {\n current: null\n }\n };\n }\n var { keys, schemeKeys } = bag.current;\n var themeState = (0, import_useThemeState.useThemeState)(props, isRoot, keys, schemeKeys, forThemeView);\n if (process.env.NODE_ENV === \"development\") {\n if (!props.passThrough && !(themeState === null || themeState === void 0 ? void 0 : themeState.theme)) {\n if (process.env.TAMAGUI_DISABLE_NO_THEME_WARNING !== \"1\") {\n console.error(`[tamagui] No theme found, this could be due to an invalid theme name (given theme props ${JSON.stringify(props)}).\n\nIf this is intended and you are using Tamagui without any themes, you can disable this warning by setting the environment variable TAMAGUI_DISABLE_NO_THEME_WARNING=1`);\n }\n }\n }\n var themeProxied = props.passThrough ? {} : (0, import_getThemeProxied.getThemeProxied)(props, themeState, keys, schemeKeys);\n return [\n themeProxied,\n themeState\n ];\n};\n//# sourceMappingURL=useTheme.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","useThemeName_exports","useThemeName","module","exports","import_useThemeState","require","forceUpdateState","forceClassName","deopt","needsUpdate","forceKeys","current","Set","_useThemeState","useThemeState"],"sources":["useThemeName.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar useThemeName_exports = {};\n__export(useThemeName_exports, {\n useThemeName: () => useThemeName\n});\nmodule.exports = __toCommonJS(useThemeName_exports);\nvar import_useThemeState = require(\"./useThemeState\");\nvar forceUpdateState = {\n forceClassName: true,\n deopt: true,\n needsUpdate: function() {\n return true;\n }\n};\nvar forceKeys = {\n current: /* @__PURE__ */ new Set([\n \"\"\n ])\n};\nfunction useThemeName() {\n var _useThemeState;\n return ((_useThemeState = (0, import_useThemeState.useThemeState)(forceUpdateState, false, forceKeys)) === null || _useThemeState === void 0 ? void 0 : _useThemeState.name) || \"\";\n}\n//# sourceMappingURL=useThemeName.js.map\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,SAAS,GAAGC,MAAM,CAACC,cAAc;AACrC,IAAIC,gBAAgB,GAAGF,MAAM,CAACG,wBAAwB;AACtD,IAAIC,iBAAiB,GAAGJ,MAAM,CAACK,mBAAmB;AAClD,IAAIC,YAAY,GAAGN,MAAM,CAACO,SAAS,CAACC,cAAc;AAClD,IAAIC,QAAQ,GAAGA,CAACC,MAAM,EAAEC,GAAG,KAAK;EAC9B,KAAK,IAAIC,IAAI,IAAID,GAAG,EAClBZ,SAAS,CAACW,MAAM,EAAEE,IAAI,EAAE;IAAEC,GAAG,EAAEF,GAAG,CAACC,IAAI,CAAC;IAAEE,UAAU,EAAE;EAAK,CAAC,CAAC;AACjE,CAAC;AACD,IAAIC,WAAW,GAAGA,CAACC,EAAE,EAAEC,IAAI,EAAEC,MAAM,EAAEC,IAAI,KAAK;EAC5C,IAAIF,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAI,OAAOA,IAAI,KAAK,UAAU,EAAE;IAClE,KAAK,IAAIG,GAAG,IAAIhB,iBAAiB,CAACa,IAAI,CAAC,EACrC,IAAI,CAACX,YAAY,CAACe,IAAI,CAACL,EAAE,EAAEI,GAAG,CAAC,IAAIA,GAAG,KAAKF,MAAM,EAC/CnB,SAAS,CAACiB,EAAE,EAAEI,GAAG,EAAE;MAAEP,GAAG,EAAEA,CAAA,KAAMI,IAAI,CAACG,GAAG,CAAC;MAAEN,UAAU,EAAE,EAAEK,IAAI,GAAGjB,gBAAgB,CAACe,IAAI,EAAEG,GAAG,CAAC,CAAC,IAAID,IAAI,CAACL;IAAW,CAAC,CAAC;EACxH;EACA,OAAOE,EAAE;AACX,CAAC;AACD,IAAIM,YAAY,GAAIC,GAAG,IAAKR,WAAW,CAAChB,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE;EAAEyB,KAAK,EAAE;AAAK,CAAC,CAAC,EAAED,GAAG,CAAC;AAC1F,IAAIE,oBAAoB,GAAG,CAAC,CAAC;AAC7BhB,QAAQ,CAACgB,oBAAoB,EAAE;EAC7BC,YAAY,EAAEA,CAAA,KAAMA;AACtB,CAAC,CAAC;AACFC,MAAM,CAACC,OAAO,GAAGN,YAAY,CAACG,oBAAoB,CAAC;AACnD,IAAII,oBAAoB,GAAGC,OAAO,CAAC,2BAAiB,CAAC;AACrD,IAAIC,gBAAgB,GAAG;EACrBC,cAAc,EAAE,IAAI;EACpBC,KAAK,EAAE,IAAI;EACXC,WAAW,EAAE,SAAAA,CAAA,EAAW;IACtB,OAAO,IAAI;EACb;AACF,CAAC;AACD,IAAIC,SAAS,GAAG;EACdC,OAAO,EAAE,eAAgB,IAAIC,GAAG,CAAC,CAC/B,EAAE,CACH;AACH,CAAC;AACD,SAASX,YAAYA,CAAA,EAAG;EACtB,IAAIY,cAAc;EAClB,OAAO,CAAC,CAACA,cAAc,GAAG,CAAC,CAAC,EAAET,oBAAoB,CAACU,aAAa,EAAER,gBAAgB,EAAE,KAAK,EAAEI,SAAS,CAAC,MAAM,IAAI,IAAIG,cAAc,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,cAAc,CAAC1B,IAAI,KAAK,EAAE;AACpL","ignoreList":[]}
|
|
@@ -56,7 +56,8 @@ let themeNameCacheVer = -1;
|
|
|
56
56
|
let themes = null;
|
|
57
57
|
let rootThemeState = null;
|
|
58
58
|
const getRootThemeState = () => rootThemeState;
|
|
59
|
-
const
|
|
59
|
+
const incReducer = c => c + 1;
|
|
60
|
+
const useThemeState = (props, isRoot = false, keys, schemeKeys, cascadeOnChange = false) => {
|
|
60
61
|
"use no memo";
|
|
61
62
|
|
|
62
63
|
const {
|
|
@@ -72,69 +73,68 @@ Looked for theme${props.name ? ` "${props.name}"` : ""}${props.componentName ? `
|
|
|
72
73
|
theme: (0, import_config.getConfig)().themes.light
|
|
73
74
|
};
|
|
74
75
|
const id = (0, import_react.useId)();
|
|
75
|
-
const subscribe = (0, import_react.useCallback)(cb => {
|
|
76
|
-
listenersByParent[parentId] = listenersByParent[parentId] || /* @__PURE__ */new Set();
|
|
77
|
-
listenersByParent[parentId].add(id);
|
|
78
|
-
allListeners.set(id, () => {
|
|
79
|
-
PendingUpdate.set(id, shouldForce ? "force" : true);
|
|
80
|
-
cb();
|
|
81
|
-
});
|
|
82
|
-
return () => {
|
|
83
|
-
allListeners.delete(id);
|
|
84
|
-
listenersByParent[parentId].delete(id);
|
|
85
|
-
localStates.delete(id);
|
|
86
|
-
states.delete(id);
|
|
87
|
-
PendingUpdate.delete(id);
|
|
88
|
-
};
|
|
89
|
-
}, [id, parentId]);
|
|
90
76
|
const propsKey = getPropsKey(props);
|
|
91
|
-
const
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
if (process.env.NODE_ENV === "development" && props.debug === "verbose") {
|
|
111
|
-
console.groupCollapsed(` ${id} getSnapshot ${rerender}`, local.name, ">", next.name);
|
|
112
|
-
console.info({
|
|
113
|
-
props,
|
|
114
|
-
propsKey,
|
|
115
|
-
isRoot,
|
|
116
|
-
parentId,
|
|
117
|
-
local,
|
|
118
|
-
next,
|
|
119
|
-
needsUpdate,
|
|
120
|
-
isSchemeOnlyChange,
|
|
121
|
-
allKeysSchemeOptimized,
|
|
122
|
-
canSkipForSchemeChange
|
|
123
|
-
});
|
|
124
|
-
console.groupEnd();
|
|
125
|
-
}
|
|
126
|
-
if (next !== local) {
|
|
127
|
-
Object.assign(local, next);
|
|
128
|
-
local.id = id;
|
|
129
|
-
}
|
|
130
|
-
local._parentName = parentState?.name;
|
|
131
|
-
local._propsKey = propsKey;
|
|
132
|
-
states.set(id, next);
|
|
133
|
-
return local;
|
|
134
|
-
};
|
|
77
|
+
const ref = (0, import_react.useRef)(null);
|
|
78
|
+
if (!ref.current) ref.current = {
|
|
79
|
+
id,
|
|
80
|
+
parentId,
|
|
81
|
+
props,
|
|
82
|
+
propsKey,
|
|
83
|
+
isRoot,
|
|
84
|
+
keys,
|
|
85
|
+
schemeKeys,
|
|
86
|
+
renderVersion: 0
|
|
87
|
+
};else {
|
|
88
|
+
ref.current.props = props;
|
|
89
|
+
ref.current.propsKey = propsKey;
|
|
90
|
+
ref.current.isRoot = isRoot;
|
|
91
|
+
ref.current.keys = keys;
|
|
92
|
+
ref.current.schemeKeys = schemeKeys;
|
|
93
|
+
ref.current.parentId = parentId;
|
|
94
|
+
}
|
|
95
|
+
ref.current.renderVersion++;
|
|
135
96
|
if (process.env.NODE_ENV === "development" && globalThis.time) globalThis.time`theme-prep-uses`;
|
|
136
|
-
const
|
|
137
|
-
(
|
|
97
|
+
const [, forceUpdate] = (0, import_react.useReducer)(incReducer, 0);
|
|
98
|
+
const state = getSnapshotImpl(ref.current);
|
|
99
|
+
ref.current.lastSnap = state;
|
|
100
|
+
(0, import_react.useEffect)(() => {
|
|
101
|
+
const r = ref.current;
|
|
102
|
+
const renderVersion = r.renderVersion;
|
|
103
|
+
if (r.unsubscribe && r.subscribedParentId !== r.parentId) cleanupThemeSubscription(r);
|
|
104
|
+
if (shouldSubscribeToTheme(r, cascadeOnChange)) {
|
|
105
|
+
if (!r.unsubscribe) {
|
|
106
|
+
const pid = r.parentId;
|
|
107
|
+
const sid = r.id;
|
|
108
|
+
const cb = () => {
|
|
109
|
+
const next = getSnapshotImpl(r);
|
|
110
|
+
if (next !== r.lastSnap) {
|
|
111
|
+
r.lastSnap = next;
|
|
112
|
+
forceUpdate();
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
listenersByParent[pid] = listenersByParent[pid] || /* @__PURE__ */new Set();
|
|
116
|
+
listenersByParent[pid].add(sid);
|
|
117
|
+
allListeners.set(sid, () => {
|
|
118
|
+
PendingUpdate.set(sid, shouldForce ? "force" : true);
|
|
119
|
+
cb();
|
|
120
|
+
});
|
|
121
|
+
r.subscribedParentId = pid;
|
|
122
|
+
r.unsubscribe = () => {
|
|
123
|
+
allListeners.delete(sid);
|
|
124
|
+
listenersByParent[pid]?.delete(sid);
|
|
125
|
+
localStates.delete(sid);
|
|
126
|
+
states.delete(sid);
|
|
127
|
+
PendingUpdate.delete(sid);
|
|
128
|
+
r.unsubscribe = void 0;
|
|
129
|
+
r.subscribedParentId = void 0;
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
} else if (r.unsubscribe) cleanupThemeSubscription(r);
|
|
133
|
+
return () => {
|
|
134
|
+
if (r.renderVersion === renderVersion) cleanupThemeState(r);
|
|
135
|
+
};
|
|
136
|
+
});
|
|
137
|
+
if (cascadeOnChange) (0, import_constants.useIsomorphicLayoutEffect)(() => {
|
|
138
138
|
if (!HasRenderedOnce.get(keys)) {
|
|
139
139
|
HasRenderedOnce.set(keys, true);
|
|
140
140
|
return;
|
|
@@ -150,6 +150,70 @@ Looked for theme${props.name ? ` "${props.name}"` : ""}${props.componentName ? `
|
|
|
150
150
|
}, [keys, propsKey]);
|
|
151
151
|
return state;
|
|
152
152
|
};
|
|
153
|
+
const shouldSubscribeToTheme = (r, cascadeOnChange) => r.isRoot || cascadeOnChange || hasThemeUpdatingProps(r.props) || !!r.keys.current?.size || !!r.props.needsUpdate?.();
|
|
154
|
+
function cleanupThemeSubscription(r) {
|
|
155
|
+
r.unsubscribe?.();
|
|
156
|
+
}
|
|
157
|
+
function cleanupThemeState(r) {
|
|
158
|
+
if (r.unsubscribe) cleanupThemeSubscription(r);else {
|
|
159
|
+
localStates.delete(r.id);
|
|
160
|
+
states.delete(r.id);
|
|
161
|
+
PendingUpdate.delete(r.id);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
const getSnapshotImpl = r => {
|
|
165
|
+
const {
|
|
166
|
+
id,
|
|
167
|
+
parentId,
|
|
168
|
+
props,
|
|
169
|
+
propsKey,
|
|
170
|
+
isRoot,
|
|
171
|
+
keys,
|
|
172
|
+
schemeKeys
|
|
173
|
+
} = r;
|
|
174
|
+
let local = localStates.get(id);
|
|
175
|
+
const parentState = states.get(parentId);
|
|
176
|
+
if (local && !PendingUpdate.has(id)) {
|
|
177
|
+
if (parentState && local._parentName === parentState.name && local._propsKey === propsKey) return local;
|
|
178
|
+
}
|
|
179
|
+
const isSchemeOnlyChange = false;
|
|
180
|
+
const keysSize = keys?.current?.size ?? 0;
|
|
181
|
+
const allKeysSchemeOptimized = (schemeKeys?.current?.size ?? 0) === keysSize && keysSize > 0;
|
|
182
|
+
const canSkipForSchemeChange = isSchemeOnlyChange;
|
|
183
|
+
const needsUpdate = props.passThrough ? false : isRoot || props.name === "light" || props.name === "dark" || props.name === null ? true : !HasRenderedOnce.get(keys) ? true : keys?.current?.size ? true : props.needsUpdate?.();
|
|
184
|
+
const [rerender, next] = getNextState(local, props, propsKey, isRoot, id, parentId, needsUpdate, PendingUpdate.get(id));
|
|
185
|
+
PendingUpdate.delete(id);
|
|
186
|
+
if (!local || rerender) {
|
|
187
|
+
local = {
|
|
188
|
+
...next
|
|
189
|
+
};
|
|
190
|
+
localStates.set(id, local);
|
|
191
|
+
}
|
|
192
|
+
if (process.env.NODE_ENV === "development" && props.debug === "verbose") {
|
|
193
|
+
console.groupCollapsed(` ${id} getSnapshot ${rerender}`, local.name, ">", next.name);
|
|
194
|
+
console.info({
|
|
195
|
+
props,
|
|
196
|
+
propsKey,
|
|
197
|
+
isRoot,
|
|
198
|
+
parentId,
|
|
199
|
+
local,
|
|
200
|
+
next,
|
|
201
|
+
needsUpdate,
|
|
202
|
+
isSchemeOnlyChange,
|
|
203
|
+
allKeysSchemeOptimized,
|
|
204
|
+
canSkipForSchemeChange
|
|
205
|
+
});
|
|
206
|
+
console.groupEnd();
|
|
207
|
+
}
|
|
208
|
+
if (next !== local) {
|
|
209
|
+
Object.assign(local, next);
|
|
210
|
+
local.id = id;
|
|
211
|
+
}
|
|
212
|
+
local._parentName = parentState?.name;
|
|
213
|
+
local._propsKey = propsKey;
|
|
214
|
+
states.set(id, next);
|
|
215
|
+
return local;
|
|
216
|
+
};
|
|
153
217
|
const getNextState = (lastState, props, propsKey, isRoot = false, id, parentId, needsUpdate, pendingUpdate) => {
|
|
154
218
|
const {
|
|
155
219
|
debug
|
|
@@ -184,12 +248,13 @@ const getNextState = (lastState, props, propsKey, isRoot = false, id, parentId,
|
|
|
184
248
|
}];
|
|
185
249
|
}
|
|
186
250
|
if (!name) {
|
|
187
|
-
const next = lastState ?? parentState
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
251
|
+
const next = lastState ?? parentState ?? rootThemeState ?? {
|
|
252
|
+
id,
|
|
253
|
+
name: "light",
|
|
254
|
+
theme: (0, import_config.getConfig)().themes.light
|
|
255
|
+
};
|
|
191
256
|
if (shouldRerender) return [true, {
|
|
192
|
-
...(parentState || lastState)
|
|
257
|
+
...(parentState || lastState || next)
|
|
193
258
|
}];
|
|
194
259
|
return [false, next];
|
|
195
260
|
}
|
|
@@ -67,12 +67,16 @@ var getRootThemeState = function () {
|
|
|
67
67
|
var getThemeBaseName = function (name) {
|
|
68
68
|
return name.replace(/^(light|dark)_/, "");
|
|
69
69
|
};
|
|
70
|
+
var incReducer = function (c) {
|
|
71
|
+
return c + 1;
|
|
72
|
+
};
|
|
70
73
|
var useThemeState = function (props) {
|
|
71
74
|
"use no memo";
|
|
72
75
|
|
|
73
76
|
var isRoot = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false,
|
|
74
77
|
keys = arguments.length > 2 ? arguments[2] : void 0,
|
|
75
|
-
schemeKeys = arguments.length > 3 ? arguments[3] : void 0
|
|
78
|
+
schemeKeys = arguments.length > 3 ? arguments[3] : void 0,
|
|
79
|
+
cascadeOnChange = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : false;
|
|
76
80
|
var {
|
|
77
81
|
disable
|
|
78
82
|
} = props;
|
|
@@ -86,72 +90,69 @@ Looked for theme${props.name ? ` "${props.name}"` : ""}${props.componentName ? `
|
|
|
86
90
|
theme: (0, import_config.getConfig)().themes.light
|
|
87
91
|
};
|
|
88
92
|
var id = (0, import_react.useId)();
|
|
89
|
-
var subscribe = (0, import_react.useCallback)(function (cb) {
|
|
90
|
-
listenersByParent[parentId] = listenersByParent[parentId] || /* @__PURE__ */new Set();
|
|
91
|
-
listenersByParent[parentId].add(id);
|
|
92
|
-
allListeners.set(id, function () {
|
|
93
|
-
PendingUpdate.set(id, shouldForce ? "force" : true);
|
|
94
|
-
cb();
|
|
95
|
-
});
|
|
96
|
-
return function () {
|
|
97
|
-
allListeners.delete(id);
|
|
98
|
-
listenersByParent[parentId].delete(id);
|
|
99
|
-
localStates.delete(id);
|
|
100
|
-
states.delete(id);
|
|
101
|
-
PendingUpdate.delete(id);
|
|
102
|
-
};
|
|
103
|
-
}, [id, parentId]);
|
|
104
93
|
var propsKey = getPropsKey(props);
|
|
105
|
-
var
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
};
|
|
125
|
-
localStates.set(id, local);
|
|
126
|
-
}
|
|
127
|
-
if (process.env.NODE_ENV === "development" && props.debug === "verbose") {
|
|
128
|
-
console.groupCollapsed(` ${id} getSnapshot ${rerender}`, local.name, ">", next.name);
|
|
129
|
-
console.info({
|
|
130
|
-
props,
|
|
131
|
-
propsKey,
|
|
132
|
-
isRoot,
|
|
133
|
-
parentId,
|
|
134
|
-
local,
|
|
135
|
-
next,
|
|
136
|
-
needsUpdate,
|
|
137
|
-
isSchemeOnlyChange,
|
|
138
|
-
allKeysSchemeOptimized,
|
|
139
|
-
canSkipForSchemeChange
|
|
140
|
-
});
|
|
141
|
-
console.groupEnd();
|
|
142
|
-
}
|
|
143
|
-
if (next !== local) {
|
|
144
|
-
Object.assign(local, next);
|
|
145
|
-
local.id = id;
|
|
146
|
-
}
|
|
147
|
-
local._parentName = parentState === null || parentState === void 0 ? void 0 : parentState.name;
|
|
148
|
-
local._propsKey = propsKey;
|
|
149
|
-
states.set(id, next);
|
|
150
|
-
return local;
|
|
151
|
-
};
|
|
94
|
+
var ref = (0, import_react.useRef)(null);
|
|
95
|
+
if (!ref.current) ref.current = {
|
|
96
|
+
id,
|
|
97
|
+
parentId,
|
|
98
|
+
props,
|
|
99
|
+
propsKey,
|
|
100
|
+
isRoot,
|
|
101
|
+
keys,
|
|
102
|
+
schemeKeys,
|
|
103
|
+
renderVersion: 0
|
|
104
|
+
};else {
|
|
105
|
+
ref.current.props = props;
|
|
106
|
+
ref.current.propsKey = propsKey;
|
|
107
|
+
ref.current.isRoot = isRoot;
|
|
108
|
+
ref.current.keys = keys;
|
|
109
|
+
ref.current.schemeKeys = schemeKeys;
|
|
110
|
+
ref.current.parentId = parentId;
|
|
111
|
+
}
|
|
112
|
+
ref.current.renderVersion++;
|
|
152
113
|
if (process.env.NODE_ENV === "development" && globalThis.time) globalThis.time`theme-prep-uses`;
|
|
153
|
-
var
|
|
154
|
-
|
|
114
|
+
var [, forceUpdate] = (0, import_react.useReducer)(incReducer, 0);
|
|
115
|
+
var state = getSnapshotImpl(ref.current);
|
|
116
|
+
ref.current.lastSnap = state;
|
|
117
|
+
(0, import_react.useEffect)(function () {
|
|
118
|
+
var r = ref.current;
|
|
119
|
+
var renderVersion = r.renderVersion;
|
|
120
|
+
if (r.unsubscribe && r.subscribedParentId !== r.parentId) cleanupThemeSubscription(r);
|
|
121
|
+
if (shouldSubscribeToTheme(r, cascadeOnChange)) {
|
|
122
|
+
if (!r.unsubscribe) {
|
|
123
|
+
var pid = r.parentId;
|
|
124
|
+
var sid = r.id;
|
|
125
|
+
var cb = function () {
|
|
126
|
+
var next = getSnapshotImpl(r);
|
|
127
|
+
if (next !== r.lastSnap) {
|
|
128
|
+
r.lastSnap = next;
|
|
129
|
+
forceUpdate();
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
listenersByParent[pid] = listenersByParent[pid] || /* @__PURE__ */new Set();
|
|
133
|
+
listenersByParent[pid].add(sid);
|
|
134
|
+
allListeners.set(sid, function () {
|
|
135
|
+
PendingUpdate.set(sid, shouldForce ? "force" : true);
|
|
136
|
+
cb();
|
|
137
|
+
});
|
|
138
|
+
r.subscribedParentId = pid;
|
|
139
|
+
r.unsubscribe = function () {
|
|
140
|
+
var _listenersByParent_pid;
|
|
141
|
+
allListeners.delete(sid);
|
|
142
|
+
(_listenersByParent_pid = listenersByParent[pid]) === null || _listenersByParent_pid === void 0 || _listenersByParent_pid.delete(sid);
|
|
143
|
+
localStates.delete(sid);
|
|
144
|
+
states.delete(sid);
|
|
145
|
+
PendingUpdate.delete(sid);
|
|
146
|
+
r.unsubscribe = void 0;
|
|
147
|
+
r.subscribedParentId = void 0;
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
} else if (r.unsubscribe) cleanupThemeSubscription(r);
|
|
151
|
+
return function () {
|
|
152
|
+
if (r.renderVersion === renderVersion) cleanupThemeState(r);
|
|
153
|
+
};
|
|
154
|
+
});
|
|
155
|
+
if (cascadeOnChange) (0, import_constants.useIsomorphicLayoutEffect)(function () {
|
|
155
156
|
if (!HasRenderedOnce.get(keys)) {
|
|
156
157
|
HasRenderedOnce.set(keys, true);
|
|
157
158
|
return;
|
|
@@ -170,6 +171,77 @@ Looked for theme${props.name ? ` "${props.name}"` : ""}${props.componentName ? `
|
|
|
170
171
|
}, [keys, propsKey]);
|
|
171
172
|
return state;
|
|
172
173
|
};
|
|
174
|
+
var shouldSubscribeToTheme = function (r, cascadeOnChange) {
|
|
175
|
+
var _r_keys_current, _r_props_needsUpdate, _r_props;
|
|
176
|
+
return r.isRoot || cascadeOnChange || hasThemeUpdatingProps(r.props) || !!((_r_keys_current = r.keys.current) === null || _r_keys_current === void 0 ? void 0 : _r_keys_current.size) || !!((_r_props_needsUpdate = (_r_props = r.props).needsUpdate) === null || _r_props_needsUpdate === void 0 ? void 0 : _r_props_needsUpdate.call(_r_props));
|
|
177
|
+
};
|
|
178
|
+
function cleanupThemeSubscription(r) {
|
|
179
|
+
var _r_unsubscribe;
|
|
180
|
+
(_r_unsubscribe = r.unsubscribe) === null || _r_unsubscribe === void 0 || _r_unsubscribe.call(r);
|
|
181
|
+
}
|
|
182
|
+
function cleanupThemeState(r) {
|
|
183
|
+
if (r.unsubscribe) cleanupThemeSubscription(r);else {
|
|
184
|
+
localStates.delete(r.id);
|
|
185
|
+
states.delete(r.id);
|
|
186
|
+
PendingUpdate.delete(r.id);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
var getSnapshotImpl = function (r) {
|
|
190
|
+
var _keys_current, _schemeKeys_current, _keys_current1, _props_needsUpdate;
|
|
191
|
+
var {
|
|
192
|
+
id,
|
|
193
|
+
parentId,
|
|
194
|
+
props,
|
|
195
|
+
propsKey,
|
|
196
|
+
isRoot,
|
|
197
|
+
keys,
|
|
198
|
+
schemeKeys
|
|
199
|
+
} = r;
|
|
200
|
+
var local = localStates.get(id);
|
|
201
|
+
var parentState = states.get(parentId);
|
|
202
|
+
if (local && !PendingUpdate.has(id)) {
|
|
203
|
+
if (parentState && local._parentName === parentState.name && local._propsKey === propsKey) return local;
|
|
204
|
+
}
|
|
205
|
+
var isSchemeOnlyChange = import_constants.supportsDynamicColorIOS && (0, import_config.getSetting)("fastSchemeChange") && local && parentState && local.scheme !== parentState.scheme && getThemeBaseName(local.name) === getThemeBaseName(parentState.name);
|
|
206
|
+
var _keys_current_size;
|
|
207
|
+
var keysSize = (_keys_current_size = keys === null || keys === void 0 ? void 0 : (_keys_current = keys.current) === null || _keys_current === void 0 ? void 0 : _keys_current.size) !== null && _keys_current_size !== void 0 ? _keys_current_size : 0;
|
|
208
|
+
var _schemeKeys_current_size;
|
|
209
|
+
var allKeysSchemeOptimized = ((_schemeKeys_current_size = schemeKeys === null || schemeKeys === void 0 ? void 0 : (_schemeKeys_current = schemeKeys.current) === null || _schemeKeys_current === void 0 ? void 0 : _schemeKeys_current.size) !== null && _schemeKeys_current_size !== void 0 ? _schemeKeys_current_size : 0) === keysSize && keysSize > 0;
|
|
210
|
+
var canSkipForSchemeChange = isSchemeOnlyChange && allKeysSchemeOptimized;
|
|
211
|
+
var needsUpdate = props.passThrough ? false : isRoot || props.name === "light" || props.name === "dark" || props.name === null ? true : !HasRenderedOnce.get(keys) ? true : canSkipForSchemeChange ? false : (keys === null || keys === void 0 ? void 0 : (_keys_current1 = keys.current) === null || _keys_current1 === void 0 ? void 0 : _keys_current1.size) ? true : (_props_needsUpdate = props.needsUpdate) === null || _props_needsUpdate === void 0 ? void 0 : _props_needsUpdate.call(props);
|
|
212
|
+
var [rerender, next] = getNextState(local, props, propsKey, isRoot, id, parentId, needsUpdate, PendingUpdate.get(id));
|
|
213
|
+
PendingUpdate.delete(id);
|
|
214
|
+
if (!local || rerender) {
|
|
215
|
+
local = {
|
|
216
|
+
...next
|
|
217
|
+
};
|
|
218
|
+
localStates.set(id, local);
|
|
219
|
+
}
|
|
220
|
+
if (process.env.NODE_ENV === "development" && props.debug === "verbose") {
|
|
221
|
+
console.groupCollapsed(` ${id} getSnapshot ${rerender}`, local.name, ">", next.name);
|
|
222
|
+
console.info({
|
|
223
|
+
props,
|
|
224
|
+
propsKey,
|
|
225
|
+
isRoot,
|
|
226
|
+
parentId,
|
|
227
|
+
local,
|
|
228
|
+
next,
|
|
229
|
+
needsUpdate,
|
|
230
|
+
isSchemeOnlyChange,
|
|
231
|
+
allKeysSchemeOptimized,
|
|
232
|
+
canSkipForSchemeChange
|
|
233
|
+
});
|
|
234
|
+
console.groupEnd();
|
|
235
|
+
}
|
|
236
|
+
if (next !== local) {
|
|
237
|
+
Object.assign(local, next);
|
|
238
|
+
local.id = id;
|
|
239
|
+
}
|
|
240
|
+
local._parentName = parentState === null || parentState === void 0 ? void 0 : parentState.name;
|
|
241
|
+
local._propsKey = propsKey;
|
|
242
|
+
states.set(id, next);
|
|
243
|
+
return local;
|
|
244
|
+
};
|
|
173
245
|
var getNextState = function (lastState, props, propsKey) {
|
|
174
246
|
var isRoot = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false,
|
|
175
247
|
id = arguments.length > 4 ? arguments[4] : void 0,
|
|
@@ -199,12 +271,14 @@ var getNextState = function (lastState, props, propsKey) {
|
|
|
199
271
|
}];
|
|
200
272
|
}
|
|
201
273
|
if (!name) {
|
|
202
|
-
var
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
274
|
+
var _ref, _ref1;
|
|
275
|
+
var next = (_ref1 = (_ref = lastState !== null && lastState !== void 0 ? lastState : parentState) !== null && _ref !== void 0 ? _ref : rootThemeState) !== null && _ref1 !== void 0 ? _ref1 : {
|
|
276
|
+
id,
|
|
277
|
+
name: "light",
|
|
278
|
+
theme: (0, import_config.getConfig)().themes.light
|
|
279
|
+
};
|
|
206
280
|
if (shouldRerender) return [true, {
|
|
207
|
-
...(parentState || lastState)
|
|
281
|
+
...(parentState || lastState || next)
|
|
208
282
|
}];
|
|
209
283
|
return [false, next];
|
|
210
284
|
}
|