@tamagui/web 3.0.5 → 3.0.7
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 +37 -20
- package/dist/cjs/_withNativeStyle.native.cjs +37 -20
- package/dist/cjs/_withNativeStyle.native.js +37 -20
- package/dist/cjs/_withNativeStyle.native.js.map +1 -1
- package/dist/cjs/createComponent.native.cjs +1 -0
- package/dist/cjs/createComponent.native.js +1 -0
- package/dist/cjs/createComponent.native.js.map +1 -1
- package/dist/cjs/helpers/getSplitStyles.cjs +2 -1
- package/dist/cjs/helpers/getSplitStyles.native.cjs +2 -1
- package/dist/cjs/helpers/getSplitStyles.native.js +2 -1
- package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
- package/dist/cjs/helpers/nativeStyleEngine.cjs +80 -122
- package/dist/cjs/helpers/nativeStyleEngine.native.cjs +81 -161
- package/dist/cjs/helpers/nativeStyleEngine.native.js +81 -161
- package/dist/cjs/helpers/nativeStyleEngine.native.js.map +1 -1
- package/dist/esm/_withNativeStyle.mjs +38 -21
- package/dist/esm/_withNativeStyle.mjs.map +1 -1
- package/dist/esm/_withNativeStyle.native.js +38 -21
- package/dist/esm/_withNativeStyle.native.js.map +1 -1
- package/dist/esm/createComponent.native.js +2 -1
- package/dist/esm/createComponent.native.js.map +1 -1
- package/dist/esm/helpers/getSplitStyles.mjs +2 -1
- package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
- package/dist/esm/helpers/getSplitStyles.native.js +2 -1
- package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
- package/dist/esm/helpers/nativeStyleEngine.mjs +78 -122
- package/dist/esm/helpers/nativeStyleEngine.mjs.map +1 -1
- package/dist/esm/helpers/nativeStyleEngine.native.js +79 -161
- package/dist/esm/helpers/nativeStyleEngine.native.js.map +1 -1
- package/package.json +17 -17
- package/src/_withNativeStyle.tsx +67 -31
- package/src/createComponent.tsx +6 -1
- package/src/helpers/getSplitStyles.tsx +3 -0
- package/src/helpers/nativeStyleEngine.ts +118 -163
- package/types/_withNativeStyle.d.ts +4 -3
- package/types/_withNativeStyle.d.ts.map +1 -1
- package/types/createComponent.d.ts.map +1 -1
- package/types/helpers/getSplitStyles.d.ts.map +1 -1
- package/types/helpers/nativeStyleEngine.d.ts +26 -6
- package/types/helpers/nativeStyleEngine.d.ts.map +1 -1
|
@@ -22,10 +22,11 @@ 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
|
+
createNativeStyleLinkState: () => createNativeStyleLinkState,
|
|
25
26
|
flushNativeStyleLinks: () => flushNativeStyleLinks,
|
|
26
27
|
getNativeStyleEngine: () => getNativeStyleEngine,
|
|
27
28
|
getNativeStyleEngineCacheStats: () => getNativeStyleEngineCacheStats,
|
|
28
|
-
|
|
29
|
+
linkNativeStyleHost: () => linkNativeStyleHost,
|
|
29
30
|
nativeTextInputColorProps: () => nativeTextInputColorProps,
|
|
30
31
|
normalizeNativeStyle: () => normalizeNativeStyle,
|
|
31
32
|
queueNativeViewState: () => queueNativeViewState,
|
|
@@ -33,6 +34,7 @@ __export(nativeStyleEngine_exports, {
|
|
|
33
34
|
resolveNativeStyleMapping: () => resolveNativeStyleMapping,
|
|
34
35
|
setNativeStyleEngine: () => setNativeStyleEngine,
|
|
35
36
|
setNativeStyleEngineFlushListener: () => setNativeStyleEngineFlushListener,
|
|
37
|
+
supersedeNativeViewStates: () => supersedeNativeViewStates,
|
|
36
38
|
updateNativeStyleLink: () => updateNativeStyleLink,
|
|
37
39
|
updateNativeStyleScope: () => updateNativeStyleScope
|
|
38
40
|
});
|
|
@@ -177,11 +179,10 @@ function syncTableState(compiled, stateName, theme) {
|
|
|
177
179
|
}
|
|
178
180
|
function setNativeStyleEngine(next) {
|
|
179
181
|
if (engine !== next) {
|
|
180
|
-
settleReleases();
|
|
181
182
|
compiledMappings.clear();
|
|
182
183
|
scopeMappings.clear();
|
|
183
|
-
|
|
184
|
-
|
|
184
|
+
pendingHosts = [];
|
|
185
|
+
pendingStates = [];
|
|
185
186
|
}
|
|
186
187
|
engine = next;
|
|
187
188
|
if (next) {
|
|
@@ -223,7 +224,7 @@ function updateNativeStyleScope(scopeId, stateName, theme) {
|
|
|
223
224
|
if (linked) {
|
|
224
225
|
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
225
226
|
try {
|
|
226
|
-
for (var _iterator = linked
|
|
227
|
+
for (var _iterator = linked[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
227
228
|
var compiled = _step.value;
|
|
228
229
|
syncTableState(compiled, stateName, theme);
|
|
229
230
|
}
|
|
@@ -247,179 +248,84 @@ function updateNativeStyleScope(scopeId, stateName, theme) {
|
|
|
247
248
|
}
|
|
248
249
|
function removeNativeStyleScope(scopeId) {
|
|
249
250
|
if (!scopeStates.delete(scopeId)) return;
|
|
251
|
+
queueMicrotask(function() {
|
|
252
|
+
if (!scopeStates.has(scopeId)) scopeMappings.delete(scopeId);
|
|
253
|
+
});
|
|
250
254
|
engine === null || engine === void 0 ? void 0 : engine.removeScope(scopeId);
|
|
251
255
|
}
|
|
252
256
|
function resolveNativeStyleMapping(mapping, stateName, theme) {
|
|
253
257
|
return resolveCompiledMapping(getCompiledMapping(mapping), stateName, theme).renderProps;
|
|
254
258
|
}
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
259
|
+
function createNativeStyleLinkState(mapping, scopeId, stateName, theme) {
|
|
260
|
+
return {
|
|
261
|
+
mapping,
|
|
262
|
+
scopeId,
|
|
263
|
+
stateName,
|
|
264
|
+
theme
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
var pendingHosts = [];
|
|
268
|
+
var pendingStates = [];
|
|
269
|
+
var maxPendingHosts = 4096;
|
|
270
|
+
var idleFlushQueued = false;
|
|
271
|
+
function idleFlush() {
|
|
272
|
+
idleFlushQueued = false;
|
|
273
|
+
flushNativeStyleLinks();
|
|
274
|
+
}
|
|
275
|
+
function addScopeMapping(scopeId, compiled) {
|
|
276
|
+
var linked = scopeMappings.get(scopeId);
|
|
277
|
+
if (!linked) scopeMappings.set(scopeId, linked = /* @__PURE__ */ new Set());
|
|
278
|
+
linked.add(compiled);
|
|
268
279
|
}
|
|
269
280
|
function flushNativeStyleLinks() {
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
var
|
|
273
|
-
|
|
274
|
-
|
|
281
|
+
if (!pendingHosts.length) return;
|
|
282
|
+
var hosts = pendingHosts;
|
|
283
|
+
var states = pendingStates;
|
|
284
|
+
pendingHosts = [];
|
|
285
|
+
pendingStates = [];
|
|
275
286
|
if (!engine) return;
|
|
276
|
-
var
|
|
277
|
-
|
|
278
|
-
});
|
|
279
|
-
if (!live.length) return;
|
|
280
|
-
var refs = [];
|
|
281
|
-
var tableIds = [];
|
|
282
|
-
var scopeIndexes = [];
|
|
287
|
+
var tableIds = new Array(hosts.length);
|
|
288
|
+
var scopeIndexes = new Array(hosts.length);
|
|
283
289
|
var scopes = [];
|
|
284
|
-
var
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
290
|
+
var last;
|
|
291
|
+
var tableId = 0;
|
|
292
|
+
var scopeIndex = 0;
|
|
293
|
+
for (var i = 0; i < hosts.length; i++) {
|
|
294
|
+
var state = states[i];
|
|
295
|
+
if (state !== last) {
|
|
296
|
+
last = state;
|
|
297
|
+
var compiled = getCompiledMapping(state.mapping);
|
|
298
|
+
syncTableState(compiled, state.stateName, state.theme);
|
|
299
|
+
addScopeMapping(state.scopeId, compiled);
|
|
300
|
+
tableId = compiled.tableId;
|
|
301
|
+
scopeIndex = scopes.indexOf(state.scopeId);
|
|
302
|
+
if (scopeIndex === -1) scopeIndex = scopes.push(state.scopeId) - 1;
|
|
293
303
|
}
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
_iteratorError = err;
|
|
297
|
-
} finally {
|
|
298
|
-
try {
|
|
299
|
-
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
300
|
-
_iterator.return();
|
|
301
|
-
}
|
|
302
|
-
} finally {
|
|
303
|
-
if (_didIteratorError) {
|
|
304
|
-
throw _iteratorError;
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
var firstId = engine.linkTables(refs, tableIds, scopeIndexes, scopes);
|
|
309
|
-
for (var i = 0; i < live.length; i++) {
|
|
310
|
-
var link1 = live[i];
|
|
311
|
-
link1.id = firstId + i;
|
|
312
|
-
link1.owner = engine;
|
|
313
|
-
link1.ref = null;
|
|
314
|
-
trackScopeMapping(link1, 1);
|
|
304
|
+
tableIds[i] = tableId;
|
|
305
|
+
scopeIndexes[i] = scopeIndex;
|
|
315
306
|
}
|
|
307
|
+
engine.linkTables(hosts, tableIds, scopeIndexes, scopes);
|
|
316
308
|
}
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
for (var _iterator = settling[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
327
|
-
var release = _step.value;
|
|
328
|
-
release.settle();
|
|
329
|
-
}
|
|
330
|
-
} catch (err) {
|
|
331
|
-
_didIteratorError = true;
|
|
332
|
-
_iteratorError = err;
|
|
333
|
-
} finally {
|
|
334
|
-
try {
|
|
335
|
-
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
336
|
-
_iterator.return();
|
|
337
|
-
}
|
|
338
|
-
} finally {
|
|
339
|
-
if (_didIteratorError) {
|
|
340
|
-
throw _iteratorError;
|
|
341
|
-
}
|
|
342
|
-
}
|
|
343
|
-
}
|
|
344
|
-
}
|
|
345
|
-
function releasable(ref, compiled, scopeId, id, settle) {
|
|
346
|
-
var handle = {
|
|
347
|
-
id,
|
|
348
|
-
unlink: function() {
|
|
349
|
-
var prior = releases.get(ref);
|
|
350
|
-
if (prior && prior.handle !== handle) prior.settle();
|
|
351
|
-
releases.set(ref, {
|
|
352
|
-
compiled,
|
|
353
|
-
scopeId,
|
|
354
|
-
handle,
|
|
355
|
-
settle
|
|
356
|
-
});
|
|
357
|
-
if (!settleQueued) {
|
|
358
|
-
settleQueued = true;
|
|
359
|
-
queueMicrotask(settleReleases);
|
|
360
|
-
}
|
|
361
|
-
}
|
|
362
|
-
};
|
|
363
|
-
return handle;
|
|
364
|
-
}
|
|
365
|
-
function linkNativeStyleMapping(ref, mapping, scopeId, stateName, theme) {
|
|
366
|
-
if (!engine) return null;
|
|
367
|
-
var compiled = getCompiledMapping(mapping);
|
|
368
|
-
var scopeState = scopeStates.get(scopeId);
|
|
369
|
-
var stale = scopeState && (scopeState.name !== stateName || scopeState.theme !== theme);
|
|
370
|
-
var kept = releases.get(ref);
|
|
371
|
-
if (kept) {
|
|
372
|
-
releases.delete(ref);
|
|
373
|
-
if (!stale && kept.compiled === compiled && kept.scopeId === scopeId) return kept.handle;
|
|
374
|
-
kept.settle();
|
|
309
|
+
function linkNativeStyleHost(host, state) {
|
|
310
|
+
if (!engine) return;
|
|
311
|
+
var live = scopeStates.get(state.scopeId);
|
|
312
|
+
if (live && (live.name !== state.stateName || live.theme !== state.theme)) {
|
|
313
|
+
var compiled = getCompiledMapping(state.mapping);
|
|
314
|
+
syncTableState(compiled, live.name, live.theme);
|
|
315
|
+
addScopeMapping(state.scopeId, compiled);
|
|
316
|
+
engine.link(host, compiled.tableId, state.scopeId, true);
|
|
317
|
+
return;
|
|
375
318
|
}
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
ref: null,
|
|
382
|
-
compiled,
|
|
383
|
-
scopeId,
|
|
384
|
-
id: handle.id,
|
|
385
|
-
owner: engine
|
|
386
|
-
};
|
|
387
|
-
trackScopeMapping(link, 1);
|
|
388
|
-
return releasable(ref, compiled, scopeId, handle.id, function() {
|
|
389
|
-
if (link.id === -1) return;
|
|
390
|
-
link.id = -1;
|
|
391
|
-
if (link.owner === engine) trackScopeMapping(link, -1);
|
|
392
|
-
handle.unlink();
|
|
393
|
-
});
|
|
319
|
+
pendingHosts.push(host);
|
|
320
|
+
pendingStates.push(state);
|
|
321
|
+
if (pendingHosts.length >= maxPendingHosts && !idleFlushQueued) {
|
|
322
|
+
idleFlushQueued = true;
|
|
323
|
+
requestIdleCallback(idleFlush);
|
|
394
324
|
}
|
|
395
|
-
syncTableState(compiled, stateName, theme);
|
|
396
|
-
var link1 = {
|
|
397
|
-
ref,
|
|
398
|
-
compiled,
|
|
399
|
-
scopeId,
|
|
400
|
-
id: 0,
|
|
401
|
-
owner: null
|
|
402
|
-
};
|
|
403
|
-
pendingLinks.push(link1);
|
|
404
|
-
return releasable(ref, compiled, scopeId, 0, function() {
|
|
405
|
-
var id = link1.id;
|
|
406
|
-
if (id === -1) return;
|
|
407
|
-
link1.id = -1;
|
|
408
|
-
link1.ref = null;
|
|
409
|
-
if (id > 0) {
|
|
410
|
-
if (link1.owner === engine) trackScopeMapping(link1, -1);
|
|
411
|
-
link1.owner.unlink(id);
|
|
412
|
-
} else if (++unlinkedPending > 512 && unlinkedPending * 2 > pendingLinks.length) {
|
|
413
|
-
pendingLinks = pendingLinks.filter(function(pending2) {
|
|
414
|
-
return pending2.id === 0;
|
|
415
|
-
});
|
|
416
|
-
unlinkedPending = 0;
|
|
417
|
-
}
|
|
418
|
-
});
|
|
419
325
|
}
|
|
420
326
|
var getNativeStyleEngineCacheStats = function() {
|
|
421
327
|
var active = new Set([...scopeMappings.values()].flatMap(function(linked) {
|
|
422
|
-
return [...linked
|
|
328
|
+
return [...linked];
|
|
423
329
|
}));
|
|
424
330
|
return {
|
|
425
331
|
mappings: compiledMappings.size,
|
|
@@ -444,18 +350,32 @@ function updateNativeStyleLink(ref, host) {
|
|
|
444
350
|
ref.nativeLink = engine.link(host, {});
|
|
445
351
|
}
|
|
446
352
|
}
|
|
353
|
+
var superseded = null;
|
|
447
354
|
function queueNativeViewState(entry) {
|
|
448
355
|
if (!engine) return;
|
|
449
356
|
if (!pending) {
|
|
450
357
|
pending = [];
|
|
451
358
|
queueMicrotask(function() {
|
|
452
359
|
var entries = pending;
|
|
360
|
+
var dropped = superseded;
|
|
453
361
|
pending = null;
|
|
362
|
+
superseded = null;
|
|
363
|
+
if (dropped) {
|
|
364
|
+
entries = entries.filter(function(queued, index) {
|
|
365
|
+
var _dropped_get;
|
|
366
|
+
return index >= ((_dropped_get = dropped.get(queued.id)) !== null && _dropped_get !== void 0 ? _dropped_get : 0);
|
|
367
|
+
});
|
|
368
|
+
}
|
|
369
|
+
if (!entries.length) return;
|
|
454
370
|
engine === null || engine === void 0 ? void 0 : engine.applyViewStates(entries);
|
|
455
371
|
flushListener === null || flushListener === void 0 ? void 0 : flushListener(entries);
|
|
456
372
|
});
|
|
457
373
|
}
|
|
458
374
|
pending.push(entry);
|
|
459
375
|
}
|
|
376
|
+
function supersedeNativeViewStates(id) {
|
|
377
|
+
if (!pending) return;
|
|
378
|
+
(superseded || (superseded = /* @__PURE__ */ new Map())).set(id, pending.length);
|
|
379
|
+
}
|
|
460
380
|
|
|
461
381
|
//# sourceMappingURL=nativeStyleEngine.native.js.map
|
|
@@ -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 flushNativeStyleLinks: () => flushNativeStyleLinks,\n getNativeStyleEngine: () => getNativeStyleEngine,\n getNativeStyleEngineCacheStats: () => getNativeStyleEngineCacheStats,\n linkNativeStyleMapping: () => linkNativeStyleMapping,\n nativeTextInputColorProps: () => nativeTextInputColorProps,\n normalizeNativeStyle: () => normalizeNativeStyle,\n queueNativeViewState: () => queueNativeViewState,\n removeNativeStyleScope: () => removeNativeStyleScope,\n resolveNativeStyleMapping: () => resolveNativeStyleMapping,\n setNativeStyleEngine: () => setNativeStyleEngine,\n setNativeStyleEngineFlushListener: () => setNativeStyleEngineFlushListener,\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 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 _engine_processStyleColors;\n var nativeProps = (_engine_processStyleColors = engine === null || engine === void 0 ? void 0 : engine.processStyleColors(renderProps)) !== null && _engine_processStyleColors !== void 0 ? _engine_processStyleColors : 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 settleReleases();\n compiledMappings.clear();\n scopeMappings.clear();\n pendingLinks = [];\n unlinkedPending = 0;\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.keys()[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 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}\nvar pendingLinks = [];\nvar unlinkedPending = 0;\nfunction trackScopeMapping(link, delta) {\n var linked = scopeMappings.get(link.scopeId);\n if (!linked) scopeMappings.set(link.scopeId, linked = /* @__PURE__ */ new Map());\n var _linked_get;\n var count = ((_linked_get = linked.get(link.compiled)) !== null && _linked_get !== void 0 ? _linked_get : 0) + delta;\n if (count) {\n linked.set(link.compiled, count);\n } else {\n linked.delete(link.compiled);\n if (!linked.size) scopeMappings.delete(link.scopeId);\n }\n}\nfunction flushNativeStyleLinks() {\n settleReleases();\n if (!pendingLinks.length) return;\n var links = pendingLinks;\n pendingLinks = [];\n unlinkedPending = 0;\n if (!engine) return;\n var live = links.filter(function(link2) {\n return link2.id === 0;\n });\n if (!live.length) return;\n var refs = [];\n var tableIds = [];\n var scopeIndexes = [];\n var scopes = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = live[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var link = _step.value;\n var scopeIndex = scopes.indexOf(link.scopeId);\n if (scopeIndex === -1) scopeIndex = scopes.push(link.scopeId) - 1;\n refs.push(link.ref);\n tableIds.push(link.compiled.tableId);\n scopeIndexes.push(scopeIndex);\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 var firstId = engine.linkTables(refs, tableIds, scopeIndexes, scopes);\n for (var i = 0; i < live.length; i++) {\n var link1 = live[i];\n link1.id = firstId + i;\n link1.owner = engine;\n link1.ref = null;\n trackScopeMapping(link1, 1);\n }\n}\nvar releases = /* @__PURE__ */ new Map();\nvar settleQueued = false;\nfunction settleReleases() {\n settleQueued = false;\n if (!releases.size) return;\n var settling = [\n ...releases.values()\n ];\n releases.clear();\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = settling[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var release = _step.value;\n release.settle();\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}\nfunction releasable(ref, compiled, scopeId, id, settle) {\n var handle = {\n id,\n unlink: function() {\n var prior = releases.get(ref);\n if (prior && prior.handle !== handle) prior.settle();\n releases.set(ref, {\n compiled,\n scopeId,\n handle,\n settle\n });\n if (!settleQueued) {\n settleQueued = true;\n queueMicrotask(settleReleases);\n }\n }\n };\n return handle;\n}\nfunction linkNativeStyleMapping(ref, mapping, scopeId, stateName, theme) {\n if (!engine) return null;\n var compiled = getCompiledMapping(mapping);\n var scopeState = scopeStates.get(scopeId);\n var stale = scopeState && (scopeState.name !== stateName || scopeState.theme !== theme);\n var kept = releases.get(ref);\n if (kept) {\n releases.delete(ref);\n if (!stale && kept.compiled === compiled && kept.scopeId === scopeId) return kept.handle;\n kept.settle();\n }\n if (stale) {\n syncTableState(compiled, scopeState.name, scopeState.theme);\n var handle = engine.link(ref, compiled.tableId, scopeId, true);\n if (!handle) return null;\n var link = {\n ref: null,\n compiled,\n scopeId,\n id: handle.id,\n owner: engine\n };\n trackScopeMapping(link, 1);\n return releasable(ref, compiled, scopeId, handle.id, function() {\n if (link.id === -1) return;\n link.id = -1;\n if (link.owner === engine) trackScopeMapping(link, -1);\n handle.unlink();\n });\n }\n syncTableState(compiled, stateName, theme);\n var link1 = {\n ref,\n compiled,\n scopeId,\n id: 0,\n owner: null\n };\n pendingLinks.push(link1);\n return releasable(ref, compiled, scopeId, 0, function() {\n var id = link1.id;\n if (id === -1) return;\n link1.id = -1;\n link1.ref = null;\n if (id > 0) {\n if (link1.owner === engine) trackScopeMapping(link1, -1);\n link1.owner.unlink(id);\n } else if (++unlinkedPending > 512 && unlinkedPending * 2 > pendingLinks.length) {\n pendingLinks = pendingLinks.filter(function(pending2) {\n return pending2.id === 0;\n });\n unlinkedPending = 0;\n }\n });\n}\nvar getNativeStyleEngineCacheStats = function() {\n var active = new Set([\n ...scopeMappings.values()\n ].flatMap(function(linked) {\n return [\n ...linked.keys()\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}\nfunction queueNativeViewState(entry) {\n if (!engine) return;\n if (!pending) {\n pending = [];\n queueMicrotask(function() {\n var entries = pending;\n pending = null;\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}\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 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 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 _engine_processStyleColors;\n var nativeProps = (_engine_processStyleColors = engine === null || engine === void 0 ? void 0 : engine.processStyleColors(renderProps)) !== null && _engine_processStyleColors !== void 0 ? _engine_processStyleColors : 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() {\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 { getNativeStyleEngine,
|
|
5
|
+
import { createNativeStyleLinkState, getNativeStyleEngine, linkNativeStyleHost, 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";
|
|
@@ -29,13 +29,26 @@ const _withNativeStyle = (Component, baseStyle, themeStyleKeys, host) => {
|
|
|
29
29
|
...baseStyle,
|
|
30
30
|
...typeof baseStyle.fontWeight === "number" && { fontWeight: String(baseStyle.fontWeight) }
|
|
31
31
|
} : baseStyle;
|
|
32
|
-
const
|
|
33
|
-
const
|
|
32
|
+
const entries = /* @__PURE__ */ new Map();
|
|
33
|
+
const createEntry = () => {
|
|
34
|
+
const entry = {
|
|
35
|
+
style: [baseStyle, null],
|
|
36
|
+
hostTextStyle: [hostTextBase, null],
|
|
37
|
+
stateName: "",
|
|
38
|
+
theme: null,
|
|
39
|
+
state: null,
|
|
40
|
+
ref: (node) => {
|
|
41
|
+
if (node) linkHost(node, entry.state);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
return entry;
|
|
45
|
+
};
|
|
34
46
|
const ScopeContext = ThemeStateContext;
|
|
35
47
|
const engineOf = getNativeStyleEngine;
|
|
36
48
|
const scopeState = getThemeState;
|
|
37
49
|
const resolve = resolveNativeStyleMapping;
|
|
38
|
-
const
|
|
50
|
+
const linkState = createNativeStyleLinkState;
|
|
51
|
+
const linkHost = linkNativeStyleHost;
|
|
39
52
|
const assignRef = setRef;
|
|
40
53
|
const render = (props, key) => {
|
|
41
54
|
const scopeId = use(ScopeContext);
|
|
@@ -57,28 +70,32 @@ const _withNativeStyle = (Component, baseStyle, themeStyleKeys, host) => {
|
|
|
57
70
|
const { name, theme } = themeState;
|
|
58
71
|
const asHostText = HostText && !inText;
|
|
59
72
|
const Rendered = asHostText ? HostText : Component;
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
cache.set(scopeId, style);
|
|
73
|
+
let entry = entries.get(scopeId);
|
|
74
|
+
if (!entry) {
|
|
75
|
+
entry = createEntry();
|
|
76
|
+
entries.set(scopeId, entry);
|
|
65
77
|
}
|
|
66
|
-
|
|
78
|
+
if (entry.stateName !== name || entry.theme !== theme) {
|
|
79
|
+
const themed = resolve(themeStyleKeys, name, theme);
|
|
80
|
+
entry.style[1] = themed;
|
|
81
|
+
entry.hostTextStyle[1] = themed;
|
|
82
|
+
entry.stateName = name;
|
|
83
|
+
entry.theme = theme;
|
|
84
|
+
entry.state = linkState(themeStyleKeys, scopeId, name, theme);
|
|
85
|
+
}
|
|
86
|
+
const style = asHostText ? entry.hostTextStyle : entry.style;
|
|
67
87
|
const wrapped = resetsText || asHostText && mayRenderText(rest.children);
|
|
88
|
+
const state = entry.state;
|
|
89
|
+
const hostRef = ref == null ? entry.ref : (node) => {
|
|
90
|
+
if (!node) return assignRef(ref, null);
|
|
91
|
+
linkHost(node, state);
|
|
92
|
+
if (typeof ref === "function") return ref(node);
|
|
93
|
+
assignRef(ref, node);
|
|
94
|
+
};
|
|
68
95
|
const element = /* @__PURE__ */ jsx(Rendered, {
|
|
69
96
|
...asHostText && hostTextProps,
|
|
70
97
|
...rest,
|
|
71
|
-
ref:
|
|
72
|
-
let refCleanup;
|
|
73
|
-
if (typeof ref === "function") refCleanup = ref(node);
|
|
74
|
-
else assignRef(ref, node);
|
|
75
|
-
const link = linkMapping(node, themeStyleKeys, scopeId, name, theme);
|
|
76
|
-
return () => {
|
|
77
|
-
link?.unlink();
|
|
78
|
-
if (typeof refCleanup === "function") refCleanup();
|
|
79
|
-
else assignRef(ref, null);
|
|
80
|
-
};
|
|
81
|
-
},
|
|
98
|
+
ref: hostRef,
|
|
82
99
|
style
|
|
83
100
|
}, wrapped ? void 0 : key);
|
|
84
101
|
if (!wrapped) return element;
|
|
@@ -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 getNativeStyleEngine,\n
|
|
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[1] = themed;\n entry.hostTextStyle[1] = 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 hostRef = ref == null ? entry.ref : (node) => {\n if (!node) return assignRef(ref, null);\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 ...rest,\n ref: hostRef,\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 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 { getNativeStyleEngine,
|
|
6
|
+
import { createNativeStyleLinkState, getNativeStyleEngine, linkNativeStyleHost, 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
|
|
|
@@ -31,13 +31,26 @@ var _withNativeStyle = function(Component, baseStyle, themeStyleKeys, host) {
|
|
|
31
31
|
...baseStyle,
|
|
32
32
|
...typeof baseStyle.fontWeight === "number" && { fontWeight: String(baseStyle.fontWeight) }
|
|
33
33
|
} : baseStyle;
|
|
34
|
-
var
|
|
35
|
-
var
|
|
34
|
+
var entries = /* @__PURE__ */ new Map();
|
|
35
|
+
var createEntry = function() {
|
|
36
|
+
var entry = {
|
|
37
|
+
style: [baseStyle, null],
|
|
38
|
+
hostTextStyle: [hostTextBase, null],
|
|
39
|
+
stateName: "",
|
|
40
|
+
theme: null,
|
|
41
|
+
state: null,
|
|
42
|
+
ref: function(node) {
|
|
43
|
+
if (node) linkHost(node, entry.state);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
return entry;
|
|
47
|
+
};
|
|
36
48
|
var ScopeContext = ThemeStateContext;
|
|
37
49
|
var engineOf = getNativeStyleEngine;
|
|
38
50
|
var scopeState = getThemeState;
|
|
39
51
|
var resolve = resolveNativeStyleMapping;
|
|
40
|
-
var
|
|
52
|
+
var linkState = createNativeStyleLinkState;
|
|
53
|
+
var linkHost = linkNativeStyleHost;
|
|
41
54
|
var assignRef = setRef;
|
|
42
55
|
var render = function(props, key) {
|
|
43
56
|
var scopeId = use(ScopeContext);
|
|
@@ -59,28 +72,32 @@ var _withNativeStyle = function(Component, baseStyle, themeStyleKeys, host) {
|
|
|
59
72
|
var { name, theme } = themeState;
|
|
60
73
|
var asHostText = HostText && !inText;
|
|
61
74
|
var Rendered = asHostText ? HostText : Component;
|
|
62
|
-
var
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
cache.set(scopeId, style);
|
|
75
|
+
var entry = entries.get(scopeId);
|
|
76
|
+
if (!entry) {
|
|
77
|
+
entry = createEntry();
|
|
78
|
+
entries.set(scopeId, entry);
|
|
67
79
|
}
|
|
68
|
-
|
|
80
|
+
if (entry.stateName !== name || entry.theme !== theme) {
|
|
81
|
+
var themed = resolve(themeStyleKeys, name, theme);
|
|
82
|
+
entry.style[1] = themed;
|
|
83
|
+
entry.hostTextStyle[1] = themed;
|
|
84
|
+
entry.stateName = name;
|
|
85
|
+
entry.theme = theme;
|
|
86
|
+
entry.state = linkState(themeStyleKeys, scopeId, name, theme);
|
|
87
|
+
}
|
|
88
|
+
var style = asHostText ? entry.hostTextStyle : entry.style;
|
|
69
89
|
var wrapped = resetsText || asHostText && mayRenderText(rest.children);
|
|
90
|
+
var state = entry.state;
|
|
91
|
+
var hostRef = ref == null ? entry.ref : function(node) {
|
|
92
|
+
if (!node) return assignRef(ref, null);
|
|
93
|
+
linkHost(node, state);
|
|
94
|
+
if (typeof ref === "function") return ref(node);
|
|
95
|
+
assignRef(ref, node);
|
|
96
|
+
};
|
|
70
97
|
var element = /* @__PURE__ */ jsx(Rendered, {
|
|
71
98
|
...asHostText && hostTextProps,
|
|
72
99
|
...rest,
|
|
73
|
-
ref:
|
|
74
|
-
var refCleanup;
|
|
75
|
-
if (typeof ref === "function") refCleanup = ref(node);
|
|
76
|
-
else assignRef(ref, node);
|
|
77
|
-
var link = linkMapping(node, themeStyleKeys, scopeId, name, theme);
|
|
78
|
-
return function() {
|
|
79
|
-
link === null || link === void 0 ? void 0 : link.unlink();
|
|
80
|
-
if (typeof refCleanup === "function") refCleanup();
|
|
81
|
-
else assignRef(ref, null);
|
|
82
|
-
};
|
|
83
|
-
},
|
|
100
|
+
ref: hostRef,
|
|
84
101
|
style
|
|
85
102
|
}, wrapped ? void 0 : key);
|
|
86
103
|
if (!wrapped) return element;
|