tamagui 2.1.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/test.cjs CHANGED
@@ -37,6 +37,15 @@ let react = require("react");
37
37
  let react$1 = __toESM(react, 1);
38
38
  react = __toESM(react);
39
39
  let react_jsx_runtime = require("react/jsx-runtime");
40
+ let react_native_safe_area_context = require("react-native-safe-area-context");
41
+ //#region ../../core/polyfill-dev/index.js
42
+ if (typeof globalThis["__DEV__"] === "undefined") globalThis["__DEV__"] = false;
43
+ //#endregion
44
+ //#region src/setup.ts
45
+ var _globalThis;
46
+ (_globalThis = globalThis)["React"] || (_globalThis["React"] = react$1);
47
+ if (typeof requestAnimationFrame === "undefined") globalThis["requestAnimationFrame"] = typeof setImmediate === "undefined" ? setTimeout : setImmediate;
48
+ //#endregion
40
49
  //#region \0@oxc-project+runtime@0.130.0/helpers/typeof.js
41
50
  function _typeof(o) {
42
51
  "@babel/helpers - typeof";
@@ -10177,186 +10186,6 @@ var init_Appearance = __esmMin((() => {
10177
10186
  };
10178
10187
  }));
10179
10188
  //#endregion
10180
- //#region ../../../node_modules/react-dom/cjs/react-dom.development.js
10181
- /**
10182
- * @license React
10183
- * react-dom.development.js
10184
- *
10185
- * Copyright (c) Meta Platforms, Inc. and affiliates.
10186
- *
10187
- * This source code is licensed under the MIT license found in the
10188
- * LICENSE file in the root directory of this source tree.
10189
- */
10190
- var require_react_dom_development = /* @__PURE__ */ __commonJSMin(((exports) => {
10191
- (function() {
10192
- function noop() {}
10193
- function testStringCoercion(value) {
10194
- return "" + value;
10195
- }
10196
- function createPortal$1(children, containerInfo, implementation) {
10197
- var key = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;
10198
- try {
10199
- testStringCoercion(key);
10200
- var JSCompiler_inline_result = !1;
10201
- } catch (e) {
10202
- JSCompiler_inline_result = !0;
10203
- }
10204
- JSCompiler_inline_result && (console.error("The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", "function" === typeof Symbol && Symbol.toStringTag && key[Symbol.toStringTag] || key.constructor.name || "Object"), testStringCoercion(key));
10205
- return {
10206
- $$typeof: REACT_PORTAL_TYPE,
10207
- key: null == key ? null : "" + key,
10208
- children,
10209
- containerInfo,
10210
- implementation
10211
- };
10212
- }
10213
- function getCrossOriginStringAs(as, input) {
10214
- if ("font" === as) return "";
10215
- if ("string" === typeof input) return "use-credentials" === input ? input : "";
10216
- }
10217
- function getValueDescriptorExpectingObjectForWarning(thing) {
10218
- return null === thing ? "`null`" : void 0 === thing ? "`undefined`" : "" === thing ? "an empty string" : "something with type \"" + typeof thing + "\"";
10219
- }
10220
- function getValueDescriptorExpectingEnumForWarning(thing) {
10221
- return null === thing ? "`null`" : void 0 === thing ? "`undefined`" : "" === thing ? "an empty string" : "string" === typeof thing ? JSON.stringify(thing) : "number" === typeof thing ? "`" + thing + "`" : "something with type \"" + typeof thing + "\"";
10222
- }
10223
- function resolveDispatcher() {
10224
- var dispatcher = ReactSharedInternals.H;
10225
- null === dispatcher && console.error("Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.");
10226
- return dispatcher;
10227
- }
10228
- "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
10229
- var React = require("react"), Internals = {
10230
- d: {
10231
- f: noop,
10232
- r: function() {
10233
- throw Error("Invalid form element. requestFormReset must be passed a form that was rendered by React.");
10234
- },
10235
- D: noop,
10236
- C: noop,
10237
- L: noop,
10238
- m: noop,
10239
- X: noop,
10240
- S: noop,
10241
- M: noop
10242
- },
10243
- p: 0,
10244
- findDOMNode: null
10245
- }, REACT_PORTAL_TYPE = Symbol.for("react.portal"), ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;
10246
- "function" === typeof Map && null != Map.prototype && "function" === typeof Map.prototype.forEach && "function" === typeof Set && null != Set.prototype && "function" === typeof Set.prototype.clear && "function" === typeof Set.prototype.forEach || console.error("React depends on Map and Set built-in types. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills");
10247
- exports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = Internals;
10248
- exports.createPortal = function(children, container) {
10249
- var key = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;
10250
- if (!container || 1 !== container.nodeType && 9 !== container.nodeType && 11 !== container.nodeType) throw Error("Target container is not a DOM element.");
10251
- return createPortal$1(children, container, null, key);
10252
- };
10253
- exports.flushSync = function(fn) {
10254
- var previousTransition = ReactSharedInternals.T, previousUpdatePriority = Internals.p;
10255
- try {
10256
- if (ReactSharedInternals.T = null, Internals.p = 2, fn) return fn();
10257
- } finally {
10258
- ReactSharedInternals.T = previousTransition, Internals.p = previousUpdatePriority, Internals.d.f() && console.error("flushSync was called from inside a lifecycle method. React cannot flush when React is already rendering. Consider moving this call to a scheduler task or micro task.");
10259
- }
10260
- };
10261
- exports.preconnect = function(href, options) {
10262
- "string" === typeof href && href ? null != options && "object" !== typeof options ? console.error("ReactDOM.preconnect(): Expected the `options` argument (second) to be an object but encountered %s instead. The only supported option at this time is `crossOrigin` which accepts a string.", getValueDescriptorExpectingEnumForWarning(options)) : null != options && "string" !== typeof options.crossOrigin && console.error("ReactDOM.preconnect(): Expected the `crossOrigin` option (second argument) to be a string but encountered %s instead. Try removing this option or passing a string value instead.", getValueDescriptorExpectingObjectForWarning(options.crossOrigin)) : console.error("ReactDOM.preconnect(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.", getValueDescriptorExpectingObjectForWarning(href));
10263
- "string" === typeof href && (options ? (options = options.crossOrigin, options = "string" === typeof options ? "use-credentials" === options ? options : "" : void 0) : options = null, Internals.d.C(href, options));
10264
- };
10265
- exports.prefetchDNS = function(href) {
10266
- if ("string" !== typeof href || !href) console.error("ReactDOM.prefetchDNS(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.", getValueDescriptorExpectingObjectForWarning(href));
10267
- else if (1 < arguments.length) {
10268
- var options = arguments[1];
10269
- "object" === typeof options && options.hasOwnProperty("crossOrigin") ? console.error("ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. It looks like the you are attempting to set a crossOrigin property for this DNS lookup hint. Browsers do not perform DNS queries using CORS and setting this attribute on the resource hint has no effect. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.", getValueDescriptorExpectingEnumForWarning(options)) : console.error("ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.", getValueDescriptorExpectingEnumForWarning(options));
10270
- }
10271
- "string" === typeof href && Internals.d.D(href);
10272
- };
10273
- exports.preinit = function(href, options) {
10274
- "string" === typeof href && href ? null == options || "object" !== typeof options ? console.error("ReactDOM.preinit(): Expected the `options` argument (second) to be an object with an `as` property describing the type of resource to be preinitialized but encountered %s instead.", getValueDescriptorExpectingEnumForWarning(options)) : "style" !== options.as && "script" !== options.as && console.error("ReactDOM.preinit(): Expected the `as` property in the `options` argument (second) to contain a valid value describing the type of resource to be preinitialized but encountered %s instead. Valid values for `as` are \"style\" and \"script\".", getValueDescriptorExpectingEnumForWarning(options.as)) : console.error("ReactDOM.preinit(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.", getValueDescriptorExpectingObjectForWarning(href));
10275
- if ("string" === typeof href && options && "string" === typeof options.as) {
10276
- var as = options.as, crossOrigin = getCrossOriginStringAs(as, options.crossOrigin), integrity = "string" === typeof options.integrity ? options.integrity : void 0, fetchPriority = "string" === typeof options.fetchPriority ? options.fetchPriority : void 0;
10277
- "style" === as ? Internals.d.S(href, "string" === typeof options.precedence ? options.precedence : void 0, {
10278
- crossOrigin,
10279
- integrity,
10280
- fetchPriority
10281
- }) : "script" === as && Internals.d.X(href, {
10282
- crossOrigin,
10283
- integrity,
10284
- fetchPriority,
10285
- nonce: "string" === typeof options.nonce ? options.nonce : void 0
10286
- });
10287
- }
10288
- };
10289
- exports.preinitModule = function(href, options) {
10290
- var encountered = "";
10291
- "string" === typeof href && href || (encountered += " The `href` argument encountered was " + getValueDescriptorExpectingObjectForWarning(href) + ".");
10292
- void 0 !== options && "object" !== typeof options ? encountered += " The `options` argument encountered was " + getValueDescriptorExpectingObjectForWarning(options) + "." : options && "as" in options && "script" !== options.as && (encountered += " The `as` option encountered was " + getValueDescriptorExpectingEnumForWarning(options.as) + ".");
10293
- if (encountered) console.error("ReactDOM.preinitModule(): Expected up to two arguments, a non-empty `href` string and, optionally, an `options` object with a valid `as` property.%s", encountered);
10294
- else switch (encountered = options && "string" === typeof options.as ? options.as : "script", encountered) {
10295
- case "script": break;
10296
- default: encountered = getValueDescriptorExpectingEnumForWarning(encountered), console.error("ReactDOM.preinitModule(): Currently the only supported \"as\" type for this function is \"script\" but received \"%s\" instead. This warning was generated for `href` \"%s\". In the future other module types will be supported, aligning with the import-attributes proposal. Learn more here: (https://github.com/tc39/proposal-import-attributes)", encountered, href);
10297
- }
10298
- if ("string" === typeof href) if ("object" === typeof options && null !== options) {
10299
- if (null == options.as || "script" === options.as) encountered = getCrossOriginStringAs(options.as, options.crossOrigin), Internals.d.M(href, {
10300
- crossOrigin: encountered,
10301
- integrity: "string" === typeof options.integrity ? options.integrity : void 0,
10302
- nonce: "string" === typeof options.nonce ? options.nonce : void 0
10303
- });
10304
- } else null == options && Internals.d.M(href);
10305
- };
10306
- exports.preload = function(href, options) {
10307
- var encountered = "";
10308
- "string" === typeof href && href || (encountered += " The `href` argument encountered was " + getValueDescriptorExpectingObjectForWarning(href) + ".");
10309
- null == options || "object" !== typeof options ? encountered += " The `options` argument encountered was " + getValueDescriptorExpectingObjectForWarning(options) + "." : "string" === typeof options.as && options.as || (encountered += " The `as` option encountered was " + getValueDescriptorExpectingObjectForWarning(options.as) + ".");
10310
- encountered && console.error("ReactDOM.preload(): Expected two arguments, a non-empty `href` string and an `options` object with an `as` property valid for a `<link rel=\"preload\" as=\"...\" />` tag.%s", encountered);
10311
- if ("string" === typeof href && "object" === typeof options && null !== options && "string" === typeof options.as) {
10312
- encountered = options.as;
10313
- var crossOrigin = getCrossOriginStringAs(encountered, options.crossOrigin);
10314
- Internals.d.L(href, encountered, {
10315
- crossOrigin,
10316
- integrity: "string" === typeof options.integrity ? options.integrity : void 0,
10317
- nonce: "string" === typeof options.nonce ? options.nonce : void 0,
10318
- type: "string" === typeof options.type ? options.type : void 0,
10319
- fetchPriority: "string" === typeof options.fetchPriority ? options.fetchPriority : void 0,
10320
- referrerPolicy: "string" === typeof options.referrerPolicy ? options.referrerPolicy : void 0,
10321
- imageSrcSet: "string" === typeof options.imageSrcSet ? options.imageSrcSet : void 0,
10322
- imageSizes: "string" === typeof options.imageSizes ? options.imageSizes : void 0,
10323
- media: "string" === typeof options.media ? options.media : void 0
10324
- });
10325
- }
10326
- };
10327
- exports.preloadModule = function(href, options) {
10328
- var encountered = "";
10329
- "string" === typeof href && href || (encountered += " The `href` argument encountered was " + getValueDescriptorExpectingObjectForWarning(href) + ".");
10330
- void 0 !== options && "object" !== typeof options ? encountered += " The `options` argument encountered was " + getValueDescriptorExpectingObjectForWarning(options) + "." : options && "as" in options && "string" !== typeof options.as && (encountered += " The `as` option encountered was " + getValueDescriptorExpectingObjectForWarning(options.as) + ".");
10331
- encountered && console.error("ReactDOM.preloadModule(): Expected two arguments, a non-empty `href` string and, optionally, an `options` object with an `as` property valid for a `<link rel=\"modulepreload\" as=\"...\" />` tag.%s", encountered);
10332
- "string" === typeof href && (options ? (encountered = getCrossOriginStringAs(options.as, options.crossOrigin), Internals.d.m(href, {
10333
- as: "string" === typeof options.as && "script" !== options.as ? options.as : void 0,
10334
- crossOrigin: encountered,
10335
- integrity: "string" === typeof options.integrity ? options.integrity : void 0
10336
- })) : Internals.d.m(href));
10337
- };
10338
- exports.requestFormReset = function(form) {
10339
- Internals.d.r(form);
10340
- };
10341
- exports.unstable_batchedUpdates = function(fn, a) {
10342
- return fn(a);
10343
- };
10344
- exports.useFormState = function(action, initialState, permalink) {
10345
- return resolveDispatcher().useFormState(action, initialState, permalink);
10346
- };
10347
- exports.useFormStatus = function() {
10348
- return resolveDispatcher().useHostTransitionStatus();
10349
- };
10350
- exports.version = "19.1.0";
10351
- "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
10352
- })();
10353
- }));
10354
- //#endregion
10355
- //#region ../../../node_modules/react-dom/index.js
10356
- var require_react_dom = /* @__PURE__ */ __commonJSMin(((exports, module) => {
10357
- module.exports = require_react_dom_development();
10358
- }));
10359
- //#endregion
10360
10189
  //#region ../../packages/react-native-web-lite/dist/esm/AppRegistry/AppContainer.mjs
10361
10190
  var RootTagContext$1, AppContainer, styles$5;
10362
10191
  var init_AppContainer = __esmMin((() => {
@@ -10423,9 +10252,8 @@ var init_renderApplication = __esmMin((() => {
10423
10252
  }));
10424
10253
  //#endregion
10425
10254
  //#region ../../packages/react-native-web-lite/dist/esm/AppRegistry/index.mjs
10426
- var import_react_dom$2, emptyObject$2, runnables, componentProviderInstrumentationHook, wrapperComponentProvider, AppRegistry;
10255
+ var emptyObject$2, runnables, componentProviderInstrumentationHook, wrapperComponentProvider, AppRegistry;
10427
10256
  var init_AppRegistry = __esmMin((() => {
10428
- import_react_dom$2 = /* @__PURE__ */ __toESM(require_react_dom(), 1);
10429
10257
  init_esm$1();
10430
10258
  init_renderApplication();
10431
10259
  emptyObject$2 = {};
@@ -10476,7 +10304,8 @@ var init_AppRegistry = __esmMin((() => {
10476
10304
  wrapperComponentProvider = provider;
10477
10305
  }
10478
10306
  static unmountApplicationComponentAtRootTag(rootTag) {
10479
- (0, import_react_dom$2.unmountComponentAtNode)(rootTag);
10307
+ var _rootTag$unmount;
10308
+ rootTag === null || rootTag === void 0 || (_rootTag$unmount = rootTag.unmount) === null || _rootTag$unmount === void 0 || _rootTag$unmount.call(rootTag);
10480
10309
  }
10481
10310
  };
10482
10311
  }));
@@ -11839,6 +11668,186 @@ var init_useWindowDimensions = __esmMin((() => {
11839
11668
  init_Dimensions();
11840
11669
  }));
11841
11670
  //#endregion
11671
+ //#region ../../../node_modules/react-dom/cjs/react-dom.development.js
11672
+ /**
11673
+ * @license React
11674
+ * react-dom.development.js
11675
+ *
11676
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
11677
+ *
11678
+ * This source code is licensed under the MIT license found in the
11679
+ * LICENSE file in the root directory of this source tree.
11680
+ */
11681
+ var require_react_dom_development = /* @__PURE__ */ __commonJSMin(((exports) => {
11682
+ (function() {
11683
+ function noop() {}
11684
+ function testStringCoercion(value) {
11685
+ return "" + value;
11686
+ }
11687
+ function createPortal$1(children, containerInfo, implementation) {
11688
+ var key = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;
11689
+ try {
11690
+ testStringCoercion(key);
11691
+ var JSCompiler_inline_result = !1;
11692
+ } catch (e) {
11693
+ JSCompiler_inline_result = !0;
11694
+ }
11695
+ JSCompiler_inline_result && (console.error("The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", "function" === typeof Symbol && Symbol.toStringTag && key[Symbol.toStringTag] || key.constructor.name || "Object"), testStringCoercion(key));
11696
+ return {
11697
+ $$typeof: REACT_PORTAL_TYPE,
11698
+ key: null == key ? null : "" + key,
11699
+ children,
11700
+ containerInfo,
11701
+ implementation
11702
+ };
11703
+ }
11704
+ function getCrossOriginStringAs(as, input) {
11705
+ if ("font" === as) return "";
11706
+ if ("string" === typeof input) return "use-credentials" === input ? input : "";
11707
+ }
11708
+ function getValueDescriptorExpectingObjectForWarning(thing) {
11709
+ return null === thing ? "`null`" : void 0 === thing ? "`undefined`" : "" === thing ? "an empty string" : "something with type \"" + typeof thing + "\"";
11710
+ }
11711
+ function getValueDescriptorExpectingEnumForWarning(thing) {
11712
+ return null === thing ? "`null`" : void 0 === thing ? "`undefined`" : "" === thing ? "an empty string" : "string" === typeof thing ? JSON.stringify(thing) : "number" === typeof thing ? "`" + thing + "`" : "something with type \"" + typeof thing + "\"";
11713
+ }
11714
+ function resolveDispatcher() {
11715
+ var dispatcher = ReactSharedInternals.H;
11716
+ null === dispatcher && console.error("Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.");
11717
+ return dispatcher;
11718
+ }
11719
+ "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
11720
+ var React = require("react"), Internals = {
11721
+ d: {
11722
+ f: noop,
11723
+ r: function() {
11724
+ throw Error("Invalid form element. requestFormReset must be passed a form that was rendered by React.");
11725
+ },
11726
+ D: noop,
11727
+ C: noop,
11728
+ L: noop,
11729
+ m: noop,
11730
+ X: noop,
11731
+ S: noop,
11732
+ M: noop
11733
+ },
11734
+ p: 0,
11735
+ findDOMNode: null
11736
+ }, REACT_PORTAL_TYPE = Symbol.for("react.portal"), ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;
11737
+ "function" === typeof Map && null != Map.prototype && "function" === typeof Map.prototype.forEach && "function" === typeof Set && null != Set.prototype && "function" === typeof Set.prototype.clear && "function" === typeof Set.prototype.forEach || console.error("React depends on Map and Set built-in types. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills");
11738
+ exports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = Internals;
11739
+ exports.createPortal = function(children, container) {
11740
+ var key = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;
11741
+ if (!container || 1 !== container.nodeType && 9 !== container.nodeType && 11 !== container.nodeType) throw Error("Target container is not a DOM element.");
11742
+ return createPortal$1(children, container, null, key);
11743
+ };
11744
+ exports.flushSync = function(fn) {
11745
+ var previousTransition = ReactSharedInternals.T, previousUpdatePriority = Internals.p;
11746
+ try {
11747
+ if (ReactSharedInternals.T = null, Internals.p = 2, fn) return fn();
11748
+ } finally {
11749
+ ReactSharedInternals.T = previousTransition, Internals.p = previousUpdatePriority, Internals.d.f() && console.error("flushSync was called from inside a lifecycle method. React cannot flush when React is already rendering. Consider moving this call to a scheduler task or micro task.");
11750
+ }
11751
+ };
11752
+ exports.preconnect = function(href, options) {
11753
+ "string" === typeof href && href ? null != options && "object" !== typeof options ? console.error("ReactDOM.preconnect(): Expected the `options` argument (second) to be an object but encountered %s instead. The only supported option at this time is `crossOrigin` which accepts a string.", getValueDescriptorExpectingEnumForWarning(options)) : null != options && "string" !== typeof options.crossOrigin && console.error("ReactDOM.preconnect(): Expected the `crossOrigin` option (second argument) to be a string but encountered %s instead. Try removing this option or passing a string value instead.", getValueDescriptorExpectingObjectForWarning(options.crossOrigin)) : console.error("ReactDOM.preconnect(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.", getValueDescriptorExpectingObjectForWarning(href));
11754
+ "string" === typeof href && (options ? (options = options.crossOrigin, options = "string" === typeof options ? "use-credentials" === options ? options : "" : void 0) : options = null, Internals.d.C(href, options));
11755
+ };
11756
+ exports.prefetchDNS = function(href) {
11757
+ if ("string" !== typeof href || !href) console.error("ReactDOM.prefetchDNS(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.", getValueDescriptorExpectingObjectForWarning(href));
11758
+ else if (1 < arguments.length) {
11759
+ var options = arguments[1];
11760
+ "object" === typeof options && options.hasOwnProperty("crossOrigin") ? console.error("ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. It looks like the you are attempting to set a crossOrigin property for this DNS lookup hint. Browsers do not perform DNS queries using CORS and setting this attribute on the resource hint has no effect. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.", getValueDescriptorExpectingEnumForWarning(options)) : console.error("ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.", getValueDescriptorExpectingEnumForWarning(options));
11761
+ }
11762
+ "string" === typeof href && Internals.d.D(href);
11763
+ };
11764
+ exports.preinit = function(href, options) {
11765
+ "string" === typeof href && href ? null == options || "object" !== typeof options ? console.error("ReactDOM.preinit(): Expected the `options` argument (second) to be an object with an `as` property describing the type of resource to be preinitialized but encountered %s instead.", getValueDescriptorExpectingEnumForWarning(options)) : "style" !== options.as && "script" !== options.as && console.error("ReactDOM.preinit(): Expected the `as` property in the `options` argument (second) to contain a valid value describing the type of resource to be preinitialized but encountered %s instead. Valid values for `as` are \"style\" and \"script\".", getValueDescriptorExpectingEnumForWarning(options.as)) : console.error("ReactDOM.preinit(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.", getValueDescriptorExpectingObjectForWarning(href));
11766
+ if ("string" === typeof href && options && "string" === typeof options.as) {
11767
+ var as = options.as, crossOrigin = getCrossOriginStringAs(as, options.crossOrigin), integrity = "string" === typeof options.integrity ? options.integrity : void 0, fetchPriority = "string" === typeof options.fetchPriority ? options.fetchPriority : void 0;
11768
+ "style" === as ? Internals.d.S(href, "string" === typeof options.precedence ? options.precedence : void 0, {
11769
+ crossOrigin,
11770
+ integrity,
11771
+ fetchPriority
11772
+ }) : "script" === as && Internals.d.X(href, {
11773
+ crossOrigin,
11774
+ integrity,
11775
+ fetchPriority,
11776
+ nonce: "string" === typeof options.nonce ? options.nonce : void 0
11777
+ });
11778
+ }
11779
+ };
11780
+ exports.preinitModule = function(href, options) {
11781
+ var encountered = "";
11782
+ "string" === typeof href && href || (encountered += " The `href` argument encountered was " + getValueDescriptorExpectingObjectForWarning(href) + ".");
11783
+ void 0 !== options && "object" !== typeof options ? encountered += " The `options` argument encountered was " + getValueDescriptorExpectingObjectForWarning(options) + "." : options && "as" in options && "script" !== options.as && (encountered += " The `as` option encountered was " + getValueDescriptorExpectingEnumForWarning(options.as) + ".");
11784
+ if (encountered) console.error("ReactDOM.preinitModule(): Expected up to two arguments, a non-empty `href` string and, optionally, an `options` object with a valid `as` property.%s", encountered);
11785
+ else switch (encountered = options && "string" === typeof options.as ? options.as : "script", encountered) {
11786
+ case "script": break;
11787
+ default: encountered = getValueDescriptorExpectingEnumForWarning(encountered), console.error("ReactDOM.preinitModule(): Currently the only supported \"as\" type for this function is \"script\" but received \"%s\" instead. This warning was generated for `href` \"%s\". In the future other module types will be supported, aligning with the import-attributes proposal. Learn more here: (https://github.com/tc39/proposal-import-attributes)", encountered, href);
11788
+ }
11789
+ if ("string" === typeof href) if ("object" === typeof options && null !== options) {
11790
+ if (null == options.as || "script" === options.as) encountered = getCrossOriginStringAs(options.as, options.crossOrigin), Internals.d.M(href, {
11791
+ crossOrigin: encountered,
11792
+ integrity: "string" === typeof options.integrity ? options.integrity : void 0,
11793
+ nonce: "string" === typeof options.nonce ? options.nonce : void 0
11794
+ });
11795
+ } else null == options && Internals.d.M(href);
11796
+ };
11797
+ exports.preload = function(href, options) {
11798
+ var encountered = "";
11799
+ "string" === typeof href && href || (encountered += " The `href` argument encountered was " + getValueDescriptorExpectingObjectForWarning(href) + ".");
11800
+ null == options || "object" !== typeof options ? encountered += " The `options` argument encountered was " + getValueDescriptorExpectingObjectForWarning(options) + "." : "string" === typeof options.as && options.as || (encountered += " The `as` option encountered was " + getValueDescriptorExpectingObjectForWarning(options.as) + ".");
11801
+ encountered && console.error("ReactDOM.preload(): Expected two arguments, a non-empty `href` string and an `options` object with an `as` property valid for a `<link rel=\"preload\" as=\"...\" />` tag.%s", encountered);
11802
+ if ("string" === typeof href && "object" === typeof options && null !== options && "string" === typeof options.as) {
11803
+ encountered = options.as;
11804
+ var crossOrigin = getCrossOriginStringAs(encountered, options.crossOrigin);
11805
+ Internals.d.L(href, encountered, {
11806
+ crossOrigin,
11807
+ integrity: "string" === typeof options.integrity ? options.integrity : void 0,
11808
+ nonce: "string" === typeof options.nonce ? options.nonce : void 0,
11809
+ type: "string" === typeof options.type ? options.type : void 0,
11810
+ fetchPriority: "string" === typeof options.fetchPriority ? options.fetchPriority : void 0,
11811
+ referrerPolicy: "string" === typeof options.referrerPolicy ? options.referrerPolicy : void 0,
11812
+ imageSrcSet: "string" === typeof options.imageSrcSet ? options.imageSrcSet : void 0,
11813
+ imageSizes: "string" === typeof options.imageSizes ? options.imageSizes : void 0,
11814
+ media: "string" === typeof options.media ? options.media : void 0
11815
+ });
11816
+ }
11817
+ };
11818
+ exports.preloadModule = function(href, options) {
11819
+ var encountered = "";
11820
+ "string" === typeof href && href || (encountered += " The `href` argument encountered was " + getValueDescriptorExpectingObjectForWarning(href) + ".");
11821
+ void 0 !== options && "object" !== typeof options ? encountered += " The `options` argument encountered was " + getValueDescriptorExpectingObjectForWarning(options) + "." : options && "as" in options && "string" !== typeof options.as && (encountered += " The `as` option encountered was " + getValueDescriptorExpectingObjectForWarning(options.as) + ".");
11822
+ encountered && console.error("ReactDOM.preloadModule(): Expected two arguments, a non-empty `href` string and, optionally, an `options` object with an `as` property valid for a `<link rel=\"modulepreload\" as=\"...\" />` tag.%s", encountered);
11823
+ "string" === typeof href && (options ? (encountered = getCrossOriginStringAs(options.as, options.crossOrigin), Internals.d.m(href, {
11824
+ as: "string" === typeof options.as && "script" !== options.as ? options.as : void 0,
11825
+ crossOrigin: encountered,
11826
+ integrity: "string" === typeof options.integrity ? options.integrity : void 0
11827
+ })) : Internals.d.m(href));
11828
+ };
11829
+ exports.requestFormReset = function(form) {
11830
+ Internals.d.r(form);
11831
+ };
11832
+ exports.unstable_batchedUpdates = function(fn, a) {
11833
+ return fn(a);
11834
+ };
11835
+ exports.useFormState = function(action, initialState, permalink) {
11836
+ return resolveDispatcher().useFormState(action, initialState, permalink);
11837
+ };
11838
+ exports.useFormStatus = function() {
11839
+ return resolveDispatcher().useHostTransitionStatus();
11840
+ };
11841
+ exports.version = "19.1.0";
11842
+ "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
11843
+ })();
11844
+ }));
11845
+ //#endregion
11846
+ //#region ../../../node_modules/react-dom/index.js
11847
+ var require_react_dom = /* @__PURE__ */ __commonJSMin(((exports, module) => {
11848
+ module.exports = require_react_dom_development();
11849
+ }));
11850
+ //#endregion
11842
11851
  //#region ../../packages/react-native-web-lite/dist/esm/index.mjs
11843
11852
  var esm_exports = /* @__PURE__ */ __exportAll({
11844
11853
  AccessibilityInfo: () => AccessibilityInfo,
@@ -11983,7 +11992,7 @@ var init_esm = __esmMin((() => {
11983
11992
  }));
11984
11993
  //#endregion
11985
11994
  //#region ../../core/constants/dist/esm/constants.native.js
11986
- var isWeb, isBrowser, isServer, isClient, useIsomorphicLayoutEffect, isChrome, isWebTouchable, isTouchable, isAndroid$1, isIos, isTV, currentPlatform;
11995
+ var isWeb, isBrowser, isServer, isClient, useIsomorphicLayoutEffect, isChrome, isWebTouchable, isNativeDesktop, isTouchable, isAndroid$1, isIos, supportsDynamicColorIOS, isTV, currentPlatform;
11987
11996
  var init_constants_native$1 = __esmMin((() => {
11988
11997
  init_esm();
11989
11998
  isWeb = false;
@@ -11993,13 +12002,17 @@ var init_constants_native$1 = __esmMin((() => {
11993
12002
  useIsomorphicLayoutEffect = react$1.useLayoutEffect;
11994
12003
  isChrome = false;
11995
12004
  isWebTouchable = false;
11996
- isTouchable = true;
12005
+ isNativeDesktop = (Platform === null || Platform === void 0 ? void 0 : Platform.OS) === "macos" || (Platform === null || Platform === void 0 ? void 0 : Platform.OS) === "windows";
12006
+ isTouchable = !isNativeDesktop;
11997
12007
  isAndroid$1 = (Platform === null || Platform === void 0 ? void 0 : Platform.OS) === "android" || process.env.TEST_NATIVE_PLATFORM === "android" || process.env.TEST_NATIVE_PLATFORM === "androidtv";
11998
12008
  isIos = (Platform === null || Platform === void 0 ? void 0 : Platform.OS) === "ios" || process.env.TEST_NATIVE_PLATFORM === "ios" || process.env.TEST_NATIVE_PLATFORM === "tvos";
12009
+ supportsDynamicColorIOS = isIos || process.env.TAMAGUI_DYNAMIC_COLOR_IOS === "1";
11999
12010
  isTV = (Platform === null || Platform === void 0 ? void 0 : Platform.isTV) || process.env.TEST_NATIVE_PLATFORM === "androidtv" || process.env.TEST_NATIVE_PLATFORM === "tvos";
12000
12011
  currentPlatform = ((Platform === null || Platform === void 0 ? void 0 : Platform.OS) ? {
12001
12012
  ios: "ios",
12002
- android: "android"
12013
+ android: "android",
12014
+ macos: "macos",
12015
+ windows: "windows"
12003
12016
  }[Platform.OS] : void 0) || "native";
12004
12017
  }));
12005
12018
  //#endregion
@@ -12510,151 +12523,74 @@ var init_index_native$6 = __esmMin((() => {
12510
12523
  //#region ../../core/helpers/dist/esm/clamp.native.js
12511
12524
  function clamp(value, param) {
12512
12525
  var [min, max] = param;
12513
- return Math.min(max, Math.max(min, value));
12514
- }
12515
- var init_clamp_native = __esmMin((() => {}));
12516
- //#endregion
12517
- //#region ../../core/helpers/dist/esm/composeEventHandlers.native.js
12518
- function _type_of$14(obj) {
12519
- "@swc/helpers - typeof";
12520
- return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
12521
- }
12522
- function composeEventHandlers(og, next) {
12523
- var { checkDefaultPrevented = true } = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
12524
- if (!og || !next) return next || og || void 0;
12525
- return function(event) {
12526
- og === null || og === void 0 || og(event);
12527
- if (!event || !(checkDefaultPrevented && (typeof event === "undefined" ? "undefined" : _type_of$14(event)) === "object" && "defaultPrevented" in event) || "defaultPrevented" in event && !event.defaultPrevented) return next === null || next === void 0 ? void 0 : next(event);
12528
- };
12529
- }
12530
- var init_composeEventHandlers_native = __esmMin((() => {}));
12531
- //#endregion
12532
- //#region ../../core/helpers/dist/esm/types.native.js
12533
- var StyleObjectProperty, StyleObjectValue, StyleObjectIdentifier, StyleObjectPseudo, StyleObjectRules;
12534
- var init_types_native = __esmMin((() => {
12535
- StyleObjectProperty = 0;
12536
- StyleObjectValue = 1;
12537
- StyleObjectIdentifier = 2;
12538
- StyleObjectPseudo = 3;
12539
- StyleObjectRules = 4;
12540
- }));
12541
- //#endregion
12542
- //#region ../../core/helpers/dist/esm/shouldRenderNativePlatform.native.js
12543
- function shouldRenderNativePlatform(nativeProp) {
12544
- if (!nativeProp) return null;
12545
- var userRequestedPlatforms = resolvePlatformNames(nativeProp);
12546
- var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
12547
- try {
12548
- for (var _iterator = ALL_PLATFORMS[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
12549
- var platform = _step.value;
12550
- if (platform === currentPlatform && userRequestedPlatforms.has(platform)) return platform;
12551
- }
12552
- } catch (err) {
12553
- _didIteratorError = true;
12554
- _iteratorError = err;
12555
- } finally {
12556
- try {
12557
- if (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();
12558
- } finally {
12559
- if (_didIteratorError) throw _iteratorError;
12560
- }
12561
- }
12562
- return null;
12563
- }
12564
- function resolvePlatformNames(nativeProp) {
12565
- var set = new Set(nativeProp === true ? ALL_PLATFORMS : nativeProp === false ? [] : Array.isArray(nativeProp) ? nativeProp : [nativeProp]);
12566
- if (set.has("mobile")) {
12567
- set.add("android");
12568
- set.add("ios");
12569
- set.delete("mobile");
12570
- }
12571
- return set;
12572
- }
12573
- var ALL_PLATFORMS;
12574
- var init_shouldRenderNativePlatform_native = __esmMin((() => {
12575
- init_index_native$7();
12576
- ALL_PLATFORMS = [
12577
- "web",
12578
- "android",
12579
- "ios"
12580
- ];
12581
- }));
12582
- //#endregion
12583
- //#region ../../core/helpers/dist/esm/webOnlyStyleProps.native.js
12584
- var nonAnimatableWebViewProps, nonAnimatableWebTextProps, webOnlyStylePropsView, webOnlyStylePropsText;
12585
- var init_webOnlyStyleProps_native = __esmMin((() => {
12586
- init_objectSpread2();
12587
- nonAnimatableWebViewProps = {
12588
- backgroundAttachment: true,
12589
- backgroundBlendMode: true,
12590
- backgroundClip: true,
12591
- backgroundOrigin: true,
12592
- backgroundRepeat: true,
12593
- borderBottomStyle: true,
12594
- borderLeftStyle: true,
12595
- borderRightStyle: true,
12596
- borderTopStyle: true,
12597
- contain: true,
12598
- containerType: true,
12599
- content: true,
12600
- float: true,
12601
- maskBorderMode: true,
12602
- maskBorderRepeat: true,
12603
- maskClip: true,
12604
- maskComposite: true,
12605
- maskMode: true,
12606
- maskOrigin: true,
12607
- maskRepeat: true,
12608
- maskType: true,
12609
- objectFit: true,
12610
- overflowBlock: true,
12611
- overflowInline: true,
12612
- overflowX: true,
12613
- overflowY: true,
12614
- pointerEvents: true,
12615
- scrollbarWidth: true,
12616
- textWrap: true,
12617
- touchAction: true,
12618
- transformStyle: true,
12619
- willChange: true
12620
- };
12621
- nonAnimatableWebTextProps = {
12622
- whiteSpace: true,
12623
- wordWrap: true,
12624
- textOverflow: true,
12625
- WebkitBoxOrient: true
12626
- };
12627
- webOnlyStylePropsView = _objectSpread2(_objectSpread2({}, nonAnimatableWebViewProps), {}, {
12628
- transition: true,
12629
- backdropFilter: true,
12630
- WebkitBackdropFilter: true,
12631
- background: true,
12632
- borderTop: true,
12633
- borderRight: true,
12634
- borderBottom: true,
12635
- borderLeft: true,
12636
- backgroundPosition: true,
12637
- backgroundSize: true,
12638
- borderImage: true,
12639
- caretColor: true,
12640
- clipPath: true,
12641
- mask: true,
12642
- maskBorder: true,
12643
- maskBorderOutset: true,
12644
- maskBorderSlice: true,
12645
- maskBorderSource: true,
12646
- maskBorderWidth: true,
12647
- maskImage: true,
12648
- maskPosition: true,
12649
- maskSize: true,
12650
- objectPosition: true,
12651
- textEmphasis: true,
12652
- userSelect: true
12653
- });
12654
- webOnlyStylePropsText = _objectSpread2(_objectSpread2({}, nonAnimatableWebTextProps), {}, {
12655
- textDecorationDistance: true,
12656
- WebkitLineClamp: true
12657
- });
12526
+ return Math.min(max, Math.max(min, value));
12527
+ }
12528
+ var init_clamp_native = __esmMin((() => {}));
12529
+ //#endregion
12530
+ //#region ../../core/helpers/dist/esm/composeEventHandlers.native.js
12531
+ function _type_of$14(obj) {
12532
+ "@swc/helpers - typeof";
12533
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
12534
+ }
12535
+ function composeEventHandlers(og, next) {
12536
+ var { checkDefaultPrevented = true } = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
12537
+ if (!og || !next) return next || og || void 0;
12538
+ return function(event) {
12539
+ og === null || og === void 0 || og(event);
12540
+ if (!event || !(checkDefaultPrevented && (typeof event === "undefined" ? "undefined" : _type_of$14(event)) === "object" && "defaultPrevented" in event) || "defaultPrevented" in event && !event.defaultPrevented) return next === null || next === void 0 ? void 0 : next(event);
12541
+ };
12542
+ }
12543
+ var init_composeEventHandlers_native = __esmMin((() => {}));
12544
+ //#endregion
12545
+ //#region ../../core/helpers/dist/esm/types.native.js
12546
+ var StyleObjectProperty, StyleObjectValue, StyleObjectIdentifier, StyleObjectPseudo, StyleObjectRules;
12547
+ var init_types_native = __esmMin((() => {
12548
+ StyleObjectProperty = 0;
12549
+ StyleObjectValue = 1;
12550
+ StyleObjectIdentifier = 2;
12551
+ StyleObjectPseudo = 3;
12552
+ StyleObjectRules = 4;
12553
+ }));
12554
+ //#endregion
12555
+ //#region ../../core/helpers/dist/esm/shouldRenderNativePlatform.native.js
12556
+ function shouldRenderNativePlatform(nativeProp) {
12557
+ if (!nativeProp) return null;
12558
+ var userRequestedPlatforms = resolvePlatformNames(nativeProp);
12559
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
12560
+ try {
12561
+ for (var _iterator = ALL_PLATFORMS[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
12562
+ var platform = _step.value;
12563
+ if (platform === currentPlatform && userRequestedPlatforms.has(platform)) return platform;
12564
+ }
12565
+ } catch (err) {
12566
+ _didIteratorError = true;
12567
+ _iteratorError = err;
12568
+ } finally {
12569
+ try {
12570
+ if (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();
12571
+ } finally {
12572
+ if (_didIteratorError) throw _iteratorError;
12573
+ }
12574
+ }
12575
+ return null;
12576
+ }
12577
+ function resolvePlatformNames(nativeProp) {
12578
+ var set = new Set(nativeProp === true ? ALL_PLATFORMS : nativeProp === false ? [] : Array.isArray(nativeProp) ? nativeProp : [nativeProp]);
12579
+ if (set.has("mobile")) {
12580
+ set.add("android");
12581
+ set.add("ios");
12582
+ set.delete("mobile");
12583
+ }
12584
+ return set;
12585
+ }
12586
+ var ALL_PLATFORMS;
12587
+ var init_shouldRenderNativePlatform_native = __esmMin((() => {
12588
+ init_index_native$7();
12589
+ ALL_PLATFORMS = [
12590
+ "web",
12591
+ "android",
12592
+ "ios"
12593
+ ];
12658
12594
  }));
12659
12595
  //#endregion
12660
12596
  //#region ../../core/helpers/dist/esm/validStyleProps.native.js
@@ -12943,6 +12879,83 @@ var init_withStaticProperties_native = __esmMin((() => {
12943
12879
  };
12944
12880
  }));
12945
12881
  //#endregion
12882
+ //#region ../../core/helpers/dist/esm/webOnlyStyleProps.native.js
12883
+ var nonAnimatableWebViewProps, nonAnimatableWebTextProps, webOnlyStylePropsView, webOnlyStylePropsText;
12884
+ var init_webOnlyStyleProps_native = __esmMin((() => {
12885
+ init_objectSpread2();
12886
+ nonAnimatableWebViewProps = {
12887
+ backgroundAttachment: true,
12888
+ backgroundBlendMode: true,
12889
+ backgroundClip: true,
12890
+ backgroundOrigin: true,
12891
+ backgroundRepeat: true,
12892
+ borderBottomStyle: true,
12893
+ borderLeftStyle: true,
12894
+ borderRightStyle: true,
12895
+ borderTopStyle: true,
12896
+ contain: true,
12897
+ containerType: true,
12898
+ content: true,
12899
+ float: true,
12900
+ maskBorderMode: true,
12901
+ maskBorderRepeat: true,
12902
+ maskClip: true,
12903
+ maskComposite: true,
12904
+ maskMode: true,
12905
+ maskOrigin: true,
12906
+ maskRepeat: true,
12907
+ maskType: true,
12908
+ objectFit: true,
12909
+ overflowBlock: true,
12910
+ overflowInline: true,
12911
+ overflowX: true,
12912
+ overflowY: true,
12913
+ pointerEvents: true,
12914
+ scrollbarWidth: true,
12915
+ textWrap: true,
12916
+ touchAction: true,
12917
+ transformStyle: true,
12918
+ willChange: true
12919
+ };
12920
+ nonAnimatableWebTextProps = {
12921
+ whiteSpace: true,
12922
+ wordWrap: true,
12923
+ textOverflow: true,
12924
+ WebkitBoxOrient: true
12925
+ };
12926
+ webOnlyStylePropsView = _objectSpread2(_objectSpread2({}, nonAnimatableWebViewProps), {}, {
12927
+ transition: true,
12928
+ backdropFilter: true,
12929
+ WebkitBackdropFilter: true,
12930
+ background: true,
12931
+ borderTop: true,
12932
+ borderRight: true,
12933
+ borderBottom: true,
12934
+ borderLeft: true,
12935
+ backgroundPosition: true,
12936
+ backgroundSize: true,
12937
+ borderImage: true,
12938
+ caretColor: true,
12939
+ clipPath: true,
12940
+ mask: true,
12941
+ maskBorder: true,
12942
+ maskBorderOutset: true,
12943
+ maskBorderSlice: true,
12944
+ maskBorderSource: true,
12945
+ maskBorderWidth: true,
12946
+ maskImage: true,
12947
+ maskPosition: true,
12948
+ maskSize: true,
12949
+ objectPosition: true,
12950
+ textEmphasis: true,
12951
+ userSelect: true
12952
+ });
12953
+ webOnlyStylePropsText = _objectSpread2(_objectSpread2({}, nonAnimatableWebTextProps), {}, {
12954
+ textDecorationDistance: true,
12955
+ WebkitLineClamp: true
12956
+ });
12957
+ }));
12958
+ //#endregion
12946
12959
  //#region ../../core/helpers/dist/esm/index.native.js
12947
12960
  var init_index_native$5 = __esmMin((() => {
12948
12961
  init_index_native$6();
@@ -13321,7 +13334,7 @@ var init_useThemeState_native = __esmMin((() => {
13321
13334
  if (local && !PendingUpdate.has(id)) {
13322
13335
  if (parentState && local._parentName === parentState.name && local._propsKey === propsKey) return local;
13323
13336
  }
13324
- var isSchemeOnlyChange = isIos && getSetting("fastSchemeChange") && local && parentState && local.scheme !== parentState.scheme && getThemeBaseName(local.name) === getThemeBaseName(parentState.name);
13337
+ var isSchemeOnlyChange = supportsDynamicColorIOS && getSetting("fastSchemeChange") && local && parentState && local.scheme !== parentState.scheme && getThemeBaseName(local.name) === getThemeBaseName(parentState.name);
13325
13338
  var _keys_current_size;
13326
13339
  var keysSize = (_keys_current_size = keys === null || keys === void 0 ? void 0 : (_keys_current = keys.current) === null || _keys_current === void 0 ? void 0 : _keys_current.size) !== null && _keys_current_size !== void 0 ? _keys_current_size : 0;
13327
13340
  var _schemeKeys_current_size;
@@ -13450,7 +13463,7 @@ function getThemeProxied(_props, _state, _keys, _schemeKeys) {
13450
13463
  var { name, scheme } = curState;
13451
13464
  var fastSchemeChange = getSetting("fastSchemeChange");
13452
13465
  var rootMatchesSystem = doesRootSchemeMatchSystem();
13453
- if (scheme && platform !== "web" && isIos && !curProps.deopt && !curState.isInverse && fastSchemeChange && rootMatchesSystem) {
13466
+ if (scheme && platform !== "web" && supportsDynamicColorIOS && !curProps.deopt && !curState.isInverse && fastSchemeChange && rootMatchesSystem) {
13454
13467
  var _config_themes_name, _config_themes_oppositeName;
13455
13468
  var oppositeScheme = scheme === "dark" ? "light" : "dark";
13456
13469
  var oppositeName = name.replace(scheme, oppositeScheme);
@@ -14165,6 +14178,10 @@ function useEvents(events, viewProps, stateRef, staticConfig, isHOC, isInsideNat
14165
14178
  if (events) {
14166
14179
  if (events.onFocus) viewProps["onFocus"] = events.onFocus;
14167
14180
  if (events.onBlur) viewProps["onBlur"] = events.onBlur;
14181
+ if (getIsNativeDesktop()) {
14182
+ if (events.onMouseEnter) viewProps["onMouseEnter"] = events.onMouseEnter;
14183
+ if (events.onMouseLeave) viewProps["onMouseLeave"] = events.onMouseLeave;
14184
+ }
14168
14185
  }
14169
14186
  var hasPressEvents = events === null || events === void 0 ? void 0 : events.onPress;
14170
14187
  var gh = getGestureHandler();
@@ -14280,7 +14297,7 @@ function wrapWithGestureDetector(content, gesture, stateRef, isHOC, isCompositeC
14280
14297
  onStartShouldSetResponder: responderClaim
14281
14298
  }, react$1.default.createElement(GestureDetector, { gesture: gestureToUse }, content));
14282
14299
  }
14283
- var isFabric, isAndroidCache, getIsAndroid, responderClaim, responderWrapperStyle;
14300
+ var isFabric, isAndroidCache, getIsAndroid, isNativeDesktopCache, getIsNativeDesktop, responderClaim, responderWrapperStyle;
14284
14301
  var init_eventHandling_native = __esmMin((() => {
14285
14302
  init_index_native$5();
14286
14303
  init_index_native$3();
@@ -14291,6 +14308,10 @@ var init_eventHandling_native = __esmMin((() => {
14291
14308
  if (isAndroidCache === void 0) isAndroidCache = (Platform === null || Platform === void 0 ? void 0 : Platform.OS) === "android";
14292
14309
  return isAndroidCache;
14293
14310
  };
14311
+ getIsNativeDesktop = function() {
14312
+ if (isNativeDesktopCache === void 0) isNativeDesktopCache = (Platform === null || Platform === void 0 ? void 0 : Platform.OS) === "macos" || (Platform === null || Platform === void 0 ? void 0 : Platform.OS) === "windows";
14313
+ return isNativeDesktopCache;
14314
+ };
14294
14315
  responderClaim = function() {
14295
14316
  return true;
14296
14317
  };
@@ -14408,22 +14429,6 @@ var init_getCSSStylesAtomic_native = __esmMin((() => {
14408
14429
  getStyleAtomic = empty$1;
14409
14430
  }));
14410
14431
  //#endregion
14411
- //#region ../../core/web/dist/esm/helpers/insertStyleRule.native.js
14412
- function scanAllSheets() {
14413
- arguments.length > 0 && arguments[0] !== void 0 && arguments[0];
14414
- arguments.length > 1 && arguments[1];
14415
- if (!process.env.TAMAGUI_DID_OUTPUT_CSS) return;
14416
- }
14417
- function stopAccumulatingRules() {
14418
- trackAllRules = false;
14419
- }
14420
- var bailAfterEnv, trackAllRules;
14421
- var init_insertStyleRule_native = __esmMin((() => {
14422
- bailAfterEnv = process.env.TAMAGUI_BAIL_AFTER_SCANNING_X_CSS_RULES;
14423
- bailAfterEnv && +bailAfterEnv;
14424
- process.env.TAMAGUI_INSERT_SELECTOR_TRIES && +process.env.TAMAGUI_INSERT_SELECTOR_TRIES;
14425
- }));
14426
- //#endregion
14427
14432
  //#region ../../core/web/dist/esm/helpers/isActivePlatform.native.js
14428
14433
  function getPlatformSpecificityBump(mediaKeyShort) {
14429
14434
  if (mediaKeyShort === "platform-androidtv" || mediaKeyShort === "platform-tvos") return 3;
@@ -15137,7 +15142,7 @@ var init_platformResolveValue_native = __esmMin((() => {
15137
15142
  init_getTokenForKey_native();
15138
15143
  init_parseNativeStyle_native();
15139
15144
  init_objectSpread2();
15140
- tokenPattern = /(\$[\w.-]+)/g;
15145
+ tokenPattern = /(\$[\w.-]+(?:\/[\d.]+)?)/g;
15141
15146
  nativeParseKeys = {
15142
15147
  backgroundImage: true,
15143
15148
  boxShadow: true,
@@ -15883,7 +15888,7 @@ var init_getSplitStyles_native = __esmMin((() => {
15883
15888
  }
15884
15889
  var mediaStyle1 = getSubStyle(styleState, key5, val2, true);
15885
15890
  var importanceBump = 0;
15886
- if (isThemeMedia) if (isIos && getSetting("fastSchemeChange")) {
15891
+ if (isThemeMedia) if (supportsDynamicColorIOS && getSetting("fastSchemeChange")) {
15887
15892
  var _styleState3;
15888
15893
  (_styleState3 = styleState).style || (_styleState3.style = {});
15889
15894
  var scheme = mediaKeyShort;
@@ -16618,7 +16623,6 @@ var init_themeable_native = __esmMin((() => {
16618
16623
  "themeReset"
16619
16624
  ];
16620
16625
  }));
16621
- var init_wrapStyleTags_native = __esmMin((() => {}));
16622
16626
  //#endregion
16623
16627
  //#region ../../core/use-did-finish-ssr/dist/esm/ClientOnly.native.js
16624
16628
  var ClientOnlyContext, ClientOnly;
@@ -17166,7 +17170,7 @@ function createComponent(staticConfig) {
17166
17170
  var attachPress = Boolean(hasDynamicGroupChildren || runtimePressStyle || onPress || onPressOut || onPressIn || onMouseDown || onMouseUp || onLongPress || onClick || (pseudos === null || pseudos === void 0 ? void 0 : pseudos.focusVisibleStyle));
17167
17171
  var runtimeHoverStyle = !disabled && noClass && (pseudos === null || pseudos === void 0 ? void 0 : pseudos.hoverStyle);
17168
17172
  var needsHoverState = Boolean(hasDynamicGroupChildren || runtimeHoverStyle);
17169
- var attachHover = false;
17173
+ var attachHover = isNativeDesktop && !!(hasDynamicGroupChildren || needsHoverState || onMouseEnter || onMouseLeave);
17170
17174
  var shouldAttach = !disabled && !props.asChild && Boolean(attachFocus || attachPress || attachHover || runtimePressStyle || runtimeHoverStyle || runtimeFocusStyle);
17171
17175
  var needsPressState = Boolean(hasDynamicGroupChildren || runtimePressStyle);
17172
17176
  var events = shouldAttach ? _objectSpread2(_objectSpread2(_objectSpread2({ onPressOut: attachPress ? function(e) {
@@ -17462,6 +17466,22 @@ var init_registerCSSVariable_native = __esmMin((() => {
17462
17466
  tokensValueToVariable = /* @__PURE__ */ new Map();
17463
17467
  }));
17464
17468
  //#endregion
17469
+ //#region ../../core/web/dist/esm/helpers/insertStyleRule.native.js
17470
+ function scanAllSheets() {
17471
+ arguments.length > 0 && arguments[0] !== void 0 && arguments[0];
17472
+ arguments.length > 1 && arguments[1];
17473
+ if (!process.env.TAMAGUI_DID_OUTPUT_CSS) return;
17474
+ }
17475
+ function stopAccumulatingRules() {
17476
+ trackAllRules = false;
17477
+ }
17478
+ var bailAfterEnv, trackAllRules;
17479
+ var init_insertStyleRule_native = __esmMin((() => {
17480
+ bailAfterEnv = process.env.TAMAGUI_BAIL_AFTER_SCANNING_X_CSS_RULES;
17481
+ bailAfterEnv && +bailAfterEnv;
17482
+ process.env.TAMAGUI_INSERT_SELECTOR_TRIES && +process.env.TAMAGUI_INSERT_SELECTOR_TRIES;
17483
+ }));
17484
+ //#endregion
17465
17485
  //#region ../../core/web/dist/esm/helpers/isTamaguiComponent.native.js
17466
17486
  function isTamaguiComponent(comp, name) {
17467
17487
  var config = comp === null || comp === void 0 ? void 0 : comp["staticConfig"];
@@ -17596,6 +17616,7 @@ function ensureThemeVariable(theme, key) {
17596
17616
  var init_themes_native = __esmMin((() => {
17597
17617
  init_createVariable_native();
17598
17618
  }));
17619
+ var init_wrapStyleTags_native = __esmMin((() => {}));
17599
17620
  //#endregion
17600
17621
  //#region ../../core/web/dist/esm/createFont.native.js
17601
17622
  var fontWeights, processSection, createFont;
@@ -19485,10 +19506,10 @@ function getBaseViews() {
19485
19506
  }
19486
19507
  //#endregion
19487
19508
  //#region ../../core/core/dist/esm/index.native.js
19488
- init_objectSpread2();
19489
19509
  init_index_native();
19490
19510
  init_index_native$7();
19491
19511
  init_index_native$11();
19512
+ init_objectSpread2();
19492
19513
  init_index_native();
19493
19514
  var GESTURE_STATE_KEY = "__tamagui_gesture__";
19494
19515
  var GESTURE_ENABLED_FREEZE_KEY = "__tamagui_gesture_enabled_freeze__";
@@ -20375,20 +20396,6 @@ var StackZIndexContext = function(param) {
20375
20396
  return content;
20376
20397
  };
20377
20398
  //#endregion
20378
- //#region ../portal/dist/esm/constants.native.js
20379
- init_index_native$7();
20380
- init_index_native$3();
20381
- var isTeleportEnabled = function() {
20382
- var state = getPortal().state;
20383
- return state.enabled && state.type === "teleport";
20384
- };
20385
- var needsPortalRepropagation = function() {
20386
- if (isTeleportEnabled()) return false;
20387
- return isAndroid$1 || isIos;
20388
- };
20389
- var allPortalHosts = /* @__PURE__ */ new Map();
20390
- var portalListeners = {};
20391
- //#endregion
20392
20399
  //#region ../portal/dist/esm/GorhomPortal.native.js
20393
20400
  init_index_native$7();
20394
20401
  init_index_native$3();
@@ -20641,6 +20648,20 @@ var Portal = function(propsIn) {
20641
20648
  });
20642
20649
  };
20643
20650
  //#endregion
20651
+ //#region ../portal/dist/esm/constants.native.js
20652
+ init_index_native$7();
20653
+ init_index_native$3();
20654
+ var isTeleportEnabled = function() {
20655
+ var state = getPortal().state;
20656
+ return state.enabled && state.type === "teleport";
20657
+ };
20658
+ var needsPortalRepropagation = function() {
20659
+ if (isTeleportEnabled()) return false;
20660
+ return isAndroid$1 || isIos;
20661
+ };
20662
+ var allPortalHosts = /* @__PURE__ */ new Map();
20663
+ var portalListeners = {};
20664
+ //#endregion
20644
20665
  //#region ../adapt/dist/esm/Adapt.native.js
20645
20666
  init_index_native$7();
20646
20667
  init_index_native$5();
@@ -20843,7 +20864,7 @@ var useAdaptIsActiveGiven = function(param) {
20843
20864
  if (when == null && platform == null) return false;
20844
20865
  if (when === true) return true;
20845
20866
  var enabled = false;
20846
- if (platform === "touch") enabled = true;
20867
+ if (platform === "touch") enabled = isTouchable;
20847
20868
  else if (platform === "native") enabled = true;
20848
20869
  else if (platform === "web") enabled = false;
20849
20870
  else if (platform === "ios") enabled = isIos;
@@ -23937,17 +23958,8 @@ var useFloating = function(props) {
23937
23958
  }] }));
23938
23959
  };
23939
23960
  //#endregion
23940
- //#region ../../core/floating/dist/esm/interactions/useInnerOffset.native.js
23941
- var import_react_dom = /* @__PURE__ */ __toESM(require_react_dom(), 1);
23942
- react$1.createContext({
23943
- currentId: null,
23944
- setCurrentId: function() {},
23945
- delay: 0,
23946
- timeoutMs: 0,
23947
- initialDelay: 0
23948
- });
23949
- //#endregion
23950
23961
  //#region ../popper/dist/esm/Popper.native.js
23962
+ var import_react_dom = /* @__PURE__ */ __toESM(require_react_dom(), 1);
23951
23963
  init_index_native$4();
23952
23964
  init_index_native$7();
23953
23965
  init_esm();
@@ -24069,10 +24081,10 @@ function tamaguiAutoUpdate(reference, floating, update) {
24069
24081
  };
24070
24082
  }
24071
24083
  function Popper(props) {
24072
- var { children, size, strategy = "absolute", placement = "bottom", stayInFrame, allowFlip, offset: offset$2, disableRTL, resize, passThrough, open, scope } = props;
24084
+ var { children, size, strategy = "absolute", placement = "bottom", stayInFrame, allowFlip, offset: offset$1, disableRTL, resize, passThrough, open, scope } = props;
24073
24085
  var [arrowEl, setArrow] = react$1.useState(null);
24074
24086
  var [arrowSize, setArrowSize] = react$1.useState(0);
24075
- var offsetOptions = offset$2 !== null && offset$2 !== void 0 ? offset$2 : arrowSize;
24087
+ var offsetOptions = offset$1 !== null && offset$1 !== void 0 ? offset$1 : arrowSize;
24076
24088
  react$1.useRef({});
24077
24089
  var isOpen = passThrough ? false : open !== null && open !== void 0 ? open : true;
24078
24090
  var middlewareRef = react$1.useRef([]);
@@ -28447,8 +28459,7 @@ function setupNativeSheet(platform, RNIOSModal) {
28447
28459
  setHasScrollView: emptyFn,
28448
28460
  keyboardOccludedHeight: 0,
28449
28461
  isKeyboardVisible: false,
28450
- keyboardStableFrameHeight: 0,
28451
- isKeyboardSeeding: false
28462
+ keyboardStableFrameHeight: 0
28452
28463
  }, providerProps), {}, {
28453
28464
  onlyShowFrame: true,
28454
28465
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(ModalSheetView, {
@@ -28534,6 +28545,30 @@ function resisted(y, minY) {
28534
28545
  }
28535
28546
  //#endregion
28536
28547
  //#region ../sheet/dist/esm/keyboardAvoidance.native.js
28548
+ function getKeyboardAdjustedSheetY(param) {
28549
+ var { sheetY, screenSize, isKeyboardVisible, keyboardHeight, shouldTranslate, safeAreaTop } = param;
28550
+ if (!shouldTranslate || !isKeyboardVisible || keyboardHeight <= 0 || screenSize <= 0 || sheetY >= screenSize) return sheetY;
28551
+ return Math.max(safeAreaTop, sheetY - keyboardHeight);
28552
+ }
28553
+ function getSheetReleasePosition(param) {
28554
+ var { positions, projectedEnd, currentPosition, frameSize, dismissOnSnapToBottom, snapPointsMode, isKeyboardVisible, isWeb } = param;
28555
+ var closestPoint = 0;
28556
+ var dist = Number.POSITIVE_INFINITY;
28557
+ for (var i = 0; i < positions.length; i++) {
28558
+ var position = positions[i];
28559
+ var curDist = Math.abs(projectedEnd - position);
28560
+ if (curDist < dist) {
28561
+ dist = curDist;
28562
+ closestPoint = i;
28563
+ }
28564
+ }
28565
+ var dismissPoint = positions.length - 1;
28566
+ if (!(isWeb && dismissOnSnapToBottom && isKeyboardVisible && snapPointsMode === "fit" && positions.length === 2 && closestPoint === dismissPoint)) return closestPoint;
28567
+ var openPosition = positions[0];
28568
+ var dismissDistance = positions[dismissPoint] - openPosition;
28569
+ if (dismissDistance <= 0 || frameSize <= 0) return closestPoint;
28570
+ return Math.max(0, currentPosition - openPosition) >= Math.max(120, Math.min(frameSize, dismissDistance) * .35) ? closestPoint : 0;
28571
+ }
28537
28572
  function getKeyboardOccludedHeight(param) {
28538
28573
  var { frameSize, isKeyboardVisible, keyboardHeight, screenSize, sheetY } = param;
28539
28574
  if (!isKeyboardVisible || keyboardHeight <= 0 || screenSize <= 0 || frameSize <= 0 || sheetY === void 0 || sheetY >= screenSize) return 0;
@@ -28544,11 +28579,24 @@ function getKeyboardOccludedHeight(param) {
28544
28579
  }
28545
28580
  //#endregion
28546
28581
  //#region ../sheet/dist/esm/useGestureHandlerPan.native.js
28582
+ init_index_native$7();
28547
28583
  var AT_TOP_THRESHOLD = 5;
28548
28584
  function useGestureHandlerPan(config) {
28549
28585
  var { positions, frameSize, setPosition, animateTo, stopSpring, scrollBridge, setIsDragging, getCurrentPosition, resisted, disableDrag, isShowingInnerSheet, setAnimatedPosition, scrollGestureRef } = config;
28550
28586
  var gestureHandlerEnabled = isGestureHandlerEnabled();
28551
28587
  var panGestureRef = (0, react$1.useRef)(null);
28588
+ var _config_snapPointsMode;
28589
+ var releaseConfigRef = (0, react$1.useRef)({
28590
+ dismissOnSnapToBottom: config.dismissOnSnapToBottom === true,
28591
+ snapPointsMode: (_config_snapPointsMode = config.snapPointsMode) !== null && _config_snapPointsMode !== void 0 ? _config_snapPointsMode : "percent",
28592
+ isKeyboardVisible: config.isKeyboardVisible === true
28593
+ });
28594
+ var _config_snapPointsMode1;
28595
+ releaseConfigRef.current = {
28596
+ dismissOnSnapToBottom: config.dismissOnSnapToBottom === true,
28597
+ snapPointsMode: (_config_snapPointsMode1 = config.snapPointsMode) !== null && _config_snapPointsMode1 !== void 0 ? _config_snapPointsMode1 : "percent",
28598
+ isKeyboardVisible: config.isKeyboardVisible === true
28599
+ };
28552
28600
  var gestureStateRef = (0, react$1.useRef)({
28553
28601
  startY: 0,
28554
28602
  lastPanTranslationY: 0,
@@ -28557,6 +28605,7 @@ function useGestureHandlerPan(config) {
28557
28605
  scrollEngaged: false,
28558
28606
  frozenPositions: [],
28559
28607
  frozenMinY: 0,
28608
+ frozenIsKeyboardVisible: false,
28560
28609
  panStarted: false
28561
28610
  });
28562
28611
  var onStart = (0, react$1.useCallback)(function() {
@@ -28595,6 +28644,7 @@ function useGestureHandlerPan(config) {
28595
28644
  gs.scrollEngaged = currentScrollY > 0;
28596
28645
  gs.frozenPositions = [...positions];
28597
28646
  gs.frozenMinY = minY;
28647
+ gs.frozenIsKeyboardVisible = releaseConfigRef.current.isKeyboardVisible;
28598
28648
  if (!atTop) {
28599
28649
  var _scrollBridge_setScrollEnabled;
28600
28650
  (_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 || _scrollBridge_setScrollEnabled.call(scrollBridge, false, 0);
@@ -28645,17 +28695,17 @@ function useGestureHandlerPan(config) {
28645
28695
  return;
28646
28696
  }
28647
28697
  var projectedEnd = currentPos + frameSize * (velocityY / 1e3) * .2;
28648
- var closestPoint = 0;
28649
- var minDist = Number.POSITIVE_INFINITY;
28650
- for (var i = 0; i < snapPositions.length; i++) {
28651
- var pos = snapPositions[i];
28652
- var dist = Math.abs(projectedEnd - pos);
28653
- if (dist < minDist) {
28654
- minDist = dist;
28655
- closestPoint = i;
28656
- }
28657
- }
28658
- onEnd(closestPoint);
28698
+ var releaseConfig = releaseConfigRef.current;
28699
+ onEnd(getSheetReleasePosition({
28700
+ positions: snapPositions,
28701
+ projectedEnd,
28702
+ currentPosition: currentPos,
28703
+ frameSize,
28704
+ dismissOnSnapToBottom: releaseConfig.dismissOnSnapToBottom,
28705
+ snapPointsMode: releaseConfig.snapPointsMode,
28706
+ isKeyboardVisible: gs.frozenIsKeyboardVisible,
28707
+ isWeb: false
28708
+ }));
28659
28709
  }).onFinalize(function() {
28660
28710
  scrollBridge.scrollLockY = void 0;
28661
28711
  if (gs.panStarted) setIsDragging(false);
@@ -28773,10 +28823,15 @@ function useKeyboardControllerSheet(options) {
28773
28823
  };
28774
28824
  }
28775
28825
  //#endregion
28826
+ //#region ../sheet/dist/esm/useSafeAreaInsets.native.js
28827
+ var SafeAreaInsetsContext = react_native_safe_area_context.SafeAreaInsetsContext;
28828
+ function useSafeAreaInsets() {
28829
+ return react$1.useContext(SafeAreaInsetsContext);
28830
+ }
28831
+ //#endregion
28776
28832
  //#region ../sheet/dist/esm/SheetImplementationCustom.native.js
28777
28833
  init_index_native$4();
28778
28834
  init_index_native$7();
28779
- init_index_native$3();
28780
28835
  init_esm();
28781
28836
  init_objectSpread2();
28782
28837
  var hiddenSize = 10000.1;
@@ -28788,23 +28843,20 @@ var rnghRootStyleClosed = {
28788
28843
  width: "100%",
28789
28844
  height: 0
28790
28845
  };
28791
- var _cachedSafeAreaTop;
28792
- function getSafeAreaTopInset() {
28793
- if (_cachedSafeAreaTop !== void 0) return _cachedSafeAreaTop;
28794
- _cachedSafeAreaTop = getSafeArea().getInsets().top;
28795
- return _cachedSafeAreaTop;
28796
- }
28797
28846
  var relativeDimensionTo = "screen";
28798
28847
  function getStableViewportHeight() {
28799
28848
  return Dimensions.get(relativeDimensionTo).height;
28800
28849
  }
28801
28850
  var SheetImplementationCustom = /* @__PURE__ */ react$1.default.forwardRef(function SheetImplementationCustom2(props, forwardedRef) {
28802
28851
  var parentSheet = react$1.default.useContext(ParentSheetContext);
28852
+ var safeAreaInsets = useSafeAreaInsets();
28853
+ var _safeAreaInsets_top;
28854
+ var safeAreaTopInset = (_safeAreaInsets_top = safeAreaInsets === null || safeAreaInsets === void 0 ? void 0 : safeAreaInsets.top) !== null && _safeAreaInsets_top !== void 0 ? _safeAreaInsets_top : 0;
28803
28855
  var { transition, transitionConfig: transitionConfigProp, modal = false, zIndex = parentSheet.zIndex + 1, moveOnKeyboardChange = false, unmountChildrenWhenHidden = false, portalProps, containerComponent: ContainerComponent = react$1.default.Fragment, onAnimationComplete } = props;
28804
28856
  var state = useSheetOpenState(props);
28805
28857
  var [overlayComponent, setOverlayComponent] = react$1.default.useState(null);
28806
28858
  var providerProps = useSheetProviderProps(props, state, { onOverlayComponent: setOverlayComponent });
28807
- var { frameSize, setFrameSize, snapPoints, snapPointsMode, hasFit, position, setPosition, scrollBridge, screenSize, setMaxContentSize, maxSnapPoint } = providerProps;
28859
+ var { frameSize, setFrameSize, dismissOnSnapToBottom, snapPoints, snapPointsMode, hasFit, position, setPosition, scrollBridge, screenSize, setMaxContentSize, maxSnapPoint } = providerProps;
28808
28860
  var { open, controller, isHidden } = state;
28809
28861
  var openRef = react$1.default.useRef(open);
28810
28862
  openRef.current = open;
@@ -28831,21 +28883,8 @@ var SheetImplementationCustom = /* @__PURE__ */ react$1.default.forwardRef(funct
28831
28883
  if (open && frameSize) stableFrameSize.current = frameSize;
28832
28884
  }, [open, frameSize]);
28833
28885
  var isWebKbSheet = false;
28834
- var hasCleanKbBaseline = react$1.default.useRef(false);
28835
- var seedSettled = react$1.default.useRef(false);
28836
- var stableKbGeom = react$1.default.useRef({
28837
- frame: 0,
28838
- screen: 0
28839
- });
28840
- if (frameSize > 0 && screenSize > 0) {
28841
- stableKbGeom.current.frame = frameSize;
28842
- stableKbGeom.current.screen = screenSize;
28843
- hasCleanKbBaseline.current = true;
28844
- } else if (isWebKbSheet && isKeyboardVisible && !hasCleanKbBaseline.current && screenSize > 0) stableKbGeom.current.screen = Math.max(stableKbGeom.current.screen, screenSize);
28845
- var seedingKbBaseline = isWebKbSheet && isKeyboardVisible && !hasCleanKbBaseline.current && !seedSettled.current;
28846
- var freezeForKb = isWebKbSheet && isKeyboardVisible && stableKbGeom.current.frame > 0;
28847
- var effScreenSize = freezeForKb ? stableKbGeom.current.screen : screenSize;
28848
- var effectiveFrameSize = freezeForKb ? stableKbGeom.current.frame : open ? frameSize : stableFrameSize.current || frameSize;
28886
+ var effScreenSize = isWebKbSheet ? getStableViewportHeight() : screenSize;
28887
+ var effectiveFrameSize = open ? frameSize : stableFrameSize.current || frameSize;
28849
28888
  var positions = react$1.default.useMemo(function() {
28850
28889
  return snapPoints.map(function(point) {
28851
28890
  return getYPositions(snapPointsMode, point, effScreenSize, effectiveFrameSize);
@@ -28869,30 +28908,34 @@ var SheetImplementationCustom = /* @__PURE__ */ react$1.default.forwardRef(funct
28869
28908
  if (isDragging || isDraggingRef.current) return activePositionsRef.current;
28870
28909
  var result;
28871
28910
  if (!isKeyboardVisible || keyboardHeight <= 0) result = positions;
28872
- else {
28873
- var safeAreaTop = getSafeAreaTopInset();
28874
- result = positions.map(function(p) {
28875
- if (screenSize && p >= screenSize) return p;
28876
- return Math.max(safeAreaTop, p - keyboardHeight);
28911
+ else result = positions.map(function(p) {
28912
+ return getKeyboardAdjustedSheetY({
28913
+ sheetY: p,
28914
+ screenSize: effScreenSize,
28915
+ isKeyboardVisible,
28916
+ keyboardHeight,
28917
+ shouldTranslate: true,
28918
+ safeAreaTop: safeAreaTopInset
28877
28919
  });
28878
- }
28920
+ });
28879
28921
  activePositionsRef.current = result;
28880
28922
  return result;
28881
28923
  }, [
28882
28924
  positions,
28883
28925
  isKeyboardVisible,
28884
28926
  keyboardHeight,
28885
- screenSize,
28886
- isDragging
28927
+ effScreenSize,
28928
+ isDragging,
28929
+ safeAreaTopInset
28887
28930
  ]);
28888
- var keyboardOccludedHeight = seedingKbBaseline ? 0 : getKeyboardOccludedHeight({
28931
+ var keyboardOccludedHeight = getKeyboardOccludedHeight({
28889
28932
  frameSize: effectiveFrameSize,
28890
28933
  isKeyboardVisible,
28891
28934
  keyboardHeight,
28892
28935
  screenSize: effScreenSize,
28893
28936
  sheetY: position >= 0 ? activePositions[position] : void 0
28894
28937
  });
28895
- var keyboardStableFrameHeight = !isWebKbSheet ? 0 : seedingKbBaseline ? stableKbGeom.current.screen || screenSize : stableKbGeom.current.frame > 0 ? stableKbGeom.current.frame : 0;
28938
+ var keyboardStableFrameHeight = isWebKbSheet && isKeyboardVisible && frameSize > 0 ? frameSize : 0;
28896
28939
  var { useAnimatedNumber, useAnimatedNumberStyle, useAnimatedNumberReaction } = animationDriver;
28897
28940
  var _animationDriver_View;
28898
28941
  var AnimatedView = (_animationDriver_View = animationDriver.View) !== null && _animationDriver_View !== void 0 ? _animationDriver_View : View;
@@ -29048,17 +29091,17 @@ var SheetImplementationCustom = /* @__PURE__ */ react$1.default.forwardRef(funct
29048
29091
  isExternalDrag = false;
29049
29092
  previouslyScrolling = false;
29050
29093
  setPanning(false);
29051
- var end = at.current + frameSize * vy * .2;
29052
- var closestPoint = 0;
29053
- var dist = Number.POSITIVE_INFINITY;
29054
- for (var i = 0; i < activePositions.length; i++) {
29055
- var position2 = activePositions[i];
29056
- var curDist = end > position2 ? end - position2 : position2 - end;
29057
- if (curDist < dist) {
29058
- dist = curDist;
29059
- closestPoint = i;
29060
- }
29061
- }
29094
+ var currentPos = at.current;
29095
+ var closestPoint = getSheetReleasePosition({
29096
+ positions: activePositions,
29097
+ projectedEnd: currentPos + frameSize * vy * .2,
29098
+ currentPosition: currentPos,
29099
+ frameSize,
29100
+ dismissOnSnapToBottom,
29101
+ snapPointsMode,
29102
+ isKeyboardVisible,
29103
+ isWeb: false
29104
+ });
29062
29105
  setPosition(closestPoint);
29063
29106
  animateTo(closestPoint);
29064
29107
  };
@@ -29117,6 +29160,9 @@ var SheetImplementationCustom = /* @__PURE__ */ react$1.default.forwardRef(funct
29117
29160
  };
29118
29161
  return PanResponder_default.create({
29119
29162
  onMoveShouldSetPanResponder: onMoveShouldSet,
29163
+ onPanResponderTerminationRequest: function() {
29164
+ return false;
29165
+ },
29120
29166
  onPanResponderGrant: grant,
29121
29167
  onPanResponderMove: function(_e, param) {
29122
29168
  var { dy } = param;
@@ -29135,7 +29181,9 @@ var SheetImplementationCustom = /* @__PURE__ */ react$1.default.forwardRef(funct
29135
29181
  animateTo,
29136
29182
  frameSize,
29137
29183
  activePositions,
29138
- setPosition
29184
+ setPosition,
29185
+ dismissOnSnapToBottom,
29186
+ snapPointsMode
29139
29187
  ]);
29140
29188
  react$1.default.useEffect(function() {
29141
29189
  if (isDragging || isHidden || !open || disableAnimation) return;
@@ -29181,43 +29229,30 @@ var SheetImplementationCustom = /* @__PURE__ */ react$1.default.forwardRef(funct
29181
29229
  at.current = val;
29182
29230
  animatedNumber.setValue(val, { type: "direct" });
29183
29231
  },
29232
+ dismissOnSnapToBottom,
29233
+ snapPointsMode,
29234
+ isKeyboardVisible,
29184
29235
  pauseKeyboardHandler
29185
29236
  });
29186
29237
  var ignoreLayoutForKeyboard = useEvent(function() {
29187
29238
  return false;
29188
29239
  });
29189
- var shouldSeedKbFrame = useEvent(function() {
29190
- return isWebKbSheet && !hasCleanKbBaseline.current && !seedSettled.current && ignoreLayoutForKeyboard();
29191
- });
29192
- var shouldSeedKbScreen = useEvent(function() {
29193
- return isWebKbSheet && !hasCleanKbBaseline.current && ignoreLayoutForKeyboard();
29194
- });
29195
29240
  var handleAnimationViewLayout = useEvent(function(e) {
29196
29241
  var _e_nativeEvent;
29197
29242
  if (!open && stableFrameSize.current !== 0) return;
29198
- var seeding = shouldSeedKbFrame();
29199
- if (!seeding && ignoreLayoutForKeyboard()) return;
29200
29243
  var layoutHeight = (_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : _e_nativeEvent.layout.height;
29201
- var next = modal || seeding ? Math.min(layoutHeight, getStableViewportHeight()) : layoutHeight;
29244
+ if (ignoreLayoutForKeyboard() && frameSize > 0) return;
29245
+ var next = modal ? Math.min(layoutHeight, getStableViewportHeight()) : layoutHeight;
29202
29246
  if (!next) return;
29203
- var rounded = Math.round(next);
29204
- if (seeding) {
29205
- if (rounded > stableKbGeom.current.frame) stableKbGeom.current.frame = rounded;
29206
- else if (stableKbGeom.current.frame > 0) seedSettled.current = true;
29207
- }
29208
- setFrameSize(rounded);
29247
+ setFrameSize(Math.round(next));
29209
29248
  });
29210
29249
  var handleMaxContentViewLayout = react$1.default.useCallback(function(e) {
29211
29250
  var _e_nativeEvent;
29212
- if (shouldSeedKbScreen()) {
29213
- setMaxContentSize(Math.round(getStableViewportHeight()));
29214
- return;
29215
- }
29216
- if (ignoreLayoutForKeyboard()) return;
29251
+ if (ignoreLayoutForKeyboard() && screenSize > 0) return;
29217
29252
  var next = Math.min((_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : _e_nativeEvent.layout.height, getStableViewportHeight());
29218
29253
  if (!next) return;
29219
29254
  setMaxContentSize(Math.round(next));
29220
- }, [ignoreLayoutForKeyboard, shouldSeedKbScreen]);
29255
+ }, [ignoreLayoutForKeyboard, screenSize]);
29221
29256
  var animatedStyle = useAnimatedNumberStyle(animatedNumber, react$1.default.useCallback(function(val) {
29222
29257
  "worklet";
29223
29258
  return { transform: [{ translateY: frameSize === 0 ? hiddenSize : val }] };
@@ -29242,7 +29277,6 @@ var SheetImplementationCustom = /* @__PURE__ */ react$1.default.forwardRef(funct
29242
29277
  keyboardOccludedHeight,
29243
29278
  isKeyboardVisible,
29244
29279
  keyboardStableFrameHeight,
29245
- isKeyboardSeeding: seedingKbBaseline,
29246
29280
  setHasScrollView,
29247
29281
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(GestureSheetProvider, {
29248
29282
  isDragging,
@@ -29298,7 +29332,10 @@ var SheetImplementationCustom = /* @__PURE__ */ react$1.default.forwardRef(funct
29298
29332
  }))
29299
29333
  })
29300
29334
  });
29301
- if (needsPortalRepropagation()) contents = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ProvideAdaptContext, _objectSpread2(_objectSpread2({}, useAdaptContext()), {}, { children: contents }));
29335
+ if (needsPortalRepropagation()) contents = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ProvideAdaptContext, _objectSpread2(_objectSpread2({}, useAdaptContext()), {}, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SafeAreaInsetsContext.Provider, {
29336
+ value: safeAreaInsets,
29337
+ children: contents
29338
+ }) }));
29302
29339
  var shouldMountChildren = unmountChildrenWhenHidden ? !!opacity : true;
29303
29340
  if (modal) {
29304
29341
  var RNGHRoot = getGestureHandlerState().RootView;
@@ -29429,6 +29466,10 @@ function useSheetScrollViewGestures(param) {
29429
29466
  else {
29430
29467
  panHandles = !hasScrollableContent;
29431
29468
  if (!panHandles) {
29469
+ s.handoffOccurred = false;
29470
+ s.handoffDragOffset = 0;
29471
+ s.scrollEngaged = currentScrollY > 0;
29472
+ s.prevScrollY = currentScrollY;
29432
29473
  s.isScrolling = true;
29433
29474
  scrollBridge.scrollLock = true;
29434
29475
  setScrollEnabled(true);
@@ -29488,8 +29529,7 @@ var SheetScrollView = /* @__PURE__ */ react$1.default.forwardRef(function(param,
29488
29529
  height: void 0,
29489
29530
  maxHeight: screenSize || void 0
29490
29531
  } : { flex: 1 };
29491
- var isKeyboardSeeding = context.isKeyboardSeeding === true;
29492
- var keyboardFrozenOverride = hasFit && isKeyboardVisible && frozenFrameHeight > 0 ? isKeyboardSeeding ? { maxHeight: frozenFrameHeight } : {
29532
+ var keyboardFrozenOverride = hasFit && isKeyboardVisible && frozenFrameHeight > 0 ? {
29493
29533
  height: frozenFrameHeight,
29494
29534
  maxHeight: frozenFrameHeight
29495
29535
  } : null;
@@ -29498,6 +29538,7 @@ var SheetScrollView = /* @__PURE__ */ react$1.default.forwardRef(function(param,
29498
29538
  var useRNGHScrollView = isGestureHandlerEnabled() && RNGHScrollView && panGestureRef;
29499
29539
  var currentScrollOffset = (0, react$1.useRef)(0);
29500
29540
  var lockedScrollY = (0, react$1.useRef)(0);
29541
+ (0, react$1.useRef)(0);
29501
29542
  var setScrollEnabled = function(next, lockTo) {
29502
29543
  if (!next) {
29503
29544
  var _scrollRef_current_scrollTo, _scrollRef_current;
@@ -29522,6 +29563,14 @@ var SheetScrollView = /* @__PURE__ */ react$1.default.forwardRef(function(param,
29522
29563
  animated: false
29523
29564
  });
29524
29565
  };
29566
+ var scrollFocusedInputClearOfKeyboard = react$1.default.useCallback(function() {}, [
29567
+ hasFit,
29568
+ isKeyboardVisible,
29569
+ keyboardOccludedHeight,
29570
+ scrollBridge
29571
+ ]);
29572
+ var scheduleFocusedInputScroll = react$1.default.useCallback(function() {}, [hasFit, scrollFocusedInputClearOfKeyboard]);
29573
+ (0, react$1.useEffect)(function() {}, [hasFit, scheduleFocusedInputScroll]);
29525
29574
  (0, react$1.useEffect)(function() {
29526
29575
  setHasScrollView(true);
29527
29576
  if (isGestureHandlerEnabled()) {
@@ -29556,6 +29605,7 @@ var SheetScrollView = /* @__PURE__ */ react$1.default.forwardRef(function(param,
29556
29605
  if (height !== contentHeight.current) {
29557
29606
  contentHeight.current = height;
29558
29607
  updateScrollable();
29608
+ if (keyboardOccludedHeight > 0) scheduleFocusedInputScroll();
29559
29609
  }
29560
29610
  },
29561
29611
  children: [children, keyboardOccludedHeight > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(View, {
@@ -29611,6 +29661,7 @@ var SheetScrollView = /* @__PURE__ */ react$1.default.forwardRef(function(param,
29611
29661
  scrollEnabled,
29612
29662
  onScroll: function(e) {
29613
29663
  var { y } = e.nativeEvent.contentOffset;
29664
+ currentScrollOffset.current = y;
29614
29665
  scrollBridge.y = y;
29615
29666
  if (y > 0) scrollBridge.scrollStartY = -1;
29616
29667
  onScroll === null || onScroll === void 0 || onScroll(e);
@@ -29747,13 +29798,15 @@ function createSheet(param) {
29747
29798
  children: sheetContents
29748
29799
  }), !disableHideBottomOverflow && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Frame, _objectSpread2(_objectSpread2({}, props), {}, {
29749
29800
  componentName: "SheetCover",
29801
+ "data-sheet-cover": "",
29750
29802
  children: null,
29751
29803
  testID: void 0,
29752
29804
  id: void 0,
29753
29805
  position: "absolute",
29754
- bottom: "-100%",
29806
+ top: "100%",
29755
29807
  zIndex: -1,
29756
29808
  height: context.frameSize,
29809
+ maxHeight: void 0,
29757
29810
  left: 0,
29758
29811
  right: 0,
29759
29812
  borderWidth: 0,
@@ -31467,8 +31520,12 @@ var _excluded$7 = [
31467
31520
  "onSwipeEnd",
31468
31521
  "viewportName"
31469
31522
  ];
31523
+ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, { get: (a, b) => (typeof require !== "undefined" ? require : a)[b] }) : x)(function(x) {
31524
+ if (typeof require !== "undefined") return require.apply(this, arguments);
31525
+ throw Error("Calling `require` for \"" + x + "\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.");
31526
+ });
31470
31527
  var getPanResponder = function() {
31471
- return (init_esm(), __toCommonJS(esm_exports)).PanResponder;
31528
+ return __require("react-native").PanResponder;
31472
31529
  };
31473
31530
  var ToastImplFrame = styledExport(YStack, {
31474
31531
  name: "ToastImpl",