@tamagui/web 3.0.0-beta.1562.1 → 3.0.0-beta.1571.1

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.
@@ -11,7 +11,6 @@ const HasRenderedOnce = /* @__PURE__ */ new WeakMap();
11
11
  const HadTheme = /* @__PURE__ */ new WeakMap();
12
12
  const PendingUpdate = /* @__PURE__ */ new Map();
13
13
  const states = /* @__PURE__ */ new Map();
14
- const localStates = /* @__PURE__ */ new Map();
15
14
  let shouldForce = false;
16
15
  const forceUpdateThemes = () => {
17
16
  cacheVersion++;
@@ -81,10 +80,10 @@ Looked for theme${props.name ? ` "${props.name}"` : ""}, but no parent theme con
81
80
  const renderVersion = r.renderVersion;
82
81
  if (r.lastSnap && !states.has(r.id)) {
83
82
  states.set(r.id, r.lastSnap);
84
- localStates.set(r.id, r.lastSnap);
83
+ r.state = r.lastSnap;
85
84
  }
86
85
  if (cascadeOnChange && !themeProviderParents.has(r.id)) registerThemeProviderChain(r.id, r.parentId, r.props);
87
- if (r.unsubscribe && r.subscribedParentId !== r.parentId) cleanupThemeSubscription(r);
86
+ if (r.unsubscribe && r.subscribedTo !== r.parentId) cleanupThemeSubscription(r);
88
87
  if (shouldSubscribeToTheme(r, cascadeOnChange)) {
89
88
  if (!r.unsubscribe) {
90
89
  const pid = r.parentId;
@@ -103,15 +102,15 @@ Looked for theme${props.name ? ` "${props.name}"` : ""}, but no parent theme con
103
102
  PendingUpdate.set(sid, forced ? "force" : true);
104
103
  cb(forced);
105
104
  });
106
- r.subscribedParentId = pid;
105
+ r.subscribedTo = pid;
107
106
  r.unsubscribe = () => {
108
107
  allListeners.delete(sid);
109
108
  listenersByParent[pid]?.delete(sid);
110
- localStates.delete(sid);
109
+ r.state = void 0;
111
110
  states.delete(sid);
112
111
  PendingUpdate.delete(sid);
113
112
  r.unsubscribe = void 0;
114
- r.subscribedParentId = void 0;
113
+ r.subscribedTo = void 0;
115
114
  };
116
115
  }
117
116
  } else if (r.unsubscribe) cleanupThemeSubscription(r);
@@ -141,7 +140,7 @@ function cleanupThemeSubscription(r) {
141
140
  function cleanupThemeState(r) {
142
141
  if (r.unsubscribe) cleanupThemeSubscription(r);
143
142
  else {
144
- localStates.delete(r.id);
143
+ r.state = void 0;
145
144
  states.delete(r.id);
146
145
  PendingUpdate.delete(r.id);
147
146
  }
@@ -150,7 +149,7 @@ function cleanupThemeState(r) {
150
149
  }
151
150
  const getSnapshotImpl = (r) => {
152
151
  const { id, parentId, props, propsKey, isRoot, keys, schemeKeys, optimizeForFirstRender } = r;
153
- let local = localStates.get(id);
152
+ let local = r.state;
154
153
  const parentState = states.get(parentId);
155
154
  if (local && !PendingUpdate.has(id)) {
156
155
  if (parentState && local._parentName === parentState.name && local._parentSchemeAuthored === parentState.schemeAuthored && local._propsKey === propsKey) return local;
@@ -172,7 +171,7 @@ const getSnapshotImpl = (r) => {
172
171
  PendingUpdate.delete(id);
173
172
  if (!local || rerender) {
174
173
  local = { ...next };
175
- localStates.set(id, local);
174
+ r.state = local;
176
175
  }
177
176
  if (next !== local) {
178
177
  Object.assign(local, next);
@@ -1 +1 @@
1
- {"version":3,"file":"useThemeState.js","names":[],"sources":["esm/hooks/useThemeState.js"],"sourcesContent":["import { useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { createContext, useContext, useEffect, useId, useReducer, useRef } from \"react\";\nimport { getThemeScheme } from \"@tamagui/helpers\";\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);\nconst themeUpdateLayers = /* @__PURE__ */ new Map();\nconst themeProviderParents = /* @__PURE__ */ new Map();\nconst getThemeUpdateLayer = (id) => themeUpdateLayers.get(id);\nconst getThemeProviderParent = (id) => themeProviderParents.get(id);\nconst getThemeProviderChainSizes = () => ({\n\tlayers: themeUpdateLayers.size,\n\tparents: themeProviderParents.size\n});\nconst registerThemeProviderChain = (id, parentId, props) => {\n\tthemeProviderParents.set(id, parentId);\n\tif (props._themeUpdate) themeUpdateLayers.set(id, props._themeUpdate);\n\telse themeUpdateLayers.delete(id);\n};\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, optimizeForFirstRender = 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}\"` : \"\"}, 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\tif (cascadeOnChange) registerThemeProviderChain(id, parentId, props);\n\tconst ref = useRef(null);\n\tconst r = 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\toptimizeForFirstRender,\n\t\trenderVersion: 0\n\t};\n\tr.props = props;\n\tr.propsKey = propsKey;\n\tr.isRoot = isRoot;\n\tr.keys = keys;\n\tr.schemeKeys = schemeKeys;\n\tr.parentId = parentId;\n\tr.renderVersion++;\n\tconst [, forceUpdate] = useReducer(incReducer, 0);\n\tconst state = getSnapshotImpl(r);\n\tr.lastSnap = state;\n\tuseEffect(() => {\n\t\tconst renderVersion = r.renderVersion;\n\t\tif (r.lastSnap && !states.has(r.id)) {\n\t\t\tstates.set(r.id, r.lastSnap);\n\t\t\tlocalStates.set(r.id, r.lastSnap);\n\t\t}\n\t\tif (cascadeOnChange && !themeProviderParents.has(r.id)) registerThemeProviderChain(r.id, r.parentId, r.props);\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 = (forced) => {\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\tif (!forced && r.props.nativeUpdate?.(next)) return;\n\t\t\t\t\t\tforceUpdate();\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\t(listenersByParent[pid] ||= /* @__PURE__ */ new Set()).add(sid);\n\t\t\t\tallListeners.set(sid, () => {\n\t\t\t\t\tconst forced = shouldForce;\n\t\t\t\t\tPendingUpdate.set(sid, forced ? \"force\" : true);\n\t\t\t\t\tcb(forced);\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\tscheduleUpdate(id);\n\t\tHadTheme.set(keys, true);\n\t}, [keys, propsKey]);\n\treturn state;\n};\nconst shouldSubscribeToTheme = (r, cascadeOnChange) => Boolean(r.optimizeForFirstRender || 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\tthemeUpdateLayers.delete(r.id);\n\tthemeProviderParents.delete(r.id);\n}\nconst getSnapshotImpl = (r) => {\n\tconst { id, parentId, props, propsKey, isRoot, keys, schemeKeys, optimizeForFirstRender } = 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._parentSchemeAuthored === parentState.schemeAuthored && local._propsKey === propsKey) return local;\n\t}\n\tconst isSchemeOnlyChange = !optimizeForFirstRender && false;\n\tconst allKeysSchemeOptimized = !optimizeForFirstRender && Boolean(keys.current?.size && schemeKeys?.current?.size === keys.current.size);\n\tconst canSkipForSchemeChange = Boolean(isSchemeOnlyChange && allKeysSchemeOptimized);\n\tconst needsUpdate = props.passThrough ? false : optimizeForFirstRender ? true : isRoot || props.forceClassName || props.name === \"light\" || props.name === \"dark\" || props.name === null ? true : !HasRenderedOnce.get(keys) ? true : canSkipForSchemeChange ? false : keys?.current?.size ? true : props.needsUpdate?.();\n\tconst [rerender, nextRaw] = getNextState(local, props, propsKey, isRoot, id, parentId, needsUpdate, PendingUpdate.get(id));\n\tlet next = nextRaw;\n\tif (props._themeUpdate && nextRaw?.theme) {\n\t\tconst parentTheme = states.get(parentId)?.theme || nextRaw.theme;\n\t\tconst merged = props._themeUpdate.getTheme(parentTheme, nextRaw.name, getConfig());\n\t\tif (merged !== nextRaw.theme) next = {\n\t\t\t...nextRaw,\n\t\t\ttheme: merged\n\t\t};\n\t}\n\tPendingUpdate.delete(id);\n\tif (!local || rerender) {\n\t\tlocal = { ...next };\n\t\tlocalStates.set(id, local);\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._parentSchemeAuthored = parentState?.schemeAuthored;\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 parentState = states.get(parentId);\n\tif (props.passThrough) return [false, parentState || lastState || { name: \"\" }];\n\tthemes ||= getConfig().themes;\n\tconst name = !propsKey && (!lastState || !lastState.isNew) ? null : getNewThemeName(parentState?.name, props, pendingUpdate === \"force\" ? true : !!needsUpdate);\n\tconst authoredName = props.name;\n\tconst parentSchemeAuthored = !!parentState?.schemeAuthored;\n\tconst schemeAuthored = isRoot ? !!props.forceClassName : parentSchemeAuthored || !!(authoredName && getThemeScheme(authoredName) && authoredName in themes);\n\tconst intentChanged = schemeAuthored !== parentSchemeAuthored;\n\tconst resolvedName = name || parentState?.name;\n\tconst sameAsLast = lastState && lastState.name === resolvedName && !!lastState.schemeAuthored === schemeAuthored;\n\tconst isSameAsParent = Boolean(parentState && resolvedName === parentState.name && !intentChanged);\n\tconst shouldRerender = Boolean(pendingUpdate === \"force\" || needsUpdate && (pendingUpdate || lastState?.name !== parentState?.name || !!lastState?.schemeAuthored !== schemeAuthored));\n\tif (isSameAsParent) {\n\t\tif (!shouldRerender && sameAsLast) return [false, lastState];\n\t\treturn [shouldRerender, {\n\t\t\t...parentState,\n\t\t\tisNew: false\n\t\t}];\n\t}\n\tif (!resolvedName) {\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 = getThemeScheme(resolvedName);\n\tconst parentInverses = parentState?.inverses ?? 0;\n\tconst isInverse = Boolean(parentState && scheme !== parentState.scheme);\n\tconst inverses = parentInverses + (isInverse ? 1 : 0);\n\tconst nextState = {\n\t\tid,\n\t\tname: resolvedName,\n\t\ttheme: themes[resolvedName],\n\t\tscheme,\n\t\tparentId,\n\t\tparentName: parentState?.name,\n\t\tinverses,\n\t\tisInverse,\n\t\tschemeAuthored,\n\t\tisNew: true\n\t};\n\tif (isRoot) rootThemeState = nextState;\n\treturn [pendingUpdate === \"force\" || !sameAsLast, 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}\nfunction getNewThemeName(parentName = \"\", props, forceUpdate = false) {\n\tconst { name } = props;\n\tconst cacheKey = `${parentName}|${name || \"\"}|${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 result = resolveThemeName(parentName, name ?? void 0, getConfig().themes, forceUpdate);\n\tif (themeNameCache.size >= 1e4) themeNameCache.clear();\n\tthemeNameCache.set(cacheKey, result);\n\treturn result;\n}\nconst getThemeNameCacheSize = () => themeNameCache.size;\nfunction resolveThemeName(parentName, name, themes2, forceUpdate = false) {\n\tconst parentParts = parentName ? parentName.split(\"_\") : [];\n\tlet found = null;\n\tif (name) {\n\t\tconst nameHasScheme = getThemeScheme(name);\n\t\tif (nameHasScheme && name in themes2) found = name;\n\t\tif (!found && !nameHasScheme) for (let i = parentParts.length; i >= 0; i--) {\n\t\t\tconst base = parentParts.slice(0, i).join(\"_\");\n\t\t\tconst potential = base ? `${base}_${name}` : name;\n\t\t\tif (potential in themes2) {\n\t\t\t\tfound = potential;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tif (!forceUpdate && found === parentName && found !== \"light\" && found !== \"dark\") return null;\n\treturn found;\n}\nconst getPropsKey = ({ name, forceClassName, _themeUpdate }) => `${name || \"\"}${forceClassName || \"\"}${_themeUpdate?.key || \"\"}`;\nconst hasThemeUpdatingProps = (props) => \"name\" in props || \"forceClassName\" in props || \"_themeUpdate\" in props;\n\nexport { ThemeStateContext, forceUpdateThemes, getNewThemeName, getRootThemeState, getThemeNameCacheSize, getThemeProviderChainSizes, getThemeProviderParent, getThemeState, getThemeUpdateLayer, hasThemeUpdatingProps, resolveThemeName, useThemeState };"],"mappings":"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"}
1
+ {"version":3,"file":"useThemeState.js","names":[],"sources":["esm/hooks/useThemeState.js"],"sourcesContent":["import { useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { createContext, useContext, useEffect, useId, useReducer, useRef } from \"react\";\nimport { getThemeScheme } from \"@tamagui/helpers\";\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();\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);\nconst themeUpdateLayers = /* @__PURE__ */ new Map();\nconst themeProviderParents = /* @__PURE__ */ new Map();\nconst getThemeUpdateLayer = (id) => themeUpdateLayers.get(id);\nconst getThemeProviderParent = (id) => themeProviderParents.get(id);\nconst getThemeProviderChainSizes = () => ({\n\tlayers: themeUpdateLayers.size,\n\tparents: themeProviderParents.size\n});\nconst registerThemeProviderChain = (id, parentId, props) => {\n\tthemeProviderParents.set(id, parentId);\n\tif (props._themeUpdate) themeUpdateLayers.set(id, props._themeUpdate);\n\telse themeUpdateLayers.delete(id);\n};\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, optimizeForFirstRender = 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}\"` : \"\"}, 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\tif (cascadeOnChange) registerThemeProviderChain(id, parentId, props);\n\tconst ref = useRef(null);\n\tconst r = 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\toptimizeForFirstRender,\n\t\trenderVersion: 0\n\t};\n\tr.props = props;\n\tr.propsKey = propsKey;\n\tr.isRoot = isRoot;\n\tr.keys = keys;\n\tr.schemeKeys = schemeKeys;\n\tr.parentId = parentId;\n\tr.renderVersion++;\n\tconst [, forceUpdate] = useReducer(incReducer, 0);\n\tconst state = getSnapshotImpl(r);\n\tr.lastSnap = state;\n\tuseEffect(() => {\n\t\tconst renderVersion = r.renderVersion;\n\t\tif (r.lastSnap && !states.has(r.id)) {\n\t\t\tstates.set(r.id, r.lastSnap);\n\t\t\tr.state = r.lastSnap;\n\t\t}\n\t\tif (cascadeOnChange && !themeProviderParents.has(r.id)) registerThemeProviderChain(r.id, r.parentId, r.props);\n\t\tif (r.unsubscribe && r.subscribedTo !== 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 = (forced) => {\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\tif (!forced && r.props.nativeUpdate?.(next)) return;\n\t\t\t\t\t\tforceUpdate();\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\t(listenersByParent[pid] ||= /* @__PURE__ */ new Set()).add(sid);\n\t\t\t\tallListeners.set(sid, () => {\n\t\t\t\t\tconst forced = shouldForce;\n\t\t\t\t\tPendingUpdate.set(sid, forced ? \"force\" : true);\n\t\t\t\t\tcb(forced);\n\t\t\t\t});\n\t\t\t\tr.subscribedTo = 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\tr.state = void 0;\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.subscribedTo = 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\tscheduleUpdate(id);\n\t\tHadTheme.set(keys, true);\n\t}, [keys, propsKey]);\n\treturn state;\n};\nconst shouldSubscribeToTheme = (r, cascadeOnChange) => Boolean(r.optimizeForFirstRender || 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\tr.state = void 0;\n\t\tstates.delete(r.id);\n\t\tPendingUpdate.delete(r.id);\n\t}\n\tthemeUpdateLayers.delete(r.id);\n\tthemeProviderParents.delete(r.id);\n}\nconst getSnapshotImpl = (r) => {\n\tconst { id, parentId, props, propsKey, isRoot, keys, schemeKeys, optimizeForFirstRender } = r;\n\tlet local = r.state;\n\tconst parentState = states.get(parentId);\n\tif (local && !PendingUpdate.has(id)) {\n\t\tif (parentState && local._parentName === parentState.name && local._parentSchemeAuthored === parentState.schemeAuthored && local._propsKey === propsKey) return local;\n\t}\n\tconst isSchemeOnlyChange = !optimizeForFirstRender && false;\n\tconst allKeysSchemeOptimized = !optimizeForFirstRender && Boolean(keys.current?.size && schemeKeys?.current?.size === keys.current.size);\n\tconst canSkipForSchemeChange = Boolean(isSchemeOnlyChange && allKeysSchemeOptimized);\n\tconst needsUpdate = props.passThrough ? false : optimizeForFirstRender ? true : isRoot || props.forceClassName || props.name === \"light\" || props.name === \"dark\" || props.name === null ? true : !HasRenderedOnce.get(keys) ? true : canSkipForSchemeChange ? false : keys?.current?.size ? true : props.needsUpdate?.();\n\tconst [rerender, nextRaw] = getNextState(local, props, propsKey, isRoot, id, parentId, needsUpdate, PendingUpdate.get(id));\n\tlet next = nextRaw;\n\tif (props._themeUpdate && nextRaw?.theme) {\n\t\tconst parentTheme = states.get(parentId)?.theme || nextRaw.theme;\n\t\tconst merged = props._themeUpdate.getTheme(parentTheme, nextRaw.name, getConfig());\n\t\tif (merged !== nextRaw.theme) next = {\n\t\t\t...nextRaw,\n\t\t\ttheme: merged\n\t\t};\n\t}\n\tPendingUpdate.delete(id);\n\tif (!local || rerender) {\n\t\tlocal = { ...next };\n\t\tr.state = local;\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._parentSchemeAuthored = parentState?.schemeAuthored;\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 parentState = states.get(parentId);\n\tif (props.passThrough) return [false, parentState || lastState || { name: \"\" }];\n\tthemes ||= getConfig().themes;\n\tconst name = !propsKey && (!lastState || !lastState.isNew) ? null : getNewThemeName(parentState?.name, props, pendingUpdate === \"force\" ? true : !!needsUpdate);\n\tconst authoredName = props.name;\n\tconst parentSchemeAuthored = !!parentState?.schemeAuthored;\n\tconst schemeAuthored = isRoot ? !!props.forceClassName : parentSchemeAuthored || !!(authoredName && getThemeScheme(authoredName) && authoredName in themes);\n\tconst intentChanged = schemeAuthored !== parentSchemeAuthored;\n\tconst resolvedName = name || parentState?.name;\n\tconst sameAsLast = lastState && lastState.name === resolvedName && !!lastState.schemeAuthored === schemeAuthored;\n\tconst isSameAsParent = Boolean(parentState && resolvedName === parentState.name && !intentChanged);\n\tconst shouldRerender = Boolean(pendingUpdate === \"force\" || needsUpdate && (pendingUpdate || lastState?.name !== parentState?.name || !!lastState?.schemeAuthored !== schemeAuthored));\n\tif (isSameAsParent) {\n\t\tif (!shouldRerender && sameAsLast) return [false, lastState];\n\t\treturn [shouldRerender, {\n\t\t\t...parentState,\n\t\t\tisNew: false\n\t\t}];\n\t}\n\tif (!resolvedName) {\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 = getThemeScheme(resolvedName);\n\tconst parentInverses = parentState?.inverses ?? 0;\n\tconst isInverse = Boolean(parentState && scheme !== parentState.scheme);\n\tconst inverses = parentInverses + (isInverse ? 1 : 0);\n\tconst nextState = {\n\t\tid,\n\t\tname: resolvedName,\n\t\ttheme: themes[resolvedName],\n\t\tscheme,\n\t\tparentId,\n\t\tparentName: parentState?.name,\n\t\tinverses,\n\t\tisInverse,\n\t\tschemeAuthored,\n\t\tisNew: true\n\t};\n\tif (isRoot) rootThemeState = nextState;\n\treturn [pendingUpdate === \"force\" || !sameAsLast, 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}\nfunction getNewThemeName(parentName = \"\", props, forceUpdate = false) {\n\tconst { name } = props;\n\tconst cacheKey = `${parentName}|${name || \"\"}|${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 result = resolveThemeName(parentName, name ?? void 0, getConfig().themes, forceUpdate);\n\tif (themeNameCache.size >= 1e4) themeNameCache.clear();\n\tthemeNameCache.set(cacheKey, result);\n\treturn result;\n}\nconst getThemeNameCacheSize = () => themeNameCache.size;\nfunction resolveThemeName(parentName, name, themes2, forceUpdate = false) {\n\tconst parentParts = parentName ? parentName.split(\"_\") : [];\n\tlet found = null;\n\tif (name) {\n\t\tconst nameHasScheme = getThemeScheme(name);\n\t\tif (nameHasScheme && name in themes2) found = name;\n\t\tif (!found && !nameHasScheme) for (let i = parentParts.length; i >= 0; i--) {\n\t\t\tconst base = parentParts.slice(0, i).join(\"_\");\n\t\t\tconst potential = base ? `${base}_${name}` : name;\n\t\t\tif (potential in themes2) {\n\t\t\t\tfound = potential;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tif (!forceUpdate && found === parentName && found !== \"light\" && found !== \"dark\") return null;\n\treturn found;\n}\nconst getPropsKey = ({ name, forceClassName, _themeUpdate }) => `${name || \"\"}${forceClassName || \"\"}${_themeUpdate?.key || \"\"}`;\nconst hasThemeUpdatingProps = (props) => \"name\" in props || \"forceClassName\" in props || \"_themeUpdate\" in props;\n\nexport { ThemeStateContext, forceUpdateThemes, getNewThemeName, getRootThemeState, getThemeNameCacheSize, getThemeProviderChainSizes, getThemeProviderParent, getThemeState, getThemeUpdateLayer, hasThemeUpdatingProps, resolveThemeName, useThemeState };"],"mappings":"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"}
@@ -11,7 +11,6 @@ var HasRenderedOnce = /* @__PURE__ */ new WeakMap();
11
11
  var HadTheme = /* @__PURE__ */ new WeakMap();
12
12
  var PendingUpdate = /* @__PURE__ */ new Map();
13
13
  var states = /* @__PURE__ */ new Map();
14
- var localStates = /* @__PURE__ */ new Map();
15
14
  var shouldForce = false;
16
15
  var forceUpdateThemes = function() {
17
16
  cacheVersion++;
@@ -99,10 +98,10 @@ Looked for theme${props.name ? ` "${props.name}"` : ""}, but no parent theme con
99
98
  var renderVersion = r.renderVersion;
100
99
  if (r.lastSnap && !states.has(r.id)) {
101
100
  states.set(r.id, r.lastSnap);
102
- localStates.set(r.id, r.lastSnap);
101
+ r.state = r.lastSnap;
103
102
  }
104
103
  if (cascadeOnChange && !themeProviderParents.has(r.id)) registerThemeProviderChain(r.id, r.parentId, r.props);
105
- if (r.unsubscribe && r.subscribedParentId !== r.parentId) cleanupThemeSubscription(r);
104
+ if (r.unsubscribe && r.subscribedTo !== r.parentId) cleanupThemeSubscription(r);
106
105
  if (shouldSubscribeToTheme(r, cascadeOnChange)) {
107
106
  if (!r.unsubscribe) {
108
107
  var _listenersByParent, _pid;
@@ -123,16 +122,16 @@ Looked for theme${props.name ? ` "${props.name}"` : ""}, but no parent theme con
123
122
  PendingUpdate.set(sid, forced ? "force" : true);
124
123
  cb(forced);
125
124
  });
126
- r.subscribedParentId = pid;
125
+ r.subscribedTo = pid;
127
126
  r.unsubscribe = function() {
128
127
  var _listenersByParent_pid;
129
128
  allListeners.delete(sid);
130
129
  (_listenersByParent_pid = listenersByParent[pid]) === null || _listenersByParent_pid === void 0 || _listenersByParent_pid.delete(sid);
131
- localStates.delete(sid);
130
+ r.state = void 0;
132
131
  states.delete(sid);
133
132
  PendingUpdate.delete(sid);
134
133
  r.unsubscribe = void 0;
135
- r.subscribedParentId = void 0;
134
+ r.subscribedTo = void 0;
136
135
  };
137
136
  }
138
137
  } else if (r.unsubscribe) cleanupThemeSubscription(r);
@@ -166,7 +165,7 @@ function cleanupThemeSubscription(r) {
166
165
  function cleanupThemeState(r) {
167
166
  if (r.unsubscribe) cleanupThemeSubscription(r);
168
167
  else {
169
- localStates.delete(r.id);
168
+ r.state = void 0;
170
169
  states.delete(r.id);
171
170
  PendingUpdate.delete(r.id);
172
171
  }
@@ -176,7 +175,7 @@ function cleanupThemeState(r) {
176
175
  var getSnapshotImpl = function(r) {
177
176
  var _keys_current, _schemeKeys_current, _keys_current1, _props_needsUpdate;
178
177
  var { id, parentId, props, propsKey, isRoot, keys, schemeKeys, optimizeForFirstRender } = r;
179
- var local = localStates.get(id);
178
+ var local = r.state;
180
179
  var parentState = states.get(parentId);
181
180
  if (local && !PendingUpdate.has(id)) {
182
181
  if (parentState && local._parentName === parentState.name && local._parentSchemeAuthored === parentState.schemeAuthored && local._propsKey === propsKey) return local;
@@ -199,7 +198,7 @@ var getSnapshotImpl = function(r) {
199
198
  PendingUpdate.delete(id);
200
199
  if (!local || rerender) {
201
200
  local = { ...next };
202
- localStates.set(id, local);
201
+ r.state = local;
203
202
  }
204
203
  if (next !== local) {
205
204
  Object.assign(local, next);
@@ -1 +1 @@
1
- {"version":3,"file":"useThemeState.native.js","names":[],"sources":["esm/hooks/useThemeState.native.js"],"sourcesContent":["import { supportsDynamicColorIOS, useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { createContext, useContext, useEffect, useId, useReducer, useRef } from \"react\";\nimport { getThemeScheme } from \"@tamagui/helpers\";\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 themeUpdateLayers = /* @__PURE__ */ new Map();\nvar themeProviderParents = /* @__PURE__ */ new Map();\nvar getThemeUpdateLayer = function(id) {\n\treturn themeUpdateLayers.get(id);\n};\nvar getThemeProviderParent = function(id) {\n\treturn themeProviderParents.get(id);\n};\nvar getThemeProviderChainSizes = function() {\n\treturn {\n\t\tlayers: themeUpdateLayers.size,\n\t\tparents: themeProviderParents.size\n\t};\n};\nvar registerThemeProviderChain = function(id, parentId, props) {\n\tthemeProviderParents.set(id, parentId);\n\tif (props._themeUpdate) themeUpdateLayers.set(id, props._themeUpdate);\n\telse themeUpdateLayers.delete(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, optimizeForFirstRender = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : false;\n\tvar _ref;\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}\"` : \"\"}, 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\tif (cascadeOnChange) registerThemeProviderChain(id, parentId, props);\n\tvar r = (_ref = useRef(null)).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\toptimizeForFirstRender,\n\t\trenderVersion: 0\n\t});\n\tr.props = props;\n\tr.propsKey = propsKey;\n\tr.isRoot = isRoot;\n\tr.keys = keys;\n\tr.schemeKeys = schemeKeys;\n\tr.parentId = parentId;\n\tr.renderVersion++;\n\tvar [, forceUpdate] = useReducer(incReducer, 0);\n\tvar state = getSnapshotImpl(r);\n\tr.lastSnap = state;\n\tuseEffect(function() {\n\t\tvar renderVersion = r.renderVersion;\n\t\tif (r.lastSnap && !states.has(r.id)) {\n\t\t\tstates.set(r.id, r.lastSnap);\n\t\t\tlocalStates.set(r.id, r.lastSnap);\n\t\t}\n\t\tif (cascadeOnChange && !themeProviderParents.has(r.id)) registerThemeProviderChain(r.id, r.parentId, r.props);\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 _listenersByParent, _pid;\n\t\t\t\tvar pid = r.parentId;\n\t\t\t\tvar sid = r.id;\n\t\t\t\tvar cb = function(forced) {\n\t\t\t\t\tvar next = getSnapshotImpl(r);\n\t\t\t\t\tif (next !== r.lastSnap) {\n\t\t\t\t\t\tvar _r_props_nativeUpdate, _r_props;\n\t\t\t\t\t\tr.lastSnap = next;\n\t\t\t\t\t\tif (!forced && ((_r_props_nativeUpdate = (_r_props = r.props).nativeUpdate) === null || _r_props_nativeUpdate === void 0 ? void 0 : _r_props_nativeUpdate.call(_r_props, next))) return;\n\t\t\t\t\t\tforceUpdate();\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\t((_listenersByParent = listenersByParent)[_pid = pid] || (_listenersByParent[_pid] = /* @__PURE__ */ new Set())).add(sid);\n\t\t\t\tallListeners.set(sid, function() {\n\t\t\t\t\tvar forced = shouldForce;\n\t\t\t\t\tPendingUpdate.set(sid, forced ? \"force\" : true);\n\t\t\t\t\tcb(forced);\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\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 Boolean(r.optimizeForFirstRender || 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\tthemeUpdateLayers.delete(r.id);\n\tthemeProviderParents.delete(r.id);\n}\nvar getSnapshotImpl = function(r) {\n\tvar _keys_current, _schemeKeys_current, _keys_current1, _props_needsUpdate;\n\tvar { id, parentId, props, propsKey, isRoot, keys, schemeKeys, optimizeForFirstRender } = 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._parentSchemeAuthored === parentState.schemeAuthored && local._propsKey === propsKey) return local;\n\t}\n\tvar isSchemeOnlyChange = !optimizeForFirstRender && supportsDynamicColorIOS && getSetting(\"fastSchemeChange\") && local && parentState && local.scheme !== parentState.scheme && getThemeBaseName(local.name) === getThemeBaseName(parentState.name);\n\tvar allKeysSchemeOptimized = !optimizeForFirstRender && Boolean(((_keys_current = keys.current) === null || _keys_current === void 0 ? void 0 : _keys_current.size) && (schemeKeys === null || schemeKeys === void 0 ? void 0 : (_schemeKeys_current = schemeKeys.current) === null || _schemeKeys_current === void 0 ? void 0 : _schemeKeys_current.size) === keys.current.size);\n\tvar canSkipForSchemeChange = Boolean(isSchemeOnlyChange && allKeysSchemeOptimized);\n\tvar needsUpdate = props.passThrough ? false : optimizeForFirstRender ? true : isRoot || props.forceClassName || 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, nextRaw] = getNextState(local, props, propsKey, isRoot, id, parentId, needsUpdate, PendingUpdate.get(id));\n\tvar next = nextRaw;\n\tif (props._themeUpdate && (nextRaw === null || nextRaw === void 0 ? void 0 : nextRaw.theme)) {\n\t\tvar _states_get;\n\t\tvar parentTheme = ((_states_get = states.get(parentId)) === null || _states_get === void 0 ? void 0 : _states_get.theme) || nextRaw.theme;\n\t\tvar merged = props._themeUpdate.getTheme(parentTheme, nextRaw.name, getConfig());\n\t\tif (merged !== nextRaw.theme) next = {\n\t\t\t...nextRaw,\n\t\t\ttheme: merged\n\t\t};\n\t}\n\tPendingUpdate.delete(id);\n\tif (!local || rerender) {\n\t\tlocal = { ...next };\n\t\tlocalStates.set(id, local);\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._parentSchemeAuthored = parentState === null || parentState === void 0 ? void 0 : parentState.schemeAuthored;\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 parentState = states.get(parentId);\n\tif (props.passThrough) return [false, parentState || lastState || { name: \"\" }];\n\tthemes || (themes = getConfig().themes);\n\tvar name = !propsKey && (!lastState || !lastState.isNew) ? null : getNewThemeName(parentState === null || parentState === void 0 ? void 0 : parentState.name, props, pendingUpdate === \"force\" ? true : !!needsUpdate);\n\tvar authoredName = props.name;\n\tvar parentSchemeAuthored = !!(parentState === null || parentState === void 0 ? void 0 : parentState.schemeAuthored);\n\tvar schemeAuthored = isRoot ? !!props.forceClassName : parentSchemeAuthored || !!(authoredName && getThemeScheme(authoredName) && authoredName in themes);\n\tvar intentChanged = schemeAuthored !== parentSchemeAuthored;\n\tvar resolvedName = name || (parentState === null || parentState === void 0 ? void 0 : parentState.name);\n\tvar sameAsLast = lastState && lastState.name === resolvedName && !!lastState.schemeAuthored === schemeAuthored;\n\tvar isSameAsParent = Boolean(parentState && resolvedName === parentState.name && !intentChanged);\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) || !!(lastState === null || lastState === void 0 ? void 0 : lastState.schemeAuthored) !== schemeAuthored));\n\tif (isSameAsParent) {\n\t\tif (!shouldRerender && sameAsLast) return [false, lastState];\n\t\treturn [shouldRerender, {\n\t\t\t...parentState,\n\t\t\tisNew: false\n\t\t}];\n\t}\n\tif (!resolvedName) {\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 = getThemeScheme(resolvedName);\n\tvar _parentState_inverses;\n\tvar parentInverses = (_parentState_inverses = parentState === null || parentState === void 0 ? void 0 : parentState.inverses) !== null && _parentState_inverses !== void 0 ? _parentState_inverses : 0;\n\tvar isInverse = Boolean(parentState && scheme !== parentState.scheme);\n\tvar inverses = parentInverses + (isInverse ? 1 : 0);\n\tvar nextState = {\n\t\tid,\n\t\tname: resolvedName,\n\t\ttheme: themes[resolvedName],\n\t\tscheme,\n\t\tparentId,\n\t\tparentName: parentState === null || parentState === void 0 ? void 0 : parentState.name,\n\t\tinverses,\n\t\tisInverse,\n\t\tschemeAuthored,\n\t\tisNew: true\n\t};\n\tif (isRoot) rootThemeState = nextState;\n\treturn [pendingUpdate === \"force\" || !sameAsLast, 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 _allListeners_get;\n\t\t(_allListeners_get = allListeners.get(childId2)) === null || _allListeners_get === void 0 || _allListeners_get();\n\t});\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 } = props;\n\tvar cacheKey = `${parentName}|${name || \"\"}|${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 result = resolveThemeName(parentName, name !== null && name !== void 0 ? name : void 0, getConfig().themes, forceUpdate);\n\tif (themeNameCache.size >= 1e4) themeNameCache.clear();\n\tthemeNameCache.set(cacheKey, result);\n\treturn result;\n}\nvar getThemeNameCacheSize = function() {\n\treturn themeNameCache.size;\n};\nfunction resolveThemeName(parentName, name, themes2) {\n\tvar forceUpdate = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false;\n\tvar parentParts = parentName ? parentName.split(\"_\") : [];\n\tvar found = null;\n\tif (name) {\n\t\tvar nameHasScheme = getThemeScheme(name);\n\t\tif (nameHasScheme && name in themes2) found = name;\n\t\tif (!found && !nameHasScheme) for (var i = parentParts.length; i >= 0; i--) {\n\t\t\tvar base = parentParts.slice(0, i).join(\"_\");\n\t\t\tvar potential = base ? `${base}_${name}` : name;\n\t\t\tif (potential in themes2) {\n\t\t\t\tfound = potential;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tif (!forceUpdate && found === parentName && found !== \"light\" && found !== \"dark\") return null;\n\treturn found;\n}\nvar getPropsKey = function(param) {\n\tvar { name, forceClassName, _themeUpdate } = param;\n\treturn `${name || \"\"}${forceClassName || \"\"}${(_themeUpdate === null || _themeUpdate === void 0 ? void 0 : _themeUpdate.key) || \"\"}`;\n};\nvar hasThemeUpdatingProps = function(props) {\n\treturn \"name\" in props || \"forceClassName\" in props || \"_themeUpdate\" in props;\n};\n\nexport { ThemeStateContext, forceUpdateThemes, getNewThemeName, getRootThemeState, getThemeNameCacheSize, getThemeProviderChainSizes, getThemeProviderParent, getThemeState, getThemeUpdateLayer, hasThemeUpdatingProps, resolveThemeName, useThemeState };"],"mappings":"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"}
1
+ {"version":3,"file":"useThemeState.native.js","names":[],"sources":["esm/hooks/useThemeState.native.js"],"sourcesContent":["import { supportsDynamicColorIOS, useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { createContext, useContext, useEffect, useId, useReducer, useRef } from \"react\";\nimport { getThemeScheme } from \"@tamagui/helpers\";\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 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 themeUpdateLayers = /* @__PURE__ */ new Map();\nvar themeProviderParents = /* @__PURE__ */ new Map();\nvar getThemeUpdateLayer = function(id) {\n\treturn themeUpdateLayers.get(id);\n};\nvar getThemeProviderParent = function(id) {\n\treturn themeProviderParents.get(id);\n};\nvar getThemeProviderChainSizes = function() {\n\treturn {\n\t\tlayers: themeUpdateLayers.size,\n\t\tparents: themeProviderParents.size\n\t};\n};\nvar registerThemeProviderChain = function(id, parentId, props) {\n\tthemeProviderParents.set(id, parentId);\n\tif (props._themeUpdate) themeUpdateLayers.set(id, props._themeUpdate);\n\telse themeUpdateLayers.delete(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, optimizeForFirstRender = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : false;\n\tvar _ref;\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}\"` : \"\"}, 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\tif (cascadeOnChange) registerThemeProviderChain(id, parentId, props);\n\tvar r = (_ref = useRef(null)).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\toptimizeForFirstRender,\n\t\trenderVersion: 0\n\t});\n\tr.props = props;\n\tr.propsKey = propsKey;\n\tr.isRoot = isRoot;\n\tr.keys = keys;\n\tr.schemeKeys = schemeKeys;\n\tr.parentId = parentId;\n\tr.renderVersion++;\n\tvar [, forceUpdate] = useReducer(incReducer, 0);\n\tvar state = getSnapshotImpl(r);\n\tr.lastSnap = state;\n\tuseEffect(function() {\n\t\tvar renderVersion = r.renderVersion;\n\t\tif (r.lastSnap && !states.has(r.id)) {\n\t\t\tstates.set(r.id, r.lastSnap);\n\t\t\tr.state = r.lastSnap;\n\t\t}\n\t\tif (cascadeOnChange && !themeProviderParents.has(r.id)) registerThemeProviderChain(r.id, r.parentId, r.props);\n\t\tif (r.unsubscribe && r.subscribedTo !== r.parentId) cleanupThemeSubscription(r);\n\t\tif (shouldSubscribeToTheme(r, cascadeOnChange)) {\n\t\t\tif (!r.unsubscribe) {\n\t\t\t\tvar _listenersByParent, _pid;\n\t\t\t\tvar pid = r.parentId;\n\t\t\t\tvar sid = r.id;\n\t\t\t\tvar cb = function(forced) {\n\t\t\t\t\tvar next = getSnapshotImpl(r);\n\t\t\t\t\tif (next !== r.lastSnap) {\n\t\t\t\t\t\tvar _r_props_nativeUpdate, _r_props;\n\t\t\t\t\t\tr.lastSnap = next;\n\t\t\t\t\t\tif (!forced && ((_r_props_nativeUpdate = (_r_props = r.props).nativeUpdate) === null || _r_props_nativeUpdate === void 0 ? void 0 : _r_props_nativeUpdate.call(_r_props, next))) return;\n\t\t\t\t\t\tforceUpdate();\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\t((_listenersByParent = listenersByParent)[_pid = pid] || (_listenersByParent[_pid] = /* @__PURE__ */ new Set())).add(sid);\n\t\t\t\tallListeners.set(sid, function() {\n\t\t\t\t\tvar forced = shouldForce;\n\t\t\t\t\tPendingUpdate.set(sid, forced ? \"force\" : true);\n\t\t\t\t\tcb(forced);\n\t\t\t\t});\n\t\t\t\tr.subscribedTo = 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\tr.state = void 0;\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.subscribedTo = 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\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 Boolean(r.optimizeForFirstRender || 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\tr.state = void 0;\n\t\tstates.delete(r.id);\n\t\tPendingUpdate.delete(r.id);\n\t}\n\tthemeUpdateLayers.delete(r.id);\n\tthemeProviderParents.delete(r.id);\n}\nvar getSnapshotImpl = function(r) {\n\tvar _keys_current, _schemeKeys_current, _keys_current1, _props_needsUpdate;\n\tvar { id, parentId, props, propsKey, isRoot, keys, schemeKeys, optimizeForFirstRender } = r;\n\tvar local = r.state;\n\tvar parentState = states.get(parentId);\n\tif (local && !PendingUpdate.has(id)) {\n\t\tif (parentState && local._parentName === parentState.name && local._parentSchemeAuthored === parentState.schemeAuthored && local._propsKey === propsKey) return local;\n\t}\n\tvar isSchemeOnlyChange = !optimizeForFirstRender && supportsDynamicColorIOS && getSetting(\"fastSchemeChange\") && local && parentState && local.scheme !== parentState.scheme && getThemeBaseName(local.name) === getThemeBaseName(parentState.name);\n\tvar allKeysSchemeOptimized = !optimizeForFirstRender && Boolean(((_keys_current = keys.current) === null || _keys_current === void 0 ? void 0 : _keys_current.size) && (schemeKeys === null || schemeKeys === void 0 ? void 0 : (_schemeKeys_current = schemeKeys.current) === null || _schemeKeys_current === void 0 ? void 0 : _schemeKeys_current.size) === keys.current.size);\n\tvar canSkipForSchemeChange = Boolean(isSchemeOnlyChange && allKeysSchemeOptimized);\n\tvar needsUpdate = props.passThrough ? false : optimizeForFirstRender ? true : isRoot || props.forceClassName || 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, nextRaw] = getNextState(local, props, propsKey, isRoot, id, parentId, needsUpdate, PendingUpdate.get(id));\n\tvar next = nextRaw;\n\tif (props._themeUpdate && (nextRaw === null || nextRaw === void 0 ? void 0 : nextRaw.theme)) {\n\t\tvar _states_get;\n\t\tvar parentTheme = ((_states_get = states.get(parentId)) === null || _states_get === void 0 ? void 0 : _states_get.theme) || nextRaw.theme;\n\t\tvar merged = props._themeUpdate.getTheme(parentTheme, nextRaw.name, getConfig());\n\t\tif (merged !== nextRaw.theme) next = {\n\t\t\t...nextRaw,\n\t\t\ttheme: merged\n\t\t};\n\t}\n\tPendingUpdate.delete(id);\n\tif (!local || rerender) {\n\t\tlocal = { ...next };\n\t\tr.state = local;\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._parentSchemeAuthored = parentState === null || parentState === void 0 ? void 0 : parentState.schemeAuthored;\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 parentState = states.get(parentId);\n\tif (props.passThrough) return [false, parentState || lastState || { name: \"\" }];\n\tthemes || (themes = getConfig().themes);\n\tvar name = !propsKey && (!lastState || !lastState.isNew) ? null : getNewThemeName(parentState === null || parentState === void 0 ? void 0 : parentState.name, props, pendingUpdate === \"force\" ? true : !!needsUpdate);\n\tvar authoredName = props.name;\n\tvar parentSchemeAuthored = !!(parentState === null || parentState === void 0 ? void 0 : parentState.schemeAuthored);\n\tvar schemeAuthored = isRoot ? !!props.forceClassName : parentSchemeAuthored || !!(authoredName && getThemeScheme(authoredName) && authoredName in themes);\n\tvar intentChanged = schemeAuthored !== parentSchemeAuthored;\n\tvar resolvedName = name || (parentState === null || parentState === void 0 ? void 0 : parentState.name);\n\tvar sameAsLast = lastState && lastState.name === resolvedName && !!lastState.schemeAuthored === schemeAuthored;\n\tvar isSameAsParent = Boolean(parentState && resolvedName === parentState.name && !intentChanged);\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) || !!(lastState === null || lastState === void 0 ? void 0 : lastState.schemeAuthored) !== schemeAuthored));\n\tif (isSameAsParent) {\n\t\tif (!shouldRerender && sameAsLast) return [false, lastState];\n\t\treturn [shouldRerender, {\n\t\t\t...parentState,\n\t\t\tisNew: false\n\t\t}];\n\t}\n\tif (!resolvedName) {\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 = getThemeScheme(resolvedName);\n\tvar _parentState_inverses;\n\tvar parentInverses = (_parentState_inverses = parentState === null || parentState === void 0 ? void 0 : parentState.inverses) !== null && _parentState_inverses !== void 0 ? _parentState_inverses : 0;\n\tvar isInverse = Boolean(parentState && scheme !== parentState.scheme);\n\tvar inverses = parentInverses + (isInverse ? 1 : 0);\n\tvar nextState = {\n\t\tid,\n\t\tname: resolvedName,\n\t\ttheme: themes[resolvedName],\n\t\tscheme,\n\t\tparentId,\n\t\tparentName: parentState === null || parentState === void 0 ? void 0 : parentState.name,\n\t\tinverses,\n\t\tisInverse,\n\t\tschemeAuthored,\n\t\tisNew: true\n\t};\n\tif (isRoot) rootThemeState = nextState;\n\treturn [pendingUpdate === \"force\" || !sameAsLast, 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 _allListeners_get;\n\t\t(_allListeners_get = allListeners.get(childId2)) === null || _allListeners_get === void 0 || _allListeners_get();\n\t});\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 } = props;\n\tvar cacheKey = `${parentName}|${name || \"\"}|${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 result = resolveThemeName(parentName, name !== null && name !== void 0 ? name : void 0, getConfig().themes, forceUpdate);\n\tif (themeNameCache.size >= 1e4) themeNameCache.clear();\n\tthemeNameCache.set(cacheKey, result);\n\treturn result;\n}\nvar getThemeNameCacheSize = function() {\n\treturn themeNameCache.size;\n};\nfunction resolveThemeName(parentName, name, themes2) {\n\tvar forceUpdate = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false;\n\tvar parentParts = parentName ? parentName.split(\"_\") : [];\n\tvar found = null;\n\tif (name) {\n\t\tvar nameHasScheme = getThemeScheme(name);\n\t\tif (nameHasScheme && name in themes2) found = name;\n\t\tif (!found && !nameHasScheme) for (var i = parentParts.length; i >= 0; i--) {\n\t\t\tvar base = parentParts.slice(0, i).join(\"_\");\n\t\t\tvar potential = base ? `${base}_${name}` : name;\n\t\t\tif (potential in themes2) {\n\t\t\t\tfound = potential;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tif (!forceUpdate && found === parentName && found !== \"light\" && found !== \"dark\") return null;\n\treturn found;\n}\nvar getPropsKey = function(param) {\n\tvar { name, forceClassName, _themeUpdate } = param;\n\treturn `${name || \"\"}${forceClassName || \"\"}${(_themeUpdate === null || _themeUpdate === void 0 ? void 0 : _themeUpdate.key) || \"\"}`;\n};\nvar hasThemeUpdatingProps = function(props) {\n\treturn \"name\" in props || \"forceClassName\" in props || \"_themeUpdate\" in props;\n};\n\nexport { ThemeStateContext, forceUpdateThemes, getNewThemeName, getRootThemeState, getThemeNameCacheSize, getThemeProviderChainSizes, getThemeProviderParent, getThemeState, getThemeUpdateLayer, hasThemeUpdatingProps, resolveThemeName, useThemeState };"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/web",
3
- "version": "3.0.0-beta.1562.1",
3
+ "version": "3.0.0-beta.1571.1",
4
4
  "license": "MIT",
5
5
  "author": {
6
6
  "name": "Nate Wienert"
@@ -100,23 +100,23 @@
100
100
  "test:web": "vitest --typecheck --run"
101
101
  },
102
102
  "dependencies": {
103
- "@tamagui/animation-helpers": "3.0.0-beta.1562.1",
104
- "@tamagui/compose-refs": "3.0.0-beta.1562.1",
105
- "@tamagui/constants": "3.0.0-beta.1562.1",
106
- "@tamagui/dom": "3.0.0-beta.1562.1",
107
- "@tamagui/helpers": "3.0.0-beta.1562.1",
108
- "@tamagui/is-equal-shallow": "3.0.0-beta.1562.1",
109
- "@tamagui/native": "3.0.0-beta.1562.1",
110
- "@tamagui/normalize-css-color": "3.0.0-beta.1562.1",
111
- "@tamagui/react-native-types": "3.0.0-beta.1562.1",
112
- "@tamagui/style-grammar": "3.0.0-beta.1562.1",
113
- "@tamagui/types": "3.0.0-beta.1562.1",
114
- "@tamagui/use-did-finish-ssr": "3.0.0-beta.1562.1",
115
- "@tamagui/use-event": "3.0.0-beta.1562.1",
116
- "@tamagui/use-force-update": "3.0.0-beta.1562.1"
103
+ "@tamagui/animation-helpers": "3.0.0-beta.1571.1",
104
+ "@tamagui/compose-refs": "3.0.0-beta.1571.1",
105
+ "@tamagui/constants": "3.0.0-beta.1571.1",
106
+ "@tamagui/dom": "3.0.0-beta.1571.1",
107
+ "@tamagui/helpers": "3.0.0-beta.1571.1",
108
+ "@tamagui/is-equal-shallow": "3.0.0-beta.1571.1",
109
+ "@tamagui/native": "3.0.0-beta.1571.1",
110
+ "@tamagui/normalize-css-color": "3.0.0-beta.1571.1",
111
+ "@tamagui/react-native-types": "3.0.0-beta.1571.1",
112
+ "@tamagui/style-grammar": "3.0.0-beta.1571.1",
113
+ "@tamagui/types": "3.0.0-beta.1571.1",
114
+ "@tamagui/use-did-finish-ssr": "3.0.0-beta.1571.1",
115
+ "@tamagui/use-event": "3.0.0-beta.1571.1",
116
+ "@tamagui/use-force-update": "3.0.0-beta.1571.1"
117
117
  },
118
118
  "devDependencies": {
119
- "@tamagui/build": "3.0.0-beta.1562.1",
119
+ "@tamagui/build": "3.0.0-beta.1571.1",
120
120
  "@testing-library/react": "^16.1.0",
121
121
  "csstype": "^3.0.10",
122
122
  "react": "19.2.3",
@@ -128,5 +128,6 @@
128
128
  "peerDependencies": {
129
129
  "react": ">=19",
130
130
  "react-dom": "*"
131
- }
131
+ },
132
+ "releaseSourceCommit": "e09267246167b52afd620a498678f5cce456cb5a"
132
133
  }
@@ -1730,10 +1730,8 @@ export const getSplitStyles: StyleSplitter = (
1730
1730
  }
1731
1731
  }
1732
1732
 
1733
- // native style stability: the inline per-key compare during mergeStyle found
1734
- // no value changes. fixStyles/transforms/parent defaults are all deterministic
1735
- // on those same values, so if key count matches the style is identical — swap
1736
- // in the prev ref so RN skips diffNestedProperty entirely.
1733
+ // native style stability: mergeStyle compares scalar values inline, but
1734
+ // transforms finalize later and need their own value comparison.
1737
1735
  if (process.env.TAMAGUI_TARGET === 'native') {
1738
1736
  const direct = styleState as DirectState
1739
1737
  const prevStyle = direct.flatPrevStyle
@@ -1743,7 +1741,56 @@ export const getSplitStyles: StyleSplitter = (
1743
1741
  !direct.flatStyleChanged &&
1744
1742
  Object.keys(prevStyle).length === Object.keys(styleState.style).length
1745
1743
  ) {
1746
- styleState.style = prevStyle as any
1744
+ const previousTransform = prevStyle.transform
1745
+ const nextTransform = styleState.style.transform
1746
+ let transformMatches = previousTransform === nextTransform
1747
+ if (
1748
+ !transformMatches &&
1749
+ Array.isArray(previousTransform) &&
1750
+ Array.isArray(nextTransform) &&
1751
+ previousTransform.length === nextTransform.length
1752
+ ) {
1753
+ transformMatches = true
1754
+ for (let index = 0; index < nextTransform.length; index++) {
1755
+ const previousPart = previousTransform[index]
1756
+ const nextPart = nextTransform[index]
1757
+ if (previousPart === nextPart) continue
1758
+ if (
1759
+ !previousPart ||
1760
+ !nextPart ||
1761
+ typeof previousPart !== 'object' ||
1762
+ typeof nextPart !== 'object'
1763
+ ) {
1764
+ transformMatches = false
1765
+ break
1766
+ }
1767
+ const keys = Object.keys(nextPart)
1768
+ if (keys.length !== Object.keys(previousPart).length) {
1769
+ transformMatches = false
1770
+ break
1771
+ }
1772
+ for (const key of keys) {
1773
+ const previousValue = previousPart[key]
1774
+ const nextValue = nextPart[key]
1775
+ if (
1776
+ previousValue !== nextValue &&
1777
+ !(
1778
+ Array.isArray(previousValue) &&
1779
+ Array.isArray(nextValue) &&
1780
+ previousValue.length === nextValue.length &&
1781
+ nextValue.every(
1782
+ (value, valueIndex) => value === previousValue[valueIndex]
1783
+ )
1784
+ )
1785
+ ) {
1786
+ transformMatches = false
1787
+ break
1788
+ }
1789
+ }
1790
+ if (!transformMatches) break
1791
+ }
1792
+ }
1793
+ if (transformMatches) styleState.style = prevStyle as any
1747
1794
  }
1748
1795
  }
1749
1796
 
@@ -30,7 +30,6 @@ const HadTheme = new WeakMap<object, boolean>()
30
30
  const PendingUpdate = new Map<any, boolean | 'force'>()
31
31
 
32
32
  const states: Map<ID, ThemeState | undefined> = new Map()
33
- const localStates: Map<ID, ThemeState | undefined> = new Map()
34
33
 
35
34
  let shouldForce = false
36
35
  export const forceUpdateThemes = () => {
@@ -146,14 +145,14 @@ export const useThemeState = (
146
145
 
147
146
  if (r.lastSnap && !states.has(r.id)) {
148
147
  states.set(r.id, r.lastSnap)
149
- localStates.set(r.id, r.lastSnap)
148
+ r.state = r.lastSnap
150
149
  }
151
150
 
152
151
  if (cascadeOnChange && !themeProviderParents.has(r.id)) {
153
152
  registerThemeProviderChain(r.id, r.parentId, r.props)
154
153
  }
155
154
 
156
- if (r.unsubscribe && r.subscribedParentId !== r.parentId) {
155
+ if (r.unsubscribe && r.subscribedTo !== r.parentId) {
157
156
  cleanupThemeSubscription(r)
158
157
  }
159
158
 
@@ -178,15 +177,15 @@ export const useThemeState = (
178
177
  PendingUpdate.set(sid, forced ? 'force' : true)
179
178
  cb(forced)
180
179
  })
181
- r.subscribedParentId = pid
180
+ r.subscribedTo = pid
182
181
  r.unsubscribe = () => {
183
182
  allListeners.delete(sid)
184
183
  listenersByParent[pid]?.delete(sid)
185
- localStates.delete(sid)
184
+ r.state = undefined
186
185
  states.delete(sid)
187
186
  PendingUpdate.delete(sid)
188
187
  r.unsubscribe = undefined
189
- r.subscribedParentId = undefined
188
+ r.subscribedTo = undefined
190
189
  }
191
190
  }
192
191
  } else if (r.unsubscribe) {
@@ -223,6 +222,7 @@ export const useThemeState = (
223
222
  }
224
223
 
225
224
  type SnapshotRef = {
225
+ state?: ThemeState
226
226
  id: string
227
227
  parentId: string
228
228
  props: UseThemeWithStateProps
@@ -236,7 +236,7 @@ type SnapshotRef = {
236
236
  type ThemeStateRef = SnapshotRef & {
237
237
  renderVersion: number
238
238
  unsubscribe?: () => void
239
- subscribedParentId?: string
239
+ subscribedTo?: string
240
240
  lastSnap?: ThemeState
241
241
  }
242
242
 
@@ -258,7 +258,7 @@ function cleanupThemeState(r: ThemeStateRef) {
258
258
  if (r.unsubscribe) {
259
259
  cleanupThemeSubscription(r)
260
260
  } else {
261
- localStates.delete(r.id)
261
+ r.state = undefined
262
262
  states.delete(r.id)
263
263
  PendingUpdate.delete(r.id)
264
264
  }
@@ -277,7 +277,8 @@ const getSnapshotImpl = (r: SnapshotRef): ThemeState => {
277
277
  schemeKeys,
278
278
  optimizeForFirstRender,
279
279
  } = r
280
- let local = localStates.get(id)
280
+ // useId values repeat across server renders; each hook owns its snapshot.
281
+ let local = r.state
281
282
  const parentState = states.get(parentId)
282
283
 
283
284
  if (local && !PendingUpdate.has(id)) {
@@ -351,7 +352,7 @@ const getSnapshotImpl = (r: SnapshotRef): ThemeState => {
351
352
 
352
353
  if (!local || rerender) {
353
354
  local = { ...next }
354
- localStates.set(id, local)
355
+ r.state = local
355
356
  }
356
357
 
357
358
  if (next !== local) {
@@ -1 +1 @@
1
- {"version":3,"file":"getSplitStyles.d.ts","sourceRoot":"","sources":["../../src/helpers/getSplitStyles.tsx"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EACV,gBAAgB,EAEhB,mBAAmB,EAEnB,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,aAAa,EAGb,eAAe,EACf,YAAY,EAGZ,qBAAqB,EACrB,qBAAqB,EAErB,WAAW,EAGZ,MAAM,UAAU,CAAA;AAkBjB,OAAO,EAAE,oBAAoB,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAKlF,OAAO,EAAE,oBAAoB,EAAE,CAAA;AAqB/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAe3D,OAAO,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AACvF,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,mBAAmB,EAAE,CAAA;AAE9B,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAK3D,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAMhE,MAAM,MAAM,aAAa,GAAG,CAC1B,KAAK,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC7B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,qBAAqB,EACrC,UAAU,EAAE,eAAe,EAC3B,iBAAiB,CAAC,EAAE,cAAc,GAAG,IAAI,EACzC,OAAO,CAAC,EAAE,iBAAiB,EAC3B,YAAY,CAAC,EAAE,gBAAgB,GAAG,IAAI,EAEtC,WAAW,CAAC,EAAE,MAAM,EACpB,iBAAiB,CAAC,EAAE,OAAO,EAC3B,KAAK,CAAC,EAAE,SAAS,EAEjB,eAAe,CAAC,EAAE,mBAAmB,GAAG,IAAI,EAC5C,iBAAiB,CAAC,EAAE,iBAAiB,KAClC,IAAI,GAAG,cAAc,CAAA;AA6U1B,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,WAEhF;AA2rBD,eAAO,MAAM,cAAc,EAAE,aAwrB5B,CAAA;AAoYD,MAAM,MAAM,UAAU,GAAG,CACvB,KAAK,EAAE,aAAa,EACpB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,GAAG,EACV,gBAAgB,CAAC,EAAE,OAAO,EAC1B,aAAa,CAAC,EAAE,GAAG,KAChB,IAAI,CAAA;AA63CT,KAAK,oBAAoB,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,IAAI,CAAA;AAgCnF,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,GAAG,EACV,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,oBAAoB,GAAG,IAAI,EACjC,QAAQ,SAAI,EACZ,WAAW,UAAQ,WA4OpB;AA6HD,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,aAAa,EACpB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,GAAG,EACb,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,OAAO,QAyBlB;AAID,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,qBAAqB,sBAgBtF;AAMD,cAAc,mBAAmB,CAAA"}
1
+ {"version":3,"file":"getSplitStyles.d.ts","sourceRoot":"","sources":["../../src/helpers/getSplitStyles.tsx"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EACV,gBAAgB,EAEhB,mBAAmB,EAEnB,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,aAAa,EAGb,eAAe,EACf,YAAY,EAGZ,qBAAqB,EACrB,qBAAqB,EAErB,WAAW,EAGZ,MAAM,UAAU,CAAA;AAkBjB,OAAO,EAAE,oBAAoB,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAKlF,OAAO,EAAE,oBAAoB,EAAE,CAAA;AAqB/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAe3D,OAAO,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AACvF,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,mBAAmB,EAAE,CAAA;AAE9B,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAK3D,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAMhE,MAAM,MAAM,aAAa,GAAG,CAC1B,KAAK,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC7B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,qBAAqB,EACrC,UAAU,EAAE,eAAe,EAC3B,iBAAiB,CAAC,EAAE,cAAc,GAAG,IAAI,EACzC,OAAO,CAAC,EAAE,iBAAiB,EAC3B,YAAY,CAAC,EAAE,gBAAgB,GAAG,IAAI,EAEtC,WAAW,CAAC,EAAE,MAAM,EACpB,iBAAiB,CAAC,EAAE,OAAO,EAC3B,KAAK,CAAC,EAAE,SAAS,EAEjB,eAAe,CAAC,EAAE,mBAAmB,GAAG,IAAI,EAC5C,iBAAiB,CAAC,EAAE,iBAAiB,KAClC,IAAI,GAAG,cAAc,CAAA;AA6U1B,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,WAEhF;AA2rBD,eAAO,MAAM,cAAc,EAAE,aAuuB5B,CAAA;AAoYD,MAAM,MAAM,UAAU,GAAG,CACvB,KAAK,EAAE,aAAa,EACpB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,GAAG,EACV,gBAAgB,CAAC,EAAE,OAAO,EAC1B,aAAa,CAAC,EAAE,GAAG,KAChB,IAAI,CAAA;AA63CT,KAAK,oBAAoB,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,IAAI,CAAA;AAgCnF,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,GAAG,EACV,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,oBAAoB,GAAG,IAAI,EACjC,QAAQ,SAAI,EACZ,WAAW,UAAQ,WA4OpB;AA6HD,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,aAAa,EACpB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,GAAG,EACb,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,OAAO,QAyBlB;AAID,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,qBAAqB,sBAgBtF;AAMD,cAAc,mBAAmB,CAAA"}
@@ -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;AAId,OAAO,KAAK,EAGV,UAAU,EACV,sBAAsB,EACvB,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAEnE,KAAK,EAAE,GAAG,MAAM,CAAA;AAEhB,eAAO,MAAM,iBAAiB,iCAAwB,CAAA;AAYtD,eAAO,MAAM,iBAAiB,YAK7B,CAAA;AAED,eAAO,MAAM,aAAa,OAAQ,EAAE,2BAAmB,CAAA;AAKvD,eAAO,MAAM,mBAAmB,OAAQ,EAAE,iCAA8B,CAAA;AACxE,eAAO,MAAM,sBAAsB,OAAQ,EAAE,uBAAiC,CAAA;AAE9E,eAAO,MAAM,0BAA0B;IACrC,MAAM;IACN,OAAO;CACP,CAAA;AAsBF,eAAO,MAAM,iBAAiB,yBAAuB,CAAA;AAMrD,eAAO,MAAM,aAAa,UACjB,sBAAsB,qCAEvB,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,eAC7B,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,kEAGhD,UAsIF,CAAA;AA+QD,wBAAgB,eAAe,CAC7B,UAAU,oBAAK,EACf,KAAK,EAAE,sBAAsB,EAC7B,WAAW,UAAQ,GAClB,MAAM,GAAG,IAAI,CAuBf;AAED,eAAO,MAAM,qBAAqB,cAA4B,CAAA;AAE9D,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,WAAW,UAAQ,GAClB,MAAM,GAAG,IAAI,CA0Bf;AAKD,eAAO,MAAM,qBAAqB,UAAW,sBAAsB,YACM,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;AAId,OAAO,KAAK,EAGV,UAAU,EACV,sBAAsB,EACvB,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAEnE,KAAK,EAAE,GAAG,MAAM,CAAA;AAEhB,eAAO,MAAM,iBAAiB,iCAAwB,CAAA;AAWtD,eAAO,MAAM,iBAAiB,YAK7B,CAAA;AAED,eAAO,MAAM,aAAa,OAAQ,EAAE,2BAAmB,CAAA;AAKvD,eAAO,MAAM,mBAAmB,OAAQ,EAAE,iCAA8B,CAAA;AACxE,eAAO,MAAM,sBAAsB,OAAQ,EAAE,uBAAiC,CAAA;AAE9E,eAAO,MAAM,0BAA0B;IACrC,MAAM;IACN,OAAO;CACP,CAAA;AAsBF,eAAO,MAAM,iBAAiB,yBAAuB,CAAA;AAMrD,eAAO,MAAM,aAAa,UACjB,sBAAsB,qCAEvB,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,eAC7B,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,kEAGhD,UAsIF,CAAA;AAiRD,wBAAgB,eAAe,CAC7B,UAAU,oBAAK,EACf,KAAK,EAAE,sBAAsB,EAC7B,WAAW,UAAQ,GAClB,MAAM,GAAG,IAAI,CAuBf;AAED,eAAO,MAAM,qBAAqB,cAA4B,CAAA;AAE9D,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,WAAW,UAAQ,GAClB,MAAM,GAAG,IAAI,CA0Bf;AAKD,eAAO,MAAM,qBAAqB,UAAW,sBAAsB,YACM,CAAA"}