@tamagui/web 2.3.3-1782465561627 → 2.3.3-1782469370633

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.
@@ -1,2 +1,2 @@
1
1
  $ tamagui-build
2
- built @tamagui/web in 2418 ms
2
+ built @tamagui/web in 2293 ms
@@ -248,12 +248,13 @@ const getNextState = (lastState, props, propsKey, isRoot = false, id, parentId,
248
248
  }];
249
249
  }
250
250
  if (!name) {
251
- const next = lastState ?? parentState;
252
- if (!next) throw new Error(process.env.NODE_ENV === "development" ? `${import_constants2.MISSING_THEME_MESSAGE}
253
-
254
- Looked for theme${props.name ? ` "${props.name}"` : ""}${props.componentName ? ` (component: ${props.componentName})` : ""}, but no theme state was resolved (parentId: ${parentId}, id: ${id}).` : import_constants2.MISSING_THEME_MESSAGE);
251
+ const next = lastState ?? parentState ?? rootThemeState ?? {
252
+ id,
253
+ name: "light",
254
+ theme: (0, import_config.getConfig)().themes.light
255
+ };
255
256
  if (shouldRerender) return [true, {
256
- ...(parentState || lastState)
257
+ ...(parentState || lastState || next)
257
258
  }];
258
259
  return [false, next];
259
260
  }
@@ -271,12 +271,14 @@ var getNextState = function (lastState, props, propsKey) {
271
271
  }];
272
272
  }
273
273
  if (!name) {
274
- var next = lastState !== null && lastState !== void 0 ? lastState : parentState;
275
- if (!next) throw new Error(process.env.NODE_ENV === "development" ? `${import_constants2.MISSING_THEME_MESSAGE}
276
-
277
- Looked for theme${props.name ? ` "${props.name}"` : ""}${props.componentName ? ` (component: ${props.componentName})` : ""}, but no theme state was resolved (parentId: ${parentId}, id: ${id}).` : import_constants2.MISSING_THEME_MESSAGE);
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
+ };
278
280
  if (shouldRerender) return [true, {
279
- ...(parentState || lastState)
281
+ ...(parentState || lastState || next)
280
282
  }];
281
283
  return [false, next];
282
284
  }
@@ -1 +1 @@
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","useThemeState_exports","ThemeStateContext","forceUpdateThemes","getRootThemeState","getThemeState","hasThemeUpdatingProps","useThemeState","module","exports","import_constants","require","import_react","import_config","import_constants2","createContext","allListeners","Map","listenersByParent","HasRenderedOnce","WeakMap","HadTheme","PendingUpdate","states","localStates","shouldForce","cacheVersion","forEach","cb","id","themeNameCache","themeNameCacheVer","themes","rootThemeState","getThemeBaseName","replace","incReducer","c","props","isRoot","arguments","length","keys","schemeKeys","cascadeOnChange","disable","parentId","useContext","Error","process","env","NODE_ENV","MISSING_THEME_MESSAGE","componentName","theme","getConfig","light","useId","propsKey","getPropsKey","ref","useRef","current","renderVersion","globalThis","time","forceUpdate","useReducer","state","getSnapshotImpl","lastSnap","useEffect","r","unsubscribe","subscribedParentId","cleanupThemeSubscription","shouldSubscribeToTheme","pid","sid","next","Set","add","set","_listenersByParent_pid","delete","cleanupThemeState","useIsomorphicLayoutEffect","scheduleUpdate","debug","_states_get","console","warn","_r_keys_current","_r_props_needsUpdate","_r_props","size","needsUpdate","_r_unsubscribe","_keys_current","_schemeKeys_current","_keys_current1","_props_needsUpdate","local","parentState","has","_parentName","_propsKey","isSchemeOnlyChange","supportsDynamicColorIOS","getSetting","scheme","_keys_current_size","keysSize","_schemeKeys_current_size","allKeysSchemeOptimized","canSkipForSchemeChange","passThrough","rerender","getNextState","groupCollapsed","info","groupEnd","assign","lastState","pendingUpdate","isNew","getNewThemeName","isSameAsParent","shouldRerender","Boolean","message","getScheme","isInverse","nextState","parentName","shouldAvoidRerender","queue","visited","children","shift","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","done","childId","push","err","return","childId2","validSchemes","dark","split","reset","unstyled","cacheKey","clear","cached","themes2","result","lastPartIndex","lastIndexOf","name1","slice","result1","parentParts","lastName","toLowerCase","pop","subNames","filter","found","nameHasScheme","subName","potentialBases","i","join","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","outer","_iterator1","_step1","base","candidates","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","potential","potential1","max","i1","base1","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_iterator3","_step3","subName1","potential2","param","forceClassName"],"sources":["useThemeState.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\tfor (var name in all) __defProp(target, name, {\n\t\tget: all[name],\n\t\tenumerable: true\n\t});\n};\nvar __copyProps = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") {\n\t\tfor (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n\t\t\tget: () => from[key],\n\t\t\tenumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n\t\t});\n\t}\n\treturn to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar useThemeState_exports = {};\n__export(useThemeState_exports, {\n\tThemeStateContext: () => ThemeStateContext,\n\tforceUpdateThemes: () => forceUpdateThemes,\n\tgetRootThemeState: () => getRootThemeState,\n\tgetThemeState: () => getThemeState,\n\thasThemeUpdatingProps: () => hasThemeUpdatingProps,\n\tuseThemeState: () => useThemeState\n});\nmodule.exports = __toCommonJS(useThemeState_exports);\nvar import_constants = require(\"@tamagui/constants\");\nvar import_react = require(\"react\");\nvar import_config = require(\"../config\");\nvar import_constants2 = require(\"../constants/constants\");\nvar ThemeStateContext = (0, import_react.createContext)(\"\");\nvar allListeners = /* @__PURE__ */ new Map();\nvar listenersByParent = {};\nvar HasRenderedOnce = /* @__PURE__ */ new WeakMap();\nvar HadTheme = /* @__PURE__ */ new WeakMap();\nvar PendingUpdate = /* @__PURE__ */ new Map();\nvar states = /* @__PURE__ */ new Map();\nvar localStates = /* @__PURE__ */ new Map();\nvar shouldForce = false;\nvar forceUpdateThemes = function() {\n\tcacheVersion++;\n\tshouldForce = true;\n\tallListeners.forEach(function(cb) {\n\t\treturn cb();\n\t});\n\tshouldForce = false;\n};\nvar getThemeState = function(id) {\n\treturn states.get(id);\n};\nvar cacheVersion = 0;\nvar themeNameCache = /* @__PURE__ */ new Map();\nvar themeNameCacheVer = -1;\nvar themes = null;\nvar rootThemeState = null;\nvar getRootThemeState = function() {\n\treturn rootThemeState;\n};\nvar getThemeBaseName = function(name) {\n\treturn name.replace(/^(light|dark)_/, \"\");\n};\nvar incReducer = function(c) {\n\treturn c + 1;\n};\nvar useThemeState = function(props) {\n\t\"use no memo\";\n\tvar isRoot = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false, keys = arguments.length > 2 ? arguments[2] : void 0, schemeKeys = arguments.length > 3 ? arguments[3] : void 0, cascadeOnChange = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : false;\n\tvar { disable } = props;\n\tvar parentId = (0, import_react.useContext)(ThemeStateContext);\n\tif (!parentId && !isRoot) throw new Error(process.env.NODE_ENV === \"development\" ? `${import_constants2.MISSING_THEME_MESSAGE}\n\nLooked for theme${props.name ? ` \"${props.name}\"` : \"\"}${props.componentName ? ` (component: ${props.componentName})` : \"\"}, but no parent theme context was found (parentId: ${parentId}).` : import_constants2.MISSING_THEME_MESSAGE);\n\tif (disable) return states.get(parentId) || {\n\t\tid: \"\",\n\t\tname: \"light\",\n\t\ttheme: (0, import_config.getConfig)().themes.light\n\t};\n\tvar id = (0, import_react.useId)();\n\tvar propsKey = getPropsKey(props);\n\tvar ref = (0, import_react.useRef)(null);\n\tif (!ref.current) ref.current = {\n\t\tid,\n\t\tparentId,\n\t\tprops,\n\t\tpropsKey,\n\t\tisRoot,\n\t\tkeys,\n\t\tschemeKeys,\n\t\trenderVersion: 0\n\t};\n\telse {\n\t\tref.current.props = props;\n\t\tref.current.propsKey = propsKey;\n\t\tref.current.isRoot = isRoot;\n\t\tref.current.keys = keys;\n\t\tref.current.schemeKeys = schemeKeys;\n\t\tref.current.parentId = parentId;\n\t}\n\tref.current.renderVersion++;\n\tif (process.env.NODE_ENV === \"development\" && globalThis.time) globalThis.time`theme-prep-uses`;\n\tvar [, forceUpdate] = (0, import_react.useReducer)(incReducer, 0);\n\tvar state = getSnapshotImpl(ref.current);\n\tref.current.lastSnap = state;\n\t(0, import_react.useEffect)(function() {\n\t\tvar r = ref.current;\n\t\tvar renderVersion = r.renderVersion;\n\t\tif (r.unsubscribe && r.subscribedParentId !== r.parentId) cleanupThemeSubscription(r);\n\t\tif (shouldSubscribeToTheme(r, cascadeOnChange)) {\n\t\t\tif (!r.unsubscribe) {\n\t\t\t\tvar pid = r.parentId;\n\t\t\t\tvar sid = r.id;\n\t\t\t\tvar cb = function() {\n\t\t\t\t\tvar next = getSnapshotImpl(r);\n\t\t\t\t\tif (next !== r.lastSnap) {\n\t\t\t\t\t\tr.lastSnap = next;\n\t\t\t\t\t\tforceUpdate();\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tlistenersByParent[pid] = listenersByParent[pid] || /* @__PURE__ */ new Set();\n\t\t\t\tlistenersByParent[pid].add(sid);\n\t\t\t\tallListeners.set(sid, function() {\n\t\t\t\t\tPendingUpdate.set(sid, shouldForce ? \"force\" : true);\n\t\t\t\t\tcb();\n\t\t\t\t});\n\t\t\t\tr.subscribedParentId = pid;\n\t\t\t\tr.unsubscribe = function() {\n\t\t\t\t\tvar _listenersByParent_pid;\n\t\t\t\t\tallListeners.delete(sid);\n\t\t\t\t\t(_listenersByParent_pid = listenersByParent[pid]) === null || _listenersByParent_pid === void 0 || _listenersByParent_pid.delete(sid);\n\t\t\t\t\tlocalStates.delete(sid);\n\t\t\t\t\tstates.delete(sid);\n\t\t\t\t\tPendingUpdate.delete(sid);\n\t\t\t\t\tr.unsubscribe = void 0;\n\t\t\t\t\tr.subscribedParentId = void 0;\n\t\t\t\t};\n\t\t\t}\n\t\t} else if (r.unsubscribe) cleanupThemeSubscription(r);\n\t\treturn function() {\n\t\t\tif (r.renderVersion === renderVersion) cleanupThemeState(r);\n\t\t};\n\t});\n\tif (cascadeOnChange) (0, import_constants.useIsomorphicLayoutEffect)(function() {\n\t\tif (!HasRenderedOnce.get(keys)) {\n\t\t\tHasRenderedOnce.set(keys, true);\n\t\t\treturn;\n\t\t}\n\t\tif (!propsKey) {\n\t\t\tif (HadTheme.get(keys)) scheduleUpdate(id);\n\t\t\tHadTheme.set(keys, false);\n\t\t\treturn;\n\t\t}\n\t\tif (process.env.NODE_ENV === \"development\" && props.debug === \"verbose\") {\n\t\t\tvar _states_get;\n\t\t\tconsole.warn(` \\xB7 useTheme(${id}) scheduleUpdate`, propsKey, (_states_get = states.get(id)) === null || _states_get === void 0 ? void 0 : _states_get.name);\n\t\t}\n\t\tscheduleUpdate(id);\n\t\tHadTheme.set(keys, true);\n\t}, [keys, propsKey]);\n\treturn state;\n};\nvar shouldSubscribeToTheme = function(r, cascadeOnChange) {\n\tvar _r_keys_current, _r_props_needsUpdate, _r_props;\n\treturn 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));\n};\nfunction cleanupThemeSubscription(r) {\n\tvar _r_unsubscribe;\n\t(_r_unsubscribe = r.unsubscribe) === null || _r_unsubscribe === void 0 || _r_unsubscribe.call(r);\n}\nfunction cleanupThemeState(r) {\n\tif (r.unsubscribe) cleanupThemeSubscription(r);\n\telse {\n\t\tlocalStates.delete(r.id);\n\t\tstates.delete(r.id);\n\t\tPendingUpdate.delete(r.id);\n\t}\n}\nvar getSnapshotImpl = function(r) {\n\tvar _keys_current, _schemeKeys_current, _keys_current1, _props_needsUpdate;\n\tvar { id, parentId, props, propsKey, isRoot, keys, schemeKeys } = r;\n\tvar local = localStates.get(id);\n\tvar parentState = states.get(parentId);\n\tif (local && !PendingUpdate.has(id)) {\n\t\tif (parentState && local._parentName === parentState.name && local._propsKey === propsKey) return local;\n\t}\n\tvar isSchemeOnlyChange = import_constants.supportsDynamicColorIOS && (0, import_config.getSetting)(\"fastSchemeChange\") && local && parentState && local.scheme !== parentState.scheme && getThemeBaseName(local.name) === getThemeBaseName(parentState.name);\n\tvar _keys_current_size;\n\tvar 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;\n\tvar _schemeKeys_current_size;\n\tvar 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;\n\tvar canSkipForSchemeChange = isSchemeOnlyChange && allKeysSchemeOptimized;\n\tvar 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);\n\tvar [rerender, next] = getNextState(local, props, propsKey, isRoot, id, parentId, needsUpdate, PendingUpdate.get(id));\n\tPendingUpdate.delete(id);\n\tif (!local || rerender) {\n\t\tlocal = { ...next };\n\t\tlocalStates.set(id, local);\n\t}\n\tif (process.env.NODE_ENV === \"development\" && props.debug === \"verbose\") {\n\t\tconsole.groupCollapsed(` ${id} getSnapshot ${rerender}`, local.name, \">\", next.name);\n\t\tconsole.info({\n\t\t\tprops,\n\t\t\tpropsKey,\n\t\t\tisRoot,\n\t\t\tparentId,\n\t\t\tlocal,\n\t\t\tnext,\n\t\t\tneedsUpdate,\n\t\t\tisSchemeOnlyChange,\n\t\t\tallKeysSchemeOptimized,\n\t\t\tcanSkipForSchemeChange\n\t\t});\n\t\tconsole.groupEnd();\n\t}\n\tif (next !== local) {\n\t\tObject.assign(local, next);\n\t\tlocal.id = id;\n\t}\n\tlocal._parentName = parentState === null || parentState === void 0 ? void 0 : parentState.name;\n\tlocal._propsKey = propsKey;\n\tstates.set(id, next);\n\treturn local;\n};\nvar getNextState = function(lastState, props, propsKey) {\n\tvar isRoot = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false, id = arguments.length > 4 ? arguments[4] : void 0, parentId = arguments.length > 5 ? arguments[5] : void 0, needsUpdate = arguments.length > 6 ? arguments[6] : void 0, pendingUpdate = arguments.length > 7 ? arguments[7] : void 0;\n\tvar { debug } = props;\n\tvar parentState = states.get(parentId);\n\tif (props.passThrough) return [false, lastState || parentState || { name: \"\" }];\n\tif (!themes) themes = (0, import_config.getConfig)().themes;\n\tvar name = !propsKey && (!lastState || !(lastState === null || lastState === void 0 ? void 0 : lastState.isNew)) ? null : getNewThemeName(parentState === null || parentState === void 0 ? void 0 : parentState.name, props, pendingUpdate === \"force\" ? true : !!needsUpdate);\n\tvar isSameAsParent = parentState && (!name || name === parentState.name);\n\tvar shouldRerender = Boolean(pendingUpdate === \"force\" || needsUpdate && (pendingUpdate || (lastState === null || lastState === void 0 ? void 0 : lastState.name) !== (parentState === null || parentState === void 0 ? void 0 : parentState.name)));\n\tif (process.env.NODE_ENV === \"development\" && debug === \"verbose\") {\n\t\tvar message = ` \\xB7 useTheme(${id}) getNextState => ${name} needsUpdate ${needsUpdate} shouldRerender ${shouldRerender}`;\n\t\tconsole.info(message);\n\t}\n\tif (isSameAsParent) {\n\t\tif (!shouldRerender && lastState && lastState.name === parentState.name) return [false, lastState];\n\t\treturn [shouldRerender, {\n\t\t\t...parentState,\n\t\t\tisNew: false\n\t\t}];\n\t}\n\tif (!name) {\n\t\tvar next = lastState !== null && lastState !== void 0 ? lastState : parentState;\n\t\tif (!next) throw new Error(process.env.NODE_ENV === \"development\" ? `${import_constants2.MISSING_THEME_MESSAGE}\n\nLooked for theme${props.name ? ` \"${props.name}\"` : \"\"}${props.componentName ? ` (component: ${props.componentName})` : \"\"}, but no theme state was resolved (parentId: ${parentId}, id: ${id}).` : import_constants2.MISSING_THEME_MESSAGE);\n\t\tif (shouldRerender) return [true, { ...parentState || lastState }];\n\t\treturn [false, next];\n\t}\n\tvar scheme = getScheme(name);\n\tvar isInverse = parentState && scheme !== parentState.scheme;\n\tvar nextState = {\n\t\tid,\n\t\tname,\n\t\ttheme: themes[name],\n\t\tscheme,\n\t\tparentId,\n\t\tparentName: parentState === null || parentState === void 0 ? void 0 : parentState.name,\n\t\tisInverse,\n\t\tisNew: true\n\t};\n\tif (isRoot) rootThemeState = nextState;\n\tif (pendingUpdate !== \"force\" && lastState && lastState.name === name) return [false, nextState];\n\tvar shouldAvoidRerender = pendingUpdate !== \"force\" && lastState && !needsUpdate && nextState.name === lastState.name;\n\tif (process.env.NODE_ENV === \"development\" && debug === \"verbose\") {\n\t\tconsole.groupCollapsed(` \\xB7 useTheme(${id}) \\u23ED\\uFE0F ${name} shouldAvoidRerender: ${shouldAvoidRerender}`);\n\t\tconsole.info({\n\t\t\tlastState,\n\t\t\tneedsUpdate,\n\t\t\tnextState,\n\t\t\tpendingUpdate\n\t\t});\n\t\tconsole.groupEnd();\n\t}\n\tif (shouldAvoidRerender) return [false, nextState];\n\treturn [true, nextState];\n};\nfunction scheduleUpdate(id) {\n\tvar queue = [id];\n\tvar visited = /* @__PURE__ */ new Set();\n\twhile (queue.length) {\n\t\tvar children = listenersByParent[queue.shift()];\n\t\tif (children) {\n\t\t\tvar _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n\t\t\ttry {\n\t\t\t\tfor (var _iterator = children[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t\t\t\t\tvar childId = _step.value;\n\t\t\t\t\tif (!visited.has(childId)) {\n\t\t\t\t\t\tvisited.add(childId);\n\t\t\t\t\t\tqueue.push(childId);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\t_didIteratorError = true;\n\t\t\t\t_iteratorError = err;\n\t\t\t} finally {\n\t\t\t\ttry {\n\t\t\t\t\tif (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();\n\t\t\t\t} finally {\n\t\t\t\t\tif (_didIteratorError) throw _iteratorError;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tvisited.forEach(function(childId2) {\n\t\tvar cb = allListeners.get(childId2);\n\t\tcb === null || cb === void 0 || cb();\n\t});\n}\nvar validSchemes = {\n\tlight: \"light\",\n\tdark: \"dark\"\n};\nfunction getScheme(name) {\n\treturn validSchemes[name.split(\"_\")[0]];\n}\nfunction getNewThemeName() {\n\tvar parentName = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : \"\", props = arguments.length > 1 ? arguments[1] : void 0, forceUpdate = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;\n\tvar { name, reset } = props;\n\tvar componentName = props.unstyled ? void 0 : props.componentName;\n\tif (name && reset) throw new Error(process.env.NODE_ENV === \"production\" ? `\\u274C004` : \"Cannot reset and set a new name at the same time.\");\n\tvar cacheKey = `${parentName}|${name || \"\"}|${componentName || \"\"}|${reset ? 1 : 0}|${forceUpdate ? 1 : 0}`;\n\tif (themeNameCacheVer !== cacheVersion) {\n\t\tthemeNameCache.clear();\n\t\tthemeNameCacheVer = cacheVersion;\n\t} else {\n\t\tvar cached = themeNameCache.get(cacheKey);\n\t\tif (cached !== void 0) return cached;\n\t}\n\tvar { themes: themes2 } = (0, import_config.getConfig)();\n\tif (reset) {\n\t\tif (parentName === \"light\" || parentName === \"dark\") {\n\t\t\tvar result = parentName === \"light\" ? \"dark\" : \"light\";\n\t\t\tthemeNameCache.set(cacheKey, result);\n\t\t\treturn result;\n\t\t}\n\t\tvar lastPartIndex = parentName.lastIndexOf(\"_\");\n\t\tvar name1 = lastPartIndex <= 0 ? parentName : parentName.slice(lastPartIndex);\n\t\tvar scheme = parentName.slice(0, lastPartIndex);\n\t\tvar result1 = themes2[name1] ? name1 : scheme;\n\t\tthemeNameCache.set(cacheKey, result1);\n\t\treturn result1;\n\t}\n\tvar parentParts = parentName.split(\"_\");\n\tvar lastName = parentParts[parentParts.length - 1];\n\tif (lastName && lastName[0].toLowerCase() !== lastName[0]) parentParts.pop();\n\tvar subNames = [\n\t\tname && componentName ? `${name}_${componentName}` : void 0,\n\t\tname,\n\t\tcomponentName\n\t].filter(Boolean);\n\tvar found = null;\n\tif (name) {\n\t\tvar nameHasScheme = getScheme(name);\n\t\tif (nameHasScheme) {\n\t\t\tvar _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n\t\t\ttry {\n\t\t\t\tfor (var _iterator = subNames[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t\t\t\t\tvar subName = _step.value;\n\t\t\t\t\tif (subName in themes2) {\n\t\t\t\t\t\tfound = subName;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\t_didIteratorError = true;\n\t\t\t\t_iteratorError = err;\n\t\t\t} finally {\n\t\t\t\ttry {\n\t\t\t\t\tif (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();\n\t\t\t\t} finally {\n\t\t\t\t\tif (_didIteratorError) throw _iteratorError;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (!found && !nameHasScheme) {\n\t\t\tif (getScheme(parentName)) {\n\t\t\t\tvar potentialBases = [];\n\t\t\t\tfor (var i = parentParts.length; i >= 1; i--) potentialBases.push(parentParts.slice(0, i).join(\"_\"));\n\t\t\t\tvar _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n\t\t\t\ttry {\n\t\t\t\t\touter: for (var _iterator1 = potentialBases[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n\t\t\t\t\t\tvar base = _step1.value;\n\t\t\t\t\t\tvar candidates = [componentName ? `${base}_${name}_${componentName}` : void 0, `${base}_${name}`].filter(Boolean);\n\t\t\t\t\t\tvar _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tfor (var _iterator2 = candidates[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n\t\t\t\t\t\t\t\tvar potential = _step2.value;\n\t\t\t\t\t\t\t\tif (potential in themes2) {\n\t\t\t\t\t\t\t\t\tfound = potential;\n\t\t\t\t\t\t\t\t\tbreak outer;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t_didIteratorError2 = true;\n\t\t\t\t\t\t\t_iteratorError2 = err;\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tif (!_iteratorNormalCompletion2 && _iterator2.return != null) _iterator2.return();\n\t\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\t\tif (_didIteratorError2) throw _iteratorError2;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\t_didIteratorError1 = true;\n\t\t\t\t\t_iteratorError1 = err;\n\t\t\t\t} finally {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tif (!_iteratorNormalCompletion1 && _iterator1.return != null) _iterator1.return();\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tif (_didIteratorError1) throw _iteratorError1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tif (!found) if (!name && componentName) {\n\t\tvar potential1 = `${parentParts.join(\"_\")}_${componentName}`;\n\t\tif (potential1 in themes2) found = potential1;\n\t} else {\n\t\tvar max = parentParts.length;\n\t\tfor (var i1 = 0; i1 <= max; i1++) {\n\t\t\tvar base1 = (i1 === 0 ? parentParts : parentParts.slice(0, -i1)).join(\"_\");\n\t\t\tvar _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;\n\t\t\ttry {\n\t\t\t\tfor (var _iterator3 = subNames[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n\t\t\t\t\tvar subName1 = _step3.value;\n\t\t\t\t\tvar potential2 = base1 ? `${base1}_${subName1}` : subName1;\n\t\t\t\t\tif (potential2 in themes2) {\n\t\t\t\t\t\tfound = potential2;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\t_didIteratorError3 = true;\n\t\t\t\t_iteratorError3 = err;\n\t\t\t} finally {\n\t\t\t\ttry {\n\t\t\t\t\tif (!_iteratorNormalCompletion3 && _iterator3.return != null) _iterator3.return();\n\t\t\t\t} finally {\n\t\t\t\t\tif (_didIteratorError3) throw _iteratorError3;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (found) break;\n\t\t}\n\t}\n\tif (!forceUpdate && found === parentName && !validSchemes[found]) {\n\t\tthemeNameCache.set(cacheKey, null);\n\t\treturn null;\n\t}\n\tthemeNameCache.set(cacheKey, found);\n\treturn found;\n}\nvar getPropsKey = function(param) {\n\tvar { name, reset, forceClassName, componentName } = param;\n\treturn `${name || \"\"}${reset || \"\"}${forceClassName || \"\"}${componentName || \"\"}`;\n};\nvar hasThemeUpdatingProps = function(props) {\n\treturn \"name\" in props || \"reset\" in props || \"forceClassName\" in props;\n};\n//# sourceMappingURL=useThemeState.js.map\n"],"mappings":"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","ignoreList":[]}
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","useThemeState_exports","ThemeStateContext","forceUpdateThemes","getRootThemeState","getThemeState","hasThemeUpdatingProps","useThemeState","module","exports","import_constants","require","import_react","import_config","import_constants2","createContext","allListeners","Map","listenersByParent","HasRenderedOnce","WeakMap","HadTheme","PendingUpdate","states","localStates","shouldForce","cacheVersion","forEach","cb","id","themeNameCache","themeNameCacheVer","themes","rootThemeState","getThemeBaseName","replace","incReducer","c","props","isRoot","arguments","length","keys","schemeKeys","cascadeOnChange","disable","parentId","useContext","Error","process","env","NODE_ENV","MISSING_THEME_MESSAGE","componentName","theme","getConfig","light","useId","propsKey","getPropsKey","ref","useRef","current","renderVersion","globalThis","time","forceUpdate","useReducer","state","getSnapshotImpl","lastSnap","useEffect","r","unsubscribe","subscribedParentId","cleanupThemeSubscription","shouldSubscribeToTheme","pid","sid","next","Set","add","set","_listenersByParent_pid","delete","cleanupThemeState","useIsomorphicLayoutEffect","scheduleUpdate","debug","_states_get","console","warn","_r_keys_current","_r_props_needsUpdate","_r_props","size","needsUpdate","_r_unsubscribe","_keys_current","_schemeKeys_current","_keys_current1","_props_needsUpdate","local","parentState","has","_parentName","_propsKey","isSchemeOnlyChange","supportsDynamicColorIOS","getSetting","scheme","_keys_current_size","keysSize","_schemeKeys_current_size","allKeysSchemeOptimized","canSkipForSchemeChange","passThrough","rerender","getNextState","groupCollapsed","info","groupEnd","assign","lastState","pendingUpdate","isNew","getNewThemeName","isSameAsParent","shouldRerender","Boolean","message","_ref","_ref1","getScheme","isInverse","nextState","parentName","shouldAvoidRerender","queue","visited","children","shift","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","done","childId","push","err","return","childId2","validSchemes","dark","split","reset","unstyled","cacheKey","clear","cached","themes2","result","lastPartIndex","lastIndexOf","name1","slice","result1","parentParts","lastName","toLowerCase","pop","subNames","filter","found","nameHasScheme","subName","potentialBases","i","join","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","outer","_iterator1","_step1","base","candidates","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","potential","potential1","max","i1","base1","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_iterator3","_step3","subName1","potential2","param","forceClassName"],"sources":["useThemeState.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\tfor (var name in all) __defProp(target, name, {\n\t\tget: all[name],\n\t\tenumerable: true\n\t});\n};\nvar __copyProps = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") {\n\t\tfor (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n\t\t\tget: () => from[key],\n\t\t\tenumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n\t\t});\n\t}\n\treturn to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar useThemeState_exports = {};\n__export(useThemeState_exports, {\n\tThemeStateContext: () => ThemeStateContext,\n\tforceUpdateThemes: () => forceUpdateThemes,\n\tgetRootThemeState: () => getRootThemeState,\n\tgetThemeState: () => getThemeState,\n\thasThemeUpdatingProps: () => hasThemeUpdatingProps,\n\tuseThemeState: () => useThemeState\n});\nmodule.exports = __toCommonJS(useThemeState_exports);\nvar import_constants = require(\"@tamagui/constants\");\nvar import_react = require(\"react\");\nvar import_config = require(\"../config\");\nvar import_constants2 = require(\"../constants/constants\");\nvar ThemeStateContext = (0, import_react.createContext)(\"\");\nvar allListeners = /* @__PURE__ */ new Map();\nvar listenersByParent = {};\nvar HasRenderedOnce = /* @__PURE__ */ new WeakMap();\nvar HadTheme = /* @__PURE__ */ new WeakMap();\nvar PendingUpdate = /* @__PURE__ */ new Map();\nvar states = /* @__PURE__ */ new Map();\nvar localStates = /* @__PURE__ */ new Map();\nvar shouldForce = false;\nvar forceUpdateThemes = function() {\n\tcacheVersion++;\n\tshouldForce = true;\n\tallListeners.forEach(function(cb) {\n\t\treturn cb();\n\t});\n\tshouldForce = false;\n};\nvar getThemeState = function(id) {\n\treturn states.get(id);\n};\nvar cacheVersion = 0;\nvar themeNameCache = /* @__PURE__ */ new Map();\nvar themeNameCacheVer = -1;\nvar themes = null;\nvar rootThemeState = null;\nvar getRootThemeState = function() {\n\treturn rootThemeState;\n};\nvar getThemeBaseName = function(name) {\n\treturn name.replace(/^(light|dark)_/, \"\");\n};\nvar incReducer = function(c) {\n\treturn c + 1;\n};\nvar useThemeState = function(props) {\n\t\"use no memo\";\n\tvar isRoot = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false, keys = arguments.length > 2 ? arguments[2] : void 0, schemeKeys = arguments.length > 3 ? arguments[3] : void 0, cascadeOnChange = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : false;\n\tvar { disable } = props;\n\tvar parentId = (0, import_react.useContext)(ThemeStateContext);\n\tif (!parentId && !isRoot) throw new Error(process.env.NODE_ENV === \"development\" ? `${import_constants2.MISSING_THEME_MESSAGE}\n\nLooked for theme${props.name ? ` \"${props.name}\"` : \"\"}${props.componentName ? ` (component: ${props.componentName})` : \"\"}, but no parent theme context was found (parentId: ${parentId}).` : import_constants2.MISSING_THEME_MESSAGE);\n\tif (disable) return states.get(parentId) || {\n\t\tid: \"\",\n\t\tname: \"light\",\n\t\ttheme: (0, import_config.getConfig)().themes.light\n\t};\n\tvar id = (0, import_react.useId)();\n\tvar propsKey = getPropsKey(props);\n\tvar ref = (0, import_react.useRef)(null);\n\tif (!ref.current) ref.current = {\n\t\tid,\n\t\tparentId,\n\t\tprops,\n\t\tpropsKey,\n\t\tisRoot,\n\t\tkeys,\n\t\tschemeKeys,\n\t\trenderVersion: 0\n\t};\n\telse {\n\t\tref.current.props = props;\n\t\tref.current.propsKey = propsKey;\n\t\tref.current.isRoot = isRoot;\n\t\tref.current.keys = keys;\n\t\tref.current.schemeKeys = schemeKeys;\n\t\tref.current.parentId = parentId;\n\t}\n\tref.current.renderVersion++;\n\tif (process.env.NODE_ENV === \"development\" && globalThis.time) globalThis.time`theme-prep-uses`;\n\tvar [, forceUpdate] = (0, import_react.useReducer)(incReducer, 0);\n\tvar state = getSnapshotImpl(ref.current);\n\tref.current.lastSnap = state;\n\t(0, import_react.useEffect)(function() {\n\t\tvar r = ref.current;\n\t\tvar renderVersion = r.renderVersion;\n\t\tif (r.unsubscribe && r.subscribedParentId !== r.parentId) cleanupThemeSubscription(r);\n\t\tif (shouldSubscribeToTheme(r, cascadeOnChange)) {\n\t\t\tif (!r.unsubscribe) {\n\t\t\t\tvar pid = r.parentId;\n\t\t\t\tvar sid = r.id;\n\t\t\t\tvar cb = function() {\n\t\t\t\t\tvar next = getSnapshotImpl(r);\n\t\t\t\t\tif (next !== r.lastSnap) {\n\t\t\t\t\t\tr.lastSnap = next;\n\t\t\t\t\t\tforceUpdate();\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tlistenersByParent[pid] = listenersByParent[pid] || /* @__PURE__ */ new Set();\n\t\t\t\tlistenersByParent[pid].add(sid);\n\t\t\t\tallListeners.set(sid, function() {\n\t\t\t\t\tPendingUpdate.set(sid, shouldForce ? \"force\" : true);\n\t\t\t\t\tcb();\n\t\t\t\t});\n\t\t\t\tr.subscribedParentId = pid;\n\t\t\t\tr.unsubscribe = function() {\n\t\t\t\t\tvar _listenersByParent_pid;\n\t\t\t\t\tallListeners.delete(sid);\n\t\t\t\t\t(_listenersByParent_pid = listenersByParent[pid]) === null || _listenersByParent_pid === void 0 || _listenersByParent_pid.delete(sid);\n\t\t\t\t\tlocalStates.delete(sid);\n\t\t\t\t\tstates.delete(sid);\n\t\t\t\t\tPendingUpdate.delete(sid);\n\t\t\t\t\tr.unsubscribe = void 0;\n\t\t\t\t\tr.subscribedParentId = void 0;\n\t\t\t\t};\n\t\t\t}\n\t\t} else if (r.unsubscribe) cleanupThemeSubscription(r);\n\t\treturn function() {\n\t\t\tif (r.renderVersion === renderVersion) cleanupThemeState(r);\n\t\t};\n\t});\n\tif (cascadeOnChange) (0, import_constants.useIsomorphicLayoutEffect)(function() {\n\t\tif (!HasRenderedOnce.get(keys)) {\n\t\t\tHasRenderedOnce.set(keys, true);\n\t\t\treturn;\n\t\t}\n\t\tif (!propsKey) {\n\t\t\tif (HadTheme.get(keys)) scheduleUpdate(id);\n\t\t\tHadTheme.set(keys, false);\n\t\t\treturn;\n\t\t}\n\t\tif (process.env.NODE_ENV === \"development\" && props.debug === \"verbose\") {\n\t\t\tvar _states_get;\n\t\t\tconsole.warn(` \\xB7 useTheme(${id}) scheduleUpdate`, propsKey, (_states_get = states.get(id)) === null || _states_get === void 0 ? void 0 : _states_get.name);\n\t\t}\n\t\tscheduleUpdate(id);\n\t\tHadTheme.set(keys, true);\n\t}, [keys, propsKey]);\n\treturn state;\n};\nvar shouldSubscribeToTheme = function(r, cascadeOnChange) {\n\tvar _r_keys_current, _r_props_needsUpdate, _r_props;\n\treturn 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));\n};\nfunction cleanupThemeSubscription(r) {\n\tvar _r_unsubscribe;\n\t(_r_unsubscribe = r.unsubscribe) === null || _r_unsubscribe === void 0 || _r_unsubscribe.call(r);\n}\nfunction cleanupThemeState(r) {\n\tif (r.unsubscribe) cleanupThemeSubscription(r);\n\telse {\n\t\tlocalStates.delete(r.id);\n\t\tstates.delete(r.id);\n\t\tPendingUpdate.delete(r.id);\n\t}\n}\nvar getSnapshotImpl = function(r) {\n\tvar _keys_current, _schemeKeys_current, _keys_current1, _props_needsUpdate;\n\tvar { id, parentId, props, propsKey, isRoot, keys, schemeKeys } = r;\n\tvar local = localStates.get(id);\n\tvar parentState = states.get(parentId);\n\tif (local && !PendingUpdate.has(id)) {\n\t\tif (parentState && local._parentName === parentState.name && local._propsKey === propsKey) return local;\n\t}\n\tvar isSchemeOnlyChange = import_constants.supportsDynamicColorIOS && (0, import_config.getSetting)(\"fastSchemeChange\") && local && parentState && local.scheme !== parentState.scheme && getThemeBaseName(local.name) === getThemeBaseName(parentState.name);\n\tvar _keys_current_size;\n\tvar 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;\n\tvar _schemeKeys_current_size;\n\tvar 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;\n\tvar canSkipForSchemeChange = isSchemeOnlyChange && allKeysSchemeOptimized;\n\tvar 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);\n\tvar [rerender, next] = getNextState(local, props, propsKey, isRoot, id, parentId, needsUpdate, PendingUpdate.get(id));\n\tPendingUpdate.delete(id);\n\tif (!local || rerender) {\n\t\tlocal = { ...next };\n\t\tlocalStates.set(id, local);\n\t}\n\tif (process.env.NODE_ENV === \"development\" && props.debug === \"verbose\") {\n\t\tconsole.groupCollapsed(` ${id} getSnapshot ${rerender}`, local.name, \">\", next.name);\n\t\tconsole.info({\n\t\t\tprops,\n\t\t\tpropsKey,\n\t\t\tisRoot,\n\t\t\tparentId,\n\t\t\tlocal,\n\t\t\tnext,\n\t\t\tneedsUpdate,\n\t\t\tisSchemeOnlyChange,\n\t\t\tallKeysSchemeOptimized,\n\t\t\tcanSkipForSchemeChange\n\t\t});\n\t\tconsole.groupEnd();\n\t}\n\tif (next !== local) {\n\t\tObject.assign(local, next);\n\t\tlocal.id = id;\n\t}\n\tlocal._parentName = parentState === null || parentState === void 0 ? void 0 : parentState.name;\n\tlocal._propsKey = propsKey;\n\tstates.set(id, next);\n\treturn local;\n};\nvar getNextState = function(lastState, props, propsKey) {\n\tvar isRoot = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false, id = arguments.length > 4 ? arguments[4] : void 0, parentId = arguments.length > 5 ? arguments[5] : void 0, needsUpdate = arguments.length > 6 ? arguments[6] : void 0, pendingUpdate = arguments.length > 7 ? arguments[7] : void 0;\n\tvar { debug } = props;\n\tvar parentState = states.get(parentId);\n\tif (props.passThrough) return [false, lastState || parentState || { name: \"\" }];\n\tif (!themes) themes = (0, import_config.getConfig)().themes;\n\tvar name = !propsKey && (!lastState || !(lastState === null || lastState === void 0 ? void 0 : lastState.isNew)) ? null : getNewThemeName(parentState === null || parentState === void 0 ? void 0 : parentState.name, props, pendingUpdate === \"force\" ? true : !!needsUpdate);\n\tvar isSameAsParent = parentState && (!name || name === parentState.name);\n\tvar shouldRerender = Boolean(pendingUpdate === \"force\" || needsUpdate && (pendingUpdate || (lastState === null || lastState === void 0 ? void 0 : lastState.name) !== (parentState === null || parentState === void 0 ? void 0 : parentState.name)));\n\tif (process.env.NODE_ENV === \"development\" && debug === \"verbose\") {\n\t\tvar message = ` \\xB7 useTheme(${id}) getNextState => ${name} needsUpdate ${needsUpdate} shouldRerender ${shouldRerender}`;\n\t\tconsole.info(message);\n\t}\n\tif (isSameAsParent) {\n\t\tif (!shouldRerender && lastState && lastState.name === parentState.name) return [false, lastState];\n\t\treturn [shouldRerender, {\n\t\t\t...parentState,\n\t\t\tisNew: false\n\t\t}];\n\t}\n\tif (!name) {\n\t\tvar _ref, _ref1;\n\t\tvar next = (_ref1 = (_ref = lastState !== null && lastState !== void 0 ? lastState : parentState) !== null && _ref !== void 0 ? _ref : rootThemeState) !== null && _ref1 !== void 0 ? _ref1 : {\n\t\t\tid,\n\t\t\tname: \"light\",\n\t\t\ttheme: (0, import_config.getConfig)().themes.light\n\t\t};\n\t\tif (shouldRerender) return [true, { ...parentState || lastState || next }];\n\t\treturn [false, next];\n\t}\n\tvar scheme = getScheme(name);\n\tvar isInverse = parentState && scheme !== parentState.scheme;\n\tvar nextState = {\n\t\tid,\n\t\tname,\n\t\ttheme: themes[name],\n\t\tscheme,\n\t\tparentId,\n\t\tparentName: parentState === null || parentState === void 0 ? void 0 : parentState.name,\n\t\tisInverse,\n\t\tisNew: true\n\t};\n\tif (isRoot) rootThemeState = nextState;\n\tif (pendingUpdate !== \"force\" && lastState && lastState.name === name) return [false, nextState];\n\tvar shouldAvoidRerender = pendingUpdate !== \"force\" && lastState && !needsUpdate && nextState.name === lastState.name;\n\tif (process.env.NODE_ENV === \"development\" && debug === \"verbose\") {\n\t\tconsole.groupCollapsed(` \\xB7 useTheme(${id}) \\u23ED\\uFE0F ${name} shouldAvoidRerender: ${shouldAvoidRerender}`);\n\t\tconsole.info({\n\t\t\tlastState,\n\t\t\tneedsUpdate,\n\t\t\tnextState,\n\t\t\tpendingUpdate\n\t\t});\n\t\tconsole.groupEnd();\n\t}\n\tif (shouldAvoidRerender) return [false, nextState];\n\treturn [true, nextState];\n};\nfunction scheduleUpdate(id) {\n\tvar queue = [id];\n\tvar visited = /* @__PURE__ */ new Set();\n\twhile (queue.length) {\n\t\tvar children = listenersByParent[queue.shift()];\n\t\tif (children) {\n\t\t\tvar _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n\t\t\ttry {\n\t\t\t\tfor (var _iterator = children[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t\t\t\t\tvar childId = _step.value;\n\t\t\t\t\tif (!visited.has(childId)) {\n\t\t\t\t\t\tvisited.add(childId);\n\t\t\t\t\t\tqueue.push(childId);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\t_didIteratorError = true;\n\t\t\t\t_iteratorError = err;\n\t\t\t} finally {\n\t\t\t\ttry {\n\t\t\t\t\tif (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();\n\t\t\t\t} finally {\n\t\t\t\t\tif (_didIteratorError) throw _iteratorError;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tvisited.forEach(function(childId2) {\n\t\tvar cb = allListeners.get(childId2);\n\t\tcb === null || cb === void 0 || cb();\n\t});\n}\nvar validSchemes = {\n\tlight: \"light\",\n\tdark: \"dark\"\n};\nfunction getScheme(name) {\n\treturn validSchemes[name.split(\"_\")[0]];\n}\nfunction getNewThemeName() {\n\tvar parentName = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : \"\", props = arguments.length > 1 ? arguments[1] : void 0, forceUpdate = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;\n\tvar { name, reset } = props;\n\tvar componentName = props.unstyled ? void 0 : props.componentName;\n\tif (name && reset) throw new Error(process.env.NODE_ENV === \"production\" ? `\\u274C004` : \"Cannot reset and set a new name at the same time.\");\n\tvar cacheKey = `${parentName}|${name || \"\"}|${componentName || \"\"}|${reset ? 1 : 0}|${forceUpdate ? 1 : 0}`;\n\tif (themeNameCacheVer !== cacheVersion) {\n\t\tthemeNameCache.clear();\n\t\tthemeNameCacheVer = cacheVersion;\n\t} else {\n\t\tvar cached = themeNameCache.get(cacheKey);\n\t\tif (cached !== void 0) return cached;\n\t}\n\tvar { themes: themes2 } = (0, import_config.getConfig)();\n\tif (reset) {\n\t\tif (parentName === \"light\" || parentName === \"dark\") {\n\t\t\tvar result = parentName === \"light\" ? \"dark\" : \"light\";\n\t\t\tthemeNameCache.set(cacheKey, result);\n\t\t\treturn result;\n\t\t}\n\t\tvar lastPartIndex = parentName.lastIndexOf(\"_\");\n\t\tvar name1 = lastPartIndex <= 0 ? parentName : parentName.slice(lastPartIndex);\n\t\tvar scheme = parentName.slice(0, lastPartIndex);\n\t\tvar result1 = themes2[name1] ? name1 : scheme;\n\t\tthemeNameCache.set(cacheKey, result1);\n\t\treturn result1;\n\t}\n\tvar parentParts = parentName.split(\"_\");\n\tvar lastName = parentParts[parentParts.length - 1];\n\tif (lastName && lastName[0].toLowerCase() !== lastName[0]) parentParts.pop();\n\tvar subNames = [\n\t\tname && componentName ? `${name}_${componentName}` : void 0,\n\t\tname,\n\t\tcomponentName\n\t].filter(Boolean);\n\tvar found = null;\n\tif (name) {\n\t\tvar nameHasScheme = getScheme(name);\n\t\tif (nameHasScheme) {\n\t\t\tvar _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n\t\t\ttry {\n\t\t\t\tfor (var _iterator = subNames[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t\t\t\t\tvar subName = _step.value;\n\t\t\t\t\tif (subName in themes2) {\n\t\t\t\t\t\tfound = subName;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\t_didIteratorError = true;\n\t\t\t\t_iteratorError = err;\n\t\t\t} finally {\n\t\t\t\ttry {\n\t\t\t\t\tif (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();\n\t\t\t\t} finally {\n\t\t\t\t\tif (_didIteratorError) throw _iteratorError;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (!found && !nameHasScheme) {\n\t\t\tif (getScheme(parentName)) {\n\t\t\t\tvar potentialBases = [];\n\t\t\t\tfor (var i = parentParts.length; i >= 1; i--) potentialBases.push(parentParts.slice(0, i).join(\"_\"));\n\t\t\t\tvar _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n\t\t\t\ttry {\n\t\t\t\t\touter: for (var _iterator1 = potentialBases[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n\t\t\t\t\t\tvar base = _step1.value;\n\t\t\t\t\t\tvar candidates = [componentName ? `${base}_${name}_${componentName}` : void 0, `${base}_${name}`].filter(Boolean);\n\t\t\t\t\t\tvar _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tfor (var _iterator2 = candidates[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n\t\t\t\t\t\t\t\tvar potential = _step2.value;\n\t\t\t\t\t\t\t\tif (potential in themes2) {\n\t\t\t\t\t\t\t\t\tfound = potential;\n\t\t\t\t\t\t\t\t\tbreak outer;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t_didIteratorError2 = true;\n\t\t\t\t\t\t\t_iteratorError2 = err;\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tif (!_iteratorNormalCompletion2 && _iterator2.return != null) _iterator2.return();\n\t\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\t\tif (_didIteratorError2) throw _iteratorError2;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\t_didIteratorError1 = true;\n\t\t\t\t\t_iteratorError1 = err;\n\t\t\t\t} finally {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tif (!_iteratorNormalCompletion1 && _iterator1.return != null) _iterator1.return();\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tif (_didIteratorError1) throw _iteratorError1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tif (!found) if (!name && componentName) {\n\t\tvar potential1 = `${parentParts.join(\"_\")}_${componentName}`;\n\t\tif (potential1 in themes2) found = potential1;\n\t} else {\n\t\tvar max = parentParts.length;\n\t\tfor (var i1 = 0; i1 <= max; i1++) {\n\t\t\tvar base1 = (i1 === 0 ? parentParts : parentParts.slice(0, -i1)).join(\"_\");\n\t\t\tvar _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;\n\t\t\ttry {\n\t\t\t\tfor (var _iterator3 = subNames[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n\t\t\t\t\tvar subName1 = _step3.value;\n\t\t\t\t\tvar potential2 = base1 ? `${base1}_${subName1}` : subName1;\n\t\t\t\t\tif (potential2 in themes2) {\n\t\t\t\t\t\tfound = potential2;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\t_didIteratorError3 = true;\n\t\t\t\t_iteratorError3 = err;\n\t\t\t} finally {\n\t\t\t\ttry {\n\t\t\t\t\tif (!_iteratorNormalCompletion3 && _iterator3.return != null) _iterator3.return();\n\t\t\t\t} finally {\n\t\t\t\t\tif (_didIteratorError3) throw _iteratorError3;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (found) break;\n\t\t}\n\t}\n\tif (!forceUpdate && found === parentName && !validSchemes[found]) {\n\t\tthemeNameCache.set(cacheKey, null);\n\t\treturn null;\n\t}\n\tthemeNameCache.set(cacheKey, found);\n\treturn found;\n}\nvar getPropsKey = function(param) {\n\tvar { name, reset, forceClassName, componentName } = param;\n\treturn `${name || \"\"}${reset || \"\"}${forceClassName || \"\"}${componentName || \"\"}`;\n};\nvar hasThemeUpdatingProps = function(props) {\n\treturn \"name\" in props || \"reset\" in props || \"forceClassName\" in props;\n};\n//# sourceMappingURL=useThemeState.js.map\n"],"mappings":"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","ignoreList":[]}
@@ -216,12 +216,13 @@ const getNextState = (lastState, props, propsKey, isRoot = false, id, parentId,
216
216
  }];
217
217
  }
218
218
  if (!name) {
219
- const next = lastState ?? parentState;
220
- if (!next) throw new Error(process.env.NODE_ENV === "development" ? `${MISSING_THEME_MESSAGE}
221
-
222
- Looked for theme${props.name ? ` "${props.name}"` : ""}${props.componentName ? ` (component: ${props.componentName})` : ""}, but no theme state was resolved (parentId: ${parentId}, id: ${id}).` : MISSING_THEME_MESSAGE);
219
+ const next = lastState ?? parentState ?? rootThemeState ?? {
220
+ id,
221
+ name: "light",
222
+ theme: getConfig().themes.light
223
+ };
223
224
  if (shouldRerender) return [true, {
224
- ...(parentState || lastState)
225
+ ...(parentState || lastState || next)
225
226
  }];
226
227
  return [false, next];
227
228
  }
@@ -1 +1 @@
1
- {"version":3,"names":["useIsomorphicLayoutEffect","createContext","useContext","useEffect","useId","useReducer","useRef","getConfig","MISSING_THEME_MESSAGE","ThemeStateContext","allListeners","Map","listenersByParent","HasRenderedOnce","WeakMap","HadTheme","PendingUpdate","states","localStates","shouldForce","forceUpdateThemes","cacheVersion","forEach","cb","getThemeState","id","get","themeNameCache","themeNameCacheVer","themes","rootThemeState","getRootThemeState","incReducer","c","useThemeState","props","isRoot","keys","schemeKeys","cascadeOnChange","disable","parentId","Error","process","env","NODE_ENV","name","componentName","theme","light","propsKey","getPropsKey","ref","current","renderVersion","globalThis","time","forceUpdate","state","getSnapshotImpl","lastSnap","r","unsubscribe","subscribedParentId","cleanupThemeSubscription","shouldSubscribeToTheme","pid","sid","next","Set","add","set","delete","cleanupThemeState","scheduleUpdate","debug","console","warn","hasThemeUpdatingProps","size","needsUpdate","local","parentState","has","_parentName","_propsKey","isSchemeOnlyChange","keysSize","allKeysSchemeOptimized","canSkipForSchemeChange","passThrough","rerender","getNextState","groupCollapsed","info","groupEnd","Object","assign","lastState","pendingUpdate","isNew","getNewThemeName","isSameAsParent","shouldRerender","Boolean","message","trace","scheme","getScheme","isInverse","nextState","parentName","shouldAvoidRerender","queue","visited","length","children","shift","childId","push","validSchemes","dark","split","reset","unstyled","cacheKey","clear","cached","themes2","result2","lastPartIndex","lastIndexOf","name2","slice","result","parentParts","lastName","toLowerCase","pop","subNames","filter","found","nameHasScheme","subName","potentialBases","i","join","outer","base","candidates","potential","max","forceClassName"],"sources":["useThemeState.mjs"],"sourcesContent":["import { useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { createContext, useContext, useEffect, useId, useReducer, useRef } from \"react\";\nimport { getConfig } from \"../config\";\nimport { MISSING_THEME_MESSAGE } from \"../constants/constants\";\n\nconst ThemeStateContext = createContext(\"\");\nconst allListeners = /* @__PURE__ */ new Map();\nconst listenersByParent = {};\nconst HasRenderedOnce = /* @__PURE__ */ new WeakMap();\nconst HadTheme = /* @__PURE__ */ new WeakMap();\nconst PendingUpdate = /* @__PURE__ */ new Map();\nconst states = /* @__PURE__ */ new Map();\nconst localStates = /* @__PURE__ */ new Map();\nlet shouldForce = false;\nconst forceUpdateThemes = () => {\n\tcacheVersion++;\n\tshouldForce = true;\n\tallListeners.forEach((cb) => cb());\n\tshouldForce = false;\n};\nconst getThemeState = (id) => states.get(id);\nlet cacheVersion = 0;\nconst themeNameCache = /* @__PURE__ */ new Map();\nlet themeNameCacheVer = -1;\nlet themes = null;\nlet rootThemeState = null;\nconst getRootThemeState = () => rootThemeState;\nconst incReducer = (c) => c + 1;\nconst useThemeState = (props, isRoot = false, keys, schemeKeys, cascadeOnChange = false) => {\n\t\"use no memo\";\n\tconst { disable } = props;\n\tconst parentId = useContext(ThemeStateContext);\n\tif (!parentId && !isRoot) throw new Error(process.env.NODE_ENV === \"development\" ? `${MISSING_THEME_MESSAGE}\n\nLooked for theme${props.name ? ` \"${props.name}\"` : \"\"}${props.componentName ? ` (component: ${props.componentName})` : \"\"}, but no parent theme context was found (parentId: ${parentId}).` : MISSING_THEME_MESSAGE);\n\tif (disable) return states.get(parentId) || {\n\t\tid: \"\",\n\t\tname: \"light\",\n\t\ttheme: getConfig().themes.light\n\t};\n\tconst id = useId();\n\tconst propsKey = getPropsKey(props);\n\tconst ref = useRef(null);\n\tif (!ref.current) ref.current = {\n\t\tid,\n\t\tparentId,\n\t\tprops,\n\t\tpropsKey,\n\t\tisRoot,\n\t\tkeys,\n\t\tschemeKeys,\n\t\trenderVersion: 0\n\t};\n\telse {\n\t\tref.current.props = props;\n\t\tref.current.propsKey = propsKey;\n\t\tref.current.isRoot = isRoot;\n\t\tref.current.keys = keys;\n\t\tref.current.schemeKeys = schemeKeys;\n\t\tref.current.parentId = parentId;\n\t}\n\tref.current.renderVersion++;\n\tif (process.env.NODE_ENV === \"development\" && globalThis.time) globalThis.time`theme-prep-uses`;\n\tconst [, forceUpdate] = useReducer(incReducer, 0);\n\tconst state = getSnapshotImpl(ref.current);\n\tref.current.lastSnap = state;\n\tuseEffect(() => {\n\t\tconst r = ref.current;\n\t\tconst renderVersion = r.renderVersion;\n\t\tif (r.unsubscribe && r.subscribedParentId !== r.parentId) cleanupThemeSubscription(r);\n\t\tif (shouldSubscribeToTheme(r, cascadeOnChange)) {\n\t\t\tif (!r.unsubscribe) {\n\t\t\t\tconst pid = r.parentId;\n\t\t\t\tconst sid = r.id;\n\t\t\t\tconst cb = () => {\n\t\t\t\t\tconst next = getSnapshotImpl(r);\n\t\t\t\t\tif (next !== r.lastSnap) {\n\t\t\t\t\t\tr.lastSnap = next;\n\t\t\t\t\t\tforceUpdate();\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tlistenersByParent[pid] = listenersByParent[pid] || /* @__PURE__ */ new Set();\n\t\t\t\tlistenersByParent[pid].add(sid);\n\t\t\t\tallListeners.set(sid, () => {\n\t\t\t\t\tPendingUpdate.set(sid, shouldForce ? \"force\" : true);\n\t\t\t\t\tcb();\n\t\t\t\t});\n\t\t\t\tr.subscribedParentId = pid;\n\t\t\t\tr.unsubscribe = () => {\n\t\t\t\t\tallListeners.delete(sid);\n\t\t\t\t\tlistenersByParent[pid]?.delete(sid);\n\t\t\t\t\tlocalStates.delete(sid);\n\t\t\t\t\tstates.delete(sid);\n\t\t\t\t\tPendingUpdate.delete(sid);\n\t\t\t\t\tr.unsubscribe = void 0;\n\t\t\t\t\tr.subscribedParentId = void 0;\n\t\t\t\t};\n\t\t\t}\n\t\t} else if (r.unsubscribe) cleanupThemeSubscription(r);\n\t\treturn () => {\n\t\t\tif (r.renderVersion === renderVersion) cleanupThemeState(r);\n\t\t};\n\t});\n\tif (cascadeOnChange) useIsomorphicLayoutEffect(() => {\n\t\tif (!HasRenderedOnce.get(keys)) {\n\t\t\tHasRenderedOnce.set(keys, true);\n\t\t\treturn;\n\t\t}\n\t\tif (!propsKey) {\n\t\t\tif (HadTheme.get(keys)) scheduleUpdate(id);\n\t\t\tHadTheme.set(keys, false);\n\t\t\treturn;\n\t\t}\n\t\tif (process.env.NODE_ENV === \"development\" && props.debug === \"verbose\") console.warn(` \\xB7 useTheme(${id}) scheduleUpdate`, propsKey, states.get(id)?.name);\n\t\tscheduleUpdate(id);\n\t\tHadTheme.set(keys, true);\n\t}, [keys, propsKey]);\n\treturn state;\n};\nconst shouldSubscribeToTheme = (r, cascadeOnChange) => r.isRoot || cascadeOnChange || hasThemeUpdatingProps(r.props) || !!r.keys.current?.size || !!r.props.needsUpdate?.();\nfunction cleanupThemeSubscription(r) {\n\tr.unsubscribe?.();\n}\nfunction cleanupThemeState(r) {\n\tif (r.unsubscribe) cleanupThemeSubscription(r);\n\telse {\n\t\tlocalStates.delete(r.id);\n\t\tstates.delete(r.id);\n\t\tPendingUpdate.delete(r.id);\n\t}\n}\nconst getSnapshotImpl = (r) => {\n\tconst { id, parentId, props, propsKey, isRoot, keys, schemeKeys } = r;\n\tlet local = localStates.get(id);\n\tconst parentState = states.get(parentId);\n\tif (local && !PendingUpdate.has(id)) {\n\t\tif (parentState && local._parentName === parentState.name && local._propsKey === propsKey) return local;\n\t}\n\tconst isSchemeOnlyChange = false;\n\tconst keysSize = keys?.current?.size ?? 0;\n\tconst allKeysSchemeOptimized = (schemeKeys?.current?.size ?? 0) === keysSize && keysSize > 0;\n\tconst canSkipForSchemeChange = isSchemeOnlyChange;\n\tconst 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?.();\n\tconst [rerender, next] = getNextState(local, props, propsKey, isRoot, id, parentId, needsUpdate, PendingUpdate.get(id));\n\tPendingUpdate.delete(id);\n\tif (!local || rerender) {\n\t\tlocal = { ...next };\n\t\tlocalStates.set(id, local);\n\t}\n\tif (process.env.NODE_ENV === \"development\" && props.debug === \"verbose\") {\n\t\tconsole.groupCollapsed(` ${id} getSnapshot ${rerender}`, local.name, \">\", next.name);\n\t\tconsole.info({\n\t\t\tprops,\n\t\t\tpropsKey,\n\t\t\tisRoot,\n\t\t\tparentId,\n\t\t\tlocal,\n\t\t\tnext,\n\t\t\tneedsUpdate,\n\t\t\tisSchemeOnlyChange,\n\t\t\tallKeysSchemeOptimized,\n\t\t\tcanSkipForSchemeChange\n\t\t});\n\t\tconsole.groupEnd();\n\t}\n\tif (next !== local) {\n\t\tObject.assign(local, next);\n\t\tlocal.id = id;\n\t}\n\tlocal._parentName = parentState?.name;\n\tlocal._propsKey = propsKey;\n\tstates.set(id, next);\n\treturn local;\n};\nconst getNextState = (lastState, props, propsKey, isRoot = false, id, parentId, needsUpdate, pendingUpdate) => {\n\tconst { debug } = props;\n\tconst parentState = states.get(parentId);\n\tif (props.passThrough) return [false, lastState || parentState || { name: \"\" }];\n\tif (!themes) themes = getConfig().themes;\n\tconst name = !propsKey && (!lastState || !lastState?.isNew) ? null : getNewThemeName(parentState?.name, props, pendingUpdate === \"force\" ? true : !!needsUpdate);\n\tconst isSameAsParent = parentState && (!name || name === parentState.name);\n\tconst shouldRerender = Boolean(pendingUpdate === \"force\" || needsUpdate && (pendingUpdate || lastState?.name !== parentState?.name));\n\tif (process.env.NODE_ENV === \"development\" && debug === \"verbose\") {\n\t\tconst message = ` \\xB7 useTheme(${id}) getNextState => ${name} needsUpdate ${needsUpdate} shouldRerender ${shouldRerender}`;\n\t\tconsole.groupCollapsed(message);\n\t\tconsole.trace({\n\t\t\tname,\n\t\t\tlastState,\n\t\t\tparentState,\n\t\t\tprops,\n\t\t\tpropsKey,\n\t\t\tid,\n\t\t\tisSameAsParent\n\t\t});\n\t\tconsole.groupEnd();\n\t}\n\tif (isSameAsParent) {\n\t\tif (!shouldRerender && lastState && lastState.name === parentState.name) return [false, lastState];\n\t\treturn [shouldRerender, {\n\t\t\t...parentState,\n\t\t\tisNew: false\n\t\t}];\n\t}\n\tif (!name) {\n\t\tconst next = lastState ?? parentState;\n\t\tif (!next) throw new Error(process.env.NODE_ENV === \"development\" ? `${MISSING_THEME_MESSAGE}\n\nLooked for theme${props.name ? ` \"${props.name}\"` : \"\"}${props.componentName ? ` (component: ${props.componentName})` : \"\"}, but no theme state was resolved (parentId: ${parentId}, id: ${id}).` : MISSING_THEME_MESSAGE);\n\t\tif (shouldRerender) return [true, { ...parentState || lastState }];\n\t\treturn [false, next];\n\t}\n\tconst scheme = getScheme(name);\n\tconst isInverse = parentState && scheme !== parentState.scheme;\n\tconst nextState = {\n\t\tid,\n\t\tname,\n\t\ttheme: themes[name],\n\t\tscheme,\n\t\tparentId,\n\t\tparentName: parentState?.name,\n\t\tisInverse,\n\t\tisNew: true\n\t};\n\tif (isRoot) rootThemeState = nextState;\n\tif (pendingUpdate !== \"force\" && lastState && lastState.name === name) return [false, nextState];\n\tconst shouldAvoidRerender = pendingUpdate !== \"force\" && lastState && !needsUpdate && nextState.name === lastState.name;\n\tif (process.env.NODE_ENV === \"development\" && debug === \"verbose\") {\n\t\tconsole.groupCollapsed(` \\xB7 useTheme(${id}) \\u23ED\\uFE0F ${name} shouldAvoidRerender: ${shouldAvoidRerender}`);\n\t\tconsole.info({\n\t\t\tlastState,\n\t\t\tneedsUpdate,\n\t\t\tnextState,\n\t\t\tpendingUpdate\n\t\t});\n\t\tconsole.groupEnd();\n\t}\n\tif (shouldAvoidRerender) return [false, nextState];\n\treturn [true, nextState];\n};\nfunction scheduleUpdate(id) {\n\tconst queue = [id];\n\tconst visited = /* @__PURE__ */ new Set();\n\twhile (queue.length) {\n\t\tconst children = listenersByParent[queue.shift()];\n\t\tif (children) {\n\t\t\tfor (const childId of children) if (!visited.has(childId)) {\n\t\t\t\tvisited.add(childId);\n\t\t\t\tqueue.push(childId);\n\t\t\t}\n\t\t}\n\t}\n\tvisited.forEach((childId) => {\n\t\tallListeners.get(childId)?.();\n\t});\n}\nconst validSchemes = {\n\tlight: \"light\",\n\tdark: \"dark\"\n};\nfunction getScheme(name) {\n\treturn validSchemes[name.split(\"_\")[0]];\n}\nfunction getNewThemeName(parentName = \"\", props, forceUpdate = false) {\n\tconst { name, reset } = props;\n\tconst componentName = props.unstyled ? void 0 : props.componentName;\n\tif (name && reset) throw new Error(process.env.NODE_ENV === \"production\" ? `\\u274C004` : \"Cannot reset and set a new name at the same time.\");\n\tconst cacheKey = `${parentName}|${name || \"\"}|${componentName || \"\"}|${reset ? 1 : 0}|${forceUpdate ? 1 : 0}`;\n\tif (themeNameCacheVer !== cacheVersion) {\n\t\tthemeNameCache.clear();\n\t\tthemeNameCacheVer = cacheVersion;\n\t} else {\n\t\tconst cached = themeNameCache.get(cacheKey);\n\t\tif (cached !== void 0) return cached;\n\t}\n\tconst { themes: themes2 } = getConfig();\n\tif (reset) {\n\t\tif (parentName === \"light\" || parentName === \"dark\") {\n\t\t\tconst result2 = parentName === \"light\" ? \"dark\" : \"light\";\n\t\t\tthemeNameCache.set(cacheKey, result2);\n\t\t\treturn result2;\n\t\t}\n\t\tconst lastPartIndex = parentName.lastIndexOf(\"_\");\n\t\tconst name2 = lastPartIndex <= 0 ? parentName : parentName.slice(lastPartIndex);\n\t\tconst scheme = parentName.slice(0, lastPartIndex);\n\t\tconst result = themes2[name2] ? name2 : scheme;\n\t\tthemeNameCache.set(cacheKey, result);\n\t\treturn result;\n\t}\n\tconst parentParts = parentName.split(\"_\");\n\tconst lastName = parentParts[parentParts.length - 1];\n\tif (lastName && lastName[0].toLowerCase() !== lastName[0]) parentParts.pop();\n\tconst subNames = [\n\t\tname && componentName ? `${name}_${componentName}` : void 0,\n\t\tname,\n\t\tcomponentName\n\t].filter(Boolean);\n\tlet found = null;\n\tif (name) {\n\t\tconst nameHasScheme = getScheme(name);\n\t\tif (nameHasScheme) {\n\t\t\tfor (const subName of subNames) if (subName in themes2) {\n\t\t\t\tfound = subName;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (!found && !nameHasScheme) {\n\t\t\tif (getScheme(parentName)) {\n\t\t\t\tconst potentialBases = [];\n\t\t\t\tfor (let i = parentParts.length; i >= 1; i--) potentialBases.push(parentParts.slice(0, i).join(\"_\"));\n\t\t\t\touter: for (const base of potentialBases) {\n\t\t\t\t\tconst candidates = [componentName ? `${base}_${name}_${componentName}` : void 0, `${base}_${name}`].filter(Boolean);\n\t\t\t\t\tfor (const potential of candidates) if (potential in themes2) {\n\t\t\t\t\t\tfound = potential;\n\t\t\t\t\t\tbreak outer;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tif (!found) if (!name && componentName) {\n\t\tconst potential = `${parentParts.join(\"_\")}_${componentName}`;\n\t\tif (potential in themes2) found = potential;\n\t} else {\n\t\tconst max = parentParts.length;\n\t\tfor (let i = 0; i <= max; i++) {\n\t\t\tconst base = (i === 0 ? parentParts : parentParts.slice(0, -i)).join(\"_\");\n\t\t\tfor (const subName of subNames) {\n\t\t\t\tconst potential = base ? `${base}_${subName}` : subName;\n\t\t\t\tif (potential in themes2) {\n\t\t\t\t\tfound = potential;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (found) break;\n\t\t}\n\t}\n\tif (!forceUpdate && found === parentName && !validSchemes[found]) {\n\t\tthemeNameCache.set(cacheKey, null);\n\t\treturn null;\n\t}\n\tthemeNameCache.set(cacheKey, found);\n\treturn found;\n}\nconst getPropsKey = ({ name, reset, forceClassName, componentName }) => `${name || \"\"}${reset || \"\"}${forceClassName || \"\"}${componentName || \"\"}`;\nconst hasThemeUpdatingProps = (props) => \"name\" in props || \"reset\" in props || \"forceClassName\" in props;\n\nexport { ThemeStateContext, forceUpdateThemes, getRootThemeState, getThemeState, hasThemeUpdatingProps, useThemeState };"],"mappings":"AAAA,SAASA,yBAAyB,QAAQ,oBAAoB;AAC9D,SAASC,aAAa,EAAEC,UAAU,EAAEC,SAAS,EAAEC,KAAK,EAAEC,UAAU,EAAEC,MAAM,QAAQ,OAAO;AACvF,SAASC,SAAS,QAAQ,eAAW;AACrC,SAASC,qBAAqB,QAAQ,4BAAwB;AAE9D,MAAMC,iBAAiB,GAAGR,aAAa,CAAC,EAAE,CAAC;AAC3C,MAAMS,YAAY,GAAG,eAAgB,IAAIC,GAAG,CAAC,CAAC;AAC9C,MAAMC,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAMC,eAAe,GAAG,eAAgB,IAAIC,OAAO,CAAC,CAAC;AACrD,MAAMC,QAAQ,GAAG,eAAgB,IAAID,OAAO,CAAC,CAAC;AAC9C,MAAME,aAAa,GAAG,eAAgB,IAAIL,GAAG,CAAC,CAAC;AAC/C,MAAMM,MAAM,GAAG,eAAgB,IAAIN,GAAG,CAAC,CAAC;AACxC,MAAMO,WAAW,GAAG,eAAgB,IAAIP,GAAG,CAAC,CAAC;AAC7C,IAAIQ,WAAW,GAAG,KAAK;AACvB,MAAMC,iBAAiB,GAAGA,CAAA,KAAM;EAC/BC,YAAY,EAAE;EACdF,WAAW,GAAG,IAAI;EAClBT,YAAY,CAACY,OAAO,CAAEC,EAAE,IAAKA,EAAE,CAAC,CAAC,CAAC;EAClCJ,WAAW,GAAG,KAAK;AACpB,CAAC;AACD,MAAMK,aAAa,GAAIC,EAAE,IAAKR,MAAM,CAACS,GAAG,CAACD,EAAE,CAAC;AAC5C,IAAIJ,YAAY,GAAG,CAAC;AACpB,MAAMM,cAAc,GAAG,eAAgB,IAAIhB,GAAG,CAAC,CAAC;AAChD,IAAIiB,iBAAiB,GAAG,CAAC,CAAC;AAC1B,IAAIC,MAAM,GAAG,IAAI;AACjB,IAAIC,cAAc,GAAG,IAAI;AACzB,MAAMC,iBAAiB,GAAGA,CAAA,KAAMD,cAAc;AAC9C,MAAME,UAAU,GAAIC,CAAC,IAAKA,CAAC,GAAG,CAAC;AAC/B,MAAMC,aAAa,GAAGA,CAACC,KAAK,EAAEC,MAAM,GAAG,KAAK,EAAEC,IAAI,EAAEC,UAAU,EAAEC,eAAe,GAAG,KAAK,KAAK;EAC3F,aAAa;;EACb,MAAM;IAAEC;EAAQ,CAAC,GAAGL,KAAK;EACzB,MAAMM,QAAQ,GAAGvC,UAAU,CAACO,iBAAiB,CAAC;EAC9C,IAAI,CAACgC,QAAQ,IAAI,CAACL,MAAM,EAAE,MAAM,IAAIM,KAAK,CAACC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,GAAG,GAAGrC,qBAAqB;AAC5G;AACA,kBAAkB2B,KAAK,CAACW,IAAI,GAAG,KAAKX,KAAK,CAACW,IAAI,GAAG,GAAG,EAAE,GAAGX,KAAK,CAACY,aAAa,GAAG,gBAAgBZ,KAAK,CAACY,aAAa,GAAG,GAAG,EAAE,sDAAsDN,QAAQ,IAAI,GAAGjC,qBAAqB,CAAC;EACpN,IAAIgC,OAAO,EAAE,OAAOvB,MAAM,CAACS,GAAG,CAACe,QAAQ,CAAC,IAAI;IAC3ChB,EAAE,EAAE,EAAE;IACNqB,IAAI,EAAE,OAAO;IACbE,KAAK,EAAEzC,SAAS,CAAC,CAAC,CAACsB,MAAM,CAACoB;EAC3B,CAAC;EACD,MAAMxB,EAAE,GAAGrB,KAAK,CAAC,CAAC;EAClB,MAAM8C,QAAQ,GAAGC,WAAW,CAAChB,KAAK,CAAC;EACnC,MAAMiB,GAAG,GAAG9C,MAAM,CAAC,IAAI,CAAC;EACxB,IAAI,CAAC8C,GAAG,CAACC,OAAO,EAAED,GAAG,CAACC,OAAO,GAAG;IAC/B5B,EAAE;IACFgB,QAAQ;IACRN,KAAK;IACLe,QAAQ;IACRd,MAAM;IACNC,IAAI;IACJC,UAAU;IACVgB,aAAa,EAAE;EAChB,CAAC,CAAC,KACG;IACJF,GAAG,CAACC,OAAO,CAAClB,KAAK,GAAGA,KAAK;IACzBiB,GAAG,CAACC,OAAO,CAACH,QAAQ,GAAGA,QAAQ;IAC/BE,GAAG,CAACC,OAAO,CAACjB,MAAM,GAAGA,MAAM;IAC3BgB,GAAG,CAACC,OAAO,CAAChB,IAAI,GAAGA,IAAI;IACvBe,GAAG,CAACC,OAAO,CAACf,UAAU,GAAGA,UAAU;IACnCc,GAAG,CAACC,OAAO,CAACZ,QAAQ,GAAGA,QAAQ;EAChC;EACAW,GAAG,CAACC,OAAO,CAACC,aAAa,EAAE;EAC3B,IAAIX,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAIU,UAAU,CAACC,IAAI,EAAED,UAAU,CAACC,IAAI,iBAAiB;EAC/F,MAAM,GAAGC,WAAW,CAAC,GAAGpD,UAAU,CAAC2B,UAAU,EAAE,CAAC,CAAC;EACjD,MAAM0B,KAAK,GAAGC,eAAe,CAACP,GAAG,CAACC,OAAO,CAAC;EAC1CD,GAAG,CAACC,OAAO,CAACO,QAAQ,GAAGF,KAAK;EAC5BvD,SAAS,CAAC,MAAM;IACf,MAAM0D,CAAC,GAAGT,GAAG,CAACC,OAAO;IACrB,MAAMC,aAAa,GAAGO,CAAC,CAACP,aAAa;IACrC,IAAIO,CAAC,CAACC,WAAW,IAAID,CAAC,CAACE,kBAAkB,KAAKF,CAAC,CAACpB,QAAQ,EAAEuB,wBAAwB,CAACH,CAAC,CAAC;IACrF,IAAII,sBAAsB,CAACJ,CAAC,EAAEtB,eAAe,CAAC,EAAE;MAC/C,IAAI,CAACsB,CAAC,CAACC,WAAW,EAAE;QACnB,MAAMI,GAAG,GAAGL,CAAC,CAACpB,QAAQ;QACtB,MAAM0B,GAAG,GAAGN,CAAC,CAACpC,EAAE;QAChB,MAAMF,EAAE,GAAGA,CAAA,KAAM;UAChB,MAAM6C,IAAI,GAAGT,eAAe,CAACE,CAAC,CAAC;UAC/B,IAAIO,IAAI,KAAKP,CAAC,CAACD,QAAQ,EAAE;YACxBC,CAAC,CAACD,QAAQ,GAAGQ,IAAI;YACjBX,WAAW,CAAC,CAAC;UACd;QACD,CAAC;QACD7C,iBAAiB,CAACsD,GAAG,CAAC,GAAGtD,iBAAiB,CAACsD,GAAG,CAAC,IAAI,eAAgB,IAAIG,GAAG,CAAC,CAAC;QAC5EzD,iBAAiB,CAACsD,GAAG,CAAC,CAACI,GAAG,CAACH,GAAG,CAAC;QAC/BzD,YAAY,CAAC6D,GAAG,CAACJ,GAAG,EAAE,MAAM;UAC3BnD,aAAa,CAACuD,GAAG,CAACJ,GAAG,EAAEhD,WAAW,GAAG,OAAO,GAAG,IAAI,CAAC;UACpDI,EAAE,CAAC,CAAC;QACL,CAAC,CAAC;QACFsC,CAAC,CAACE,kBAAkB,GAAGG,GAAG;QAC1BL,CAAC,CAACC,WAAW,GAAG,MAAM;UACrBpD,YAAY,CAAC8D,MAAM,CAACL,GAAG,CAAC;UACxBvD,iBAAiB,CAACsD,GAAG,CAAC,EAAEM,MAAM,CAACL,GAAG,CAAC;UACnCjD,WAAW,CAACsD,MAAM,CAACL,GAAG,CAAC;UACvBlD,MAAM,CAACuD,MAAM,CAACL,GAAG,CAAC;UAClBnD,aAAa,CAACwD,MAAM,CAACL,GAAG,CAAC;UACzBN,CAAC,CAACC,WAAW,GAAG,KAAK,CAAC;UACtBD,CAAC,CAACE,kBAAkB,GAAG,KAAK,CAAC;QAC9B,CAAC;MACF;IACD,CAAC,MAAM,IAAIF,CAAC,CAACC,WAAW,EAAEE,wBAAwB,CAACH,CAAC,CAAC;IACrD,OAAO,MAAM;MACZ,IAAIA,CAAC,CAACP,aAAa,KAAKA,aAAa,EAAEmB,iBAAiB,CAACZ,CAAC,CAAC;IAC5D,CAAC;EACF,CAAC,CAAC;EACF,IAAItB,eAAe,EAAEvC,yBAAyB,CAAC,MAAM;IACpD,IAAI,CAACa,eAAe,CAACa,GAAG,CAACW,IAAI,CAAC,EAAE;MAC/BxB,eAAe,CAAC0D,GAAG,CAAClC,IAAI,EAAE,IAAI,CAAC;MAC/B;IACD;IACA,IAAI,CAACa,QAAQ,EAAE;MACd,IAAInC,QAAQ,CAACW,GAAG,CAACW,IAAI,CAAC,EAAEqC,cAAc,CAACjD,EAAE,CAAC;MAC1CV,QAAQ,CAACwD,GAAG,CAAClC,IAAI,EAAE,KAAK,CAAC;MACzB;IACD;IACA,IAAIM,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAIV,KAAK,CAACwC,KAAK,KAAK,SAAS,EAAEC,OAAO,CAACC,IAAI,CAAC,kBAAkBpD,EAAE,kBAAkB,EAAEyB,QAAQ,EAAEjC,MAAM,CAACS,GAAG,CAACD,EAAE,CAAC,EAAEqB,IAAI,CAAC;IAC7J4B,cAAc,CAACjD,EAAE,CAAC;IAClBV,QAAQ,CAACwD,GAAG,CAAClC,IAAI,EAAE,IAAI,CAAC;EACzB,CAAC,EAAE,CAACA,IAAI,EAAEa,QAAQ,CAAC,CAAC;EACpB,OAAOQ,KAAK;AACb,CAAC;AACD,MAAMO,sBAAsB,GAAGA,CAACJ,CAAC,EAAEtB,eAAe,KAAKsB,CAAC,CAACzB,MAAM,IAAIG,eAAe,IAAIuC,qBAAqB,CAACjB,CAAC,CAAC1B,KAAK,CAAC,IAAI,CAAC,CAAC0B,CAAC,CAACxB,IAAI,CAACgB,OAAO,EAAE0B,IAAI,IAAI,CAAC,CAAClB,CAAC,CAAC1B,KAAK,CAAC6C,WAAW,GAAG,CAAC;AAC3K,SAAShB,wBAAwBA,CAACH,CAAC,EAAE;EACpCA,CAAC,CAACC,WAAW,GAAG,CAAC;AAClB;AACA,SAASW,iBAAiBA,CAACZ,CAAC,EAAE;EAC7B,IAAIA,CAAC,CAACC,WAAW,EAAEE,wBAAwB,CAACH,CAAC,CAAC,CAAC,KAC1C;IACJ3C,WAAW,CAACsD,MAAM,CAACX,CAAC,CAACpC,EAAE,CAAC;IACxBR,MAAM,CAACuD,MAAM,CAACX,CAAC,CAACpC,EAAE,CAAC;IACnBT,aAAa,CAACwD,MAAM,CAACX,CAAC,CAACpC,EAAE,CAAC;EAC3B;AACD;AACA,MAAMkC,eAAe,GAAIE,CAAC,IAAK;EAC9B,MAAM;IAAEpC,EAAE;IAAEgB,QAAQ;IAAEN,KAAK;IAAEe,QAAQ;IAAEd,MAAM;IAAEC,IAAI;IAAEC;EAAW,CAAC,GAAGuB,CAAC;EACrE,IAAIoB,KAAK,GAAG/D,WAAW,CAACQ,GAAG,CAACD,EAAE,CAAC;EAC/B,MAAMyD,WAAW,GAAGjE,MAAM,CAACS,GAAG,CAACe,QAAQ,CAAC;EACxC,IAAIwC,KAAK,IAAI,CAACjE,aAAa,CAACmE,GAAG,CAAC1D,EAAE,CAAC,EAAE;IACpC,IAAIyD,WAAW,IAAID,KAAK,CAACG,WAAW,KAAKF,WAAW,CAACpC,IAAI,IAAImC,KAAK,CAACI,SAAS,KAAKnC,QAAQ,EAAE,OAAO+B,KAAK;EACxG;EACA,MAAMK,kBAAkB,GAAG,KAAK;EAChC,MAAMC,QAAQ,GAAGlD,IAAI,EAAEgB,OAAO,EAAE0B,IAAI,IAAI,CAAC;EACzC,MAAMS,sBAAsB,GAAG,CAAClD,UAAU,EAAEe,OAAO,EAAE0B,IAAI,IAAI,CAAC,MAAMQ,QAAQ,IAAIA,QAAQ,GAAG,CAAC;EAC5F,MAAME,sBAAsB,GAAGH,kBAAkB;EACjD,MAAMN,WAAW,GAAG7C,KAAK,CAACuD,WAAW,GAAG,KAAK,GAAGtD,MAAM,IAAID,KAAK,CAACW,IAAI,KAAK,OAAO,IAAIX,KAAK,CAACW,IAAI,KAAK,MAAM,IAAIX,KAAK,CAACW,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,CAACjC,eAAe,CAACa,GAAG,CAACW,IAAI,CAAC,GAAG,IAAI,GAAGA,IAAI,EAAEgB,OAAO,EAAE0B,IAAI,GAAG,IAAI,GAAG5C,KAAK,CAAC6C,WAAW,GAAG,CAAC;EAChO,MAAM,CAACW,QAAQ,EAAEvB,IAAI,CAAC,GAAGwB,YAAY,CAACX,KAAK,EAAE9C,KAAK,EAAEe,QAAQ,EAAEd,MAAM,EAAEX,EAAE,EAAEgB,QAAQ,EAAEuC,WAAW,EAAEhE,aAAa,CAACU,GAAG,CAACD,EAAE,CAAC,CAAC;EACvHT,aAAa,CAACwD,MAAM,CAAC/C,EAAE,CAAC;EACxB,IAAI,CAACwD,KAAK,IAAIU,QAAQ,EAAE;IACvBV,KAAK,GAAG;MAAE,GAAGb;IAAK,CAAC;IACnBlD,WAAW,CAACqD,GAAG,CAAC9C,EAAE,EAAEwD,KAAK,CAAC;EAC3B;EACA,IAAItC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAIV,KAAK,CAACwC,KAAK,KAAK,SAAS,EAAE;IACxEC,OAAO,CAACiB,cAAc,CAAC,IAAIpE,EAAE,gBAAgBkE,QAAQ,EAAE,EAAEV,KAAK,CAACnC,IAAI,EAAE,GAAG,EAAEsB,IAAI,CAACtB,IAAI,CAAC;IACpF8B,OAAO,CAACkB,IAAI,CAAC;MACZ3D,KAAK;MACLe,QAAQ;MACRd,MAAM;MACNK,QAAQ;MACRwC,KAAK;MACLb,IAAI;MACJY,WAAW;MACXM,kBAAkB;MAClBE,sBAAsB;MACtBC;IACD,CAAC,CAAC;IACFb,OAAO,CAACmB,QAAQ,CAAC,CAAC;EACnB;EACA,IAAI3B,IAAI,KAAKa,KAAK,EAAE;IACnBe,MAAM,CAACC,MAAM,CAAChB,KAAK,EAAEb,IAAI,CAAC;IAC1Ba,KAAK,CAACxD,EAAE,GAAGA,EAAE;EACd;EACAwD,KAAK,CAACG,WAAW,GAAGF,WAAW,EAAEpC,IAAI;EACrCmC,KAAK,CAACI,SAAS,GAAGnC,QAAQ;EAC1BjC,MAAM,CAACsD,GAAG,CAAC9C,EAAE,EAAE2C,IAAI,CAAC;EACpB,OAAOa,KAAK;AACb,CAAC;AACD,MAAMW,YAAY,GAAGA,CAACM,SAAS,EAAE/D,KAAK,EAAEe,QAAQ,EAAEd,MAAM,GAAG,KAAK,EAAEX,EAAE,EAAEgB,QAAQ,EAAEuC,WAAW,EAAEmB,aAAa,KAAK;EAC9G,MAAM;IAAExB;EAAM,CAAC,GAAGxC,KAAK;EACvB,MAAM+C,WAAW,GAAGjE,MAAM,CAACS,GAAG,CAACe,QAAQ,CAAC;EACxC,IAAIN,KAAK,CAACuD,WAAW,EAAE,OAAO,CAAC,KAAK,EAAEQ,SAAS,IAAIhB,WAAW,IAAI;IAAEpC,IAAI,EAAE;EAAG,CAAC,CAAC;EAC/E,IAAI,CAACjB,MAAM,EAAEA,MAAM,GAAGtB,SAAS,CAAC,CAAC,CAACsB,MAAM;EACxC,MAAMiB,IAAI,GAAG,CAACI,QAAQ,KAAK,CAACgD,SAAS,IAAI,CAACA,SAAS,EAAEE,KAAK,CAAC,GAAG,IAAI,GAAGC,eAAe,CAACnB,WAAW,EAAEpC,IAAI,EAAEX,KAAK,EAAEgE,aAAa,KAAK,OAAO,GAAG,IAAI,GAAG,CAAC,CAACnB,WAAW,CAAC;EAChK,MAAMsB,cAAc,GAAGpB,WAAW,KAAK,CAACpC,IAAI,IAAIA,IAAI,KAAKoC,WAAW,CAACpC,IAAI,CAAC;EAC1E,MAAMyD,cAAc,GAAGC,OAAO,CAACL,aAAa,KAAK,OAAO,IAAInB,WAAW,KAAKmB,aAAa,IAAID,SAAS,EAAEpD,IAAI,KAAKoC,WAAW,EAAEpC,IAAI,CAAC,CAAC;EACpI,IAAIH,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAI8B,KAAK,KAAK,SAAS,EAAE;IAClE,MAAM8B,OAAO,GAAG,kBAAkBhF,EAAE,qBAAqBqB,IAAI,gBAAgBkC,WAAW,mBAAmBuB,cAAc,EAAE;IAC3H3B,OAAO,CAACiB,cAAc,CAACY,OAAO,CAAC;IAC/B7B,OAAO,CAAC8B,KAAK,CAAC;MACb5D,IAAI;MACJoD,SAAS;MACThB,WAAW;MACX/C,KAAK;MACLe,QAAQ;MACRzB,EAAE;MACF6E;IACD,CAAC,CAAC;IACF1B,OAAO,CAACmB,QAAQ,CAAC,CAAC;EACnB;EACA,IAAIO,cAAc,EAAE;IACnB,IAAI,CAACC,cAAc,IAAIL,SAAS,IAAIA,SAAS,CAACpD,IAAI,KAAKoC,WAAW,CAACpC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAEoD,SAAS,CAAC;IAClG,OAAO,CAACK,cAAc,EAAE;MACvB,GAAGrB,WAAW;MACdkB,KAAK,EAAE;IACR,CAAC,CAAC;EACH;EACA,IAAI,CAACtD,IAAI,EAAE;IACV,MAAMsB,IAAI,GAAG8B,SAAS,IAAIhB,WAAW;IACrC,IAAI,CAACd,IAAI,EAAE,MAAM,IAAI1B,KAAK,CAACC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,GAAG,GAAGrC,qBAAqB;AAC9F;AACA,kBAAkB2B,KAAK,CAACW,IAAI,GAAG,KAAKX,KAAK,CAACW,IAAI,GAAG,GAAG,EAAE,GAAGX,KAAK,CAACY,aAAa,GAAG,gBAAgBZ,KAAK,CAACY,aAAa,GAAG,GAAG,EAAE,gDAAgDN,QAAQ,SAAShB,EAAE,IAAI,GAAGjB,qBAAqB,CAAC;IACxN,IAAI+F,cAAc,EAAE,OAAO,CAAC,IAAI,EAAE;MAAE,IAAGrB,WAAW,IAAIgB,SAAS;IAAC,CAAC,CAAC;IAClE,OAAO,CAAC,KAAK,EAAE9B,IAAI,CAAC;EACrB;EACA,MAAMuC,MAAM,GAAGC,SAAS,CAAC9D,IAAI,CAAC;EAC9B,MAAM+D,SAAS,GAAG3B,WAAW,IAAIyB,MAAM,KAAKzB,WAAW,CAACyB,MAAM;EAC9D,MAAMG,SAAS,GAAG;IACjBrF,EAAE;IACFqB,IAAI;IACJE,KAAK,EAAEnB,MAAM,CAACiB,IAAI,CAAC;IACnB6D,MAAM;IACNlE,QAAQ;IACRsE,UAAU,EAAE7B,WAAW,EAAEpC,IAAI;IAC7B+D,SAAS;IACTT,KAAK,EAAE;EACR,CAAC;EACD,IAAIhE,MAAM,EAAEN,cAAc,GAAGgF,SAAS;EACtC,IAAIX,aAAa,KAAK,OAAO,IAAID,SAAS,IAAIA,SAAS,CAACpD,IAAI,KAAKA,IAAI,EAAE,OAAO,CAAC,KAAK,EAAEgE,SAAS,CAAC;EAChG,MAAME,mBAAmB,GAAGb,aAAa,KAAK,OAAO,IAAID,SAAS,IAAI,CAAClB,WAAW,IAAI8B,SAAS,CAAChE,IAAI,KAAKoD,SAAS,CAACpD,IAAI;EACvH,IAAIH,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAI8B,KAAK,KAAK,SAAS,EAAE;IAClEC,OAAO,CAACiB,cAAc,CAAC,kBAAkBpE,EAAE,kBAAkBqB,IAAI,yBAAyBkE,mBAAmB,EAAE,CAAC;IAChHpC,OAAO,CAACkB,IAAI,CAAC;MACZI,SAAS;MACTlB,WAAW;MACX8B,SAAS;MACTX;IACD,CAAC,CAAC;IACFvB,OAAO,CAACmB,QAAQ,CAAC,CAAC;EACnB;EACA,IAAIiB,mBAAmB,EAAE,OAAO,CAAC,KAAK,EAAEF,SAAS,CAAC;EAClD,OAAO,CAAC,IAAI,EAAEA,SAAS,CAAC;AACzB,CAAC;AACD,SAASpC,cAAcA,CAACjD,EAAE,EAAE;EAC3B,MAAMwF,KAAK,GAAG,CAACxF,EAAE,CAAC;EAClB,MAAMyF,OAAO,GAAG,eAAgB,IAAI7C,GAAG,CAAC,CAAC;EACzC,OAAO4C,KAAK,CAACE,MAAM,EAAE;IACpB,MAAMC,QAAQ,GAAGxG,iBAAiB,CAACqG,KAAK,CAACI,KAAK,CAAC,CAAC,CAAC;IACjD,IAAID,QAAQ,EAAE;MACb,KAAK,MAAME,OAAO,IAAIF,QAAQ,EAAE,IAAI,CAACF,OAAO,CAAC/B,GAAG,CAACmC,OAAO,CAAC,EAAE;QAC1DJ,OAAO,CAAC5C,GAAG,CAACgD,OAAO,CAAC;QACpBL,KAAK,CAACM,IAAI,CAACD,OAAO,CAAC;MACpB;IACD;EACD;EACAJ,OAAO,CAAC5F,OAAO,CAAEgG,OAAO,IAAK;IAC5B5G,YAAY,CAACgB,GAAG,CAAC4F,OAAO,CAAC,GAAG,CAAC;EAC9B,CAAC,CAAC;AACH;AACA,MAAME,YAAY,GAAG;EACpBvE,KAAK,EAAE,OAAO;EACdwE,IAAI,EAAE;AACP,CAAC;AACD,SAASb,SAASA,CAAC9D,IAAI,EAAE;EACxB,OAAO0E,YAAY,CAAC1E,IAAI,CAAC4E,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC;AACA,SAASrB,eAAeA,CAACU,UAAU,GAAG,EAAE,EAAE5E,KAAK,EAAEsB,WAAW,GAAG,KAAK,EAAE;EACrE,MAAM;IAAEX,IAAI;IAAE6E;EAAM,CAAC,GAAGxF,KAAK;EAC7B,MAAMY,aAAa,GAAGZ,KAAK,CAACyF,QAAQ,GAAG,KAAK,CAAC,GAAGzF,KAAK,CAACY,aAAa;EACnE,IAAID,IAAI,IAAI6E,KAAK,EAAE,MAAM,IAAIjF,KAAK,CAACC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,GAAG,WAAW,GAAG,mDAAmD,CAAC;EAC7I,MAAMgF,QAAQ,GAAG,GAAGd,UAAU,IAAIjE,IAAI,IAAI,EAAE,IAAIC,aAAa,IAAI,EAAE,IAAI4E,KAAK,GAAG,CAAC,GAAG,CAAC,IAAIlE,WAAW,GAAG,CAAC,GAAG,CAAC,EAAE;EAC7G,IAAI7B,iBAAiB,KAAKP,YAAY,EAAE;IACvCM,cAAc,CAACmG,KAAK,CAAC,CAAC;IACtBlG,iBAAiB,GAAGP,YAAY;EACjC,CAAC,MAAM;IACN,MAAM0G,MAAM,GAAGpG,cAAc,CAACD,GAAG,CAACmG,QAAQ,CAAC;IAC3C,IAAIE,MAAM,KAAK,KAAK,CAAC,EAAE,OAAOA,MAAM;EACrC;EACA,MAAM;IAAElG,MAAM,EAAEmG;EAAQ,CAAC,GAAGzH,SAAS,CAAC,CAAC;EACvC,IAAIoH,KAAK,EAAE;IACV,IAAIZ,UAAU,KAAK,OAAO,IAAIA,UAAU,KAAK,MAAM,EAAE;MACpD,MAAMkB,OAAO,GAAGlB,UAAU,KAAK,OAAO,GAAG,MAAM,GAAG,OAAO;MACzDpF,cAAc,CAAC4C,GAAG,CAACsD,QAAQ,EAAEI,OAAO,CAAC;MACrC,OAAOA,OAAO;IACf;IACA,MAAMC,aAAa,GAAGnB,UAAU,CAACoB,WAAW,CAAC,GAAG,CAAC;IACjD,MAAMC,KAAK,GAAGF,aAAa,IAAI,CAAC,GAAGnB,UAAU,GAAGA,UAAU,CAACsB,KAAK,CAACH,aAAa,CAAC;IAC/E,MAAMvB,MAAM,GAAGI,UAAU,CAACsB,KAAK,CAAC,CAAC,EAAEH,aAAa,CAAC;IACjD,MAAMI,MAAM,GAAGN,OAAO,CAACI,KAAK,CAAC,GAAGA,KAAK,GAAGzB,MAAM;IAC9ChF,cAAc,CAAC4C,GAAG,CAACsD,QAAQ,EAAES,MAAM,CAAC;IACpC,OAAOA,MAAM;EACd;EACA,MAAMC,WAAW,GAAGxB,UAAU,CAACW,KAAK,CAAC,GAAG,CAAC;EACzC,MAAMc,QAAQ,GAAGD,WAAW,CAACA,WAAW,CAACpB,MAAM,GAAG,CAAC,CAAC;EACpD,IAAIqB,QAAQ,IAAIA,QAAQ,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,KAAKD,QAAQ,CAAC,CAAC,CAAC,EAAED,WAAW,CAACG,GAAG,CAAC,CAAC;EAC5E,MAAMC,QAAQ,GAAG,CAChB7F,IAAI,IAAIC,aAAa,GAAG,GAAGD,IAAI,IAAIC,aAAa,EAAE,GAAG,KAAK,CAAC,EAC3DD,IAAI,EACJC,aAAa,CACb,CAAC6F,MAAM,CAACpC,OAAO,CAAC;EACjB,IAAIqC,KAAK,GAAG,IAAI;EAChB,IAAI/F,IAAI,EAAE;IACT,MAAMgG,aAAa,GAAGlC,SAAS,CAAC9D,IAAI,CAAC;IACrC,IAAIgG,aAAa,EAAE;MAClB,KAAK,MAAMC,OAAO,IAAIJ,QAAQ,EAAE,IAAII,OAAO,IAAIf,OAAO,EAAE;QACvDa,KAAK,GAAGE,OAAO;QACf;MACD;IACD;IACA,IAAI,CAACF,KAAK,IAAI,CAACC,aAAa,EAAE;MAC7B,IAAIlC,SAAS,CAACG,UAAU,CAAC,EAAE;QAC1B,MAAMiC,cAAc,GAAG,EAAE;QACzB,KAAK,IAAIC,CAAC,GAAGV,WAAW,CAACpB,MAAM,EAAE8B,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAED,cAAc,CAACzB,IAAI,CAACgB,WAAW,CAACF,KAAK,CAAC,CAAC,EAAEY,CAAC,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpGC,KAAK,EAAE,KAAK,MAAMC,IAAI,IAAIJ,cAAc,EAAE;UACzC,MAAMK,UAAU,GAAG,CAACtG,aAAa,GAAG,GAAGqG,IAAI,IAAItG,IAAI,IAAIC,aAAa,EAAE,GAAG,KAAK,CAAC,EAAE,GAAGqG,IAAI,IAAItG,IAAI,EAAE,CAAC,CAAC8F,MAAM,CAACpC,OAAO,CAAC;UACnH,KAAK,MAAM8C,SAAS,IAAID,UAAU,EAAE,IAAIC,SAAS,IAAItB,OAAO,EAAE;YAC7Da,KAAK,GAAGS,SAAS;YACjB,MAAMH,KAAK;UACZ;QACD;MACD;IACD;EACD;EACA,IAAI,CAACN,KAAK,EAAE,IAAI,CAAC/F,IAAI,IAAIC,aAAa,EAAE;IACvC,MAAMuG,SAAS,GAAG,GAAGf,WAAW,CAACW,IAAI,CAAC,GAAG,CAAC,IAAInG,aAAa,EAAE;IAC7D,IAAIuG,SAAS,IAAItB,OAAO,EAAEa,KAAK,GAAGS,SAAS;EAC5C,CAAC,MAAM;IACN,MAAMC,GAAG,GAAGhB,WAAW,CAACpB,MAAM;IAC9B,KAAK,IAAI8B,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAIM,GAAG,EAAEN,CAAC,EAAE,EAAE;MAC9B,MAAMG,IAAI,GAAG,CAACH,CAAC,KAAK,CAAC,GAAGV,WAAW,GAAGA,WAAW,CAACF,KAAK,CAAC,CAAC,EAAE,CAACY,CAAC,CAAC,EAAEC,IAAI,CAAC,GAAG,CAAC;MACzE,KAAK,MAAMH,OAAO,IAAIJ,QAAQ,EAAE;QAC/B,MAAMW,SAAS,GAAGF,IAAI,GAAG,GAAGA,IAAI,IAAIL,OAAO,EAAE,GAAGA,OAAO;QACvD,IAAIO,SAAS,IAAItB,OAAO,EAAE;UACzBa,KAAK,GAAGS,SAAS;UACjB;QACD;MACD;MACA,IAAIT,KAAK,EAAE;IACZ;EACD;EACA,IAAI,CAACpF,WAAW,IAAIoF,KAAK,KAAK9B,UAAU,IAAI,CAACS,YAAY,CAACqB,KAAK,CAAC,EAAE;IACjElH,cAAc,CAAC4C,GAAG,CAACsD,QAAQ,EAAE,IAAI,CAAC;IAClC,OAAO,IAAI;EACZ;EACAlG,cAAc,CAAC4C,GAAG,CAACsD,QAAQ,EAAEgB,KAAK,CAAC;EACnC,OAAOA,KAAK;AACb;AACA,MAAM1F,WAAW,GAAGA,CAAC;EAAEL,IAAI;EAAE6E,KAAK;EAAE6B,cAAc;EAAEzG;AAAc,CAAC,KAAK,GAAGD,IAAI,IAAI,EAAE,GAAG6E,KAAK,IAAI,EAAE,GAAG6B,cAAc,IAAI,EAAE,GAAGzG,aAAa,IAAI,EAAE,EAAE;AAClJ,MAAM+B,qBAAqB,GAAI3C,KAAK,IAAK,MAAM,IAAIA,KAAK,IAAI,OAAO,IAAIA,KAAK,IAAI,gBAAgB,IAAIA,KAAK;AAEzG,SAAS1B,iBAAiB,EAAEW,iBAAiB,EAAEW,iBAAiB,EAAEP,aAAa,EAAEsD,qBAAqB,EAAE5C,aAAa","ignoreList":[]}
1
+ {"version":3,"names":["useIsomorphicLayoutEffect","createContext","useContext","useEffect","useId","useReducer","useRef","getConfig","MISSING_THEME_MESSAGE","ThemeStateContext","allListeners","Map","listenersByParent","HasRenderedOnce","WeakMap","HadTheme","PendingUpdate","states","localStates","shouldForce","forceUpdateThemes","cacheVersion","forEach","cb","getThemeState","id","get","themeNameCache","themeNameCacheVer","themes","rootThemeState","getRootThemeState","incReducer","c","useThemeState","props","isRoot","keys","schemeKeys","cascadeOnChange","disable","parentId","Error","process","env","NODE_ENV","name","componentName","theme","light","propsKey","getPropsKey","ref","current","renderVersion","globalThis","time","forceUpdate","state","getSnapshotImpl","lastSnap","r","unsubscribe","subscribedParentId","cleanupThemeSubscription","shouldSubscribeToTheme","pid","sid","next","Set","add","set","delete","cleanupThemeState","scheduleUpdate","debug","console","warn","hasThemeUpdatingProps","size","needsUpdate","local","parentState","has","_parentName","_propsKey","isSchemeOnlyChange","keysSize","allKeysSchemeOptimized","canSkipForSchemeChange","passThrough","rerender","getNextState","groupCollapsed","info","groupEnd","Object","assign","lastState","pendingUpdate","isNew","getNewThemeName","isSameAsParent","shouldRerender","Boolean","message","trace","scheme","getScheme","isInverse","nextState","parentName","shouldAvoidRerender","queue","visited","length","children","shift","childId","push","validSchemes","dark","split","reset","unstyled","cacheKey","clear","cached","themes2","result2","lastPartIndex","lastIndexOf","name2","slice","result","parentParts","lastName","toLowerCase","pop","subNames","filter","found","nameHasScheme","subName","potentialBases","i","join","outer","base","candidates","potential","max","forceClassName"],"sources":["useThemeState.mjs"],"sourcesContent":["import { useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { createContext, useContext, useEffect, useId, useReducer, useRef } from \"react\";\nimport { getConfig } from \"../config\";\nimport { MISSING_THEME_MESSAGE } from \"../constants/constants\";\n\nconst ThemeStateContext = createContext(\"\");\nconst allListeners = /* @__PURE__ */ new Map();\nconst listenersByParent = {};\nconst HasRenderedOnce = /* @__PURE__ */ new WeakMap();\nconst HadTheme = /* @__PURE__ */ new WeakMap();\nconst PendingUpdate = /* @__PURE__ */ new Map();\nconst states = /* @__PURE__ */ new Map();\nconst localStates = /* @__PURE__ */ new Map();\nlet shouldForce = false;\nconst forceUpdateThemes = () => {\n\tcacheVersion++;\n\tshouldForce = true;\n\tallListeners.forEach((cb) => cb());\n\tshouldForce = false;\n};\nconst getThemeState = (id) => states.get(id);\nlet cacheVersion = 0;\nconst themeNameCache = /* @__PURE__ */ new Map();\nlet themeNameCacheVer = -1;\nlet themes = null;\nlet rootThemeState = null;\nconst getRootThemeState = () => rootThemeState;\nconst incReducer = (c) => c + 1;\nconst useThemeState = (props, isRoot = false, keys, schemeKeys, cascadeOnChange = false) => {\n\t\"use no memo\";\n\tconst { disable } = props;\n\tconst parentId = useContext(ThemeStateContext);\n\tif (!parentId && !isRoot) throw new Error(process.env.NODE_ENV === \"development\" ? `${MISSING_THEME_MESSAGE}\n\nLooked for theme${props.name ? ` \"${props.name}\"` : \"\"}${props.componentName ? ` (component: ${props.componentName})` : \"\"}, but no parent theme context was found (parentId: ${parentId}).` : MISSING_THEME_MESSAGE);\n\tif (disable) return states.get(parentId) || {\n\t\tid: \"\",\n\t\tname: \"light\",\n\t\ttheme: getConfig().themes.light\n\t};\n\tconst id = useId();\n\tconst propsKey = getPropsKey(props);\n\tconst ref = useRef(null);\n\tif (!ref.current) ref.current = {\n\t\tid,\n\t\tparentId,\n\t\tprops,\n\t\tpropsKey,\n\t\tisRoot,\n\t\tkeys,\n\t\tschemeKeys,\n\t\trenderVersion: 0\n\t};\n\telse {\n\t\tref.current.props = props;\n\t\tref.current.propsKey = propsKey;\n\t\tref.current.isRoot = isRoot;\n\t\tref.current.keys = keys;\n\t\tref.current.schemeKeys = schemeKeys;\n\t\tref.current.parentId = parentId;\n\t}\n\tref.current.renderVersion++;\n\tif (process.env.NODE_ENV === \"development\" && globalThis.time) globalThis.time`theme-prep-uses`;\n\tconst [, forceUpdate] = useReducer(incReducer, 0);\n\tconst state = getSnapshotImpl(ref.current);\n\tref.current.lastSnap = state;\n\tuseEffect(() => {\n\t\tconst r = ref.current;\n\t\tconst renderVersion = r.renderVersion;\n\t\tif (r.unsubscribe && r.subscribedParentId !== r.parentId) cleanupThemeSubscription(r);\n\t\tif (shouldSubscribeToTheme(r, cascadeOnChange)) {\n\t\t\tif (!r.unsubscribe) {\n\t\t\t\tconst pid = r.parentId;\n\t\t\t\tconst sid = r.id;\n\t\t\t\tconst cb = () => {\n\t\t\t\t\tconst next = getSnapshotImpl(r);\n\t\t\t\t\tif (next !== r.lastSnap) {\n\t\t\t\t\t\tr.lastSnap = next;\n\t\t\t\t\t\tforceUpdate();\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tlistenersByParent[pid] = listenersByParent[pid] || /* @__PURE__ */ new Set();\n\t\t\t\tlistenersByParent[pid].add(sid);\n\t\t\t\tallListeners.set(sid, () => {\n\t\t\t\t\tPendingUpdate.set(sid, shouldForce ? \"force\" : true);\n\t\t\t\t\tcb();\n\t\t\t\t});\n\t\t\t\tr.subscribedParentId = pid;\n\t\t\t\tr.unsubscribe = () => {\n\t\t\t\t\tallListeners.delete(sid);\n\t\t\t\t\tlistenersByParent[pid]?.delete(sid);\n\t\t\t\t\tlocalStates.delete(sid);\n\t\t\t\t\tstates.delete(sid);\n\t\t\t\t\tPendingUpdate.delete(sid);\n\t\t\t\t\tr.unsubscribe = void 0;\n\t\t\t\t\tr.subscribedParentId = void 0;\n\t\t\t\t};\n\t\t\t}\n\t\t} else if (r.unsubscribe) cleanupThemeSubscription(r);\n\t\treturn () => {\n\t\t\tif (r.renderVersion === renderVersion) cleanupThemeState(r);\n\t\t};\n\t});\n\tif (cascadeOnChange) useIsomorphicLayoutEffect(() => {\n\t\tif (!HasRenderedOnce.get(keys)) {\n\t\t\tHasRenderedOnce.set(keys, true);\n\t\t\treturn;\n\t\t}\n\t\tif (!propsKey) {\n\t\t\tif (HadTheme.get(keys)) scheduleUpdate(id);\n\t\t\tHadTheme.set(keys, false);\n\t\t\treturn;\n\t\t}\n\t\tif (process.env.NODE_ENV === \"development\" && props.debug === \"verbose\") console.warn(` \\xB7 useTheme(${id}) scheduleUpdate`, propsKey, states.get(id)?.name);\n\t\tscheduleUpdate(id);\n\t\tHadTheme.set(keys, true);\n\t}, [keys, propsKey]);\n\treturn state;\n};\nconst shouldSubscribeToTheme = (r, cascadeOnChange) => r.isRoot || cascadeOnChange || hasThemeUpdatingProps(r.props) || !!r.keys.current?.size || !!r.props.needsUpdate?.();\nfunction cleanupThemeSubscription(r) {\n\tr.unsubscribe?.();\n}\nfunction cleanupThemeState(r) {\n\tif (r.unsubscribe) cleanupThemeSubscription(r);\n\telse {\n\t\tlocalStates.delete(r.id);\n\t\tstates.delete(r.id);\n\t\tPendingUpdate.delete(r.id);\n\t}\n}\nconst getSnapshotImpl = (r) => {\n\tconst { id, parentId, props, propsKey, isRoot, keys, schemeKeys } = r;\n\tlet local = localStates.get(id);\n\tconst parentState = states.get(parentId);\n\tif (local && !PendingUpdate.has(id)) {\n\t\tif (parentState && local._parentName === parentState.name && local._propsKey === propsKey) return local;\n\t}\n\tconst isSchemeOnlyChange = false;\n\tconst keysSize = keys?.current?.size ?? 0;\n\tconst allKeysSchemeOptimized = (schemeKeys?.current?.size ?? 0) === keysSize && keysSize > 0;\n\tconst canSkipForSchemeChange = isSchemeOnlyChange;\n\tconst 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?.();\n\tconst [rerender, next] = getNextState(local, props, propsKey, isRoot, id, parentId, needsUpdate, PendingUpdate.get(id));\n\tPendingUpdate.delete(id);\n\tif (!local || rerender) {\n\t\tlocal = { ...next };\n\t\tlocalStates.set(id, local);\n\t}\n\tif (process.env.NODE_ENV === \"development\" && props.debug === \"verbose\") {\n\t\tconsole.groupCollapsed(` ${id} getSnapshot ${rerender}`, local.name, \">\", next.name);\n\t\tconsole.info({\n\t\t\tprops,\n\t\t\tpropsKey,\n\t\t\tisRoot,\n\t\t\tparentId,\n\t\t\tlocal,\n\t\t\tnext,\n\t\t\tneedsUpdate,\n\t\t\tisSchemeOnlyChange,\n\t\t\tallKeysSchemeOptimized,\n\t\t\tcanSkipForSchemeChange\n\t\t});\n\t\tconsole.groupEnd();\n\t}\n\tif (next !== local) {\n\t\tObject.assign(local, next);\n\t\tlocal.id = id;\n\t}\n\tlocal._parentName = parentState?.name;\n\tlocal._propsKey = propsKey;\n\tstates.set(id, next);\n\treturn local;\n};\nconst getNextState = (lastState, props, propsKey, isRoot = false, id, parentId, needsUpdate, pendingUpdate) => {\n\tconst { debug } = props;\n\tconst parentState = states.get(parentId);\n\tif (props.passThrough) return [false, lastState || parentState || { name: \"\" }];\n\tif (!themes) themes = getConfig().themes;\n\tconst name = !propsKey && (!lastState || !lastState?.isNew) ? null : getNewThemeName(parentState?.name, props, pendingUpdate === \"force\" ? true : !!needsUpdate);\n\tconst isSameAsParent = parentState && (!name || name === parentState.name);\n\tconst shouldRerender = Boolean(pendingUpdate === \"force\" || needsUpdate && (pendingUpdate || lastState?.name !== parentState?.name));\n\tif (process.env.NODE_ENV === \"development\" && debug === \"verbose\") {\n\t\tconst message = ` \\xB7 useTheme(${id}) getNextState => ${name} needsUpdate ${needsUpdate} shouldRerender ${shouldRerender}`;\n\t\tconsole.groupCollapsed(message);\n\t\tconsole.trace({\n\t\t\tname,\n\t\t\tlastState,\n\t\t\tparentState,\n\t\t\tprops,\n\t\t\tpropsKey,\n\t\t\tid,\n\t\t\tisSameAsParent\n\t\t});\n\t\tconsole.groupEnd();\n\t}\n\tif (isSameAsParent) {\n\t\tif (!shouldRerender && lastState && lastState.name === parentState.name) return [false, lastState];\n\t\treturn [shouldRerender, {\n\t\t\t...parentState,\n\t\t\tisNew: false\n\t\t}];\n\t}\n\tif (!name) {\n\t\tconst next = lastState ?? parentState ?? rootThemeState ?? {\n\t\t\tid,\n\t\t\tname: \"light\",\n\t\t\ttheme: getConfig().themes.light\n\t\t};\n\t\tif (shouldRerender) return [true, { ...parentState || lastState || next }];\n\t\treturn [false, next];\n\t}\n\tconst scheme = getScheme(name);\n\tconst isInverse = parentState && scheme !== parentState.scheme;\n\tconst nextState = {\n\t\tid,\n\t\tname,\n\t\ttheme: themes[name],\n\t\tscheme,\n\t\tparentId,\n\t\tparentName: parentState?.name,\n\t\tisInverse,\n\t\tisNew: true\n\t};\n\tif (isRoot) rootThemeState = nextState;\n\tif (pendingUpdate !== \"force\" && lastState && lastState.name === name) return [false, nextState];\n\tconst shouldAvoidRerender = pendingUpdate !== \"force\" && lastState && !needsUpdate && nextState.name === lastState.name;\n\tif (process.env.NODE_ENV === \"development\" && debug === \"verbose\") {\n\t\tconsole.groupCollapsed(` \\xB7 useTheme(${id}) \\u23ED\\uFE0F ${name} shouldAvoidRerender: ${shouldAvoidRerender}`);\n\t\tconsole.info({\n\t\t\tlastState,\n\t\t\tneedsUpdate,\n\t\t\tnextState,\n\t\t\tpendingUpdate\n\t\t});\n\t\tconsole.groupEnd();\n\t}\n\tif (shouldAvoidRerender) return [false, nextState];\n\treturn [true, nextState];\n};\nfunction scheduleUpdate(id) {\n\tconst queue = [id];\n\tconst visited = /* @__PURE__ */ new Set();\n\twhile (queue.length) {\n\t\tconst children = listenersByParent[queue.shift()];\n\t\tif (children) {\n\t\t\tfor (const childId of children) if (!visited.has(childId)) {\n\t\t\t\tvisited.add(childId);\n\t\t\t\tqueue.push(childId);\n\t\t\t}\n\t\t}\n\t}\n\tvisited.forEach((childId) => {\n\t\tallListeners.get(childId)?.();\n\t});\n}\nconst validSchemes = {\n\tlight: \"light\",\n\tdark: \"dark\"\n};\nfunction getScheme(name) {\n\treturn validSchemes[name.split(\"_\")[0]];\n}\nfunction getNewThemeName(parentName = \"\", props, forceUpdate = false) {\n\tconst { name, reset } = props;\n\tconst componentName = props.unstyled ? void 0 : props.componentName;\n\tif (name && reset) throw new Error(process.env.NODE_ENV === \"production\" ? `\\u274C004` : \"Cannot reset and set a new name at the same time.\");\n\tconst cacheKey = `${parentName}|${name || \"\"}|${componentName || \"\"}|${reset ? 1 : 0}|${forceUpdate ? 1 : 0}`;\n\tif (themeNameCacheVer !== cacheVersion) {\n\t\tthemeNameCache.clear();\n\t\tthemeNameCacheVer = cacheVersion;\n\t} else {\n\t\tconst cached = themeNameCache.get(cacheKey);\n\t\tif (cached !== void 0) return cached;\n\t}\n\tconst { themes: themes2 } = getConfig();\n\tif (reset) {\n\t\tif (parentName === \"light\" || parentName === \"dark\") {\n\t\t\tconst result2 = parentName === \"light\" ? \"dark\" : \"light\";\n\t\t\tthemeNameCache.set(cacheKey, result2);\n\t\t\treturn result2;\n\t\t}\n\t\tconst lastPartIndex = parentName.lastIndexOf(\"_\");\n\t\tconst name2 = lastPartIndex <= 0 ? parentName : parentName.slice(lastPartIndex);\n\t\tconst scheme = parentName.slice(0, lastPartIndex);\n\t\tconst result = themes2[name2] ? name2 : scheme;\n\t\tthemeNameCache.set(cacheKey, result);\n\t\treturn result;\n\t}\n\tconst parentParts = parentName.split(\"_\");\n\tconst lastName = parentParts[parentParts.length - 1];\n\tif (lastName && lastName[0].toLowerCase() !== lastName[0]) parentParts.pop();\n\tconst subNames = [\n\t\tname && componentName ? `${name}_${componentName}` : void 0,\n\t\tname,\n\t\tcomponentName\n\t].filter(Boolean);\n\tlet found = null;\n\tif (name) {\n\t\tconst nameHasScheme = getScheme(name);\n\t\tif (nameHasScheme) {\n\t\t\tfor (const subName of subNames) if (subName in themes2) {\n\t\t\t\tfound = subName;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (!found && !nameHasScheme) {\n\t\t\tif (getScheme(parentName)) {\n\t\t\t\tconst potentialBases = [];\n\t\t\t\tfor (let i = parentParts.length; i >= 1; i--) potentialBases.push(parentParts.slice(0, i).join(\"_\"));\n\t\t\t\touter: for (const base of potentialBases) {\n\t\t\t\t\tconst candidates = [componentName ? `${base}_${name}_${componentName}` : void 0, `${base}_${name}`].filter(Boolean);\n\t\t\t\t\tfor (const potential of candidates) if (potential in themes2) {\n\t\t\t\t\t\tfound = potential;\n\t\t\t\t\t\tbreak outer;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tif (!found) if (!name && componentName) {\n\t\tconst potential = `${parentParts.join(\"_\")}_${componentName}`;\n\t\tif (potential in themes2) found = potential;\n\t} else {\n\t\tconst max = parentParts.length;\n\t\tfor (let i = 0; i <= max; i++) {\n\t\t\tconst base = (i === 0 ? parentParts : parentParts.slice(0, -i)).join(\"_\");\n\t\t\tfor (const subName of subNames) {\n\t\t\t\tconst potential = base ? `${base}_${subName}` : subName;\n\t\t\t\tif (potential in themes2) {\n\t\t\t\t\tfound = potential;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (found) break;\n\t\t}\n\t}\n\tif (!forceUpdate && found === parentName && !validSchemes[found]) {\n\t\tthemeNameCache.set(cacheKey, null);\n\t\treturn null;\n\t}\n\tthemeNameCache.set(cacheKey, found);\n\treturn found;\n}\nconst getPropsKey = ({ name, reset, forceClassName, componentName }) => `${name || \"\"}${reset || \"\"}${forceClassName || \"\"}${componentName || \"\"}`;\nconst hasThemeUpdatingProps = (props) => \"name\" in props || \"reset\" in props || \"forceClassName\" in props;\n\nexport { ThemeStateContext, forceUpdateThemes, getRootThemeState, getThemeState, hasThemeUpdatingProps, useThemeState };"],"mappings":"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","ignoreList":[]}
@@ -237,12 +237,14 @@ var getNextState = function (lastState, props, propsKey) {
237
237
  }];
238
238
  }
239
239
  if (!name) {
240
- var next = lastState !== null && lastState !== void 0 ? lastState : parentState;
241
- if (!next) throw new Error(process.env.NODE_ENV === "development" ? `${MISSING_THEME_MESSAGE}
242
-
243
- Looked for theme${props.name ? ` "${props.name}"` : ""}${props.componentName ? ` (component: ${props.componentName})` : ""}, but no theme state was resolved (parentId: ${parentId}, id: ${id}).` : MISSING_THEME_MESSAGE);
240
+ var _ref, _ref1;
241
+ var next = (_ref1 = (_ref = lastState !== null && lastState !== void 0 ? lastState : parentState) !== null && _ref !== void 0 ? _ref : rootThemeState) !== null && _ref1 !== void 0 ? _ref1 : {
242
+ id,
243
+ name: "light",
244
+ theme: getConfig().themes.light
245
+ };
244
246
  if (shouldRerender) return [true, {
245
- ...(parentState || lastState)
247
+ ...(parentState || lastState || next)
246
248
  }];
247
249
  return [false, next];
248
250
  }
@@ -1 +1 @@
1
- {"version":3,"names":["supportsDynamicColorIOS","useIsomorphicLayoutEffect","createContext","useContext","useEffect","useId","useReducer","useRef","getConfig","getSetting","MISSING_THEME_MESSAGE","ThemeStateContext","allListeners","Map","listenersByParent","HasRenderedOnce","WeakMap","HadTheme","PendingUpdate","states","localStates","shouldForce","forceUpdateThemes","cacheVersion","forEach","cb","getThemeState","id","get","themeNameCache","themeNameCacheVer","themes","rootThemeState","getRootThemeState","getThemeBaseName","name","replace","incReducer","c","useThemeState","props","isRoot","arguments","length","keys","schemeKeys","cascadeOnChange","disable","parentId","Error","process","env","NODE_ENV","componentName","theme","light","propsKey","getPropsKey","ref","current","renderVersion","globalThis","time","forceUpdate","state","getSnapshotImpl","lastSnap","r","unsubscribe","subscribedParentId","cleanupThemeSubscription","shouldSubscribeToTheme","pid","sid","next","Set","add","set","_listenersByParent_pid","delete","cleanupThemeState","scheduleUpdate","debug","_states_get","console","warn","_r_keys_current","_r_props_needsUpdate","_r_props","hasThemeUpdatingProps","size","needsUpdate","call","_r_unsubscribe","_keys_current","_schemeKeys_current","_keys_current1","_props_needsUpdate","local","parentState","has","_parentName","_propsKey","isSchemeOnlyChange","scheme","_keys_current_size","keysSize","_schemeKeys_current_size","allKeysSchemeOptimized","canSkipForSchemeChange","passThrough","rerender","getNextState","groupCollapsed","info","groupEnd","Object","assign","lastState","pendingUpdate","isNew","getNewThemeName","isSameAsParent","shouldRerender","Boolean","message","getScheme","isInverse","nextState","parentName","shouldAvoidRerender","queue","visited","children","shift","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","done","childId","value","push","err","return","childId2","validSchemes","dark","split","reset","unstyled","cacheKey","clear","cached","themes2","result","lastPartIndex","lastIndexOf","name1","slice","result1","parentParts","lastName","toLowerCase","pop","subNames","filter","found","nameHasScheme","subName","potentialBases","i","join","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","outer","_iterator1","_step1","base","candidates","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","potential","potential1","max","i1","base1","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_iterator3","_step3","subName1","potential2","param","forceClassName"],"sources":["useThemeState.native.js"],"sourcesContent":["import { supportsDynamicColorIOS, useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { createContext, useContext, useEffect, useId, useReducer, useRef } from \"react\";\nimport { getConfig, getSetting } from \"../config\";\nimport { MISSING_THEME_MESSAGE } from \"../constants/constants\";\n\nvar ThemeStateContext = createContext(\"\");\nvar allListeners = /* @__PURE__ */ new Map();\nvar listenersByParent = {};\nvar HasRenderedOnce = /* @__PURE__ */ new WeakMap();\nvar HadTheme = /* @__PURE__ */ new WeakMap();\nvar PendingUpdate = /* @__PURE__ */ new Map();\nvar states = /* @__PURE__ */ new Map();\nvar localStates = /* @__PURE__ */ new Map();\nvar shouldForce = false;\nvar forceUpdateThemes = function() {\n\tcacheVersion++;\n\tshouldForce = true;\n\tallListeners.forEach(function(cb) {\n\t\treturn cb();\n\t});\n\tshouldForce = false;\n};\nvar getThemeState = function(id) {\n\treturn states.get(id);\n};\nvar cacheVersion = 0;\nvar themeNameCache = /* @__PURE__ */ new Map();\nvar themeNameCacheVer = -1;\nvar themes = null;\nvar rootThemeState = null;\nvar getRootThemeState = function() {\n\treturn rootThemeState;\n};\nvar getThemeBaseName = function(name) {\n\treturn name.replace(/^(light|dark)_/, \"\");\n};\nvar incReducer = function(c) {\n\treturn c + 1;\n};\nvar useThemeState = function(props) {\n\t\"use no memo\";\n\tvar isRoot = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false, keys = arguments.length > 2 ? arguments[2] : void 0, schemeKeys = arguments.length > 3 ? arguments[3] : void 0, cascadeOnChange = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : false;\n\tvar { disable } = props;\n\tvar parentId = useContext(ThemeStateContext);\n\tif (!parentId && !isRoot) throw new Error(process.env.NODE_ENV === \"development\" ? `${MISSING_THEME_MESSAGE}\n\nLooked for theme${props.name ? ` \"${props.name}\"` : \"\"}${props.componentName ? ` (component: ${props.componentName})` : \"\"}, but no parent theme context was found (parentId: ${parentId}).` : MISSING_THEME_MESSAGE);\n\tif (disable) return states.get(parentId) || {\n\t\tid: \"\",\n\t\tname: \"light\",\n\t\ttheme: getConfig().themes.light\n\t};\n\tvar id = useId();\n\tvar propsKey = getPropsKey(props);\n\tvar ref = useRef(null);\n\tif (!ref.current) ref.current = {\n\t\tid,\n\t\tparentId,\n\t\tprops,\n\t\tpropsKey,\n\t\tisRoot,\n\t\tkeys,\n\t\tschemeKeys,\n\t\trenderVersion: 0\n\t};\n\telse {\n\t\tref.current.props = props;\n\t\tref.current.propsKey = propsKey;\n\t\tref.current.isRoot = isRoot;\n\t\tref.current.keys = keys;\n\t\tref.current.schemeKeys = schemeKeys;\n\t\tref.current.parentId = parentId;\n\t}\n\tref.current.renderVersion++;\n\tif (process.env.NODE_ENV === \"development\" && globalThis.time) globalThis.time`theme-prep-uses`;\n\tvar [, forceUpdate] = useReducer(incReducer, 0);\n\tvar state = getSnapshotImpl(ref.current);\n\tref.current.lastSnap = state;\n\tuseEffect(function() {\n\t\tvar r = ref.current;\n\t\tvar renderVersion = r.renderVersion;\n\t\tif (r.unsubscribe && r.subscribedParentId !== r.parentId) cleanupThemeSubscription(r);\n\t\tif (shouldSubscribeToTheme(r, cascadeOnChange)) {\n\t\t\tif (!r.unsubscribe) {\n\t\t\t\tvar pid = r.parentId;\n\t\t\t\tvar sid = r.id;\n\t\t\t\tvar cb = function() {\n\t\t\t\t\tvar next = getSnapshotImpl(r);\n\t\t\t\t\tif (next !== r.lastSnap) {\n\t\t\t\t\t\tr.lastSnap = next;\n\t\t\t\t\t\tforceUpdate();\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tlistenersByParent[pid] = listenersByParent[pid] || /* @__PURE__ */ new Set();\n\t\t\t\tlistenersByParent[pid].add(sid);\n\t\t\t\tallListeners.set(sid, function() {\n\t\t\t\t\tPendingUpdate.set(sid, shouldForce ? \"force\" : true);\n\t\t\t\t\tcb();\n\t\t\t\t});\n\t\t\t\tr.subscribedParentId = pid;\n\t\t\t\tr.unsubscribe = function() {\n\t\t\t\t\tvar _listenersByParent_pid;\n\t\t\t\t\tallListeners.delete(sid);\n\t\t\t\t\t(_listenersByParent_pid = listenersByParent[pid]) === null || _listenersByParent_pid === void 0 || _listenersByParent_pid.delete(sid);\n\t\t\t\t\tlocalStates.delete(sid);\n\t\t\t\t\tstates.delete(sid);\n\t\t\t\t\tPendingUpdate.delete(sid);\n\t\t\t\t\tr.unsubscribe = void 0;\n\t\t\t\t\tr.subscribedParentId = void 0;\n\t\t\t\t};\n\t\t\t}\n\t\t} else if (r.unsubscribe) cleanupThemeSubscription(r);\n\t\treturn function() {\n\t\t\tif (r.renderVersion === renderVersion) cleanupThemeState(r);\n\t\t};\n\t});\n\tif (cascadeOnChange) useIsomorphicLayoutEffect(function() {\n\t\tif (!HasRenderedOnce.get(keys)) {\n\t\t\tHasRenderedOnce.set(keys, true);\n\t\t\treturn;\n\t\t}\n\t\tif (!propsKey) {\n\t\t\tif (HadTheme.get(keys)) scheduleUpdate(id);\n\t\t\tHadTheme.set(keys, false);\n\t\t\treturn;\n\t\t}\n\t\tif (process.env.NODE_ENV === \"development\" && props.debug === \"verbose\") {\n\t\t\tvar _states_get;\n\t\t\tconsole.warn(` \\xB7 useTheme(${id}) scheduleUpdate`, propsKey, (_states_get = states.get(id)) === null || _states_get === void 0 ? void 0 : _states_get.name);\n\t\t}\n\t\tscheduleUpdate(id);\n\t\tHadTheme.set(keys, true);\n\t}, [keys, propsKey]);\n\treturn state;\n};\nvar shouldSubscribeToTheme = function(r, cascadeOnChange) {\n\tvar _r_keys_current, _r_props_needsUpdate, _r_props;\n\treturn 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));\n};\nfunction cleanupThemeSubscription(r) {\n\tvar _r_unsubscribe;\n\t(_r_unsubscribe = r.unsubscribe) === null || _r_unsubscribe === void 0 || _r_unsubscribe.call(r);\n}\nfunction cleanupThemeState(r) {\n\tif (r.unsubscribe) cleanupThemeSubscription(r);\n\telse {\n\t\tlocalStates.delete(r.id);\n\t\tstates.delete(r.id);\n\t\tPendingUpdate.delete(r.id);\n\t}\n}\nvar getSnapshotImpl = function(r) {\n\tvar _keys_current, _schemeKeys_current, _keys_current1, _props_needsUpdate;\n\tvar { id, parentId, props, propsKey, isRoot, keys, schemeKeys } = r;\n\tvar local = localStates.get(id);\n\tvar parentState = states.get(parentId);\n\tif (local && !PendingUpdate.has(id)) {\n\t\tif (parentState && local._parentName === parentState.name && local._propsKey === propsKey) return local;\n\t}\n\tvar isSchemeOnlyChange = supportsDynamicColorIOS && getSetting(\"fastSchemeChange\") && local && parentState && local.scheme !== parentState.scheme && getThemeBaseName(local.name) === getThemeBaseName(parentState.name);\n\tvar _keys_current_size;\n\tvar 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;\n\tvar _schemeKeys_current_size;\n\tvar 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;\n\tvar canSkipForSchemeChange = isSchemeOnlyChange && allKeysSchemeOptimized;\n\tvar 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);\n\tvar [rerender, next] = getNextState(local, props, propsKey, isRoot, id, parentId, needsUpdate, PendingUpdate.get(id));\n\tPendingUpdate.delete(id);\n\tif (!local || rerender) {\n\t\tlocal = { ...next };\n\t\tlocalStates.set(id, local);\n\t}\n\tif (process.env.NODE_ENV === \"development\" && props.debug === \"verbose\") {\n\t\tconsole.groupCollapsed(` ${id} getSnapshot ${rerender}`, local.name, \">\", next.name);\n\t\tconsole.info({\n\t\t\tprops,\n\t\t\tpropsKey,\n\t\t\tisRoot,\n\t\t\tparentId,\n\t\t\tlocal,\n\t\t\tnext,\n\t\t\tneedsUpdate,\n\t\t\tisSchemeOnlyChange,\n\t\t\tallKeysSchemeOptimized,\n\t\t\tcanSkipForSchemeChange\n\t\t});\n\t\tconsole.groupEnd();\n\t}\n\tif (next !== local) {\n\t\tObject.assign(local, next);\n\t\tlocal.id = id;\n\t}\n\tlocal._parentName = parentState === null || parentState === void 0 ? void 0 : parentState.name;\n\tlocal._propsKey = propsKey;\n\tstates.set(id, next);\n\treturn local;\n};\nvar getNextState = function(lastState, props, propsKey) {\n\tvar isRoot = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false, id = arguments.length > 4 ? arguments[4] : void 0, parentId = arguments.length > 5 ? arguments[5] : void 0, needsUpdate = arguments.length > 6 ? arguments[6] : void 0, pendingUpdate = arguments.length > 7 ? arguments[7] : void 0;\n\tvar { debug } = props;\n\tvar parentState = states.get(parentId);\n\tif (props.passThrough) return [false, lastState || parentState || { name: \"\" }];\n\tif (!themes) themes = getConfig().themes;\n\tvar name = !propsKey && (!lastState || !(lastState === null || lastState === void 0 ? void 0 : lastState.isNew)) ? null : getNewThemeName(parentState === null || parentState === void 0 ? void 0 : parentState.name, props, pendingUpdate === \"force\" ? true : !!needsUpdate);\n\tvar isSameAsParent = parentState && (!name || name === parentState.name);\n\tvar shouldRerender = Boolean(pendingUpdate === \"force\" || needsUpdate && (pendingUpdate || (lastState === null || lastState === void 0 ? void 0 : lastState.name) !== (parentState === null || parentState === void 0 ? void 0 : parentState.name)));\n\tif (process.env.NODE_ENV === \"development\" && debug === \"verbose\") {\n\t\tvar message = ` \\xB7 useTheme(${id}) getNextState => ${name} needsUpdate ${needsUpdate} shouldRerender ${shouldRerender}`;\n\t\tconsole.info(message);\n\t}\n\tif (isSameAsParent) {\n\t\tif (!shouldRerender && lastState && lastState.name === parentState.name) return [false, lastState];\n\t\treturn [shouldRerender, {\n\t\t\t...parentState,\n\t\t\tisNew: false\n\t\t}];\n\t}\n\tif (!name) {\n\t\tvar next = lastState !== null && lastState !== void 0 ? lastState : parentState;\n\t\tif (!next) throw new Error(process.env.NODE_ENV === \"development\" ? `${MISSING_THEME_MESSAGE}\n\nLooked for theme${props.name ? ` \"${props.name}\"` : \"\"}${props.componentName ? ` (component: ${props.componentName})` : \"\"}, but no theme state was resolved (parentId: ${parentId}, id: ${id}).` : MISSING_THEME_MESSAGE);\n\t\tif (shouldRerender) return [true, { ...parentState || lastState }];\n\t\treturn [false, next];\n\t}\n\tvar scheme = getScheme(name);\n\tvar isInverse = parentState && scheme !== parentState.scheme;\n\tvar nextState = {\n\t\tid,\n\t\tname,\n\t\ttheme: themes[name],\n\t\tscheme,\n\t\tparentId,\n\t\tparentName: parentState === null || parentState === void 0 ? void 0 : parentState.name,\n\t\tisInverse,\n\t\tisNew: true\n\t};\n\tif (isRoot) rootThemeState = nextState;\n\tif (pendingUpdate !== \"force\" && lastState && lastState.name === name) return [false, nextState];\n\tvar shouldAvoidRerender = pendingUpdate !== \"force\" && lastState && !needsUpdate && nextState.name === lastState.name;\n\tif (process.env.NODE_ENV === \"development\" && debug === \"verbose\") {\n\t\tconsole.groupCollapsed(` \\xB7 useTheme(${id}) \\u23ED\\uFE0F ${name} shouldAvoidRerender: ${shouldAvoidRerender}`);\n\t\tconsole.info({\n\t\t\tlastState,\n\t\t\tneedsUpdate,\n\t\t\tnextState,\n\t\t\tpendingUpdate\n\t\t});\n\t\tconsole.groupEnd();\n\t}\n\tif (shouldAvoidRerender) return [false, nextState];\n\treturn [true, nextState];\n};\nfunction scheduleUpdate(id) {\n\tvar queue = [id];\n\tvar visited = /* @__PURE__ */ new Set();\n\twhile (queue.length) {\n\t\tvar children = listenersByParent[queue.shift()];\n\t\tif (children) {\n\t\t\tvar _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n\t\t\ttry {\n\t\t\t\tfor (var _iterator = children[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t\t\t\t\tvar childId = _step.value;\n\t\t\t\t\tif (!visited.has(childId)) {\n\t\t\t\t\t\tvisited.add(childId);\n\t\t\t\t\t\tqueue.push(childId);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\t_didIteratorError = true;\n\t\t\t\t_iteratorError = err;\n\t\t\t} finally {\n\t\t\t\ttry {\n\t\t\t\t\tif (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();\n\t\t\t\t} finally {\n\t\t\t\t\tif (_didIteratorError) throw _iteratorError;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tvisited.forEach(function(childId2) {\n\t\tvar cb = allListeners.get(childId2);\n\t\tcb === null || cb === void 0 || cb();\n\t});\n}\nvar validSchemes = {\n\tlight: \"light\",\n\tdark: \"dark\"\n};\nfunction getScheme(name) {\n\treturn validSchemes[name.split(\"_\")[0]];\n}\nfunction getNewThemeName() {\n\tvar parentName = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : \"\", props = arguments.length > 1 ? arguments[1] : void 0, forceUpdate = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;\n\tvar { name, reset } = props;\n\tvar componentName = props.unstyled ? void 0 : props.componentName;\n\tif (name && reset) throw new Error(process.env.NODE_ENV === \"production\" ? `\\u274C004` : \"Cannot reset and set a new name at the same time.\");\n\tvar cacheKey = `${parentName}|${name || \"\"}|${componentName || \"\"}|${reset ? 1 : 0}|${forceUpdate ? 1 : 0}`;\n\tif (themeNameCacheVer !== cacheVersion) {\n\t\tthemeNameCache.clear();\n\t\tthemeNameCacheVer = cacheVersion;\n\t} else {\n\t\tvar cached = themeNameCache.get(cacheKey);\n\t\tif (cached !== void 0) return cached;\n\t}\n\tvar { themes: themes2 } = getConfig();\n\tif (reset) {\n\t\tif (parentName === \"light\" || parentName === \"dark\") {\n\t\t\tvar result = parentName === \"light\" ? \"dark\" : \"light\";\n\t\t\tthemeNameCache.set(cacheKey, result);\n\t\t\treturn result;\n\t\t}\n\t\tvar lastPartIndex = parentName.lastIndexOf(\"_\");\n\t\tvar name1 = lastPartIndex <= 0 ? parentName : parentName.slice(lastPartIndex);\n\t\tvar scheme = parentName.slice(0, lastPartIndex);\n\t\tvar result1 = themes2[name1] ? name1 : scheme;\n\t\tthemeNameCache.set(cacheKey, result1);\n\t\treturn result1;\n\t}\n\tvar parentParts = parentName.split(\"_\");\n\tvar lastName = parentParts[parentParts.length - 1];\n\tif (lastName && lastName[0].toLowerCase() !== lastName[0]) parentParts.pop();\n\tvar subNames = [\n\t\tname && componentName ? `${name}_${componentName}` : void 0,\n\t\tname,\n\t\tcomponentName\n\t].filter(Boolean);\n\tvar found = null;\n\tif (name) {\n\t\tvar nameHasScheme = getScheme(name);\n\t\tif (nameHasScheme) {\n\t\t\tvar _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n\t\t\ttry {\n\t\t\t\tfor (var _iterator = subNames[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t\t\t\t\tvar subName = _step.value;\n\t\t\t\t\tif (subName in themes2) {\n\t\t\t\t\t\tfound = subName;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\t_didIteratorError = true;\n\t\t\t\t_iteratorError = err;\n\t\t\t} finally {\n\t\t\t\ttry {\n\t\t\t\t\tif (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();\n\t\t\t\t} finally {\n\t\t\t\t\tif (_didIteratorError) throw _iteratorError;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (!found && !nameHasScheme) {\n\t\t\tif (getScheme(parentName)) {\n\t\t\t\tvar potentialBases = [];\n\t\t\t\tfor (var i = parentParts.length; i >= 1; i--) potentialBases.push(parentParts.slice(0, i).join(\"_\"));\n\t\t\t\tvar _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n\t\t\t\ttry {\n\t\t\t\t\touter: for (var _iterator1 = potentialBases[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n\t\t\t\t\t\tvar base = _step1.value;\n\t\t\t\t\t\tvar candidates = [componentName ? `${base}_${name}_${componentName}` : void 0, `${base}_${name}`].filter(Boolean);\n\t\t\t\t\t\tvar _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tfor (var _iterator2 = candidates[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n\t\t\t\t\t\t\t\tvar potential = _step2.value;\n\t\t\t\t\t\t\t\tif (potential in themes2) {\n\t\t\t\t\t\t\t\t\tfound = potential;\n\t\t\t\t\t\t\t\t\tbreak outer;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t_didIteratorError2 = true;\n\t\t\t\t\t\t\t_iteratorError2 = err;\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tif (!_iteratorNormalCompletion2 && _iterator2.return != null) _iterator2.return();\n\t\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\t\tif (_didIteratorError2) throw _iteratorError2;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\t_didIteratorError1 = true;\n\t\t\t\t\t_iteratorError1 = err;\n\t\t\t\t} finally {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tif (!_iteratorNormalCompletion1 && _iterator1.return != null) _iterator1.return();\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tif (_didIteratorError1) throw _iteratorError1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tif (!found) if (!name && componentName) {\n\t\tvar potential1 = `${parentParts.join(\"_\")}_${componentName}`;\n\t\tif (potential1 in themes2) found = potential1;\n\t} else {\n\t\tvar max = parentParts.length;\n\t\tfor (var i1 = 0; i1 <= max; i1++) {\n\t\t\tvar base1 = (i1 === 0 ? parentParts : parentParts.slice(0, -i1)).join(\"_\");\n\t\t\tvar _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;\n\t\t\ttry {\n\t\t\t\tfor (var _iterator3 = subNames[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n\t\t\t\t\tvar subName1 = _step3.value;\n\t\t\t\t\tvar potential2 = base1 ? `${base1}_${subName1}` : subName1;\n\t\t\t\t\tif (potential2 in themes2) {\n\t\t\t\t\t\tfound = potential2;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\t_didIteratorError3 = true;\n\t\t\t\t_iteratorError3 = err;\n\t\t\t} finally {\n\t\t\t\ttry {\n\t\t\t\t\tif (!_iteratorNormalCompletion3 && _iterator3.return != null) _iterator3.return();\n\t\t\t\t} finally {\n\t\t\t\t\tif (_didIteratorError3) throw _iteratorError3;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (found) break;\n\t\t}\n\t}\n\tif (!forceUpdate && found === parentName && !validSchemes[found]) {\n\t\tthemeNameCache.set(cacheKey, null);\n\t\treturn null;\n\t}\n\tthemeNameCache.set(cacheKey, found);\n\treturn found;\n}\nvar getPropsKey = function(param) {\n\tvar { name, reset, forceClassName, componentName } = param;\n\treturn `${name || \"\"}${reset || \"\"}${forceClassName || \"\"}${componentName || \"\"}`;\n};\nvar hasThemeUpdatingProps = function(props) {\n\treturn \"name\" in props || \"reset\" in props || \"forceClassName\" in props;\n};\n\nexport { ThemeStateContext, forceUpdateThemes, getRootThemeState, getThemeState, hasThemeUpdatingProps, useThemeState };"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["supportsDynamicColorIOS","useIsomorphicLayoutEffect","createContext","useContext","useEffect","useId","useReducer","useRef","getConfig","getSetting","MISSING_THEME_MESSAGE","ThemeStateContext","allListeners","Map","listenersByParent","HasRenderedOnce","WeakMap","HadTheme","PendingUpdate","states","localStates","shouldForce","forceUpdateThemes","cacheVersion","forEach","cb","getThemeState","id","get","themeNameCache","themeNameCacheVer","themes","rootThemeState","getRootThemeState","getThemeBaseName","name","replace","incReducer","c","useThemeState","props","isRoot","arguments","length","keys","schemeKeys","cascadeOnChange","disable","parentId","Error","process","env","NODE_ENV","componentName","theme","light","propsKey","getPropsKey","ref","current","renderVersion","globalThis","time","forceUpdate","state","getSnapshotImpl","lastSnap","r","unsubscribe","subscribedParentId","cleanupThemeSubscription","shouldSubscribeToTheme","pid","sid","next","Set","add","set","_listenersByParent_pid","delete","cleanupThemeState","scheduleUpdate","debug","_states_get","console","warn","_r_keys_current","_r_props_needsUpdate","_r_props","hasThemeUpdatingProps","size","needsUpdate","call","_r_unsubscribe","_keys_current","_schemeKeys_current","_keys_current1","_props_needsUpdate","local","parentState","has","_parentName","_propsKey","isSchemeOnlyChange","scheme","_keys_current_size","keysSize","_schemeKeys_current_size","allKeysSchemeOptimized","canSkipForSchemeChange","passThrough","rerender","getNextState","groupCollapsed","info","groupEnd","Object","assign","lastState","pendingUpdate","isNew","getNewThemeName","isSameAsParent","shouldRerender","Boolean","message","_ref","_ref1","getScheme","isInverse","nextState","parentName","shouldAvoidRerender","queue","visited","children","shift","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","done","childId","value","push","err","return","childId2","validSchemes","dark","split","reset","unstyled","cacheKey","clear","cached","themes2","result","lastPartIndex","lastIndexOf","name1","slice","result1","parentParts","lastName","toLowerCase","pop","subNames","filter","found","nameHasScheme","subName","potentialBases","i","join","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","outer","_iterator1","_step1","base","candidates","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","potential","potential1","max","i1","base1","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_iterator3","_step3","subName1","potential2","param","forceClassName"],"sources":["useThemeState.native.js"],"sourcesContent":["import { supportsDynamicColorIOS, useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { createContext, useContext, useEffect, useId, useReducer, useRef } from \"react\";\nimport { getConfig, getSetting } from \"../config\";\nimport { MISSING_THEME_MESSAGE } from \"../constants/constants\";\n\nvar ThemeStateContext = createContext(\"\");\nvar allListeners = /* @__PURE__ */ new Map();\nvar listenersByParent = {};\nvar HasRenderedOnce = /* @__PURE__ */ new WeakMap();\nvar HadTheme = /* @__PURE__ */ new WeakMap();\nvar PendingUpdate = /* @__PURE__ */ new Map();\nvar states = /* @__PURE__ */ new Map();\nvar localStates = /* @__PURE__ */ new Map();\nvar shouldForce = false;\nvar forceUpdateThemes = function() {\n\tcacheVersion++;\n\tshouldForce = true;\n\tallListeners.forEach(function(cb) {\n\t\treturn cb();\n\t});\n\tshouldForce = false;\n};\nvar getThemeState = function(id) {\n\treturn states.get(id);\n};\nvar cacheVersion = 0;\nvar themeNameCache = /* @__PURE__ */ new Map();\nvar themeNameCacheVer = -1;\nvar themes = null;\nvar rootThemeState = null;\nvar getRootThemeState = function() {\n\treturn rootThemeState;\n};\nvar getThemeBaseName = function(name) {\n\treturn name.replace(/^(light|dark)_/, \"\");\n};\nvar incReducer = function(c) {\n\treturn c + 1;\n};\nvar useThemeState = function(props) {\n\t\"use no memo\";\n\tvar isRoot = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false, keys = arguments.length > 2 ? arguments[2] : void 0, schemeKeys = arguments.length > 3 ? arguments[3] : void 0, cascadeOnChange = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : false;\n\tvar { disable } = props;\n\tvar parentId = useContext(ThemeStateContext);\n\tif (!parentId && !isRoot) throw new Error(process.env.NODE_ENV === \"development\" ? `${MISSING_THEME_MESSAGE}\n\nLooked for theme${props.name ? ` \"${props.name}\"` : \"\"}${props.componentName ? ` (component: ${props.componentName})` : \"\"}, but no parent theme context was found (parentId: ${parentId}).` : MISSING_THEME_MESSAGE);\n\tif (disable) return states.get(parentId) || {\n\t\tid: \"\",\n\t\tname: \"light\",\n\t\ttheme: getConfig().themes.light\n\t};\n\tvar id = useId();\n\tvar propsKey = getPropsKey(props);\n\tvar ref = useRef(null);\n\tif (!ref.current) ref.current = {\n\t\tid,\n\t\tparentId,\n\t\tprops,\n\t\tpropsKey,\n\t\tisRoot,\n\t\tkeys,\n\t\tschemeKeys,\n\t\trenderVersion: 0\n\t};\n\telse {\n\t\tref.current.props = props;\n\t\tref.current.propsKey = propsKey;\n\t\tref.current.isRoot = isRoot;\n\t\tref.current.keys = keys;\n\t\tref.current.schemeKeys = schemeKeys;\n\t\tref.current.parentId = parentId;\n\t}\n\tref.current.renderVersion++;\n\tif (process.env.NODE_ENV === \"development\" && globalThis.time) globalThis.time`theme-prep-uses`;\n\tvar [, forceUpdate] = useReducer(incReducer, 0);\n\tvar state = getSnapshotImpl(ref.current);\n\tref.current.lastSnap = state;\n\tuseEffect(function() {\n\t\tvar r = ref.current;\n\t\tvar renderVersion = r.renderVersion;\n\t\tif (r.unsubscribe && r.subscribedParentId !== r.parentId) cleanupThemeSubscription(r);\n\t\tif (shouldSubscribeToTheme(r, cascadeOnChange)) {\n\t\t\tif (!r.unsubscribe) {\n\t\t\t\tvar pid = r.parentId;\n\t\t\t\tvar sid = r.id;\n\t\t\t\tvar cb = function() {\n\t\t\t\t\tvar next = getSnapshotImpl(r);\n\t\t\t\t\tif (next !== r.lastSnap) {\n\t\t\t\t\t\tr.lastSnap = next;\n\t\t\t\t\t\tforceUpdate();\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tlistenersByParent[pid] = listenersByParent[pid] || /* @__PURE__ */ new Set();\n\t\t\t\tlistenersByParent[pid].add(sid);\n\t\t\t\tallListeners.set(sid, function() {\n\t\t\t\t\tPendingUpdate.set(sid, shouldForce ? \"force\" : true);\n\t\t\t\t\tcb();\n\t\t\t\t});\n\t\t\t\tr.subscribedParentId = pid;\n\t\t\t\tr.unsubscribe = function() {\n\t\t\t\t\tvar _listenersByParent_pid;\n\t\t\t\t\tallListeners.delete(sid);\n\t\t\t\t\t(_listenersByParent_pid = listenersByParent[pid]) === null || _listenersByParent_pid === void 0 || _listenersByParent_pid.delete(sid);\n\t\t\t\t\tlocalStates.delete(sid);\n\t\t\t\t\tstates.delete(sid);\n\t\t\t\t\tPendingUpdate.delete(sid);\n\t\t\t\t\tr.unsubscribe = void 0;\n\t\t\t\t\tr.subscribedParentId = void 0;\n\t\t\t\t};\n\t\t\t}\n\t\t} else if (r.unsubscribe) cleanupThemeSubscription(r);\n\t\treturn function() {\n\t\t\tif (r.renderVersion === renderVersion) cleanupThemeState(r);\n\t\t};\n\t});\n\tif (cascadeOnChange) useIsomorphicLayoutEffect(function() {\n\t\tif (!HasRenderedOnce.get(keys)) {\n\t\t\tHasRenderedOnce.set(keys, true);\n\t\t\treturn;\n\t\t}\n\t\tif (!propsKey) {\n\t\t\tif (HadTheme.get(keys)) scheduleUpdate(id);\n\t\t\tHadTheme.set(keys, false);\n\t\t\treturn;\n\t\t}\n\t\tif (process.env.NODE_ENV === \"development\" && props.debug === \"verbose\") {\n\t\t\tvar _states_get;\n\t\t\tconsole.warn(` \\xB7 useTheme(${id}) scheduleUpdate`, propsKey, (_states_get = states.get(id)) === null || _states_get === void 0 ? void 0 : _states_get.name);\n\t\t}\n\t\tscheduleUpdate(id);\n\t\tHadTheme.set(keys, true);\n\t}, [keys, propsKey]);\n\treturn state;\n};\nvar shouldSubscribeToTheme = function(r, cascadeOnChange) {\n\tvar _r_keys_current, _r_props_needsUpdate, _r_props;\n\treturn 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));\n};\nfunction cleanupThemeSubscription(r) {\n\tvar _r_unsubscribe;\n\t(_r_unsubscribe = r.unsubscribe) === null || _r_unsubscribe === void 0 || _r_unsubscribe.call(r);\n}\nfunction cleanupThemeState(r) {\n\tif (r.unsubscribe) cleanupThemeSubscription(r);\n\telse {\n\t\tlocalStates.delete(r.id);\n\t\tstates.delete(r.id);\n\t\tPendingUpdate.delete(r.id);\n\t}\n}\nvar getSnapshotImpl = function(r) {\n\tvar _keys_current, _schemeKeys_current, _keys_current1, _props_needsUpdate;\n\tvar { id, parentId, props, propsKey, isRoot, keys, schemeKeys } = r;\n\tvar local = localStates.get(id);\n\tvar parentState = states.get(parentId);\n\tif (local && !PendingUpdate.has(id)) {\n\t\tif (parentState && local._parentName === parentState.name && local._propsKey === propsKey) return local;\n\t}\n\tvar isSchemeOnlyChange = supportsDynamicColorIOS && getSetting(\"fastSchemeChange\") && local && parentState && local.scheme !== parentState.scheme && getThemeBaseName(local.name) === getThemeBaseName(parentState.name);\n\tvar _keys_current_size;\n\tvar 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;\n\tvar _schemeKeys_current_size;\n\tvar 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;\n\tvar canSkipForSchemeChange = isSchemeOnlyChange && allKeysSchemeOptimized;\n\tvar 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);\n\tvar [rerender, next] = getNextState(local, props, propsKey, isRoot, id, parentId, needsUpdate, PendingUpdate.get(id));\n\tPendingUpdate.delete(id);\n\tif (!local || rerender) {\n\t\tlocal = { ...next };\n\t\tlocalStates.set(id, local);\n\t}\n\tif (process.env.NODE_ENV === \"development\" && props.debug === \"verbose\") {\n\t\tconsole.groupCollapsed(` ${id} getSnapshot ${rerender}`, local.name, \">\", next.name);\n\t\tconsole.info({\n\t\t\tprops,\n\t\t\tpropsKey,\n\t\t\tisRoot,\n\t\t\tparentId,\n\t\t\tlocal,\n\t\t\tnext,\n\t\t\tneedsUpdate,\n\t\t\tisSchemeOnlyChange,\n\t\t\tallKeysSchemeOptimized,\n\t\t\tcanSkipForSchemeChange\n\t\t});\n\t\tconsole.groupEnd();\n\t}\n\tif (next !== local) {\n\t\tObject.assign(local, next);\n\t\tlocal.id = id;\n\t}\n\tlocal._parentName = parentState === null || parentState === void 0 ? void 0 : parentState.name;\n\tlocal._propsKey = propsKey;\n\tstates.set(id, next);\n\treturn local;\n};\nvar getNextState = function(lastState, props, propsKey) {\n\tvar isRoot = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false, id = arguments.length > 4 ? arguments[4] : void 0, parentId = arguments.length > 5 ? arguments[5] : void 0, needsUpdate = arguments.length > 6 ? arguments[6] : void 0, pendingUpdate = arguments.length > 7 ? arguments[7] : void 0;\n\tvar { debug } = props;\n\tvar parentState = states.get(parentId);\n\tif (props.passThrough) return [false, lastState || parentState || { name: \"\" }];\n\tif (!themes) themes = getConfig().themes;\n\tvar name = !propsKey && (!lastState || !(lastState === null || lastState === void 0 ? void 0 : lastState.isNew)) ? null : getNewThemeName(parentState === null || parentState === void 0 ? void 0 : parentState.name, props, pendingUpdate === \"force\" ? true : !!needsUpdate);\n\tvar isSameAsParent = parentState && (!name || name === parentState.name);\n\tvar shouldRerender = Boolean(pendingUpdate === \"force\" || needsUpdate && (pendingUpdate || (lastState === null || lastState === void 0 ? void 0 : lastState.name) !== (parentState === null || parentState === void 0 ? void 0 : parentState.name)));\n\tif (process.env.NODE_ENV === \"development\" && debug === \"verbose\") {\n\t\tvar message = ` \\xB7 useTheme(${id}) getNextState => ${name} needsUpdate ${needsUpdate} shouldRerender ${shouldRerender}`;\n\t\tconsole.info(message);\n\t}\n\tif (isSameAsParent) {\n\t\tif (!shouldRerender && lastState && lastState.name === parentState.name) return [false, lastState];\n\t\treturn [shouldRerender, {\n\t\t\t...parentState,\n\t\t\tisNew: false\n\t\t}];\n\t}\n\tif (!name) {\n\t\tvar _ref, _ref1;\n\t\tvar next = (_ref1 = (_ref = lastState !== null && lastState !== void 0 ? lastState : parentState) !== null && _ref !== void 0 ? _ref : rootThemeState) !== null && _ref1 !== void 0 ? _ref1 : {\n\t\t\tid,\n\t\t\tname: \"light\",\n\t\t\ttheme: getConfig().themes.light\n\t\t};\n\t\tif (shouldRerender) return [true, { ...parentState || lastState || next }];\n\t\treturn [false, next];\n\t}\n\tvar scheme = getScheme(name);\n\tvar isInverse = parentState && scheme !== parentState.scheme;\n\tvar nextState = {\n\t\tid,\n\t\tname,\n\t\ttheme: themes[name],\n\t\tscheme,\n\t\tparentId,\n\t\tparentName: parentState === null || parentState === void 0 ? void 0 : parentState.name,\n\t\tisInverse,\n\t\tisNew: true\n\t};\n\tif (isRoot) rootThemeState = nextState;\n\tif (pendingUpdate !== \"force\" && lastState && lastState.name === name) return [false, nextState];\n\tvar shouldAvoidRerender = pendingUpdate !== \"force\" && lastState && !needsUpdate && nextState.name === lastState.name;\n\tif (process.env.NODE_ENV === \"development\" && debug === \"verbose\") {\n\t\tconsole.groupCollapsed(` \\xB7 useTheme(${id}) \\u23ED\\uFE0F ${name} shouldAvoidRerender: ${shouldAvoidRerender}`);\n\t\tconsole.info({\n\t\t\tlastState,\n\t\t\tneedsUpdate,\n\t\t\tnextState,\n\t\t\tpendingUpdate\n\t\t});\n\t\tconsole.groupEnd();\n\t}\n\tif (shouldAvoidRerender) return [false, nextState];\n\treturn [true, nextState];\n};\nfunction scheduleUpdate(id) {\n\tvar queue = [id];\n\tvar visited = /* @__PURE__ */ new Set();\n\twhile (queue.length) {\n\t\tvar children = listenersByParent[queue.shift()];\n\t\tif (children) {\n\t\t\tvar _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n\t\t\ttry {\n\t\t\t\tfor (var _iterator = children[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t\t\t\t\tvar childId = _step.value;\n\t\t\t\t\tif (!visited.has(childId)) {\n\t\t\t\t\t\tvisited.add(childId);\n\t\t\t\t\t\tqueue.push(childId);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\t_didIteratorError = true;\n\t\t\t\t_iteratorError = err;\n\t\t\t} finally {\n\t\t\t\ttry {\n\t\t\t\t\tif (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();\n\t\t\t\t} finally {\n\t\t\t\t\tif (_didIteratorError) throw _iteratorError;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tvisited.forEach(function(childId2) {\n\t\tvar cb = allListeners.get(childId2);\n\t\tcb === null || cb === void 0 || cb();\n\t});\n}\nvar validSchemes = {\n\tlight: \"light\",\n\tdark: \"dark\"\n};\nfunction getScheme(name) {\n\treturn validSchemes[name.split(\"_\")[0]];\n}\nfunction getNewThemeName() {\n\tvar parentName = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : \"\", props = arguments.length > 1 ? arguments[1] : void 0, forceUpdate = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;\n\tvar { name, reset } = props;\n\tvar componentName = props.unstyled ? void 0 : props.componentName;\n\tif (name && reset) throw new Error(process.env.NODE_ENV === \"production\" ? `\\u274C004` : \"Cannot reset and set a new name at the same time.\");\n\tvar cacheKey = `${parentName}|${name || \"\"}|${componentName || \"\"}|${reset ? 1 : 0}|${forceUpdate ? 1 : 0}`;\n\tif (themeNameCacheVer !== cacheVersion) {\n\t\tthemeNameCache.clear();\n\t\tthemeNameCacheVer = cacheVersion;\n\t} else {\n\t\tvar cached = themeNameCache.get(cacheKey);\n\t\tif (cached !== void 0) return cached;\n\t}\n\tvar { themes: themes2 } = getConfig();\n\tif (reset) {\n\t\tif (parentName === \"light\" || parentName === \"dark\") {\n\t\t\tvar result = parentName === \"light\" ? \"dark\" : \"light\";\n\t\t\tthemeNameCache.set(cacheKey, result);\n\t\t\treturn result;\n\t\t}\n\t\tvar lastPartIndex = parentName.lastIndexOf(\"_\");\n\t\tvar name1 = lastPartIndex <= 0 ? parentName : parentName.slice(lastPartIndex);\n\t\tvar scheme = parentName.slice(0, lastPartIndex);\n\t\tvar result1 = themes2[name1] ? name1 : scheme;\n\t\tthemeNameCache.set(cacheKey, result1);\n\t\treturn result1;\n\t}\n\tvar parentParts = parentName.split(\"_\");\n\tvar lastName = parentParts[parentParts.length - 1];\n\tif (lastName && lastName[0].toLowerCase() !== lastName[0]) parentParts.pop();\n\tvar subNames = [\n\t\tname && componentName ? `${name}_${componentName}` : void 0,\n\t\tname,\n\t\tcomponentName\n\t].filter(Boolean);\n\tvar found = null;\n\tif (name) {\n\t\tvar nameHasScheme = getScheme(name);\n\t\tif (nameHasScheme) {\n\t\t\tvar _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n\t\t\ttry {\n\t\t\t\tfor (var _iterator = subNames[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t\t\t\t\tvar subName = _step.value;\n\t\t\t\t\tif (subName in themes2) {\n\t\t\t\t\t\tfound = subName;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\t_didIteratorError = true;\n\t\t\t\t_iteratorError = err;\n\t\t\t} finally {\n\t\t\t\ttry {\n\t\t\t\t\tif (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();\n\t\t\t\t} finally {\n\t\t\t\t\tif (_didIteratorError) throw _iteratorError;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (!found && !nameHasScheme) {\n\t\t\tif (getScheme(parentName)) {\n\t\t\t\tvar potentialBases = [];\n\t\t\t\tfor (var i = parentParts.length; i >= 1; i--) potentialBases.push(parentParts.slice(0, i).join(\"_\"));\n\t\t\t\tvar _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n\t\t\t\ttry {\n\t\t\t\t\touter: for (var _iterator1 = potentialBases[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n\t\t\t\t\t\tvar base = _step1.value;\n\t\t\t\t\t\tvar candidates = [componentName ? `${base}_${name}_${componentName}` : void 0, `${base}_${name}`].filter(Boolean);\n\t\t\t\t\t\tvar _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tfor (var _iterator2 = candidates[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n\t\t\t\t\t\t\t\tvar potential = _step2.value;\n\t\t\t\t\t\t\t\tif (potential in themes2) {\n\t\t\t\t\t\t\t\t\tfound = potential;\n\t\t\t\t\t\t\t\t\tbreak outer;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t_didIteratorError2 = true;\n\t\t\t\t\t\t\t_iteratorError2 = err;\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tif (!_iteratorNormalCompletion2 && _iterator2.return != null) _iterator2.return();\n\t\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\t\tif (_didIteratorError2) throw _iteratorError2;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\t_didIteratorError1 = true;\n\t\t\t\t\t_iteratorError1 = err;\n\t\t\t\t} finally {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tif (!_iteratorNormalCompletion1 && _iterator1.return != null) _iterator1.return();\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tif (_didIteratorError1) throw _iteratorError1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tif (!found) if (!name && componentName) {\n\t\tvar potential1 = `${parentParts.join(\"_\")}_${componentName}`;\n\t\tif (potential1 in themes2) found = potential1;\n\t} else {\n\t\tvar max = parentParts.length;\n\t\tfor (var i1 = 0; i1 <= max; i1++) {\n\t\t\tvar base1 = (i1 === 0 ? parentParts : parentParts.slice(0, -i1)).join(\"_\");\n\t\t\tvar _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;\n\t\t\ttry {\n\t\t\t\tfor (var _iterator3 = subNames[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n\t\t\t\t\tvar subName1 = _step3.value;\n\t\t\t\t\tvar potential2 = base1 ? `${base1}_${subName1}` : subName1;\n\t\t\t\t\tif (potential2 in themes2) {\n\t\t\t\t\t\tfound = potential2;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\t_didIteratorError3 = true;\n\t\t\t\t_iteratorError3 = err;\n\t\t\t} finally {\n\t\t\t\ttry {\n\t\t\t\t\tif (!_iteratorNormalCompletion3 && _iterator3.return != null) _iterator3.return();\n\t\t\t\t} finally {\n\t\t\t\t\tif (_didIteratorError3) throw _iteratorError3;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (found) break;\n\t\t}\n\t}\n\tif (!forceUpdate && found === parentName && !validSchemes[found]) {\n\t\tthemeNameCache.set(cacheKey, null);\n\t\treturn null;\n\t}\n\tthemeNameCache.set(cacheKey, found);\n\treturn found;\n}\nvar getPropsKey = function(param) {\n\tvar { name, reset, forceClassName, componentName } = param;\n\treturn `${name || \"\"}${reset || \"\"}${forceClassName || \"\"}${componentName || \"\"}`;\n};\nvar hasThemeUpdatingProps = function(props) {\n\treturn \"name\" in props || \"reset\" in props || \"forceClassName\" in props;\n};\n\nexport { ThemeStateContext, forceUpdateThemes, getRootThemeState, getThemeState, hasThemeUpdatingProps, useThemeState };"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/web",
3
- "version": "2.3.3-1782465561627",
3
+ "version": "2.3.3-1782469370633",
4
4
  "license": "MIT",
5
5
  "author": {
6
6
  "name": "Nate Wienert"
@@ -51,20 +51,20 @@
51
51
  "test:web": "vitest --typecheck --run"
52
52
  },
53
53
  "dependencies": {
54
- "@tamagui/compose-refs": "2.3.3-1782465561627",
55
- "@tamagui/constants": "2.3.3-1782465561627",
56
- "@tamagui/helpers": "2.3.3-1782465561627",
57
- "@tamagui/is-equal-shallow": "2.3.3-1782465561627",
58
- "@tamagui/native": "2.3.3-1782465561627",
59
- "@tamagui/normalize-css-color": "2.3.3-1782465561627",
60
- "@tamagui/timer": "2.3.3-1782465561627",
61
- "@tamagui/types": "2.3.3-1782465561627",
62
- "@tamagui/use-did-finish-ssr": "2.3.3-1782465561627",
63
- "@tamagui/use-event": "2.3.3-1782465561627",
64
- "@tamagui/use-force-update": "2.3.3-1782465561627"
54
+ "@tamagui/compose-refs": "2.3.3-1782469370633",
55
+ "@tamagui/constants": "2.3.3-1782469370633",
56
+ "@tamagui/helpers": "2.3.3-1782469370633",
57
+ "@tamagui/is-equal-shallow": "2.3.3-1782469370633",
58
+ "@tamagui/native": "2.3.3-1782469370633",
59
+ "@tamagui/normalize-css-color": "2.3.3-1782469370633",
60
+ "@tamagui/timer": "2.3.3-1782469370633",
61
+ "@tamagui/types": "2.3.3-1782469370633",
62
+ "@tamagui/use-did-finish-ssr": "2.3.3-1782469370633",
63
+ "@tamagui/use-event": "2.3.3-1782469370633",
64
+ "@tamagui/use-force-update": "2.3.3-1782469370633"
65
65
  },
66
66
  "devDependencies": {
67
- "@tamagui/build": "2.3.3-1782465561627",
67
+ "@tamagui/build": "2.3.3-1782469370633",
68
68
  "@testing-library/react": "^16.1.0",
69
69
  "csstype": "^3.0.10",
70
70
  "react": ">=19",
@@ -405,20 +405,25 @@ const getNextState = (
405
405
  }
406
406
 
407
407
  if (!name) {
408
- const next = lastState ?? parentState
409
-
410
- if (!next) {
411
- throw new Error(
412
- process.env.NODE_ENV === 'development'
413
- ? `${MISSING_THEME_MESSAGE}
414
-
415
- Looked for theme${props.name ? ` "${props.name}"` : ''}${props.componentName ? ` (component: ${props.componentName})` : ''}, but no theme state was resolved (parentId: ${parentId}, id: ${id}).`
416
- : MISSING_THEME_MESSAGE
417
- )
418
- }
408
+ // parentState can be transiently missing when a consumer renders in a
409
+ // separate sync flush (a portal/Toast viewport, or a native multi-root
410
+ // surface) before its provider has populated the module-level `states` map.
411
+ // that's recoverable — the next render resolves it — so fall back to the
412
+ // root theme (or a light stub) instead of throwing. the "no parent context"
413
+ // throw above still catches a genuinely missing provider. going back to
414
+ // useSyncExternalStore would avoid the race but force every themed node out
415
+ // of concurrent rendering, so we keep the manual store and tolerate the
416
+ // ordering here.
417
+ const next = lastState ??
418
+ parentState ??
419
+ rootThemeState ?? {
420
+ id,
421
+ name: 'light',
422
+ theme: getConfig().themes.light,
423
+ }
419
424
 
420
425
  if (shouldRerender) {
421
- const updated = { ...(parentState || lastState)! }
426
+ const updated = { ...(parentState || lastState || next)! }
422
427
  return [true, updated]
423
428
  }
424
429
 
@@ -1 +1 @@
1
- {"version":3,"file":"useThemeState.d.ts","sourceRoot":"","sources":["../../src/hooks/useThemeState.ts"],"names":[],"mappings":"AACA,OAAO,EAOL,KAAK,gBAAgB,EACtB,MAAM,OAAO,CAAA;AAGd,OAAO,KAAK,EAEV,UAAU,EACV,UAAU,EACV,sBAAsB,EACvB,MAAM,UAAU,CAAA;AAEjB,KAAK,EAAE,GAAG,MAAM,CAAA;AAEhB,eAAO,MAAM,iBAAiB,iCAAwB,CAAA;AAatD,eAAO,MAAM,iBAAiB,YAK7B,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,IAAI,EAAE,2BAAmB,CAAA;AAWvD,eAAO,MAAM,iBAAiB,yBAAuB,CAAA;AASrD,eAAO,MAAM,aAAa,GACxB,OAAO,sBAAsB,EAC7B,2BAAc,EACd,MAAM,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,EAC1C,aAAa,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,EAOjD,yBAAuB,KACtB,UAiJF,CAAA;AA2cD,eAAO,MAAM,qBAAqB,GAAI,OAAO,UAAU,YACW,CAAA"}
1
+ {"version":3,"file":"useThemeState.d.ts","sourceRoot":"","sources":["../../src/hooks/useThemeState.ts"],"names":[],"mappings":"AACA,OAAO,EAOL,KAAK,gBAAgB,EACtB,MAAM,OAAO,CAAA;AAGd,OAAO,KAAK,EAEV,UAAU,EACV,UAAU,EACV,sBAAsB,EACvB,MAAM,UAAU,CAAA;AAEjB,KAAK,EAAE,GAAG,MAAM,CAAA;AAEhB,eAAO,MAAM,iBAAiB,iCAAwB,CAAA;AAatD,eAAO,MAAM,iBAAiB,YAK7B,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,IAAI,EAAE,2BAAmB,CAAA;AAWvD,eAAO,MAAM,iBAAiB,yBAAuB,CAAA;AASrD,eAAO,MAAM,aAAa,GACxB,OAAO,sBAAsB,EAC7B,2BAAc,EACd,MAAM,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,EAC1C,aAAa,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,EAOjD,yBAAuB,KACtB,UAiJF,CAAA;AAgdD,eAAO,MAAM,qBAAqB,GAAI,OAAO,UAAU,YACW,CAAA"}