@tamagui/web 3.0.9 → 3.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/_withNativeStyle.cjs +18 -4
- package/dist/cjs/_withNativeStyle.native.cjs +18 -4
- package/dist/cjs/_withNativeStyle.native.js +18 -4
- package/dist/cjs/_withNativeStyle.native.js.map +1 -1
- package/dist/cjs/createComponent.cjs +1 -1
- package/dist/cjs/createComponent.native.cjs +1 -1
- package/dist/cjs/createComponent.native.js +1 -1
- package/dist/cjs/createComponent.native.js.map +1 -1
- package/dist/cjs/helpers/nativeStyleEngine.cjs +77 -5
- package/dist/cjs/helpers/nativeStyleEngine.native.cjs +80 -5
- package/dist/cjs/helpers/nativeStyleEngine.native.js +80 -5
- package/dist/cjs/helpers/nativeStyleEngine.native.js.map +1 -1
- package/dist/esm/_withNativeStyle.mjs +19 -5
- package/dist/esm/_withNativeStyle.mjs.map +1 -1
- package/dist/esm/_withNativeStyle.native.js +19 -5
- package/dist/esm/_withNativeStyle.native.js.map +1 -1
- package/dist/esm/createComponent.mjs +1 -1
- package/dist/esm/createComponent.mjs.map +1 -1
- package/dist/esm/createComponent.native.js +1 -1
- package/dist/esm/createComponent.native.js.map +1 -1
- package/dist/esm/helpers/nativeStyleEngine.mjs +75 -6
- package/dist/esm/helpers/nativeStyleEngine.mjs.map +1 -1
- package/dist/esm/helpers/nativeStyleEngine.native.js +78 -6
- package/dist/esm/helpers/nativeStyleEngine.native.js.map +1 -1
- package/package.json +17 -17
- package/src/_withNativeStyle.tsx +34 -13
- package/src/createComponent.tsx +5 -4
- package/src/helpers/nativeStyleEngine.ts +116 -6
- package/src/hooks/useComponentState.ts +34 -1
- package/types/_withNativeStyle.d.ts +5 -4
- package/types/_withNativeStyle.d.ts.map +1 -1
- package/types/createComponent.d.ts.map +1 -1
- package/types/helpers/nativeStyleEngine.d.ts +5 -0
- package/types/helpers/nativeStyleEngine.d.ts.map +1 -1
- package/types/hooks/useComponentState.d.ts +14 -11
- package/types/hooks/useComponentState.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nativeStyleEngine.js","names":[],"sources":["esm/helpers/nativeStyleEngine.js"],"sourcesContent":["import { getVariableValue } from \"../createVariable\";\nconst nativeTextInputColorProps = {\n placeholderTextColor: \"placeholderTextColor\",\n selectionColor: \"selectionColor\",\n cursorColor: \"cursorColor\",\n selectionHandleColor: \"selectionHandleColor\"\n};\nconst nativeOutlineProps = [\n \"outlineStyle\",\n \"outlineWidth\",\n \"outlineColor\",\n \"outlineOffset\"\n];\nconst nativeIntrinsicSizeProps = [\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\"\n];\nfunction normalizeNativeStyle(style, reset = false) {\n let next;\n if (style.outlineStyle === \"none\") {\n next = { ...style };\n for (const key of nativeOutlineProps) {\n if (reset) {\n next[key] = null;\n } else {\n delete next[key];\n }\n }\n }\n for (const key of nativeIntrinsicSizeProps) {\n const value = style[key];\n if (value === \"max-content\" || value === \"min-content\" || value === \"fit-content\") {\n next ||= { ...style };\n if (reset) {\n next[key] = null;\n } else {\n delete next[key];\n }\n }\n }\n return next ?? style;\n}\nlet engine = null;\nconst scopeStates = /* @__PURE__ */ new Map();\nconst mappingKeys = /* @__PURE__ */ new WeakMap();\nconst compiledMappings = /* @__PURE__ */ new Map();\nconst scopeMappings = /* @__PURE__ */ new Map();\nlet nextTableId = 1;\nfunction getCompiledMapping(mapping) {\n let key = mappingKeys.get(mapping);\n if (!key) {\n key = JSON.stringify(\n Object.keys(mapping).sort().map((styleKey) => [styleKey, mapping[styleKey]])\n );\n mappingKeys.set(mapping, key);\n }\n let compiled = compiledMappings.get(key);\n if (!compiled) {\n compiled = {\n mapping,\n states: /* @__PURE__ */ new Map(),\n tableId: nextTableId++,\n sent: /* @__PURE__ */ new Map()\n };\n if (compiledMappings.size >= 1e4) {\n compiledMappings.clear();\n }\n compiledMappings.set(key, compiled);\n }\n return compiled;\n}\nfunction resolveCompiledMapping(compiled, stateName, theme) {\n const cached = compiled.states.get(stateName);\n if (cached?.theme === theme) return cached;\n let renderProps = {};\n for (const styleKey in compiled.mapping) {\n const value = theme[compiled.mapping[styleKey]];\n renderProps[styleKey] = value === void 0 ? null : getVariableValue(value);\n }\n renderProps = normalizeNativeStyle(renderProps, true);\n const nativeProps = engine?.processStyleColors(renderProps) ?? renderProps;\n if (compiled.states.size >= 1e4) {\n compiled.states.clear();\n }\n const resolved = { theme, renderProps, nativeProps };\n compiled.states.set(stateName, resolved);\n return resolved;\n}\nfunction syncTableState(compiled, stateName, theme) {\n const resolved = resolveCompiledMapping(compiled, stateName, theme);\n if (compiled.sent.get(stateName) === resolved) return;\n compiled.sent.set(stateName, resolved);\n engine.setTableState(compiled.tableId, stateName, resolved.nativeProps);\n}\nfunction setNativeStyleEngine(next) {\n if (engine !== next) {\n compiledMappings.clear();\n scopeMappings.clear();\n pendingHosts = [];\n pendingStates = [];\n }\n engine = next;\n if (next) {\n for (const [scopeId, state] of scopeStates) {\n next.setStateName(state.name, scopeId);\n }\n }\n}\nfunction getNativeStyleEngine() {\n return engine;\n}\nfunction updateNativeStyleScope(scopeId, stateName, theme) {\n const previous = scopeStates.get(scopeId);\n if (previous?.name === stateName && previous.theme === theme) return;\n flushNativeStyleLinks();\n scopeStates.set(scopeId, { name: stateName, theme });\n if (engine) {\n const linked = scopeMappings.get(scopeId);\n if (linked) {\n for (const compiled of linked) {\n syncTableState(compiled, stateName, theme);\n }\n }\n }\n engine?.setStateName(stateName, scopeId);\n}\nfunction removeNativeStyleScope(scopeId) {\n if (!scopeStates.delete(scopeId)) return;\n queueMicrotask(() => {\n if (!scopeStates.has(scopeId)) scopeMappings.delete(scopeId);\n });\n engine?.removeScope(scopeId);\n}\nfunction resolveNativeStyleMapping(mapping, stateName, theme) {\n return resolveCompiledMapping(getCompiledMapping(mapping), stateName, theme).renderProps;\n}\nfunction createNativeStyleLinkState(mapping, scopeId, stateName, theme) {\n return { mapping, scopeId, stateName, theme };\n}\nlet pendingHosts = [];\nlet pendingStates = [];\nconst maxPendingHosts = 4096;\nlet idleFlushQueued = false;\nfunction idleFlush() {\n idleFlushQueued = false;\n flushNativeStyleLinks();\n}\nfunction addScopeMapping(scopeId, compiled) {\n let linked = scopeMappings.get(scopeId);\n if (!linked) scopeMappings.set(scopeId, linked = /* @__PURE__ */ new Set());\n linked.add(compiled);\n}\nfunction flushNativeStyleLinks() {\n if (!pendingHosts.length) return;\n const hosts = pendingHosts;\n const states = pendingStates;\n pendingHosts = [];\n pendingStates = [];\n if (!engine) return;\n const tableIds = new Array(hosts.length);\n const scopeIndexes = new Array(hosts.length);\n const scopes = [];\n let last;\n let tableId = 0;\n let scopeIndex = 0;\n for (let i = 0; i < hosts.length; i++) {\n const state = states[i];\n if (state !== last) {\n last = state;\n const compiled = getCompiledMapping(state.mapping);\n syncTableState(compiled, state.stateName, state.theme);\n addScopeMapping(state.scopeId, compiled);\n tableId = compiled.tableId;\n scopeIndex = scopes.indexOf(state.scopeId);\n if (scopeIndex === -1) scopeIndex = scopes.push(state.scopeId) - 1;\n }\n tableIds[i] = tableId;\n scopeIndexes[i] = scopeIndex;\n }\n engine.linkTables(hosts, tableIds, scopeIndexes, scopes);\n}\nfunction linkNativeStyleHost(host, state) {\n if (!engine) return;\n const live = scopeStates.get(state.scopeId);\n if (live && (live.name !== state.stateName || live.theme !== state.theme)) {\n const compiled = getCompiledMapping(state.mapping);\n syncTableState(compiled, live.name, live.theme);\n addScopeMapping(state.scopeId, compiled);\n engine.link(host, compiled.tableId, state.scopeId, true);\n return;\n }\n pendingHosts.push(host);\n pendingStates.push(state);\n if (pendingHosts.length >= maxPendingHosts && !idleFlushQueued) {\n idleFlushQueued = true;\n requestIdleCallback(idleFlush);\n }\n}\nconst getNativeStyleEngineCacheStats = () => {\n const active = new Set([...scopeMappings.values()].flatMap((linked) => [...linked]));\n return {\n mappings: compiledMappings.size,\n activeMappings: active.size,\n states: [.../* @__PURE__ */ new Set([...compiledMappings.values(), ...active])].reduce(\n (total, compiled) => total + compiled.states.size,\n 0\n )\n };\n};\nlet pending = null;\nlet flushListener = null;\nfunction setNativeStyleEngineFlushListener(cb) {\n flushListener = cb;\n}\nfunction updateNativeStyleLink(ref, host) {\n if (ref.nativeLink) {\n ref.nativeLink.unlink();\n ref.nativeLink = null;\n }\n ref.nativePushedKeys = void 0;\n if (host && engine && ref.nativeStyleUpdate) {\n ref.nativeLink = engine.link(host, {});\n }\n}\nlet superseded = null;\nfunction queueNativeViewState(entry) {\n if (!engine) return;\n if (!pending) {\n pending = [];\n queueMicrotask(() => {\n let entries = pending;\n const dropped = superseded;\n pending = null;\n superseded = null;\n if (dropped) {\n entries = entries.filter(\n (queued, index) => index >= (dropped.get(queued.id) ?? 0)\n );\n }\n if (!entries.length) return;\n engine?.applyViewStates(entries);\n flushListener?.(entries);\n });\n }\n pending.push(entry);\n}\nfunction supersedeNativeViewStates(id) {\n if (!pending) return;\n (superseded ||= /* @__PURE__ */ new Map()).set(id, pending.length);\n}\nexport {\n createNativeStyleLinkState,\n flushNativeStyleLinks,\n getNativeStyleEngine,\n getNativeStyleEngineCacheStats,\n linkNativeStyleHost,\n nativeTextInputColorProps,\n normalizeNativeStyle,\n queueNativeViewState,\n removeNativeStyleScope,\n resolveNativeStyleMapping,\n setNativeStyleEngine,\n setNativeStyleEngineFlushListener,\n supersedeNativeViewStates,\n updateNativeStyleLink,\n updateNativeStyleScope\n};\n//# sourceMappingURL=nativeStyleEngine.js.map\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nativeStyleEngine.js","names":[],"sources":["esm/helpers/nativeStyleEngine.js"],"sourcesContent":["import { getVariableValue } from \"../createVariable\";\nconst nativeTextInputColorProps = {\n placeholderTextColor: \"placeholderTextColor\",\n selectionColor: \"selectionColor\",\n cursorColor: \"cursorColor\",\n selectionHandleColor: \"selectionHandleColor\"\n};\nconst nativeOutlineProps = [\n \"outlineStyle\",\n \"outlineWidth\",\n \"outlineColor\",\n \"outlineOffset\"\n];\nconst nativeIntrinsicSizeProps = [\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\"\n];\nfunction normalizeNativeStyle(style, reset = false) {\n let next;\n if (style.outlineStyle === \"none\") {\n next = { ...style };\n for (const key of nativeOutlineProps) {\n if (reset) {\n next[key] = null;\n } else {\n delete next[key];\n }\n }\n }\n for (const key of nativeIntrinsicSizeProps) {\n const value = style[key];\n if (value === \"max-content\" || value === \"min-content\" || value === \"fit-content\") {\n next ||= { ...style };\n if (reset) {\n next[key] = null;\n } else {\n delete next[key];\n }\n }\n }\n return next ?? style;\n}\nlet engine = null;\nconst scopeStates = /* @__PURE__ */ new Map();\nconst mappingKeys = /* @__PURE__ */ new WeakMap();\nconst compiledMappings = /* @__PURE__ */ new Map();\nconst scopeMappings = /* @__PURE__ */ new Map();\nlet nextTableId = 1;\nfunction getCompiledMapping(mapping) {\n let key = mappingKeys.get(mapping);\n if (!key) {\n key = JSON.stringify(\n Object.keys(mapping).sort().map((styleKey) => [styleKey, mapping[styleKey]])\n );\n mappingKeys.set(mapping, key);\n }\n let compiled = compiledMappings.get(key);\n if (!compiled) {\n compiled = {\n mapping,\n states: /* @__PURE__ */ new Map(),\n tableId: nextTableId++,\n sent: /* @__PURE__ */ new Map()\n };\n if (compiledMappings.size >= 1e4) {\n compiledMappings.clear();\n }\n compiledMappings.set(key, compiled);\n }\n return compiled;\n}\nfunction resolveCompiledMapping(compiled, stateName, theme) {\n const cached = compiled.states.get(stateName);\n if (cached?.theme === theme) return cached;\n let renderProps = {};\n for (const styleKey in compiled.mapping) {\n const value = theme[compiled.mapping[styleKey]];\n renderProps[styleKey] = value === void 0 ? null : getVariableValue(value);\n }\n renderProps = normalizeNativeStyle(renderProps, true);\n const nativeProps = engine?.processStyleColors(renderProps) ?? renderProps;\n if (compiled.states.size >= 1e4) {\n compiled.states.clear();\n }\n const resolved = { theme, renderProps, nativeProps };\n compiled.states.set(stateName, resolved);\n return resolved;\n}\nfunction syncTableState(compiled, stateName, theme) {\n const resolved = resolveCompiledMapping(compiled, stateName, theme);\n if (compiled.sent.get(stateName) === resolved) return;\n compiled.sent.set(stateName, resolved);\n engine.setTableState(compiled.tableId, stateName, resolved.nativeProps);\n}\nfunction setNativeStyleEngine(next) {\n if (engine !== next) {\n compiledMappings.clear();\n scopeMappings.clear();\n pendingHosts = [];\n pendingStates = [];\n resetNativeStyleDiscovery();\n }\n engine = next;\n if (next) {\n for (const [scopeId, state] of scopeStates) {\n next.setStateName(state.name, scopeId);\n }\n }\n}\nfunction getNativeStyleEngine() {\n return engine;\n}\nfunction updateNativeStyleScope(scopeId, stateName, theme) {\n const previous = scopeStates.get(scopeId);\n if (previous?.name === stateName && previous.theme === theme) return;\n flushNativeStyleLinks();\n scopeStates.set(scopeId, { name: stateName, theme });\n if (engine) {\n const linked = scopeMappings.get(scopeId);\n if (linked) {\n for (const compiled of linked) {\n syncTableState(compiled, stateName, theme);\n }\n }\n }\n engine?.setStateName(stateName, scopeId);\n}\nfunction removeNativeStyleScope(scopeId) {\n if (!scopeStates.delete(scopeId)) return;\n queueMicrotask(() => {\n if (!scopeStates.has(scopeId)) scopeMappings.delete(scopeId);\n });\n engine?.removeScope(scopeId);\n}\nfunction resolveNativeStyleMapping(mapping, stateName, theme) {\n return resolveCompiledMapping(getCompiledMapping(mapping), stateName, theme).renderProps;\n}\nfunction createNativeStyleLinkState(mapping, scopeId, stateName, theme) {\n return { mapping, scopeId, stateName, theme };\n}\nlet pendingHosts = [];\nlet pendingStates = [];\nconst maxPendingHosts = 4096;\nlet idleFlushQueued = false;\nconst stylesToState = /* @__PURE__ */ new WeakMap();\nlet linkedHostState = /* @__PURE__ */ new WeakMap();\nfunction hostKey(host) {\n const record = host;\n const instance = record.__internalInstanceHandle?.stateNode ?? record.stateNode;\n return instance?.canonical ?? host;\n}\nlet fiberRoot = null;\nlet needsDiscover = false;\nfunction resetNativeStyleDiscovery() {\n fiberRoot = null;\n needsDiscover = false;\n linkedHostState = /* @__PURE__ */ new WeakMap();\n}\nfunction registerNativeStyle(style, state) {\n stylesToState.set(style, state);\n}\nfunction nativeStyleMountMode() {\n const current = fiberRoot?.current;\n if (current && current.stateNode === fiberRoot) {\n if (!needsDiscover) {\n needsDiscover = true;\n queueIdleFlush();\n }\n return \"discover\";\n }\n return \"ref\";\n}\nfunction captureNativeStyleRoot(node) {\n const fiber = node?.__internalInstanceHandle;\n if (!fiber) return;\n let top = fiber;\n for (let guard = 0; top.return && guard < 1e5; guard++) top = top.return;\n const root = top.stateNode;\n if (root && root.current === top) fiberRoot = root;\n}\nfunction discoverMountedHosts() {\n const root = fiberRoot?.current;\n if (!root || root.stateNode !== fiberRoot) return 0;\n const stack = [root];\n let found = 0;\n for (let guard = 0; stack.length && guard < 1e5; guard++) {\n const fiber = stack.pop();\n if (fiber.sibling) stack.push(fiber.sibling);\n if (fiber.child) stack.push(fiber.child);\n const style = fiber.memoizedProps?.style;\n if (!style) continue;\n const state = stylesToState.get(style);\n if (!state || !fiber.stateNode?.node) continue;\n found++;\n linkNativeStyleHost(fiber, state);\n }\n return found;\n}\nfunction idleFlush() {\n idleFlushQueued = false;\n flushNativeStyleLinks();\n}\nfunction queueIdleFlush() {\n if (idleFlushQueued) return;\n idleFlushQueued = true;\n requestIdleCallback(idleFlush);\n}\nfunction addScopeMapping(scopeId, compiled) {\n let linked = scopeMappings.get(scopeId);\n if (!linked) scopeMappings.set(scopeId, linked = /* @__PURE__ */ new Set());\n linked.add(compiled);\n}\nfunction flushNativeStyleLinks() {\n if (needsDiscover) {\n needsDiscover = false;\n const current = fiberRoot?.current;\n if (!current || current.stateNode !== fiberRoot) fiberRoot = null;\n else discoverMountedHosts();\n }\n if (!pendingHosts.length) return;\n const hosts = pendingHosts;\n const states = pendingStates;\n pendingHosts = [];\n pendingStates = [];\n if (!engine) return;\n const tableIds = new Array(hosts.length);\n const scopeIndexes = new Array(hosts.length);\n const scopes = [];\n let last;\n let tableId = 0;\n let scopeIndex = 0;\n for (let i = 0; i < hosts.length; i++) {\n const state = states[i];\n if (state !== last) {\n last = state;\n const compiled = getCompiledMapping(state.mapping);\n syncTableState(compiled, state.stateName, state.theme);\n addScopeMapping(state.scopeId, compiled);\n tableId = compiled.tableId;\n scopeIndex = scopes.indexOf(state.scopeId);\n if (scopeIndex === -1) scopeIndex = scopes.push(state.scopeId) - 1;\n }\n tableIds[i] = tableId;\n scopeIndexes[i] = scopeIndex;\n }\n engine.linkTables(hosts, tableIds, scopeIndexes, scopes);\n}\nfunction linkNativeStyleHost(host, state) {\n if (!engine || host == null) return;\n const key = hostKey(host);\n const linked = linkedHostState.get(key);\n if (linked && linked.mapping === state.mapping && linked.scopeId === state.scopeId) {\n return;\n }\n linkedHostState.set(key, state);\n const live = scopeStates.get(state.scopeId);\n if (live && (live.name !== state.stateName || live.theme !== state.theme)) {\n const compiled = getCompiledMapping(state.mapping);\n syncTableState(compiled, live.name, live.theme);\n addScopeMapping(state.scopeId, compiled);\n engine.link(host, compiled.tableId, state.scopeId, true);\n return;\n }\n pendingHosts.push(host);\n pendingStates.push(state);\n if (pendingHosts.length >= maxPendingHosts) queueIdleFlush();\n}\nconst getNativeStyleEngineCacheStats = () => {\n const active = new Set([...scopeMappings.values()].flatMap((linked) => [...linked]));\n return {\n mappings: compiledMappings.size,\n activeMappings: active.size,\n states: [.../* @__PURE__ */ new Set([...compiledMappings.values(), ...active])].reduce(\n (total, compiled) => total + compiled.states.size,\n 0\n )\n };\n};\nlet pending = null;\nlet flushListener = null;\nfunction setNativeStyleEngineFlushListener(cb) {\n flushListener = cb;\n}\nfunction updateNativeStyleLink(ref, host) {\n if (ref.nativeLink) {\n ref.nativeLink.unlink();\n ref.nativeLink = null;\n }\n ref.nativePushedKeys = void 0;\n if (host && engine && ref.nativeStyleUpdate) {\n ref.nativeLink = engine.link(host, {});\n }\n}\nlet superseded = null;\nfunction queueNativeViewState(entry) {\n if (!engine) return;\n if (!pending) {\n pending = [];\n queueMicrotask(() => {\n let entries = pending;\n const dropped = superseded;\n pending = null;\n superseded = null;\n if (dropped) {\n entries = entries.filter(\n (queued, index) => index >= (dropped.get(queued.id) ?? 0)\n );\n }\n if (!entries.length) return;\n engine?.applyViewStates(entries);\n flushListener?.(entries);\n });\n }\n pending.push(entry);\n}\nfunction supersedeNativeViewStates(id) {\n if (!pending) return;\n (superseded ||= /* @__PURE__ */ new Map()).set(id, pending.length);\n}\nexport {\n captureNativeStyleRoot,\n createNativeStyleLinkState,\n flushNativeStyleLinks,\n getNativeStyleEngine,\n getNativeStyleEngineCacheStats,\n linkNativeStyleHost,\n nativeStyleMountMode,\n nativeTextInputColorProps,\n normalizeNativeStyle,\n queueNativeViewState,\n registerNativeStyle,\n removeNativeStyleScope,\n resolveNativeStyleMapping,\n setNativeStyleEngine,\n setNativeStyleEngineFlushListener,\n supersedeNativeViewStates,\n updateNativeStyleLink,\n updateNativeStyleScope\n};\n//# sourceMappingURL=nativeStyleEngine.js.map\n"],"mappings":"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"}
|
|
@@ -143,6 +143,7 @@ function setNativeStyleEngine(next) {
|
|
|
143
143
|
scopeMappings.clear();
|
|
144
144
|
pendingHosts = [];
|
|
145
145
|
pendingStates = [];
|
|
146
|
+
resetNativeStyleDiscovery();
|
|
146
147
|
}
|
|
147
148
|
engine = next;
|
|
148
149
|
if (next) {
|
|
@@ -228,16 +229,84 @@ var pendingHosts = [];
|
|
|
228
229
|
var pendingStates = [];
|
|
229
230
|
var maxPendingHosts = 4096;
|
|
230
231
|
var idleFlushQueued = false;
|
|
232
|
+
var stylesToState = /* @__PURE__ */ new WeakMap();
|
|
233
|
+
var linkedHostState = /* @__PURE__ */ new WeakMap();
|
|
234
|
+
function hostKey(host) {
|
|
235
|
+
var _ref, _ref1;
|
|
236
|
+
var _record___internalInstanceHandle;
|
|
237
|
+
var record = host;
|
|
238
|
+
var instance = (_ref = (_record___internalInstanceHandle = record.__internalInstanceHandle) === null || _record___internalInstanceHandle === void 0 ? void 0 : _record___internalInstanceHandle.stateNode) !== null && _ref !== void 0 ? _ref : record.stateNode;
|
|
239
|
+
return (_ref1 = instance === null || instance === void 0 ? void 0 : instance.canonical) !== null && _ref1 !== void 0 ? _ref1 : host;
|
|
240
|
+
}
|
|
241
|
+
var fiberRoot = null;
|
|
242
|
+
var needsDiscover = false;
|
|
243
|
+
function resetNativeStyleDiscovery() {
|
|
244
|
+
fiberRoot = null;
|
|
245
|
+
needsDiscover = false;
|
|
246
|
+
linkedHostState = /* @__PURE__ */ new WeakMap();
|
|
247
|
+
}
|
|
248
|
+
function registerNativeStyle(style, state) {
|
|
249
|
+
stylesToState.set(style, state);
|
|
250
|
+
}
|
|
251
|
+
function nativeStyleMountMode() {
|
|
252
|
+
var current = fiberRoot === null || fiberRoot === void 0 ? void 0 : fiberRoot.current;
|
|
253
|
+
if (current && current.stateNode === fiberRoot) {
|
|
254
|
+
if (!needsDiscover) {
|
|
255
|
+
needsDiscover = true;
|
|
256
|
+
queueIdleFlush();
|
|
257
|
+
}
|
|
258
|
+
return "discover";
|
|
259
|
+
}
|
|
260
|
+
return "ref";
|
|
261
|
+
}
|
|
262
|
+
function captureNativeStyleRoot(node) {
|
|
263
|
+
var fiber = node === null || node === void 0 ? void 0 : node.__internalInstanceHandle;
|
|
264
|
+
if (!fiber) return;
|
|
265
|
+
var top = fiber;
|
|
266
|
+
for (var guard = 0; top.return && guard < 1e5; guard++) top = top.return;
|
|
267
|
+
var root = top.stateNode;
|
|
268
|
+
if (root && root.current === top) fiberRoot = root;
|
|
269
|
+
}
|
|
270
|
+
function discoverMountedHosts() {
|
|
271
|
+
var root = fiberRoot === null || fiberRoot === void 0 ? void 0 : fiberRoot.current;
|
|
272
|
+
if (!root || root.stateNode !== fiberRoot) return 0;
|
|
273
|
+
var stack = [root];
|
|
274
|
+
var found = 0;
|
|
275
|
+
for (var guard = 0; stack.length && guard < 1e5; guard++) {
|
|
276
|
+
var _fiber_memoizedProps, _fiber_stateNode;
|
|
277
|
+
var fiber = stack.pop();
|
|
278
|
+
if (fiber.sibling) stack.push(fiber.sibling);
|
|
279
|
+
if (fiber.child) stack.push(fiber.child);
|
|
280
|
+
var style = (_fiber_memoizedProps = fiber.memoizedProps) === null || _fiber_memoizedProps === void 0 ? void 0 : _fiber_memoizedProps.style;
|
|
281
|
+
if (!style) continue;
|
|
282
|
+
var state = stylesToState.get(style);
|
|
283
|
+
if (!state || !((_fiber_stateNode = fiber.stateNode) === null || _fiber_stateNode === void 0 ? void 0 : _fiber_stateNode.node)) continue;
|
|
284
|
+
found++;
|
|
285
|
+
linkNativeStyleHost(fiber, state);
|
|
286
|
+
}
|
|
287
|
+
return found;
|
|
288
|
+
}
|
|
231
289
|
function idleFlush() {
|
|
232
290
|
idleFlushQueued = false;
|
|
233
291
|
flushNativeStyleLinks();
|
|
234
292
|
}
|
|
293
|
+
function queueIdleFlush() {
|
|
294
|
+
if (idleFlushQueued) return;
|
|
295
|
+
idleFlushQueued = true;
|
|
296
|
+
requestIdleCallback(idleFlush);
|
|
297
|
+
}
|
|
235
298
|
function addScopeMapping(scopeId, compiled) {
|
|
236
299
|
var linked = scopeMappings.get(scopeId);
|
|
237
300
|
if (!linked) scopeMappings.set(scopeId, linked = /* @__PURE__ */ new Set());
|
|
238
301
|
linked.add(compiled);
|
|
239
302
|
}
|
|
240
303
|
function flushNativeStyleLinks() {
|
|
304
|
+
if (needsDiscover) {
|
|
305
|
+
needsDiscover = false;
|
|
306
|
+
var current = fiberRoot === null || fiberRoot === void 0 ? void 0 : fiberRoot.current;
|
|
307
|
+
if (!current || current.stateNode !== fiberRoot) fiberRoot = null;
|
|
308
|
+
else discoverMountedHosts();
|
|
309
|
+
}
|
|
241
310
|
if (!pendingHosts.length) return;
|
|
242
311
|
var hosts = pendingHosts;
|
|
243
312
|
var states = pendingStates;
|
|
@@ -267,7 +336,13 @@ function flushNativeStyleLinks() {
|
|
|
267
336
|
engine.linkTables(hosts, tableIds, scopeIndexes, scopes);
|
|
268
337
|
}
|
|
269
338
|
function linkNativeStyleHost(host, state) {
|
|
270
|
-
if (!engine) return;
|
|
339
|
+
if (!engine || host == null) return;
|
|
340
|
+
var key = hostKey(host);
|
|
341
|
+
var linked = linkedHostState.get(key);
|
|
342
|
+
if (linked && linked.mapping === state.mapping && linked.scopeId === state.scopeId) {
|
|
343
|
+
return;
|
|
344
|
+
}
|
|
345
|
+
linkedHostState.set(key, state);
|
|
271
346
|
var live = scopeStates.get(state.scopeId);
|
|
272
347
|
if (live && (live.name !== state.stateName || live.theme !== state.theme)) {
|
|
273
348
|
var compiled = getCompiledMapping(state.mapping);
|
|
@@ -278,10 +353,7 @@ function linkNativeStyleHost(host, state) {
|
|
|
278
353
|
}
|
|
279
354
|
pendingHosts.push(host);
|
|
280
355
|
pendingStates.push(state);
|
|
281
|
-
if (pendingHosts.length >= maxPendingHosts
|
|
282
|
-
idleFlushQueued = true;
|
|
283
|
-
requestIdleCallback(idleFlush);
|
|
284
|
-
}
|
|
356
|
+
if (pendingHosts.length >= maxPendingHosts) queueIdleFlush();
|
|
285
357
|
}
|
|
286
358
|
var getNativeStyleEngineCacheStats = function getNativeStyleEngineCacheStats2() {
|
|
287
359
|
var active = new Set([...scopeMappings.values()].flatMap(function(linked) {
|
|
@@ -338,5 +410,5 @@ function supersedeNativeViewStates(id) {
|
|
|
338
410
|
(superseded || (superseded = /* @__PURE__ */ new Map())).set(id, pending.length);
|
|
339
411
|
}
|
|
340
412
|
|
|
341
|
-
export { createNativeStyleLinkState, flushNativeStyleLinks, getNativeStyleEngine, getNativeStyleEngineCacheStats, linkNativeStyleHost, nativeTextInputColorProps, normalizeNativeStyle, queueNativeViewState, removeNativeStyleScope, resolveNativeStyleMapping, setNativeStyleEngine, setNativeStyleEngineFlushListener, supersedeNativeViewStates, updateNativeStyleLink, updateNativeStyleScope };
|
|
413
|
+
export { captureNativeStyleRoot, createNativeStyleLinkState, flushNativeStyleLinks, getNativeStyleEngine, getNativeStyleEngineCacheStats, linkNativeStyleHost, nativeStyleMountMode, nativeTextInputColorProps, normalizeNativeStyle, queueNativeViewState, registerNativeStyle, removeNativeStyleScope, resolveNativeStyleMapping, setNativeStyleEngine, setNativeStyleEngineFlushListener, supersedeNativeViewStates, updateNativeStyleLink, updateNativeStyleScope };
|
|
342
414
|
//# sourceMappingURL=nativeStyleEngine.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nativeStyleEngine.native.js","names":[],"sources":["esm/helpers/nativeStyleEngine.native.js"],"sourcesContent":["import { getVariableValue } from \"../createVariable\";\nvar nativeTextInputColorProps = {\n placeholderTextColor: \"placeholderTextColor\",\n selectionColor: \"selectionColor\",\n cursorColor: \"cursorColor\",\n selectionHandleColor: \"selectionHandleColor\"\n};\nvar nativeOutlineProps = [\n \"outlineStyle\",\n \"outlineWidth\",\n \"outlineColor\",\n \"outlineOffset\"\n];\nvar nativeIntrinsicSizeProps = [\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\"\n];\nfunction normalizeNativeStyle(style) {\n var reset = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;\n var next;\n if (style.outlineStyle === \"none\") {\n next = {\n ...style\n };\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = nativeOutlineProps[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n if (reset) {\n next[key] = null;\n } else {\n delete next[key];\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = nativeIntrinsicSizeProps[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var key1 = _step1.value;\n var value = style[key1];\n if (value === \"max-content\" || value === \"min-content\" || value === \"fit-content\") {\n next || (next = {\n ...style\n });\n if (reset) {\n next[key1] = null;\n } else {\n delete next[key1];\n }\n }\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n return next !== null && next !== void 0 ? next : style;\n}\nvar engine = null;\nvar scopeStates = /* @__PURE__ */ new Map();\nvar mappingKeys = /* @__PURE__ */ new WeakMap();\nvar compiledMappings = /* @__PURE__ */ new Map();\nvar scopeMappings = /* @__PURE__ */ new Map();\nvar nextTableId = 1;\nfunction getCompiledMapping(mapping) {\n var key = mappingKeys.get(mapping);\n if (!key) {\n key = JSON.stringify(Object.keys(mapping).sort().map(function(styleKey) {\n return [\n styleKey,\n mapping[styleKey]\n ];\n }));\n mappingKeys.set(mapping, key);\n }\n var compiled = compiledMappings.get(key);\n if (!compiled) {\n compiled = {\n mapping,\n states: /* @__PURE__ */ new Map(),\n tableId: nextTableId++,\n sent: /* @__PURE__ */ new Map()\n };\n if (compiledMappings.size >= 1e4) {\n compiledMappings.clear();\n }\n compiledMappings.set(key, compiled);\n }\n return compiled;\n}\nfunction resolveCompiledMapping(compiled, stateName, theme) {\n var _ref;\n var cached = compiled.states.get(stateName);\n if ((cached === null || cached === void 0 ? void 0 : cached.theme) === theme) return cached;\n var renderProps = {};\n for (var styleKey in compiled.mapping) {\n var value = theme[compiled.mapping[styleKey]];\n renderProps[styleKey] = value === void 0 ? null : getVariableValue(value);\n }\n renderProps = normalizeNativeStyle(renderProps, true);\n var nativeProps = (_ref = engine === null || engine === void 0 ? void 0 : engine.processStyleColors(renderProps)) !== null && _ref !== void 0 ? _ref : renderProps;\n if (compiled.states.size >= 1e4) {\n compiled.states.clear();\n }\n var resolved = {\n theme,\n renderProps,\n nativeProps\n };\n compiled.states.set(stateName, resolved);\n return resolved;\n}\nfunction syncTableState(compiled, stateName, theme) {\n var resolved = resolveCompiledMapping(compiled, stateName, theme);\n if (compiled.sent.get(stateName) === resolved) return;\n compiled.sent.set(stateName, resolved);\n engine.setTableState(compiled.tableId, stateName, resolved.nativeProps);\n}\nfunction setNativeStyleEngine(next) {\n if (engine !== next) {\n compiledMappings.clear();\n scopeMappings.clear();\n pendingHosts = [];\n pendingStates = [];\n }\n engine = next;\n if (next) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = scopeStates[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var [scopeId, state] = _step.value;\n next.setStateName(state.name, scopeId);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n}\nfunction getNativeStyleEngine() {\n return engine;\n}\nfunction updateNativeStyleScope(scopeId, stateName, theme) {\n var previous = scopeStates.get(scopeId);\n if ((previous === null || previous === void 0 ? void 0 : previous.name) === stateName && previous.theme === theme) return;\n flushNativeStyleLinks();\n scopeStates.set(scopeId, {\n name: stateName,\n theme\n });\n if (engine) {\n var linked = scopeMappings.get(scopeId);\n if (linked) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = linked[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var compiled = _step.value;\n syncTableState(compiled, stateName, theme);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n }\n engine === null || engine === void 0 ? void 0 : engine.setStateName(stateName, scopeId);\n}\nfunction removeNativeStyleScope(scopeId) {\n if (!scopeStates.delete(scopeId)) return;\n queueMicrotask(function() {\n if (!scopeStates.has(scopeId)) scopeMappings.delete(scopeId);\n });\n engine === null || engine === void 0 ? void 0 : engine.removeScope(scopeId);\n}\nfunction resolveNativeStyleMapping(mapping, stateName, theme) {\n return resolveCompiledMapping(getCompiledMapping(mapping), stateName, theme).renderProps;\n}\nfunction createNativeStyleLinkState(mapping, scopeId, stateName, theme) {\n return {\n mapping,\n scopeId,\n stateName,\n theme\n };\n}\nvar pendingHosts = [];\nvar pendingStates = [];\nvar maxPendingHosts = 4096;\nvar idleFlushQueued = false;\nfunction idleFlush() {\n idleFlushQueued = false;\n flushNativeStyleLinks();\n}\nfunction addScopeMapping(scopeId, compiled) {\n var linked = scopeMappings.get(scopeId);\n if (!linked) scopeMappings.set(scopeId, linked = /* @__PURE__ */ new Set());\n linked.add(compiled);\n}\nfunction flushNativeStyleLinks() {\n if (!pendingHosts.length) return;\n var hosts = pendingHosts;\n var states = pendingStates;\n pendingHosts = [];\n pendingStates = [];\n if (!engine) return;\n var tableIds = new Array(hosts.length);\n var scopeIndexes = new Array(hosts.length);\n var scopes = [];\n var last;\n var tableId = 0;\n var scopeIndex = 0;\n for (var i = 0; i < hosts.length; i++) {\n var state = states[i];\n if (state !== last) {\n last = state;\n var compiled = getCompiledMapping(state.mapping);\n syncTableState(compiled, state.stateName, state.theme);\n addScopeMapping(state.scopeId, compiled);\n tableId = compiled.tableId;\n scopeIndex = scopes.indexOf(state.scopeId);\n if (scopeIndex === -1) scopeIndex = scopes.push(state.scopeId) - 1;\n }\n tableIds[i] = tableId;\n scopeIndexes[i] = scopeIndex;\n }\n engine.linkTables(hosts, tableIds, scopeIndexes, scopes);\n}\nfunction linkNativeStyleHost(host, state) {\n if (!engine) return;\n var live = scopeStates.get(state.scopeId);\n if (live && (live.name !== state.stateName || live.theme !== state.theme)) {\n var compiled = getCompiledMapping(state.mapping);\n syncTableState(compiled, live.name, live.theme);\n addScopeMapping(state.scopeId, compiled);\n engine.link(host, compiled.tableId, state.scopeId, true);\n return;\n }\n pendingHosts.push(host);\n pendingStates.push(state);\n if (pendingHosts.length >= maxPendingHosts && !idleFlushQueued) {\n idleFlushQueued = true;\n requestIdleCallback(idleFlush);\n }\n}\nvar getNativeStyleEngineCacheStats = function getNativeStyleEngineCacheStats2() {\n var active = new Set([\n ...scopeMappings.values()\n ].flatMap(function(linked) {\n return [\n ...linked\n ];\n }));\n return {\n mappings: compiledMappings.size,\n activeMappings: active.size,\n states: [\n .../* @__PURE__ */ new Set([\n ...compiledMappings.values(),\n ...active\n ])\n ].reduce(function(total, compiled) {\n return total + compiled.states.size;\n }, 0)\n };\n};\nvar pending = null;\nvar flushListener = null;\nfunction setNativeStyleEngineFlushListener(cb) {\n flushListener = cb;\n}\nfunction updateNativeStyleLink(ref, host) {\n if (ref.nativeLink) {\n ref.nativeLink.unlink();\n ref.nativeLink = null;\n }\n ref.nativePushedKeys = void 0;\n if (host && engine && ref.nativeStyleUpdate) {\n ref.nativeLink = engine.link(host, {});\n }\n}\nvar superseded = null;\nfunction queueNativeViewState(entry) {\n if (!engine) return;\n if (!pending) {\n pending = [];\n queueMicrotask(function() {\n var entries = pending;\n var dropped = superseded;\n pending = null;\n superseded = null;\n if (dropped) {\n entries = entries.filter(function(queued, index) {\n var _dropped_get;\n return index >= ((_dropped_get = dropped.get(queued.id)) !== null && _dropped_get !== void 0 ? _dropped_get : 0);\n });\n }\n if (!entries.length) return;\n engine === null || engine === void 0 ? void 0 : engine.applyViewStates(entries);\n flushListener === null || flushListener === void 0 ? void 0 : flushListener(entries);\n });\n }\n pending.push(entry);\n}\nfunction supersedeNativeViewStates(id) {\n if (!pending) return;\n (superseded || (superseded = /* @__PURE__ */ new Map())).set(id, pending.length);\n}\nexport {\n createNativeStyleLinkState,\n flushNativeStyleLinks,\n getNativeStyleEngine,\n getNativeStyleEngineCacheStats,\n linkNativeStyleHost,\n nativeTextInputColorProps,\n normalizeNativeStyle,\n queueNativeViewState,\n removeNativeStyleScope,\n resolveNativeStyleMapping,\n setNativeStyleEngine,\n setNativeStyleEngineFlushListener,\n supersedeNativeViewStates,\n updateNativeStyleLink,\n updateNativeStyleScope\n};\n//# sourceMappingURL=nativeStyleEngine.js.map\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nativeStyleEngine.native.js","names":[],"sources":["esm/helpers/nativeStyleEngine.native.js"],"sourcesContent":["import { getVariableValue } from \"../createVariable\";\nvar nativeTextInputColorProps = {\n placeholderTextColor: \"placeholderTextColor\",\n selectionColor: \"selectionColor\",\n cursorColor: \"cursorColor\",\n selectionHandleColor: \"selectionHandleColor\"\n};\nvar nativeOutlineProps = [\n \"outlineStyle\",\n \"outlineWidth\",\n \"outlineColor\",\n \"outlineOffset\"\n];\nvar nativeIntrinsicSizeProps = [\n \"width\",\n \"height\",\n \"minWidth\",\n \"minHeight\",\n \"maxWidth\",\n \"maxHeight\"\n];\nfunction normalizeNativeStyle(style) {\n var reset = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;\n var next;\n if (style.outlineStyle === \"none\") {\n next = {\n ...style\n };\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = nativeOutlineProps[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n if (reset) {\n next[key] = null;\n } else {\n delete next[key];\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = nativeIntrinsicSizeProps[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var key1 = _step1.value;\n var value = style[key1];\n if (value === \"max-content\" || value === \"min-content\" || value === \"fit-content\") {\n next || (next = {\n ...style\n });\n if (reset) {\n next[key1] = null;\n } else {\n delete next[key1];\n }\n }\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n return next !== null && next !== void 0 ? next : style;\n}\nvar engine = null;\nvar scopeStates = /* @__PURE__ */ new Map();\nvar mappingKeys = /* @__PURE__ */ new WeakMap();\nvar compiledMappings = /* @__PURE__ */ new Map();\nvar scopeMappings = /* @__PURE__ */ new Map();\nvar nextTableId = 1;\nfunction getCompiledMapping(mapping) {\n var key = mappingKeys.get(mapping);\n if (!key) {\n key = JSON.stringify(Object.keys(mapping).sort().map(function(styleKey) {\n return [\n styleKey,\n mapping[styleKey]\n ];\n }));\n mappingKeys.set(mapping, key);\n }\n var compiled = compiledMappings.get(key);\n if (!compiled) {\n compiled = {\n mapping,\n states: /* @__PURE__ */ new Map(),\n tableId: nextTableId++,\n sent: /* @__PURE__ */ new Map()\n };\n if (compiledMappings.size >= 1e4) {\n compiledMappings.clear();\n }\n compiledMappings.set(key, compiled);\n }\n return compiled;\n}\nfunction resolveCompiledMapping(compiled, stateName, theme) {\n var _ref;\n var cached = compiled.states.get(stateName);\n if ((cached === null || cached === void 0 ? void 0 : cached.theme) === theme) return cached;\n var renderProps = {};\n for (var styleKey in compiled.mapping) {\n var value = theme[compiled.mapping[styleKey]];\n renderProps[styleKey] = value === void 0 ? null : getVariableValue(value);\n }\n renderProps = normalizeNativeStyle(renderProps, true);\n var nativeProps = (_ref = engine === null || engine === void 0 ? void 0 : engine.processStyleColors(renderProps)) !== null && _ref !== void 0 ? _ref : renderProps;\n if (compiled.states.size >= 1e4) {\n compiled.states.clear();\n }\n var resolved = {\n theme,\n renderProps,\n nativeProps\n };\n compiled.states.set(stateName, resolved);\n return resolved;\n}\nfunction syncTableState(compiled, stateName, theme) {\n var resolved = resolveCompiledMapping(compiled, stateName, theme);\n if (compiled.sent.get(stateName) === resolved) return;\n compiled.sent.set(stateName, resolved);\n engine.setTableState(compiled.tableId, stateName, resolved.nativeProps);\n}\nfunction setNativeStyleEngine(next) {\n if (engine !== next) {\n compiledMappings.clear();\n scopeMappings.clear();\n pendingHosts = [];\n pendingStates = [];\n resetNativeStyleDiscovery();\n }\n engine = next;\n if (next) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = scopeStates[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var [scopeId, state] = _step.value;\n next.setStateName(state.name, scopeId);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n}\nfunction getNativeStyleEngine() {\n return engine;\n}\nfunction updateNativeStyleScope(scopeId, stateName, theme) {\n var previous = scopeStates.get(scopeId);\n if ((previous === null || previous === void 0 ? void 0 : previous.name) === stateName && previous.theme === theme) return;\n flushNativeStyleLinks();\n scopeStates.set(scopeId, {\n name: stateName,\n theme\n });\n if (engine) {\n var linked = scopeMappings.get(scopeId);\n if (linked) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = linked[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var compiled = _step.value;\n syncTableState(compiled, stateName, theme);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n }\n engine === null || engine === void 0 ? void 0 : engine.setStateName(stateName, scopeId);\n}\nfunction removeNativeStyleScope(scopeId) {\n if (!scopeStates.delete(scopeId)) return;\n queueMicrotask(function() {\n if (!scopeStates.has(scopeId)) scopeMappings.delete(scopeId);\n });\n engine === null || engine === void 0 ? void 0 : engine.removeScope(scopeId);\n}\nfunction resolveNativeStyleMapping(mapping, stateName, theme) {\n return resolveCompiledMapping(getCompiledMapping(mapping), stateName, theme).renderProps;\n}\nfunction createNativeStyleLinkState(mapping, scopeId, stateName, theme) {\n return {\n mapping,\n scopeId,\n stateName,\n theme\n };\n}\nvar pendingHosts = [];\nvar pendingStates = [];\nvar maxPendingHosts = 4096;\nvar idleFlushQueued = false;\nvar stylesToState = /* @__PURE__ */ new WeakMap();\nvar linkedHostState = /* @__PURE__ */ new WeakMap();\nfunction hostKey(host) {\n var _ref, _ref1;\n var _record___internalInstanceHandle;\n var record = host;\n var instance = (_ref = (_record___internalInstanceHandle = record.__internalInstanceHandle) === null || _record___internalInstanceHandle === void 0 ? void 0 : _record___internalInstanceHandle.stateNode) !== null && _ref !== void 0 ? _ref : record.stateNode;\n return (_ref1 = instance === null || instance === void 0 ? void 0 : instance.canonical) !== null && _ref1 !== void 0 ? _ref1 : host;\n}\nvar fiberRoot = null;\nvar needsDiscover = false;\nfunction resetNativeStyleDiscovery() {\n fiberRoot = null;\n needsDiscover = false;\n linkedHostState = /* @__PURE__ */ new WeakMap();\n}\nfunction registerNativeStyle(style, state) {\n stylesToState.set(style, state);\n}\nfunction nativeStyleMountMode() {\n var current = fiberRoot === null || fiberRoot === void 0 ? void 0 : fiberRoot.current;\n if (current && current.stateNode === fiberRoot) {\n if (!needsDiscover) {\n needsDiscover = true;\n queueIdleFlush();\n }\n return \"discover\";\n }\n return \"ref\";\n}\nfunction captureNativeStyleRoot(node) {\n var fiber = node === null || node === void 0 ? void 0 : node.__internalInstanceHandle;\n if (!fiber) return;\n var top = fiber;\n for (var guard = 0; top.return && guard < 1e5; guard++) top = top.return;\n var root = top.stateNode;\n if (root && root.current === top) fiberRoot = root;\n}\nfunction discoverMountedHosts() {\n var root = fiberRoot === null || fiberRoot === void 0 ? void 0 : fiberRoot.current;\n if (!root || root.stateNode !== fiberRoot) return 0;\n var stack = [\n root\n ];\n var found = 0;\n for (var guard = 0; stack.length && guard < 1e5; guard++) {\n var _fiber_memoizedProps, _fiber_stateNode;\n var fiber = stack.pop();\n if (fiber.sibling) stack.push(fiber.sibling);\n if (fiber.child) stack.push(fiber.child);\n var style = (_fiber_memoizedProps = fiber.memoizedProps) === null || _fiber_memoizedProps === void 0 ? void 0 : _fiber_memoizedProps.style;\n if (!style) continue;\n var state = stylesToState.get(style);\n if (!state || !((_fiber_stateNode = fiber.stateNode) === null || _fiber_stateNode === void 0 ? void 0 : _fiber_stateNode.node)) continue;\n found++;\n linkNativeStyleHost(fiber, state);\n }\n return found;\n}\nfunction idleFlush() {\n idleFlushQueued = false;\n flushNativeStyleLinks();\n}\nfunction queueIdleFlush() {\n if (idleFlushQueued) return;\n idleFlushQueued = true;\n requestIdleCallback(idleFlush);\n}\nfunction addScopeMapping(scopeId, compiled) {\n var linked = scopeMappings.get(scopeId);\n if (!linked) scopeMappings.set(scopeId, linked = /* @__PURE__ */ new Set());\n linked.add(compiled);\n}\nfunction flushNativeStyleLinks() {\n if (needsDiscover) {\n needsDiscover = false;\n var current = fiberRoot === null || fiberRoot === void 0 ? void 0 : fiberRoot.current;\n if (!current || current.stateNode !== fiberRoot) fiberRoot = null;\n else discoverMountedHosts();\n }\n if (!pendingHosts.length) return;\n var hosts = pendingHosts;\n var states = pendingStates;\n pendingHosts = [];\n pendingStates = [];\n if (!engine) return;\n var tableIds = new Array(hosts.length);\n var scopeIndexes = new Array(hosts.length);\n var scopes = [];\n var last;\n var tableId = 0;\n var scopeIndex = 0;\n for (var i = 0; i < hosts.length; i++) {\n var state = states[i];\n if (state !== last) {\n last = state;\n var compiled = getCompiledMapping(state.mapping);\n syncTableState(compiled, state.stateName, state.theme);\n addScopeMapping(state.scopeId, compiled);\n tableId = compiled.tableId;\n scopeIndex = scopes.indexOf(state.scopeId);\n if (scopeIndex === -1) scopeIndex = scopes.push(state.scopeId) - 1;\n }\n tableIds[i] = tableId;\n scopeIndexes[i] = scopeIndex;\n }\n engine.linkTables(hosts, tableIds, scopeIndexes, scopes);\n}\nfunction linkNativeStyleHost(host, state) {\n if (!engine || host == null) return;\n var key = hostKey(host);\n var linked = linkedHostState.get(key);\n if (linked && linked.mapping === state.mapping && linked.scopeId === state.scopeId) {\n return;\n }\n linkedHostState.set(key, state);\n var live = scopeStates.get(state.scopeId);\n if (live && (live.name !== state.stateName || live.theme !== state.theme)) {\n var compiled = getCompiledMapping(state.mapping);\n syncTableState(compiled, live.name, live.theme);\n addScopeMapping(state.scopeId, compiled);\n engine.link(host, compiled.tableId, state.scopeId, true);\n return;\n }\n pendingHosts.push(host);\n pendingStates.push(state);\n if (pendingHosts.length >= maxPendingHosts) queueIdleFlush();\n}\nvar getNativeStyleEngineCacheStats = function getNativeStyleEngineCacheStats2() {\n var active = new Set([\n ...scopeMappings.values()\n ].flatMap(function(linked) {\n return [\n ...linked\n ];\n }));\n return {\n mappings: compiledMappings.size,\n activeMappings: active.size,\n states: [\n .../* @__PURE__ */ new Set([\n ...compiledMappings.values(),\n ...active\n ])\n ].reduce(function(total, compiled) {\n return total + compiled.states.size;\n }, 0)\n };\n};\nvar pending = null;\nvar flushListener = null;\nfunction setNativeStyleEngineFlushListener(cb) {\n flushListener = cb;\n}\nfunction updateNativeStyleLink(ref, host) {\n if (ref.nativeLink) {\n ref.nativeLink.unlink();\n ref.nativeLink = null;\n }\n ref.nativePushedKeys = void 0;\n if (host && engine && ref.nativeStyleUpdate) {\n ref.nativeLink = engine.link(host, {});\n }\n}\nvar superseded = null;\nfunction queueNativeViewState(entry) {\n if (!engine) return;\n if (!pending) {\n pending = [];\n queueMicrotask(function() {\n var entries = pending;\n var dropped = superseded;\n pending = null;\n superseded = null;\n if (dropped) {\n entries = entries.filter(function(queued, index) {\n var _dropped_get;\n return index >= ((_dropped_get = dropped.get(queued.id)) !== null && _dropped_get !== void 0 ? _dropped_get : 0);\n });\n }\n if (!entries.length) return;\n engine === null || engine === void 0 ? void 0 : engine.applyViewStates(entries);\n flushListener === null || flushListener === void 0 ? void 0 : flushListener(entries);\n });\n }\n pending.push(entry);\n}\nfunction supersedeNativeViewStates(id) {\n if (!pending) return;\n (superseded || (superseded = /* @__PURE__ */ new Map())).set(id, pending.length);\n}\nexport {\n captureNativeStyleRoot,\n createNativeStyleLinkState,\n flushNativeStyleLinks,\n getNativeStyleEngine,\n getNativeStyleEngineCacheStats,\n linkNativeStyleHost,\n nativeStyleMountMode,\n nativeTextInputColorProps,\n normalizeNativeStyle,\n queueNativeViewState,\n registerNativeStyle,\n removeNativeStyleScope,\n resolveNativeStyleMapping,\n setNativeStyleEngine,\n setNativeStyleEngineFlushListener,\n supersedeNativeViewStates,\n updateNativeStyleLink,\n updateNativeStyleScope\n};\n//# sourceMappingURL=nativeStyleEngine.js.map\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/web",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.11",
|
|
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.
|
|
104
|
-
"@tamagui/compose-refs": "3.0.
|
|
105
|
-
"@tamagui/constants": "3.0.
|
|
106
|
-
"@tamagui/dom": "3.0.
|
|
107
|
-
"@tamagui/helpers": "3.0.
|
|
108
|
-
"@tamagui/is-equal-shallow": "3.0.
|
|
109
|
-
"@tamagui/native": "3.0.
|
|
110
|
-
"@tamagui/normalize-css-color": "3.0.
|
|
111
|
-
"@tamagui/react-native-types": "3.0.
|
|
112
|
-
"@tamagui/style-grammar": "3.0.
|
|
113
|
-
"@tamagui/types": "3.0.
|
|
114
|
-
"@tamagui/use-did-finish-ssr": "3.0.
|
|
115
|
-
"@tamagui/use-event": "3.0.
|
|
116
|
-
"@tamagui/use-force-update": "3.0.
|
|
103
|
+
"@tamagui/animation-helpers": "3.0.11",
|
|
104
|
+
"@tamagui/compose-refs": "3.0.11",
|
|
105
|
+
"@tamagui/constants": "3.0.11",
|
|
106
|
+
"@tamagui/dom": "3.0.11",
|
|
107
|
+
"@tamagui/helpers": "3.0.11",
|
|
108
|
+
"@tamagui/is-equal-shallow": "3.0.11",
|
|
109
|
+
"@tamagui/native": "3.0.11",
|
|
110
|
+
"@tamagui/normalize-css-color": "3.0.11",
|
|
111
|
+
"@tamagui/react-native-types": "3.0.11",
|
|
112
|
+
"@tamagui/style-grammar": "3.0.11",
|
|
113
|
+
"@tamagui/types": "3.0.11",
|
|
114
|
+
"@tamagui/use-did-finish-ssr": "3.0.11",
|
|
115
|
+
"@tamagui/use-event": "3.0.11",
|
|
116
|
+
"@tamagui/use-force-update": "3.0.11"
|
|
117
117
|
},
|
|
118
118
|
"devDependencies": {
|
|
119
|
-
"@tamagui/build": "3.0.
|
|
119
|
+
"@tamagui/build": "3.0.11",
|
|
120
120
|
"@testing-library/react": "^16.1.0",
|
|
121
121
|
"csstype": "^3.0.10",
|
|
122
122
|
"react": "19.2.3",
|
|
@@ -133,5 +133,5 @@
|
|
|
133
133
|
"./dist/cjs": "./dist/esm/index.native.js",
|
|
134
134
|
"./theme-update": "./dist/esm/theme-update.native.js"
|
|
135
135
|
},
|
|
136
|
-
"releaseSourceCommit": "
|
|
136
|
+
"releaseSourceCommit": "2126db6e1f5389c724e21f06ce7d7e7d9f49f4aa"
|
|
137
137
|
}
|
package/src/_withNativeStyle.tsx
CHANGED
|
@@ -3,9 +3,12 @@ import { isAndroid, isIos } from '@tamagui/constants'
|
|
|
3
3
|
import React, { use } from 'react'
|
|
4
4
|
import { _withStableStyle } from './_withStableStyle'
|
|
5
5
|
import {
|
|
6
|
+
captureNativeStyleRoot,
|
|
6
7
|
createNativeStyleLinkState,
|
|
7
8
|
getNativeStyleEngine,
|
|
8
9
|
linkNativeStyleHost,
|
|
10
|
+
nativeStyleMountMode,
|
|
11
|
+
registerNativeStyle,
|
|
9
12
|
resolveNativeStyleMapping,
|
|
10
13
|
type NativeStyleLinkState,
|
|
11
14
|
type NativeStyleThemeMapping,
|
|
@@ -24,10 +27,11 @@ const hostTextProps = {
|
|
|
24
27
|
/**
|
|
25
28
|
* internal: emitted by the native compiler when experimental.nativeFastPath is on.
|
|
26
29
|
*
|
|
27
|
-
* One component over the host: the theme scope is the only context read
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
30
|
+
* One component over the host: the theme scope is the only context read.
|
|
31
|
+
* Until a host ref has seen the react root, the host ref queues the view for
|
|
32
|
+
* the engine's next batched link. After that, themed hosts render with no ref
|
|
33
|
+
* and a flush walks the root. Links never detach (the engine prunes unmounted
|
|
34
|
+
* views).
|
|
31
35
|
*
|
|
32
36
|
* `host: 'view'`: `Component` is RN's host view (`unstable_NativeView`).
|
|
33
37
|
* <View> resets TextAncestorContext for its children when it sits inside a
|
|
@@ -78,9 +82,8 @@ export const _withNativeStyle = (
|
|
|
78
82
|
// one entry per scope. its style arrays (one per host mode) keep their
|
|
79
83
|
// identity until the scope's state changes, then are rebuilt: a style handed
|
|
80
84
|
// to a host is a prop, which react native freezes in development, so a theme
|
|
81
|
-
// switch never writes into one. the
|
|
82
|
-
//
|
|
83
|
-
// the host against the state record every host of this scope shares
|
|
85
|
+
// switch never writes into one. the ref stays off once the react root is
|
|
86
|
+
// known, so a remount does not pay a callback ref per host
|
|
84
87
|
const entries = new Map<string, ScopeEntry>()
|
|
85
88
|
const createEntry = (): ScopeEntry => {
|
|
86
89
|
const entry: ScopeEntry = {
|
|
@@ -90,7 +93,9 @@ export const _withNativeStyle = (
|
|
|
90
93
|
theme: null,
|
|
91
94
|
state: null!,
|
|
92
95
|
ref: (node: unknown) => {
|
|
93
|
-
if (node)
|
|
96
|
+
if (!node) return
|
|
97
|
+
captureRoot(node)
|
|
98
|
+
linkHost(node, entry.state)
|
|
94
99
|
},
|
|
95
100
|
}
|
|
96
101
|
return entry
|
|
@@ -103,6 +108,9 @@ export const _withNativeStyle = (
|
|
|
103
108
|
const resolve = resolveNativeStyleMapping
|
|
104
109
|
const linkState = createNativeStyleLinkState
|
|
105
110
|
const linkHost = linkNativeStyleHost
|
|
111
|
+
const registerStyle = registerNativeStyle
|
|
112
|
+
const mountMode = nativeStyleMountMode
|
|
113
|
+
const captureRoot = captureNativeStyleRoot
|
|
106
114
|
const assignRef = setRef
|
|
107
115
|
|
|
108
116
|
// `use` reads context from whichever render calls it, so the compiler can
|
|
@@ -146,16 +154,23 @@ export const _withNativeStyle = (
|
|
|
146
154
|
entry.stateName = name
|
|
147
155
|
entry.theme = theme
|
|
148
156
|
entry.state = linkState(themeStyleKeys, scopeId, name, theme)
|
|
157
|
+
registerStyle(entry.style, entry.state)
|
|
158
|
+
registerStyle(entry.hostTextStyle, entry.state)
|
|
149
159
|
}
|
|
150
160
|
const style = asHostText ? entry.hostTextStyle : entry.style
|
|
151
161
|
const wrapped = resetsText || (asHostText && mayRenderText(rest.children))
|
|
152
162
|
const state = entry.state
|
|
153
|
-
//
|
|
154
|
-
|
|
155
|
-
|
|
163
|
+
// once the root is known, omit our ref. a caller ref still passes through,
|
|
164
|
+
// and the flush walk links the host. `ref={undefined}` is itself a ref, so
|
|
165
|
+
// the prop has to be absent
|
|
166
|
+
const discover = mountMode() === 'discover'
|
|
167
|
+
const passedRef = discover
|
|
168
|
+
? (ref ?? null)
|
|
169
|
+
: ref == null
|
|
156
170
|
? entry.ref
|
|
157
171
|
: (node: unknown) => {
|
|
158
172
|
if (!node) return assignRef(ref, null)
|
|
173
|
+
captureRoot(node)
|
|
159
174
|
linkHost(node, state)
|
|
160
175
|
// a callback ref may return its own cleanup (React 19), which
|
|
161
176
|
// then replaces its null call
|
|
@@ -166,8 +181,8 @@ export const _withNativeStyle = (
|
|
|
166
181
|
<Rendered
|
|
167
182
|
key={wrapped ? undefined : key}
|
|
168
183
|
{...(asHostText && hostTextProps)}
|
|
169
|
-
{...rest}
|
|
170
|
-
ref
|
|
184
|
+
{...(passedRef == null ? omitRef(rest) : rest)}
|
|
185
|
+
{...(passedRef != null ? { ref: passedRef } : null)}
|
|
171
186
|
style={style}
|
|
172
187
|
/>
|
|
173
188
|
)
|
|
@@ -198,6 +213,12 @@ interface ScopeEntry {
|
|
|
198
213
|
ref: (node: unknown) => void
|
|
199
214
|
}
|
|
200
215
|
|
|
216
|
+
function omitRef(props: any): any {
|
|
217
|
+
if (!Object.prototype.hasOwnProperty.call(props, 'ref')) return props
|
|
218
|
+
const { ref: _ref, ...rest } = props
|
|
219
|
+
return rest
|
|
220
|
+
}
|
|
221
|
+
|
|
201
222
|
// <Text>'s own check for children that could render a nested <Text>: arrays
|
|
202
223
|
// longer than three are assumed to
|
|
203
224
|
function mayRenderText(children: unknown): boolean {
|
package/src/createComponent.tsx
CHANGED
|
@@ -2009,13 +2009,14 @@ export function createComponent<
|
|
|
2009
2009
|
propsIn.children
|
|
2010
2010
|
)
|
|
2011
2011
|
} else {
|
|
2012
|
-
|
|
2013
|
-
|
|
2012
|
+
const isRenderPropString = typeof renderProp === 'string'
|
|
2013
|
+
|
|
2014
|
+
// here elementType is either the custom animated driver view, or base view.
|
|
2015
|
+
// the optimized base view would replace a custom render host, so skip it then
|
|
2016
|
+
if (childrenFromHooks && (!renderProp || isRenderPropString)) {
|
|
2014
2017
|
content = childrenFromHooks
|
|
2015
2018
|
}
|
|
2016
2019
|
|
|
2017
|
-
const isRenderPropString = typeof renderProp === 'string'
|
|
2018
|
-
|
|
2019
2020
|
// this ONLY handles the case where render is NOT a string
|
|
2020
2021
|
// either direct JSX, or a function that returns JSX, we always clone
|
|
2021
2022
|
if (renderProp && !isRenderPropString) {
|