@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.
Files changed (36) hide show
  1. package/dist/cjs/_withNativeStyle.cjs +18 -4
  2. package/dist/cjs/_withNativeStyle.native.cjs +18 -4
  3. package/dist/cjs/_withNativeStyle.native.js +18 -4
  4. package/dist/cjs/_withNativeStyle.native.js.map +1 -1
  5. package/dist/cjs/createComponent.cjs +1 -1
  6. package/dist/cjs/createComponent.native.cjs +1 -1
  7. package/dist/cjs/createComponent.native.js +1 -1
  8. package/dist/cjs/createComponent.native.js.map +1 -1
  9. package/dist/cjs/helpers/nativeStyleEngine.cjs +77 -5
  10. package/dist/cjs/helpers/nativeStyleEngine.native.cjs +80 -5
  11. package/dist/cjs/helpers/nativeStyleEngine.native.js +80 -5
  12. package/dist/cjs/helpers/nativeStyleEngine.native.js.map +1 -1
  13. package/dist/esm/_withNativeStyle.mjs +19 -5
  14. package/dist/esm/_withNativeStyle.mjs.map +1 -1
  15. package/dist/esm/_withNativeStyle.native.js +19 -5
  16. package/dist/esm/_withNativeStyle.native.js.map +1 -1
  17. package/dist/esm/createComponent.mjs +1 -1
  18. package/dist/esm/createComponent.mjs.map +1 -1
  19. package/dist/esm/createComponent.native.js +1 -1
  20. package/dist/esm/createComponent.native.js.map +1 -1
  21. package/dist/esm/helpers/nativeStyleEngine.mjs +75 -6
  22. package/dist/esm/helpers/nativeStyleEngine.mjs.map +1 -1
  23. package/dist/esm/helpers/nativeStyleEngine.native.js +78 -6
  24. package/dist/esm/helpers/nativeStyleEngine.native.js.map +1 -1
  25. package/package.json +17 -17
  26. package/src/_withNativeStyle.tsx +34 -13
  27. package/src/createComponent.tsx +5 -4
  28. package/src/helpers/nativeStyleEngine.ts +116 -6
  29. package/src/hooks/useComponentState.ts +34 -1
  30. package/types/_withNativeStyle.d.ts +5 -4
  31. package/types/_withNativeStyle.d.ts.map +1 -1
  32. package/types/createComponent.d.ts.map +1 -1
  33. package/types/helpers/nativeStyleEngine.d.ts +5 -0
  34. package/types/helpers/nativeStyleEngine.d.ts.map +1 -1
  35. package/types/hooks/useComponentState.d.ts +14 -11
  36. 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 && !idleFlushQueued) {
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 && !idleFlushQueued) {
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) linkHost(node, entry.state);
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 hostRef = ref == null ? entry.ref : (node) => {
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: hostRef,
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 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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"}
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) linkHost(node, entry.state);
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 hostRef = ref == null ? entry.ref : function(node) {
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: hostRef,
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 hostRef = ref == null ? entry.ref : function(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 var element = /* @__PURE__ */ _jsx(Rendered, {\n ...asHostText && hostTextProps,\n ...rest,\n ref: hostRef,\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 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":";;;;;;;;;;AAQA,IAAI,gBAAgB;CAClB,YAAY,YAAY,QAAQ,QAAQ,OAAO,KAAK;CACpD,kBAAkB;CAClB,eAAe;AACjB;AACA,IAAI,mBAAmB,SAAS,kBAAkB,WAAW,WAAW,gBAAgB,MAAM;CAC5F,IAAI;CACJ,IAAI,WAAW,iBAAiB,WAAW,SAAS,OAAO;EACzD,IAAI,cAAc,CAAC;EACnB,KAAK,IAAI,YAAY,gBAAgB;GACnC,IAAI;GACJ,YAAY,aAAa,iCAAiC,MAAM,eAAe,gBAAgB,QAAQ,mCAAmC,KAAK,IAAI,KAAK,IAAI,+BAA+B,IAAI;EACjM;EACA,OAAO,CACL,WACA,WACF;CACF,GAAG,MAAM,KAAK;CACd,IAAI,YAAY,QAAQ,sBAAsB,MAAM,kBAAkB,QAAQ,wBAAwB,KAAK,IAAI,KAAK,IAAI,oBAAoB,KAAK,KAAK,IAAI,KAAK;CAC/J,IAAI,eAAe,cAAc,QAAQ,cAAc,KAAK,IAAI,KAAK,IAAI,UAAU;CACnF,IAAI,uBAAuB,iBAAiB,QAAQ,iBAAiB,KAAK,IAAI,KAAK,IAAI,aAAa;CACpG,IAAI,WAAW,SAAS,UAAU,EAAE,gBAAgB,cAAc,EAAE,mBAAmB,aAAa,cAAc,QAAQ,cAAc,KAAK,IAAI,KAAK,IAAI,UAAU,aAAa,KAAK;CACtL,IAAI,eAAe,WAAW;EAC5B,UAAU;EACV,GAAG;EACH,GAAG,OAAO,UAAU,eAAe,YAAY,EAC7C,YAAY,OAAO,UAAU,UAAU,EACzC;CACF,IAAI;CACJ,IAAI,0BAA0B,IAAI,IAAI;CACtC,IAAI,cAAc,SAAS,eAAe;EACxC,IAAI,QAAQ;GACV,OAAO,CACL,WACA,IACF;GACA,eAAe,CACb,cACA,IACF;GACA,WAAW;GACX,OAAO;GACP,OAAO;GACP,KAAK,SAAS,IAAI,MAAM;IACtB,IAAI,MAAM,SAAS,MAAM,MAAM,KAAK;GACtC;EACF;EACA,OAAO;CACT;CACA,IAAI,eAAe;CACnB,IAAI,WAAW;CACf,IAAI,aAAa;CACjB,IAAI,UAAU;CACd,IAAI,YAAY;CAChB,IAAI,WAAW;CACf,IAAI,YAAY;CAChB,IAAI,SAAS,SAAS,QAAQ,OAAO,KAAK;EACxC,IAAI,UAAU,IAAI,YAAY;EAC9B,IAAI,SAAS,eAAe,IAAI,YAAY,IAAI;EAChD,IAAI,aAAa,WAAW,SAAS,IAAI,WAAW,OAAO,IAAI,KAAK;EACpE,IAAI,aAAa,UAAU,SAAS;EACpC,IAAI,CAAC,YAAY;GACf,OAAO,aAA6B,oBAAK,sBAAsB;IAC7D,OAAO;IACP,UAA0B,oBAAK,UAAU,EACvC,GAAG,MACL,CAAC;GACH,GAAG,GAAG,IAAoB,oBAAK,UAAU,EACvC,GAAG,MACL,GAAG,GAAG;EACR;EACA,IAAI,OAAO;EACX,IAAI,MAAM,iBAAiB,KAAK,GAAG;GACjC,IAAI,EAAE,cAAc,qBAAqB,GAAG,uBAAuB;GACnE,OAAO;EACT;EACA,IAAI,MAAM,MAAM;EAChB,IAAI,EAAE,MAAM,UAAU;EACtB,IAAI,aAAa,YAAY,CAAC;EAC9B,IAAI,WAAW,aAAa,WAAW;EACvC,IAAI,QAAQ,QAAQ,IAAI,OAAO;EAC/B,IAAI,CAAC,OAAO;GACV,QAAQ,YAAY;GACpB,QAAQ,IAAI,SAAS,KAAK;EAC5B;EACA,IAAI,MAAM,cAAc,QAAQ,MAAM,UAAU,OAAO;GACrD,IAAI,SAAS,QAAQ,gBAAgB,MAAM,KAAK;GAChD,MAAM,QAAQ,CACZ,WACA,MACF;GACA,MAAM,gBAAgB,CACpB,cACA,MACF;GACA,MAAM,YAAY;GAClB,MAAM,QAAQ;GACd,MAAM,QAAQ,UAAU,gBAAgB,SAAS,MAAM,KAAK;EAC9D;EACA,IAAI,QAAQ,aAAa,MAAM,gBAAgB,MAAM;EACrD,IAAI,UAAU,cAAc,cAAc,cAAc,KAAK,QAAQ;EACrE,IAAI,QAAQ,MAAM;EAClB,IAAI,UAAU,OAAO,OAAO,MAAM,MAAM,SAAS,MAAM;GACrD,IAAI,CAAC,MAAM,OAAO,UAAU,KAAK,IAAI;GACrC,SAAS,MAAM,KAAK;GACpB,IAAI,OAAO,QAAQ,YAAY,OAAO,IAAI,IAAI;GAC9C,UAAU,KAAK,IAAI;EACrB;EACA,IAAI,UAA0B,oBAAK,UAAU;GAC3C,GAAG,cAAc;GACjB,GAAG;GACH,KAAK;GACL;EACF,GAAG,UAAU,KAAK,IAAI,GAAG;EACzB,IAAI,CAAC,SAAS,OAAO;EACrB,OAAuB,oBAAK,sBAAsB;GAChD,OAAO,CAAC;GACR,UAAU;EACZ,GAAG,GAAG;CACR;CACA,IAAI,kBAAkB,SAAS,iBAAiB,OAAO;EACrD,OAAO,OAAO,KAAK;CACrB;CACA,gBAAgB,SAAS,SAAS,SAAS;EACzC,OAAO,OAAO,QAAQ,OAAO,QAAQ,GAAG;CAC1C;CACA,OAAO;AACT;AACA,SAAS,cAAc,UAAU;CAC/B,IAAI,YAAY,MAAM,OAAO;CAC7B,IAAI,MAAM,QAAQ,QAAQ,KAAK,SAAS,UAAU,GAAG;EACnD,OAAO,SAAS,KAAK,SAAS,OAAO;GACnC,OAAO,SAAS,QAAQ,OAAO,UAAU;EAC3C,CAAC;CACH;CACA,OAAO,OAAO,aAAa;AAC7B"}
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) {