@tamagui/core 2.0.0-1768530912818 → 2.0.0-1768636514428

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.
@@ -31,6 +31,7 @@ var __objRest = (source, exclude) => {
31
31
  return target;
32
32
  };
33
33
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
34
+ const jsxRuntime = require("react/jsx-runtime");
34
35
  const React = require("react");
35
36
  const reactNative = require("react-native");
36
37
  function _interopNamespaceDefault(e2) {
@@ -69,290 +70,6 @@ function _mergeNamespaces(n, m) {
69
70
  return Object.freeze(Object.defineProperty(n, Symbol.toStringTag, { value: "Module" }));
70
71
  }
71
72
  const React__namespace = /* @__PURE__ */ _interopNamespaceDefault(React);
72
- function getDefaultExportFromCjs(x) {
73
- return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
74
- }
75
- var jsxRuntime = { exports: {} };
76
- var reactJsxRuntime_development = {};
77
- var hasRequiredReactJsxRuntime_development;
78
- function requireReactJsxRuntime_development() {
79
- if (hasRequiredReactJsxRuntime_development) return reactJsxRuntime_development;
80
- hasRequiredReactJsxRuntime_development = 1;
81
- /**
82
- * @license React
83
- * react-jsx-runtime.development.js
84
- *
85
- * Copyright (c) Meta Platforms, Inc. and affiliates.
86
- *
87
- * This source code is licensed under the MIT license found in the
88
- * LICENSE file in the root directory of this source tree.
89
- */
90
- (function() {
91
- function getComponentNameFromType(type) {
92
- if (null == type) return null;
93
- if ("function" === typeof type)
94
- return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null;
95
- if ("string" === typeof type) return type;
96
- switch (type) {
97
- case REACT_FRAGMENT_TYPE:
98
- return "Fragment";
99
- case REACT_PROFILER_TYPE:
100
- return "Profiler";
101
- case REACT_STRICT_MODE_TYPE:
102
- return "StrictMode";
103
- case REACT_SUSPENSE_TYPE:
104
- return "Suspense";
105
- case REACT_SUSPENSE_LIST_TYPE:
106
- return "SuspenseList";
107
- case REACT_ACTIVITY_TYPE:
108
- return "Activity";
109
- }
110
- if ("object" === typeof type)
111
- switch ("number" === typeof type.tag && console.error(
112
- "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
113
- ), type.$$typeof) {
114
- case REACT_PORTAL_TYPE:
115
- return "Portal";
116
- case REACT_CONTEXT_TYPE:
117
- return (type.displayName || "Context") + ".Provider";
118
- case REACT_CONSUMER_TYPE:
119
- return (type._context.displayName || "Context") + ".Consumer";
120
- case REACT_FORWARD_REF_TYPE:
121
- var innerType = type.render;
122
- type = type.displayName;
123
- type || (type = innerType.displayName || innerType.name || "", type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef");
124
- return type;
125
- case REACT_MEMO_TYPE:
126
- return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || "Memo";
127
- case REACT_LAZY_TYPE:
128
- innerType = type._payload;
129
- type = type._init;
130
- try {
131
- return getComponentNameFromType(type(innerType));
132
- } catch (x) {
133
- }
134
- }
135
- return null;
136
- }
137
- function testStringCoercion(value) {
138
- return "" + value;
139
- }
140
- function checkKeyStringCoercion(value) {
141
- try {
142
- testStringCoercion(value);
143
- var JSCompiler_inline_result = false;
144
- } catch (e2) {
145
- JSCompiler_inline_result = true;
146
- }
147
- if (JSCompiler_inline_result) {
148
- JSCompiler_inline_result = console;
149
- var JSCompiler_temp_const = JSCompiler_inline_result.error;
150
- var JSCompiler_inline_result$jscomp$0 = "function" === typeof Symbol && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object";
151
- JSCompiler_temp_const.call(
152
- JSCompiler_inline_result,
153
- "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
154
- JSCompiler_inline_result$jscomp$0
155
- );
156
- return testStringCoercion(value);
157
- }
158
- }
159
- function getTaskName(type) {
160
- if (type === REACT_FRAGMENT_TYPE) return "<>";
161
- if ("object" === typeof type && null !== type && type.$$typeof === REACT_LAZY_TYPE)
162
- return "<...>";
163
- try {
164
- var name = getComponentNameFromType(type);
165
- return name ? "<" + name + ">" : "<...>";
166
- } catch (x) {
167
- return "<...>";
168
- }
169
- }
170
- function getOwner() {
171
- var dispatcher = ReactSharedInternals.A;
172
- return null === dispatcher ? null : dispatcher.getOwner();
173
- }
174
- function UnknownOwner() {
175
- return Error("react-stack-top-frame");
176
- }
177
- function hasValidKey(config) {
178
- if (hasOwnProperty.call(config, "key")) {
179
- var getter = Object.getOwnPropertyDescriptor(config, "key").get;
180
- if (getter && getter.isReactWarning) return false;
181
- }
182
- return void 0 !== config.key;
183
- }
184
- function defineKeyPropWarningGetter(props, displayName) {
185
- function warnAboutAccessingKey() {
186
- specialPropKeyWarningShown || (specialPropKeyWarningShown = true, console.error(
187
- "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
188
- displayName
189
- ));
190
- }
191
- warnAboutAccessingKey.isReactWarning = true;
192
- Object.defineProperty(props, "key", {
193
- get: warnAboutAccessingKey,
194
- configurable: true
195
- });
196
- }
197
- function elementRefGetterWithDeprecationWarning() {
198
- var componentName = getComponentNameFromType(this.type);
199
- didWarnAboutElementRef[componentName] || (didWarnAboutElementRef[componentName] = true, console.error(
200
- "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
201
- ));
202
- componentName = this.props.ref;
203
- return void 0 !== componentName ? componentName : null;
204
- }
205
- function ReactElement(type, key, self, source, owner, props, debugStack, debugTask) {
206
- self = props.ref;
207
- type = {
208
- $$typeof: REACT_ELEMENT_TYPE,
209
- type,
210
- key,
211
- props,
212
- _owner: owner
213
- };
214
- null !== (void 0 !== self ? self : null) ? Object.defineProperty(type, "ref", {
215
- enumerable: false,
216
- get: elementRefGetterWithDeprecationWarning
217
- }) : Object.defineProperty(type, "ref", { enumerable: false, value: null });
218
- type._store = {};
219
- Object.defineProperty(type._store, "validated", {
220
- configurable: false,
221
- enumerable: false,
222
- writable: true,
223
- value: 0
224
- });
225
- Object.defineProperty(type, "_debugInfo", {
226
- configurable: false,
227
- enumerable: false,
228
- writable: true,
229
- value: null
230
- });
231
- Object.defineProperty(type, "_debugStack", {
232
- configurable: false,
233
- enumerable: false,
234
- writable: true,
235
- value: debugStack
236
- });
237
- Object.defineProperty(type, "_debugTask", {
238
- configurable: false,
239
- enumerable: false,
240
- writable: true,
241
- value: debugTask
242
- });
243
- Object.freeze && (Object.freeze(type.props), Object.freeze(type));
244
- return type;
245
- }
246
- function jsxDEVImpl(type, config, maybeKey, isStaticChildren, source, self, debugStack, debugTask) {
247
- var children = config.children;
248
- if (void 0 !== children)
249
- if (isStaticChildren)
250
- if (isArrayImpl(children)) {
251
- for (isStaticChildren = 0; isStaticChildren < children.length; isStaticChildren++)
252
- validateChildKeys(children[isStaticChildren]);
253
- Object.freeze && Object.freeze(children);
254
- } else
255
- console.error(
256
- "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
257
- );
258
- else validateChildKeys(children);
259
- if (hasOwnProperty.call(config, "key")) {
260
- children = getComponentNameFromType(type);
261
- var keys = Object.keys(config).filter(function(k) {
262
- return "key" !== k;
263
- });
264
- isStaticChildren = 0 < keys.length ? "{key: someKey, " + keys.join(": ..., ") + ": ...}" : "{key: someKey}";
265
- didWarnAboutKeySpread[children + isStaticChildren] || (keys = 0 < keys.length ? "{" + keys.join(": ..., ") + ": ...}" : "{}", console.error(
266
- 'A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />',
267
- isStaticChildren,
268
- children,
269
- keys,
270
- children
271
- ), didWarnAboutKeySpread[children + isStaticChildren] = true);
272
- }
273
- children = null;
274
- void 0 !== maybeKey && (checkKeyStringCoercion(maybeKey), children = "" + maybeKey);
275
- hasValidKey(config) && (checkKeyStringCoercion(config.key), children = "" + config.key);
276
- if ("key" in config) {
277
- maybeKey = {};
278
- for (var propName in config)
279
- "key" !== propName && (maybeKey[propName] = config[propName]);
280
- } else maybeKey = config;
281
- children && defineKeyPropWarningGetter(
282
- maybeKey,
283
- "function" === typeof type ? type.displayName || type.name || "Unknown" : type
284
- );
285
- return ReactElement(
286
- type,
287
- children,
288
- self,
289
- source,
290
- getOwner(),
291
- maybeKey,
292
- debugStack,
293
- debugTask
294
- );
295
- }
296
- function validateChildKeys(node) {
297
- "object" === typeof node && null !== node && node.$$typeof === REACT_ELEMENT_TYPE && node._store && (node._store.validated = 1);
298
- }
299
- var React$1 = React, REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler");
300
- var REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"), REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), ReactSharedInternals = React$1.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, hasOwnProperty = Object.prototype.hasOwnProperty, isArrayImpl = Array.isArray, createTask = console.createTask ? console.createTask : function() {
301
- return null;
302
- };
303
- React$1 = {
304
- "react-stack-bottom-frame": function(callStackForError) {
305
- return callStackForError();
306
- }
307
- };
308
- var specialPropKeyWarningShown;
309
- var didWarnAboutElementRef = {};
310
- var unknownOwnerDebugStack = React$1["react-stack-bottom-frame"].bind(
311
- React$1,
312
- UnknownOwner
313
- )();
314
- var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));
315
- var didWarnAboutKeySpread = {};
316
- reactJsxRuntime_development.Fragment = REACT_FRAGMENT_TYPE;
317
- reactJsxRuntime_development.jsx = function(type, config, maybeKey, source, self) {
318
- var trackActualOwner = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;
319
- return jsxDEVImpl(
320
- type,
321
- config,
322
- maybeKey,
323
- false,
324
- source,
325
- self,
326
- trackActualOwner ? Error("react-stack-top-frame") : unknownOwnerDebugStack,
327
- trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask
328
- );
329
- };
330
- reactJsxRuntime_development.jsxs = function(type, config, maybeKey, source, self) {
331
- var trackActualOwner = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;
332
- return jsxDEVImpl(
333
- type,
334
- config,
335
- maybeKey,
336
- true,
337
- source,
338
- self,
339
- trackActualOwner ? Error("react-stack-top-frame") : unknownOwnerDebugStack,
340
- trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask
341
- );
342
- };
343
- })();
344
- return reactJsxRuntime_development;
345
- }
346
- var hasRequiredJsxRuntime;
347
- function requireJsxRuntime() {
348
- if (hasRequiredJsxRuntime) return jsxRuntime.exports;
349
- hasRequiredJsxRuntime = 1;
350
- {
351
- jsxRuntime.exports = requireReactJsxRuntime_development();
352
- }
353
- return jsxRuntime.exports;
354
- }
355
- var jsxRuntimeExports = requireJsxRuntime();
356
73
  var pseudoDescriptorsBase = {
357
74
  // order of keys here important! in priority order
358
75
  hoverStyle: {
@@ -472,9 +189,9 @@ function createStyledContext(defaultValues) {
472
189
  ]), scope = getNamespacedScope(scopeIn), next = React.useMemo(function() {
473
190
  return __disableMergeDefaultValues ? values : mergeProps(defaultValues, values);
474
191
  }, [objectIdentityKey(values)]), ScopedProvider = OGProvider;
475
- return scope && (ScopedProvider = getOrCreateScopedContext(scope).Provider), /* @__PURE__ */ jsxRuntimeExports.jsx(LastScopeInNamespace.Provider, {
192
+ return scope && (ScopedProvider = getOrCreateScopedContext(scope).Provider), /* @__PURE__ */ jsxRuntime.jsx(LastScopeInNamespace.Provider, {
476
193
  value: scope,
477
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(ScopedProvider, {
194
+ children: /* @__PURE__ */ jsxRuntime.jsx(ScopedProvider, {
478
195
  value: next,
479
196
  children
480
197
  })
@@ -868,13 +585,14 @@ var webOnlyStylePropsView = {
868
585
  borderLeftStyle: true,
869
586
  borderRightStyle: true,
870
587
  borderTopStyle: true,
871
- boxSizing: true,
588
+ // boxSizing: now supported in RN 0.77+ (New Architecture)
872
589
  caretColor: true,
873
590
  clipPath: true,
874
591
  contain: true,
875
592
  containerType: true,
876
593
  content: true,
877
594
  cursor: true,
595
+ // NOTE: cursor is supported on iOS 17+ for trackpad/stylus
878
596
  float: true,
879
597
  mask: true,
880
598
  maskBorder: true,
@@ -893,13 +611,10 @@ var webOnlyStylePropsView = {
893
611
  maskRepeat: true,
894
612
  maskSize: true,
895
613
  maskType: true,
896
- mixBlendMode: true,
614
+ // mixBlendMode: now supported in RN 0.77+ (New Architecture)
897
615
  objectFit: true,
898
616
  objectPosition: true,
899
- outlineOffset: true,
900
- outlineStyle: true,
901
- outlineWidth: true,
902
- outlineColor: true,
617
+ // outline*: now supported in RN 0.77+ (New Architecture)
903
618
  overflowBlock: true,
904
619
  overflowInline: true,
905
620
  overflowX: true,
@@ -955,7 +670,7 @@ var textColors = {
955
670
  zIndex: {
956
671
  zIndex: true
957
672
  },
958
- color: __spreadValues({
673
+ color: __spreadProps(__spreadValues({
959
674
  backgroundColor: true,
960
675
  borderColor: true,
961
676
  borderBlockStartColor: true,
@@ -971,7 +686,10 @@ var textColors = {
971
686
  borderEndColor: true,
972
687
  borderStartColor: true,
973
688
  shadowColor: true
974
- }, textColors)
689
+ }, textColors), {
690
+ // outlineColor is supported on RN 0.77+ (New Architecture)
691
+ outlineColor: true
692
+ })
975
693
  }, stylePropsUnitless = {
976
694
  WebkitLineClamp: true,
977
695
  animationIterationCount: true,
@@ -1024,7 +742,7 @@ var textColors = {
1024
742
  rotateY: true,
1025
743
  rotateX: true,
1026
744
  rotateZ: true
1027
- }, stylePropsView = __spreadValues(__spreadProps(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues({
745
+ }, stylePropsView = __spreadProps(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues({
1028
746
  backfaceVisibility: true,
1029
747
  borderBottomEndRadius: true,
1030
748
  borderBottomStartRadius: true,
@@ -1114,12 +832,13 @@ var textColors = {
1114
832
  elevationAndroid: true
1115
833
  } : {}), {
1116
834
  boxShadow: true,
1117
- filter: true
1118
- }), !process.env.REACT_NATIVE_PRE_77 && {
835
+ filter: true,
836
+ // RN 0.76/0.77+ style props (New Architecture)
1119
837
  boxSizing: true,
1120
838
  mixBlendMode: true,
839
+ isolation: true,
1121
840
  outlineColor: true,
1122
- outlineSpread: true,
841
+ outlineOffset: true,
1123
842
  outlineStyle: true,
1124
843
  outlineWidth: true
1125
844
  }), stylePropsFont = {
@@ -1565,7 +1284,7 @@ var _withStableStyle = function(Component, styleProvider) {
1565
1284
  }), media = hasMediaKeys ? useMedia() : null, resolvedExpressions = media ? _expressions.map(function(expr) {
1566
1285
  return typeof expr == "string" ? media[expr] : expr;
1567
1286
  }) : _expressions;
1568
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Component, __spreadValues({
1287
+ return /* @__PURE__ */ jsxRuntime.jsx(Component, __spreadValues({
1569
1288
  ref,
1570
1289
  style: styleProvider(theme, resolvedExpressions)
1571
1290
  }, rest));
@@ -1654,6 +1373,9 @@ var defaultOffset = {
1654
1373
  height: 0,
1655
1374
  width: 0
1656
1375
  };
1376
+ function getDefaultExportFromCjs(x) {
1377
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
1378
+ }
1657
1379
  var normalizeColor_1;
1658
1380
  var hasRequiredNormalizeColor;
1659
1381
  function requireNormalizeColor() {
@@ -1851,14 +1573,14 @@ function requireNormalizeColor() {
1851
1573
  return (int % 360 + 360) % 360 / 360;
1852
1574
  }
1853
1575
  function parse1(str) {
1854
- const num = parseFloat(str);
1855
- if (num < 0) {
1576
+ const num2 = parseFloat(str);
1577
+ if (num2 < 0) {
1856
1578
  return 0;
1857
1579
  }
1858
- if (num > 1) {
1580
+ if (num2 > 1) {
1859
1581
  return 255;
1860
1582
  }
1861
- return Math.round(num * 255);
1583
+ return Math.round(num2 * 255);
1862
1584
  }
1863
1585
  function parsePercentage(str) {
1864
1586
  const int = parseFloat(str);
@@ -2352,9 +2074,58 @@ var _loop = function(parent) {
2352
2074
  EXPANSIONS[parent] = EXPANSIONS[parent].map(function(k) {
2353
2075
  return `${prefix}${k}`;
2354
2076
  });
2077
+ }, num = function(v) {
2078
+ return Number.parseFloat(v) || 0;
2079
+ }, parseBoxShadowStr = function(s2) {
2080
+ return s2.split(/,(?![^(]*\))/).map(function(sh) {
2081
+ var p = sh.trim().split(/\s+/), i = p[0] === "inset" ? 1 : 0, o = {
2082
+ offsetX: num(p[i++]),
2083
+ offsetY: num(p[i++])
2084
+ };
2085
+ return p[0] === "inset" && (o.inset = true), p[i] && /^-?[\d.]/.test(p[i]) && (o.blurRadius = num(p[i++])), p[i] && /^-?[\d.]/.test(p[i]) && (o.spreadDistance = num(p[i++])), p[i] && (o.color = p.slice(i).join(" ")), o;
2086
+ });
2087
+ }, simpleFilters = /* @__PURE__ */ new Set(["brightness", "opacity", "contrast", "grayscale", "invert", "saturate", "sepia", "blur"]), parseFilterStr = function(s2) {
2088
+ var r = [], _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
2089
+ try {
2090
+ for (var _iterator = s2.matchAll(/(\w+)\(([^)]+)\)/g)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
2091
+ var [, fn, val] = _step.value, n = +val || 0;
2092
+ if (simpleFilters.has(fn)) r.push({
2093
+ [fn]: n
2094
+ });
2095
+ else if (fn === "hueRotate" || fn === "hue-rotate") r.push({
2096
+ hueRotate: val
2097
+ });
2098
+ else if (fn === "dropShadow" || fn === "drop-shadow") {
2099
+ var p = val.trim().split(/\s+/), ds = {
2100
+ offsetX: num(p[0]),
2101
+ offsetY: num(p[1])
2102
+ };
2103
+ p[2] && /^-?[\d.]/.test(p[2]) ? (ds.blurRadius = num(p[2]), p[3] && (ds.color = p.slice(3).join(" "))) : p[2] && (ds.color = p.slice(2).join(" ")), r.push({
2104
+ dropShadow: ds
2105
+ });
2106
+ }
2107
+ }
2108
+ } catch (err) {
2109
+ _didIteratorError = true, _iteratorError = err;
2110
+ } finally {
2111
+ try {
2112
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
2113
+ } finally {
2114
+ if (_didIteratorError) throw _iteratorError;
2115
+ }
2116
+ }
2117
+ return r;
2355
2118
  };
2356
2119
  function expandStyle(key, value) {
2357
2120
  if (isAndroid && key === "elevationAndroid") return [["elevation", value]];
2121
+ if (key === "boxShadow") {
2122
+ if (typeof value == "string") return [["boxShadow", parseBoxShadowStr(value)]];
2123
+ if (value && !Array.isArray(value)) return [["boxShadow", [value]]];
2124
+ }
2125
+ if (key === "filter") {
2126
+ if (typeof value == "string") return [["filter", parseFilterStr(value)]];
2127
+ if (value && !Array.isArray(value)) return [["filter", [value]]];
2128
+ }
2358
2129
  if (key in EXPANSIONS) return EXPANSIONS[key].map(function(key2) {
2359
2130
  return [key2, value];
2360
2131
  });
@@ -2363,18 +2134,17 @@ function expandStyle(key, value) {
2363
2134
  });
2364
2135
  if (key in webToNativeDynamicExpansion) return webToNativeDynamicExpansion[key](value);
2365
2136
  }
2366
- var all = ["Top", "Right", "Bottom", "Left"], horiz = ["Right", "Left"], vert = ["Top", "Bottom"], xy = ["X", "Y"], EXPANSIONS = __spreadValues({
2137
+ var all = ["Top", "Right", "Bottom", "Left"], horiz = ["Right", "Left"], vert = ["Top", "Bottom"], EXPANSIONS = {
2367
2138
  borderColor: ["TopColor", "RightColor", "BottomColor", "LeftColor"],
2368
2139
  borderRadius: ["TopLeftRadius", "TopRightRadius", "BottomRightRadius", "BottomLeftRadius"],
2369
2140
  borderWidth: ["TopWidth", "RightWidth", "BottomWidth", "LeftWidth"],
2370
2141
  margin: all,
2371
2142
  marginHorizontal: horiz,
2372
2143
  marginVertical: vert,
2373
- overscrollBehavior: xy,
2374
2144
  padding: all,
2375
2145
  paddingHorizontal: horiz,
2376
2146
  paddingVertical: vert
2377
- }, isWeb);
2147
+ };
2378
2148
  for (var parent in EXPANSIONS) _loop(parent);
2379
2149
  var cache$1 = /* @__PURE__ */ new WeakMap(), getVariantExtras = function(styleState) {
2380
2150
  if (cache$1.has(styleState)) return cache$1.get(styleState);
@@ -2515,14 +2285,47 @@ function _type_of$3(obj) {
2515
2285
  "@swc/helpers - typeof";
2516
2286
  return obj && typeof Symbol < "u" && obj.constructor === Symbol ? "symbol" : typeof obj;
2517
2287
  }
2518
- var shorthandStringProps = {
2519
- boxShadow: 1,
2520
- border: 1,
2521
- borderTop: 1,
2522
- borderRight: 1,
2523
- borderBottom: 1,
2524
- borderLeft: 1,
2525
- background: 1
2288
+ var resolveTok = function(v, cat, sp, ss) {
2289
+ if (typeof v == "string" && v[0] === "$") {
2290
+ var r = getTokenForKey(cat, v, sp, ss);
2291
+ return cat === "size" ? r != null && +r || 0 : r != null ? String(r) : v;
2292
+ }
2293
+ return cat === "size" ? typeof v == "number" ? v : +v || 0 : v;
2294
+ }, boxShadowObjResolve = function(v, sp, ss) {
2295
+ return (Array.isArray(v) ? v : [v]).map(function(o) {
2296
+ return __spreadValues(__spreadValues(__spreadValues(__spreadProps(__spreadValues({}, o.inset && {
2297
+ inset: true
2298
+ }), {
2299
+ offsetX: resolveTok(o.offsetX, "size", sp, ss),
2300
+ offsetY: resolveTok(o.offsetY, "size", sp, ss)
2301
+ }), o.blurRadius != null && {
2302
+ blurRadius: resolveTok(o.blurRadius, "size", sp, ss)
2303
+ }), o.spreadDistance != null && {
2304
+ spreadDistance: resolveTok(o.spreadDistance, "size", sp, ss)
2305
+ }), o.color != null && {
2306
+ color: resolveTok(o.color, "color", sp, ss)
2307
+ });
2308
+ });
2309
+ }, filterObjResolve = function(v, sp, ss) {
2310
+ return (Array.isArray(v) ? v : [v]).map(function(o) {
2311
+ if ("blur" in o) return {
2312
+ blur: resolveTok(o.blur, "size", sp, ss)
2313
+ };
2314
+ if ("dropShadow" in o) {
2315
+ var ds = o.dropShadow;
2316
+ return {
2317
+ dropShadow: __spreadValues(__spreadValues({
2318
+ offsetX: resolveTok(ds.offsetX, "size", sp, ss),
2319
+ offsetY: resolveTok(ds.offsetY, "size", sp, ss)
2320
+ }, ds.blurRadius != null && {
2321
+ blurRadius: resolveTok(ds.blurRadius, "size", sp, ss)
2322
+ }), ds.color != null && {
2323
+ color: resolveTok(ds.color, "color", sp, ss)
2324
+ })
2325
+ };
2326
+ }
2327
+ return o;
2328
+ });
2526
2329
  }, propMapper = function(key, value, styleState, disabled, map) {
2527
2330
  if (disabled) return map(key, value);
2528
2331
  if (lastFontFamilyToken = null, !(!isAndroid && key === "elevationAndroid")) {
@@ -2551,13 +2354,13 @@ var shorthandStringProps = {
2551
2354
  }
2552
2355
  styleProps.disableExpandShorthands || key in conf2.shorthands && (key = conf2.shorthands[key]);
2553
2356
  var originalValue = value;
2554
- if (value != null && (value[0] === "$" ? value = getTokenForKey(key, value, styleProps, styleState) : (
2555
- /* Handle CSS shorthand strings with embedded $variables (e.g., boxShadow="0 0 10px $red") */
2556
- key in shorthandStringProps && typeof value == "string" && value.includes("$") ? value = value.replace(/\$[\w.-]+/g, function(token) {
2557
- var resolved = getTokenForKey("color", token, styleProps, styleState);
2558
- return resolved != null ? String(resolved) : token;
2559
- }) : isVariable(value) ? value = resolveVariableValue(key, value, styleProps.resolveValues) : isRemValue(value) && (value = resolveRem(value))
2560
- )), value != null) {
2357
+ if (value != null && (key === "boxShadow" && (typeof value > "u" ? "undefined" : _type_of$3(value)) === "object" ? value = boxShadowObjResolve(value, styleProps, styleState) : key === "filter" && (typeof value > "u" ? "undefined" : _type_of$3(value)) === "object" ? value = filterObjResolve(value, styleProps, styleState) : typeof value == "string" && value[0] === "$" ? value = getTokenForKey(key, value, styleProps, styleState) : key === "boxShadow" && typeof value == "string" && value.includes("$") ? value = value.replace(/(\$[\w.-]+)/g, function(t2) {
2358
+ var cat = /^\$-?\d/.test(t2) ? "size" : "color", r = getTokenForKey(cat, t2, styleProps, styleState);
2359
+ return r != null ? String(r) : t2;
2360
+ }) : key === "filter" && typeof value == "string" && value.includes("$") ? value = value.replace(/(\$[\w.-]+)/g, function(t2) {
2361
+ var cat = /^\$-?\d/.test(t2) ? "size" : "color", r = getTokenForKey(cat, t2, styleProps, styleState);
2362
+ return r != null ? String(r) : t2;
2363
+ }) : isVariable(value) ? value = resolveVariableValue(key, value, styleProps.resolveValues) : isRemValue(value) && (value = resolveRem(value))), value != null) {
2561
2364
  key === "fontFamily" && lastFontFamilyToken && (styleState.fontFamily = lastFontFamilyToken);
2562
2365
  var expanded = styleProps.noExpand ? null : expandStyle(key, value);
2563
2366
  if (expanded) for (var max = expanded.length, i = 0; i < max; i++) {
@@ -3199,9 +3002,14 @@ var defaultColor = process.env.TAMAGUI_DEFAULT_COLOR || "rgba(0,0,0,0)", animata
3199
3002
  }))), {
3200
3003
  opacity: 1,
3201
3004
  scale: 1,
3005
+ scaleX: 1,
3006
+ scaleY: 1,
3202
3007
  rotate: "0deg",
3203
- rotateY: "0deg",
3204
3008
  rotateX: "0deg",
3009
+ rotateY: "0deg",
3010
+ rotateZ: "0deg",
3011
+ skewX: "0deg",
3012
+ skewY: "0deg",
3205
3013
  x: 0,
3206
3014
  y: 0,
3207
3015
  borderRadius: 0
@@ -3343,7 +3151,7 @@ function getThemedChildren(themeState, children, props) {
3343
3151
  forceClassName
3344
3152
  } = props, state = stateRef.current, hasEverThemed = state.hasEverThemed, shouldRenderChildrenWithTheme = hasEverThemed || themeState.isNew || isRoot || hasThemeUpdatingProps(props);
3345
3153
  if (!shouldRenderChildrenWithTheme) return children;
3346
- children = /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeStateContext.Provider, {
3154
+ children = /* @__PURE__ */ jsxRuntime.jsx(ThemeStateContext.Provider, {
3347
3155
  value: themeState.id,
3348
3156
  children
3349
3157
  });
@@ -3357,7 +3165,7 @@ function getThemedChildren(themeState, children, props) {
3357
3165
  var parentState = getThemeState(themeState.isNew ? themeState.id : themeState.parentId);
3358
3166
  if (!parentState) throw new Error("‼️010");
3359
3167
  children = React.Children.toArray(children).map(function(child) {
3360
- return /* @__PURE__ */ React.isValidElement(child) ? passThrough ? child : /* @__PURE__ */ React.cloneElement(child, void 0, /* @__PURE__ */ jsxRuntimeExports.jsx(Theme, {
3168
+ return /* @__PURE__ */ React.isValidElement(child) ? passThrough ? child : /* @__PURE__ */ React.cloneElement(child, void 0, /* @__PURE__ */ jsxRuntime.jsx(Theme, {
3361
3169
  name: parentState.name,
3362
3170
  children: child.props.children
3363
3171
  })) : child;
@@ -3383,21 +3191,21 @@ function themeable(Component, staticConfig) {
3383
3191
  }
3384
3192
  var element = (
3385
3193
  // @ts-expect-error its ok
3386
- /* @__PURE__ */ jsxRuntimeExports.jsx(Component, __spreadProps(__spreadValues({
3194
+ /* @__PURE__ */ jsxRuntime.jsx(Component, __spreadProps(__spreadValues({
3387
3195
  ref
3388
3196
  }, rest), {
3389
3197
  "data-disable-theme": true
3390
3198
  }))
3391
3199
  ), filteredProps = null, compName = componentName || (staticConfig == null ? void 0 : staticConfig.componentName);
3392
3200
  if (compName && (filteredProps || (filteredProps = {}), filteredProps.componentName = compName), "debug" in props && (filteredProps || (filteredProps = {}), filteredProps.debug = props.debug), "theme" in props && (filteredProps || (filteredProps = {}), filteredProps.name = props.theme), "themeReset" in props && (filteredProps || (filteredProps = {}), filteredProps.reset = themeReset), optimize && !filteredProps) return element;
3393
- var contents = /* @__PURE__ */ jsxRuntimeExports.jsx(Theme, __spreadProps(__spreadValues({
3201
+ var contents = /* @__PURE__ */ jsxRuntime.jsx(Theme, __spreadProps(__spreadValues({
3394
3202
  "disable-child-theme": true
3395
3203
  }, filteredProps), {
3396
3204
  children: element
3397
3205
  }));
3398
3206
  if (context) {
3399
3207
  var Provider = context.Provider, contextValue = React.useContext(context);
3400
- contents = /* @__PURE__ */ jsxRuntimeExports.jsx(Provider, __spreadProps(__spreadValues(__spreadValues({}, contextValue), overriddenContextProps), {
3208
+ contents = /* @__PURE__ */ jsxRuntime.jsx(Provider, __spreadProps(__spreadValues(__spreadValues({}, contextValue), overriddenContextProps), {
3401
3209
  children: contents
3402
3210
  }));
3403
3211
  }
@@ -3412,7 +3220,7 @@ var ClientOnlyContext = /* @__PURE__ */ React.createContext(false), ClientOnly =
3412
3220
  children,
3413
3221
  enabled
3414
3222
  } = param, existingValue = React.useContext(ClientOnlyContext);
3415
- return /* @__PURE__ */ jsxRuntimeExports.jsx(ClientOnlyContext.Provider, {
3223
+ return /* @__PURE__ */ jsxRuntime.jsx(ClientOnlyContext.Provider, {
3416
3224
  value: enabled != null ? enabled : existingValue,
3417
3225
  children
3418
3226
  });
@@ -3534,7 +3342,7 @@ var is19 = React.version.startsWith("19."), Slot = /* @__PURE__ */ React.memo(/*
3534
3342
  var {
3535
3343
  children
3536
3344
  } = param;
3537
- return /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, {
3345
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, {
3538
3346
  children
3539
3347
  });
3540
3348
  };
@@ -3860,24 +3668,27 @@ function createComponent(staticConfig) {
3860
3668
  });
3861
3669
  return;
3862
3670
  }
3863
- var tm;
3864
3671
  if (state.unmounted) {
3865
- if ((animationDriver == null ? void 0 : animationDriver.supportsCSS) || isAndroid) return tm = setTimeout(function() {
3866
- setStateShallow({
3867
- unmounted: false
3868
- });
3869
- }), function() {
3870
- return clearTimeout(tm);
3871
- };
3672
+ if (supportsCSS) {
3673
+ var cancelled = false;
3674
+ return requestAnimationFrame(function() {
3675
+ cancelled || requestAnimationFrame(function() {
3676
+ cancelled || setStateShallow({
3677
+ unmounted: false
3678
+ });
3679
+ });
3680
+ }), function() {
3681
+ cancelled = true;
3682
+ };
3683
+ }
3872
3684
  setStateShallow({
3873
3685
  unmounted: false
3874
3686
  });
3875
- return;
3876
3687
  }
3877
3688
  return function() {
3878
3689
  componentSetStates.delete(setState);
3879
3690
  };
3880
- }, [state.unmounted, disabled]), useIsomorphicLayoutEffect(function() {
3691
+ }, [state.unmounted, supportsCSS]), useIsomorphicLayoutEffect(function() {
3881
3692
  if (!disabled && !(!pseudoGroups && !mediaGroups) && allGroupContexts) return subscribeToContextGroup({
3882
3693
  groupContext: allGroupContexts,
3883
3694
  setStateShallow,
@@ -3965,19 +3776,19 @@ function createComponent(staticConfig) {
3965
3776
  !isHOC && ResetPresence && willBeAnimated && (hasEnterStyle || presenceState)), hasEverReset = stateRef.current.hasEverResetPresence;
3966
3777
  needsReset && !hasEverReset && (stateRef.current.hasEverResetPresence = true);
3967
3778
  var renderReset = needsReset || hasEverReset;
3968
- if (renderReset && ResetPresence && (content = /* @__PURE__ */ jsxRuntimeExports.jsx(ResetPresence, {
3779
+ if (renderReset && ResetPresence && (content = /* @__PURE__ */ jsxRuntime.jsx(ResetPresence, {
3969
3780
  disabled: !needsReset,
3970
3781
  children: content
3971
- })), "focusWithinStyle" in propsIn && (content = /* @__PURE__ */ jsxRuntimeExports.jsx(ComponentContext.Provider, __spreadProps(__spreadValues({}, componentContext), {
3782
+ })), "focusWithinStyle" in propsIn && (content = /* @__PURE__ */ jsxRuntime.jsx(ComponentContext.Provider, __spreadProps(__spreadValues({}, componentContext), {
3972
3783
  setParentFocusState: setStateShallow,
3973
3784
  children: content
3974
- }))), "group" in props && (content = /* @__PURE__ */ jsxRuntimeExports.jsx(GroupContext.Provider, {
3785
+ }))), "group" in props && (content = /* @__PURE__ */ jsxRuntime.jsx(GroupContext.Provider, {
3975
3786
  value: allGroupContexts,
3976
3787
  children: content
3977
3788
  })), content = disableTheme || !splitStyles ? content : getThemedChildren(themeState, content, themeStateProps, false, stateRef), overriddenContextProps && contextForOverride) {
3978
3789
  var Provider = contextForOverride.Provider;
3979
3790
  for (var key1 in styledContextValue) key1 in overriddenContextProps || (overriddenContextProps[key1] = styledContextValue[key1]);
3980
- debugProp && console.info("overriddenContextProps", overriddenContextProps), content = /* @__PURE__ */ jsxRuntimeExports.jsx(Provider, __spreadProps(__spreadValues({
3791
+ content = /* @__PURE__ */ jsxRuntime.jsx(Provider, __spreadProps(__spreadValues({
3981
3792
  __disableMergeDefaultValues: true
3982
3793
  }, overriddenContextProps), {
3983
3794
  children: content
@@ -4636,9 +4447,9 @@ function useThemeName() {
4636
4447
  }
4637
4448
  var Configuration = function(props) {
4638
4449
  var current = React.useContext(ComponentContext), _props_disableSSR;
4639
- return /* @__PURE__ */ jsxRuntimeExports.jsx(ClientOnly, {
4450
+ return /* @__PURE__ */ jsxRuntime.jsx(ClientOnly, {
4640
4451
  enabled: (_props_disableSSR = props.disableSSR) !== null && _props_disableSSR !== void 0 ? _props_disableSSR : current.disableSSR,
4641
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(ComponentContext.Provider, __spreadValues(__spreadValues({}, current), props))
4452
+ children: /* @__PURE__ */ jsxRuntime.jsx(ComponentContext.Provider, __spreadValues(__spreadValues({}, current), props))
4642
4453
  });
4643
4454
  };
4644
4455
  function FontLanguage(param) {
@@ -4649,7 +4460,7 @@ function FontLanguage(param) {
4649
4460
  ]), parentProps = React.useContext(ComponentContext), language = React.useMemo(function() {
4650
4461
  return props;
4651
4462
  }, [JSON.stringify(props)]);
4652
- return /* @__PURE__ */ jsxRuntimeExports.jsx(ComponentContext.Provider, __spreadProps(__spreadValues({}, parentProps), {
4463
+ return /* @__PURE__ */ jsxRuntime.jsx(ComponentContext.Provider, __spreadProps(__spreadValues({}, parentProps), {
4653
4464
  language,
4654
4465
  children
4655
4466
  }));
@@ -4657,7 +4468,7 @@ function FontLanguage(param) {
4657
4468
  var ThemeProvider = function(props) {
4658
4469
  var addThemeClassName = getSetting("addThemeClassName");
4659
4470
  var forceClassName = addThemeClassName === void 0;
4660
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Theme, {
4471
+ return /* @__PURE__ */ jsxRuntime.jsx(Theme, {
4661
4472
  className: props.className,
4662
4473
  name: props.defaultTheme,
4663
4474
  forceClassName,
@@ -4681,11 +4492,11 @@ function TamaguiProvider$1(param) {
4681
4492
  }, []);
4682
4493
  var memoizedInsets = React.useMemo(function() {
4683
4494
  return insets;
4684
- }, [insets == null ? void 0 : insets.top, insets == null ? void 0 : insets.right, insets == null ? void 0 : insets.bottom, insets == null ? void 0 : insets.left]), contents = /* @__PURE__ */ jsxRuntimeExports.jsx(UnmountedClassName, {
4685
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(ComponentContext.Provider, {
4495
+ }, [insets == null ? void 0 : insets.top, insets == null ? void 0 : insets.right, insets == null ? void 0 : insets.bottom, insets == null ? void 0 : insets.left]), contents = /* @__PURE__ */ jsxRuntime.jsx(UnmountedClassName, {
4496
+ children: /* @__PURE__ */ jsxRuntime.jsx(ComponentContext.Provider, {
4686
4497
  animationDriver: config == null ? void 0 : config.animations,
4687
4498
  insets: memoizedInsets,
4688
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeProvider, {
4499
+ children: /* @__PURE__ */ jsxRuntime.jsx(ThemeProvider, {
4689
4500
  defaultTheme,
4690
4501
  reset,
4691
4502
  className,
@@ -4693,10 +4504,10 @@ function TamaguiProvider$1(param) {
4693
4504
  })
4694
4505
  })
4695
4506
  });
4696
- return getSetting("disableSSR") && (contents = /* @__PURE__ */ jsxRuntimeExports.jsx(ClientOnly, {
4507
+ return getSetting("disableSSR") && (contents = /* @__PURE__ */ jsxRuntime.jsx(ClientOnly, {
4697
4508
  enabled: true,
4698
4509
  children: contents
4699
- })), /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, {
4510
+ })), /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
4700
4511
  children: [contents, false]
4701
4512
  });
4702
4513
  }
@@ -4946,7 +4757,7 @@ var DisableLayoutContextKey = /* @__PURE__ */ React.createContext(""), LayoutMea
4946
4757
  children
4947
4758
  } = param, id = React.useId();
4948
4759
  return useIsomorphicLayoutEffect(function() {
4949
- }, [disable, id]), /* @__PURE__ */ jsxRuntimeExports.jsx(DisableLayoutContextKey.Provider, {
4760
+ }, [disable, id]), /* @__PURE__ */ jsxRuntime.jsx(DisableLayoutContextKey.Provider, {
4950
4761
  value: id,
4951
4762
  children
4952
4763
  });
@@ -4976,7 +4787,7 @@ const TamaguiProvider = (props) => {
4976
4787
  useIsomorphicLayoutEffect(() => {
4977
4788
  enable();
4978
4789
  }, []);
4979
- return /* @__PURE__ */ jsxRuntimeExports.jsx(TamaguiProvider$1, __spreadValues({}, props));
4790
+ return /* @__PURE__ */ jsxRuntime.jsx(TamaguiProvider$1, __spreadValues({}, props));
4980
4791
  };
4981
4792
  const createTamagui = (conf2) => {
4982
4793
  {