@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
|
@@ -22,14 +22,17 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
22
22
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
23
23
|
var nativeStyleEngine_exports = {};
|
|
24
24
|
__export(nativeStyleEngine_exports, {
|
|
25
|
+
captureNativeStyleRoot: () => captureNativeStyleRoot,
|
|
25
26
|
createNativeStyleLinkState: () => createNativeStyleLinkState,
|
|
26
27
|
flushNativeStyleLinks: () => flushNativeStyleLinks,
|
|
27
28
|
getNativeStyleEngine: () => getNativeStyleEngine,
|
|
28
29
|
getNativeStyleEngineCacheStats: () => getNativeStyleEngineCacheStats,
|
|
29
30
|
linkNativeStyleHost: () => linkNativeStyleHost,
|
|
31
|
+
nativeStyleMountMode: () => nativeStyleMountMode,
|
|
30
32
|
nativeTextInputColorProps: () => nativeTextInputColorProps,
|
|
31
33
|
normalizeNativeStyle: () => normalizeNativeStyle,
|
|
32
34
|
queueNativeViewState: () => queueNativeViewState,
|
|
35
|
+
registerNativeStyle: () => registerNativeStyle,
|
|
33
36
|
removeNativeStyleScope: () => removeNativeStyleScope,
|
|
34
37
|
resolveNativeStyleMapping: () => resolveNativeStyleMapping,
|
|
35
38
|
setNativeStyleEngine: () => setNativeStyleEngine,
|
|
@@ -183,6 +186,7 @@ function setNativeStyleEngine(next) {
|
|
|
183
186
|
scopeMappings.clear();
|
|
184
187
|
pendingHosts = [];
|
|
185
188
|
pendingStates = [];
|
|
189
|
+
resetNativeStyleDiscovery();
|
|
186
190
|
}
|
|
187
191
|
engine = next;
|
|
188
192
|
if (next) {
|
|
@@ -268,16 +272,84 @@ var pendingHosts = [];
|
|
|
268
272
|
var pendingStates = [];
|
|
269
273
|
var maxPendingHosts = 4096;
|
|
270
274
|
var idleFlushQueued = false;
|
|
275
|
+
var stylesToState = /* @__PURE__ */ new WeakMap();
|
|
276
|
+
var linkedHostState = /* @__PURE__ */ new WeakMap();
|
|
277
|
+
function hostKey(host) {
|
|
278
|
+
var _ref, _ref1;
|
|
279
|
+
var _record___internalInstanceHandle;
|
|
280
|
+
var record = host;
|
|
281
|
+
var instance = (_ref = (_record___internalInstanceHandle = record.__internalInstanceHandle) === null || _record___internalInstanceHandle === void 0 ? void 0 : _record___internalInstanceHandle.stateNode) !== null && _ref !== void 0 ? _ref : record.stateNode;
|
|
282
|
+
return (_ref1 = instance === null || instance === void 0 ? void 0 : instance.canonical) !== null && _ref1 !== void 0 ? _ref1 : host;
|
|
283
|
+
}
|
|
284
|
+
var fiberRoot = null;
|
|
285
|
+
var needsDiscover = false;
|
|
286
|
+
function resetNativeStyleDiscovery() {
|
|
287
|
+
fiberRoot = null;
|
|
288
|
+
needsDiscover = false;
|
|
289
|
+
linkedHostState = /* @__PURE__ */ new WeakMap();
|
|
290
|
+
}
|
|
291
|
+
function registerNativeStyle(style, state) {
|
|
292
|
+
stylesToState.set(style, state);
|
|
293
|
+
}
|
|
294
|
+
function nativeStyleMountMode() {
|
|
295
|
+
var current = fiberRoot === null || fiberRoot === void 0 ? void 0 : fiberRoot.current;
|
|
296
|
+
if (current && current.stateNode === fiberRoot) {
|
|
297
|
+
if (!needsDiscover) {
|
|
298
|
+
needsDiscover = true;
|
|
299
|
+
queueIdleFlush();
|
|
300
|
+
}
|
|
301
|
+
return "discover";
|
|
302
|
+
}
|
|
303
|
+
return "ref";
|
|
304
|
+
}
|
|
305
|
+
function captureNativeStyleRoot(node) {
|
|
306
|
+
var fiber = node === null || node === void 0 ? void 0 : node.__internalInstanceHandle;
|
|
307
|
+
if (!fiber) return;
|
|
308
|
+
var top = fiber;
|
|
309
|
+
for (var guard = 0; top.return && guard < 1e5; guard++) top = top.return;
|
|
310
|
+
var root = top.stateNode;
|
|
311
|
+
if (root && root.current === top) fiberRoot = root;
|
|
312
|
+
}
|
|
313
|
+
function discoverMountedHosts() {
|
|
314
|
+
var root = fiberRoot === null || fiberRoot === void 0 ? void 0 : fiberRoot.current;
|
|
315
|
+
if (!root || root.stateNode !== fiberRoot) return 0;
|
|
316
|
+
var stack = [root];
|
|
317
|
+
var found = 0;
|
|
318
|
+
for (var guard = 0; stack.length && guard < 1e5; guard++) {
|
|
319
|
+
var _fiber_memoizedProps, _fiber_stateNode;
|
|
320
|
+
var fiber = stack.pop();
|
|
321
|
+
if (fiber.sibling) stack.push(fiber.sibling);
|
|
322
|
+
if (fiber.child) stack.push(fiber.child);
|
|
323
|
+
var style = (_fiber_memoizedProps = fiber.memoizedProps) === null || _fiber_memoizedProps === void 0 ? void 0 : _fiber_memoizedProps.style;
|
|
324
|
+
if (!style) continue;
|
|
325
|
+
var state = stylesToState.get(style);
|
|
326
|
+
if (!state || !((_fiber_stateNode = fiber.stateNode) === null || _fiber_stateNode === void 0 ? void 0 : _fiber_stateNode.node)) continue;
|
|
327
|
+
found++;
|
|
328
|
+
linkNativeStyleHost(fiber, state);
|
|
329
|
+
}
|
|
330
|
+
return found;
|
|
331
|
+
}
|
|
271
332
|
function idleFlush() {
|
|
272
333
|
idleFlushQueued = false;
|
|
273
334
|
flushNativeStyleLinks();
|
|
274
335
|
}
|
|
336
|
+
function queueIdleFlush() {
|
|
337
|
+
if (idleFlushQueued) return;
|
|
338
|
+
idleFlushQueued = true;
|
|
339
|
+
requestIdleCallback(idleFlush);
|
|
340
|
+
}
|
|
275
341
|
function addScopeMapping(scopeId, compiled) {
|
|
276
342
|
var linked = scopeMappings.get(scopeId);
|
|
277
343
|
if (!linked) scopeMappings.set(scopeId, linked = /* @__PURE__ */ new Set());
|
|
278
344
|
linked.add(compiled);
|
|
279
345
|
}
|
|
280
346
|
function flushNativeStyleLinks() {
|
|
347
|
+
if (needsDiscover) {
|
|
348
|
+
needsDiscover = false;
|
|
349
|
+
var current = fiberRoot === null || fiberRoot === void 0 ? void 0 : fiberRoot.current;
|
|
350
|
+
if (!current || current.stateNode !== fiberRoot) fiberRoot = null;
|
|
351
|
+
else discoverMountedHosts();
|
|
352
|
+
}
|
|
281
353
|
if (!pendingHosts.length) return;
|
|
282
354
|
var hosts = pendingHosts;
|
|
283
355
|
var states = pendingStates;
|
|
@@ -307,7 +379,13 @@ function flushNativeStyleLinks() {
|
|
|
307
379
|
engine.linkTables(hosts, tableIds, scopeIndexes, scopes);
|
|
308
380
|
}
|
|
309
381
|
function linkNativeStyleHost(host, state) {
|
|
310
|
-
if (!engine) return;
|
|
382
|
+
if (!engine || host == null) return;
|
|
383
|
+
var key = hostKey(host);
|
|
384
|
+
var linked = linkedHostState.get(key);
|
|
385
|
+
if (linked && linked.mapping === state.mapping && linked.scopeId === state.scopeId) {
|
|
386
|
+
return;
|
|
387
|
+
}
|
|
388
|
+
linkedHostState.set(key, state);
|
|
311
389
|
var live = scopeStates.get(state.scopeId);
|
|
312
390
|
if (live && (live.name !== state.stateName || live.theme !== state.theme)) {
|
|
313
391
|
var compiled = getCompiledMapping(state.mapping);
|
|
@@ -318,10 +396,7 @@ function linkNativeStyleHost(host, state) {
|
|
|
318
396
|
}
|
|
319
397
|
pendingHosts.push(host);
|
|
320
398
|
pendingStates.push(state);
|
|
321
|
-
if (pendingHosts.length >= maxPendingHosts
|
|
322
|
-
idleFlushQueued = true;
|
|
323
|
-
requestIdleCallback(idleFlush);
|
|
324
|
-
}
|
|
399
|
+
if (pendingHosts.length >= maxPendingHosts) queueIdleFlush();
|
|
325
400
|
}
|
|
326
401
|
var getNativeStyleEngineCacheStats = function getNativeStyleEngineCacheStats2() {
|
|
327
402
|
var active = new Set([...scopeMappings.values()].flatMap(function(linked) {
|
|
@@ -22,14 +22,17 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
22
22
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
23
23
|
var nativeStyleEngine_exports = {};
|
|
24
24
|
__export(nativeStyleEngine_exports, {
|
|
25
|
+
captureNativeStyleRoot: () => captureNativeStyleRoot,
|
|
25
26
|
createNativeStyleLinkState: () => createNativeStyleLinkState,
|
|
26
27
|
flushNativeStyleLinks: () => flushNativeStyleLinks,
|
|
27
28
|
getNativeStyleEngine: () => getNativeStyleEngine,
|
|
28
29
|
getNativeStyleEngineCacheStats: () => getNativeStyleEngineCacheStats,
|
|
29
30
|
linkNativeStyleHost: () => linkNativeStyleHost,
|
|
31
|
+
nativeStyleMountMode: () => nativeStyleMountMode,
|
|
30
32
|
nativeTextInputColorProps: () => nativeTextInputColorProps,
|
|
31
33
|
normalizeNativeStyle: () => normalizeNativeStyle,
|
|
32
34
|
queueNativeViewState: () => queueNativeViewState,
|
|
35
|
+
registerNativeStyle: () => registerNativeStyle,
|
|
33
36
|
removeNativeStyleScope: () => removeNativeStyleScope,
|
|
34
37
|
resolveNativeStyleMapping: () => resolveNativeStyleMapping,
|
|
35
38
|
setNativeStyleEngine: () => setNativeStyleEngine,
|
|
@@ -183,6 +186,7 @@ function setNativeStyleEngine(next) {
|
|
|
183
186
|
scopeMappings.clear();
|
|
184
187
|
pendingHosts = [];
|
|
185
188
|
pendingStates = [];
|
|
189
|
+
resetNativeStyleDiscovery();
|
|
186
190
|
}
|
|
187
191
|
engine = next;
|
|
188
192
|
if (next) {
|
|
@@ -268,16 +272,84 @@ var pendingHosts = [];
|
|
|
268
272
|
var pendingStates = [];
|
|
269
273
|
var maxPendingHosts = 4096;
|
|
270
274
|
var idleFlushQueued = false;
|
|
275
|
+
var stylesToState = /* @__PURE__ */ new WeakMap();
|
|
276
|
+
var linkedHostState = /* @__PURE__ */ new WeakMap();
|
|
277
|
+
function hostKey(host) {
|
|
278
|
+
var _ref, _ref1;
|
|
279
|
+
var _record___internalInstanceHandle;
|
|
280
|
+
var record = host;
|
|
281
|
+
var instance = (_ref = (_record___internalInstanceHandle = record.__internalInstanceHandle) === null || _record___internalInstanceHandle === void 0 ? void 0 : _record___internalInstanceHandle.stateNode) !== null && _ref !== void 0 ? _ref : record.stateNode;
|
|
282
|
+
return (_ref1 = instance === null || instance === void 0 ? void 0 : instance.canonical) !== null && _ref1 !== void 0 ? _ref1 : host;
|
|
283
|
+
}
|
|
284
|
+
var fiberRoot = null;
|
|
285
|
+
var needsDiscover = false;
|
|
286
|
+
function resetNativeStyleDiscovery() {
|
|
287
|
+
fiberRoot = null;
|
|
288
|
+
needsDiscover = false;
|
|
289
|
+
linkedHostState = /* @__PURE__ */ new WeakMap();
|
|
290
|
+
}
|
|
291
|
+
function registerNativeStyle(style, state) {
|
|
292
|
+
stylesToState.set(style, state);
|
|
293
|
+
}
|
|
294
|
+
function nativeStyleMountMode() {
|
|
295
|
+
var current = fiberRoot === null || fiberRoot === void 0 ? void 0 : fiberRoot.current;
|
|
296
|
+
if (current && current.stateNode === fiberRoot) {
|
|
297
|
+
if (!needsDiscover) {
|
|
298
|
+
needsDiscover = true;
|
|
299
|
+
queueIdleFlush();
|
|
300
|
+
}
|
|
301
|
+
return "discover";
|
|
302
|
+
}
|
|
303
|
+
return "ref";
|
|
304
|
+
}
|
|
305
|
+
function captureNativeStyleRoot(node) {
|
|
306
|
+
var fiber = node === null || node === void 0 ? void 0 : node.__internalInstanceHandle;
|
|
307
|
+
if (!fiber) return;
|
|
308
|
+
var top = fiber;
|
|
309
|
+
for (var guard = 0; top.return && guard < 1e5; guard++) top = top.return;
|
|
310
|
+
var root = top.stateNode;
|
|
311
|
+
if (root && root.current === top) fiberRoot = root;
|
|
312
|
+
}
|
|
313
|
+
function discoverMountedHosts() {
|
|
314
|
+
var root = fiberRoot === null || fiberRoot === void 0 ? void 0 : fiberRoot.current;
|
|
315
|
+
if (!root || root.stateNode !== fiberRoot) return 0;
|
|
316
|
+
var stack = [root];
|
|
317
|
+
var found = 0;
|
|
318
|
+
for (var guard = 0; stack.length && guard < 1e5; guard++) {
|
|
319
|
+
var _fiber_memoizedProps, _fiber_stateNode;
|
|
320
|
+
var fiber = stack.pop();
|
|
321
|
+
if (fiber.sibling) stack.push(fiber.sibling);
|
|
322
|
+
if (fiber.child) stack.push(fiber.child);
|
|
323
|
+
var style = (_fiber_memoizedProps = fiber.memoizedProps) === null || _fiber_memoizedProps === void 0 ? void 0 : _fiber_memoizedProps.style;
|
|
324
|
+
if (!style) continue;
|
|
325
|
+
var state = stylesToState.get(style);
|
|
326
|
+
if (!state || !((_fiber_stateNode = fiber.stateNode) === null || _fiber_stateNode === void 0 ? void 0 : _fiber_stateNode.node)) continue;
|
|
327
|
+
found++;
|
|
328
|
+
linkNativeStyleHost(fiber, state);
|
|
329
|
+
}
|
|
330
|
+
return found;
|
|
331
|
+
}
|
|
271
332
|
function idleFlush() {
|
|
272
333
|
idleFlushQueued = false;
|
|
273
334
|
flushNativeStyleLinks();
|
|
274
335
|
}
|
|
336
|
+
function queueIdleFlush() {
|
|
337
|
+
if (idleFlushQueued) return;
|
|
338
|
+
idleFlushQueued = true;
|
|
339
|
+
requestIdleCallback(idleFlush);
|
|
340
|
+
}
|
|
275
341
|
function addScopeMapping(scopeId, compiled) {
|
|
276
342
|
var linked = scopeMappings.get(scopeId);
|
|
277
343
|
if (!linked) scopeMappings.set(scopeId, linked = /* @__PURE__ */ new Set());
|
|
278
344
|
linked.add(compiled);
|
|
279
345
|
}
|
|
280
346
|
function flushNativeStyleLinks() {
|
|
347
|
+
if (needsDiscover) {
|
|
348
|
+
needsDiscover = false;
|
|
349
|
+
var current = fiberRoot === null || fiberRoot === void 0 ? void 0 : fiberRoot.current;
|
|
350
|
+
if (!current || current.stateNode !== fiberRoot) fiberRoot = null;
|
|
351
|
+
else discoverMountedHosts();
|
|
352
|
+
}
|
|
281
353
|
if (!pendingHosts.length) return;
|
|
282
354
|
var hosts = pendingHosts;
|
|
283
355
|
var states = pendingStates;
|
|
@@ -307,7 +379,13 @@ function flushNativeStyleLinks() {
|
|
|
307
379
|
engine.linkTables(hosts, tableIds, scopeIndexes, scopes);
|
|
308
380
|
}
|
|
309
381
|
function linkNativeStyleHost(host, state) {
|
|
310
|
-
if (!engine) return;
|
|
382
|
+
if (!engine || host == null) return;
|
|
383
|
+
var key = hostKey(host);
|
|
384
|
+
var linked = linkedHostState.get(key);
|
|
385
|
+
if (linked && linked.mapping === state.mapping && linked.scopeId === state.scopeId) {
|
|
386
|
+
return;
|
|
387
|
+
}
|
|
388
|
+
linkedHostState.set(key, state);
|
|
311
389
|
var live = scopeStates.get(state.scopeId);
|
|
312
390
|
if (live && (live.name !== state.stateName || live.theme !== state.theme)) {
|
|
313
391
|
var compiled = getCompiledMapping(state.mapping);
|
|
@@ -318,10 +396,7 @@ function linkNativeStyleHost(host, state) {
|
|
|
318
396
|
}
|
|
319
397
|
pendingHosts.push(host);
|
|
320
398
|
pendingStates.push(state);
|
|
321
|
-
if (pendingHosts.length >= maxPendingHosts
|
|
322
|
-
idleFlushQueued = true;
|
|
323
|
-
requestIdleCallback(idleFlush);
|
|
324
|
-
}
|
|
399
|
+
if (pendingHosts.length >= maxPendingHosts) queueIdleFlush();
|
|
325
400
|
}
|
|
326
401
|
var getNativeStyleEngineCacheStats = function getNativeStyleEngineCacheStats2() {
|
|
327
402
|
var active = new Set([...scopeMappings.values()].flatMap(function(linked) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nativeStyleEngine.native.js","names":[],"sources":["cjs/helpers/nativeStyleEngine.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar nativeStyleEngine_exports = {};\n__export(nativeStyleEngine_exports, {\n createNativeStyleLinkState: () => createNativeStyleLinkState,\n flushNativeStyleLinks: () => flushNativeStyleLinks,\n getNativeStyleEngine: () => getNativeStyleEngine,\n getNativeStyleEngineCacheStats: () => getNativeStyleEngineCacheStats,\n linkNativeStyleHost: () => linkNativeStyleHost,\n nativeTextInputColorProps: () => nativeTextInputColorProps,\n normalizeNativeStyle: () => normalizeNativeStyle,\n queueNativeViewState: () => queueNativeViewState,\n removeNativeStyleScope: () => removeNativeStyleScope,\n resolveNativeStyleMapping: () => resolveNativeStyleMapping,\n setNativeStyleEngine: () => setNativeStyleEngine,\n setNativeStyleEngineFlushListener: () => setNativeStyleEngineFlushListener,\n supersedeNativeViewStates: () => supersedeNativeViewStates,\n updateNativeStyleLink: () => updateNativeStyleLink,\n updateNativeStyleScope: () => updateNativeStyleScope\n});\nmodule.exports = __toCommonJS(nativeStyleEngine_exports);\nvar import_createVariable = require(\"../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 : (0, import_createVariable.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}\n//# sourceMappingURL=nativeStyleEngine.js.map\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nativeStyleEngine.native.js","names":[],"sources":["cjs/helpers/nativeStyleEngine.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar nativeStyleEngine_exports = {};\n__export(nativeStyleEngine_exports, {\n captureNativeStyleRoot: () => captureNativeStyleRoot,\n createNativeStyleLinkState: () => createNativeStyleLinkState,\n flushNativeStyleLinks: () => flushNativeStyleLinks,\n getNativeStyleEngine: () => getNativeStyleEngine,\n getNativeStyleEngineCacheStats: () => getNativeStyleEngineCacheStats,\n linkNativeStyleHost: () => linkNativeStyleHost,\n nativeStyleMountMode: () => nativeStyleMountMode,\n nativeTextInputColorProps: () => nativeTextInputColorProps,\n normalizeNativeStyle: () => normalizeNativeStyle,\n queueNativeViewState: () => queueNativeViewState,\n registerNativeStyle: () => registerNativeStyle,\n removeNativeStyleScope: () => removeNativeStyleScope,\n resolveNativeStyleMapping: () => resolveNativeStyleMapping,\n setNativeStyleEngine: () => setNativeStyleEngine,\n setNativeStyleEngineFlushListener: () => setNativeStyleEngineFlushListener,\n supersedeNativeViewStates: () => supersedeNativeViewStates,\n updateNativeStyleLink: () => updateNativeStyleLink,\n updateNativeStyleScope: () => updateNativeStyleScope\n});\nmodule.exports = __toCommonJS(nativeStyleEngine_exports);\nvar import_createVariable = require(\"../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 : (0, import_createVariable.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}\n//# sourceMappingURL=nativeStyleEngine.js.map\n"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { setRef } from "@tamagui/compose-refs";
|
|
|
2
2
|
import { isAndroid, isIos } from "@tamagui/constants";
|
|
3
3
|
import { use } from "react";
|
|
4
4
|
import { _withStableStyle } from "./_withStableStyle.mjs";
|
|
5
|
-
import { createNativeStyleLinkState, getNativeStyleEngine, linkNativeStyleHost, resolveNativeStyleMapping } from "./helpers/nativeStyleEngine.mjs";
|
|
5
|
+
import { captureNativeStyleRoot, createNativeStyleLinkState, getNativeStyleEngine, linkNativeStyleHost, nativeStyleMountMode, registerNativeStyle, resolveNativeStyleMapping } from "./helpers/nativeStyleEngine.mjs";
|
|
6
6
|
import { ThemeStateContext, getThemeState } from "./hooks/useThemeState.mjs";
|
|
7
7
|
import { hooks } from "./setupHooks.mjs";
|
|
8
8
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -38,7 +38,9 @@ const _withNativeStyle = (Component, baseStyle, themeStyleKeys, host) => {
|
|
|
38
38
|
theme: null,
|
|
39
39
|
state: null,
|
|
40
40
|
ref: (node) => {
|
|
41
|
-
if (node)
|
|
41
|
+
if (!node) return;
|
|
42
|
+
captureRoot(node);
|
|
43
|
+
linkHost(node, entry.state);
|
|
42
44
|
}
|
|
43
45
|
};
|
|
44
46
|
return entry;
|
|
@@ -49,6 +51,9 @@ const _withNativeStyle = (Component, baseStyle, themeStyleKeys, host) => {
|
|
|
49
51
|
const resolve = resolveNativeStyleMapping;
|
|
50
52
|
const linkState = createNativeStyleLinkState;
|
|
51
53
|
const linkHost = linkNativeStyleHost;
|
|
54
|
+
const registerStyle = registerNativeStyle;
|
|
55
|
+
const mountMode = nativeStyleMountMode;
|
|
56
|
+
const captureRoot = captureNativeStyleRoot;
|
|
52
57
|
const assignRef = setRef;
|
|
53
58
|
const render = (props, key) => {
|
|
54
59
|
const scopeId = use(ScopeContext);
|
|
@@ -82,20 +87,24 @@ const _withNativeStyle = (Component, baseStyle, themeStyleKeys, host) => {
|
|
|
82
87
|
entry.stateName = name;
|
|
83
88
|
entry.theme = theme;
|
|
84
89
|
entry.state = linkState(themeStyleKeys, scopeId, name, theme);
|
|
90
|
+
registerStyle(entry.style, entry.state);
|
|
91
|
+
registerStyle(entry.hostTextStyle, entry.state);
|
|
85
92
|
}
|
|
86
93
|
const style = asHostText ? entry.hostTextStyle : entry.style;
|
|
87
94
|
const wrapped = resetsText || asHostText && mayRenderText(rest.children);
|
|
88
95
|
const state = entry.state;
|
|
89
|
-
const
|
|
96
|
+
const discover = mountMode() === "discover";
|
|
97
|
+
const passedRef = discover ? ref ?? null : ref == null ? entry.ref : (node) => {
|
|
90
98
|
if (!node) return assignRef(ref, null);
|
|
99
|
+
captureRoot(node);
|
|
91
100
|
linkHost(node, state);
|
|
92
101
|
if (typeof ref === "function") return ref(node);
|
|
93
102
|
assignRef(ref, node);
|
|
94
103
|
};
|
|
95
104
|
const element = /* @__PURE__ */ jsx(Rendered, {
|
|
96
105
|
...asHostText && hostTextProps,
|
|
97
|
-
...rest,
|
|
98
|
-
ref:
|
|
106
|
+
...passedRef == null ? omitRef(rest) : rest,
|
|
107
|
+
...passedRef != null ? { ref: passedRef } : null,
|
|
99
108
|
style
|
|
100
109
|
}, wrapped ? void 0 : key);
|
|
101
110
|
if (!wrapped) return element;
|
|
@@ -108,6 +117,11 @@ const _withNativeStyle = (Component, baseStyle, themeStyleKeys, host) => {
|
|
|
108
117
|
NativeStyleView.inline = (element) => render(element.props, element.key);
|
|
109
118
|
return NativeStyleView;
|
|
110
119
|
};
|
|
120
|
+
function omitRef(props) {
|
|
121
|
+
if (!Object.prototype.hasOwnProperty.call(props, "ref")) return props;
|
|
122
|
+
const { ref: _ref, ...rest } = props;
|
|
123
|
+
return rest;
|
|
124
|
+
}
|
|
111
125
|
function mayRenderText(children) {
|
|
112
126
|
if (children == null) return false;
|
|
113
127
|
if (Array.isArray(children) && children.length <= 3) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_withNativeStyle.js","names":[],"sources":["esm/_withNativeStyle.js"],"sourcesContent":["import { setRef } from \"@tamagui/compose-refs\";\nimport { isAndroid, isIos } from \"@tamagui/constants\";\nimport { use } from \"react\";\nimport { _withStableStyle } from \"./_withStableStyle\";\nimport {\n createNativeStyleLinkState,\n getNativeStyleEngine,\n linkNativeStyleHost,\n resolveNativeStyleMapping\n} from \"./helpers/nativeStyleEngine\";\nimport { getThemeState, ThemeStateContext } from \"./hooks/useThemeState\";\nimport { hooks } from \"./setupHooks\";\nimport { jsx } from \"react/jsx-runtime\";\nconst hostTextProps = {\n accessible: isAndroid ? false : isIos ? true : void 0,\n allowFontScaling: true,\n ellipsizeMode: \"tail\"\n};\nconst _withNativeStyle = (Component, baseStyle, themeStyleKeys, host) => {\n const Fallback = _withStableStyle(\n Component,\n (theme) => {\n const themedStyle = {};\n for (const styleKey in themeStyleKeys) {\n themedStyle[styleKey] = theme[themeStyleKeys[styleKey]]?.get();\n }\n return [baseStyle, themedStyle];\n },\n true,\n false\n );\n const baseViews = host ? hooks.getBaseViews?.() : void 0;\n const TextAncestor = baseViews?.TextAncestor;\n const TextAncestorProvider = TextAncestor?.Provider;\n const HostText = host === \"text\" && !(\"userSelect\" in baseStyle) && !(\"verticalAlign\" in baseStyle) ? baseViews?.NativeText : void 0;\n const hostTextBase = HostText ? {\n overflow: \"hidden\",\n ...baseStyle,\n ...typeof baseStyle.fontWeight === \"number\" && {\n fontWeight: String(baseStyle.fontWeight)\n }\n } : baseStyle;\n const entries = /* @__PURE__ */ new Map();\n const createEntry = () => {\n const entry = {\n style: [baseStyle, null],\n hostTextStyle: [hostTextBase, null],\n stateName: \"\",\n theme: null,\n state: null,\n ref: (node) => {\n if (node) linkHost(node, entry.state);\n }\n };\n return entry;\n };\n const ScopeContext = ThemeStateContext;\n const engineOf = getNativeStyleEngine;\n const scopeState = getThemeState;\n const resolve = resolveNativeStyleMapping;\n const linkState = createNativeStyleLinkState;\n const linkHost = linkNativeStyleHost;\n const assignRef = setRef;\n const render = (props, key) => {\n const scopeId = use(ScopeContext);\n const inText = TextAncestor ? use(TextAncestor) : false;\n const themeState = scopeId && engineOf() ? scopeState(scopeId) : void 0;\n const resetsText = inText && host === \"view\";\n if (!themeState) {\n return resetsText ? /* @__PURE__ */ jsx(TextAncestorProvider, { value: false, children: /* @__PURE__ */ jsx(Fallback, { ...props }) }, key) : /* @__PURE__ */ jsx(Fallback, { ...props }, key);\n }\n let rest = props;\n if (props._expressions !== void 0) {\n const { _expressions: _ignoredExpressions, ...withoutExpressions } = props;\n rest = withoutExpressions;\n }\n const ref = props.ref;\n const { name, theme } = themeState;\n const asHostText = HostText && !inText;\n const Rendered = asHostText ? HostText : Component;\n let entry = entries.get(scopeId);\n if (!entry) {\n entry = createEntry();\n entries.set(scopeId, entry);\n }\n if (entry.stateName !== name || entry.theme !== theme) {\n const themed = resolve(themeStyleKeys, name, theme);\n entry.style = [baseStyle, themed];\n entry.hostTextStyle = [hostTextBase, themed];\n entry.stateName = name;\n entry.theme = theme;\n entry.state = linkState(themeStyleKeys, scopeId, name, theme);\n }\n const style = asHostText ? entry.hostTextStyle : entry.style;\n const wrapped = resetsText || asHostText && mayRenderText(rest.children);\n const state = entry.state;\n const
|
|
1
|
+
{"version":3,"file":"_withNativeStyle.js","names":[],"sources":["esm/_withNativeStyle.js"],"sourcesContent":["import { setRef } from \"@tamagui/compose-refs\";\nimport { isAndroid, isIos } from \"@tamagui/constants\";\nimport { use } from \"react\";\nimport { _withStableStyle } from \"./_withStableStyle\";\nimport {\n captureNativeStyleRoot,\n createNativeStyleLinkState,\n getNativeStyleEngine,\n linkNativeStyleHost,\n nativeStyleMountMode,\n registerNativeStyle,\n resolveNativeStyleMapping\n} from \"./helpers/nativeStyleEngine\";\nimport { getThemeState, ThemeStateContext } from \"./hooks/useThemeState\";\nimport { hooks } from \"./setupHooks\";\nimport { jsx } from \"react/jsx-runtime\";\nconst hostTextProps = {\n accessible: isAndroid ? false : isIos ? true : void 0,\n allowFontScaling: true,\n ellipsizeMode: \"tail\"\n};\nconst _withNativeStyle = (Component, baseStyle, themeStyleKeys, host) => {\n const Fallback = _withStableStyle(\n Component,\n (theme) => {\n const themedStyle = {};\n for (const styleKey in themeStyleKeys) {\n themedStyle[styleKey] = theme[themeStyleKeys[styleKey]]?.get();\n }\n return [baseStyle, themedStyle];\n },\n true,\n false\n );\n const baseViews = host ? hooks.getBaseViews?.() : void 0;\n const TextAncestor = baseViews?.TextAncestor;\n const TextAncestorProvider = TextAncestor?.Provider;\n const HostText = host === \"text\" && !(\"userSelect\" in baseStyle) && !(\"verticalAlign\" in baseStyle) ? baseViews?.NativeText : void 0;\n const hostTextBase = HostText ? {\n overflow: \"hidden\",\n ...baseStyle,\n ...typeof baseStyle.fontWeight === \"number\" && {\n fontWeight: String(baseStyle.fontWeight)\n }\n } : baseStyle;\n const entries = /* @__PURE__ */ new Map();\n const createEntry = () => {\n const entry = {\n style: [baseStyle, null],\n hostTextStyle: [hostTextBase, null],\n stateName: \"\",\n theme: null,\n state: null,\n ref: (node) => {\n if (!node) return;\n captureRoot(node);\n linkHost(node, entry.state);\n }\n };\n return entry;\n };\n const ScopeContext = ThemeStateContext;\n const engineOf = getNativeStyleEngine;\n const scopeState = getThemeState;\n const resolve = resolveNativeStyleMapping;\n const linkState = createNativeStyleLinkState;\n const linkHost = linkNativeStyleHost;\n const registerStyle = registerNativeStyle;\n const mountMode = nativeStyleMountMode;\n const captureRoot = captureNativeStyleRoot;\n const assignRef = setRef;\n const render = (props, key) => {\n const scopeId = use(ScopeContext);\n const inText = TextAncestor ? use(TextAncestor) : false;\n const themeState = scopeId && engineOf() ? scopeState(scopeId) : void 0;\n const resetsText = inText && host === \"view\";\n if (!themeState) {\n return resetsText ? /* @__PURE__ */ jsx(TextAncestorProvider, { value: false, children: /* @__PURE__ */ jsx(Fallback, { ...props }) }, key) : /* @__PURE__ */ jsx(Fallback, { ...props }, key);\n }\n let rest = props;\n if (props._expressions !== void 0) {\n const { _expressions: _ignoredExpressions, ...withoutExpressions } = props;\n rest = withoutExpressions;\n }\n const ref = props.ref;\n const { name, theme } = themeState;\n const asHostText = HostText && !inText;\n const Rendered = asHostText ? HostText : Component;\n let entry = entries.get(scopeId);\n if (!entry) {\n entry = createEntry();\n entries.set(scopeId, entry);\n }\n if (entry.stateName !== name || entry.theme !== theme) {\n const themed = resolve(themeStyleKeys, name, theme);\n entry.style = [baseStyle, themed];\n entry.hostTextStyle = [hostTextBase, themed];\n entry.stateName = name;\n entry.theme = theme;\n entry.state = linkState(themeStyleKeys, scopeId, name, theme);\n registerStyle(entry.style, entry.state);\n registerStyle(entry.hostTextStyle, entry.state);\n }\n const style = asHostText ? entry.hostTextStyle : entry.style;\n const wrapped = resetsText || asHostText && mayRenderText(rest.children);\n const state = entry.state;\n const discover = mountMode() === \"discover\";\n const passedRef = discover ? ref ?? null : ref == null ? entry.ref : (node) => {\n if (!node) return assignRef(ref, null);\n captureRoot(node);\n linkHost(node, state);\n if (typeof ref === \"function\") return ref(node);\n assignRef(ref, node);\n };\n const element = /* @__PURE__ */ jsx(\n Rendered,\n {\n ...asHostText && hostTextProps,\n ...passedRef == null ? omitRef(rest) : rest,\n ...passedRef != null ? { ref: passedRef } : null,\n style\n },\n wrapped ? void 0 : key\n );\n if (!wrapped) return element;\n return /* @__PURE__ */ jsx(TextAncestorProvider, { value: !resetsText, children: element }, key);\n };\n const NativeStyleView = (props) => render(props);\n NativeStyleView.inline = (element) => render(element.props, element.key);\n return NativeStyleView;\n};\nfunction omitRef(props) {\n if (!Object.prototype.hasOwnProperty.call(props, \"ref\")) return props;\n const { ref: _ref, ...rest } = props;\n return rest;\n}\nfunction mayRenderText(children) {\n if (children == null) return false;\n if (Array.isArray(children) && children.length <= 3) {\n return children.some((child) => child != null && typeof child === \"object\");\n }\n return typeof children === \"object\";\n}\nexport {\n _withNativeStyle\n};\n//# sourceMappingURL=_withNativeStyle.js.map\n"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { setRef } from "@tamagui/compose-refs";
|
|
|
3
3
|
import { isAndroid, isIos } from "@tamagui/constants";
|
|
4
4
|
import { use } from "react";
|
|
5
5
|
import { _withStableStyle } from "./_withStableStyle.native.js";
|
|
6
|
-
import { createNativeStyleLinkState, getNativeStyleEngine, linkNativeStyleHost, resolveNativeStyleMapping } from "./helpers/nativeStyleEngine.native.js";
|
|
6
|
+
import { captureNativeStyleRoot, createNativeStyleLinkState, getNativeStyleEngine, linkNativeStyleHost, nativeStyleMountMode, registerNativeStyle, resolveNativeStyleMapping } from "./helpers/nativeStyleEngine.native.js";
|
|
7
7
|
import { ThemeStateContext, getThemeState } from "./hooks/useThemeState.native.js";
|
|
8
8
|
import { hooks } from "./setupHooks.native.js";
|
|
9
9
|
|
|
@@ -40,7 +40,9 @@ var _withNativeStyle = function _withNativeStyle2(Component, baseStyle, themeSty
|
|
|
40
40
|
theme: null,
|
|
41
41
|
state: null,
|
|
42
42
|
ref: function ref(node) {
|
|
43
|
-
if (node)
|
|
43
|
+
if (!node) return;
|
|
44
|
+
captureRoot(node);
|
|
45
|
+
linkHost(node, entry.state);
|
|
44
46
|
}
|
|
45
47
|
};
|
|
46
48
|
return entry;
|
|
@@ -51,6 +53,9 @@ var _withNativeStyle = function _withNativeStyle2(Component, baseStyle, themeSty
|
|
|
51
53
|
var resolve = resolveNativeStyleMapping;
|
|
52
54
|
var linkState = createNativeStyleLinkState;
|
|
53
55
|
var linkHost = linkNativeStyleHost;
|
|
56
|
+
var registerStyle = registerNativeStyle;
|
|
57
|
+
var mountMode = nativeStyleMountMode;
|
|
58
|
+
var captureRoot = captureNativeStyleRoot;
|
|
54
59
|
var assignRef = setRef;
|
|
55
60
|
var render = function render2(props, key) {
|
|
56
61
|
var scopeId = use(ScopeContext);
|
|
@@ -84,20 +89,24 @@ var _withNativeStyle = function _withNativeStyle2(Component, baseStyle, themeSty
|
|
|
84
89
|
entry.stateName = name;
|
|
85
90
|
entry.theme = theme;
|
|
86
91
|
entry.state = linkState(themeStyleKeys, scopeId, name, theme);
|
|
92
|
+
registerStyle(entry.style, entry.state);
|
|
93
|
+
registerStyle(entry.hostTextStyle, entry.state);
|
|
87
94
|
}
|
|
88
95
|
var style = asHostText ? entry.hostTextStyle : entry.style;
|
|
89
96
|
var wrapped = resetsText || asHostText && mayRenderText(rest.children);
|
|
90
97
|
var state = entry.state;
|
|
91
|
-
var
|
|
98
|
+
var discover = mountMode() === "discover";
|
|
99
|
+
var passedRef = discover ? ref !== null && ref !== void 0 ? ref : null : ref == null ? entry.ref : function(node) {
|
|
92
100
|
if (!node) return assignRef(ref, null);
|
|
101
|
+
captureRoot(node);
|
|
93
102
|
linkHost(node, state);
|
|
94
103
|
if (typeof ref === "function") return ref(node);
|
|
95
104
|
assignRef(ref, node);
|
|
96
105
|
};
|
|
97
106
|
var element = /* @__PURE__ */ jsx(Rendered, {
|
|
98
107
|
...asHostText && hostTextProps,
|
|
99
|
-
...rest,
|
|
100
|
-
ref:
|
|
108
|
+
...passedRef == null ? omitRef(rest) : rest,
|
|
109
|
+
...passedRef != null ? { ref: passedRef } : null,
|
|
101
110
|
style
|
|
102
111
|
}, wrapped ? void 0 : key);
|
|
103
112
|
if (!wrapped) return element;
|
|
@@ -114,6 +123,11 @@ var _withNativeStyle = function _withNativeStyle2(Component, baseStyle, themeSty
|
|
|
114
123
|
};
|
|
115
124
|
return NativeStyleView;
|
|
116
125
|
};
|
|
126
|
+
function omitRef(props) {
|
|
127
|
+
if (!Object.prototype.hasOwnProperty.call(props, "ref")) return props;
|
|
128
|
+
var { ref: _ref, ...rest } = props;
|
|
129
|
+
return rest;
|
|
130
|
+
}
|
|
117
131
|
function mayRenderText(children) {
|
|
118
132
|
if (children == null) return false;
|
|
119
133
|
if (Array.isArray(children) && children.length <= 3) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_withNativeStyle.native.js","names":[],"sources":["esm/_withNativeStyle.native.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { setRef } from \"@tamagui/compose-refs\";\nimport { isAndroid, isIos } from \"@tamagui/constants\";\nimport React, { use } from \"react\";\nimport { _withStableStyle } from \"./_withStableStyle\";\nimport { createNativeStyleLinkState, getNativeStyleEngine, linkNativeStyleHost, resolveNativeStyleMapping } from \"./helpers/nativeStyleEngine\";\nimport { getThemeState, ThemeStateContext } from \"./hooks/useThemeState\";\nimport { hooks } from \"./setupHooks\";\nvar hostTextProps = {\n accessible: isAndroid ? false : isIos ? true : void 0,\n allowFontScaling: true,\n ellipsizeMode: \"tail\"\n};\nvar _withNativeStyle = function _withNativeStyle2(Component, baseStyle, themeStyleKeys, host) {\n var _hooks_getBaseViews;\n var Fallback = _withStableStyle(Component, function(theme) {\n var themedStyle = {};\n for (var styleKey in themeStyleKeys) {\n var _theme_themeStyleKeys_styleKey;\n themedStyle[styleKey] = (_theme_themeStyleKeys_styleKey = theme[themeStyleKeys[styleKey]]) === null || _theme_themeStyleKeys_styleKey === void 0 ? void 0 : _theme_themeStyleKeys_styleKey.get();\n }\n return [\n baseStyle,\n themedStyle\n ];\n }, true, false);\n var baseViews = host ? (_hooks_getBaseViews = hooks.getBaseViews) === null || _hooks_getBaseViews === void 0 ? void 0 : _hooks_getBaseViews.call(hooks) : void 0;\n var TextAncestor = baseViews === null || baseViews === void 0 ? void 0 : baseViews.TextAncestor;\n var TextAncestorProvider = TextAncestor === null || TextAncestor === void 0 ? void 0 : TextAncestor.Provider;\n var HostText = host === \"text\" && !(\"userSelect\" in baseStyle) && !(\"verticalAlign\" in baseStyle) ? baseViews === null || baseViews === void 0 ? void 0 : baseViews.NativeText : void 0;\n var hostTextBase = HostText ? {\n overflow: \"hidden\",\n ...baseStyle,\n ...typeof baseStyle.fontWeight === \"number\" && {\n fontWeight: String(baseStyle.fontWeight)\n }\n } : baseStyle;\n var entries = /* @__PURE__ */ new Map();\n var createEntry = function createEntry2() {\n var entry = {\n style: [\n baseStyle,\n null\n ],\n hostTextStyle: [\n hostTextBase,\n null\n ],\n stateName: \"\",\n theme: null,\n state: null,\n ref: function ref(node) {\n if (node) linkHost(node, entry.state);\n }\n };\n return entry;\n };\n var ScopeContext = ThemeStateContext;\n var engineOf = getNativeStyleEngine;\n var scopeState = getThemeState;\n var resolve = resolveNativeStyleMapping;\n var linkState = createNativeStyleLinkState;\n var linkHost = linkNativeStyleHost;\n var assignRef = setRef;\n var render = function render2(props, key) {\n var scopeId = use(ScopeContext);\n var inText = TextAncestor ? use(TextAncestor) : false;\n var themeState = scopeId && engineOf() ? scopeState(scopeId) : void 0;\n var resetsText = inText && host === \"view\";\n if (!themeState) {\n return resetsText ? /* @__PURE__ */ _jsx(TextAncestorProvider, {\n value: false,\n children: /* @__PURE__ */ _jsx(Fallback, {\n ...props\n })\n }, key) : /* @__PURE__ */ _jsx(Fallback, {\n ...props\n }, key);\n }\n var rest = props;\n if (props._expressions !== void 0) {\n var { _expressions: _ignoredExpressions, ...withoutExpressions } = props;\n rest = withoutExpressions;\n }\n var ref = props.ref;\n var { name, theme } = themeState;\n var asHostText = HostText && !inText;\n var Rendered = asHostText ? HostText : Component;\n var entry = entries.get(scopeId);\n if (!entry) {\n entry = createEntry();\n entries.set(scopeId, entry);\n }\n if (entry.stateName !== name || entry.theme !== theme) {\n var themed = resolve(themeStyleKeys, name, theme);\n entry.style = [\n baseStyle,\n themed\n ];\n entry.hostTextStyle = [\n hostTextBase,\n themed\n ];\n entry.stateName = name;\n entry.theme = theme;\n entry.state = linkState(themeStyleKeys, scopeId, name, theme);\n }\n var style = asHostText ? entry.hostTextStyle : entry.style;\n var wrapped = resetsText || asHostText && mayRenderText(rest.children);\n var state = entry.state;\n var
|
|
1
|
+
{"version":3,"file":"_withNativeStyle.native.js","names":[],"sources":["esm/_withNativeStyle.native.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { setRef } from \"@tamagui/compose-refs\";\nimport { isAndroid, isIos } from \"@tamagui/constants\";\nimport React, { use } from \"react\";\nimport { _withStableStyle } from \"./_withStableStyle\";\nimport { captureNativeStyleRoot, createNativeStyleLinkState, getNativeStyleEngine, linkNativeStyleHost, nativeStyleMountMode, registerNativeStyle, resolveNativeStyleMapping } from \"./helpers/nativeStyleEngine\";\nimport { getThemeState, ThemeStateContext } from \"./hooks/useThemeState\";\nimport { hooks } from \"./setupHooks\";\nvar hostTextProps = {\n accessible: isAndroid ? false : isIos ? true : void 0,\n allowFontScaling: true,\n ellipsizeMode: \"tail\"\n};\nvar _withNativeStyle = function _withNativeStyle2(Component, baseStyle, themeStyleKeys, host) {\n var _hooks_getBaseViews;\n var Fallback = _withStableStyle(Component, function(theme) {\n var themedStyle = {};\n for (var styleKey in themeStyleKeys) {\n var _theme_themeStyleKeys_styleKey;\n themedStyle[styleKey] = (_theme_themeStyleKeys_styleKey = theme[themeStyleKeys[styleKey]]) === null || _theme_themeStyleKeys_styleKey === void 0 ? void 0 : _theme_themeStyleKeys_styleKey.get();\n }\n return [\n baseStyle,\n themedStyle\n ];\n }, true, false);\n var baseViews = host ? (_hooks_getBaseViews = hooks.getBaseViews) === null || _hooks_getBaseViews === void 0 ? void 0 : _hooks_getBaseViews.call(hooks) : void 0;\n var TextAncestor = baseViews === null || baseViews === void 0 ? void 0 : baseViews.TextAncestor;\n var TextAncestorProvider = TextAncestor === null || TextAncestor === void 0 ? void 0 : TextAncestor.Provider;\n var HostText = host === \"text\" && !(\"userSelect\" in baseStyle) && !(\"verticalAlign\" in baseStyle) ? baseViews === null || baseViews === void 0 ? void 0 : baseViews.NativeText : void 0;\n var hostTextBase = HostText ? {\n overflow: \"hidden\",\n ...baseStyle,\n ...typeof baseStyle.fontWeight === \"number\" && {\n fontWeight: String(baseStyle.fontWeight)\n }\n } : baseStyle;\n var entries = /* @__PURE__ */ new Map();\n var createEntry = function createEntry2() {\n var entry = {\n style: [\n baseStyle,\n null\n ],\n hostTextStyle: [\n hostTextBase,\n null\n ],\n stateName: \"\",\n theme: null,\n state: null,\n ref: function ref(node) {\n if (!node) return;\n captureRoot(node);\n linkHost(node, entry.state);\n }\n };\n return entry;\n };\n var ScopeContext = ThemeStateContext;\n var engineOf = getNativeStyleEngine;\n var scopeState = getThemeState;\n var resolve = resolveNativeStyleMapping;\n var linkState = createNativeStyleLinkState;\n var linkHost = linkNativeStyleHost;\n var registerStyle = registerNativeStyle;\n var mountMode = nativeStyleMountMode;\n var captureRoot = captureNativeStyleRoot;\n var assignRef = setRef;\n var render = function render2(props, key) {\n var scopeId = use(ScopeContext);\n var inText = TextAncestor ? use(TextAncestor) : false;\n var themeState = scopeId && engineOf() ? scopeState(scopeId) : void 0;\n var resetsText = inText && host === \"view\";\n if (!themeState) {\n return resetsText ? /* @__PURE__ */ _jsx(TextAncestorProvider, {\n value: false,\n children: /* @__PURE__ */ _jsx(Fallback, {\n ...props\n })\n }, key) : /* @__PURE__ */ _jsx(Fallback, {\n ...props\n }, key);\n }\n var rest = props;\n if (props._expressions !== void 0) {\n var { _expressions: _ignoredExpressions, ...withoutExpressions } = props;\n rest = withoutExpressions;\n }\n var ref = props.ref;\n var { name, theme } = themeState;\n var asHostText = HostText && !inText;\n var Rendered = asHostText ? HostText : Component;\n var entry = entries.get(scopeId);\n if (!entry) {\n entry = createEntry();\n entries.set(scopeId, entry);\n }\n if (entry.stateName !== name || entry.theme !== theme) {\n var themed = resolve(themeStyleKeys, name, theme);\n entry.style = [\n baseStyle,\n themed\n ];\n entry.hostTextStyle = [\n hostTextBase,\n themed\n ];\n entry.stateName = name;\n entry.theme = theme;\n entry.state = linkState(themeStyleKeys, scopeId, name, theme);\n registerStyle(entry.style, entry.state);\n registerStyle(entry.hostTextStyle, entry.state);\n }\n var style = asHostText ? entry.hostTextStyle : entry.style;\n var wrapped = resetsText || asHostText && mayRenderText(rest.children);\n var state = entry.state;\n var discover = mountMode() === \"discover\";\n var passedRef = discover ? ref !== null && ref !== void 0 ? ref : null : ref == null ? entry.ref : function(node) {\n if (!node) return assignRef(ref, null);\n captureRoot(node);\n linkHost(node, state);\n if (typeof ref === \"function\") return ref(node);\n assignRef(ref, node);\n };\n var element = /* @__PURE__ */ _jsx(Rendered, {\n ...asHostText && hostTextProps,\n ...passedRef == null ? omitRef(rest) : rest,\n ...passedRef != null ? {\n ref: passedRef\n } : null,\n style\n }, wrapped ? void 0 : key);\n if (!wrapped) return element;\n return /* @__PURE__ */ _jsx(TextAncestorProvider, {\n value: !resetsText,\n children: element\n }, key);\n };\n var NativeStyleView = function NativeStyleView2(props) {\n return render(props);\n };\n NativeStyleView.inline = function(element) {\n return render(element.props, element.key);\n };\n return NativeStyleView;\n};\nfunction omitRef(props) {\n if (!Object.prototype.hasOwnProperty.call(props, \"ref\")) return props;\n var { ref: _ref, ...rest } = props;\n return rest;\n}\nfunction mayRenderText(children) {\n if (children == null) return false;\n if (Array.isArray(children) && children.length <= 3) {\n return children.some(function(child) {\n return child != null && typeof child === \"object\";\n });\n }\n return typeof children === \"object\";\n}\nexport {\n _withNativeStyle\n};\n//# sourceMappingURL=_withNativeStyle.js.map\n"],"mappings":"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"}
|
|
@@ -848,8 +848,8 @@ ${banner}
|
|
|
848
848
|
const childrenFromHooks = hooks.useChildren ? hooks.useChildren(elementType, children, viewProps, isPassthrough) : void 0;
|
|
849
849
|
if (isPassthrough) content = React.createElement(BaseComponent, { style: { display: "contents" } }, propsIn.children);
|
|
850
850
|
else {
|
|
851
|
-
if (childrenFromHooks) content = childrenFromHooks;
|
|
852
851
|
const isRenderPropString = typeof renderProp === "string";
|
|
852
|
+
if (childrenFromHooks && (!renderProp || isRenderPropString)) content = childrenFromHooks;
|
|
853
853
|
if (renderProp && !isRenderPropString) {
|
|
854
854
|
const out = getCustomRender(renderProp, content || children, viewProps, componentState);
|
|
855
855
|
if (out) {
|