From 5a37846d1f8d4cf4c3951bf2913af6c32207de0e Mon Sep 17 00:00:00 2001 From: Damien Ostler Date: Tue, 21 May 2024 23:04:57 -0400 Subject: [PATCH] chore:(setup tamagui) --- .tamagui/tamagui-components.config.cjs | 43130 +++++++++++++++++++++++ .tamagui/tamagui.config.cjs | 0 README.md | 1 - next-env.d.ts | 5 + next.config.js | 16 + package-lock.json | 14061 +++++++- package.json | 11 +- pages/_app.tsx | 69 + pages/_document.tsx | 89 + pages/index.js | 7 - pages/index.tsx | 18 + tamagui.config.ts | 14 + tsconfig.json | 28 + 13 files changed, 57439 insertions(+), 10 deletions(-) create mode 100644 .tamagui/tamagui-components.config.cjs create mode 100644 .tamagui/tamagui.config.cjs create mode 100644 next-env.d.ts create mode 100644 next.config.js create mode 100644 pages/_app.tsx create mode 100644 pages/_document.tsx delete mode 100644 pages/index.js create mode 100644 pages/index.tsx create mode 100644 tamagui.config.ts create mode 100644 tsconfig.json diff --git a/.tamagui/tamagui-components.config.cjs b/.tamagui/tamagui-components.config.cjs new file mode 100644 index 0000000..28ebb84 --- /dev/null +++ b/.tamagui/tamagui-components.config.cjs @@ -0,0 +1,43130 @@ +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); +var __esm = (fn, res) => function __init() { + return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; +}; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default")); +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// node_modules/@tamagui/use-force-update/dist/cjs/index.js +var require_cjs = __commonJS({ + "node_modules/@tamagui/use-force-update/dist/cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var src_exports = {}; + __export2(src_exports, { + isServerSide: () => isServerSide2, + useForceUpdate: () => useForceUpdate2 + }); + module2.exports = __toCommonJS2(src_exports); + var import_react57 = require("react"); + var isServerSide2 = typeof window > "u"; + var idFn3 = /* @__PURE__ */ __name(() => { + }, "idFn"); + function useForceUpdate2() { + return isServerSide2 ? idFn3 : (0, import_react57.useReducer)((x) => Math.random(), 0)[1]; + } + __name(useForceUpdate2, "useForceUpdate"); + } +}); + +// node_modules/@tamagui/animate-presence/dist/cjs/LayoutGroupContext.js +var require_LayoutGroupContext = __commonJS({ + "node_modules/@tamagui/animate-presence/dist/cjs/LayoutGroupContext.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var LayoutGroupContext_exports = {}; + __export2(LayoutGroupContext_exports, { + LayoutGroupContext: () => LayoutGroupContext2 + }); + module2.exports = __toCommonJS2(LayoutGroupContext_exports); + var import_react57 = require("react"); + var LayoutGroupContext2 = (0, import_react57.createContext)({}); + } +}); + +// node_modules/@tamagui/use-constant/dist/cjs/index.js +var require_cjs2 = __commonJS({ + "node_modules/@tamagui/use-constant/dist/cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var src_exports = {}; + __export2(src_exports, { + useConstant: () => useConstant2 + }); + module2.exports = __toCommonJS2(src_exports); + var import_react57 = require("react"); + function useConstant2(fn) { + if (typeof document > "u") + return (0, import_react57.useMemo)(() => fn(), []); + const ref = (0, import_react57.useRef)(); + return ref.current || (ref.current = { v: fn() }), ref.current.v; + } + __name(useConstant2, "useConstant"); + } +}); + +// node_modules/@tamagui/use-presence/dist/cjs/PresenceContext.js +var require_PresenceContext = __commonJS({ + "node_modules/@tamagui/use-presence/dist/cjs/PresenceContext.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var PresenceContext_exports = {}; + __export2(PresenceContext_exports, { + PresenceContext: () => PresenceContext2, + ResetPresence: () => ResetPresence2 + }); + module2.exports = __toCommonJS2(PresenceContext_exports); + var import_react57 = require("react"); + var import_jsx_runtime63 = require("react/jsx-runtime"); + var PresenceContext2 = (0, import_react57.createContext)(null); + var ResetPresence2 = /* @__PURE__ */ __name((props) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(PresenceContext2.Provider, { value: null, children: props.children }), "ResetPresence"); + } +}); + +// node_modules/@tamagui/use-presence/dist/cjs/usePresence.js +var require_usePresence = __commonJS({ + "node_modules/@tamagui/use-presence/dist/cjs/usePresence.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var usePresence_exports = {}; + __export2(usePresence_exports, { + isPresent: () => isPresent2, + useIsPresent: () => useIsPresent2, + usePresence: () => usePresence2 + }); + module2.exports = __toCommonJS2(usePresence_exports); + var import_react57 = require("react"); + var import_PresenceContext2 = require_PresenceContext(); + function usePresence2() { + const context = (0, import_react57.useContext)(import_PresenceContext2.PresenceContext); + if (!context) + return [true, null, context]; + const { id, isPresent: isPresent22, onExitComplete, register } = context; + return (0, import_react57.useEffect)(() => register(id), []), !isPresent22 && onExitComplete ? [false, () => onExitComplete == null ? void 0 : onExitComplete(id), context] : [true, void 0, context]; + } + __name(usePresence2, "usePresence"); + function useIsPresent2() { + return isPresent2((0, import_react57.useContext)(import_PresenceContext2.PresenceContext)); + } + __name(useIsPresent2, "useIsPresent"); + function isPresent2(context) { + return context === null ? true : context.isPresent; + } + __name(isPresent2, "isPresent"); + } +}); + +// node_modules/@tamagui/use-presence/dist/cjs/index.js +var require_cjs3 = __commonJS({ + "node_modules/@tamagui/use-presence/dist/cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __reExport2 = /* @__PURE__ */ __name((target, mod, secondTarget) => (__copyProps2(target, mod, "default"), secondTarget && __copyProps2(secondTarget, mod, "default")), "__reExport"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var src_exports = {}; + module2.exports = __toCommonJS2(src_exports); + __reExport2(src_exports, require_PresenceContext(), module2.exports); + __reExport2(src_exports, require_usePresence(), module2.exports); + } +}); + +// node_modules/@tamagui/animate-presence/dist/cjs/PresenceChild.js +var require_PresenceChild = __commonJS({ + "node_modules/@tamagui/animate-presence/dist/cjs/PresenceChild.js"(exports2, module2) { + var __create2 = Object.create; + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __getProtoOf2 = Object.getPrototypeOf; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toESM2 = /* @__PURE__ */ __name((mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp2(target, "default", { value: mod, enumerable: true }) : target, + mod + )), "__toESM"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var PresenceChild_exports = {}; + __export2(PresenceChild_exports, { + PresenceChild: () => PresenceChild2 + }); + module2.exports = __toCommonJS2(PresenceChild_exports); + var import_use_constant3 = require_cjs2(); + var import_use_presence2 = require_cjs3(); + var React44 = __toESM2(require("react")); + var import_react57 = require("react"); + var import_jsx_runtime63 = require("react/jsx-runtime"); + var PresenceChild2 = React44.memo( + ({ + children, + initial, + isPresent: isPresent2, + onExitComplete, + exitVariant, + enterVariant, + enterExitVariant, + presenceAffectsLayout, + custom + }) => { + const presenceChildren = (0, import_use_constant3.useConstant)(newChildrenMap2), id = (0, import_react57.useId)() || "", context = React44.useMemo( + () => ({ + id, + initial, + isPresent: isPresent2, + custom, + exitVariant, + enterVariant, + enterExitVariant, + onExitComplete: () => { + presenceChildren.set(id, true); + for (const isComplete of presenceChildren.values()) + if (!isComplete) + return; + onExitComplete == null ? void 0 : onExitComplete(); + }, + register: () => (presenceChildren.set(id, false), () => presenceChildren.delete(id)) + }), + /** + * If the presence of a child affects the layout of the components around it, + * we want to make a new context value to ensure they get re-rendered + * so they can detect that layout change. + */ + // @ts-expect-error its ok + presenceAffectsLayout ? void 0 : [isPresent2, exitVariant, enterVariant] + ); + return React44.useMemo(() => { + presenceChildren.forEach((_, key) => presenceChildren.set(key, false)); + }, [isPresent2]), React44.useEffect(() => { + !isPresent2 && !presenceChildren.size && (onExitComplete == null ? void 0 : onExitComplete()); + }, [isPresent2]), /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_use_presence2.PresenceContext.Provider, { value: context, children }); + } + ); + function newChildrenMap2() { + return /* @__PURE__ */ new Map(); + } + __name(newChildrenMap2, "newChildrenMap"); + } +}); + +// node_modules/@tamagui/animate-presence/dist/cjs/AnimatePresence.js +var require_AnimatePresence = __commonJS({ + "node_modules/@tamagui/animate-presence/dist/cjs/AnimatePresence.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var AnimatePresence_exports = {}; + __export2(AnimatePresence_exports, { + AnimatePresence: () => AnimatePresence2 + }); + module2.exports = __toCommonJS2(AnimatePresence_exports); + var import_use_force_update2 = require_cjs(); + var import_react57 = require("react"); + var import_LayoutGroupContext2 = require_LayoutGroupContext(); + var import_PresenceChild2 = require_PresenceChild(); + var import_jsx_runtime63 = require("react/jsx-runtime"); + var getChildKey2 = /* @__PURE__ */ __name((child) => child.key || "", "getChildKey"); + function updateChildLookup2(children, allChildren) { + children.forEach((child) => { + const key = getChildKey2(child); + allChildren.set(key, child); + }); + } + __name(updateChildLookup2, "updateChildLookup"); + function onlyElements2(children) { + const filtered = []; + return import_react57.Children.forEach(children, (child) => { + (0, import_react57.isValidElement)(child) && filtered.push(child); + }), filtered; + } + __name(onlyElements2, "onlyElements"); + var AnimatePresence2 = /* @__PURE__ */ __name(({ + children, + enterVariant, + exitVariant, + enterExitVariant, + initial = true, + onExitComplete, + exitBeforeEnter, + presenceAffectsLayout = true, + custom + }) => { + let forceRender = (0, import_react57.useContext)(import_LayoutGroupContext2.LayoutGroupContext).forceRender ?? (0, import_use_force_update2.useForceUpdate)(); + const filteredChildren = onlyElements2(children), presentChildren = (0, import_react57.useRef)(filteredChildren), allChildren = (0, import_react57.useRef)(/* @__PURE__ */ new Map()).current, exiting = (0, import_react57.useRef)(/* @__PURE__ */ new Set()).current; + updateChildLookup2(filteredChildren, allChildren); + const isInitialRender = (0, import_react57.useRef)(true); + if (isInitialRender.current) + return isInitialRender.current = false, /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_jsx_runtime63.Fragment, { children: filteredChildren.map((child) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)( + import_PresenceChild2.PresenceChild, + { + isPresent: true, + enterExitVariant, + exitVariant, + enterVariant, + initial: initial ? void 0 : false, + presenceAffectsLayout, + custom, + children: child + }, + getChildKey2(child) + )) }); + let childrenToRender = [...filteredChildren]; + const presentKeys = presentChildren.current.map(getChildKey2), targetKeys = filteredChildren.map(getChildKey2), numPresent = presentKeys.length; + for (let i = 0; i < numPresent; i++) { + const key = presentKeys[i]; + targetKeys.indexOf(key) === -1 ? exiting.add(key) : exiting.delete(key); + } + return exitBeforeEnter && exiting.size && (childrenToRender = []), exiting.forEach((key) => { + if (targetKeys.indexOf(key) !== -1) + return; + const child = allChildren.get(key); + if (!child) + return; + const insertionIndex = presentKeys.indexOf(key), exitingComponent = /* @__PURE__ */ (0, import_jsx_runtime63.jsx)( + import_PresenceChild2.PresenceChild, + { + isPresent: false, + onExitComplete: () => { + allChildren.delete(key), exiting.delete(key); + const removeIndex = presentChildren.current.findIndex( + (presentChild) => presentChild.key === key + ); + presentChildren.current.splice(removeIndex, 1), exiting.size || (presentChildren.current = filteredChildren, forceRender(), onExitComplete == null ? void 0 : onExitComplete()); + }, + presenceAffectsLayout, + enterExitVariant, + enterVariant, + exitVariant, + custom, + children: child + }, + getChildKey2(child) + ); + childrenToRender.splice(insertionIndex, 0, exitingComponent); + }), childrenToRender = childrenToRender.map((child) => { + const key = child.key; + return exiting.has(key) ? child : /* @__PURE__ */ (0, import_jsx_runtime63.jsx)( + import_PresenceChild2.PresenceChild, + { + isPresent: true, + exitVariant, + enterVariant, + enterExitVariant, + presenceAffectsLayout, + custom, + children: child + }, + getChildKey2(child) + ); + }), presentChildren.current = childrenToRender, /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_jsx_runtime63.Fragment, { children: exiting.size ? childrenToRender : ( + // biome-ignore lint/correctness/useJsxKeyInIterable: + childrenToRender.map((child) => (0, import_react57.cloneElement)(child)) + ) }); + }, "AnimatePresence"); + AnimatePresence2.displayName = "AnimatePresence"; + } +}); + +// node_modules/@tamagui/animate-presence/dist/cjs/types.js +var require_types = __commonJS({ + "node_modules/@tamagui/animate-presence/dist/cjs/types.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var types_exports = {}; + module2.exports = __toCommonJS2(types_exports); + } +}); + +// node_modules/@tamagui/animate-presence/dist/cjs/index.js +var require_cjs4 = __commonJS({ + "node_modules/@tamagui/animate-presence/dist/cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __reExport2 = /* @__PURE__ */ __name((target, mod, secondTarget) => (__copyProps2(target, mod, "default"), secondTarget && __copyProps2(secondTarget, mod, "default")), "__reExport"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var src_exports = {}; + module2.exports = __toCommonJS2(src_exports); + __reExport2(src_exports, require_AnimatePresence(), module2.exports); + __reExport2(src_exports, require_cjs3(), module2.exports); + __reExport2(src_exports, require_types(), module2.exports); + __reExport2(src_exports, require_PresenceChild(), module2.exports); + } +}); + +// node_modules/@tamagui/simple-hash/dist/cjs/index.js +var require_cjs5 = __commonJS({ + "node_modules/@tamagui/simple-hash/dist/cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var src_exports = {}; + __export2(src_exports, { + simpleHash: () => simpleHash2 + }); + module2.exports = __toCommonJS2(src_exports); + var cache3 = /* @__PURE__ */ new Map(); + var simpleHash2 = /* @__PURE__ */ __name((str, hashMin = 10) => { + if (cache3.has(str)) + return cache3.get(str); + let hash = 0, valids = ""; + const len = str.length; + for (let i = 0; i < len; i++) { + const char = str.charCodeAt(i); + if (hashMin !== "strict" && (char === 46 && (valids += "d0t"), isValidCSSCharCode2(char) && len <= hashMin)) { + valids += str[i]; + continue; + } + hash = hashChar2(hash, str[i]); + } + const res = valids + (hash ? Math.abs(hash) : ""); + return cache3.size > 1e4 && cache3.clear(), cache3.set(str, res), res; + }, "simpleHash"); + var hashChar2 = /* @__PURE__ */ __name((hash, c) => Math.imul(31, hash) + c.charCodeAt(0) | 0, "hashChar"); + function isValidCSSCharCode2(code) { + return ( + // A-Z + code >= 65 && code <= 90 || // a-z + code >= 97 && code <= 122 || // _ + code === 95 || // - + code === 45 || // 0-9 + code >= 48 && code <= 57 + ); + } + __name(isValidCSSCharCode2, "isValidCSSCharCode"); + } +}); + +// node_modules/@tamagui/helpers/dist/cjs/clamp.js +var require_clamp = __commonJS({ + "node_modules/@tamagui/helpers/dist/cjs/clamp.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var clamp_exports = {}; + __export2(clamp_exports, { + clamp: () => clamp3 + }); + module2.exports = __toCommonJS2(clamp_exports); + function clamp3(value, [min2, max2]) { + return Math.min(max2, Math.max(min2, value)); + } + __name(clamp3, "clamp"); + } +}); + +// node_modules/@tamagui/helpers/dist/cjs/composeEventHandlers.js +var require_composeEventHandlers = __commonJS({ + "node_modules/@tamagui/helpers/dist/cjs/composeEventHandlers.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var composeEventHandlers_exports = {}; + __export2(composeEventHandlers_exports, { + composeEventHandlers: () => composeEventHandlers3 + }); + module2.exports = __toCommonJS2(composeEventHandlers_exports); + function composeEventHandlers3(og, next, { checkDefaultPrevented = true } = {}) { + return !og || !next ? next || og || void 0 : (event) => { + if (og == null ? void 0 : og(event), !event || !(checkDefaultPrevented && "defaultPrevented" in event) || // @ts-ignore + "defaultPrevented" in event && !event.defaultPrevented) + return next == null ? void 0 : next(event); + }; + } + __name(composeEventHandlers3, "composeEventHandlers"); + } +}); + +// node_modules/@tamagui/helpers/dist/cjs/concatClassName.js +var require_concatClassName = __commonJS({ + "node_modules/@tamagui/helpers/dist/cjs/concatClassName.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var concatClassName_exports = {}; + __export2(concatClassName_exports, { + concatClassName: () => concatClassName2 + }); + module2.exports = __toCommonJS2(concatClassName_exports); + function concatClassName2(_cn) { + const args = arguments, usedPrefixes = []; + let final = ""; + const len = args.length; + let propObjects = null; + for (let x = len; x >= 0; x--) { + const cns = args[x]; + if (!cns) + continue; + if (!Array.isArray(cns) && typeof cns != "string") { + propObjects = propObjects || [], propObjects.push(cns); + continue; + } + const names = Array.isArray(cns) ? cns : cns.split(" "), numNames = names.length; + for (let i = numNames - 1; i >= 0; i--) { + const name = names[i]; + if (!name || name === " ") + continue; + if (name[0] !== "_") { + final = name + " " + final; + continue; + } + const splitIndex = name.indexOf("-"); + if (splitIndex < 1) { + final = name + " " + final; + continue; + } + const isMediaQuery = name[splitIndex + 1] === "_", styleKey = name.slice(1, name.lastIndexOf("-")), mediaKey = isMediaQuery ? name.slice(splitIndex + 2, splitIndex + 7) : null, uid = mediaKey ? styleKey + mediaKey : styleKey; + if (usedPrefixes.indexOf(uid) > -1) + continue; + usedPrefixes.push(uid); + const propName = styleKey; + propName && propObjects && propObjects.some((po) => { + if (mediaKey) { + const propKey = pseudoInvert2[mediaKey]; + return po && po[propKey] && propName in po[propKey] && po[propKey] !== null; + } + return po && propName in po && po[propName] !== null; + }) || (final = name + " " + final); + } + } + return final; + } + __name(concatClassName2, "concatClassName"); + var pseudoInvert2 = { + hover: "hoverStyle", + focus: "focusStyle", + press: "pressStyle", + focusVisible: "focusVisibleStyle", + disabled: "disabledStyle" + }; + } +}); + +// node_modules/@tamagui/helpers/dist/cjs/types.js +var require_types2 = __commonJS({ + "node_modules/@tamagui/helpers/dist/cjs/types.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var types_exports = {}; + module2.exports = __toCommonJS2(types_exports); + } +}); + +// node_modules/@tamagui/constants/dist/cjs/constants.js +var require_constants = __commonJS({ + "node_modules/@tamagui/constants/dist/cjs/constants.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var constants_exports = {}; + __export2(constants_exports, { + currentPlatform: () => currentPlatform2, + isAndroid: () => isAndroid4, + isChrome: () => isChrome3, + isClient: () => isClient5, + isIos: () => isIos2, + isServer: () => isServer3, + isTouchable: () => isTouchable3, + isWeb: () => isWeb7, + isWebTouchable: () => isWebTouchable3, + isWindowDefined: () => isWindowDefined2, + useIsomorphicLayoutEffect: () => useIsomorphicLayoutEffect3 + }); + module2.exports = __toCommonJS2(constants_exports); + var import_react57 = require("react"); + var isWeb7 = true; + var isWindowDefined2 = typeof window < "u"; + var isServer3 = isWeb7 && !isWindowDefined2; + var isClient5 = isWeb7 && isWindowDefined2; + var useIsomorphicLayoutEffect3 = isServer3 ? import_react57.useEffect : import_react57.useLayoutEffect; + var isChrome3 = typeof navigator < "u" && /Chrome/.test(navigator.userAgent || ""); + var isWebTouchable3 = isClient5 && ("ontouchstart" in window || navigator.maxTouchPoints > 0); + var isTouchable3 = !isWeb7 || isWebTouchable3; + var isAndroid4 = false; + var isIos2 = false; + var currentPlatform2 = "web"; + } +}); + +// node_modules/@tamagui/constants/dist/cjs/index.js +var require_cjs6 = __commonJS({ + "node_modules/@tamagui/constants/dist/cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __reExport2 = /* @__PURE__ */ __name((target, mod, secondTarget) => (__copyProps2(target, mod, "default"), secondTarget && __copyProps2(secondTarget, mod, "default")), "__reExport"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var src_exports = {}; + module2.exports = __toCommonJS2(src_exports); + __reExport2(src_exports, require_constants(), module2.exports); + } +}); + +// node_modules/@tamagui/helpers/dist/cjs/shouldRenderNativePlatform.js +var require_shouldRenderNativePlatform = __commonJS({ + "node_modules/@tamagui/helpers/dist/cjs/shouldRenderNativePlatform.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var shouldRenderNativePlatform_exports = {}; + __export2(shouldRenderNativePlatform_exports, { + shouldRenderNativePlatform: () => shouldRenderNativePlatform4 + }); + module2.exports = __toCommonJS2(shouldRenderNativePlatform_exports); + var import_constants45 = require_cjs6(); + var ALL_PLATFORMS2 = ["web", "android", "ios"]; + function shouldRenderNativePlatform4(nativeProp) { + if (!nativeProp) + return null; + const userRequestedPlatforms = resolvePlatformNames2(nativeProp); + for (const platform2 of ALL_PLATFORMS2) + if (platform2 === import_constants45.currentPlatform && userRequestedPlatforms.has(platform2)) + return platform2; + return null; + } + __name(shouldRenderNativePlatform4, "shouldRenderNativePlatform"); + function resolvePlatformNames2(nativeProp) { + const platforms = nativeProp === true ? ALL_PLATFORMS2 : nativeProp === false ? [] : Array.isArray(nativeProp) ? nativeProp : [nativeProp], set = new Set(platforms); + return set.has("mobile") && (set.add("android"), set.add("ios"), set.delete("mobile")), set; + } + __name(resolvePlatformNames2, "resolvePlatformNames"); + } +}); + +// node_modules/@tamagui/helpers/dist/cjs/validStyleProps.js +var require_validStyleProps = __commonJS({ + "node_modules/@tamagui/helpers/dist/cjs/validStyleProps.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var validStyleProps_exports = {}; + __export2(validStyleProps_exports, { + stylePropsAll: () => stylePropsAll2, + stylePropsFont: () => stylePropsFont2, + stylePropsText: () => stylePropsText2, + stylePropsTextOnly: () => stylePropsTextOnly2, + stylePropsTransform: () => stylePropsTransform2, + stylePropsUnitless: () => stylePropsUnitless2, + stylePropsView: () => stylePropsView2, + tokenCategories: () => tokenCategories2, + validPseudoKeys: () => validPseudoKeys2, + validStyles: () => validStyles2 + }); + module2.exports = __toCommonJS2(validStyleProps_exports); + var import_constants45 = require_cjs6(); + var textColors2 = { + color: true, + textDecorationColor: true, + textShadowColor: true + }; + var tokenCategories2 = { + radius: { + borderRadius: true, + borderTopLeftRadius: true, + borderTopRightRadius: true, + borderBottomLeftRadius: true, + borderBottomRightRadius: true, + // logical + borderStartStartRadius: true, + borderStartEndRadius: true, + borderEndStartRadius: true, + borderEndEndRadius: true + }, + size: { + width: true, + height: true, + minWidth: true, + minHeight: true, + maxWidth: true, + maxHeight: true, + blockSize: true, + minBlockSize: true, + maxBlockSize: true, + inlineSize: true, + minInlineSize: true, + maxInlineSize: true + }, + zIndex: { + zIndex: true + }, + color: { + backgroundColor: true, + borderColor: true, + borderBlockStartColor: true, + borderBlockEndColor: true, + borderBlockColor: true, + borderBottomColor: true, + borderInlineColor: true, + borderInlineStartColor: true, + borderInlineEndColor: true, + borderTopColor: true, + borderLeftColor: true, + borderRightColor: true, + borderEndColor: true, + borderStartColor: true, + shadowColor: true, + ...textColors2, + outlineColor: true, + caretColor: true + } + }; + var stylePropsUnitless2 = { + WebkitLineClamp: true, + animationIterationCount: true, + aspectRatio: true, + borderImageOutset: true, + borderImageSlice: true, + borderImageWidth: true, + columnCount: true, + flex: true, + flexGrow: true, + flexOrder: true, + flexPositive: true, + flexShrink: true, + flexNegative: true, + fontWeight: true, + gridRow: true, + gridRowEnd: true, + gridRowGap: true, + gridRowStart: true, + gridColumn: true, + gridColumnEnd: true, + gridColumnGap: true, + gridColumnStart: true, + lineClamp: true, + opacity: true, + order: true, + orphans: true, + tabSize: true, + widows: true, + zIndex: true, + zoom: true, + scale: true, + scaleX: true, + scaleY: true, + scaleZ: true, + shadowOpacity: true + }; + var stylePropsTransform2 = { + x: true, + y: true, + scale: true, + perspective: true, + scaleX: true, + scaleY: true, + skewX: true, + skewY: true, + matrix: true, + rotate: true, + rotateY: true, + rotateX: true, + rotateZ: true + }; + var stylePropsView2 = { + backfaceVisibility: true, + borderBottomEndRadius: true, + borderBottomStartRadius: true, + borderBottomWidth: true, + borderLeftWidth: true, + borderRightWidth: true, + borderBlockWidth: true, + borderBlockEndWidth: true, + borderBlockStartWidth: true, + borderInlineWidth: true, + borderInlineEndWidth: true, + borderInlineStartWidth: true, + borderStyle: true, + borderBlockStyle: true, + borderBlockEndStyle: true, + borderBlockStartStyle: true, + borderInlineStyle: true, + borderInlineEndStyle: true, + borderInlineStartStyle: true, + borderTopEndRadius: true, + borderTopStartRadius: true, + borderTopWidth: true, + borderWidth: true, + transform: true, + transformOrigin: true, + alignContent: true, + alignItems: true, + alignSelf: true, + borderEndWidth: true, + borderStartWidth: true, + bottom: true, + display: true, + end: true, + flexBasis: true, + flexDirection: true, + flexWrap: true, + gap: true, + columnGap: true, + rowGap: true, + justifyContent: true, + left: true, + margin: true, + marginBlock: true, + marginBlockEnd: true, + marginBlockStart: true, + marginInline: true, + marginInlineStart: true, + marginInlineEnd: true, + marginBottom: true, + marginEnd: true, + marginHorizontal: true, + marginLeft: true, + marginRight: true, + marginStart: true, + marginTop: true, + marginVertical: true, + overflow: true, + padding: true, + paddingBottom: true, + paddingInline: true, + paddingBlock: true, + paddingBlockStart: true, + paddingInlineEnd: true, + paddingInlineStart: true, + paddingEnd: true, + paddingHorizontal: true, + paddingLeft: true, + paddingRight: true, + paddingStart: true, + paddingTop: true, + paddingVertical: true, + position: true, + right: true, + start: true, + top: true, + inset: true, + insetBlock: true, + insetBlockEnd: true, + insetBlockStart: true, + insetInline: true, + insetInlineEnd: true, + insetInlineStart: true, + direction: true, + shadowOffset: true, + shadowRadius: true, + ...tokenCategories2.color, + ...tokenCategories2.radius, + ...tokenCategories2.size, + ...tokenCategories2.radius, + ...stylePropsTransform2, + ...stylePropsUnitless2, + // RN doesn't support specific border styles per-edge + borderBottomStyle: true, + borderTopStyle: true, + borderLeftStyle: true, + borderRightStyle: true, + caretColor: true, + scrollbarWidth: true, + overflowX: true, + overflowY: true, + userSelect: true, + cursor: true, + contain: true, + pointerEvents: true, + boxSizing: true, + boxShadow: true, + outlineStyle: true, + outlineOffset: true, + outlineWidth: true, + touchAction: true, + filter: true, + backdropFilter: true, + mixBlendMode: true, + backgroundImage: true, + backgroundOrigin: true, + backgroundPosition: true, + backgroundRepeat: true, + backgroundSize: true, + backgroundColor: true, + backgroundClip: true, + backgroundBlendMode: true, + backgroundAttachment: true, + background: true, + clipPath: true, + transformStyle: true, + mask: true, + maskImage: true, + textEmphasis: true, + borderImage: true, + float: true, + content: true, + overflowBlock: true, + overflowInline: true, + maskBorder: true, + maskBorderMode: true, + maskBorderOutset: true, + maskBorderRepeat: true, + maskBorderSlice: true, + maskBorderSource: true, + maskBorderWidth: true, + maskClip: true, + maskComposite: true, + maskMode: true, + maskOrigin: true, + maskPosition: true, + maskRepeat: true, + maskSize: true, + maskType: true, + ...import_constants45.isAndroid ? { elevationAndroid: true } : {} + }; + var stylePropsFont2 = { + fontFamily: true, + fontSize: true, + fontStyle: true, + fontWeight: true, + letterSpacing: true, + lineHeight: true, + textTransform: true + }; + var stylePropsTextOnly2 = { + ...stylePropsFont2, + textAlign: true, + textDecorationLine: true, + textDecorationStyle: true, + ...textColors2, + textShadowOffset: true, + textShadowRadius: true, + userSelect: true, + selectable: true, + verticalAlign: true, + whiteSpace: true, + wordWrap: true, + textOverflow: true, + textDecorationDistance: true, + cursor: true, + WebkitLineClamp: true, + WebkitBoxOrient: true + }; + var stylePropsText2 = { + ...stylePropsView2, + ...stylePropsTextOnly2 + }; + var stylePropsAll2 = stylePropsText2; + var validPseudoKeys2 = { + enterStyle: true, + exitStyle: true, + hoverStyle: true, + pressStyle: true, + focusStyle: true, + disabledStyle: true, + focusVisibleStyle: true + }; + var validStyles2 = { + ...validPseudoKeys2, + ...stylePropsView2 + }; + } +}); + +// node_modules/@tamagui/helpers/dist/cjs/withStaticProperties.js +var require_withStaticProperties = __commonJS({ + "node_modules/@tamagui/helpers/dist/cjs/withStaticProperties.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var withStaticProperties_exports = {}; + __export2(withStaticProperties_exports, { + withStaticProperties: () => withStaticProperties7 + }); + module2.exports = __toCommonJS2(withStaticProperties_exports); + var import_react57 = require("react"); + var Decorated2 = Symbol(); + var withStaticProperties7 = /* @__PURE__ */ __name((component, staticProps) => { + const next = (() => { + if (component[Decorated2]) { + const _ = (0, import_react57.forwardRef)( + (props, ref) => (0, import_react57.createElement)(component, { ...props, ref }) + ); + for (const key in component) { + const v = component[key]; + _[key] = v && typeof v == "object" ? { ...v } : v; + } + } + return component; + })(); + return Object.assign(next, staticProps), next[Decorated2] = true, next; + }, "withStaticProperties"); + } +}); + +// node_modules/@tamagui/helpers/dist/cjs/index.js +var require_cjs7 = __commonJS({ + "node_modules/@tamagui/helpers/dist/cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __reExport2 = /* @__PURE__ */ __name((target, mod, secondTarget) => (__copyProps2(target, mod, "default"), secondTarget && __copyProps2(secondTarget, mod, "default")), "__reExport"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var src_exports = {}; + module2.exports = __toCommonJS2(src_exports); + __reExport2(src_exports, require_cjs5(), module2.exports); + __reExport2(src_exports, require_clamp(), module2.exports); + __reExport2(src_exports, require_composeEventHandlers(), module2.exports); + __reExport2(src_exports, require_concatClassName(), module2.exports); + __reExport2(src_exports, require_types2(), module2.exports); + __reExport2(src_exports, require_shouldRenderNativePlatform(), module2.exports); + __reExport2(src_exports, require_validStyleProps(), module2.exports); + __reExport2(src_exports, require_withStaticProperties(), module2.exports); + } +}); + +// node_modules/@tamagui/use-event/dist/cjs/useGet.js +var require_useGet = __commonJS({ + "node_modules/@tamagui/use-event/dist/cjs/useGet.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var useGet_exports = {}; + __export2(useGet_exports, { + useGet: () => useGet6 + }); + module2.exports = __toCommonJS2(useGet_exports); + var import_constants45 = require_cjs6(); + var import_react57 = require("react"); + function useGet6(currentValue, initialValue2, forwardToFunction) { + const curRef = (0, import_react57.useRef)(initialValue2 ?? currentValue); + return (0, import_constants45.useIsomorphicLayoutEffect)(() => { + curRef.current = currentValue; + }), (0, import_react57.useCallback)( + forwardToFunction ? (...args) => { + var _a; + return (_a = curRef.current) == null ? void 0 : _a.apply(null, args); + } : () => curRef.current, + [] + ); + } + __name(useGet6, "useGet"); + } +}); + +// node_modules/@tamagui/use-event/dist/cjs/useEvent.js +var require_useEvent = __commonJS({ + "node_modules/@tamagui/use-event/dist/cjs/useEvent.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var useEvent_exports = {}; + __export2(useEvent_exports, { + useEvent: () => useEvent13 + }); + module2.exports = __toCommonJS2(useEvent_exports); + var import_useGet2 = require_useGet(); + function useEvent13(callback) { + return (0, import_useGet2.useGet)(callback, defaultValue2, true); + } + __name(useEvent13, "useEvent"); + var defaultValue2 = /* @__PURE__ */ __name(() => { + throw new Error("Cannot call an event handler while rendering."); + }, "defaultValue"); + } +}); + +// node_modules/@tamagui/use-event/dist/cjs/index.js +var require_cjs8 = __commonJS({ + "node_modules/@tamagui/use-event/dist/cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __reExport2 = /* @__PURE__ */ __name((target, mod, secondTarget) => (__copyProps2(target, mod, "default"), secondTarget && __copyProps2(secondTarget, mod, "default")), "__reExport"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var src_exports = {}; + module2.exports = __toCommonJS2(src_exports); + __reExport2(src_exports, require_useEvent(), module2.exports); + __reExport2(src_exports, require_useGet(), module2.exports); + } +}); + +// node_modules/@tamagui/use-controllable-state/dist/cjs/useControllableState.js +var require_useControllableState = __commonJS({ + "node_modules/@tamagui/use-controllable-state/dist/cjs/useControllableState.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var useControllableState_exports = {}; + __export2(useControllableState_exports, { + useControllableState: () => useControllableState2 + }); + module2.exports = __toCommonJS2(useControllableState_exports); + var import_use_event4 = require_cjs8(); + var import_react57 = require("react"); + var emptyCallbackFn2 = /* @__PURE__ */ __name((_) => _(), "emptyCallbackFn"); + function useControllableState2({ + prop, + defaultProp, + onChange, + strategy = "prop-wins", + preventUpdate, + transition + }) { + const [state, setState] = (0, import_react57.useState)(prop ?? defaultProp), previous = (0, import_react57.useRef)(state), propWins = strategy === "prop-wins" && prop !== void 0, value = propWins ? prop : state, onChangeCb = (0, import_use_event4.useEvent)(onChange || idFn3), transitionFn = transition ? import_react57.startTransition : emptyCallbackFn2; + (0, import_react57.useEffect)(() => { + prop !== void 0 && (previous.current = prop, transitionFn(() => { + setState(prop); + })); + }, [prop]), (0, import_react57.useEffect)(() => { + propWins || state !== previous.current && (previous.current = state, onChangeCb(state)); + }, [onChangeCb, state, propWins]); + const setter = (0, import_use_event4.useEvent)((next) => { + if (!preventUpdate) + if (propWins) { + const nextValue = typeof next == "function" ? next(previous.current) : next; + onChangeCb(nextValue); + } else + transitionFn(() => { + setState(next); + }); + }); + return [value, setter]; + } + __name(useControllableState2, "useControllableState"); + var idFn3 = /* @__PURE__ */ __name(() => { + }, "idFn"); + } +}); + +// node_modules/@tamagui/use-controllable-state/dist/cjs/index.js +var require_cjs9 = __commonJS({ + "node_modules/@tamagui/use-controllable-state/dist/cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __reExport2 = /* @__PURE__ */ __name((target, mod, secondTarget) => (__copyProps2(target, mod, "default"), secondTarget && __copyProps2(secondTarget, mod, "default")), "__reExport"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var src_exports = {}; + module2.exports = __toCommonJS2(src_exports); + __reExport2(src_exports, require_useControllableState(), module2.exports); + } +}); + +// node_modules/@tamagui/collapsible/dist/cjs/Collapsible.js +var require_Collapsible = __commonJS({ + "node_modules/@tamagui/collapsible/dist/cjs/Collapsible.js"(exports2, module2) { + var __create2 = Object.create; + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __getProtoOf2 = Object.getPrototypeOf; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toESM2 = /* @__PURE__ */ __name((mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp2(target, "default", { value: mod, enumerable: true }) : target, + mod + )), "__toESM"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var Collapsible_exports = {}; + __export2(Collapsible_exports, { + Collapsible: () => Collapsible, + CollapsibleContent: () => CollapsibleContent, + CollapsibleContentFrame: () => CollapsibleContentFrame, + CollapsibleTrigger: () => CollapsibleTrigger, + CollapsibleTriggerFrame: () => CollapsibleTriggerFrame + }); + module2.exports = __toCommonJS2(Collapsible_exports); + var import_animate_presence6 = require_cjs4(); + var import_helpers27 = require_cjs7(); + var import_use_controllable_state16 = require_cjs9(); + var import_web19 = require("@tamagui/core"); + var React44 = __toESM2(require("react")); + var import_jsx_runtime63 = require("react/jsx-runtime"); + var COLLAPSIBLE_NAME = "Collapsible"; + var { Provider: CollapsibleProvider, useStyledContext: useCollapsibleContext } = (0, import_web19.createStyledContext)(); + var _Collapsible = React44.forwardRef( + (props, forwardedRef) => { + const { + __scopeCollapsible, + open: openProp, + defaultOpen, + disabled, + onOpenChange, + ...collapsibleProps + } = props, [open = false, setOpen] = (0, import_use_controllable_state16.useControllableState)({ + prop: openProp, + defaultProp: defaultOpen, + onChange: onOpenChange + }); + return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)( + CollapsibleProvider, + { + scope: __scopeCollapsible, + disabled, + contentId: React44.useId(), + open, + onOpenToggle: React44.useCallback( + () => setOpen((prevOpen) => !prevOpen), + [setOpen] + ), + children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)( + import_web19.Stack, + { + "data-state": getState6(open), + "data-disabled": disabled ? "" : void 0, + ...collapsibleProps, + ref: forwardedRef + } + ) + } + ); + } + ); + _Collapsible.displayName = COLLAPSIBLE_NAME; + var TRIGGER_NAME6 = "CollapsibleTrigger"; + var CollapsibleTriggerFrame = (0, import_web19.styled)(import_web19.Stack, { + name: TRIGGER_NAME6, + tag: "button" + }); + var CollapsibleTrigger = CollapsibleTriggerFrame.styleable( + (props, forwardedRef) => { + const { __scopeCollapsible, children, ...triggerProps } = props, context = useCollapsibleContext(__scopeCollapsible); + return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)( + CollapsibleTriggerFrame, + { + "aria-controls": context.contentId, + "aria-expanded": context.open || false, + "data-state": getState6(context.open), + "data-disabled": context.disabled ? "" : void 0, + disabled: context.disabled, + ...triggerProps, + ref: forwardedRef, + onPress: (0, import_helpers27.composeEventHandlers)(props.onPress, context.onOpenToggle), + children: typeof children == "function" ? children({ open: context.open }) : children + } + ); + } + ); + CollapsibleTrigger.displayName = TRIGGER_NAME6; + var CONTENT_NAME5 = "CollapsibleContent"; + var CollapsibleContentFrame = (0, import_web19.styled)(import_web19.Stack, { + name: CONTENT_NAME5 + }); + var CollapsibleContent = CollapsibleContentFrame.styleable( + (props, forwardedRef) => { + const { + forceMount, + children, + // @ts-expect-error + __scopeCollapsible, + ...contentProps + } = props, context = useCollapsibleContext(__scopeCollapsible); + return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_animate_presence6.AnimatePresence, { ...contentProps, children: forceMount || context.open ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(CollapsibleContentFrame, { ref: forwardedRef, ...contentProps, children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_animate_presence6.ResetPresence, { children }) }) : null }); + } + ); + CollapsibleContent.displayName = CONTENT_NAME5; + function getState6(open) { + return open ? "open" : "closed"; + } + __name(getState6, "getState"); + var Collapsible = (0, import_helpers27.withStaticProperties)(_Collapsible, { + Trigger: CollapsibleTrigger, + Content: CollapsibleContent + }); + } +}); + +// node_modules/@tamagui/collapsible/dist/cjs/index.js +var require_cjs10 = __commonJS({ + "node_modules/@tamagui/collapsible/dist/cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __reExport2 = /* @__PURE__ */ __name((target, mod, secondTarget) => (__copyProps2(target, mod, "default"), secondTarget && __copyProps2(secondTarget, mod, "default")), "__reExport"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var src_exports = {}; + module2.exports = __toCommonJS2(src_exports); + __reExport2(src_exports, require_Collapsible(), module2.exports); + } +}); + +// node_modules/@tamagui/compose-refs/dist/cjs/compose-refs.js +var require_compose_refs = __commonJS({ + "node_modules/@tamagui/compose-refs/dist/cjs/compose-refs.js"(exports2, module2) { + var __create2 = Object.create; + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __getProtoOf2 = Object.getPrototypeOf; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toESM2 = /* @__PURE__ */ __name((mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp2(target, "default", { value: mod, enumerable: true }) : target, + mod + )), "__toESM"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var compose_refs_exports = {}; + __export2(compose_refs_exports, { + composeRefs: () => composeRefs2, + setRef: () => setRef2, + useComposedRefs: () => useComposedRefs4 + }); + module2.exports = __toCommonJS2(compose_refs_exports); + var React44 = __toESM2(require("react")); + function setRef2(ref, value) { + typeof ref == "function" ? ref(value) : ref && (ref.current = value); + } + __name(setRef2, "setRef"); + function composeRefs2(...refs) { + return (node) => refs.forEach((ref) => setRef2(ref, node)); + } + __name(composeRefs2, "composeRefs"); + function useComposedRefs4(...refs) { + return React44.useCallback(composeRefs2(...refs), refs); + } + __name(useComposedRefs4, "useComposedRefs"); + } +}); + +// node_modules/@tamagui/compose-refs/dist/cjs/index.js +var require_cjs11 = __commonJS({ + "node_modules/@tamagui/compose-refs/dist/cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __reExport2 = /* @__PURE__ */ __name((target, mod, secondTarget) => (__copyProps2(target, mod, "default"), secondTarget && __copyProps2(secondTarget, mod, "default")), "__reExport"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var src_exports = {}; + module2.exports = __toCommonJS2(src_exports); + __reExport2(src_exports, require_compose_refs(), module2.exports); + } +}); + +// node_modules/@tamagui/collection/dist/cjs/Collection.js +var require_Collection = __commonJS({ + "node_modules/@tamagui/collection/dist/cjs/Collection.js"(exports2, module2) { + var __create2 = Object.create; + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __getProtoOf2 = Object.getPrototypeOf; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toESM2 = /* @__PURE__ */ __name((mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp2(target, "default", { value: mod, enumerable: true }) : target, + mod + )), "__toESM"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var Collection_exports = {}; + __export2(Collection_exports, { + createCollection: () => createCollection2 + }); + module2.exports = __toCommonJS2(Collection_exports); + var import_compose_refs25 = require_cjs11(); + var import_constants45 = require_cjs6(); + var import_core59 = require("@tamagui/core"); + var import_react57 = __toESM2(require("react")); + var import_jsx_runtime63 = require("react/jsx-runtime"); + function createCollection2(name) { + const { Provider: CollectionProviderImpl, useStyledContext: useCollectionContext } = (0, import_core59.createStyledContext)({ + collectionRef: { current: null }, + itemMap: /* @__PURE__ */ new Map() + }), CollectionProvider = /* @__PURE__ */ __name((props) => { + const { __scopeCollection, children } = props, ref = import_react57.default.useRef(null), itemMap = import_react57.default.useRef(/* @__PURE__ */ new Map()).current; + return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)( + CollectionProviderImpl, + { + scope: __scopeCollection, + itemMap, + collectionRef: ref, + children + } + ); + }, "CollectionProvider"); + CollectionProvider.displayName = "CollectionProvider"; + const COLLECTION_SLOT_NAME = name + "CollectionSlot", CollectionSlot = import_react57.default.forwardRef((props, forwardedRef) => { + const { __scopeCollection, children } = props, context = useCollectionContext(__scopeCollection), composedRefs = (0, import_compose_refs25.useComposedRefs)(forwardedRef, context.collectionRef); + return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_core59.Slot, { ref: composedRefs, children }); + }); + CollectionSlot.displayName = COLLECTION_SLOT_NAME; + const ITEM_SLOT_NAME = name + "CollectionItemSlot", ITEM_DATA_ATTR = "data-collection-item", CollectionItemSlot = import_react57.default.forwardRef((props, forwardedRef) => { + const { __scopeCollection, children, ...itemData } = props, ref = import_react57.default.useRef(null), composedRefs = (0, import_compose_refs25.useComposedRefs)(forwardedRef, ref), context = useCollectionContext(__scopeCollection); + return import_react57.default.useEffect(() => (context.itemMap.set(ref, { ref, ...itemData }), () => void context.itemMap.delete(ref))), /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_core59.Slot, { [ITEM_DATA_ATTR]: "", ref: composedRefs, children }); + }); + CollectionItemSlot.displayName = ITEM_SLOT_NAME; + function useCollection2(__scopeCollection) { + const context = useCollectionContext(__scopeCollection); + return import_react57.default.useCallback(() => { + if (!import_constants45.isWeb) + return []; + const collectionNode = context.collectionRef.current; + if (!collectionNode) + return []; + const orderedNodes = Array.from( + collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`) + ); + return Array.from(context.itemMap.values()).sort( + (a, b) => orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current) + ); + }, [context.collectionRef, context.itemMap]); + } + __name(useCollection2, "useCollection"); + return [ + { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot }, + useCollection2 + ]; + } + __name(createCollection2, "createCollection"); + } +}); + +// node_modules/@tamagui/collection/dist/cjs/index.js +var require_cjs12 = __commonJS({ + "node_modules/@tamagui/collection/dist/cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __reExport2 = /* @__PURE__ */ __name((target, mod, secondTarget) => (__copyProps2(target, mod, "default"), secondTarget && __copyProps2(secondTarget, mod, "default")), "__reExport"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var src_exports = {}; + module2.exports = __toCommonJS2(src_exports); + __reExport2(src_exports, require_Collection(), module2.exports); + } +}); + +// node_modules/@tamagui/stacks/dist/cjs/getElevation.js +var require_getElevation = __commonJS({ + "node_modules/@tamagui/stacks/dist/cjs/getElevation.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var getElevation_exports = {}; + __export2(getElevation_exports, { + getElevation: () => getElevation2, + getSizedElevation: () => getSizedElevation2 + }); + module2.exports = __toCommonJS2(getElevation_exports); + var import_core59 = require("@tamagui/core"); + var getElevation2 = /* @__PURE__ */ __name((size4, extras) => { + if (!size4) + return; + const { tokens } = extras, token = tokens.size[size4], sizeNum = (0, import_core59.isVariable)(token) ? +token.val : size4; + return getSizedElevation2(sizeNum, extras); + }, "getElevation"); + var getSizedElevation2 = /* @__PURE__ */ __name((val, { theme, tokens }) => { + let num = 0; + if (val === true) { + const val2 = (0, import_core59.getVariableValue)(tokens.size.true); + typeof val2 == "number" ? num = val2 : num = 10; + } else + num = +val; + if (num === 0) + return; + const [height, shadowRadius] = [Math.round(num / 4 + 1), Math.round(num / 2 + 2)]; + return { + shadowColor: theme.shadowColor, + shadowRadius, + shadowOffset: { height, width: 0 }, + ...import_core59.isAndroid ? { + elevationAndroid: 2 * height + } : {} + }; + }, "getSizedElevation"); + } +}); + +// node_modules/@tamagui/stacks/dist/cjs/Stacks.js +var require_Stacks = __commonJS({ + "node_modules/@tamagui/stacks/dist/cjs/Stacks.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var Stacks_exports = {}; + __export2(Stacks_exports, { + XStack: () => XStack2, + YStack: () => YStack2, + ZStack: () => ZStack2, + fullscreenStyle: () => fullscreenStyle2 + }); + module2.exports = __toCommonJS2(Stacks_exports); + var import_core59 = require("@tamagui/core"); + var import_getElevation3 = require_getElevation(); + var fullscreenStyle2 = { + position: "absolute", + top: 0, + left: 0, + right: 0, + bottom: 0 + }; + var getInset2 = /* @__PURE__ */ __name((val) => val && typeof val == "object" ? val : { + top: val, + left: val, + bottom: val, + right: val + }, "getInset"); + var variants2 = { + fullscreen: { + true: fullscreenStyle2 + }, + elevation: { + "...size": import_getElevation3.getElevation, + ":number": import_getElevation3.getElevation + }, + inset: getInset2 + }; + var YStack2 = (0, import_core59.styled)(import_core59.View, { + flexDirection: "column", + variants: variants2 + }); + YStack2.displayName = "YStack"; + var XStack2 = (0, import_core59.styled)(import_core59.View, { + flexDirection: "row", + variants: variants2 + }); + XStack2.displayName = "XStack"; + var ZStack2 = (0, import_core59.styled)( + YStack2, + { + position: "relative" + }, + { + neverFlatten: true, + isZStack: true + } + ); + ZStack2.displayName = "ZStack"; + } +}); + +// node_modules/@tamagui/get-token/dist/cjs/index.js +var require_cjs13 = __commonJS({ + "node_modules/@tamagui/get-token/dist/cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var src_exports = {}; + __export2(src_exports, { + getRadius: () => getRadius, + getSize: () => getSize2, + getSpace: () => getSpace2, + getTokenRelative: () => getTokenRelative2, + stepTokenUpOrDown: () => stepTokenUpOrDown2 + }); + module2.exports = __toCommonJS2(src_exports); + var import_web19 = require("@tamagui/core"); + var defaultOptions2 = { + shift: 0, + bounds: [0] + }; + var getSize2 = /* @__PURE__ */ __name((size4, options) => getTokenRelative2("size", size4, options), "getSize"); + var getSpace2 = /* @__PURE__ */ __name((space, options) => getTokenRelative2("space", space, options), "getSpace"); + var getRadius = /* @__PURE__ */ __name((radius, options) => getTokenRelative2("radius", radius, options), "getRadius"); + var cacheVariables2 = {}; + var cacheWholeVariables2 = {}; + var cacheKeys2 = {}; + var cacheWholeKeys2 = {}; + var stepTokenUpOrDown2 = /* @__PURE__ */ __name((type, current, options = defaultOptions2) => { + var _a, _b; + const tokens = (0, import_web19.getTokens)({ prefixed: true })[type]; + if (!(type in cacheVariables2)) { + cacheKeys2[type] = [], cacheVariables2[type] = [], cacheWholeKeys2[type] = [], cacheWholeVariables2[type] = []; + const sorted = Object.keys(tokens).map((k) => tokens[k]).sort((a, b) => a.val - b.val); + for (const token of sorted) + cacheKeys2[type].push(token.key), cacheVariables2[type].push(token); + const sortedExcludingHalfSteps = sorted.filter((x) => !x.key.endsWith(".5")); + for (const token of sortedExcludingHalfSteps) + cacheWholeKeys2[type].push(token.key), cacheWholeVariables2[type].push(token); + } + const isString = typeof current == "string", tokensOrdered = (options.excludeHalfSteps ? isString ? cacheWholeKeys2 : cacheWholeVariables2 : isString ? cacheKeys2 : cacheVariables2)[type], min2 = ((_a = options.bounds) == null ? void 0 : _a[0]) ?? 0, max2 = ((_b = options.bounds) == null ? void 0 : _b[1]) ?? tokensOrdered.length - 1, currentIndex = tokensOrdered.indexOf(current); + let shift4 = options.shift || 0; + shift4 && (current === "$true" || (0, import_web19.isVariable)(current) && current.name === "true") && (shift4 += shift4 > 0 ? 1 : -1); + const index3 = Math.min(max2, Math.max(min2, currentIndex + shift4)), found = tokensOrdered[index3]; + return (typeof found == "string" ? tokens[found] : found) || tokens.$true; + }, "stepTokenUpOrDown"); + var getTokenRelative2 = stepTokenUpOrDown2; + } +}); + +// node_modules/@tamagui/get-button-sized/dist/cjs/index.js +var require_cjs14 = __commonJS({ + "node_modules/@tamagui/get-button-sized/dist/cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var src_exports = {}; + __export2(src_exports, { + getButtonSized: () => getButtonSized2 + }); + module2.exports = __toCommonJS2(src_exports); + var import_get_token16 = require_cjs13(); + var getButtonSized2 = /* @__PURE__ */ __name((val, { tokens, props }) => { + if (!val || props.circular) + return; + if (typeof val == "number") + return { + paddingHorizontal: val * 0.25, + height: val, + borderRadius: props.circular ? 1e5 : val * 0.2 + }; + const xSize = (0, import_get_token16.getSpace)(val), radiusToken = tokens.radius[val] ?? tokens.radius.$true; + return { + paddingHorizontal: xSize, + height: val, + borderRadius: props.circular ? 1e5 : radiusToken + }; + }, "getButtonSized"); + } +}); + +// node_modules/@tamagui/stacks/dist/cjs/variants.js +var require_variants = __commonJS({ + "node_modules/@tamagui/stacks/dist/cjs/variants.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var variants_exports = {}; + __export2(variants_exports, { + bordered: () => bordered2, + circular: () => circular2, + elevate: () => elevate2, + focusTheme: () => focusTheme2, + hoverTheme: () => hoverTheme2, + padded: () => padded2, + pressTheme: () => pressTheme2, + radiused: () => radiused2 + }); + module2.exports = __toCommonJS2(variants_exports); + var import_getElevation3 = require_getElevation(); + var elevate2 = { + true: (_, extras) => (0, import_getElevation3.getElevation)(extras.props.size, extras) + }; + var bordered2 = /* @__PURE__ */ __name((val, { props }) => ({ + // TODO size it with size in '...size' + borderWidth: typeof val == "number" ? val : 1, + borderColor: "$borderColor", + ...props.hoverTheme && { + hoverStyle: { + borderColor: "$borderColorHover" + } + }, + ...props.pressTheme && { + pressStyle: { + borderColor: "$borderColorPress" + } + }, + ...props.focusTheme && { + focusStyle: { + borderColor: "$borderColorFocus" + } + } + }), "bordered"); + var padded2 = { + true: (_, extras) => { + const { tokens, props } = extras; + return { + padding: tokens.space[props.size] || tokens.space.$true + }; + } + }; + var radiused2 = { + true: (_, extras) => { + const { tokens, props } = extras; + return { + borderRadius: tokens.radius[props.size] || tokens.radius.$true + }; + } + }; + var circularStyle2 = { + borderRadius: 1e5, + padding: 0 + }; + var circular2 = { + true: (_, { props, tokens }) => { + if (!("size" in props)) + return circularStyle2; + const size4 = typeof props.size == "number" ? props.size : tokens.size[props.size]; + return { + ...circularStyle2, + width: size4, + height: size4, + maxWidth: size4, + maxHeight: size4, + minWidth: size4, + minHeight: size4 + }; + } + }; + var hoverTheme2 = { + true: { + hoverStyle: { + backgroundColor: "$backgroundHover", + borderColor: "$borderColorHover" + } + }, + false: {} + }; + var pressTheme2 = { + true: { + cursor: "pointer", + pressStyle: { + backgroundColor: "$backgroundPress", + borderColor: "$borderColorPress" + } + }, + false: {} + }; + var focusTheme2 = { + true: { + focusStyle: { + backgroundColor: "$backgroundFocus", + borderColor: "$borderColorFocus" + } + }, + false: {} + }; + } +}); + +// node_modules/@tamagui/stacks/dist/cjs/SizableStack.js +var require_SizableStack = __commonJS({ + "node_modules/@tamagui/stacks/dist/cjs/SizableStack.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var SizableStack_exports = {}; + __export2(SizableStack_exports, { + SizableStack: () => SizableStack2 + }); + module2.exports = __toCommonJS2(SizableStack_exports); + var import_core59 = require("@tamagui/core"); + var import_get_button_sized6 = require_cjs14(); + var import_Stacks3 = require_Stacks(); + var import_variants3 = require_variants(); + var SizableStack2 = (0, import_core59.styled)(import_Stacks3.XStack, { + name: "SizableStack", + variants: { + unstyled: { + true: { + hoverTheme: false, + pressTheme: false, + focusTheme: false, + elevate: false, + bordered: false + } + }, + hoverTheme: import_variants3.hoverTheme, + pressTheme: import_variants3.pressTheme, + focusTheme: import_variants3.focusTheme, + circular: import_variants3.circular, + elevate: import_variants3.elevate, + bordered: import_variants3.bordered, + size: { + "...size": (val, extras) => (0, import_get_button_sized6.getButtonSized)(val, extras) + } + } + }); + } +}); + +// node_modules/@tamagui/stacks/dist/cjs/ThemeableStack.js +var require_ThemeableStack = __commonJS({ + "node_modules/@tamagui/stacks/dist/cjs/ThemeableStack.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var ThemeableStack_exports = {}; + __export2(ThemeableStack_exports, { + ThemeableStack: () => ThemeableStack2, + themeableVariants: () => themeableVariants2 + }); + module2.exports = __toCommonJS2(ThemeableStack_exports); + var import_core59 = require("@tamagui/core"); + var import_Stacks3 = require_Stacks(); + var import_variants3 = require_variants(); + var chromelessStyle2 = { + backgroundColor: "transparent", + borderColor: "transparent", + shadowColor: "transparent", + hoverStyle: { + borderColor: "transparent" + } + }; + var themeableVariants2 = { + backgrounded: { + true: { + backgroundColor: "$background" + } + }, + radiused: import_variants3.radiused, + hoverTheme: import_variants3.hoverTheme, + pressTheme: import_variants3.pressTheme, + focusTheme: import_variants3.focusTheme, + circular: import_variants3.circular, + padded: import_variants3.padded, + elevate: import_variants3.elevate, + bordered: import_variants3.bordered, + transparent: { + true: { + backgroundColor: "transparent" + } + }, + chromeless: { + true: chromelessStyle2, + all: { + ...chromelessStyle2, + hoverStyle: chromelessStyle2, + pressStyle: chromelessStyle2, + focusStyle: chromelessStyle2 + } + } + }; + var ThemeableStack2 = (0, import_core59.styled)(import_Stacks3.YStack, { + variants: themeableVariants2 + }); + } +}); + +// node_modules/@tamagui/stacks/dist/cjs/NestingContext.js +var require_NestingContext = __commonJS({ + "node_modules/@tamagui/stacks/dist/cjs/NestingContext.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var NestingContext_exports = {}; + __export2(NestingContext_exports, { + ButtonNestingContext: () => ButtonNestingContext2 + }); + module2.exports = __toCommonJS2(NestingContext_exports); + var import_react57 = require("react"); + var ButtonNestingContext2 = (0, import_react57.createContext)(false); + } +}); + +// node_modules/@tamagui/stacks/dist/cjs/index.js +var require_cjs15 = __commonJS({ + "node_modules/@tamagui/stacks/dist/cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __reExport2 = /* @__PURE__ */ __name((target, mod, secondTarget) => (__copyProps2(target, mod, "default"), secondTarget && __copyProps2(secondTarget, mod, "default")), "__reExport"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var src_exports = {}; + module2.exports = __toCommonJS2(src_exports); + __reExport2(src_exports, require_Stacks(), module2.exports); + __reExport2(src_exports, require_SizableStack(), module2.exports); + __reExport2(src_exports, require_ThemeableStack(), module2.exports); + __reExport2(src_exports, require_NestingContext(), module2.exports); + } +}); + +// node_modules/@tamagui/get-font-sized/dist/cjs/index.js +var require_cjs16 = __commonJS({ + "node_modules/@tamagui/get-font-sized/dist/cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var src_exports = {}; + __export2(src_exports, { + getFontSized: () => getFontSized2 + }); + module2.exports = __toCommonJS2(src_exports); + var import_core59 = require("@tamagui/core"); + var getFontSized2 = /* @__PURE__ */ __name((sizeTokenIn = "$true", { font, fontFamily, props }) => { + var _a, _b, _c, _d, _e, _f; + if (!font) { + process.env.NODE_ENV === "development" && console.warn( + "Warning: No font found in props", + { ...props }, + 'For a sized text component, you either need to set fontFamily directly, or through the "defaultFont" setting in your createTamagui config.' + ); + return; + } + const sizeToken = sizeTokenIn === "$true" ? getDefaultSizeToken2(font) : sizeTokenIn, fontSize = font.size[sizeToken], lineHeight = (_a = font.lineHeight) == null ? void 0 : _a[sizeToken], fontWeight = (_b = font.weight) == null ? void 0 : _b[sizeToken], letterSpacing = (_c = font.letterSpacing) == null ? void 0 : _c[sizeToken], textTransform = (_d = font.transform) == null ? void 0 : _d[sizeToken], fontStyle = props.fontStyle ?? ((_e = font.style) == null ? void 0 : _e[sizeToken]), style = { + color: props.color ?? ((_f = font.color) == null ? void 0 : _f[sizeToken]), + fontStyle, + textTransform, + fontFamily, + fontWeight, + letterSpacing, + fontSize, + lineHeight + }; + return process.env.NODE_ENV === "development" && props.debug && props.debug === "verbose" && (console.groupCollapsed(" \u{1F539} getFontSized", sizeTokenIn, sizeToken), console.info({ style, props, font }), console.groupEnd()), style; + }, "getFontSized"); + var cache3 = /* @__PURE__ */ new WeakMap(); + function getDefaultSizeToken2(font) { + if (typeof font == "object" && cache3.has(font)) + return cache3.get(font); + const sizeTokens = "$true" in font.size ? font.size : (0, import_core59.getTokens)().size, sizeDefault = sizeTokens.$true, sizeDefaultSpecific = sizeDefault ? Object.keys(sizeTokens).find( + (x) => x !== "$true" && sizeTokens[x].val === sizeDefault.val + ) : null; + return !sizeDefault || !sizeDefaultSpecific ? (process.env.NODE_ENV === "development" && console.warn(`No default size is set in your tokens for the "true" key, fonts will be inconsistent. + + Fix this by having consistent tokens across fonts and sizes and setting a true key for your size tokens, or + set true keys for all your font tokens: "size", "lineHeight", "fontStyle", etc.`), Object.keys(font.size)[3]) : (cache3.set(font, sizeDefaultSpecific), sizeDefaultSpecific); + } + __name(getDefaultSizeToken2, "getDefaultSizeToken"); + } +}); + +// node_modules/@tamagui/text/dist/cjs/SizableText.js +var require_SizableText = __commonJS({ + "node_modules/@tamagui/text/dist/cjs/SizableText.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var SizableText_exports = {}; + __export2(SizableText_exports, { + SizableText: () => SizableText2 + }); + module2.exports = __toCommonJS2(SizableText_exports); + var import_get_font_sized5 = require_cjs16(); + var import_web19 = require("@tamagui/core"); + var SizableText2 = (0, import_web19.styled)(import_web19.Text, { + name: "SizableText", + fontFamily: "$body", + variants: { + unstyled: { + false: { + size: "$true", + color: "$color" + } + }, + size: import_get_font_sized5.getFontSized + }, + defaultVariants: { + unstyled: process.env.TAMAGUI_HEADLESS === "1" + } + }); + SizableText2.staticConfig.variants.fontFamily = { + "...": (_, extras) => { + const size4 = extras.props.size || "$true"; + return (0, import_get_font_sized5.getFontSized)(size4, extras); + } + }; + } +}); + +// node_modules/@tamagui/text/dist/cjs/Paragraph.js +var require_Paragraph = __commonJS({ + "node_modules/@tamagui/text/dist/cjs/Paragraph.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var Paragraph_exports = {}; + __export2(Paragraph_exports, { + Paragraph: () => Paragraph2 + }); + module2.exports = __toCommonJS2(Paragraph_exports); + var import_web19 = require("@tamagui/core"); + var import_SizableText2 = require_SizableText(); + var Paragraph2 = (0, import_web19.styled)(import_SizableText2.SizableText, { + name: "Paragraph", + tag: "p", + userSelect: "auto", + color: "$color", + size: "$true", + whiteSpace: "normal" + }); + } +}); + +// node_modules/@tamagui/text/dist/cjs/Headings.js +var require_Headings = __commonJS({ + "node_modules/@tamagui/text/dist/cjs/Headings.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var Headings_exports = {}; + __export2(Headings_exports, { + H1: () => H12, + H2: () => H22, + H3: () => H32, + H4: () => H42, + H5: () => H52, + H6: () => H62, + Heading: () => Heading2 + }); + module2.exports = __toCommonJS2(Headings_exports); + var import_web19 = require("@tamagui/core"); + var import_Paragraph2 = require_Paragraph(); + var Heading2 = (0, import_web19.styled)(import_Paragraph2.Paragraph, { + tag: "span", + name: "Heading", + accessibilityRole: "header", + fontFamily: "$heading", + size: "$8", + margin: 0 + }); + var H12 = (0, import_web19.styled)(Heading2, { + name: "H1", + tag: "h1", + size: "$10" + }); + var H22 = (0, import_web19.styled)(Heading2, { + name: "H2", + tag: "h2", + size: "$9" + }); + var H32 = (0, import_web19.styled)(Heading2, { + name: "H3", + tag: "h3", + size: "$8" + }); + var H42 = (0, import_web19.styled)(Heading2, { + name: "H4", + tag: "h4", + size: "$7" + }); + var H52 = (0, import_web19.styled)(Heading2, { + name: "H5", + tag: "h5", + size: "$6" + }); + var H62 = (0, import_web19.styled)(Heading2, { + name: "H6", + tag: "h6", + size: "$5" + }); + } +}); + +// node_modules/@tamagui/text/dist/cjs/wrapChildrenInText.js +var require_wrapChildrenInText = __commonJS({ + "node_modules/@tamagui/text/dist/cjs/wrapChildrenInText.js"(exports2, module2) { + var __create2 = Object.create; + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __getProtoOf2 = Object.getPrototypeOf; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toESM2 = /* @__PURE__ */ __name((mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp2(target, "default", { value: mod, enumerable: true }) : target, + mod + )), "__toESM"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var wrapChildrenInText_exports = {}; + __export2(wrapChildrenInText_exports, { + wrapChildrenInText: () => wrapChildrenInText2 + }); + module2.exports = __toCommonJS2(wrapChildrenInText_exports); + var import_react57 = __toESM2(require("react")); + var import_jsx_runtime63 = ( + // so "data-disable-theme" is a hack to fix themeInverse, don't ask me why + require("react/jsx-runtime") + ); + function wrapChildrenInText2(TextComponent, propsIn, extraProps) { + const { + children, + textProps, + size: size4, + noTextWrap, + color, + fontFamily, + fontSize, + fontWeight, + letterSpacing, + textAlign, + fontStyle, + maxFontSizeMultiplier + } = propsIn; + if (noTextWrap || !children) + return [children]; + const props = { + ...extraProps + }; + return color && (props.color = color), fontFamily && (props.fontFamily = fontFamily), fontSize && (props.fontSize = fontSize), fontWeight && (props.fontWeight = fontWeight), letterSpacing && (props.letterSpacing = letterSpacing), textAlign && (props.textAlign = textAlign), size4 && (props.size = size4), fontStyle && (props.fontStyle = fontStyle), maxFontSizeMultiplier && (props.maxFontSizeMultiplier = maxFontSizeMultiplier), import_react57.default.Children.toArray(children).map((child, index3) => typeof child == "string" ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(TextComponent, { ...props, ...textProps, children: child }, index3) : child); + } + __name(wrapChildrenInText2, "wrapChildrenInText"); + } +}); + +// node_modules/@tamagui/text/dist/cjs/types.js +var require_types3 = __commonJS({ + "node_modules/@tamagui/text/dist/cjs/types.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var types_exports = {}; + module2.exports = __toCommonJS2(types_exports); + } +}); + +// node_modules/@tamagui/text/dist/cjs/index.js +var require_cjs17 = __commonJS({ + "node_modules/@tamagui/text/dist/cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __reExport2 = /* @__PURE__ */ __name((target, mod, secondTarget) => (__copyProps2(target, mod, "default"), secondTarget && __copyProps2(secondTarget, mod, "default")), "__reExport"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var src_exports = {}; + module2.exports = __toCommonJS2(src_exports); + __reExport2(src_exports, require_SizableText(), module2.exports); + __reExport2(src_exports, require_Paragraph(), module2.exports); + __reExport2(src_exports, require_Headings(), module2.exports); + __reExport2(src_exports, require_wrapChildrenInText(), module2.exports); + __reExport2(src_exports, require_types3(), module2.exports); + } +}); + +// node_modules/@tamagui/use-direction/dist/cjs/useDirection.js +var require_useDirection = __commonJS({ + "node_modules/@tamagui/use-direction/dist/cjs/useDirection.js"(exports2, module2) { + var __create2 = Object.create; + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __getProtoOf2 = Object.getPrototypeOf; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toESM2 = /* @__PURE__ */ __name((mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp2(target, "default", { value: mod, enumerable: true }) : target, + mod + )), "__toESM"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var useDirection_exports = {}; + __export2(useDirection_exports, { + DirectionProvider: () => DirectionProvider, + Provider: () => Provider, + useDirection: () => useDirection2 + }); + module2.exports = __toCommonJS2(useDirection_exports); + var React44 = __toESM2(require("react")); + var import_jsx_runtime63 = require("react/jsx-runtime"); + var DirectionContext2 = React44.createContext(void 0); + var DirectionProvider = /* @__PURE__ */ __name((props) => { + const { dir, children } = props; + return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(DirectionContext2.Provider, { value: dir, children }); + }, "DirectionProvider"); + function useDirection2(localDir) { + const globalDir = React44.useContext(DirectionContext2); + return localDir || globalDir || "ltr"; + } + __name(useDirection2, "useDirection"); + var Provider = DirectionProvider; + } +}); + +// node_modules/@tamagui/use-direction/dist/cjs/index.js +var require_cjs18 = __commonJS({ + "node_modules/@tamagui/use-direction/dist/cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __reExport2 = /* @__PURE__ */ __name((target, mod, secondTarget) => (__copyProps2(target, mod, "default"), secondTarget && __copyProps2(secondTarget, mod, "default")), "__reExport"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var src_exports = {}; + module2.exports = __toCommonJS2(src_exports); + __reExport2(src_exports, require_useDirection(), module2.exports); + } +}); + +// node_modules/@tamagui/accordion/dist/cjs/Accordion.js +var require_Accordion = __commonJS({ + "node_modules/@tamagui/accordion/dist/cjs/Accordion.js"(exports2, module2) { + var __create2 = Object.create; + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __getProtoOf2 = Object.getPrototypeOf; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toESM2 = /* @__PURE__ */ __name((mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp2(target, "default", { value: mod, enumerable: true }) : target, + mod + )), "__toESM"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var Accordion_exports = {}; + __export2(Accordion_exports, { + Accordion: () => Accordion + }); + module2.exports = __toCommonJS2(Accordion_exports); + var import_collapsible = require_cjs10(); + var import_collection2 = require_cjs12(); + var import_compose_refs25 = require_cjs11(); + var import_constants45 = require_cjs6(); + var import_helpers27 = require_cjs7(); + var import_stacks27 = require_cjs15(); + var import_text9 = require_cjs17(); + var import_use_controllable_state16 = require_cjs9(); + var import_use_direction5 = require_cjs18(); + var import_web19 = require("@tamagui/core"); + var import_web22 = require("@tamagui/core"); + var React44 = __toESM2(require("react")); + var import_jsx_runtime63 = require("react/jsx-runtime"); + var ACCORDION_NAME = "Accordion"; + var ACCORDION_KEYS = ["Home", "End", "ArrowDown", "ArrowUp", "ArrowLeft", "ArrowRight"]; + var [Collection2, useCollection2] = (0, import_collection2.createCollection)(ACCORDION_NAME); + var ACCORDION_CONTEXT = "Accordion"; + var AccordionComponent = React44.forwardRef((props, forwardedRef) => { + const { type, ...accordionProps } = props, singleProps = accordionProps, multipleProps = accordionProps; + return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Collection2.Provider, { __scopeCollection: props.__scopeAccordion || ACCORDION_CONTEXT, children: type === "multiple" ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(AccordionImplMultiple, { ...multipleProps, ref: forwardedRef }) : /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(AccordionImplSingle, { ...singleProps, ref: forwardedRef }) }); + }); + AccordionComponent.displayName = ACCORDION_NAME; + AccordionComponent.propTypes = { + type(props) { + const value = props.value || props.defaultValue; + return props.type && !["single", "multiple"].includes(props.type) ? new Error( + "Invalid prop `type` supplied to `Accordion`. Expected one of `single | multiple`." + ) : props.type === "multiple" && typeof value == "string" ? new Error( + "Invalid prop `type` supplied to `Accordion`. Expected `single` when `defaultValue` or `value` is type `string`." + ) : props.type === "single" && Array.isArray(value) ? new Error( + "Invalid prop `type` supplied to `Accordion`. Expected `multiple` when `defaultValue` or `value` is type `string[]`." + ) : null; + } + }; + var { Provider: AccordionValueProvider, useStyledContext: useAccordionValueContext } = (0, import_web22.createStyledContext)(); + var { + Provider: AccordionCollapsibleProvider, + useStyledContext: useAccordionCollapsibleContext + } = (0, import_web22.createStyledContext)(); + var AccordionImplSingle = React44.forwardRef((props, forwardedRef) => { + const { + value: valueProp, + defaultValue: defaultValue2, + control, + onValueChange = /* @__PURE__ */ __name(() => { + }, "onValueChange"), + collapsible = false, + ...accordionSingleProps + } = props, [value, setValue] = (0, import_use_controllable_state16.useControllableState)({ + prop: valueProp, + defaultProp: defaultValue2 || "", + onChange: onValueChange + }); + return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)( + AccordionValueProvider, + { + scope: props.__scopeAccordion, + value: value ? [value] : [], + onItemOpen: setValue, + onItemClose: React44.useCallback( + () => collapsible && setValue(""), + [setValue, collapsible] + ), + children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)( + AccordionCollapsibleProvider, + { + scope: props.__scopeAccordion, + collapsible, + children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(AccordionImpl, { ...accordionSingleProps, ref: forwardedRef }) + } + ) + } + ); + }); + var AccordionImplMultiple = React44.forwardRef((props, forwardedRef) => { + const { + value: valueProp, + defaultValue: defaultValue2, + onValueChange = /* @__PURE__ */ __name(() => { + }, "onValueChange"), + ...accordionMultipleProps + } = props, [value, setValue] = (0, import_use_controllable_state16.useControllableState)({ + prop: valueProp, + defaultProp: defaultValue2 || [], + onChange: onValueChange + }), handleItemOpen = React44.useCallback( + (itemValue) => setValue((prevValue = []) => [...prevValue, itemValue]), + [setValue] + ), handleItemClose = React44.useCallback( + (itemValue) => setValue((prevValue = []) => prevValue.filter((value2) => value2 !== itemValue)), + [setValue] + ); + return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)( + AccordionValueProvider, + { + scope: props.__scopeAccordion, + value: value || [], + onItemOpen: handleItemOpen, + onItemClose: handleItemClose, + children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(AccordionCollapsibleProvider, { scope: props.__scopeAccordion, collapsible: true, children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(AccordionImpl, { ...accordionMultipleProps, ref: forwardedRef }) }) + } + ); + }); + var { Provider: AccordionImplProvider, useStyledContext: useAccordionContext } = (0, import_web22.createStyledContext)(); + var AccordionImpl = React44.forwardRef( + (props, forwardedRef) => { + const { + __scopeAccordion, + disabled, + dir, + orientation = "vertical", + ...accordionProps + } = props, accordionRef = React44.useRef(null), composedRef = (0, import_compose_refs25.useComposedRefs)(accordionRef, forwardedRef), getItems = useCollection2(__scopeAccordion || ACCORDION_CONTEXT), isDirectionLTR = (0, import_use_direction5.useDirection)(dir) === "ltr", handleKeyDown = (0, import_helpers27.composeEventHandlers)( + props.onKeyDown, + (event) => { + var _a; + if (!ACCORDION_KEYS.includes(event.key)) + return; + const target = event.target, triggerCollection = getItems().filter((item) => { + var _a2; + return !((_a2 = item.ref.current) == null ? void 0 : _a2.disabled); + }), triggerIndex = triggerCollection.findIndex( + (item) => item.ref.current === target + ), triggerCount = triggerCollection.length; + if (triggerIndex === -1) + return; + event.preventDefault(); + let nextIndex = triggerIndex; + const homeIndex = 0, endIndex = triggerCount - 1, moveNext = /* @__PURE__ */ __name(() => { + nextIndex = triggerIndex + 1, nextIndex > endIndex && (nextIndex = homeIndex); + }, "moveNext"), movePrev = /* @__PURE__ */ __name(() => { + nextIndex = triggerIndex - 1, nextIndex < homeIndex && (nextIndex = endIndex); + }, "movePrev"); + switch (event.key) { + case "Home": + nextIndex = homeIndex; + break; + case "End": + nextIndex = endIndex; + break; + case "ArrowRight": + orientation === "horizontal" && (isDirectionLTR ? moveNext() : movePrev()); + break; + case "ArrowDown": + orientation === "vertical" && moveNext(); + break; + case "ArrowLeft": + orientation === "horizontal" && (isDirectionLTR ? movePrev() : moveNext()); + break; + case "ArrowUp": + orientation === "vertical" && movePrev(); + break; + } + const clampedIndex = nextIndex % triggerCount; + (_a = triggerCollection[clampedIndex].ref.current) == null ? void 0 : _a.focus(); + } + ); + return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)( + AccordionImplProvider, + { + scope: __scopeAccordion, + disabled, + direction: dir, + orientation, + children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Collection2.Slot, { __scopeCollection: __scopeAccordion || ACCORDION_CONTEXT, children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)( + import_stacks27.YStack, + { + "data-orientation": orientation, + ref: composedRef, + ...accordionProps, + ...import_constants45.isWeb && { + onKeyDown: handleKeyDown + } + } + ) }) + } + ); + } + ); + var ITEM_NAME3 = "AccordionItem"; + var { Provider: AccordionItemProvider, useStyledContext: useAccordionItemContext } = (0, import_web22.createStyledContext)(); + var AccordionItem = React44.forwardRef( + (props, forwardedRef) => { + const { __scopeAccordion, value, ...accordionItemProps } = props, accordionContext = useAccordionContext(__scopeAccordion), valueContext = useAccordionValueContext(__scopeAccordion), triggerId = React44.useId(), open = value && valueContext.value.includes(value) || false, disabled = accordionContext.disabled || props.disabled; + return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)( + AccordionItemProvider, + { + scope: __scopeAccordion, + open, + disabled, + triggerId, + children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)( + import_collapsible.Collapsible, + { + "data-orientation": accordionContext.orientation, + "data-state": open ? "open" : "closed", + __scopeCollapsible: __scopeAccordion || ACCORDION_CONTEXT, + ...accordionItemProps, + ref: forwardedRef, + disabled, + open, + onOpenChange: (open2) => { + open2 ? valueContext.onItemOpen(value) : valueContext.onItemClose(value); + } + } + ) + } + ); + } + ); + AccordionItem.displayName = ITEM_NAME3; + var HEADER_NAME = "AccordionHeader"; + var AccordionHeader = React44.forwardRef( + (props, forwardedRef) => { + const { __scopeAccordion, ...headerProps } = props, accordionContext = useAccordionContext(__scopeAccordion), itemContext = useAccordionItemContext(__scopeAccordion); + return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)( + import_text9.H1, + { + "data-orientation": accordionContext.orientation, + "data-state": getState6(itemContext.open), + "data-disabled": itemContext.disabled ? "" : void 0, + ...headerProps, + ref: forwardedRef + } + ); + } + ); + AccordionHeader.displayName = HEADER_NAME; + var AccordionTriggerFrame = (0, import_web22.styled)(import_collapsible.Collapsible.Trigger, { + variants: { + unstyled: { + false: { + cursor: "pointer", + backgroundColor: "$background", + borderColor: "$borderColor", + borderWidth: 1, + padding: "$true", + hoverStyle: { + backgroundColor: "$backgroundHover" + }, + focusStyle: { + backgroundColor: "$backgroundFocus" + }, + pressStyle: { + backgroundColor: "$backgroundPress" + } + } + } + }, + defaultVariants: { + unstyled: process.env.TAMAGUI_HEADLESS === "1" + } + }); + var AccordionTrigger = AccordionTriggerFrame.styleable(function(props, forwardedRef) { + const { __scopeAccordion, ...triggerProps } = props, accordionContext = useAccordionContext(__scopeAccordion), itemContext = useAccordionItemContext(__scopeAccordion), collapsibleContext = useAccordionCollapsibleContext(__scopeAccordion); + return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Collection2.ItemSlot, { __scopeCollection: __scopeAccordion || ACCORDION_CONTEXT, children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)( + AccordionTriggerFrame, + { + __scopeCollapsible: __scopeAccordion || ACCORDION_CONTEXT, + "aria-disabled": itemContext.open && !collapsibleContext.collapsible || void 0, + "data-orientation": accordionContext.orientation, + id: itemContext.triggerId, + ...triggerProps, + ref: forwardedRef + } + ) }); + }); + var AccordionContentFrame = (0, import_web22.styled)(import_collapsible.Collapsible.Content, { + variants: { + unstyled: { + false: { + padding: "$true", + backgroundColor: "$background" + } + } + }, + defaultVariants: { + unstyled: process.env.TAMAGUI_HEADLESS === "1" + } + }); + var AccordionContent = AccordionContentFrame.styleable(function(props, forwardedRef) { + const { __scopeAccordion, ...contentProps } = props, accordionContext = useAccordionContext(__scopeAccordion), itemContext = useAccordionItemContext(__scopeAccordion); + return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)( + AccordionContentFrame, + { + role: "region", + "aria-labelledby": itemContext.triggerId, + "data-orientation": accordionContext.orientation, + __scopeCollapsible: __scopeAccordion || ACCORDION_CONTEXT, + ...contentProps, + ref: forwardedRef + } + ); + }); + var HeightAnimator = import_web19.View.styleable((props, ref) => { + const itemContext = useAccordionItemContext(), { children, ...rest } = props, [height, setHeight] = React44.useState(0); + React44.useEffect(() => { + itemContext.open || setHeight(0); + }, [itemContext.open]); + const onLayout = (0, import_web19.useEvent)(({ nativeEvent }) => { + nativeEvent.layout.height && setHeight(nativeEvent.layout.height); + }); + return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_web19.View, { ref, height, ...rest, children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)( + import_web19.View, + { + position: "absolute", + onLayout, + children + } + ) }); + }); + function getState6(open) { + return open ? "open" : "closed"; + } + __name(getState6, "getState"); + var Accordion = (0, import_helpers27.withStaticProperties)(AccordionComponent, { + Trigger: AccordionTrigger, + Header: AccordionHeader, + Content: AccordionContent, + Item: AccordionItem, + HeightAnimator + }); + } +}); + +// node_modules/@tamagui/accordion/dist/cjs/index.js +var require_cjs19 = __commonJS({ + "node_modules/@tamagui/accordion/dist/cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __reExport2 = /* @__PURE__ */ __name((target, mod, secondTarget) => (__copyProps2(target, mod, "default"), secondTarget && __copyProps2(secondTarget, mod, "default")), "__reExport"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var src_exports = {}; + module2.exports = __toCommonJS2(src_exports); + __reExport2(src_exports, require_Accordion(), module2.exports); + } +}); + +// node_modules/aria-hidden/dist/es5/index.js +var require_es5 = __commonJS({ + "node_modules/aria-hidden/dist/es5/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.suppressOthers = exports2.supportsInert = exports2.inertOthers = exports2.hideOthers = void 0; + var getDefaultParent = /* @__PURE__ */ __name(function(originalTarget) { + if (typeof document === "undefined") { + return null; + } + var sampleTarget = Array.isArray(originalTarget) ? originalTarget[0] : originalTarget; + return sampleTarget.ownerDocument.body; + }, "getDefaultParent"); + var counterMap2 = /* @__PURE__ */ new WeakMap(); + var uncontrolledNodes = /* @__PURE__ */ new WeakMap(); + var markerMap2 = {}; + var lockCount2 = 0; + var unwrapHost2 = /* @__PURE__ */ __name(function(node) { + return node && (node.host || unwrapHost2(node.parentNode)); + }, "unwrapHost"); + var correctTargets = /* @__PURE__ */ __name(function(parent, targets) { + return targets.map(function(target) { + if (parent.contains(target)) { + return target; + } + var correctedTarget = unwrapHost2(target); + if (correctedTarget && parent.contains(correctedTarget)) { + return correctedTarget; + } + console.error("aria-hidden", target, "in not contained inside", parent, ". Doing nothing"); + return null; + }).filter(function(x) { + return Boolean(x); + }); + }, "correctTargets"); + var applyAttributeToOthers2 = /* @__PURE__ */ __name(function(originalTarget, parentNode, markerName, controlAttribute) { + var targets = correctTargets(parentNode, Array.isArray(originalTarget) ? originalTarget : [originalTarget]); + if (!markerMap2[markerName]) { + markerMap2[markerName] = /* @__PURE__ */ new WeakMap(); + } + var markerCounter = markerMap2[markerName]; + var hiddenNodes = []; + var elementsToKeep = /* @__PURE__ */ new Set(); + var elementsToStop = new Set(targets); + var keep = /* @__PURE__ */ __name(function(el) { + if (!el || elementsToKeep.has(el)) { + return; + } + elementsToKeep.add(el); + keep(el.parentNode); + }, "keep"); + targets.forEach(keep); + var deep = /* @__PURE__ */ __name(function(parent) { + if (!parent || elementsToStop.has(parent)) { + return; + } + Array.prototype.forEach.call(parent.children, function(node) { + if (elementsToKeep.has(node)) { + deep(node); + } else { + try { + var attr2 = node.getAttribute(controlAttribute); + var alreadyHidden = attr2 !== null && attr2 !== "false"; + var counterValue = (counterMap2.get(node) || 0) + 1; + var markerValue = (markerCounter.get(node) || 0) + 1; + counterMap2.set(node, counterValue); + markerCounter.set(node, markerValue); + hiddenNodes.push(node); + if (counterValue === 1 && alreadyHidden) { + uncontrolledNodes.set(node, true); + } + if (markerValue === 1) { + node.setAttribute(markerName, "true"); + } + if (!alreadyHidden) { + node.setAttribute(controlAttribute, "true"); + } + } catch (e) { + console.error("aria-hidden: cannot operate on ", node, e); + } + } + }); + }, "deep"); + deep(parentNode); + elementsToKeep.clear(); + lockCount2++; + return function() { + hiddenNodes.forEach(function(node) { + var counterValue = counterMap2.get(node) - 1; + var markerValue = markerCounter.get(node) - 1; + counterMap2.set(node, counterValue); + markerCounter.set(node, markerValue); + if (!counterValue) { + if (!uncontrolledNodes.has(node)) { + node.removeAttribute(controlAttribute); + } + uncontrolledNodes.delete(node); + } + if (!markerValue) { + node.removeAttribute(markerName); + } + }); + lockCount2--; + if (!lockCount2) { + counterMap2 = /* @__PURE__ */ new WeakMap(); + counterMap2 = /* @__PURE__ */ new WeakMap(); + uncontrolledNodes = /* @__PURE__ */ new WeakMap(); + markerMap2 = {}; + } + }; + }, "applyAttributeToOthers"); + var hideOthers2 = /* @__PURE__ */ __name(function(originalTarget, parentNode, markerName) { + if (markerName === void 0) { + markerName = "data-aria-hidden"; + } + var targets = Array.from(Array.isArray(originalTarget) ? originalTarget : [originalTarget]); + var activeParentNode = parentNode || getDefaultParent(originalTarget); + if (!activeParentNode) { + return function() { + return null; + }; + } + targets.push.apply(targets, Array.from(activeParentNode.querySelectorAll("[aria-live]"))); + return applyAttributeToOthers2(targets, activeParentNode, markerName, "aria-hidden"); + }, "hideOthers"); + exports2.hideOthers = hideOthers2; + var inertOthers = /* @__PURE__ */ __name(function(originalTarget, parentNode, markerName) { + if (markerName === void 0) { + markerName = "data-inert-ed"; + } + var activeParentNode = parentNode || getDefaultParent(originalTarget); + if (!activeParentNode) { + return function() { + return null; + }; + } + return applyAttributeToOthers2(originalTarget, activeParentNode, markerName, "inert"); + }, "inertOthers"); + exports2.inertOthers = inertOthers; + var supportsInert2 = /* @__PURE__ */ __name(function() { + return typeof HTMLElement !== "undefined" && HTMLElement.prototype.hasOwnProperty("inert"); + }, "supportsInert"); + exports2.supportsInert = supportsInert2; + var suppressOthers = /* @__PURE__ */ __name(function(originalTarget, parentNode, markerName) { + if (markerName === void 0) { + markerName = "data-suppressed"; + } + return ((0, exports2.supportsInert)() ? exports2.inertOthers : exports2.hideOthers)(originalTarget, parentNode, markerName); + }, "suppressOthers"); + exports2.suppressOthers = suppressOthers; + } +}); + +// node_modules/tslib/tslib.es6.mjs +var tslib_es6_exports = {}; +__export(tslib_es6_exports, { + __addDisposableResource: () => __addDisposableResource, + __assign: () => __assign, + __asyncDelegator: () => __asyncDelegator, + __asyncGenerator: () => __asyncGenerator, + __asyncValues: () => __asyncValues, + __await: () => __await, + __awaiter: () => __awaiter, + __classPrivateFieldGet: () => __classPrivateFieldGet, + __classPrivateFieldIn: () => __classPrivateFieldIn, + __classPrivateFieldSet: () => __classPrivateFieldSet, + __createBinding: () => __createBinding, + __decorate: () => __decorate, + __disposeResources: () => __disposeResources, + __esDecorate: () => __esDecorate, + __exportStar: () => __exportStar, + __extends: () => __extends, + __generator: () => __generator, + __importDefault: () => __importDefault, + __importStar: () => __importStar, + __makeTemplateObject: () => __makeTemplateObject, + __metadata: () => __metadata, + __param: () => __param, + __propKey: () => __propKey, + __read: () => __read, + __rest: () => __rest, + __runInitializers: () => __runInitializers, + __setFunctionName: () => __setFunctionName, + __spread: () => __spread, + __spreadArray: () => __spreadArray, + __spreadArrays: () => __spreadArrays, + __values: () => __values, + default: () => tslib_es6_default +}); +function __extends(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { + this.constructor = d; + } + __name(__, "__"); + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +} +function __rest(s, e) { + var t = {}; + for (var p in s) + if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; +} +function __decorate(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") + r = Reflect.decorate(decorators, target, key, desc); + else + for (var i = decorators.length - 1; i >= 0; i--) + if (d = decorators[i]) + r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +} +function __param(paramIndex, decorator) { + return function(target, key) { + decorator(target, key, paramIndex); + }; +} +function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { + function accept(f) { + if (f !== void 0 && typeof f !== "function") + throw new TypeError("Function expected"); + return f; + } + __name(accept, "accept"); + var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; + var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null; + var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {}); + var _, done = false; + for (var i = decorators.length - 1; i >= 0; i--) { + var context = {}; + for (var p in contextIn) + context[p] = p === "access" ? {} : contextIn[p]; + for (var p in contextIn.access) + context.access[p] = contextIn.access[p]; + context.addInitializer = function(f) { + if (done) + throw new TypeError("Cannot add initializers after decoration has completed"); + extraInitializers.push(accept(f || null)); + }; + var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context); + if (kind === "accessor") { + if (result === void 0) + continue; + if (result === null || typeof result !== "object") + throw new TypeError("Object expected"); + if (_ = accept(result.get)) + descriptor.get = _; + if (_ = accept(result.set)) + descriptor.set = _; + if (_ = accept(result.init)) + initializers.unshift(_); + } else if (_ = accept(result)) { + if (kind === "field") + initializers.unshift(_); + else + descriptor[key] = _; + } + } + if (target) + Object.defineProperty(target, contextIn.name, descriptor); + done = true; +} +function __runInitializers(thisArg, initializers, value) { + var useValue = arguments.length > 2; + for (var i = 0; i < initializers.length; i++) { + value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); + } + return useValue ? value : void 0; +} +function __propKey(x) { + return typeof x === "symbol" ? x : "".concat(x); +} +function __setFunctionName(f, name, prefix) { + if (typeof name === "symbol") + name = name.description ? "[".concat(name.description, "]") : ""; + return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name }); +} +function __metadata(metadataKey, metadataValue) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") + return Reflect.metadata(metadataKey, metadataValue); +} +function __awaiter(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve) { + resolve(value); + }); + } + __name(adopt, "adopt"); + return new (P || (P = Promise))(function(resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + __name(fulfilled, "fulfilled"); + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + __name(rejected, "rejected"); + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + __name(step, "step"); + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +} +function __generator(thisArg, body) { + var _ = { label: 0, sent: function() { + if (t[0] & 1) + throw t[1]; + return t[1]; + }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { + return this; + }), g; + function verb(n) { + return function(v) { + return step([n, v]); + }; + } + __name(verb, "verb"); + function step(op) { + if (f) + throw new TypeError("Generator is already executing."); + while (g && (g = 0, op[0] && (_ = 0)), _) + try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) + return t; + if (y = 0, t) + op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: + case 1: + t = op; + break; + case 4: + _.label++; + return { value: op[1], done: false }; + case 5: + _.label++; + y = op[1]; + op = [0]; + continue; + case 7: + op = _.ops.pop(); + _.trys.pop(); + continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { + _ = 0; + continue; + } + if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) { + _.label = op[1]; + break; + } + if (op[0] === 6 && _.label < t[1]) { + _.label = t[1]; + t = op; + break; + } + if (t && _.label < t[2]) { + _.label = t[2]; + _.ops.push(op); + break; + } + if (t[2]) + _.ops.pop(); + _.trys.pop(); + continue; + } + op = body.call(thisArg, _); + } catch (e) { + op = [6, e]; + y = 0; + } finally { + f = t = 0; + } + if (op[0] & 5) + throw op[1]; + return { value: op[0] ? op[1] : void 0, done: true }; + } + __name(step, "step"); +} +function __exportStar(m, o) { + for (var p in m) + if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) + __createBinding(o, m, p); +} +function __values(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) + return m.call(o); + if (o && typeof o.length === "number") + return { + next: function() { + if (o && i >= o.length) + o = void 0; + return { value: o && o[i++], done: !o }; + } + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +} +function __read(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) + return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) + ar.push(r.value); + } catch (error2) { + e = { error: error2 }; + } finally { + try { + if (r && !r.done && (m = i["return"])) + m.call(i); + } finally { + if (e) + throw e.error; + } + } + return ar; +} +function __spread() { + for (var ar = [], i = 0; i < arguments.length; i++) + ar = ar.concat(__read(arguments[i])); + return ar; +} +function __spreadArrays() { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) + s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; +} +function __spreadArray(to, from, pack) { + if (pack || arguments.length === 2) + for (var i = 0, l = from.length, ar; i < l; i++) { + if (ar || !(i in from)) { + if (!ar) + ar = Array.prototype.slice.call(from, 0, i); + ar[i] = from[i]; + } + } + return to.concat(ar || Array.prototype.slice.call(from)); +} +function __await(v) { + return this instanceof __await ? (this.v = v, this) : new __await(v); +} +function __asyncGenerator(thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) + throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), i, q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() { + return this; + }, i; + function verb(n) { + if (g[n]) + i[n] = function(v) { + return new Promise(function(a, b) { + q.push([n, v, a, b]) > 1 || resume(n, v); + }); + }; + } + __name(verb, "verb"); + function resume(n, v) { + try { + step(g[n](v)); + } catch (e) { + settle(q[0][3], e); + } + } + __name(resume, "resume"); + function step(r) { + r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); + } + __name(step, "step"); + function fulfill(value) { + resume("next", value); + } + __name(fulfill, "fulfill"); + function reject(value) { + resume("throw", value); + } + __name(reject, "reject"); + function settle(f, v) { + if (f(v), q.shift(), q.length) + resume(q[0][0], q[0][1]); + } + __name(settle, "settle"); +} +function __asyncDelegator(o) { + var i, p; + return i = {}, verb("next"), verb("throw", function(e) { + throw e; + }), verb("return"), i[Symbol.iterator] = function() { + return this; + }, i; + function verb(n, f) { + i[n] = o[n] ? function(v) { + return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; + } : f; + } + __name(verb, "verb"); +} +function __asyncValues(o) { + if (!Symbol.asyncIterator) + throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() { + return this; + }, i); + function verb(n) { + i[n] = o[n] && function(v) { + return new Promise(function(resolve, reject) { + v = o[n](v), settle(resolve, reject, v.done, v.value); + }); + }; + } + __name(verb, "verb"); + function settle(resolve, reject, d, v) { + Promise.resolve(v).then(function(v2) { + resolve({ value: v2, done: d }); + }, reject); + } + __name(settle, "settle"); +} +function __makeTemplateObject(cooked, raw) { + if (Object.defineProperty) { + Object.defineProperty(cooked, "raw", { value: raw }); + } else { + cooked.raw = raw; + } + return cooked; +} +function __importStar(mod) { + if (mod && mod.__esModule) + return mod; + var result = {}; + if (mod != null) { + for (var k in mod) + if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) + __createBinding(result, mod, k); + } + __setModuleDefault(result, mod); + return result; +} +function __importDefault(mod) { + return mod && mod.__esModule ? mod : { default: mod }; +} +function __classPrivateFieldGet(receiver, state, kind, f) { + if (kind === "a" && !f) + throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) + throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); +} +function __classPrivateFieldSet(receiver, state, value, kind, f) { + if (kind === "m") + throw new TypeError("Private method is not writable"); + if (kind === "a" && !f) + throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) + throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value; +} +function __classPrivateFieldIn(state, receiver) { + if (receiver === null || typeof receiver !== "object" && typeof receiver !== "function") + throw new TypeError("Cannot use 'in' operator on non-object"); + return typeof state === "function" ? receiver === state : state.has(receiver); +} +function __addDisposableResource(env, value, async) { + if (value !== null && value !== void 0) { + if (typeof value !== "object" && typeof value !== "function") + throw new TypeError("Object expected."); + var dispose; + if (async) { + if (!Symbol.asyncDispose) + throw new TypeError("Symbol.asyncDispose is not defined."); + dispose = value[Symbol.asyncDispose]; + } + if (dispose === void 0) { + if (!Symbol.dispose) + throw new TypeError("Symbol.dispose is not defined."); + dispose = value[Symbol.dispose]; + } + if (typeof dispose !== "function") + throw new TypeError("Object not disposable."); + env.stack.push({ value, dispose, async }); + } else if (async) { + env.stack.push({ async: true }); + } + return value; +} +function __disposeResources(env) { + function fail(e) { + env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e; + env.hasError = true; + } + __name(fail, "fail"); + function next() { + while (env.stack.length) { + var rec = env.stack.pop(); + try { + var result = rec.dispose && rec.dispose.call(rec.value); + if (rec.async) + return Promise.resolve(result).then(next, function(e) { + fail(e); + return next(); + }); + } catch (e) { + fail(e); + } + } + if (env.hasError) + throw env.error; + } + __name(next, "next"); + return next(); +} +var extendStatics, __assign, __createBinding, __setModuleDefault, _SuppressedError, tslib_es6_default; +var init_tslib_es6 = __esm({ + "node_modules/tslib/tslib.es6.mjs"() { + extendStatics = /* @__PURE__ */ __name(function(d, b) { + extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) { + d2.__proto__ = b2; + } || function(d2, b2) { + for (var p in b2) + if (Object.prototype.hasOwnProperty.call(b2, p)) + d2[p] = b2[p]; + }; + return extendStatics(d, b); + }, "extendStatics"); + __name(__extends, "__extends"); + __assign = /* @__PURE__ */ __name(function() { + __assign = Object.assign || /* @__PURE__ */ __name(function __assign2(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) + if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }, "__assign"); + return __assign.apply(this, arguments); + }, "__assign"); + __name(__rest, "__rest"); + __name(__decorate, "__decorate"); + __name(__param, "__param"); + __name(__esDecorate, "__esDecorate"); + __name(__runInitializers, "__runInitializers"); + __name(__propKey, "__propKey"); + __name(__setFunctionName, "__setFunctionName"); + __name(__metadata, "__metadata"); + __name(__awaiter, "__awaiter"); + __name(__generator, "__generator"); + __createBinding = Object.create ? function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { + return m[k]; + } }; + } + Object.defineProperty(o, k2, desc); + } : function(o, m, k, k2) { + if (k2 === void 0) + k2 = k; + o[k2] = m[k]; + }; + __name(__exportStar, "__exportStar"); + __name(__values, "__values"); + __name(__read, "__read"); + __name(__spread, "__spread"); + __name(__spreadArrays, "__spreadArrays"); + __name(__spreadArray, "__spreadArray"); + __name(__await, "__await"); + __name(__asyncGenerator, "__asyncGenerator"); + __name(__asyncDelegator, "__asyncDelegator"); + __name(__asyncValues, "__asyncValues"); + __name(__makeTemplateObject, "__makeTemplateObject"); + __setModuleDefault = Object.create ? function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + } : function(o, v) { + o["default"] = v; + }; + __name(__importStar, "__importStar"); + __name(__importDefault, "__importDefault"); + __name(__classPrivateFieldGet, "__classPrivateFieldGet"); + __name(__classPrivateFieldSet, "__classPrivateFieldSet"); + __name(__classPrivateFieldIn, "__classPrivateFieldIn"); + __name(__addDisposableResource, "__addDisposableResource"); + _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function(error2, suppressed, message) { + var e = new Error(message); + return e.name = "SuppressedError", e.error = error2, e.suppressed = suppressed, e; + }; + __name(__disposeResources, "__disposeResources"); + tslib_es6_default = { + __extends, + __assign, + __rest, + __decorate, + __param, + __metadata, + __awaiter, + __generator, + __createBinding, + __exportStar, + __values, + __read, + __spread, + __spreadArrays, + __spreadArray, + __await, + __asyncGenerator, + __asyncDelegator, + __asyncValues, + __makeTemplateObject, + __importStar, + __importDefault, + __classPrivateFieldGet, + __classPrivateFieldSet, + __classPrivateFieldIn, + __addDisposableResource, + __disposeResources + }; + } +}); + +// node_modules/react-remove-scroll-bar/dist/es5/constants.js +var require_constants2 = __commonJS({ + "node_modules/react-remove-scroll-bar/dist/es5/constants.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.removedBarSizeVariable = exports2.noScrollbarsClassName = exports2.fullWidthClassName = exports2.zeroRightClassName = void 0; + exports2.zeroRightClassName = "right-scroll-bar-position"; + exports2.fullWidthClassName = "width-before-scroll-bar"; + exports2.noScrollbarsClassName = "with-scroll-bars-hidden"; + exports2.removedBarSizeVariable = "--removed-body-scroll-bar-size"; + } +}); + +// node_modules/use-callback-ref/dist/es5/assignRef.js +var require_assignRef = __commonJS({ + "node_modules/use-callback-ref/dist/es5/assignRef.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.assignRef = void 0; + function assignRef(ref, value) { + if (typeof ref === "function") { + ref(value); + } else if (ref) { + ref.current = value; + } + return ref; + } + __name(assignRef, "assignRef"); + exports2.assignRef = assignRef; + } +}); + +// node_modules/use-callback-ref/dist/es5/useRef.js +var require_useRef = __commonJS({ + "node_modules/use-callback-ref/dist/es5/useRef.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.useCallbackRef = void 0; + var react_1 = require("react"); + function useCallbackRef2(initialValue2, callback) { + var ref = (0, react_1.useState)(function() { + return { + // value + value: initialValue2, + // last callback + callback, + // "memoized" public interface + facade: { + get current() { + return ref.value; + }, + set current(value) { + var last = ref.value; + if (last !== value) { + ref.value = value; + ref.callback(value, last); + } + } + } + }; + })[0]; + ref.callback = callback; + return ref.facade; + } + __name(useCallbackRef2, "useCallbackRef"); + exports2.useCallbackRef = useCallbackRef2; + } +}); + +// node_modules/use-callback-ref/dist/es5/createRef.js +var require_createRef = __commonJS({ + "node_modules/use-callback-ref/dist/es5/createRef.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.createCallbackRef = void 0; + function createCallbackRef(callback) { + var current = null; + return { + get current() { + return current; + }, + set current(value) { + var last = current; + if (last !== value) { + current = value; + callback(value, last); + } + } + }; + } + __name(createCallbackRef, "createCallbackRef"); + exports2.createCallbackRef = createCallbackRef; + } +}); + +// node_modules/use-callback-ref/dist/es5/mergeRef.js +var require_mergeRef = __commonJS({ + "node_modules/use-callback-ref/dist/es5/mergeRef.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.mergeRefs = void 0; + var assignRef_1 = require_assignRef(); + var createRef_1 = require_createRef(); + function mergeRefs(refs) { + return (0, createRef_1.createCallbackRef)(function(newValue) { + return refs.forEach(function(ref) { + return (0, assignRef_1.assignRef)(ref, newValue); + }); + }); + } + __name(mergeRefs, "mergeRefs"); + exports2.mergeRefs = mergeRefs; + } +}); + +// node_modules/use-callback-ref/dist/es5/useMergeRef.js +var require_useMergeRef = __commonJS({ + "node_modules/use-callback-ref/dist/es5/useMergeRef.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.useMergeRefs = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var React44 = tslib_1.__importStar(require("react")); + var assignRef_1 = require_assignRef(); + var useRef_1 = require_useRef(); + var useIsomorphicLayoutEffect3 = typeof window !== "undefined" ? React44.useLayoutEffect : React44.useEffect; + var currentValues = /* @__PURE__ */ new WeakMap(); + function useMergeRefs(refs, defaultValue2) { + var callbackRef = (0, useRef_1.useCallbackRef)(defaultValue2 || null, function(newValue) { + return refs.forEach(function(ref) { + return (0, assignRef_1.assignRef)(ref, newValue); + }); + }); + useIsomorphicLayoutEffect3(function() { + var oldValue = currentValues.get(callbackRef); + if (oldValue) { + var prevRefs_1 = new Set(oldValue); + var nextRefs_1 = new Set(refs); + var current_1 = callbackRef.current; + prevRefs_1.forEach(function(ref) { + if (!nextRefs_1.has(ref)) { + (0, assignRef_1.assignRef)(ref, null); + } + }); + nextRefs_1.forEach(function(ref) { + if (!prevRefs_1.has(ref)) { + (0, assignRef_1.assignRef)(ref, current_1); + } + }); + } + currentValues.set(callbackRef, refs); + }, [refs]); + return callbackRef; + } + __name(useMergeRefs, "useMergeRefs"); + exports2.useMergeRefs = useMergeRefs; + } +}); + +// node_modules/use-callback-ref/dist/es5/useTransformRef.js +var require_useTransformRef = __commonJS({ + "node_modules/use-callback-ref/dist/es5/useTransformRef.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.useTransformRef = void 0; + var assignRef_1 = require_assignRef(); + var useRef_1 = require_useRef(); + function useTransformRef(ref, transformer) { + return (0, useRef_1.useCallbackRef)(null, function(value) { + return (0, assignRef_1.assignRef)(ref, transformer(value)); + }); + } + __name(useTransformRef, "useTransformRef"); + exports2.useTransformRef = useTransformRef; + } +}); + +// node_modules/use-callback-ref/dist/es5/transformRef.js +var require_transformRef = __commonJS({ + "node_modules/use-callback-ref/dist/es5/transformRef.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.transformRef = void 0; + var assignRef_1 = require_assignRef(); + var createRef_1 = require_createRef(); + function transformRef(ref, transformer) { + return (0, createRef_1.createCallbackRef)(function(value) { + return (0, assignRef_1.assignRef)(ref, transformer(value)); + }); + } + __name(transformRef, "transformRef"); + exports2.transformRef = transformRef; + } +}); + +// node_modules/use-callback-ref/dist/es5/refToCallback.js +var require_refToCallback = __commonJS({ + "node_modules/use-callback-ref/dist/es5/refToCallback.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.useRefToCallback = exports2.refToCallback = void 0; + function refToCallback(ref) { + return function(newValue) { + if (typeof ref === "function") { + ref(newValue); + } else if (ref) { + ref.current = newValue; + } + }; + } + __name(refToCallback, "refToCallback"); + exports2.refToCallback = refToCallback; + var nullCallback = /* @__PURE__ */ __name(function() { + return null; + }, "nullCallback"); + var weakMem = /* @__PURE__ */ new WeakMap(); + var weakMemoize = /* @__PURE__ */ __name(function(ref) { + var usedRef = ref || nullCallback; + var storedRef = weakMem.get(usedRef); + if (storedRef) { + return storedRef; + } + var cb = refToCallback(usedRef); + weakMem.set(usedRef, cb); + return cb; + }, "weakMemoize"); + function useRefToCallback(ref) { + return weakMemoize(ref); + } + __name(useRefToCallback, "useRefToCallback"); + exports2.useRefToCallback = useRefToCallback; + } +}); + +// node_modules/use-callback-ref/dist/es5/index.js +var require_es52 = __commonJS({ + "node_modules/use-callback-ref/dist/es5/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.useRefToCallback = exports2.refToCallback = exports2.transformRef = exports2.useTransformRef = exports2.useMergeRefs = exports2.mergeRefs = exports2.createCallbackRef = exports2.useCallbackRef = exports2.assignRef = void 0; + var assignRef_1 = require_assignRef(); + Object.defineProperty(exports2, "assignRef", { enumerable: true, get: function() { + return assignRef_1.assignRef; + } }); + var useRef_1 = require_useRef(); + Object.defineProperty(exports2, "useCallbackRef", { enumerable: true, get: function() { + return useRef_1.useCallbackRef; + } }); + var createRef_1 = require_createRef(); + Object.defineProperty(exports2, "createCallbackRef", { enumerable: true, get: function() { + return createRef_1.createCallbackRef; + } }); + var mergeRef_1 = require_mergeRef(); + Object.defineProperty(exports2, "mergeRefs", { enumerable: true, get: function() { + return mergeRef_1.mergeRefs; + } }); + var useMergeRef_1 = require_useMergeRef(); + Object.defineProperty(exports2, "useMergeRefs", { enumerable: true, get: function() { + return useMergeRef_1.useMergeRefs; + } }); + var useTransformRef_1 = require_useTransformRef(); + Object.defineProperty(exports2, "useTransformRef", { enumerable: true, get: function() { + return useTransformRef_1.useTransformRef; + } }); + var transformRef_1 = require_transformRef(); + Object.defineProperty(exports2, "transformRef", { enumerable: true, get: function() { + return transformRef_1.transformRef; + } }); + var refToCallback_1 = require_refToCallback(); + Object.defineProperty(exports2, "refToCallback", { enumerable: true, get: function() { + return refToCallback_1.refToCallback; + } }); + Object.defineProperty(exports2, "useRefToCallback", { enumerable: true, get: function() { + return refToCallback_1.useRefToCallback; + } }); + } +}); + +// node_modules/detect-node-es/es5/node.js +var require_node = __commonJS({ + "node_modules/detect-node-es/es5/node.js"(exports2, module2) { + module2.exports.isNode = Object.prototype.toString.call(typeof process !== "undefined" ? process : 0) === "[object process]"; + } +}); + +// node_modules/use-sidecar/dist/es5/env.js +var require_env = __commonJS({ + "node_modules/use-sidecar/dist/es5/env.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.env = void 0; + var detect_node_es_1 = require_node(); + exports2.env = { + isNode: detect_node_es_1.isNode, + forceCache: false + }; + } +}); + +// node_modules/use-sidecar/dist/es5/hook.js +var require_hook = __commonJS({ + "node_modules/use-sidecar/dist/es5/hook.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.useSidecar = void 0; + var react_1 = require("react"); + var env_1 = require_env(); + var cache3 = /* @__PURE__ */ new WeakMap(); + var NO_OPTIONS = {}; + function useSidecar(importer, effect) { + var options = effect && effect.options || NO_OPTIONS; + if (env_1.env.isNode && !options.ssr) { + return [null, null]; + } + return useRealSidecar(importer, effect); + } + __name(useSidecar, "useSidecar"); + exports2.useSidecar = useSidecar; + function useRealSidecar(importer, effect) { + var options = effect && effect.options || NO_OPTIONS; + var couldUseCache = env_1.env.forceCache || env_1.env.isNode && !!options.ssr || !options.async; + var _a = (0, react_1.useState)(couldUseCache ? function() { + return cache3.get(importer); + } : void 0), Car = _a[0], setCar = _a[1]; + var _b = (0, react_1.useState)(null), error2 = _b[0], setError = _b[1]; + (0, react_1.useEffect)(function() { + if (!Car) { + importer().then(function(car) { + var resolved = effect ? effect.read() : car.default || car; + if (!resolved) { + console.error("Sidecar error: with importer", importer); + var error_1; + if (effect) { + console.error("Sidecar error: with medium", effect); + error_1 = new Error("Sidecar medium was not found"); + } else { + error_1 = new Error("Sidecar was not found in exports"); + } + setError(function() { + return error_1; + }); + throw error_1; + } + cache3.set(importer, resolved); + setCar(function() { + return resolved; + }); + }, function(e) { + return setError(function() { + return e; + }); + }); + } + }, []); + return [Car, error2]; + } + __name(useRealSidecar, "useRealSidecar"); + } +}); + +// node_modules/use-sidecar/dist/es5/hoc.js +var require_hoc = __commonJS({ + "node_modules/use-sidecar/dist/es5/hoc.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.sidecar = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var React44 = tslib_1.__importStar(require("react")); + var hook_1 = require_hook(); + function sidecar(importer, errorComponent) { + var ErrorCase = /* @__PURE__ */ __name(function() { + return errorComponent; + }, "ErrorCase"); + return /* @__PURE__ */ __name(function Sidecar(props) { + var _a = (0, hook_1.useSidecar)(importer, props.sideCar), Car = _a[0], error2 = _a[1]; + if (error2 && errorComponent) { + return ErrorCase; + } + return Car ? React44.createElement(Car, tslib_1.__assign({}, props)) : null; + }, "Sidecar"); + } + __name(sidecar, "sidecar"); + exports2.sidecar = sidecar; + } +}); + +// node_modules/use-sidecar/dist/es5/config.js +var require_config = __commonJS({ + "node_modules/use-sidecar/dist/es5/config.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.setConfig = exports2.config = void 0; + exports2.config = { + onError: function(e) { + return console.error(e); + } + }; + var setConfig = /* @__PURE__ */ __name(function(conf) { + Object.assign(exports2.config, conf); + }, "setConfig"); + exports2.setConfig = setConfig; + } +}); + +// node_modules/use-sidecar/dist/es5/medium.js +var require_medium = __commonJS({ + "node_modules/use-sidecar/dist/es5/medium.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.createSidecarMedium = exports2.createMedium = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + function ItoI(a) { + return a; + } + __name(ItoI, "ItoI"); + function innerCreateMedium(defaults, middleware) { + if (middleware === void 0) { + middleware = ItoI; + } + var buffer = []; + var assigned = false; + var medium = { + read: function() { + if (assigned) { + throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`."); + } + if (buffer.length) { + return buffer[buffer.length - 1]; + } + return defaults; + }, + useMedium: function(data) { + var item = middleware(data, assigned); + buffer.push(item); + return function() { + buffer = buffer.filter(function(x) { + return x !== item; + }); + }; + }, + assignSyncMedium: function(cb) { + assigned = true; + while (buffer.length) { + var cbs2 = buffer; + buffer = []; + cbs2.forEach(cb); + } + buffer = { + push: function(x) { + return cb(x); + }, + filter: function() { + return buffer; + } + }; + }, + assignMedium: function(cb) { + assigned = true; + var pendingQueue = []; + if (buffer.length) { + var cbs2 = buffer; + buffer = []; + cbs2.forEach(cb); + pendingQueue = buffer; + } + var executeQueue = /* @__PURE__ */ __name(function() { + var cbs3 = pendingQueue; + pendingQueue = []; + cbs3.forEach(cb); + }, "executeQueue"); + var cycle = /* @__PURE__ */ __name(function() { + return Promise.resolve().then(executeQueue); + }, "cycle"); + cycle(); + buffer = { + push: function(x) { + pendingQueue.push(x); + cycle(); + }, + filter: function(filter) { + pendingQueue = pendingQueue.filter(filter); + return buffer; + } + }; + } + }; + return medium; + } + __name(innerCreateMedium, "innerCreateMedium"); + function createMedium(defaults, middleware) { + if (middleware === void 0) { + middleware = ItoI; + } + return innerCreateMedium(defaults, middleware); + } + __name(createMedium, "createMedium"); + exports2.createMedium = createMedium; + function createSidecarMedium(options) { + if (options === void 0) { + options = {}; + } + var medium = innerCreateMedium(null); + medium.options = tslib_1.__assign({ async: true, ssr: false }, options); + return medium; + } + __name(createSidecarMedium, "createSidecarMedium"); + exports2.createSidecarMedium = createSidecarMedium; + } +}); + +// node_modules/use-sidecar/dist/es5/renderProp.js +var require_renderProp = __commonJS({ + "node_modules/use-sidecar/dist/es5/renderProp.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.renderCar = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var React44 = tslib_1.__importStar(require("react")); + var react_1 = require("react"); + function renderCar(WrappedComponent, defaults) { + function State(_a) { + var stateRef = _a.stateRef, props = _a.props; + var renderTarget = (0, react_1.useCallback)(/* @__PURE__ */ __name(function SideTarget() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + (0, react_1.useLayoutEffect)(function() { + stateRef.current(args); + }); + return null; + }, "SideTarget"), []); + return React44.createElement(WrappedComponent, tslib_1.__assign({}, props, { children: renderTarget })); + } + __name(State, "State"); + var Children7 = React44.memo(function(_a) { + var stateRef = _a.stateRef, defaultState = _a.defaultState, children = _a.children; + var _b = (0, react_1.useState)(defaultState.current), state = _b[0], setState = _b[1]; + (0, react_1.useEffect)(function() { + stateRef.current = setState; + }, []); + return children.apply(void 0, state); + }, function() { + return true; + }); + return /* @__PURE__ */ __name(function Combiner(props) { + var defaultState = React44.useRef(defaults(props)); + var ref = React44.useRef(function(state) { + return defaultState.current = state; + }); + return React44.createElement( + React44.Fragment, + null, + React44.createElement(State, { stateRef: ref, props }), + React44.createElement(Children7, { stateRef: ref, defaultState, children: props.children }) + ); + }, "Combiner"); + } + __name(renderCar, "renderCar"); + exports2.renderCar = renderCar; + } +}); + +// node_modules/use-sidecar/dist/es5/exports.js +var require_exports = __commonJS({ + "node_modules/use-sidecar/dist/es5/exports.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.exportSidecar = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var React44 = tslib_1.__importStar(require("react")); + var SideCar = /* @__PURE__ */ __name(function(_a) { + var sideCar = _a.sideCar, rest = tslib_1.__rest(_a, ["sideCar"]); + if (!sideCar) { + throw new Error("Sidecar: please provide `sideCar` property to import the right car"); + } + var Target = sideCar.read(); + if (!Target) { + throw new Error("Sidecar medium not found"); + } + return React44.createElement(Target, tslib_1.__assign({}, rest)); + }, "SideCar"); + SideCar.isSideCarExport = true; + function exportSidecar(medium, exported) { + medium.useMedium(exported); + return SideCar; + } + __name(exportSidecar, "exportSidecar"); + exports2.exportSidecar = exportSidecar; + } +}); + +// node_modules/use-sidecar/dist/es5/index.js +var require_es53 = __commonJS({ + "node_modules/use-sidecar/dist/es5/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.exportSidecar = exports2.renderCar = exports2.createSidecarMedium = exports2.createMedium = exports2.setConfig = exports2.useSidecar = exports2.sidecar = void 0; + var hoc_1 = require_hoc(); + Object.defineProperty(exports2, "sidecar", { enumerable: true, get: function() { + return hoc_1.sidecar; + } }); + var hook_1 = require_hook(); + Object.defineProperty(exports2, "useSidecar", { enumerable: true, get: function() { + return hook_1.useSidecar; + } }); + var config_1 = require_config(); + Object.defineProperty(exports2, "setConfig", { enumerable: true, get: function() { + return config_1.setConfig; + } }); + var medium_1 = require_medium(); + Object.defineProperty(exports2, "createMedium", { enumerable: true, get: function() { + return medium_1.createMedium; + } }); + Object.defineProperty(exports2, "createSidecarMedium", { enumerable: true, get: function() { + return medium_1.createSidecarMedium; + } }); + var renderProp_1 = require_renderProp(); + Object.defineProperty(exports2, "renderCar", { enumerable: true, get: function() { + return renderProp_1.renderCar; + } }); + var exports_1 = require_exports(); + Object.defineProperty(exports2, "exportSidecar", { enumerable: true, get: function() { + return exports_1.exportSidecar; + } }); + } +}); + +// node_modules/react-remove-scroll/dist/es5/medium.js +var require_medium2 = __commonJS({ + "node_modules/react-remove-scroll/dist/es5/medium.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.effectCar = void 0; + var use_sidecar_1 = require_es53(); + exports2.effectCar = (0, use_sidecar_1.createSidecarMedium)(); + } +}); + +// node_modules/react-remove-scroll/dist/es5/UI.js +var require_UI = __commonJS({ + "node_modules/react-remove-scroll/dist/es5/UI.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.RemoveScroll = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var React44 = tslib_1.__importStar(require("react")); + var constants_1 = require_constants2(); + var use_callback_ref_1 = require_es52(); + var medium_1 = require_medium2(); + var nothing = /* @__PURE__ */ __name(function() { + return; + }, "nothing"); + var RemoveScroll2 = React44.forwardRef(function(props, parentRef) { + var ref = React44.useRef(null); + var _a = React44.useState({ + onScrollCapture: nothing, + onWheelCapture: nothing, + onTouchMoveCapture: nothing + }), callbacks = _a[0], setCallbacks = _a[1]; + var forwardProps = props.forwardProps, children = props.children, className = props.className, removeScrollBar = props.removeScrollBar, enabled = props.enabled, shards = props.shards, sideCar = props.sideCar, noIsolation = props.noIsolation, inert = props.inert, allowPinchZoom = props.allowPinchZoom, _b = props.as, Container = _b === void 0 ? "div" : _b, rest = tslib_1.__rest(props, ["forwardProps", "children", "className", "removeScrollBar", "enabled", "shards", "sideCar", "noIsolation", "inert", "allowPinchZoom", "as"]); + var SideCar = sideCar; + var containerRef = (0, use_callback_ref_1.useMergeRefs)([ref, parentRef]); + var containerProps = tslib_1.__assign(tslib_1.__assign({}, rest), callbacks); + return React44.createElement( + React44.Fragment, + null, + enabled && React44.createElement(SideCar, { sideCar: medium_1.effectCar, removeScrollBar, shards, noIsolation, inert, setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref }), + forwardProps ? React44.cloneElement(React44.Children.only(children), tslib_1.__assign(tslib_1.__assign({}, containerProps), { ref: containerRef })) : React44.createElement(Container, tslib_1.__assign({}, containerProps, { className, ref: containerRef }), children) + ); + }); + exports2.RemoveScroll = RemoveScroll2; + RemoveScroll2.defaultProps = { + enabled: true, + removeScrollBar: true, + inert: false + }; + RemoveScroll2.classNames = { + fullWidth: constants_1.fullWidthClassName, + zeroRight: constants_1.zeroRightClassName + }; + } +}); + +// node_modules/get-nonce/dist/es5/index.js +var require_es54 = __commonJS({ + "node_modules/get-nonce/dist/es5/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + var currentNonce; + exports2.setNonce = function(nonce) { + currentNonce = nonce; + }; + exports2.getNonce = function() { + if (currentNonce) { + return currentNonce; + } + if (typeof __webpack_nonce__ !== "undefined") { + return __webpack_nonce__; + } + return void 0; + }; + } +}); + +// node_modules/react-style-singleton/dist/es5/singleton.js +var require_singleton = __commonJS({ + "node_modules/react-style-singleton/dist/es5/singleton.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.stylesheetSingleton = void 0; + var get_nonce_1 = require_es54(); + function makeStyleTag() { + if (!document) + return null; + var tag = document.createElement("style"); + tag.type = "text/css"; + var nonce = (0, get_nonce_1.getNonce)(); + if (nonce) { + tag.setAttribute("nonce", nonce); + } + return tag; + } + __name(makeStyleTag, "makeStyleTag"); + function injectStyles(tag, css) { + if (tag.styleSheet) { + tag.styleSheet.cssText = css; + } else { + tag.appendChild(document.createTextNode(css)); + } + } + __name(injectStyles, "injectStyles"); + function insertStyleTag(tag) { + var head = document.head || document.getElementsByTagName("head")[0]; + head.appendChild(tag); + } + __name(insertStyleTag, "insertStyleTag"); + var stylesheetSingleton = /* @__PURE__ */ __name(function() { + var counter = 0; + var stylesheet = null; + return { + add: function(style) { + if (counter == 0) { + if (stylesheet = makeStyleTag()) { + injectStyles(stylesheet, style); + insertStyleTag(stylesheet); + } + } + counter++; + }, + remove: function() { + counter--; + if (!counter && stylesheet) { + stylesheet.parentNode && stylesheet.parentNode.removeChild(stylesheet); + stylesheet = null; + } + } + }; + }, "stylesheetSingleton"); + exports2.stylesheetSingleton = stylesheetSingleton; + } +}); + +// node_modules/react-style-singleton/dist/es5/hook.js +var require_hook2 = __commonJS({ + "node_modules/react-style-singleton/dist/es5/hook.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.styleHookSingleton = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var React44 = tslib_1.__importStar(require("react")); + var singleton_1 = require_singleton(); + var styleHookSingleton = /* @__PURE__ */ __name(function() { + var sheet = (0, singleton_1.stylesheetSingleton)(); + return function(styles, isDynamic) { + React44.useEffect(function() { + sheet.add(styles); + return function() { + sheet.remove(); + }; + }, [styles && isDynamic]); + }; + }, "styleHookSingleton"); + exports2.styleHookSingleton = styleHookSingleton; + } +}); + +// node_modules/react-style-singleton/dist/es5/component.js +var require_component = __commonJS({ + "node_modules/react-style-singleton/dist/es5/component.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.styleSingleton = void 0; + var hook_1 = require_hook2(); + var styleSingleton = /* @__PURE__ */ __name(function() { + var useStyle2 = (0, hook_1.styleHookSingleton)(); + var Sheet2 = /* @__PURE__ */ __name(function(_a) { + var styles = _a.styles, dynamic = _a.dynamic; + useStyle2(styles, dynamic); + return null; + }, "Sheet"); + return Sheet2; + }, "styleSingleton"); + exports2.styleSingleton = styleSingleton; + } +}); + +// node_modules/react-style-singleton/dist/es5/index.js +var require_es55 = __commonJS({ + "node_modules/react-style-singleton/dist/es5/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.styleHookSingleton = exports2.stylesheetSingleton = exports2.styleSingleton = void 0; + var component_1 = require_component(); + Object.defineProperty(exports2, "styleSingleton", { enumerable: true, get: function() { + return component_1.styleSingleton; + } }); + var singleton_1 = require_singleton(); + Object.defineProperty(exports2, "stylesheetSingleton", { enumerable: true, get: function() { + return singleton_1.stylesheetSingleton; + } }); + var hook_1 = require_hook2(); + Object.defineProperty(exports2, "styleHookSingleton", { enumerable: true, get: function() { + return hook_1.styleHookSingleton; + } }); + } +}); + +// node_modules/react-remove-scroll-bar/dist/es5/utils.js +var require_utils = __commonJS({ + "node_modules/react-remove-scroll-bar/dist/es5/utils.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.getGapWidth = exports2.zeroGap = void 0; + exports2.zeroGap = { + left: 0, + top: 0, + right: 0, + gap: 0 + }; + var parse = /* @__PURE__ */ __name(function(x) { + return parseInt(x || "", 10) || 0; + }, "parse"); + var getOffset = /* @__PURE__ */ __name(function(gapMode) { + var cs = window.getComputedStyle(document.body); + var left = cs[gapMode === "padding" ? "paddingLeft" : "marginLeft"]; + var top = cs[gapMode === "padding" ? "paddingTop" : "marginTop"]; + var right = cs[gapMode === "padding" ? "paddingRight" : "marginRight"]; + return [parse(left), parse(top), parse(right)]; + }, "getOffset"); + var getGapWidth = /* @__PURE__ */ __name(function(gapMode) { + if (gapMode === void 0) { + gapMode = "margin"; + } + if (typeof window === "undefined") { + return exports2.zeroGap; + } + var offsets = getOffset(gapMode); + var documentWidth = document.documentElement.clientWidth; + var windowWidth = window.innerWidth; + return { + left: offsets[0], + top: offsets[1], + right: offsets[2], + gap: Math.max(0, windowWidth - documentWidth + offsets[2] - offsets[0]) + }; + }, "getGapWidth"); + exports2.getGapWidth = getGapWidth; + } +}); + +// node_modules/react-remove-scroll-bar/dist/es5/component.js +var require_component2 = __commonJS({ + "node_modules/react-remove-scroll-bar/dist/es5/component.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.RemoveScrollBar = exports2.useLockAttribute = exports2.lockAttribute = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var React44 = tslib_1.__importStar(require("react")); + var react_style_singleton_1 = require_es55(); + var constants_1 = require_constants2(); + var utils_1 = require_utils(); + var Style = (0, react_style_singleton_1.styleSingleton)(); + exports2.lockAttribute = "data-scroll-locked"; + var getStyles = /* @__PURE__ */ __name(function(_a, allowRelative, gapMode, important) { + var left = _a.left, top = _a.top, right = _a.right, gap = _a.gap; + if (gapMode === void 0) { + gapMode = "margin"; + } + return "\n .".concat(constants_1.noScrollbarsClassName, " {\n overflow: hidden ").concat(important, ";\n padding-right: ").concat(gap, "px ").concat(important, ";\n }\n body[").concat(exports2.lockAttribute, "] {\n overflow: hidden ").concat(important, ";\n overscroll-behavior: contain;\n ").concat([ + allowRelative && "position: relative ".concat(important, ";"), + gapMode === "margin" && "\n padding-left: ".concat(left, "px;\n padding-top: ").concat(top, "px;\n padding-right: ").concat(right, "px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(gap, "px ").concat(important, ";\n "), + gapMode === "padding" && "padding-right: ".concat(gap, "px ").concat(important, ";") + ].filter(Boolean).join(""), "\n }\n \n .").concat(constants_1.zeroRightClassName, " {\n right: ").concat(gap, "px ").concat(important, ";\n }\n \n .").concat(constants_1.fullWidthClassName, " {\n margin-right: ").concat(gap, "px ").concat(important, ";\n }\n \n .").concat(constants_1.zeroRightClassName, " .").concat(constants_1.zeroRightClassName, " {\n right: 0 ").concat(important, ";\n }\n \n .").concat(constants_1.fullWidthClassName, " .").concat(constants_1.fullWidthClassName, " {\n margin-right: 0 ").concat(important, ";\n }\n \n body[").concat(exports2.lockAttribute, "] {\n ").concat(constants_1.removedBarSizeVariable, ": ").concat(gap, "px;\n }\n"); + }, "getStyles"); + var getCurrentUseCounter = /* @__PURE__ */ __name(function() { + var counter = parseInt(document.body.getAttribute(exports2.lockAttribute) || "0", 10); + return isFinite(counter) ? counter : 0; + }, "getCurrentUseCounter"); + var useLockAttribute = /* @__PURE__ */ __name(function() { + React44.useEffect(function() { + document.body.setAttribute(exports2.lockAttribute, (getCurrentUseCounter() + 1).toString()); + return function() { + var newCounter = getCurrentUseCounter() - 1; + if (newCounter <= 0) { + document.body.removeAttribute(exports2.lockAttribute); + } else { + document.body.setAttribute(exports2.lockAttribute, newCounter.toString()); + } + }; + }, []); + }, "useLockAttribute"); + exports2.useLockAttribute = useLockAttribute; + var RemoveScrollBar = /* @__PURE__ */ __name(function(_a) { + var noRelative = _a.noRelative, noImportant = _a.noImportant, _b = _a.gapMode, gapMode = _b === void 0 ? "margin" : _b; + (0, exports2.useLockAttribute)(); + var gap = React44.useMemo(function() { + return (0, utils_1.getGapWidth)(gapMode); + }, [gapMode]); + return React44.createElement(Style, { styles: getStyles(gap, !noRelative, gapMode, !noImportant ? "!important" : "") }); + }, "RemoveScrollBar"); + exports2.RemoveScrollBar = RemoveScrollBar; + } +}); + +// node_modules/react-remove-scroll-bar/dist/es5/index.js +var require_es56 = __commonJS({ + "node_modules/react-remove-scroll-bar/dist/es5/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.getGapWidth = exports2.removedBarSizeVariable = exports2.noScrollbarsClassName = exports2.fullWidthClassName = exports2.zeroRightClassName = exports2.RemoveScrollBar = void 0; + var component_1 = require_component2(); + Object.defineProperty(exports2, "RemoveScrollBar", { enumerable: true, get: function() { + return component_1.RemoveScrollBar; + } }); + var constants_1 = require_constants2(); + Object.defineProperty(exports2, "zeroRightClassName", { enumerable: true, get: function() { + return constants_1.zeroRightClassName; + } }); + Object.defineProperty(exports2, "fullWidthClassName", { enumerable: true, get: function() { + return constants_1.fullWidthClassName; + } }); + Object.defineProperty(exports2, "noScrollbarsClassName", { enumerable: true, get: function() { + return constants_1.noScrollbarsClassName; + } }); + Object.defineProperty(exports2, "removedBarSizeVariable", { enumerable: true, get: function() { + return constants_1.removedBarSizeVariable; + } }); + var utils_1 = require_utils(); + Object.defineProperty(exports2, "getGapWidth", { enumerable: true, get: function() { + return utils_1.getGapWidth; + } }); + } +}); + +// node_modules/react-remove-scroll/dist/es5/aggresiveCapture.js +var require_aggresiveCapture = __commonJS({ + "node_modules/react-remove-scroll/dist/es5/aggresiveCapture.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.nonPassive = void 0; + var passiveSupported = false; + if (typeof window !== "undefined") { + try { + options = Object.defineProperty({}, "passive", { + get: function() { + passiveSupported = true; + return true; + } + }); + window.addEventListener("test", options, options); + window.removeEventListener("test", options, options); + } catch (err) { + passiveSupported = false; + } + } + var options; + exports2.nonPassive = passiveSupported ? { passive: false } : false; + } +}); + +// node_modules/react-remove-scroll/dist/es5/handleScroll.js +var require_handleScroll = __commonJS({ + "node_modules/react-remove-scroll/dist/es5/handleScroll.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.handleScroll = exports2.locationCouldBeScrolled = void 0; + var alwaysContainsScroll = /* @__PURE__ */ __name(function(node) { + return node.tagName === "TEXTAREA"; + }, "alwaysContainsScroll"); + var elementCanBeScrolled = /* @__PURE__ */ __name(function(node, overflow) { + var styles = window.getComputedStyle(node); + return ( + // not-not-scrollable + styles[overflow] !== "hidden" && // contains scroll inside self + !(styles.overflowY === styles.overflowX && !alwaysContainsScroll(node) && styles[overflow] === "visible") + ); + }, "elementCanBeScrolled"); + var elementCouldBeVScrolled = /* @__PURE__ */ __name(function(node) { + return elementCanBeScrolled(node, "overflowY"); + }, "elementCouldBeVScrolled"); + var elementCouldBeHScrolled = /* @__PURE__ */ __name(function(node) { + return elementCanBeScrolled(node, "overflowX"); + }, "elementCouldBeHScrolled"); + var locationCouldBeScrolled = /* @__PURE__ */ __name(function(axis, node) { + var current = node; + do { + if (typeof ShadowRoot !== "undefined" && current instanceof ShadowRoot) { + current = current.host; + } + var isScrollable = elementCouldBeScrolled(axis, current); + if (isScrollable) { + var _a = getScrollVariables(axis, current), s = _a[1], d = _a[2]; + if (s > d) { + return true; + } + } + current = current.parentNode; + } while (current && current !== document.body); + return false; + }, "locationCouldBeScrolled"); + exports2.locationCouldBeScrolled = locationCouldBeScrolled; + var getVScrollVariables = /* @__PURE__ */ __name(function(_a) { + var scrollTop = _a.scrollTop, scrollHeight = _a.scrollHeight, clientHeight = _a.clientHeight; + return [ + scrollTop, + scrollHeight, + clientHeight + ]; + }, "getVScrollVariables"); + var getHScrollVariables = /* @__PURE__ */ __name(function(_a) { + var scrollLeft = _a.scrollLeft, scrollWidth = _a.scrollWidth, clientWidth = _a.clientWidth; + return [ + scrollLeft, + scrollWidth, + clientWidth + ]; + }, "getHScrollVariables"); + var elementCouldBeScrolled = /* @__PURE__ */ __name(function(axis, node) { + return axis === "v" ? elementCouldBeVScrolled(node) : elementCouldBeHScrolled(node); + }, "elementCouldBeScrolled"); + var getScrollVariables = /* @__PURE__ */ __name(function(axis, node) { + return axis === "v" ? getVScrollVariables(node) : getHScrollVariables(node); + }, "getScrollVariables"); + var getDirectionFactor = /* @__PURE__ */ __name(function(axis, direction) { + return axis === "h" && direction === "rtl" ? -1 : 1; + }, "getDirectionFactor"); + var handleScroll = /* @__PURE__ */ __name(function(axis, endTarget, event, sourceDelta, noOverscroll) { + var directionFactor = getDirectionFactor(axis, window.getComputedStyle(endTarget).direction); + var delta = directionFactor * sourceDelta; + var target = event.target; + var targetInLock = endTarget.contains(target); + var shouldCancelScroll = false; + var isDeltaPositive = delta > 0; + var availableScroll = 0; + var availableScrollTop = 0; + do { + var _a = getScrollVariables(axis, target), position = _a[0], scroll_1 = _a[1], capacity = _a[2]; + var elementScroll = scroll_1 - capacity - directionFactor * position; + if (position || elementScroll) { + if (elementCouldBeScrolled(axis, target)) { + availableScroll += elementScroll; + availableScrollTop += position; + } + } + target = target.parentNode; + } while ( + // portaled content + !targetInLock && target !== document.body || // self content + targetInLock && (endTarget.contains(target) || endTarget === target) + ); + if (isDeltaPositive && (noOverscroll && availableScroll === 0 || !noOverscroll && delta > availableScroll)) { + shouldCancelScroll = true; + } else if (!isDeltaPositive && (noOverscroll && availableScrollTop === 0 || !noOverscroll && -delta > availableScrollTop)) { + shouldCancelScroll = true; + } + return shouldCancelScroll; + }, "handleScroll"); + exports2.handleScroll = handleScroll; + } +}); + +// node_modules/react-remove-scroll/dist/es5/SideEffect.js +var require_SideEffect = __commonJS({ + "node_modules/react-remove-scroll/dist/es5/SideEffect.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.RemoveScrollSideCar = exports2.getDeltaXY = exports2.getTouchXY = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var React44 = tslib_1.__importStar(require("react")); + var react_remove_scroll_bar_1 = require_es56(); + var react_style_singleton_1 = require_es55(); + var aggresiveCapture_1 = require_aggresiveCapture(); + var handleScroll_1 = require_handleScroll(); + var getTouchXY = /* @__PURE__ */ __name(function(event) { + return "changedTouches" in event ? [event.changedTouches[0].clientX, event.changedTouches[0].clientY] : [0, 0]; + }, "getTouchXY"); + exports2.getTouchXY = getTouchXY; + var getDeltaXY = /* @__PURE__ */ __name(function(event) { + return [event.deltaX, event.deltaY]; + }, "getDeltaXY"); + exports2.getDeltaXY = getDeltaXY; + var extractRef = /* @__PURE__ */ __name(function(ref) { + return ref && "current" in ref ? ref.current : ref; + }, "extractRef"); + var deltaCompare = /* @__PURE__ */ __name(function(x, y) { + return x[0] === y[0] && x[1] === y[1]; + }, "deltaCompare"); + var generateStyle = /* @__PURE__ */ __name(function(id) { + return "\n .block-interactivity-".concat(id, " {pointer-events: none;}\n .allow-interactivity-").concat(id, " {pointer-events: all;}\n"); + }, "generateStyle"); + var idCounter = 0; + var lockStack = []; + function RemoveScrollSideCar(props) { + var shouldPreventQueue = React44.useRef([]); + var touchStartRef = React44.useRef([0, 0]); + var activeAxis = React44.useRef(); + var id = React44.useState(idCounter++)[0]; + var Style = React44.useState(function() { + return (0, react_style_singleton_1.styleSingleton)(); + })[0]; + var lastProps = React44.useRef(props); + React44.useEffect(function() { + lastProps.current = props; + }, [props]); + React44.useEffect(function() { + if (props.inert) { + document.body.classList.add("block-interactivity-".concat(id)); + var allow_1 = tslib_1.__spreadArray([props.lockRef.current], (props.shards || []).map(extractRef), true).filter(Boolean); + allow_1.forEach(function(el) { + return el.classList.add("allow-interactivity-".concat(id)); + }); + return function() { + document.body.classList.remove("block-interactivity-".concat(id)); + allow_1.forEach(function(el) { + return el.classList.remove("allow-interactivity-".concat(id)); + }); + }; + } + return; + }, [props.inert, props.lockRef.current, props.shards]); + var shouldCancelEvent = React44.useCallback(function(event, parent) { + if ("touches" in event && event.touches.length === 2) { + return !lastProps.current.allowPinchZoom; + } + var touch = (0, exports2.getTouchXY)(event); + var touchStart = touchStartRef.current; + var deltaX = "deltaX" in event ? event.deltaX : touchStart[0] - touch[0]; + var deltaY = "deltaY" in event ? event.deltaY : touchStart[1] - touch[1]; + var currentAxis; + var target = event.target; + var moveDirection = Math.abs(deltaX) > Math.abs(deltaY) ? "h" : "v"; + if ("touches" in event && moveDirection === "h" && target.type === "range") { + return false; + } + var canBeScrolledInMainDirection = (0, handleScroll_1.locationCouldBeScrolled)(moveDirection, target); + if (!canBeScrolledInMainDirection) { + return true; + } + if (canBeScrolledInMainDirection) { + currentAxis = moveDirection; + } else { + currentAxis = moveDirection === "v" ? "h" : "v"; + canBeScrolledInMainDirection = (0, handleScroll_1.locationCouldBeScrolled)(moveDirection, target); + } + if (!canBeScrolledInMainDirection) { + return false; + } + if (!activeAxis.current && "changedTouches" in event && (deltaX || deltaY)) { + activeAxis.current = currentAxis; + } + if (!currentAxis) { + return true; + } + var cancelingAxis = activeAxis.current || currentAxis; + return (0, handleScroll_1.handleScroll)(cancelingAxis, parent, event, cancelingAxis === "h" ? deltaX : deltaY, true); + }, []); + var shouldPrevent = React44.useCallback(function(_event) { + var event = _event; + if (!lockStack.length || lockStack[lockStack.length - 1] !== Style) { + return; + } + var delta = "deltaY" in event ? (0, exports2.getDeltaXY)(event) : (0, exports2.getTouchXY)(event); + var sourceEvent = shouldPreventQueue.current.filter(function(e) { + return e.name === event.type && e.target === event.target && deltaCompare(e.delta, delta); + })[0]; + if (sourceEvent && sourceEvent.should) { + if (event.cancelable) { + event.preventDefault(); + } + return; + } + if (!sourceEvent) { + var shardNodes = (lastProps.current.shards || []).map(extractRef).filter(Boolean).filter(function(node) { + return node.contains(event.target); + }); + var shouldStop = shardNodes.length > 0 ? shouldCancelEvent(event, shardNodes[0]) : !lastProps.current.noIsolation; + if (shouldStop) { + if (event.cancelable) { + event.preventDefault(); + } + } + } + }, []); + var shouldCancel = React44.useCallback(function(name, delta, target, should) { + var event = { name, delta, target, should }; + shouldPreventQueue.current.push(event); + setTimeout(function() { + shouldPreventQueue.current = shouldPreventQueue.current.filter(function(e) { + return e !== event; + }); + }, 1); + }, []); + var scrollTouchStart = React44.useCallback(function(event) { + touchStartRef.current = (0, exports2.getTouchXY)(event); + activeAxis.current = void 0; + }, []); + var scrollWheel = React44.useCallback(function(event) { + shouldCancel(event.type, (0, exports2.getDeltaXY)(event), event.target, shouldCancelEvent(event, props.lockRef.current)); + }, []); + var scrollTouchMove = React44.useCallback(function(event) { + shouldCancel(event.type, (0, exports2.getTouchXY)(event), event.target, shouldCancelEvent(event, props.lockRef.current)); + }, []); + React44.useEffect(function() { + lockStack.push(Style); + props.setCallbacks({ + onScrollCapture: scrollWheel, + onWheelCapture: scrollWheel, + onTouchMoveCapture: scrollTouchMove + }); + document.addEventListener("wheel", shouldPrevent, aggresiveCapture_1.nonPassive); + document.addEventListener("touchmove", shouldPrevent, aggresiveCapture_1.nonPassive); + document.addEventListener("touchstart", scrollTouchStart, aggresiveCapture_1.nonPassive); + return function() { + lockStack = lockStack.filter(function(inst) { + return inst !== Style; + }); + document.removeEventListener("wheel", shouldPrevent, aggresiveCapture_1.nonPassive); + document.removeEventListener("touchmove", shouldPrevent, aggresiveCapture_1.nonPassive); + document.removeEventListener("touchstart", scrollTouchStart, aggresiveCapture_1.nonPassive); + }; + }, []); + var removeScrollBar = props.removeScrollBar, inert = props.inert; + return React44.createElement( + React44.Fragment, + null, + inert ? React44.createElement(Style, { styles: generateStyle(id) }) : null, + removeScrollBar ? React44.createElement(react_remove_scroll_bar_1.RemoveScrollBar, { gapMode: "margin" }) : null + ); + } + __name(RemoveScrollSideCar, "RemoveScrollSideCar"); + exports2.RemoveScrollSideCar = RemoveScrollSideCar; + } +}); + +// node_modules/react-remove-scroll/dist/es5/sidecar.js +var require_sidecar = __commonJS({ + "node_modules/react-remove-scroll/dist/es5/sidecar.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + var use_sidecar_1 = require_es53(); + var SideEffect_1 = require_SideEffect(); + var medium_1 = require_medium2(); + exports2.default = (0, use_sidecar_1.exportSidecar)(medium_1.effectCar, SideEffect_1.RemoveScrollSideCar); + } +}); + +// node_modules/react-remove-scroll/dist/es5/Combination.js +var require_Combination = __commonJS({ + "node_modules/react-remove-scroll/dist/es5/Combination.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var React44 = tslib_1.__importStar(require("react")); + var UI_1 = require_UI(); + var sidecar_1 = tslib_1.__importDefault(require_sidecar()); + var ReactRemoveScroll = React44.forwardRef(function(props, ref) { + return React44.createElement(UI_1.RemoveScroll, tslib_1.__assign({}, props, { ref, sideCar: sidecar_1.default })); + }); + ReactRemoveScroll.classNames = UI_1.RemoveScroll.classNames; + exports2.default = ReactRemoveScroll; + } +}); + +// node_modules/react-remove-scroll/dist/es5/index.js +var require_es57 = __commonJS({ + "node_modules/react-remove-scroll/dist/es5/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.RemoveScroll = void 0; + var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); + var Combination_1 = tslib_1.__importDefault(require_Combination()); + exports2.RemoveScroll = Combination_1.default; + } +}); + +// node_modules/@babel/runtime/helpers/interopRequireDefault.js +var require_interopRequireDefault = __commonJS({ + "node_modules/@babel/runtime/helpers/interopRequireDefault.js"(exports2, module2) { + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + "default": obj + }; + } + __name(_interopRequireDefault, "_interopRequireDefault"); + module2.exports = _interopRequireDefault, module2.exports.__esModule = true, module2.exports["default"] = module2.exports; + } +}); + +// node_modules/react-native-web/dist/cjs/modules/AccessibilityUtil/isDisabled.js +var require_isDisabled = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/AccessibilityUtil/isDisabled.js"(exports2, module2) { + "use strict"; + exports2.__esModule = true; + exports2.default = void 0; + var isDisabled2 = /* @__PURE__ */ __name((props) => props.disabled || Array.isArray(props.accessibilityStates) && props.accessibilityStates.indexOf("disabled") > -1, "isDisabled"); + var _default = isDisabled2; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/modules/AccessibilityUtil/propsToAriaRole.js +var require_propsToAriaRole = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/AccessibilityUtil/propsToAriaRole.js"(exports2, module2) { + "use strict"; + exports2.__esModule = true; + exports2.default = void 0; + var accessibilityRoleToWebRole = { + adjustable: "slider", + button: "button", + header: "heading", + image: "img", + imagebutton: null, + keyboardkey: null, + label: null, + link: "link", + none: "presentation", + search: "search", + summary: "region", + text: null + }; + var propsToAriaRole = /* @__PURE__ */ __name((_ref) => { + var accessibilityRole = _ref.accessibilityRole, role = _ref.role; + var _role = role || accessibilityRole; + if (_role) { + var inferredRole = accessibilityRoleToWebRole[_role]; + if (inferredRole !== null) { + return inferredRole || _role; + } + } + }, "propsToAriaRole"); + var _default = propsToAriaRole; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/modules/AccessibilityUtil/propsToAccessibilityComponent.js +var require_propsToAccessibilityComponent = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/AccessibilityUtil/propsToAccessibilityComponent.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _propsToAriaRole = _interopRequireDefault(require_propsToAriaRole()); + var roleComponents = { + article: "article", + banner: "header", + blockquote: "blockquote", + button: "button", + code: "code", + complementary: "aside", + contentinfo: "footer", + deletion: "del", + emphasis: "em", + figure: "figure", + insertion: "ins", + form: "form", + list: "ul", + listitem: "li", + main: "main", + navigation: "nav", + paragraph: "p", + region: "section", + strong: "strong" + }; + var emptyObject = {}; + var propsToAccessibilityComponent = /* @__PURE__ */ __name(function propsToAccessibilityComponent2(props) { + if (props === void 0) { + props = emptyObject; + } + if (props.accessibilityRole === "label") { + return "label"; + } + var role = (0, _propsToAriaRole.default)(props); + if (role) { + if (role === "heading") { + var level = props.accessibilityLevel || props["aria-level"]; + if (level != null) { + return "h" + level; + } + return "h1"; + } + return roleComponents[role]; + } + }, "propsToAccessibilityComponent"); + var _default = propsToAccessibilityComponent; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/modules/AccessibilityUtil/index.js +var require_AccessibilityUtil = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/AccessibilityUtil/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _isDisabled = _interopRequireDefault(require_isDisabled()); + var _propsToAccessibilityComponent = _interopRequireDefault(require_propsToAccessibilityComponent()); + var _propsToAriaRole = _interopRequireDefault(require_propsToAriaRole()); + var AccessibilityUtil = { + isDisabled: _isDisabled.default, + propsToAccessibilityComponent: _propsToAccessibilityComponent.default, + propsToAriaRole: _propsToAriaRole.default + }; + var _default = AccessibilityUtil; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/@babel/runtime/helpers/typeof.js +var require_typeof = __commonJS({ + "node_modules/@babel/runtime/helpers/typeof.js"(exports2, module2) { + function _typeof(o) { + "@babel/helpers - typeof"; + return module2.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, module2.exports.__esModule = true, module2.exports["default"] = module2.exports, _typeof(o); + } + __name(_typeof, "_typeof"); + module2.exports = _typeof, module2.exports.__esModule = true, module2.exports["default"] = module2.exports; + } +}); + +// node_modules/@babel/runtime/helpers/toPrimitive.js +var require_toPrimitive = __commonJS({ + "node_modules/@babel/runtime/helpers/toPrimitive.js"(exports2, module2) { + var _typeof = require_typeof()["default"]; + function toPrimitive(t, r) { + if ("object" != _typeof(t) || !t) + return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != _typeof(i)) + return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); + } + __name(toPrimitive, "toPrimitive"); + module2.exports = toPrimitive, module2.exports.__esModule = true, module2.exports["default"] = module2.exports; + } +}); + +// node_modules/@babel/runtime/helpers/toPropertyKey.js +var require_toPropertyKey = __commonJS({ + "node_modules/@babel/runtime/helpers/toPropertyKey.js"(exports2, module2) { + var _typeof = require_typeof()["default"]; + var toPrimitive = require_toPrimitive(); + function toPropertyKey(t) { + var i = toPrimitive(t, "string"); + return "symbol" == _typeof(i) ? i : i + ""; + } + __name(toPropertyKey, "toPropertyKey"); + module2.exports = toPropertyKey, module2.exports.__esModule = true, module2.exports["default"] = module2.exports; + } +}); + +// node_modules/@babel/runtime/helpers/defineProperty.js +var require_defineProperty = __commonJS({ + "node_modules/@babel/runtime/helpers/defineProperty.js"(exports2, module2) { + var toPropertyKey = require_toPropertyKey(); + function _defineProperty(obj, key, value) { + key = toPropertyKey(key); + if (key in obj) { + Object.defineProperty(obj, key, { + value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + return obj; + } + __name(_defineProperty, "_defineProperty"); + module2.exports = _defineProperty, module2.exports.__esModule = true, module2.exports["default"] = module2.exports; + } +}); + +// node_modules/@babel/runtime/helpers/objectSpread2.js +var require_objectSpread2 = __commonJS({ + "node_modules/@babel/runtime/helpers/objectSpread2.js"(exports2, module2) { + var defineProperty = require_defineProperty(); + function ownKeys(e, r) { + var t = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t.push.apply(t, o); + } + return t; + } + __name(ownKeys, "ownKeys"); + function _objectSpread2(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys(Object(t), true).forEach(function(r2) { + defineProperty(e, r2, t[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); + }); + } + return e; + } + __name(_objectSpread2, "_objectSpread2"); + module2.exports = _objectSpread2, module2.exports.__esModule = true, module2.exports["default"] = module2.exports; + } +}); + +// node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js +var require_objectWithoutPropertiesLoose = __commonJS({ + "node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js"(exports2, module2) { + function _objectWithoutPropertiesLoose(source, excluded) { + if (source == null) + return {}; + var target = {}; + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + if (excluded.indexOf(key) >= 0) + continue; + target[key] = source[key]; + } + } + return target; + } + __name(_objectWithoutPropertiesLoose, "_objectWithoutPropertiesLoose"); + module2.exports = _objectWithoutPropertiesLoose, module2.exports.__esModule = true, module2.exports["default"] = module2.exports; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/unitlessNumbers.js +var require_unitlessNumbers = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/unitlessNumbers.js"(exports2, module2) { + "use strict"; + exports2.__esModule = true; + exports2.default = void 0; + var unitlessNumbers = { + animationIterationCount: true, + aspectRatio: true, + borderImageOutset: true, + borderImageSlice: true, + borderImageWidth: true, + boxFlex: true, + boxFlexGroup: true, + boxOrdinalGroup: true, + columnCount: true, + flex: true, + flexGrow: true, + flexOrder: true, + flexPositive: true, + flexShrink: true, + flexNegative: true, + fontWeight: true, + gridRow: true, + gridRowEnd: true, + gridRowGap: true, + gridRowStart: true, + gridColumn: true, + gridColumnEnd: true, + gridColumnGap: true, + gridColumnStart: true, + lineClamp: true, + opacity: true, + order: true, + orphans: true, + tabSize: true, + widows: true, + zIndex: true, + zoom: true, + // SVG-related + fillOpacity: true, + floodOpacity: true, + stopOpacity: true, + strokeDasharray: true, + strokeDashoffset: true, + strokeMiterlimit: true, + strokeOpacity: true, + strokeWidth: true, + // transform types + scale: true, + scaleX: true, + scaleY: true, + scaleZ: true, + // RN properties + shadowOpacity: true + }; + var prefixes = ["ms", "Moz", "O", "Webkit"]; + var prefixKey = /* @__PURE__ */ __name((prefix, key) => { + return prefix + key.charAt(0).toUpperCase() + key.substring(1); + }, "prefixKey"); + Object.keys(unitlessNumbers).forEach((prop) => { + prefixes.forEach((prefix) => { + unitlessNumbers[prefixKey(prefix, prop)] = unitlessNumbers[prop]; + }); + }); + var _default = unitlessNumbers; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/modules/isWebColor/index.js +var require_isWebColor = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/isWebColor/index.js"(exports2, module2) { + "use strict"; + exports2.__esModule = true; + exports2.default = void 0; + var isWebColor = /* @__PURE__ */ __name((color) => color === "currentcolor" || color === "currentColor" || color === "inherit" || color.indexOf("var(") === 0, "isWebColor"); + var _default = isWebColor; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/@react-native/normalize-colors/index.js +var require_normalize_colors = __commonJS({ + "node_modules/@react-native/normalize-colors/index.js"(exports2, module2) { + "use strict"; + function normalizeColor(color) { + if (typeof color === "number") { + if (color >>> 0 === color && color >= 0 && color <= 4294967295) { + return color; + } + return null; + } + if (typeof color !== "string") { + return null; + } + const matchers = getMatchers(); + let match; + if (match = matchers.hex6.exec(color)) { + return parseInt(match[1] + "ff", 16) >>> 0; + } + const colorFromKeyword = normalizeKeyword(color); + if (colorFromKeyword != null) { + return colorFromKeyword; + } + if (match = matchers.rgb.exec(color)) { + return (parse255(match[1]) << 24 | // r + parse255(match[2]) << 16 | // g + parse255(match[3]) << 8 | // b + 255) >>> // a + 0; + } + if (match = matchers.rgba.exec(color)) { + if (match[6] !== void 0) { + return (parse255(match[6]) << 24 | // r + parse255(match[7]) << 16 | // g + parse255(match[8]) << 8 | // b + parse1(match[9])) >>> // a + 0; + } + return (parse255(match[2]) << 24 | // r + parse255(match[3]) << 16 | // g + parse255(match[4]) << 8 | // b + parse1(match[5])) >>> // a + 0; + } + if (match = matchers.hex3.exec(color)) { + return parseInt( + match[1] + match[1] + // r + match[2] + match[2] + // g + match[3] + match[3] + // b + "ff", + // a + 16 + ) >>> 0; + } + if (match = matchers.hex8.exec(color)) { + return parseInt(match[1], 16) >>> 0; + } + if (match = matchers.hex4.exec(color)) { + return parseInt( + match[1] + match[1] + // r + match[2] + match[2] + // g + match[3] + match[3] + // b + match[4] + match[4], + // a + 16 + ) >>> 0; + } + if (match = matchers.hsl.exec(color)) { + return (hslToRgb( + parse360(match[1]), + // h + parsePercentage(match[2]), + // s + parsePercentage(match[3]) + // l + ) | 255) >>> // a + 0; + } + if (match = matchers.hsla.exec(color)) { + if (match[6] !== void 0) { + return (hslToRgb( + parse360(match[6]), + // h + parsePercentage(match[7]), + // s + parsePercentage(match[8]) + // l + ) | parse1(match[9])) >>> // a + 0; + } + return (hslToRgb( + parse360(match[2]), + // h + parsePercentage(match[3]), + // s + parsePercentage(match[4]) + // l + ) | parse1(match[5])) >>> // a + 0; + } + if (match = matchers.hwb.exec(color)) { + return (hwbToRgb( + parse360(match[1]), + // h + parsePercentage(match[2]), + // w + parsePercentage(match[3]) + // b + ) | 255) >>> // a + 0; + } + return null; + } + __name(normalizeColor, "normalizeColor"); + function hue2rgb(p, q, t) { + if (t < 0) { + t += 1; + } + if (t > 1) { + t -= 1; + } + if (t < 1 / 6) { + return p + (q - p) * 6 * t; + } + if (t < 1 / 2) { + return q; + } + if (t < 2 / 3) { + return p + (q - p) * (2 / 3 - t) * 6; + } + return p; + } + __name(hue2rgb, "hue2rgb"); + function hslToRgb(h, s, l) { + const q = l < 0.5 ? l * (1 + s) : l + s - l * s; + const p = 2 * l - q; + const r = hue2rgb(p, q, h + 1 / 3); + const g = hue2rgb(p, q, h); + const b = hue2rgb(p, q, h - 1 / 3); + return Math.round(r * 255) << 24 | Math.round(g * 255) << 16 | Math.round(b * 255) << 8; + } + __name(hslToRgb, "hslToRgb"); + function hwbToRgb(h, w, b) { + if (w + b >= 1) { + const gray = Math.round(w * 255 / (w + b)); + return gray << 24 | gray << 16 | gray << 8; + } + const red = hue2rgb(0, 1, h + 1 / 3) * (1 - w - b) + w; + const green = hue2rgb(0, 1, h) * (1 - w - b) + w; + const blue = hue2rgb(0, 1, h - 1 / 3) * (1 - w - b) + w; + return Math.round(red * 255) << 24 | Math.round(green * 255) << 16 | Math.round(blue * 255) << 8; + } + __name(hwbToRgb, "hwbToRgb"); + var NUMBER = "[-+]?\\d*\\.?\\d+"; + var PERCENTAGE = NUMBER + "%"; + function call(...args) { + return "\\(\\s*(" + args.join(")\\s*,?\\s*(") + ")\\s*\\)"; + } + __name(call, "call"); + function callWithSlashSeparator(...args) { + return "\\(\\s*(" + args.slice(0, args.length - 1).join(")\\s*,?\\s*(") + ")\\s*/\\s*(" + args[args.length - 1] + ")\\s*\\)"; + } + __name(callWithSlashSeparator, "callWithSlashSeparator"); + function commaSeparatedCall(...args) { + return "\\(\\s*(" + args.join(")\\s*,\\s*(") + ")\\s*\\)"; + } + __name(commaSeparatedCall, "commaSeparatedCall"); + var cachedMatchers; + function getMatchers() { + if (cachedMatchers === void 0) { + cachedMatchers = { + rgb: new RegExp("rgb" + call(NUMBER, NUMBER, NUMBER)), + rgba: new RegExp( + "rgba(" + commaSeparatedCall(NUMBER, NUMBER, NUMBER, NUMBER) + "|" + callWithSlashSeparator(NUMBER, NUMBER, NUMBER, NUMBER) + ")" + ), + hsl: new RegExp("hsl" + call(NUMBER, PERCENTAGE, PERCENTAGE)), + hsla: new RegExp( + "hsla(" + commaSeparatedCall(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER) + "|" + callWithSlashSeparator(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER) + ")" + ), + hwb: new RegExp("hwb" + call(NUMBER, PERCENTAGE, PERCENTAGE)), + hex3: /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, + hex4: /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, + hex6: /^#([0-9a-fA-F]{6})$/, + hex8: /^#([0-9a-fA-F]{8})$/ + }; + } + return cachedMatchers; + } + __name(getMatchers, "getMatchers"); + function parse255(str) { + const int = parseInt(str, 10); + if (int < 0) { + return 0; + } + if (int > 255) { + return 255; + } + return int; + } + __name(parse255, "parse255"); + function parse360(str) { + const int = parseFloat(str); + return (int % 360 + 360) % 360 / 360; + } + __name(parse360, "parse360"); + function parse1(str) { + const num = parseFloat(str); + if (num < 0) { + return 0; + } + if (num > 1) { + return 255; + } + return Math.round(num * 255); + } + __name(parse1, "parse1"); + function parsePercentage(str) { + const int = parseFloat(str); + if (int < 0) { + return 0; + } + if (int > 100) { + return 1; + } + return int / 100; + } + __name(parsePercentage, "parsePercentage"); + function normalizeKeyword(name) { + switch (name) { + case "transparent": + return 0; + case "aliceblue": + return 4042850303; + case "antiquewhite": + return 4209760255; + case "aqua": + return 16777215; + case "aquamarine": + return 2147472639; + case "azure": + return 4043309055; + case "beige": + return 4126530815; + case "bisque": + return 4293182719; + case "black": + return 255; + case "blanchedalmond": + return 4293643775; + case "blue": + return 65535; + case "blueviolet": + return 2318131967; + case "brown": + return 2771004159; + case "burlywood": + return 3736635391; + case "burntsienna": + return 3934150143; + case "cadetblue": + return 1604231423; + case "chartreuse": + return 2147418367; + case "chocolate": + return 3530104575; + case "coral": + return 4286533887; + case "cornflowerblue": + return 1687547391; + case "cornsilk": + return 4294499583; + case "crimson": + return 3692313855; + case "cyan": + return 16777215; + case "darkblue": + return 35839; + case "darkcyan": + return 9145343; + case "darkgoldenrod": + return 3095792639; + case "darkgray": + return 2846468607; + case "darkgreen": + return 6553855; + case "darkgrey": + return 2846468607; + case "darkkhaki": + return 3182914559; + case "darkmagenta": + return 2332068863; + case "darkolivegreen": + return 1433087999; + case "darkorange": + return 4287365375; + case "darkorchid": + return 2570243327; + case "darkred": + return 2332033279; + case "darksalmon": + return 3918953215; + case "darkseagreen": + return 2411499519; + case "darkslateblue": + return 1211993087; + case "darkslategray": + return 793726975; + case "darkslategrey": + return 793726975; + case "darkturquoise": + return 13554175; + case "darkviolet": + return 2483082239; + case "deeppink": + return 4279538687; + case "deepskyblue": + return 12582911; + case "dimgray": + return 1768516095; + case "dimgrey": + return 1768516095; + case "dodgerblue": + return 512819199; + case "firebrick": + return 2988581631; + case "floralwhite": + return 4294635775; + case "forestgreen": + return 579543807; + case "fuchsia": + return 4278255615; + case "gainsboro": + return 3705462015; + case "ghostwhite": + return 4177068031; + case "gold": + return 4292280575; + case "goldenrod": + return 3668254975; + case "gray": + return 2155905279; + case "green": + return 8388863; + case "greenyellow": + return 2919182335; + case "grey": + return 2155905279; + case "honeydew": + return 4043305215; + case "hotpink": + return 4285117695; + case "indianred": + return 3445382399; + case "indigo": + return 1258324735; + case "ivory": + return 4294963455; + case "khaki": + return 4041641215; + case "lavender": + return 3873897215; + case "lavenderblush": + return 4293981695; + case "lawngreen": + return 2096890111; + case "lemonchiffon": + return 4294626815; + case "lightblue": + return 2916673279; + case "lightcoral": + return 4034953471; + case "lightcyan": + return 3774873599; + case "lightgoldenrodyellow": + return 4210742015; + case "lightgray": + return 3553874943; + case "lightgreen": + return 2431553791; + case "lightgrey": + return 3553874943; + case "lightpink": + return 4290167295; + case "lightsalmon": + return 4288707327; + case "lightseagreen": + return 548580095; + case "lightskyblue": + return 2278488831; + case "lightslategray": + return 2005441023; + case "lightslategrey": + return 2005441023; + case "lightsteelblue": + return 2965692159; + case "lightyellow": + return 4294959359; + case "lime": + return 16711935; + case "limegreen": + return 852308735; + case "linen": + return 4210091775; + case "magenta": + return 4278255615; + case "maroon": + return 2147483903; + case "mediumaquamarine": + return 1724754687; + case "mediumblue": + return 52735; + case "mediumorchid": + return 3126187007; + case "mediumpurple": + return 2473647103; + case "mediumseagreen": + return 1018393087; + case "mediumslateblue": + return 2070474495; + case "mediumspringgreen": + return 16423679; + case "mediumturquoise": + return 1221709055; + case "mediumvioletred": + return 3340076543; + case "midnightblue": + return 421097727; + case "mintcream": + return 4127193855; + case "mistyrose": + return 4293190143; + case "moccasin": + return 4293178879; + case "navajowhite": + return 4292783615; + case "navy": + return 33023; + case "oldlace": + return 4260751103; + case "olive": + return 2155872511; + case "olivedrab": + return 1804477439; + case "orange": + return 4289003775; + case "orangered": + return 4282712319; + case "orchid": + return 3664828159; + case "palegoldenrod": + return 4008225535; + case "palegreen": + return 2566625535; + case "paleturquoise": + return 2951671551; + case "palevioletred": + return 3681588223; + case "papayawhip": + return 4293907967; + case "peachpuff": + return 4292524543; + case "peru": + return 3448061951; + case "pink": + return 4290825215; + case "plum": + return 3718307327; + case "powderblue": + return 2967529215; + case "purple": + return 2147516671; + case "rebeccapurple": + return 1714657791; + case "red": + return 4278190335; + case "rosybrown": + return 3163525119; + case "royalblue": + return 1097458175; + case "saddlebrown": + return 2336560127; + case "salmon": + return 4202722047; + case "sandybrown": + return 4104413439; + case "seagreen": + return 780883967; + case "seashell": + return 4294307583; + case "sienna": + return 2689740287; + case "silver": + return 3233857791; + case "skyblue": + return 2278484991; + case "slateblue": + return 1784335871; + case "slategray": + return 1887473919; + case "slategrey": + return 1887473919; + case "snow": + return 4294638335; + case "springgreen": + return 16744447; + case "steelblue": + return 1182971135; + case "tan": + return 3535047935; + case "teal": + return 8421631; + case "thistle": + return 3636451583; + case "tomato": + return 4284696575; + case "turquoise": + return 1088475391; + case "violet": + return 4001558271; + case "wheat": + return 4125012991; + case "white": + return 4294967295; + case "whitesmoke": + return 4126537215; + case "yellow": + return 4294902015; + case "yellowgreen": + return 2597139199; + } + return null; + } + __name(normalizeKeyword, "normalizeKeyword"); + module2.exports = normalizeColor; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/processColor/index.js +var require_processColor = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/processColor/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _normalizeColors = _interopRequireDefault(require_normalize_colors()); + var processColor = /* @__PURE__ */ __name((color) => { + if (color === void 0 || color === null) { + return color; + } + var int32Color = (0, _normalizeColors.default)(color); + if (int32Color === void 0 || int32Color === null) { + return void 0; + } + int32Color = (int32Color << 24 | int32Color >>> 8) >>> 0; + return int32Color; + }, "processColor"); + var _default = processColor; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/normalizeColor.js +var require_normalizeColor = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/normalizeColor.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _isWebColor = _interopRequireDefault(require_isWebColor()); + var _processColor = _interopRequireDefault(require_processColor()); + var normalizeColor = /* @__PURE__ */ __name(function normalizeColor2(color, opacity) { + if (opacity === void 0) { + opacity = 1; + } + if (color == null) + return; + if (typeof color === "string" && (0, _isWebColor.default)(color)) { + return color; + } + var colorInt = (0, _processColor.default)(color); + if (colorInt != null) { + var r = colorInt >> 16 & 255; + var g = colorInt >> 8 & 255; + var b = colorInt & 255; + var a = (colorInt >> 24 & 255) / 255; + var alpha = (a * opacity).toFixed(2); + return "rgba(" + r + "," + g + "," + b + "," + alpha + ")"; + } + }, "normalizeColor"); + var _default = normalizeColor; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/normalizeValueWithProperty.js +var require_normalizeValueWithProperty = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/normalizeValueWithProperty.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = normalizeValueWithProperty; + var _unitlessNumbers = _interopRequireDefault(require_unitlessNumbers()); + var _normalizeColor = _interopRequireDefault(require_normalizeColor()); + var colorProps = { + backgroundColor: true, + borderColor: true, + borderTopColor: true, + borderRightColor: true, + borderBottomColor: true, + borderLeftColor: true, + color: true, + shadowColor: true, + textDecorationColor: true, + textShadowColor: true + }; + function normalizeValueWithProperty(value, property) { + var returnValue = value; + if ((property == null || !_unitlessNumbers.default[property]) && typeof value === "number") { + returnValue = value + "px"; + } else if (property != null && colorProps[property]) { + returnValue = (0, _normalizeColor.default)(value); + } + return returnValue; + } + __name(normalizeValueWithProperty, "normalizeValueWithProperty"); + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/modules/canUseDom/index.js +var require_canUseDom = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/canUseDom/index.js"(exports2, module2) { + "use strict"; + exports2.__esModule = true; + exports2.default = void 0; + var canUseDOM = !!(typeof window !== "undefined" && window.document && window.document.createElement); + var _default = canUseDOM; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/createReactDOMStyle.js +var require_createReactDOMStyle = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/createReactDOMStyle.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _normalizeValueWithProperty = _interopRequireDefault(require_normalizeValueWithProperty()); + var _canUseDom = _interopRequireDefault(require_canUseDom()); + var emptyObject = {}; + var supportsCSS3TextDecoration = !_canUseDom.default || window.CSS != null && window.CSS.supports != null && (window.CSS.supports("text-decoration-line", "none") || window.CSS.supports("-webkit-text-decoration-line", "none")); + var MONOSPACE_FONT_STACK = "monospace,monospace"; + var SYSTEM_FONT_STACK = '-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif'; + var STYLE_SHORT_FORM_EXPANSIONS = { + borderColor: ["borderTopColor", "borderRightColor", "borderBottomColor", "borderLeftColor"], + borderBlockColor: ["borderTopColor", "borderBottomColor"], + borderInlineColor: ["borderRightColor", "borderLeftColor"], + borderRadius: ["borderTopLeftRadius", "borderTopRightRadius", "borderBottomRightRadius", "borderBottomLeftRadius"], + borderStyle: ["borderTopStyle", "borderRightStyle", "borderBottomStyle", "borderLeftStyle"], + borderBlockStyle: ["borderTopStyle", "borderBottomStyle"], + borderInlineStyle: ["borderRightStyle", "borderLeftStyle"], + borderWidth: ["borderTopWidth", "borderRightWidth", "borderBottomWidth", "borderLeftWidth"], + borderBlockWidth: ["borderTopWidth", "borderBottomWidth"], + borderInlineWidth: ["borderRightWidth", "borderLeftWidth"], + insetBlock: ["top", "bottom"], + insetInline: ["left", "right"], + marginBlock: ["marginTop", "marginBottom"], + marginInline: ["marginRight", "marginLeft"], + paddingBlock: ["paddingTop", "paddingBottom"], + paddingInline: ["paddingRight", "paddingLeft"], + overflow: ["overflowX", "overflowY"], + overscrollBehavior: ["overscrollBehaviorX", "overscrollBehaviorY"], + borderBlockStartColor: ["borderTopColor"], + borderBlockStartStyle: ["borderTopStyle"], + borderBlockStartWidth: ["borderTopWidth"], + borderBlockEndColor: ["borderBottomColor"], + borderBlockEndStyle: ["borderBottomStyle"], + borderBlockEndWidth: ["borderBottomWidth"], + //borderInlineStartColor: ['borderLeftColor'], + //borderInlineStartStyle: ['borderLeftStyle'], + //borderInlineStartWidth: ['borderLeftWidth'], + //borderInlineEndColor: ['borderRightColor'], + //borderInlineEndStyle: ['borderRightStyle'], + //borderInlineEndWidth: ['borderRightWidth'], + borderEndStartRadius: ["borderBottomLeftRadius"], + borderEndEndRadius: ["borderBottomRightRadius"], + borderStartStartRadius: ["borderTopLeftRadius"], + borderStartEndRadius: ["borderTopRightRadius"], + insetBlockEnd: ["bottom"], + insetBlockStart: ["top"], + //insetInlineEnd: ['right'], + //insetInlineStart: ['left'], + marginBlockStart: ["marginTop"], + marginBlockEnd: ["marginBottom"], + //marginInlineStart: ['marginLeft'], + //marginInlineEnd: ['marginRight'], + paddingBlockStart: ["paddingTop"], + paddingBlockEnd: ["paddingBottom"] + //paddingInlineStart: ['marginLeft'], + //paddingInlineEnd: ['marginRight'], + }; + var createReactDOMStyle = /* @__PURE__ */ __name((style, isInline) => { + if (!style) { + return emptyObject; + } + var resolvedStyle = {}; + var _loop = /* @__PURE__ */ __name(function _loop2() { + var value = style[prop]; + if ( + // Ignore everything with a null value + value == null + ) { + return "continue"; + } + if (prop === "backgroundClip") { + if (value === "text") { + resolvedStyle.backgroundClip = value; + resolvedStyle.WebkitBackgroundClip = value; + } + } else if (prop === "flex") { + if (value === -1) { + resolvedStyle.flexGrow = 0; + resolvedStyle.flexShrink = 1; + resolvedStyle.flexBasis = "auto"; + } else { + resolvedStyle.flex = value; + } + } else if (prop === "font") { + resolvedStyle[prop] = value.replace("System", SYSTEM_FONT_STACK); + } else if (prop === "fontFamily") { + if (value.indexOf("System") > -1) { + var stack = value.split(/,\s*/); + stack[stack.indexOf("System")] = SYSTEM_FONT_STACK; + resolvedStyle[prop] = stack.join(","); + } else if (value === "monospace") { + resolvedStyle[prop] = MONOSPACE_FONT_STACK; + } else { + resolvedStyle[prop] = value; + } + } else if (prop === "textDecorationLine") { + if (!supportsCSS3TextDecoration) { + resolvedStyle.textDecoration = value; + } else { + resolvedStyle.textDecorationLine = value; + } + } else if (prop === "writingDirection") { + resolvedStyle.direction = value; + } else { + var _value = (0, _normalizeValueWithProperty.default)(style[prop], prop); + var longFormProperties = STYLE_SHORT_FORM_EXPANSIONS[prop]; + if (isInline && prop === "inset") { + if (style.insetInline == null) { + resolvedStyle.left = _value; + resolvedStyle.right = _value; + } + if (style.insetBlock == null) { + resolvedStyle.top = _value; + resolvedStyle.bottom = _value; + } + } else if (isInline && prop === "margin") { + if (style.marginInline == null) { + resolvedStyle.marginLeft = _value; + resolvedStyle.marginRight = _value; + } + if (style.marginBlock == null) { + resolvedStyle.marginTop = _value; + resolvedStyle.marginBottom = _value; + } + } else if (isInline && prop === "padding") { + if (style.paddingInline == null) { + resolvedStyle.paddingLeft = _value; + resolvedStyle.paddingRight = _value; + } + if (style.paddingBlock == null) { + resolvedStyle.paddingTop = _value; + resolvedStyle.paddingBottom = _value; + } + } else if (longFormProperties) { + longFormProperties.forEach((longForm, i) => { + if (style[longForm] == null) { + resolvedStyle[longForm] = _value; + } + }); + } else { + resolvedStyle[prop] = _value; + } + } + }, "_loop"); + for (var prop in style) { + var _ret = _loop(); + if (_ret === "continue") + continue; + } + return resolvedStyle; + }, "createReactDOMStyle"); + var _default = createReactDOMStyle; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/hash.js +var require_hash = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/hash.js"(exports2, module2) { + "use strict"; + exports2.__esModule = true; + exports2.default = void 0; + function murmurhash2_32_gc(str, seed) { + var l = str.length, h = seed ^ l, i = 0, k; + while (l >= 4) { + k = str.charCodeAt(i) & 255 | (str.charCodeAt(++i) & 255) << 8 | (str.charCodeAt(++i) & 255) << 16 | (str.charCodeAt(++i) & 255) << 24; + k = (k & 65535) * 1540483477 + (((k >>> 16) * 1540483477 & 65535) << 16); + k ^= k >>> 24; + k = (k & 65535) * 1540483477 + (((k >>> 16) * 1540483477 & 65535) << 16); + h = (h & 65535) * 1540483477 + (((h >>> 16) * 1540483477 & 65535) << 16) ^ k; + l -= 4; + ++i; + } + switch (l) { + case 3: + h ^= (str.charCodeAt(i + 2) & 255) << 16; + case 2: + h ^= (str.charCodeAt(i + 1) & 255) << 8; + case 1: + h ^= str.charCodeAt(i) & 255; + h = (h & 65535) * 1540483477 + (((h >>> 16) * 1540483477 & 65535) << 16); + } + h ^= h >>> 13; + h = (h & 65535) * 1540483477 + (((h >>> 16) * 1540483477 & 65535) << 16); + h ^= h >>> 15; + return h >>> 0; + } + __name(murmurhash2_32_gc, "murmurhash2_32_gc"); + var hash = /* @__PURE__ */ __name((str) => murmurhash2_32_gc(str, 1).toString(36), "hash"); + var _default = hash; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/hyphenateStyleName.js +var require_hyphenateStyleName = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/hyphenateStyleName.js"(exports2, module2) { + "use strict"; + exports2.__esModule = true; + exports2.default = void 0; + var uppercasePattern = /[A-Z]/g; + var msPattern = /^ms-/; + var cache3 = {}; + function toHyphenLower(match) { + return "-" + match.toLowerCase(); + } + __name(toHyphenLower, "toHyphenLower"); + function hyphenateStyleName(name) { + if (name in cache3) { + return cache3[name]; + } + var hName = name.replace(uppercasePattern, toHyphenLower); + return cache3[name] = msPattern.test(hName) ? "-" + hName : hName; + } + __name(hyphenateStyleName, "hyphenateStyleName"); + var _default = hyphenateStyleName; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/inline-style-prefixer/lib/utils/capitalizeString.js +var require_capitalizeString = __commonJS({ + "node_modules/inline-style-prefixer/lib/utils/capitalizeString.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.default = capitalizeString; + function capitalizeString(str) { + return str.charAt(0).toUpperCase() + str.slice(1); + } + __name(capitalizeString, "capitalizeString"); + } +}); + +// node_modules/inline-style-prefixer/lib/utils/prefixProperty.js +var require_prefixProperty = __commonJS({ + "node_modules/inline-style-prefixer/lib/utils/prefixProperty.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.default = prefixProperty; + var _capitalizeString = require_capitalizeString(); + var _capitalizeString2 = _interopRequireDefault(_capitalizeString); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; + } + __name(_interopRequireDefault, "_interopRequireDefault"); + function prefixProperty(prefixProperties, property, style) { + var requiredPrefixes = prefixProperties[property]; + if (requiredPrefixes && style.hasOwnProperty(property)) { + var capitalizedProperty = (0, _capitalizeString2.default)(property); + for (var i = 0; i < requiredPrefixes.length; ++i) { + var prefixedProperty = requiredPrefixes[i] + capitalizedProperty; + if (!style[prefixedProperty]) { + style[prefixedProperty] = style[property]; + } + } + } + return style; + } + __name(prefixProperty, "prefixProperty"); + } +}); + +// node_modules/inline-style-prefixer/lib/utils/prefixValue.js +var require_prefixValue = __commonJS({ + "node_modules/inline-style-prefixer/lib/utils/prefixValue.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.default = prefixValue; + function prefixValue(plugins, property, value, style, metaData) { + for (var i = 0, len = plugins.length; i < len; ++i) { + var processedValue = plugins[i](property, value, style, metaData); + if (processedValue) { + return processedValue; + } + } + } + __name(prefixValue, "prefixValue"); + } +}); + +// node_modules/inline-style-prefixer/lib/utils/addNewValuesOnly.js +var require_addNewValuesOnly = __commonJS({ + "node_modules/inline-style-prefixer/lib/utils/addNewValuesOnly.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.default = addNewValuesOnly; + function addIfNew(list, value) { + if (list.indexOf(value) === -1) { + list.push(value); + } + } + __name(addIfNew, "addIfNew"); + function addNewValuesOnly(list, values) { + if (Array.isArray(values)) { + for (var i = 0, len = values.length; i < len; ++i) { + addIfNew(list, values[i]); + } + } else { + addIfNew(list, values); + } + } + __name(addNewValuesOnly, "addNewValuesOnly"); + } +}); + +// node_modules/inline-style-prefixer/lib/utils/isObject.js +var require_isObject = __commonJS({ + "node_modules/inline-style-prefixer/lib/utils/isObject.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.default = isObject; + function isObject(value) { + return value instanceof Object && !Array.isArray(value); + } + __name(isObject, "isObject"); + } +}); + +// node_modules/inline-style-prefixer/lib/createPrefixer.js +var require_createPrefixer = __commonJS({ + "node_modules/inline-style-prefixer/lib/createPrefixer.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.default = createPrefixer; + var _prefixProperty = require_prefixProperty(); + var _prefixProperty2 = _interopRequireDefault(_prefixProperty); + var _prefixValue = require_prefixValue(); + var _prefixValue2 = _interopRequireDefault(_prefixValue); + var _addNewValuesOnly = require_addNewValuesOnly(); + var _addNewValuesOnly2 = _interopRequireDefault(_addNewValuesOnly); + var _isObject = require_isObject(); + var _isObject2 = _interopRequireDefault(_isObject); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; + } + __name(_interopRequireDefault, "_interopRequireDefault"); + function createPrefixer(_ref) { + var prefixMap = _ref.prefixMap, plugins = _ref.plugins; + return /* @__PURE__ */ __name(function prefix(style) { + for (var property in style) { + var value = style[property]; + if ((0, _isObject2.default)(value)) { + style[property] = prefix(value); + } else if (Array.isArray(value)) { + var combinedValue = []; + for (var i = 0, len = value.length; i < len; ++i) { + var processedValue = (0, _prefixValue2.default)(plugins, property, value[i], style, prefixMap); + (0, _addNewValuesOnly2.default)(combinedValue, processedValue || value[i]); + } + if (combinedValue.length > 0) { + style[property] = combinedValue; + } + } else { + var _processedValue = (0, _prefixValue2.default)(plugins, property, value, style, prefixMap); + if (_processedValue) { + style[property] = _processedValue; + } + style = (0, _prefixProperty2.default)(prefixMap, property, style); + } + } + return style; + }, "prefix"); + } + __name(createPrefixer, "createPrefixer"); + } +}); + +// node_modules/inline-style-prefixer/lib/plugins/backgroundClip.js +var require_backgroundClip = __commonJS({ + "node_modules/inline-style-prefixer/lib/plugins/backgroundClip.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.default = backgroundClip; + function backgroundClip() { + return null; + } + __name(backgroundClip, "backgroundClip"); + } +}); + +// node_modules/css-in-js-utils/lib/assignStyle.js +var require_assignStyle = __commonJS({ + "node_modules/css-in-js-utils/lib/assignStyle.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2["default"] = assignStyle; + function _typeof(obj) { + "@babel/helpers - typeof"; + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + _typeof = /* @__PURE__ */ __name(function _typeof2(obj2) { + return typeof obj2; + }, "_typeof"); + } else { + _typeof = /* @__PURE__ */ __name(function _typeof2(obj2) { + return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; + }, "_typeof"); + } + return _typeof(obj); + } + __name(_typeof, "_typeof"); + function _toConsumableArray(arr) { + return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); + } + __name(_toConsumableArray, "_toConsumableArray"); + function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + __name(_nonIterableSpread, "_nonIterableSpread"); + function _unsupportedIterableToArray(o, minLen) { + if (!o) + return; + if (typeof o === "string") + return _arrayLikeToArray(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) + n = o.constructor.name; + if (n === "Map" || n === "Set") + return Array.from(n); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) + return _arrayLikeToArray(o, minLen); + } + __name(_unsupportedIterableToArray, "_unsupportedIterableToArray"); + function _iterableToArray(iter) { + if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) + return Array.from(iter); + } + __name(_iterableToArray, "_iterableToArray"); + function _arrayWithoutHoles(arr) { + if (Array.isArray(arr)) + return _arrayLikeToArray(arr); + } + __name(_arrayWithoutHoles, "_arrayWithoutHoles"); + function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) + len = arr.length; + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; + } + return arr2; + } + __name(_arrayLikeToArray, "_arrayLikeToArray"); + function filterUniqueArray(arr) { + return arr.filter(function(val, index3) { + return arr.lastIndexOf(val) === index3; + }); + } + __name(filterUniqueArray, "filterUniqueArray"); + function assignStyle(base) { + for (var i = 0, len = arguments.length <= 1 ? 0 : arguments.length - 1; i < len; ++i) { + var style = i + 1 < 1 || arguments.length <= i + 1 ? void 0 : arguments[i + 1]; + for (var property in style) { + var value = style[property]; + var baseValue = base[property]; + if (baseValue && value) { + if (Array.isArray(baseValue)) { + base[property] = filterUniqueArray(baseValue.concat(value)); + continue; + } + if (Array.isArray(value)) { + base[property] = filterUniqueArray([baseValue].concat(_toConsumableArray(value))); + continue; + } + if (_typeof(value) === "object") { + base[property] = assignStyle({}, baseValue, value); + continue; + } + } + base[property] = value; + } + } + return base; + } + __name(assignStyle, "assignStyle"); + } +}); + +// node_modules/css-in-js-utils/lib/camelCaseProperty.js +var require_camelCaseProperty = __commonJS({ + "node_modules/css-in-js-utils/lib/camelCaseProperty.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2["default"] = camelCaseProperty; + var DASH = /-([a-z])/g; + var MS = /^Ms/g; + var cache3 = {}; + function toUpper(match) { + return match[1].toUpperCase(); + } + __name(toUpper, "toUpper"); + function camelCaseProperty(property) { + if (cache3.hasOwnProperty(property)) { + return cache3[property]; + } + var camelProp = property.replace(DASH, toUpper).replace(MS, "ms"); + cache3[property] = camelProp; + return camelProp; + } + __name(camelCaseProperty, "camelCaseProperty"); + } +}); + +// node_modules/hyphenate-style-name/index.cjs.js +var require_index_cjs = __commonJS({ + "node_modules/hyphenate-style-name/index.cjs.js"(exports2, module2) { + "use strict"; + var uppercasePattern = /[A-Z]/g; + var msPattern = /^ms-/; + var cache3 = {}; + function toHyphenLower(match) { + return "-" + match.toLowerCase(); + } + __name(toHyphenLower, "toHyphenLower"); + function hyphenateStyleName(name) { + if (cache3.hasOwnProperty(name)) { + return cache3[name]; + } + var hName = name.replace(uppercasePattern, toHyphenLower); + return cache3[name] = msPattern.test(hName) ? "-" + hName : hName; + } + __name(hyphenateStyleName, "hyphenateStyleName"); + module2.exports = hyphenateStyleName; + } +}); + +// node_modules/css-in-js-utils/lib/hyphenateProperty.js +var require_hyphenateProperty = __commonJS({ + "node_modules/css-in-js-utils/lib/hyphenateProperty.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2["default"] = hyphenateProperty; + var _hyphenateStyleName = require_index_cjs(); + var _hyphenateStyleName2 = _interopRequireDefault(_hyphenateStyleName); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { "default": obj }; + } + __name(_interopRequireDefault, "_interopRequireDefault"); + function hyphenateProperty(property) { + return (0, _hyphenateStyleName2["default"])(property); + } + __name(hyphenateProperty, "hyphenateProperty"); + } +}); + +// node_modules/css-in-js-utils/lib/cssifyDeclaration.js +var require_cssifyDeclaration = __commonJS({ + "node_modules/css-in-js-utils/lib/cssifyDeclaration.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2["default"] = cssifyDeclaration; + var _hyphenateProperty = require_hyphenateProperty(); + var _hyphenateProperty2 = _interopRequireDefault(_hyphenateProperty); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { "default": obj }; + } + __name(_interopRequireDefault, "_interopRequireDefault"); + function cssifyDeclaration(property, value) { + return (0, _hyphenateProperty2["default"])(property) + ":" + value; + } + __name(cssifyDeclaration, "cssifyDeclaration"); + } +}); + +// node_modules/css-in-js-utils/lib/cssifyObject.js +var require_cssifyObject = __commonJS({ + "node_modules/css-in-js-utils/lib/cssifyObject.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2["default"] = cssifyObject; + var _cssifyDeclaration = require_cssifyDeclaration(); + var _cssifyDeclaration2 = _interopRequireDefault(_cssifyDeclaration); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { "default": obj }; + } + __name(_interopRequireDefault, "_interopRequireDefault"); + function cssifyObject(style) { + var css = ""; + for (var property in style) { + var value = style[property]; + if (typeof value !== "string" && typeof value !== "number") { + continue; + } + if (css) { + css += ";"; + } + css += (0, _cssifyDeclaration2["default"])(property, value); + } + return css; + } + __name(cssifyObject, "cssifyObject"); + } +}); + +// node_modules/css-in-js-utils/lib/isPrefixedProperty.js +var require_isPrefixedProperty = __commonJS({ + "node_modules/css-in-js-utils/lib/isPrefixedProperty.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2["default"] = isPrefixedProperty; + var RE = /^(Webkit|Moz|O|ms)/; + function isPrefixedProperty(property) { + return RE.test(property); + } + __name(isPrefixedProperty, "isPrefixedProperty"); + } +}); + +// node_modules/css-in-js-utils/lib/isPrefixedValue.js +var require_isPrefixedValue = __commonJS({ + "node_modules/css-in-js-utils/lib/isPrefixedValue.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2["default"] = isPrefixedValue; + var RE = /-webkit-|-moz-|-ms-/; + function isPrefixedValue(value) { + return typeof value === "string" && RE.test(value); + } + __name(isPrefixedValue, "isPrefixedValue"); + } +}); + +// node_modules/css-in-js-utils/lib/isUnitlessProperty.js +var require_isUnitlessProperty = __commonJS({ + "node_modules/css-in-js-utils/lib/isUnitlessProperty.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2["default"] = isUnitlessProperty; + var _hyphenateProperty = require_hyphenateProperty(); + var _hyphenateProperty2 = _interopRequireDefault(_hyphenateProperty); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { "default": obj }; + } + __name(_interopRequireDefault, "_interopRequireDefault"); + var unitlessProperties = { + borderImageOutset: true, + borderImageSlice: true, + borderImageWidth: true, + fontWeight: true, + lineHeight: true, + opacity: true, + orphans: true, + tabSize: true, + widows: true, + zIndex: true, + zoom: true, + // SVG-related properties + fillOpacity: true, + floodOpacity: true, + stopOpacity: true, + strokeDasharray: true, + strokeDashoffset: true, + strokeMiterlimit: true, + strokeOpacity: true, + strokeWidth: true + }; + var prefixedUnitlessProperties = ["animationIterationCount", "boxFlex", "boxFlexGroup", "boxOrdinalGroup", "columnCount", "flex", "flexGrow", "flexPositive", "flexShrink", "flexNegative", "flexOrder", "gridColumn", "gridColumnEnd", "gridColumnStart", "gridRow", "gridRowEnd", "gridRowStart", "lineClamp", "order"]; + var prefixes = ["Webkit", "ms", "Moz", "O"]; + function getPrefixedProperty(prefix, property2) { + return prefix + property2.charAt(0).toUpperCase() + property2.slice(1); + } + __name(getPrefixedProperty, "getPrefixedProperty"); + for (i = 0, len = prefixedUnitlessProperties.length; i < len; ++i) { + property = prefixedUnitlessProperties[i]; + unitlessProperties[property] = true; + for (j = 0, jLen = prefixes.length; j < jLen; ++j) { + unitlessProperties[getPrefixedProperty(prefixes[j], property)] = true; + } + } + var property; + var j; + var jLen; + var i; + var len; + for (_property in unitlessProperties) { + unitlessProperties[(0, _hyphenateProperty2["default"])(_property)] = true; + } + var _property; + function isUnitlessProperty(property2) { + return unitlessProperties.hasOwnProperty(property2); + } + __name(isUnitlessProperty, "isUnitlessProperty"); + } +}); + +// node_modules/css-in-js-utils/lib/unprefixProperty.js +var require_unprefixProperty = __commonJS({ + "node_modules/css-in-js-utils/lib/unprefixProperty.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2["default"] = unprefixProperty; + var RE = /^(ms|Webkit|Moz|O)/; + function unprefixProperty(property) { + var propertyWithoutPrefix = property.replace(RE, ""); + return propertyWithoutPrefix.charAt(0).toLowerCase() + propertyWithoutPrefix.slice(1); + } + __name(unprefixProperty, "unprefixProperty"); + } +}); + +// node_modules/css-in-js-utils/lib/normalizeProperty.js +var require_normalizeProperty = __commonJS({ + "node_modules/css-in-js-utils/lib/normalizeProperty.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2["default"] = normalizeProperty; + var _camelCaseProperty = require_camelCaseProperty(); + var _camelCaseProperty2 = _interopRequireDefault(_camelCaseProperty); + var _unprefixProperty = require_unprefixProperty(); + var _unprefixProperty2 = _interopRequireDefault(_unprefixProperty); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { "default": obj }; + } + __name(_interopRequireDefault, "_interopRequireDefault"); + function normalizeProperty(property) { + return (0, _unprefixProperty2["default"])((0, _camelCaseProperty2["default"])(property)); + } + __name(normalizeProperty, "normalizeProperty"); + } +}); + +// node_modules/css-in-js-utils/lib/resolveArrayValue.js +var require_resolveArrayValue = __commonJS({ + "node_modules/css-in-js-utils/lib/resolveArrayValue.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2["default"] = resolveArrayValue; + var _hyphenateProperty = require_hyphenateProperty(); + var _hyphenateProperty2 = _interopRequireDefault(_hyphenateProperty); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { "default": obj }; + } + __name(_interopRequireDefault, "_interopRequireDefault"); + function resolveArrayValue(property, value) { + return value.join(";" + (0, _hyphenateProperty2["default"])(property) + ":"); + } + __name(resolveArrayValue, "resolveArrayValue"); + } +}); + +// node_modules/css-in-js-utils/lib/unprefixValue.js +var require_unprefixValue = __commonJS({ + "node_modules/css-in-js-utils/lib/unprefixValue.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2["default"] = unprefixValue; + var RE = /(-ms-|-webkit-|-moz-|-o-)/g; + function unprefixValue(value) { + if (typeof value === "string") { + return value.replace(RE, ""); + } + return value; + } + __name(unprefixValue, "unprefixValue"); + } +}); + +// node_modules/css-in-js-utils/lib/index.js +var require_lib = __commonJS({ + "node_modules/css-in-js-utils/lib/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.unprefixValue = exports2.unprefixProperty = exports2.resolveArrayValue = exports2.normalizeProperty = exports2.isUnitlessProperty = exports2.isPrefixedValue = exports2.isPrefixedProperty = exports2.hyphenateProperty = exports2.cssifyObject = exports2.cssifyDeclaration = exports2.camelCaseProperty = exports2.assignStyle = void 0; + var _assignStyle = require_assignStyle(); + var _assignStyle2 = _interopRequireDefault(_assignStyle); + var _camelCaseProperty = require_camelCaseProperty(); + var _camelCaseProperty2 = _interopRequireDefault(_camelCaseProperty); + var _cssifyDeclaration = require_cssifyDeclaration(); + var _cssifyDeclaration2 = _interopRequireDefault(_cssifyDeclaration); + var _cssifyObject = require_cssifyObject(); + var _cssifyObject2 = _interopRequireDefault(_cssifyObject); + var _hyphenateProperty = require_hyphenateProperty(); + var _hyphenateProperty2 = _interopRequireDefault(_hyphenateProperty); + var _isPrefixedProperty = require_isPrefixedProperty(); + var _isPrefixedProperty2 = _interopRequireDefault(_isPrefixedProperty); + var _isPrefixedValue = require_isPrefixedValue(); + var _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue); + var _isUnitlessProperty = require_isUnitlessProperty(); + var _isUnitlessProperty2 = _interopRequireDefault(_isUnitlessProperty); + var _normalizeProperty = require_normalizeProperty(); + var _normalizeProperty2 = _interopRequireDefault(_normalizeProperty); + var _resolveArrayValue = require_resolveArrayValue(); + var _resolveArrayValue2 = _interopRequireDefault(_resolveArrayValue); + var _unprefixProperty = require_unprefixProperty(); + var _unprefixProperty2 = _interopRequireDefault(_unprefixProperty); + var _unprefixValue = require_unprefixValue(); + var _unprefixValue2 = _interopRequireDefault(_unprefixValue); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { "default": obj }; + } + __name(_interopRequireDefault, "_interopRequireDefault"); + exports2.assignStyle = _assignStyle2["default"]; + exports2.camelCaseProperty = _camelCaseProperty2["default"]; + exports2.cssifyDeclaration = _cssifyDeclaration2["default"]; + exports2.cssifyObject = _cssifyObject2["default"]; + exports2.hyphenateProperty = _hyphenateProperty2["default"]; + exports2.isPrefixedProperty = _isPrefixedProperty2["default"]; + exports2.isPrefixedValue = _isPrefixedValue2["default"]; + exports2.isUnitlessProperty = _isUnitlessProperty2["default"]; + exports2.normalizeProperty = _normalizeProperty2["default"]; + exports2.resolveArrayValue = _resolveArrayValue2["default"]; + exports2.unprefixProperty = _unprefixProperty2["default"]; + exports2.unprefixValue = _unprefixValue2["default"]; + } +}); + +// node_modules/inline-style-prefixer/lib/plugins/crossFade.js +var require_crossFade = __commonJS({ + "node_modules/inline-style-prefixer/lib/plugins/crossFade.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.default = crossFade; + var _cssInJsUtils = require_lib(); + var CROSS_FADE_REGEX = /cross-fade\(/g; + var prefixes = ["-webkit-", ""]; + function crossFade(property, value) { + if (typeof value === "string" && !(0, _cssInJsUtils.isPrefixedValue)(value) && value.indexOf("cross-fade(") !== -1) { + return prefixes.map(function(prefix) { + return value.replace(CROSS_FADE_REGEX, prefix + "cross-fade("); + }); + } + } + __name(crossFade, "crossFade"); + } +}); + +// node_modules/inline-style-prefixer/lib/plugins/cursor.js +var require_cursor = __commonJS({ + "node_modules/inline-style-prefixer/lib/plugins/cursor.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.default = cursor; + var prefixes = ["-webkit-", "-moz-", ""]; + var values = { + "zoom-in": true, + "zoom-out": true, + grab: true, + grabbing: true + }; + function cursor(property, value) { + if (property === "cursor" && values.hasOwnProperty(value)) { + return prefixes.map(function(prefix) { + return prefix + value; + }); + } + } + __name(cursor, "cursor"); + } +}); + +// node_modules/inline-style-prefixer/lib/plugins/filter.js +var require_filter = __commonJS({ + "node_modules/inline-style-prefixer/lib/plugins/filter.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.default = filter; + var _cssInJsUtils = require_lib(); + var FILTER_REGEX = /filter\(/g; + var prefixes = ["-webkit-", ""]; + function filter(property, value) { + if (typeof value === "string" && !(0, _cssInJsUtils.isPrefixedValue)(value) && value.indexOf("filter(") !== -1) { + return prefixes.map(function(prefix) { + return value.replace(FILTER_REGEX, prefix + "filter("); + }); + } + } + __name(filter, "filter"); + } +}); + +// node_modules/inline-style-prefixer/lib/plugins/imageSet.js +var require_imageSet = __commonJS({ + "node_modules/inline-style-prefixer/lib/plugins/imageSet.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.default = imageSet; + var _isPrefixedValue = require_isPrefixedValue(); + var _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; + } + __name(_interopRequireDefault, "_interopRequireDefault"); + var prefixes = ["-webkit-", ""]; + function imageSet(property, value) { + if (typeof value === "string" && !(0, _isPrefixedValue2.default)(value) && value.indexOf("image-set(") > -1) { + return prefixes.map(function(prefix) { + return value.replace(/image-set\(/g, prefix + "image-set("); + }); + } + } + __name(imageSet, "imageSet"); + } +}); + +// node_modules/inline-style-prefixer/lib/plugins/logical.js +var require_logical = __commonJS({ + "node_modules/inline-style-prefixer/lib/plugins/logical.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.default = logical; + var alternativeProps = { + marginBlockStart: ["WebkitMarginBefore"], + marginBlockEnd: ["WebkitMarginAfter"], + marginInlineStart: ["WebkitMarginStart", "MozMarginStart"], + marginInlineEnd: ["WebkitMarginEnd", "MozMarginEnd"], + paddingBlockStart: ["WebkitPaddingBefore"], + paddingBlockEnd: ["WebkitPaddingAfter"], + paddingInlineStart: ["WebkitPaddingStart", "MozPaddingStart"], + paddingInlineEnd: ["WebkitPaddingEnd", "MozPaddingEnd"], + borderBlockStart: ["WebkitBorderBefore"], + borderBlockStartColor: ["WebkitBorderBeforeColor"], + borderBlockStartStyle: ["WebkitBorderBeforeStyle"], + borderBlockStartWidth: ["WebkitBorderBeforeWidth"], + borderBlockEnd: ["WebkitBorderAfter"], + borderBlockEndColor: ["WebkitBorderAfterColor"], + borderBlockEndStyle: ["WebkitBorderAfterStyle"], + borderBlockEndWidth: ["WebkitBorderAfterWidth"], + borderInlineStart: ["WebkitBorderStart", "MozBorderStart"], + borderInlineStartColor: ["WebkitBorderStartColor", "MozBorderStartColor"], + borderInlineStartStyle: ["WebkitBorderStartStyle", "MozBorderStartStyle"], + borderInlineStartWidth: ["WebkitBorderStartWidth", "MozBorderStartWidth"], + borderInlineEnd: ["WebkitBorderEnd", "MozBorderEnd"], + borderInlineEndColor: ["WebkitBorderEndColor", "MozBorderEndColor"], + borderInlineEndStyle: ["WebkitBorderEndStyle", "MozBorderEndStyle"], + borderInlineEndWidth: ["WebkitBorderEndWidth", "MozBorderEndWidth"] + }; + function logical(property, value, style) { + if (Object.prototype.hasOwnProperty.call(alternativeProps, property)) { + var alternativePropList = alternativeProps[property]; + for (var i = 0, len = alternativePropList.length; i < len; ++i) { + style[alternativePropList[i]] = value; + } + } + } + __name(logical, "logical"); + } +}); + +// node_modules/inline-style-prefixer/lib/plugins/position.js +var require_position = __commonJS({ + "node_modules/inline-style-prefixer/lib/plugins/position.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.default = position; + function position(property, value) { + if (property === "position" && value === "sticky") { + return ["-webkit-sticky", "sticky"]; + } + } + __name(position, "position"); + } +}); + +// node_modules/inline-style-prefixer/lib/plugins/sizing.js +var require_sizing = __commonJS({ + "node_modules/inline-style-prefixer/lib/plugins/sizing.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.default = sizing; + var prefixes = ["-webkit-", "-moz-", ""]; + var properties = { + maxHeight: true, + maxWidth: true, + width: true, + height: true, + columnWidth: true, + minWidth: true, + minHeight: true + }; + var values = { + "min-content": true, + "max-content": true, + "fill-available": true, + "fit-content": true, + "contain-floats": true + }; + function sizing(property, value) { + if (properties.hasOwnProperty(property) && values.hasOwnProperty(value)) { + return prefixes.map(function(prefix) { + return prefix + value; + }); + } + } + __name(sizing, "sizing"); + } +}); + +// node_modules/inline-style-prefixer/lib/plugins/transition.js +var require_transition = __commonJS({ + "node_modules/inline-style-prefixer/lib/plugins/transition.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.default = transition; + var _hyphenateProperty = require_hyphenateProperty(); + var _hyphenateProperty2 = _interopRequireDefault(_hyphenateProperty); + var _isPrefixedValue = require_isPrefixedValue(); + var _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue); + var _capitalizeString = require_capitalizeString(); + var _capitalizeString2 = _interopRequireDefault(_capitalizeString); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; + } + __name(_interopRequireDefault, "_interopRequireDefault"); + var properties = { + transition: true, + transitionProperty: true, + WebkitTransition: true, + WebkitTransitionProperty: true, + MozTransition: true, + MozTransitionProperty: true + }; + var prefixMapping = { + Webkit: "-webkit-", + Moz: "-moz-", + ms: "-ms-" + }; + function prefixValue(value, propertyPrefixMap) { + if ((0, _isPrefixedValue2.default)(value)) { + return value; + } + var multipleValues = value.split(/,(?![^()]*(?:\([^()]*\))?\))/g); + for (var i = 0, len = multipleValues.length; i < len; ++i) { + var singleValue = multipleValues[i]; + var values = [singleValue]; + for (var property in propertyPrefixMap) { + var dashCaseProperty = (0, _hyphenateProperty2.default)(property); + if (singleValue.indexOf(dashCaseProperty) > -1 && dashCaseProperty !== "order") { + var prefixes = propertyPrefixMap[property]; + for (var j = 0, pLen = prefixes.length; j < pLen; ++j) { + values.unshift(singleValue.replace(dashCaseProperty, prefixMapping[prefixes[j]] + dashCaseProperty)); + } + } + } + multipleValues[i] = values.join(","); + } + return multipleValues.join(","); + } + __name(prefixValue, "prefixValue"); + function transition(property, value, style, propertyPrefixMap) { + if (typeof value === "string" && properties.hasOwnProperty(property)) { + var outputValue = prefixValue(value, propertyPrefixMap); + var webkitOutput = outputValue.split(/,(?![^()]*(?:\([^()]*\))?\))/g).filter(function(val) { + return !/-moz-|-ms-/.test(val); + }).join(","); + if (property.indexOf("Webkit") > -1) { + return webkitOutput; + } + var mozOutput = outputValue.split(/,(?![^()]*(?:\([^()]*\))?\))/g).filter(function(val) { + return !/-webkit-|-ms-/.test(val); + }).join(","); + if (property.indexOf("Moz") > -1) { + return mozOutput; + } + style["Webkit" + (0, _capitalizeString2.default)(property)] = webkitOutput; + style["Moz" + (0, _capitalizeString2.default)(property)] = mozOutput; + return outputValue; + } + } + __name(transition, "transition"); + } +}); + +// node_modules/react-native-web/dist/cjs/modules/prefixStyles/static.js +var require_static = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/prefixStyles/static.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _backgroundClip = _interopRequireDefault(require_backgroundClip()); + var _crossFade = _interopRequireDefault(require_crossFade()); + var _cursor = _interopRequireDefault(require_cursor()); + var _filter = _interopRequireDefault(require_filter()); + var _imageSet = _interopRequireDefault(require_imageSet()); + var _logical = _interopRequireDefault(require_logical()); + var _position = _interopRequireDefault(require_position()); + var _sizing = _interopRequireDefault(require_sizing()); + var _transition = _interopRequireDefault(require_transition()); + var w = ["Webkit"]; + var m = ["Moz"]; + var wm = ["Webkit", "Moz"]; + var wms = ["Webkit", "ms"]; + var wmms = ["Webkit", "Moz", "ms"]; + var _default = { + plugins: [_backgroundClip.default, _crossFade.default, _cursor.default, _filter.default, _imageSet.default, _logical.default, _position.default, _sizing.default, _transition.default], + prefixMap: { + appearance: wmms, + userSelect: wm, + textEmphasisPosition: wms, + textEmphasis: wms, + textEmphasisStyle: wms, + textEmphasisColor: wms, + boxDecorationBreak: wms, + clipPath: w, + maskImage: wms, + maskMode: wms, + maskRepeat: wms, + maskPosition: wms, + maskClip: wms, + maskOrigin: wms, + maskSize: wms, + maskComposite: wms, + mask: wms, + maskBorderSource: wms, + maskBorderMode: wms, + maskBorderSlice: wms, + maskBorderWidth: wms, + maskBorderOutset: wms, + maskBorderRepeat: wms, + maskBorder: wms, + maskType: wms, + textDecorationStyle: w, + textDecorationSkip: w, + textDecorationLine: w, + textDecorationColor: w, + filter: w, + breakAfter: w, + breakBefore: w, + breakInside: w, + columnCount: w, + columnFill: w, + columnGap: w, + columnRule: w, + columnRuleColor: w, + columnRuleStyle: w, + columnRuleWidth: w, + columns: w, + columnSpan: w, + columnWidth: w, + backdropFilter: w, + hyphens: w, + flowInto: w, + flowFrom: w, + regionFragment: w, + textOrientation: w, + tabSize: m, + fontKerning: w, + textSizeAdjust: w + } + }; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/modules/prefixStyles/index.js +var require_prefixStyles = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/prefixStyles/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _createPrefixer = _interopRequireDefault(require_createPrefixer()); + var _static = _interopRequireDefault(require_static()); + var prefixAll = (0, _createPrefixer.default)(_static.default); + var _default = prefixAll; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/index.js +var require_compiler = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/index.js"(exports2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.atomic = atomic; + exports2.classic = classic; + exports2.inline = inline4; + exports2.stringifyValueWithProperty = stringifyValueWithProperty; + var _objectSpread2 = _interopRequireDefault(require_objectSpread2()); + var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); + var _createReactDOMStyle = _interopRequireDefault(require_createReactDOMStyle()); + var _hash = _interopRequireDefault(require_hash()); + var _hyphenateStyleName = _interopRequireDefault(require_hyphenateStyleName()); + var _normalizeValueWithProperty = _interopRequireDefault(require_normalizeValueWithProperty()); + var _prefixStyles = _interopRequireDefault(require_prefixStyles()); + var _excluded = ["animationKeyframes"]; + var cache3 = /* @__PURE__ */ new Map(); + var emptyObject = {}; + var classicGroup = 1; + var atomicGroup = 3; + var customGroup = { + borderColor: 2, + borderRadius: 2, + borderStyle: 2, + borderWidth: 2, + display: 2, + flex: 2, + inset: 2, + margin: 2, + overflow: 2, + overscrollBehavior: 2, + padding: 2, + insetBlock: 2.1, + insetInline: 2.1, + marginInline: 2.1, + marginBlock: 2.1, + paddingInline: 2.1, + paddingBlock: 2.1, + borderBlockStartColor: 2.2, + borderBlockStartStyle: 2.2, + borderBlockStartWidth: 2.2, + borderBlockEndColor: 2.2, + borderBlockEndStyle: 2.2, + borderBlockEndWidth: 2.2, + borderInlineStartColor: 2.2, + borderInlineStartStyle: 2.2, + borderInlineStartWidth: 2.2, + borderInlineEndColor: 2.2, + borderInlineEndStyle: 2.2, + borderInlineEndWidth: 2.2, + borderEndStartRadius: 2.2, + borderEndEndRadius: 2.2, + borderStartStartRadius: 2.2, + borderStartEndRadius: 2.2, + insetBlockEnd: 2.2, + insetBlockStart: 2.2, + insetInlineEnd: 2.2, + insetInlineStart: 2.2, + marginBlockStart: 2.2, + marginBlockEnd: 2.2, + marginInlineStart: 2.2, + marginInlineEnd: 2.2, + paddingBlockStart: 2.2, + paddingBlockEnd: 2.2, + paddingInlineStart: 2.2, + paddingInlineEnd: 2.2 + }; + var borderTopLeftRadius = "borderTopLeftRadius"; + var borderTopRightRadius = "borderTopRightRadius"; + var borderBottomLeftRadius = "borderBottomLeftRadius"; + var borderBottomRightRadius = "borderBottomRightRadius"; + var borderLeftColor = "borderLeftColor"; + var borderLeftStyle = "borderLeftStyle"; + var borderLeftWidth = "borderLeftWidth"; + var borderRightColor = "borderRightColor"; + var borderRightStyle = "borderRightStyle"; + var borderRightWidth = "borderRightWidth"; + var right = "right"; + var marginLeft = "marginLeft"; + var marginRight = "marginRight"; + var paddingLeft = "paddingLeft"; + var paddingRight = "paddingRight"; + var left = "left"; + var PROPERTIES_FLIP = { + [borderTopLeftRadius]: borderTopRightRadius, + [borderTopRightRadius]: borderTopLeftRadius, + [borderBottomLeftRadius]: borderBottomRightRadius, + [borderBottomRightRadius]: borderBottomLeftRadius, + [borderLeftColor]: borderRightColor, + [borderLeftStyle]: borderRightStyle, + [borderLeftWidth]: borderRightWidth, + [borderRightColor]: borderLeftColor, + [borderRightStyle]: borderLeftStyle, + [borderRightWidth]: borderLeftWidth, + [left]: right, + [marginLeft]: marginRight, + [marginRight]: marginLeft, + [paddingLeft]: paddingRight, + [paddingRight]: paddingLeft, + [right]: left + }; + var PROPERTIES_I18N = { + borderStartStartRadius: borderTopLeftRadius, + borderStartEndRadius: borderTopRightRadius, + borderEndStartRadius: borderBottomLeftRadius, + borderEndEndRadius: borderBottomRightRadius, + borderInlineStartColor: borderLeftColor, + borderInlineStartStyle: borderLeftStyle, + borderInlineStartWidth: borderLeftWidth, + borderInlineEndColor: borderRightColor, + borderInlineEndStyle: borderRightStyle, + borderInlineEndWidth: borderRightWidth, + insetInlineEnd: right, + insetInlineStart: left, + marginInlineStart: marginLeft, + marginInlineEnd: marginRight, + paddingInlineStart: paddingLeft, + paddingInlineEnd: paddingRight + }; + var PROPERTIES_VALUE = ["clear", "float", "textAlign"]; + function atomic(style) { + var compiledStyle = { + $$css: true + }; + var compiledRules = []; + function atomicCompile(srcProp, prop, value) { + var valueString = stringifyValueWithProperty(value, prop); + var cacheKey = prop + valueString; + var cachedResult = cache3.get(cacheKey); + var identifier; + if (cachedResult != null) { + identifier = cachedResult[0]; + compiledRules.push(cachedResult[1]); + } else { + var v = srcProp !== prop ? cacheKey : valueString; + identifier = createIdentifier("r", srcProp, v); + var order = customGroup[srcProp] || atomicGroup; + var rules = createAtomicRules(identifier, prop, value); + var orderedRules = [rules, order]; + compiledRules.push(orderedRules); + cache3.set(cacheKey, [identifier, orderedRules]); + } + return identifier; + } + __name(atomicCompile, "atomicCompile"); + Object.keys(style).sort().forEach((srcProp) => { + var value = style[srcProp]; + if (value != null) { + var localizeableValue; + if (PROPERTIES_VALUE.indexOf(srcProp) > -1) { + var _left = atomicCompile(srcProp, srcProp, "left"); + var _right = atomicCompile(srcProp, srcProp, "right"); + if (value === "start") { + localizeableValue = [_left, _right]; + } else if (value === "end") { + localizeableValue = [_right, _left]; + } + } + var propPolyfill = PROPERTIES_I18N[srcProp]; + if (propPolyfill != null) { + var ltr = atomicCompile(srcProp, propPolyfill, value); + var rtl = atomicCompile(srcProp, PROPERTIES_FLIP[propPolyfill], value); + localizeableValue = [ltr, rtl]; + } + if (srcProp === "transitionProperty") { + var values = Array.isArray(value) ? value : [value]; + var polyfillIndices = []; + for (var i = 0; i < values.length; i++) { + var val = values[i]; + if (typeof val === "string" && PROPERTIES_I18N[val] != null) { + polyfillIndices.push(i); + } + } + if (polyfillIndices.length > 0) { + var ltrPolyfillValues = [...values]; + var rtlPolyfillValues = [...values]; + polyfillIndices.forEach((i2) => { + var ltrVal = ltrPolyfillValues[i2]; + if (typeof ltrVal === "string") { + var ltrPolyfill = PROPERTIES_I18N[ltrVal]; + var rtlPolyfill = PROPERTIES_FLIP[ltrPolyfill]; + ltrPolyfillValues[i2] = ltrPolyfill; + rtlPolyfillValues[i2] = rtlPolyfill; + var _ltr = atomicCompile(srcProp, srcProp, ltrPolyfillValues); + var _rtl = atomicCompile(srcProp, srcProp, rtlPolyfillValues); + localizeableValue = [_ltr, _rtl]; + } + }); + } + } + if (localizeableValue == null) { + localizeableValue = atomicCompile(srcProp, srcProp, value); + } else { + compiledStyle["$$css$localize"] = true; + } + compiledStyle[srcProp] = localizeableValue; + } + }); + return [compiledStyle, compiledRules]; + } + __name(atomic, "atomic"); + function classic(style, name) { + var compiledStyle = { + $$css: true + }; + var compiledRules = []; + var animationKeyframes = style.animationKeyframes, rest = (0, _objectWithoutPropertiesLoose2.default)(style, _excluded); + var identifier = createIdentifier("css", name, JSON.stringify(style)); + var selector = "." + identifier; + var animationName; + if (animationKeyframes != null) { + var _processKeyframesValu = processKeyframesValue(animationKeyframes), animationNames = _processKeyframesValu[0], keyframesRules = _processKeyframesValu[1]; + animationName = animationNames.join(","); + compiledRules.push(...keyframesRules); + } + var block = createDeclarationBlock((0, _objectSpread2.default)((0, _objectSpread2.default)({}, rest), {}, { + animationName + })); + compiledRules.push("" + selector + block); + compiledStyle[identifier] = identifier; + return [compiledStyle, [[compiledRules, classicGroup]]]; + } + __name(classic, "classic"); + function inline4(originalStyle, isRTL2) { + var style = originalStyle || emptyObject; + var frozenProps = {}; + var nextStyle = {}; + var _loop = /* @__PURE__ */ __name(function _loop2() { + var originalValue = style[originalProp]; + var prop = originalProp; + var value = originalValue; + if (!Object.prototype.hasOwnProperty.call(style, originalProp) || originalValue == null) { + return "continue"; + } + if (PROPERTIES_VALUE.indexOf(originalProp) > -1) { + if (originalValue === "start") { + value = isRTL2 ? "right" : "left"; + } else if (originalValue === "end") { + value = isRTL2 ? "left" : "right"; + } + } + var propPolyfill = PROPERTIES_I18N[originalProp]; + if (propPolyfill != null) { + prop = isRTL2 ? PROPERTIES_FLIP[propPolyfill] : propPolyfill; + } + if (originalProp === "transitionProperty") { + var originalValues = Array.isArray(originalValue) ? originalValue : [originalValue]; + originalValues.forEach((val, i) => { + if (typeof val === "string") { + var valuePolyfill = PROPERTIES_I18N[val]; + if (valuePolyfill != null) { + originalValues[i] = isRTL2 ? PROPERTIES_FLIP[valuePolyfill] : valuePolyfill; + value = originalValues.join(" "); + } + } + }); + } + if (!frozenProps[prop]) { + nextStyle[prop] = value; + } + if (prop === originalProp) { + frozenProps[prop] = true; + } + }, "_loop"); + for (var originalProp in style) { + var _ret = _loop(); + if (_ret === "continue") + continue; + } + return (0, _createReactDOMStyle.default)(nextStyle, true); + } + __name(inline4, "inline"); + function stringifyValueWithProperty(value, property) { + var normalizedValue = (0, _normalizeValueWithProperty.default)(value, property); + return typeof normalizedValue !== "string" ? JSON.stringify(normalizedValue || "") : normalizedValue; + } + __name(stringifyValueWithProperty, "stringifyValueWithProperty"); + function createAtomicRules(identifier, property, value) { + var rules = []; + var selector = "." + identifier; + switch (property) { + case "animationKeyframes": { + var _processKeyframesValu2 = processKeyframesValue(value), animationNames = _processKeyframesValu2[0], keyframesRules = _processKeyframesValu2[1]; + var block = createDeclarationBlock({ + animationName: animationNames.join(",") + }); + rules.push("" + selector + block, ...keyframesRules); + break; + } + case "placeholderTextColor": { + var _block = createDeclarationBlock({ + color: value, + opacity: 1 + }); + rules.push(selector + "::-webkit-input-placeholder" + _block, selector + "::-moz-placeholder" + _block, selector + ":-ms-input-placeholder" + _block, selector + "::placeholder" + _block); + break; + } + case "pointerEvents": { + var finalValue = value; + if (value === "auto" || value === "box-only") { + finalValue = "auto!important"; + if (value === "box-only") { + var _block2 = createDeclarationBlock({ + pointerEvents: "none" + }); + rules.push(selector + ">*" + _block2); + } + } else if (value === "none" || value === "box-none") { + finalValue = "none!important"; + if (value === "box-none") { + var _block3 = createDeclarationBlock({ + pointerEvents: "auto" + }); + rules.push(selector + ">*" + _block3); + } + } + var _block4 = createDeclarationBlock({ + pointerEvents: finalValue + }); + rules.push("" + selector + _block4); + break; + } + case "scrollbarWidth": { + if (value === "none") { + rules.push(selector + "::-webkit-scrollbar{display:none}"); + } + var _block5 = createDeclarationBlock({ + scrollbarWidth: value + }); + rules.push("" + selector + _block5); + break; + } + default: { + var _block6 = createDeclarationBlock({ + [property]: value + }); + rules.push("" + selector + _block6); + break; + } + } + return rules; + } + __name(createAtomicRules, "createAtomicRules"); + function createDeclarationBlock(style) { + var domStyle = (0, _prefixStyles.default)((0, _createReactDOMStyle.default)(style)); + var declarationsString = Object.keys(domStyle).map((property) => { + var value = domStyle[property]; + var prop = (0, _hyphenateStyleName.default)(property); + if (Array.isArray(value)) { + return value.map((v) => prop + ":" + v).join(";"); + } else { + return prop + ":" + value; + } + }).sort().join(";"); + return "{" + declarationsString + ";}"; + } + __name(createDeclarationBlock, "createDeclarationBlock"); + function createIdentifier(prefix, name, key) { + var hashedString = (0, _hash.default)(name + key); + return process.env.NODE_ENV !== "production" ? prefix + "-" + name + "-" + hashedString : prefix + "-" + hashedString; + } + __name(createIdentifier, "createIdentifier"); + function createKeyframes(keyframes) { + var prefixes = ["-webkit-", ""]; + var identifier = createIdentifier("r", "animation", JSON.stringify(keyframes)); + var steps = "{" + Object.keys(keyframes).map((stepName) => { + var rule = keyframes[stepName]; + var block = createDeclarationBlock(rule); + return "" + stepName + block; + }).join("") + "}"; + var rules = prefixes.map((prefix) => { + return "@" + prefix + "keyframes " + identifier + steps; + }); + return [identifier, rules]; + } + __name(createKeyframes, "createKeyframes"); + function processKeyframesValue(keyframesValue) { + if (typeof keyframesValue === "number") { + throw new Error("Invalid CSS keyframes type: " + typeof keyframesValue); + } + var animationNames = []; + var rules = []; + var value = Array.isArray(keyframesValue) ? keyframesValue : [keyframesValue]; + value.forEach((keyframes) => { + if (typeof keyframes === "string") { + animationNames.push(keyframes); + } else { + var _createKeyframes = createKeyframes(keyframes), identifier = _createKeyframes[0], keyframesRules = _createKeyframes[1]; + animationNames.push(identifier); + rules.push(...keyframesRules); + } + }); + return [animationNames, rules]; + } + __name(processKeyframesValue, "processKeyframesValue"); + } +}); + +// node_modules/react-native-web/dist/cjs/exports/StyleSheet/dom/createCSSStyleSheet.js +var require_createCSSStyleSheet = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/StyleSheet/dom/createCSSStyleSheet.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = createCSSStyleSheet; + var _canUseDom = _interopRequireDefault(require_canUseDom()); + function createCSSStyleSheet(id, rootNode, textContent) { + if (_canUseDom.default) { + var root = rootNode != null ? rootNode : document; + var element = root.getElementById(id); + if (element == null) { + element = document.createElement("style"); + element.setAttribute("id", id); + if (typeof textContent === "string") { + element.appendChild(document.createTextNode(textContent)); + } + if (root instanceof ShadowRoot) { + root.insertBefore(element, root.firstChild); + } else { + var head = root.head; + if (head) { + head.insertBefore(element, head.firstChild); + } + } + } + return element.sheet; + } else { + return null; + } + } + __name(createCSSStyleSheet, "createCSSStyleSheet"); + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/StyleSheet/dom/createOrderedCSSStyleSheet.js +var require_createOrderedCSSStyleSheet = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/StyleSheet/dom/createOrderedCSSStyleSheet.js"(exports2, module2) { + "use strict"; + exports2.__esModule = true; + exports2.default = createOrderedCSSStyleSheet; + var slice = Array.prototype.slice; + function createOrderedCSSStyleSheet(sheet) { + var groups = {}; + var selectors = {}; + if (sheet != null) { + var group; + slice.call(sheet.cssRules).forEach((cssRule, i) => { + var cssText = cssRule.cssText; + if (cssText.indexOf("stylesheet-group") > -1) { + group = decodeGroupRule(cssRule); + groups[group] = { + start: i, + rules: [cssText] + }; + } else { + var selectorText = getSelectorText(cssText); + if (selectorText != null) { + selectors[selectorText] = true; + groups[group].rules.push(cssText); + } + } + }); + } + function sheetInsert(sheet2, group2, text) { + var orderedGroups = getOrderedGroups(groups); + var groupIndex = orderedGroups.indexOf(group2); + var nextGroupIndex = groupIndex + 1; + var nextGroup = orderedGroups[nextGroupIndex]; + var position = nextGroup != null && groups[nextGroup].start != null ? groups[nextGroup].start : sheet2.cssRules.length; + var isInserted = insertRuleAt(sheet2, text, position); + if (isInserted) { + if (groups[group2].start == null) { + groups[group2].start = position; + } + for (var i = nextGroupIndex; i < orderedGroups.length; i += 1) { + var groupNumber = orderedGroups[i]; + var previousStart = groups[groupNumber].start || 0; + groups[groupNumber].start = previousStart + 1; + } + } + return isInserted; + } + __name(sheetInsert, "sheetInsert"); + var OrderedCSSStyleSheet = { + /** + * The textContent of the style sheet. + */ + getTextContent() { + return getOrderedGroups(groups).map((group2) => { + var rules = groups[group2].rules; + var marker = rules.shift(); + rules.sort(); + rules.unshift(marker); + return rules.join("\n"); + }).join("\n"); + }, + /** + * Insert a rule into the style sheet + */ + insert(cssText, groupValue) { + var group2 = Number(groupValue); + if (groups[group2] == null) { + var markerRule = encodeGroupRule(group2); + groups[group2] = { + start: null, + rules: [markerRule] + }; + if (sheet != null) { + sheetInsert(sheet, group2, markerRule); + } + } + var selectorText = getSelectorText(cssText); + if (selectorText != null && selectors[selectorText] == null) { + selectors[selectorText] = true; + groups[group2].rules.push(cssText); + if (sheet != null) { + var isInserted = sheetInsert(sheet, group2, cssText); + if (!isInserted) { + groups[group2].rules.pop(); + } + } + } + } + }; + return OrderedCSSStyleSheet; + } + __name(createOrderedCSSStyleSheet, "createOrderedCSSStyleSheet"); + function encodeGroupRule(group) { + return '[stylesheet-group="' + group + '"]{}'; + } + __name(encodeGroupRule, "encodeGroupRule"); + var groupPattern = /["']/g; + function decodeGroupRule(cssRule) { + return Number(cssRule.selectorText.split(groupPattern)[1]); + } + __name(decodeGroupRule, "decodeGroupRule"); + function getOrderedGroups(obj) { + return Object.keys(obj).map(Number).sort((a, b) => a > b ? 1 : -1); + } + __name(getOrderedGroups, "getOrderedGroups"); + var selectorPattern = /\s*([,])\s*/g; + function getSelectorText(cssText) { + var selector = cssText.split("{")[0].trim(); + return selector !== "" ? selector.replace(selectorPattern, "$1") : null; + } + __name(getSelectorText, "getSelectorText"); + function insertRuleAt(root, cssText, position) { + try { + root.insertRule(cssText, position); + return true; + } catch (e) { + return false; + } + } + __name(insertRuleAt, "insertRuleAt"); + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/StyleSheet/dom/index.js +var require_dom = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/StyleSheet/dom/index.js"(exports2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.createSheet = createSheet2; + var _canUseDom = _interopRequireDefault(require_canUseDom()); + var _createCSSStyleSheet = _interopRequireDefault(require_createCSSStyleSheet()); + var _createOrderedCSSStyleSheet = _interopRequireDefault(require_createOrderedCSSStyleSheet()); + var defaultId = "react-native-stylesheet"; + var roots = /* @__PURE__ */ new WeakMap(); + var sheets = []; + var initialRules = [ + // minimal top-level reset + "html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);}", + "body{margin:0;}", + // minimal form pseudo-element reset + "button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}", + "input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-webkit-search-results-button,input::-webkit-search-results-decoration{display:none;}" + ]; + function createSheet2(root, id) { + if (id === void 0) { + id = defaultId; + } + var sheet; + if (_canUseDom.default) { + var rootNode = root != null ? root.getRootNode() : document; + if (sheets.length === 0) { + sheet = (0, _createOrderedCSSStyleSheet.default)((0, _createCSSStyleSheet.default)(id)); + initialRules.forEach((rule) => { + sheet.insert(rule, 0); + }); + roots.set(rootNode, sheets.length); + sheets.push(sheet); + } else { + var index3 = roots.get(rootNode); + if (index3 == null) { + var initialSheet = sheets[0]; + var textContent = initialSheet != null ? initialSheet.getTextContent() : ""; + sheet = (0, _createOrderedCSSStyleSheet.default)((0, _createCSSStyleSheet.default)(id, rootNode, textContent)); + roots.set(rootNode, sheets.length); + sheets.push(sheet); + } else { + sheet = sheets[index3]; + } + } + } else { + if (sheets.length === 0) { + sheet = (0, _createOrderedCSSStyleSheet.default)((0, _createCSSStyleSheet.default)(id)); + initialRules.forEach((rule) => { + sheet.insert(rule, 0); + }); + sheets.push(sheet); + } else { + sheet = sheets[0]; + } + } + return { + getTextContent() { + return sheet.getTextContent(); + }, + id, + insert(cssText, groupValue) { + sheets.forEach((s) => { + s.insert(cssText, groupValue); + }); + } + }; + } + __name(createSheet2, "createSheet"); + } +}); + +// node_modules/styleq/dist/transform-localize-style.js +var require_transform_localize_style = __commonJS({ + "node_modules/styleq/dist/transform-localize-style.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.localizeStyle = localizeStyle; + var cache3 = /* @__PURE__ */ new WeakMap(); + var markerProp = "$$css$localize"; + function compileStyle(style, isRTL2) { + var compiledStyle = {}; + for (var prop in style) { + if (prop !== markerProp) { + var value = style[prop]; + if (Array.isArray(value)) { + compiledStyle[prop] = isRTL2 ? value[1] : value[0]; + } else { + compiledStyle[prop] = value; + } + } + } + return compiledStyle; + } + __name(compileStyle, "compileStyle"); + function localizeStyle(style, isRTL2) { + if (style[markerProp] != null) { + var compiledStyleIndex = isRTL2 ? 1 : 0; + if (cache3.has(style)) { + var _cachedStyles = cache3.get(style); + var _compiledStyle = _cachedStyles[compiledStyleIndex]; + if (_compiledStyle == null) { + _compiledStyle = compileStyle(style, isRTL2); + _cachedStyles[compiledStyleIndex] = _compiledStyle; + cache3.set(style, _cachedStyles); + } + return _compiledStyle; + } + var compiledStyle = compileStyle(style, isRTL2); + var cachedStyles = new Array(2); + cachedStyles[compiledStyleIndex] = compiledStyle; + cache3.set(style, cachedStyles); + return compiledStyle; + } + return style; + } + __name(localizeStyle, "localizeStyle"); + } +}); + +// node_modules/styleq/transform-localize-style.js +var require_transform_localize_style2 = __commonJS({ + "node_modules/styleq/transform-localize-style.js"(exports2, module2) { + module2.exports = require_transform_localize_style(); + } +}); + +// node_modules/react-native-web/dist/cjs/modules/warnOnce/index.js +var require_warnOnce = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/warnOnce/index.js"(exports2) { + "use strict"; + exports2.__esModule = true; + exports2.warnOnce = warnOnce; + var warnedKeys = {}; + function warnOnce(key, message) { + if (process.env.NODE_ENV !== "production") { + if (warnedKeys[key]) { + return; + } + console.warn(message); + warnedKeys[key] = true; + } + } + __name(warnOnce, "warnOnce"); + } +}); + +// node_modules/react-native-web/dist/cjs/exports/StyleSheet/preprocess.js +var require_preprocess = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/StyleSheet/preprocess.js"(exports2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.preprocess = exports2.default = exports2.createTransformValue = exports2.createTextShadowValue = exports2.createBoxShadowValue = void 0; + var _normalizeColor = _interopRequireDefault(require_normalizeColor()); + var _normalizeValueWithProperty = _interopRequireDefault(require_normalizeValueWithProperty()); + var _warnOnce = require_warnOnce(); + var emptyObject = {}; + var defaultOffset = { + height: 0, + width: 0 + }; + var createBoxShadowValue = /* @__PURE__ */ __name((style) => { + var shadowColor = style.shadowColor, shadowOffset = style.shadowOffset, shadowOpacity = style.shadowOpacity, shadowRadius = style.shadowRadius; + var _ref = shadowOffset || defaultOffset, height = _ref.height, width = _ref.width; + var offsetX = (0, _normalizeValueWithProperty.default)(width); + var offsetY = (0, _normalizeValueWithProperty.default)(height); + var blurRadius = (0, _normalizeValueWithProperty.default)(shadowRadius || 0); + var color = (0, _normalizeColor.default)(shadowColor || "black", shadowOpacity); + if (color != null && offsetX != null && offsetY != null && blurRadius != null) { + return offsetX + " " + offsetY + " " + blurRadius + " " + color; + } + }, "createBoxShadowValue"); + exports2.createBoxShadowValue = createBoxShadowValue; + var createTextShadowValue = /* @__PURE__ */ __name((style) => { + var textShadowColor = style.textShadowColor, textShadowOffset = style.textShadowOffset, textShadowRadius = style.textShadowRadius; + var _ref2 = textShadowOffset || defaultOffset, height = _ref2.height, width = _ref2.width; + var radius = textShadowRadius || 0; + var offsetX = (0, _normalizeValueWithProperty.default)(width); + var offsetY = (0, _normalizeValueWithProperty.default)(height); + var blurRadius = (0, _normalizeValueWithProperty.default)(radius); + var color = (0, _normalizeValueWithProperty.default)(textShadowColor, "textShadowColor"); + if (color && (height !== 0 || width !== 0 || radius !== 0) && offsetX != null && offsetY != null && blurRadius != null) { + return offsetX + " " + offsetY + " " + blurRadius + " " + color; + } + }, "createTextShadowValue"); + exports2.createTextShadowValue = createTextShadowValue; + var mapTransform = /* @__PURE__ */ __name((transform) => { + var type = Object.keys(transform)[0]; + var value = transform[type]; + if (type === "matrix" || type === "matrix3d") { + return type + "(" + value.join(",") + ")"; + } else { + var normalizedValue = (0, _normalizeValueWithProperty.default)(value, type); + return type + "(" + normalizedValue + ")"; + } + }, "mapTransform"); + var createTransformValue = /* @__PURE__ */ __name((value) => { + return value.map(mapTransform).join(" "); + }, "createTransformValue"); + exports2.createTransformValue = createTransformValue; + var PROPERTIES_STANDARD = { + borderBottomEndRadius: "borderEndEndRadius", + borderBottomStartRadius: "borderEndStartRadius", + borderTopEndRadius: "borderStartEndRadius", + borderTopStartRadius: "borderStartStartRadius", + borderEndColor: "borderInlineEndColor", + borderEndStyle: "borderInlineEndStyle", + borderEndWidth: "borderInlineEndWidth", + borderStartColor: "borderInlineStartColor", + borderStartStyle: "borderInlineStartStyle", + borderStartWidth: "borderInlineStartWidth", + end: "insetInlineEnd", + marginEnd: "marginInlineEnd", + marginHorizontal: "marginInline", + marginStart: "marginInlineStart", + marginVertical: "marginBlock", + paddingEnd: "paddingInlineEnd", + paddingHorizontal: "paddingInline", + paddingStart: "paddingInlineStart", + paddingVertical: "paddingBlock", + start: "insetInlineStart" + }; + var ignoredProps = { + elevation: true, + overlayColor: true, + resizeMode: true, + tintColor: true + }; + var preprocess = /* @__PURE__ */ __name(function preprocess2(originalStyle, options) { + if (options === void 0) { + options = {}; + } + var style = originalStyle || emptyObject; + var nextStyle = {}; + if (options.shadow === true, style.shadowColor != null || style.shadowOffset != null || style.shadowOpacity != null || style.shadowRadius != null) { + (0, _warnOnce.warnOnce)("shadowStyles", '"shadow*" style props are deprecated. Use "boxShadow".'); + var boxShadowValue = createBoxShadowValue(style); + if (boxShadowValue != null && nextStyle.boxShadow == null) { + var boxShadow = style.boxShadow; + var value = boxShadow ? boxShadow + ", " + boxShadowValue : boxShadowValue; + nextStyle.boxShadow = value; + } + } + if (options.textShadow === true, style.textShadowColor != null || style.textShadowOffset != null || style.textShadowRadius != null) { + (0, _warnOnce.warnOnce)("textShadowStyles", '"textShadow*" style props are deprecated. Use "textShadow".'); + var textShadowValue = createTextShadowValue(style); + if (textShadowValue != null && nextStyle.textShadow == null) { + var textShadow = style.textShadow; + var _value = textShadow ? textShadow + ", " + textShadowValue : textShadowValue; + nextStyle.textShadow = _value; + } + } + for (var originalProp in style) { + if ( + // Ignore some React Native styles + ignoredProps[originalProp] != null || originalProp === "shadowColor" || originalProp === "shadowOffset" || originalProp === "shadowOpacity" || originalProp === "shadowRadius" || originalProp === "textShadowColor" || originalProp === "textShadowOffset" || originalProp === "textShadowRadius" + ) { + continue; + } + var originalValue = style[originalProp]; + var prop = PROPERTIES_STANDARD[originalProp] || originalProp; + var _value2 = originalValue; + if (!Object.prototype.hasOwnProperty.call(style, originalProp) || prop !== originalProp && style[prop] != null) { + continue; + } + if (prop === "aspectRatio" && typeof _value2 === "number") { + nextStyle[prop] = _value2.toString(); + } else if (prop === "fontVariant") { + if (Array.isArray(_value2) && _value2.length > 0) { + (0, _warnOnce.warnOnce)("fontVariant", '"fontVariant" style array value is deprecated. Use space-separated values.'); + _value2 = _value2.join(" "); + } + nextStyle[prop] = _value2; + } else if (prop === "textAlignVertical") { + (0, _warnOnce.warnOnce)("textAlignVertical", '"textAlignVertical" style is deprecated. Use "verticalAlign".'); + if (style.verticalAlign == null) { + nextStyle.verticalAlign = _value2 === "center" ? "middle" : _value2; + } + } else if (prop === "transform") { + if (Array.isArray(_value2)) { + _value2 = createTransformValue(_value2); + } + nextStyle.transform = _value2; + } else { + nextStyle[prop] = _value2; + } + } + return nextStyle; + }, "preprocess"); + exports2.preprocess = preprocess; + var _default = preprocess; + exports2.default = _default; + } +}); + +// node_modules/styleq/dist/styleq.js +var require_styleq = __commonJS({ + "node_modules/styleq/dist/styleq.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.styleq = void 0; + var cache3 = /* @__PURE__ */ new WeakMap(); + var compiledKey = "$$css"; + function createStyleq(options) { + var disableCache; + var disableMix; + var transform; + if (options != null) { + disableCache = options.disableCache === true; + disableMix = options.disableMix === true; + transform = options.transform; + } + return /* @__PURE__ */ __name(function styleq2() { + var definedProperties = []; + var className = ""; + var inlineStyle = null; + var nextCache = disableCache ? null : cache3; + var styles = new Array(arguments.length); + for (var i = 0; i < arguments.length; i++) { + styles[i] = arguments[i]; + } + while (styles.length > 0) { + var possibleStyle = styles.pop(); + if (possibleStyle == null || possibleStyle === false) { + continue; + } + if (Array.isArray(possibleStyle)) { + for (var _i = 0; _i < possibleStyle.length; _i++) { + styles.push(possibleStyle[_i]); + } + continue; + } + var style = transform != null ? transform(possibleStyle) : possibleStyle; + if (style.$$css) { + var classNameChunk = ""; + if (nextCache != null && nextCache.has(style)) { + var cacheEntry = nextCache.get(style); + if (cacheEntry != null) { + classNameChunk = cacheEntry[0]; + definedProperties.push.apply(definedProperties, cacheEntry[1]); + nextCache = cacheEntry[2]; + } + } else { + var definedPropertiesChunk = []; + for (var prop in style) { + var value = style[prop]; + if (prop === compiledKey) + continue; + if (typeof value === "string" || value === null) { + if (!definedProperties.includes(prop)) { + definedProperties.push(prop); + if (nextCache != null) { + definedPropertiesChunk.push(prop); + } + if (typeof value === "string") { + classNameChunk += classNameChunk ? " " + value : value; + } + } + } else { + console.error("styleq: ".concat(prop, " typeof ").concat(String(value), ' is not "string" or "null".')); + } + } + if (nextCache != null) { + var weakMap = /* @__PURE__ */ new WeakMap(); + nextCache.set(style, [classNameChunk, definedPropertiesChunk, weakMap]); + nextCache = weakMap; + } + } + if (classNameChunk) { + className = className ? classNameChunk + " " + className : classNameChunk; + } + } else { + if (disableMix) { + if (inlineStyle == null) { + inlineStyle = {}; + } + inlineStyle = Object.assign({}, style, inlineStyle); + } else { + var subStyle = null; + for (var _prop in style) { + var _value = style[_prop]; + if (_value !== void 0) { + if (!definedProperties.includes(_prop)) { + if (_value != null) { + if (inlineStyle == null) { + inlineStyle = {}; + } + if (subStyle == null) { + subStyle = {}; + } + subStyle[_prop] = _value; + } + definedProperties.push(_prop); + nextCache = null; + } + } + } + if (subStyle != null) { + inlineStyle = Object.assign(subStyle, inlineStyle); + } + } + } + } + var styleProps = [className, inlineStyle]; + return styleProps; + }, "styleq"); + } + __name(createStyleq, "createStyleq"); + var styleq = createStyleq(); + exports2.styleq = styleq; + styleq.factory = createStyleq; + } +}); + +// node_modules/styleq/styleq.js +var require_styleq2 = __commonJS({ + "node_modules/styleq/styleq.js"(exports2, module2) { + module2.exports = require_styleq(); + } +}); + +// node_modules/postcss-value-parser/lib/parse.js +var require_parse = __commonJS({ + "node_modules/postcss-value-parser/lib/parse.js"(exports2, module2) { + var openParentheses = "(".charCodeAt(0); + var closeParentheses = ")".charCodeAt(0); + var singleQuote = "'".charCodeAt(0); + var doubleQuote = '"'.charCodeAt(0); + var backslash = "\\".charCodeAt(0); + var slash = "/".charCodeAt(0); + var comma = ",".charCodeAt(0); + var colon = ":".charCodeAt(0); + var star = "*".charCodeAt(0); + var uLower = "u".charCodeAt(0); + var uUpper = "U".charCodeAt(0); + var plus = "+".charCodeAt(0); + var isUnicodeRange = /^[a-f0-9?-]+$/i; + module2.exports = function(input) { + var tokens = []; + var value = input; + var next, quote, prev, token, escape, escapePos, whitespacePos, parenthesesOpenPos; + var pos = 0; + var code = value.charCodeAt(pos); + var max2 = value.length; + var stack = [{ nodes: tokens }]; + var balanced = 0; + var parent; + var name = ""; + var before = ""; + var after = ""; + while (pos < max2) { + if (code <= 32) { + next = pos; + do { + next += 1; + code = value.charCodeAt(next); + } while (code <= 32); + token = value.slice(pos, next); + prev = tokens[tokens.length - 1]; + if (code === closeParentheses && balanced) { + after = token; + } else if (prev && prev.type === "div") { + prev.after = token; + prev.sourceEndIndex += token.length; + } else if (code === comma || code === colon || code === slash && value.charCodeAt(next + 1) !== star && (!parent || parent && parent.type === "function" && parent.value !== "calc")) { + before = token; + } else { + tokens.push({ + type: "space", + sourceIndex: pos, + sourceEndIndex: next, + value: token + }); + } + pos = next; + } else if (code === singleQuote || code === doubleQuote) { + next = pos; + quote = code === singleQuote ? "'" : '"'; + token = { + type: "string", + sourceIndex: pos, + quote + }; + do { + escape = false; + next = value.indexOf(quote, next + 1); + if (~next) { + escapePos = next; + while (value.charCodeAt(escapePos - 1) === backslash) { + escapePos -= 1; + escape = !escape; + } + } else { + value += quote; + next = value.length - 1; + token.unclosed = true; + } + } while (escape); + token.value = value.slice(pos + 1, next); + token.sourceEndIndex = token.unclosed ? next : next + 1; + tokens.push(token); + pos = next + 1; + code = value.charCodeAt(pos); + } else if (code === slash && value.charCodeAt(pos + 1) === star) { + next = value.indexOf("*/", pos); + token = { + type: "comment", + sourceIndex: pos, + sourceEndIndex: next + 2 + }; + if (next === -1) { + token.unclosed = true; + next = value.length; + token.sourceEndIndex = next; + } + token.value = value.slice(pos + 2, next); + tokens.push(token); + pos = next + 2; + code = value.charCodeAt(pos); + } else if ((code === slash || code === star) && parent && parent.type === "function" && parent.value === "calc") { + token = value[pos]; + tokens.push({ + type: "word", + sourceIndex: pos - before.length, + sourceEndIndex: pos + token.length, + value: token + }); + pos += 1; + code = value.charCodeAt(pos); + } else if (code === slash || code === comma || code === colon) { + token = value[pos]; + tokens.push({ + type: "div", + sourceIndex: pos - before.length, + sourceEndIndex: pos + token.length, + value: token, + before, + after: "" + }); + before = ""; + pos += 1; + code = value.charCodeAt(pos); + } else if (openParentheses === code) { + next = pos; + do { + next += 1; + code = value.charCodeAt(next); + } while (code <= 32); + parenthesesOpenPos = pos; + token = { + type: "function", + sourceIndex: pos - name.length, + value: name, + before: value.slice(parenthesesOpenPos + 1, next) + }; + pos = next; + if (name === "url" && code !== singleQuote && code !== doubleQuote) { + next -= 1; + do { + escape = false; + next = value.indexOf(")", next + 1); + if (~next) { + escapePos = next; + while (value.charCodeAt(escapePos - 1) === backslash) { + escapePos -= 1; + escape = !escape; + } + } else { + value += ")"; + next = value.length - 1; + token.unclosed = true; + } + } while (escape); + whitespacePos = next; + do { + whitespacePos -= 1; + code = value.charCodeAt(whitespacePos); + } while (code <= 32); + if (parenthesesOpenPos < whitespacePos) { + if (pos !== whitespacePos + 1) { + token.nodes = [ + { + type: "word", + sourceIndex: pos, + sourceEndIndex: whitespacePos + 1, + value: value.slice(pos, whitespacePos + 1) + } + ]; + } else { + token.nodes = []; + } + if (token.unclosed && whitespacePos + 1 !== next) { + token.after = ""; + token.nodes.push({ + type: "space", + sourceIndex: whitespacePos + 1, + sourceEndIndex: next, + value: value.slice(whitespacePos + 1, next) + }); + } else { + token.after = value.slice(whitespacePos + 1, next); + token.sourceEndIndex = next; + } + } else { + token.after = ""; + token.nodes = []; + } + pos = next + 1; + token.sourceEndIndex = token.unclosed ? next : pos; + code = value.charCodeAt(pos); + tokens.push(token); + } else { + balanced += 1; + token.after = ""; + token.sourceEndIndex = pos + 1; + tokens.push(token); + stack.push(token); + tokens = token.nodes = []; + parent = token; + } + name = ""; + } else if (closeParentheses === code && balanced) { + pos += 1; + code = value.charCodeAt(pos); + parent.after = after; + parent.sourceEndIndex += after.length; + after = ""; + balanced -= 1; + stack[stack.length - 1].sourceEndIndex = pos; + stack.pop(); + parent = stack[balanced]; + tokens = parent.nodes; + } else { + next = pos; + do { + if (code === backslash) { + next += 1; + } + next += 1; + code = value.charCodeAt(next); + } while (next < max2 && !(code <= 32 || code === singleQuote || code === doubleQuote || code === comma || code === colon || code === slash || code === openParentheses || code === star && parent && parent.type === "function" && parent.value === "calc" || code === slash && parent.type === "function" && parent.value === "calc" || code === closeParentheses && balanced)); + token = value.slice(pos, next); + if (openParentheses === code) { + name = token; + } else if ((uLower === token.charCodeAt(0) || uUpper === token.charCodeAt(0)) && plus === token.charCodeAt(1) && isUnicodeRange.test(token.slice(2))) { + tokens.push({ + type: "unicode-range", + sourceIndex: pos, + sourceEndIndex: next, + value: token + }); + } else { + tokens.push({ + type: "word", + sourceIndex: pos, + sourceEndIndex: next, + value: token + }); + } + pos = next; + } + } + for (pos = stack.length - 1; pos; pos -= 1) { + stack[pos].unclosed = true; + stack[pos].sourceEndIndex = value.length; + } + return stack[0].nodes; + }; + } +}); + +// node_modules/postcss-value-parser/lib/walk.js +var require_walk = __commonJS({ + "node_modules/postcss-value-parser/lib/walk.js"(exports2, module2) { + module2.exports = /* @__PURE__ */ __name(function walk(nodes, cb, bubble) { + var i, max2, node, result; + for (i = 0, max2 = nodes.length; i < max2; i += 1) { + node = nodes[i]; + if (!bubble) { + result = cb(node, i, nodes); + } + if (result !== false && node.type === "function" && Array.isArray(node.nodes)) { + walk(node.nodes, cb, bubble); + } + if (bubble) { + cb(node, i, nodes); + } + } + }, "walk"); + } +}); + +// node_modules/postcss-value-parser/lib/stringify.js +var require_stringify = __commonJS({ + "node_modules/postcss-value-parser/lib/stringify.js"(exports2, module2) { + function stringifyNode(node, custom) { + var type = node.type; + var value = node.value; + var buf; + var customResult; + if (custom && (customResult = custom(node)) !== void 0) { + return customResult; + } else if (type === "word" || type === "space") { + return value; + } else if (type === "string") { + buf = node.quote || ""; + return buf + value + (node.unclosed ? "" : buf); + } else if (type === "comment") { + return "/*" + value + (node.unclosed ? "" : "*/"); + } else if (type === "div") { + return (node.before || "") + value + (node.after || ""); + } else if (Array.isArray(node.nodes)) { + buf = stringify(node.nodes, custom); + if (type !== "function") { + return buf; + } + return value + "(" + (node.before || "") + buf + (node.after || "") + (node.unclosed ? "" : ")"); + } + return value; + } + __name(stringifyNode, "stringifyNode"); + function stringify(nodes, custom) { + var result, i; + if (Array.isArray(nodes)) { + result = ""; + for (i = nodes.length - 1; ~i; i -= 1) { + result = stringifyNode(nodes[i], custom) + result; + } + return result; + } + return stringifyNode(nodes, custom); + } + __name(stringify, "stringify"); + module2.exports = stringify; + } +}); + +// node_modules/postcss-value-parser/lib/unit.js +var require_unit = __commonJS({ + "node_modules/postcss-value-parser/lib/unit.js"(exports2, module2) { + var minus = "-".charCodeAt(0); + var plus = "+".charCodeAt(0); + var dot = ".".charCodeAt(0); + var exp = "e".charCodeAt(0); + var EXP = "E".charCodeAt(0); + function likeNumber(value) { + var code = value.charCodeAt(0); + var nextCode; + if (code === plus || code === minus) { + nextCode = value.charCodeAt(1); + if (nextCode >= 48 && nextCode <= 57) { + return true; + } + var nextNextCode = value.charCodeAt(2); + if (nextCode === dot && nextNextCode >= 48 && nextNextCode <= 57) { + return true; + } + return false; + } + if (code === dot) { + nextCode = value.charCodeAt(1); + if (nextCode >= 48 && nextCode <= 57) { + return true; + } + return false; + } + if (code >= 48 && code <= 57) { + return true; + } + return false; + } + __name(likeNumber, "likeNumber"); + module2.exports = function(value) { + var pos = 0; + var length = value.length; + var code; + var nextCode; + var nextNextCode; + if (length === 0 || !likeNumber(value)) { + return false; + } + code = value.charCodeAt(pos); + if (code === plus || code === minus) { + pos++; + } + while (pos < length) { + code = value.charCodeAt(pos); + if (code < 48 || code > 57) { + break; + } + pos += 1; + } + code = value.charCodeAt(pos); + nextCode = value.charCodeAt(pos + 1); + if (code === dot && nextCode >= 48 && nextCode <= 57) { + pos += 2; + while (pos < length) { + code = value.charCodeAt(pos); + if (code < 48 || code > 57) { + break; + } + pos += 1; + } + } + code = value.charCodeAt(pos); + nextCode = value.charCodeAt(pos + 1); + nextNextCode = value.charCodeAt(pos + 2); + if ((code === exp || code === EXP) && (nextCode >= 48 && nextCode <= 57 || (nextCode === plus || nextCode === minus) && nextNextCode >= 48 && nextNextCode <= 57)) { + pos += nextCode === plus || nextCode === minus ? 3 : 2; + while (pos < length) { + code = value.charCodeAt(pos); + if (code < 48 || code > 57) { + break; + } + pos += 1; + } + } + return { + number: value.slice(0, pos), + unit: value.slice(pos) + }; + }; + } +}); + +// node_modules/postcss-value-parser/lib/index.js +var require_lib2 = __commonJS({ + "node_modules/postcss-value-parser/lib/index.js"(exports2, module2) { + var parse = require_parse(); + var walk = require_walk(); + var stringify = require_stringify(); + function ValueParser(value) { + if (this instanceof ValueParser) { + this.nodes = parse(value); + return this; + } + return new ValueParser(value); + } + __name(ValueParser, "ValueParser"); + ValueParser.prototype.toString = function() { + return Array.isArray(this.nodes) ? stringify(this.nodes) : ""; + }; + ValueParser.prototype.walk = function(cb, bubble) { + walk(this.nodes, cb, bubble); + return this; + }; + ValueParser.unit = require_unit(); + ValueParser.walk = walk; + ValueParser.stringify = stringify; + module2.exports = ValueParser; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/StyleSheet/validate.js +var require_validate = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/StyleSheet/validate.js"(exports2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.validate = validate; + var _postcssValueParser = _interopRequireDefault(require_lib2()); + var invalidShortforms = { + background: true, + borderBottom: true, + borderLeft: true, + borderRight: true, + borderTop: true, + font: true, + grid: true, + outline: true, + textDecoration: true + }; + var invalidMultiValueShortforms = { + flex: true, + margin: true, + padding: true, + borderColor: true, + borderRadius: true, + borderStyle: true, + borderWidth: true, + inset: true, + insetBlock: true, + insetInline: true, + marginBlock: true, + marginInline: true, + marginHorizontal: true, + marginVertical: true, + paddingBlock: true, + paddingInline: true, + paddingHorizontal: true, + paddingVertical: true, + overflow: true, + overscrollBehavior: true, + backgroundPosition: true + }; + function error2(message) { + console.error(message); + } + __name(error2, "error"); + function validate(obj) { + for (var k in obj) { + var prop = k.trim(); + var value = obj[prop]; + var isInvalid = false; + if (value === null) { + continue; + } + if (typeof value === "string" && value.indexOf("!important") > -1) { + error2('Invalid style declaration "' + prop + ":" + value + '". Values cannot include "!important"'); + isInvalid = true; + } else { + var suggestion = ""; + if (prop === "animation" || prop === "animationName") { + suggestion = 'Did you mean "animationKeyframes"?'; + isInvalid = true; + } else if (prop === "direction") { + suggestion = 'Did you mean "writingDirection"?'; + isInvalid = true; + } else if (invalidShortforms[prop]) { + suggestion = "Please use long-form properties."; + isInvalid = true; + } else if (invalidMultiValueShortforms[prop]) { + if (typeof value === "string" && (0, _postcssValueParser.default)(value).nodes.length > 1) { + suggestion = 'Value is "' + value + '" but only single values are supported.'; + isInvalid = true; + } + } + if (suggestion !== "") { + error2('Invalid style property of "' + prop + '". ' + suggestion); + } + } + if (isInvalid) { + delete obj[k]; + } + } + } + __name(validate, "validate"); + } +}); + +// node_modules/react-native-web/dist/cjs/exports/StyleSheet/index.js +var require_StyleSheet = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/StyleSheet/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _objectSpread2 = _interopRequireDefault(require_objectSpread2()); + var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); + var _compiler = require_compiler(); + var _dom = require_dom(); + var _transformLocalizeStyle = require_transform_localize_style2(); + var _preprocess = require_preprocess(); + var _styleq = require_styleq2(); + var _validate = require_validate(); + var _canUseDom = _interopRequireDefault(require_canUseDom()); + var _excluded = ["writingDirection"]; + var staticStyleMap = /* @__PURE__ */ new WeakMap(); + var sheet = (0, _dom.createSheet)(); + var defaultPreprocessOptions = { + shadow: true, + textShadow: true + }; + function customStyleq(styles, options) { + if (options === void 0) { + options = {}; + } + var _options = options, writingDirection = _options.writingDirection, preprocessOptions = (0, _objectWithoutPropertiesLoose2.default)(_options, _excluded); + var isRTL2 = writingDirection === "rtl"; + return _styleq.styleq.factory({ + transform(style) { + var compiledStyle = staticStyleMap.get(style); + if (compiledStyle != null) { + return (0, _transformLocalizeStyle.localizeStyle)(compiledStyle, isRTL2); + } + return (0, _preprocess.preprocess)(style, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, defaultPreprocessOptions), preprocessOptions)); + } + })(styles); + } + __name(customStyleq, "customStyleq"); + function insertRules(compiledOrderedRules) { + compiledOrderedRules.forEach((_ref) => { + var rules = _ref[0], order = _ref[1]; + if (sheet != null) { + rules.forEach((rule) => { + sheet.insert(rule, order); + }); + } + }); + } + __name(insertRules, "insertRules"); + function compileAndInsertAtomic(style) { + var _atomic = (0, _compiler.atomic)((0, _preprocess.preprocess)(style, defaultPreprocessOptions)), compiledStyle = _atomic[0], compiledOrderedRules = _atomic[1]; + insertRules(compiledOrderedRules); + return compiledStyle; + } + __name(compileAndInsertAtomic, "compileAndInsertAtomic"); + function compileAndInsertReset(style, key) { + var _classic = (0, _compiler.classic)(style, key), compiledStyle = _classic[0], compiledOrderedRules = _classic[1]; + insertRules(compiledOrderedRules); + return compiledStyle; + } + __name(compileAndInsertReset, "compileAndInsertReset"); + var absoluteFillObject = { + position: "absolute", + left: 0, + right: 0, + top: 0, + bottom: 0 + }; + var absoluteFill = create2({ + x: (0, _objectSpread2.default)({}, absoluteFillObject) + }).x; + function create2(styles) { + Object.keys(styles).forEach((key) => { + var styleObj = styles[key]; + if (styleObj != null && styleObj.$$css !== true) { + var compiledStyles; + if (key.indexOf("$raw") > -1) { + compiledStyles = compileAndInsertReset(styleObj, key.split("$raw")[0]); + } else { + if (process.env.NODE_ENV !== "production") { + (0, _validate.validate)(styleObj); + styles[key] = Object.freeze(styleObj); + } + compiledStyles = compileAndInsertAtomic(styleObj); + } + staticStyleMap.set(styleObj, compiledStyles); + } + }); + return styles; + } + __name(create2, "create"); + function compose(style1, style2) { + if (process.env.NODE_ENV !== "production") { + var len = arguments.length; + if (len > 2) { + var readableStyles = [...arguments].map((a) => flatten(a)); + throw new Error("StyleSheet.compose() only accepts 2 arguments, received " + len + ": " + JSON.stringify(readableStyles)); + } + console.warn("StyleSheet.compose(a, b) is deprecated; use array syntax, i.e., [a,b]."); + } + return [style1, style2]; + } + __name(compose, "compose"); + function flatten() { + for (var _len = arguments.length, styles = new Array(_len), _key = 0; _key < _len; _key++) { + styles[_key] = arguments[_key]; + } + var flatArray = styles.flat(Infinity); + var result = {}; + for (var i = 0; i < flatArray.length; i++) { + var style = flatArray[i]; + if (style != null && typeof style === "object") { + Object.assign(result, style); + } + } + return result; + } + __name(flatten, "flatten"); + function getSheet() { + return { + id: sheet.id, + textContent: sheet.getTextContent() + }; + } + __name(getSheet, "getSheet"); + function StyleSheet(styles, options) { + if (options === void 0) { + options = {}; + } + var isRTL2 = options.writingDirection === "rtl"; + var styleProps = customStyleq(styles, options); + if (Array.isArray(styleProps) && styleProps[1] != null) { + styleProps[1] = (0, _compiler.inline)(styleProps[1], isRTL2); + } + return styleProps; + } + __name(StyleSheet, "StyleSheet"); + StyleSheet.absoluteFill = absoluteFill; + StyleSheet.absoluteFillObject = absoluteFillObject; + StyleSheet.create = create2; + StyleSheet.compose = compose; + StyleSheet.flatten = flatten; + StyleSheet.getSheet = getSheet; + StyleSheet.hairlineWidth = 1; + if (_canUseDom.default && window.__REACT_DEVTOOLS_GLOBAL_HOOK__) { + window.__REACT_DEVTOOLS_GLOBAL_HOOK__.resolveRNStyle = StyleSheet.flatten; + } + var stylesheet = StyleSheet; + var _default = stylesheet; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/modules/createDOMProps/index.js +var require_createDOMProps = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/createDOMProps/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _objectSpread2 = _interopRequireDefault(require_objectSpread2()); + var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); + var _AccessibilityUtil = _interopRequireDefault(require_AccessibilityUtil()); + var _StyleSheet2 = _interopRequireDefault(require_StyleSheet()); + var _warnOnce = require_warnOnce(); + var _excluded = ["aria-activedescendant", "accessibilityActiveDescendant", "aria-atomic", "accessibilityAtomic", "aria-autocomplete", "accessibilityAutoComplete", "aria-busy", "accessibilityBusy", "aria-checked", "accessibilityChecked", "aria-colcount", "accessibilityColumnCount", "aria-colindex", "accessibilityColumnIndex", "aria-colspan", "accessibilityColumnSpan", "aria-controls", "accessibilityControls", "aria-current", "accessibilityCurrent", "aria-describedby", "accessibilityDescribedBy", "aria-details", "accessibilityDetails", "aria-disabled", "accessibilityDisabled", "aria-errormessage", "accessibilityErrorMessage", "aria-expanded", "accessibilityExpanded", "aria-flowto", "accessibilityFlowTo", "aria-haspopup", "accessibilityHasPopup", "aria-hidden", "accessibilityHidden", "aria-invalid", "accessibilityInvalid", "aria-keyshortcuts", "accessibilityKeyShortcuts", "aria-label", "accessibilityLabel", "aria-labelledby", "accessibilityLabelledBy", "aria-level", "accessibilityLevel", "aria-live", "accessibilityLiveRegion", "aria-modal", "accessibilityModal", "aria-multiline", "accessibilityMultiline", "aria-multiselectable", "accessibilityMultiSelectable", "aria-orientation", "accessibilityOrientation", "aria-owns", "accessibilityOwns", "aria-placeholder", "accessibilityPlaceholder", "aria-posinset", "accessibilityPosInSet", "aria-pressed", "accessibilityPressed", "aria-readonly", "accessibilityReadOnly", "aria-required", "accessibilityRequired", "role", "accessibilityRole", "aria-roledescription", "accessibilityRoleDescription", "aria-rowcount", "accessibilityRowCount", "aria-rowindex", "accessibilityRowIndex", "aria-rowspan", "accessibilityRowSpan", "aria-selected", "accessibilitySelected", "aria-setsize", "accessibilitySetSize", "aria-sort", "accessibilitySort", "aria-valuemax", "accessibilityValueMax", "aria-valuemin", "accessibilityValueMin", "aria-valuenow", "accessibilityValueNow", "aria-valuetext", "accessibilityValueText", "dataSet", "focusable", "id", "nativeID", "pointerEvents", "style", "tabIndex", "testID"]; + var emptyObject = {}; + var hasOwnProperty = Object.prototype.hasOwnProperty; + var isArray = Array.isArray; + var uppercasePattern = /[A-Z]/g; + function toHyphenLower(match) { + return "-" + match.toLowerCase(); + } + __name(toHyphenLower, "toHyphenLower"); + function hyphenateString(str) { + return str.replace(uppercasePattern, toHyphenLower); + } + __name(hyphenateString, "hyphenateString"); + function processIDRefList(idRefList) { + return isArray(idRefList) ? idRefList.join(" ") : idRefList; + } + __name(processIDRefList, "processIDRefList"); + var pointerEventsStyles = _StyleSheet2.default.create({ + auto: { + pointerEvents: "auto" + }, + "box-none": { + pointerEvents: "box-none" + }, + "box-only": { + pointerEvents: "box-only" + }, + none: { + pointerEvents: "none" + } + }); + var createDOMProps = /* @__PURE__ */ __name((elementType, props, options) => { + if (!props) { + props = emptyObject; + } + var _props = props, ariaActiveDescendant = _props["aria-activedescendant"], accessibilityActiveDescendant = _props.accessibilityActiveDescendant, ariaAtomic = _props["aria-atomic"], accessibilityAtomic = _props.accessibilityAtomic, ariaAutoComplete = _props["aria-autocomplete"], accessibilityAutoComplete = _props.accessibilityAutoComplete, ariaBusy = _props["aria-busy"], accessibilityBusy = _props.accessibilityBusy, ariaChecked = _props["aria-checked"], accessibilityChecked = _props.accessibilityChecked, ariaColumnCount = _props["aria-colcount"], accessibilityColumnCount = _props.accessibilityColumnCount, ariaColumnIndex = _props["aria-colindex"], accessibilityColumnIndex = _props.accessibilityColumnIndex, ariaColumnSpan = _props["aria-colspan"], accessibilityColumnSpan = _props.accessibilityColumnSpan, ariaControls = _props["aria-controls"], accessibilityControls = _props.accessibilityControls, ariaCurrent = _props["aria-current"], accessibilityCurrent = _props.accessibilityCurrent, ariaDescribedBy = _props["aria-describedby"], accessibilityDescribedBy = _props.accessibilityDescribedBy, ariaDetails = _props["aria-details"], accessibilityDetails = _props.accessibilityDetails, ariaDisabled = _props["aria-disabled"], accessibilityDisabled = _props.accessibilityDisabled, ariaErrorMessage = _props["aria-errormessage"], accessibilityErrorMessage = _props.accessibilityErrorMessage, ariaExpanded = _props["aria-expanded"], accessibilityExpanded = _props.accessibilityExpanded, ariaFlowTo = _props["aria-flowto"], accessibilityFlowTo = _props.accessibilityFlowTo, ariaHasPopup = _props["aria-haspopup"], accessibilityHasPopup = _props.accessibilityHasPopup, ariaHidden = _props["aria-hidden"], accessibilityHidden = _props.accessibilityHidden, ariaInvalid = _props["aria-invalid"], accessibilityInvalid = _props.accessibilityInvalid, ariaKeyShortcuts = _props["aria-keyshortcuts"], accessibilityKeyShortcuts = _props.accessibilityKeyShortcuts, ariaLabel = _props["aria-label"], accessibilityLabel = _props.accessibilityLabel, ariaLabelledBy = _props["aria-labelledby"], accessibilityLabelledBy = _props.accessibilityLabelledBy, ariaLevel = _props["aria-level"], accessibilityLevel = _props.accessibilityLevel, ariaLive = _props["aria-live"], accessibilityLiveRegion = _props.accessibilityLiveRegion, ariaModal = _props["aria-modal"], accessibilityModal = _props.accessibilityModal, ariaMultiline = _props["aria-multiline"], accessibilityMultiline = _props.accessibilityMultiline, ariaMultiSelectable = _props["aria-multiselectable"], accessibilityMultiSelectable = _props.accessibilityMultiSelectable, ariaOrientation = _props["aria-orientation"], accessibilityOrientation = _props.accessibilityOrientation, ariaOwns = _props["aria-owns"], accessibilityOwns = _props.accessibilityOwns, ariaPlaceholder = _props["aria-placeholder"], accessibilityPlaceholder = _props.accessibilityPlaceholder, ariaPosInSet = _props["aria-posinset"], accessibilityPosInSet = _props.accessibilityPosInSet, ariaPressed = _props["aria-pressed"], accessibilityPressed = _props.accessibilityPressed, ariaReadOnly = _props["aria-readonly"], accessibilityReadOnly = _props.accessibilityReadOnly, ariaRequired = _props["aria-required"], accessibilityRequired = _props.accessibilityRequired, ariaRole = _props.role, accessibilityRole = _props.accessibilityRole, ariaRoleDescription = _props["aria-roledescription"], accessibilityRoleDescription = _props.accessibilityRoleDescription, ariaRowCount = _props["aria-rowcount"], accessibilityRowCount = _props.accessibilityRowCount, ariaRowIndex = _props["aria-rowindex"], accessibilityRowIndex = _props.accessibilityRowIndex, ariaRowSpan = _props["aria-rowspan"], accessibilityRowSpan = _props.accessibilityRowSpan, ariaSelected = _props["aria-selected"], accessibilitySelected = _props.accessibilitySelected, ariaSetSize = _props["aria-setsize"], accessibilitySetSize = _props.accessibilitySetSize, ariaSort = _props["aria-sort"], accessibilitySort = _props.accessibilitySort, ariaValueMax = _props["aria-valuemax"], accessibilityValueMax = _props.accessibilityValueMax, ariaValueMin = _props["aria-valuemin"], accessibilityValueMin = _props.accessibilityValueMin, ariaValueNow = _props["aria-valuenow"], accessibilityValueNow = _props.accessibilityValueNow, ariaValueText = _props["aria-valuetext"], accessibilityValueText = _props.accessibilityValueText, dataSet = _props.dataSet, focusable = _props.focusable, id = _props.id, nativeID = _props.nativeID, pointerEvents = _props.pointerEvents, style = _props.style, tabIndex = _props.tabIndex, testID = _props.testID, domProps = (0, _objectWithoutPropertiesLoose2.default)(_props, _excluded); + if (accessibilityDisabled != null) { + (0, _warnOnce.warnOnce)("accessibilityDisabled", "accessibilityDisabled is deprecated."); + } + var disabled = ariaDisabled || accessibilityDisabled; + var role = _AccessibilityUtil.default.propsToAriaRole(props); + if (accessibilityActiveDescendant != null) { + (0, _warnOnce.warnOnce)("accessibilityActiveDescendant", "accessibilityActiveDescendant is deprecated. Use aria-activedescendant."); + } + var _ariaActiveDescendant = ariaActiveDescendant != null ? ariaActiveDescendant : accessibilityActiveDescendant; + if (_ariaActiveDescendant != null) { + domProps["aria-activedescendant"] = _ariaActiveDescendant; + } + if (accessibilityAtomic != null) { + (0, _warnOnce.warnOnce)("accessibilityAtomic", "accessibilityAtomic is deprecated. Use aria-atomic."); + } + var _ariaAtomic = ariaAtomic != null ? ariaActiveDescendant : accessibilityAtomic; + if (_ariaAtomic != null) { + domProps["aria-atomic"] = _ariaAtomic; + } + if (accessibilityAutoComplete != null) { + (0, _warnOnce.warnOnce)("accessibilityAutoComplete", "accessibilityAutoComplete is deprecated. Use aria-autocomplete."); + } + var _ariaAutoComplete = ariaAutoComplete != null ? ariaAutoComplete : accessibilityAutoComplete; + if (_ariaAutoComplete != null) { + domProps["aria-autocomplete"] = _ariaAutoComplete; + } + if (accessibilityBusy != null) { + (0, _warnOnce.warnOnce)("accessibilityBusy", "accessibilityBusy is deprecated. Use aria-busy."); + } + var _ariaBusy = ariaBusy != null ? ariaBusy : accessibilityBusy; + if (_ariaBusy != null) { + domProps["aria-busy"] = _ariaBusy; + } + if (accessibilityChecked != null) { + (0, _warnOnce.warnOnce)("accessibilityChecked", "accessibilityChecked is deprecated. Use aria-checked."); + } + var _ariaChecked = ariaChecked != null ? ariaChecked : accessibilityChecked; + if (_ariaChecked != null) { + domProps["aria-checked"] = _ariaChecked; + } + if (accessibilityColumnCount != null) { + (0, _warnOnce.warnOnce)("accessibilityColumnCount", "accessibilityColumnCount is deprecated. Use aria-colcount."); + } + var _ariaColumnCount = ariaColumnCount != null ? ariaColumnCount : accessibilityColumnCount; + if (_ariaColumnCount != null) { + domProps["aria-colcount"] = _ariaColumnCount; + } + if (accessibilityColumnIndex != null) { + (0, _warnOnce.warnOnce)("accessibilityColumnIndex", "accessibilityColumnIndex is deprecated. Use aria-colindex."); + } + var _ariaColumnIndex = ariaColumnIndex != null ? ariaColumnIndex : accessibilityColumnIndex; + if (_ariaColumnIndex != null) { + domProps["aria-colindex"] = _ariaColumnIndex; + } + if (accessibilityColumnSpan != null) { + (0, _warnOnce.warnOnce)("accessibilityColumnSpan", "accessibilityColumnSpan is deprecated. Use aria-colspan."); + } + var _ariaColumnSpan = ariaColumnSpan != null ? ariaColumnSpan : accessibilityColumnSpan; + if (_ariaColumnSpan != null) { + domProps["aria-colspan"] = _ariaColumnSpan; + } + if (accessibilityControls != null) { + (0, _warnOnce.warnOnce)("accessibilityControls", "accessibilityControls is deprecated. Use aria-controls."); + } + var _ariaControls = ariaControls != null ? ariaControls : accessibilityControls; + if (_ariaControls != null) { + domProps["aria-controls"] = processIDRefList(_ariaControls); + } + if (accessibilityCurrent != null) { + (0, _warnOnce.warnOnce)("accessibilityCurrent", "accessibilityCurrent is deprecated. Use aria-current."); + } + var _ariaCurrent = ariaCurrent != null ? ariaCurrent : accessibilityCurrent; + if (_ariaCurrent != null) { + domProps["aria-current"] = _ariaCurrent; + } + if (accessibilityDescribedBy != null) { + (0, _warnOnce.warnOnce)("accessibilityDescribedBy", "accessibilityDescribedBy is deprecated. Use aria-describedby."); + } + var _ariaDescribedBy = ariaDescribedBy != null ? ariaDescribedBy : accessibilityDescribedBy; + if (_ariaDescribedBy != null) { + domProps["aria-describedby"] = processIDRefList(_ariaDescribedBy); + } + if (accessibilityDetails != null) { + (0, _warnOnce.warnOnce)("accessibilityDetails", "accessibilityDetails is deprecated. Use aria-details."); + } + var _ariaDetails = ariaDetails != null ? ariaDetails : accessibilityDetails; + if (_ariaDetails != null) { + domProps["aria-details"] = _ariaDetails; + } + if (disabled === true) { + domProps["aria-disabled"] = true; + if (elementType === "button" || elementType === "form" || elementType === "input" || elementType === "select" || elementType === "textarea") { + domProps.disabled = true; + } + } + if (accessibilityErrorMessage != null) { + (0, _warnOnce.warnOnce)("accessibilityErrorMessage", "accessibilityErrorMessage is deprecated. Use aria-errormessage."); + } + var _ariaErrorMessage = ariaErrorMessage != null ? ariaErrorMessage : accessibilityErrorMessage; + if (_ariaErrorMessage != null) { + domProps["aria-errormessage"] = _ariaErrorMessage; + } + if (accessibilityExpanded != null) { + (0, _warnOnce.warnOnce)("accessibilityExpanded", "accessibilityExpanded is deprecated. Use aria-expanded."); + } + var _ariaExpanded = ariaExpanded != null ? ariaExpanded : accessibilityExpanded; + if (_ariaExpanded != null) { + domProps["aria-expanded"] = _ariaExpanded; + } + if (accessibilityFlowTo != null) { + (0, _warnOnce.warnOnce)("accessibilityFlowTo", "accessibilityFlowTo is deprecated. Use aria-flowto."); + } + var _ariaFlowTo = ariaFlowTo != null ? ariaFlowTo : accessibilityFlowTo; + if (_ariaFlowTo != null) { + domProps["aria-flowto"] = processIDRefList(_ariaFlowTo); + } + if (accessibilityHasPopup != null) { + (0, _warnOnce.warnOnce)("accessibilityHasPopup", "accessibilityHasPopup is deprecated. Use aria-haspopup."); + } + var _ariaHasPopup = ariaHasPopup != null ? ariaHasPopup : accessibilityHasPopup; + if (_ariaHasPopup != null) { + domProps["aria-haspopup"] = _ariaHasPopup; + } + if (accessibilityHidden != null) { + (0, _warnOnce.warnOnce)("accessibilityHidden", "accessibilityHidden is deprecated. Use aria-hidden."); + } + var _ariaHidden = ariaHidden != null ? ariaHidden : accessibilityHidden; + if (_ariaHidden === true) { + domProps["aria-hidden"] = _ariaHidden; + } + if (accessibilityInvalid != null) { + (0, _warnOnce.warnOnce)("accessibilityInvalid", "accessibilityInvalid is deprecated. Use aria-invalid."); + } + var _ariaInvalid = ariaInvalid != null ? ariaInvalid : accessibilityInvalid; + if (_ariaInvalid != null) { + domProps["aria-invalid"] = _ariaInvalid; + } + if (accessibilityKeyShortcuts != null) { + (0, _warnOnce.warnOnce)("accessibilityKeyShortcuts", "accessibilityKeyShortcuts is deprecated. Use aria-keyshortcuts."); + } + var _ariaKeyShortcuts = ariaKeyShortcuts != null ? ariaKeyShortcuts : accessibilityKeyShortcuts; + if (_ariaKeyShortcuts != null) { + domProps["aria-keyshortcuts"] = processIDRefList(_ariaKeyShortcuts); + } + if (accessibilityLabel != null) { + (0, _warnOnce.warnOnce)("accessibilityLabel", "accessibilityLabel is deprecated. Use aria-label."); + } + var _ariaLabel = ariaLabel != null ? ariaLabel : accessibilityLabel; + if (_ariaLabel != null) { + domProps["aria-label"] = _ariaLabel; + } + if (accessibilityLabelledBy != null) { + (0, _warnOnce.warnOnce)("accessibilityLabelledBy", "accessibilityLabelledBy is deprecated. Use aria-labelledby."); + } + var _ariaLabelledBy = ariaLabelledBy != null ? ariaLabelledBy : accessibilityLabelledBy; + if (_ariaLabelledBy != null) { + domProps["aria-labelledby"] = processIDRefList(_ariaLabelledBy); + } + if (accessibilityLevel != null) { + (0, _warnOnce.warnOnce)("accessibilityLevel", "accessibilityLevel is deprecated. Use aria-level."); + } + var _ariaLevel = ariaLevel != null ? ariaLevel : accessibilityLevel; + if (_ariaLevel != null) { + domProps["aria-level"] = _ariaLevel; + } + if (accessibilityLiveRegion != null) { + (0, _warnOnce.warnOnce)("accessibilityLiveRegion", "accessibilityLiveRegion is deprecated. Use aria-live."); + } + var _ariaLive = ariaLive != null ? ariaLive : accessibilityLiveRegion; + if (_ariaLive != null) { + domProps["aria-live"] = _ariaLive === "none" ? "off" : _ariaLive; + } + if (accessibilityModal != null) { + (0, _warnOnce.warnOnce)("accessibilityModal", "accessibilityModal is deprecated. Use aria-modal."); + } + var _ariaModal = ariaModal != null ? ariaModal : accessibilityModal; + if (_ariaModal != null) { + domProps["aria-modal"] = _ariaModal; + } + if (accessibilityMultiline != null) { + (0, _warnOnce.warnOnce)("accessibilityMultiline", "accessibilityMultiline is deprecated. Use aria-multiline."); + } + var _ariaMultiline = ariaMultiline != null ? ariaMultiline : accessibilityMultiline; + if (_ariaMultiline != null) { + domProps["aria-multiline"] = _ariaMultiline; + } + if (accessibilityMultiSelectable != null) { + (0, _warnOnce.warnOnce)("accessibilityMultiSelectable", "accessibilityMultiSelectable is deprecated. Use aria-multiselectable."); + } + var _ariaMultiSelectable = ariaMultiSelectable != null ? ariaMultiSelectable : accessibilityMultiSelectable; + if (_ariaMultiSelectable != null) { + domProps["aria-multiselectable"] = _ariaMultiSelectable; + } + if (accessibilityOrientation != null) { + (0, _warnOnce.warnOnce)("accessibilityOrientation", "accessibilityOrientation is deprecated. Use aria-orientation."); + } + var _ariaOrientation = ariaOrientation != null ? ariaOrientation : accessibilityOrientation; + if (_ariaOrientation != null) { + domProps["aria-orientation"] = _ariaOrientation; + } + if (accessibilityOwns != null) { + (0, _warnOnce.warnOnce)("accessibilityOwns", "accessibilityOwns is deprecated. Use aria-owns."); + } + var _ariaOwns = ariaOwns != null ? ariaOwns : accessibilityOwns; + if (_ariaOwns != null) { + domProps["aria-owns"] = processIDRefList(_ariaOwns); + } + if (accessibilityPlaceholder != null) { + (0, _warnOnce.warnOnce)("accessibilityPlaceholder", "accessibilityPlaceholder is deprecated. Use aria-placeholder."); + } + var _ariaPlaceholder = ariaPlaceholder != null ? ariaPlaceholder : accessibilityPlaceholder; + if (_ariaPlaceholder != null) { + domProps["aria-placeholder"] = _ariaPlaceholder; + } + if (accessibilityPosInSet != null) { + (0, _warnOnce.warnOnce)("accessibilityPosInSet", "accessibilityPosInSet is deprecated. Use aria-posinset."); + } + var _ariaPosInSet = ariaPosInSet != null ? ariaPosInSet : accessibilityPosInSet; + if (_ariaPosInSet != null) { + domProps["aria-posinset"] = _ariaPosInSet; + } + if (accessibilityPressed != null) { + (0, _warnOnce.warnOnce)("accessibilityPressed", "accessibilityPressed is deprecated. Use aria-pressed."); + } + var _ariaPressed = ariaPressed != null ? ariaPressed : accessibilityPressed; + if (_ariaPressed != null) { + domProps["aria-pressed"] = _ariaPressed; + } + if (accessibilityReadOnly != null) { + (0, _warnOnce.warnOnce)("accessibilityReadOnly", "accessibilityReadOnly is deprecated. Use aria-readonly."); + } + var _ariaReadOnly = ariaReadOnly != null ? ariaReadOnly : accessibilityReadOnly; + if (_ariaReadOnly != null) { + domProps["aria-readonly"] = _ariaReadOnly; + if (elementType === "input" || elementType === "select" || elementType === "textarea") { + domProps.readOnly = true; + } + } + if (accessibilityRequired != null) { + (0, _warnOnce.warnOnce)("accessibilityRequired", "accessibilityRequired is deprecated. Use aria-required."); + } + var _ariaRequired = ariaRequired != null ? ariaRequired : accessibilityRequired; + if (_ariaRequired != null) { + domProps["aria-required"] = _ariaRequired; + if (elementType === "input" || elementType === "select" || elementType === "textarea") { + domProps.required = accessibilityRequired; + } + } + if (accessibilityRole != null) { + (0, _warnOnce.warnOnce)("accessibilityRole", "accessibilityRole is deprecated. Use role."); + } + if (role != null) { + domProps["role"] = role === "none" ? "presentation" : role; + } + if (accessibilityRoleDescription != null) { + (0, _warnOnce.warnOnce)("accessibilityRoleDescription", "accessibilityRoleDescription is deprecated. Use aria-roledescription."); + } + var _ariaRoleDescription = ariaRoleDescription != null ? ariaRoleDescription : accessibilityRoleDescription; + if (_ariaRoleDescription != null) { + domProps["aria-roledescription"] = _ariaRoleDescription; + } + if (accessibilityRowCount != null) { + (0, _warnOnce.warnOnce)("accessibilityRowCount", "accessibilityRowCount is deprecated. Use aria-rowcount."); + } + var _ariaRowCount = ariaRowCount != null ? ariaRowCount : accessibilityRowCount; + if (_ariaRowCount != null) { + domProps["aria-rowcount"] = _ariaRowCount; + } + if (accessibilityRowIndex != null) { + (0, _warnOnce.warnOnce)("accessibilityRowIndex", "accessibilityRowIndex is deprecated. Use aria-rowindex."); + } + var _ariaRowIndex = ariaRowIndex != null ? ariaRowIndex : accessibilityRowIndex; + if (_ariaRowIndex != null) { + domProps["aria-rowindex"] = _ariaRowIndex; + } + if (accessibilityRowSpan != null) { + (0, _warnOnce.warnOnce)("accessibilityRowSpan", "accessibilityRowSpan is deprecated. Use aria-rowspan."); + } + var _ariaRowSpan = ariaRowSpan != null ? ariaRowSpan : accessibilityRowSpan; + if (_ariaRowSpan != null) { + domProps["aria-rowspan"] = _ariaRowSpan; + } + if (accessibilitySelected != null) { + (0, _warnOnce.warnOnce)("accessibilitySelected", "accessibilitySelected is deprecated. Use aria-selected."); + } + var _ariaSelected = ariaSelected != null ? ariaSelected : accessibilitySelected; + if (_ariaSelected != null) { + domProps["aria-selected"] = _ariaSelected; + } + if (accessibilitySetSize != null) { + (0, _warnOnce.warnOnce)("accessibilitySetSize", "accessibilitySetSize is deprecated. Use aria-setsize."); + } + var _ariaSetSize = ariaSetSize != null ? ariaSetSize : accessibilitySetSize; + if (_ariaSetSize != null) { + domProps["aria-setsize"] = _ariaSetSize; + } + if (accessibilitySort != null) { + (0, _warnOnce.warnOnce)("accessibilitySort", "accessibilitySort is deprecated. Use aria-sort."); + } + var _ariaSort = ariaSort != null ? ariaSort : accessibilitySort; + if (_ariaSort != null) { + domProps["aria-sort"] = _ariaSort; + } + if (accessibilityValueMax != null) { + (0, _warnOnce.warnOnce)("accessibilityValueMax", "accessibilityValueMax is deprecated. Use aria-valuemax."); + } + var _ariaValueMax = ariaValueMax != null ? ariaValueMax : accessibilityValueMax; + if (_ariaValueMax != null) { + domProps["aria-valuemax"] = _ariaValueMax; + } + if (accessibilityValueMin != null) { + (0, _warnOnce.warnOnce)("accessibilityValueMin", "accessibilityValueMin is deprecated. Use aria-valuemin."); + } + var _ariaValueMin = ariaValueMin != null ? ariaValueMin : accessibilityValueMin; + if (_ariaValueMin != null) { + domProps["aria-valuemin"] = _ariaValueMin; + } + if (accessibilityValueNow != null) { + (0, _warnOnce.warnOnce)("accessibilityValueNow", "accessibilityValueNow is deprecated. Use aria-valuenow."); + } + var _ariaValueNow = ariaValueNow != null ? ariaValueNow : accessibilityValueNow; + if (_ariaValueNow != null) { + domProps["aria-valuenow"] = _ariaValueNow; + } + if (accessibilityValueText != null) { + (0, _warnOnce.warnOnce)("accessibilityValueText", "accessibilityValueText is deprecated. Use aria-valuetext."); + } + var _ariaValueText = ariaValueText != null ? ariaValueText : accessibilityValueText; + if (_ariaValueText != null) { + domProps["aria-valuetext"] = _ariaValueText; + } + if (dataSet != null) { + for (var dataProp in dataSet) { + if (hasOwnProperty.call(dataSet, dataProp)) { + var dataName = hyphenateString(dataProp); + var dataValue = dataSet[dataProp]; + if (dataValue != null) { + domProps["data-" + dataName] = dataValue; + } + } + } + } + if (tabIndex === 0 || tabIndex === "0" || tabIndex === -1 || tabIndex === "-1") { + domProps.tabIndex = tabIndex; + } else { + if (focusable != null) { + (0, _warnOnce.warnOnce)("focusable", "focusable is deprecated."); + } + if (focusable === false) { + domProps.tabIndex = "-1"; + } + if ( + // These native elements are keyboard focusable by default + elementType === "a" || elementType === "button" || elementType === "input" || elementType === "select" || elementType === "textarea" + ) { + if (focusable === false || accessibilityDisabled === true) { + domProps.tabIndex = "-1"; + } + } else if ( + // These roles are made keyboard focusable by default + role === "button" || role === "checkbox" || role === "link" || role === "radio" || role === "textbox" || role === "switch" + ) { + if (focusable !== false) { + domProps.tabIndex = "0"; + } + } else { + if (focusable === true) { + domProps.tabIndex = "0"; + } + } + } + if (pointerEvents != null) { + (0, _warnOnce.warnOnce)("pointerEvents", "props.pointerEvents is deprecated. Use style.pointerEvents"); + } + var _StyleSheet = (0, _StyleSheet2.default)([style, pointerEvents && pointerEventsStyles[pointerEvents]], (0, _objectSpread2.default)({ + writingDirection: "ltr" + }, options)), className = _StyleSheet[0], inlineStyle = _StyleSheet[1]; + if (className) { + domProps.className = className; + } + if (inlineStyle) { + domProps.style = inlineStyle; + } + if (nativeID != null) { + (0, _warnOnce.warnOnce)("nativeID", "nativeID is deprecated. Use id."); + } + var _id = id != null ? id : nativeID; + if (_id != null) { + domProps.id = _id; + } + if (testID != null) { + domProps["data-testid"] = testID; + } + if (domProps.type == null && elementType === "button") { + domProps.type = "button"; + } + return domProps; + }, "createDOMProps"); + var _default = createDOMProps; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/@babel/runtime/helpers/interopRequireWildcard.js +var require_interopRequireWildcard = __commonJS({ + "node_modules/@babel/runtime/helpers/interopRequireWildcard.js"(exports2, module2) { + var _typeof = require_typeof()["default"]; + function _getRequireWildcardCache(e) { + if ("function" != typeof WeakMap) + return null; + var r = /* @__PURE__ */ new WeakMap(), t = /* @__PURE__ */ new WeakMap(); + return (_getRequireWildcardCache = /* @__PURE__ */ __name(function _getRequireWildcardCache2(e2) { + return e2 ? t : r; + }, "_getRequireWildcardCache"))(e); + } + __name(_getRequireWildcardCache, "_getRequireWildcardCache"); + function _interopRequireWildcard(e, r) { + if (!r && e && e.__esModule) + return e; + if (null === e || "object" != _typeof(e) && "function" != typeof e) + return { + "default": e + }; + var t = _getRequireWildcardCache(r); + if (t && t.has(e)) + return t.get(e); + var n = { + __proto__: null + }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; + for (var u in e) + if ("default" !== u && {}.hasOwnProperty.call(e, u)) { + var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; + i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; + } + return n["default"] = e, t && t.set(e, n), n; + } + __name(_interopRequireWildcard, "_interopRequireWildcard"); + module2.exports = _interopRequireWildcard, module2.exports.__esModule = true, module2.exports["default"] = module2.exports; + } +}); + +// node_modules/react-native-web/dist/cjs/modules/useLocale/isLocaleRTL.js +var require_isLocaleRTL = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/useLocale/isLocaleRTL.js"(exports2) { + "use strict"; + exports2.__esModule = true; + exports2.isLocaleRTL = isLocaleRTL; + var rtlScripts = /* @__PURE__ */ new Set(["Arab", "Syrc", "Samr", "Mand", "Thaa", "Mend", "Nkoo", "Adlm", "Rohg", "Hebr"]); + var rtlLangs = /* @__PURE__ */ new Set([ + "ae", + // Avestan + "ar", + // Arabic + "arc", + // Aramaic + "bcc", + // Southern Balochi + "bqi", + // Bakthiari + "ckb", + // Sorani + "dv", + // Dhivehi + "fa", + "far", + // Persian + "glk", + // Gilaki + "he", + "iw", + // Hebrew + "khw", + // Khowar + "ks", + // Kashmiri + "ku", + // Kurdish + "mzn", + // Mazanderani + "nqo", + // N'Ko + "pnb", + // Western Punjabi + "ps", + // Pashto + "sd", + // Sindhi + "ug", + // Uyghur + "ur", + // Urdu + "yi" + // Yiddish + ]); + var cache3 = /* @__PURE__ */ new Map(); + function isLocaleRTL(locale) { + var cachedRTL = cache3.get(locale); + if (cachedRTL) { + return cachedRTL; + } + var isRTL2 = false; + if (Intl.Locale) { + var script = new Intl.Locale(locale).maximize().script; + isRTL2 = rtlScripts.has(script); + } else { + var lang = locale.split("-")[0]; + isRTL2 = rtlLangs.has(lang); + } + cache3.set(locale, isRTL2); + return isRTL2; + } + __name(isLocaleRTL, "isLocaleRTL"); + } +}); + +// node_modules/react-native-web/dist/cjs/modules/useLocale/index.js +var require_useLocale = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/useLocale/index.js"(exports2) { + "use strict"; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.LocaleProvider = LocaleProvider; + exports2.getLocaleDirection = getLocaleDirection; + exports2.useLocaleContext = useLocaleContext; + var _react = _interopRequireWildcard(require("react")); + var _isLocaleRTL = require_isLocaleRTL(); + var defaultLocale = { + direction: "ltr", + locale: "en-US" + }; + var LocaleContext = /* @__PURE__ */ (0, _react.createContext)(defaultLocale); + function getLocaleDirection(locale) { + return (0, _isLocaleRTL.isLocaleRTL)(locale) ? "rtl" : "ltr"; + } + __name(getLocaleDirection, "getLocaleDirection"); + function LocaleProvider(props) { + var direction = props.direction, locale = props.locale, children = props.children; + var needsContext = direction || locale; + return needsContext ? /* @__PURE__ */ _react.default.createElement(LocaleContext.Provider, { + children, + value: { + direction: locale ? getLocaleDirection(locale) : direction, + locale + } + }) : children; + } + __name(LocaleProvider, "LocaleProvider"); + function useLocaleContext() { + return (0, _react.useContext)(LocaleContext); + } + __name(useLocaleContext, "useLocaleContext"); + } +}); + +// node_modules/react-native-web/dist/cjs/exports/createElement/index.js +var require_createElement = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/createElement/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _AccessibilityUtil = _interopRequireDefault(require_AccessibilityUtil()); + var _createDOMProps = _interopRequireDefault(require_createDOMProps()); + var _react = _interopRequireDefault(require("react")); + var _useLocale = require_useLocale(); + var createElement5 = /* @__PURE__ */ __name((component, props, options) => { + var accessibilityComponent; + if (component && component.constructor === String) { + accessibilityComponent = _AccessibilityUtil.default.propsToAccessibilityComponent(props); + } + var Component = accessibilityComponent || component; + var domProps = (0, _createDOMProps.default)(Component, props, options); + var element = /* @__PURE__ */ _react.default.createElement(Component, domProps); + var elementWithLocaleProvider = domProps.dir ? /* @__PURE__ */ _react.default.createElement(_useLocale.LocaleProvider, { + children: element, + direction: domProps.dir, + locale: domProps.lang + }) : element; + return elementWithLocaleProvider; + }, "createElement"); + var _default = createElement5; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/findNodeHandle/index.js +var require_findNodeHandle = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/findNodeHandle/index.js"(exports2, module2) { + "use strict"; + exports2.__esModule = true; + exports2.default = void 0; + var _reactDom = require("react-dom"); + var findNodeHandle = /* @__PURE__ */ __name((component) => { + var node; + try { + node = (0, _reactDom.findDOMNode)(component); + } catch (e) { + } + return node; + }, "findNodeHandle"); + var _default = findNodeHandle; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/unmountComponentAtNode/index.js +var require_unmountComponentAtNode = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/unmountComponentAtNode/index.js"(exports2, module2) { + "use strict"; + exports2.__esModule = true; + exports2.default = void 0; + var _reactDom = require("react-dom"); + var _default = _reactDom.unmountComponentAtNode; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/render/index.js +var require_render = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/render/index.js"(exports2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = renderLegacy; + exports2.hydrate = hydrate; + exports2.hydrateLegacy = hydrateLegacy; + exports2.render = render; + var _reactDom = require("react-dom"); + var _client = require("react-dom/client"); + var _unmountComponentAtNode = _interopRequireDefault(require_unmountComponentAtNode()); + var _dom = require_dom(); + function hydrate(element, root) { + (0, _dom.createSheet)(root); + return (0, _client.hydrateRoot)(root, element); + } + __name(hydrate, "hydrate"); + function render(element, root) { + (0, _dom.createSheet)(root); + var reactRoot = (0, _client.createRoot)(root); + reactRoot.render(element); + return reactRoot; + } + __name(render, "render"); + function hydrateLegacy(element, root, callback) { + (0, _dom.createSheet)(root); + (0, _reactDom.hydrate)(element, root, callback); + return { + unmount: /* @__PURE__ */ __name(function unmount() { + return (0, _unmountComponentAtNode.default)(root); + }, "unmount") + }; + } + __name(hydrateLegacy, "hydrateLegacy"); + function renderLegacy(element, root, callback) { + (0, _dom.createSheet)(root); + (0, _reactDom.render)(element, root, callback); + return { + unmount: /* @__PURE__ */ __name(function unmount() { + return (0, _unmountComponentAtNode.default)(root); + }, "unmount") + }; + } + __name(renderLegacy, "renderLegacy"); + } +}); + +// node_modules/react-native-web/dist/cjs/modules/getBoundingClientRect/index.js +var require_getBoundingClientRect = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/getBoundingClientRect/index.js"(exports2, module2) { + "use strict"; + exports2.__esModule = true; + exports2.default = void 0; + var getBoundingClientRect2 = /* @__PURE__ */ __name((node) => { + if (node != null) { + var isElement2 = node.nodeType === 1; + if (isElement2 && typeof node.getBoundingClientRect === "function") { + return node.getBoundingClientRect(); + } + } + }, "getBoundingClientRect"); + var _default = getBoundingClientRect2; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/modules/unitlessNumbers/index.js +var require_unitlessNumbers2 = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/unitlessNumbers/index.js"(exports2, module2) { + "use strict"; + exports2.__esModule = true; + exports2.default = void 0; + var unitlessNumbers = { + animationIterationCount: true, + aspectRatio: true, + borderImageOutset: true, + borderImageSlice: true, + borderImageWidth: true, + boxFlex: true, + boxFlexGroup: true, + boxOrdinalGroup: true, + columnCount: true, + flex: true, + flexGrow: true, + flexOrder: true, + flexPositive: true, + flexShrink: true, + flexNegative: true, + fontWeight: true, + gridRow: true, + gridRowEnd: true, + gridRowGap: true, + gridRowStart: true, + gridColumn: true, + gridColumnEnd: true, + gridColumnGap: true, + gridColumnStart: true, + lineClamp: true, + opacity: true, + order: true, + orphans: true, + tabSize: true, + widows: true, + zIndex: true, + zoom: true, + // SVG-related + fillOpacity: true, + floodOpacity: true, + stopOpacity: true, + strokeDasharray: true, + strokeDashoffset: true, + strokeMiterlimit: true, + strokeOpacity: true, + strokeWidth: true, + // transform types + scale: true, + scaleX: true, + scaleY: true, + scaleZ: true, + // RN properties + shadowOpacity: true + }; + var prefixes = ["ms", "Moz", "O", "Webkit"]; + var prefixKey = /* @__PURE__ */ __name((prefix, key) => { + return prefix + key.charAt(0).toUpperCase() + key.substring(1); + }, "prefixKey"); + Object.keys(unitlessNumbers).forEach((prop) => { + prefixes.forEach((prefix) => { + unitlessNumbers[prefixKey(prefix, prop)] = unitlessNumbers[prop]; + }); + }); + var _default = unitlessNumbers; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/modules/setValueForStyles/dangerousStyleValue.js +var require_dangerousStyleValue = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/setValueForStyles/dangerousStyleValue.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _unitlessNumbers = _interopRequireDefault(require_unitlessNumbers2()); + function dangerousStyleValue(name, value, isCustomProperty) { + var isEmpty = value == null || typeof value === "boolean" || value === ""; + if (isEmpty) { + return ""; + } + if (!isCustomProperty && typeof value === "number" && value !== 0 && !(_unitlessNumbers.default.hasOwnProperty(name) && _unitlessNumbers.default[name])) { + return value + "px"; + } + return ("" + value).trim(); + } + __name(dangerousStyleValue, "dangerousStyleValue"); + var _default = dangerousStyleValue; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/modules/setValueForStyles/index.js +var require_setValueForStyles = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/setValueForStyles/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _dangerousStyleValue = _interopRequireDefault(require_dangerousStyleValue()); + function setValueForStyles(node, styles) { + var style = node.style; + for (var styleName in styles) { + if (!styles.hasOwnProperty(styleName)) { + continue; + } + var isCustomProperty = styleName.indexOf("--") === 0; + var styleValue = (0, _dangerousStyleValue.default)(styleName, styles[styleName], isCustomProperty); + if (styleName === "float") { + styleName = "cssFloat"; + } + if (isCustomProperty) { + style.setProperty(styleName, styleValue); + } else { + style[styleName] = styleValue; + } + } + } + __name(setValueForStyles, "setValueForStyles"); + var _default = setValueForStyles; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/UIManager/index.js +var require_UIManager = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/UIManager/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _getBoundingClientRect = _interopRequireDefault(require_getBoundingClientRect()); + var _setValueForStyles = _interopRequireDefault(require_setValueForStyles()); + var getRect = /* @__PURE__ */ __name((node) => { + var height = node.offsetHeight; + var width = node.offsetWidth; + var left = node.offsetLeft; + var top = node.offsetTop; + node = node.offsetParent; + while (node && node.nodeType === 1) { + left += node.offsetLeft + node.clientLeft - node.scrollLeft; + top += node.offsetTop + node.clientTop - node.scrollTop; + node = node.offsetParent; + } + top -= window.scrollY; + left -= window.scrollX; + return { + width, + height, + top, + left + }; + }, "getRect"); + var measureLayout = /* @__PURE__ */ __name((node, relativeToNativeNode, callback) => { + var relativeNode = relativeToNativeNode || node && node.parentNode; + if (node && relativeNode) { + setTimeout(() => { + if (node.isConnected && relativeNode.isConnected) { + var relativeRect = getRect(relativeNode); + var _getRect = getRect(node), height = _getRect.height, left = _getRect.left, top = _getRect.top, width = _getRect.width; + var x = left - relativeRect.left; + var y = top - relativeRect.top; + callback(x, y, width, height, left, top); + } + }, 0); + } + }, "measureLayout"); + var elementsToIgnore = { + A: true, + BODY: true, + INPUT: true, + SELECT: true, + TEXTAREA: true + }; + var UIManager = { + blur(node) { + try { + node.blur(); + } catch (err) { + } + }, + focus(node) { + try { + var name = node.nodeName; + if (node.getAttribute("tabIndex") == null && node.isContentEditable !== true && elementsToIgnore[name] == null) { + node.setAttribute("tabIndex", "-1"); + } + node.focus(); + } catch (err) { + } + }, + measure(node, callback) { + measureLayout(node, null, callback); + }, + measureInWindow(node, callback) { + if (node) { + setTimeout(() => { + var _getBoundingClientRec = (0, _getBoundingClientRect.default)(node), height = _getBoundingClientRec.height, left = _getBoundingClientRec.left, top = _getBoundingClientRec.top, width = _getBoundingClientRec.width; + callback(left, top, width, height); + }, 0); + } + }, + measureLayout(node, relativeToNativeNode, onFail, onSuccess) { + measureLayout(node, relativeToNativeNode, onSuccess); + }, + updateView(node, props) { + for (var prop in props) { + if (!Object.prototype.hasOwnProperty.call(props, prop)) { + continue; + } + var value = props[prop]; + switch (prop) { + case "style": { + (0, _setValueForStyles.default)(node, value); + break; + } + case "class": + case "className": { + node.setAttribute("class", value); + break; + } + case "text": + case "value": + node.value = value; + break; + default: + node.setAttribute(prop, value); + } + } + }, + configureNextLayoutAnimation(config, onAnimationDidEnd) { + onAnimationDidEnd(); + }, + // mocks + setLayoutAnimationEnabledExperimental() { + } + }; + var _default = UIManager; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/NativeModules/index.js +var require_NativeModules = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/NativeModules/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _UIManager = _interopRequireDefault(require_UIManager()); + var NativeModules = { + UIManager: _UIManager.default + }; + var _default = NativeModules; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/AccessibilityInfo/index.js +var require_AccessibilityInfo = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/AccessibilityInfo/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _canUseDom = _interopRequireDefault(require_canUseDom()); + function isScreenReaderEnabled() { + return new Promise((resolve, reject) => { + resolve(true); + }); + } + __name(isScreenReaderEnabled, "isScreenReaderEnabled"); + var prefersReducedMotionMedia = _canUseDom.default && typeof window.matchMedia === "function" ? window.matchMedia("(prefers-reduced-motion: reduce)") : null; + function isReduceMotionEnabled() { + return new Promise((resolve, reject) => { + resolve(prefersReducedMotionMedia ? prefersReducedMotionMedia.matches : true); + }); + } + __name(isReduceMotionEnabled, "isReduceMotionEnabled"); + function addChangeListener(fn) { + if (prefersReducedMotionMedia != null) { + prefersReducedMotionMedia.addEventListener != null ? prefersReducedMotionMedia.addEventListener("change", fn) : prefersReducedMotionMedia.addListener(fn); + } + } + __name(addChangeListener, "addChangeListener"); + function removeChangeListener(fn) { + if (prefersReducedMotionMedia != null) { + prefersReducedMotionMedia.removeEventListener != null ? prefersReducedMotionMedia.removeEventListener("change", fn) : prefersReducedMotionMedia.removeListener(fn); + } + } + __name(removeChangeListener, "removeChangeListener"); + var handlers = {}; + var AccessibilityInfo = { + /** + * Query whether a screen reader is currently enabled. + * + * Returns a promise which resolves to a boolean. + * The result is `true` when a screen reader is enabled and `false` otherwise. + */ + isScreenReaderEnabled, + /** + * Query whether the user prefers reduced motion. + * + * Returns a promise which resolves to a boolean. + * The result is `true` when a screen reader is enabled and `false` otherwise. + */ + isReduceMotionEnabled, + /** + * Deprecated + */ + fetch: isScreenReaderEnabled, + /** + * Add an event handler. Supported events: reduceMotionChanged + */ + addEventListener: /* @__PURE__ */ __name(function addEventListener(eventName, handler) { + if (eventName === "reduceMotionChanged") { + if (!prefersReducedMotionMedia) { + return; + } + var listener = /* @__PURE__ */ __name((event) => { + handler(event.matches); + }, "listener"); + addChangeListener(listener); + handlers[handler] = listener; + } + return { + remove: () => AccessibilityInfo.removeEventListener(eventName, handler) + }; + }, "addEventListener"), + /** + * Set accessibility focus to a react component. + */ + setAccessibilityFocus: /* @__PURE__ */ __name(function setAccessibilityFocus(reactTag) { + }, "setAccessibilityFocus"), + /** + * Post a string to be announced by the screen reader. + */ + announceForAccessibility: /* @__PURE__ */ __name(function announceForAccessibility(announcement) { + }, "announceForAccessibility"), + /** + * Remove an event handler. + */ + removeEventListener: /* @__PURE__ */ __name(function removeEventListener(eventName, handler) { + if (eventName === "reduceMotionChanged") { + var listener = handlers[handler]; + if (!listener || !prefersReducedMotionMedia) { + return; + } + removeChangeListener(listener); + } + return; + }, "removeEventListener") + }; + var _default = AccessibilityInfo; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/Alert/index.js +var require_Alert = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/Alert/index.js"(exports2, module2) { + "use strict"; + exports2.__esModule = true; + exports2.default = void 0; + var _Alert = class _Alert { + static alert() { + } + }; + __name(_Alert, "Alert"); + var Alert = _Alert; + var _default = Alert; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/Platform/index.js +var require_Platform = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/Platform/index.js"(exports2, module2) { + "use strict"; + exports2.__esModule = true; + exports2.default = void 0; + var Platform3 = { + OS: "web", + select: (obj) => "web" in obj ? obj.web : obj.default, + get isTesting() { + if (process.env.NODE_ENV === "test") { + return true; + } + return false; + } + }; + var _default = Platform3; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/@babel/runtime/helpers/extends.js +var require_extends = __commonJS({ + "node_modules/@babel/runtime/helpers/extends.js"(exports2, module2) { + function _extends2() { + module2.exports = _extends2 = Object.assign ? Object.assign.bind() : function(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + return target; + }, module2.exports.__esModule = true, module2.exports["default"] = module2.exports; + return _extends2.apply(this, arguments); + } + __name(_extends2, "_extends"); + module2.exports = _extends2, module2.exports.__esModule = true, module2.exports["default"] = module2.exports; + } +}); + +// node_modules/react-native-web/dist/cjs/modules/forwardedProps/index.js +var require_forwardedProps = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/forwardedProps/index.js"(exports2) { + "use strict"; + exports2.__esModule = true; + exports2.touchProps = exports2.styleProps = exports2.mouseProps = exports2.keyboardProps = exports2.focusProps = exports2.defaultProps = exports2.clickProps = exports2.accessibilityProps = void 0; + var defaultProps = { + children: true, + dataSet: true, + dir: true, + id: true, + ref: true, + suppressHydrationWarning: true, + tabIndex: true, + testID: true, + // @deprecated + focusable: true, + nativeID: true + }; + exports2.defaultProps = defaultProps; + var accessibilityProps = { + "aria-activedescendant": true, + "aria-atomic": true, + "aria-autocomplete": true, + "aria-busy": true, + "aria-checked": true, + "aria-colcount": true, + "aria-colindex": true, + "aria-colspan": true, + "aria-controls": true, + "aria-current": true, + "aria-describedby": true, + "aria-details": true, + "aria-disabled": true, + "aria-errormessage": true, + "aria-expanded": true, + "aria-flowto": true, + "aria-haspopup": true, + "aria-hidden": true, + "aria-invalid": true, + "aria-keyshortcuts": true, + "aria-label": true, + "aria-labelledby": true, + "aria-level": true, + "aria-live": true, + "aria-modal": true, + "aria-multiline": true, + "aria-multiselectable": true, + "aria-orientation": true, + "aria-owns": true, + "aria-placeholder": true, + "aria-posinset": true, + "aria-pressed": true, + "aria-readonly": true, + "aria-required": true, + role: true, + "aria-roledescription": true, + "aria-rowcount": true, + "aria-rowindex": true, + "aria-rowspan": true, + "aria-selected": true, + "aria-setsize": true, + "aria-sort": true, + "aria-valuemax": true, + "aria-valuemin": true, + "aria-valuenow": true, + "aria-valuetext": true, + // @deprecated + accessibilityActiveDescendant: true, + accessibilityAtomic: true, + accessibilityAutoComplete: true, + accessibilityBusy: true, + accessibilityChecked: true, + accessibilityColumnCount: true, + accessibilityColumnIndex: true, + accessibilityColumnSpan: true, + accessibilityControls: true, + accessibilityCurrent: true, + accessibilityDescribedBy: true, + accessibilityDetails: true, + accessibilityDisabled: true, + accessibilityErrorMessage: true, + accessibilityExpanded: true, + accessibilityFlowTo: true, + accessibilityHasPopup: true, + accessibilityHidden: true, + accessibilityInvalid: true, + accessibilityKeyShortcuts: true, + accessibilityLabel: true, + accessibilityLabelledBy: true, + accessibilityLevel: true, + accessibilityLiveRegion: true, + accessibilityModal: true, + accessibilityMultiline: true, + accessibilityMultiSelectable: true, + accessibilityOrientation: true, + accessibilityOwns: true, + accessibilityPlaceholder: true, + accessibilityPosInSet: true, + accessibilityPressed: true, + accessibilityReadOnly: true, + accessibilityRequired: true, + accessibilityRole: true, + accessibilityRoleDescription: true, + accessibilityRowCount: true, + accessibilityRowIndex: true, + accessibilityRowSpan: true, + accessibilitySelected: true, + accessibilitySetSize: true, + accessibilitySort: true, + accessibilityValueMax: true, + accessibilityValueMin: true, + accessibilityValueNow: true, + accessibilityValueText: true + }; + exports2.accessibilityProps = accessibilityProps; + var clickProps = { + onClick: true, + onAuxClick: true, + onContextMenu: true, + onGotPointerCapture: true, + onLostPointerCapture: true, + onPointerCancel: true, + onPointerDown: true, + onPointerEnter: true, + onPointerMove: true, + onPointerLeave: true, + onPointerOut: true, + onPointerOver: true, + onPointerUp: true + }; + exports2.clickProps = clickProps; + var focusProps = { + onBlur: true, + onFocus: true + }; + exports2.focusProps = focusProps; + var keyboardProps = { + onKeyDown: true, + onKeyDownCapture: true, + onKeyUp: true, + onKeyUpCapture: true + }; + exports2.keyboardProps = keyboardProps; + var mouseProps = { + onMouseDown: true, + onMouseEnter: true, + onMouseLeave: true, + onMouseMove: true, + onMouseOver: true, + onMouseOut: true, + onMouseUp: true + }; + exports2.mouseProps = mouseProps; + var touchProps = { + onTouchCancel: true, + onTouchCancelCapture: true, + onTouchEnd: true, + onTouchEndCapture: true, + onTouchMove: true, + onTouchMoveCapture: true, + onTouchStart: true, + onTouchStartCapture: true + }; + exports2.touchProps = touchProps; + var styleProps = { + style: true + }; + exports2.styleProps = styleProps; + } +}); + +// node_modules/react-native-web/dist/cjs/modules/pick/index.js +var require_pick = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/pick/index.js"(exports2, module2) { + "use strict"; + exports2.__esModule = true; + exports2.default = pick; + function pick(obj, list) { + var nextObj = {}; + for (var key in obj) { + if (obj.hasOwnProperty(key)) { + if (list[key] === true) { + nextObj[key] = obj[key]; + } + } + } + return nextObj; + } + __name(pick, "pick"); + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/modules/useLayoutEffect/index.js +var require_useLayoutEffect = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/useLayoutEffect/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _react = require("react"); + var _canUseDom = _interopRequireDefault(require_canUseDom()); + var useLayoutEffectImpl = _canUseDom.default ? _react.useLayoutEffect : _react.useEffect; + var _default = useLayoutEffectImpl; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/modules/useElementLayout/index.js +var require_useElementLayout = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/useElementLayout/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = useElementLayout; + var _useLayoutEffect = _interopRequireDefault(require_useLayoutEffect()); + var _UIManager = _interopRequireDefault(require_UIManager()); + var _canUseDom = _interopRequireDefault(require_canUseDom()); + var DOM_LAYOUT_HANDLER_NAME = "__reactLayoutHandler"; + var didWarn = !_canUseDom.default; + var resizeObserver = null; + function getResizeObserver() { + if (_canUseDom.default && typeof window.ResizeObserver !== "undefined") { + if (resizeObserver == null) { + resizeObserver = new window.ResizeObserver(function(entries) { + entries.forEach((entry) => { + var node = entry.target; + var onLayout = node[DOM_LAYOUT_HANDLER_NAME]; + if (typeof onLayout === "function") { + _UIManager.default.measure(node, (x, y, width, height, left, top) => { + var event = { + // $FlowFixMe + nativeEvent: { + layout: { + x, + y, + width, + height, + left, + top + } + }, + timeStamp: Date.now() + }; + Object.defineProperty(event.nativeEvent, "target", { + enumerable: true, + get: () => entry.target + }); + onLayout(event); + }); + } + }); + }); + } + } else if (!didWarn) { + if (process.env.NODE_ENV !== "production" && process.env.NODE_ENV !== "test") { + console.warn("onLayout relies on ResizeObserver which is not supported by your browser. Please include a polyfill, e.g., https://github.com/que-etc/resize-observer-polyfill."); + didWarn = true; + } + } + return resizeObserver; + } + __name(getResizeObserver, "getResizeObserver"); + function useElementLayout(ref, onLayout) { + var observer = getResizeObserver(); + (0, _useLayoutEffect.default)(() => { + var node = ref.current; + if (node != null) { + node[DOM_LAYOUT_HANDLER_NAME] = onLayout; + } + }, [ref, onLayout]); + (0, _useLayoutEffect.default)(() => { + var node = ref.current; + if (node != null && observer != null) { + if (typeof node[DOM_LAYOUT_HANDLER_NAME] === "function") { + observer.observe(node); + } else { + observer.unobserve(node); + } + } + return () => { + if (node != null && observer != null) { + observer.unobserve(node); + } + }; + }, [ref, observer]); + } + __name(useElementLayout, "useElementLayout"); + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/modules/mergeRefs/index.js +var require_mergeRefs = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/mergeRefs/index.js"(exports2, module2) { + "use strict"; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = mergeRefs; + var React44 = _interopRequireWildcard(require("react")); + function mergeRefs() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + return /* @__PURE__ */ __name(function forwardRef25(node) { + args.forEach((ref) => { + if (ref == null) { + return; + } + if (typeof ref === "function") { + ref(node); + return; + } + if (typeof ref === "object") { + ref.current = node; + return; + } + console.error("mergeRefs cannot handle Refs of type boolean, number or string, received ref " + String(ref)); + }); + }, "forwardRef"); + } + __name(mergeRefs, "mergeRefs"); + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/modules/useMergeRefs/index.js +var require_useMergeRefs = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/useMergeRefs/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = useMergeRefs; + var React44 = _interopRequireWildcard(require("react")); + var _mergeRefs = _interopRequireDefault(require_mergeRefs()); + function useMergeRefs() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + return React44.useMemo( + () => (0, _mergeRefs.default)(...args), + // eslint-disable-next-line + [...args] + ); + } + __name(useMergeRefs, "useMergeRefs"); + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/modules/useStable/index.js +var require_useStable = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/useStable/index.js"(exports2, module2) { + "use strict"; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = useStable; + var React44 = _interopRequireWildcard(require("react")); + var UNINITIALIZED = typeof Symbol === "function" && typeof Symbol() === "symbol" ? Symbol() : Object.freeze({}); + function useStable(getInitialValue) { + var ref = React44.useRef(UNINITIALIZED); + if (ref.current === UNINITIALIZED) { + ref.current = getInitialValue(); + } + return ref.current; + } + __name(useStable, "useStable"); + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/modules/usePlatformMethods/index.js +var require_usePlatformMethods = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/usePlatformMethods/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = usePlatformMethods; + var _UIManager = _interopRequireDefault(require_UIManager()); + var _useStable = _interopRequireDefault(require_useStable()); + function usePlatformMethods(_ref) { + var pointerEvents = _ref.pointerEvents, style = _ref.style; + var ref = (0, _useStable.default)(() => (hostNode) => { + if (hostNode != null) { + hostNode.measure = (callback) => _UIManager.default.measure(hostNode, callback); + hostNode.measureLayout = (relativeToNode, success, failure) => _UIManager.default.measureLayout(hostNode, relativeToNode, failure, success); + hostNode.measureInWindow = (callback) => _UIManager.default.measureInWindow(hostNode, callback); + } + }); + return ref; + } + __name(usePlatformMethods, "usePlatformMethods"); + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/modules/useResponderEvents/createResponderEvent.js +var require_createResponderEvent = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/useResponderEvents/createResponderEvent.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = createResponderEvent; + var _getBoundingClientRect = _interopRequireDefault(require_getBoundingClientRect()); + var emptyFunction = /* @__PURE__ */ __name(() => { + }, "emptyFunction"); + var emptyObject = {}; + var emptyArray = []; + function normalizeIdentifier(identifier) { + return identifier > 20 ? identifier % 20 : identifier; + } + __name(normalizeIdentifier, "normalizeIdentifier"); + function createResponderEvent(domEvent, responderTouchHistoryStore) { + var rect; + var propagationWasStopped = false; + var changedTouches; + var touches; + var domEventChangedTouches = domEvent.changedTouches; + var domEventType = domEvent.type; + var metaKey = domEvent.metaKey === true; + var shiftKey = domEvent.shiftKey === true; + var force = domEventChangedTouches && domEventChangedTouches[0].force || 0; + var identifier = normalizeIdentifier(domEventChangedTouches && domEventChangedTouches[0].identifier || 0); + var clientX = domEventChangedTouches && domEventChangedTouches[0].clientX || domEvent.clientX; + var clientY = domEventChangedTouches && domEventChangedTouches[0].clientY || domEvent.clientY; + var pageX = domEventChangedTouches && domEventChangedTouches[0].pageX || domEvent.pageX; + var pageY = domEventChangedTouches && domEventChangedTouches[0].pageY || domEvent.pageY; + var preventDefault = typeof domEvent.preventDefault === "function" ? domEvent.preventDefault.bind(domEvent) : emptyFunction; + var timestamp = domEvent.timeStamp; + function normalizeTouches(touches2) { + return Array.prototype.slice.call(touches2).map((touch) => { + return { + force: touch.force, + identifier: normalizeIdentifier(touch.identifier), + get locationX() { + return locationX(touch.clientX); + }, + get locationY() { + return locationY(touch.clientY); + }, + pageX: touch.pageX, + pageY: touch.pageY, + target: touch.target, + timestamp + }; + }); + } + __name(normalizeTouches, "normalizeTouches"); + if (domEventChangedTouches != null) { + changedTouches = normalizeTouches(domEventChangedTouches); + touches = normalizeTouches(domEvent.touches); + } else { + var emulatedTouches = [{ + force, + identifier, + get locationX() { + return locationX(clientX); + }, + get locationY() { + return locationY(clientY); + }, + pageX, + pageY, + target: domEvent.target, + timestamp + }]; + changedTouches = emulatedTouches; + touches = domEventType === "mouseup" || domEventType === "dragstart" ? emptyArray : emulatedTouches; + } + var responderEvent = { + bubbles: true, + cancelable: true, + // `currentTarget` is set before dispatch + currentTarget: null, + defaultPrevented: domEvent.defaultPrevented, + dispatchConfig: emptyObject, + eventPhase: domEvent.eventPhase, + isDefaultPrevented() { + return domEvent.defaultPrevented; + }, + isPropagationStopped() { + return propagationWasStopped; + }, + isTrusted: domEvent.isTrusted, + nativeEvent: { + altKey: false, + ctrlKey: false, + metaKey, + shiftKey, + changedTouches, + force, + identifier, + get locationX() { + return locationX(clientX); + }, + get locationY() { + return locationY(clientY); + }, + pageX, + pageY, + target: domEvent.target, + timestamp, + touches, + type: domEventType + }, + persist: emptyFunction, + preventDefault, + stopPropagation() { + propagationWasStopped = true; + }, + target: domEvent.target, + timeStamp: timestamp, + touchHistory: responderTouchHistoryStore.touchHistory + }; + function locationX(x) { + rect = rect || (0, _getBoundingClientRect.default)(responderEvent.currentTarget); + if (rect) { + return x - rect.left; + } + } + __name(locationX, "locationX"); + function locationY(y) { + rect = rect || (0, _getBoundingClientRect.default)(responderEvent.currentTarget); + if (rect) { + return y - rect.top; + } + } + __name(locationY, "locationY"); + return responderEvent; + } + __name(createResponderEvent, "createResponderEvent"); + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/modules/useResponderEvents/ResponderEventTypes.js +var require_ResponderEventTypes = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/useResponderEvents/ResponderEventTypes.js"(exports2) { + "use strict"; + exports2.__esModule = true; + exports2.TOUCH_START = exports2.TOUCH_MOVE = exports2.TOUCH_END = exports2.TOUCH_CANCEL = exports2.SELECTION_CHANGE = exports2.SELECT = exports2.SCROLL = exports2.MOUSE_UP = exports2.MOUSE_MOVE = exports2.MOUSE_DOWN = exports2.MOUSE_CANCEL = exports2.FOCUS_OUT = exports2.CONTEXT_MENU = exports2.BLUR = void 0; + exports2.isCancelish = isCancelish; + exports2.isEndish = isEndish; + exports2.isMoveish = isMoveish; + exports2.isScroll = isScroll; + exports2.isSelectionChange = isSelectionChange; + exports2.isStartish = isStartish; + var BLUR = "blur"; + exports2.BLUR = BLUR; + var CONTEXT_MENU = "contextmenu"; + exports2.CONTEXT_MENU = CONTEXT_MENU; + var FOCUS_OUT = "focusout"; + exports2.FOCUS_OUT = FOCUS_OUT; + var MOUSE_DOWN = "mousedown"; + exports2.MOUSE_DOWN = MOUSE_DOWN; + var MOUSE_MOVE = "mousemove"; + exports2.MOUSE_MOVE = MOUSE_MOVE; + var MOUSE_UP = "mouseup"; + exports2.MOUSE_UP = MOUSE_UP; + var MOUSE_CANCEL = "dragstart"; + exports2.MOUSE_CANCEL = MOUSE_CANCEL; + var TOUCH_START = "touchstart"; + exports2.TOUCH_START = TOUCH_START; + var TOUCH_MOVE = "touchmove"; + exports2.TOUCH_MOVE = TOUCH_MOVE; + var TOUCH_END = "touchend"; + exports2.TOUCH_END = TOUCH_END; + var TOUCH_CANCEL = "touchcancel"; + exports2.TOUCH_CANCEL = TOUCH_CANCEL; + var SCROLL = "scroll"; + exports2.SCROLL = SCROLL; + var SELECT = "select"; + exports2.SELECT = SELECT; + var SELECTION_CHANGE = "selectionchange"; + exports2.SELECTION_CHANGE = SELECTION_CHANGE; + function isStartish(eventType) { + return eventType === TOUCH_START || eventType === MOUSE_DOWN; + } + __name(isStartish, "isStartish"); + function isMoveish(eventType) { + return eventType === TOUCH_MOVE || eventType === MOUSE_MOVE; + } + __name(isMoveish, "isMoveish"); + function isEndish(eventType) { + return eventType === TOUCH_END || eventType === MOUSE_UP || isCancelish(eventType); + } + __name(isEndish, "isEndish"); + function isCancelish(eventType) { + return eventType === TOUCH_CANCEL || eventType === MOUSE_CANCEL; + } + __name(isCancelish, "isCancelish"); + function isScroll(eventType) { + return eventType === SCROLL; + } + __name(isScroll, "isScroll"); + function isSelectionChange(eventType) { + return eventType === SELECT || eventType === SELECTION_CHANGE; + } + __name(isSelectionChange, "isSelectionChange"); + } +}); + +// node_modules/react-native-web/dist/cjs/modules/isSelectionValid/index.js +var require_isSelectionValid = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/isSelectionValid/index.js"(exports2, module2) { + "use strict"; + exports2.__esModule = true; + exports2.default = isSelectionValid; + function isSelectionValid() { + var selection = window.getSelection(); + var string = selection.toString(); + var anchorNode = selection.anchorNode; + var focusNode = selection.focusNode; + var isTextNode = anchorNode && anchorNode.nodeType === window.Node.TEXT_NODE || focusNode && focusNode.nodeType === window.Node.TEXT_NODE; + return string.length >= 1 && string !== "\n" && isTextNode; + } + __name(isSelectionValid, "isSelectionValid"); + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/modules/useResponderEvents/utils.js +var require_utils2 = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/useResponderEvents/utils.js"(exports2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.getLowestCommonAncestor = getLowestCommonAncestor; + exports2.getResponderPaths = getResponderPaths; + exports2.hasTargetTouches = hasTargetTouches; + exports2.hasValidSelection = hasValidSelection; + exports2.isPrimaryPointerDown = isPrimaryPointerDown; + exports2.setResponderId = setResponderId; + var _isSelectionValid = _interopRequireDefault(require_isSelectionValid()); + var keyName = "__reactResponderId"; + function getEventPath(domEvent) { + if (domEvent.type === "selectionchange") { + var target = window.getSelection().anchorNode; + return composedPathFallback(target); + } else { + var path = domEvent.composedPath != null ? domEvent.composedPath() : composedPathFallback(domEvent.target); + return path; + } + } + __name(getEventPath, "getEventPath"); + function composedPathFallback(target) { + var path = []; + while (target != null && target !== document.body) { + path.push(target); + target = target.parentNode; + } + return path; + } + __name(composedPathFallback, "composedPathFallback"); + function getResponderId(node) { + if (node != null) { + return node[keyName]; + } + return null; + } + __name(getResponderId, "getResponderId"); + function setResponderId(node, id) { + if (node != null) { + node[keyName] = id; + } + } + __name(setResponderId, "setResponderId"); + function getResponderPaths(domEvent) { + var idPath = []; + var nodePath = []; + var eventPath = getEventPath(domEvent); + for (var i = 0; i < eventPath.length; i++) { + var node = eventPath[i]; + var id = getResponderId(node); + if (id != null) { + idPath.push(id); + nodePath.push(node); + } + } + return { + idPath, + nodePath + }; + } + __name(getResponderPaths, "getResponderPaths"); + function getLowestCommonAncestor(pathA, pathB) { + var pathALength = pathA.length; + var pathBLength = pathB.length; + if ( + // If either path is empty + pathALength === 0 || pathBLength === 0 || // If the last elements aren't the same there can't be a common ancestor + // that is connected to the responder system + pathA[pathALength - 1] !== pathB[pathBLength - 1] + ) { + return null; + } + var itemA = pathA[0]; + var indexA = 0; + var itemB = pathB[0]; + var indexB = 0; + if (pathALength - pathBLength > 0) { + indexA = pathALength - pathBLength; + itemA = pathA[indexA]; + pathALength = pathBLength; + } + if (pathBLength - pathALength > 0) { + indexB = pathBLength - pathALength; + itemB = pathB[indexB]; + pathBLength = pathALength; + } + var depth = pathALength; + while (depth--) { + if (itemA === itemB) { + return itemA; + } + itemA = pathA[indexA++]; + itemB = pathB[indexB++]; + } + return null; + } + __name(getLowestCommonAncestor, "getLowestCommonAncestor"); + function hasTargetTouches(target, touches) { + if (!touches || touches.length === 0) { + return false; + } + for (var i = 0; i < touches.length; i++) { + var node = touches[i].target; + if (node != null) { + if (target.contains(node)) { + return true; + } + } + } + return false; + } + __name(hasTargetTouches, "hasTargetTouches"); + function hasValidSelection(domEvent) { + if (domEvent.type === "selectionchange") { + return (0, _isSelectionValid.default)(); + } + return domEvent.type === "select"; + } + __name(hasValidSelection, "hasValidSelection"); + function isPrimaryPointerDown(domEvent) { + var altKey = domEvent.altKey, button = domEvent.button, buttons = domEvent.buttons, ctrlKey = domEvent.ctrlKey, type = domEvent.type; + var isTouch = type === "touchstart" || type === "touchmove"; + var isPrimaryMouseDown = type === "mousedown" && (button === 0 || buttons === 1); + var isPrimaryMouseMove = type === "mousemove" && buttons === 1; + var noModifiers = altKey === false && ctrlKey === false; + if (isTouch || isPrimaryMouseDown && noModifiers || isPrimaryMouseMove && noModifiers) { + return true; + } + return false; + } + __name(isPrimaryPointerDown, "isPrimaryPointerDown"); + } +}); + +// node_modules/react-native-web/dist/cjs/modules/useResponderEvents/ResponderTouchHistoryStore.js +var require_ResponderTouchHistoryStore = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/useResponderEvents/ResponderTouchHistoryStore.js"(exports2) { + "use strict"; + exports2.__esModule = true; + exports2.ResponderTouchHistoryStore = void 0; + var _ResponderEventTypes = require_ResponderEventTypes(); + var __DEV__ = process.env.NODE_ENV !== "production"; + var MAX_TOUCH_BANK = 20; + function timestampForTouch(touch) { + return touch.timeStamp || touch.timestamp; + } + __name(timestampForTouch, "timestampForTouch"); + function createTouchRecord(touch) { + return { + touchActive: true, + startPageX: touch.pageX, + startPageY: touch.pageY, + startTimeStamp: timestampForTouch(touch), + currentPageX: touch.pageX, + currentPageY: touch.pageY, + currentTimeStamp: timestampForTouch(touch), + previousPageX: touch.pageX, + previousPageY: touch.pageY, + previousTimeStamp: timestampForTouch(touch) + }; + } + __name(createTouchRecord, "createTouchRecord"); + function resetTouchRecord(touchRecord, touch) { + touchRecord.touchActive = true; + touchRecord.startPageX = touch.pageX; + touchRecord.startPageY = touch.pageY; + touchRecord.startTimeStamp = timestampForTouch(touch); + touchRecord.currentPageX = touch.pageX; + touchRecord.currentPageY = touch.pageY; + touchRecord.currentTimeStamp = timestampForTouch(touch); + touchRecord.previousPageX = touch.pageX; + touchRecord.previousPageY = touch.pageY; + touchRecord.previousTimeStamp = timestampForTouch(touch); + } + __name(resetTouchRecord, "resetTouchRecord"); + function getTouchIdentifier(_ref) { + var identifier = _ref.identifier; + if (identifier == null) { + console.error("Touch object is missing identifier."); + } + if (__DEV__) { + if (identifier > MAX_TOUCH_BANK) { + console.error("Touch identifier %s is greater than maximum supported %s which causes performance issues backfilling array locations for all of the indices.", identifier, MAX_TOUCH_BANK); + } + } + return identifier; + } + __name(getTouchIdentifier, "getTouchIdentifier"); + function recordTouchStart(touch, touchHistory) { + var identifier = getTouchIdentifier(touch); + var touchRecord = touchHistory.touchBank[identifier]; + if (touchRecord) { + resetTouchRecord(touchRecord, touch); + } else { + touchHistory.touchBank[identifier] = createTouchRecord(touch); + } + touchHistory.mostRecentTimeStamp = timestampForTouch(touch); + } + __name(recordTouchStart, "recordTouchStart"); + function recordTouchMove(touch, touchHistory) { + var touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)]; + if (touchRecord) { + touchRecord.touchActive = true; + touchRecord.previousPageX = touchRecord.currentPageX; + touchRecord.previousPageY = touchRecord.currentPageY; + touchRecord.previousTimeStamp = touchRecord.currentTimeStamp; + touchRecord.currentPageX = touch.pageX; + touchRecord.currentPageY = touch.pageY; + touchRecord.currentTimeStamp = timestampForTouch(touch); + touchHistory.mostRecentTimeStamp = timestampForTouch(touch); + } else { + console.warn("Cannot record touch move without a touch start.\n", "Touch Move: " + printTouch(touch) + "\n", "Touch Bank: " + printTouchBank(touchHistory)); + } + } + __name(recordTouchMove, "recordTouchMove"); + function recordTouchEnd(touch, touchHistory) { + var touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)]; + if (touchRecord) { + touchRecord.touchActive = false; + touchRecord.previousPageX = touchRecord.currentPageX; + touchRecord.previousPageY = touchRecord.currentPageY; + touchRecord.previousTimeStamp = touchRecord.currentTimeStamp; + touchRecord.currentPageX = touch.pageX; + touchRecord.currentPageY = touch.pageY; + touchRecord.currentTimeStamp = timestampForTouch(touch); + touchHistory.mostRecentTimeStamp = timestampForTouch(touch); + } else { + console.warn("Cannot record touch end without a touch start.\n", "Touch End: " + printTouch(touch) + "\n", "Touch Bank: " + printTouchBank(touchHistory)); + } + } + __name(recordTouchEnd, "recordTouchEnd"); + function printTouch(touch) { + return JSON.stringify({ + identifier: touch.identifier, + pageX: touch.pageX, + pageY: touch.pageY, + timestamp: timestampForTouch(touch) + }); + } + __name(printTouch, "printTouch"); + function printTouchBank(touchHistory) { + var touchBank = touchHistory.touchBank; + var printed = JSON.stringify(touchBank.slice(0, MAX_TOUCH_BANK)); + if (touchBank.length > MAX_TOUCH_BANK) { + printed += " (original size: " + touchBank.length + ")"; + } + return printed; + } + __name(printTouchBank, "printTouchBank"); + var _ResponderTouchHistoryStore = class _ResponderTouchHistoryStore { + constructor() { + this._touchHistory = { + touchBank: [], + //Array + numberActiveTouches: 0, + // If there is only one active touch, we remember its location. This prevents + // us having to loop through all of the touches all the time in the most + // common case. + indexOfSingleActiveTouch: -1, + mostRecentTimeStamp: 0 + }; + } + recordTouchTrack(topLevelType, nativeEvent) { + var touchHistory = this._touchHistory; + if ((0, _ResponderEventTypes.isMoveish)(topLevelType)) { + nativeEvent.changedTouches.forEach((touch) => recordTouchMove(touch, touchHistory)); + } else if ((0, _ResponderEventTypes.isStartish)(topLevelType)) { + nativeEvent.changedTouches.forEach((touch) => recordTouchStart(touch, touchHistory)); + touchHistory.numberActiveTouches = nativeEvent.touches.length; + if (touchHistory.numberActiveTouches === 1) { + touchHistory.indexOfSingleActiveTouch = nativeEvent.touches[0].identifier; + } + } else if ((0, _ResponderEventTypes.isEndish)(topLevelType)) { + nativeEvent.changedTouches.forEach((touch) => recordTouchEnd(touch, touchHistory)); + touchHistory.numberActiveTouches = nativeEvent.touches.length; + if (touchHistory.numberActiveTouches === 1) { + var touchBank = touchHistory.touchBank; + for (var i = 0; i < touchBank.length; i++) { + var touchTrackToCheck = touchBank[i]; + if (touchTrackToCheck != null && touchTrackToCheck.touchActive) { + touchHistory.indexOfSingleActiveTouch = i; + break; + } + } + if (__DEV__) { + var activeRecord = touchBank[touchHistory.indexOfSingleActiveTouch]; + if (!(activeRecord != null && activeRecord.touchActive)) { + console.error("Cannot find single active touch."); + } + } + } + } + } + get touchHistory() { + return this._touchHistory; + } + }; + __name(_ResponderTouchHistoryStore, "ResponderTouchHistoryStore"); + var ResponderTouchHistoryStore = _ResponderTouchHistoryStore; + exports2.ResponderTouchHistoryStore = ResponderTouchHistoryStore; + } +}); + +// node_modules/react-native-web/dist/cjs/modules/useResponderEvents/ResponderSystem.js +var require_ResponderSystem = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/useResponderEvents/ResponderSystem.js"(exports2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.addNode = addNode; + exports2.attachListeners = attachListeners; + exports2.getResponderNode = getResponderNode; + exports2.removeNode = removeNode; + exports2.terminateResponder = terminateResponder; + var _createResponderEvent = _interopRequireDefault(require_createResponderEvent()); + var _ResponderEventTypes = require_ResponderEventTypes(); + var _utils = require_utils2(); + var _ResponderTouchHistoryStore = require_ResponderTouchHistoryStore(); + var _canUseDom = _interopRequireDefault(require_canUseDom()); + var emptyObject = {}; + var startRegistration = ["onStartShouldSetResponderCapture", "onStartShouldSetResponder", { + bubbles: true + }]; + var moveRegistration = ["onMoveShouldSetResponderCapture", "onMoveShouldSetResponder", { + bubbles: true + }]; + var scrollRegistration = ["onScrollShouldSetResponderCapture", "onScrollShouldSetResponder", { + bubbles: false + }]; + var shouldSetResponderEvents = { + touchstart: startRegistration, + mousedown: startRegistration, + touchmove: moveRegistration, + mousemove: moveRegistration, + scroll: scrollRegistration + }; + var emptyResponder = { + id: null, + idPath: null, + node: null + }; + var responderListenersMap = /* @__PURE__ */ new Map(); + var isEmulatingMouseEvents = false; + var trackedTouchCount = 0; + var currentResponder = { + id: null, + node: null, + idPath: null + }; + var responderTouchHistoryStore = new _ResponderTouchHistoryStore.ResponderTouchHistoryStore(); + function changeCurrentResponder(responder) { + currentResponder = responder; + } + __name(changeCurrentResponder, "changeCurrentResponder"); + function getResponderConfig(id) { + var config = responderListenersMap.get(id); + return config != null ? config : emptyObject; + } + __name(getResponderConfig, "getResponderConfig"); + function eventListener(domEvent) { + var eventType = domEvent.type; + var eventTarget = domEvent.target; + if (eventType === "touchstart") { + isEmulatingMouseEvents = true; + } + if (eventType === "touchmove" || trackedTouchCount > 1) { + isEmulatingMouseEvents = false; + } + if ( + // Ignore browser emulated mouse events + eventType === "mousedown" && isEmulatingMouseEvents || eventType === "mousemove" && isEmulatingMouseEvents || // Ignore mousemove if a mousedown didn't occur first + eventType === "mousemove" && trackedTouchCount < 1 + ) { + return; + } + if (isEmulatingMouseEvents && eventType === "mouseup") { + if (trackedTouchCount === 0) { + isEmulatingMouseEvents = false; + } + return; + } + var isStartEvent = (0, _ResponderEventTypes.isStartish)(eventType) && (0, _utils.isPrimaryPointerDown)(domEvent); + var isMoveEvent = (0, _ResponderEventTypes.isMoveish)(eventType); + var isEndEvent = (0, _ResponderEventTypes.isEndish)(eventType); + var isScrollEvent = (0, _ResponderEventTypes.isScroll)(eventType); + var isSelectionChangeEvent = (0, _ResponderEventTypes.isSelectionChange)(eventType); + var responderEvent = (0, _createResponderEvent.default)(domEvent, responderTouchHistoryStore); + if (isStartEvent || isMoveEvent || isEndEvent) { + if (domEvent.touches) { + trackedTouchCount = domEvent.touches.length; + } else { + if (isStartEvent) { + trackedTouchCount = 1; + } else if (isEndEvent) { + trackedTouchCount = 0; + } + } + responderTouchHistoryStore.recordTouchTrack(eventType, responderEvent.nativeEvent); + } + var eventPaths = (0, _utils.getResponderPaths)(domEvent); + var wasNegotiated = false; + var wantsResponder; + if (isStartEvent || isMoveEvent || isScrollEvent && trackedTouchCount > 0) { + var currentResponderIdPath = currentResponder.idPath; + var eventIdPath = eventPaths.idPath; + if (currentResponderIdPath != null && eventIdPath != null) { + var lowestCommonAncestor = (0, _utils.getLowestCommonAncestor)(currentResponderIdPath, eventIdPath); + if (lowestCommonAncestor != null) { + var indexOfLowestCommonAncestor = eventIdPath.indexOf(lowestCommonAncestor); + var index3 = indexOfLowestCommonAncestor + (lowestCommonAncestor === currentResponder.id ? 1 : 0); + eventPaths = { + idPath: eventIdPath.slice(index3), + nodePath: eventPaths.nodePath.slice(index3) + }; + } else { + eventPaths = null; + } + } + if (eventPaths != null) { + wantsResponder = findWantsResponder(eventPaths, domEvent, responderEvent); + if (wantsResponder != null) { + attemptTransfer(responderEvent, wantsResponder); + wasNegotiated = true; + } + } + } + if (currentResponder.id != null && currentResponder.node != null) { + var _currentResponder = currentResponder, id = _currentResponder.id, node = _currentResponder.node; + var _getResponderConfig = getResponderConfig(id), onResponderStart = _getResponderConfig.onResponderStart, onResponderMove = _getResponderConfig.onResponderMove, onResponderEnd = _getResponderConfig.onResponderEnd, onResponderRelease = _getResponderConfig.onResponderRelease, onResponderTerminate = _getResponderConfig.onResponderTerminate, onResponderTerminationRequest = _getResponderConfig.onResponderTerminationRequest; + responderEvent.bubbles = false; + responderEvent.cancelable = false; + responderEvent.currentTarget = node; + if (isStartEvent) { + if (onResponderStart != null) { + responderEvent.dispatchConfig.registrationName = "onResponderStart"; + onResponderStart(responderEvent); + } + } else if (isMoveEvent) { + if (onResponderMove != null) { + responderEvent.dispatchConfig.registrationName = "onResponderMove"; + onResponderMove(responderEvent); + } + } else { + var isTerminateEvent = (0, _ResponderEventTypes.isCancelish)(eventType) || // native context menu + eventType === "contextmenu" || // window blur + eventType === "blur" && eventTarget === window || // responder (or ancestors) blur + eventType === "blur" && eventTarget.contains(node) && domEvent.relatedTarget !== node || // native scroll without using a pointer + isScrollEvent && trackedTouchCount === 0 || // native scroll on node that is parent of the responder (allow siblings to scroll) + isScrollEvent && eventTarget.contains(node) && eventTarget !== node || // native select/selectionchange on node + isSelectionChangeEvent && (0, _utils.hasValidSelection)(domEvent); + var isReleaseEvent = isEndEvent && !isTerminateEvent && !(0, _utils.hasTargetTouches)(node, domEvent.touches); + if (isEndEvent) { + if (onResponderEnd != null) { + responderEvent.dispatchConfig.registrationName = "onResponderEnd"; + onResponderEnd(responderEvent); + } + } + if (isReleaseEvent) { + if (onResponderRelease != null) { + responderEvent.dispatchConfig.registrationName = "onResponderRelease"; + onResponderRelease(responderEvent); + } + changeCurrentResponder(emptyResponder); + } + if (isTerminateEvent) { + var shouldTerminate = true; + if (eventType === "contextmenu" || eventType === "scroll" || eventType === "selectionchange") { + if (wasNegotiated) { + shouldTerminate = false; + } else if (onResponderTerminationRequest != null) { + responderEvent.dispatchConfig.registrationName = "onResponderTerminationRequest"; + if (onResponderTerminationRequest(responderEvent) === false) { + shouldTerminate = false; + } + } + } + if (shouldTerminate) { + if (onResponderTerminate != null) { + responderEvent.dispatchConfig.registrationName = "onResponderTerminate"; + onResponderTerminate(responderEvent); + } + changeCurrentResponder(emptyResponder); + isEmulatingMouseEvents = false; + trackedTouchCount = 0; + } + } + } + } + } + __name(eventListener, "eventListener"); + function findWantsResponder(eventPaths, domEvent, responderEvent) { + var shouldSetCallbacks = shouldSetResponderEvents[domEvent.type]; + if (shouldSetCallbacks != null) { + var idPath = eventPaths.idPath, nodePath = eventPaths.nodePath; + var shouldSetCallbackCaptureName = shouldSetCallbacks[0]; + var shouldSetCallbackBubbleName = shouldSetCallbacks[1]; + var bubbles = shouldSetCallbacks[2].bubbles; + var check = /* @__PURE__ */ __name(function check2(id2, node2, callbackName) { + var config = getResponderConfig(id2); + var shouldSetCallback = config[callbackName]; + if (shouldSetCallback != null) { + responderEvent.currentTarget = node2; + if (shouldSetCallback(responderEvent) === true) { + var prunedIdPath = idPath.slice(idPath.indexOf(id2)); + return { + id: id2, + node: node2, + idPath: prunedIdPath + }; + } + } + }, "check"); + for (var i = idPath.length - 1; i >= 0; i--) { + var id = idPath[i]; + var node = nodePath[i]; + var result = check(id, node, shouldSetCallbackCaptureName); + if (result != null) { + return result; + } + if (responderEvent.isPropagationStopped() === true) { + return; + } + } + if (bubbles) { + for (var _i = 0; _i < idPath.length; _i++) { + var _id = idPath[_i]; + var _node = nodePath[_i]; + var _result = check(_id, _node, shouldSetCallbackBubbleName); + if (_result != null) { + return _result; + } + if (responderEvent.isPropagationStopped() === true) { + return; + } + } + } else { + var _id2 = idPath[0]; + var _node2 = nodePath[0]; + var target = domEvent.target; + if (target === _node2) { + return check(_id2, _node2, shouldSetCallbackBubbleName); + } + } + } + } + __name(findWantsResponder, "findWantsResponder"); + function attemptTransfer(responderEvent, wantsResponder) { + var _currentResponder2 = currentResponder, currentId = _currentResponder2.id, currentNode = _currentResponder2.node; + var id = wantsResponder.id, node = wantsResponder.node; + var _getResponderConfig2 = getResponderConfig(id), onResponderGrant = _getResponderConfig2.onResponderGrant, onResponderReject = _getResponderConfig2.onResponderReject; + responderEvent.bubbles = false; + responderEvent.cancelable = false; + responderEvent.currentTarget = node; + if (currentId == null) { + if (onResponderGrant != null) { + responderEvent.currentTarget = node; + responderEvent.dispatchConfig.registrationName = "onResponderGrant"; + onResponderGrant(responderEvent); + } + changeCurrentResponder(wantsResponder); + } else { + var _getResponderConfig3 = getResponderConfig(currentId), onResponderTerminate = _getResponderConfig3.onResponderTerminate, onResponderTerminationRequest = _getResponderConfig3.onResponderTerminationRequest; + var allowTransfer = true; + if (onResponderTerminationRequest != null) { + responderEvent.currentTarget = currentNode; + responderEvent.dispatchConfig.registrationName = "onResponderTerminationRequest"; + if (onResponderTerminationRequest(responderEvent) === false) { + allowTransfer = false; + } + } + if (allowTransfer) { + if (onResponderTerminate != null) { + responderEvent.currentTarget = currentNode; + responderEvent.dispatchConfig.registrationName = "onResponderTerminate"; + onResponderTerminate(responderEvent); + } + if (onResponderGrant != null) { + responderEvent.currentTarget = node; + responderEvent.dispatchConfig.registrationName = "onResponderGrant"; + onResponderGrant(responderEvent); + } + changeCurrentResponder(wantsResponder); + } else { + if (onResponderReject != null) { + responderEvent.currentTarget = node; + responderEvent.dispatchConfig.registrationName = "onResponderReject"; + onResponderReject(responderEvent); + } + } + } + } + __name(attemptTransfer, "attemptTransfer"); + var documentEventsCapturePhase = ["blur", "scroll"]; + var documentEventsBubblePhase = [ + // mouse + "mousedown", + "mousemove", + "mouseup", + "dragstart", + // touch + "touchstart", + "touchmove", + "touchend", + "touchcancel", + // other + "contextmenu", + "select", + "selectionchange" + ]; + function attachListeners() { + if (_canUseDom.default && window.__reactResponderSystemActive == null) { + window.addEventListener("blur", eventListener); + documentEventsBubblePhase.forEach((eventType) => { + document.addEventListener(eventType, eventListener); + }); + documentEventsCapturePhase.forEach((eventType) => { + document.addEventListener(eventType, eventListener, true); + }); + window.__reactResponderSystemActive = true; + } + } + __name(attachListeners, "attachListeners"); + function addNode(id, node, config) { + (0, _utils.setResponderId)(node, id); + responderListenersMap.set(id, config); + } + __name(addNode, "addNode"); + function removeNode(id) { + if (currentResponder.id === id) { + terminateResponder(); + } + if (responderListenersMap.has(id)) { + responderListenersMap.delete(id); + } + } + __name(removeNode, "removeNode"); + function terminateResponder() { + var _currentResponder3 = currentResponder, id = _currentResponder3.id, node = _currentResponder3.node; + if (id != null && node != null) { + var _getResponderConfig4 = getResponderConfig(id), onResponderTerminate = _getResponderConfig4.onResponderTerminate; + if (onResponderTerminate != null) { + var event = (0, _createResponderEvent.default)({}, responderTouchHistoryStore); + event.currentTarget = node; + onResponderTerminate(event); + } + changeCurrentResponder(emptyResponder); + } + isEmulatingMouseEvents = false; + trackedTouchCount = 0; + } + __name(terminateResponder, "terminateResponder"); + function getResponderNode() { + return currentResponder.node; + } + __name(getResponderNode, "getResponderNode"); + } +}); + +// node_modules/react-native-web/dist/cjs/modules/useResponderEvents/index.js +var require_useResponderEvents = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/useResponderEvents/index.js"(exports2, module2) { + "use strict"; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = useResponderEvents; + var React44 = _interopRequireWildcard(require("react")); + var ResponderSystem = _interopRequireWildcard(require_ResponderSystem()); + var emptyObject = {}; + var idCounter = 0; + function useStable(getInitialValue) { + var ref = React44.useRef(null); + if (ref.current == null) { + ref.current = getInitialValue(); + } + return ref.current; + } + __name(useStable, "useStable"); + function useResponderEvents(hostRef, config) { + if (config === void 0) { + config = emptyObject; + } + var id = useStable(() => idCounter++); + var isAttachedRef = React44.useRef(false); + React44.useEffect(() => { + ResponderSystem.attachListeners(); + return () => { + ResponderSystem.removeNode(id); + }; + }, [id]); + React44.useEffect(() => { + var _config = config, onMoveShouldSetResponder = _config.onMoveShouldSetResponder, onMoveShouldSetResponderCapture = _config.onMoveShouldSetResponderCapture, onScrollShouldSetResponder = _config.onScrollShouldSetResponder, onScrollShouldSetResponderCapture = _config.onScrollShouldSetResponderCapture, onSelectionChangeShouldSetResponder = _config.onSelectionChangeShouldSetResponder, onSelectionChangeShouldSetResponderCapture = _config.onSelectionChangeShouldSetResponderCapture, onStartShouldSetResponder = _config.onStartShouldSetResponder, onStartShouldSetResponderCapture = _config.onStartShouldSetResponderCapture; + var requiresResponderSystem = onMoveShouldSetResponder != null || onMoveShouldSetResponderCapture != null || onScrollShouldSetResponder != null || onScrollShouldSetResponderCapture != null || onSelectionChangeShouldSetResponder != null || onSelectionChangeShouldSetResponderCapture != null || onStartShouldSetResponder != null || onStartShouldSetResponderCapture != null; + var node = hostRef.current; + if (requiresResponderSystem) { + ResponderSystem.addNode(id, node, config); + isAttachedRef.current = true; + } else if (isAttachedRef.current) { + ResponderSystem.removeNode(id); + isAttachedRef.current = false; + } + }, [config, hostRef, id]); + React44.useDebugValue({ + isResponder: hostRef.current === ResponderSystem.getResponderNode() + }); + React44.useDebugValue(config); + } + __name(useResponderEvents, "useResponderEvents"); + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/Text/TextAncestorContext.js +var require_TextAncestorContext = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/Text/TextAncestorContext.js"(exports2, module2) { + "use strict"; + exports2.__esModule = true; + exports2.default = void 0; + var _react = require("react"); + var TextAncestorContext = /* @__PURE__ */ (0, _react.createContext)(false); + var _default = TextAncestorContext; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/View/index.js +var require_View = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/View/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = void 0; + var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); + var React44 = _interopRequireWildcard(require("react")); + var _createElement = _interopRequireDefault(require_createElement()); + var forwardedProps = _interopRequireWildcard(require_forwardedProps()); + var _pick = _interopRequireDefault(require_pick()); + var _useElementLayout = _interopRequireDefault(require_useElementLayout()); + var _useMergeRefs = _interopRequireDefault(require_useMergeRefs()); + var _usePlatformMethods = _interopRequireDefault(require_usePlatformMethods()); + var _useResponderEvents = _interopRequireDefault(require_useResponderEvents()); + var _StyleSheet = _interopRequireDefault(require_StyleSheet()); + var _TextAncestorContext = _interopRequireDefault(require_TextAncestorContext()); + var _useLocale = require_useLocale(); + var _excluded = ["hrefAttrs", "onLayout", "onMoveShouldSetResponder", "onMoveShouldSetResponderCapture", "onResponderEnd", "onResponderGrant", "onResponderMove", "onResponderReject", "onResponderRelease", "onResponderStart", "onResponderTerminate", "onResponderTerminationRequest", "onScrollShouldSetResponder", "onScrollShouldSetResponderCapture", "onSelectionChangeShouldSetResponder", "onSelectionChangeShouldSetResponderCapture", "onStartShouldSetResponder", "onStartShouldSetResponderCapture"]; + var forwardPropsList = Object.assign({}, forwardedProps.defaultProps, forwardedProps.accessibilityProps, forwardedProps.clickProps, forwardedProps.focusProps, forwardedProps.keyboardProps, forwardedProps.mouseProps, forwardedProps.touchProps, forwardedProps.styleProps, { + href: true, + lang: true, + onScroll: true, + onWheel: true, + pointerEvents: true + }); + var pickProps = /* @__PURE__ */ __name((props) => (0, _pick.default)(props, forwardPropsList), "pickProps"); + var View10 = /* @__PURE__ */ React44.forwardRef((props, forwardedRef) => { + var hrefAttrs = props.hrefAttrs, onLayout = props.onLayout, onMoveShouldSetResponder = props.onMoveShouldSetResponder, onMoveShouldSetResponderCapture = props.onMoveShouldSetResponderCapture, onResponderEnd = props.onResponderEnd, onResponderGrant = props.onResponderGrant, onResponderMove = props.onResponderMove, onResponderReject = props.onResponderReject, onResponderRelease = props.onResponderRelease, onResponderStart = props.onResponderStart, onResponderTerminate = props.onResponderTerminate, onResponderTerminationRequest = props.onResponderTerminationRequest, onScrollShouldSetResponder = props.onScrollShouldSetResponder, onScrollShouldSetResponderCapture = props.onScrollShouldSetResponderCapture, onSelectionChangeShouldSetResponder = props.onSelectionChangeShouldSetResponder, onSelectionChangeShouldSetResponderCapture = props.onSelectionChangeShouldSetResponderCapture, onStartShouldSetResponder = props.onStartShouldSetResponder, onStartShouldSetResponderCapture = props.onStartShouldSetResponderCapture, rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded); + if (process.env.NODE_ENV !== "production") { + React44.Children.toArray(props.children).forEach((item) => { + if (typeof item === "string") { + console.error("Unexpected text node: " + item + ". A text node cannot be a child of a ."); + } + }); + } + var hasTextAncestor = React44.useContext(_TextAncestorContext.default); + var hostRef = React44.useRef(null); + var _useLocaleContext = (0, _useLocale.useLocaleContext)(), contextDirection = _useLocaleContext.direction; + (0, _useElementLayout.default)(hostRef, onLayout); + (0, _useResponderEvents.default)(hostRef, { + onMoveShouldSetResponder, + onMoveShouldSetResponderCapture, + onResponderEnd, + onResponderGrant, + onResponderMove, + onResponderReject, + onResponderRelease, + onResponderStart, + onResponderTerminate, + onResponderTerminationRequest, + onScrollShouldSetResponder, + onScrollShouldSetResponderCapture, + onSelectionChangeShouldSetResponder, + onSelectionChangeShouldSetResponderCapture, + onStartShouldSetResponder, + onStartShouldSetResponderCapture + }); + var component = "div"; + var langDirection = props.lang != null ? (0, _useLocale.getLocaleDirection)(props.lang) : null; + var componentDirection = props.dir || langDirection; + var writingDirection = componentDirection || contextDirection; + var supportedProps = pickProps(rest); + supportedProps.dir = componentDirection; + supportedProps.style = [styles.view$raw, hasTextAncestor && styles.inline, props.style]; + if (props.href != null) { + component = "a"; + if (hrefAttrs != null) { + var download = hrefAttrs.download, rel = hrefAttrs.rel, target = hrefAttrs.target; + if (download != null) { + supportedProps.download = download; + } + if (rel != null) { + supportedProps.rel = rel; + } + if (typeof target === "string") { + supportedProps.target = target.charAt(0) !== "_" ? "_" + target : target; + } + } + } + var platformMethodsRef = (0, _usePlatformMethods.default)(supportedProps); + var setRef2 = (0, _useMergeRefs.default)(hostRef, platformMethodsRef, forwardedRef); + supportedProps.ref = setRef2; + return (0, _createElement.default)(component, supportedProps, { + writingDirection + }); + }); + View10.displayName = "View"; + var styles = _StyleSheet.default.create({ + view$raw: { + alignItems: "stretch", + backgroundColor: "transparent", + border: "0 solid black", + boxSizing: "border-box", + display: "flex", + flexBasis: "auto", + flexDirection: "column", + flexShrink: 0, + listStyle: "none", + margin: 0, + minHeight: 0, + minWidth: 0, + padding: 0, + position: "relative", + textDecoration: "none", + zIndex: 0 + }, + inline: { + display: "inline-flex" + } + }); + var _default = View10; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/deepDiffer/index.js +var require_deepDiffer = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/deepDiffer/index.js"(exports2, module2) { + "use strict"; + exports2.__esModule = true; + exports2.default = void 0; + var deepDiffer = /* @__PURE__ */ __name(function deepDiffer2(one, two, maxDepth) { + if (maxDepth === void 0) { + maxDepth = -1; + } + if (maxDepth === 0) { + return true; + } + if (one === two) { + return false; + } + if (typeof one === "function" && typeof two === "function") { + return false; + } + if (typeof one !== "object" || one === null) { + return one !== two; + } + if (typeof two !== "object" || two === null) { + return true; + } + if (one.constructor !== two.constructor) { + return true; + } + if (Array.isArray(one)) { + var len = one.length; + if (two.length !== len) { + return true; + } + for (var ii = 0; ii < len; ii++) { + if (deepDiffer2(one[ii], two[ii], maxDepth - 1)) { + return true; + } + } + } else { + for (var key in one) { + if (deepDiffer2(one[key], two[key], maxDepth - 1)) { + return true; + } + } + for (var twoKey in two) { + if (one[twoKey] === void 0 && two[twoKey] !== void 0) { + return true; + } + } + } + return false; + }, "deepDiffer"); + var _default = deepDiffer; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/fbjs/lib/invariant.js +var require_invariant = __commonJS({ + "node_modules/fbjs/lib/invariant.js"(exports2, module2) { + "use strict"; + var validateFormat = process.env.NODE_ENV !== "production" ? function(format) { + if (format === void 0) { + throw new Error("invariant(...): Second argument must be a string."); + } + } : function(format) { + }; + function invariant(condition, format) { + for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { + args[_key - 2] = arguments[_key]; + } + validateFormat(format); + if (!condition) { + var error2; + if (format === void 0) { + error2 = new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings."); + } else { + var argIndex = 0; + error2 = new Error(format.replace(/%s/g, function() { + return String(args[argIndex++]); + })); + error2.name = "Invariant Violation"; + } + error2.framesToPop = 1; + throw error2; + } + } + __name(invariant, "invariant"); + module2.exports = invariant; + } +}); + +// node_modules/@babel/runtime/helpers/arrayLikeToArray.js +var require_arrayLikeToArray = __commonJS({ + "node_modules/@babel/runtime/helpers/arrayLikeToArray.js"(exports2, module2) { + function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) + len = arr.length; + for (var i = 0, arr2 = new Array(len); i < len; i++) + arr2[i] = arr[i]; + return arr2; + } + __name(_arrayLikeToArray, "_arrayLikeToArray"); + module2.exports = _arrayLikeToArray, module2.exports.__esModule = true, module2.exports["default"] = module2.exports; + } +}); + +// node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js +var require_unsupportedIterableToArray = __commonJS({ + "node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js"(exports2, module2) { + var arrayLikeToArray = require_arrayLikeToArray(); + function _unsupportedIterableToArray(o, minLen) { + if (!o) + return; + if (typeof o === "string") + return arrayLikeToArray(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) + n = o.constructor.name; + if (n === "Map" || n === "Set") + return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) + return arrayLikeToArray(o, minLen); + } + __name(_unsupportedIterableToArray, "_unsupportedIterableToArray"); + module2.exports = _unsupportedIterableToArray, module2.exports.__esModule = true, module2.exports["default"] = module2.exports; + } +}); + +// node_modules/@babel/runtime/helpers/createForOfIteratorHelperLoose.js +var require_createForOfIteratorHelperLoose = __commonJS({ + "node_modules/@babel/runtime/helpers/createForOfIteratorHelperLoose.js"(exports2, module2) { + var unsupportedIterableToArray = require_unsupportedIterableToArray(); + function _createForOfIteratorHelperLoose(o, allowArrayLike) { + var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; + if (it) + return (it = it.call(o)).next.bind(it); + if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { + if (it) + o = it; + var i = 0; + return function() { + if (i >= o.length) + return { + done: true + }; + return { + done: false, + value: o[i++] + }; + }; + } + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + __name(_createForOfIteratorHelperLoose, "_createForOfIteratorHelperLoose"); + module2.exports = _createForOfIteratorHelperLoose, module2.exports.__esModule = true, module2.exports["default"] = module2.exports; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/RefreshControl/index.js +var require_RefreshControl = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/RefreshControl/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); + var _View = _interopRequireDefault(require_View()); + var _react = _interopRequireDefault(require("react")); + var _excluded = ["colors", "enabled", "onRefresh", "progressBackgroundColor", "progressViewOffset", "refreshing", "size", "tintColor", "title", "titleColor"]; + function RefreshControl(props) { + var colors = props.colors, enabled = props.enabled, onRefresh = props.onRefresh, progressBackgroundColor = props.progressBackgroundColor, progressViewOffset = props.progressViewOffset, refreshing = props.refreshing, size4 = props.size, tintColor = props.tintColor, title = props.title, titleColor = props.titleColor, rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded); + return /* @__PURE__ */ _react.default.createElement(_View.default, rest); + } + __name(RefreshControl, "RefreshControl"); + var _default = RefreshControl; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/Dimensions/index.js +var require_Dimensions = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/Dimensions/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _invariant = _interopRequireDefault(require_invariant()); + var _canUseDom = _interopRequireDefault(require_canUseDom()); + var dimensions = { + window: { + fontScale: 1, + height: 0, + scale: 1, + width: 0 + }, + screen: { + fontScale: 1, + height: 0, + scale: 1, + width: 0 + } + }; + var listeners = {}; + var shouldInit = _canUseDom.default; + function update() { + if (!_canUseDom.default) { + return; + } + var win = window; + var height; + var width; + if (win.visualViewport) { + var visualViewport = win.visualViewport; + height = Math.round(visualViewport.height * visualViewport.scale); + width = Math.round(visualViewport.width * visualViewport.scale); + } else { + var docEl = win.document.documentElement; + height = docEl.clientHeight; + width = docEl.clientWidth; + } + dimensions.window = { + fontScale: 1, + height, + scale: win.devicePixelRatio || 1, + width + }; + dimensions.screen = { + fontScale: 1, + height: win.screen.height, + scale: win.devicePixelRatio || 1, + width: win.screen.width + }; + } + __name(update, "update"); + function handleResize() { + update(); + if (Array.isArray(listeners["change"])) { + listeners["change"].forEach((handler) => handler(dimensions)); + } + } + __name(handleResize, "handleResize"); + var _Dimensions = class _Dimensions { + static get(dimension) { + if (shouldInit) { + shouldInit = false; + update(); + } + (0, _invariant.default)(dimensions[dimension], "No dimension set for key " + dimension); + return dimensions[dimension]; + } + static set(initialDimensions) { + if (initialDimensions) { + if (_canUseDom.default) { + (0, _invariant.default)(false, "Dimensions cannot be set in the browser"); + } else { + if (initialDimensions.screen != null) { + dimensions.screen = initialDimensions.screen; + } + if (initialDimensions.window != null) { + dimensions.window = initialDimensions.window; + } + } + } + } + static addEventListener(type, handler) { + listeners[type] = listeners[type] || []; + listeners[type].push(handler); + return { + remove: () => { + this.removeEventListener(type, handler); + } + }; + } + static removeEventListener(type, handler) { + if (Array.isArray(listeners[type])) { + listeners[type] = listeners[type].filter((_handler) => _handler !== handler); + } + } + }; + __name(_Dimensions, "Dimensions"); + var Dimensions3 = _Dimensions; + exports2.default = Dimensions3; + if (_canUseDom.default) { + if (window.visualViewport) { + window.visualViewport.addEventListener("resize", handleResize, false); + } else { + window.addEventListener("resize", handleResize, false); + } + } + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/modules/TextInputState/index.js +var require_TextInputState = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/TextInputState/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _UIManager = _interopRequireDefault(require_UIManager()); + var TextInputState = { + /** + * Internal state + */ + _currentlyFocusedNode: null, + /** + * Returns the ID of the currently focused text field, if one exists + * If no text field is focused it returns null + */ + currentlyFocusedField() { + if (document.activeElement !== this._currentlyFocusedNode) { + this._currentlyFocusedNode = null; + } + return this._currentlyFocusedNode; + }, + /** + * @param {Object} TextInputID id of the text field to focus + * Focuses the specified text field + * noop if the text field was already focused + */ + focusTextInput(textFieldNode) { + if (textFieldNode !== null) { + this._currentlyFocusedNode = textFieldNode; + if (document.activeElement !== textFieldNode) { + _UIManager.default.focus(textFieldNode); + } + } + }, + /** + * @param {Object} textFieldNode id of the text field to focus + * Unfocuses the specified text field + * noop if it wasn't focused + */ + blurTextInput(textFieldNode) { + if (textFieldNode !== null) { + this._currentlyFocusedNode = null; + if (document.activeElement === textFieldNode) { + _UIManager.default.blur(textFieldNode); + } + } + } + }; + var _default = TextInputState; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/modules/dismissKeyboard/index.js +var require_dismissKeyboard = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/dismissKeyboard/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _TextInputState = _interopRequireDefault(require_TextInputState()); + var dismissKeyboard = /* @__PURE__ */ __name(() => { + _TextInputState.default.blurTextInput(_TextInputState.default.currentlyFocusedField()); + }, "dismissKeyboard"); + var _default = dismissKeyboard; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/ScrollView/ScrollViewBase.js +var require_ScrollViewBase = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/ScrollView/ScrollViewBase.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = void 0; + var _extends2 = _interopRequireDefault(require_extends()); + var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); + var React44 = _interopRequireWildcard(require("react")); + var _StyleSheet = _interopRequireDefault(require_StyleSheet()); + var _View = _interopRequireDefault(require_View()); + var _useMergeRefs = _interopRequireDefault(require_useMergeRefs()); + var _excluded = ["onScroll", "onTouchMove", "onWheel", "scrollEnabled", "scrollEventThrottle", "showsHorizontalScrollIndicator", "showsVerticalScrollIndicator", "style"]; + function normalizeScrollEvent(e) { + return { + nativeEvent: { + contentOffset: { + get x() { + return e.target.scrollLeft; + }, + get y() { + return e.target.scrollTop; + } + }, + contentSize: { + get height() { + return e.target.scrollHeight; + }, + get width() { + return e.target.scrollWidth; + } + }, + layoutMeasurement: { + get height() { + return e.target.offsetHeight; + }, + get width() { + return e.target.offsetWidth; + } + } + }, + timeStamp: Date.now() + }; + } + __name(normalizeScrollEvent, "normalizeScrollEvent"); + function shouldEmitScrollEvent(lastTick, eventThrottle) { + var timeSinceLastTick = Date.now() - lastTick; + return eventThrottle > 0 && timeSinceLastTick >= eventThrottle; + } + __name(shouldEmitScrollEvent, "shouldEmitScrollEvent"); + var ScrollViewBase = /* @__PURE__ */ React44.forwardRef((props, forwardedRef) => { + var onScroll = props.onScroll, onTouchMove = props.onTouchMove, onWheel = props.onWheel, _props$scrollEnabled = props.scrollEnabled, scrollEnabled = _props$scrollEnabled === void 0 ? true : _props$scrollEnabled, _props$scrollEventThr = props.scrollEventThrottle, scrollEventThrottle = _props$scrollEventThr === void 0 ? 0 : _props$scrollEventThr, showsHorizontalScrollIndicator = props.showsHorizontalScrollIndicator, showsVerticalScrollIndicator = props.showsVerticalScrollIndicator, style = props.style, rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded); + var scrollState = React44.useRef({ + isScrolling: false, + scrollLastTick: 0 + }); + var scrollTimeout = React44.useRef(null); + var scrollRef = React44.useRef(null); + function createPreventableScrollHandler(handler) { + return (e) => { + if (scrollEnabled) { + if (handler) { + handler(e); + } + } + }; + } + __name(createPreventableScrollHandler, "createPreventableScrollHandler"); + function handleScroll(e) { + e.stopPropagation(); + if (e.target === scrollRef.current) { + e.persist(); + if (scrollTimeout.current != null) { + clearTimeout(scrollTimeout.current); + } + scrollTimeout.current = setTimeout(() => { + handleScrollEnd(e); + }, 100); + if (scrollState.current.isScrolling) { + if (shouldEmitScrollEvent(scrollState.current.scrollLastTick, scrollEventThrottle)) { + handleScrollTick(e); + } + } else { + handleScrollStart(e); + } + } + } + __name(handleScroll, "handleScroll"); + function handleScrollStart(e) { + scrollState.current.isScrolling = true; + handleScrollTick(e); + } + __name(handleScrollStart, "handleScrollStart"); + function handleScrollTick(e) { + scrollState.current.scrollLastTick = Date.now(); + if (onScroll) { + onScroll(normalizeScrollEvent(e)); + } + } + __name(handleScrollTick, "handleScrollTick"); + function handleScrollEnd(e) { + scrollState.current.isScrolling = false; + if (onScroll) { + onScroll(normalizeScrollEvent(e)); + } + } + __name(handleScrollEnd, "handleScrollEnd"); + var hideScrollbar = showsHorizontalScrollIndicator === false || showsVerticalScrollIndicator === false; + return /* @__PURE__ */ React44.createElement(_View.default, (0, _extends2.default)({}, rest, { + onScroll: handleScroll, + onTouchMove: createPreventableScrollHandler(onTouchMove), + onWheel: createPreventableScrollHandler(onWheel), + ref: (0, _useMergeRefs.default)(scrollRef, forwardedRef), + style: [style, !scrollEnabled && styles.scrollDisabled, hideScrollbar && styles.hideScrollbar] + })); + }); + var styles = _StyleSheet.default.create({ + scrollDisabled: { + overflowX: "hidden", + overflowY: "hidden", + touchAction: "none" + }, + hideScrollbar: { + scrollbarWidth: "none" + } + }); + var _default = ScrollViewBase; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/fbjs/lib/emptyFunction.js +var require_emptyFunction = __commonJS({ + "node_modules/fbjs/lib/emptyFunction.js"(exports2, module2) { + "use strict"; + function makeEmptyFunction(arg) { + return function() { + return arg; + }; + } + __name(makeEmptyFunction, "makeEmptyFunction"); + var emptyFunction = /* @__PURE__ */ __name(function emptyFunction2() { + }, "emptyFunction"); + emptyFunction.thatReturns = makeEmptyFunction; + emptyFunction.thatReturnsFalse = makeEmptyFunction(false); + emptyFunction.thatReturnsTrue = makeEmptyFunction(true); + emptyFunction.thatReturnsNull = makeEmptyFunction(null); + emptyFunction.thatReturnsThis = function() { + return this; + }; + emptyFunction.thatReturnsArgument = function(arg) { + return arg; + }; + module2.exports = emptyFunction; + } +}); + +// node_modules/fbjs/lib/warning.js +var require_warning = __commonJS({ + "node_modules/fbjs/lib/warning.js"(exports2, module2) { + "use strict"; + var emptyFunction = require_emptyFunction(); + function printWarning(format) { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + var argIndex = 0; + var message = "Warning: " + format.replace(/%s/g, function() { + return args[argIndex++]; + }); + if (typeof console !== "undefined") { + console.error(message); + } + try { + throw new Error(message); + } catch (x) { + } + } + __name(printWarning, "printWarning"); + var warning = process.env.NODE_ENV !== "production" ? function(condition, format) { + if (format === void 0) { + throw new Error("`warning(condition, format, ...args)` requires a warning message argument"); + } + if (!condition) { + for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) { + args[_key2 - 2] = arguments[_key2]; + } + printWarning.apply(void 0, [format].concat(args)); + } + } : emptyFunction; + module2.exports = warning; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/ScrollView/index.js +var require_ScrollView = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/ScrollView/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _objectSpread2 = _interopRequireDefault(require_objectSpread2()); + var _extends2 = _interopRequireDefault(require_extends()); + var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); + var _Dimensions = _interopRequireDefault(require_Dimensions()); + var _dismissKeyboard = _interopRequireDefault(require_dismissKeyboard()); + var _invariant = _interopRequireDefault(require_invariant()); + var _mergeRefs = _interopRequireDefault(require_mergeRefs()); + var _Platform = _interopRequireDefault(require_Platform()); + var _ScrollViewBase = _interopRequireDefault(require_ScrollViewBase()); + var _StyleSheet = _interopRequireDefault(require_StyleSheet()); + var _TextInputState = _interopRequireDefault(require_TextInputState()); + var _UIManager = _interopRequireDefault(require_UIManager()); + var _View = _interopRequireDefault(require_View()); + var _react = _interopRequireDefault(require("react")); + var _warning = _interopRequireDefault(require_warning()); + var _excluded = ["contentContainerStyle", "horizontal", "onContentSizeChange", "refreshControl", "stickyHeaderIndices", "pagingEnabled", "forwardedRef", "keyboardDismissMode", "onScroll", "centerContent"]; + var emptyObject = {}; + var IS_ANIMATING_TOUCH_START_THRESHOLD_MS = 16; + var _ScrollView = class _ScrollView extends _react.default.Component { + constructor() { + super(...arguments); + this._scrollNodeRef = null; + this._innerViewRef = null; + this.isTouching = false; + this.lastMomentumScrollBeginTime = 0; + this.lastMomentumScrollEndTime = 0; + this.observedScrollSinceBecomingResponder = false; + this.becameResponderWhileAnimating = false; + this.scrollResponderHandleScrollShouldSetResponder = () => { + return this.isTouching; + }; + this.scrollResponderHandleStartShouldSetResponderCapture = (e) => { + return this.scrollResponderIsAnimating(); + }; + this.scrollResponderHandleTerminationRequest = () => { + return !this.observedScrollSinceBecomingResponder; + }; + this.scrollResponderHandleTouchEnd = (e) => { + var nativeEvent = e.nativeEvent; + this.isTouching = nativeEvent.touches.length !== 0; + this.props.onTouchEnd && this.props.onTouchEnd(e); + }; + this.scrollResponderHandleResponderRelease = (e) => { + this.props.onResponderRelease && this.props.onResponderRelease(e); + var currentlyFocusedTextInput = _TextInputState.default.currentlyFocusedField(); + if (!this.props.keyboardShouldPersistTaps && currentlyFocusedTextInput != null && e.target !== currentlyFocusedTextInput && !this.observedScrollSinceBecomingResponder && !this.becameResponderWhileAnimating) { + this.props.onScrollResponderKeyboardDismissed && this.props.onScrollResponderKeyboardDismissed(e); + _TextInputState.default.blurTextInput(currentlyFocusedTextInput); + } + }; + this.scrollResponderHandleScroll = (e) => { + this.observedScrollSinceBecomingResponder = true; + this.props.onScroll && this.props.onScroll(e); + }; + this.scrollResponderHandleResponderGrant = (e) => { + this.observedScrollSinceBecomingResponder = false; + this.props.onResponderGrant && this.props.onResponderGrant(e); + this.becameResponderWhileAnimating = this.scrollResponderIsAnimating(); + }; + this.scrollResponderHandleScrollBeginDrag = (e) => { + this.props.onScrollBeginDrag && this.props.onScrollBeginDrag(e); + }; + this.scrollResponderHandleScrollEndDrag = (e) => { + this.props.onScrollEndDrag && this.props.onScrollEndDrag(e); + }; + this.scrollResponderHandleMomentumScrollBegin = (e) => { + this.lastMomentumScrollBeginTime = Date.now(); + this.props.onMomentumScrollBegin && this.props.onMomentumScrollBegin(e); + }; + this.scrollResponderHandleMomentumScrollEnd = (e) => { + this.lastMomentumScrollEndTime = Date.now(); + this.props.onMomentumScrollEnd && this.props.onMomentumScrollEnd(e); + }; + this.scrollResponderHandleTouchStart = (e) => { + this.isTouching = true; + this.props.onTouchStart && this.props.onTouchStart(e); + }; + this.scrollResponderHandleTouchMove = (e) => { + this.props.onTouchMove && this.props.onTouchMove(e); + }; + this.scrollResponderIsAnimating = () => { + var now = Date.now(); + var timeSinceLastMomentumScrollEnd = now - this.lastMomentumScrollEndTime; + var isAnimating = timeSinceLastMomentumScrollEnd < IS_ANIMATING_TOUCH_START_THRESHOLD_MS || this.lastMomentumScrollEndTime < this.lastMomentumScrollBeginTime; + return isAnimating; + }; + this.scrollResponderScrollTo = (x, y, animated) => { + if (typeof x === "number") { + console.warn("`scrollResponderScrollTo(x, y, animated)` is deprecated. Use `scrollResponderScrollTo({x: 5, y: 5, animated: true})` instead."); + } else { + var _ref = x || emptyObject; + x = _ref.x; + y = _ref.y; + animated = _ref.animated; + } + var node = this.getScrollableNode(); + var left = x || 0; + var top = y || 0; + if (node != null) { + if (typeof node.scroll === "function") { + node.scroll({ + top, + left, + behavior: !animated ? "auto" : "smooth" + }); + } else { + node.scrollLeft = left; + node.scrollTop = top; + } + } + }; + this.scrollResponderZoomTo = (rect, animated) => { + if (_Platform.default.OS !== "ios") { + (0, _invariant.default)("zoomToRect is not implemented"); + } + }; + this.scrollResponderScrollNativeHandleToKeyboard = (nodeHandle, additionalOffset, preventNegativeScrollOffset) => { + this.additionalScrollOffset = additionalOffset || 0; + this.preventNegativeScrollOffset = !!preventNegativeScrollOffset; + _UIManager.default.measureLayout(nodeHandle, this.getInnerViewNode(), this.scrollResponderTextInputFocusError, this.scrollResponderInputMeasureAndScrollToKeyboard); + }; + this.scrollResponderInputMeasureAndScrollToKeyboard = (left, top, width, height) => { + var keyboardScreenY = _Dimensions.default.get("window").height; + if (this.keyboardWillOpenTo) { + keyboardScreenY = this.keyboardWillOpenTo.endCoordinates.screenY; + } + var scrollOffsetY = top - keyboardScreenY + height + this.additionalScrollOffset; + if (this.preventNegativeScrollOffset) { + scrollOffsetY = Math.max(0, scrollOffsetY); + } + this.scrollResponderScrollTo({ + x: 0, + y: scrollOffsetY, + animated: true + }); + this.additionalOffset = 0; + this.preventNegativeScrollOffset = false; + }; + this.scrollResponderKeyboardWillShow = (e) => { + this.keyboardWillOpenTo = e; + this.props.onKeyboardWillShow && this.props.onKeyboardWillShow(e); + }; + this.scrollResponderKeyboardWillHide = (e) => { + this.keyboardWillOpenTo = null; + this.props.onKeyboardWillHide && this.props.onKeyboardWillHide(e); + }; + this.scrollResponderKeyboardDidShow = (e) => { + if (e) { + this.keyboardWillOpenTo = e; + } + this.props.onKeyboardDidShow && this.props.onKeyboardDidShow(e); + }; + this.scrollResponderKeyboardDidHide = (e) => { + this.keyboardWillOpenTo = null; + this.props.onKeyboardDidHide && this.props.onKeyboardDidHide(e); + }; + this.flashScrollIndicators = () => { + this.scrollResponderFlashScrollIndicators(); + }; + this.getScrollResponder = () => { + return this; + }; + this.getScrollableNode = () => { + return this._scrollNodeRef; + }; + this.getInnerViewRef = () => { + return this._innerViewRef; + }; + this.getInnerViewNode = () => { + return this._innerViewRef; + }; + this.getNativeScrollRef = () => { + return this._scrollNodeRef; + }; + this.scrollTo = (y, x, animated) => { + if (typeof y === "number") { + console.warn("`scrollTo(y, x, animated)` is deprecated. Use `scrollTo({x: 5, y: 5, animated: true})` instead."); + } else { + var _ref2 = y || emptyObject; + x = _ref2.x; + y = _ref2.y; + animated = _ref2.animated; + } + this.scrollResponderScrollTo({ + x: x || 0, + y: y || 0, + animated: animated !== false + }); + }; + this.scrollToEnd = (options) => { + var animated = (options && options.animated) !== false; + var horizontal = this.props.horizontal; + var scrollResponderNode = this.getScrollableNode(); + var x = horizontal ? scrollResponderNode.scrollWidth : 0; + var y = horizontal ? 0 : scrollResponderNode.scrollHeight; + this.scrollResponderScrollTo({ + x, + y, + animated + }); + }; + this._handleContentOnLayout = (e) => { + var _e$nativeEvent$layout = e.nativeEvent.layout, width = _e$nativeEvent$layout.width, height = _e$nativeEvent$layout.height; + this.props.onContentSizeChange(width, height); + }; + this._handleScroll = (e) => { + if (process.env.NODE_ENV !== "production") { + if (this.props.onScroll && this.props.scrollEventThrottle == null) { + console.log("You specified `onScroll` on a but not `scrollEventThrottle`. You will only receive one event. Using `16` you get all the events but be aware that it may cause frame drops, use a bigger number if you don't need as much precision."); + } + } + if (this.props.keyboardDismissMode === "on-drag") { + (0, _dismissKeyboard.default)(); + } + this.scrollResponderHandleScroll(e); + }; + this._setInnerViewRef = (node) => { + this._innerViewRef = node; + }; + this._setScrollNodeRef = (node) => { + this._scrollNodeRef = node; + if (node != null) { + node.getScrollResponder = this.getScrollResponder; + node.getInnerViewNode = this.getInnerViewNode; + node.getInnerViewRef = this.getInnerViewRef; + node.getNativeScrollRef = this.getNativeScrollRef; + node.getScrollableNode = this.getScrollableNode; + node.scrollTo = this.scrollTo; + node.scrollToEnd = this.scrollToEnd; + node.flashScrollIndicators = this.flashScrollIndicators; + node.scrollResponderZoomTo = this.scrollResponderZoomTo; + node.scrollResponderScrollNativeHandleToKeyboard = this.scrollResponderScrollNativeHandleToKeyboard; + } + var ref = (0, _mergeRefs.default)(this.props.forwardedRef); + ref(node); + }; + } + /** + * Merely touch starting is not sufficient for a scroll view to become the + * responder. Being the "responder" means that the very next touch move/end + * event will result in an action/movement. + * + * Invoke this from an `onStartShouldSetResponder` event. + * + * `onStartShouldSetResponder` is used when the next move/end will trigger + * some UI movement/action, but when you want to yield priority to views + * nested inside of the view. + * + * There may be some cases where scroll views actually should return `true` + * from `onStartShouldSetResponder`: Any time we are detecting a standard tap + * that gives priority to nested views. + * + * - If a single tap on the scroll view triggers an action such as + * recentering a map style view yet wants to give priority to interaction + * views inside (such as dropped pins or labels), then we would return true + * from this method when there is a single touch. + * + * - Similar to the previous case, if a two finger "tap" should trigger a + * zoom, we would check the `touches` count, and if `>= 2`, we would return + * true. + * + */ + scrollResponderHandleStartShouldSetResponder() { + return false; + } + /** + * There are times when the scroll view wants to become the responder + * (meaning respond to the next immediate `touchStart/touchEnd`), in a way + * that *doesn't* give priority to nested views (hence the capture phase): + * + * - Currently animating. + * - Tapping anywhere that is not the focused input, while the keyboard is + * up (which should dismiss the keyboard). + * + * Invoke this from an `onStartShouldSetResponderCapture` event. + */ + /** + * Invoke this from an `onResponderReject` event. + * + * Some other element is not yielding its role as responder. Normally, we'd + * just disable the `UIScrollView`, but a touch has already began on it, the + * `UIScrollView` will not accept being disabled after that. The easiest + * solution for now is to accept the limitation of disallowing this + * altogether. To improve this, find a way to disable the `UIScrollView` after + * a touch has already started. + */ + scrollResponderHandleResponderReject() { + (0, _warning.default)(false, "ScrollView doesn't take rejection well - scrolls anyway"); + } + /** + * We will allow the scroll view to give up its lock iff it acquired the lock + * during an animation. This is a very useful default that happens to satisfy + * many common user experiences. + * + * - Stop a scroll on the left edge, then turn that into an outer view's + * backswipe. + * - Stop a scroll mid-bounce at the top, continue pulling to have the outer + * view dismiss. + * - However, without catching the scroll view mid-bounce (while it is + * motionless), if you drag far enough for the scroll view to become + * responder (and therefore drag the scroll view a bit), any backswipe + * navigation of a swipe gesture higher in the view hierarchy, should be + * rejected. + */ + /** + * Displays the scroll indicators momentarily. + */ + scrollResponderFlashScrollIndicators() { + } + /** + * This method should be used as the callback to onFocus in a TextInputs' + * parent view. Note that any module using this mixin needs to return + * the parent view's ref in getScrollViewRef() in order to use this method. + * @param {any} nodeHandle The TextInput node handle + * @param {number} additionalOffset The scroll view's top "contentInset". + * Default is 0. + * @param {bool} preventNegativeScrolling Whether to allow pulling the content + * down to make it meet the keyboard's top. Default is false. + */ + scrollResponderTextInputFocusError(e) { + console.error("Error measuring text field: ", e); + } + /** + * Warning, this may be called several times for a single keyboard opening. + * It's best to store the information in this method and then take any action + * at a later point (either in `keyboardDidShow` or other). + * + * Here's the order that events occur in: + * - focus + * - willShow {startCoordinates, endCoordinates} several times + * - didShow several times + * - blur + * - willHide {startCoordinates, endCoordinates} several times + * - didHide several times + * + * The `ScrollResponder` providesModule callbacks for each of these events. + * Even though any user could have easily listened to keyboard events + * themselves, using these `props` callbacks ensures that ordering of events + * is consistent - and not dependent on the order that the keyboard events are + * subscribed to. This matters when telling the scroll view to scroll to where + * the keyboard is headed - the scroll responder better have been notified of + * the keyboard destination before being instructed to scroll to where the + * keyboard will be. Stick to the `ScrollResponder` callbacks, and everything + * will work. + * + * WARNING: These callbacks will fire even if a keyboard is displayed in a + * different navigation pane. Filter out the events to determine if they are + * relevant to you. (For example, only if you receive these callbacks after + * you had explicitly focused a node etc). + */ + render() { + var _this$props = this.props, contentContainerStyle = _this$props.contentContainerStyle, horizontal = _this$props.horizontal, onContentSizeChange = _this$props.onContentSizeChange, refreshControl = _this$props.refreshControl, stickyHeaderIndices = _this$props.stickyHeaderIndices, pagingEnabled = _this$props.pagingEnabled, forwardedRef = _this$props.forwardedRef, keyboardDismissMode = _this$props.keyboardDismissMode, onScroll = _this$props.onScroll, centerContent = _this$props.centerContent, other = (0, _objectWithoutPropertiesLoose2.default)(_this$props, _excluded); + if (process.env.NODE_ENV !== "production" && this.props.style) { + var style = _StyleSheet.default.flatten(this.props.style); + var childLayoutProps = ["alignItems", "justifyContent"].filter((prop) => style && style[prop] !== void 0); + (0, _invariant.default)(childLayoutProps.length === 0, "ScrollView child layout (" + JSON.stringify(childLayoutProps) + ") must be applied through the contentContainerStyle prop."); + } + var contentSizeChangeProps = {}; + if (onContentSizeChange) { + contentSizeChangeProps = { + onLayout: this._handleContentOnLayout + }; + } + var hasStickyHeaderIndices = !horizontal && Array.isArray(stickyHeaderIndices); + var children = hasStickyHeaderIndices || pagingEnabled ? _react.default.Children.map(this.props.children, (child, i) => { + var isSticky = hasStickyHeaderIndices && stickyHeaderIndices.indexOf(i) > -1; + if (child != null && (isSticky || pagingEnabled)) { + return /* @__PURE__ */ _react.default.createElement(_View.default, { + style: [isSticky && styles.stickyHeader, pagingEnabled && styles.pagingEnabledChild] + }, child); + } else { + return child; + } + }) : this.props.children; + var contentContainer = /* @__PURE__ */ _react.default.createElement(_View.default, (0, _extends2.default)({}, contentSizeChangeProps, { + children, + collapsable: false, + ref: this._setInnerViewRef, + style: [horizontal && styles.contentContainerHorizontal, centerContent && styles.contentContainerCenterContent, contentContainerStyle] + })); + var baseStyle = horizontal ? styles.baseHorizontal : styles.baseVertical; + var pagingEnabledStyle = horizontal ? styles.pagingEnabledHorizontal : styles.pagingEnabledVertical; + var props = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, other), {}, { + style: [baseStyle, pagingEnabled && pagingEnabledStyle, this.props.style], + onTouchStart: this.scrollResponderHandleTouchStart, + onTouchMove: this.scrollResponderHandleTouchMove, + onTouchEnd: this.scrollResponderHandleTouchEnd, + onScrollBeginDrag: this.scrollResponderHandleScrollBeginDrag, + onScrollEndDrag: this.scrollResponderHandleScrollEndDrag, + onMomentumScrollBegin: this.scrollResponderHandleMomentumScrollBegin, + onMomentumScrollEnd: this.scrollResponderHandleMomentumScrollEnd, + onStartShouldSetResponder: this.scrollResponderHandleStartShouldSetResponder, + onStartShouldSetResponderCapture: this.scrollResponderHandleStartShouldSetResponderCapture, + onScrollShouldSetResponder: this.scrollResponderHandleScrollShouldSetResponder, + onScroll: this._handleScroll, + onResponderGrant: this.scrollResponderHandleResponderGrant, + onResponderTerminationRequest: this.scrollResponderHandleTerminationRequest, + onResponderTerminate: this.scrollResponderHandleTerminate, + onResponderRelease: this.scrollResponderHandleResponderRelease, + onResponderReject: this.scrollResponderHandleResponderReject + }); + var ScrollViewClass = _ScrollViewBase.default; + (0, _invariant.default)(ScrollViewClass !== void 0, "ScrollViewClass must not be undefined"); + var scrollView = /* @__PURE__ */ _react.default.createElement(ScrollViewClass, (0, _extends2.default)({}, props, { + ref: this._setScrollNodeRef + }), contentContainer); + if (refreshControl) { + return /* @__PURE__ */ _react.default.cloneElement(refreshControl, { + style: props.style + }, scrollView); + } + return scrollView; + } + }; + __name(_ScrollView, "ScrollView"); + var ScrollView4 = _ScrollView; + var commonStyle = { + flexGrow: 1, + flexShrink: 1, + // Enable hardware compositing in modern browsers. + // Creates a new layer with its own backing surface that can significantly + // improve scroll performance. + transform: "translateZ(0)", + // iOS native scrolling + WebkitOverflowScrolling: "touch" + }; + var styles = _StyleSheet.default.create({ + baseVertical: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, commonStyle), {}, { + flexDirection: "column", + overflowX: "hidden", + overflowY: "auto" + }), + baseHorizontal: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, commonStyle), {}, { + flexDirection: "row", + overflowX: "auto", + overflowY: "hidden" + }), + contentContainerHorizontal: { + flexDirection: "row" + }, + contentContainerCenterContent: { + justifyContent: "center", + flexGrow: 1 + }, + stickyHeader: { + position: "sticky", + top: 0, + zIndex: 10 + }, + pagingEnabledHorizontal: { + scrollSnapType: "x mandatory" + }, + pagingEnabledVertical: { + scrollSnapType: "y mandatory" + }, + pagingEnabledChild: { + scrollSnapAlign: "start" + } + }); + var ForwardedScrollView = /* @__PURE__ */ _react.default.forwardRef((props, forwardedRef) => { + return /* @__PURE__ */ _react.default.createElement(ScrollView4, (0, _extends2.default)({}, props, { + forwardedRef + })); + }); + ForwardedScrollView.displayName = "ScrollView"; + var _default = ForwardedScrollView; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/InteractionManager/TaskQueue.js +var require_TaskQueue = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/InteractionManager/TaskQueue.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _objectSpread2 = _interopRequireDefault(require_objectSpread2()); + var _invariant = _interopRequireDefault(require_invariant()); + var _TaskQueue = class _TaskQueue { + constructor(_ref) { + var onMoreTasks = _ref.onMoreTasks; + this._onMoreTasks = onMoreTasks; + this._queueStack = [{ + tasks: [], + popable: true + }]; + } + enqueue(task) { + this._getCurrentQueue().push(task); + } + enqueueTasks(tasks) { + tasks.forEach((task) => this.enqueue(task)); + } + cancelTasks(tasksToCancel) { + this._queueStack = this._queueStack.map((queue) => (0, _objectSpread2.default)((0, _objectSpread2.default)({}, queue), {}, { + tasks: queue.tasks.filter((task) => tasksToCancel.indexOf(task) === -1) + })).filter((queue, idx) => queue.tasks.length > 0 || idx === 0); + } + hasTasksToProcess() { + return this._getCurrentQueue().length > 0; + } + /** + * Executes the next task in the queue. + */ + processNext() { + var queue = this._getCurrentQueue(); + if (queue.length) { + var task = queue.shift(); + try { + if (typeof task === "object" && task.gen) { + this._genPromise(task); + } else if (typeof task === "object" && task.run) { + task.run(); + } else { + (0, _invariant.default)(typeof task === "function", "Expected Function, SimpleTask, or PromiseTask, but got:\n" + JSON.stringify(task, null, 2)); + task(); + } + } catch (e) { + e.message = "TaskQueue: Error with task " + (task.name || "") + ": " + e.message; + throw e; + } + } + } + _getCurrentQueue() { + var stackIdx = this._queueStack.length - 1; + var queue = this._queueStack[stackIdx]; + if (queue.popable && queue.tasks.length === 0 && stackIdx > 0) { + this._queueStack.pop(); + return this._getCurrentQueue(); + } else { + return queue.tasks; + } + } + _genPromise(task) { + var length = this._queueStack.push({ + tasks: [], + popable: false + }); + var stackIdx = length - 1; + var stackItem = this._queueStack[stackIdx]; + task.gen().then(() => { + stackItem.popable = true; + this.hasTasksToProcess() && this._onMoreTasks(); + }).catch((ex) => { + setTimeout(() => { + ex.message = "TaskQueue: Error resolving Promise in task " + task.name + ": " + ex.message; + throw ex; + }, 0); + }); + } + }; + __name(_TaskQueue, "TaskQueue"); + var TaskQueue = _TaskQueue; + var _default = TaskQueue; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/vendor/emitter/EventEmitter.js +var require_EventEmitter = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/vendor/emitter/EventEmitter.js"(exports2, module2) { + "use strict"; + exports2.__esModule = true; + exports2.default = void 0; + var _EventEmitter = class _EventEmitter { + constructor() { + this._registry = {}; + } + /** + * Registers a listener that is called when the supplied event is emitted. + * Returns a subscription that has a `remove` method to undo registration. + */ + addListener(eventType, listener, context) { + var registrations = allocate(this._registry, eventType); + var registration = { + context, + listener, + remove() { + registrations.delete(registration); + } + }; + registrations.add(registration); + return registration; + } + /** + * Emits the supplied event. Additional arguments supplied to `emit` will be + * passed through to each of the registered listeners. + * + * If a listener modifies the listeners registered for the same event, those + * changes will not be reflected in the current invocation of `emit`. + */ + emit(eventType) { + var registrations = this._registry[eventType]; + if (registrations != null) { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + for (var _i = 0, _arr = [...registrations]; _i < _arr.length; _i++) { + var registration = _arr[_i]; + registration.listener.apply(registration.context, args); + } + } + } + /** + * Removes all registered listeners. + */ + removeAllListeners(eventType) { + if (eventType == null) { + this._registry = {}; + } else { + delete this._registry[eventType]; + } + } + /** + * Returns the number of registered listeners for the supplied event. + */ + listenerCount(eventType) { + var registrations = this._registry[eventType]; + return registrations == null ? 0 : registrations.size; + } + }; + __name(_EventEmitter, "EventEmitter"); + var EventEmitter = _EventEmitter; + exports2.default = EventEmitter; + function allocate(registry, eventType) { + var registrations = registry[eventType]; + if (registrations == null) { + registrations = /* @__PURE__ */ new Set(); + registry[eventType] = registrations; + } + return registrations; + } + __name(allocate, "allocate"); + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/modules/requestIdleCallback/index.js +var require_requestIdleCallback = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/requestIdleCallback/index.js"(exports2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = exports2.cancelIdleCallback = void 0; + var _canUseDom = _interopRequireDefault(require_canUseDom()); + var _requestIdleCallback = /* @__PURE__ */ __name(function _requestIdleCallback2(cb, options) { + return setTimeout(() => { + var start = Date.now(); + cb({ + didTimeout: false, + timeRemaining() { + return Math.max(0, 50 - (Date.now() - start)); + } + }); + }, 1); + }, "_requestIdleCallback"); + var _cancelIdleCallback = /* @__PURE__ */ __name(function _cancelIdleCallback2(id) { + clearTimeout(id); + }, "_cancelIdleCallback"); + var isSupported = _canUseDom.default && typeof window.requestIdleCallback !== "undefined"; + var requestIdleCallback = isSupported ? window.requestIdleCallback : _requestIdleCallback; + var cancelIdleCallback = isSupported ? window.cancelIdleCallback : _cancelIdleCallback; + exports2.cancelIdleCallback = cancelIdleCallback; + var _default = requestIdleCallback; + exports2.default = _default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/InteractionManager/index.js +var require_InteractionManager = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/InteractionManager/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _invariant = _interopRequireDefault(require_invariant()); + var _TaskQueue = _interopRequireDefault(require_TaskQueue()); + var _EventEmitter = _interopRequireDefault(require_EventEmitter()); + var _requestIdleCallback = _interopRequireDefault(require_requestIdleCallback()); + var _emitter = new _EventEmitter.default(); + var InteractionManager = { + Events: { + interactionStart: "interactionStart", + interactionComplete: "interactionComplete" + }, + /** + * Schedule a function to run after all interactions have completed. + */ + runAfterInteractions(task) { + var tasks = []; + var promise = new Promise((resolve) => { + _scheduleUpdate(); + if (task) { + tasks.push(task); + } + tasks.push({ + run: resolve, + name: "resolve " + (task && task.name || "?") + }); + _taskQueue.enqueueTasks(tasks); + }); + return { + then: promise.then.bind(promise), + done: promise.then.bind(promise), + cancel: () => { + _taskQueue.cancelTasks(tasks); + } + }; + }, + /** + * Notify manager that an interaction has started. + */ + createInteractionHandle() { + _scheduleUpdate(); + var handle = ++_inc; + _addInteractionSet.add(handle); + return handle; + }, + /** + * Notify manager that an interaction has completed. + */ + clearInteractionHandle(handle) { + (0, _invariant.default)(!!handle, "Must provide a handle to clear."); + _scheduleUpdate(); + _addInteractionSet.delete(handle); + _deleteInteractionSet.add(handle); + }, + addListener: _emitter.addListener.bind(_emitter), + /** + * + * @param deadline + */ + setDeadline(deadline) { + _deadline = deadline; + } + }; + var _interactionSet = /* @__PURE__ */ new Set(); + var _addInteractionSet = /* @__PURE__ */ new Set(); + var _deleteInteractionSet = /* @__PURE__ */ new Set(); + var _taskQueue = new _TaskQueue.default({ + onMoreTasks: _scheduleUpdate + }); + var _nextUpdateHandle = 0; + var _inc = 0; + var _deadline = -1; + function _scheduleUpdate() { + if (!_nextUpdateHandle) { + if (_deadline > 0) { + _nextUpdateHandle = setTimeout(_processUpdate); + } else { + _nextUpdateHandle = (0, _requestIdleCallback.default)(_processUpdate); + } + } + } + __name(_scheduleUpdate, "_scheduleUpdate"); + function _processUpdate() { + _nextUpdateHandle = 0; + var interactionCount = _interactionSet.size; + _addInteractionSet.forEach((handle) => _interactionSet.add(handle)); + _deleteInteractionSet.forEach((handle) => _interactionSet.delete(handle)); + var nextInteractionCount = _interactionSet.size; + if (interactionCount !== 0 && nextInteractionCount === 0) { + _emitter.emit(InteractionManager.Events.interactionComplete); + } else if (interactionCount === 0 && nextInteractionCount !== 0) { + _emitter.emit(InteractionManager.Events.interactionStart); + } + if (nextInteractionCount === 0) { + var begin = Date.now(); + while (_taskQueue.hasTasksToProcess()) { + _taskQueue.processNext(); + if (_deadline > 0 && Date.now() - begin >= _deadline) { + _scheduleUpdate(); + break; + } + } + } + _addInteractionSet.clear(); + _deleteInteractionSet.clear(); + } + __name(_processUpdate, "_processUpdate"); + var _default = InteractionManager; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Batchinator/index.js +var require_Batchinator = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Batchinator/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _InteractionManager = _interopRequireDefault(require_InteractionManager()); + var _Batchinator = class _Batchinator { + constructor(callback, delayMS) { + this._delay = delayMS; + this._callback = callback; + } + /* + * Cleanup any pending tasks. + * + * By default, if there is a pending task the callback is run immediately. Set the option abort to + * true to not call the callback if it was pending. + */ + dispose(options) { + if (options === void 0) { + options = { + abort: false + }; + } + if (this._taskHandle) { + this._taskHandle.cancel(); + if (!options.abort) { + this._callback(); + } + this._taskHandle = null; + } + } + schedule() { + if (this._taskHandle) { + return; + } + var timeoutHandle = setTimeout(() => { + this._taskHandle = _InteractionManager.default.runAfterInteractions(() => { + this._taskHandle = null; + this._callback(); + }); + }, this._delay); + this._taskHandle = { + cancel: () => clearTimeout(timeoutHandle) + }; + } + }; + __name(_Batchinator, "Batchinator"); + var Batchinator = _Batchinator; + var _default = Batchinator; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Utilities/clamp.js +var require_clamp2 = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Utilities/clamp.js"(exports2, module2) { + "use strict"; + function clamp3(min2, value, max2) { + if (value < min2) { + return min2; + } + if (value > max2) { + return max2; + } + return value; + } + __name(clamp3, "clamp"); + module2.exports = clamp3; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/infoLog/index.js +var require_infoLog = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/infoLog/index.js"(exports2, module2) { + "use strict"; + exports2.__esModule = true; + exports2.default = void 0; + function infoLog() { + return console.log(...arguments); + } + __name(infoLog, "infoLog"); + var _default = infoLog; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/VirtualizedList/CellRenderMask.js +var require_CellRenderMask = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/VirtualizedList/CellRenderMask.js"(exports2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.CellRenderMask = void 0; + var _objectSpread2 = _interopRequireDefault(require_objectSpread2()); + var _invariant = _interopRequireDefault(require_invariant()); + var _CellRenderMask = class _CellRenderMask { + constructor(numCells) { + (0, _invariant.default)(numCells >= 0, "CellRenderMask must contain a non-negative number os cells"); + this._numCells = numCells; + if (numCells === 0) { + this._regions = []; + } else { + this._regions = [{ + first: 0, + last: numCells - 1, + isSpacer: true + }]; + } + } + enumerateRegions() { + return this._regions; + } + addCells(cells) { + (0, _invariant.default)(cells.first >= 0 && cells.first < this._numCells && cells.last >= -1 && cells.last < this._numCells && cells.last >= cells.first - 1, "CellRenderMask.addCells called with invalid cell range"); + if (cells.last < cells.first) { + return; + } + var _this$_findRegion = this._findRegion(cells.first), firstIntersect = _this$_findRegion[0], firstIntersectIdx = _this$_findRegion[1]; + var _this$_findRegion2 = this._findRegion(cells.last), lastIntersect = _this$_findRegion2[0], lastIntersectIdx = _this$_findRegion2[1]; + if (firstIntersectIdx === lastIntersectIdx && !firstIntersect.isSpacer) { + return; + } + var newLeadRegion = []; + var newTailRegion = []; + var newMainRegion = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, cells), {}, { + isSpacer: false + }); + if (firstIntersect.first < newMainRegion.first) { + if (firstIntersect.isSpacer) { + newLeadRegion.push({ + first: firstIntersect.first, + last: newMainRegion.first - 1, + isSpacer: true + }); + } else { + newMainRegion.first = firstIntersect.first; + } + } + if (lastIntersect.last > newMainRegion.last) { + if (lastIntersect.isSpacer) { + newTailRegion.push({ + first: newMainRegion.last + 1, + last: lastIntersect.last, + isSpacer: true + }); + } else { + newMainRegion.last = lastIntersect.last; + } + } + var replacementRegions = [...newLeadRegion, newMainRegion, ...newTailRegion]; + var numRegionsToDelete = lastIntersectIdx - firstIntersectIdx + 1; + this._regions.splice(firstIntersectIdx, numRegionsToDelete, ...replacementRegions); + } + numCells() { + return this._numCells; + } + equals(other) { + return this._numCells === other._numCells && this._regions.length === other._regions.length && this._regions.every((region, i) => region.first === other._regions[i].first && region.last === other._regions[i].last && region.isSpacer === other._regions[i].isSpacer); + } + _findRegion(cellIdx) { + var firstIdx = 0; + var lastIdx = this._regions.length - 1; + while (firstIdx <= lastIdx) { + var middleIdx = Math.floor((firstIdx + lastIdx) / 2); + var middleRegion = this._regions[middleIdx]; + if (cellIdx >= middleRegion.first && cellIdx <= middleRegion.last) { + return [middleRegion, middleIdx]; + } else if (cellIdx < middleRegion.first) { + lastIdx = middleIdx - 1; + } else if (cellIdx > middleRegion.last) { + firstIdx = middleIdx + 1; + } + } + (0, _invariant.default)(false, "A region was not found containing cellIdx " + cellIdx); + } + }; + __name(_CellRenderMask, "CellRenderMask"); + var CellRenderMask = _CellRenderMask; + exports2.CellRenderMask = CellRenderMask; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/VirtualizedList/ChildListCollection.js +var require_ChildListCollection = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/VirtualizedList/ChildListCollection.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _createForOfIteratorHelperLoose2 = _interopRequireDefault(require_createForOfIteratorHelperLoose()); + var _invariant = _interopRequireDefault(require_invariant()); + var _ChildListCollection = class _ChildListCollection { + constructor() { + this._cellKeyToChildren = /* @__PURE__ */ new Map(); + this._childrenToCellKey = /* @__PURE__ */ new Map(); + } + add(list, cellKey) { + var _this$_cellKeyToChild; + (0, _invariant.default)(!this._childrenToCellKey.has(list), "Trying to add already present child list"); + var cellLists = (_this$_cellKeyToChild = this._cellKeyToChildren.get(cellKey)) !== null && _this$_cellKeyToChild !== void 0 ? _this$_cellKeyToChild : /* @__PURE__ */ new Set(); + cellLists.add(list); + this._cellKeyToChildren.set(cellKey, cellLists); + this._childrenToCellKey.set(list, cellKey); + } + remove(list) { + var cellKey = this._childrenToCellKey.get(list); + (0, _invariant.default)(cellKey != null, "Trying to remove non-present child list"); + this._childrenToCellKey.delete(list); + var cellLists = this._cellKeyToChildren.get(cellKey); + (0, _invariant.default)(cellLists, "_cellKeyToChildren should contain cellKey"); + cellLists.delete(list); + if (cellLists.size === 0) { + this._cellKeyToChildren.delete(cellKey); + } + } + forEach(fn) { + for (var _iterator = (0, _createForOfIteratorHelperLoose2.default)(this._cellKeyToChildren.values()), _step; !(_step = _iterator()).done; ) { + var listSet = _step.value; + for (var _iterator2 = (0, _createForOfIteratorHelperLoose2.default)(listSet), _step2; !(_step2 = _iterator2()).done; ) { + var list = _step2.value; + fn(list); + } + } + } + forEachInCell(cellKey, fn) { + var _this$_cellKeyToChild2; + var listSet = (_this$_cellKeyToChild2 = this._cellKeyToChildren.get(cellKey)) !== null && _this$_cellKeyToChild2 !== void 0 ? _this$_cellKeyToChild2 : []; + for (var _iterator3 = (0, _createForOfIteratorHelperLoose2.default)(listSet), _step3; !(_step3 = _iterator3()).done; ) { + var list = _step3.value; + fn(list); + } + } + anyInCell(cellKey, fn) { + var _this$_cellKeyToChild3; + var listSet = (_this$_cellKeyToChild3 = this._cellKeyToChildren.get(cellKey)) !== null && _this$_cellKeyToChild3 !== void 0 ? _this$_cellKeyToChild3 : []; + for (var _iterator4 = (0, _createForOfIteratorHelperLoose2.default)(listSet), _step4; !(_step4 = _iterator4()).done; ) { + var list = _step4.value; + if (fn(list)) { + return true; + } + } + return false; + } + size() { + return this._childrenToCellKey.size; + } + }; + __name(_ChildListCollection, "ChildListCollection"); + var ChildListCollection = _ChildListCollection; + exports2.default = ChildListCollection; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/FillRateHelper/index.js +var require_FillRateHelper = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/FillRateHelper/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _objectSpread2 = _interopRequireDefault(require_objectSpread2()); + var _Info = class _Info { + constructor() { + this.any_blank_count = 0; + this.any_blank_ms = 0; + this.any_blank_speed_sum = 0; + this.mostly_blank_count = 0; + this.mostly_blank_ms = 0; + this.pixels_blank = 0; + this.pixels_sampled = 0; + this.pixels_scrolled = 0; + this.total_time_spent = 0; + this.sample_count = 0; + } + }; + __name(_Info, "Info"); + var Info = _Info; + var DEBUG = false; + var _listeners = []; + var _minSampleCount = 10; + var _sampleRate = DEBUG ? 1 : null; + var _FillRateHelper = class _FillRateHelper { + static addListener(callback) { + if (_sampleRate === null) { + console.warn("Call `FillRateHelper.setSampleRate` before `addListener`."); + } + _listeners.push(callback); + return { + remove: () => { + _listeners = _listeners.filter((listener) => callback !== listener); + } + }; + } + static setSampleRate(sampleRate) { + _sampleRate = sampleRate; + } + static setMinSampleCount(minSampleCount) { + _minSampleCount = minSampleCount; + } + constructor(getFrameMetrics) { + this._anyBlankStartTime = null; + this._enabled = false; + this._info = new Info(); + this._mostlyBlankStartTime = null; + this._samplesStartTime = null; + this._getFrameMetrics = getFrameMetrics; + this._enabled = (_sampleRate || 0) > Math.random(); + this._resetData(); + } + activate() { + if (this._enabled && this._samplesStartTime == null) { + DEBUG && console.debug("FillRateHelper: activate"); + this._samplesStartTime = global.performance.now(); + } + } + deactivateAndFlush() { + if (!this._enabled) { + return; + } + var start = this._samplesStartTime; + if (start == null) { + DEBUG && console.debug("FillRateHelper: bail on deactivate with no start time"); + return; + } + if (this._info.sample_count < _minSampleCount) { + this._resetData(); + return; + } + var total_time_spent = global.performance.now() - start; + var info = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, this._info), {}, { + total_time_spent + }); + if (DEBUG) { + var derived = { + avg_blankness: this._info.pixels_blank / this._info.pixels_sampled, + avg_speed: this._info.pixels_scrolled / (total_time_spent / 1e3), + avg_speed_when_any_blank: this._info.any_blank_speed_sum / this._info.any_blank_count, + any_blank_per_min: this._info.any_blank_count / (total_time_spent / 1e3 / 60), + any_blank_time_frac: this._info.any_blank_ms / total_time_spent, + mostly_blank_per_min: this._info.mostly_blank_count / (total_time_spent / 1e3 / 60), + mostly_blank_time_frac: this._info.mostly_blank_ms / total_time_spent + }; + for (var key in derived) { + derived[key] = Math.round(1e3 * derived[key]) / 1e3; + } + console.debug("FillRateHelper deactivateAndFlush: ", { + derived, + info + }); + } + _listeners.forEach((listener) => listener(info)); + this._resetData(); + } + computeBlankness(props, cellsAroundViewport, scrollMetrics) { + if (!this._enabled || props.getItemCount(props.data) === 0 || cellsAroundViewport.last < cellsAroundViewport.first || this._samplesStartTime == null) { + return 0; + } + var dOffset = scrollMetrics.dOffset, offset4 = scrollMetrics.offset, velocity = scrollMetrics.velocity, visibleLength = scrollMetrics.visibleLength; + this._info.sample_count++; + this._info.pixels_sampled += Math.round(visibleLength); + this._info.pixels_scrolled += Math.round(Math.abs(dOffset)); + var scrollSpeed = Math.round(Math.abs(velocity) * 1e3); + var now = global.performance.now(); + if (this._anyBlankStartTime != null) { + this._info.any_blank_ms += now - this._anyBlankStartTime; + } + this._anyBlankStartTime = null; + if (this._mostlyBlankStartTime != null) { + this._info.mostly_blank_ms += now - this._mostlyBlankStartTime; + } + this._mostlyBlankStartTime = null; + var blankTop = 0; + var first = cellsAroundViewport.first; + var firstFrame = this._getFrameMetrics(first, props); + while (first <= cellsAroundViewport.last && (!firstFrame || !firstFrame.inLayout)) { + firstFrame = this._getFrameMetrics(first, props); + first++; + } + if (firstFrame && first > 0) { + blankTop = Math.min(visibleLength, Math.max(0, firstFrame.offset - offset4)); + } + var blankBottom = 0; + var last = cellsAroundViewport.last; + var lastFrame = this._getFrameMetrics(last, props); + while (last >= cellsAroundViewport.first && (!lastFrame || !lastFrame.inLayout)) { + lastFrame = this._getFrameMetrics(last, props); + last--; + } + if (lastFrame && last < props.getItemCount(props.data) - 1) { + var bottomEdge = lastFrame.offset + lastFrame.length; + blankBottom = Math.min(visibleLength, Math.max(0, offset4 + visibleLength - bottomEdge)); + } + var pixels_blank = Math.round(blankTop + blankBottom); + var blankness = pixels_blank / visibleLength; + if (blankness > 0) { + this._anyBlankStartTime = now; + this._info.any_blank_speed_sum += scrollSpeed; + this._info.any_blank_count++; + this._info.pixels_blank += pixels_blank; + if (blankness > 0.5) { + this._mostlyBlankStartTime = now; + this._info.mostly_blank_count++; + } + } else if (scrollSpeed < 0.01 || Math.abs(dOffset) < 1) { + this.deactivateAndFlush(); + } + return blankness; + } + enabled() { + return this._enabled; + } + _resetData() { + this._anyBlankStartTime = null; + this._info = new Info(); + this._mostlyBlankStartTime = null; + this._samplesStartTime = null; + } + }; + __name(_FillRateHelper, "FillRateHelper"); + var FillRateHelper = _FillRateHelper; + var _default = FillRateHelper; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/VirtualizedList/StateSafePureComponent.js +var require_StateSafePureComponent = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/VirtualizedList/StateSafePureComponent.js"(exports2, module2) { + "use strict"; + var _interopRequireWildcard = require_interopRequireWildcard().default; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _invariant = _interopRequireDefault(require_invariant()); + var React44 = _interopRequireWildcard(require("react")); + var _StateSafePureComponent = class _StateSafePureComponent extends React44.PureComponent { + constructor(props) { + super(props); + this._inAsyncStateUpdate = false; + this._installSetStateHooks(); + } + setState(partialState, callback) { + if (typeof partialState === "function") { + super.setState((state, props) => { + this._inAsyncStateUpdate = true; + var ret; + try { + ret = partialState(state, props); + } catch (err) { + throw err; + } finally { + this._inAsyncStateUpdate = false; + } + return ret; + }, callback); + } else { + super.setState(partialState, callback); + } + } + _installSetStateHooks() { + var that = this; + var props = this.props, state = this.state; + Object.defineProperty(this, "props", { + get() { + (0, _invariant.default)(!that._inAsyncStateUpdate, '"this.props" should not be accessed during state updates'); + return props; + }, + set(newProps) { + props = newProps; + } + }); + Object.defineProperty(this, "state", { + get() { + (0, _invariant.default)(!that._inAsyncStateUpdate, '"this.state" should not be acceessed during state updates'); + return state; + }, + set(newState) { + state = newState; + } + }); + } + }; + __name(_StateSafePureComponent, "StateSafePureComponent"); + var StateSafePureComponent = _StateSafePureComponent; + exports2.default = StateSafePureComponent; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/ViewabilityHelper/index.js +var require_ViewabilityHelper = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/ViewabilityHelper/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _objectSpread2 = _interopRequireDefault(require_objectSpread2()); + var _createForOfIteratorHelperLoose2 = _interopRequireDefault(require_createForOfIteratorHelperLoose()); + var _invariant = _interopRequireDefault(require_invariant()); + var _ViewabilityHelper = class _ViewabilityHelper { + constructor(config) { + if (config === void 0) { + config = { + viewAreaCoveragePercentThreshold: 0 + }; + } + this._hasInteracted = false; + this._timers = /* @__PURE__ */ new Set(); + this._viewableIndices = []; + this._viewableItems = /* @__PURE__ */ new Map(); + this._config = config; + } + /** + * Cleanup, e.g. on unmount. Clears any pending timers. + */ + dispose() { + this._timers.forEach(clearTimeout); + } + /** + * Determines which items are viewable based on the current metrics and config. + */ + computeViewableItems(props, scrollOffset, viewportHeight, getFrameMetrics, renderRange) { + var itemCount = props.getItemCount(props.data); + var _this$_config = this._config, itemVisiblePercentThreshold = _this$_config.itemVisiblePercentThreshold, viewAreaCoveragePercentThreshold = _this$_config.viewAreaCoveragePercentThreshold; + var viewAreaMode = viewAreaCoveragePercentThreshold != null; + var viewablePercentThreshold = viewAreaMode ? viewAreaCoveragePercentThreshold : itemVisiblePercentThreshold; + (0, _invariant.default)(viewablePercentThreshold != null && itemVisiblePercentThreshold != null !== (viewAreaCoveragePercentThreshold != null), "Must set exactly one of itemVisiblePercentThreshold or viewAreaCoveragePercentThreshold"); + var viewableIndices = []; + if (itemCount === 0) { + return viewableIndices; + } + var firstVisible = -1; + var _ref = renderRange || { + first: 0, + last: itemCount - 1 + }, first = _ref.first, last = _ref.last; + if (last >= itemCount) { + console.warn("Invalid render range computing viewability " + JSON.stringify({ + renderRange, + itemCount + })); + return []; + } + for (var idx = first; idx <= last; idx++) { + var metrics = getFrameMetrics(idx, props); + if (!metrics) { + continue; + } + var top = metrics.offset - scrollOffset; + var bottom = top + metrics.length; + if (top < viewportHeight && bottom > 0) { + firstVisible = idx; + if (_isViewable(viewAreaMode, viewablePercentThreshold, top, bottom, viewportHeight, metrics.length)) { + viewableIndices.push(idx); + } + } else if (firstVisible >= 0) { + break; + } + } + return viewableIndices; + } + /** + * Figures out which items are viewable and how that has changed from before and calls + * `onViewableItemsChanged` as appropriate. + */ + onUpdate(props, scrollOffset, viewportHeight, getFrameMetrics, createViewToken, onViewableItemsChanged, renderRange) { + var itemCount = props.getItemCount(props.data); + if (this._config.waitForInteraction && !this._hasInteracted || itemCount === 0 || !getFrameMetrics(0, props)) { + return; + } + var viewableIndices = []; + if (itemCount) { + viewableIndices = this.computeViewableItems(props, scrollOffset, viewportHeight, getFrameMetrics, renderRange); + } + if (this._viewableIndices.length === viewableIndices.length && this._viewableIndices.every((v, ii) => v === viewableIndices[ii])) { + return; + } + this._viewableIndices = viewableIndices; + if (this._config.minimumViewTime) { + var handle = setTimeout(() => { + this._timers.delete(handle); + this._onUpdateSync(props, viewableIndices, onViewableItemsChanged, createViewToken); + }, this._config.minimumViewTime); + this._timers.add(handle); + } else { + this._onUpdateSync(props, viewableIndices, onViewableItemsChanged, createViewToken); + } + } + /** + * clean-up cached _viewableIndices to evaluate changed items on next update + */ + resetViewableIndices() { + this._viewableIndices = []; + } + /** + * Records that an interaction has happened even if there has been no scroll. + */ + recordInteraction() { + this._hasInteracted = true; + } + _onUpdateSync(props, viewableIndicesToCheck, onViewableItemsChanged, createViewToken) { + viewableIndicesToCheck = viewableIndicesToCheck.filter((ii) => this._viewableIndices.includes(ii)); + var prevItems = this._viewableItems; + var nextItems = new Map(viewableIndicesToCheck.map((ii) => { + var viewable2 = createViewToken(ii, true, props); + return [viewable2.key, viewable2]; + })); + var changed = []; + for (var _iterator = (0, _createForOfIteratorHelperLoose2.default)(nextItems), _step; !(_step = _iterator()).done; ) { + var _step$value = _step.value, key = _step$value[0], viewable = _step$value[1]; + if (!prevItems.has(key)) { + changed.push(viewable); + } + } + for (var _iterator2 = (0, _createForOfIteratorHelperLoose2.default)(prevItems), _step2; !(_step2 = _iterator2()).done; ) { + var _step2$value = _step2.value, _key = _step2$value[0], _viewable = _step2$value[1]; + if (!nextItems.has(_key)) { + changed.push((0, _objectSpread2.default)((0, _objectSpread2.default)({}, _viewable), {}, { + isViewable: false + })); + } + } + if (changed.length > 0) { + this._viewableItems = nextItems; + onViewableItemsChanged({ + viewableItems: Array.from(nextItems.values()), + changed, + viewabilityConfig: this._config + }); + } + } + }; + __name(_ViewabilityHelper, "ViewabilityHelper"); + var ViewabilityHelper = _ViewabilityHelper; + function _isViewable(viewAreaMode, viewablePercentThreshold, top, bottom, viewportHeight, itemLength) { + if (_isEntirelyVisible(top, bottom, viewportHeight)) { + return true; + } else { + var pixels = _getPixelsVisible(top, bottom, viewportHeight); + var percent = 100 * (viewAreaMode ? pixels / viewportHeight : pixels / itemLength); + return percent >= viewablePercentThreshold; + } + } + __name(_isViewable, "_isViewable"); + function _getPixelsVisible(top, bottom, viewportHeight) { + var visibleHeight = Math.min(bottom, viewportHeight) - Math.max(top, 0); + return Math.max(0, visibleHeight); + } + __name(_getPixelsVisible, "_getPixelsVisible"); + function _isEntirelyVisible(top, bottom, viewportHeight) { + return top >= 0 && bottom <= viewportHeight && bottom > top; + } + __name(_isEntirelyVisible, "_isEntirelyVisible"); + var _default = ViewabilityHelper; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/VirtualizedList/VirtualizedListContext.js +var require_VirtualizedListContext = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/VirtualizedList/VirtualizedListContext.js"(exports2) { + "use strict"; + var _interopRequireWildcard = require_interopRequireWildcard().default; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.VirtualizedListCellContextProvider = VirtualizedListCellContextProvider; + exports2.VirtualizedListContext = void 0; + exports2.VirtualizedListContextProvider = VirtualizedListContextProvider; + exports2.VirtualizedListContextResetter = VirtualizedListContextResetter; + var _objectSpread2 = _interopRequireDefault(require_objectSpread2()); + var React44 = _interopRequireWildcard(require("react")); + var __DEV__ = process.env.NODE_ENV !== "production"; + var VirtualizedListContext = /* @__PURE__ */ React44.createContext(null); + exports2.VirtualizedListContext = VirtualizedListContext; + if (__DEV__) { + VirtualizedListContext.displayName = "VirtualizedListContext"; + } + function VirtualizedListContextResetter(_ref) { + var children = _ref.children; + return /* @__PURE__ */ React44.createElement(VirtualizedListContext.Provider, { + value: null + }, children); + } + __name(VirtualizedListContextResetter, "VirtualizedListContextResetter"); + function VirtualizedListContextProvider(_ref2) { + var children = _ref2.children, value = _ref2.value; + var context = (0, React44.useMemo)(() => ({ + cellKey: null, + getScrollMetrics: value.getScrollMetrics, + horizontal: value.horizontal, + getOutermostParentListRef: value.getOutermostParentListRef, + registerAsNestedChild: value.registerAsNestedChild, + unregisterAsNestedChild: value.unregisterAsNestedChild + }), [value.getScrollMetrics, value.horizontal, value.getOutermostParentListRef, value.registerAsNestedChild, value.unregisterAsNestedChild]); + return /* @__PURE__ */ React44.createElement(VirtualizedListContext.Provider, { + value: context + }, children); + } + __name(VirtualizedListContextProvider, "VirtualizedListContextProvider"); + function VirtualizedListCellContextProvider(_ref3) { + var cellKey = _ref3.cellKey, children = _ref3.children; + var currContext = (0, React44.useContext)(VirtualizedListContext); + var context = (0, React44.useMemo)(() => currContext == null ? null : (0, _objectSpread2.default)((0, _objectSpread2.default)({}, currContext), {}, { + cellKey + }), [currContext, cellKey]); + return /* @__PURE__ */ React44.createElement(VirtualizedListContext.Provider, { + value: context + }, children); + } + __name(VirtualizedListCellContextProvider, "VirtualizedListCellContextProvider"); + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/VirtualizedList/VirtualizedListCellRenderer.js +var require_VirtualizedListCellRenderer = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/VirtualizedList/VirtualizedListCellRenderer.js"(exports2, module2) { + "use strict"; + var _interopRequireWildcard = require_interopRequireWildcard().default; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _extends2 = _interopRequireDefault(require_extends()); + var _objectSpread2 = _interopRequireDefault(require_objectSpread2()); + var _View = _interopRequireDefault(require_View()); + var _StyleSheet = _interopRequireDefault(require_StyleSheet()); + var _VirtualizedListContext = require_VirtualizedListContext(); + var _invariant = _interopRequireDefault(require_invariant()); + var React44 = _interopRequireWildcard(require("react")); + var _CellRenderer = class _CellRenderer extends React44.Component { + constructor() { + super(...arguments); + this.state = { + separatorProps: { + highlighted: false, + leadingItem: this.props.item + } + }; + this._separators = { + highlight: () => { + var _this$props = this.props, cellKey = _this$props.cellKey, prevCellKey = _this$props.prevCellKey; + this.props.onUpdateSeparators([cellKey, prevCellKey], { + highlighted: true + }); + }, + unhighlight: () => { + var _this$props2 = this.props, cellKey = _this$props2.cellKey, prevCellKey = _this$props2.prevCellKey; + this.props.onUpdateSeparators([cellKey, prevCellKey], { + highlighted: false + }); + }, + updateProps: (select, newProps) => { + var _this$props3 = this.props, cellKey = _this$props3.cellKey, prevCellKey = _this$props3.prevCellKey; + this.props.onUpdateSeparators([select === "leading" ? prevCellKey : cellKey], newProps); + } + }; + this._onLayout = (nativeEvent) => { + this.props.onCellLayout && this.props.onCellLayout(nativeEvent, this.props.cellKey, this.props.index); + }; + } + static getDerivedStateFromProps(props, prevState) { + return { + separatorProps: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, prevState.separatorProps), {}, { + leadingItem: props.item + }) + }; + } + // TODO: consider factoring separator stuff out of VirtualizedList into FlatList since it's not + // reused by SectionList and we can keep VirtualizedList simpler. + // $FlowFixMe[missing-local-annot] + updateSeparatorProps(newProps) { + this.setState((state) => ({ + separatorProps: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state.separatorProps), newProps) + })); + } + componentWillUnmount() { + this.props.onUnmount(this.props.cellKey); + } + _renderElement(renderItem, ListItemComponent2, item, index3) { + if (renderItem && ListItemComponent2) { + console.warn("VirtualizedList: Both ListItemComponent and renderItem props are present. ListItemComponent will take precedence over renderItem."); + } + if (ListItemComponent2) { + return /* @__PURE__ */ React44.createElement(ListItemComponent2, { + item, + index: index3, + separators: this._separators + }); + } + if (renderItem) { + return renderItem({ + item, + index: index3, + separators: this._separators + }); + } + (0, _invariant.default)(false, "VirtualizedList: Either ListItemComponent or renderItem props are required but none were found."); + } + render() { + var _this$props4 = this.props, CellRendererComponent = _this$props4.CellRendererComponent, ItemSeparatorComponent = _this$props4.ItemSeparatorComponent, ListItemComponent2 = _this$props4.ListItemComponent, cellKey = _this$props4.cellKey, horizontal = _this$props4.horizontal, item = _this$props4.item, index3 = _this$props4.index, inversionStyle = _this$props4.inversionStyle, onCellFocusCapture = _this$props4.onCellFocusCapture, onCellLayout = _this$props4.onCellLayout, renderItem = _this$props4.renderItem; + var element = this._renderElement(renderItem, ListItemComponent2, item, index3); + var itemSeparator = /* @__PURE__ */ React44.isValidElement(ItemSeparatorComponent) ? ( + // $FlowFixMe[incompatible-type] + ItemSeparatorComponent + ) : ( + // $FlowFixMe[incompatible-type] + ItemSeparatorComponent && /* @__PURE__ */ React44.createElement(ItemSeparatorComponent, this.state.separatorProps) + ); + var cellStyle = inversionStyle ? horizontal ? [styles.rowReverse, inversionStyle] : [styles.columnReverse, inversionStyle] : horizontal ? [styles.row, inversionStyle] : inversionStyle; + var result = !CellRendererComponent ? /* @__PURE__ */ React44.createElement(_View.default, (0, _extends2.default)({ + style: cellStyle, + onFocusCapture: onCellFocusCapture + }, onCellLayout && { + onLayout: this._onLayout + }), element, itemSeparator) : /* @__PURE__ */ React44.createElement(CellRendererComponent, (0, _extends2.default)({ + cellKey, + index: index3, + item, + style: cellStyle, + onFocusCapture: onCellFocusCapture + }, onCellLayout && { + onLayout: this._onLayout + }), element, itemSeparator); + return /* @__PURE__ */ React44.createElement(_VirtualizedListContext.VirtualizedListCellContextProvider, { + cellKey: this.props.cellKey + }, result); + } + }; + __name(_CellRenderer, "CellRenderer"); + var CellRenderer = _CellRenderer; + exports2.default = CellRenderer; + var styles = _StyleSheet.default.create({ + row: { + flexDirection: "row" + }, + rowReverse: { + flexDirection: "row-reverse" + }, + columnReverse: { + flexDirection: "column-reverse" + } + }); + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/VirtualizeUtils/index.js +var require_VirtualizeUtils = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/VirtualizeUtils/index.js"(exports2) { + "use strict"; + exports2.__esModule = true; + exports2.computeWindowedRenderLimits = computeWindowedRenderLimits; + exports2.elementsThatOverlapOffsets = elementsThatOverlapOffsets; + exports2.keyExtractor = keyExtractor; + exports2.newRangeCount = newRangeCount; + function elementsThatOverlapOffsets(offsets, props, getFrameMetrics, zoomScale) { + if (zoomScale === void 0) { + zoomScale = 1; + } + var itemCount = props.getItemCount(props.data); + var result = []; + for (var offsetIndex = 0; offsetIndex < offsets.length; offsetIndex++) { + var currentOffset = offsets[offsetIndex]; + var left = 0; + var right = itemCount - 1; + while (left <= right) { + var mid = left + (right - left >>> 1); + var frame = getFrameMetrics(mid, props); + var scaledOffsetStart = frame.offset * zoomScale; + var scaledOffsetEnd = (frame.offset + frame.length) * zoomScale; + if (mid === 0 && currentOffset < scaledOffsetStart || mid !== 0 && currentOffset <= scaledOffsetStart) { + right = mid - 1; + } else if (currentOffset > scaledOffsetEnd) { + left = mid + 1; + } else { + result[offsetIndex] = mid; + break; + } + } + } + return result; + } + __name(elementsThatOverlapOffsets, "elementsThatOverlapOffsets"); + function newRangeCount(prev, next) { + return next.last - next.first + 1 - Math.max(0, 1 + Math.min(next.last, prev.last) - Math.max(next.first, prev.first)); + } + __name(newRangeCount, "newRangeCount"); + function computeWindowedRenderLimits(props, maxToRenderPerBatch, windowSize, prev, getFrameMetricsApprox, scrollMetrics) { + var itemCount = props.getItemCount(props.data); + if (itemCount === 0) { + return { + first: 0, + last: -1 + }; + } + var offset4 = scrollMetrics.offset, velocity = scrollMetrics.velocity, visibleLength = scrollMetrics.visibleLength, _scrollMetrics$zoomSc = scrollMetrics.zoomScale, zoomScale = _scrollMetrics$zoomSc === void 0 ? 1 : _scrollMetrics$zoomSc; + var visibleBegin = Math.max(0, offset4); + var visibleEnd = visibleBegin + visibleLength; + var overscanLength = (windowSize - 1) * visibleLength; + var leadFactor = 0.5; + var fillPreference = velocity > 1 ? "after" : velocity < -1 ? "before" : "none"; + var overscanBegin = Math.max(0, visibleBegin - (1 - leadFactor) * overscanLength); + var overscanEnd = Math.max(0, visibleEnd + leadFactor * overscanLength); + var lastItemOffset = getFrameMetricsApprox(itemCount - 1, props).offset * zoomScale; + if (lastItemOffset < overscanBegin) { + return { + first: Math.max(0, itemCount - 1 - maxToRenderPerBatch), + last: itemCount - 1 + }; + } + var _elementsThatOverlapO = elementsThatOverlapOffsets([overscanBegin, visibleBegin, visibleEnd, overscanEnd], props, getFrameMetricsApprox, zoomScale), overscanFirst = _elementsThatOverlapO[0], first = _elementsThatOverlapO[1], last = _elementsThatOverlapO[2], overscanLast = _elementsThatOverlapO[3]; + overscanFirst = overscanFirst == null ? 0 : overscanFirst; + first = first == null ? Math.max(0, overscanFirst) : first; + overscanLast = overscanLast == null ? itemCount - 1 : overscanLast; + last = last == null ? Math.min(overscanLast, first + maxToRenderPerBatch - 1) : last; + var visible = { + first, + last + }; + var newCellCount = newRangeCount(prev, visible); + while (true) { + if (first <= overscanFirst && last >= overscanLast) { + break; + } + var maxNewCells = newCellCount >= maxToRenderPerBatch; + var firstWillAddMore = first <= prev.first || first > prev.last; + var firstShouldIncrement = first > overscanFirst && (!maxNewCells || !firstWillAddMore); + var lastWillAddMore = last >= prev.last || last < prev.first; + var lastShouldIncrement = last < overscanLast && (!maxNewCells || !lastWillAddMore); + if (maxNewCells && !firstShouldIncrement && !lastShouldIncrement) { + break; + } + if (firstShouldIncrement && !(fillPreference === "after" && lastShouldIncrement && lastWillAddMore)) { + if (firstWillAddMore) { + newCellCount++; + } + first--; + } + if (lastShouldIncrement && !(fillPreference === "before" && firstShouldIncrement && firstWillAddMore)) { + if (lastWillAddMore) { + newCellCount++; + } + last++; + } + } + if (!(last >= first && first >= 0 && last < itemCount && first >= overscanFirst && last <= overscanLast && first <= visible.first && last >= visible.last)) { + throw new Error("Bad window calculation " + JSON.stringify({ + first, + last, + itemCount, + overscanFirst, + overscanLast, + visible + })); + } + return { + first, + last + }; + } + __name(computeWindowedRenderLimits, "computeWindowedRenderLimits"); + function keyExtractor(item, index3) { + if (typeof item === "object" && (item == null ? void 0 : item.key) != null) { + return item.key; + } + if (typeof item === "object" && (item == null ? void 0 : item.id) != null) { + return item.id; + } + return String(index3); + } + __name(keyExtractor, "keyExtractor"); + } +}); + +// node_modules/nullthrows/nullthrows.js +var require_nullthrows = __commonJS({ + "node_modules/nullthrows/nullthrows.js"(exports2, module2) { + "use strict"; + function nullthrows(x, message) { + if (x != null) { + return x; + } + var error2 = new Error(message !== void 0 ? message : "Got unexpected " + x); + error2.framesToPop = 1; + throw error2; + } + __name(nullthrows, "nullthrows"); + module2.exports = nullthrows; + module2.exports.default = nullthrows; + Object.defineProperty(module2.exports, "__esModule", { value: true }); + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/VirtualizedList/index.js +var require_VirtualizedList = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/VirtualizedList/index.js"(exports2, module2) { + "use strict"; + var _interopRequireWildcard = require_interopRequireWildcard().default; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _createForOfIteratorHelperLoose2 = _interopRequireDefault(require_createForOfIteratorHelperLoose()); + var _extends2 = _interopRequireDefault(require_extends()); + var _objectSpread2 = _interopRequireDefault(require_objectSpread2()); + var _RefreshControl = _interopRequireDefault(require_RefreshControl()); + var _ScrollView = _interopRequireDefault(require_ScrollView()); + var _View = _interopRequireDefault(require_View()); + var _StyleSheet = _interopRequireDefault(require_StyleSheet()); + var _findNodeHandle = _interopRequireDefault(require_findNodeHandle()); + var _Batchinator = _interopRequireDefault(require_Batchinator()); + var _clamp = _interopRequireDefault(require_clamp2()); + var _infoLog = _interopRequireDefault(require_infoLog()); + var _CellRenderMask = require_CellRenderMask(); + var _ChildListCollection = _interopRequireDefault(require_ChildListCollection()); + var _FillRateHelper = _interopRequireDefault(require_FillRateHelper()); + var _StateSafePureComponent = _interopRequireDefault(require_StateSafePureComponent()); + var _ViewabilityHelper = _interopRequireDefault(require_ViewabilityHelper()); + var _VirtualizedListCellRenderer = _interopRequireDefault(require_VirtualizedListCellRenderer()); + var _VirtualizedListContext = require_VirtualizedListContext(); + var _VirtualizeUtils = require_VirtualizeUtils(); + var _invariant = _interopRequireDefault(require_invariant()); + var _nullthrows = _interopRequireDefault(require_nullthrows()); + var React44 = _interopRequireWildcard(require("react")); + var __DEV__ = process.env.NODE_ENV !== "production"; + var ON_EDGE_REACHED_EPSILON = 1e-3; + var _usedIndexForKey = false; + var _keylessItemComponentName = ""; + function horizontalOrDefault(horizontal) { + return horizontal !== null && horizontal !== void 0 ? horizontal : false; + } + __name(horizontalOrDefault, "horizontalOrDefault"); + function initialNumToRenderOrDefault(initialNumToRender) { + return initialNumToRender !== null && initialNumToRender !== void 0 ? initialNumToRender : 10; + } + __name(initialNumToRenderOrDefault, "initialNumToRenderOrDefault"); + function maxToRenderPerBatchOrDefault(maxToRenderPerBatch) { + return maxToRenderPerBatch !== null && maxToRenderPerBatch !== void 0 ? maxToRenderPerBatch : 10; + } + __name(maxToRenderPerBatchOrDefault, "maxToRenderPerBatchOrDefault"); + function onStartReachedThresholdOrDefault(onStartReachedThreshold) { + return onStartReachedThreshold !== null && onStartReachedThreshold !== void 0 ? onStartReachedThreshold : 2; + } + __name(onStartReachedThresholdOrDefault, "onStartReachedThresholdOrDefault"); + function onEndReachedThresholdOrDefault(onEndReachedThreshold) { + return onEndReachedThreshold !== null && onEndReachedThreshold !== void 0 ? onEndReachedThreshold : 2; + } + __name(onEndReachedThresholdOrDefault, "onEndReachedThresholdOrDefault"); + function getScrollingThreshold(threshold, visibleLength) { + return threshold * visibleLength / 2; + } + __name(getScrollingThreshold, "getScrollingThreshold"); + function scrollEventThrottleOrDefault(scrollEventThrottle) { + return scrollEventThrottle !== null && scrollEventThrottle !== void 0 ? scrollEventThrottle : 50; + } + __name(scrollEventThrottleOrDefault, "scrollEventThrottleOrDefault"); + function windowSizeOrDefault(windowSize) { + return windowSize !== null && windowSize !== void 0 ? windowSize : 21; + } + __name(windowSizeOrDefault, "windowSizeOrDefault"); + function findLastWhere(arr, predicate) { + for (var i = arr.length - 1; i >= 0; i--) { + if (predicate(arr[i])) { + return arr[i]; + } + } + return null; + } + __name(findLastWhere, "findLastWhere"); + var _VirtualizedList = class _VirtualizedList extends _StateSafePureComponent.default { + // scrollToEnd may be janky without getItemLayout prop + scrollToEnd(params) { + var animated = params ? params.animated : true; + var veryLast = this.props.getItemCount(this.props.data) - 1; + if (veryLast < 0) { + return; + } + var frame = this.__getFrameMetricsApprox(veryLast, this.props); + var offset4 = Math.max(0, frame.offset + frame.length + this._footerLength - this._scrollMetrics.visibleLength); + if (this._scrollRef == null) { + return; + } + if (this._scrollRef.scrollTo == null) { + console.warn("No scrollTo method provided. This may be because you have two nested VirtualizedLists with the same orientation, or because you are using a custom component that does not implement scrollTo."); + return; + } + this._scrollRef.scrollTo(horizontalOrDefault(this.props.horizontal) ? { + x: offset4, + animated + } : { + y: offset4, + animated + }); + } + // scrollToIndex may be janky without getItemLayout prop + scrollToIndex(params) { + var _this$props = this.props, data = _this$props.data, horizontal = _this$props.horizontal, getItemCount = _this$props.getItemCount, getItemLayout = _this$props.getItemLayout, onScrollToIndexFailed = _this$props.onScrollToIndexFailed; + var animated = params.animated, index3 = params.index, viewOffset = params.viewOffset, viewPosition = params.viewPosition; + (0, _invariant.default)(index3 >= 0, "scrollToIndex out of range: requested index " + index3 + " but minimum is 0"); + (0, _invariant.default)(getItemCount(data) >= 1, "scrollToIndex out of range: item length " + getItemCount(data) + " but minimum is 1"); + (0, _invariant.default)(index3 < getItemCount(data), "scrollToIndex out of range: requested index " + index3 + " is out of 0 to " + (getItemCount(data) - 1)); + if (!getItemLayout && index3 > this._highestMeasuredFrameIndex) { + (0, _invariant.default)(!!onScrollToIndexFailed, "scrollToIndex should be used in conjunction with getItemLayout or onScrollToIndexFailed, otherwise there is no way to know the location of offscreen indices or handle failures."); + onScrollToIndexFailed({ + averageItemLength: this._averageCellLength, + highestMeasuredFrameIndex: this._highestMeasuredFrameIndex, + index: index3 + }); + return; + } + var frame = this.__getFrameMetricsApprox(Math.floor(index3), this.props); + var offset4 = Math.max(0, this._getOffsetApprox(index3, this.props) - (viewPosition || 0) * (this._scrollMetrics.visibleLength - frame.length)) - (viewOffset || 0); + if (this._scrollRef == null) { + return; + } + if (this._scrollRef.scrollTo == null) { + console.warn("No scrollTo method provided. This may be because you have two nested VirtualizedLists with the same orientation, or because you are using a custom component that does not implement scrollTo."); + return; + } + this._scrollRef.scrollTo(horizontal ? { + x: offset4, + animated + } : { + y: offset4, + animated + }); + } + // scrollToItem may be janky without getItemLayout prop. Required linear scan through items - + // use scrollToIndex instead if possible. + scrollToItem(params) { + var item = params.item; + var _this$props2 = this.props, data = _this$props2.data, getItem = _this$props2.getItem, getItemCount = _this$props2.getItemCount; + var itemCount = getItemCount(data); + for (var _index = 0; _index < itemCount; _index++) { + if (getItem(data, _index) === item) { + this.scrollToIndex((0, _objectSpread2.default)((0, _objectSpread2.default)({}, params), {}, { + index: _index + })); + break; + } + } + } + /** + * Scroll to a specific content pixel offset in the list. + * + * Param `offset` expects the offset to scroll to. + * In case of `horizontal` is true, the offset is the x-value, + * in any other case the offset is the y-value. + * + * Param `animated` (`true` by default) defines whether the list + * should do an animation while scrolling. + */ + scrollToOffset(params) { + var animated = params.animated, offset4 = params.offset; + if (this._scrollRef == null) { + return; + } + if (this._scrollRef.scrollTo == null) { + console.warn("No scrollTo method provided. This may be because you have two nested VirtualizedLists with the same orientation, or because you are using a custom component that does not implement scrollTo."); + return; + } + this._scrollRef.scrollTo(horizontalOrDefault(this.props.horizontal) ? { + x: offset4, + animated + } : { + y: offset4, + animated + }); + } + recordInteraction() { + this._nestedChildLists.forEach((childList) => { + childList.recordInteraction(); + }); + this._viewabilityTuples.forEach((t) => { + t.viewabilityHelper.recordInteraction(); + }); + this._updateViewableItems(this.props, this.state.cellsAroundViewport); + } + flashScrollIndicators() { + if (this._scrollRef == null) { + return; + } + this._scrollRef.flashScrollIndicators(); + } + /** + * Provides a handle to the underlying scroll responder. + * Note that `this._scrollRef` might not be a `ScrollView`, so we + * need to check that it responds to `getScrollResponder` before calling it. + */ + getScrollResponder() { + if (this._scrollRef && this._scrollRef.getScrollResponder) { + return this._scrollRef.getScrollResponder(); + } + } + getScrollableNode() { + if (this._scrollRef && this._scrollRef.getScrollableNode) { + return this._scrollRef.getScrollableNode(); + } else { + return this._scrollRef; + } + } + getScrollRef() { + if (this._scrollRef && this._scrollRef.getScrollRef) { + return this._scrollRef.getScrollRef(); + } else { + return this._scrollRef; + } + } + _getCellKey() { + var _this$context; + return ((_this$context = this.context) == null ? void 0 : _this$context.cellKey) || "rootList"; + } + // $FlowFixMe[missing-local-annot] + hasMore() { + return this._hasMore; + } + // $FlowFixMe[missing-local-annot] + constructor(_props) { + var _this$props$updateCel; + super(_props); + this._getScrollMetrics = () => { + return this._scrollMetrics; + }; + this._getOutermostParentListRef = () => { + if (this._isNestedWithSameOrientation()) { + return this.context.getOutermostParentListRef(); + } else { + return this; + } + }; + this._registerAsNestedChild = (childList) => { + this._nestedChildLists.add(childList.ref, childList.cellKey); + if (this._hasInteracted) { + childList.ref.recordInteraction(); + } + }; + this._unregisterAsNestedChild = (childList) => { + this._nestedChildLists.remove(childList.ref); + }; + this._onUpdateSeparators = (keys, newProps) => { + keys.forEach((key) => { + var ref = key != null && this._cellRefs[key]; + ref && ref.updateSeparatorProps(newProps); + }); + }; + this._getSpacerKey = (isVertical) => isVertical ? "height" : "width"; + this._averageCellLength = 0; + this._cellRefs = {}; + this._frames = {}; + this._footerLength = 0; + this._hasTriggeredInitialScrollToIndex = false; + this._hasInteracted = false; + this._hasMore = false; + this._hasWarned = {}; + this._headerLength = 0; + this._hiPriInProgress = false; + this._highestMeasuredFrameIndex = 0; + this._indicesToKeys = /* @__PURE__ */ new Map(); + this._lastFocusedCellKey = null; + this._nestedChildLists = new _ChildListCollection.default(); + this._offsetFromParentVirtualizedList = 0; + this._prevParentOffset = 0; + this._scrollMetrics = { + contentLength: 0, + dOffset: 0, + dt: 10, + offset: 0, + timestamp: 0, + velocity: 0, + visibleLength: 0, + zoomScale: 1 + }; + this._scrollRef = null; + this._sentStartForContentLength = 0; + this._sentEndForContentLength = 0; + this._totalCellLength = 0; + this._totalCellsMeasured = 0; + this._viewabilityTuples = []; + this._captureScrollRef = (ref) => { + this._scrollRef = ref; + }; + this._defaultRenderScrollComponent = (props) => { + var onRefresh = props.onRefresh; + if (this._isNestedWithSameOrientation()) { + return /* @__PURE__ */ React44.createElement(_View.default, props); + } else if (onRefresh) { + var _props$refreshing; + (0, _invariant.default)(typeof props.refreshing === "boolean", "`refreshing` prop must be set as a boolean in order to use `onRefresh`, but got `" + JSON.stringify((_props$refreshing = props.refreshing) !== null && _props$refreshing !== void 0 ? _props$refreshing : "undefined") + "`"); + return ( + // $FlowFixMe[prop-missing] Invalid prop usage + // $FlowFixMe[incompatible-use] + /* @__PURE__ */ React44.createElement(_ScrollView.default, (0, _extends2.default)({}, props, { + refreshControl: props.refreshControl == null ? /* @__PURE__ */ React44.createElement( + _RefreshControl.default, + { + refreshing: props.refreshing, + onRefresh, + progressViewOffset: props.progressViewOffset + } + ) : props.refreshControl + })) + ); + } else { + return /* @__PURE__ */ React44.createElement(_ScrollView.default, props); + } + }; + this._onCellLayout = (e, cellKey, index3) => { + var layout = e.nativeEvent.layout; + var next = { + offset: this._selectOffset(layout), + length: this._selectLength(layout), + index: index3, + inLayout: true + }; + var curr = this._frames[cellKey]; + if (!curr || next.offset !== curr.offset || next.length !== curr.length || index3 !== curr.index) { + this._totalCellLength += next.length - (curr ? curr.length : 0); + this._totalCellsMeasured += curr ? 0 : 1; + this._averageCellLength = this._totalCellLength / this._totalCellsMeasured; + this._frames[cellKey] = next; + this._highestMeasuredFrameIndex = Math.max(this._highestMeasuredFrameIndex, index3); + this._scheduleCellsToRenderUpdate(); + } else { + this._frames[cellKey].inLayout = true; + } + this._triggerRemeasureForChildListsInCell(cellKey); + this._computeBlankness(); + this._updateViewableItems(this.props, this.state.cellsAroundViewport); + }; + this._onCellUnmount = (cellKey) => { + delete this._cellRefs[cellKey]; + var curr = this._frames[cellKey]; + if (curr) { + this._frames[cellKey] = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, curr), {}, { + inLayout: false + }); + } + }; + this._onLayout = (e) => { + if (this._isNestedWithSameOrientation()) { + this.measureLayoutRelativeToContainingList(); + } else { + this._scrollMetrics.visibleLength = this._selectLength(e.nativeEvent.layout); + } + this.props.onLayout && this.props.onLayout(e); + this._scheduleCellsToRenderUpdate(); + this._maybeCallOnEdgeReached(); + }; + this._onLayoutEmpty = (e) => { + this.props.onLayout && this.props.onLayout(e); + }; + this._onLayoutFooter = (e) => { + this._triggerRemeasureForChildListsInCell(this._getFooterCellKey()); + this._footerLength = this._selectLength(e.nativeEvent.layout); + }; + this._onLayoutHeader = (e) => { + this._headerLength = this._selectLength(e.nativeEvent.layout); + }; + this._onContentSizeChange = (width, height) => { + if (width > 0 && height > 0 && this.props.initialScrollIndex != null && this.props.initialScrollIndex > 0 && !this._hasTriggeredInitialScrollToIndex) { + if (this.props.contentOffset == null) { + if (this.props.initialScrollIndex < this.props.getItemCount(this.props.data)) { + this.scrollToIndex({ + animated: false, + index: (0, _nullthrows.default)(this.props.initialScrollIndex) + }); + } else { + this.scrollToEnd({ + animated: false + }); + } + } + this._hasTriggeredInitialScrollToIndex = true; + } + if (this.props.onContentSizeChange) { + this.props.onContentSizeChange(width, height); + } + this._scrollMetrics.contentLength = this._selectLength({ + height, + width + }); + this._scheduleCellsToRenderUpdate(); + this._maybeCallOnEdgeReached(); + }; + this._convertParentScrollMetrics = (metrics) => { + var offset4 = metrics.offset - this._offsetFromParentVirtualizedList; + var visibleLength = metrics.visibleLength; + var dOffset = offset4 - this._scrollMetrics.offset; + var contentLength = this._scrollMetrics.contentLength; + return { + visibleLength, + contentLength, + offset: offset4, + dOffset + }; + }; + this._onScroll = (e) => { + this._nestedChildLists.forEach((childList) => { + childList._onScroll(e); + }); + if (this.props.onScroll) { + this.props.onScroll(e); + } + var timestamp = e.timeStamp; + var visibleLength = this._selectLength(e.nativeEvent.layoutMeasurement); + var contentLength = this._selectLength(e.nativeEvent.contentSize); + var offset4 = this._selectOffset(e.nativeEvent.contentOffset); + var dOffset = offset4 - this._scrollMetrics.offset; + if (this._isNestedWithSameOrientation()) { + if (this._scrollMetrics.contentLength === 0) { + return; + } + var _this$_convertParentS = this._convertParentScrollMetrics({ + visibleLength, + offset: offset4 + }); + visibleLength = _this$_convertParentS.visibleLength; + contentLength = _this$_convertParentS.contentLength; + offset4 = _this$_convertParentS.offset; + dOffset = _this$_convertParentS.dOffset; + } + var dt = this._scrollMetrics.timestamp ? Math.max(1, timestamp - this._scrollMetrics.timestamp) : 1; + var velocity = dOffset / dt; + if (dt > 500 && this._scrollMetrics.dt > 500 && contentLength > 5 * visibleLength && !this._hasWarned.perf) { + (0, _infoLog.default)("VirtualizedList: You have a large list that is slow to update - make sure your renderItem function renders components that follow React performance best practices like PureComponent, shouldComponentUpdate, etc.", { + dt, + prevDt: this._scrollMetrics.dt, + contentLength + }); + this._hasWarned.perf = true; + } + var zoomScale = e.nativeEvent.zoomScale < 0 ? 1 : e.nativeEvent.zoomScale; + this._scrollMetrics = { + contentLength, + dt, + dOffset, + offset: offset4, + timestamp, + velocity, + visibleLength, + zoomScale + }; + this._updateViewableItems(this.props, this.state.cellsAroundViewport); + if (!this.props) { + return; + } + this._maybeCallOnEdgeReached(); + if (velocity !== 0) { + this._fillRateHelper.activate(); + } + this._computeBlankness(); + this._scheduleCellsToRenderUpdate(); + }; + this._onScrollBeginDrag = (e) => { + this._nestedChildLists.forEach((childList) => { + childList._onScrollBeginDrag(e); + }); + this._viewabilityTuples.forEach((tuple) => { + tuple.viewabilityHelper.recordInteraction(); + }); + this._hasInteracted = true; + this.props.onScrollBeginDrag && this.props.onScrollBeginDrag(e); + }; + this._onScrollEndDrag = (e) => { + this._nestedChildLists.forEach((childList) => { + childList._onScrollEndDrag(e); + }); + var velocity = e.nativeEvent.velocity; + if (velocity) { + this._scrollMetrics.velocity = this._selectOffset(velocity); + } + this._computeBlankness(); + this.props.onScrollEndDrag && this.props.onScrollEndDrag(e); + }; + this._onMomentumScrollBegin = (e) => { + this._nestedChildLists.forEach((childList) => { + childList._onMomentumScrollBegin(e); + }); + this.props.onMomentumScrollBegin && this.props.onMomentumScrollBegin(e); + }; + this._onMomentumScrollEnd = (e) => { + this._nestedChildLists.forEach((childList) => { + childList._onMomentumScrollEnd(e); + }); + this._scrollMetrics.velocity = 0; + this._computeBlankness(); + this.props.onMomentumScrollEnd && this.props.onMomentumScrollEnd(e); + }; + this._updateCellsToRender = () => { + this._updateViewableItems(this.props, this.state.cellsAroundViewport); + this.setState((state, props) => { + var cellsAroundViewport = this._adjustCellsAroundViewport(props, state.cellsAroundViewport); + var renderMask = _VirtualizedList._createRenderMask(props, cellsAroundViewport, this._getNonViewportRenderRegions(props)); + if (cellsAroundViewport.first === state.cellsAroundViewport.first && cellsAroundViewport.last === state.cellsAroundViewport.last && renderMask.equals(state.renderMask)) { + return null; + } + return { + cellsAroundViewport, + renderMask + }; + }); + }; + this._createViewToken = (index3, isViewable, props) => { + var data = props.data, getItem = props.getItem; + var item = getItem(data, index3); + return { + index: index3, + item, + key: this._keyExtractor(item, index3, props), + isViewable + }; + }; + this._getOffsetApprox = (index3, props) => { + if (Number.isInteger(index3)) { + return this.__getFrameMetricsApprox(index3, props).offset; + } else { + var frameMetrics = this.__getFrameMetricsApprox(Math.floor(index3), props); + var remainder = index3 - Math.floor(index3); + return frameMetrics.offset + remainder * frameMetrics.length; + } + }; + this.__getFrameMetricsApprox = (index3, props) => { + var frame = this._getFrameMetrics(index3, props); + if (frame && frame.index === index3) { + return frame; + } else { + var data = props.data, getItemCount = props.getItemCount, getItemLayout = props.getItemLayout; + (0, _invariant.default)(index3 >= 0 && index3 < getItemCount(data), "Tried to get frame for out of range index " + index3); + (0, _invariant.default)(!getItemLayout, "Should not have to estimate frames when a measurement metrics function is provided"); + return { + length: this._averageCellLength, + offset: this._averageCellLength * index3 + }; + } + }; + this._getFrameMetrics = (index3, props) => { + var data = props.data, getItem = props.getItem, getItemCount = props.getItemCount, getItemLayout = props.getItemLayout; + (0, _invariant.default)(index3 >= 0 && index3 < getItemCount(data), "Tried to get frame for out of range index " + index3); + var item = getItem(data, index3); + var frame = this._frames[this._keyExtractor(item, index3, props)]; + if (!frame || frame.index !== index3) { + if (getItemLayout) { + return getItemLayout(data, index3); + } + } + return frame; + }; + this._getNonViewportRenderRegions = (props) => { + if (!(this._lastFocusedCellKey && this._cellRefs[this._lastFocusedCellKey])) { + return []; + } + var lastFocusedCellRenderer = this._cellRefs[this._lastFocusedCellKey]; + var focusedCellIndex = lastFocusedCellRenderer.props.index; + var itemCount = props.getItemCount(props.data); + if (focusedCellIndex >= itemCount || this._keyExtractor(props.getItem(props.data, focusedCellIndex), focusedCellIndex, props) !== this._lastFocusedCellKey) { + return []; + } + var first = focusedCellIndex; + var heightOfCellsBeforeFocused = 0; + for (var i = first - 1; i >= 0 && heightOfCellsBeforeFocused < this._scrollMetrics.visibleLength; i--) { + first--; + heightOfCellsBeforeFocused += this.__getFrameMetricsApprox(i, props).length; + } + var last = focusedCellIndex; + var heightOfCellsAfterFocused = 0; + for (var _i = last + 1; _i < itemCount && heightOfCellsAfterFocused < this._scrollMetrics.visibleLength; _i++) { + last++; + heightOfCellsAfterFocused += this.__getFrameMetricsApprox(_i, props).length; + } + return [{ + first, + last + }]; + }; + this._checkProps(_props); + this._fillRateHelper = new _FillRateHelper.default(this._getFrameMetrics); + this._updateCellsToRenderBatcher = new _Batchinator.default(this._updateCellsToRender, (_this$props$updateCel = this.props.updateCellsBatchingPeriod) !== null && _this$props$updateCel !== void 0 ? _this$props$updateCel : 50); + if (this.props.viewabilityConfigCallbackPairs) { + this._viewabilityTuples = this.props.viewabilityConfigCallbackPairs.map((pair) => ({ + viewabilityHelper: new _ViewabilityHelper.default(pair.viewabilityConfig), + onViewableItemsChanged: pair.onViewableItemsChanged + })); + } else { + var _this$props3 = this.props, onViewableItemsChanged = _this$props3.onViewableItemsChanged, viewabilityConfig = _this$props3.viewabilityConfig; + if (onViewableItemsChanged) { + this._viewabilityTuples.push({ + viewabilityHelper: new _ViewabilityHelper.default(viewabilityConfig), + onViewableItemsChanged + }); + } + } + var initialRenderRegion = _VirtualizedList._initialRenderRegion(_props); + this.state = { + cellsAroundViewport: initialRenderRegion, + renderMask: _VirtualizedList._createRenderMask(_props, initialRenderRegion) + }; + this.invertedWheelEventHandler = (ev) => { + var scrollOffset = this.props.horizontal ? ev.target.scrollLeft : ev.target.scrollTop; + var scrollLength = this.props.horizontal ? ev.target.scrollWidth : ev.target.scrollHeight; + var clientLength = this.props.horizontal ? ev.target.clientWidth : ev.target.clientHeight; + var isEventTargetScrollable = scrollLength > clientLength; + var delta = this.props.horizontal ? ev.deltaX || ev.wheelDeltaX : ev.deltaY || ev.wheelDeltaY; + var leftoverDelta = delta; + if (isEventTargetScrollable) { + leftoverDelta = delta < 0 ? Math.min(delta + scrollOffset, 0) : Math.max(delta - (scrollLength - clientLength - scrollOffset), 0); + } + var targetDelta = delta - leftoverDelta; + if (this.props.inverted && this._scrollRef && this._scrollRef.getScrollableNode) { + var node = this._scrollRef.getScrollableNode(); + if (this.props.horizontal) { + ev.target.scrollLeft += targetDelta; + var nextScrollLeft = node.scrollLeft - leftoverDelta; + node.scrollLeft = !this.props.getItemLayout ? Math.min(nextScrollLeft, this._totalCellLength) : nextScrollLeft; + } else { + ev.target.scrollTop += targetDelta; + var nextScrollTop = node.scrollTop - leftoverDelta; + node.scrollTop = !this.props.getItemLayout ? Math.min(nextScrollTop, this._totalCellLength) : nextScrollTop; + } + ev.preventDefault(); + } + }; + } + _checkProps(props) { + var onScroll = props.onScroll, windowSize = props.windowSize, getItemCount = props.getItemCount, data = props.data, initialScrollIndex = props.initialScrollIndex; + (0, _invariant.default)( + // $FlowFixMe[prop-missing] + !onScroll || !onScroll.__isNative, + "Components based on VirtualizedList must be wrapped with Animated.createAnimatedComponent to support native onScroll events with useNativeDriver" + ); + (0, _invariant.default)(windowSizeOrDefault(windowSize) > 0, "VirtualizedList: The windowSize prop must be present and set to a value greater than 0."); + (0, _invariant.default)(getItemCount, 'VirtualizedList: The "getItemCount" prop must be provided'); + var itemCount = getItemCount(data); + if (initialScrollIndex != null && !this._hasTriggeredInitialScrollToIndex && (initialScrollIndex < 0 || itemCount > 0 && initialScrollIndex >= itemCount) && !this._hasWarned.initialScrollIndex) { + console.warn('initialScrollIndex "' + initialScrollIndex + '" is not valid (list has ' + itemCount + " items)"); + this._hasWarned.initialScrollIndex = true; + } + if (__DEV__ && !this._hasWarned.flexWrap) { + var flatStyles = _StyleSheet.default.flatten(this.props.contentContainerStyle); + if (flatStyles != null && flatStyles.flexWrap === "wrap") { + console.warn("`flexWrap: `wrap`` is not supported with the `VirtualizedList` components.Consider using `numColumns` with `FlatList` instead."); + this._hasWarned.flexWrap = true; + } + } + } + static _createRenderMask(props, cellsAroundViewport, additionalRegions) { + var itemCount = props.getItemCount(props.data); + (0, _invariant.default)(cellsAroundViewport.first >= 0 && cellsAroundViewport.last >= cellsAroundViewport.first - 1 && cellsAroundViewport.last < itemCount, 'Invalid cells around viewport "[' + cellsAroundViewport.first + ", " + cellsAroundViewport.last + ']" was passed to VirtualizedList._createRenderMask'); + var renderMask = new _CellRenderMask.CellRenderMask(itemCount); + if (itemCount > 0) { + var allRegions = [cellsAroundViewport, ...additionalRegions !== null && additionalRegions !== void 0 ? additionalRegions : []]; + for (var _i2 = 0, _allRegions = allRegions; _i2 < _allRegions.length; _i2++) { + var region = _allRegions[_i2]; + renderMask.addCells(region); + } + if (props.initialScrollIndex == null || props.initialScrollIndex <= 0) { + var initialRegion = _VirtualizedList._initialRenderRegion(props); + renderMask.addCells(initialRegion); + } + var stickyIndicesSet = new Set(props.stickyHeaderIndices); + _VirtualizedList._ensureClosestStickyHeader(props, stickyIndicesSet, renderMask, cellsAroundViewport.first); + } + return renderMask; + } + static _initialRenderRegion(props) { + var _props$initialScrollI; + var itemCount = props.getItemCount(props.data); + var firstCellIndex = Math.max(0, Math.min(itemCount - 1, Math.floor((_props$initialScrollI = props.initialScrollIndex) !== null && _props$initialScrollI !== void 0 ? _props$initialScrollI : 0))); + var lastCellIndex = Math.min(itemCount, firstCellIndex + initialNumToRenderOrDefault(props.initialNumToRender)) - 1; + return { + first: firstCellIndex, + last: lastCellIndex + }; + } + static _ensureClosestStickyHeader(props, stickyIndicesSet, renderMask, cellIdx) { + var stickyOffset = props.ListHeaderComponent ? 1 : 0; + for (var itemIdx = cellIdx - 1; itemIdx >= 0; itemIdx--) { + if (stickyIndicesSet.has(itemIdx + stickyOffset)) { + renderMask.addCells({ + first: itemIdx, + last: itemIdx + }); + break; + } + } + } + _adjustCellsAroundViewport(props, cellsAroundViewport) { + var data = props.data, getItemCount = props.getItemCount; + var onEndReachedThreshold = onEndReachedThresholdOrDefault(props.onEndReachedThreshold); + var _this$_scrollMetrics = this._scrollMetrics, contentLength = _this$_scrollMetrics.contentLength, offset4 = _this$_scrollMetrics.offset, visibleLength = _this$_scrollMetrics.visibleLength; + var distanceFromEnd = contentLength - visibleLength - offset4; + if (visibleLength <= 0 || contentLength <= 0) { + return cellsAroundViewport.last >= getItemCount(data) ? _VirtualizedList._constrainToItemCount(cellsAroundViewport, props) : cellsAroundViewport; + } + var newCellsAroundViewport; + if (props.disableVirtualization) { + var renderAhead = distanceFromEnd < onEndReachedThreshold * visibleLength ? maxToRenderPerBatchOrDefault(props.maxToRenderPerBatch) : 0; + newCellsAroundViewport = { + first: 0, + last: Math.min(cellsAroundViewport.last + renderAhead, getItemCount(data) - 1) + }; + } else { + if (props.initialScrollIndex && !this._scrollMetrics.offset && Math.abs(distanceFromEnd) >= Number.EPSILON) { + return cellsAroundViewport.last >= getItemCount(data) ? _VirtualizedList._constrainToItemCount(cellsAroundViewport, props) : cellsAroundViewport; + } + newCellsAroundViewport = (0, _VirtualizeUtils.computeWindowedRenderLimits)(props, maxToRenderPerBatchOrDefault(props.maxToRenderPerBatch), windowSizeOrDefault(props.windowSize), cellsAroundViewport, this.__getFrameMetricsApprox, this._scrollMetrics); + (0, _invariant.default)(newCellsAroundViewport.last < getItemCount(data), "computeWindowedRenderLimits() should return range in-bounds"); + } + if (this._nestedChildLists.size() > 0) { + var childIdx = this._findFirstChildWithMore(newCellsAroundViewport.first, newCellsAroundViewport.last); + newCellsAroundViewport.last = childIdx !== null && childIdx !== void 0 ? childIdx : newCellsAroundViewport.last; + } + return newCellsAroundViewport; + } + _findFirstChildWithMore(first, last) { + for (var ii = first; ii <= last; ii++) { + var cellKeyForIndex = this._indicesToKeys.get(ii); + if (cellKeyForIndex != null && this._nestedChildLists.anyInCell(cellKeyForIndex, (childList) => childList.hasMore())) { + return ii; + } + } + return null; + } + componentDidMount() { + if (this._isNestedWithSameOrientation()) { + this.context.registerAsNestedChild({ + ref: this, + cellKey: this.context.cellKey + }); + } + this.setupWebWheelHandler(); + } + componentWillUnmount() { + if (this._isNestedWithSameOrientation()) { + this.context.unregisterAsNestedChild({ + ref: this + }); + } + this._updateCellsToRenderBatcher.dispose({ + abort: true + }); + this._viewabilityTuples.forEach((tuple) => { + tuple.viewabilityHelper.dispose(); + }); + this._fillRateHelper.deactivateAndFlush(); + this.teardownWebWheelHandler(); + } + // REACT-NATIVE-WEB patch to preserve during future RN merges: Support inverted wheel scroller. + setupWebWheelHandler() { + if (this._scrollRef && this._scrollRef.getScrollableNode) { + this._scrollRef.getScrollableNode().addEventListener("wheel", this.invertedWheelEventHandler, { + passive: true + }); + } else { + setTimeout(() => this.setupWebWheelHandler(), 50); + return; + } + } + // REACT-NATIVE-WEB patch to preserve during future RN merges: Support inverted wheel scroller. + teardownWebWheelHandler() { + if (this._scrollRef && this._scrollRef.getScrollableNode) { + this._scrollRef.getScrollableNode().removeEventListener("wheel", this.invertedWheelEventHandler); + } + } + static getDerivedStateFromProps(newProps, prevState) { + var itemCount = newProps.getItemCount(newProps.data); + if (itemCount === prevState.renderMask.numCells()) { + return prevState; + } + var constrainedCells = _VirtualizedList._constrainToItemCount(prevState.cellsAroundViewport, newProps); + return { + cellsAroundViewport: constrainedCells, + renderMask: _VirtualizedList._createRenderMask(newProps, constrainedCells) + }; + } + _pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, first, last, inversionStyle) { + var _this = this; + var _this$props4 = this.props, CellRendererComponent = _this$props4.CellRendererComponent, ItemSeparatorComponent = _this$props4.ItemSeparatorComponent, ListHeaderComponent = _this$props4.ListHeaderComponent, ListItemComponent2 = _this$props4.ListItemComponent, data = _this$props4.data, debug = _this$props4.debug, getItem = _this$props4.getItem, getItemCount = _this$props4.getItemCount, getItemLayout = _this$props4.getItemLayout, horizontal = _this$props4.horizontal, renderItem = _this$props4.renderItem; + var stickyOffset = ListHeaderComponent ? 1 : 0; + var end = getItemCount(data) - 1; + var prevCellKey; + last = Math.min(end, last); + var _loop = /* @__PURE__ */ __name(function _loop2() { + var item = getItem(data, ii); + var key = _this._keyExtractor(item, ii, _this.props); + _this._indicesToKeys.set(ii, key); + if (stickyIndicesFromProps.has(ii + stickyOffset)) { + stickyHeaderIndices.push(cells.length); + } + var shouldListenForLayout = getItemLayout == null || debug || _this._fillRateHelper.enabled(); + cells.push(/* @__PURE__ */ React44.createElement(_VirtualizedListCellRenderer.default, (0, _extends2.default)({ + CellRendererComponent, + ItemSeparatorComponent: ii < end ? ItemSeparatorComponent : void 0, + ListItemComponent: ListItemComponent2, + cellKey: key, + horizontal, + index: ii, + inversionStyle, + item, + key, + prevCellKey, + onUpdateSeparators: _this._onUpdateSeparators, + onCellFocusCapture: (e) => _this._onCellFocusCapture(key), + onUnmount: _this._onCellUnmount, + ref: (_ref) => { + _this._cellRefs[key] = _ref; + }, + renderItem + }, shouldListenForLayout && { + onCellLayout: _this._onCellLayout + }))); + prevCellKey = key; + }, "_loop"); + for (var ii = first; ii <= last; ii++) { + _loop(); + } + } + static _constrainToItemCount(cells, props) { + var itemCount = props.getItemCount(props.data); + var last = Math.min(itemCount - 1, cells.last); + var maxToRenderPerBatch = maxToRenderPerBatchOrDefault(props.maxToRenderPerBatch); + return { + first: (0, _clamp.default)(0, itemCount - 1 - maxToRenderPerBatch, cells.first), + last + }; + } + _isNestedWithSameOrientation() { + var nestedContext = this.context; + return !!(nestedContext && !!nestedContext.horizontal === horizontalOrDefault(this.props.horizontal)); + } + _keyExtractor(item, index3, props) { + if (props.keyExtractor != null) { + return props.keyExtractor(item, index3); + } + var key = (0, _VirtualizeUtils.keyExtractor)(item, index3); + if (key === String(index3)) { + _usedIndexForKey = true; + if (item.type && item.type.displayName) { + _keylessItemComponentName = item.type.displayName; + } + } + return key; + } + render() { + this._checkProps(this.props); + var _this$props5 = this.props, ListEmptyComponent = _this$props5.ListEmptyComponent, ListFooterComponent = _this$props5.ListFooterComponent, ListHeaderComponent = _this$props5.ListHeaderComponent; + var _this$props6 = this.props, data = _this$props6.data, horizontal = _this$props6.horizontal; + var inversionStyle = this.props.inverted ? horizontalOrDefault(this.props.horizontal) ? styles.horizontallyInverted : styles.verticallyInverted : null; + var cells = []; + var stickyIndicesFromProps = new Set(this.props.stickyHeaderIndices); + var stickyHeaderIndices = []; + if (ListHeaderComponent) { + if (stickyIndicesFromProps.has(0)) { + stickyHeaderIndices.push(0); + } + var _element = /* @__PURE__ */ React44.isValidElement(ListHeaderComponent) ? ListHeaderComponent : ( + // $FlowFixMe[not-a-component] + // $FlowFixMe[incompatible-type-arg] + /* @__PURE__ */ React44.createElement(ListHeaderComponent, null) + ); + cells.push(/* @__PURE__ */ React44.createElement(_VirtualizedListContext.VirtualizedListCellContextProvider, { + cellKey: this._getCellKey() + "-header", + key: "$header" + }, /* @__PURE__ */ React44.createElement( + _View.default, + { + onLayout: this._onLayoutHeader, + style: [inversionStyle, this.props.ListHeaderComponentStyle] + }, + // $FlowFixMe[incompatible-type] - Typing ReactNativeComponent revealed errors + _element + ))); + } + var itemCount = this.props.getItemCount(data); + if (itemCount === 0 && ListEmptyComponent) { + var _element2 = /* @__PURE__ */ React44.isValidElement(ListEmptyComponent) ? ListEmptyComponent : ( + // $FlowFixMe[not-a-component] + // $FlowFixMe[incompatible-type-arg] + /* @__PURE__ */ React44.createElement(ListEmptyComponent, null) + ); + cells.push(/* @__PURE__ */ React44.createElement(_VirtualizedListContext.VirtualizedListCellContextProvider, { + cellKey: this._getCellKey() + "-empty", + key: "$empty" + }, /* @__PURE__ */ React44.cloneElement(_element2, { + onLayout: (event) => { + this._onLayoutEmpty(event); + if (_element2.props.onLayout) { + _element2.props.onLayout(event); + } + }, + style: [inversionStyle, _element2.props.style] + }))); + } + if (itemCount > 0) { + _usedIndexForKey = false; + _keylessItemComponentName = ""; + var spacerKey = this._getSpacerKey(!horizontal); + var renderRegions = this.state.renderMask.enumerateRegions(); + var lastSpacer = findLastWhere(renderRegions, (r) => r.isSpacer); + for (var _iterator = (0, _createForOfIteratorHelperLoose2.default)(renderRegions), _step; !(_step = _iterator()).done; ) { + var section = _step.value; + if (section.isSpacer) { + if (this.props.disableVirtualization) { + continue; + } + var isLastSpacer = section === lastSpacer; + var constrainToMeasured = isLastSpacer && !this.props.getItemLayout; + var last = constrainToMeasured ? (0, _clamp.default)(section.first - 1, section.last, this._highestMeasuredFrameIndex) : section.last; + var firstMetrics = this.__getFrameMetricsApprox(section.first, this.props); + var lastMetrics = this.__getFrameMetricsApprox(last, this.props); + var spacerSize = lastMetrics.offset + lastMetrics.length - firstMetrics.offset; + cells.push(/* @__PURE__ */ React44.createElement(_View.default, { + key: "$spacer-" + section.first, + style: { + [spacerKey]: spacerSize + } + })); + } else { + this._pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, section.first, section.last, inversionStyle); + } + } + if (!this._hasWarned.keys && _usedIndexForKey) { + console.warn("VirtualizedList: missing keys for items, make sure to specify a key or id property on each item or provide a custom keyExtractor.", _keylessItemComponentName); + this._hasWarned.keys = true; + } + } + if (ListFooterComponent) { + var _element3 = /* @__PURE__ */ React44.isValidElement(ListFooterComponent) ? ListFooterComponent : ( + // $FlowFixMe[not-a-component] + // $FlowFixMe[incompatible-type-arg] + /* @__PURE__ */ React44.createElement(ListFooterComponent, null) + ); + cells.push(/* @__PURE__ */ React44.createElement(_VirtualizedListContext.VirtualizedListCellContextProvider, { + cellKey: this._getFooterCellKey(), + key: "$footer" + }, /* @__PURE__ */ React44.createElement( + _View.default, + { + onLayout: this._onLayoutFooter, + style: [inversionStyle, this.props.ListFooterComponentStyle] + }, + // $FlowFixMe[incompatible-type] - Typing ReactNativeComponent revealed errors + _element3 + ))); + } + var scrollProps = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, this.props), {}, { + onContentSizeChange: this._onContentSizeChange, + onLayout: this._onLayout, + onScroll: this._onScroll, + onScrollBeginDrag: this._onScrollBeginDrag, + onScrollEndDrag: this._onScrollEndDrag, + onMomentumScrollBegin: this._onMomentumScrollBegin, + onMomentumScrollEnd: this._onMomentumScrollEnd, + scrollEventThrottle: scrollEventThrottleOrDefault(this.props.scrollEventThrottle), + // TODO: Android support + invertStickyHeaders: this.props.invertStickyHeaders !== void 0 ? this.props.invertStickyHeaders : this.props.inverted, + stickyHeaderIndices, + style: inversionStyle ? [inversionStyle, this.props.style] : this.props.style + }); + this._hasMore = this.state.cellsAroundViewport.last < itemCount - 1; + var innerRet = /* @__PURE__ */ React44.createElement(_VirtualizedListContext.VirtualizedListContextProvider, { + value: { + cellKey: null, + getScrollMetrics: this._getScrollMetrics, + horizontal: horizontalOrDefault(this.props.horizontal), + getOutermostParentListRef: this._getOutermostParentListRef, + registerAsNestedChild: this._registerAsNestedChild, + unregisterAsNestedChild: this._unregisterAsNestedChild + } + }, /* @__PURE__ */ React44.cloneElement((this.props.renderScrollComponent || this._defaultRenderScrollComponent)(scrollProps), { + ref: this._captureScrollRef + }, cells)); + var ret = innerRet; + if (this.props.debug) { + return /* @__PURE__ */ React44.createElement(_View.default, { + style: styles.debug + }, ret, this._renderDebugOverlay()); + } else { + return ret; + } + } + componentDidUpdate(prevProps) { + var _this$props7 = this.props, data = _this$props7.data, extraData = _this$props7.extraData; + if (data !== prevProps.data || extraData !== prevProps.extraData) { + this._viewabilityTuples.forEach((tuple) => { + tuple.viewabilityHelper.resetViewableIndices(); + }); + } + var hiPriInProgress = this._hiPriInProgress; + this._scheduleCellsToRenderUpdate(); + if (hiPriInProgress) { + this._hiPriInProgress = false; + } + } + _computeBlankness() { + this._fillRateHelper.computeBlankness(this.props, this.state.cellsAroundViewport, this._scrollMetrics); + } + /* $FlowFixMe[missing-local-annot] The type annotation(s) required by Flow's + * LTI update could not be added via codemod */ + _onCellFocusCapture(cellKey) { + this._lastFocusedCellKey = cellKey; + this._updateCellsToRender(); + } + _triggerRemeasureForChildListsInCell(cellKey) { + this._nestedChildLists.forEachInCell(cellKey, (childList) => { + childList.measureLayoutRelativeToContainingList(); + }); + } + measureLayoutRelativeToContainingList() { + try { + if (!this._scrollRef) { + return; + } + this._scrollRef.measureLayout(this.context.getOutermostParentListRef().getScrollRef(), (x, y, width, height) => { + this._offsetFromParentVirtualizedList = this._selectOffset({ + x, + y + }); + this._scrollMetrics.contentLength = this._selectLength({ + width, + height + }); + var scrollMetrics = this._convertParentScrollMetrics(this.context.getScrollMetrics()); + var metricsChanged = this._scrollMetrics.visibleLength !== scrollMetrics.visibleLength || this._scrollMetrics.offset !== scrollMetrics.offset; + if (metricsChanged) { + this._scrollMetrics.visibleLength = scrollMetrics.visibleLength; + this._scrollMetrics.offset = scrollMetrics.offset; + this._nestedChildLists.forEach((childList) => { + childList.measureLayoutRelativeToContainingList(); + }); + } + }, (error2) => { + console.warn("VirtualizedList: Encountered an error while measuring a list's offset from its containing VirtualizedList."); + }); + } catch (error2) { + console.warn("measureLayoutRelativeToContainingList threw an error", error2.stack); + } + } + _getFooterCellKey() { + return this._getCellKey() + "-footer"; + } + // $FlowFixMe[missing-local-annot] + _renderDebugOverlay() { + var normalize = this._scrollMetrics.visibleLength / (this._scrollMetrics.contentLength || 1); + var framesInLayout = []; + var itemCount = this.props.getItemCount(this.props.data); + for (var ii = 0; ii < itemCount; ii++) { + var frame = this.__getFrameMetricsApprox(ii, this.props); + if (frame.inLayout) { + framesInLayout.push(frame); + } + } + var windowTop = this.__getFrameMetricsApprox(this.state.cellsAroundViewport.first, this.props).offset; + var frameLast = this.__getFrameMetricsApprox(this.state.cellsAroundViewport.last, this.props); + var windowLen = frameLast.offset + frameLast.length - windowTop; + var visTop = this._scrollMetrics.offset; + var visLen = this._scrollMetrics.visibleLength; + return /* @__PURE__ */ React44.createElement(_View.default, { + style: [styles.debugOverlayBase, styles.debugOverlay] + }, framesInLayout.map((f, ii2) => /* @__PURE__ */ React44.createElement(_View.default, { + key: "f" + ii2, + style: [styles.debugOverlayBase, styles.debugOverlayFrame, { + top: f.offset * normalize, + height: f.length * normalize + }] + })), /* @__PURE__ */ React44.createElement(_View.default, { + style: [styles.debugOverlayBase, styles.debugOverlayFrameLast, { + top: windowTop * normalize, + height: windowLen * normalize + }] + }), /* @__PURE__ */ React44.createElement(_View.default, { + style: [styles.debugOverlayBase, styles.debugOverlayFrameVis, { + top: visTop * normalize, + height: visLen * normalize + }] + })); + } + _selectLength(metrics) { + return !horizontalOrDefault(this.props.horizontal) ? metrics.height : metrics.width; + } + _selectOffset(metrics) { + return !horizontalOrDefault(this.props.horizontal) ? metrics.y : metrics.x; + } + _maybeCallOnEdgeReached() { + var _this$props8 = this.props, data = _this$props8.data, getItemCount = _this$props8.getItemCount, onStartReached = _this$props8.onStartReached, onStartReachedThreshold = _this$props8.onStartReachedThreshold, onEndReached = _this$props8.onEndReached, onEndReachedThreshold = _this$props8.onEndReachedThreshold, initialScrollIndex = _this$props8.initialScrollIndex; + var _this$_scrollMetrics2 = this._scrollMetrics, contentLength = _this$_scrollMetrics2.contentLength, visibleLength = _this$_scrollMetrics2.visibleLength, offset4 = _this$_scrollMetrics2.offset; + var distanceFromStart = offset4; + var distanceFromEnd = contentLength - visibleLength - offset4; + if (distanceFromStart < ON_EDGE_REACHED_EPSILON) { + distanceFromStart = 0; + } + if (distanceFromEnd < ON_EDGE_REACHED_EPSILON) { + distanceFromEnd = 0; + } + var DEFAULT_THRESHOLD_PX = 2; + var startThreshold = onStartReachedThreshold != null ? onStartReachedThreshold * visibleLength : DEFAULT_THRESHOLD_PX; + var endThreshold = onEndReachedThreshold != null ? onEndReachedThreshold * visibleLength : DEFAULT_THRESHOLD_PX; + var isWithinStartThreshold = distanceFromStart <= startThreshold; + var isWithinEndThreshold = distanceFromEnd <= endThreshold; + if (onEndReached && this.state.cellsAroundViewport.last === getItemCount(data) - 1 && isWithinEndThreshold && this._scrollMetrics.contentLength !== this._sentEndForContentLength) { + this._sentEndForContentLength = this._scrollMetrics.contentLength; + onEndReached({ + distanceFromEnd + }); + } else if (onStartReached != null && this.state.cellsAroundViewport.first === 0 && isWithinStartThreshold && this._scrollMetrics.contentLength !== this._sentStartForContentLength) { + if (!initialScrollIndex || this._scrollMetrics.timestamp !== 0) { + this._sentStartForContentLength = this._scrollMetrics.contentLength; + onStartReached({ + distanceFromStart + }); + } + } else { + this._sentStartForContentLength = isWithinStartThreshold ? this._sentStartForContentLength : 0; + this._sentEndForContentLength = isWithinEndThreshold ? this._sentEndForContentLength : 0; + } + } + _scheduleCellsToRenderUpdate() { + var _this$state$cellsArou = this.state.cellsAroundViewport, first = _this$state$cellsArou.first, last = _this$state$cellsArou.last; + var _this$_scrollMetrics3 = this._scrollMetrics, offset4 = _this$_scrollMetrics3.offset, visibleLength = _this$_scrollMetrics3.visibleLength, velocity = _this$_scrollMetrics3.velocity; + var itemCount = this.props.getItemCount(this.props.data); + var hiPri = false; + var onStartReachedThreshold = onStartReachedThresholdOrDefault(this.props.onStartReachedThreshold); + var onEndReachedThreshold = onEndReachedThresholdOrDefault(this.props.onEndReachedThreshold); + if (first > 0) { + var distTop = offset4 - this.__getFrameMetricsApprox(first, this.props).offset; + hiPri = distTop < 0 || velocity < -2 && distTop < getScrollingThreshold(onStartReachedThreshold, visibleLength); + } + if (!hiPri && last >= 0 && last < itemCount - 1) { + var distBottom = this.__getFrameMetricsApprox(last, this.props).offset - (offset4 + visibleLength); + hiPri = distBottom < 0 || velocity > 2 && distBottom < getScrollingThreshold(onEndReachedThreshold, visibleLength); + } + if (hiPri && (this._averageCellLength || this.props.getItemLayout) && !this._hiPriInProgress) { + this._hiPriInProgress = true; + this._updateCellsToRenderBatcher.dispose({ + abort: true + }); + this._updateCellsToRender(); + return; + } else { + this._updateCellsToRenderBatcher.schedule(); + } + } + _updateViewableItems(props, cellsAroundViewport) { + this._viewabilityTuples.forEach((tuple) => { + tuple.viewabilityHelper.onUpdate(props, this._scrollMetrics.offset, this._scrollMetrics.visibleLength, this._getFrameMetrics, this._createViewToken, tuple.onViewableItemsChanged, cellsAroundViewport); + }); + } + }; + __name(_VirtualizedList, "VirtualizedList"); + var VirtualizedList = _VirtualizedList; + VirtualizedList.contextType = _VirtualizedListContext.VirtualizedListContext; + var styles = _StyleSheet.default.create({ + verticallyInverted: { + transform: "scaleY(-1)" + }, + horizontallyInverted: { + transform: "scaleX(-1)" + }, + debug: { + flex: 1 + }, + debugOverlayBase: { + position: "absolute", + top: 0, + right: 0 + }, + debugOverlay: { + bottom: 0, + width: 20, + borderColor: "blue", + borderWidth: 1 + }, + debugOverlayFrame: { + left: 0, + backgroundColor: "orange" + }, + debugOverlayFrameLast: { + left: 0, + borderColor: "green", + borderWidth: 2 + }, + debugOverlayFrameVis: { + left: 0, + borderColor: "red", + borderWidth: 2 + } + }); + var _default = VirtualizedList; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/node_modules/memoize-one/dist/memoize-one.cjs.js +var require_memoize_one_cjs = __commonJS({ + "node_modules/react-native-web/node_modules/memoize-one/dist/memoize-one.cjs.js"(exports2, module2) { + "use strict"; + var safeIsNaN = Number.isNaN || /* @__PURE__ */ __name(function ponyfill(value) { + return typeof value === "number" && value !== value; + }, "ponyfill"); + function isEqual(first, second) { + if (first === second) { + return true; + } + if (safeIsNaN(first) && safeIsNaN(second)) { + return true; + } + return false; + } + __name(isEqual, "isEqual"); + function areInputsEqual(newInputs, lastInputs) { + if (newInputs.length !== lastInputs.length) { + return false; + } + for (var i = 0; i < newInputs.length; i++) { + if (!isEqual(newInputs[i], lastInputs[i])) { + return false; + } + } + return true; + } + __name(areInputsEqual, "areInputsEqual"); + function memoizeOne(resultFn, isEqual2) { + if (isEqual2 === void 0) { + isEqual2 = areInputsEqual; + } + var cache3 = null; + function memoized() { + var newArgs = []; + for (var _i = 0; _i < arguments.length; _i++) { + newArgs[_i] = arguments[_i]; + } + if (cache3 && cache3.lastThis === this && isEqual2(newArgs, cache3.lastArgs)) { + return cache3.lastResult; + } + var lastResult = resultFn.apply(this, newArgs); + cache3 = { + lastResult, + lastArgs: newArgs, + lastThis: this + }; + return lastResult; + } + __name(memoized, "memoized"); + memoized.clear = /* @__PURE__ */ __name(function clear() { + cache3 = null; + }, "clear"); + return memoized; + } + __name(memoizeOne, "memoizeOne"); + module2.exports = memoizeOne; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/FlatList/index.js +var require_FlatList = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/FlatList/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = void 0; + var _extends2 = _interopRequireDefault(require_extends()); + var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); + var _objectSpread2 = _interopRequireDefault(require_objectSpread2()); + var _View = _interopRequireDefault(require_View()); + var _StyleSheet = _interopRequireDefault(require_StyleSheet()); + var _deepDiffer = _interopRequireDefault(require_deepDiffer()); + var _Platform = _interopRequireDefault(require_Platform()); + var _invariant = _interopRequireDefault(require_invariant()); + var React44 = _interopRequireWildcard(require("react")); + var _VirtualizedList = _interopRequireDefault(require_VirtualizedList()); + var _VirtualizeUtils = require_VirtualizeUtils(); + var _memoizeOne = _interopRequireDefault(require_memoize_one_cjs()); + var _excluded = ["numColumns", "columnWrapperStyle", "removeClippedSubviews", "strictMode"]; + function removeClippedSubviewsOrDefault(removeClippedSubviews) { + return removeClippedSubviews !== null && removeClippedSubviews !== void 0 ? removeClippedSubviews : _Platform.default.OS === "android"; + } + __name(removeClippedSubviewsOrDefault, "removeClippedSubviewsOrDefault"); + function numColumnsOrDefault(numColumns) { + return numColumns !== null && numColumns !== void 0 ? numColumns : 1; + } + __name(numColumnsOrDefault, "numColumnsOrDefault"); + function isArrayLike(data) { + return typeof Object(data).length === "number"; + } + __name(isArrayLike, "isArrayLike"); + var _FlatList = class _FlatList extends React44.PureComponent { + /** + * Scrolls to the end of the content. May be janky without `getItemLayout` prop. + */ + scrollToEnd(params) { + if (this._listRef) { + this._listRef.scrollToEnd(params); + } + } + /** + * Scrolls to the item at the specified index such that it is positioned in the viewable area + * such that `viewPosition` 0 places it at the top, 1 at the bottom, and 0.5 centered in the + * middle. `viewOffset` is a fixed number of pixels to offset the final target position. + * + * Note: cannot scroll to locations outside the render window without specifying the + * `getItemLayout` prop. + */ + scrollToIndex(params) { + if (this._listRef) { + this._listRef.scrollToIndex(params); + } + } + /** + * Requires linear scan through data - use `scrollToIndex` instead if possible. + * + * Note: cannot scroll to locations outside the render window without specifying the + * `getItemLayout` prop. + */ + scrollToItem(params) { + if (this._listRef) { + this._listRef.scrollToItem(params); + } + } + /** + * Scroll to a specific content pixel offset in the list. + * + * Check out [scrollToOffset](docs/virtualizedlist.html#scrolltooffset) of VirtualizedList + */ + scrollToOffset(params) { + if (this._listRef) { + this._listRef.scrollToOffset(params); + } + } + /** + * Tells the list an interaction has occurred, which should trigger viewability calculations, e.g. + * if `waitForInteractions` is true and the user has not scrolled. This is typically called by + * taps on items or by navigation actions. + */ + recordInteraction() { + if (this._listRef) { + this._listRef.recordInteraction(); + } + } + /** + * Displays the scroll indicators momentarily. + * + * @platform ios + */ + flashScrollIndicators() { + if (this._listRef) { + this._listRef.flashScrollIndicators(); + } + } + /** + * Provides a handle to the underlying scroll responder. + */ + getScrollResponder() { + if (this._listRef) { + return this._listRef.getScrollResponder(); + } + } + /** + * Provides a reference to the underlying host component + */ + getNativeScrollRef() { + if (this._listRef) { + return this._listRef.getScrollRef(); + } + } + getScrollableNode() { + if (this._listRef) { + return this._listRef.getScrollableNode(); + } + } + constructor(_props) { + super(_props); + this._virtualizedListPairs = []; + this._captureRef = (ref) => { + this._listRef = ref; + }; + this._getItem = (data, index3) => { + var numColumns = numColumnsOrDefault(this.props.numColumns); + if (numColumns > 1) { + var ret = []; + for (var kk = 0; kk < numColumns; kk++) { + var itemIndex = index3 * numColumns + kk; + if (itemIndex < data.length) { + var _item = data[itemIndex]; + ret.push(_item); + } + } + return ret; + } else { + return data[index3]; + } + }; + this._getItemCount = (data) => { + if (data != null && isArrayLike(data)) { + var numColumns = numColumnsOrDefault(this.props.numColumns); + return numColumns > 1 ? Math.ceil(data.length / numColumns) : data.length; + } else { + return 0; + } + }; + this._keyExtractor = (items, index3) => { + var _this$props$keyExtrac; + var numColumns = numColumnsOrDefault(this.props.numColumns); + var keyExtractor = (_this$props$keyExtrac = this.props.keyExtractor) !== null && _this$props$keyExtrac !== void 0 ? _this$props$keyExtrac : _VirtualizeUtils.keyExtractor; + if (numColumns > 1) { + (0, _invariant.default)(Array.isArray(items), "FlatList: Encountered internal consistency error, expected each item to consist of an array with 1-%s columns; instead, received a single item.", numColumns); + return items.map((item, kk) => keyExtractor(item, index3 * numColumns + kk)).join(":"); + } + return keyExtractor(items, index3); + }; + this._renderer = (ListItemComponent2, renderItem, columnWrapperStyle, numColumns, extraData) => { + var cols = numColumnsOrDefault(numColumns); + var render = /* @__PURE__ */ __name((props) => { + if (ListItemComponent2) { + return /* @__PURE__ */ React44.createElement(ListItemComponent2, props); + } else if (renderItem) { + return renderItem(props); + } else { + return null; + } + }, "render"); + var renderProp = /* @__PURE__ */ __name((info) => { + if (cols > 1) { + var _item2 = info.item, _index = info.index; + (0, _invariant.default)(Array.isArray(_item2), "Expected array of items with numColumns > 1"); + return /* @__PURE__ */ React44.createElement(_View.default, { + style: [styles.row, columnWrapperStyle] + }, _item2.map((it, kk) => { + var element = render({ + // $FlowFixMe[incompatible-call] + item: it, + index: _index * cols + kk, + separators: info.separators + }); + return element != null ? /* @__PURE__ */ React44.createElement(React44.Fragment, { + key: kk + }, element) : null; + })); + } else { + return render(info); + } + }, "renderProp"); + return ListItemComponent2 ? { + ListItemComponent: renderProp + } : { + renderItem: renderProp + }; + }; + this._memoizedRenderer = (0, _memoizeOne.default)(this._renderer); + this._checkProps(this.props); + if (this.props.viewabilityConfigCallbackPairs) { + this._virtualizedListPairs = this.props.viewabilityConfigCallbackPairs.map((pair) => ({ + viewabilityConfig: pair.viewabilityConfig, + onViewableItemsChanged: this._createOnViewableItemsChanged(pair.onViewableItemsChanged) + })); + } else if (this.props.onViewableItemsChanged) { + this._virtualizedListPairs.push({ + /* $FlowFixMe[incompatible-call] (>=0.63.0 site=react_native_fb) This + * comment suppresses an error found when Flow v0.63 was deployed. To + * see the error delete this comment and run Flow. */ + viewabilityConfig: this.props.viewabilityConfig, + onViewableItemsChanged: this._createOnViewableItemsChanged(this.props.onViewableItemsChanged) + }); + } + } + // $FlowFixMe[missing-local-annot] + componentDidUpdate(prevProps) { + (0, _invariant.default)(prevProps.numColumns === this.props.numColumns, "Changing numColumns on the fly is not supported. Change the key prop on FlatList when changing the number of columns to force a fresh render of the component."); + (0, _invariant.default)(prevProps.onViewableItemsChanged === this.props.onViewableItemsChanged, "Changing onViewableItemsChanged on the fly is not supported"); + (0, _invariant.default)(!(0, _deepDiffer.default)(prevProps.viewabilityConfig, this.props.viewabilityConfig), "Changing viewabilityConfig on the fly is not supported"); + (0, _invariant.default)(prevProps.viewabilityConfigCallbackPairs === this.props.viewabilityConfigCallbackPairs, "Changing viewabilityConfigCallbackPairs on the fly is not supported"); + this._checkProps(this.props); + } + // $FlowFixMe[missing-local-annot] + _checkProps(props) { + var getItem = props.getItem, getItemCount = props.getItemCount, horizontal = props.horizontal, columnWrapperStyle = props.columnWrapperStyle, onViewableItemsChanged = props.onViewableItemsChanged, viewabilityConfigCallbackPairs = props.viewabilityConfigCallbackPairs; + var numColumns = numColumnsOrDefault(this.props.numColumns); + (0, _invariant.default)(!getItem && !getItemCount, "FlatList does not support custom data formats."); + if (numColumns > 1) { + (0, _invariant.default)(!horizontal, "numColumns does not support horizontal."); + } else { + (0, _invariant.default)(!columnWrapperStyle, "columnWrapperStyle not supported for single column lists"); + } + (0, _invariant.default)(!(onViewableItemsChanged && viewabilityConfigCallbackPairs), "FlatList does not support setting both onViewableItemsChanged and viewabilityConfigCallbackPairs."); + } + _pushMultiColumnViewable(arr, v) { + var _this$props$keyExtrac2; + var numColumns = numColumnsOrDefault(this.props.numColumns); + var keyExtractor = (_this$props$keyExtrac2 = this.props.keyExtractor) !== null && _this$props$keyExtrac2 !== void 0 ? _this$props$keyExtrac2 : _VirtualizeUtils.keyExtractor; + v.item.forEach((item, ii) => { + (0, _invariant.default)(v.index != null, "Missing index!"); + var index3 = v.index * numColumns + ii; + arr.push((0, _objectSpread2.default)((0, _objectSpread2.default)({}, v), {}, { + item, + key: keyExtractor(item, index3), + index: index3 + })); + }); + } + _createOnViewableItemsChanged(onViewableItemsChanged) { + return (info) => { + var numColumns = numColumnsOrDefault(this.props.numColumns); + if (onViewableItemsChanged) { + if (numColumns > 1) { + var changed = []; + var viewableItems = []; + info.viewableItems.forEach((v) => this._pushMultiColumnViewable(viewableItems, v)); + info.changed.forEach((v) => this._pushMultiColumnViewable(changed, v)); + onViewableItemsChanged({ + viewableItems, + changed + }); + } else { + onViewableItemsChanged(info); + } + } + }; + } + render() { + var _this$props = this.props, numColumns = _this$props.numColumns, columnWrapperStyle = _this$props.columnWrapperStyle, _removeClippedSubviews = _this$props.removeClippedSubviews, _this$props$strictMod = _this$props.strictMode, strictMode = _this$props$strictMod === void 0 ? false : _this$props$strictMod, restProps = (0, _objectWithoutPropertiesLoose2.default)(_this$props, _excluded); + var renderer = strictMode ? this._memoizedRenderer : this._renderer; + return ( + // $FlowFixMe[incompatible-exact] - `restProps` (`Props`) is inexact. + /* @__PURE__ */ React44.createElement(_VirtualizedList.default, (0, _extends2.default)({}, restProps, { + getItem: this._getItem, + getItemCount: this._getItemCount, + keyExtractor: this._keyExtractor, + ref: this._captureRef, + viewabilityConfigCallbackPairs: this._virtualizedListPairs, + removeClippedSubviews: removeClippedSubviewsOrDefault(_removeClippedSubviews) + }, renderer(this.props.ListItemComponent, this.props.renderItem, columnWrapperStyle, numColumns, this.props.extraData))) + ); + } + }; + __name(_FlatList, "FlatList"); + var FlatList = _FlatList; + var styles = _StyleSheet.default.create({ + row: { + flexDirection: "row" + } + }); + var _default = FlatList; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/FlatList/index.js +var require_FlatList2 = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/FlatList/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _FlatList = _interopRequireDefault(require_FlatList()); + var _default = _FlatList.default; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/TurboModule/TurboModuleRegistry.js +var require_TurboModuleRegistry = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/TurboModule/TurboModuleRegistry.js"(exports2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.get = get; + exports2.getEnforcing = getEnforcing; + var _invariant = _interopRequireDefault(require_invariant()); + function get(name) { + return null; + } + __name(get, "get"); + function getEnforcing(name) { + var module3 = get(name); + (0, _invariant.default)(module3 != null, "TurboModuleRegistry.getEnforcing(...): '" + name + "' could not be found. Verify that a module by this name is registered in the native binary."); + return module3; + } + __name(getEnforcing, "getEnforcing"); + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/NativeAnimatedModule.js +var require_NativeAnimatedModule = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/NativeAnimatedModule.js"(exports2, module2) { + "use strict"; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = void 0; + var TurboModuleRegistry = _interopRequireWildcard(require_TurboModuleRegistry()); + var _default = TurboModuleRegistry.get("NativeAnimatedModule"); + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/NativeAnimatedTurboModule.js +var require_NativeAnimatedTurboModule = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/NativeAnimatedTurboModule.js"(exports2, module2) { + "use strict"; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = void 0; + var TurboModuleRegistry = _interopRequireWildcard(require_TurboModuleRegistry()); + var _default = TurboModuleRegistry.get("NativeAnimatedTurboModule"); + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/EventEmitter/RCTDeviceEventEmitter.js +var require_RCTDeviceEventEmitter = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/EventEmitter/RCTDeviceEventEmitter.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _EventEmitter = _interopRequireDefault(require_EventEmitter()); + var _default = new _EventEmitter.default(); + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/EventEmitter/NativeEventEmitter.js +var require_NativeEventEmitter = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/EventEmitter/NativeEventEmitter.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _Platform = _interopRequireDefault(require_Platform()); + var _RCTDeviceEventEmitter = _interopRequireDefault(require_RCTDeviceEventEmitter()); + var _invariant = _interopRequireDefault(require_invariant()); + var _NativeEventEmitter = class _NativeEventEmitter { + constructor(nativeModule) { + if (_Platform.default.OS === "ios") { + (0, _invariant.default)(nativeModule != null, "`new NativeEventEmitter()` requires a non-null argument."); + this._nativeModule = nativeModule; + } + } + addListener(eventType, listener, context) { + var _this$_nativeModule; + (_this$_nativeModule = this._nativeModule) == null ? void 0 : _this$_nativeModule.addListener(eventType); + var subscription = _RCTDeviceEventEmitter.default.addListener(eventType, listener, context); + return { + remove: () => { + if (subscription != null) { + var _this$_nativeModule2; + (_this$_nativeModule2 = this._nativeModule) == null ? void 0 : _this$_nativeModule2.removeListeners(1); + subscription.remove(); + subscription = null; + } + } + }; + } + /** + * @deprecated Use `remove` on the EventSubscription from `addListener`. + */ + removeListener(eventType, listener) { + var _this$_nativeModule3; + (_this$_nativeModule3 = this._nativeModule) == null ? void 0 : _this$_nativeModule3.removeListeners(1); + _RCTDeviceEventEmitter.default.removeListener(eventType, listener); + } + emit(eventType) { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + _RCTDeviceEventEmitter.default.emit(eventType, ...args); + } + removeAllListeners(eventType) { + var _this$_nativeModule4; + (0, _invariant.default)(eventType != null, "`NativeEventEmitter.removeAllListener()` requires a non-null argument."); + (_this$_nativeModule4 = this._nativeModule) == null ? void 0 : _this$_nativeModule4.removeListeners(this.listenerCount(eventType)); + _RCTDeviceEventEmitter.default.removeAllListeners(eventType); + } + listenerCount(eventType) { + return _RCTDeviceEventEmitter.default.listenerCount(eventType); + } + }; + __name(_NativeEventEmitter, "NativeEventEmitter"); + var NativeEventEmitter = _NativeEventEmitter; + exports2.default = NativeEventEmitter; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Utilities/Platform.js +var require_Platform2 = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Utilities/Platform.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _Platform = _interopRequireDefault(require_Platform()); + var _default = _Platform.default; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/ReactNative/ReactNativeFeatureFlags.js +var require_ReactNativeFeatureFlags = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/ReactNative/ReactNativeFeatureFlags.js"(exports2, module2) { + "use strict"; + exports2.__esModule = true; + exports2.default = void 0; + var ReactNativeFeatureFlags = { + isLayoutAnimationEnabled: () => true, + shouldEmitW3CPointerEvents: () => false, + shouldPressibilityUseW3CPointerEventsForHover: () => false, + animatedShouldDebounceQueueFlush: () => false, + animatedShouldUseSingleOp: () => false + }; + var _default = ReactNativeFeatureFlags; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/NativeAnimatedHelper.js +var require_NativeAnimatedHelper = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/NativeAnimatedHelper.js"(exports2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.API = void 0; + exports2.addWhitelistedInterpolationParam = addWhitelistedInterpolationParam; + exports2.addWhitelistedStyleProp = addWhitelistedStyleProp; + exports2.addWhitelistedTransformProp = addWhitelistedTransformProp; + exports2.assertNativeAnimatedModule = assertNativeAnimatedModule; + exports2.default = void 0; + exports2.generateNewAnimationId = generateNewAnimationId; + exports2.generateNewNodeTag = generateNewNodeTag; + exports2.isSupportedColorStyleProp = isSupportedColorStyleProp; + exports2.isSupportedInterpolationParam = isSupportedInterpolationParam; + exports2.isSupportedStyleProp = isSupportedStyleProp; + exports2.isSupportedTransformProp = isSupportedTransformProp; + exports2.shouldUseNativeDriver = shouldUseNativeDriver; + exports2.transformDataType = transformDataType; + exports2.validateInterpolation = validateInterpolation; + exports2.validateStyles = validateStyles; + exports2.validateTransform = validateTransform; + var _objectSpread2 = _interopRequireDefault(require_objectSpread2()); + var _NativeAnimatedModule = _interopRequireDefault(require_NativeAnimatedModule()); + var _NativeAnimatedTurboModule = _interopRequireDefault(require_NativeAnimatedTurboModule()); + var _NativeEventEmitter = _interopRequireDefault(require_NativeEventEmitter()); + var _Platform = _interopRequireDefault(require_Platform2()); + var _ReactNativeFeatureFlags = _interopRequireDefault(require_ReactNativeFeatureFlags()); + var _invariant = _interopRequireDefault(require_invariant()); + var _RCTDeviceEventEmitter = _interopRequireDefault(require_RCTDeviceEventEmitter()); + var NativeAnimatedModule = _Platform.default.OS === "ios" && global.RN$Bridgeless === true ? _NativeAnimatedTurboModule.default : _NativeAnimatedModule.default; + var __nativeAnimatedNodeTagCount = 1; + var __nativeAnimationIdCount = 1; + var nativeEventEmitter; + var waitingForQueuedOperations = /* @__PURE__ */ new Set(); + var queueOperations = false; + var queue = []; + var singleOpQueue = []; + var useSingleOpBatching = false; + _Platform.default.OS === "android" && !!(NativeAnimatedModule != null && NativeAnimatedModule.queueAndExecuteBatchedOperations) && _ReactNativeFeatureFlags.default.animatedShouldUseSingleOp(); + var flushQueueTimeout = null; + var eventListenerGetValueCallbacks = {}; + var eventListenerAnimationFinishedCallbacks = {}; + var nativeOps = useSingleOpBatching ? function() { + var apis = [ + "createAnimatedNode", + // 1 + "updateAnimatedNodeConfig", + // 2 + "getValue", + // 3 + "startListeningToAnimatedNodeValue", + // 4 + "stopListeningToAnimatedNodeValue", + // 5 + "connectAnimatedNodes", + // 6 + "disconnectAnimatedNodes", + // 7 + "startAnimatingNode", + // 8 + "stopAnimation", + // 9 + "setAnimatedNodeValue", + // 10 + "setAnimatedNodeOffset", + // 11 + "flattenAnimatedNodeOffset", + // 12 + "extractAnimatedNodeOffset", + // 13 + "connectAnimatedNodeToView", + // 14 + "disconnectAnimatedNodeFromView", + // 15 + "restoreDefaultValues", + // 16 + "dropAnimatedNode", + // 17 + "addAnimatedEventToView", + // 18 + "removeAnimatedEventFromView", + // 19 + "addListener", + // 20 + "removeListener" + // 21 + ]; + return apis.reduce((acc, functionName, i) => { + acc[functionName] = i + 1; + return acc; + }, {}); + }() : NativeAnimatedModule; + var API = { + getValue: /* @__PURE__ */ __name(function getValue(tag, saveValueCallback) { + (0, _invariant.default)(nativeOps, "Native animated module is not available"); + if (useSingleOpBatching) { + if (saveValueCallback) { + eventListenerGetValueCallbacks[tag] = saveValueCallback; + } + API.queueOperation(nativeOps.getValue, tag); + } else { + API.queueOperation(nativeOps.getValue, tag, saveValueCallback); + } + }, "getValue"), + setWaitingForIdentifier: /* @__PURE__ */ __name(function setWaitingForIdentifier(id) { + waitingForQueuedOperations.add(id); + queueOperations = true; + if (_ReactNativeFeatureFlags.default.animatedShouldDebounceQueueFlush() && flushQueueTimeout) { + clearTimeout(flushQueueTimeout); + } + }, "setWaitingForIdentifier"), + unsetWaitingForIdentifier: /* @__PURE__ */ __name(function unsetWaitingForIdentifier(id) { + waitingForQueuedOperations.delete(id); + if (waitingForQueuedOperations.size === 0) { + queueOperations = false; + API.disableQueue(); + } + }, "unsetWaitingForIdentifier"), + disableQueue: /* @__PURE__ */ __name(function disableQueue() { + (0, _invariant.default)(nativeOps, "Native animated module is not available"); + if (_ReactNativeFeatureFlags.default.animatedShouldDebounceQueueFlush()) { + var prevTimeout = flushQueueTimeout; + clearImmediate(prevTimeout); + flushQueueTimeout = setImmediate(API.flushQueue); + } else { + API.flushQueue(); + } + }, "disableQueue"), + flushQueue: /* @__PURE__ */ __name(function flushQueue() { + }, "flushQueue"), + queueOperation: /* @__PURE__ */ __name(function queueOperation(fn) { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + if (useSingleOpBatching) { + singleOpQueue.push(fn, ...args); + return; + } + if (queueOperations || queue.length !== 0) { + queue.push(() => fn(...args)); + } else { + fn(...args); + } + }, "queueOperation"), + createAnimatedNode: /* @__PURE__ */ __name(function createAnimatedNode(tag, config) { + (0, _invariant.default)(nativeOps, "Native animated module is not available"); + API.queueOperation(nativeOps.createAnimatedNode, tag, config); + }, "createAnimatedNode"), + updateAnimatedNodeConfig: /* @__PURE__ */ __name(function updateAnimatedNodeConfig(tag, config) { + (0, _invariant.default)(nativeOps, "Native animated module is not available"); + }, "updateAnimatedNodeConfig"), + startListeningToAnimatedNodeValue: /* @__PURE__ */ __name(function startListeningToAnimatedNodeValue(tag) { + (0, _invariant.default)(nativeOps, "Native animated module is not available"); + API.queueOperation(nativeOps.startListeningToAnimatedNodeValue, tag); + }, "startListeningToAnimatedNodeValue"), + stopListeningToAnimatedNodeValue: /* @__PURE__ */ __name(function stopListeningToAnimatedNodeValue(tag) { + (0, _invariant.default)(nativeOps, "Native animated module is not available"); + API.queueOperation(nativeOps.stopListeningToAnimatedNodeValue, tag); + }, "stopListeningToAnimatedNodeValue"), + connectAnimatedNodes: /* @__PURE__ */ __name(function connectAnimatedNodes(parentTag, childTag) { + (0, _invariant.default)(nativeOps, "Native animated module is not available"); + API.queueOperation(nativeOps.connectAnimatedNodes, parentTag, childTag); + }, "connectAnimatedNodes"), + disconnectAnimatedNodes: /* @__PURE__ */ __name(function disconnectAnimatedNodes(parentTag, childTag) { + (0, _invariant.default)(nativeOps, "Native animated module is not available"); + API.queueOperation(nativeOps.disconnectAnimatedNodes, parentTag, childTag); + }, "disconnectAnimatedNodes"), + startAnimatingNode: /* @__PURE__ */ __name(function startAnimatingNode(animationId, nodeTag, config, endCallback) { + (0, _invariant.default)(nativeOps, "Native animated module is not available"); + if (useSingleOpBatching) { + if (endCallback) { + eventListenerAnimationFinishedCallbacks[animationId] = endCallback; + } + API.queueOperation(nativeOps.startAnimatingNode, animationId, nodeTag, config); + } else { + API.queueOperation(nativeOps.startAnimatingNode, animationId, nodeTag, config, endCallback); + } + }, "startAnimatingNode"), + stopAnimation: /* @__PURE__ */ __name(function stopAnimation(animationId) { + (0, _invariant.default)(nativeOps, "Native animated module is not available"); + API.queueOperation(nativeOps.stopAnimation, animationId); + }, "stopAnimation"), + setAnimatedNodeValue: /* @__PURE__ */ __name(function setAnimatedNodeValue(nodeTag, value) { + (0, _invariant.default)(nativeOps, "Native animated module is not available"); + API.queueOperation(nativeOps.setAnimatedNodeValue, nodeTag, value); + }, "setAnimatedNodeValue"), + setAnimatedNodeOffset: /* @__PURE__ */ __name(function setAnimatedNodeOffset(nodeTag, offset4) { + (0, _invariant.default)(nativeOps, "Native animated module is not available"); + API.queueOperation(nativeOps.setAnimatedNodeOffset, nodeTag, offset4); + }, "setAnimatedNodeOffset"), + flattenAnimatedNodeOffset: /* @__PURE__ */ __name(function flattenAnimatedNodeOffset(nodeTag) { + (0, _invariant.default)(nativeOps, "Native animated module is not available"); + API.queueOperation(nativeOps.flattenAnimatedNodeOffset, nodeTag); + }, "flattenAnimatedNodeOffset"), + extractAnimatedNodeOffset: /* @__PURE__ */ __name(function extractAnimatedNodeOffset(nodeTag) { + (0, _invariant.default)(nativeOps, "Native animated module is not available"); + API.queueOperation(nativeOps.extractAnimatedNodeOffset, nodeTag); + }, "extractAnimatedNodeOffset"), + connectAnimatedNodeToView: /* @__PURE__ */ __name(function connectAnimatedNodeToView(nodeTag, viewTag) { + (0, _invariant.default)(nativeOps, "Native animated module is not available"); + API.queueOperation(nativeOps.connectAnimatedNodeToView, nodeTag, viewTag); + }, "connectAnimatedNodeToView"), + disconnectAnimatedNodeFromView: /* @__PURE__ */ __name(function disconnectAnimatedNodeFromView(nodeTag, viewTag) { + (0, _invariant.default)(nativeOps, "Native animated module is not available"); + API.queueOperation(nativeOps.disconnectAnimatedNodeFromView, nodeTag, viewTag); + }, "disconnectAnimatedNodeFromView"), + restoreDefaultValues: /* @__PURE__ */ __name(function restoreDefaultValues(nodeTag) { + (0, _invariant.default)(nativeOps, "Native animated module is not available"); + if (nativeOps.restoreDefaultValues != null) { + API.queueOperation(nativeOps.restoreDefaultValues, nodeTag); + } + }, "restoreDefaultValues"), + dropAnimatedNode: /* @__PURE__ */ __name(function dropAnimatedNode(tag) { + (0, _invariant.default)(nativeOps, "Native animated module is not available"); + API.queueOperation(nativeOps.dropAnimatedNode, tag); + }, "dropAnimatedNode"), + addAnimatedEventToView: /* @__PURE__ */ __name(function addAnimatedEventToView(viewTag, eventName, eventMapping) { + (0, _invariant.default)(nativeOps, "Native animated module is not available"); + API.queueOperation(nativeOps.addAnimatedEventToView, viewTag, eventName, eventMapping); + }, "addAnimatedEventToView"), + removeAnimatedEventFromView(viewTag, eventName, animatedNodeTag) { + (0, _invariant.default)(nativeOps, "Native animated module is not available"); + API.queueOperation(nativeOps.removeAnimatedEventFromView, viewTag, eventName, animatedNodeTag); + } + }; + exports2.API = API; + var SUPPORTED_COLOR_STYLES = { + backgroundColor: true, + borderBottomColor: true, + borderColor: true, + borderEndColor: true, + borderLeftColor: true, + borderRightColor: true, + borderStartColor: true, + borderTopColor: true, + color: true, + tintColor: true + }; + var SUPPORTED_STYLES = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, SUPPORTED_COLOR_STYLES), {}, { + borderBottomEndRadius: true, + borderBottomLeftRadius: true, + borderBottomRightRadius: true, + borderBottomStartRadius: true, + borderRadius: true, + borderTopEndRadius: true, + borderTopLeftRadius: true, + borderTopRightRadius: true, + borderTopStartRadius: true, + elevation: true, + opacity: true, + transform: true, + zIndex: true, + /* ios styles */ + shadowOpacity: true, + shadowRadius: true, + /* legacy android transform properties */ + scaleX: true, + scaleY: true, + translateX: true, + translateY: true + }); + var SUPPORTED_TRANSFORMS = { + translateX: true, + translateY: true, + scale: true, + scaleX: true, + scaleY: true, + rotate: true, + rotateX: true, + rotateY: true, + rotateZ: true, + perspective: true + }; + var SUPPORTED_INTERPOLATION_PARAMS = { + inputRange: true, + outputRange: true, + extrapolate: true, + extrapolateRight: true, + extrapolateLeft: true + }; + function addWhitelistedStyleProp(prop) { + SUPPORTED_STYLES[prop] = true; + } + __name(addWhitelistedStyleProp, "addWhitelistedStyleProp"); + function addWhitelistedTransformProp(prop) { + SUPPORTED_TRANSFORMS[prop] = true; + } + __name(addWhitelistedTransformProp, "addWhitelistedTransformProp"); + function addWhitelistedInterpolationParam(param) { + SUPPORTED_INTERPOLATION_PARAMS[param] = true; + } + __name(addWhitelistedInterpolationParam, "addWhitelistedInterpolationParam"); + function isSupportedColorStyleProp(prop) { + return SUPPORTED_COLOR_STYLES.hasOwnProperty(prop); + } + __name(isSupportedColorStyleProp, "isSupportedColorStyleProp"); + function isSupportedStyleProp(prop) { + return SUPPORTED_STYLES.hasOwnProperty(prop); + } + __name(isSupportedStyleProp, "isSupportedStyleProp"); + function isSupportedTransformProp(prop) { + return SUPPORTED_TRANSFORMS.hasOwnProperty(prop); + } + __name(isSupportedTransformProp, "isSupportedTransformProp"); + function isSupportedInterpolationParam(param) { + return SUPPORTED_INTERPOLATION_PARAMS.hasOwnProperty(param); + } + __name(isSupportedInterpolationParam, "isSupportedInterpolationParam"); + function validateTransform(configs) { + configs.forEach((config) => { + if (!isSupportedTransformProp(config.property)) { + throw new Error("Property '" + config.property + "' is not supported by native animated module"); + } + }); + } + __name(validateTransform, "validateTransform"); + function validateStyles(styles) { + for (var _key2 in styles) { + if (!isSupportedStyleProp(_key2)) { + throw new Error("Style property '" + _key2 + "' is not supported by native animated module"); + } + } + } + __name(validateStyles, "validateStyles"); + function validateInterpolation(config) { + for (var _key3 in config) { + if (!isSupportedInterpolationParam(_key3)) { + throw new Error("Interpolation property '" + _key3 + "' is not supported by native animated module"); + } + } + } + __name(validateInterpolation, "validateInterpolation"); + function generateNewNodeTag() { + return __nativeAnimatedNodeTagCount++; + } + __name(generateNewNodeTag, "generateNewNodeTag"); + function generateNewAnimationId() { + return __nativeAnimationIdCount++; + } + __name(generateNewAnimationId, "generateNewAnimationId"); + function assertNativeAnimatedModule() { + (0, _invariant.default)(NativeAnimatedModule, "Native animated module is not available"); + } + __name(assertNativeAnimatedModule, "assertNativeAnimatedModule"); + var _warnedMissingNativeAnimated = false; + function shouldUseNativeDriver(config) { + if (config.useNativeDriver == null) { + console.warn("Animated: `useNativeDriver` was not specified. This is a required option and must be explicitly set to `true` or `false`"); + } + if (config.useNativeDriver === true && !NativeAnimatedModule) { + if (!_warnedMissingNativeAnimated) { + console.warn("Animated: `useNativeDriver` is not supported because the native animated module is missing. Falling back to JS-based animation. To resolve this, add `RCTAnimation` module to this app, or remove `useNativeDriver`. Make sure to run `bundle exec pod install` first. Read more about autolinking: https://github.com/react-native-community/cli/blob/master/docs/autolinking.md"); + _warnedMissingNativeAnimated = true; + } + return false; + } + return config.useNativeDriver || false; + } + __name(shouldUseNativeDriver, "shouldUseNativeDriver"); + function transformDataType(value) { + if (typeof value !== "string") { + return value; + } + if (/deg$/.test(value)) { + var degrees = parseFloat(value) || 0; + var radians = degrees * Math.PI / 180; + return radians; + } else { + return value; + } + } + __name(transformDataType, "transformDataType"); + var _default = { + API, + isSupportedColorStyleProp, + isSupportedStyleProp, + isSupportedTransformProp, + isSupportedInterpolationParam, + addWhitelistedStyleProp, + addWhitelistedTransformProp, + addWhitelistedInterpolationParam, + validateStyles, + validateTransform, + validateInterpolation, + generateNewNodeTag, + generateNewAnimationId, + assertNativeAnimatedModule, + shouldUseNativeDriver, + transformDataType, + // $FlowExpectedError[unsafe-getters-setters] - unsafe getter lint suppresion + // $FlowExpectedError[missing-type-arg] - unsafe getter lint suppresion + get nativeEventEmitter() { + if (!nativeEventEmitter) { + nativeEventEmitter = new _NativeEventEmitter.default( + // T88715063: NativeEventEmitter only used this parameter on iOS. Now it uses it on all platforms, so this code was modified automatically to preserve its behavior + // If you want to use the native module on other platforms, please remove this condition and test its behavior + _Platform.default.OS !== "ios" ? null : NativeAnimatedModule + ); + } + return nativeEventEmitter; + } + }; + exports2.default = _default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/nodes/AnimatedNode.js +var require_AnimatedNode = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/nodes/AnimatedNode.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _NativeAnimatedHelper = _interopRequireDefault(require_NativeAnimatedHelper()); + var _invariant = _interopRequireDefault(require_invariant()); + var NativeAnimatedAPI = _NativeAnimatedHelper.default.API; + var _uniqueId = 1; + var _AnimatedNode = class _AnimatedNode { + __attach() { + } + __detach() { + if (this.__isNative && this.__nativeTag != null) { + _NativeAnimatedHelper.default.API.dropAnimatedNode(this.__nativeTag); + this.__nativeTag = void 0; + } + } + __getValue() { + } + __getAnimatedValue() { + return this.__getValue(); + } + __addChild(child) { + } + __removeChild(child) { + } + __getChildren() { + return []; + } + /* Methods and props used by native Animated impl */ + constructor() { + this._listeners = {}; + } + __makeNative(platformConfig) { + if (!this.__isNative) { + throw new Error('This node cannot be made a "native" animated node'); + } + this._platformConfig = platformConfig; + if (this.hasListeners()) { + this._startListeningToNativeValueUpdates(); + } + } + /** + * Adds an asynchronous listener to the value so you can observe updates from + * animations. This is useful because there is no way to + * synchronously read the value because it might be driven natively. + * + * See https://reactnative.dev/docs/animatedvalue#addlistener + */ + addListener(callback) { + var id = String(_uniqueId++); + this._listeners[id] = callback; + if (this.__isNative) { + this._startListeningToNativeValueUpdates(); + } + return id; + } + /** + * Unregister a listener. The `id` param shall match the identifier + * previously returned by `addListener()`. + * + * See https://reactnative.dev/docs/animatedvalue#removelistener + */ + removeListener(id) { + delete this._listeners[id]; + if (this.__isNative && !this.hasListeners()) { + this._stopListeningForNativeValueUpdates(); + } + } + /** + * Remove all registered listeners. + * + * See https://reactnative.dev/docs/animatedvalue#removealllisteners + */ + removeAllListeners() { + this._listeners = {}; + if (this.__isNative) { + this._stopListeningForNativeValueUpdates(); + } + } + hasListeners() { + return !!Object.keys(this._listeners).length; + } + _startListeningToNativeValueUpdates() { + if (this.__nativeAnimatedValueListener && !this.__shouldUpdateListenersForNewNativeTag) { + return; + } + if (this.__shouldUpdateListenersForNewNativeTag) { + this.__shouldUpdateListenersForNewNativeTag = false; + this._stopListeningForNativeValueUpdates(); + } + NativeAnimatedAPI.startListeningToAnimatedNodeValue(this.__getNativeTag()); + this.__nativeAnimatedValueListener = _NativeAnimatedHelper.default.nativeEventEmitter.addListener("onAnimatedValueUpdate", (data) => { + if (data.tag !== this.__getNativeTag()) { + return; + } + this.__onAnimatedValueUpdateReceived(data.value); + }); + } + __onAnimatedValueUpdateReceived(value) { + this.__callListeners(value); + } + __callListeners(value) { + for (var _key in this._listeners) { + this._listeners[_key]({ + value + }); + } + } + _stopListeningForNativeValueUpdates() { + if (!this.__nativeAnimatedValueListener) { + return; + } + this.__nativeAnimatedValueListener.remove(); + this.__nativeAnimatedValueListener = null; + NativeAnimatedAPI.stopListeningToAnimatedNodeValue(this.__getNativeTag()); + } + __getNativeTag() { + var _this$__nativeTag; + _NativeAnimatedHelper.default.assertNativeAnimatedModule(); + (0, _invariant.default)(this.__isNative, 'Attempt to get native tag from node not marked as "native"'); + var nativeTag = (_this$__nativeTag = this.__nativeTag) !== null && _this$__nativeTag !== void 0 ? _this$__nativeTag : _NativeAnimatedHelper.default.generateNewNodeTag(); + if (this.__nativeTag == null) { + this.__nativeTag = nativeTag; + var config = this.__getNativeConfig(); + if (this._platformConfig) { + config.platformConfig = this._platformConfig; + } + _NativeAnimatedHelper.default.API.createAnimatedNode(nativeTag, config); + this.__shouldUpdateListenersForNewNativeTag = true; + } + return nativeTag; + } + __getNativeConfig() { + throw new Error("This JS animated node type cannot be used as native animated node"); + } + toJSON() { + return this.__getValue(); + } + __getPlatformConfig() { + return this._platformConfig; + } + __setPlatformConfig(platformConfig) { + this._platformConfig = platformConfig; + } + }; + __name(_AnimatedNode, "AnimatedNode"); + var AnimatedNode = _AnimatedNode; + var _default = AnimatedNode; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/nodes/AnimatedWithChildren.js +var require_AnimatedWithChildren = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/nodes/AnimatedWithChildren.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _createForOfIteratorHelperLoose2 = _interopRequireDefault(require_createForOfIteratorHelperLoose()); + var _AnimatedNode = _interopRequireDefault(require_AnimatedNode()); + var _NativeAnimatedHelper = _interopRequireDefault(require_NativeAnimatedHelper()); + var _AnimatedWithChildren = class _AnimatedWithChildren extends _AnimatedNode.default { + constructor() { + super(); + this._children = []; + } + __makeNative(platformConfig) { + if (!this.__isNative) { + this.__isNative = true; + for (var _iterator = (0, _createForOfIteratorHelperLoose2.default)(this._children), _step; !(_step = _iterator()).done; ) { + var child = _step.value; + child.__makeNative(platformConfig); + _NativeAnimatedHelper.default.API.connectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag()); + } + } + super.__makeNative(platformConfig); + } + __addChild(child) { + if (this._children.length === 0) { + this.__attach(); + } + this._children.push(child); + if (this.__isNative) { + child.__makeNative(this.__getPlatformConfig()); + _NativeAnimatedHelper.default.API.connectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag()); + } + } + __removeChild(child) { + var index3 = this._children.indexOf(child); + if (index3 === -1) { + console.warn("Trying to remove a child that doesn't exist"); + return; + } + if (this.__isNative && child.__isNative) { + _NativeAnimatedHelper.default.API.disconnectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag()); + } + this._children.splice(index3, 1); + if (this._children.length === 0) { + this.__detach(); + } + } + __getChildren() { + return this._children; + } + __callListeners(value) { + super.__callListeners(value); + if (!this.__isNative) { + for (var _iterator2 = (0, _createForOfIteratorHelperLoose2.default)(this._children), _step2; !(_step2 = _iterator2()).done; ) { + var child = _step2.value; + if (child.__getValue) { + child.__callListeners(child.__getValue()); + } + } + } + } + }; + __name(_AnimatedWithChildren, "AnimatedWithChildren"); + var AnimatedWithChildren = _AnimatedWithChildren; + var _default = AnimatedWithChildren; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/nodes/AnimatedInterpolation.js +var require_AnimatedInterpolation = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/nodes/AnimatedInterpolation.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _objectSpread2 = _interopRequireDefault(require_objectSpread2()); + var _AnimatedWithChildren = _interopRequireDefault(require_AnimatedWithChildren()); + var _NativeAnimatedHelper = _interopRequireDefault(require_NativeAnimatedHelper()); + var _invariant = _interopRequireDefault(require_invariant()); + var _normalizeColors = _interopRequireDefault(require_normalize_colors()); + var __DEV__ = process.env.NODE_ENV !== "production"; + var linear = /* @__PURE__ */ __name((t) => t, "linear"); + function createInterpolation(config) { + if (config.outputRange && typeof config.outputRange[0] === "string") { + return createInterpolationFromStringOutputRange(config); + } + var outputRange = config.outputRange; + var inputRange = config.inputRange; + if (__DEV__) { + checkInfiniteRange("outputRange", outputRange); + checkInfiniteRange("inputRange", inputRange); + checkValidInputRange(inputRange); + (0, _invariant.default)(inputRange.length === outputRange.length, "inputRange (" + inputRange.length + ") and outputRange (" + outputRange.length + ") must have the same length"); + } + var easing = config.easing || linear; + var extrapolateLeft = "extend"; + if (config.extrapolateLeft !== void 0) { + extrapolateLeft = config.extrapolateLeft; + } else if (config.extrapolate !== void 0) { + extrapolateLeft = config.extrapolate; + } + var extrapolateRight = "extend"; + if (config.extrapolateRight !== void 0) { + extrapolateRight = config.extrapolateRight; + } else if (config.extrapolate !== void 0) { + extrapolateRight = config.extrapolate; + } + return (input) => { + (0, _invariant.default)(typeof input === "number", "Cannot interpolation an input which is not a number"); + var range = findRange(input, inputRange); + return interpolate(input, inputRange[range], inputRange[range + 1], outputRange[range], outputRange[range + 1], easing, extrapolateLeft, extrapolateRight); + }; + } + __name(createInterpolation, "createInterpolation"); + function interpolate(input, inputMin, inputMax, outputMin, outputMax, easing, extrapolateLeft, extrapolateRight) { + var result = input; + if (result < inputMin) { + if (extrapolateLeft === "identity") { + return result; + } else if (extrapolateLeft === "clamp") { + result = inputMin; + } else if (extrapolateLeft === "extend") { + } + } + if (result > inputMax) { + if (extrapolateRight === "identity") { + return result; + } else if (extrapolateRight === "clamp") { + result = inputMax; + } else if (extrapolateRight === "extend") { + } + } + if (outputMin === outputMax) { + return outputMin; + } + if (inputMin === inputMax) { + if (input <= inputMin) { + return outputMin; + } + return outputMax; + } + if (inputMin === -Infinity) { + result = -result; + } else if (inputMax === Infinity) { + result = result - inputMin; + } else { + result = (result - inputMin) / (inputMax - inputMin); + } + result = easing(result); + if (outputMin === -Infinity) { + result = -result; + } else if (outputMax === Infinity) { + result = result + outputMin; + } else { + result = result * (outputMax - outputMin) + outputMin; + } + return result; + } + __name(interpolate, "interpolate"); + function colorToRgba(input) { + var normalizedColor = (0, _normalizeColors.default)(input); + if (normalizedColor === null || typeof normalizedColor !== "number") { + return input; + } + normalizedColor = normalizedColor || 0; + var r = (normalizedColor & 4278190080) >>> 24; + var g = (normalizedColor & 16711680) >>> 16; + var b = (normalizedColor & 65280) >>> 8; + var a = (normalizedColor & 255) / 255; + return "rgba(" + r + ", " + g + ", " + b + ", " + a + ")"; + } + __name(colorToRgba, "colorToRgba"); + var stringShapeRegex = /[+-]?(?:\d+\.?\d*|\.\d+)(?:[eE][+-]?\d+)?/g; + function createInterpolationFromStringOutputRange(config) { + var outputRange = config.outputRange; + (0, _invariant.default)(outputRange.length >= 2, "Bad output range"); + outputRange = outputRange.map(colorToRgba); + checkPattern(outputRange); + var outputRanges = outputRange[0].match(stringShapeRegex).map(() => []); + outputRange.forEach((value) => { + value.match(stringShapeRegex).forEach((number, i) => { + outputRanges[i].push(+number); + }); + }); + var interpolations = outputRange[0].match(stringShapeRegex).map((value, i) => { + return createInterpolation((0, _objectSpread2.default)((0, _objectSpread2.default)({}, config), {}, { + outputRange: outputRanges[i] + })); + }); + var shouldRound = isRgbOrRgba(outputRange[0]); + return (input) => { + var i = 0; + return outputRange[0].replace(stringShapeRegex, () => { + var val = +interpolations[i++](input); + if (shouldRound) { + val = i < 4 ? Math.round(val) : Math.round(val * 1e3) / 1e3; + } + return String(val); + }); + }; + } + __name(createInterpolationFromStringOutputRange, "createInterpolationFromStringOutputRange"); + function isRgbOrRgba(range) { + return typeof range === "string" && range.startsWith("rgb"); + } + __name(isRgbOrRgba, "isRgbOrRgba"); + function checkPattern(arr) { + var pattern = arr[0].replace(stringShapeRegex, ""); + for (var i = 1; i < arr.length; ++i) { + (0, _invariant.default)(pattern === arr[i].replace(stringShapeRegex, ""), "invalid pattern " + arr[0] + " and " + arr[i]); + } + } + __name(checkPattern, "checkPattern"); + function findRange(input, inputRange) { + var i; + for (i = 1; i < inputRange.length - 1; ++i) { + if (inputRange[i] >= input) { + break; + } + } + return i - 1; + } + __name(findRange, "findRange"); + function checkValidInputRange(arr) { + (0, _invariant.default)(arr.length >= 2, "inputRange must have at least 2 elements"); + var message = "inputRange must be monotonically non-decreasing " + String(arr); + for (var i = 1; i < arr.length; ++i) { + (0, _invariant.default)(arr[i] >= arr[i - 1], message); + } + } + __name(checkValidInputRange, "checkValidInputRange"); + function checkInfiniteRange(name, arr) { + (0, _invariant.default)(arr.length >= 2, name + " must have at least 2 elements"); + (0, _invariant.default)( + arr.length !== 2 || arr[0] !== -Infinity || arr[1] !== Infinity, + /* $FlowFixMe[incompatible-type] (>=0.13.0) - In the addition expression + * below this comment, one or both of the operands may be something that + * doesn't cleanly convert to a string, like undefined, null, and object, + * etc. If you really mean this implicit string conversion, you can do + * something like String(myThing) */ + name + "cannot be ]-infinity;+infinity[ " + arr + ); + } + __name(checkInfiniteRange, "checkInfiniteRange"); + var _AnimatedInterpolation = class _AnimatedInterpolation extends _AnimatedWithChildren.default { + // Export for testing. + constructor(parent, config) { + super(); + this._parent = parent; + this._config = config; + this._interpolation = createInterpolation(config); + } + __makeNative(platformConfig) { + this._parent.__makeNative(platformConfig); + super.__makeNative(platformConfig); + } + __getValue() { + var parentValue = this._parent.__getValue(); + (0, _invariant.default)(typeof parentValue === "number", "Cannot interpolate an input which is not a number."); + return this._interpolation(parentValue); + } + interpolate(config) { + return new _AnimatedInterpolation(this, config); + } + __attach() { + this._parent.__addChild(this); + } + __detach() { + this._parent.__removeChild(this); + super.__detach(); + } + __transformDataType(range) { + return range.map(_NativeAnimatedHelper.default.transformDataType); + } + __getNativeConfig() { + if (__DEV__) { + _NativeAnimatedHelper.default.validateInterpolation(this._config); + } + return { + inputRange: this._config.inputRange, + // Only the `outputRange` can contain strings so we don't need to transform `inputRange` here + outputRange: this.__transformDataType(this._config.outputRange), + extrapolateLeft: this._config.extrapolateLeft || this._config.extrapolate || "extend", + extrapolateRight: this._config.extrapolateRight || this._config.extrapolate || "extend", + type: "interpolation" + }; + } + }; + __name(_AnimatedInterpolation, "AnimatedInterpolation"); + var AnimatedInterpolation = _AnimatedInterpolation; + AnimatedInterpolation.__createInterpolation = createInterpolation; + var _default = AnimatedInterpolation; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/nodes/AnimatedValue.js +var require_AnimatedValue = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/nodes/AnimatedValue.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _AnimatedInterpolation = _interopRequireDefault(require_AnimatedInterpolation()); + var _AnimatedWithChildren = _interopRequireDefault(require_AnimatedWithChildren()); + var _InteractionManager = _interopRequireDefault(require_InteractionManager()); + var _NativeAnimatedHelper = _interopRequireDefault(require_NativeAnimatedHelper()); + var NativeAnimatedAPI = _NativeAnimatedHelper.default.API; + function _flush(rootNode) { + var animatedStyles = /* @__PURE__ */ new Set(); + function findAnimatedStyles(node) { + if (typeof node.update === "function") { + animatedStyles.add(node); + } else { + node.__getChildren().forEach(findAnimatedStyles); + } + } + __name(findAnimatedStyles, "findAnimatedStyles"); + findAnimatedStyles(rootNode); + animatedStyles.forEach((animatedStyle) => animatedStyle.update()); + } + __name(_flush, "_flush"); + function _executeAsAnimatedBatch(id, operation) { + NativeAnimatedAPI.setWaitingForIdentifier(id); + operation(); + NativeAnimatedAPI.unsetWaitingForIdentifier(id); + } + __name(_executeAsAnimatedBatch, "_executeAsAnimatedBatch"); + var _AnimatedValue = class _AnimatedValue extends _AnimatedWithChildren.default { + constructor(value, config) { + super(); + if (typeof value !== "number") { + throw new Error("AnimatedValue: Attempting to set value to undefined"); + } + this._startingValue = this._value = value; + this._offset = 0; + this._animation = null; + if (config && config.useNativeDriver) { + this.__makeNative(); + } + } + __detach() { + if (this.__isNative) { + NativeAnimatedAPI.getValue(this.__getNativeTag(), (value) => { + this._value = value - this._offset; + }); + } + this.stopAnimation(); + super.__detach(); + } + __getValue() { + return this._value + this._offset; + } + /** + * Directly set the value. This will stop any animations running on the value + * and update all the bound properties. + * + * See https://reactnative.dev/docs/animatedvalue#setvalue + */ + setValue(value) { + if (this._animation) { + this._animation.stop(); + this._animation = null; + } + this._updateValue( + value, + !this.__isNative + /* don't perform a flush for natively driven values */ + ); + if (this.__isNative) { + _executeAsAnimatedBatch(this.__getNativeTag().toString(), () => NativeAnimatedAPI.setAnimatedNodeValue(this.__getNativeTag(), value)); + } + } + /** + * Sets an offset that is applied on top of whatever value is set, whether via + * `setValue`, an animation, or `Animated.event`. Useful for compensating + * things like the start of a pan gesture. + * + * See https://reactnative.dev/docs/animatedvalue#setoffset + */ + setOffset(offset4) { + this._offset = offset4; + if (this.__isNative) { + NativeAnimatedAPI.setAnimatedNodeOffset(this.__getNativeTag(), offset4); + } + } + /** + * Merges the offset value into the base value and resets the offset to zero. + * The final output of the value is unchanged. + * + * See https://reactnative.dev/docs/animatedvalue#flattenoffset + */ + flattenOffset() { + this._value += this._offset; + this._offset = 0; + if (this.__isNative) { + NativeAnimatedAPI.flattenAnimatedNodeOffset(this.__getNativeTag()); + } + } + /** + * Sets the offset value to the base value, and resets the base value to zero. + * The final output of the value is unchanged. + * + * See https://reactnative.dev/docs/animatedvalue#extractoffset + */ + extractOffset() { + this._offset += this._value; + this._value = 0; + if (this.__isNative) { + NativeAnimatedAPI.extractAnimatedNodeOffset(this.__getNativeTag()); + } + } + /** + * Stops any running animation or tracking. `callback` is invoked with the + * final value after stopping the animation, which is useful for updating + * state to match the animation position with layout. + * + * See https://reactnative.dev/docs/animatedvalue#stopanimation + */ + stopAnimation(callback) { + this.stopTracking(); + this._animation && this._animation.stop(); + this._animation = null; + if (callback) { + if (this.__isNative) { + NativeAnimatedAPI.getValue(this.__getNativeTag(), callback); + } else { + callback(this.__getValue()); + } + } + } + /** + * Stops any animation and resets the value to its original. + * + * See https://reactnative.dev/docs/animatedvalue#resetanimation + */ + resetAnimation(callback) { + this.stopAnimation(callback); + this._value = this._startingValue; + if (this.__isNative) { + NativeAnimatedAPI.setAnimatedNodeValue(this.__getNativeTag(), this._startingValue); + } + } + __onAnimatedValueUpdateReceived(value) { + this._updateValue( + value, + false + /*flush*/ + ); + } + /** + * Interpolates the value before updating the property, e.g. mapping 0-1 to + * 0-10. + */ + interpolate(config) { + return new _AnimatedInterpolation.default(this, config); + } + /** + * Typically only used internally, but could be used by a custom Animation + * class. + * + * See https://reactnative.dev/docs/animatedvalue#animate + */ + animate(animation, callback) { + var handle = null; + if (animation.__isInteraction) { + handle = _InteractionManager.default.createInteractionHandle(); + } + var previousAnimation = this._animation; + this._animation && this._animation.stop(); + this._animation = animation; + animation.start(this._value, (value) => { + this._updateValue( + value, + true + /* flush */ + ); + }, (result) => { + this._animation = null; + if (handle !== null) { + _InteractionManager.default.clearInteractionHandle(handle); + } + callback && callback(result); + }, previousAnimation, this); + } + /** + * Typically only used internally. + */ + stopTracking() { + this._tracking && this._tracking.__detach(); + this._tracking = null; + } + /** + * Typically only used internally. + */ + track(tracking) { + this.stopTracking(); + this._tracking = tracking; + this._tracking && this._tracking.update(); + } + _updateValue(value, flush) { + if (value === void 0) { + throw new Error("AnimatedValue: Attempting to set value to undefined"); + } + this._value = value; + if (flush) { + _flush(this); + } + super.__callListeners(this.__getValue()); + } + __getNativeConfig() { + return { + type: "value", + value: this._value, + offset: this._offset + }; + } + }; + __name(_AnimatedValue, "AnimatedValue"); + var AnimatedValue = _AnimatedValue; + var _default = AnimatedValue; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/AnimatedEvent.js +var require_AnimatedEvent = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/AnimatedEvent.js"(exports2) { + "use strict"; + var _interopRequireWildcard = require_interopRequireWildcard().default; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.AnimatedEvent = void 0; + exports2.attachNativeEvent = attachNativeEvent; + var _AnimatedValue = _interopRequireDefault(require_AnimatedValue()); + var _NativeAnimatedHelper = _interopRequireWildcard(require_NativeAnimatedHelper()); + var _invariant = _interopRequireDefault(require_invariant()); + var __DEV__ = process.env.NODE_ENV !== "production"; + function attachNativeEvent(viewRef, eventName, argMapping) { + var eventMappings = []; + var traverse = /* @__PURE__ */ __name((value, path) => { + if (value instanceof _AnimatedValue.default) { + value.__makeNative(); + eventMappings.push({ + nativeEventPath: path, + animatedValueTag: value.__getNativeTag() + }); + } else if (typeof value === "object") { + for (var _key in value) { + traverse(value[_key], path.concat(_key)); + } + } + }, "traverse"); + (0, _invariant.default)(argMapping[0] && argMapping[0].nativeEvent, "Native driven events only support animated values contained inside `nativeEvent`."); + traverse(argMapping[0].nativeEvent, []); + if (viewRef != null) { + eventMappings.forEach((mapping) => { + _NativeAnimatedHelper.default.API.addAnimatedEventToView(viewRef, eventName, mapping); + }); + } + return { + detach() { + if (viewRef != null) { + eventMappings.forEach((mapping) => { + _NativeAnimatedHelper.default.API.removeAnimatedEventFromView( + viewRef, + eventName, + // $FlowFixMe[incompatible-call] + mapping.animatedValueTag + ); + }); + } + } + }; + } + __name(attachNativeEvent, "attachNativeEvent"); + function validateMapping(argMapping, args) { + var validate = /* @__PURE__ */ __name((recMapping, recEvt, key) => { + if (recMapping instanceof _AnimatedValue.default) { + (0, _invariant.default)(typeof recEvt === "number", "Bad mapping of event key " + key + ", should be number but got " + typeof recEvt); + return; + } + if (typeof recEvt === "number") { + (0, _invariant.default)(recMapping instanceof _AnimatedValue.default, "Bad mapping of type " + typeof recMapping + " for key " + key + ", event value must map to AnimatedValue"); + return; + } + (0, _invariant.default)(typeof recMapping === "object", "Bad mapping of type " + typeof recMapping + " for key " + key); + (0, _invariant.default)(typeof recEvt === "object", "Bad event of type " + typeof recEvt + " for key " + key); + for (var mappingKey in recMapping) { + validate(recMapping[mappingKey], recEvt[mappingKey], mappingKey); + } + }, "validate"); + (0, _invariant.default)(args.length >= argMapping.length, "Event has less arguments than mapping"); + argMapping.forEach((mapping, idx) => { + validate(mapping, args[idx], "arg" + idx); + }); + } + __name(validateMapping, "validateMapping"); + var _AnimatedEvent = class _AnimatedEvent { + constructor(argMapping, config) { + this._listeners = []; + this._argMapping = argMapping; + if (config == null) { + console.warn("Animated.event now requires a second argument for options"); + config = { + useNativeDriver: false + }; + } + if (config.listener) { + this.__addListener(config.listener); + } + this._callListeners = this._callListeners.bind(this); + this._attachedEvent = null; + this.__isNative = (0, _NativeAnimatedHelper.shouldUseNativeDriver)(config); + } + __addListener(callback) { + this._listeners.push(callback); + } + __removeListener(callback) { + this._listeners = this._listeners.filter((listener) => listener !== callback); + } + __attach(viewRef, eventName) { + (0, _invariant.default)(this.__isNative, "Only native driven events need to be attached."); + this._attachedEvent = attachNativeEvent(viewRef, eventName, this._argMapping); + } + __detach(viewTag, eventName) { + (0, _invariant.default)(this.__isNative, "Only native driven events need to be detached."); + this._attachedEvent && this._attachedEvent.detach(); + } + __getHandler() { + var _this = this; + if (this.__isNative) { + if (__DEV__) { + var _validatedMapping = false; + return function() { + for (var _len = arguments.length, args = new Array(_len), _key2 = 0; _key2 < _len; _key2++) { + args[_key2] = arguments[_key2]; + } + if (!_validatedMapping) { + validateMapping(_this._argMapping, args); + _validatedMapping = true; + } + _this._callListeners(...args); + }; + } else { + return this._callListeners; + } + } + var validatedMapping = false; + return function() { + for (var _len2 = arguments.length, args = new Array(_len2), _key3 = 0; _key3 < _len2; _key3++) { + args[_key3] = arguments[_key3]; + } + if (__DEV__ && !validatedMapping) { + validateMapping(_this._argMapping, args); + validatedMapping = true; + } + var traverse = /* @__PURE__ */ __name((recMapping, recEvt, key) => { + if (recMapping instanceof _AnimatedValue.default) { + if (typeof recEvt === "number") { + recMapping.setValue(recEvt); + } + } else if (typeof recMapping === "object") { + for (var mappingKey in recMapping) { + traverse(recMapping[mappingKey], recEvt[mappingKey], mappingKey); + } + } + }, "traverse"); + _this._argMapping.forEach((mapping, idx) => { + traverse(mapping, args[idx], "arg" + idx); + }); + _this._callListeners(...args); + }; + } + _callListeners() { + for (var _len3 = arguments.length, args = new Array(_len3), _key4 = 0; _key4 < _len3; _key4++) { + args[_key4] = arguments[_key4]; + } + this._listeners.forEach((listener) => listener(...args)); + } + }; + __name(_AnimatedEvent, "AnimatedEvent"); + var AnimatedEvent = _AnimatedEvent; + exports2.AnimatedEvent = AnimatedEvent; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/nodes/AnimatedTransform.js +var require_AnimatedTransform = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/nodes/AnimatedTransform.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _AnimatedNode = _interopRequireDefault(require_AnimatedNode()); + var _AnimatedWithChildren = _interopRequireDefault(require_AnimatedWithChildren()); + var _NativeAnimatedHelper = _interopRequireDefault(require_NativeAnimatedHelper()); + var _AnimatedTransform = class _AnimatedTransform extends _AnimatedWithChildren.default { + constructor(transforms) { + super(); + this._transforms = transforms; + } + __makeNative() { + this._transforms.forEach((transform) => { + for (var key in transform) { + var value = transform[key]; + if (value instanceof _AnimatedNode.default) { + value.__makeNative(); + } + } + }); + super.__makeNative(); + } + __getValue() { + return this._transforms.map((transform) => { + var result = {}; + for (var key in transform) { + var value = transform[key]; + if (value instanceof _AnimatedNode.default) { + result[key] = value.__getValue(); + } else { + result[key] = value; + } + } + return result; + }); + } + __getAnimatedValue() { + return this._transforms.map((transform) => { + var result = {}; + for (var key in transform) { + var value = transform[key]; + if (value instanceof _AnimatedNode.default) { + result[key] = value.__getAnimatedValue(); + } else { + result[key] = value; + } + } + return result; + }); + } + __attach() { + this._transforms.forEach((transform) => { + for (var key in transform) { + var value = transform[key]; + if (value instanceof _AnimatedNode.default) { + value.__addChild(this); + } + } + }); + } + __detach() { + this._transforms.forEach((transform) => { + for (var key in transform) { + var value = transform[key]; + if (value instanceof _AnimatedNode.default) { + value.__removeChild(this); + } + } + }); + super.__detach(); + } + __getNativeConfig() { + var transConfigs = []; + this._transforms.forEach((transform) => { + for (var key in transform) { + var value = transform[key]; + if (value instanceof _AnimatedNode.default) { + transConfigs.push({ + type: "animated", + property: key, + nodeTag: value.__getNativeTag() + }); + } else { + transConfigs.push({ + type: "static", + property: key, + value: _NativeAnimatedHelper.default.transformDataType(value) + }); + } + } + }); + _NativeAnimatedHelper.default.validateTransform(transConfigs); + return { + type: "transform", + transforms: transConfigs + }; + } + }; + __name(_AnimatedTransform, "AnimatedTransform"); + var AnimatedTransform = _AnimatedTransform; + var _default = AnimatedTransform; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/nodes/AnimatedStyle.js +var require_AnimatedStyle = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/nodes/AnimatedStyle.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _AnimatedNode = _interopRequireDefault(require_AnimatedNode()); + var _AnimatedTransform = _interopRequireDefault(require_AnimatedTransform()); + var _AnimatedWithChildren = _interopRequireDefault(require_AnimatedWithChildren()); + var _NativeAnimatedHelper = _interopRequireDefault(require_NativeAnimatedHelper()); + var _StyleSheet = _interopRequireDefault(require_StyleSheet()); + var flattenStyle = _StyleSheet.default.flatten; + function createAnimatedStyle(inputStyle) { + var style = flattenStyle(inputStyle); + var animatedStyles = {}; + for (var key in style) { + var value = style[key]; + if (key === "transform" && Array.isArray(value)) { + animatedStyles[key] = new _AnimatedTransform.default(value); + } else if (value instanceof _AnimatedNode.default) { + animatedStyles[key] = value; + } else if (value && !Array.isArray(value) && typeof value === "object") { + animatedStyles[key] = createAnimatedStyle(value); + } + } + return animatedStyles; + } + __name(createAnimatedStyle, "createAnimatedStyle"); + var _AnimatedStyle = class _AnimatedStyle extends _AnimatedWithChildren.default { + constructor(style) { + super(); + this._inputStyle = style; + this._style = createAnimatedStyle(style); + } + // Recursively get values for nested styles (like iOS's shadowOffset) + _walkStyleAndGetValues(style) { + var updatedStyle = {}; + for (var key in style) { + var value = style[key]; + if (value instanceof _AnimatedNode.default) { + if (!value.__isNative) { + updatedStyle[key] = value.__getValue(); + } + } else if (value && !Array.isArray(value) && typeof value === "object") { + updatedStyle[key] = this._walkStyleAndGetValues(value); + } else { + updatedStyle[key] = value; + } + } + return updatedStyle; + } + __getValue() { + return [this._inputStyle, this._walkStyleAndGetValues(this._style)]; + } + // Recursively get animated values for nested styles (like iOS's shadowOffset) + _walkStyleAndGetAnimatedValues(style) { + var updatedStyle = {}; + for (var key in style) { + var value = style[key]; + if (value instanceof _AnimatedNode.default) { + updatedStyle[key] = value.__getAnimatedValue(); + } else if (value && !Array.isArray(value) && typeof value === "object") { + updatedStyle[key] = this._walkStyleAndGetAnimatedValues(value); + } + } + return updatedStyle; + } + __getAnimatedValue() { + return this._walkStyleAndGetAnimatedValues(this._style); + } + __attach() { + for (var key in this._style) { + var value = this._style[key]; + if (value instanceof _AnimatedNode.default) { + value.__addChild(this); + } + } + } + __detach() { + for (var key in this._style) { + var value = this._style[key]; + if (value instanceof _AnimatedNode.default) { + value.__removeChild(this); + } + } + super.__detach(); + } + __makeNative() { + for (var key in this._style) { + var value = this._style[key]; + if (value instanceof _AnimatedNode.default) { + value.__makeNative(); + } + } + super.__makeNative(); + } + __getNativeConfig() { + var styleConfig = {}; + for (var styleKey in this._style) { + if (this._style[styleKey] instanceof _AnimatedNode.default) { + var style = this._style[styleKey]; + style.__makeNative(); + styleConfig[styleKey] = style.__getNativeTag(); + } + } + _NativeAnimatedHelper.default.validateStyles(styleConfig); + return { + type: "style", + style: styleConfig + }; + } + }; + __name(_AnimatedStyle, "AnimatedStyle"); + var AnimatedStyle = _AnimatedStyle; + var _default = AnimatedStyle; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/nodes/AnimatedProps.js +var require_AnimatedProps = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/nodes/AnimatedProps.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _objectSpread2 = _interopRequireDefault(require_objectSpread2()); + var _AnimatedEvent = require_AnimatedEvent(); + var _AnimatedNode = _interopRequireDefault(require_AnimatedNode()); + var _AnimatedStyle = _interopRequireDefault(require_AnimatedStyle()); + var _NativeAnimatedHelper = _interopRequireDefault(require_NativeAnimatedHelper()); + var _invariant = _interopRequireDefault(require_invariant()); + var _AnimatedProps = class _AnimatedProps extends _AnimatedNode.default { + constructor(props, callback) { + super(); + if (props.style) { + props = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, { + style: new _AnimatedStyle.default(props.style) + }); + } + this._props = props; + this._callback = callback; + this.__attach(); + } + __getValue() { + var props = {}; + for (var key in this._props) { + var value = this._props[key]; + if (value instanceof _AnimatedNode.default) { + if (!value.__isNative || value instanceof _AnimatedStyle.default) { + props[key] = value.__getValue(); + } + } else if (value instanceof _AnimatedEvent.AnimatedEvent) { + props[key] = value.__getHandler(); + } else { + props[key] = value; + } + } + return props; + } + __getAnimatedValue() { + var props = {}; + for (var key in this._props) { + var value = this._props[key]; + if (value instanceof _AnimatedNode.default) { + props[key] = value.__getAnimatedValue(); + } + } + return props; + } + __attach() { + for (var key in this._props) { + var value = this._props[key]; + if (value instanceof _AnimatedNode.default) { + value.__addChild(this); + } + } + } + __detach() { + if (this.__isNative && this._animatedView) { + this.__disconnectAnimatedView(); + } + for (var key in this._props) { + var value = this._props[key]; + if (value instanceof _AnimatedNode.default) { + value.__removeChild(this); + } + } + super.__detach(); + } + update() { + this._callback(); + } + __makeNative() { + if (!this.__isNative) { + this.__isNative = true; + for (var key in this._props) { + var value = this._props[key]; + if (value instanceof _AnimatedNode.default) { + value.__makeNative(); + } + } + if (this._animatedView) { + this.__connectAnimatedView(); + } + } + } + setNativeView(animatedView) { + if (this._animatedView === animatedView) { + return; + } + this._animatedView = animatedView; + if (this.__isNative) { + this.__connectAnimatedView(); + } + } + __connectAnimatedView() { + (0, _invariant.default)(this.__isNative, 'Expected node to be marked as "native"'); + var nativeViewTag = this._animatedView; + (0, _invariant.default)(nativeViewTag != null, "Unable to locate attached view in the native tree"); + _NativeAnimatedHelper.default.API.connectAnimatedNodeToView(this.__getNativeTag(), nativeViewTag); + } + __disconnectAnimatedView() { + (0, _invariant.default)(this.__isNative, 'Expected node to be marked as "native"'); + var nativeViewTag = this._animatedView; + (0, _invariant.default)(nativeViewTag != null, "Unable to locate attached view in the native tree"); + _NativeAnimatedHelper.default.API.disconnectAnimatedNodeFromView(this.__getNativeTag(), nativeViewTag); + } + __restoreDefaultValues() { + if (this.__isNative) { + _NativeAnimatedHelper.default.API.restoreDefaultValues(this.__getNativeTag()); + } + } + __getNativeConfig() { + var propsConfig = {}; + for (var propKey in this._props) { + var value = this._props[propKey]; + if (value instanceof _AnimatedNode.default) { + value.__makeNative(); + propsConfig[propKey] = value.__getNativeTag(); + } + } + return { + type: "props", + props: propsConfig + }; + } + }; + __name(_AnimatedProps, "AnimatedProps"); + var AnimatedProps = _AnimatedProps; + var _default = AnimatedProps; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Utilities/useRefEffect.js +var require_useRefEffect = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Utilities/useRefEffect.js"(exports2, module2) { + "use strict"; + exports2.__esModule = true; + exports2.default = useRefEffect; + var _react = require("react"); + function useRefEffect(effect) { + var cleanupRef = (0, _react.useRef)(void 0); + return (0, _react.useCallback)((instance) => { + if (cleanupRef.current) { + cleanupRef.current(); + cleanupRef.current = void 0; + } + if (instance != null) { + cleanupRef.current = effect(instance); + } + }, [effect]); + } + __name(useRefEffect, "useRefEffect"); + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/useAnimatedProps.js +var require_useAnimatedProps = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/useAnimatedProps.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = useAnimatedProps; + var _objectSpread2 = _interopRequireDefault(require_objectSpread2()); + var _AnimatedProps = _interopRequireDefault(require_AnimatedProps()); + var _AnimatedEvent = require_AnimatedEvent(); + var _useRefEffect = _interopRequireDefault(require_useRefEffect()); + var _NativeAnimatedHelper = _interopRequireDefault(require_NativeAnimatedHelper()); + var _react = require("react"); + var _useLayoutEffect = _interopRequireDefault(require_useLayoutEffect()); + function useAnimatedProps(props) { + var _useReducer = (0, _react.useReducer)((count2) => count2 + 1, 0), scheduleUpdate = _useReducer[1]; + var onUpdateRef = (0, _react.useRef)(null); + var node = (0, _react.useMemo)(() => new _AnimatedProps.default(props, () => onUpdateRef.current == null ? void 0 : onUpdateRef.current()), [props]); + useAnimatedPropsLifecycle(node); + var refEffect = (0, _react.useCallback)((instance) => { + node.setNativeView(instance); + onUpdateRef.current = () => { + scheduleUpdate(); + }; + var target = getEventTarget(instance); + var events = []; + for (var propName in props) { + var propValue = props[propName]; + if (propValue instanceof _AnimatedEvent.AnimatedEvent && propValue.__isNative) { + propValue.__attach(target, propName); + events.push([propName, propValue]); + } + } + return () => { + onUpdateRef.current = null; + for (var _i = 0, _events = events; _i < _events.length; _i++) { + var _events$_i = _events[_i], _propName = _events$_i[0], _propValue = _events$_i[1]; + _propValue.__detach(target, _propName); + } + }; + }, [props, node]); + var callbackRef = (0, _useRefEffect.default)(refEffect); + return [reduceAnimatedProps(node), callbackRef]; + } + __name(useAnimatedProps, "useAnimatedProps"); + function reduceAnimatedProps(node) { + return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, node.__getValue()), {}, { + collapsable: false + }); + } + __name(reduceAnimatedProps, "reduceAnimatedProps"); + function useAnimatedPropsLifecycle(node) { + var prevNodeRef = (0, _react.useRef)(null); + var isUnmountingRef = (0, _react.useRef)(false); + (0, _react.useEffect)(() => { + _NativeAnimatedHelper.default.API.flushQueue(); + }); + (0, _useLayoutEffect.default)(() => { + isUnmountingRef.current = false; + return () => { + isUnmountingRef.current = true; + }; + }, []); + (0, _useLayoutEffect.default)(() => { + node.__attach(); + if (prevNodeRef.current != null) { + var prevNode = prevNodeRef.current; + prevNode.__restoreDefaultValues(); + prevNode.__detach(); + prevNodeRef.current = null; + } + return () => { + if (isUnmountingRef.current) { + node.__detach(); + } else { + prevNodeRef.current = node; + } + }; + }, [node]); + } + __name(useAnimatedPropsLifecycle, "useAnimatedPropsLifecycle"); + function getEventTarget(instance) { + return typeof instance === "object" && typeof (instance == null ? void 0 : instance.getScrollableNode) === "function" ? ( + // $FlowFixMe[incompatible-use] - Legacy instance assumptions. + instance.getScrollableNode() + ) : instance; + } + __name(getEventTarget, "getEventTarget"); + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Utilities/useMergeRefs.js +var require_useMergeRefs2 = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Utilities/useMergeRefs.js"(exports2, module2) { + "use strict"; + exports2.__esModule = true; + exports2.default = useMergeRefs; + var _react = require("react"); + function useMergeRefs() { + for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) { + refs[_key] = arguments[_key]; + } + return (0, _react.useCallback)( + (current) => { + for (var _i = 0, _refs = refs; _i < _refs.length; _i++) { + var ref = _refs[_i]; + if (ref != null) { + if (typeof ref === "function") { + ref(current); + } else { + ref.current = current; + } + } + } + }, + [...refs] + // eslint-disable-line react-hooks/exhaustive-deps + ); + } + __name(useMergeRefs, "useMergeRefs"); + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/createAnimatedComponent.js +var require_createAnimatedComponent = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/createAnimatedComponent.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = createAnimatedComponent; + var _extends2 = _interopRequireDefault(require_extends()); + var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); + var _useAnimatedProps2 = _interopRequireDefault(require_useAnimatedProps()); + var _useMergeRefs = _interopRequireDefault(require_useMergeRefs2()); + var _StyleSheet = _interopRequireDefault(require_StyleSheet()); + var _View = _interopRequireDefault(require_View()); + var React44 = _interopRequireWildcard(require("react")); + var _excluded = ["style"]; + function createAnimatedComponent(Component) { + return /* @__PURE__ */ React44.forwardRef((props, forwardedRef) => { + var _useAnimatedProps = (0, _useAnimatedProps2.default)(props), reducedProps = _useAnimatedProps[0], callbackRef = _useAnimatedProps[1]; + var ref = (0, _useMergeRefs.default)(callbackRef, forwardedRef); + var passthroughAnimatedPropExplicitValues = reducedProps.passthroughAnimatedPropExplicitValues, style = reducedProps.style; + var _ref = passthroughAnimatedPropExplicitValues !== null && passthroughAnimatedPropExplicitValues !== void 0 ? passthroughAnimatedPropExplicitValues : {}, passthroughStyle = _ref.style, passthroughProps = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded); + var mergedStyle = [style, passthroughStyle]; + return /* @__PURE__ */ React44.createElement(Component, (0, _extends2.default)({}, reducedProps, passthroughProps, { + style: mergedStyle, + ref + })); + }); + } + __name(createAnimatedComponent, "createAnimatedComponent"); + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/components/AnimatedFlatList.js +var require_AnimatedFlatList = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/components/AnimatedFlatList.js"(exports2, module2) { + "use strict"; + var _interopRequireWildcard = require_interopRequireWildcard().default; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _extends2 = _interopRequireDefault(require_extends()); + var React44 = _interopRequireWildcard(require("react")); + var _FlatList = _interopRequireDefault(require_FlatList2()); + var _createAnimatedComponent = _interopRequireDefault(require_createAnimatedComponent()); + var FlatListWithEventThrottle = /* @__PURE__ */ React44.forwardRef((props, ref) => /* @__PURE__ */ React44.createElement(_FlatList.default, (0, _extends2.default)({ + scrollEventThrottle: 1e-4 + }, props, { + ref + }))); + var _default = (0, _createAnimatedComponent.default)(FlatListWithEventThrottle); + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/modules/AssetRegistry/index.js +var require_AssetRegistry = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/AssetRegistry/index.js"(exports2) { + "use strict"; + exports2.__esModule = true; + exports2.getAssetByID = getAssetByID; + exports2.registerAsset = registerAsset; + var assets = []; + function registerAsset(asset) { + return assets.push(asset); + } + __name(registerAsset, "registerAsset"); + function getAssetByID(assetId) { + return assets[assetId - 1]; + } + __name(getAssetByID, "getAssetByID"); + } +}); + +// node_modules/react-native-web/dist/cjs/modules/ImageLoader/index.js +var require_ImageLoader = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/ImageLoader/index.js"(exports2) { + "use strict"; + exports2.__esModule = true; + exports2.default = exports2.ImageUriCache = void 0; + var dataUriPattern = /^data:/; + var _ImageUriCache = class _ImageUriCache { + static has(uri) { + var entries = _ImageUriCache._entries; + var isDataUri = dataUriPattern.test(uri); + return isDataUri || Boolean(entries[uri]); + } + static add(uri) { + var entries = _ImageUriCache._entries; + var lastUsedTimestamp = Date.now(); + if (entries[uri]) { + entries[uri].lastUsedTimestamp = lastUsedTimestamp; + entries[uri].refCount += 1; + } else { + entries[uri] = { + lastUsedTimestamp, + refCount: 1 + }; + } + } + static remove(uri) { + var entries = _ImageUriCache._entries; + if (entries[uri]) { + entries[uri].refCount -= 1; + } + _ImageUriCache._cleanUpIfNeeded(); + } + static _cleanUpIfNeeded() { + var entries = _ImageUriCache._entries; + var imageUris = Object.keys(entries); + if (imageUris.length + 1 > _ImageUriCache._maximumEntries) { + var leastRecentlyUsedKey; + var leastRecentlyUsedEntry; + imageUris.forEach((uri) => { + var entry = entries[uri]; + if ((!leastRecentlyUsedEntry || entry.lastUsedTimestamp < leastRecentlyUsedEntry.lastUsedTimestamp) && entry.refCount === 0) { + leastRecentlyUsedKey = uri; + leastRecentlyUsedEntry = entry; + } + }); + if (leastRecentlyUsedKey) { + delete entries[leastRecentlyUsedKey]; + } + } + } + }; + __name(_ImageUriCache, "ImageUriCache"); + var ImageUriCache = _ImageUriCache; + exports2.ImageUriCache = ImageUriCache; + ImageUriCache._maximumEntries = 256; + ImageUriCache._entries = {}; + var id = 0; + var requests = {}; + var ImageLoader = { + abort(requestId) { + var image = requests["" + requestId]; + if (image) { + image.onerror = null; + image.onload = null; + image = null; + delete requests["" + requestId]; + } + }, + getSize(uri, success, failure) { + var complete = false; + var interval = setInterval(callback, 16); + var requestId = ImageLoader.load(uri, callback, errorCallback); + function callback() { + var image = requests["" + requestId]; + if (image) { + var naturalHeight = image.naturalHeight, naturalWidth = image.naturalWidth; + if (naturalHeight && naturalWidth) { + success(naturalWidth, naturalHeight); + complete = true; + } + } + if (complete) { + ImageLoader.abort(requestId); + clearInterval(interval); + } + } + __name(callback, "callback"); + function errorCallback() { + if (typeof failure === "function") { + failure(); + } + ImageLoader.abort(requestId); + clearInterval(interval); + } + __name(errorCallback, "errorCallback"); + }, + has(uri) { + return ImageUriCache.has(uri); + }, + load(uri, onLoad, onError) { + id += 1; + var image = new window.Image(); + image.onerror = onError; + image.onload = (e) => { + var onDecode = /* @__PURE__ */ __name(() => onLoad({ + nativeEvent: e + }), "onDecode"); + if (typeof image.decode === "function") { + image.decode().then(onDecode, onDecode); + } else { + setTimeout(onDecode, 0); + } + }; + image.src = uri; + requests["" + id] = image; + return id; + }, + prefetch(uri) { + return new Promise((resolve, reject) => { + ImageLoader.load(uri, () => { + ImageUriCache.add(uri); + ImageUriCache.remove(uri); + resolve(); + }, reject); + }); + }, + queryCache(uris) { + var result = {}; + uris.forEach((u) => { + if (ImageUriCache.has(u)) { + result[u] = "disk/memory"; + } + }); + return Promise.resolve(result); + } + }; + var _default = ImageLoader; + exports2.default = _default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/PixelRatio/index.js +var require_PixelRatio = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/PixelRatio/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _Dimensions = _interopRequireDefault(require_Dimensions()); + var _PixelRatio = class _PixelRatio { + /** + * Returns the device pixel density. + */ + static get() { + return _Dimensions.default.get("window").scale; + } + /** + * No equivalent for Web + */ + static getFontScale() { + return _Dimensions.default.get("window").fontScale || _PixelRatio.get(); + } + /** + * Converts a layout size (dp) to pixel size (px). + * Guaranteed to return an integer number. + */ + static getPixelSizeForLayoutSize(layoutSize) { + return Math.round(layoutSize * _PixelRatio.get()); + } + /** + * Rounds a layout size (dp) to the nearest layout size that corresponds to + * an integer number of pixels. For example, on a device with a PixelRatio + * of 3, `PixelRatio.roundToNearestPixel(8.4) = 8.33`, which corresponds to + * exactly (8.33 * 3) = 25 pixels. + */ + static roundToNearestPixel(layoutSize) { + var ratio = _PixelRatio.get(); + return Math.round(layoutSize * ratio) / ratio; + } + }; + __name(_PixelRatio, "PixelRatio"); + var PixelRatio = _PixelRatio; + exports2.default = PixelRatio; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/Image/index.js +var require_Image = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/Image/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = void 0; + var _objectSpread2 = _interopRequireDefault(require_objectSpread2()); + var _extends2 = _interopRequireDefault(require_extends()); + var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); + var React44 = _interopRequireWildcard(require("react")); + var _createElement = _interopRequireDefault(require_createElement()); + var _AssetRegistry = require_AssetRegistry(); + var _preprocess = require_preprocess(); + var _ImageLoader = _interopRequireDefault(require_ImageLoader()); + var _PixelRatio = _interopRequireDefault(require_PixelRatio()); + var _StyleSheet = _interopRequireDefault(require_StyleSheet()); + var _TextAncestorContext = _interopRequireDefault(require_TextAncestorContext()); + var _View = _interopRequireDefault(require_View()); + var _warnOnce = require_warnOnce(); + var _excluded = ["aria-label", "blurRadius", "defaultSource", "draggable", "onError", "onLayout", "onLoad", "onLoadEnd", "onLoadStart", "pointerEvents", "source", "style"]; + var ERRORED = "ERRORED"; + var LOADED = "LOADED"; + var LOADING = "LOADING"; + var IDLE = "IDLE"; + var _filterId = 0; + var svgDataUriPattern = /^(data:image\/svg\+xml;utf8,)(.*)/; + function createTintColorSVG(tintColor, id) { + return tintColor && id != null ? /* @__PURE__ */ React44.createElement("svg", { + style: { + position: "absolute", + height: 0, + visibility: "hidden", + width: 0 + } + }, /* @__PURE__ */ React44.createElement("defs", null, /* @__PURE__ */ React44.createElement("filter", { + id: "tint-" + id, + suppressHydrationWarning: true + }, /* @__PURE__ */ React44.createElement("feFlood", { + floodColor: "" + tintColor, + key: tintColor + }), /* @__PURE__ */ React44.createElement("feComposite", { + in2: "SourceAlpha", + operator: "atop" + })))) : null; + } + __name(createTintColorSVG, "createTintColorSVG"); + function extractNonStandardStyleProps(style, blurRadius, filterId, tintColorProp) { + var flatStyle = _StyleSheet.default.flatten(style); + var filter = flatStyle.filter, resizeMode = flatStyle.resizeMode, shadowOffset = flatStyle.shadowOffset, tintColor = flatStyle.tintColor; + if (flatStyle.resizeMode) { + (0, _warnOnce.warnOnce)("Image.style.resizeMode", "Image: style.resizeMode is deprecated. Please use props.resizeMode."); + } + if (flatStyle.tintColor) { + (0, _warnOnce.warnOnce)("Image.style.tintColor", "Image: style.tintColor is deprecated. Please use props.tintColor."); + } + var filters = []; + var _filter = null; + if (filter) { + filters.push(filter); + } + if (blurRadius) { + filters.push("blur(" + blurRadius + "px)"); + } + if (shadowOffset) { + var shadowString = (0, _preprocess.createBoxShadowValue)(flatStyle); + if (shadowString) { + filters.push("drop-shadow(" + shadowString + ")"); + } + } + if ((tintColorProp || tintColor) && filterId != null) { + filters.push("url(#tint-" + filterId + ")"); + } + if (filters.length > 0) { + _filter = filters.join(" "); + } + return [resizeMode, _filter, tintColor]; + } + __name(extractNonStandardStyleProps, "extractNonStandardStyleProps"); + function resolveAssetDimensions(source) { + if (typeof source === "number") { + var _getAssetByID = (0, _AssetRegistry.getAssetByID)(source), _height = _getAssetByID.height, _width = _getAssetByID.width; + return { + height: _height, + width: _width + }; + } else if (source != null && !Array.isArray(source) && typeof source === "object") { + var _height2 = source.height, _width2 = source.width; + return { + height: _height2, + width: _width2 + }; + } + } + __name(resolveAssetDimensions, "resolveAssetDimensions"); + function resolveAssetUri(source) { + var uri = null; + if (typeof source === "number") { + var asset = (0, _AssetRegistry.getAssetByID)(source); + if (asset == null) { + throw new Error('Image: asset with ID "' + source + '" could not be found. Please check the image source or packager.'); + } + var scale = asset.scales[0]; + if (asset.scales.length > 1) { + var preferredScale = _PixelRatio.default.get(); + scale = asset.scales.reduce((prev, curr) => Math.abs(curr - preferredScale) < Math.abs(prev - preferredScale) ? curr : prev); + } + var scaleSuffix = scale !== 1 ? "@" + scale + "x" : ""; + uri = asset ? asset.httpServerLocation + "/" + asset.name + scaleSuffix + "." + asset.type : ""; + } else if (typeof source === "string") { + uri = source; + } else if (source && typeof source.uri === "string") { + uri = source.uri; + } + if (uri) { + var match = uri.match(svgDataUriPattern); + if (match) { + var prefix = match[1], svg = match[2]; + var encodedSvg = encodeURIComponent(svg); + return "" + prefix + encodedSvg; + } + } + return uri; + } + __name(resolveAssetUri, "resolveAssetUri"); + var Image2 = /* @__PURE__ */ React44.forwardRef((props, ref) => { + var ariaLabel = props["aria-label"], blurRadius = props.blurRadius, defaultSource = props.defaultSource, draggable = props.draggable, onError = props.onError, onLayout = props.onLayout, onLoad = props.onLoad, onLoadEnd = props.onLoadEnd, onLoadStart = props.onLoadStart, pointerEvents = props.pointerEvents, source = props.source, style = props.style, rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded); + if (process.env.NODE_ENV !== "production") { + if (props.children) { + throw new Error("The component cannot contain children. If you want to render content on top of the image, consider using the component or absolute positioning."); + } + } + var _React$useState = React44.useState(() => { + var uri2 = resolveAssetUri(source); + if (uri2 != null) { + var isLoaded = _ImageLoader.default.has(uri2); + if (isLoaded) { + return LOADED; + } + } + return IDLE; + }), state = _React$useState[0], updateState = _React$useState[1]; + var _React$useState2 = React44.useState({}), layout = _React$useState2[0], updateLayout = _React$useState2[1]; + var hasTextAncestor = React44.useContext(_TextAncestorContext.default); + var hiddenImageRef = React44.useRef(null); + var filterRef = React44.useRef(_filterId++); + var requestRef = React44.useRef(null); + var shouldDisplaySource = state === LOADED || state === LOADING && defaultSource == null; + var _extractNonStandardSt = extractNonStandardStyleProps(style, blurRadius, filterRef.current, props.tintColor), _resizeMode = _extractNonStandardSt[0], filter = _extractNonStandardSt[1], _tintColor = _extractNonStandardSt[2]; + var resizeMode = props.resizeMode || _resizeMode || "cover"; + var tintColor = props.tintColor || _tintColor; + var selectedSource = shouldDisplaySource ? source : defaultSource; + var displayImageUri = resolveAssetUri(selectedSource); + var imageSizeStyle = resolveAssetDimensions(selectedSource); + var backgroundImage = displayImageUri ? 'url("' + displayImageUri + '")' : null; + var backgroundSize = getBackgroundSize(); + var hiddenImage = displayImageUri ? (0, _createElement.default)("img", { + alt: ariaLabel || "", + style: styles.accessibilityImage$raw, + draggable: draggable || false, + ref: hiddenImageRef, + src: displayImageUri + }) : null; + function getBackgroundSize() { + if (hiddenImageRef.current != null && (resizeMode === "center" || resizeMode === "repeat")) { + var _hiddenImageRef$curre = hiddenImageRef.current, naturalHeight = _hiddenImageRef$curre.naturalHeight, naturalWidth = _hiddenImageRef$curre.naturalWidth; + var _height3 = layout.height, _width3 = layout.width; + if (naturalHeight && naturalWidth && _height3 && _width3) { + var scaleFactor = Math.min(1, _width3 / naturalWidth, _height3 / naturalHeight); + var x = Math.ceil(scaleFactor * naturalWidth); + var y = Math.ceil(scaleFactor * naturalHeight); + return x + "px " + y + "px"; + } + } + } + __name(getBackgroundSize, "getBackgroundSize"); + function handleLayout(e) { + if (resizeMode === "center" || resizeMode === "repeat" || onLayout) { + var _layout = e.nativeEvent.layout; + onLayout && onLayout(e); + updateLayout(_layout); + } + } + __name(handleLayout, "handleLayout"); + var uri = resolveAssetUri(source); + React44.useEffect(() => { + abortPendingRequest(); + if (uri != null) { + updateState(LOADING); + if (onLoadStart) { + onLoadStart(); + } + requestRef.current = _ImageLoader.default.load(uri, /* @__PURE__ */ __name(function load(e) { + updateState(LOADED); + if (onLoad) { + onLoad(e); + } + if (onLoadEnd) { + onLoadEnd(); + } + }, "load"), /* @__PURE__ */ __name(function error2() { + updateState(ERRORED); + if (onError) { + onError({ + nativeEvent: { + error: "Failed to load resource " + uri + " (404)" + } + }); + } + if (onLoadEnd) { + onLoadEnd(); + } + }, "error")); + } + function abortPendingRequest() { + if (requestRef.current != null) { + _ImageLoader.default.abort(requestRef.current); + requestRef.current = null; + } + } + __name(abortPendingRequest, "abortPendingRequest"); + return abortPendingRequest; + }, [uri, requestRef, updateState, onError, onLoad, onLoadEnd, onLoadStart]); + return /* @__PURE__ */ React44.createElement(_View.default, (0, _extends2.default)({}, rest, { + "aria-label": ariaLabel, + onLayout: handleLayout, + pointerEvents, + ref, + style: [ + styles.root, + hasTextAncestor && styles.inline, + imageSizeStyle, + style, + styles.undo, + // TEMP: avoid deprecated shadow props regression + // until Image refactored to use createElement. + { + boxShadow: null + } + ] + }), /* @__PURE__ */ React44.createElement(_View.default, { + style: [styles.image, resizeModeStyles[resizeMode], { + backgroundImage, + filter + }, backgroundSize != null && { + backgroundSize + }], + suppressHydrationWarning: true + }), hiddenImage, createTintColorSVG(tintColor, filterRef.current)); + }); + Image2.displayName = "Image"; + var ImageWithStatics = Image2; + ImageWithStatics.getSize = function(uri, success, failure) { + _ImageLoader.default.getSize(uri, success, failure); + }; + ImageWithStatics.prefetch = function(uri) { + return _ImageLoader.default.prefetch(uri); + }; + ImageWithStatics.queryCache = function(uris) { + return _ImageLoader.default.queryCache(uris); + }; + var styles = _StyleSheet.default.create({ + root: { + flexBasis: "auto", + overflow: "hidden", + zIndex: 0 + }, + inline: { + display: "inline-flex" + }, + undo: { + // These styles are converted to CSS filters applied to the + // element displaying the background image. + blurRadius: null, + shadowColor: null, + shadowOpacity: null, + shadowOffset: null, + shadowRadius: null, + tintColor: null, + // These styles are not supported + overlayColor: null, + resizeMode: null + }, + image: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, _StyleSheet.default.absoluteFillObject), {}, { + backgroundColor: "transparent", + backgroundPosition: "center", + backgroundRepeat: "no-repeat", + backgroundSize: "cover", + height: "100%", + width: "100%", + zIndex: -1 + }), + accessibilityImage$raw: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, _StyleSheet.default.absoluteFillObject), {}, { + height: "100%", + opacity: 0, + width: "100%", + zIndex: -1 + }) + }); + var resizeModeStyles = _StyleSheet.default.create({ + center: { + backgroundSize: "auto" + }, + contain: { + backgroundSize: "contain" + }, + cover: { + backgroundSize: "cover" + }, + none: { + backgroundPosition: "0", + backgroundSize: "auto" + }, + repeat: { + backgroundPosition: "0", + backgroundRepeat: "repeat", + backgroundSize: "auto" + }, + stretch: { + backgroundSize: "100% 100%" + } + }); + var _default = ImageWithStatics; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/components/AnimatedImage.js +var require_AnimatedImage = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/components/AnimatedImage.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = void 0; + var React44 = _interopRequireWildcard(require("react")); + var _Image = _interopRequireDefault(require_Image()); + var _createAnimatedComponent = _interopRequireDefault(require_createAnimatedComponent()); + var _default = (0, _createAnimatedComponent.default)(_Image.default); + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/components/AnimatedScrollView.js +var require_AnimatedScrollView = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/components/AnimatedScrollView.js"(exports2, module2) { + "use strict"; + var _interopRequireWildcard = require_interopRequireWildcard().default; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _extends2 = _interopRequireDefault(require_extends()); + var React44 = _interopRequireWildcard(require("react")); + var _ScrollView = _interopRequireDefault(require_ScrollView()); + var _createAnimatedComponent = _interopRequireDefault(require_createAnimatedComponent()); + var ScrollViewWithEventThrottle = /* @__PURE__ */ React44.forwardRef((props, ref) => /* @__PURE__ */ React44.createElement(_ScrollView.default, (0, _extends2.default)({ + scrollEventThrottle: 1e-4 + }, props, { + ref + }))); + var _default = (0, _createAnimatedComponent.default)(ScrollViewWithEventThrottle); + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/VirtualizedSectionList/index.js +var require_VirtualizedSectionList = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/VirtualizedSectionList/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = void 0; + var _extends2 = _interopRequireDefault(require_extends()); + var _createForOfIteratorHelperLoose2 = _interopRequireDefault(require_createForOfIteratorHelperLoose()); + var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); + var _objectSpread2 = _interopRequireDefault(require_objectSpread2()); + var _View = _interopRequireDefault(require_View()); + var _VirtualizedList = _interopRequireDefault(require_VirtualizedList()); + var _VirtualizeUtils = require_VirtualizeUtils(); + var _invariant = _interopRequireDefault(require_invariant()); + var React44 = _interopRequireWildcard(require("react")); + var _excluded = ["ItemSeparatorComponent", "SectionSeparatorComponent", "renderItem", "renderSectionFooter", "renderSectionHeader", "sections", "stickySectionHeadersEnabled"]; + var _VirtualizedSectionList = class _VirtualizedSectionList extends React44.PureComponent { + constructor() { + super(...arguments); + this._keyExtractor = (item, index3) => { + var info = this._subExtractor(index3); + return info && info.key || String(index3); + }; + this._convertViewable = (viewable) => { + var _info$index; + (0, _invariant.default)(viewable.index != null, "Received a broken ViewToken"); + var info = this._subExtractor(viewable.index); + if (!info) { + return null; + } + var keyExtractorWithNullableIndex = info.section.keyExtractor; + var keyExtractorWithNonNullableIndex = this.props.keyExtractor || _VirtualizeUtils.keyExtractor; + var key = keyExtractorWithNullableIndex != null ? keyExtractorWithNullableIndex(viewable.item, info.index) : keyExtractorWithNonNullableIndex(viewable.item, (_info$index = info.index) !== null && _info$index !== void 0 ? _info$index : 0); + return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, viewable), {}, { + index: info.index, + key, + section: info.section + }); + }; + this._onViewableItemsChanged = (_ref) => { + var viewableItems = _ref.viewableItems, changed = _ref.changed; + var onViewableItemsChanged = this.props.onViewableItemsChanged; + if (onViewableItemsChanged != null) { + onViewableItemsChanged({ + viewableItems: viewableItems.map(this._convertViewable, this).filter(Boolean), + changed: changed.map(this._convertViewable, this).filter(Boolean) + }); + } + }; + this._renderItem = (listItemCount) => ( + // eslint-disable-next-line react/no-unstable-nested-components + (_ref2) => { + var item = _ref2.item, index3 = _ref2.index; + var info = this._subExtractor(index3); + if (!info) { + return null; + } + var infoIndex = info.index; + if (infoIndex == null) { + var section = info.section; + if (info.header === true) { + var renderSectionHeader = this.props.renderSectionHeader; + return renderSectionHeader ? renderSectionHeader({ + section + }) : null; + } else { + var renderSectionFooter = this.props.renderSectionFooter; + return renderSectionFooter ? renderSectionFooter({ + section + }) : null; + } + } else { + var renderItem = info.section.renderItem || this.props.renderItem; + var SeparatorComponent = this._getSeparatorComponent(index3, info, listItemCount); + (0, _invariant.default)(renderItem, "no renderItem!"); + return /* @__PURE__ */ React44.createElement(ItemWithSeparator, { + SeparatorComponent, + LeadingSeparatorComponent: infoIndex === 0 ? this.props.SectionSeparatorComponent : void 0, + cellKey: info.key, + index: infoIndex, + item, + leadingItem: info.leadingItem, + leadingSection: info.leadingSection, + prevCellKey: (this._subExtractor(index3 - 1) || {}).key, + setSelfHighlightCallback: this._setUpdateHighlightFor, + setSelfUpdatePropsCallback: this._setUpdatePropsFor, + updateHighlightFor: this._updateHighlightFor, + updatePropsFor: this._updatePropsFor, + renderItem, + section: info.section, + trailingItem: info.trailingItem, + trailingSection: info.trailingSection, + inverted: !!this.props.inverted + }); + } + } + ); + this._updatePropsFor = (cellKey, value) => { + var updateProps = this._updatePropsMap[cellKey]; + if (updateProps != null) { + updateProps(value); + } + }; + this._updateHighlightFor = (cellKey, value) => { + var updateHighlight = this._updateHighlightMap[cellKey]; + if (updateHighlight != null) { + updateHighlight(value); + } + }; + this._setUpdateHighlightFor = (cellKey, updateHighlightFn) => { + if (updateHighlightFn != null) { + this._updateHighlightMap[cellKey] = updateHighlightFn; + } else { + delete this._updateHighlightFor[cellKey]; + } + }; + this._setUpdatePropsFor = (cellKey, updatePropsFn) => { + if (updatePropsFn != null) { + this._updatePropsMap[cellKey] = updatePropsFn; + } else { + delete this._updatePropsMap[cellKey]; + } + }; + this._updateHighlightMap = {}; + this._updatePropsMap = {}; + this._captureRef = (ref) => { + this._listRef = ref; + }; + } + scrollToLocation(params) { + var index3 = params.itemIndex; + for (var i = 0; i < params.sectionIndex; i++) { + index3 += this.props.getItemCount(this.props.sections[i].data) + 2; + } + var viewOffset = params.viewOffset || 0; + if (this._listRef == null) { + return; + } + if (params.itemIndex > 0 && this.props.stickySectionHeadersEnabled) { + var frame = this._listRef.__getFrameMetricsApprox(index3 - params.itemIndex, this._listRef.props); + viewOffset += frame.length; + } + var toIndexParams = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, params), {}, { + viewOffset, + index: index3 + }); + this._listRef.scrollToIndex(toIndexParams); + } + getListRef() { + return this._listRef; + } + render() { + var _this$props = this.props, ItemSeparatorComponent = _this$props.ItemSeparatorComponent, SectionSeparatorComponent = _this$props.SectionSeparatorComponent, _renderItem = _this$props.renderItem, renderSectionFooter = _this$props.renderSectionFooter, renderSectionHeader = _this$props.renderSectionHeader, _sections = _this$props.sections, stickySectionHeadersEnabled = _this$props.stickySectionHeadersEnabled, passThroughProps = (0, _objectWithoutPropertiesLoose2.default)(_this$props, _excluded); + var listHeaderOffset = this.props.ListHeaderComponent ? 1 : 0; + var stickyHeaderIndices = this.props.stickySectionHeadersEnabled ? [] : void 0; + var itemCount = 0; + for (var _iterator = (0, _createForOfIteratorHelperLoose2.default)(this.props.sections), _step; !(_step = _iterator()).done; ) { + var section = _step.value; + if (stickyHeaderIndices != null) { + stickyHeaderIndices.push(itemCount + listHeaderOffset); + } + itemCount += 2; + itemCount += this.props.getItemCount(section.data); + } + var renderItem = this._renderItem(itemCount); + return /* @__PURE__ */ React44.createElement(_VirtualizedList.default, (0, _extends2.default)({}, passThroughProps, { + keyExtractor: this._keyExtractor, + stickyHeaderIndices, + renderItem, + data: this.props.sections, + getItem: (sections, index3) => this._getItem(this.props, sections, index3), + getItemCount: () => itemCount, + onViewableItemsChanged: this.props.onViewableItemsChanged ? this._onViewableItemsChanged : void 0, + ref: this._captureRef + })); + } + _getItem(props, sections, index3) { + if (!sections) { + return null; + } + var itemIdx = index3 - 1; + for (var i = 0; i < sections.length; i++) { + var section = sections[i]; + var sectionData = section.data; + var itemCount = props.getItemCount(sectionData); + if (itemIdx === -1 || itemIdx === itemCount) { + return section; + } else if (itemIdx < itemCount) { + return props.getItem(sectionData, itemIdx); + } else { + itemIdx -= itemCount + 2; + } + } + return null; + } + // $FlowFixMe[missing-local-annot] + _subExtractor(index3) { + var itemIndex = index3; + var _this$props2 = this.props, getItem = _this$props2.getItem, getItemCount = _this$props2.getItemCount, keyExtractor = _this$props2.keyExtractor, sections = _this$props2.sections; + for (var i = 0; i < sections.length; i++) { + var section = sections[i]; + var sectionData = section.data; + var key = section.key || String(i); + itemIndex -= 1; + if (itemIndex >= getItemCount(sectionData) + 1) { + itemIndex -= getItemCount(sectionData) + 1; + } else if (itemIndex === -1) { + return { + section, + key: key + ":header", + index: null, + header: true, + trailingSection: sections[i + 1] + }; + } else if (itemIndex === getItemCount(sectionData)) { + return { + section, + key: key + ":footer", + index: null, + header: false, + trailingSection: sections[i + 1] + }; + } else { + var extractor = section.keyExtractor || keyExtractor || _VirtualizeUtils.keyExtractor; + return { + section, + key: key + ":" + extractor(getItem(sectionData, itemIndex), itemIndex), + index: itemIndex, + leadingItem: getItem(sectionData, itemIndex - 1), + leadingSection: sections[i - 1], + trailingItem: getItem(sectionData, itemIndex + 1), + trailingSection: sections[i + 1] + }; + } + } + } + _getSeparatorComponent(index3, info, listItemCount) { + info = info || this._subExtractor(index3); + if (!info) { + return null; + } + var ItemSeparatorComponent = info.section.ItemSeparatorComponent || this.props.ItemSeparatorComponent; + var SectionSeparatorComponent = this.props.SectionSeparatorComponent; + var isLastItemInList = index3 === listItemCount - 1; + var isLastItemInSection = info.index === this.props.getItemCount(info.section.data) - 1; + if (SectionSeparatorComponent && isLastItemInSection) { + return SectionSeparatorComponent; + } + if (ItemSeparatorComponent && !isLastItemInSection && !isLastItemInList) { + return ItemSeparatorComponent; + } + return null; + } + }; + __name(_VirtualizedSectionList, "VirtualizedSectionList"); + var VirtualizedSectionList = _VirtualizedSectionList; + function ItemWithSeparator(props) { + var LeadingSeparatorComponent = props.LeadingSeparatorComponent, SeparatorComponent = props.SeparatorComponent, cellKey = props.cellKey, prevCellKey = props.prevCellKey, setSelfHighlightCallback = props.setSelfHighlightCallback, updateHighlightFor = props.updateHighlightFor, setSelfUpdatePropsCallback = props.setSelfUpdatePropsCallback, updatePropsFor = props.updatePropsFor, item = props.item, index3 = props.index, section = props.section, inverted = props.inverted; + var _React$useState = React44.useState(false), leadingSeparatorHiglighted = _React$useState[0], setLeadingSeparatorHighlighted = _React$useState[1]; + var _React$useState2 = React44.useState(false), separatorHighlighted = _React$useState2[0], setSeparatorHighlighted = _React$useState2[1]; + var _React$useState3 = React44.useState({ + leadingItem: props.leadingItem, + leadingSection: props.leadingSection, + section: props.section, + trailingItem: props.item, + trailingSection: props.trailingSection + }), leadingSeparatorProps = _React$useState3[0], setLeadingSeparatorProps = _React$useState3[1]; + var _React$useState4 = React44.useState({ + leadingItem: props.item, + leadingSection: props.leadingSection, + section: props.section, + trailingItem: props.trailingItem, + trailingSection: props.trailingSection + }), separatorProps = _React$useState4[0], setSeparatorProps = _React$useState4[1]; + React44.useEffect(() => { + setSelfHighlightCallback(cellKey, setSeparatorHighlighted); + setSelfUpdatePropsCallback(cellKey, setSeparatorProps); + return () => { + setSelfUpdatePropsCallback(cellKey, null); + setSelfHighlightCallback(cellKey, null); + }; + }, [cellKey, setSelfHighlightCallback, setSeparatorProps, setSelfUpdatePropsCallback]); + var separators = { + highlight: () => { + setLeadingSeparatorHighlighted(true); + setSeparatorHighlighted(true); + if (prevCellKey != null) { + updateHighlightFor(prevCellKey, true); + } + }, + unhighlight: () => { + setLeadingSeparatorHighlighted(false); + setSeparatorHighlighted(false); + if (prevCellKey != null) { + updateHighlightFor(prevCellKey, false); + } + }, + updateProps: (select, newProps) => { + if (select === "leading") { + if (LeadingSeparatorComponent != null) { + setLeadingSeparatorProps((0, _objectSpread2.default)((0, _objectSpread2.default)({}, leadingSeparatorProps), newProps)); + } else if (prevCellKey != null) { + updatePropsFor(prevCellKey, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, leadingSeparatorProps), newProps)); + } + } else if (select === "trailing" && SeparatorComponent != null) { + setSeparatorProps((0, _objectSpread2.default)((0, _objectSpread2.default)({}, separatorProps), newProps)); + } + } + }; + var element = props.renderItem({ + item, + index: index3, + section, + separators + }); + var leadingSeparator = LeadingSeparatorComponent != null && /* @__PURE__ */ React44.createElement(LeadingSeparatorComponent, (0, _extends2.default)({ + highlighted: leadingSeparatorHiglighted + }, leadingSeparatorProps)); + var separator = SeparatorComponent != null && /* @__PURE__ */ React44.createElement(SeparatorComponent, (0, _extends2.default)({ + highlighted: separatorHighlighted + }, separatorProps)); + return leadingSeparator || separator ? /* @__PURE__ */ React44.createElement(_View.default, null, inverted === false ? leadingSeparator : separator, element, inverted === false ? separator : leadingSeparator) : element; + } + __name(ItemWithSeparator, "ItemWithSeparator"); + var _default = VirtualizedSectionList; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/SectionList/index.js +var require_SectionList = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/SectionList/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = void 0; + var _extends2 = _interopRequireDefault(require_extends()); + var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); + var _Platform = _interopRequireDefault(require_Platform()); + var React44 = _interopRequireWildcard(require("react")); + var _VirtualizedSectionList = _interopRequireDefault(require_VirtualizedSectionList()); + var _excluded = ["stickySectionHeadersEnabled"]; + var _SectionList = class _SectionList extends React44.PureComponent { + constructor() { + super(...arguments); + this._captureRef = (ref) => { + this._wrapperListRef = ref; + }; + } + /** + * Scrolls to the item at the specified `sectionIndex` and `itemIndex` (within the section) + * positioned in the viewable area such that `viewPosition` 0 places it at the top (and may be + * covered by a sticky header), 1 at the bottom, and 0.5 centered in the middle. `viewOffset` is a + * fixed number of pixels to offset the final target position, e.g. to compensate for sticky + * headers. + * + * Note: cannot scroll to locations outside the render window without specifying the + * `getItemLayout` prop. + */ + scrollToLocation(params) { + if (this._wrapperListRef != null) { + this._wrapperListRef.scrollToLocation(params); + } + } + /** + * Tells the list an interaction has occurred, which should trigger viewability calculations, e.g. + * if `waitForInteractions` is true and the user has not scrolled. This is typically called by + * taps on items or by navigation actions. + */ + recordInteraction() { + var listRef = this._wrapperListRef && this._wrapperListRef.getListRef(); + listRef && listRef.recordInteraction(); + } + /** + * Displays the scroll indicators momentarily. + * + * @platform ios + */ + flashScrollIndicators() { + var listRef = this._wrapperListRef && this._wrapperListRef.getListRef(); + listRef && listRef.flashScrollIndicators(); + } + /** + * Provides a handle to the underlying scroll responder. + */ + getScrollResponder() { + var listRef = this._wrapperListRef && this._wrapperListRef.getListRef(); + if (listRef) { + return listRef.getScrollResponder(); + } + } + getScrollableNode() { + var listRef = this._wrapperListRef && this._wrapperListRef.getListRef(); + if (listRef) { + return listRef.getScrollableNode(); + } + } + render() { + var _this$props = this.props, _stickySectionHeadersEnabled = _this$props.stickySectionHeadersEnabled, restProps = (0, _objectWithoutPropertiesLoose2.default)(_this$props, _excluded); + var stickySectionHeadersEnabled = _stickySectionHeadersEnabled !== null && _stickySectionHeadersEnabled !== void 0 ? _stickySectionHeadersEnabled : _Platform.default.OS === "ios"; + return /* @__PURE__ */ React44.createElement(_VirtualizedSectionList.default, (0, _extends2.default)({}, restProps, { + stickySectionHeadersEnabled, + ref: this._captureRef, + getItemCount: (items) => items.length, + getItem: (items, index3) => items[index3] + })); + } + }; + __name(_SectionList, "SectionList"); + var SectionList = _SectionList; + exports2.default = SectionList; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/SectionList/index.js +var require_SectionList2 = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/SectionList/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _SectionList = _interopRequireDefault(require_SectionList()); + var _default = _SectionList.default; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/components/AnimatedSectionList.js +var require_AnimatedSectionList = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/components/AnimatedSectionList.js"(exports2, module2) { + "use strict"; + var _interopRequireWildcard = require_interopRequireWildcard().default; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _extends2 = _interopRequireDefault(require_extends()); + var React44 = _interopRequireWildcard(require("react")); + var _SectionList = _interopRequireDefault(require_SectionList2()); + var _createAnimatedComponent = _interopRequireDefault(require_createAnimatedComponent()); + var SectionListWithEventThrottle = /* @__PURE__ */ React44.forwardRef((props, ref) => /* @__PURE__ */ React44.createElement(_SectionList.default, (0, _extends2.default)({ + scrollEventThrottle: 1e-4 + }, props, { + ref + }))); + var _default = (0, _createAnimatedComponent.default)(SectionListWithEventThrottle); + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/Text/index.js +var require_Text = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/Text/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = void 0; + var _objectSpread2 = _interopRequireDefault(require_objectSpread2()); + var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); + var React44 = _interopRequireWildcard(require("react")); + var _createElement = _interopRequireDefault(require_createElement()); + var forwardedProps = _interopRequireWildcard(require_forwardedProps()); + var _pick = _interopRequireDefault(require_pick()); + var _useElementLayout = _interopRequireDefault(require_useElementLayout()); + var _useMergeRefs = _interopRequireDefault(require_useMergeRefs()); + var _usePlatformMethods = _interopRequireDefault(require_usePlatformMethods()); + var _useResponderEvents = _interopRequireDefault(require_useResponderEvents()); + var _StyleSheet = _interopRequireDefault(require_StyleSheet()); + var _TextAncestorContext = _interopRequireDefault(require_TextAncestorContext()); + var _useLocale = require_useLocale(); + var _warnOnce = require_warnOnce(); + var _excluded = ["hrefAttrs", "numberOfLines", "onClick", "onLayout", "onPress", "onMoveShouldSetResponder", "onMoveShouldSetResponderCapture", "onResponderEnd", "onResponderGrant", "onResponderMove", "onResponderReject", "onResponderRelease", "onResponderStart", "onResponderTerminate", "onResponderTerminationRequest", "onScrollShouldSetResponder", "onScrollShouldSetResponderCapture", "onSelectionChangeShouldSetResponder", "onSelectionChangeShouldSetResponderCapture", "onStartShouldSetResponder", "onStartShouldSetResponderCapture", "selectable"]; + var forwardPropsList = Object.assign({}, forwardedProps.defaultProps, forwardedProps.accessibilityProps, forwardedProps.clickProps, forwardedProps.focusProps, forwardedProps.keyboardProps, forwardedProps.mouseProps, forwardedProps.touchProps, forwardedProps.styleProps, { + href: true, + lang: true, + pointerEvents: true + }); + var pickProps = /* @__PURE__ */ __name((props) => (0, _pick.default)(props, forwardPropsList), "pickProps"); + var Text4 = /* @__PURE__ */ React44.forwardRef((props, forwardedRef) => { + var hrefAttrs = props.hrefAttrs, numberOfLines = props.numberOfLines, onClick = props.onClick, onLayout = props.onLayout, onPress = props.onPress, onMoveShouldSetResponder = props.onMoveShouldSetResponder, onMoveShouldSetResponderCapture = props.onMoveShouldSetResponderCapture, onResponderEnd = props.onResponderEnd, onResponderGrant = props.onResponderGrant, onResponderMove = props.onResponderMove, onResponderReject = props.onResponderReject, onResponderRelease = props.onResponderRelease, onResponderStart = props.onResponderStart, onResponderTerminate = props.onResponderTerminate, onResponderTerminationRequest = props.onResponderTerminationRequest, onScrollShouldSetResponder = props.onScrollShouldSetResponder, onScrollShouldSetResponderCapture = props.onScrollShouldSetResponderCapture, onSelectionChangeShouldSetResponder = props.onSelectionChangeShouldSetResponder, onSelectionChangeShouldSetResponderCapture = props.onSelectionChangeShouldSetResponderCapture, onStartShouldSetResponder = props.onStartShouldSetResponder, onStartShouldSetResponderCapture = props.onStartShouldSetResponderCapture, selectable = props.selectable, rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded); + if (selectable != null) { + (0, _warnOnce.warnOnce)("selectable", "selectable prop is deprecated. Use styles.userSelect."); + } + var hasTextAncestor = React44.useContext(_TextAncestorContext.default); + var hostRef = React44.useRef(null); + var _useLocaleContext = (0, _useLocale.useLocaleContext)(), contextDirection = _useLocaleContext.direction; + (0, _useElementLayout.default)(hostRef, onLayout); + (0, _useResponderEvents.default)(hostRef, { + onMoveShouldSetResponder, + onMoveShouldSetResponderCapture, + onResponderEnd, + onResponderGrant, + onResponderMove, + onResponderReject, + onResponderRelease, + onResponderStart, + onResponderTerminate, + onResponderTerminationRequest, + onScrollShouldSetResponder, + onScrollShouldSetResponderCapture, + onSelectionChangeShouldSetResponder, + onSelectionChangeShouldSetResponderCapture, + onStartShouldSetResponder, + onStartShouldSetResponderCapture + }); + var handleClick = React44.useCallback((e) => { + if (onClick != null) { + onClick(e); + } else if (onPress != null) { + e.stopPropagation(); + onPress(e); + } + }, [onClick, onPress]); + var component = hasTextAncestor ? "span" : "div"; + var langDirection = props.lang != null ? (0, _useLocale.getLocaleDirection)(props.lang) : null; + var componentDirection = props.dir || langDirection; + var writingDirection = componentDirection || contextDirection; + var supportedProps = pickProps(rest); + supportedProps.dir = componentDirection; + if (!hasTextAncestor) { + supportedProps.dir = componentDirection != null ? componentDirection : "auto"; + } + if (onClick || onPress) { + supportedProps.onClick = handleClick; + } + supportedProps.style = [numberOfLines != null && numberOfLines > 1 && { + WebkitLineClamp: numberOfLines + }, hasTextAncestor === true ? styles.textHasAncestor$raw : styles.text$raw, numberOfLines === 1 && styles.textOneLine, numberOfLines != null && numberOfLines > 1 && styles.textMultiLine, props.style, selectable === true && styles.selectable, selectable === false && styles.notSelectable, onPress && styles.pressable]; + if (props.href != null) { + component = "a"; + if (hrefAttrs != null) { + var download = hrefAttrs.download, rel = hrefAttrs.rel, target = hrefAttrs.target; + if (download != null) { + supportedProps.download = download; + } + if (rel != null) { + supportedProps.rel = rel; + } + if (typeof target === "string") { + supportedProps.target = target.charAt(0) !== "_" ? "_" + target : target; + } + } + } + var platformMethodsRef = (0, _usePlatformMethods.default)(supportedProps); + var setRef2 = (0, _useMergeRefs.default)(hostRef, platformMethodsRef, forwardedRef); + supportedProps.ref = setRef2; + var element = (0, _createElement.default)(component, supportedProps, { + writingDirection + }); + return hasTextAncestor ? element : /* @__PURE__ */ React44.createElement(_TextAncestorContext.default.Provider, { + value: true + }, element); + }); + Text4.displayName = "Text"; + var textStyle = { + backgroundColor: "transparent", + border: "0 solid black", + boxSizing: "border-box", + color: "black", + display: "inline", + font: "14px System", + listStyle: "none", + margin: 0, + padding: 0, + position: "relative", + textAlign: "start", + textDecoration: "none", + whiteSpace: "pre-wrap", + wordWrap: "break-word" + }; + var styles = _StyleSheet.default.create({ + text$raw: textStyle, + textHasAncestor$raw: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, textStyle), {}, { + color: "inherit", + font: "inherit", + textAlign: "inherit", + whiteSpace: "inherit" + }), + textOneLine: { + maxWidth: "100%", + overflow: "hidden", + textOverflow: "ellipsis", + whiteSpace: "nowrap", + wordWrap: "normal" + }, + // See #13 + textMultiLine: { + display: "-webkit-box", + maxWidth: "100%", + overflow: "hidden", + textOverflow: "ellipsis", + WebkitBoxOrient: "vertical" + }, + notSelectable: { + userSelect: "none" + }, + selectable: { + userSelect: "text" + }, + pressable: { + cursor: "pointer" + } + }); + var _default = Text4; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/components/AnimatedText.js +var require_AnimatedText = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/components/AnimatedText.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = void 0; + var React44 = _interopRequireWildcard(require("react")); + var _Text = _interopRequireDefault(require_Text()); + var _createAnimatedComponent = _interopRequireDefault(require_createAnimatedComponent()); + var _default = (0, _createAnimatedComponent.default)(_Text.default); + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/components/AnimatedView.js +var require_AnimatedView = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/components/AnimatedView.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = void 0; + var React44 = _interopRequireWildcard(require("react")); + var _View = _interopRequireDefault(require_View()); + var _createAnimatedComponent = _interopRequireDefault(require_createAnimatedComponent()); + var _default = (0, _createAnimatedComponent.default)(_View.default); + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/nodes/AnimatedAddition.js +var require_AnimatedAddition = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/nodes/AnimatedAddition.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _AnimatedInterpolation = _interopRequireDefault(require_AnimatedInterpolation()); + var _AnimatedValue = _interopRequireDefault(require_AnimatedValue()); + var _AnimatedWithChildren = _interopRequireDefault(require_AnimatedWithChildren()); + var _AnimatedAddition = class _AnimatedAddition extends _AnimatedWithChildren.default { + constructor(a, b) { + super(); + this._a = typeof a === "number" ? new _AnimatedValue.default(a) : a; + this._b = typeof b === "number" ? new _AnimatedValue.default(b) : b; + } + __makeNative(platformConfig) { + this._a.__makeNative(platformConfig); + this._b.__makeNative(platformConfig); + super.__makeNative(platformConfig); + } + __getValue() { + return this._a.__getValue() + this._b.__getValue(); + } + interpolate(config) { + return new _AnimatedInterpolation.default(this, config); + } + __attach() { + this._a.__addChild(this); + this._b.__addChild(this); + } + __detach() { + this._a.__removeChild(this); + this._b.__removeChild(this); + super.__detach(); + } + __getNativeConfig() { + return { + type: "addition", + input: [this._a.__getNativeTag(), this._b.__getNativeTag()] + }; + } + }; + __name(_AnimatedAddition, "AnimatedAddition"); + var AnimatedAddition = _AnimatedAddition; + var _default = AnimatedAddition; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/nodes/AnimatedDiffClamp.js +var require_AnimatedDiffClamp = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/nodes/AnimatedDiffClamp.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _AnimatedInterpolation = _interopRequireDefault(require_AnimatedInterpolation()); + var _AnimatedWithChildren = _interopRequireDefault(require_AnimatedWithChildren()); + var _AnimatedDiffClamp = class _AnimatedDiffClamp extends _AnimatedWithChildren.default { + constructor(a, min2, max2) { + super(); + this._a = a; + this._min = min2; + this._max = max2; + this._value = this._lastValue = this._a.__getValue(); + } + __makeNative(platformConfig) { + this._a.__makeNative(platformConfig); + super.__makeNative(platformConfig); + } + interpolate(config) { + return new _AnimatedInterpolation.default(this, config); + } + __getValue() { + var value = this._a.__getValue(); + var diff = value - this._lastValue; + this._lastValue = value; + this._value = Math.min(Math.max(this._value + diff, this._min), this._max); + return this._value; + } + __attach() { + this._a.__addChild(this); + } + __detach() { + this._a.__removeChild(this); + super.__detach(); + } + __getNativeConfig() { + return { + type: "diffclamp", + input: this._a.__getNativeTag(), + min: this._min, + max: this._max + }; + } + }; + __name(_AnimatedDiffClamp, "AnimatedDiffClamp"); + var AnimatedDiffClamp = _AnimatedDiffClamp; + var _default = AnimatedDiffClamp; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/nodes/AnimatedDivision.js +var require_AnimatedDivision = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/nodes/AnimatedDivision.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _AnimatedInterpolation = _interopRequireDefault(require_AnimatedInterpolation()); + var _AnimatedNode = _interopRequireDefault(require_AnimatedNode()); + var _AnimatedValue = _interopRequireDefault(require_AnimatedValue()); + var _AnimatedWithChildren = _interopRequireDefault(require_AnimatedWithChildren()); + var _AnimatedDivision = class _AnimatedDivision extends _AnimatedWithChildren.default { + constructor(a, b) { + super(); + this._warnedAboutDivideByZero = false; + if (b === 0 || b instanceof _AnimatedNode.default && b.__getValue() === 0) { + console.error("Detected potential division by zero in AnimatedDivision"); + } + this._a = typeof a === "number" ? new _AnimatedValue.default(a) : a; + this._b = typeof b === "number" ? new _AnimatedValue.default(b) : b; + } + __makeNative(platformConfig) { + this._a.__makeNative(platformConfig); + this._b.__makeNative(platformConfig); + super.__makeNative(platformConfig); + } + __getValue() { + var a = this._a.__getValue(); + var b = this._b.__getValue(); + if (b === 0) { + if (!this._warnedAboutDivideByZero) { + console.error("Detected division by zero in AnimatedDivision"); + this._warnedAboutDivideByZero = true; + } + return 0; + } + this._warnedAboutDivideByZero = false; + return a / b; + } + interpolate(config) { + return new _AnimatedInterpolation.default(this, config); + } + __attach() { + this._a.__addChild(this); + this._b.__addChild(this); + } + __detach() { + this._a.__removeChild(this); + this._b.__removeChild(this); + super.__detach(); + } + __getNativeConfig() { + return { + type: "division", + input: [this._a.__getNativeTag(), this._b.__getNativeTag()] + }; + } + }; + __name(_AnimatedDivision, "AnimatedDivision"); + var AnimatedDivision = _AnimatedDivision; + var _default = AnimatedDivision; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/nodes/AnimatedModulo.js +var require_AnimatedModulo = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/nodes/AnimatedModulo.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _AnimatedInterpolation = _interopRequireDefault(require_AnimatedInterpolation()); + var _AnimatedWithChildren = _interopRequireDefault(require_AnimatedWithChildren()); + var _AnimatedModulo = class _AnimatedModulo extends _AnimatedWithChildren.default { + constructor(a, modulus) { + super(); + this._a = a; + this._modulus = modulus; + } + __makeNative(platformConfig) { + this._a.__makeNative(platformConfig); + super.__makeNative(platformConfig); + } + __getValue() { + return (this._a.__getValue() % this._modulus + this._modulus) % this._modulus; + } + interpolate(config) { + return new _AnimatedInterpolation.default(this, config); + } + __attach() { + this._a.__addChild(this); + } + __detach() { + this._a.__removeChild(this); + super.__detach(); + } + __getNativeConfig() { + return { + type: "modulus", + input: this._a.__getNativeTag(), + modulus: this._modulus + }; + } + }; + __name(_AnimatedModulo, "AnimatedModulo"); + var AnimatedModulo = _AnimatedModulo; + var _default = AnimatedModulo; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/nodes/AnimatedMultiplication.js +var require_AnimatedMultiplication = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/nodes/AnimatedMultiplication.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _AnimatedInterpolation = _interopRequireDefault(require_AnimatedInterpolation()); + var _AnimatedValue = _interopRequireDefault(require_AnimatedValue()); + var _AnimatedWithChildren = _interopRequireDefault(require_AnimatedWithChildren()); + var _AnimatedMultiplication = class _AnimatedMultiplication extends _AnimatedWithChildren.default { + constructor(a, b) { + super(); + this._a = typeof a === "number" ? new _AnimatedValue.default(a) : a; + this._b = typeof b === "number" ? new _AnimatedValue.default(b) : b; + } + __makeNative(platformConfig) { + this._a.__makeNative(platformConfig); + this._b.__makeNative(platformConfig); + super.__makeNative(platformConfig); + } + __getValue() { + return this._a.__getValue() * this._b.__getValue(); + } + interpolate(config) { + return new _AnimatedInterpolation.default(this, config); + } + __attach() { + this._a.__addChild(this); + this._b.__addChild(this); + } + __detach() { + this._a.__removeChild(this); + this._b.__removeChild(this); + super.__detach(); + } + __getNativeConfig() { + return { + type: "multiplication", + input: [this._a.__getNativeTag(), this._b.__getNativeTag()] + }; + } + }; + __name(_AnimatedMultiplication, "AnimatedMultiplication"); + var AnimatedMultiplication = _AnimatedMultiplication; + var _default = AnimatedMultiplication; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/nodes/AnimatedSubtraction.js +var require_AnimatedSubtraction = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/nodes/AnimatedSubtraction.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _AnimatedInterpolation = _interopRequireDefault(require_AnimatedInterpolation()); + var _AnimatedValue = _interopRequireDefault(require_AnimatedValue()); + var _AnimatedWithChildren = _interopRequireDefault(require_AnimatedWithChildren()); + var _AnimatedSubtraction = class _AnimatedSubtraction extends _AnimatedWithChildren.default { + constructor(a, b) { + super(); + this._a = typeof a === "number" ? new _AnimatedValue.default(a) : a; + this._b = typeof b === "number" ? new _AnimatedValue.default(b) : b; + } + __makeNative(platformConfig) { + this._a.__makeNative(platformConfig); + this._b.__makeNative(platformConfig); + super.__makeNative(platformConfig); + } + __getValue() { + return this._a.__getValue() - this._b.__getValue(); + } + interpolate(config) { + return new _AnimatedInterpolation.default(this, config); + } + __attach() { + this._a.__addChild(this); + this._b.__addChild(this); + } + __detach() { + this._a.__removeChild(this); + this._b.__removeChild(this); + super.__detach(); + } + __getNativeConfig() { + return { + type: "subtraction", + input: [this._a.__getNativeTag(), this._b.__getNativeTag()] + }; + } + }; + __name(_AnimatedSubtraction, "AnimatedSubtraction"); + var AnimatedSubtraction = _AnimatedSubtraction; + var _default = AnimatedSubtraction; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/nodes/AnimatedTracking.js +var require_AnimatedTracking = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/nodes/AnimatedTracking.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _objectSpread2 = _interopRequireDefault(require_objectSpread2()); + var _AnimatedValue = _interopRequireDefault(require_AnimatedValue()); + var _AnimatedNode = _interopRequireDefault(require_AnimatedNode()); + var _NativeAnimatedHelper = require_NativeAnimatedHelper(); + var _AnimatedTracking = class _AnimatedTracking extends _AnimatedNode.default { + constructor(value, parent, animationClass, animationConfig, callback) { + super(); + this._value = value; + this._parent = parent; + this._animationClass = animationClass; + this._animationConfig = animationConfig; + this._useNativeDriver = (0, _NativeAnimatedHelper.shouldUseNativeDriver)(animationConfig); + this._callback = callback; + this.__attach(); + } + __makeNative() { + this.__isNative = true; + this._parent.__makeNative(); + super.__makeNative(); + this._value.__makeNative(); + } + __getValue() { + return this._parent.__getValue(); + } + __attach() { + this._parent.__addChild(this); + if (this._useNativeDriver) { + this.__makeNative(); + } + } + __detach() { + this._parent.__removeChild(this); + super.__detach(); + } + update() { + this._value.animate(new this._animationClass((0, _objectSpread2.default)((0, _objectSpread2.default)({}, this._animationConfig), {}, { + toValue: this._animationConfig.toValue.__getValue() + })), this._callback); + } + __getNativeConfig() { + var animation = new this._animationClass((0, _objectSpread2.default)((0, _objectSpread2.default)({}, this._animationConfig), {}, { + // remove toValue from the config as it's a ref to Animated.Value + toValue: void 0 + })); + var animationConfig = animation.__getNativeAnimationConfig(); + return { + type: "tracking", + animationId: (0, _NativeAnimatedHelper.generateNewAnimationId)(), + animationConfig, + toValue: this._parent.__getNativeTag(), + value: this._value.__getNativeTag() + }; + } + }; + __name(_AnimatedTracking, "AnimatedTracking"); + var AnimatedTracking = _AnimatedTracking; + var _default = AnimatedTracking; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/nodes/AnimatedValueXY.js +var require_AnimatedValueXY = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/nodes/AnimatedValueXY.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _AnimatedValue = _interopRequireDefault(require_AnimatedValue()); + var _AnimatedWithChildren = _interopRequireDefault(require_AnimatedWithChildren()); + var _invariant = _interopRequireDefault(require_invariant()); + var _uniqueId = 1; + var _AnimatedValueXY = class _AnimatedValueXY extends _AnimatedWithChildren.default { + constructor(valueIn) { + super(); + var value = valueIn || { + x: 0, + y: 0 + }; + if (typeof value.x === "number" && typeof value.y === "number") { + this.x = new _AnimatedValue.default(value.x); + this.y = new _AnimatedValue.default(value.y); + } else { + (0, _invariant.default)(value.x instanceof _AnimatedValue.default && value.y instanceof _AnimatedValue.default, "AnimatedValueXY must be initialized with an object of numbers or AnimatedValues."); + this.x = value.x; + this.y = value.y; + } + this._listeners = {}; + } + /** + * Directly set the value. This will stop any animations running on the value + * and update all the bound properties. + * + * See https://reactnative.dev/docs/animatedvaluexy.html#setvalue + */ + setValue(value) { + this.x.setValue(value.x); + this.y.setValue(value.y); + } + /** + * Sets an offset that is applied on top of whatever value is set, whether + * via `setValue`, an animation, or `Animated.event`. Useful for compensating + * things like the start of a pan gesture. + * + * See https://reactnative.dev/docs/animatedvaluexy.html#setoffset + */ + setOffset(offset4) { + this.x.setOffset(offset4.x); + this.y.setOffset(offset4.y); + } + /** + * Merges the offset value into the base value and resets the offset to zero. + * The final output of the value is unchanged. + * + * See https://reactnative.dev/docs/animatedvaluexy.html#flattenoffset + */ + flattenOffset() { + this.x.flattenOffset(); + this.y.flattenOffset(); + } + /** + * Sets the offset value to the base value, and resets the base value to + * zero. The final output of the value is unchanged. + * + * See https://reactnative.dev/docs/animatedvaluexy.html#extractoffset + */ + extractOffset() { + this.x.extractOffset(); + this.y.extractOffset(); + } + __getValue() { + return { + x: this.x.__getValue(), + y: this.y.__getValue() + }; + } + /** + * Stops any animation and resets the value to its original. + * + * See https://reactnative.dev/docs/animatedvaluexy.html#resetanimation + */ + resetAnimation(callback) { + this.x.resetAnimation(); + this.y.resetAnimation(); + callback && callback(this.__getValue()); + } + /** + * Stops any running animation or tracking. `callback` is invoked with the + * final value after stopping the animation, which is useful for updating + * state to match the animation position with layout. + * + * See https://reactnative.dev/docs/animatedvaluexy.html#stopanimation + */ + stopAnimation(callback) { + this.x.stopAnimation(); + this.y.stopAnimation(); + callback && callback(this.__getValue()); + } + /** + * Adds an asynchronous listener to the value so you can observe updates from + * animations. This is useful because there is no way to synchronously read + * the value because it might be driven natively. + * + * Returns a string that serves as an identifier for the listener. + * + * See https://reactnative.dev/docs/animatedvaluexy.html#addlistener + */ + addListener(callback) { + var id = String(_uniqueId++); + var jointCallback = /* @__PURE__ */ __name((_ref) => { + var number = _ref.value; + callback(this.__getValue()); + }, "jointCallback"); + this._listeners[id] = { + x: this.x.addListener(jointCallback), + y: this.y.addListener(jointCallback) + }; + return id; + } + /** + * Unregister a listener. The `id` param shall match the identifier + * previously returned by `addListener()`. + * + * See https://reactnative.dev/docs/animatedvaluexy.html#removelistener + */ + removeListener(id) { + this.x.removeListener(this._listeners[id].x); + this.y.removeListener(this._listeners[id].y); + delete this._listeners[id]; + } + /** + * Remove all registered listeners. + * + * See https://reactnative.dev/docs/animatedvaluexy.html#removealllisteners + */ + removeAllListeners() { + this.x.removeAllListeners(); + this.y.removeAllListeners(); + this._listeners = {}; + } + /** + * Converts `{x, y}` into `{left, top}` for use in style. + * + * See https://reactnative.dev/docs/animatedvaluexy.html#getlayout + */ + getLayout() { + return { + left: this.x, + top: this.y + }; + } + /** + * Converts `{x, y}` into a useable translation transform. + * + * See https://reactnative.dev/docs/animatedvaluexy.html#gettranslatetransform + */ + getTranslateTransform() { + return [{ + translateX: this.x + }, { + translateY: this.y + }]; + } + }; + __name(_AnimatedValueXY, "AnimatedValueXY"); + var AnimatedValueXY = _AnimatedValueXY; + var _default = AnimatedValueXY; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/animations/Animation.js +var require_Animation = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/animations/Animation.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _NativeAnimatedHelper = _interopRequireDefault(require_NativeAnimatedHelper()); + var startNativeAnimationNextId = 1; + var _Animation = class _Animation { + start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) { + } + stop() { + if (this.__nativeId) { + _NativeAnimatedHelper.default.API.stopAnimation(this.__nativeId); + } + } + __getNativeAnimationConfig() { + throw new Error("This animation type cannot be offloaded to native"); + } + // Helper function for subclasses to make sure onEnd is only called once. + __debouncedOnEnd(result) { + var onEnd = this.__onEnd; + this.__onEnd = null; + onEnd && onEnd(result); + } + __startNativeAnimation(animatedValue) { + var startNativeAnimationWaitId = startNativeAnimationNextId + ":startAnimation"; + startNativeAnimationNextId += 1; + _NativeAnimatedHelper.default.API.setWaitingForIdentifier(startNativeAnimationWaitId); + try { + var config = this.__getNativeAnimationConfig(); + animatedValue.__makeNative(config.platformConfig); + this.__nativeId = _NativeAnimatedHelper.default.generateNewAnimationId(); + _NativeAnimatedHelper.default.API.startAnimatingNode( + this.__nativeId, + animatedValue.__getNativeTag(), + config, + // $FlowFixMe[method-unbinding] added when improving typing for this parameters + this.__debouncedOnEnd.bind(this) + ); + } catch (e) { + throw e; + } finally { + _NativeAnimatedHelper.default.API.unsetWaitingForIdentifier(startNativeAnimationWaitId); + } + } + }; + __name(_Animation, "Animation"); + var Animation = _Animation; + var _default = Animation; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/animations/DecayAnimation.js +var require_DecayAnimation = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/animations/DecayAnimation.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _Animation = _interopRequireDefault(require_Animation()); + var _NativeAnimatedHelper = require_NativeAnimatedHelper(); + var _DecayAnimation = class _DecayAnimation extends _Animation.default { + constructor(config) { + var _config$deceleration, _config$isInteraction, _config$iterations; + super(); + this._deceleration = (_config$deceleration = config.deceleration) !== null && _config$deceleration !== void 0 ? _config$deceleration : 0.998; + this._velocity = config.velocity; + this._useNativeDriver = (0, _NativeAnimatedHelper.shouldUseNativeDriver)(config); + this.__isInteraction = (_config$isInteraction = config.isInteraction) !== null && _config$isInteraction !== void 0 ? _config$isInteraction : !this._useNativeDriver; + this.__iterations = (_config$iterations = config.iterations) !== null && _config$iterations !== void 0 ? _config$iterations : 1; + } + __getNativeAnimationConfig() { + return { + type: "decay", + deceleration: this._deceleration, + velocity: this._velocity, + iterations: this.__iterations + }; + } + start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) { + this.__active = true; + this._lastValue = fromValue; + this._fromValue = fromValue; + this._onUpdate = onUpdate; + this.__onEnd = onEnd; + this._startTime = Date.now(); + if (this._useNativeDriver) { + this.__startNativeAnimation(animatedValue); + } else { + this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this)); + } + } + onUpdate() { + var now = Date.now(); + var value = this._fromValue + this._velocity / (1 - this._deceleration) * (1 - Math.exp(-(1 - this._deceleration) * (now - this._startTime))); + this._onUpdate(value); + if (Math.abs(this._lastValue - value) < 0.1) { + this.__debouncedOnEnd({ + finished: true + }); + return; + } + this._lastValue = value; + if (this.__active) { + this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this)); + } + } + stop() { + super.stop(); + this.__active = false; + global.cancelAnimationFrame(this._animationFrame); + this.__debouncedOnEnd({ + finished: false + }); + } + }; + __name(_DecayAnimation, "DecayAnimation"); + var DecayAnimation = _DecayAnimation; + var _default = DecayAnimation; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/SpringConfig.js +var require_SpringConfig = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/SpringConfig.js"(exports2, module2) { + "use strict"; + exports2.__esModule = true; + exports2.default = void 0; + function stiffnessFromOrigamiValue(oValue) { + return (oValue - 30) * 3.62 + 194; + } + __name(stiffnessFromOrigamiValue, "stiffnessFromOrigamiValue"); + function dampingFromOrigamiValue(oValue) { + return (oValue - 8) * 3 + 25; + } + __name(dampingFromOrigamiValue, "dampingFromOrigamiValue"); + function fromOrigamiTensionAndFriction(tension, friction) { + return { + stiffness: stiffnessFromOrigamiValue(tension), + damping: dampingFromOrigamiValue(friction) + }; + } + __name(fromOrigamiTensionAndFriction, "fromOrigamiTensionAndFriction"); + function fromBouncinessAndSpeed(bounciness, speed) { + function normalize(value, startValue, endValue) { + return (value - startValue) / (endValue - startValue); + } + __name(normalize, "normalize"); + function projectNormal(n, start, end) { + return start + n * (end - start); + } + __name(projectNormal, "projectNormal"); + function linearInterpolation(t, start, end) { + return t * end + (1 - t) * start; + } + __name(linearInterpolation, "linearInterpolation"); + function quadraticOutInterpolation(t, start, end) { + return linearInterpolation(2 * t - t * t, start, end); + } + __name(quadraticOutInterpolation, "quadraticOutInterpolation"); + function b3Friction1(x) { + return 7e-4 * Math.pow(x, 3) - 0.031 * Math.pow(x, 2) + 0.64 * x + 1.28; + } + __name(b3Friction1, "b3Friction1"); + function b3Friction2(x) { + return 44e-6 * Math.pow(x, 3) - 6e-3 * Math.pow(x, 2) + 0.36 * x + 2; + } + __name(b3Friction2, "b3Friction2"); + function b3Friction3(x) { + return 45e-8 * Math.pow(x, 3) - 332e-6 * Math.pow(x, 2) + 0.1078 * x + 5.84; + } + __name(b3Friction3, "b3Friction3"); + function b3Nobounce(tension) { + if (tension <= 18) { + return b3Friction1(tension); + } else if (tension > 18 && tension <= 44) { + return b3Friction2(tension); + } else { + return b3Friction3(tension); + } + } + __name(b3Nobounce, "b3Nobounce"); + var b = normalize(bounciness / 1.7, 0, 20); + b = projectNormal(b, 0, 0.8); + var s = normalize(speed / 1.7, 0, 20); + var bouncyTension = projectNormal(s, 0.5, 200); + var bouncyFriction = quadraticOutInterpolation(b, b3Nobounce(bouncyTension), 0.01); + return { + stiffness: stiffnessFromOrigamiValue(bouncyTension), + damping: dampingFromOrigamiValue(bouncyFriction) + }; + } + __name(fromBouncinessAndSpeed, "fromBouncinessAndSpeed"); + var _default = { + fromOrigamiTensionAndFriction, + fromBouncinessAndSpeed + }; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/nodes/AnimatedColor.js +var require_AnimatedColor = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/nodes/AnimatedColor.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _AnimatedValue = _interopRequireDefault(require_AnimatedValue()); + var _AnimatedWithChildren = _interopRequireDefault(require_AnimatedWithChildren()); + var _normalizeColors = _interopRequireDefault(require_normalize_colors()); + var _NativeAnimatedHelper = _interopRequireDefault(require_NativeAnimatedHelper()); + var NativeAnimatedAPI = _NativeAnimatedHelper.default.API; + var defaultColor = { + r: 0, + g: 0, + b: 0, + a: 1 + }; + var _uniqueId = 1; + var processColorObject = /* @__PURE__ */ __name((color) => { + return color; + }, "processColorObject"); + function processColor(color) { + if (color === void 0 || color === null) { + return null; + } + if (isRgbaValue(color)) { + return color; + } + var normalizedColor = (0, _normalizeColors.default)( + // $FlowIgnore[incompatible-cast] - Type is verified above + color + ); + if (normalizedColor === void 0 || normalizedColor === null) { + return null; + } + if (typeof normalizedColor === "object") { + var processedColorObj = processColorObject(normalizedColor); + if (processedColorObj != null) { + return processedColorObj; + } + } else if (typeof normalizedColor === "number") { + var r = (normalizedColor & 4278190080) >>> 24; + var g = (normalizedColor & 16711680) >>> 16; + var b = (normalizedColor & 65280) >>> 8; + var a = (normalizedColor & 255) / 255; + return { + r, + g, + b, + a + }; + } + return null; + } + __name(processColor, "processColor"); + function isRgbaValue(value) { + return value && typeof value.r === "number" && typeof value.g === "number" && typeof value.b === "number" && typeof value.a === "number"; + } + __name(isRgbaValue, "isRgbaValue"); + function isRgbaAnimatedValue(value) { + return value && value.r instanceof _AnimatedValue.default && value.g instanceof _AnimatedValue.default && value.b instanceof _AnimatedValue.default && value.a instanceof _AnimatedValue.default; + } + __name(isRgbaAnimatedValue, "isRgbaAnimatedValue"); + var _AnimatedColor = class _AnimatedColor extends _AnimatedWithChildren.default { + constructor(valueIn, config) { + super(); + this._listeners = {}; + var value = valueIn !== null && valueIn !== void 0 ? valueIn : defaultColor; + if (isRgbaAnimatedValue(value)) { + var rgbaAnimatedValue = value; + this.r = rgbaAnimatedValue.r; + this.g = rgbaAnimatedValue.g; + this.b = rgbaAnimatedValue.b; + this.a = rgbaAnimatedValue.a; + } else { + var _processColor; + var processedColor = ( + // $FlowIgnore[incompatible-cast] - Type is verified above + (_processColor = processColor(value)) !== null && _processColor !== void 0 ? _processColor : defaultColor + ); + var initColor = defaultColor; + if (isRgbaValue(processedColor)) { + initColor = processedColor; + } else { + this.nativeColor = processedColor; + } + this.r = new _AnimatedValue.default(initColor.r); + this.g = new _AnimatedValue.default(initColor.g); + this.b = new _AnimatedValue.default(initColor.b); + this.a = new _AnimatedValue.default(initColor.a); + } + if (this.nativeColor || config && config.useNativeDriver) { + this.__makeNative(); + } + } + /** + * Directly set the value. This will stop any animations running on the value + * and update all the bound properties. + */ + setValue(value) { + var _processColor2; + var shouldUpdateNodeConfig = false; + if (this.__isNative) { + var nativeTag = this.__getNativeTag(); + NativeAnimatedAPI.setWaitingForIdentifier(nativeTag.toString()); + } + var processedColor = (_processColor2 = processColor(value)) !== null && _processColor2 !== void 0 ? _processColor2 : defaultColor; + if (isRgbaValue(processedColor)) { + var rgbaValue = processedColor; + this.r.setValue(rgbaValue.r); + this.g.setValue(rgbaValue.g); + this.b.setValue(rgbaValue.b); + this.a.setValue(rgbaValue.a); + if (this.nativeColor != null) { + this.nativeColor = null; + shouldUpdateNodeConfig = true; + } + } else { + var nativeColor = processedColor; + if (this.nativeColor !== nativeColor) { + this.nativeColor = nativeColor; + shouldUpdateNodeConfig = true; + } + } + if (this.__isNative) { + var _nativeTag = this.__getNativeTag(); + if (shouldUpdateNodeConfig) { + NativeAnimatedAPI.updateAnimatedNodeConfig(_nativeTag, this.__getNativeConfig()); + } + NativeAnimatedAPI.unsetWaitingForIdentifier(_nativeTag.toString()); + } + } + /** + * Sets an offset that is applied on top of whatever value is set, whether + * via `setValue`, an animation, or `Animated.event`. Useful for compensating + * things like the start of a pan gesture. + */ + setOffset(offset4) { + this.r.setOffset(offset4.r); + this.g.setOffset(offset4.g); + this.b.setOffset(offset4.b); + this.a.setOffset(offset4.a); + } + /** + * Merges the offset value into the base value and resets the offset to zero. + * The final output of the value is unchanged. + */ + flattenOffset() { + this.r.flattenOffset(); + this.g.flattenOffset(); + this.b.flattenOffset(); + this.a.flattenOffset(); + } + /** + * Sets the offset value to the base value, and resets the base value to + * zero. The final output of the value is unchanged. + */ + extractOffset() { + this.r.extractOffset(); + this.g.extractOffset(); + this.b.extractOffset(); + this.a.extractOffset(); + } + /** + * Adds an asynchronous listener to the value so you can observe updates from + * animations. This is useful because there is no way to synchronously read + * the value because it might be driven natively. + * + * Returns a string that serves as an identifier for the listener. + */ + addListener(callback) { + var id = String(_uniqueId++); + var jointCallback = /* @__PURE__ */ __name((_ref) => { + var number = _ref.value; + callback(this.__getValue()); + }, "jointCallback"); + this._listeners[id] = { + r: this.r.addListener(jointCallback), + g: this.g.addListener(jointCallback), + b: this.b.addListener(jointCallback), + a: this.a.addListener(jointCallback) + }; + return id; + } + /** + * Unregister a listener. The `id` param shall match the identifier + * previously returned by `addListener()`. + */ + removeListener(id) { + this.r.removeListener(this._listeners[id].r); + this.g.removeListener(this._listeners[id].g); + this.b.removeListener(this._listeners[id].b); + this.a.removeListener(this._listeners[id].a); + delete this._listeners[id]; + } + /** + * Remove all registered listeners. + */ + removeAllListeners() { + this.r.removeAllListeners(); + this.g.removeAllListeners(); + this.b.removeAllListeners(); + this.a.removeAllListeners(); + this._listeners = {}; + } + /** + * Stops any running animation or tracking. `callback` is invoked with the + * final value after stopping the animation, which is useful for updating + * state to match the animation position with layout. + */ + stopAnimation(callback) { + this.r.stopAnimation(); + this.g.stopAnimation(); + this.b.stopAnimation(); + this.a.stopAnimation(); + callback && callback(this.__getValue()); + } + /** + * Stops any animation and resets the value to its original. + */ + resetAnimation(callback) { + this.r.resetAnimation(); + this.g.resetAnimation(); + this.b.resetAnimation(); + this.a.resetAnimation(); + callback && callback(this.__getValue()); + } + __getValue() { + if (this.nativeColor != null) { + return this.nativeColor; + } else { + return "rgba(" + this.r.__getValue() + ", " + this.g.__getValue() + ", " + this.b.__getValue() + ", " + this.a.__getValue() + ")"; + } + } + __attach() { + this.r.__addChild(this); + this.g.__addChild(this); + this.b.__addChild(this); + this.a.__addChild(this); + super.__attach(); + } + __detach() { + this.r.__removeChild(this); + this.g.__removeChild(this); + this.b.__removeChild(this); + this.a.__removeChild(this); + super.__detach(); + } + __makeNative(platformConfig) { + this.r.__makeNative(platformConfig); + this.g.__makeNative(platformConfig); + this.b.__makeNative(platformConfig); + this.a.__makeNative(platformConfig); + super.__makeNative(platformConfig); + } + __getNativeConfig() { + return { + type: "color", + r: this.r.__getNativeTag(), + g: this.g.__getNativeTag(), + b: this.b.__getNativeTag(), + a: this.a.__getNativeTag(), + nativeColor: this.nativeColor + }; + } + }; + __name(_AnimatedColor, "AnimatedColor"); + var AnimatedColor = _AnimatedColor; + exports2.default = AnimatedColor; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/animations/SpringAnimation.js +var require_SpringAnimation = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/animations/SpringAnimation.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _Animation = _interopRequireDefault(require_Animation()); + var _SpringConfig = _interopRequireDefault(require_SpringConfig()); + var _invariant = _interopRequireDefault(require_invariant()); + var _NativeAnimatedHelper = require_NativeAnimatedHelper(); + var _AnimatedColor = _interopRequireDefault(require_AnimatedColor()); + var _SpringAnimation = class _SpringAnimation extends _Animation.default { + constructor(config) { + var _config$overshootClam, _config$restDisplacem, _config$restSpeedThre, _config$velocity, _config$velocity2, _config$delay, _config$isInteraction, _config$iterations; + super(); + this._overshootClamping = (_config$overshootClam = config.overshootClamping) !== null && _config$overshootClam !== void 0 ? _config$overshootClam : false; + this._restDisplacementThreshold = (_config$restDisplacem = config.restDisplacementThreshold) !== null && _config$restDisplacem !== void 0 ? _config$restDisplacem : 1e-3; + this._restSpeedThreshold = (_config$restSpeedThre = config.restSpeedThreshold) !== null && _config$restSpeedThre !== void 0 ? _config$restSpeedThre : 1e-3; + this._initialVelocity = (_config$velocity = config.velocity) !== null && _config$velocity !== void 0 ? _config$velocity : 0; + this._lastVelocity = (_config$velocity2 = config.velocity) !== null && _config$velocity2 !== void 0 ? _config$velocity2 : 0; + this._toValue = config.toValue; + this._delay = (_config$delay = config.delay) !== null && _config$delay !== void 0 ? _config$delay : 0; + this._useNativeDriver = (0, _NativeAnimatedHelper.shouldUseNativeDriver)(config); + this._platformConfig = config.platformConfig; + this.__isInteraction = (_config$isInteraction = config.isInteraction) !== null && _config$isInteraction !== void 0 ? _config$isInteraction : !this._useNativeDriver; + this.__iterations = (_config$iterations = config.iterations) !== null && _config$iterations !== void 0 ? _config$iterations : 1; + if (config.stiffness !== void 0 || config.damping !== void 0 || config.mass !== void 0) { + var _config$stiffness, _config$damping, _config$mass; + (0, _invariant.default)(config.bounciness === void 0 && config.speed === void 0 && config.tension === void 0 && config.friction === void 0, "You can define one of bounciness/speed, tension/friction, or stiffness/damping/mass, but not more than one"); + this._stiffness = (_config$stiffness = config.stiffness) !== null && _config$stiffness !== void 0 ? _config$stiffness : 100; + this._damping = (_config$damping = config.damping) !== null && _config$damping !== void 0 ? _config$damping : 10; + this._mass = (_config$mass = config.mass) !== null && _config$mass !== void 0 ? _config$mass : 1; + } else if (config.bounciness !== void 0 || config.speed !== void 0) { + var _config$bounciness, _config$speed; + (0, _invariant.default)(config.tension === void 0 && config.friction === void 0 && config.stiffness === void 0 && config.damping === void 0 && config.mass === void 0, "You can define one of bounciness/speed, tension/friction, or stiffness/damping/mass, but not more than one"); + var springConfig = _SpringConfig.default.fromBouncinessAndSpeed((_config$bounciness = config.bounciness) !== null && _config$bounciness !== void 0 ? _config$bounciness : 8, (_config$speed = config.speed) !== null && _config$speed !== void 0 ? _config$speed : 12); + this._stiffness = springConfig.stiffness; + this._damping = springConfig.damping; + this._mass = 1; + } else { + var _config$tension, _config$friction; + var _springConfig = _SpringConfig.default.fromOrigamiTensionAndFriction((_config$tension = config.tension) !== null && _config$tension !== void 0 ? _config$tension : 40, (_config$friction = config.friction) !== null && _config$friction !== void 0 ? _config$friction : 7); + this._stiffness = _springConfig.stiffness; + this._damping = _springConfig.damping; + this._mass = 1; + } + (0, _invariant.default)(this._stiffness > 0, "Stiffness value must be greater than 0"); + (0, _invariant.default)(this._damping > 0, "Damping value must be greater than 0"); + (0, _invariant.default)(this._mass > 0, "Mass value must be greater than 0"); + } + __getNativeAnimationConfig() { + var _this$_initialVelocit; + return { + type: "spring", + overshootClamping: this._overshootClamping, + restDisplacementThreshold: this._restDisplacementThreshold, + restSpeedThreshold: this._restSpeedThreshold, + stiffness: this._stiffness, + damping: this._damping, + mass: this._mass, + initialVelocity: (_this$_initialVelocit = this._initialVelocity) !== null && _this$_initialVelocit !== void 0 ? _this$_initialVelocit : this._lastVelocity, + toValue: this._toValue, + iterations: this.__iterations, + platformConfig: this._platformConfig + }; + } + start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) { + this.__active = true; + this._startPosition = fromValue; + this._lastPosition = this._startPosition; + this._onUpdate = onUpdate; + this.__onEnd = onEnd; + this._lastTime = Date.now(); + this._frameTime = 0; + if (previousAnimation instanceof _SpringAnimation) { + var internalState = previousAnimation.getInternalState(); + this._lastPosition = internalState.lastPosition; + this._lastVelocity = internalState.lastVelocity; + this._initialVelocity = this._lastVelocity; + this._lastTime = internalState.lastTime; + } + var start = /* @__PURE__ */ __name(() => { + if (this._useNativeDriver) { + this.__startNativeAnimation(animatedValue); + } else { + this.onUpdate(); + } + }, "start"); + if (this._delay) { + this._timeout = setTimeout(start, this._delay); + } else { + start(); + } + } + getInternalState() { + return { + lastPosition: this._lastPosition, + lastVelocity: this._lastVelocity, + lastTime: this._lastTime + }; + } + /** + * This spring model is based off of a damped harmonic oscillator + * (https://en.wikipedia.org/wiki/Harmonic_oscillator#Damped_harmonic_oscillator). + * + * We use the closed form of the second order differential equation: + * + * x'' + (2ζ⍵_0)x' + ⍵^2x = 0 + * + * where + * ⍵_0 = √(k / m) (undamped angular frequency of the oscillator), + * ζ = c / 2√mk (damping ratio), + * c = damping constant + * k = stiffness + * m = mass + * + * The derivation of the closed form is described in detail here: + * http://planetmath.org/sites/default/files/texpdf/39745.pdf + * + * This algorithm happens to match the algorithm used by CASpringAnimation, + * a QuartzCore (iOS) API that creates spring animations. + */ + onUpdate() { + var MAX_STEPS = 64; + var now = Date.now(); + if (now > this._lastTime + MAX_STEPS) { + now = this._lastTime + MAX_STEPS; + } + var deltaTime = (now - this._lastTime) / 1e3; + this._frameTime += deltaTime; + var c = this._damping; + var m = this._mass; + var k = this._stiffness; + var v0 = -this._initialVelocity; + var zeta = c / (2 * Math.sqrt(k * m)); + var omega0 = Math.sqrt(k / m); + var omega1 = omega0 * Math.sqrt(1 - zeta * zeta); + var x0 = this._toValue - this._startPosition; + var position = 0; + var velocity = 0; + var t = this._frameTime; + if (zeta < 1) { + var envelope = Math.exp(-zeta * omega0 * t); + position = this._toValue - envelope * ((v0 + zeta * omega0 * x0) / omega1 * Math.sin(omega1 * t) + x0 * Math.cos(omega1 * t)); + velocity = zeta * omega0 * envelope * (Math.sin(omega1 * t) * (v0 + zeta * omega0 * x0) / omega1 + x0 * Math.cos(omega1 * t)) - envelope * (Math.cos(omega1 * t) * (v0 + zeta * omega0 * x0) - omega1 * x0 * Math.sin(omega1 * t)); + } else { + var _envelope = Math.exp(-omega0 * t); + position = this._toValue - _envelope * (x0 + (v0 + omega0 * x0) * t); + velocity = _envelope * (v0 * (t * omega0 - 1) + t * x0 * (omega0 * omega0)); + } + this._lastTime = now; + this._lastPosition = position; + this._lastVelocity = velocity; + this._onUpdate(position); + if (!this.__active) { + return; + } + var isOvershooting = false; + if (this._overshootClamping && this._stiffness !== 0) { + if (this._startPosition < this._toValue) { + isOvershooting = position > this._toValue; + } else { + isOvershooting = position < this._toValue; + } + } + var isVelocity = Math.abs(velocity) <= this._restSpeedThreshold; + var isDisplacement = true; + if (this._stiffness !== 0) { + isDisplacement = Math.abs(this._toValue - position) <= this._restDisplacementThreshold; + } + if (isOvershooting || isVelocity && isDisplacement) { + if (this._stiffness !== 0) { + this._lastPosition = this._toValue; + this._lastVelocity = 0; + this._onUpdate(this._toValue); + } + this.__debouncedOnEnd({ + finished: true + }); + return; + } + this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this)); + } + stop() { + super.stop(); + this.__active = false; + clearTimeout(this._timeout); + global.cancelAnimationFrame(this._animationFrame); + this.__debouncedOnEnd({ + finished: false + }); + } + }; + __name(_SpringAnimation, "SpringAnimation"); + var SpringAnimation = _SpringAnimation; + var _default = SpringAnimation; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/bezier.js +var require_bezier = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/bezier.js"(exports2, module2) { + "use strict"; + exports2.__esModule = true; + exports2.default = bezier; + var NEWTON_ITERATIONS = 4; + var NEWTON_MIN_SLOPE = 1e-3; + var SUBDIVISION_PRECISION = 1e-7; + var SUBDIVISION_MAX_ITERATIONS = 10; + var kSplineTableSize = 11; + var kSampleStepSize = 1 / (kSplineTableSize - 1); + var float32ArraySupported = typeof Float32Array === "function"; + function A(aA1, aA2) { + return 1 - 3 * aA2 + 3 * aA1; + } + __name(A, "A"); + function B(aA1, aA2) { + return 3 * aA2 - 6 * aA1; + } + __name(B, "B"); + function C(aA1) { + return 3 * aA1; + } + __name(C, "C"); + function calcBezier(aT, aA1, aA2) { + return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT; + } + __name(calcBezier, "calcBezier"); + function getSlope(aT, aA1, aA2) { + return 3 * A(aA1, aA2) * aT * aT + 2 * B(aA1, aA2) * aT + C(aA1); + } + __name(getSlope, "getSlope"); + function binarySubdivide(aX, _aA, _aB, mX1, mX2) { + var currentX, currentT, i = 0, aA = _aA, aB = _aB; + do { + currentT = aA + (aB - aA) / 2; + currentX = calcBezier(currentT, mX1, mX2) - aX; + if (currentX > 0) { + aB = currentT; + } else { + aA = currentT; + } + } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS); + return currentT; + } + __name(binarySubdivide, "binarySubdivide"); + function newtonRaphsonIterate(aX, _aGuessT, mX1, mX2) { + var aGuessT = _aGuessT; + for (var i = 0; i < NEWTON_ITERATIONS; ++i) { + var currentSlope = getSlope(aGuessT, mX1, mX2); + if (currentSlope === 0) { + return aGuessT; + } + var currentX = calcBezier(aGuessT, mX1, mX2) - aX; + aGuessT -= currentX / currentSlope; + } + return aGuessT; + } + __name(newtonRaphsonIterate, "newtonRaphsonIterate"); + function bezier(mX1, mY1, mX2, mY2) { + if (!(mX1 >= 0 && mX1 <= 1 && mX2 >= 0 && mX2 <= 1)) { + throw new Error("bezier x values must be in [0, 1] range"); + } + var sampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize); + if (mX1 !== mY1 || mX2 !== mY2) { + for (var i = 0; i < kSplineTableSize; ++i) { + sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2); + } + } + function getTForX(aX) { + var intervalStart = 0; + var currentSample = 1; + var lastSample = kSplineTableSize - 1; + for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) { + intervalStart += kSampleStepSize; + } + --currentSample; + var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]); + var guessForT = intervalStart + dist * kSampleStepSize; + var initialSlope = getSlope(guessForT, mX1, mX2); + if (initialSlope >= NEWTON_MIN_SLOPE) { + return newtonRaphsonIterate(aX, guessForT, mX1, mX2); + } else if (initialSlope === 0) { + return guessForT; + } else { + return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2); + } + } + __name(getTForX, "getTForX"); + return /* @__PURE__ */ __name(function BezierEasing(x) { + if (mX1 === mY1 && mX2 === mY2) { + return x; + } + if (x === 0) { + return 0; + } + if (x === 1) { + return 1; + } + return calcBezier(getTForX(x), mY1, mY2); + }, "BezierEasing"); + } + __name(bezier, "bezier"); + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/Easing.js +var require_Easing = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/Easing.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _bezier2 = _interopRequireDefault(require_bezier()); + var ease; + var _Easing = class _Easing { + /** + * A stepping function, returns 1 for any positive value of `n`. + */ + static step0(n) { + return n > 0 ? 1 : 0; + } + /** + * A stepping function, returns 1 if `n` is greater than or equal to 1. + */ + static step1(n) { + return n >= 1 ? 1 : 0; + } + /** + * A linear function, `f(t) = t`. Position correlates to elapsed time one to + * one. + * + * http://cubic-bezier.com/#0,0,1,1 + */ + static linear(t) { + return t; + } + /** + * A simple inertial interaction, similar to an object slowly accelerating to + * speed. + * + * http://cubic-bezier.com/#.42,0,1,1 + */ + static ease(t) { + if (!ease) { + ease = _Easing.bezier(0.42, 0, 1, 1); + } + return ease(t); + } + /** + * A quadratic function, `f(t) = t * t`. Position equals the square of elapsed + * time. + * + * http://easings.net/#easeInQuad + */ + static quad(t) { + return t * t; + } + /** + * A cubic function, `f(t) = t * t * t`. Position equals the cube of elapsed + * time. + * + * http://easings.net/#easeInCubic + */ + static cubic(t) { + return t * t * t; + } + /** + * A power function. Position is equal to the Nth power of elapsed time. + * + * n = 4: http://easings.net/#easeInQuart + * n = 5: http://easings.net/#easeInQuint + */ + static poly(n) { + return (t) => Math.pow(t, n); + } + /** + * A sinusoidal function. + * + * http://easings.net/#easeInSine + */ + static sin(t) { + return 1 - Math.cos(t * Math.PI / 2); + } + /** + * A circular function. + * + * http://easings.net/#easeInCirc + */ + static circle(t) { + return 1 - Math.sqrt(1 - t * t); + } + /** + * An exponential function. + * + * http://easings.net/#easeInExpo + */ + static exp(t) { + return Math.pow(2, 10 * (t - 1)); + } + /** + * A simple elastic interaction, similar to a spring oscillating back and + * forth. + * + * Default bounciness is 1, which overshoots a little bit once. 0 bounciness + * doesn't overshoot at all, and bounciness of N > 1 will overshoot about N + * times. + * + * http://easings.net/#easeInElastic + */ + static elastic(bounciness) { + if (bounciness === void 0) { + bounciness = 1; + } + var p = bounciness * Math.PI; + return (t) => 1 - Math.pow(Math.cos(t * Math.PI / 2), 3) * Math.cos(t * p); + } + /** + * Use with `Animated.parallel()` to create a simple effect where the object + * animates back slightly as the animation starts. + * + * Wolfram Plot: + * + * - http://tiny.cc/back_default (s = 1.70158, default) + */ + static back(s) { + if (s === void 0) { + s = 1.70158; + } + return (t) => t * t * ((s + 1) * t - s); + } + /** + * Provides a simple bouncing effect. + * + * http://easings.net/#easeInBounce + */ + static bounce(t) { + if (t < 1 / 2.75) { + return 7.5625 * t * t; + } + if (t < 2 / 2.75) { + var _t = t - 1.5 / 2.75; + return 7.5625 * _t * _t + 0.75; + } + if (t < 2.5 / 2.75) { + var _t2 = t - 2.25 / 2.75; + return 7.5625 * _t2 * _t2 + 0.9375; + } + var t2 = t - 2.625 / 2.75; + return 7.5625 * t2 * t2 + 0.984375; + } + /** + * Provides a cubic bezier curve, equivalent to CSS Transitions' + * `transition-timing-function`. + * + * A useful tool to visualize cubic bezier curves can be found at + * http://cubic-bezier.com/ + */ + static bezier(x1, y1, x2, y2) { + return (0, _bezier2.default)(x1, y1, x2, y2); + } + /** + * Runs an easing function forwards. + */ + static in(easing) { + return easing; + } + /** + * Runs an easing function backwards. + */ + static out(easing) { + return (t) => 1 - easing(1 - t); + } + /** + * Makes any easing function symmetrical. The easing function will run + * forwards for half of the duration, then backwards for the rest of the + * duration. + */ + static inOut(easing) { + return (t) => { + if (t < 0.5) { + return easing(t * 2) / 2; + } + return 1 - easing((1 - t) * 2) / 2; + }; + } + }; + __name(_Easing, "Easing"); + var Easing = _Easing; + var _default = Easing; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/Easing/index.js +var require_Easing2 = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/Easing/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _Easing = _interopRequireDefault(require_Easing()); + var _default = _Easing.default; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/animations/TimingAnimation.js +var require_TimingAnimation = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/animations/TimingAnimation.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _AnimatedValue = _interopRequireDefault(require_AnimatedValue()); + var _AnimatedValueXY = _interopRequireDefault(require_AnimatedValueXY()); + var _AnimatedInterpolation = _interopRequireDefault(require_AnimatedInterpolation()); + var _Easing = _interopRequireDefault(require_Easing2()); + var _Animation = _interopRequireDefault(require_Animation()); + var _NativeAnimatedHelper = require_NativeAnimatedHelper(); + var _AnimatedColor = _interopRequireDefault(require_AnimatedColor()); + var _easeInOut; + function easeInOut() { + if (!_easeInOut) { + _easeInOut = _Easing.default.inOut(_Easing.default.ease); + } + return _easeInOut; + } + __name(easeInOut, "easeInOut"); + var _TimingAnimation = class _TimingAnimation extends _Animation.default { + constructor(config) { + var _config$easing, _config$duration, _config$delay, _config$iterations, _config$isInteraction; + super(); + this._toValue = config.toValue; + this._easing = (_config$easing = config.easing) !== null && _config$easing !== void 0 ? _config$easing : easeInOut(); + this._duration = (_config$duration = config.duration) !== null && _config$duration !== void 0 ? _config$duration : 500; + this._delay = (_config$delay = config.delay) !== null && _config$delay !== void 0 ? _config$delay : 0; + this.__iterations = (_config$iterations = config.iterations) !== null && _config$iterations !== void 0 ? _config$iterations : 1; + this._useNativeDriver = (0, _NativeAnimatedHelper.shouldUseNativeDriver)(config); + this._platformConfig = config.platformConfig; + this.__isInteraction = (_config$isInteraction = config.isInteraction) !== null && _config$isInteraction !== void 0 ? _config$isInteraction : !this._useNativeDriver; + } + __getNativeAnimationConfig() { + var frameDuration = 1e3 / 60; + var frames = []; + var numFrames = Math.round(this._duration / frameDuration); + for (var frame = 0; frame < numFrames; frame++) { + frames.push(this._easing(frame / numFrames)); + } + frames.push(this._easing(1)); + return { + type: "frames", + frames, + toValue: this._toValue, + iterations: this.__iterations, + platformConfig: this._platformConfig + }; + } + start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) { + this.__active = true; + this._fromValue = fromValue; + this._onUpdate = onUpdate; + this.__onEnd = onEnd; + var start = /* @__PURE__ */ __name(() => { + if (this._duration === 0 && !this._useNativeDriver) { + this._onUpdate(this._toValue); + this.__debouncedOnEnd({ + finished: true + }); + } else { + this._startTime = Date.now(); + if (this._useNativeDriver) { + this.__startNativeAnimation(animatedValue); + } else { + this._animationFrame = requestAnimationFrame( + // $FlowFixMe[method-unbinding] added when improving typing for this parameters + this.onUpdate.bind(this) + ); + } + } + }, "start"); + if (this._delay) { + this._timeout = setTimeout(start, this._delay); + } else { + start(); + } + } + onUpdate() { + var now = Date.now(); + if (now >= this._startTime + this._duration) { + if (this._duration === 0) { + this._onUpdate(this._toValue); + } else { + this._onUpdate(this._fromValue + this._easing(1) * (this._toValue - this._fromValue)); + } + this.__debouncedOnEnd({ + finished: true + }); + return; + } + this._onUpdate(this._fromValue + this._easing((now - this._startTime) / this._duration) * (this._toValue - this._fromValue)); + if (this.__active) { + this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this)); + } + } + stop() { + super.stop(); + this.__active = false; + clearTimeout(this._timeout); + global.cancelAnimationFrame(this._animationFrame); + this.__debouncedOnEnd({ + finished: false + }); + } + }; + __name(_TimingAnimation, "TimingAnimation"); + var TimingAnimation = _TimingAnimation; + var _default = TimingAnimation; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/AnimatedImplementation.js +var require_AnimatedImplementation = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/AnimatedImplementation.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _objectSpread2 = _interopRequireDefault(require_objectSpread2()); + var _AnimatedEvent = require_AnimatedEvent(); + var _AnimatedAddition = _interopRequireDefault(require_AnimatedAddition()); + var _AnimatedDiffClamp = _interopRequireDefault(require_AnimatedDiffClamp()); + var _AnimatedDivision = _interopRequireDefault(require_AnimatedDivision()); + var _AnimatedInterpolation = _interopRequireDefault(require_AnimatedInterpolation()); + var _AnimatedModulo = _interopRequireDefault(require_AnimatedModulo()); + var _AnimatedMultiplication = _interopRequireDefault(require_AnimatedMultiplication()); + var _AnimatedNode = _interopRequireDefault(require_AnimatedNode()); + var _AnimatedProps = _interopRequireDefault(require_AnimatedProps()); + var _AnimatedSubtraction = _interopRequireDefault(require_AnimatedSubtraction()); + var _AnimatedTracking = _interopRequireDefault(require_AnimatedTracking()); + var _AnimatedValue = _interopRequireDefault(require_AnimatedValue()); + var _AnimatedValueXY = _interopRequireDefault(require_AnimatedValueXY()); + var _DecayAnimation = _interopRequireDefault(require_DecayAnimation()); + var _SpringAnimation = _interopRequireDefault(require_SpringAnimation()); + var _TimingAnimation = _interopRequireDefault(require_TimingAnimation()); + var _createAnimatedComponent = _interopRequireDefault(require_createAnimatedComponent()); + var _AnimatedColor = _interopRequireDefault(require_AnimatedColor()); + var add = /* @__PURE__ */ __name(function add2(a, b) { + return new _AnimatedAddition.default(a, b); + }, "add"); + var subtract = /* @__PURE__ */ __name(function subtract2(a, b) { + return new _AnimatedSubtraction.default(a, b); + }, "subtract"); + var divide = /* @__PURE__ */ __name(function divide2(a, b) { + return new _AnimatedDivision.default(a, b); + }, "divide"); + var multiply = /* @__PURE__ */ __name(function multiply2(a, b) { + return new _AnimatedMultiplication.default(a, b); + }, "multiply"); + var modulo = /* @__PURE__ */ __name(function modulo2(a, modulus) { + return new _AnimatedModulo.default(a, modulus); + }, "modulo"); + var diffClamp = /* @__PURE__ */ __name(function diffClamp2(a, min2, max2) { + return new _AnimatedDiffClamp.default(a, min2, max2); + }, "diffClamp"); + var _combineCallbacks = /* @__PURE__ */ __name(function _combineCallbacks2(callback, config) { + if (callback && config.onComplete) { + return function() { + config.onComplete && config.onComplete(...arguments); + callback && callback(...arguments); + }; + } else { + return callback || config.onComplete; + } + }, "_combineCallbacks"); + var maybeVectorAnim = /* @__PURE__ */ __name(function maybeVectorAnim2(value, config, anim) { + if (value instanceof _AnimatedValueXY.default) { + var configX = (0, _objectSpread2.default)({}, config); + var configY = (0, _objectSpread2.default)({}, config); + for (var key in config) { + var _config$key = config[key], x = _config$key.x, y = _config$key.y; + if (x !== void 0 && y !== void 0) { + configX[key] = x; + configY[key] = y; + } + } + var aX = anim(value.x, configX); + var aY = anim(value.y, configY); + return parallel([aX, aY], { + stopTogether: false + }); + } else if (value instanceof _AnimatedColor.default) { + var configR = (0, _objectSpread2.default)({}, config); + var configG = (0, _objectSpread2.default)({}, config); + var configB = (0, _objectSpread2.default)({}, config); + var configA = (0, _objectSpread2.default)({}, config); + for (var _key in config) { + var _config$_key = config[_key], r = _config$_key.r, g = _config$_key.g, b = _config$_key.b, a = _config$_key.a; + if (r !== void 0 && g !== void 0 && b !== void 0 && a !== void 0) { + configR[_key] = r; + configG[_key] = g; + configB[_key] = b; + configA[_key] = a; + } + } + var aR = anim(value.r, configR); + var aG = anim(value.g, configG); + var aB = anim(value.b, configB); + var aA = anim(value.a, configA); + return parallel([aR, aG, aB, aA], { + stopTogether: false + }); + } + return null; + }, "maybeVectorAnim"); + var spring = /* @__PURE__ */ __name(function spring2(value, config) { + var _start = /* @__PURE__ */ __name(function start(animatedValue, configuration, callback) { + callback = _combineCallbacks(callback, configuration); + var singleValue = animatedValue; + var singleConfig = configuration; + singleValue.stopTracking(); + if (configuration.toValue instanceof _AnimatedNode.default) { + singleValue.track(new _AnimatedTracking.default(singleValue, configuration.toValue, _SpringAnimation.default, singleConfig, callback)); + } else { + singleValue.animate(new _SpringAnimation.default(singleConfig), callback); + } + }, "start"); + return maybeVectorAnim(value, config, spring2) || { + start: /* @__PURE__ */ __name(function start(callback) { + _start(value, config, callback); + }, "start"), + stop: /* @__PURE__ */ __name(function stop() { + value.stopAnimation(); + }, "stop"), + reset: /* @__PURE__ */ __name(function reset() { + value.resetAnimation(); + }, "reset"), + _startNativeLoop: /* @__PURE__ */ __name(function _startNativeLoop(iterations) { + var singleConfig = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, config), {}, { + iterations + }); + _start(value, singleConfig); + }, "_startNativeLoop"), + _isUsingNativeDriver: /* @__PURE__ */ __name(function _isUsingNativeDriver() { + return config.useNativeDriver || false; + }, "_isUsingNativeDriver") + }; + }, "spring"); + var timing = /* @__PURE__ */ __name(function timing2(value, config) { + var _start2 = /* @__PURE__ */ __name(function start(animatedValue, configuration, callback) { + callback = _combineCallbacks(callback, configuration); + var singleValue = animatedValue; + var singleConfig = configuration; + singleValue.stopTracking(); + if (configuration.toValue instanceof _AnimatedNode.default) { + singleValue.track(new _AnimatedTracking.default(singleValue, configuration.toValue, _TimingAnimation.default, singleConfig, callback)); + } else { + singleValue.animate(new _TimingAnimation.default(singleConfig), callback); + } + }, "start"); + return maybeVectorAnim(value, config, timing2) || { + start: /* @__PURE__ */ __name(function start(callback) { + _start2(value, config, callback); + }, "start"), + stop: /* @__PURE__ */ __name(function stop() { + value.stopAnimation(); + }, "stop"), + reset: /* @__PURE__ */ __name(function reset() { + value.resetAnimation(); + }, "reset"), + _startNativeLoop: /* @__PURE__ */ __name(function _startNativeLoop(iterations) { + var singleConfig = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, config), {}, { + iterations + }); + _start2(value, singleConfig); + }, "_startNativeLoop"), + _isUsingNativeDriver: /* @__PURE__ */ __name(function _isUsingNativeDriver() { + return config.useNativeDriver || false; + }, "_isUsingNativeDriver") + }; + }, "timing"); + var decay = /* @__PURE__ */ __name(function decay2(value, config) { + var _start3 = /* @__PURE__ */ __name(function start(animatedValue, configuration, callback) { + callback = _combineCallbacks(callback, configuration); + var singleValue = animatedValue; + var singleConfig = configuration; + singleValue.stopTracking(); + singleValue.animate(new _DecayAnimation.default(singleConfig), callback); + }, "start"); + return maybeVectorAnim(value, config, decay2) || { + start: /* @__PURE__ */ __name(function start(callback) { + _start3(value, config, callback); + }, "start"), + stop: /* @__PURE__ */ __name(function stop() { + value.stopAnimation(); + }, "stop"), + reset: /* @__PURE__ */ __name(function reset() { + value.resetAnimation(); + }, "reset"), + _startNativeLoop: /* @__PURE__ */ __name(function _startNativeLoop(iterations) { + var singleConfig = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, config), {}, { + iterations + }); + _start3(value, singleConfig); + }, "_startNativeLoop"), + _isUsingNativeDriver: /* @__PURE__ */ __name(function _isUsingNativeDriver() { + return config.useNativeDriver || false; + }, "_isUsingNativeDriver") + }; + }, "decay"); + var sequence = /* @__PURE__ */ __name(function sequence2(animations) { + var current = 0; + return { + start: /* @__PURE__ */ __name(function start(callback) { + var onComplete = /* @__PURE__ */ __name(function onComplete2(result) { + if (!result.finished) { + callback && callback(result); + return; + } + current++; + if (current === animations.length) { + callback && callback(result); + return; + } + animations[current].start(onComplete2); + }, "onComplete"); + if (animations.length === 0) { + callback && callback({ + finished: true + }); + } else { + animations[current].start(onComplete); + } + }, "start"), + stop: /* @__PURE__ */ __name(function stop() { + if (current < animations.length) { + animations[current].stop(); + } + }, "stop"), + reset: /* @__PURE__ */ __name(function reset() { + animations.forEach((animation, idx) => { + if (idx <= current) { + animation.reset(); + } + }); + current = 0; + }, "reset"), + _startNativeLoop: /* @__PURE__ */ __name(function _startNativeLoop() { + throw new Error("Loops run using the native driver cannot contain Animated.sequence animations"); + }, "_startNativeLoop"), + _isUsingNativeDriver: /* @__PURE__ */ __name(function _isUsingNativeDriver() { + return false; + }, "_isUsingNativeDriver") + }; + }, "sequence"); + var parallel = /* @__PURE__ */ __name(function parallel2(animations, config) { + var doneCount = 0; + var hasEnded = {}; + var stopTogether = !(config && config.stopTogether === false); + var result = { + start: /* @__PURE__ */ __name(function start(callback) { + if (doneCount === animations.length) { + callback && callback({ + finished: true + }); + return; + } + animations.forEach((animation, idx) => { + var cb = /* @__PURE__ */ __name(function cb2(endResult) { + hasEnded[idx] = true; + doneCount++; + if (doneCount === animations.length) { + doneCount = 0; + callback && callback(endResult); + return; + } + if (!endResult.finished && stopTogether) { + result.stop(); + } + }, "cb"); + if (!animation) { + cb({ + finished: true + }); + } else { + animation.start(cb); + } + }); + }, "start"), + stop: /* @__PURE__ */ __name(function stop() { + animations.forEach((animation, idx) => { + !hasEnded[idx] && animation.stop(); + hasEnded[idx] = true; + }); + }, "stop"), + reset: /* @__PURE__ */ __name(function reset() { + animations.forEach((animation, idx) => { + animation.reset(); + hasEnded[idx] = false; + doneCount = 0; + }); + }, "reset"), + _startNativeLoop: /* @__PURE__ */ __name(function _startNativeLoop() { + throw new Error("Loops run using the native driver cannot contain Animated.parallel animations"); + }, "_startNativeLoop"), + _isUsingNativeDriver: /* @__PURE__ */ __name(function _isUsingNativeDriver() { + return false; + }, "_isUsingNativeDriver") + }; + return result; + }, "parallel"); + var delay = /* @__PURE__ */ __name(function delay2(time) { + return timing(new _AnimatedValue.default(0), { + toValue: 0, + delay: time, + duration: 0, + useNativeDriver: false + }); + }, "delay"); + var stagger = /* @__PURE__ */ __name(function stagger2(time, animations) { + return parallel(animations.map((animation, i) => { + return sequence([delay(time * i), animation]); + })); + }, "stagger"); + var loop = /* @__PURE__ */ __name(function loop2(animation, _temp) { + var _ref = _temp === void 0 ? {} : _temp, _ref$iterations = _ref.iterations, iterations = _ref$iterations === void 0 ? -1 : _ref$iterations, _ref$resetBeforeItera = _ref.resetBeforeIteration, resetBeforeIteration = _ref$resetBeforeItera === void 0 ? true : _ref$resetBeforeItera; + var isFinished = false; + var iterationsSoFar = 0; + return { + start: /* @__PURE__ */ __name(function start(callback) { + var restart = /* @__PURE__ */ __name(function restart2(result) { + if (result === void 0) { + result = { + finished: true + }; + } + if (isFinished || iterationsSoFar === iterations || result.finished === false) { + callback && callback(result); + } else { + iterationsSoFar++; + resetBeforeIteration && animation.reset(); + animation.start(restart2); + } + }, "restart"); + if (!animation || iterations === 0) { + callback && callback({ + finished: true + }); + } else { + if (animation._isUsingNativeDriver()) { + animation._startNativeLoop(iterations); + } else { + restart(); + } + } + }, "start"), + stop: /* @__PURE__ */ __name(function stop() { + isFinished = true; + animation.stop(); + }, "stop"), + reset: /* @__PURE__ */ __name(function reset() { + iterationsSoFar = 0; + isFinished = false; + animation.reset(); + }, "reset"), + _startNativeLoop: /* @__PURE__ */ __name(function _startNativeLoop() { + throw new Error("Loops run using the native driver cannot contain Animated.loop animations"); + }, "_startNativeLoop"), + _isUsingNativeDriver: /* @__PURE__ */ __name(function _isUsingNativeDriver() { + return animation._isUsingNativeDriver(); + }, "_isUsingNativeDriver") + }; + }, "loop"); + function forkEvent(event2, listener) { + if (!event2) { + return listener; + } else if (event2 instanceof _AnimatedEvent.AnimatedEvent) { + event2.__addListener(listener); + return event2; + } else { + return function() { + typeof event2 === "function" && event2(...arguments); + listener(...arguments); + }; + } + } + __name(forkEvent, "forkEvent"); + function unforkEvent(event2, listener) { + if (event2 && event2 instanceof _AnimatedEvent.AnimatedEvent) { + event2.__removeListener(listener); + } + } + __name(unforkEvent, "unforkEvent"); + var event = /* @__PURE__ */ __name(function event2(argMapping, config) { + var animatedEvent = new _AnimatedEvent.AnimatedEvent(argMapping, config); + if (animatedEvent.__isNative) { + return animatedEvent; + } else { + return animatedEvent.__getHandler(); + } + }, "event"); + var _default = { + /** + * Standard value class for driving animations. Typically initialized with + * `new Animated.Value(0);` + * + * See https://reactnative.dev/docs/animated#value + */ + Value: _AnimatedValue.default, + /** + * 2D value class for driving 2D animations, such as pan gestures. + * + * See https://reactnative.dev/docs/animatedvaluexy + */ + ValueXY: _AnimatedValueXY.default, + /** + * Value class for driving color animations. + */ + Color: _AnimatedColor.default, + /** + * Exported to use the Interpolation type in flow. + * + * See https://reactnative.dev/docs/animated#interpolation + */ + Interpolation: _AnimatedInterpolation.default, + /** + * Exported for ease of type checking. All animated values derive from this + * class. + * + * See https://reactnative.dev/docs/animated#node + */ + Node: _AnimatedNode.default, + /** + * Animates a value from an initial velocity to zero based on a decay + * coefficient. + * + * See https://reactnative.dev/docs/animated#decay + */ + decay, + /** + * Animates a value along a timed easing curve. The Easing module has tons of + * predefined curves, or you can use your own function. + * + * See https://reactnative.dev/docs/animated#timing + */ + timing, + /** + * Animates a value according to an analytical spring model based on + * damped harmonic oscillation. + * + * See https://reactnative.dev/docs/animated#spring + */ + spring, + /** + * Creates a new Animated value composed from two Animated values added + * together. + * + * See https://reactnative.dev/docs/animated#add + */ + add, + /** + * Creates a new Animated value composed by subtracting the second Animated + * value from the first Animated value. + * + * See https://reactnative.dev/docs/animated#subtract + */ + subtract, + /** + * Creates a new Animated value composed by dividing the first Animated value + * by the second Animated value. + * + * See https://reactnative.dev/docs/animated#divide + */ + divide, + /** + * Creates a new Animated value composed from two Animated values multiplied + * together. + * + * See https://reactnative.dev/docs/animated#multiply + */ + multiply, + /** + * Creates a new Animated value that is the (non-negative) modulo of the + * provided Animated value. + * + * See https://reactnative.dev/docs/animated#modulo + */ + modulo, + /** + * Create a new Animated value that is limited between 2 values. It uses the + * difference between the last value so even if the value is far from the + * bounds it will start changing when the value starts getting closer again. + * + * See https://reactnative.dev/docs/animated#diffclamp + */ + diffClamp, + /** + * Starts an animation after the given delay. + * + * See https://reactnative.dev/docs/animated#delay + */ + delay, + /** + * Starts an array of animations in order, waiting for each to complete + * before starting the next. If the current running animation is stopped, no + * following animations will be started. + * + * See https://reactnative.dev/docs/animated#sequence + */ + sequence, + /** + * Starts an array of animations all at the same time. By default, if one + * of the animations is stopped, they will all be stopped. You can override + * this with the `stopTogether` flag. + * + * See https://reactnative.dev/docs/animated#parallel + */ + parallel, + /** + * Array of animations may run in parallel (overlap), but are started in + * sequence with successive delays. Nice for doing trailing effects. + * + * See https://reactnative.dev/docs/animated#stagger + */ + stagger, + /** + * Loops a given animation continuously, so that each time it reaches the + * end, it resets and begins again from the start. + * + * See https://reactnative.dev/docs/animated#loop + */ + loop, + /** + * Takes an array of mappings and extracts values from each arg accordingly, + * then calls `setValue` on the mapped outputs. + * + * See https://reactnative.dev/docs/animated#event + */ + event, + /** + * Make any React component Animatable. Used to create `Animated.View`, etc. + * + * See https://reactnative.dev/docs/animated#createanimatedcomponent + */ + createAnimatedComponent: _createAnimatedComponent.default, + /** + * Imperative API to attach an animated value to an event on a view. Prefer + * using `Animated.event` with `useNativeDrive: true` if possible. + * + * See https://reactnative.dev/docs/animated#attachnativeevent + */ + attachNativeEvent: _AnimatedEvent.attachNativeEvent, + /** + * Advanced imperative API for snooping on animated events that are passed in + * through props. Use values directly where possible. + * + * See https://reactnative.dev/docs/animated#forkevent + */ + forkEvent, + unforkEvent, + /** + * Expose Event class, so it can be used as a type for type checkers. + */ + Event: _AnimatedEvent.AnimatedEvent + }; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/AnimatedMock.js +var require_AnimatedMock = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/AnimatedMock.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _objectSpread2 = _interopRequireDefault(require_objectSpread2()); + var _AnimatedEvent = require_AnimatedEvent(); + var _AnimatedImplementation = _interopRequireDefault(require_AnimatedImplementation()); + var _AnimatedInterpolation = _interopRequireDefault(require_AnimatedInterpolation()); + var _AnimatedNode = _interopRequireDefault(require_AnimatedNode()); + var _AnimatedValue = _interopRequireDefault(require_AnimatedValue()); + var _AnimatedValueXY = _interopRequireDefault(require_AnimatedValueXY()); + var _createAnimatedComponent = _interopRequireDefault(require_createAnimatedComponent()); + var _AnimatedColor = _interopRequireDefault(require_AnimatedColor()); + var inAnimationCallback = false; + function mockAnimationStart(start) { + return (callback) => { + var guardedCallback = callback == null ? callback : function() { + if (inAnimationCallback) { + console.warn("Ignoring recursive animation callback when running mock animations"); + return; + } + inAnimationCallback = true; + try { + callback(...arguments); + } finally { + inAnimationCallback = false; + } + }; + start(guardedCallback); + }; + } + __name(mockAnimationStart, "mockAnimationStart"); + var emptyAnimation = { + start: () => { + }, + stop: () => { + }, + reset: () => { + }, + _startNativeLoop: () => { + }, + _isUsingNativeDriver: () => { + return false; + } + }; + var mockCompositeAnimation = /* @__PURE__ */ __name((animations) => (0, _objectSpread2.default)((0, _objectSpread2.default)({}, emptyAnimation), {}, { + start: mockAnimationStart((callback) => { + animations.forEach((animation) => animation.start()); + callback == null ? void 0 : callback({ + finished: true + }); + }) + }), "mockCompositeAnimation"); + var spring = /* @__PURE__ */ __name(function spring2(value, config) { + var anyValue = value; + return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, emptyAnimation), {}, { + start: mockAnimationStart((callback) => { + anyValue.setValue(config.toValue); + callback == null ? void 0 : callback({ + finished: true + }); + }) + }); + }, "spring"); + var timing = /* @__PURE__ */ __name(function timing2(value, config) { + var anyValue = value; + return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, emptyAnimation), {}, { + start: mockAnimationStart((callback) => { + anyValue.setValue(config.toValue); + callback == null ? void 0 : callback({ + finished: true + }); + }) + }); + }, "timing"); + var decay = /* @__PURE__ */ __name(function decay2(value, config) { + return emptyAnimation; + }, "decay"); + var sequence = /* @__PURE__ */ __name(function sequence2(animations) { + return mockCompositeAnimation(animations); + }, "sequence"); + var parallel = /* @__PURE__ */ __name(function parallel2(animations, config) { + return mockCompositeAnimation(animations); + }, "parallel"); + var delay = /* @__PURE__ */ __name(function delay2(time) { + return emptyAnimation; + }, "delay"); + var stagger = /* @__PURE__ */ __name(function stagger2(time, animations) { + return mockCompositeAnimation(animations); + }, "stagger"); + var loop = /* @__PURE__ */ __name(function loop2(animation, _temp) { + var _ref = _temp === void 0 ? {} : _temp, _ref$iterations = _ref.iterations, iterations = _ref$iterations === void 0 ? -1 : _ref$iterations; + return emptyAnimation; + }, "loop"); + var _default = { + Value: _AnimatedValue.default, + ValueXY: _AnimatedValueXY.default, + Color: _AnimatedColor.default, + Interpolation: _AnimatedInterpolation.default, + Node: _AnimatedNode.default, + decay, + timing, + spring, + add: _AnimatedImplementation.default.add, + subtract: _AnimatedImplementation.default.subtract, + divide: _AnimatedImplementation.default.divide, + multiply: _AnimatedImplementation.default.multiply, + modulo: _AnimatedImplementation.default.modulo, + diffClamp: _AnimatedImplementation.default.diffClamp, + delay, + sequence, + parallel, + stagger, + loop, + event: _AnimatedImplementation.default.event, + createAnimatedComponent: _createAnimatedComponent.default, + attachNativeEvent: _AnimatedEvent.attachNativeEvent, + forkEvent: _AnimatedImplementation.default.forkEvent, + unforkEvent: _AnimatedImplementation.default.unforkEvent, + Event: _AnimatedEvent.AnimatedEvent + }; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/Animated.js +var require_Animated = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/Animated/Animated.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _objectSpread2 = _interopRequireDefault(require_objectSpread2()); + var _Platform = _interopRequireDefault(require_Platform()); + var _AnimatedFlatList = _interopRequireDefault(require_AnimatedFlatList()); + var _AnimatedImage = _interopRequireDefault(require_AnimatedImage()); + var _AnimatedScrollView = _interopRequireDefault(require_AnimatedScrollView()); + var _AnimatedSectionList = _interopRequireDefault(require_AnimatedSectionList()); + var _AnimatedText = _interopRequireDefault(require_AnimatedText()); + var _AnimatedView = _interopRequireDefault(require_AnimatedView()); + var _AnimatedMock = _interopRequireDefault(require_AnimatedMock()); + var _AnimatedImplementation = _interopRequireDefault(require_AnimatedImplementation()); + var Animated = _Platform.default.isTesting ? _AnimatedMock.default : _AnimatedImplementation.default; + var _default = (0, _objectSpread2.default)({ + FlatList: _AnimatedFlatList.default, + Image: _AnimatedImage.default, + ScrollView: _AnimatedScrollView.default, + SectionList: _AnimatedSectionList.default, + Text: _AnimatedText.default, + View: _AnimatedView.default + }, Animated); + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/Animated/index.js +var require_Animated2 = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/Animated/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _Animated = _interopRequireDefault(require_Animated()); + var _default = _Animated.default; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/Appearance/index.js +var require_Appearance = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/Appearance/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _canUseDom = _interopRequireDefault(require_canUseDom()); + function getQuery() { + return _canUseDom.default && window.matchMedia != null ? window.matchMedia("(prefers-color-scheme: dark)") : null; + } + __name(getQuery, "getQuery"); + var query = getQuery(); + var listenerMapping = /* @__PURE__ */ new WeakMap(); + var Appearance = { + getColorScheme() { + return query && query.matches ? "dark" : "light"; + }, + addChangeListener(listener) { + var mappedListener = listenerMapping.get(listener); + if (!mappedListener) { + mappedListener = /* @__PURE__ */ __name((_ref) => { + var matches = _ref.matches; + listener({ + colorScheme: matches ? "dark" : "light" + }); + }, "mappedListener"); + listenerMapping.set(listener, mappedListener); + } + if (query) { + query.addListener(mappedListener); + } + function remove() { + var mappedListener2 = listenerMapping.get(listener); + if (query && mappedListener2) { + query.removeListener(mappedListener2); + } + listenerMapping.delete(listener); + } + __name(remove, "remove"); + return { + remove + }; + } + }; + var _default = Appearance; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/AppRegistry/AppContainer.js +var require_AppContainer = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/AppRegistry/AppContainer.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = void 0; + var React44 = _interopRequireWildcard(require("react")); + var _StyleSheet = _interopRequireDefault(require_StyleSheet()); + var _View = _interopRequireDefault(require_View()); + var RootTagContext = /* @__PURE__ */ React44.createContext(null); + var AppContainer = /* @__PURE__ */ React44.forwardRef((props, forwardedRef) => { + var children = props.children, WrapperComponent = props.WrapperComponent; + var innerView = /* @__PURE__ */ React44.createElement(_View.default, { + children, + key: 1, + style: styles.appContainer + }); + if (WrapperComponent) { + innerView = /* @__PURE__ */ React44.createElement(WrapperComponent, null, innerView); + } + return /* @__PURE__ */ React44.createElement(RootTagContext.Provider, { + value: props.rootTag + }, /* @__PURE__ */ React44.createElement(_View.default, { + ref: forwardedRef, + style: styles.appContainer + }, innerView)); + }); + AppContainer.displayName = "AppContainer"; + var _default = AppContainer; + exports2.default = _default; + var styles = _StyleSheet.default.create({ + appContainer: { + flex: 1, + pointerEvents: "box-none" + } + }); + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/AppRegistry/renderApplication.js +var require_renderApplication = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/AppRegistry/renderApplication.js"(exports2) { + "use strict"; + var _interopRequireWildcard = require_interopRequireWildcard().default; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = renderApplication; + exports2.getApplication = getApplication; + var _extends2 = _interopRequireDefault(require_extends()); + var _AppContainer = _interopRequireDefault(require_AppContainer()); + var _invariant = _interopRequireDefault(require_invariant()); + var _render = _interopRequireWildcard(require_render()); + var _StyleSheet = _interopRequireDefault(require_StyleSheet()); + var _react = _interopRequireDefault(require("react")); + function renderApplication(RootComponent, WrapperComponent, callback, options) { + var shouldHydrate = options.hydrate, initialProps = options.initialProps, mode = options.mode, rootTag = options.rootTag; + var renderFn = shouldHydrate ? mode === "concurrent" ? _render.hydrate : _render.hydrateLegacy : mode === "concurrent" ? _render.render : _render.default; + (0, _invariant.default)(rootTag, "Expect to have a valid rootTag, instead got ", rootTag); + return renderFn(/* @__PURE__ */ _react.default.createElement(_AppContainer.default, { + WrapperComponent, + ref: callback, + rootTag + }, /* @__PURE__ */ _react.default.createElement(RootComponent, initialProps)), rootTag); + } + __name(renderApplication, "renderApplication"); + function getApplication(RootComponent, initialProps, WrapperComponent) { + var element = /* @__PURE__ */ _react.default.createElement(_AppContainer.default, { + WrapperComponent, + rootTag: {} + }, /* @__PURE__ */ _react.default.createElement(RootComponent, initialProps)); + var getStyleElement = /* @__PURE__ */ __name((props) => { + var sheet = _StyleSheet.default.getSheet(); + return /* @__PURE__ */ _react.default.createElement("style", (0, _extends2.default)({}, props, { + dangerouslySetInnerHTML: { + __html: sheet.textContent + }, + id: sheet.id + })); + }, "getStyleElement"); + return { + element, + getStyleElement + }; + } + __name(getApplication, "getApplication"); + } +}); + +// node_modules/react-native-web/dist/cjs/exports/AppRegistry/index.js +var require_AppRegistry = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/AppRegistry/index.js"(exports2, module2) { + "use strict"; + var _interopRequireWildcard = require_interopRequireWildcard().default; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _objectSpread2 = _interopRequireDefault(require_objectSpread2()); + var _invariant = _interopRequireDefault(require_invariant()); + var _unmountComponentAtNode = _interopRequireDefault(require_unmountComponentAtNode()); + var _renderApplication = _interopRequireWildcard(require_renderApplication()); + var emptyObject = {}; + var runnables = {}; + var componentProviderInstrumentationHook = /* @__PURE__ */ __name((component) => component(), "componentProviderInstrumentationHook"); + var wrapperComponentProvider; + var _AppRegistry = class _AppRegistry { + static getAppKeys() { + return Object.keys(runnables); + } + static getApplication(appKey, appParameters) { + (0, _invariant.default)(runnables[appKey] && runnables[appKey].getApplication, "Application " + appKey + " has not been registered. This is either due to an import error during initialization or failure to call AppRegistry.registerComponent."); + return runnables[appKey].getApplication(appParameters); + } + static registerComponent(appKey, componentProvider) { + runnables[appKey] = { + getApplication: (appParameters) => (0, _renderApplication.getApplication)(componentProviderInstrumentationHook(componentProvider), appParameters ? appParameters.initialProps : emptyObject, wrapperComponentProvider && wrapperComponentProvider(appParameters)), + run: (appParameters) => (0, _renderApplication.default)(componentProviderInstrumentationHook(componentProvider), wrapperComponentProvider && wrapperComponentProvider(appParameters), appParameters.callback, { + hydrate: appParameters.hydrate || false, + initialProps: appParameters.initialProps || emptyObject, + mode: appParameters.mode || "concurrent", + rootTag: appParameters.rootTag + }) + }; + return appKey; + } + static registerConfig(config) { + config.forEach((_ref) => { + var appKey = _ref.appKey, component = _ref.component, run = _ref.run; + if (run) { + _AppRegistry.registerRunnable(appKey, run); + } else { + (0, _invariant.default)(component, "No component provider passed in"); + _AppRegistry.registerComponent(appKey, component); + } + }); + } + // TODO: fix style sheet creation when using this method + static registerRunnable(appKey, run) { + runnables[appKey] = { + run + }; + return appKey; + } + static runApplication(appKey, appParameters) { + var isDevelopment = process.env.NODE_ENV !== "production" && process.env.NODE_ENV !== "test"; + if (isDevelopment) { + var params = (0, _objectSpread2.default)({}, appParameters); + params.rootTag = "#" + params.rootTag.id; + console.log('Running application "' + appKey + '" with appParams:\n', params, "\nDevelopment-level warnings: " + (isDevelopment ? "ON" : "OFF") + "." + ("\nPerformance optimizations: " + (isDevelopment ? "OFF" : "ON") + ".")); + } + (0, _invariant.default)(runnables[appKey] && runnables[appKey].run, 'Application "' + appKey + '" has not been registered. This is either due to an import error during initialization or failure to call AppRegistry.registerComponent.'); + return runnables[appKey].run(appParameters); + } + static setComponentProviderInstrumentationHook(hook) { + componentProviderInstrumentationHook = hook; + } + static setWrapperComponentProvider(provider) { + wrapperComponentProvider = provider; + } + static unmountApplicationComponentAtRootTag(rootTag) { + (0, _unmountComponentAtNode.default)(rootTag); + } + }; + __name(_AppRegistry, "AppRegistry"); + var AppRegistry = _AppRegistry; + exports2.default = AppRegistry; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/AppState/index.js +var require_AppState = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/AppState/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _invariant = _interopRequireDefault(require_invariant()); + var _EventEmitter = _interopRequireDefault(require_EventEmitter()); + var _canUseDom = _interopRequireDefault(require_canUseDom()); + var isPrefixed = _canUseDom.default && !document.hasOwnProperty("hidden") && document.hasOwnProperty("webkitHidden"); + var EVENT_TYPES = ["change", "memoryWarning"]; + var VISIBILITY_CHANGE_EVENT = isPrefixed ? "webkitvisibilitychange" : "visibilitychange"; + var VISIBILITY_STATE_PROPERTY = isPrefixed ? "webkitVisibilityState" : "visibilityState"; + var AppStates = { + BACKGROUND: "background", + ACTIVE: "active" + }; + var changeEmitter = null; + var _AppState = class _AppState { + static get currentState() { + if (!_AppState.isAvailable) { + return AppStates.ACTIVE; + } + switch (document[VISIBILITY_STATE_PROPERTY]) { + case "hidden": + case "prerender": + case "unloaded": + return AppStates.BACKGROUND; + default: + return AppStates.ACTIVE; + } + } + static addEventListener(type, handler) { + if (_AppState.isAvailable) { + (0, _invariant.default)(EVENT_TYPES.indexOf(type) !== -1, 'Trying to subscribe to unknown event: "%s"', type); + if (type === "change") { + if (!changeEmitter) { + changeEmitter = new _EventEmitter.default(); + document.addEventListener(VISIBILITY_CHANGE_EVENT, () => { + if (changeEmitter) { + changeEmitter.emit("change", _AppState.currentState); + } + }, false); + } + return changeEmitter.addListener(type, handler); + } + } + } + }; + __name(_AppState, "AppState"); + var AppState = _AppState; + exports2.default = AppState; + AppState.isAvailable = _canUseDom.default && document[VISIBILITY_STATE_PROPERTY]; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/BackHandler/index.js +var require_BackHandler = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/BackHandler/index.js"(exports2, module2) { + "use strict"; + exports2.__esModule = true; + exports2.default = void 0; + function emptyFunction() { + } + __name(emptyFunction, "emptyFunction"); + var BackHandler = { + exitApp: emptyFunction, + addEventListener() { + console.error("BackHandler is not supported on web and should not be used."); + return { + remove: emptyFunction + }; + }, + removeEventListener: emptyFunction + }; + var _default = BackHandler; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/Clipboard/index.js +var require_Clipboard = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/Clipboard/index.js"(exports2, module2) { + "use strict"; + exports2.__esModule = true; + exports2.default = void 0; + var clipboardAvailable; + var _Clipboard = class _Clipboard { + static isAvailable() { + if (clipboardAvailable === void 0) { + clipboardAvailable = typeof document.queryCommandSupported === "function" && document.queryCommandSupported("copy"); + } + return clipboardAvailable; + } + static getString() { + return Promise.resolve(""); + } + static setString(text) { + var success = false; + var body = document.body; + if (body) { + var node = document.createElement("span"); + node.textContent = text; + node.style.opacity = "0"; + node.style.position = "absolute"; + node.style.whiteSpace = "pre-wrap"; + node.style.userSelect = "auto"; + body.appendChild(node); + var selection = window.getSelection(); + selection.removeAllRanges(); + var range = document.createRange(); + range.selectNodeContents(node); + selection.addRange(range); + try { + document.execCommand("copy"); + success = true; + } catch (e) { + } + selection.removeAllRanges(); + body.removeChild(node); + } + return success; + } + }; + __name(_Clipboard, "Clipboard"); + var Clipboard = _Clipboard; + exports2.default = Clipboard; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/I18nManager/index.js +var require_I18nManager = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/I18nManager/index.js"(exports2, module2) { + "use strict"; + exports2.__esModule = true; + exports2.default = void 0; + var I18nManager = { + allowRTL() { + return; + }, + forceRTL() { + return; + }, + getConstants() { + return { + isRTL: false + }; + } + }; + var _default = I18nManager; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/Keyboard/index.js +var require_Keyboard = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/Keyboard/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _dismissKeyboard = _interopRequireDefault(require_dismissKeyboard()); + var Keyboard4 = { + isVisible() { + return false; + }, + addListener() { + return { + remove: () => { + } + }; + }, + dismiss() { + (0, _dismissKeyboard.default)(); + }, + removeAllListeners() { + }, + removeListener() { + } + }; + var _default = Keyboard4; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/LayoutAnimation/index.js +var require_LayoutAnimation = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/LayoutAnimation/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _Platform = _interopRequireDefault(require_Platform()); + var _UIManager = _interopRequireDefault(require_UIManager()); + var __DEV__ = process.env.NODE_ENV !== "production"; + function configureNext(config, onAnimationDidEnd) { + if (!_Platform.default.isTesting) { + _UIManager.default.configureNextLayoutAnimation( + config, + onAnimationDidEnd !== null && onAnimationDidEnd !== void 0 ? onAnimationDidEnd : function() { + }, + function() { + } + /* unused onError */ + ); + } + } + __name(configureNext, "configureNext"); + function create2(duration, type, property) { + return { + duration, + create: { + type, + property + }, + update: { + type + }, + delete: { + type, + property + } + }; + } + __name(create2, "create"); + var Presets = { + easeInEaseOut: create2(300, "easeInEaseOut", "opacity"), + linear: create2(500, "linear", "opacity"), + spring: { + duration: 700, + create: { + type: "linear", + property: "opacity" + }, + update: { + type: "spring", + springDamping: 0.4 + }, + delete: { + type: "linear", + property: "opacity" + } + } + }; + var LayoutAnimation = { + /** + * Schedules an animation to happen on the next layout. + * + * @param config Specifies animation properties: + * + * - `duration` in milliseconds + * - `create`, `AnimationConfig` for animating in new views + * - `update`, `AnimationConfig` for animating views that have been updated + * + * @param onAnimationDidEnd Called when the animation finished. + * Only supported on iOS. + * @param onError Called on error. Only supported on iOS. + */ + configureNext, + /** + * Helper for creating a config for `configureNext`. + */ + create: create2, + Types: Object.freeze({ + spring: "spring", + linear: "linear", + easeInEaseOut: "easeInEaseOut", + easeIn: "easeIn", + easeOut: "easeOut", + keyboard: "keyboard" + }), + Properties: Object.freeze({ + opacity: "opacity", + scaleX: "scaleX", + scaleY: "scaleY", + scaleXY: "scaleXY" + }), + checkConfig() { + console.error("LayoutAnimation.checkConfig(...) has been disabled."); + }, + Presets, + easeInEaseOut: configureNext.bind(null, Presets.easeInEaseOut), + linear: configureNext.bind(null, Presets.linear), + spring: configureNext.bind(null, Presets.spring) + }; + var _default = LayoutAnimation; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/LayoutAnimation/index.js +var require_LayoutAnimation2 = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/LayoutAnimation/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _LayoutAnimation = _interopRequireDefault(require_LayoutAnimation()); + var _default = _LayoutAnimation.default; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/Linking/index.js +var require_Linking = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/Linking/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _invariant = _interopRequireDefault(require_invariant()); + var _canUseDom = _interopRequireDefault(require_canUseDom()); + var initialURL = _canUseDom.default ? window.location.href : ""; + var _Linking = class _Linking { + constructor() { + this._eventCallbacks = {}; + } + _dispatchEvent(event) { + for (var _len = arguments.length, data = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + data[_key - 1] = arguments[_key]; + } + var listeners = this._eventCallbacks[event]; + if (listeners != null && Array.isArray(listeners)) { + listeners.map((listener) => { + listener(...data); + }); + } + } + /** + * Adds a event listener for the specified event. The callback will be called when the + * said event is dispatched. + */ + addEventListener(eventType, callback) { + var _this = this; + if (!_this._eventCallbacks[eventType]) { + _this._eventCallbacks[eventType] = [callback]; + } + _this._eventCallbacks[eventType].push(callback); + return { + remove() { + var callbacks = _this._eventCallbacks[eventType]; + var filteredCallbacks = callbacks.filter((c) => c.toString() !== callback.toString()); + _this._eventCallbacks[eventType] = filteredCallbacks; + } + }; + } + /** + * Removes a previously added event listener for the specified event. The callback must + * be the same object as the one passed to `addEventListener`. + */ + removeEventListener(eventType, callback) { + console.error("Linking.removeEventListener('" + eventType + "', ...): Method has been deprecated. Please instead use `remove()` on the subscription returned by `Linking.addEventListener`."); + var callbacks = this._eventCallbacks[eventType]; + var filteredCallbacks = callbacks.filter((c) => c.toString() !== callback.toString()); + this._eventCallbacks[eventType] = filteredCallbacks; + } + canOpenURL() { + return Promise.resolve(true); + } + getInitialURL() { + return Promise.resolve(initialURL); + } + /** + * Try to open the given url in a secure fashion. The method returns a Promise object. + * If a target is passed (including undefined) that target will be used, otherwise '_blank'. + * If the url opens, the promise is resolved. If not, the promise is rejected. + * Dispatches the `onOpen` event if `url` is opened successfully. + */ + openURL(url, target) { + if (arguments.length === 1) { + target = "_blank"; + } + try { + open(url, target); + this._dispatchEvent("onOpen", url); + return Promise.resolve(); + } catch (e) { + return Promise.reject(e); + } + } + _validateURL(url) { + (0, _invariant.default)(typeof url === "string", "Invalid URL: should be a string. Was: " + url); + (0, _invariant.default)(url, "Invalid URL: cannot be empty"); + } + }; + __name(_Linking, "Linking"); + var Linking2 = _Linking; + var open = /* @__PURE__ */ __name((url, target) => { + if (_canUseDom.default) { + var urlToOpen = new URL(url, window.location).toString(); + if (urlToOpen.indexOf("tel:") === 0) { + window.location = urlToOpen; + } else { + window.open(urlToOpen, target, "noopener"); + } + } + }, "open"); + var _default = new Linking2(); + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/NativeEventEmitter/index.js +var require_NativeEventEmitter2 = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/NativeEventEmitter/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _NativeEventEmitter = _interopRequireDefault(require_NativeEventEmitter()); + var _default = _NativeEventEmitter.default; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/TouchHistoryMath/index.js +var require_TouchHistoryMath = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/TouchHistoryMath/index.js"(exports2, module2) { + "use strict"; + exports2.__esModule = true; + exports2.default = void 0; + var TouchHistoryMath = { + /** + * This code is optimized and not intended to look beautiful. This allows + * computing of touch centroids that have moved after `touchesChangedAfter` + * timeStamp. You can compute the current centroid involving all touches + * moves after `touchesChangedAfter`, or you can compute the previous + * centroid of all touches that were moved after `touchesChangedAfter`. + * + * @param {TouchHistoryMath} touchHistory Standard Responder touch track + * data. + * @param {number} touchesChangedAfter timeStamp after which moved touches + * are considered "actively moving" - not just "active". + * @param {boolean} isXAxis Consider `x` dimension vs. `y` dimension. + * @param {boolean} ofCurrent Compute current centroid for actively moving + * touches vs. previous centroid of now actively moving touches. + * @return {number} value of centroid in specified dimension. + */ + centroidDimension: /* @__PURE__ */ __name(function centroidDimension(touchHistory, touchesChangedAfter, isXAxis, ofCurrent) { + var touchBank = touchHistory.touchBank; + var total = 0; + var count2 = 0; + var oneTouchData = touchHistory.numberActiveTouches === 1 ? touchHistory.touchBank[touchHistory.indexOfSingleActiveTouch] : null; + if (oneTouchData !== null) { + if (oneTouchData.touchActive && oneTouchData.currentTimeStamp > touchesChangedAfter) { + total += ofCurrent && isXAxis ? oneTouchData.currentPageX : ofCurrent && !isXAxis ? oneTouchData.currentPageY : !ofCurrent && isXAxis ? oneTouchData.previousPageX : oneTouchData.previousPageY; + count2 = 1; + } + } else { + for (var i = 0; i < touchBank.length; i++) { + var touchTrack = touchBank[i]; + if (touchTrack !== null && touchTrack !== void 0 && touchTrack.touchActive && touchTrack.currentTimeStamp >= touchesChangedAfter) { + var toAdd = void 0; + if (ofCurrent && isXAxis) { + toAdd = touchTrack.currentPageX; + } else if (ofCurrent && !isXAxis) { + toAdd = touchTrack.currentPageY; + } else if (!ofCurrent && isXAxis) { + toAdd = touchTrack.previousPageX; + } else { + toAdd = touchTrack.previousPageY; + } + total += toAdd; + count2++; + } + } + } + return count2 > 0 ? total / count2 : TouchHistoryMath.noCentroid; + }, "centroidDimension"), + currentCentroidXOfTouchesChangedAfter: /* @__PURE__ */ __name(function currentCentroidXOfTouchesChangedAfter(touchHistory, touchesChangedAfter) { + return TouchHistoryMath.centroidDimension( + touchHistory, + touchesChangedAfter, + true, + // isXAxis + true + // ofCurrent + ); + }, "currentCentroidXOfTouchesChangedAfter"), + currentCentroidYOfTouchesChangedAfter: /* @__PURE__ */ __name(function currentCentroidYOfTouchesChangedAfter(touchHistory, touchesChangedAfter) { + return TouchHistoryMath.centroidDimension( + touchHistory, + touchesChangedAfter, + false, + // isXAxis + true + // ofCurrent + ); + }, "currentCentroidYOfTouchesChangedAfter"), + previousCentroidXOfTouchesChangedAfter: /* @__PURE__ */ __name(function previousCentroidXOfTouchesChangedAfter(touchHistory, touchesChangedAfter) { + return TouchHistoryMath.centroidDimension( + touchHistory, + touchesChangedAfter, + true, + // isXAxis + false + // ofCurrent + ); + }, "previousCentroidXOfTouchesChangedAfter"), + previousCentroidYOfTouchesChangedAfter: /* @__PURE__ */ __name(function previousCentroidYOfTouchesChangedAfter(touchHistory, touchesChangedAfter) { + return TouchHistoryMath.centroidDimension( + touchHistory, + touchesChangedAfter, + false, + // isXAxis + false + // ofCurrent + ); + }, "previousCentroidYOfTouchesChangedAfter"), + currentCentroidX: /* @__PURE__ */ __name(function currentCentroidX(touchHistory) { + return TouchHistoryMath.centroidDimension( + touchHistory, + 0, + // touchesChangedAfter + true, + // isXAxis + true + // ofCurrent + ); + }, "currentCentroidX"), + currentCentroidY: /* @__PURE__ */ __name(function currentCentroidY(touchHistory) { + return TouchHistoryMath.centroidDimension( + touchHistory, + 0, + // touchesChangedAfter + false, + // isXAxis + true + // ofCurrent + ); + }, "currentCentroidY"), + noCentroid: -1 + }; + var _default = TouchHistoryMath; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/PanResponder/index.js +var require_PanResponder = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/PanResponder/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _InteractionManager = _interopRequireDefault(require_InteractionManager()); + var _TouchHistoryMath = _interopRequireDefault(require_TouchHistoryMath()); + var currentCentroidXOfTouchesChangedAfter = _TouchHistoryMath.default.currentCentroidXOfTouchesChangedAfter; + var currentCentroidYOfTouchesChangedAfter = _TouchHistoryMath.default.currentCentroidYOfTouchesChangedAfter; + var previousCentroidXOfTouchesChangedAfter = _TouchHistoryMath.default.previousCentroidXOfTouchesChangedAfter; + var previousCentroidYOfTouchesChangedAfter = _TouchHistoryMath.default.previousCentroidYOfTouchesChangedAfter; + var currentCentroidX = _TouchHistoryMath.default.currentCentroidX; + var currentCentroidY = _TouchHistoryMath.default.currentCentroidY; + var PanResponder2 = { + /** + * + * A graphical explanation of the touch data flow: + * + * +----------------------------+ +--------------------------------+ + * | ResponderTouchHistoryStore | |TouchHistoryMath | + * +----------------------------+ +----------+---------------------+ + * |Global store of touchHistory| |Allocation-less math util | + * |including activeness, start | |on touch history (centroids | + * |position, prev/cur position.| |and multitouch movement etc) | + * | | | | + * +----^-----------------------+ +----^---------------------------+ + * | | + * | (records relevant history | + * | of touches relevant for | + * | implementing higher level | + * | gestures) | + * | | + * +----+-----------------------+ +----|---------------------------+ + * | ResponderEventPlugin | | | Your App/Component | + * +----------------------------+ +----|---------------------------+ + * |Negotiates which view gets | Low level | | High level | + * |onResponderMove events. | events w/ | +-+-------+ events w/ | + * |Also records history into | touchHistory| | Pan | multitouch + | + * |ResponderTouchHistoryStore. +---------------->Responder+-----> accumulative| + * +----------------------------+ attached to | | | distance and | + * each event | +---------+ velocity. | + * | | + * | | + * +--------------------------------+ + * + * + * + * Gesture that calculates cumulative movement over time in a way that just + * "does the right thing" for multiple touches. The "right thing" is very + * nuanced. When moving two touches in opposite directions, the cumulative + * distance is zero in each dimension. When two touches move in parallel five + * pixels in the same direction, the cumulative distance is five, not ten. If + * two touches start, one moves five in a direction, then stops and the other + * touch moves fives in the same direction, the cumulative distance is ten. + * + * This logic requires a kind of processing of time "clusters" of touch events + * so that two touch moves that essentially occur in parallel but move every + * other frame respectively, are considered part of the same movement. + * + * Explanation of some of the non-obvious fields: + * + * - moveX/moveY: If no move event has been observed, then `(moveX, moveY)` is + * invalid. If a move event has been observed, `(moveX, moveY)` is the + * centroid of the most recently moved "cluster" of active touches. + * (Currently all move have the same timeStamp, but later we should add some + * threshold for what is considered to be "moving"). If a palm is + * accidentally counted as a touch, but a finger is moving greatly, the palm + * will move slightly, but we only want to count the single moving touch. + * - x0/y0: Centroid location (non-cumulative) at the time of becoming + * responder. + * - dx/dy: Cumulative touch distance - not the same thing as sum of each touch + * distance. Accounts for touch moves that are clustered together in time, + * moving the same direction. Only valid when currently responder (otherwise, + * it only represents the drag distance below the threshold). + * - vx/vy: Velocity. + */ + _initializeGestureState(gestureState) { + gestureState.moveX = 0; + gestureState.moveY = 0; + gestureState.x0 = 0; + gestureState.y0 = 0; + gestureState.dx = 0; + gestureState.dy = 0; + gestureState.vx = 0; + gestureState.vy = 0; + gestureState.numberActiveTouches = 0; + gestureState._accountsForMovesUpTo = 0; + }, + /** + * This is nuanced and is necessary. It is incorrect to continuously take all + * active *and* recently moved touches, find the centroid, and track how that + * result changes over time. Instead, we must take all recently moved + * touches, and calculate how the centroid has changed just for those + * recently moved touches, and append that change to an accumulator. This is + * to (at least) handle the case where the user is moving three fingers, and + * then one of the fingers stops but the other two continue. + * + * This is very different than taking all of the recently moved touches and + * storing their centroid as `dx/dy`. For correctness, we must *accumulate + * changes* in the centroid of recently moved touches. + * + * There is also some nuance with how we handle multiple moved touches in a + * single event. With the way `ReactNativeEventEmitter` dispatches touches as + * individual events, multiple touches generate two 'move' events, each of + * them triggering `onResponderMove`. But with the way `PanResponder` works, + * all of the gesture inference is performed on the first dispatch, since it + * looks at all of the touches (even the ones for which there hasn't been a + * native dispatch yet). Therefore, `PanResponder` does not call + * `onResponderMove` passed the first dispatch. This diverges from the + * typical responder callback pattern (without using `PanResponder`), but + * avoids more dispatches than necessary. + */ + _updateGestureStateOnMove(gestureState, touchHistory) { + gestureState.numberActiveTouches = touchHistory.numberActiveTouches; + gestureState.moveX = currentCentroidXOfTouchesChangedAfter(touchHistory, gestureState._accountsForMovesUpTo); + gestureState.moveY = currentCentroidYOfTouchesChangedAfter(touchHistory, gestureState._accountsForMovesUpTo); + var movedAfter = gestureState._accountsForMovesUpTo; + var prevX = previousCentroidXOfTouchesChangedAfter(touchHistory, movedAfter); + var x = currentCentroidXOfTouchesChangedAfter(touchHistory, movedAfter); + var prevY = previousCentroidYOfTouchesChangedAfter(touchHistory, movedAfter); + var y = currentCentroidYOfTouchesChangedAfter(touchHistory, movedAfter); + var nextDX = gestureState.dx + (x - prevX); + var nextDY = gestureState.dy + (y - prevY); + var dt = touchHistory.mostRecentTimeStamp - gestureState._accountsForMovesUpTo; + gestureState.vx = (nextDX - gestureState.dx) / dt; + gestureState.vy = (nextDY - gestureState.dy) / dt; + gestureState.dx = nextDX; + gestureState.dy = nextDY; + gestureState._accountsForMovesUpTo = touchHistory.mostRecentTimeStamp; + }, + /** + * @param {object} config Enhanced versions of all of the responder callbacks + * that provide not only the typical `ResponderSyntheticEvent`, but also the + * `PanResponder` gesture state. Simply replace the word `Responder` with + * `PanResponder` in each of the typical `onResponder*` callbacks. For + * example, the `config` object would look like: + * + * - `onMoveShouldSetPanResponder: (e, gestureState) => {...}` + * - `onMoveShouldSetPanResponderCapture: (e, gestureState) => {...}` + * - `onStartShouldSetPanResponder: (e, gestureState) => {...}` + * - `onStartShouldSetPanResponderCapture: (e, gestureState) => {...}` + * - `onPanResponderReject: (e, gestureState) => {...}` + * - `onPanResponderGrant: (e, gestureState) => {...}` + * - `onPanResponderStart: (e, gestureState) => {...}` + * - `onPanResponderEnd: (e, gestureState) => {...}` + * - `onPanResponderRelease: (e, gestureState) => {...}` + * - `onPanResponderMove: (e, gestureState) => {...}` + * - `onPanResponderTerminate: (e, gestureState) => {...}` + * - `onPanResponderTerminationRequest: (e, gestureState) => {...}` + * - `onShouldBlockNativeResponder: (e, gestureState) => {...}` + * + * In general, for events that have capture equivalents, we update the + * gestureState once in the capture phase and can use it in the bubble phase + * as well. + * + * Be careful with onStartShould* callbacks. They only reflect updated + * `gestureState` for start/end events that bubble/capture to the Node. + * Once the node is the responder, you can rely on every start/end event + * being processed by the gesture and `gestureState` being updated + * accordingly. (numberActiveTouches) may not be totally accurate unless you + * are the responder. + */ + create(config) { + var interactionState = { + handle: null, + shouldCancelClick: false, + timeout: null + }; + var gestureState = { + // Useful for debugging + stateID: Math.random(), + moveX: 0, + moveY: 0, + x0: 0, + y0: 0, + dx: 0, + dy: 0, + vx: 0, + vy: 0, + numberActiveTouches: 0, + _accountsForMovesUpTo: 0 + }; + var panHandlers = { + onStartShouldSetResponder(event) { + return config.onStartShouldSetPanResponder == null ? false : config.onStartShouldSetPanResponder(event, gestureState); + }, + onMoveShouldSetResponder(event) { + return config.onMoveShouldSetPanResponder == null ? false : config.onMoveShouldSetPanResponder(event, gestureState); + }, + onStartShouldSetResponderCapture(event) { + if (event.nativeEvent.touches.length === 1) { + PanResponder2._initializeGestureState(gestureState); + } + gestureState.numberActiveTouches = event.touchHistory.numberActiveTouches; + return config.onStartShouldSetPanResponderCapture != null ? config.onStartShouldSetPanResponderCapture(event, gestureState) : false; + }, + onMoveShouldSetResponderCapture(event) { + var touchHistory = event.touchHistory; + if (gestureState._accountsForMovesUpTo === touchHistory.mostRecentTimeStamp) { + return false; + } + PanResponder2._updateGestureStateOnMove(gestureState, touchHistory); + return config.onMoveShouldSetPanResponderCapture ? config.onMoveShouldSetPanResponderCapture(event, gestureState) : false; + }, + onResponderGrant(event) { + if (!interactionState.handle) { + interactionState.handle = _InteractionManager.default.createInteractionHandle(); + } + if (interactionState.timeout) { + clearInteractionTimeout(interactionState); + } + interactionState.shouldCancelClick = true; + gestureState.x0 = currentCentroidX(event.touchHistory); + gestureState.y0 = currentCentroidY(event.touchHistory); + gestureState.dx = 0; + gestureState.dy = 0; + if (config.onPanResponderGrant) { + config.onPanResponderGrant(event, gestureState); + } + return config.onShouldBlockNativeResponder == null ? true : config.onShouldBlockNativeResponder(event, gestureState); + }, + onResponderReject(event) { + clearInteractionHandle(interactionState, config.onPanResponderReject, event, gestureState); + }, + onResponderRelease(event) { + clearInteractionHandle(interactionState, config.onPanResponderRelease, event, gestureState); + setInteractionTimeout(interactionState); + PanResponder2._initializeGestureState(gestureState); + }, + onResponderStart(event) { + var touchHistory = event.touchHistory; + gestureState.numberActiveTouches = touchHistory.numberActiveTouches; + if (config.onPanResponderStart) { + config.onPanResponderStart(event, gestureState); + } + }, + onResponderMove(event) { + var touchHistory = event.touchHistory; + if (gestureState._accountsForMovesUpTo === touchHistory.mostRecentTimeStamp) { + return; + } + PanResponder2._updateGestureStateOnMove(gestureState, touchHistory); + if (config.onPanResponderMove) { + config.onPanResponderMove(event, gestureState); + } + }, + onResponderEnd(event) { + var touchHistory = event.touchHistory; + gestureState.numberActiveTouches = touchHistory.numberActiveTouches; + clearInteractionHandle(interactionState, config.onPanResponderEnd, event, gestureState); + }, + onResponderTerminate(event) { + clearInteractionHandle(interactionState, config.onPanResponderTerminate, event, gestureState); + setInteractionTimeout(interactionState); + PanResponder2._initializeGestureState(gestureState); + }, + onResponderTerminationRequest(event) { + return config.onPanResponderTerminationRequest == null ? true : config.onPanResponderTerminationRequest(event, gestureState); + }, + // We do not want to trigger 'click' activated gestures or native behaviors + // on any pan target that is under a mouse cursor when it is released. + // Browsers will natively cancel 'click' events on a target if a non-mouse + // active pointer moves. + onClickCapture: (event) => { + if (interactionState.shouldCancelClick === true) { + event.stopPropagation(); + event.preventDefault(); + } + } + }; + return { + panHandlers, + getInteractionHandle() { + return interactionState.handle; + } + }; + } + }; + function clearInteractionHandle(interactionState, callback, event, gestureState) { + if (interactionState.handle) { + _InteractionManager.default.clearInteractionHandle(interactionState.handle); + interactionState.handle = null; + } + if (callback) { + callback(event, gestureState); + } + } + __name(clearInteractionHandle, "clearInteractionHandle"); + function clearInteractionTimeout(interactionState) { + clearTimeout(interactionState.timeout); + } + __name(clearInteractionTimeout, "clearInteractionTimeout"); + function setInteractionTimeout(interactionState) { + interactionState.timeout = setTimeout(() => { + interactionState.shouldCancelClick = false; + }, 250); + } + __name(setInteractionTimeout, "setInteractionTimeout"); + var _default = PanResponder2; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/PanResponder/index.js +var require_PanResponder2 = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/PanResponder/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _PanResponder = _interopRequireDefault(require_PanResponder()); + var _default = _PanResponder.default; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/Share/index.js +var require_Share = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/Share/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _invariant = _interopRequireDefault(require_invariant()); + var _Share = class _Share { + static share(content, options) { + if (options === void 0) { + options = {}; + } + (0, _invariant.default)(typeof content === "object" && content !== null, "Content to share must be a valid object"); + (0, _invariant.default)(typeof content.url === "string" || typeof content.message === "string", "At least one of URL and message is required"); + (0, _invariant.default)(typeof options === "object" && options !== null, "Options must be a valid object"); + (0, _invariant.default)(!content.title || typeof content.title === "string", "Invalid title: title should be a string."); + if (window.navigator.share !== void 0) { + return window.navigator.share({ + title: content.title, + text: content.message, + url: content.url + }); + } else { + return Promise.reject(new Error("Share is not supported in this browser")); + } + } + /** + * The content was successfully shared. + */ + static get sharedAction() { + return "sharedAction"; + } + /** + * The dialog has been dismissed. + * @platform ios + */ + static get dismissedAction() { + return "dismissedAction"; + } + }; + __name(_Share, "Share"); + var Share = _Share; + var _default = Share; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/Vibration/index.js +var require_Vibration = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/Vibration/index.js"(exports2, module2) { + "use strict"; + exports2.__esModule = true; + exports2.default = void 0; + var vibrate = /* @__PURE__ */ __name((pattern) => { + if ("vibrate" in window.navigator) { + window.navigator.vibrate(pattern); + } + }, "vibrate"); + var Vibration = { + cancel() { + vibrate(0); + }, + vibrate(pattern) { + if (pattern === void 0) { + pattern = 400; + } + vibrate(pattern); + } + }; + var _default = Vibration; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/ActivityIndicator/index.js +var require_ActivityIndicator = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/ActivityIndicator/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = void 0; + var _extends2 = _interopRequireDefault(require_extends()); + var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); + var React44 = _interopRequireWildcard(require("react")); + var _StyleSheet = _interopRequireDefault(require_StyleSheet()); + var _View = _interopRequireDefault(require_View()); + var _excluded = ["animating", "color", "hidesWhenStopped", "size", "style"]; + var createSvgCircle = /* @__PURE__ */ __name((style) => /* @__PURE__ */ React44.createElement("circle", { + cx: "16", + cy: "16", + fill: "none", + r: "14", + strokeWidth: "4", + style + }), "createSvgCircle"); + var ActivityIndicator2 = /* @__PURE__ */ React44.forwardRef((props, forwardedRef) => { + var _props$animating = props.animating, animating = _props$animating === void 0 ? true : _props$animating, _props$color = props.color, color = _props$color === void 0 ? "#1976D2" : _props$color, _props$hidesWhenStopp = props.hidesWhenStopped, hidesWhenStopped = _props$hidesWhenStopp === void 0 ? true : _props$hidesWhenStopp, _props$size = props.size, size4 = _props$size === void 0 ? "small" : _props$size, style = props.style, other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded); + var svg = /* @__PURE__ */ React44.createElement("svg", { + height: "100%", + viewBox: "0 0 32 32", + width: "100%" + }, createSvgCircle({ + stroke: color, + opacity: 0.2 + }), createSvgCircle({ + stroke: color, + strokeDasharray: 80, + strokeDashoffset: 60 + })); + return /* @__PURE__ */ React44.createElement(_View.default, (0, _extends2.default)({}, other, { + "aria-valuemax": 1, + "aria-valuemin": 0, + ref: forwardedRef, + role: "progressbar", + style: [styles.container, style] + }), /* @__PURE__ */ React44.createElement(_View.default, { + children: svg, + style: [typeof size4 === "number" ? { + height: size4, + width: size4 + } : indicatorSizes[size4], styles.animation, !animating && styles.animationPause, !animating && hidesWhenStopped && styles.hidesWhenStopped] + })); + }); + ActivityIndicator2.displayName = "ActivityIndicator"; + var styles = _StyleSheet.default.create({ + container: { + alignItems: "center", + justifyContent: "center" + }, + hidesWhenStopped: { + visibility: "hidden" + }, + animation: { + animationDuration: "0.75s", + animationKeyframes: [{ + "0%": { + transform: "rotate(0deg)" + }, + "100%": { + transform: "rotate(360deg)" + } + }], + animationTimingFunction: "linear", + animationIterationCount: "infinite" + }, + animationPause: { + animationPlayState: "paused" + } + }); + var indicatorSizes = _StyleSheet.default.create({ + small: { + width: 20, + height: 20 + }, + large: { + width: 36, + height: 36 + } + }); + var _default = ActivityIndicator2; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/modules/usePressEvents/PressResponder.js +var require_PressResponder = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/usePressEvents/PressResponder.js"(exports2, module2) { + "use strict"; + exports2.__esModule = true; + exports2.default = void 0; + var DELAY = "DELAY"; + var ERROR = "ERROR"; + var LONG_PRESS_DETECTED = "LONG_PRESS_DETECTED"; + var NOT_RESPONDER = "NOT_RESPONDER"; + var RESPONDER_ACTIVE_LONG_PRESS_START = "RESPONDER_ACTIVE_LONG_PRESS_START"; + var RESPONDER_ACTIVE_PRESS_START = "RESPONDER_ACTIVE_PRESS_START"; + var RESPONDER_INACTIVE_PRESS_START = "RESPONDER_INACTIVE_PRESS_START"; + var RESPONDER_GRANT = "RESPONDER_GRANT"; + var RESPONDER_RELEASE = "RESPONDER_RELEASE"; + var RESPONDER_TERMINATED = "RESPONDER_TERMINATED"; + var Transitions = Object.freeze({ + NOT_RESPONDER: { + DELAY: ERROR, + RESPONDER_GRANT: RESPONDER_INACTIVE_PRESS_START, + RESPONDER_RELEASE: ERROR, + RESPONDER_TERMINATED: ERROR, + LONG_PRESS_DETECTED: ERROR + }, + RESPONDER_INACTIVE_PRESS_START: { + DELAY: RESPONDER_ACTIVE_PRESS_START, + RESPONDER_GRANT: ERROR, + RESPONDER_RELEASE: NOT_RESPONDER, + RESPONDER_TERMINATED: NOT_RESPONDER, + LONG_PRESS_DETECTED: ERROR + }, + RESPONDER_ACTIVE_PRESS_START: { + DELAY: ERROR, + RESPONDER_GRANT: ERROR, + RESPONDER_RELEASE: NOT_RESPONDER, + RESPONDER_TERMINATED: NOT_RESPONDER, + LONG_PRESS_DETECTED: RESPONDER_ACTIVE_LONG_PRESS_START + }, + RESPONDER_ACTIVE_LONG_PRESS_START: { + DELAY: ERROR, + RESPONDER_GRANT: ERROR, + RESPONDER_RELEASE: NOT_RESPONDER, + RESPONDER_TERMINATED: NOT_RESPONDER, + LONG_PRESS_DETECTED: RESPONDER_ACTIVE_LONG_PRESS_START + }, + ERROR: { + DELAY: NOT_RESPONDER, + RESPONDER_GRANT: RESPONDER_INACTIVE_PRESS_START, + RESPONDER_RELEASE: NOT_RESPONDER, + RESPONDER_TERMINATED: NOT_RESPONDER, + LONG_PRESS_DETECTED: NOT_RESPONDER + } + }); + var getElementRole = /* @__PURE__ */ __name((element) => element.getAttribute("role"), "getElementRole"); + var getElementType = /* @__PURE__ */ __name((element) => element.tagName.toLowerCase(), "getElementType"); + var isActiveSignal = /* @__PURE__ */ __name((signal) => signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START, "isActiveSignal"); + var isButtonRole = /* @__PURE__ */ __name((element) => getElementRole(element) === "button", "isButtonRole"); + var isPressStartSignal = /* @__PURE__ */ __name((signal) => signal === RESPONDER_INACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START, "isPressStartSignal"); + var isTerminalSignal = /* @__PURE__ */ __name((signal) => signal === RESPONDER_TERMINATED || signal === RESPONDER_RELEASE, "isTerminalSignal"); + var isValidKeyPress = /* @__PURE__ */ __name((event) => { + var key = event.key, target = event.target; + var isSpacebar = key === " " || key === "Spacebar"; + var isButtonish = getElementType(target) === "button" || isButtonRole(target); + return key === "Enter" || isSpacebar && isButtonish; + }, "isValidKeyPress"); + var DEFAULT_LONG_PRESS_DELAY_MS = 450; + var DEFAULT_PRESS_DELAY_MS = 50; + var _PressResponder = class _PressResponder { + constructor(config) { + this._eventHandlers = null; + this._isPointerTouch = false; + this._longPressDelayTimeout = null; + this._longPressDispatched = false; + this._pressDelayTimeout = null; + this._pressOutDelayTimeout = null; + this._touchState = NOT_RESPONDER; + this._responderElement = null; + this.configure(config); + } + configure(config) { + this._config = config; + } + /** + * Resets any pending timers. This should be called on unmount. + */ + reset() { + this._cancelLongPressDelayTimeout(); + this._cancelPressDelayTimeout(); + this._cancelPressOutDelayTimeout(); + } + /** + * Returns a set of props to spread into the interactive element. + */ + getEventHandlers() { + if (this._eventHandlers == null) { + this._eventHandlers = this._createEventHandlers(); + } + return this._eventHandlers; + } + _createEventHandlers() { + var start = /* @__PURE__ */ __name((event, shouldDelay) => { + event.persist(); + this._cancelPressOutDelayTimeout(); + this._longPressDispatched = false; + this._selectionTerminated = false; + this._touchState = NOT_RESPONDER; + this._isPointerTouch = event.nativeEvent.type === "touchstart"; + this._receiveSignal(RESPONDER_GRANT, event); + var delayPressStart = normalizeDelay(this._config.delayPressStart, 0, DEFAULT_PRESS_DELAY_MS); + if (shouldDelay !== false && delayPressStart > 0) { + this._pressDelayTimeout = setTimeout(() => { + this._receiveSignal(DELAY, event); + }, delayPressStart); + } else { + this._receiveSignal(DELAY, event); + } + var delayLongPress = normalizeDelay(this._config.delayLongPress, 10, DEFAULT_LONG_PRESS_DELAY_MS); + this._longPressDelayTimeout = setTimeout(() => { + this._handleLongPress(event); + }, delayLongPress + delayPressStart); + }, "start"); + var end = /* @__PURE__ */ __name((event) => { + this._receiveSignal(RESPONDER_RELEASE, event); + }, "end"); + var keyupHandler = /* @__PURE__ */ __name((event) => { + var onPress = this._config.onPress; + var target = event.target; + if (this._touchState !== NOT_RESPONDER && isValidKeyPress(event)) { + end(event); + document.removeEventListener("keyup", keyupHandler); + var role = target.getAttribute("role"); + var elementType = getElementType(target); + var isNativeInteractiveElement = role === "link" || elementType === "a" || elementType === "button" || elementType === "input" || elementType === "select" || elementType === "textarea"; + var isActiveElement = this._responderElement === target; + if (onPress != null && !isNativeInteractiveElement && isActiveElement) { + onPress(event); + } + this._responderElement = null; + } + }, "keyupHandler"); + return { + onStartShouldSetResponder: (event) => { + var disabled = this._config.disabled; + if (disabled && isButtonRole(event.currentTarget)) { + event.stopPropagation(); + } + if (disabled == null) { + return true; + } + return !disabled; + }, + onKeyDown: (event) => { + var disabled = this._config.disabled; + var key = event.key, target = event.target; + if (!disabled && isValidKeyPress(event)) { + if (this._touchState === NOT_RESPONDER) { + start(event, false); + this._responderElement = target; + document.addEventListener("keyup", keyupHandler); + } + var isSpacebarKey = key === " " || key === "Spacebar"; + var role = getElementRole(target); + var isButtonLikeRole = role === "button" || role === "menuitem"; + if (isSpacebarKey && isButtonLikeRole && getElementType(target) !== "button") { + event.preventDefault(); + } + event.stopPropagation(); + } + }, + onResponderGrant: (event) => start(event), + onResponderMove: (event) => { + if (this._config.onPressMove != null) { + this._config.onPressMove(event); + } + var touch = getTouchFromResponderEvent(event); + if (this._touchActivatePosition != null) { + var deltaX = this._touchActivatePosition.pageX - touch.pageX; + var deltaY = this._touchActivatePosition.pageY - touch.pageY; + if (Math.hypot(deltaX, deltaY) > 10) { + this._cancelLongPressDelayTimeout(); + } + } + }, + onResponderRelease: (event) => end(event), + onResponderTerminate: (event) => { + if (event.nativeEvent.type === "selectionchange") { + this._selectionTerminated = true; + } + this._receiveSignal(RESPONDER_TERMINATED, event); + }, + onResponderTerminationRequest: (event) => { + var _this$_config = this._config, cancelable = _this$_config.cancelable, disabled = _this$_config.disabled, onLongPress = _this$_config.onLongPress; + if (!disabled && onLongPress != null && this._isPointerTouch && event.nativeEvent.type === "contextmenu") { + return false; + } + if (cancelable == null) { + return true; + } + return cancelable; + }, + // NOTE: this diverges from react-native in 3 significant ways: + // * The `onPress` callback is not connected to the responder system (the native + // `click` event must be used but is dispatched in many scenarios where no pointers + // are on the screen.) Therefore, it's possible for `onPress` to be called without + // `onPress{Start,End}` being called first. + // * The `onPress` callback is only be called on the first ancestor of the native + // `click` target that is using the PressResponder. + // * The event's `nativeEvent` is a `MouseEvent` not a `TouchEvent`. + onClick: (event) => { + var _this$_config2 = this._config, disabled = _this$_config2.disabled, onPress = _this$_config2.onPress; + if (!disabled) { + event.stopPropagation(); + if (this._longPressDispatched || this._selectionTerminated) { + event.preventDefault(); + } else if (onPress != null && event.altKey === false) { + onPress(event); + } + } else { + if (isButtonRole(event.currentTarget)) { + event.stopPropagation(); + } + } + }, + // If `onLongPress` is provided and a touch pointer is being used, prevent the + // default context menu from opening. + onContextMenu: (event) => { + var _this$_config3 = this._config, disabled = _this$_config3.disabled, onLongPress = _this$_config3.onLongPress; + if (!disabled) { + if (onLongPress != null && this._isPointerTouch && !event.defaultPrevented) { + event.preventDefault(); + event.stopPropagation(); + } + } else { + if (isButtonRole(event.currentTarget)) { + event.stopPropagation(); + } + } + } + }; + } + /** + * Receives a state machine signal, performs side effects of the transition + * and stores the new state. Validates the transition as well. + */ + _receiveSignal(signal, event) { + var prevState = this._touchState; + var nextState = null; + if (Transitions[prevState] != null) { + nextState = Transitions[prevState][signal]; + } + if (this._touchState === NOT_RESPONDER && signal === RESPONDER_RELEASE) { + return; + } + if (nextState == null || nextState === ERROR) { + console.error("PressResponder: Invalid signal " + signal + " for state " + prevState + " on responder"); + } else if (prevState !== nextState) { + this._performTransitionSideEffects(prevState, nextState, signal, event); + this._touchState = nextState; + } + } + /** + * Performs a transition between touchable states and identify any activations + * or deactivations (and callback invocations). + */ + _performTransitionSideEffects(prevState, nextState, signal, event) { + if (isTerminalSignal(signal)) { + setTimeout(() => { + this._isPointerTouch = false; + }, 0); + this._touchActivatePosition = null; + this._cancelLongPressDelayTimeout(); + } + if (isPressStartSignal(prevState) && signal === LONG_PRESS_DETECTED) { + var onLongPress = this._config.onLongPress; + if (onLongPress != null && event.nativeEvent.key == null) { + onLongPress(event); + this._longPressDispatched = true; + } + } + var isPrevActive = isActiveSignal(prevState); + var isNextActive = isActiveSignal(nextState); + if (!isPrevActive && isNextActive) { + this._activate(event); + } else if (isPrevActive && !isNextActive) { + this._deactivate(event); + } + if (isPressStartSignal(prevState) && signal === RESPONDER_RELEASE) { + var _this$_config4 = this._config, _onLongPress = _this$_config4.onLongPress, onPress = _this$_config4.onPress; + if (onPress != null) { + var isPressCanceledByLongPress = _onLongPress != null && prevState === RESPONDER_ACTIVE_LONG_PRESS_START; + if (!isPressCanceledByLongPress) { + if (!isNextActive && !isPrevActive) { + this._activate(event); + this._deactivate(event); + } + } + } + } + this._cancelPressDelayTimeout(); + } + _activate(event) { + var _this$_config5 = this._config, onPressChange = _this$_config5.onPressChange, onPressStart = _this$_config5.onPressStart; + var touch = getTouchFromResponderEvent(event); + this._touchActivatePosition = { + pageX: touch.pageX, + pageY: touch.pageY + }; + if (onPressStart != null) { + onPressStart(event); + } + if (onPressChange != null) { + onPressChange(true); + } + } + _deactivate(event) { + var _this$_config6 = this._config, onPressChange = _this$_config6.onPressChange, onPressEnd = _this$_config6.onPressEnd; + function end() { + if (onPressEnd != null) { + onPressEnd(event); + } + if (onPressChange != null) { + onPressChange(false); + } + } + __name(end, "end"); + var delayPressEnd = normalizeDelay(this._config.delayPressEnd); + if (delayPressEnd > 0) { + this._pressOutDelayTimeout = setTimeout(() => { + end(); + }, delayPressEnd); + } else { + end(); + } + } + _handleLongPress(event) { + if (this._touchState === RESPONDER_ACTIVE_PRESS_START || this._touchState === RESPONDER_ACTIVE_LONG_PRESS_START) { + this._receiveSignal(LONG_PRESS_DETECTED, event); + } + } + _cancelLongPressDelayTimeout() { + if (this._longPressDelayTimeout != null) { + clearTimeout(this._longPressDelayTimeout); + this._longPressDelayTimeout = null; + } + } + _cancelPressDelayTimeout() { + if (this._pressDelayTimeout != null) { + clearTimeout(this._pressDelayTimeout); + this._pressDelayTimeout = null; + } + } + _cancelPressOutDelayTimeout() { + if (this._pressOutDelayTimeout != null) { + clearTimeout(this._pressOutDelayTimeout); + this._pressOutDelayTimeout = null; + } + } + }; + __name(_PressResponder, "PressResponder"); + var PressResponder = _PressResponder; + exports2.default = PressResponder; + function normalizeDelay(delay, min2, fallback) { + if (min2 === void 0) { + min2 = 0; + } + if (fallback === void 0) { + fallback = 0; + } + return Math.max(min2, delay !== null && delay !== void 0 ? delay : fallback); + } + __name(normalizeDelay, "normalizeDelay"); + function getTouchFromResponderEvent(event) { + var _event$nativeEvent = event.nativeEvent, changedTouches = _event$nativeEvent.changedTouches, touches = _event$nativeEvent.touches; + if (touches != null && touches.length > 0) { + return touches[0]; + } + if (changedTouches != null && changedTouches.length > 0) { + return changedTouches[0]; + } + return event.nativeEvent; + } + __name(getTouchFromResponderEvent, "getTouchFromResponderEvent"); + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/modules/usePressEvents/index.js +var require_usePressEvents = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/usePressEvents/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = usePressEvents; + var _PressResponder = _interopRequireDefault(require_PressResponder()); + var _react = require("react"); + function usePressEvents(hostRef, config) { + var pressResponderRef = (0, _react.useRef)(null); + if (pressResponderRef.current == null) { + pressResponderRef.current = new _PressResponder.default(config); + } + var pressResponder = pressResponderRef.current; + (0, _react.useEffect)(() => { + pressResponder.configure(config); + }, [config, pressResponder]); + (0, _react.useEffect)(() => { + return () => { + pressResponder.reset(); + }; + }, [pressResponder]); + (0, _react.useDebugValue)(config); + return pressResponder.getEventHandlers(); + } + __name(usePressEvents, "usePressEvents"); + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/TouchableOpacity/index.js +var require_TouchableOpacity = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/TouchableOpacity/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = void 0; + var _extends2 = _interopRequireDefault(require_extends()); + var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); + var React44 = _interopRequireWildcard(require("react")); + var _useMergeRefs = _interopRequireDefault(require_useMergeRefs()); + var _usePressEvents = _interopRequireDefault(require_usePressEvents()); + var _StyleSheet = _interopRequireDefault(require_StyleSheet()); + var _View = _interopRequireDefault(require_View()); + var _warnOnce = require_warnOnce(); + var _excluded = ["activeOpacity", "delayPressIn", "delayPressOut", "delayLongPress", "disabled", "focusable", "onLongPress", "onPress", "onPressIn", "onPressOut", "rejectResponderTermination", "style"]; + function TouchableOpacity(props, forwardedRef) { + (0, _warnOnce.warnOnce)("TouchableOpacity", "TouchableOpacity is deprecated. Please use Pressable."); + var activeOpacity = props.activeOpacity, delayPressIn = props.delayPressIn, delayPressOut = props.delayPressOut, delayLongPress = props.delayLongPress, disabled = props.disabled, focusable = props.focusable, onLongPress = props.onLongPress, onPress = props.onPress, onPressIn = props.onPressIn, onPressOut = props.onPressOut, rejectResponderTermination = props.rejectResponderTermination, style = props.style, rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded); + var hostRef = (0, React44.useRef)(null); + var setRef2 = (0, _useMergeRefs.default)(forwardedRef, hostRef); + var _useState = (0, React44.useState)("0s"), duration = _useState[0], setDuration = _useState[1]; + var _useState2 = (0, React44.useState)(null), opacityOverride = _useState2[0], setOpacityOverride = _useState2[1]; + var setOpacityTo = (0, React44.useCallback)((value, duration2) => { + setOpacityOverride(value); + setDuration(duration2 ? duration2 / 1e3 + "s" : "0s"); + }, [setOpacityOverride, setDuration]); + var setOpacityActive = (0, React44.useCallback)((duration2) => { + setOpacityTo(activeOpacity !== null && activeOpacity !== void 0 ? activeOpacity : 0.2, duration2); + }, [activeOpacity, setOpacityTo]); + var setOpacityInactive = (0, React44.useCallback)((duration2) => { + setOpacityTo(null, duration2); + }, [setOpacityTo]); + var pressConfig = (0, React44.useMemo)(() => ({ + cancelable: !rejectResponderTermination, + disabled, + delayLongPress, + delayPressStart: delayPressIn, + delayPressEnd: delayPressOut, + onLongPress, + onPress, + onPressStart(event) { + var isGrant = event.dispatchConfig != null ? event.dispatchConfig.registrationName === "onResponderGrant" : event.type === "keydown"; + setOpacityActive(isGrant ? 0 : 150); + if (onPressIn != null) { + onPressIn(event); + } + }, + onPressEnd(event) { + setOpacityInactive(250); + if (onPressOut != null) { + onPressOut(event); + } + } + }), [delayLongPress, delayPressIn, delayPressOut, disabled, onLongPress, onPress, onPressIn, onPressOut, rejectResponderTermination, setOpacityActive, setOpacityInactive]); + var pressEventHandlers = (0, _usePressEvents.default)(hostRef, pressConfig); + return /* @__PURE__ */ React44.createElement(_View.default, (0, _extends2.default)({}, rest, pressEventHandlers, { + accessibilityDisabled: disabled, + focusable: !disabled && focusable !== false, + pointerEvents: disabled ? "box-none" : void 0, + ref: setRef2, + style: [styles.root, !disabled && styles.actionable, style, opacityOverride != null && { + opacity: opacityOverride + }, { + transitionDuration: duration + }] + })); + } + __name(TouchableOpacity, "TouchableOpacity"); + var styles = _StyleSheet.default.create({ + root: { + transitionProperty: "opacity", + transitionDuration: "0.15s", + userSelect: "none" + }, + actionable: { + cursor: "pointer", + touchAction: "manipulation" + } + }); + var MemoedTouchableOpacity = /* @__PURE__ */ React44.memo(/* @__PURE__ */ React44.forwardRef(TouchableOpacity)); + MemoedTouchableOpacity.displayName = "TouchableOpacity"; + var _default = MemoedTouchableOpacity; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/Button/index.js +var require_Button = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/Button/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = void 0; + var React44 = _interopRequireWildcard(require("react")); + var _StyleSheet = _interopRequireDefault(require_StyleSheet()); + var _TouchableOpacity = _interopRequireDefault(require_TouchableOpacity()); + var _Text = _interopRequireDefault(require_Text()); + var _warnOnce = require_warnOnce(); + var Button = /* @__PURE__ */ React44.forwardRef((props, forwardedRef) => { + (0, _warnOnce.warnOnce)("Button", "Button is deprecated. Please use Pressable."); + var accessibilityLabel = props.accessibilityLabel, color = props.color, disabled = props.disabled, onPress = props.onPress, testID = props.testID, title = props.title; + return /* @__PURE__ */ React44.createElement(_TouchableOpacity.default, { + accessibilityLabel, + accessibilityRole: "button", + disabled, + focusable: !disabled, + onPress, + ref: forwardedRef, + style: [styles.button, color && { + backgroundColor: color + }, disabled && styles.buttonDisabled], + testID + }, /* @__PURE__ */ React44.createElement(_Text.default, { + style: [styles.text, disabled && styles.textDisabled] + }, title)); + }); + Button.displayName = "Button"; + var styles = _StyleSheet.default.create({ + button: { + backgroundColor: "#2196F3", + borderRadius: 2 + }, + text: { + color: "#fff", + fontWeight: "500", + padding: 8, + textAlign: "center", + textTransform: "uppercase" + }, + buttonDisabled: { + backgroundColor: "#dfdfdf" + }, + textDisabled: { + color: "#a1a1a1" + } + }); + var _default = Button; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/CheckBox/index.js +var require_CheckBox = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/CheckBox/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = void 0; + var _objectSpread2 = _interopRequireDefault(require_objectSpread2()); + var _extends2 = _interopRequireDefault(require_extends()); + var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); + var React44 = _interopRequireWildcard(require("react")); + var _createElement = _interopRequireDefault(require_createElement()); + var _StyleSheet = _interopRequireDefault(require_StyleSheet()); + var _View = _interopRequireDefault(require_View()); + var _excluded = ["aria-readonly", "color", "disabled", "onChange", "onValueChange", "readOnly", "style", "value"]; + var CheckBox = /* @__PURE__ */ React44.forwardRef((props, forwardedRef) => { + var ariaReadOnly = props["aria-readonly"], color = props.color, disabled = props.disabled, onChange = props.onChange, onValueChange = props.onValueChange, readOnly = props.readOnly, style = props.style, value = props.value, other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded); + function handleChange(event) { + var value2 = event.nativeEvent.target.checked; + event.nativeEvent.value = value2; + onChange && onChange(event); + onValueChange && onValueChange(value2); + } + __name(handleChange, "handleChange"); + var fakeControl = /* @__PURE__ */ React44.createElement(_View.default, { + style: [ + styles.fakeControl, + value && styles.fakeControlChecked, + // custom color + value && color && { + backgroundColor: color, + borderColor: color + }, + disabled && styles.fakeControlDisabled, + value && disabled && styles.fakeControlCheckedAndDisabled + ] + }); + var nativeControl = (0, _createElement.default)("input", { + checked: value, + disabled, + onChange: handleChange, + readOnly: readOnly === true || ariaReadOnly === true || other.accessibilityReadOnly === true, + ref: forwardedRef, + style: [styles.nativeControl, styles.cursorInherit], + type: "checkbox" + }); + return /* @__PURE__ */ React44.createElement(_View.default, (0, _extends2.default)({}, other, { + "aria-disabled": disabled, + "aria-readonly": ariaReadOnly, + style: [styles.root, style, disabled && styles.cursorDefault] + }), fakeControl, nativeControl); + }); + CheckBox.displayName = "CheckBox"; + var styles = _StyleSheet.default.create({ + root: { + cursor: "pointer", + height: 16, + userSelect: "none", + width: 16 + }, + cursorDefault: { + cursor: "default" + }, + cursorInherit: { + cursor: "inherit" + }, + fakeControl: { + alignItems: "center", + backgroundColor: "#fff", + borderColor: "#657786", + borderRadius: 2, + borderStyle: "solid", + borderWidth: 2, + height: "100%", + justifyContent: "center", + width: "100%" + }, + fakeControlChecked: { + backgroundColor: "#009688", + backgroundImage: 'url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8cGF0aAogICAgIGQ9Ik0gMC4wNDAzODA1OSwwLjYyNjc3NjcgMC4xNDY0NDY2MSwwLjUyMDcxMDY4IDAuNDI5Mjg5MzIsMC44MDM1NTMzOSAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IE0gMC4yMTcxNTcyOSwwLjgwMzU1MzM5IDAuODUzNTUzMzksMC4xNjcxNTcyOSAwLjk1OTYxOTQxLDAuMjczMjIzMyAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IgogICAgIGlkPSJyZWN0Mzc4MCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIiAvPgo8L3N2Zz4K")', + backgroundRepeat: "no-repeat", + borderColor: "#009688" + }, + fakeControlDisabled: { + borderColor: "#CCD6DD" + }, + fakeControlCheckedAndDisabled: { + backgroundColor: "#AAB8C2", + borderColor: "#AAB8C2" + }, + nativeControl: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, _StyleSheet.default.absoluteFillObject), {}, { + height: "100%", + margin: 0, + appearance: "none", + padding: 0, + width: "100%" + }) + }); + var _default = CheckBox; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/ImageBackground/index.js +var require_ImageBackground = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/ImageBackground/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = void 0; + var _extends2 = _interopRequireDefault(require_extends()); + var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); + var React44 = _interopRequireWildcard(require("react")); + var _Image = _interopRequireDefault(require_Image()); + var _StyleSheet = _interopRequireDefault(require_StyleSheet()); + var _View = _interopRequireDefault(require_View()); + var _excluded = ["children", "style", "imageStyle", "imageRef"]; + var emptyObject = {}; + var ImageBackground = /* @__PURE__ */ (0, React44.forwardRef)((props, forwardedRef) => { + var children = props.children, _props$style = props.style, style = _props$style === void 0 ? emptyObject : _props$style, imageStyle = props.imageStyle, imageRef = props.imageRef, rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded); + var _StyleSheet$flatten = _StyleSheet.default.flatten(style), height = _StyleSheet$flatten.height, width = _StyleSheet$flatten.width; + return /* @__PURE__ */ React44.createElement(_View.default, { + ref: forwardedRef, + style + }, /* @__PURE__ */ React44.createElement(_Image.default, (0, _extends2.default)({}, rest, { + ref: imageRef, + style: [{ + // Temporary Workaround: + // Current (imperfect yet) implementation of overwrites width and height styles + // (which is not quite correct), and these styles conflict with explicitly set styles + // of and with our internal layout model here. + // So, we have to proxy/reapply these styles explicitly for actual component. + // This workaround should be removed after implementing proper support of + // intrinsic content size of the . + width, + height, + zIndex: -1 + }, _StyleSheet.default.absoluteFill, imageStyle] + })), children); + }); + ImageBackground.displayName = "ImageBackground"; + var _default = ImageBackground; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/KeyboardAvoidingView/index.js +var require_KeyboardAvoidingView = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/KeyboardAvoidingView/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = void 0; + var _extends2 = _interopRequireDefault(require_extends()); + var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); + var React44 = _interopRequireWildcard(require("react")); + var _View = _interopRequireDefault(require_View()); + var _excluded = ["behavior", "contentContainerStyle", "keyboardVerticalOffset"]; + var _KeyboardAvoidingView = class _KeyboardAvoidingView extends React44.Component { + constructor() { + super(...arguments); + this.frame = null; + this.onLayout = (event) => { + this.frame = event.nativeEvent.layout; + }; + } + relativeKeyboardHeight(keyboardFrame) { + var frame = this.frame; + if (!frame || !keyboardFrame) { + return 0; + } + var keyboardY = keyboardFrame.screenY - (this.props.keyboardVerticalOffset || 0); + return Math.max(frame.y + frame.height - keyboardY, 0); + } + onKeyboardChange(event) { + } + render() { + var _this$props = this.props, behavior = _this$props.behavior, contentContainerStyle = _this$props.contentContainerStyle, keyboardVerticalOffset = _this$props.keyboardVerticalOffset, rest = (0, _objectWithoutPropertiesLoose2.default)(_this$props, _excluded); + return /* @__PURE__ */ React44.createElement(_View.default, (0, _extends2.default)({ + onLayout: this.onLayout + }, rest)); + } + }; + __name(_KeyboardAvoidingView, "KeyboardAvoidingView"); + var KeyboardAvoidingView = _KeyboardAvoidingView; + var _default = KeyboardAvoidingView; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/Modal/ModalPortal.js +var require_ModalPortal = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/Modal/ModalPortal.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = void 0; + var React44 = _interopRequireWildcard(require("react")); + var _reactDom = _interopRequireDefault(require("react-dom")); + var _canUseDom = _interopRequireDefault(require_canUseDom()); + function ModalPortal(props) { + var children = props.children; + var elementRef = React44.useRef(null); + if (_canUseDom.default && !elementRef.current) { + var element = document.createElement("div"); + if (element && document.body) { + document.body.appendChild(element); + elementRef.current = element; + } + } + React44.useEffect(() => { + if (_canUseDom.default) { + return () => { + if (document.body && elementRef.current) { + document.body.removeChild(elementRef.current); + elementRef.current = null; + } + }; + } + }, []); + return elementRef.current && _canUseDom.default ? /* @__PURE__ */ _reactDom.default.createPortal(children, elementRef.current) : null; + } + __name(ModalPortal, "ModalPortal"); + var _default = ModalPortal; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/Modal/ModalAnimation.js +var require_ModalAnimation = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/Modal/ModalAnimation.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = void 0; + var React44 = _interopRequireWildcard(require("react")); + var _StyleSheet = _interopRequireDefault(require_StyleSheet()); + var _createElement = _interopRequireDefault(require_createElement()); + var ANIMATION_DURATION = 300; + function getAnimationStyle(animationType, visible) { + if (animationType === "slide") { + return visible ? animatedSlideInStyles : animatedSlideOutStyles; + } + if (animationType === "fade") { + return visible ? animatedFadeInStyles : animatedFadeOutStyles; + } + return visible ? styles.container : styles.hidden; + } + __name(getAnimationStyle, "getAnimationStyle"); + function ModalAnimation(props) { + var animationType = props.animationType, children = props.children, onDismiss = props.onDismiss, onShow = props.onShow, visible = props.visible; + var _React$useState = React44.useState(false), isRendering = _React$useState[0], setIsRendering = _React$useState[1]; + var wasVisible = React44.useRef(false); + var wasRendering = React44.useRef(false); + var isAnimated = animationType && animationType !== "none"; + var animationEndCallback = React44.useCallback((e) => { + if (e && e.currentTarget !== e.target) { + return; + } + if (visible) { + if (onShow) { + onShow(); + } + } else { + setIsRendering(false); + } + }, [onShow, visible]); + React44.useEffect(() => { + if (wasRendering.current && !isRendering && onDismiss) { + onDismiss(); + } + wasRendering.current = isRendering; + }, [isRendering, onDismiss]); + React44.useEffect(() => { + if (visible) { + setIsRendering(true); + } + if (visible !== wasVisible.current && !isAnimated) { + animationEndCallback(); + } + wasVisible.current = visible; + }, [isAnimated, visible, animationEndCallback]); + return isRendering || visible ? (0, _createElement.default)("div", { + style: isRendering ? getAnimationStyle(animationType, visible) : styles.hidden, + onAnimationEnd: animationEndCallback, + children + }) : null; + } + __name(ModalAnimation, "ModalAnimation"); + var styles = _StyleSheet.default.create({ + container: { + position: "fixed", + top: 0, + right: 0, + bottom: 0, + left: 0, + zIndex: 9999 + }, + animatedIn: { + animationDuration: ANIMATION_DURATION + "ms", + animationTimingFunction: "ease-in" + }, + animatedOut: { + pointerEvents: "none", + animationDuration: ANIMATION_DURATION + "ms", + animationTimingFunction: "ease-out" + }, + fadeIn: { + opacity: 1, + animationKeyframes: { + "0%": { + opacity: 0 + }, + "100%": { + opacity: 1 + } + } + }, + fadeOut: { + opacity: 0, + animationKeyframes: { + "0%": { + opacity: 1 + }, + "100%": { + opacity: 0 + } + } + }, + slideIn: { + transform: "translateY(0%)", + animationKeyframes: { + "0%": { + transform: "translateY(100%)" + }, + "100%": { + transform: "translateY(0%)" + } + } + }, + slideOut: { + transform: "translateY(100%)", + animationKeyframes: { + "0%": { + transform: "translateY(0%)" + }, + "100%": { + transform: "translateY(100%)" + } + } + }, + hidden: { + opacity: 0 + } + }); + var animatedSlideInStyles = [styles.container, styles.animatedIn, styles.slideIn]; + var animatedSlideOutStyles = [styles.container, styles.animatedOut, styles.slideOut]; + var animatedFadeInStyles = [styles.container, styles.animatedIn, styles.fadeIn]; + var animatedFadeOutStyles = [styles.container, styles.animatedOut, styles.fadeOut]; + var _default = ModalAnimation; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/Modal/ModalContent.js +var require_ModalContent = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/Modal/ModalContent.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = void 0; + var _extends2 = _interopRequireDefault(require_extends()); + var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); + var React44 = _interopRequireWildcard(require("react")); + var _View = _interopRequireDefault(require_View()); + var _StyleSheet = _interopRequireDefault(require_StyleSheet()); + var _canUseDom = _interopRequireDefault(require_canUseDom()); + var _excluded = ["active", "children", "onRequestClose", "transparent"]; + var ModalContent = /* @__PURE__ */ React44.forwardRef((props, forwardedRef) => { + var active = props.active, children = props.children, onRequestClose = props.onRequestClose, transparent = props.transparent, rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded); + React44.useEffect(() => { + if (_canUseDom.default) { + var closeOnEscape = /* @__PURE__ */ __name((e) => { + if (active && e.key === "Escape") { + e.stopPropagation(); + if (onRequestClose) { + onRequestClose(); + } + } + }, "closeOnEscape"); + document.addEventListener("keyup", closeOnEscape, false); + return () => document.removeEventListener("keyup", closeOnEscape, false); + } + }, [active, onRequestClose]); + var style = React44.useMemo(() => { + return [styles.modal, transparent ? styles.modalTransparent : styles.modalOpaque]; + }, [transparent]); + return /* @__PURE__ */ React44.createElement(_View.default, (0, _extends2.default)({}, rest, { + "aria-modal": true, + ref: forwardedRef, + role: active ? "dialog" : null, + style + }), /* @__PURE__ */ React44.createElement(_View.default, { + style: styles.container + }, children)); + }); + var styles = _StyleSheet.default.create({ + modal: { + position: "fixed", + top: 0, + right: 0, + bottom: 0, + left: 0 + }, + modalTransparent: { + backgroundColor: "transparent" + }, + modalOpaque: { + backgroundColor: "white" + }, + container: { + top: 0, + flex: 1 + } + }); + var _default = ModalContent; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/Modal/ModalFocusTrap.js +var require_ModalFocusTrap = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/Modal/ModalFocusTrap.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = void 0; + var React44 = _interopRequireWildcard(require("react")); + var _View = _interopRequireDefault(require_View()); + var _createElement = _interopRequireDefault(require_createElement()); + var _StyleSheet = _interopRequireDefault(require_StyleSheet()); + var _UIManager = _interopRequireDefault(require_UIManager()); + var _canUseDom = _interopRequireDefault(require_canUseDom()); + var FocusBracket = /* @__PURE__ */ __name(() => { + return (0, _createElement.default)("div", { + role: "none", + tabIndex: 0, + style: styles.focusBracket + }); + }, "FocusBracket"); + function attemptFocus(element) { + if (!_canUseDom.default) { + return false; + } + try { + element.focus(); + } catch (e) { + } + return document.activeElement === element; + } + __name(attemptFocus, "attemptFocus"); + function focusFirstDescendant(element) { + for (var i = 0; i < element.childNodes.length; i++) { + var child = element.childNodes[i]; + if (attemptFocus(child) || focusFirstDescendant(child)) { + return true; + } + } + return false; + } + __name(focusFirstDescendant, "focusFirstDescendant"); + function focusLastDescendant(element) { + for (var i = element.childNodes.length - 1; i >= 0; i--) { + var child = element.childNodes[i]; + if (attemptFocus(child) || focusLastDescendant(child)) { + return true; + } + } + return false; + } + __name(focusLastDescendant, "focusLastDescendant"); + var ModalFocusTrap = /* @__PURE__ */ __name((_ref) => { + var active = _ref.active, children = _ref.children; + var trapElementRef = React44.useRef(); + var focusRef = React44.useRef({ + trapFocusInProgress: false, + lastFocusedElement: null + }); + React44.useEffect(() => { + if (_canUseDom.default) { + var trapFocus = /* @__PURE__ */ __name(() => { + if (trapElementRef.current == null || focusRef.current.trapFocusInProgress || !active) { + return; + } + try { + focusRef.current.trapFocusInProgress = true; + if (document.activeElement instanceof Node && !trapElementRef.current.contains(document.activeElement)) { + var hasFocused = focusFirstDescendant(trapElementRef.current); + if (focusRef.current.lastFocusedElement === document.activeElement) { + hasFocused = focusLastDescendant(trapElementRef.current); + } + if (!hasFocused && trapElementRef.current != null && document.activeElement) { + _UIManager.default.focus(trapElementRef.current); + } + } + } finally { + focusRef.current.trapFocusInProgress = false; + } + focusRef.current.lastFocusedElement = document.activeElement; + }, "trapFocus"); + trapFocus(); + document.addEventListener("focus", trapFocus, true); + return () => document.removeEventListener("focus", trapFocus, true); + } + }, [active]); + React44.useEffect(function() { + if (_canUseDom.default) { + var lastFocusedElementOutsideTrap = document.activeElement; + return function() { + if (lastFocusedElementOutsideTrap && document.contains(lastFocusedElementOutsideTrap)) { + _UIManager.default.focus(lastFocusedElementOutsideTrap); + } + }; + } + }, []); + return /* @__PURE__ */ React44.createElement(React44.Fragment, null, /* @__PURE__ */ React44.createElement(FocusBracket, null), /* @__PURE__ */ React44.createElement(_View.default, { + ref: trapElementRef + }, children), /* @__PURE__ */ React44.createElement(FocusBracket, null)); + }, "ModalFocusTrap"); + var _default = ModalFocusTrap; + exports2.default = _default; + var styles = _StyleSheet.default.create({ + focusBracket: { + outlineStyle: "none" + } + }); + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/Modal/index.js +var require_Modal = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/Modal/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = void 0; + var _extends2 = _interopRequireDefault(require_extends()); + var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); + var React44 = _interopRequireWildcard(require("react")); + var _ModalPortal = _interopRequireDefault(require_ModalPortal()); + var _ModalAnimation = _interopRequireDefault(require_ModalAnimation()); + var _ModalContent = _interopRequireDefault(require_ModalContent()); + var _ModalFocusTrap = _interopRequireDefault(require_ModalFocusTrap()); + var _excluded = ["animationType", "children", "onDismiss", "onRequestClose", "onShow", "transparent", "visible"]; + var uniqueModalIdentifier = 0; + var activeModalStack = []; + var activeModalListeners = {}; + function notifyActiveModalListeners() { + if (activeModalStack.length === 0) { + return; + } + var activeModalId = activeModalStack[activeModalStack.length - 1]; + activeModalStack.forEach((modalId) => { + if (modalId in activeModalListeners) { + activeModalListeners[modalId](modalId === activeModalId); + } + }); + } + __name(notifyActiveModalListeners, "notifyActiveModalListeners"); + function removeActiveModal(modalId) { + if (modalId in activeModalListeners) { + activeModalListeners[modalId](false); + delete activeModalListeners[modalId]; + } + var index3 = activeModalStack.indexOf(modalId); + if (index3 !== -1) { + activeModalStack.splice(index3, 1); + notifyActiveModalListeners(); + } + } + __name(removeActiveModal, "removeActiveModal"); + function addActiveModal(modalId, listener) { + removeActiveModal(modalId); + activeModalStack.push(modalId); + activeModalListeners[modalId] = listener; + notifyActiveModalListeners(); + } + __name(addActiveModal, "addActiveModal"); + var Modal = /* @__PURE__ */ React44.forwardRef((props, forwardedRef) => { + var animationType = props.animationType, children = props.children, onDismiss = props.onDismiss, onRequestClose = props.onRequestClose, onShow = props.onShow, transparent = props.transparent, _props$visible = props.visible, visible = _props$visible === void 0 ? true : _props$visible, rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded); + var modalId = React44.useMemo(() => uniqueModalIdentifier++, []); + var _React$useState = React44.useState(false), isActive = _React$useState[0], setIsActive = _React$useState[1]; + var onDismissCallback = React44.useCallback(() => { + removeActiveModal(modalId); + if (onDismiss) { + onDismiss(); + } + }, [modalId, onDismiss]); + var onShowCallback = React44.useCallback(() => { + addActiveModal(modalId, setIsActive); + if (onShow) { + onShow(); + } + }, [modalId, onShow]); + React44.useEffect(() => { + return () => removeActiveModal(modalId); + }, [modalId]); + return /* @__PURE__ */ React44.createElement(_ModalPortal.default, null, /* @__PURE__ */ React44.createElement(_ModalAnimation.default, { + animationType, + onDismiss: onDismissCallback, + onShow: onShowCallback, + visible + }, /* @__PURE__ */ React44.createElement(_ModalFocusTrap.default, { + active: isActive + }, /* @__PURE__ */ React44.createElement(_ModalContent.default, (0, _extends2.default)({}, rest, { + active: isActive, + onRequestClose, + ref: forwardedRef, + transparent + }), children)))); + }); + var _default = Modal; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/Picker/PickerItem.js +var require_PickerItem = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/Picker/PickerItem.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = PickerItem; + var _createElement = _interopRequireDefault(require_createElement()); + function PickerItem(props) { + var color = props.color, label = props.label, testID = props.testID, value = props.value; + var style = { + color + }; + return (0, _createElement.default)("option", { + children: label, + style, + testID, + value + }); + } + __name(PickerItem, "PickerItem"); + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/Picker/index.js +var require_Picker = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/Picker/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = void 0; + var _objectSpread2 = _interopRequireDefault(require_objectSpread2()); + var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); + var React44 = _interopRequireWildcard(require("react")); + var _createElement = _interopRequireDefault(require_createElement()); + var _useMergeRefs = _interopRequireDefault(require_useMergeRefs()); + var _usePlatformMethods = _interopRequireDefault(require_usePlatformMethods()); + var _PickerItem = _interopRequireDefault(require_PickerItem()); + var _StyleSheet = _interopRequireDefault(require_StyleSheet()); + var _excluded = ["children", "enabled", "onValueChange", "selectedValue", "style", "testID", "itemStyle", "mode", "prompt"]; + var Picker = /* @__PURE__ */ React44.forwardRef((props, forwardedRef) => { + var children = props.children, enabled = props.enabled, onValueChange = props.onValueChange, selectedValue = props.selectedValue, style = props.style, testID = props.testID, itemStyle = props.itemStyle, mode = props.mode, prompt = props.prompt, other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded); + var hostRef = React44.useRef(null); + function handleChange(e) { + var _e$target = e.target, selectedIndex = _e$target.selectedIndex, value = _e$target.value; + if (onValueChange) { + onValueChange(value, selectedIndex); + } + } + __name(handleChange, "handleChange"); + var supportedProps = (0, _objectSpread2.default)({ + children, + disabled: enabled === false ? true : void 0, + onChange: handleChange, + style: [styles.initial, style], + testID, + value: selectedValue + }, other); + var platformMethodsRef = (0, _usePlatformMethods.default)(supportedProps); + var setRef2 = (0, _useMergeRefs.default)(hostRef, platformMethodsRef, forwardedRef); + supportedProps.ref = setRef2; + return (0, _createElement.default)("select", supportedProps); + }); + Picker.Item = _PickerItem.default; + var styles = _StyleSheet.default.create({ + initial: { + fontFamily: "System", + fontSize: "inherit", + margin: 0 + } + }); + var _default = Picker; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/modules/addEventListener/index.js +var require_addEventListener = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/addEventListener/index.js"(exports2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.addEventListener = addEventListener; + var _canUseDom = _interopRequireDefault(require_canUseDom()); + var emptyFunction = /* @__PURE__ */ __name(() => { + }, "emptyFunction"); + function supportsPassiveEvents() { + var supported = false; + if (_canUseDom.default) { + try { + var options = {}; + Object.defineProperty(options, "passive", { + get() { + supported = true; + return false; + } + }); + window.addEventListener("test", null, options); + window.removeEventListener("test", null, options); + } catch (e) { + } + } + return supported; + } + __name(supportsPassiveEvents, "supportsPassiveEvents"); + var canUsePassiveEvents = supportsPassiveEvents(); + function getOptions(options) { + if (options == null) { + return false; + } + return canUsePassiveEvents ? options : Boolean(options.capture); + } + __name(getOptions, "getOptions"); + function isPropagationStopped() { + return this.cancelBubble; + } + __name(isPropagationStopped, "isPropagationStopped"); + function isDefaultPrevented() { + return this.defaultPrevented; + } + __name(isDefaultPrevented, "isDefaultPrevented"); + function normalizeEvent(event) { + event.nativeEvent = event; + event.persist = emptyFunction; + event.isDefaultPrevented = isDefaultPrevented; + event.isPropagationStopped = isPropagationStopped; + return event; + } + __name(normalizeEvent, "normalizeEvent"); + function addEventListener(target, type, listener, options) { + var opts = getOptions(options); + var compatListener = /* @__PURE__ */ __name((e) => listener(normalizeEvent(e)), "compatListener"); + target.addEventListener(type, compatListener, opts); + return /* @__PURE__ */ __name(function removeEventListener() { + if (target != null) { + target.removeEventListener(type, compatListener, opts); + } + }, "removeEventListener"); + } + __name(addEventListener, "addEventListener"); + } +}); + +// node_modules/react-native-web/dist/cjs/modules/modality/index.js +var require_modality = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/modality/index.js"(exports2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.addModalityListener = addModalityListener; + exports2.getActiveModality = getActiveModality; + exports2.getModality = getModality; + exports2.testOnly_resetActiveModality = testOnly_resetActiveModality; + var _addEventListener = require_addEventListener(); + var _canUseDom = _interopRequireDefault(require_canUseDom()); + var supportsPointerEvent = /* @__PURE__ */ __name(() => !!(typeof window !== "undefined" && window.PointerEvent != null), "supportsPointerEvent"); + var activeModality = "keyboard"; + var modality = "keyboard"; + var previousModality; + var previousActiveModality; + var isEmulatingMouseEvents = false; + var listeners = /* @__PURE__ */ new Set(); + var KEYBOARD = "keyboard"; + var MOUSE = "mouse"; + var TOUCH = "touch"; + var BLUR = "blur"; + var CONTEXTMENU = "contextmenu"; + var FOCUS = "focus"; + var KEYDOWN = "keydown"; + var MOUSEDOWN = "mousedown"; + var MOUSEMOVE = "mousemove"; + var MOUSEUP = "mouseup"; + var POINTERDOWN = "pointerdown"; + var POINTERMOVE = "pointermove"; + var SCROLL = "scroll"; + var SELECTIONCHANGE = "selectionchange"; + var TOUCHCANCEL = "touchcancel"; + var TOUCHMOVE = "touchmove"; + var TOUCHSTART = "touchstart"; + var VISIBILITYCHANGE = "visibilitychange"; + var bubbleOptions = { + passive: true + }; + var captureOptions = { + capture: true, + passive: true + }; + function restoreModality() { + if (previousModality != null || previousActiveModality != null) { + if (previousModality != null) { + modality = previousModality; + previousModality = null; + } + if (previousActiveModality != null) { + activeModality = previousActiveModality; + previousActiveModality = null; + } + callListeners(); + } + } + __name(restoreModality, "restoreModality"); + function onBlurWindow() { + previousModality = modality; + previousActiveModality = activeModality; + activeModality = KEYBOARD; + modality = KEYBOARD; + callListeners(); + isEmulatingMouseEvents = false; + } + __name(onBlurWindow, "onBlurWindow"); + function onFocusWindow() { + restoreModality(); + } + __name(onFocusWindow, "onFocusWindow"); + function onKeyDown(event) { + if (event.metaKey || event.altKey || event.ctrlKey) { + return; + } + if (modality !== KEYBOARD) { + modality = KEYBOARD; + activeModality = KEYBOARD; + callListeners(); + } + } + __name(onKeyDown, "onKeyDown"); + function onVisibilityChange() { + if (document.visibilityState !== "hidden") { + restoreModality(); + } + } + __name(onVisibilityChange, "onVisibilityChange"); + function onPointerish(event) { + var eventType = event.type; + if (supportsPointerEvent()) { + if (eventType === POINTERDOWN) { + if (activeModality !== event.pointerType) { + modality = event.pointerType; + activeModality = event.pointerType; + callListeners(); + } + return; + } + if (eventType === POINTERMOVE) { + if (modality !== event.pointerType) { + modality = event.pointerType; + callListeners(); + } + return; + } + } else { + if (!isEmulatingMouseEvents) { + if (eventType === MOUSEDOWN) { + if (activeModality !== MOUSE) { + modality = MOUSE; + activeModality = MOUSE; + callListeners(); + } + } + if (eventType === MOUSEMOVE) { + if (modality !== MOUSE) { + modality = MOUSE; + callListeners(); + } + } + } + if (eventType === TOUCHSTART) { + isEmulatingMouseEvents = true; + if (event.touches && event.touches.length > 1) { + isEmulatingMouseEvents = false; + } + if (activeModality !== TOUCH) { + modality = TOUCH; + activeModality = TOUCH; + callListeners(); + } + return; + } + if (eventType === CONTEXTMENU || eventType === MOUSEUP || eventType === SELECTIONCHANGE || eventType === SCROLL || eventType === TOUCHCANCEL || eventType === TOUCHMOVE) { + isEmulatingMouseEvents = false; + } + } + } + __name(onPointerish, "onPointerish"); + if (_canUseDom.default) { + (0, _addEventListener.addEventListener)(window, BLUR, onBlurWindow, bubbleOptions); + (0, _addEventListener.addEventListener)(window, FOCUS, onFocusWindow, bubbleOptions); + (0, _addEventListener.addEventListener)(document, KEYDOWN, onKeyDown, captureOptions); + (0, _addEventListener.addEventListener)(document, VISIBILITYCHANGE, onVisibilityChange, captureOptions); + (0, _addEventListener.addEventListener)(document, POINTERDOWN, onPointerish, captureOptions); + (0, _addEventListener.addEventListener)(document, POINTERMOVE, onPointerish, captureOptions); + (0, _addEventListener.addEventListener)(document, CONTEXTMENU, onPointerish, captureOptions); + (0, _addEventListener.addEventListener)(document, MOUSEDOWN, onPointerish, captureOptions); + (0, _addEventListener.addEventListener)(document, MOUSEMOVE, onPointerish, captureOptions); + (0, _addEventListener.addEventListener)(document, MOUSEUP, onPointerish, captureOptions); + (0, _addEventListener.addEventListener)(document, TOUCHCANCEL, onPointerish, captureOptions); + (0, _addEventListener.addEventListener)(document, TOUCHMOVE, onPointerish, captureOptions); + (0, _addEventListener.addEventListener)(document, TOUCHSTART, onPointerish, captureOptions); + (0, _addEventListener.addEventListener)(document, SELECTIONCHANGE, onPointerish, captureOptions); + (0, _addEventListener.addEventListener)(document, SCROLL, onPointerish, captureOptions); + } + function callListeners() { + var value = { + activeModality, + modality + }; + listeners.forEach((listener) => { + listener(value); + }); + } + __name(callListeners, "callListeners"); + function getActiveModality() { + return activeModality; + } + __name(getActiveModality, "getActiveModality"); + function getModality() { + return modality; + } + __name(getModality, "getModality"); + function addModalityListener(listener) { + listeners.add(listener); + return () => { + listeners.delete(listener); + }; + } + __name(addModalityListener, "addModalityListener"); + function testOnly_resetActiveModality() { + isEmulatingMouseEvents = false; + activeModality = KEYBOARD; + modality = KEYBOARD; + } + __name(testOnly_resetActiveModality, "testOnly_resetActiveModality"); + } +}); + +// node_modules/react-native-web/dist/cjs/modules/useEvent/index.js +var require_useEvent2 = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/useEvent/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = useEvent13; + var _addEventListener = require_addEventListener(); + var _useLayoutEffect = _interopRequireDefault(require_useLayoutEffect()); + var _useStable = _interopRequireDefault(require_useStable()); + function useEvent13(eventType, options) { + var targetListeners = (0, _useStable.default)(() => /* @__PURE__ */ new Map()); + var addListener = (0, _useStable.default)(() => { + return (target, callback) => { + var removeTargetListener = targetListeners.get(target); + if (removeTargetListener != null) { + removeTargetListener(); + } + if (callback == null) { + targetListeners.delete(target); + callback = /* @__PURE__ */ __name(() => { + }, "callback"); + } + var removeEventListener = (0, _addEventListener.addEventListener)(target, eventType, callback, options); + targetListeners.set(target, removeEventListener); + return removeEventListener; + }; + }); + (0, _useLayoutEffect.default)(() => { + return () => { + targetListeners.forEach((removeListener) => { + removeListener(); + }); + targetListeners.clear(); + }; + }, [targetListeners]); + return addListener; + } + __name(useEvent13, "useEvent"); + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/modules/useHover/index.js +var require_useHover = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/useHover/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = useHover2; + var _modality = require_modality(); + var _useEvent = _interopRequireDefault(require_useEvent2()); + var _useLayoutEffect = _interopRequireDefault(require_useLayoutEffect()); + var emptyObject = {}; + var opts = { + passive: true + }; + var lockEventType = "react-gui:hover:lock"; + var unlockEventType = "react-gui:hover:unlock"; + var supportsPointerEvent = /* @__PURE__ */ __name(() => !!(typeof window !== "undefined" && window.PointerEvent != null), "supportsPointerEvent"); + function dispatchCustomEvent(target, type, payload) { + var event = document.createEvent("CustomEvent"); + var _ref = payload || emptyObject, _ref$bubbles = _ref.bubbles, bubbles = _ref$bubbles === void 0 ? true : _ref$bubbles, _ref$cancelable = _ref.cancelable, cancelable = _ref$cancelable === void 0 ? true : _ref$cancelable, detail = _ref.detail; + event.initCustomEvent(type, bubbles, cancelable, detail); + target.dispatchEvent(event); + } + __name(dispatchCustomEvent, "dispatchCustomEvent"); + function getPointerType(event) { + var pointerType = event.pointerType; + return pointerType != null ? pointerType : (0, _modality.getModality)(); + } + __name(getPointerType, "getPointerType"); + function useHover2(targetRef, config) { + var contain = config.contain, disabled = config.disabled, onHoverStart = config.onHoverStart, onHoverChange = config.onHoverChange, onHoverUpdate = config.onHoverUpdate, onHoverEnd = config.onHoverEnd; + var canUsePE = supportsPointerEvent(); + var addMoveListener = (0, _useEvent.default)(canUsePE ? "pointermove" : "mousemove", opts); + var addEnterListener = (0, _useEvent.default)(canUsePE ? "pointerenter" : "mouseenter", opts); + var addLeaveListener = (0, _useEvent.default)(canUsePE ? "pointerleave" : "mouseleave", opts); + var addLockListener = (0, _useEvent.default)(lockEventType, opts); + var addUnlockListener = (0, _useEvent.default)(unlockEventType, opts); + (0, _useLayoutEffect.default)(() => { + var target = targetRef.current; + if (target !== null) { + var hoverEnd = /* @__PURE__ */ __name(function hoverEnd2(e) { + if (onHoverEnd != null) { + onHoverEnd(e); + } + if (onHoverChange != null) { + onHoverChange(false); + } + addMoveListener(target, null); + addLeaveListener(target, null); + }, "hoverEnd"); + var leaveListener = /* @__PURE__ */ __name(function leaveListener2(e) { + var target2 = targetRef.current; + if (target2 != null && getPointerType(e) !== "touch") { + if (contain) { + dispatchCustomEvent(target2, unlockEventType); + } + hoverEnd(e); + } + }, "leaveListener"); + var moveListener = /* @__PURE__ */ __name(function moveListener2(e) { + if (getPointerType(e) !== "touch") { + if (onHoverUpdate != null) { + if (e.x == null) { + e.x = e.clientX; + } + if (e.y == null) { + e.y = e.clientY; + } + onHoverUpdate(e); + } + } + }, "moveListener"); + var hoverStart = /* @__PURE__ */ __name(function hoverStart2(e) { + if (onHoverStart != null) { + onHoverStart(e); + } + if (onHoverChange != null) { + onHoverChange(true); + } + if (onHoverUpdate != null) { + addMoveListener(target, !disabled ? moveListener : null); + } + addLeaveListener(target, !disabled ? leaveListener : null); + }, "hoverStart"); + var enterListener = /* @__PURE__ */ __name(function enterListener2(e) { + var target2 = targetRef.current; + if (target2 != null && getPointerType(e) !== "touch") { + if (contain) { + dispatchCustomEvent(target2, lockEventType); + } + hoverStart(e); + var lockListener = /* @__PURE__ */ __name(function lockListener2(lockEvent) { + if (lockEvent.target !== target2) { + hoverEnd(e); + } + }, "lockListener"); + var unlockListener = /* @__PURE__ */ __name(function unlockListener2(lockEvent) { + if (lockEvent.target !== target2) { + hoverStart(e); + } + }, "unlockListener"); + addLockListener(target2, !disabled ? lockListener : null); + addUnlockListener(target2, !disabled ? unlockListener : null); + } + }, "enterListener"); + addEnterListener(target, !disabled ? enterListener : null); + } + }, [addEnterListener, addMoveListener, addLeaveListener, addLockListener, addUnlockListener, contain, disabled, onHoverStart, onHoverChange, onHoverUpdate, onHoverEnd, targetRef]); + } + __name(useHover2, "useHover"); + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/Pressable/index.js +var require_Pressable = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/Pressable/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = void 0; + var _extends2 = _interopRequireDefault(require_extends()); + var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); + var React44 = _interopRequireWildcard(require("react")); + var _useMergeRefs = _interopRequireDefault(require_useMergeRefs()); + var _useHover = _interopRequireDefault(require_useHover()); + var _usePressEvents = _interopRequireDefault(require_usePressEvents()); + var _StyleSheet = _interopRequireDefault(require_StyleSheet()); + var _View = _interopRequireDefault(require_View()); + var _excluded = ["children", "delayLongPress", "delayPressIn", "delayPressOut", "disabled", "onBlur", "onContextMenu", "onFocus", "onHoverIn", "onHoverOut", "onKeyDown", "onLongPress", "onPress", "onPressMove", "onPressIn", "onPressOut", "style", "tabIndex", "testOnly_hovered", "testOnly_pressed"]; + function Pressable(props, forwardedRef) { + var children = props.children, delayLongPress = props.delayLongPress, delayPressIn = props.delayPressIn, delayPressOut = props.delayPressOut, disabled = props.disabled, onBlur = props.onBlur, onContextMenu = props.onContextMenu, onFocus = props.onFocus, onHoverIn = props.onHoverIn, onHoverOut = props.onHoverOut, onKeyDown = props.onKeyDown, onLongPress = props.onLongPress, onPress = props.onPress, onPressMove = props.onPressMove, onPressIn = props.onPressIn, onPressOut = props.onPressOut, style = props.style, tabIndex = props.tabIndex, testOnly_hovered = props.testOnly_hovered, testOnly_pressed = props.testOnly_pressed, rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded); + var _useForceableState = useForceableState(testOnly_hovered === true), hovered = _useForceableState[0], setHovered = _useForceableState[1]; + var _useForceableState2 = useForceableState(false), focused = _useForceableState2[0], setFocused = _useForceableState2[1]; + var _useForceableState3 = useForceableState(testOnly_pressed === true), pressed = _useForceableState3[0], setPressed = _useForceableState3[1]; + var hostRef = (0, React44.useRef)(null); + var setRef2 = (0, _useMergeRefs.default)(forwardedRef, hostRef); + var pressConfig = (0, React44.useMemo)(() => ({ + delayLongPress, + delayPressStart: delayPressIn, + delayPressEnd: delayPressOut, + disabled, + onLongPress, + onPress, + onPressChange: setPressed, + onPressStart: onPressIn, + onPressMove, + onPressEnd: onPressOut + }), [delayLongPress, delayPressIn, delayPressOut, disabled, onLongPress, onPress, onPressIn, onPressMove, onPressOut, setPressed]); + var pressEventHandlers = (0, _usePressEvents.default)(hostRef, pressConfig); + var onContextMenuPress = pressEventHandlers.onContextMenu, onKeyDownPress = pressEventHandlers.onKeyDown; + (0, _useHover.default)(hostRef, { + contain: true, + disabled, + onHoverChange: setHovered, + onHoverStart: onHoverIn, + onHoverEnd: onHoverOut + }); + var interactionState = { + hovered, + focused, + pressed + }; + var blurHandler = React44.useCallback((e) => { + if (e.nativeEvent.target === hostRef.current) { + setFocused(false); + if (onBlur != null) { + onBlur(e); + } + } + }, [hostRef, setFocused, onBlur]); + var focusHandler = React44.useCallback((e) => { + if (e.nativeEvent.target === hostRef.current) { + setFocused(true); + if (onFocus != null) { + onFocus(e); + } + } + }, [hostRef, setFocused, onFocus]); + var contextMenuHandler = React44.useCallback((e) => { + if (onContextMenuPress != null) { + onContextMenuPress(e); + } + if (onContextMenu != null) { + onContextMenu(e); + } + }, [onContextMenu, onContextMenuPress]); + var keyDownHandler = React44.useCallback((e) => { + if (onKeyDownPress != null) { + onKeyDownPress(e); + } + if (onKeyDown != null) { + onKeyDown(e); + } + }, [onKeyDown, onKeyDownPress]); + var _tabIndex; + if (tabIndex !== void 0) { + _tabIndex = tabIndex; + } else { + _tabIndex = disabled ? -1 : 0; + } + return /* @__PURE__ */ React44.createElement(_View.default, (0, _extends2.default)({}, rest, pressEventHandlers, { + "aria-disabled": disabled, + onBlur: blurHandler, + onContextMenu: contextMenuHandler, + onFocus: focusHandler, + onKeyDown: keyDownHandler, + ref: setRef2, + style: [disabled ? styles.disabled : styles.active, typeof style === "function" ? style(interactionState) : style], + tabIndex: _tabIndex + }), typeof children === "function" ? children(interactionState) : children); + } + __name(Pressable, "Pressable"); + function useForceableState(forced) { + var _useState = (0, React44.useState)(false), bool = _useState[0], setBool = _useState[1]; + return [bool || forced, setBool]; + } + __name(useForceableState, "useForceableState"); + var styles = _StyleSheet.default.create({ + active: { + cursor: "pointer", + touchAction: "manipulation" + }, + disabled: { + pointerEvents: "box-none" + } + }); + var MemoedPressable = /* @__PURE__ */ (0, React44.memo)(/* @__PURE__ */ (0, React44.forwardRef)(Pressable)); + MemoedPressable.displayName = "Pressable"; + var _default = MemoedPressable; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/ProgressBar/index.js +var require_ProgressBar = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/ProgressBar/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = void 0; + var _extends2 = _interopRequireDefault(require_extends()); + var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); + var React44 = _interopRequireWildcard(require("react")); + var _StyleSheet = _interopRequireDefault(require_StyleSheet()); + var _View = _interopRequireDefault(require_View()); + var _excluded = ["color", "indeterminate", "progress", "trackColor", "style"]; + var ProgressBar = /* @__PURE__ */ React44.forwardRef((props, ref) => { + var _props$color = props.color, color = _props$color === void 0 ? "#1976D2" : _props$color, _props$indeterminate = props.indeterminate, indeterminate = _props$indeterminate === void 0 ? false : _props$indeterminate, _props$progress = props.progress, progress = _props$progress === void 0 ? 0 : _props$progress, _props$trackColor = props.trackColor, trackColor = _props$trackColor === void 0 ? "transparent" : _props$trackColor, style = props.style, other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded); + var percentageProgress = progress * 100; + var width = indeterminate ? "25%" : percentageProgress + "%"; + return /* @__PURE__ */ React44.createElement(_View.default, (0, _extends2.default)({}, other, { + "aria-valuemax": 100, + "aria-valuemin": 0, + "aria-valuenow": indeterminate ? null : percentageProgress, + ref, + role: "progressbar", + style: [styles.track, style, { + backgroundColor: trackColor + }] + }), /* @__PURE__ */ React44.createElement(_View.default, { + style: [{ + backgroundColor: color, + width + }, styles.progress, indeterminate && styles.animation] + })); + }); + ProgressBar.displayName = "ProgressBar"; + var styles = _StyleSheet.default.create({ + track: { + forcedColorAdjust: "none", + height: 5, + overflow: "hidden", + userSelect: "none", + zIndex: 0 + }, + progress: { + forcedColorAdjust: "none", + height: "100%", + zIndex: -1 + }, + animation: { + animationDuration: "1s", + animationKeyframes: [{ + "0%": { + transform: "translateX(-100%)" + }, + "100%": { + transform: "translateX(400%)" + } + }], + animationTimingFunction: "linear", + animationIterationCount: "infinite" + } + }); + var _default = ProgressBar; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/SafeAreaView/index.js +var require_SafeAreaView = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/SafeAreaView/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = void 0; + var _extends2 = _interopRequireDefault(require_extends()); + var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); + var React44 = _interopRequireWildcard(require("react")); + var _StyleSheet = _interopRequireDefault(require_StyleSheet()); + var _View = _interopRequireDefault(require_View()); + var _canUseDom = _interopRequireDefault(require_canUseDom()); + var _excluded = ["style"]; + var cssFunction = function() { + if (_canUseDom.default && window.CSS && window.CSS.supports && window.CSS.supports("top: constant(safe-area-inset-top)")) { + return "constant"; + } + return "env"; + }(); + var SafeAreaView = /* @__PURE__ */ React44.forwardRef((props, ref) => { + var style = props.style, rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded); + return /* @__PURE__ */ React44.createElement(_View.default, (0, _extends2.default)({}, rest, { + ref, + style: [styles.root, style] + })); + }); + SafeAreaView.displayName = "SafeAreaView"; + var styles = _StyleSheet.default.create({ + root: { + paddingTop: cssFunction + "(safe-area-inset-top)", + paddingRight: cssFunction + "(safe-area-inset-right)", + paddingBottom: cssFunction + "(safe-area-inset-bottom)", + paddingLeft: cssFunction + "(safe-area-inset-left)" + } + }); + var _default = SafeAreaView; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/StatusBar/index.js +var require_StatusBar = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/StatusBar/index.js"(exports2, module2) { + "use strict"; + exports2.__esModule = true; + exports2.default = void 0; + var emptyFunction = /* @__PURE__ */ __name(() => { + }, "emptyFunction"); + function StatusBar() { + return null; + } + __name(StatusBar, "StatusBar"); + StatusBar.setBackgroundColor = emptyFunction; + StatusBar.setBarStyle = emptyFunction; + StatusBar.setHidden = emptyFunction; + StatusBar.setNetworkActivityIndicatorVisible = emptyFunction; + StatusBar.setTranslucent = emptyFunction; + var _default = StatusBar; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/modules/multiplyStyleLengthValue/index.js +var require_multiplyStyleLengthValue = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/multiplyStyleLengthValue/index.js"(exports2, module2) { + "use strict"; + exports2.__esModule = true; + exports2.default = void 0; + var CSS_UNIT_RE = /^[+-]?\d*(?:\.\d+)?(?:[Ee][+-]?\d+)?(%|\w*)/; + var getUnit = /* @__PURE__ */ __name((str) => str.match(CSS_UNIT_RE)[1], "getUnit"); + var isNumeric = /* @__PURE__ */ __name((n) => { + return !isNaN(parseFloat(n)) && isFinite(n); + }, "isNumeric"); + var multiplyStyleLengthValue = /* @__PURE__ */ __name((value, multiple) => { + if (typeof value === "string") { + var number = parseFloat(value) * multiple; + var unit = getUnit(value); + return "" + number + unit; + } else if (isNumeric(value)) { + return value * multiple; + } + }, "multiplyStyleLengthValue"); + var _default = multiplyStyleLengthValue; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/Switch/index.js +var require_Switch = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/Switch/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = void 0; + var _objectSpread2 = _interopRequireDefault(require_objectSpread2()); + var _extends2 = _interopRequireDefault(require_extends()); + var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); + var React44 = _interopRequireWildcard(require("react")); + var _createElement = _interopRequireDefault(require_createElement()); + var _multiplyStyleLengthValue = _interopRequireDefault(require_multiplyStyleLengthValue()); + var _StyleSheet = _interopRequireDefault(require_StyleSheet()); + var _View = _interopRequireDefault(require_View()); + var _excluded = ["aria-label", "accessibilityLabel", "activeThumbColor", "activeTrackColor", "disabled", "onValueChange", "style", "thumbColor", "trackColor", "value"]; + var emptyObject = {}; + var thumbDefaultBoxShadow = "0px 1px 3px rgba(0,0,0,0.5)"; + var thumbFocusedBoxShadow = thumbDefaultBoxShadow + ", 0 0 0 10px rgba(0,0,0,0.1)"; + var defaultActiveTrackColor = "#A3D3CF"; + var defaultTrackColor = "#939393"; + var defaultDisabledTrackColor = "#D5D5D5"; + var defaultActiveThumbColor = "#009688"; + var defaultThumbColor = "#FAFAFA"; + var defaultDisabledThumbColor = "#BDBDBD"; + var Switch2 = /* @__PURE__ */ React44.forwardRef((props, forwardedRef) => { + var ariaLabel = props["aria-label"], accessibilityLabel = props.accessibilityLabel, activeThumbColor = props.activeThumbColor, activeTrackColor = props.activeTrackColor, _props$disabled = props.disabled, disabled = _props$disabled === void 0 ? false : _props$disabled, onValueChange = props.onValueChange, _props$style = props.style, style = _props$style === void 0 ? emptyObject : _props$style, thumbColor = props.thumbColor, trackColor = props.trackColor, _props$value = props.value, value = _props$value === void 0 ? false : _props$value, other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded); + var thumbRef = React44.useRef(null); + function handleChange(event) { + if (onValueChange != null) { + onValueChange(event.nativeEvent.target.checked); + } + } + __name(handleChange, "handleChange"); + function handleFocusState(event) { + var isFocused = event.nativeEvent.type === "focus"; + var boxShadow = isFocused ? thumbFocusedBoxShadow : thumbDefaultBoxShadow; + if (thumbRef.current != null) { + thumbRef.current.style.boxShadow = boxShadow; + } + } + __name(handleFocusState, "handleFocusState"); + var _StyleSheet$flatten = _StyleSheet.default.flatten(style), styleHeight = _StyleSheet$flatten.height, styleWidth = _StyleSheet$flatten.width; + var height = styleHeight || "20px"; + var minWidth = (0, _multiplyStyleLengthValue.default)(height, 2); + var width = styleWidth > minWidth ? styleWidth : minWidth; + var trackBorderRadius = (0, _multiplyStyleLengthValue.default)(height, 0.5); + var trackCurrentColor = function() { + if (value === true) { + if (trackColor != null && typeof trackColor === "object") { + return trackColor.true; + } else { + return activeTrackColor !== null && activeTrackColor !== void 0 ? activeTrackColor : defaultActiveTrackColor; + } + } else { + if (trackColor != null && typeof trackColor === "object") { + return trackColor.false; + } else { + return trackColor !== null && trackColor !== void 0 ? trackColor : defaultTrackColor; + } + } + }(); + var thumbCurrentColor = value ? activeThumbColor !== null && activeThumbColor !== void 0 ? activeThumbColor : defaultActiveThumbColor : thumbColor !== null && thumbColor !== void 0 ? thumbColor : defaultThumbColor; + var thumbHeight = height; + var thumbWidth = thumbHeight; + var rootStyle = [styles.root, style, disabled && styles.cursorDefault, { + height, + width + }]; + var disabledTrackColor = function() { + if (value === true) { + if (typeof activeTrackColor === "string" && activeTrackColor != null || typeof trackColor === "object" && trackColor != null && trackColor.true) { + return trackCurrentColor; + } else { + return defaultDisabledTrackColor; + } + } else { + if (typeof trackColor === "string" && trackColor != null || typeof trackColor === "object" && trackColor != null && trackColor.false) { + return trackCurrentColor; + } else { + return defaultDisabledTrackColor; + } + } + }(); + var disabledThumbColor = function() { + if (value === true) { + if (activeThumbColor == null) { + return defaultDisabledThumbColor; + } else { + return thumbCurrentColor; + } + } else { + if (thumbColor == null) { + return defaultDisabledThumbColor; + } else { + return thumbCurrentColor; + } + } + }(); + var trackStyle = [styles.track, { + backgroundColor: disabled ? disabledTrackColor : trackCurrentColor, + borderRadius: trackBorderRadius + }]; + var thumbStyle = [styles.thumb, value && styles.thumbActive, { + backgroundColor: disabled ? disabledThumbColor : thumbCurrentColor, + height: thumbHeight, + marginStart: value ? (0, _multiplyStyleLengthValue.default)(thumbWidth, -1) : 0, + width: thumbWidth + }]; + var nativeControl = (0, _createElement.default)("input", { + "aria-label": ariaLabel || accessibilityLabel, + checked: value, + disabled, + onBlur: handleFocusState, + onChange: handleChange, + onFocus: handleFocusState, + ref: forwardedRef, + style: [styles.nativeControl, styles.cursorInherit], + type: "checkbox", + role: "switch" + }); + return /* @__PURE__ */ React44.createElement(_View.default, (0, _extends2.default)({}, other, { + style: rootStyle + }), /* @__PURE__ */ React44.createElement(_View.default, { + style: trackStyle + }), /* @__PURE__ */ React44.createElement(_View.default, { + ref: thumbRef, + style: thumbStyle + }), nativeControl); + }); + Switch2.displayName = "Switch"; + var styles = _StyleSheet.default.create({ + root: { + cursor: "pointer", + userSelect: "none" + }, + cursorDefault: { + cursor: "default" + }, + cursorInherit: { + cursor: "inherit" + }, + track: (0, _objectSpread2.default)((0, _objectSpread2.default)({ + forcedColorAdjust: "none" + }, _StyleSheet.default.absoluteFillObject), {}, { + height: "70%", + margin: "auto", + transitionDuration: "0.1s", + width: "100%" + }), + thumb: { + forcedColorAdjust: "none", + alignSelf: "flex-start", + borderRadius: "100%", + boxShadow: thumbDefaultBoxShadow, + start: "0%", + transform: "translateZ(0)", + transitionDuration: "0.1s" + }, + thumbActive: { + insetInlineStart: "100%" + }, + nativeControl: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, _StyleSheet.default.absoluteFillObject), {}, { + height: "100%", + margin: 0, + appearance: "none", + padding: 0, + width: "100%" + }) + }); + var _default = Switch2; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/TextInput/index.js +var require_TextInput = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/TextInput/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = void 0; + var React44 = _interopRequireWildcard(require("react")); + var _createElement = _interopRequireDefault(require_createElement()); + var forwardedProps = _interopRequireWildcard(require_forwardedProps()); + var _pick = _interopRequireDefault(require_pick()); + var _useElementLayout = _interopRequireDefault(require_useElementLayout()); + var _useLayoutEffect = _interopRequireDefault(require_useLayoutEffect()); + var _useMergeRefs = _interopRequireDefault(require_useMergeRefs()); + var _usePlatformMethods = _interopRequireDefault(require_usePlatformMethods()); + var _useResponderEvents = _interopRequireDefault(require_useResponderEvents()); + var _useLocale = require_useLocale(); + var _StyleSheet = _interopRequireDefault(require_StyleSheet()); + var _TextInputState = _interopRequireDefault(require_TextInputState()); + var _warnOnce = require_warnOnce(); + var isSelectionStale = /* @__PURE__ */ __name((node, selection) => { + var selectionEnd = node.selectionEnd, selectionStart = node.selectionStart; + var start = selection.start, end = selection.end; + return start !== selectionStart || end !== selectionEnd; + }, "isSelectionStale"); + var setSelection = /* @__PURE__ */ __name((node, selection) => { + if (isSelectionStale(node, selection)) { + var start = selection.start, end = selection.end; + try { + node.setSelectionRange(start, end || start); + } catch (e) { + } + } + }, "setSelection"); + var forwardPropsList = Object.assign({}, forwardedProps.defaultProps, forwardedProps.accessibilityProps, forwardedProps.clickProps, forwardedProps.focusProps, forwardedProps.keyboardProps, forwardedProps.mouseProps, forwardedProps.touchProps, forwardedProps.styleProps, { + autoCapitalize: true, + autoComplete: true, + autoCorrect: true, + autoFocus: true, + defaultValue: true, + disabled: true, + lang: true, + maxLength: true, + onChange: true, + onScroll: true, + placeholder: true, + pointerEvents: true, + readOnly: true, + rows: true, + spellCheck: true, + value: true, + type: true + }); + var pickProps = /* @__PURE__ */ __name((props) => (0, _pick.default)(props, forwardPropsList), "pickProps"); + function isEventComposing(nativeEvent) { + return nativeEvent.isComposing || nativeEvent.keyCode === 229; + } + __name(isEventComposing, "isEventComposing"); + var focusTimeout = null; + var TextInput2 = /* @__PURE__ */ React44.forwardRef((props, forwardedRef) => { + var _props$autoCapitalize = props.autoCapitalize, autoCapitalize = _props$autoCapitalize === void 0 ? "sentences" : _props$autoCapitalize, autoComplete = props.autoComplete, autoCompleteType = props.autoCompleteType, _props$autoCorrect = props.autoCorrect, autoCorrect = _props$autoCorrect === void 0 ? true : _props$autoCorrect, blurOnSubmit = props.blurOnSubmit, caretHidden = props.caretHidden, clearTextOnFocus = props.clearTextOnFocus, dir = props.dir, editable = props.editable, enterKeyHint = props.enterKeyHint, inputMode = props.inputMode, keyboardType = props.keyboardType, _props$multiline = props.multiline, multiline = _props$multiline === void 0 ? false : _props$multiline, numberOfLines = props.numberOfLines, onBlur = props.onBlur, onChange = props.onChange, onChangeText = props.onChangeText, onContentSizeChange = props.onContentSizeChange, onFocus = props.onFocus, onKeyPress = props.onKeyPress, onLayout = props.onLayout, onMoveShouldSetResponder = props.onMoveShouldSetResponder, onMoveShouldSetResponderCapture = props.onMoveShouldSetResponderCapture, onResponderEnd = props.onResponderEnd, onResponderGrant = props.onResponderGrant, onResponderMove = props.onResponderMove, onResponderReject = props.onResponderReject, onResponderRelease = props.onResponderRelease, onResponderStart = props.onResponderStart, onResponderTerminate = props.onResponderTerminate, onResponderTerminationRequest = props.onResponderTerminationRequest, onScrollShouldSetResponder = props.onScrollShouldSetResponder, onScrollShouldSetResponderCapture = props.onScrollShouldSetResponderCapture, onSelectionChange = props.onSelectionChange, onSelectionChangeShouldSetResponder = props.onSelectionChangeShouldSetResponder, onSelectionChangeShouldSetResponderCapture = props.onSelectionChangeShouldSetResponderCapture, onStartShouldSetResponder = props.onStartShouldSetResponder, onStartShouldSetResponderCapture = props.onStartShouldSetResponderCapture, onSubmitEditing = props.onSubmitEditing, placeholderTextColor = props.placeholderTextColor, _props$readOnly = props.readOnly, readOnly = _props$readOnly === void 0 ? false : _props$readOnly, returnKeyType = props.returnKeyType, rows = props.rows, _props$secureTextEntr = props.secureTextEntry, secureTextEntry = _props$secureTextEntr === void 0 ? false : _props$secureTextEntr, selection = props.selection, selectTextOnFocus = props.selectTextOnFocus, spellCheck = props.spellCheck; + var type; + var _inputMode; + if (inputMode != null) { + _inputMode = inputMode; + if (inputMode === "email") { + type = "email"; + } else if (inputMode === "tel") { + type = "tel"; + } else if (inputMode === "search") { + type = "search"; + } else if (inputMode === "url") { + type = "url"; + } else { + type = "text"; + } + } else if (keyboardType != null) { + (0, _warnOnce.warnOnce)("keyboardType", "keyboardType is deprecated. Use inputMode."); + switch (keyboardType) { + case "email-address": + type = "email"; + break; + case "number-pad": + case "numeric": + _inputMode = "numeric"; + break; + case "decimal-pad": + _inputMode = "decimal"; + break; + case "phone-pad": + type = "tel"; + break; + case "search": + case "web-search": + type = "search"; + break; + case "url": + type = "url"; + break; + default: + type = "text"; + } + } + if (secureTextEntry) { + type = "password"; + } + var dimensions = React44.useRef({ + height: null, + width: null + }); + var hostRef = React44.useRef(null); + var prevSelection = React44.useRef(null); + var prevSecureTextEntry = React44.useRef(false); + React44.useEffect(() => { + if (hostRef.current && prevSelection.current) { + setSelection(hostRef.current, prevSelection.current); + } + prevSecureTextEntry.current = secureTextEntry; + }, [secureTextEntry]); + var handleContentSizeChange = React44.useCallback((hostNode) => { + if (multiline && onContentSizeChange && hostNode != null) { + var newHeight = hostNode.scrollHeight; + var newWidth = hostNode.scrollWidth; + if (newHeight !== dimensions.current.height || newWidth !== dimensions.current.width) { + dimensions.current.height = newHeight; + dimensions.current.width = newWidth; + onContentSizeChange({ + nativeEvent: { + contentSize: { + height: dimensions.current.height, + width: dimensions.current.width + } + } + }); + } + } + }, [multiline, onContentSizeChange]); + var imperativeRef = React44.useMemo(() => (hostNode) => { + if (hostNode != null) { + hostNode.clear = function() { + if (hostNode != null) { + hostNode.value = ""; + } + }; + hostNode.isFocused = function() { + return hostNode != null && _TextInputState.default.currentlyFocusedField() === hostNode; + }; + handleContentSizeChange(hostNode); + } + }, [handleContentSizeChange]); + function handleBlur(e) { + _TextInputState.default._currentlyFocusedNode = null; + if (onBlur) { + e.nativeEvent.text = e.target.value; + onBlur(e); + } + } + __name(handleBlur, "handleBlur"); + function handleChange(e) { + var hostNode = e.target; + var text = hostNode.value; + e.nativeEvent.text = text; + handleContentSizeChange(hostNode); + if (onChange) { + onChange(e); + } + if (onChangeText) { + onChangeText(text); + } + } + __name(handleChange, "handleChange"); + function handleFocus(e) { + var hostNode = e.target; + if (onFocus) { + e.nativeEvent.text = hostNode.value; + onFocus(e); + } + if (hostNode != null) { + _TextInputState.default._currentlyFocusedNode = hostNode; + if (clearTextOnFocus) { + hostNode.value = ""; + } + if (selectTextOnFocus) { + if (focusTimeout != null) { + clearTimeout(focusTimeout); + } + focusTimeout = setTimeout(() => { + if (hostNode != null) { + hostNode.select(); + } + }, 0); + } + } + } + __name(handleFocus, "handleFocus"); + function handleKeyDown(e) { + var hostNode = e.target; + e.stopPropagation(); + var blurOnSubmitDefault = !multiline; + var shouldBlurOnSubmit = blurOnSubmit == null ? blurOnSubmitDefault : blurOnSubmit; + var nativeEvent = e.nativeEvent; + var isComposing = isEventComposing(nativeEvent); + if (onKeyPress) { + onKeyPress(e); + } + if (e.key === "Enter" && !e.shiftKey && // Do not call submit if composition is occuring. + !isComposing && !e.isDefaultPrevented()) { + if ((blurOnSubmit || !multiline) && onSubmitEditing) { + e.preventDefault(); + nativeEvent.text = e.target.value; + onSubmitEditing(e); + } + if (shouldBlurOnSubmit && hostNode != null) { + setTimeout(() => hostNode.blur(), 0); + } + } + } + __name(handleKeyDown, "handleKeyDown"); + function handleSelectionChange(e) { + try { + var _e$target = e.target, selectionStart = _e$target.selectionStart, selectionEnd = _e$target.selectionEnd; + var _selection = { + start: selectionStart, + end: selectionEnd + }; + if (onSelectionChange) { + e.nativeEvent.selection = _selection; + e.nativeEvent.text = e.target.value; + onSelectionChange(e); + } + if (prevSecureTextEntry.current === secureTextEntry) { + prevSelection.current = _selection; + } + } catch (e2) { + } + } + __name(handleSelectionChange, "handleSelectionChange"); + (0, _useLayoutEffect.default)(() => { + var node = hostRef.current; + if (node != null && selection != null) { + setSelection(node, selection); + } + if (document.activeElement === node) { + _TextInputState.default._currentlyFocusedNode = node; + } + }, [hostRef, selection]); + var component = multiline ? "textarea" : "input"; + (0, _useElementLayout.default)(hostRef, onLayout); + (0, _useResponderEvents.default)(hostRef, { + onMoveShouldSetResponder, + onMoveShouldSetResponderCapture, + onResponderEnd, + onResponderGrant, + onResponderMove, + onResponderReject, + onResponderRelease, + onResponderStart, + onResponderTerminate, + onResponderTerminationRequest, + onScrollShouldSetResponder, + onScrollShouldSetResponderCapture, + onSelectionChangeShouldSetResponder, + onSelectionChangeShouldSetResponderCapture, + onStartShouldSetResponder, + onStartShouldSetResponderCapture + }); + var _useLocaleContext = (0, _useLocale.useLocaleContext)(), contextDirection = _useLocaleContext.direction; + var supportedProps = pickProps(props); + supportedProps.autoCapitalize = autoCapitalize; + supportedProps.autoComplete = autoComplete || autoCompleteType || "on"; + supportedProps.autoCorrect = autoCorrect ? "on" : "off"; + supportedProps.dir = dir !== void 0 ? dir : "auto"; + if (returnKeyType != null) { + (0, _warnOnce.warnOnce)("returnKeyType", "returnKeyType is deprecated. Use enterKeyHint."); + } + supportedProps.enterKeyHint = enterKeyHint || returnKeyType; + supportedProps.inputMode = _inputMode; + supportedProps.onBlur = handleBlur; + supportedProps.onChange = handleChange; + supportedProps.onFocus = handleFocus; + supportedProps.onKeyDown = handleKeyDown; + supportedProps.onSelect = handleSelectionChange; + if (editable != null) { + (0, _warnOnce.warnOnce)("editable", "editable is deprecated. Use readOnly."); + } + supportedProps.readOnly = readOnly === true || editable === false; + if (numberOfLines != null) { + (0, _warnOnce.warnOnce)("numberOfLines", "TextInput numberOfLines is deprecated. Use rows."); + } + supportedProps.rows = multiline ? rows != null ? rows : numberOfLines : 1; + supportedProps.spellCheck = spellCheck != null ? spellCheck : autoCorrect; + supportedProps.style = [{ + "--placeholderTextColor": placeholderTextColor + }, styles.textinput$raw, styles.placeholder, props.style, caretHidden && styles.caretHidden]; + supportedProps.type = multiline ? void 0 : type; + var platformMethodsRef = (0, _usePlatformMethods.default)(supportedProps); + var setRef2 = (0, _useMergeRefs.default)(hostRef, platformMethodsRef, imperativeRef, forwardedRef); + supportedProps.ref = setRef2; + var langDirection = props.lang != null ? (0, _useLocale.getLocaleDirection)(props.lang) : null; + var componentDirection = props.dir || langDirection; + var writingDirection = componentDirection || contextDirection; + var element = (0, _createElement.default)(component, supportedProps, { + writingDirection + }); + return element; + }); + TextInput2.displayName = "TextInput"; + TextInput2.State = _TextInputState.default; + var styles = _StyleSheet.default.create({ + textinput$raw: { + MozAppearance: "textfield", + WebkitAppearance: "none", + backgroundColor: "transparent", + border: "0 solid black", + borderRadius: 0, + boxSizing: "border-box", + font: "14px System", + margin: 0, + padding: 0, + resize: "none" + }, + placeholder: { + placeholderTextColor: "var(--placeholderTextColor)" + }, + caretHidden: { + caretColor: "transparent" + } + }); + var _default = TextInput2; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/vendor/react-native/PooledClass/index.js +var require_PooledClass = __commonJS({ + "node_modules/react-native-web/dist/cjs/vendor/react-native/PooledClass/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _invariant = _interopRequireDefault(require_invariant()); + var twoArgumentPooler = /* @__PURE__ */ __name(function twoArgumentPooler2(a1, a2) { + var Klass = this; + if (Klass.instancePool.length) { + var instance = Klass.instancePool.pop(); + Klass.call(instance, a1, a2); + return instance; + } else { + return new Klass(a1, a2); + } + }, "twoArgumentPooler"); + var standardReleaser = /* @__PURE__ */ __name(function standardReleaser2(instance) { + var Klass = this; + instance.destructor(); + if (Klass.instancePool.length < Klass.poolSize) { + Klass.instancePool.push(instance); + } + }, "standardReleaser"); + var DEFAULT_POOL_SIZE = 10; + var DEFAULT_POOLER = twoArgumentPooler; + var addPoolingTo = /* @__PURE__ */ __name(function addPoolingTo2(CopyConstructor, pooler) { + var NewKlass = CopyConstructor; + NewKlass.instancePool = []; + NewKlass.getPooled = pooler || DEFAULT_POOLER; + if (!NewKlass.poolSize) { + NewKlass.poolSize = DEFAULT_POOL_SIZE; + } + NewKlass.release = standardReleaser; + return NewKlass; + }, "addPoolingTo"); + var PooledClass = { + addPoolingTo, + twoArgumentPooler + }; + var _default = PooledClass; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/Touchable/BoundingDimensions.js +var require_BoundingDimensions = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/Touchable/BoundingDimensions.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _PooledClass = _interopRequireDefault(require_PooledClass()); + var twoArgumentPooler = _PooledClass.default.twoArgumentPooler; + function BoundingDimensions(width, height) { + this.width = width; + this.height = height; + } + __name(BoundingDimensions, "BoundingDimensions"); + BoundingDimensions.prototype.destructor = function() { + this.width = null; + this.height = null; + }; + BoundingDimensions.getPooledFromElement = function(element) { + return BoundingDimensions.getPooled(element.offsetWidth, element.offsetHeight); + }; + _PooledClass.default.addPoolingTo(BoundingDimensions, twoArgumentPooler); + var _default = BoundingDimensions; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/Touchable/Position.js +var require_Position = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/Touchable/Position.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _PooledClass = _interopRequireDefault(require_PooledClass()); + var twoArgumentPooler = _PooledClass.default.twoArgumentPooler; + function Position(left, top) { + this.left = left; + this.top = top; + } + __name(Position, "Position"); + Position.prototype.destructor = function() { + this.left = null; + this.top = null; + }; + _PooledClass.default.addPoolingTo(Position, twoArgumentPooler); + var _default = Position; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/Touchable/index.js +var require_Touchable = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/Touchable/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); + var _objectSpread2 = _interopRequireDefault(require_objectSpread2()); + var _AccessibilityUtil = _interopRequireDefault(require_AccessibilityUtil()); + var _BoundingDimensions = _interopRequireDefault(require_BoundingDimensions()); + var _normalizeColors = _interopRequireDefault(require_normalize_colors()); + var _Position = _interopRequireDefault(require_Position()); + var _react = _interopRequireDefault(require("react")); + var _UIManager = _interopRequireDefault(require_UIManager()); + var _View = _interopRequireDefault(require_View()); + var _warnOnce = require_warnOnce(); + var extractSingleTouch = /* @__PURE__ */ __name((nativeEvent) => { + var touches = nativeEvent.touches; + var changedTouches = nativeEvent.changedTouches; + var hasTouches = touches && touches.length > 0; + var hasChangedTouches = changedTouches && changedTouches.length > 0; + return !hasTouches && hasChangedTouches ? changedTouches[0] : hasTouches ? touches[0] : nativeEvent; + }, "extractSingleTouch"); + var States = { + NOT_RESPONDER: "NOT_RESPONDER", + // Not the responder + RESPONDER_INACTIVE_PRESS_IN: "RESPONDER_INACTIVE_PRESS_IN", + // Responder, inactive, in the `PressRect` + RESPONDER_INACTIVE_PRESS_OUT: "RESPONDER_INACTIVE_PRESS_OUT", + // Responder, inactive, out of `PressRect` + RESPONDER_ACTIVE_PRESS_IN: "RESPONDER_ACTIVE_PRESS_IN", + // Responder, active, in the `PressRect` + RESPONDER_ACTIVE_PRESS_OUT: "RESPONDER_ACTIVE_PRESS_OUT", + // Responder, active, out of `PressRect` + RESPONDER_ACTIVE_LONG_PRESS_IN: "RESPONDER_ACTIVE_LONG_PRESS_IN", + // Responder, active, in the `PressRect`, after long press threshold + RESPONDER_ACTIVE_LONG_PRESS_OUT: "RESPONDER_ACTIVE_LONG_PRESS_OUT", + // Responder, active, out of `PressRect`, after long press threshold + ERROR: "ERROR" + }; + var baseStatesConditions = { + NOT_RESPONDER: false, + RESPONDER_INACTIVE_PRESS_IN: false, + RESPONDER_INACTIVE_PRESS_OUT: false, + RESPONDER_ACTIVE_PRESS_IN: false, + RESPONDER_ACTIVE_PRESS_OUT: false, + RESPONDER_ACTIVE_LONG_PRESS_IN: false, + RESPONDER_ACTIVE_LONG_PRESS_OUT: false, + ERROR: false + }; + var IsActive = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, baseStatesConditions), {}, { + RESPONDER_ACTIVE_PRESS_OUT: true, + RESPONDER_ACTIVE_PRESS_IN: true + }); + var IsPressingIn = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, baseStatesConditions), {}, { + RESPONDER_INACTIVE_PRESS_IN: true, + RESPONDER_ACTIVE_PRESS_IN: true, + RESPONDER_ACTIVE_LONG_PRESS_IN: true + }); + var IsLongPressingIn = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, baseStatesConditions), {}, { + RESPONDER_ACTIVE_LONG_PRESS_IN: true + }); + var Signals = { + DELAY: "DELAY", + RESPONDER_GRANT: "RESPONDER_GRANT", + RESPONDER_RELEASE: "RESPONDER_RELEASE", + RESPONDER_TERMINATED: "RESPONDER_TERMINATED", + ENTER_PRESS_RECT: "ENTER_PRESS_RECT", + LEAVE_PRESS_RECT: "LEAVE_PRESS_RECT", + LONG_PRESS_DETECTED: "LONG_PRESS_DETECTED" + }; + var Transitions = { + NOT_RESPONDER: { + DELAY: States.ERROR, + RESPONDER_GRANT: States.RESPONDER_INACTIVE_PRESS_IN, + RESPONDER_RELEASE: States.ERROR, + RESPONDER_TERMINATED: States.ERROR, + ENTER_PRESS_RECT: States.ERROR, + LEAVE_PRESS_RECT: States.ERROR, + LONG_PRESS_DETECTED: States.ERROR + }, + RESPONDER_INACTIVE_PRESS_IN: { + DELAY: States.RESPONDER_ACTIVE_PRESS_IN, + RESPONDER_GRANT: States.ERROR, + RESPONDER_RELEASE: States.NOT_RESPONDER, + RESPONDER_TERMINATED: States.NOT_RESPONDER, + ENTER_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_IN, + LEAVE_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_OUT, + LONG_PRESS_DETECTED: States.ERROR + }, + RESPONDER_INACTIVE_PRESS_OUT: { + DELAY: States.RESPONDER_ACTIVE_PRESS_OUT, + RESPONDER_GRANT: States.ERROR, + RESPONDER_RELEASE: States.NOT_RESPONDER, + RESPONDER_TERMINATED: States.NOT_RESPONDER, + ENTER_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_IN, + LEAVE_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_OUT, + LONG_PRESS_DETECTED: States.ERROR + }, + RESPONDER_ACTIVE_PRESS_IN: { + DELAY: States.ERROR, + RESPONDER_GRANT: States.ERROR, + RESPONDER_RELEASE: States.NOT_RESPONDER, + RESPONDER_TERMINATED: States.NOT_RESPONDER, + ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_IN, + LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_OUT, + LONG_PRESS_DETECTED: States.RESPONDER_ACTIVE_LONG_PRESS_IN + }, + RESPONDER_ACTIVE_PRESS_OUT: { + DELAY: States.ERROR, + RESPONDER_GRANT: States.ERROR, + RESPONDER_RELEASE: States.NOT_RESPONDER, + RESPONDER_TERMINATED: States.NOT_RESPONDER, + ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_IN, + LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_OUT, + LONG_PRESS_DETECTED: States.ERROR + }, + RESPONDER_ACTIVE_LONG_PRESS_IN: { + DELAY: States.ERROR, + RESPONDER_GRANT: States.ERROR, + RESPONDER_RELEASE: States.NOT_RESPONDER, + RESPONDER_TERMINATED: States.NOT_RESPONDER, + ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_IN, + LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_OUT, + LONG_PRESS_DETECTED: States.RESPONDER_ACTIVE_LONG_PRESS_IN + }, + RESPONDER_ACTIVE_LONG_PRESS_OUT: { + DELAY: States.ERROR, + RESPONDER_GRANT: States.ERROR, + RESPONDER_RELEASE: States.NOT_RESPONDER, + RESPONDER_TERMINATED: States.NOT_RESPONDER, + ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_IN, + LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_OUT, + LONG_PRESS_DETECTED: States.ERROR + }, + error: { + DELAY: States.NOT_RESPONDER, + RESPONDER_GRANT: States.RESPONDER_INACTIVE_PRESS_IN, + RESPONDER_RELEASE: States.NOT_RESPONDER, + RESPONDER_TERMINATED: States.NOT_RESPONDER, + ENTER_PRESS_RECT: States.NOT_RESPONDER, + LEAVE_PRESS_RECT: States.NOT_RESPONDER, + LONG_PRESS_DETECTED: States.NOT_RESPONDER + } + }; + var HIGHLIGHT_DELAY_MS = 130; + var PRESS_EXPAND_PX = 20; + var LONG_PRESS_THRESHOLD = 500; + var LONG_PRESS_DELAY_MS = LONG_PRESS_THRESHOLD - HIGHLIGHT_DELAY_MS; + var LONG_PRESS_ALLOWED_MOVEMENT = 10; + var TouchableMixin = { + // HACK (part 1): basic support for touchable interactions using a keyboard + componentDidMount: /* @__PURE__ */ __name(function componentDidMount() { + (0, _warnOnce.warnOnce)("TouchableMixin", "TouchableMixin is deprecated. Please use Pressable."); + var touchableNode = this.getTouchableNode && this.getTouchableNode(); + if (touchableNode && touchableNode.addEventListener) { + this._touchableBlurListener = (e) => { + if (this._isTouchableKeyboardActive) { + if (this.state.touchable.touchState && this.state.touchable.touchState !== States.NOT_RESPONDER) { + this.touchableHandleResponderTerminate({ + nativeEvent: e + }); + } + this._isTouchableKeyboardActive = false; + } + }; + touchableNode.addEventListener("blur", this._touchableBlurListener); + } + }, "componentDidMount"), + /** + * Clear all timeouts on unmount + */ + componentWillUnmount: /* @__PURE__ */ __name(function componentWillUnmount() { + var touchableNode = this.getTouchableNode && this.getTouchableNode(); + if (touchableNode && touchableNode.addEventListener) { + touchableNode.removeEventListener("blur", this._touchableBlurListener); + } + this.touchableDelayTimeout && clearTimeout(this.touchableDelayTimeout); + this.longPressDelayTimeout && clearTimeout(this.longPressDelayTimeout); + this.pressOutDelayTimeout && clearTimeout(this.pressOutDelayTimeout); + this.pressInLocation = null; + this.state.touchable.responderID = null; + }, "componentWillUnmount"), + /** + * It's prefer that mixins determine state in this way, having the class + * explicitly mix the state in the one and only `getInitialState` method. + * + * @return {object} State object to be placed inside of + * `this.state.touchable`. + */ + touchableGetInitialState: /* @__PURE__ */ __name(function touchableGetInitialState() { + return { + touchable: { + touchState: void 0, + responderID: null + } + }; + }, "touchableGetInitialState"), + // ==== Hooks to Gesture Responder system ==== + /** + * Must return true if embedded in a native platform scroll view. + */ + touchableHandleResponderTerminationRequest: /* @__PURE__ */ __name(function touchableHandleResponderTerminationRequest() { + return !this.props.rejectResponderTermination; + }, "touchableHandleResponderTerminationRequest"), + /** + * Must return true to start the process of `Touchable`. + */ + touchableHandleStartShouldSetResponder: /* @__PURE__ */ __name(function touchableHandleStartShouldSetResponder() { + return !this.props.disabled; + }, "touchableHandleStartShouldSetResponder"), + /** + * Return true to cancel press on long press. + */ + touchableLongPressCancelsPress: /* @__PURE__ */ __name(function touchableLongPressCancelsPress() { + return true; + }, "touchableLongPressCancelsPress"), + /** + * Place as callback for a DOM element's `onResponderGrant` event. + * @param {SyntheticEvent} e Synthetic event from event system. + * + */ + touchableHandleResponderGrant: /* @__PURE__ */ __name(function touchableHandleResponderGrant(e) { + var dispatchID = e.currentTarget; + e.persist(); + this.pressOutDelayTimeout && clearTimeout(this.pressOutDelayTimeout); + this.pressOutDelayTimeout = null; + this.state.touchable.touchState = States.NOT_RESPONDER; + this.state.touchable.responderID = dispatchID; + this._receiveSignal(Signals.RESPONDER_GRANT, e); + var delayMS = this.touchableGetHighlightDelayMS !== void 0 ? Math.max(this.touchableGetHighlightDelayMS(), 0) : HIGHLIGHT_DELAY_MS; + delayMS = isNaN(delayMS) ? HIGHLIGHT_DELAY_MS : delayMS; + if (delayMS !== 0) { + this.touchableDelayTimeout = setTimeout(this._handleDelay.bind(this, e), delayMS); + } else { + this._handleDelay(e); + } + var longDelayMS = this.touchableGetLongPressDelayMS !== void 0 ? Math.max(this.touchableGetLongPressDelayMS(), 10) : LONG_PRESS_DELAY_MS; + longDelayMS = isNaN(longDelayMS) ? LONG_PRESS_DELAY_MS : longDelayMS; + this.longPressDelayTimeout = setTimeout(this._handleLongDelay.bind(this, e), longDelayMS + delayMS); + }, "touchableHandleResponderGrant"), + /** + * Place as callback for a DOM element's `onResponderRelease` event. + */ + touchableHandleResponderRelease: /* @__PURE__ */ __name(function touchableHandleResponderRelease(e) { + this.pressInLocation = null; + this._receiveSignal(Signals.RESPONDER_RELEASE, e); + }, "touchableHandleResponderRelease"), + /** + * Place as callback for a DOM element's `onResponderTerminate` event. + */ + touchableHandleResponderTerminate: /* @__PURE__ */ __name(function touchableHandleResponderTerminate(e) { + this.pressInLocation = null; + this._receiveSignal(Signals.RESPONDER_TERMINATED, e); + }, "touchableHandleResponderTerminate"), + /** + * Place as callback for a DOM element's `onResponderMove` event. + */ + touchableHandleResponderMove: /* @__PURE__ */ __name(function touchableHandleResponderMove(e) { + if (!this.state.touchable.positionOnActivate) { + return; + } + var positionOnActivate = this.state.touchable.positionOnActivate; + var dimensionsOnActivate = this.state.touchable.dimensionsOnActivate; + var pressRectOffset = this.touchableGetPressRectOffset ? this.touchableGetPressRectOffset() : { + left: PRESS_EXPAND_PX, + right: PRESS_EXPAND_PX, + top: PRESS_EXPAND_PX, + bottom: PRESS_EXPAND_PX + }; + var pressExpandLeft = pressRectOffset.left; + var pressExpandTop = pressRectOffset.top; + var pressExpandRight = pressRectOffset.right; + var pressExpandBottom = pressRectOffset.bottom; + var hitSlop = this.touchableGetHitSlop ? this.touchableGetHitSlop() : null; + if (hitSlop) { + pressExpandLeft += hitSlop.left || 0; + pressExpandTop += hitSlop.top || 0; + pressExpandRight += hitSlop.right || 0; + pressExpandBottom += hitSlop.bottom || 0; + } + var touch = extractSingleTouch(e.nativeEvent); + var pageX = touch && touch.pageX; + var pageY = touch && touch.pageY; + if (this.pressInLocation) { + var movedDistance = this._getDistanceBetweenPoints(pageX, pageY, this.pressInLocation.pageX, this.pressInLocation.pageY); + if (movedDistance > LONG_PRESS_ALLOWED_MOVEMENT) { + this._cancelLongPressDelayTimeout(); + } + } + var isTouchWithinActive = pageX > positionOnActivate.left - pressExpandLeft && pageY > positionOnActivate.top - pressExpandTop && pageX < positionOnActivate.left + dimensionsOnActivate.width + pressExpandRight && pageY < positionOnActivate.top + dimensionsOnActivate.height + pressExpandBottom; + if (isTouchWithinActive) { + var prevState = this.state.touchable.touchState; + this._receiveSignal(Signals.ENTER_PRESS_RECT, e); + var curState = this.state.touchable.touchState; + if (curState === States.RESPONDER_INACTIVE_PRESS_IN && prevState !== States.RESPONDER_INACTIVE_PRESS_IN) { + this._cancelLongPressDelayTimeout(); + } + } else { + this._cancelLongPressDelayTimeout(); + this._receiveSignal(Signals.LEAVE_PRESS_RECT, e); + } + }, "touchableHandleResponderMove"), + /** + * Invoked when the item receives focus. Mixers might override this to + * visually distinguish the `VisualRect` so that the user knows that it + * currently has the focus. Most platforms only support a single element being + * focused at a time, in which case there may have been a previously focused + * element that was blurred just prior to this. This can be overridden when + * using `Touchable.Mixin.withoutDefaultFocusAndBlur`. + */ + touchableHandleFocus: /* @__PURE__ */ __name(function touchableHandleFocus2(e) { + this.props.onFocus && this.props.onFocus(e); + }, "touchableHandleFocus"), + /** + * Invoked when the item loses focus. Mixers might override this to + * visually distinguish the `VisualRect` so that the user knows that it + * no longer has focus. Most platforms only support a single element being + * focused at a time, in which case the focus may have moved to another. + * This can be overridden when using + * `Touchable.Mixin.withoutDefaultFocusAndBlur`. + */ + touchableHandleBlur: /* @__PURE__ */ __name(function touchableHandleBlur2(e) { + this.props.onBlur && this.props.onBlur(e); + }, "touchableHandleBlur"), + // ==== Abstract Application Callbacks ==== + /** + * Invoked when the item should be highlighted. Mixers should implement this + * to visually distinguish the `VisualRect` so that the user knows that + * releasing a touch will result in a "selection" (analog to click). + * + * @abstract + * touchableHandleActivePressIn: function, + */ + /** + * Invoked when the item is "active" (in that it is still eligible to become + * a "select") but the touch has left the `PressRect`. Usually the mixer will + * want to unhighlight the `VisualRect`. If the user (while pressing) moves + * back into the `PressRect` `touchableHandleActivePressIn` will be invoked + * again and the mixer should probably highlight the `VisualRect` again. This + * event will not fire on an `touchEnd/mouseUp` event, only move events while + * the user is depressing the mouse/touch. + * + * @abstract + * touchableHandleActivePressOut: function + */ + /** + * Invoked when the item is "selected" - meaning the interaction ended by + * letting up while the item was either in the state + * `RESPONDER_ACTIVE_PRESS_IN` or `RESPONDER_INACTIVE_PRESS_IN`. + * + * @abstract + * touchableHandlePress: function + */ + /** + * Invoked when the item is long pressed - meaning the interaction ended by + * letting up while the item was in `RESPONDER_ACTIVE_LONG_PRESS_IN`. If + * `touchableHandleLongPress` is *not* provided, `touchableHandlePress` will + * be called as it normally is. If `touchableHandleLongPress` is provided, by + * default any `touchableHandlePress` callback will not be invoked. To + * override this default behavior, override `touchableLongPressCancelsPress` + * to return false. As a result, `touchableHandlePress` will be called when + * lifting up, even if `touchableHandleLongPress` has also been called. + * + * @abstract + * touchableHandleLongPress: function + */ + /** + * Returns the number of millis to wait before triggering a highlight. + * + * @abstract + * touchableGetHighlightDelayMS: function + */ + /** + * Returns the amount to extend the `HitRect` into the `PressRect`. Positive + * numbers mean the size expands outwards. + * + * @abstract + * touchableGetPressRectOffset: function + */ + // ==== Internal Logic ==== + /** + * Measures the `HitRect` node on activation. The Bounding rectangle is with + * respect to viewport - not page, so adding the `pageXOffset/pageYOffset` + * should result in points that are in the same coordinate system as an + * event's `globalX/globalY` data values. + * + * - Consider caching this for the lifetime of the component, or possibly + * being able to share this cache between any `ScrollMap` view. + * + * @sideeffects + * @private + */ + _remeasureMetricsOnActivation: /* @__PURE__ */ __name(function _remeasureMetricsOnActivation() { + var tag = this.state.touchable.responderID; + if (tag == null) { + return; + } + _UIManager.default.measure(tag, this._handleQueryLayout); + }, "_remeasureMetricsOnActivation"), + _handleQueryLayout: /* @__PURE__ */ __name(function _handleQueryLayout(l, t, w, h, globalX, globalY) { + if (!l && !t && !w && !h && !globalX && !globalY) { + return; + } + this.state.touchable.positionOnActivate && _Position.default.release(this.state.touchable.positionOnActivate); + this.state.touchable.dimensionsOnActivate && // $FlowFixMe + _BoundingDimensions.default.release(this.state.touchable.dimensionsOnActivate); + this.state.touchable.positionOnActivate = _Position.default.getPooled(globalX, globalY); + this.state.touchable.dimensionsOnActivate = _BoundingDimensions.default.getPooled(w, h); + }, "_handleQueryLayout"), + _handleDelay: /* @__PURE__ */ __name(function _handleDelay(e) { + this.touchableDelayTimeout = null; + this._receiveSignal(Signals.DELAY, e); + }, "_handleDelay"), + _handleLongDelay: /* @__PURE__ */ __name(function _handleLongDelay(e) { + this.longPressDelayTimeout = null; + var curState = this.state.touchable.touchState; + if (curState !== States.RESPONDER_ACTIVE_PRESS_IN && curState !== States.RESPONDER_ACTIVE_LONG_PRESS_IN) { + console.error("Attempted to transition from state `" + curState + "` to `" + States.RESPONDER_ACTIVE_LONG_PRESS_IN + "`, which is not supported. This is most likely due to `Touchable.longPressDelayTimeout` not being cancelled."); + } else { + this._receiveSignal(Signals.LONG_PRESS_DETECTED, e); + } + }, "_handleLongDelay"), + /** + * Receives a state machine signal, performs side effects of the transition + * and stores the new state. Validates the transition as well. + * + * @param {Signals} signal State machine signal. + * @throws Error if invalid state transition or unrecognized signal. + * @sideeffects + */ + _receiveSignal: /* @__PURE__ */ __name(function _receiveSignal(signal, e) { + var responderID = this.state.touchable.responderID; + var curState = this.state.touchable.touchState; + var nextState = Transitions[curState] && Transitions[curState][signal]; + if (!responderID && signal === Signals.RESPONDER_RELEASE) { + return; + } + if (!nextState) { + throw new Error("Unrecognized signal `" + signal + "` or state `" + curState + "` for Touchable responder `" + responderID + "`"); + } + if (nextState === States.ERROR) { + throw new Error("Touchable cannot transition from `" + curState + "` to `" + signal + "` for responder `" + responderID + "`"); + } + if (curState !== nextState) { + this._performSideEffectsForTransition(curState, nextState, signal, e); + this.state.touchable.touchState = nextState; + } + }, "_receiveSignal"), + _cancelLongPressDelayTimeout: /* @__PURE__ */ __name(function _cancelLongPressDelayTimeout() { + this.longPressDelayTimeout && clearTimeout(this.longPressDelayTimeout); + this.longPressDelayTimeout = null; + }, "_cancelLongPressDelayTimeout"), + _isHighlight: /* @__PURE__ */ __name(function _isHighlight(state) { + return state === States.RESPONDER_ACTIVE_PRESS_IN || state === States.RESPONDER_ACTIVE_LONG_PRESS_IN; + }, "_isHighlight"), + _savePressInLocation: /* @__PURE__ */ __name(function _savePressInLocation(e) { + var touch = extractSingleTouch(e.nativeEvent); + var pageX = touch && touch.pageX; + var pageY = touch && touch.pageY; + var locationX = touch && touch.locationX; + var locationY = touch && touch.locationY; + this.pressInLocation = { + pageX, + pageY, + locationX, + locationY + }; + }, "_savePressInLocation"), + _getDistanceBetweenPoints: /* @__PURE__ */ __name(function _getDistanceBetweenPoints(aX, aY, bX, bY) { + var deltaX = aX - bX; + var deltaY = aY - bY; + return Math.sqrt(deltaX * deltaX + deltaY * deltaY); + }, "_getDistanceBetweenPoints"), + /** + * Will perform a transition between touchable states, and identify any + * highlighting or unhighlighting that must be performed for this particular + * transition. + * + * @param {States} curState Current Touchable state. + * @param {States} nextState Next Touchable state. + * @param {Signal} signal Signal that triggered the transition. + * @param {Event} e Native event. + * @sideeffects + */ + _performSideEffectsForTransition: /* @__PURE__ */ __name(function _performSideEffectsForTransition(curState, nextState, signal, e) { + var curIsHighlight = this._isHighlight(curState); + var newIsHighlight = this._isHighlight(nextState); + var isFinalSignal = signal === Signals.RESPONDER_TERMINATED || signal === Signals.RESPONDER_RELEASE; + if (isFinalSignal) { + this._cancelLongPressDelayTimeout(); + } + var isInitialTransition = curState === States.NOT_RESPONDER && nextState === States.RESPONDER_INACTIVE_PRESS_IN; + var isActiveTransition = !IsActive[curState] && IsActive[nextState]; + if (isInitialTransition || isActiveTransition) { + this._remeasureMetricsOnActivation(); + } + if (IsPressingIn[curState] && signal === Signals.LONG_PRESS_DETECTED) { + this.touchableHandleLongPress && this.touchableHandleLongPress(e); + } + if (newIsHighlight && !curIsHighlight) { + this._startHighlight(e); + } else if (!newIsHighlight && curIsHighlight) { + this._endHighlight(e); + } + if (IsPressingIn[curState] && signal === Signals.RESPONDER_RELEASE) { + var hasLongPressHandler = !!this.props.onLongPress; + var pressIsLongButStillCallOnPress = IsLongPressingIn[curState] && // We *are* long pressing.. // But either has no long handler + (!hasLongPressHandler || !this.touchableLongPressCancelsPress()); + var shouldInvokePress = !IsLongPressingIn[curState] || pressIsLongButStillCallOnPress; + if (shouldInvokePress && this.touchableHandlePress) { + if (!newIsHighlight && !curIsHighlight) { + this._startHighlight(e); + this._endHighlight(e); + } + this.touchableHandlePress(e); + } + } + this.touchableDelayTimeout && clearTimeout(this.touchableDelayTimeout); + this.touchableDelayTimeout = null; + }, "_performSideEffectsForTransition"), + _playTouchSound: /* @__PURE__ */ __name(function _playTouchSound() { + _UIManager.default.playTouchSound(); + }, "_playTouchSound"), + _startHighlight: /* @__PURE__ */ __name(function _startHighlight(e) { + this._savePressInLocation(e); + this.touchableHandleActivePressIn && this.touchableHandleActivePressIn(e); + }, "_startHighlight"), + _endHighlight: /* @__PURE__ */ __name(function _endHighlight(e) { + if (this.touchableHandleActivePressOut) { + if (this.touchableGetPressOutDelayMS && this.touchableGetPressOutDelayMS()) { + this.pressOutDelayTimeout = setTimeout(() => { + this.touchableHandleActivePressOut(e); + }, this.touchableGetPressOutDelayMS()); + } else { + this.touchableHandleActivePressOut(e); + } + } + }, "_endHighlight"), + // HACK (part 2): basic support for touchable interactions using a keyboard (including + // delays and longPress) + touchableHandleKeyEvent: /* @__PURE__ */ __name(function touchableHandleKeyEvent(e) { + var type = e.type, key = e.key; + if (key === "Enter" || key === " ") { + if (type === "keydown") { + if (!this._isTouchableKeyboardActive) { + if (!this.state.touchable.touchState || this.state.touchable.touchState === States.NOT_RESPONDER) { + this.touchableHandleResponderGrant(e); + this._isTouchableKeyboardActive = true; + } + } + } else if (type === "keyup") { + if (this._isTouchableKeyboardActive) { + if (this.state.touchable.touchState && this.state.touchable.touchState !== States.NOT_RESPONDER) { + this.touchableHandleResponderRelease(e); + this._isTouchableKeyboardActive = false; + } + } + } + e.stopPropagation(); + if (!(key === "Enter" && _AccessibilityUtil.default.propsToAriaRole(this.props) === "link")) { + e.preventDefault(); + } + } + }, "touchableHandleKeyEvent"), + withoutDefaultFocusAndBlur: {} + }; + var touchableHandleFocus = TouchableMixin.touchableHandleFocus; + var touchableHandleBlur = TouchableMixin.touchableHandleBlur; + var TouchableMixinWithoutDefaultFocusAndBlur = (0, _objectWithoutPropertiesLoose2.default)(TouchableMixin, ["touchableHandleFocus", "touchableHandleBlur"]); + TouchableMixin.withoutDefaultFocusAndBlur = TouchableMixinWithoutDefaultFocusAndBlur; + var Touchable = { + Mixin: TouchableMixin, + TOUCH_TARGET_DEBUG: false, + // Highlights all touchable targets. Toggle with Inspector. + /** + * Renders a debugging overlay to visualize touch target with hitSlop (might not work on Android). + */ + renderDebugView: (_ref) => { + var color = _ref.color, hitSlop = _ref.hitSlop; + if (!Touchable.TOUCH_TARGET_DEBUG) { + return null; + } + if (process.env.NODE_ENV !== "production") { + throw Error("Touchable.TOUCH_TARGET_DEBUG should not be enabled in prod!"); + } + var debugHitSlopStyle = {}; + hitSlop = hitSlop || { + top: 0, + bottom: 0, + left: 0, + right: 0 + }; + for (var key in hitSlop) { + debugHitSlopStyle[key] = -hitSlop[key]; + } + var normalizedColor = (0, _normalizeColors.default)(color); + if (typeof normalizedColor !== "number") { + return null; + } + var hexColor = "#" + ("00000000" + normalizedColor.toString(16)).substr(-8); + return /* @__PURE__ */ _react.default.createElement(_View.default, { + pointerEvents: "none", + style: (0, _objectSpread2.default)({ + position: "absolute", + borderColor: hexColor.slice(0, -2) + "55", + // More opaque + borderWidth: 1, + borderStyle: "dashed", + backgroundColor: hexColor.slice(0, -2) + "0F" + }, debugHitSlopStyle) + }); + } + }; + var _default = Touchable; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/TouchableHighlight/index.js +var require_TouchableHighlight = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/TouchableHighlight/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = void 0; + var _extends2 = _interopRequireDefault(require_extends()); + var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require_objectWithoutPropertiesLoose()); + var React44 = _interopRequireWildcard(require("react")); + var _useMergeRefs = _interopRequireDefault(require_useMergeRefs()); + var _usePressEvents = _interopRequireDefault(require_usePressEvents()); + var _StyleSheet = _interopRequireDefault(require_StyleSheet()); + var _View = _interopRequireDefault(require_View()); + var _warnOnce = require_warnOnce(); + var _excluded = ["activeOpacity", "children", "delayPressIn", "delayPressOut", "delayLongPress", "disabled", "focusable", "onHideUnderlay", "onLongPress", "onPress", "onPressIn", "onPressOut", "onShowUnderlay", "rejectResponderTermination", "style", "testOnly_pressed", "underlayColor"]; + function createExtraStyles(activeOpacity, underlayColor) { + return { + child: { + opacity: activeOpacity !== null && activeOpacity !== void 0 ? activeOpacity : 0.85 + }, + underlay: { + backgroundColor: underlayColor === void 0 ? "black" : underlayColor + } + }; + } + __name(createExtraStyles, "createExtraStyles"); + function hasPressHandler(props) { + return props.onPress != null || props.onPressIn != null || props.onPressOut != null || props.onLongPress != null; + } + __name(hasPressHandler, "hasPressHandler"); + function TouchableHighlight(props, forwardedRef) { + (0, _warnOnce.warnOnce)("TouchableHighlight", "TouchableHighlight is deprecated. Please use Pressable."); + var activeOpacity = props.activeOpacity, children = props.children, delayPressIn = props.delayPressIn, delayPressOut = props.delayPressOut, delayLongPress = props.delayLongPress, disabled = props.disabled, focusable = props.focusable, onHideUnderlay = props.onHideUnderlay, onLongPress = props.onLongPress, onPress = props.onPress, onPressIn = props.onPressIn, onPressOut = props.onPressOut, onShowUnderlay = props.onShowUnderlay, rejectResponderTermination = props.rejectResponderTermination, style = props.style, testOnly_pressed = props.testOnly_pressed, underlayColor = props.underlayColor, rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded); + var hostRef = (0, React44.useRef)(null); + var setRef2 = (0, _useMergeRefs.default)(forwardedRef, hostRef); + var _useState = (0, React44.useState)(testOnly_pressed === true ? createExtraStyles(activeOpacity, underlayColor) : null), extraStyles = _useState[0], setExtraStyles = _useState[1]; + var showUnderlay = (0, React44.useCallback)(() => { + if (!hasPressHandler(props)) { + return; + } + setExtraStyles(createExtraStyles(activeOpacity, underlayColor)); + if (onShowUnderlay != null) { + onShowUnderlay(); + } + }, [activeOpacity, onShowUnderlay, props, underlayColor]); + var hideUnderlay = (0, React44.useCallback)(() => { + if (testOnly_pressed === true) { + return; + } + if (hasPressHandler(props)) { + setExtraStyles(null); + if (onHideUnderlay != null) { + onHideUnderlay(); + } + } + }, [onHideUnderlay, props, testOnly_pressed]); + var pressConfig = (0, React44.useMemo)(() => ({ + cancelable: !rejectResponderTermination, + disabled, + delayLongPress, + delayPressStart: delayPressIn, + delayPressEnd: delayPressOut, + onLongPress, + onPress, + onPressStart(event) { + showUnderlay(); + if (onPressIn != null) { + onPressIn(event); + } + }, + onPressEnd(event) { + hideUnderlay(); + if (onPressOut != null) { + onPressOut(event); + } + } + }), [delayLongPress, delayPressIn, delayPressOut, disabled, onLongPress, onPress, onPressIn, onPressOut, rejectResponderTermination, showUnderlay, hideUnderlay]); + var pressEventHandlers = (0, _usePressEvents.default)(hostRef, pressConfig); + var child = React44.Children.only(children); + return /* @__PURE__ */ React44.createElement(_View.default, (0, _extends2.default)({}, rest, pressEventHandlers, { + accessibilityDisabled: disabled, + focusable: !disabled && focusable !== false, + pointerEvents: disabled ? "box-none" : void 0, + ref: setRef2, + style: [styles.root, style, !disabled && styles.actionable, extraStyles && extraStyles.underlay] + }), /* @__PURE__ */ React44.cloneElement(child, { + style: [child.props.style, extraStyles && extraStyles.child] + })); + } + __name(TouchableHighlight, "TouchableHighlight"); + var styles = _StyleSheet.default.create({ + root: { + userSelect: "none" + }, + actionable: { + cursor: "pointer", + touchAction: "manipulation" + } + }); + var MemoedTouchableHighlight = /* @__PURE__ */ React44.memo(/* @__PURE__ */ React44.forwardRef(TouchableHighlight)); + MemoedTouchableHighlight.displayName = "TouchableHighlight"; + var _default = MemoedTouchableHighlight; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/modules/UnimplementedView/index.js +var require_UnimplementedView = __commonJS({ + "node_modules/react-native-web/dist/cjs/modules/UnimplementedView/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _View = _interopRequireDefault(require_View()); + var _react = _interopRequireDefault(require("react")); + var _UnimplementedView = class _UnimplementedView extends _react.default.Component { + render() { + return /* @__PURE__ */ _react.default.createElement(_View.default, { + style: [unimplementedViewStyles, this.props.style] + }, this.props.children); + } + }; + __name(_UnimplementedView, "UnimplementedView"); + var UnimplementedView = _UnimplementedView; + var unimplementedViewStyles = process.env.NODE_ENV !== "production" ? { + alignSelf: "flex-start", + borderColor: "red", + borderWidth: 1 + } : {}; + var _default = UnimplementedView; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/TouchableNativeFeedback/index.js +var require_TouchableNativeFeedback = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/TouchableNativeFeedback/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _UnimplementedView = _interopRequireDefault(require_UnimplementedView()); + var _default = _UnimplementedView.default; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/TouchableWithoutFeedback/index.js +var require_TouchableWithoutFeedback = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/TouchableWithoutFeedback/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = void 0; + var React44 = _interopRequireWildcard(require("react")); + var _pick = _interopRequireDefault(require_pick()); + var _useMergeRefs = _interopRequireDefault(require_useMergeRefs()); + var _usePressEvents = _interopRequireDefault(require_usePressEvents()); + var _warnOnce = require_warnOnce(); + var forwardPropsList = { + accessibilityDisabled: true, + accessibilityLabel: true, + accessibilityLiveRegion: true, + accessibilityRole: true, + accessibilityState: true, + accessibilityValue: true, + children: true, + disabled: true, + focusable: true, + nativeID: true, + onBlur: true, + onFocus: true, + onLayout: true, + testID: true + }; + var pickProps = /* @__PURE__ */ __name((props) => (0, _pick.default)(props, forwardPropsList), "pickProps"); + function TouchableWithoutFeedback(props, forwardedRef) { + (0, _warnOnce.warnOnce)("TouchableWithoutFeedback", "TouchableWithoutFeedback is deprecated. Please use Pressable."); + var delayPressIn = props.delayPressIn, delayPressOut = props.delayPressOut, delayLongPress = props.delayLongPress, disabled = props.disabled, focusable = props.focusable, onLongPress = props.onLongPress, onPress = props.onPress, onPressIn = props.onPressIn, onPressOut = props.onPressOut, rejectResponderTermination = props.rejectResponderTermination; + var hostRef = (0, React44.useRef)(null); + var pressConfig = (0, React44.useMemo)(() => ({ + cancelable: !rejectResponderTermination, + disabled, + delayLongPress, + delayPressStart: delayPressIn, + delayPressEnd: delayPressOut, + onLongPress, + onPress, + onPressStart: onPressIn, + onPressEnd: onPressOut + }), [disabled, delayPressIn, delayPressOut, delayLongPress, onLongPress, onPress, onPressIn, onPressOut, rejectResponderTermination]); + var pressEventHandlers = (0, _usePressEvents.default)(hostRef, pressConfig); + var element = React44.Children.only(props.children); + var children = [element.props.children]; + var supportedProps = pickProps(props); + supportedProps.accessibilityDisabled = disabled; + supportedProps.focusable = !disabled && focusable !== false; + supportedProps.ref = (0, _useMergeRefs.default)(forwardedRef, hostRef, element.ref); + var elementProps = Object.assign(supportedProps, pressEventHandlers); + return /* @__PURE__ */ React44.cloneElement(element, elementProps, ...children); + } + __name(TouchableWithoutFeedback, "TouchableWithoutFeedback"); + var MemoedTouchableWithoutFeedback = /* @__PURE__ */ React44.memo(/* @__PURE__ */ React44.forwardRef(TouchableWithoutFeedback)); + MemoedTouchableWithoutFeedback.displayName = "TouchableWithoutFeedback"; + var _default = MemoedTouchableWithoutFeedback; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/VirtualizedList/index.js +var require_VirtualizedList2 = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/VirtualizedList/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _VirtualizedList = _interopRequireDefault(require_VirtualizedList()); + var _default = _VirtualizedList.default; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/YellowBox/index.js +var require_YellowBox = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/YellowBox/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _react = _interopRequireDefault(require("react")); + var _UnimplementedView = _interopRequireDefault(require_UnimplementedView()); + function YellowBox(props) { + return /* @__PURE__ */ _react.default.createElement(_UnimplementedView.default, props); + } + __name(YellowBox, "YellowBox"); + YellowBox.ignoreWarnings = () => { + }; + var _default = YellowBox; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/LogBox/index.js +var require_LogBox = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/LogBox/index.js"(exports2, module2) { + "use strict"; + exports2.__esModule = true; + exports2.default = void 0; + var LogBox = { + ignoreLogs() { + }, + ignoreAllLogs() { + }, + uninstall() { + }, + install() { + } + }; + var _default = LogBox; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/DeviceEventEmitter/index.js +var require_DeviceEventEmitter = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/DeviceEventEmitter/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = void 0; + var _RCTDeviceEventEmitter = _interopRequireDefault(require_RCTDeviceEventEmitter()); + var _default = _RCTDeviceEventEmitter.default; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/useColorScheme/index.js +var require_useColorScheme = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/useColorScheme/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + var _interopRequireWildcard = require_interopRequireWildcard().default; + exports2.__esModule = true; + exports2.default = useColorScheme; + var React44 = _interopRequireWildcard(require("react")); + var _Appearance = _interopRequireDefault(require_Appearance()); + function useColorScheme() { + var _React$useState = React44.useState(_Appearance.default.getColorScheme()), colorScheme = _React$useState[0], setColorScheme = _React$useState[1]; + React44.useEffect(() => { + function listener(appearance) { + setColorScheme(appearance.colorScheme); + } + __name(listener, "listener"); + var _Appearance$addChange = _Appearance.default.addChangeListener(listener), remove = _Appearance$addChange.remove; + return remove; + }); + return colorScheme; + } + __name(useColorScheme, "useColorScheme"); + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/useLocaleContext/index.js +var require_useLocaleContext = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/useLocaleContext/index.js"(exports2, module2) { + "use strict"; + exports2.__esModule = true; + exports2.default = void 0; + var _useLocale = require_useLocale(); + var _default = _useLocale.useLocaleContext; + exports2.default = _default; + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/exports/useWindowDimensions/index.js +var require_useWindowDimensions = __commonJS({ + "node_modules/react-native-web/dist/cjs/exports/useWindowDimensions/index.js"(exports2, module2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.default = useWindowDimensions3; + var _Dimensions = _interopRequireDefault(require_Dimensions()); + var _react = require("react"); + function useWindowDimensions3() { + var _useState = (0, _react.useState)(() => _Dimensions.default.get("window")), dims = _useState[0], setDims = _useState[1]; + (0, _react.useEffect)(() => { + function handleChange(_ref) { + var window2 = _ref.window; + if (window2 != null) { + setDims(window2); + } + } + __name(handleChange, "handleChange"); + _Dimensions.default.addEventListener("change", handleChange); + setDims(_Dimensions.default.get("window")); + return () => { + _Dimensions.default.removeEventListener("change", handleChange); + }; + }, []); + return dims; + } + __name(useWindowDimensions3, "useWindowDimensions"); + module2.exports = exports2.default; + } +}); + +// node_modules/react-native-web/dist/cjs/index.js +var require_cjs20 = __commonJS({ + "node_modules/react-native-web/dist/cjs/index.js"(exports2) { + "use strict"; + var _interopRequireDefault = require_interopRequireDefault().default; + exports2.__esModule = true; + exports2.useWindowDimensions = exports2.useLocaleContext = exports2.useColorScheme = exports2.unstable_createElement = exports2.unmountComponentAtNode = exports2.render = exports2.processColor = exports2.findNodeHandle = exports2.YellowBox = exports2.VirtualizedList = exports2.View = exports2.Vibration = exports2.UIManager = exports2.TouchableWithoutFeedback = exports2.TouchableOpacity = exports2.TouchableNativeFeedback = exports2.TouchableHighlight = exports2.Touchable = exports2.TextInput = exports2.Text = exports2.Switch = exports2.StyleSheet = exports2.StatusBar = exports2.Share = exports2.SectionList = exports2.ScrollView = exports2.SafeAreaView = exports2.RefreshControl = exports2.ProgressBar = exports2.Pressable = exports2.Platform = exports2.PixelRatio = exports2.Picker = exports2.PanResponder = exports2.NativeModules = exports2.NativeEventEmitter = exports2.Modal = exports2.LogBox = exports2.Linking = exports2.LayoutAnimation = exports2.KeyboardAvoidingView = exports2.Keyboard = exports2.InteractionManager = exports2.ImageBackground = exports2.Image = exports2.I18nManager = exports2.FlatList = exports2.Easing = exports2.Dimensions = exports2.DeviceEventEmitter = exports2.Clipboard = exports2.CheckBox = exports2.Button = exports2.BackHandler = exports2.Appearance = exports2.AppState = exports2.AppRegistry = exports2.Animated = exports2.Alert = exports2.ActivityIndicator = exports2.AccessibilityInfo = void 0; + var _createElement = _interopRequireDefault(require_createElement()); + exports2.unstable_createElement = _createElement.default; + var _findNodeHandle = _interopRequireDefault(require_findNodeHandle()); + exports2.findNodeHandle = _findNodeHandle.default; + var _processColor = _interopRequireDefault(require_processColor()); + exports2.processColor = _processColor.default; + var _render = _interopRequireDefault(require_render()); + exports2.render = _render.default; + var _unmountComponentAtNode = _interopRequireDefault(require_unmountComponentAtNode()); + exports2.unmountComponentAtNode = _unmountComponentAtNode.default; + var _NativeModules = _interopRequireDefault(require_NativeModules()); + exports2.NativeModules = _NativeModules.default; + var _AccessibilityInfo = _interopRequireDefault(require_AccessibilityInfo()); + exports2.AccessibilityInfo = _AccessibilityInfo.default; + var _Alert = _interopRequireDefault(require_Alert()); + exports2.Alert = _Alert.default; + var _Animated = _interopRequireDefault(require_Animated2()); + exports2.Animated = _Animated.default; + var _Appearance = _interopRequireDefault(require_Appearance()); + exports2.Appearance = _Appearance.default; + var _AppRegistry = _interopRequireDefault(require_AppRegistry()); + exports2.AppRegistry = _AppRegistry.default; + var _AppState = _interopRequireDefault(require_AppState()); + exports2.AppState = _AppState.default; + var _BackHandler = _interopRequireDefault(require_BackHandler()); + exports2.BackHandler = _BackHandler.default; + var _Clipboard = _interopRequireDefault(require_Clipboard()); + exports2.Clipboard = _Clipboard.default; + var _Dimensions = _interopRequireDefault(require_Dimensions()); + exports2.Dimensions = _Dimensions.default; + var _Easing = _interopRequireDefault(require_Easing2()); + exports2.Easing = _Easing.default; + var _I18nManager = _interopRequireDefault(require_I18nManager()); + exports2.I18nManager = _I18nManager.default; + var _Keyboard = _interopRequireDefault(require_Keyboard()); + exports2.Keyboard = _Keyboard.default; + var _InteractionManager = _interopRequireDefault(require_InteractionManager()); + exports2.InteractionManager = _InteractionManager.default; + var _LayoutAnimation = _interopRequireDefault(require_LayoutAnimation2()); + exports2.LayoutAnimation = _LayoutAnimation.default; + var _Linking = _interopRequireDefault(require_Linking()); + exports2.Linking = _Linking.default; + var _NativeEventEmitter = _interopRequireDefault(require_NativeEventEmitter2()); + exports2.NativeEventEmitter = _NativeEventEmitter.default; + var _PanResponder = _interopRequireDefault(require_PanResponder2()); + exports2.PanResponder = _PanResponder.default; + var _PixelRatio = _interopRequireDefault(require_PixelRatio()); + exports2.PixelRatio = _PixelRatio.default; + var _Platform = _interopRequireDefault(require_Platform()); + exports2.Platform = _Platform.default; + var _Share = _interopRequireDefault(require_Share()); + exports2.Share = _Share.default; + var _StyleSheet = _interopRequireDefault(require_StyleSheet()); + exports2.StyleSheet = _StyleSheet.default; + var _UIManager = _interopRequireDefault(require_UIManager()); + exports2.UIManager = _UIManager.default; + var _Vibration = _interopRequireDefault(require_Vibration()); + exports2.Vibration = _Vibration.default; + var _ActivityIndicator = _interopRequireDefault(require_ActivityIndicator()); + exports2.ActivityIndicator = _ActivityIndicator.default; + var _Button = _interopRequireDefault(require_Button()); + exports2.Button = _Button.default; + var _CheckBox = _interopRequireDefault(require_CheckBox()); + exports2.CheckBox = _CheckBox.default; + var _FlatList = _interopRequireDefault(require_FlatList2()); + exports2.FlatList = _FlatList.default; + var _Image = _interopRequireDefault(require_Image()); + exports2.Image = _Image.default; + var _ImageBackground = _interopRequireDefault(require_ImageBackground()); + exports2.ImageBackground = _ImageBackground.default; + var _KeyboardAvoidingView = _interopRequireDefault(require_KeyboardAvoidingView()); + exports2.KeyboardAvoidingView = _KeyboardAvoidingView.default; + var _Modal = _interopRequireDefault(require_Modal()); + exports2.Modal = _Modal.default; + var _Picker = _interopRequireDefault(require_Picker()); + exports2.Picker = _Picker.default; + var _Pressable = _interopRequireDefault(require_Pressable()); + exports2.Pressable = _Pressable.default; + var _ProgressBar = _interopRequireDefault(require_ProgressBar()); + exports2.ProgressBar = _ProgressBar.default; + var _RefreshControl = _interopRequireDefault(require_RefreshControl()); + exports2.RefreshControl = _RefreshControl.default; + var _SafeAreaView = _interopRequireDefault(require_SafeAreaView()); + exports2.SafeAreaView = _SafeAreaView.default; + var _ScrollView = _interopRequireDefault(require_ScrollView()); + exports2.ScrollView = _ScrollView.default; + var _SectionList = _interopRequireDefault(require_SectionList2()); + exports2.SectionList = _SectionList.default; + var _StatusBar = _interopRequireDefault(require_StatusBar()); + exports2.StatusBar = _StatusBar.default; + var _Switch = _interopRequireDefault(require_Switch()); + exports2.Switch = _Switch.default; + var _Text = _interopRequireDefault(require_Text()); + exports2.Text = _Text.default; + var _TextInput = _interopRequireDefault(require_TextInput()); + exports2.TextInput = _TextInput.default; + var _Touchable = _interopRequireDefault(require_Touchable()); + exports2.Touchable = _Touchable.default; + var _TouchableHighlight = _interopRequireDefault(require_TouchableHighlight()); + exports2.TouchableHighlight = _TouchableHighlight.default; + var _TouchableNativeFeedback = _interopRequireDefault(require_TouchableNativeFeedback()); + exports2.TouchableNativeFeedback = _TouchableNativeFeedback.default; + var _TouchableOpacity = _interopRequireDefault(require_TouchableOpacity()); + exports2.TouchableOpacity = _TouchableOpacity.default; + var _TouchableWithoutFeedback = _interopRequireDefault(require_TouchableWithoutFeedback()); + exports2.TouchableWithoutFeedback = _TouchableWithoutFeedback.default; + var _View = _interopRequireDefault(require_View()); + exports2.View = _View.default; + var _VirtualizedList = _interopRequireDefault(require_VirtualizedList2()); + exports2.VirtualizedList = _VirtualizedList.default; + var _YellowBox = _interopRequireDefault(require_YellowBox()); + exports2.YellowBox = _YellowBox.default; + var _LogBox = _interopRequireDefault(require_LogBox()); + exports2.LogBox = _LogBox.default; + var _DeviceEventEmitter = _interopRequireDefault(require_DeviceEventEmitter()); + exports2.DeviceEventEmitter = _DeviceEventEmitter.default; + var _useColorScheme = _interopRequireDefault(require_useColorScheme()); + exports2.useColorScheme = _useColorScheme.default; + var _useLocaleContext = _interopRequireDefault(require_useLocaleContext()); + exports2.useLocaleContext = _useLocaleContext.default; + var _useWindowDimensions = _interopRequireDefault(require_useWindowDimensions()); + exports2.useWindowDimensions = _useWindowDimensions.default; + } +}); + +// node_modules/performant-array-to-tree/build/arrayToTree.min.js +var require_arrayToTree_min = __commonJS({ + "node_modules/performant-array-to-tree/build/arrayToTree.min.js"(exports2) { + "use strict"; + var __assign2 = exports2 && exports2.__assign || function() { + return (__assign2 = Object.assign || function(e) { + for (var r, t = 1, n = arguments.length; t < n; t++) + for (var o in r = arguments[t]) + Object.prototype.hasOwnProperty.call(r, o) && (e[o] = r[o]); + return e; + }).apply(this, arguments); + }; + var defaultConfig = (Object.defineProperty(exports2, "__esModule", { value: true }), { id: "id", parentId: "parentId", dataField: "data", childrenField: "children", throwIfOrphans: false, rootParentIds: { "": !(exports2.countNodes = exports2.arrayToTree = void 0) }, nestedIds: true, assign: false }); + function arrayToTree(c, e) { + void 0 === e && (e = {}); + for (var r, t = __assign2(__assign2({}, defaultConfig), e), n = [], o = {}, a = t.throwIfOrphans ? /* @__PURE__ */ new Set() : null, s = 0, h = c; s < h.length; s++) { + var i = h[s], d = t.nestedIds ? getNestedProperty(i, t.id) : i[t.id], l = t.nestedIds ? getNestedProperty(i, t.parentId) : i[t.parentId]; + if (t.rootParentIds[d]) + throw new Error("The item array contains a node whose parentId both exists in another node and is in " + '`rootParentIds` (`itemId`: "'.concat(d, '", `rootParentIds`: ').concat(Object.keys(t.rootParentIds).map(function(e2) { + return '"'.concat(e2, '"'); + }).join(", "), ").")); + Object.prototype.hasOwnProperty.call(o, d) || (o[d] = ((r = {})[t.childrenField] = [], r)), a && a.delete(d), t.dataField ? o[d][t.dataField] = i : t.assign ? o[d] = Object.assign(i, ((r = {})[t.childrenField] = o[d][t.childrenField], r)) : o[d] = __assign2(__assign2({}, i), ((i = {})[t.childrenField] = o[d][t.childrenField], i)); + i = o[d]; + null == l || t.rootParentIds[l] ? n.push(i) : (Object.prototype.hasOwnProperty.call(o, l) || (o[l] = ((d = {})[t.childrenField] = [], d), a && a.add(l)), o[l][t.childrenField].push(i)); + } + if (null != a && a.size) + throw new Error("The items array contains orphans that point to the following parentIds: " + "[".concat(Array.from(a), "]. These parentIds do not exist in the items array. Hint: prevent orphans to result ") + "in an error by passing the following option: { throwIfOrphans: false }"); + if (t.throwIfOrphans && countNodes(n, t.childrenField) < Object.keys(o).length) + throw new Error("The items array contains nodes with a circular parent/child relationship."); + return n; + } + __name(arrayToTree, "arrayToTree"); + function countNodes(e, t) { + return e.reduce(function(e2, r) { + return e2 + 1 + (r[t] && countNodes(r[t], t)); + }, 0); + } + __name(countNodes, "countNodes"); + function getNestedProperty(e, r) { + return r.split(".").reduce(function(e2, r2) { + return e2 && e2[r2]; + }, e); + } + __name(getNestedProperty, "getNestedProperty"); + exports2.arrayToTree = arrayToTree, exports2.countNodes = countNodes; + } +}); + +// node_modules/zustand/esm/vanilla.mjs +var import_meta, createStoreImpl, createStore; +var init_vanilla = __esm({ + "node_modules/zustand/esm/vanilla.mjs"() { + import_meta = {}; + createStoreImpl = /* @__PURE__ */ __name((createState) => { + let state; + const listeners = /* @__PURE__ */ new Set(); + const setState = /* @__PURE__ */ __name((partial, replace) => { + const nextState = typeof partial === "function" ? partial(state) : partial; + if (!Object.is(nextState, state)) { + const previousState = state; + state = (replace != null ? replace : typeof nextState !== "object" || nextState === null) ? nextState : Object.assign({}, state, nextState); + listeners.forEach((listener) => listener(state, previousState)); + } + }, "setState"); + const getState6 = /* @__PURE__ */ __name(() => state, "getState"); + const getInitialState = /* @__PURE__ */ __name(() => initialState, "getInitialState"); + const subscribe2 = /* @__PURE__ */ __name((listener) => { + listeners.add(listener); + return () => listeners.delete(listener); + }, "subscribe"); + const destroy = /* @__PURE__ */ __name(() => { + if ((import_meta.env ? import_meta.env.MODE : void 0) !== "production") { + console.warn( + "[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected." + ); + } + listeners.clear(); + }, "destroy"); + const api = { setState, getState: getState6, getInitialState, subscribe: subscribe2, destroy }; + const initialState = state = createState(setState, getState6, api); + return api; + }, "createStoreImpl"); + createStore = /* @__PURE__ */ __name((createState) => createState ? createStoreImpl(createState) : createStoreImpl, "createStore"); + } +}); + +// node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js +var require_use_sync_external_store_shim_production_min = __commonJS({ + "node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js"(exports2) { + "use strict"; + var e = require("react"); + function h(a, b) { + return a === b && (0 !== a || 1 / a === 1 / b) || a !== a && b !== b; + } + __name(h, "h"); + var k = "function" === typeof Object.is ? Object.is : h; + var l = e.useState; + var m = e.useEffect; + var n = e.useLayoutEffect; + var p = e.useDebugValue; + function q(a, b) { + var d = b(), f = l({ inst: { value: d, getSnapshot: b } }), c = f[0].inst, g = f[1]; + n(function() { + c.value = d; + c.getSnapshot = b; + r(c) && g({ inst: c }); + }, [a, d, b]); + m(function() { + r(c) && g({ inst: c }); + return a(function() { + r(c) && g({ inst: c }); + }); + }, [a]); + p(d); + return d; + } + __name(q, "q"); + function r(a) { + var b = a.getSnapshot; + a = a.value; + try { + var d = b(); + return !k(a, d); + } catch (f) { + return true; + } + } + __name(r, "r"); + function t(a, b) { + return b(); + } + __name(t, "t"); + var u = "undefined" === typeof window || "undefined" === typeof window.document || "undefined" === typeof window.document.createElement ? t : q; + exports2.useSyncExternalStore = void 0 !== e.useSyncExternalStore ? e.useSyncExternalStore : u; + } +}); + +// node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +var require_use_sync_external_store_shim_development = __commonJS({ + "node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js"(exports2) { + "use strict"; + if (process.env.NODE_ENV !== "production") { + (function() { + "use strict"; + if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart === "function") { + __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error()); + } + var React44 = require("react"); + var ReactSharedInternals = React44.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; + function error2(format) { + { + { + for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { + args[_key2 - 1] = arguments[_key2]; + } + printWarning("error", format, args); + } + } + } + __name(error2, "error"); + function printWarning(level, format, args) { + { + var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame; + var stack = ReactDebugCurrentFrame.getStackAddendum(); + if (stack !== "") { + format += "%s"; + args = args.concat([stack]); + } + var argsWithFormat = args.map(function(item) { + return String(item); + }); + argsWithFormat.unshift("Warning: " + format); + Function.prototype.apply.call(console[level], console, argsWithFormat); + } + } + __name(printWarning, "printWarning"); + function is(x, y) { + return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y; + } + __name(is, "is"); + var objectIs = typeof Object.is === "function" ? Object.is : is; + var useState27 = React44.useState, useEffect36 = React44.useEffect, useLayoutEffect4 = React44.useLayoutEffect, useDebugValue2 = React44.useDebugValue; + var didWarnOld18Alpha = false; + var didWarnUncachedGetSnapshot = false; + function useSyncExternalStore3(subscribe2, getSnapshot, getServerSnapshot) { + { + if (!didWarnOld18Alpha) { + if (React44.startTransition !== void 0) { + didWarnOld18Alpha = true; + error2("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."); + } + } + } + var value = getSnapshot(); + { + if (!didWarnUncachedGetSnapshot) { + var cachedValue = getSnapshot(); + if (!objectIs(value, cachedValue)) { + error2("The result of getSnapshot should be cached to avoid an infinite loop"); + didWarnUncachedGetSnapshot = true; + } + } + } + var _useState = useState27({ + inst: { + value, + getSnapshot + } + }), inst = _useState[0].inst, forceUpdate = _useState[1]; + useLayoutEffect4(function() { + inst.value = value; + inst.getSnapshot = getSnapshot; + if (checkIfSnapshotChanged(inst)) { + forceUpdate({ + inst + }); + } + }, [subscribe2, value, getSnapshot]); + useEffect36(function() { + if (checkIfSnapshotChanged(inst)) { + forceUpdate({ + inst + }); + } + var handleStoreChange = /* @__PURE__ */ __name(function() { + if (checkIfSnapshotChanged(inst)) { + forceUpdate({ + inst + }); + } + }, "handleStoreChange"); + return subscribe2(handleStoreChange); + }, [subscribe2]); + useDebugValue2(value); + return value; + } + __name(useSyncExternalStore3, "useSyncExternalStore"); + function checkIfSnapshotChanged(inst) { + var latestGetSnapshot = inst.getSnapshot; + var prevValue = inst.value; + try { + var nextValue = latestGetSnapshot(); + return !objectIs(prevValue, nextValue); + } catch (error3) { + return true; + } + } + __name(checkIfSnapshotChanged, "checkIfSnapshotChanged"); + function useSyncExternalStore$1(subscribe2, getSnapshot, getServerSnapshot) { + return getSnapshot(); + } + __name(useSyncExternalStore$1, "useSyncExternalStore$1"); + var canUseDOM = !!(typeof window !== "undefined" && typeof window.document !== "undefined" && typeof window.document.createElement !== "undefined"); + var isServerEnvironment = !canUseDOM; + var shim = isServerEnvironment ? useSyncExternalStore$1 : useSyncExternalStore3; + var useSyncExternalStore$2 = React44.useSyncExternalStore !== void 0 ? React44.useSyncExternalStore : shim; + exports2.useSyncExternalStore = useSyncExternalStore$2; + if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop === "function") { + __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error()); + } + })(); + } + } +}); + +// node_modules/use-sync-external-store/shim/index.js +var require_shim = __commonJS({ + "node_modules/use-sync-external-store/shim/index.js"(exports2, module2) { + "use strict"; + if (process.env.NODE_ENV === "production") { + module2.exports = require_use_sync_external_store_shim_production_min(); + } else { + module2.exports = require_use_sync_external_store_shim_development(); + } + } +}); + +// node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js +var require_with_selector_production_min = __commonJS({ + "node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js"(exports2) { + "use strict"; + var h = require("react"); + var n = require_shim(); + function p(a, b) { + return a === b && (0 !== a || 1 / a === 1 / b) || a !== a && b !== b; + } + __name(p, "p"); + var q = "function" === typeof Object.is ? Object.is : p; + var r = n.useSyncExternalStore; + var t = h.useRef; + var u = h.useEffect; + var v = h.useMemo; + var w = h.useDebugValue; + exports2.useSyncExternalStoreWithSelector = function(a, b, e, l, g) { + var c = t(null); + if (null === c.current) { + var f = { hasValue: false, value: null }; + c.current = f; + } else + f = c.current; + c = v(function() { + function a2(a3) { + if (!c2) { + c2 = true; + d2 = a3; + a3 = l(a3); + if (void 0 !== g && f.hasValue) { + var b2 = f.value; + if (g(b2, a3)) + return k = b2; + } + return k = a3; + } + b2 = k; + if (q(d2, a3)) + return b2; + var e2 = l(a3); + if (void 0 !== g && g(b2, e2)) + return b2; + d2 = a3; + return k = e2; + } + __name(a2, "a"); + var c2 = false, d2, k, m = void 0 === e ? null : e; + return [function() { + return a2(b()); + }, null === m ? void 0 : function() { + return a2(m()); + }]; + }, [b, e, l, g]); + var d = r(a, c[0], c[1]); + u(function() { + f.hasValue = true; + f.value = d; + }, [d]); + w(d); + return d; + }; + } +}); + +// node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js +var require_with_selector_development = __commonJS({ + "node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js"(exports2) { + "use strict"; + if (process.env.NODE_ENV !== "production") { + (function() { + "use strict"; + if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart === "function") { + __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error()); + } + var React44 = require("react"); + var shim = require_shim(); + function is(x, y) { + return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y; + } + __name(is, "is"); + var objectIs = typeof Object.is === "function" ? Object.is : is; + var useSyncExternalStore3 = shim.useSyncExternalStore; + var useRef36 = React44.useRef, useEffect36 = React44.useEffect, useMemo22 = React44.useMemo, useDebugValue2 = React44.useDebugValue; + function useSyncExternalStoreWithSelector2(subscribe2, getSnapshot, getServerSnapshot, selector, isEqual) { + var instRef = useRef36(null); + var inst; + if (instRef.current === null) { + inst = { + hasValue: false, + value: null + }; + instRef.current = inst; + } else { + inst = instRef.current; + } + var _useMemo = useMemo22(function() { + var hasMemo = false; + var memoizedSnapshot; + var memoizedSelection; + var memoizedSelector = /* @__PURE__ */ __name(function(nextSnapshot) { + if (!hasMemo) { + hasMemo = true; + memoizedSnapshot = nextSnapshot; + var _nextSelection = selector(nextSnapshot); + if (isEqual !== void 0) { + if (inst.hasValue) { + var currentSelection = inst.value; + if (isEqual(currentSelection, _nextSelection)) { + memoizedSelection = currentSelection; + return currentSelection; + } + } + } + memoizedSelection = _nextSelection; + return _nextSelection; + } + var prevSnapshot = memoizedSnapshot; + var prevSelection = memoizedSelection; + if (objectIs(prevSnapshot, nextSnapshot)) { + return prevSelection; + } + var nextSelection = selector(nextSnapshot); + if (isEqual !== void 0 && isEqual(prevSelection, nextSelection)) { + return prevSelection; + } + memoizedSnapshot = nextSnapshot; + memoizedSelection = nextSelection; + return nextSelection; + }, "memoizedSelector"); + var maybeGetServerSnapshot = getServerSnapshot === void 0 ? null : getServerSnapshot; + var getSnapshotWithSelector = /* @__PURE__ */ __name(function() { + return memoizedSelector(getSnapshot()); + }, "getSnapshotWithSelector"); + var getServerSnapshotWithSelector = maybeGetServerSnapshot === null ? void 0 : function() { + return memoizedSelector(maybeGetServerSnapshot()); + }; + return [getSnapshotWithSelector, getServerSnapshotWithSelector]; + }, [getSnapshot, getServerSnapshot, selector, isEqual]), getSelection = _useMemo[0], getServerSelection = _useMemo[1]; + var value = useSyncExternalStore3(subscribe2, getSelection, getServerSelection); + useEffect36(function() { + inst.hasValue = true; + inst.value = value; + }, [value]); + useDebugValue2(value); + return value; + } + __name(useSyncExternalStoreWithSelector2, "useSyncExternalStoreWithSelector"); + exports2.useSyncExternalStoreWithSelector = useSyncExternalStoreWithSelector2; + if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop === "function") { + __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error()); + } + })(); + } + } +}); + +// node_modules/use-sync-external-store/shim/with-selector.js +var require_with_selector = __commonJS({ + "node_modules/use-sync-external-store/shim/with-selector.js"(exports2, module2) { + "use strict"; + if (process.env.NODE_ENV === "production") { + module2.exports = require_with_selector_production_min(); + } else { + module2.exports = require_with_selector_development(); + } + } +}); + +// node_modules/zustand/esm/index.js +var esm_exports = {}; +__export(esm_exports, { + create: () => create, + createStore: () => createStore, + default: () => react, + useStore: () => useStore +}); +function useStore(api, selector = identity, equalityFn) { + if (process.env.NODE_ENV !== "production" && equalityFn && !didWarnAboutEqualityFn) { + console.warn( + "[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937" + ); + didWarnAboutEqualityFn = true; + } + const slice = useSyncExternalStoreWithSelector( + api.subscribe, + api.getState, + api.getServerState || api.getInitialState, + selector, + equalityFn + ); + useDebugValue(slice); + return slice; +} +var import_react34, import_with_selector, useDebugValue, useSyncExternalStoreWithSelector, didWarnAboutEqualityFn, identity, createImpl, create, react; +var init_esm = __esm({ + "node_modules/zustand/esm/index.js"() { + init_vanilla(); + init_vanilla(); + import_react34 = __toESM(require("react")); + import_with_selector = __toESM(require_with_selector()); + ({ useDebugValue } = import_react34.default); + ({ useSyncExternalStoreWithSelector } = import_with_selector.default); + didWarnAboutEqualityFn = false; + identity = /* @__PURE__ */ __name((arg) => arg, "identity"); + __name(useStore, "useStore"); + createImpl = /* @__PURE__ */ __name((createState) => { + if (process.env.NODE_ENV !== "production" && typeof createState !== "function") { + console.warn( + "[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`." + ); + } + const api = typeof createState === "function" ? createStore(createState) : createState; + const useBoundStore = /* @__PURE__ */ __name((selector, equalityFn) => useStore(api, selector, equalityFn), "useBoundStore"); + Object.assign(useBoundStore, api); + return useBoundStore; + }, "createImpl"); + create = /* @__PURE__ */ __name((createState) => createState ? createImpl(createState) : createImpl, "create"); + react = /* @__PURE__ */ __name((createState) => { + if (process.env.NODE_ENV !== "production") { + console.warn( + "[DEPRECATED] Default export is deprecated. Instead use `import { create } from 'zustand'`." + ); + } + return create(createState); + }, "react"); + } +}); + +// node_modules/reforest/dist/index.js +var require_dist = __commonJS({ + "node_modules/reforest/dist/index.js"(exports2, module2) { + var __create2 = Object.create; + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __getProtoOf2 = Object.getPrototypeOf; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + } + return to; + }, "__copyProps"); + var __toESM2 = /* @__PURE__ */ __name((mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp2(target, "default", { value: mod, enumerable: true }) : target, + mod + )), "__toESM"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var src_exports = {}; + __export2(src_exports, { + cleanAndSortTree: () => cleanAndSortTree, + compareIndexPaths: () => compareIndexPaths, + flattenChildren: () => flattenChildren, + mapToChildren: () => mapToChildren, + parseIndexPath: () => parseIndexPath, + sortMapByIndexPath: () => sortMapByIndexPath, + useIndex: () => useIndex2, + useIndexedChildren: () => useIndexedChildren2, + usePrerender: () => usePrerender, + useRovingIndex: () => useRovingIndex, + useTree: () => useTree, + useTreeId: () => useTreeId, + useTreeNode: () => useTreeNode, + useTreeState: () => useTreeState + }); + module2.exports = __toCommonJS2(src_exports); + var React310 = __toESM2(require("react")); + var React44 = __toESM2(require("react")); + var PrerenderContext = React44.createContext(false); + PrerenderContext.displayName = "PrerenderContext"; + var MaxIndexContext = React44.createContext([]); + MaxIndexContext.displayName = "MaxIndexContext"; + var IndexContext = React44.createContext(null); + IndexContext.displayName = "IndexContext"; + var TreeStateContext = React44.createContext(null); + TreeStateContext.displayName = "TreeStateContext"; + var React210 = __toESM2(require("react")); + var import_performant_array_to_tree = require_arrayToTree_min(); + var isServer3 = typeof window === "undefined"; + var useIsomorphicLayoutEffect3 = isServer3 ? React210.useEffect : React210.useLayoutEffect; + function parseIndexPath(indexPathString) { + return indexPathString.split(".").map((index3) => parseInt(index3, 10)); + } + __name(parseIndexPath, "parseIndexPath"); + function compareIndexPaths(a = "", b = "") { + var _a, _b; + let aArray = a.split(".").map(Number); + let bArray = b.split(".").map(Number); + if (aArray.includes(NaN) || bArray.includes(NaN)) { + throw new Error("Version contains parts that are not numbers"); + } + const maxLength = Math.max(a.length, b.length); + for (let index3 = 0; index3 < maxLength; index3++) { + const difference = ((_a = aArray[index3]) != null ? _a : 0) - ((_b = bArray[index3]) != null ? _b : 0); + if (difference === 0) { + continue; + } + return difference > 0 ? 1 : -1; + } + return 0; + } + __name(compareIndexPaths, "compareIndexPaths"); + function cleanAndSortTree(tree) { + var _a; + if (((_a = tree.children) == null ? void 0 : _a.length) > 0) { + tree.children.sort((a, b) => compareIndexPaths(a.indexPathString, b.indexPathString)); + return { + ...tree.data, + children: tree.children.map(cleanAndSortTree) + }; + } + return tree.data; + } + __name(cleanAndSortTree, "cleanAndSortTree"); + function mapToChildren(dataMap) { + const parsedValues = Array.from(dataMap.entries()).map(([indexPathString, data]) => { + const parentIndexPathString = parseIndexPath(indexPathString).slice(0, -1).join("."); + return { + data, + parentId: parentIndexPathString, + id: indexPathString + }; + }); + const tree = (0, import_performant_array_to_tree.arrayToTree)(parsedValues, { dataField: null }); + const cleanedTree = cleanAndSortTree({ children: tree }); + return cleanedTree ? cleanedTree.children : []; + } + __name(mapToChildren, "mapToChildren"); + function sortMapByIndexPath(treeMap) { + const sortedEntries = Array.from(treeMap.entries()).sort((a, b) => compareIndexPaths(a[0], b[0])); + return new Map(sortedEntries); + } + __name(sortMapByIndexPath, "sortMapByIndexPath"); + function flattenChildren(children) { + const flatChildren = children.flatMap( + (child) => child.children ? flattenChildren(child.children) : [child] + ); + return flatChildren; + } + __name(flattenChildren, "flattenChildren"); + function useIndex2() { + const maxIndexPath = React310.useContext(MaxIndexContext); + const indexPathString = React310.useContext(IndexContext); + return React310.useMemo(() => { + if (indexPathString === null) { + return null; + } + const indexPath = parseIndexPath(indexPathString); + const maxIndex = maxIndexPath[maxIndexPath.length - 1]; + const index3 = indexPath[indexPath.length - 1]; + return { + maxIndex, + maxIndexPath, + index: index3, + indexPath, + indexPathString, + isFirst: index3 === 0, + isLast: index3 === maxIndex, + isEven: index3 % 2 === 0, + isOdd: Math.abs(index3 % 2) === 1 + }; + }, [maxIndexPath, indexPathString]); + } + __name(useIndex2, "useIndex"); + function useIndexedChildren2(children) { + const parentMaxIndexPath = React310.useContext(MaxIndexContext); + const indexPathString = React310.useContext(IndexContext); + const childrenCount = React310.Children.count(children); + const maxIndexPath = React310.useMemo( + () => parentMaxIndexPath.concat(childrenCount - 1), + [childrenCount] + ); + return /* @__PURE__ */ React310.createElement(MaxIndexContext.Provider, { value: maxIndexPath }, React310.Children.map( + children, + (child, index3) => React310.isValidElement(child) ? /* @__PURE__ */ React310.createElement( + IndexContext.Provider, + { + key: child.key, + value: indexPathString ? `${indexPathString}.${index3.toString()}` : index3.toString() + }, + child + ) : child + )); + } + __name(useIndexedChildren2, "useIndexedChildren"); + var React45 = __toESM2(require("react")); + function useRovingIndex({ + contain = true, + defaultIndex = 0, + maxIndex = Infinity, + wrap = false + }) { + const [activeIndex, setLocalActiveIndex] = React45.useState(defaultIndex); + const getNextIndex = React45.useCallback( + (nextIndex) => { + if (wrap) { + return (nextIndex % maxIndex + maxIndex) % maxIndex; + } + if (contain) { + return nextIndex > maxIndex ? maxIndex : nextIndex < 0 ? 0 : nextIndex; + } + return nextIndex; + }, + [maxIndex, wrap] + ); + const moveActiveIndex = React45.useCallback( + (amountToMove) => { + setLocalActiveIndex((currentIndex) => getNextIndex(currentIndex + amountToMove)); + }, + [getNextIndex] + ); + const setActiveIndex = React45.useCallback( + (nextIndex) => { + setLocalActiveIndex(getNextIndex(nextIndex)); + }, + [getNextIndex] + ); + const moveBackward = React45.useCallback(() => moveActiveIndex(-1), [moveActiveIndex]); + const moveForward = React45.useCallback(() => moveActiveIndex(1), [moveActiveIndex]); + return { + activeIndex, + moveActiveIndex, + setActiveIndex, + moveBackward, + moveForward, + moveBackwardDisabled: activeIndex <= 0, + moveForwardDisabled: activeIndex >= maxIndex + }; + } + __name(useRovingIndex, "useRovingIndex"); + var React52 = __toESM2(require("react")); + var import_zustand = (init_esm(), __toCommonJS(esm_exports)); + function useTreeState(selector) { + const treeStateContext = React52.useContext(TreeStateContext); + const [treeState] = React52.useState( + () => treeStateContext || (0, import_zustand.create)((set, get) => ({ + treeMap: /* @__PURE__ */ new Map(), + prerenderedTreeIds: /* @__PURE__ */ new Map(), + shouldPrerender: true, + setTreeData: (id, data) => { + const { treeMap } = get(); + treeMap.set(id, data); + set({ treeMap: sortMapByIndexPath(treeMap) }); + }, + deleteTreeData: (id) => { + const { treeMap } = get(); + treeMap.delete(id); + set({ treeMap: sortMapByIndexPath(treeMap) }); + } + })) + ); + return selector ? treeState(selector) : treeState; + } + __name(useTreeState, "useTreeState"); + function PrerenderTree({ children }) { + const treeState = useTreeState(); + const shouldPrerender = treeState((state) => state.shouldPrerender); + useIsomorphicLayoutEffect3(() => { + treeState.setState({ + prerenderedTreeIds: /* @__PURE__ */ new Map(), + shouldPrerender: false + }); + }, []); + return shouldPrerender ? /* @__PURE__ */ React52.createElement(PrerenderContext.Provider, { value: true }, children) : null; + } + __name(PrerenderTree, "PrerenderTree"); + function usePrerender() { + const isPrerender = React52.useContext(PrerenderContext); + if (isPrerender === null) { + throw new Error("usePrerender must be used in a descendant component of useTree."); + } + return isPrerender; + } + __name(usePrerender, "usePrerender"); + function useTree(children, treeState) { + const treeStateContext = React52.useContext(TreeStateContext); + const treeStateLocal = useTreeState(); + const parsedTreeState = treeStateContext || treeState || treeStateLocal; + const isPrerender = React52.useContext(PrerenderContext); + const isRoot = treeStateContext === null; + const indexedChildren = useIndexedChildren2(children); + const childrenToRender = isRoot ? /* @__PURE__ */ React52.createElement(TreeStateContext.Provider, { value: parsedTreeState }, /* @__PURE__ */ React52.createElement(PrerenderTree, null, indexedChildren), indexedChildren) : indexedChildren; + return { + children: childrenToRender, + useStore: parsedTreeState, + isPrerender, + isRoot + }; + } + __name(useTree, "useTree"); + function useTreeId() { + const treeStateContext = React52.useContext(TreeStateContext); + if (treeStateContext === null) { + throw new Error("useTreeId must be used in a descendant component of useTree."); + } + const { prerenderedTreeIds } = treeStateContext.getState(); + const { indexPathString } = useIndex2(); + const generatedId = React52.useId().slice(1, -1); + const treeId = prerenderedTreeIds.get(indexPathString) || generatedId; + return treeId; + } + __name(useTreeId, "useTreeId"); + function useTreeNode(treeId, getData, dependencies = []) { + const isPrerender = React52.useContext(PrerenderContext); + const treeStateContext = React52.useContext(TreeStateContext); + if (treeStateContext === null) { + throw new Error("useTreeNode must be used in a descendant component of useTree."); + } + const { deleteTreeData, prerenderedTreeIds, setTreeData, treeMap } = treeStateContext.getState(); + const { indexPathString } = useIndex2(); + const treeData = React52.useMemo( + () => Object.assign({ treeId }, getData()), + dependencies.concat(treeId) + ); + if (isPrerender) { + treeMap.set(indexPathString, treeData); + prerenderedTreeIds.set(indexPathString, treeId); + } else { + React52.useEffect(() => { + setTreeData(indexPathString, treeData); + return () => { + deleteTreeData(indexPathString); + }; + }, [indexPathString, treeData]); + } + return treeData; + } + __name(useTreeNode, "useTreeNode"); + } +}); + +// node_modules/tabbable/dist/index.js +var require_dist2 = __commonJS({ + "node_modules/tabbable/dist/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + var candidateSelectors = ["input:not([inert])", "select:not([inert])", "textarea:not([inert])", "a[href]:not([inert])", "button:not([inert])", "[tabindex]:not(slot):not([inert])", "audio[controls]:not([inert])", "video[controls]:not([inert])", '[contenteditable]:not([contenteditable="false"]):not([inert])', "details>summary:first-of-type:not([inert])", "details:not([inert])"]; + var candidateSelector = /* @__PURE__ */ candidateSelectors.join(","); + var NoElement = typeof Element === "undefined"; + var matches = NoElement ? function() { + } : Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector; + var getRootNode = !NoElement && Element.prototype.getRootNode ? function(element) { + var _element$getRootNode; + return element === null || element === void 0 ? void 0 : (_element$getRootNode = element.getRootNode) === null || _element$getRootNode === void 0 ? void 0 : _element$getRootNode.call(element); + } : function(element) { + return element === null || element === void 0 ? void 0 : element.ownerDocument; + }; + var isInert = /* @__PURE__ */ __name(function isInert2(node, lookUp) { + var _node$getAttribute; + if (lookUp === void 0) { + lookUp = true; + } + var inertAtt = node === null || node === void 0 ? void 0 : (_node$getAttribute = node.getAttribute) === null || _node$getAttribute === void 0 ? void 0 : _node$getAttribute.call(node, "inert"); + var inert = inertAtt === "" || inertAtt === "true"; + var result = inert || lookUp && node && isInert2(node.parentNode); + return result; + }, "isInert"); + var isContentEditable = /* @__PURE__ */ __name(function isContentEditable2(node) { + var _node$getAttribute2; + var attValue = node === null || node === void 0 ? void 0 : (_node$getAttribute2 = node.getAttribute) === null || _node$getAttribute2 === void 0 ? void 0 : _node$getAttribute2.call(node, "contenteditable"); + return attValue === "" || attValue === "true"; + }, "isContentEditable"); + var getCandidates = /* @__PURE__ */ __name(function getCandidates2(el, includeContainer, filter) { + if (isInert(el)) { + return []; + } + var candidates = Array.prototype.slice.apply(el.querySelectorAll(candidateSelector)); + if (includeContainer && matches.call(el, candidateSelector)) { + candidates.unshift(el); + } + candidates = candidates.filter(filter); + return candidates; + }, "getCandidates"); + var getCandidatesIteratively = /* @__PURE__ */ __name(function getCandidatesIteratively2(elements, includeContainer, options) { + var candidates = []; + var elementsToCheck = Array.from(elements); + while (elementsToCheck.length) { + var element = elementsToCheck.shift(); + if (isInert(element, false)) { + continue; + } + if (element.tagName === "SLOT") { + var assigned = element.assignedElements(); + var content = assigned.length ? assigned : element.children; + var nestedCandidates = getCandidatesIteratively2(content, true, options); + if (options.flatten) { + candidates.push.apply(candidates, nestedCandidates); + } else { + candidates.push({ + scopeParent: element, + candidates: nestedCandidates + }); + } + } else { + var validCandidate = matches.call(element, candidateSelector); + if (validCandidate && options.filter(element) && (includeContainer || !elements.includes(element))) { + candidates.push(element); + } + var shadowRoot = element.shadowRoot || // check for an undisclosed shadow + typeof options.getShadowRoot === "function" && options.getShadowRoot(element); + var validShadowRoot = !isInert(shadowRoot, false) && (!options.shadowRootFilter || options.shadowRootFilter(element)); + if (shadowRoot && validShadowRoot) { + var _nestedCandidates = getCandidatesIteratively2(shadowRoot === true ? element.children : shadowRoot.children, true, options); + if (options.flatten) { + candidates.push.apply(candidates, _nestedCandidates); + } else { + candidates.push({ + scopeParent: element, + candidates: _nestedCandidates + }); + } + } else { + elementsToCheck.unshift.apply(elementsToCheck, element.children); + } + } + } + return candidates; + }, "getCandidatesIteratively"); + var hasTabIndex = /* @__PURE__ */ __name(function hasTabIndex2(node) { + return !isNaN(parseInt(node.getAttribute("tabindex"), 10)); + }, "hasTabIndex"); + var getTabIndex = /* @__PURE__ */ __name(function getTabIndex2(node) { + if (!node) { + throw new Error("No node provided"); + } + if (node.tabIndex < 0) { + if ((/^(AUDIO|VIDEO|DETAILS)$/.test(node.tagName) || isContentEditable(node)) && !hasTabIndex(node)) { + return 0; + } + } + return node.tabIndex; + }, "getTabIndex"); + var getSortOrderTabIndex = /* @__PURE__ */ __name(function getSortOrderTabIndex2(node, isScope) { + var tabIndex = getTabIndex(node); + if (tabIndex < 0 && isScope && !hasTabIndex(node)) { + return 0; + } + return tabIndex; + }, "getSortOrderTabIndex"); + var sortOrderedTabbables = /* @__PURE__ */ __name(function sortOrderedTabbables2(a, b) { + return a.tabIndex === b.tabIndex ? a.documentOrder - b.documentOrder : a.tabIndex - b.tabIndex; + }, "sortOrderedTabbables"); + var isInput = /* @__PURE__ */ __name(function isInput2(node) { + return node.tagName === "INPUT"; + }, "isInput"); + var isHiddenInput = /* @__PURE__ */ __name(function isHiddenInput2(node) { + return isInput(node) && node.type === "hidden"; + }, "isHiddenInput"); + var isDetailsWithSummary = /* @__PURE__ */ __name(function isDetailsWithSummary2(node) { + var r = node.tagName === "DETAILS" && Array.prototype.slice.apply(node.children).some(function(child) { + return child.tagName === "SUMMARY"; + }); + return r; + }, "isDetailsWithSummary"); + var getCheckedRadio = /* @__PURE__ */ __name(function getCheckedRadio2(nodes, form) { + for (var i = 0; i < nodes.length; i++) { + if (nodes[i].checked && nodes[i].form === form) { + return nodes[i]; + } + } + }, "getCheckedRadio"); + var isTabbableRadio = /* @__PURE__ */ __name(function isTabbableRadio2(node) { + if (!node.name) { + return true; + } + var radioScope = node.form || getRootNode(node); + var queryRadios = /* @__PURE__ */ __name(function queryRadios2(name) { + return radioScope.querySelectorAll('input[type="radio"][name="' + name + '"]'); + }, "queryRadios"); + var radioSet; + if (typeof window !== "undefined" && typeof window.CSS !== "undefined" && typeof window.CSS.escape === "function") { + radioSet = queryRadios(window.CSS.escape(node.name)); + } else { + try { + radioSet = queryRadios(node.name); + } catch (err) { + console.error("Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s", err.message); + return false; + } + } + var checked = getCheckedRadio(radioSet, node.form); + return !checked || checked === node; + }, "isTabbableRadio"); + var isRadio = /* @__PURE__ */ __name(function isRadio2(node) { + return isInput(node) && node.type === "radio"; + }, "isRadio"); + var isNonTabbableRadio = /* @__PURE__ */ __name(function isNonTabbableRadio2(node) { + return isRadio(node) && !isTabbableRadio(node); + }, "isNonTabbableRadio"); + var isNodeAttached = /* @__PURE__ */ __name(function isNodeAttached2(node) { + var _nodeRoot; + var nodeRoot = node && getRootNode(node); + var nodeRootHost = (_nodeRoot = nodeRoot) === null || _nodeRoot === void 0 ? void 0 : _nodeRoot.host; + var attached = false; + if (nodeRoot && nodeRoot !== node) { + var _nodeRootHost, _nodeRootHost$ownerDo, _node$ownerDocument; + attached = !!((_nodeRootHost = nodeRootHost) !== null && _nodeRootHost !== void 0 && (_nodeRootHost$ownerDo = _nodeRootHost.ownerDocument) !== null && _nodeRootHost$ownerDo !== void 0 && _nodeRootHost$ownerDo.contains(nodeRootHost) || node !== null && node !== void 0 && (_node$ownerDocument = node.ownerDocument) !== null && _node$ownerDocument !== void 0 && _node$ownerDocument.contains(node)); + while (!attached && nodeRootHost) { + var _nodeRoot2, _nodeRootHost2, _nodeRootHost2$ownerD; + nodeRoot = getRootNode(nodeRootHost); + nodeRootHost = (_nodeRoot2 = nodeRoot) === null || _nodeRoot2 === void 0 ? void 0 : _nodeRoot2.host; + attached = !!((_nodeRootHost2 = nodeRootHost) !== null && _nodeRootHost2 !== void 0 && (_nodeRootHost2$ownerD = _nodeRootHost2.ownerDocument) !== null && _nodeRootHost2$ownerD !== void 0 && _nodeRootHost2$ownerD.contains(nodeRootHost)); + } + } + return attached; + }, "isNodeAttached"); + var isZeroArea = /* @__PURE__ */ __name(function isZeroArea2(node) { + var _node$getBoundingClie = node.getBoundingClientRect(), width = _node$getBoundingClie.width, height = _node$getBoundingClie.height; + return width === 0 && height === 0; + }, "isZeroArea"); + var isHidden2 = /* @__PURE__ */ __name(function isHidden3(node, _ref) { + var displayCheck = _ref.displayCheck, getShadowRoot = _ref.getShadowRoot; + if (getComputedStyle(node).visibility === "hidden") { + return true; + } + var isDirectSummary = matches.call(node, "details>summary:first-of-type"); + var nodeUnderDetails = isDirectSummary ? node.parentElement : node; + if (matches.call(nodeUnderDetails, "details:not([open]) *")) { + return true; + } + if (!displayCheck || displayCheck === "full" || displayCheck === "legacy-full") { + if (typeof getShadowRoot === "function") { + var originalNode = node; + while (node) { + var parentElement = node.parentElement; + var rootNode = getRootNode(node); + if (parentElement && !parentElement.shadowRoot && getShadowRoot(parentElement) === true) { + return isZeroArea(node); + } else if (node.assignedSlot) { + node = node.assignedSlot; + } else if (!parentElement && rootNode !== node.ownerDocument) { + node = rootNode.host; + } else { + node = parentElement; + } + } + node = originalNode; + } + if (isNodeAttached(node)) { + return !node.getClientRects().length; + } + if (displayCheck !== "legacy-full") { + return true; + } + } else if (displayCheck === "non-zero-area") { + return isZeroArea(node); + } + return false; + }, "isHidden"); + var isDisabledFromFieldset = /* @__PURE__ */ __name(function isDisabledFromFieldset2(node) { + if (/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(node.tagName)) { + var parentNode = node.parentElement; + while (parentNode) { + if (parentNode.tagName === "FIELDSET" && parentNode.disabled) { + for (var i = 0; i < parentNode.children.length; i++) { + var child = parentNode.children.item(i); + if (child.tagName === "LEGEND") { + return matches.call(parentNode, "fieldset[disabled] *") ? true : !child.contains(node); + } + } + return true; + } + parentNode = parentNode.parentElement; + } + } + return false; + }, "isDisabledFromFieldset"); + var isNodeMatchingSelectorFocusable = /* @__PURE__ */ __name(function isNodeMatchingSelectorFocusable2(options, node) { + if (node.disabled || // we must do an inert look up to filter out any elements inside an inert ancestor + // because we're limited in the type of selectors we can use in JSDom (see related + // note related to `candidateSelectors`) + isInert(node) || isHiddenInput(node) || isHidden2(node, options) || // For a details element with a summary, the summary element gets the focus + isDetailsWithSummary(node) || isDisabledFromFieldset(node)) { + return false; + } + return true; + }, "isNodeMatchingSelectorFocusable"); + var isNodeMatchingSelectorTabbable = /* @__PURE__ */ __name(function isNodeMatchingSelectorTabbable2(options, node) { + if (isNonTabbableRadio(node) || getTabIndex(node) < 0 || !isNodeMatchingSelectorFocusable(options, node)) { + return false; + } + return true; + }, "isNodeMatchingSelectorTabbable"); + var isValidShadowRootTabbable = /* @__PURE__ */ __name(function isValidShadowRootTabbable2(shadowHostNode) { + var tabIndex = parseInt(shadowHostNode.getAttribute("tabindex"), 10); + if (isNaN(tabIndex) || tabIndex >= 0) { + return true; + } + return false; + }, "isValidShadowRootTabbable"); + var sortByOrder = /* @__PURE__ */ __name(function sortByOrder2(candidates) { + var regularTabbables = []; + var orderedTabbables = []; + candidates.forEach(function(item, i) { + var isScope = !!item.scopeParent; + var element = isScope ? item.scopeParent : item; + var candidateTabindex = getSortOrderTabIndex(element, isScope); + var elements = isScope ? sortByOrder2(item.candidates) : element; + if (candidateTabindex === 0) { + isScope ? regularTabbables.push.apply(regularTabbables, elements) : regularTabbables.push(element); + } else { + orderedTabbables.push({ + documentOrder: i, + tabIndex: candidateTabindex, + item, + isScope, + content: elements + }); + } + }); + return orderedTabbables.sort(sortOrderedTabbables).reduce(function(acc, sortable) { + sortable.isScope ? acc.push.apply(acc, sortable.content) : acc.push(sortable.content); + return acc; + }, []).concat(regularTabbables); + }, "sortByOrder"); + var tabbable2 = /* @__PURE__ */ __name(function tabbable3(container, options) { + options = options || {}; + var candidates; + if (options.getShadowRoot) { + candidates = getCandidatesIteratively([container], options.includeContainer, { + filter: isNodeMatchingSelectorTabbable.bind(null, options), + flatten: false, + getShadowRoot: options.getShadowRoot, + shadowRootFilter: isValidShadowRootTabbable + }); + } else { + candidates = getCandidates(container, options.includeContainer, isNodeMatchingSelectorTabbable.bind(null, options)); + } + return sortByOrder(candidates); + }, "tabbable"); + var focusable = /* @__PURE__ */ __name(function focusable2(container, options) { + options = options || {}; + var candidates; + if (options.getShadowRoot) { + candidates = getCandidatesIteratively([container], options.includeContainer, { + filter: isNodeMatchingSelectorFocusable.bind(null, options), + flatten: true, + getShadowRoot: options.getShadowRoot + }); + } else { + candidates = getCandidates(container, options.includeContainer, isNodeMatchingSelectorFocusable.bind(null, options)); + } + return candidates; + }, "focusable"); + var isTabbable2 = /* @__PURE__ */ __name(function isTabbable3(node, options) { + options = options || {}; + if (!node) { + throw new Error("No node provided"); + } + if (matches.call(node, candidateSelector) === false) { + return false; + } + return isNodeMatchingSelectorTabbable(options, node); + }, "isTabbable"); + var focusableCandidateSelector = /* @__PURE__ */ candidateSelectors.concat("iframe").join(","); + var isFocusable = /* @__PURE__ */ __name(function isFocusable2(node, options) { + options = options || {}; + if (!node) { + throw new Error("No node provided"); + } + if (matches.call(node, focusableCandidateSelector) === false) { + return false; + } + return isNodeMatchingSelectorFocusable(options, node); + }, "isFocusable"); + exports2.focusable = focusable; + exports2.getTabIndex = getTabIndex; + exports2.isFocusable = isFocusable; + exports2.isTabbable = isTabbable2; + exports2.tabbable = tabbable2; + } +}); + +// node_modules/@tamagui/theme/dist/cjs/_mutateTheme.js +var require_mutateTheme = __commonJS({ + "node_modules/@tamagui/theme/dist/cjs/_mutateTheme.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var mutateTheme_exports = {}; + __export2(mutateTheme_exports, { + _mutateTheme: () => _mutateTheme, + mutateThemes: () => mutateThemes + }); + module2.exports = __toCommonJS2(mutateTheme_exports); + var import_constants45 = require_cjs6(); + var import_web19 = require("@tamagui/core"); + var import_react57 = require("react"); + function mutateThemes({ + themes, + batch, + insertCSS = true, + ...props + }) { + const allThemesProxied = {}, allThemesRaw = {}; + for (const { name, theme } of themes) { + const res = _mutateTheme({ + ...props, + name, + theme, + // we'll do one update at the end + avoidUpdate: true, + // always add which also replaces but doesnt fail first time + mutationType: "add" + }); + res && (allThemesProxied[name] = res.theme, allThemesRaw[name] = res.themeRaw); + } + const cssRules = insertCSS ? insertThemeCSS(allThemesRaw, batch) : []; + return (0, import_react57.startTransition)(() => { + for (const themeName in allThemesProxied) { + const theme = allThemesProxied[themeName]; + updateThemeConfig(themeName, theme), notifyThemeManagersOfUpdate(themeName, theme); + } + }), { + themes: allThemesProxied, + themesRaw: allThemesRaw, + cssRules + }; + } + __name(mutateThemes, "mutateThemes"); + function _mutateTheme(props) { + if (import_constants45.isServer) { + process.env.NODE_ENV === "development" && console.warn("Theme mutation is not supported on server side"); + return; + } + const config = (0, import_web19.getConfig)(), { name: themeName, theme: themeIn, insertCSS, mutationType } = props; + if (process.env.NODE_ENV === "development") { + if (!config) + throw new Error("No config"); + const theme2 = config.themes[props.name]; + if (mutationType !== "add" && !theme2) + throw new Error( + `${mutationType === "replace" ? "Replace" : "Update"} theme failed! Theme ${props.name} does not exist` + ); + } + const theme = { + ...mutationType === "update" ? config.themes[themeName] ?? {} : {}, + ...themeIn + }; + for (const key in theme) + (0, import_web19.ensureThemeVariable)(theme, key); + const themeProxied = (0, import_web19.proxyThemeToParents)(themeName, theme), response = { + themeRaw: theme, + theme: themeProxied, + cssRules: [] + }; + return props.avoidUpdate || (insertCSS && (response.cssRules = insertThemeCSS({ + [themeName]: theme + })), updateThemeConfig(themeName, themeProxied), notifyThemeManagersOfUpdate(themeName, themeProxied)), response; + } + __name(_mutateTheme, "_mutateTheme"); + function updateThemeConfig(themeName, theme) { + const config = (0, import_web19.getConfig)(); + config.themes[themeName] = theme, (0, import_web19.updateConfig)("themes", config.themes); + } + __name(updateThemeConfig, "updateThemeConfig"); + function notifyThemeManagersOfUpdate(themeName, theme) { + import_web19.activeThemeManagers.forEach((manager) => { + manager.state.name === themeName && manager.updateStateFromProps( + { + name: themeName, + forceTheme: theme + }, + true + ); + }); + } + __name(notifyThemeManagersOfUpdate, "notifyThemeManagersOfUpdate"); + function insertThemeCSS(themes, batch = false) { + const config = (0, import_web19.getConfig)(); + let cssRules = []; + for (const themeName in themes) { + const theme = themes[themeName], rules = (0, import_web19.getThemeCSSRules)({ + config, + themeName, + names: [themeName], + hasDarkLight: true, + theme + }); + cssRules = [...cssRules, ...rules], batch || updateStyle(`t_theme_style_${themeName}`, rules); + } + if (batch) { + const id = (0, import_web19.simpleHash)(typeof batch == "string" ? batch : Object.keys(themes).join("")); + updateStyle(`t_theme_style_${id}`, cssRules); + } + return cssRules; + } + __name(insertThemeCSS, "insertThemeCSS"); + function updateStyle(id, rules) { + var _a; + const existing = document.querySelector(`#${id}`), style = document.createElement("style"); + style.id = id, style.appendChild(document.createTextNode(rules.join(` +`))), document.head.appendChild(style), existing && ((_a = existing.parentElement) == null ? void 0 : _a.removeChild(existing)); + } + __name(updateStyle, "updateStyle"); + } +}); + +// node_modules/@tamagui/theme/dist/cjs/addTheme.js +var require_addTheme = __commonJS({ + "node_modules/@tamagui/theme/dist/cjs/addTheme.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var addTheme_exports = {}; + __export2(addTheme_exports, { + addTheme: () => addTheme + }); + module2.exports = __toCommonJS2(addTheme_exports); + var import_mutateTheme = require_mutateTheme(); + function addTheme(props) { + return (0, import_mutateTheme._mutateTheme)({ ...props, insertCSS: true, mutationType: "add" }); + } + __name(addTheme, "addTheme"); + } +}); + +// node_modules/@tamagui/theme/dist/cjs/updateTheme.js +var require_updateTheme = __commonJS({ + "node_modules/@tamagui/theme/dist/cjs/updateTheme.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var updateTheme_exports = {}; + __export2(updateTheme_exports, { + updateTheme: () => updateTheme + }); + module2.exports = __toCommonJS2(updateTheme_exports); + var import_mutateTheme = require_mutateTheme(); + function updateTheme({ + name, + theme + }) { + return (0, import_mutateTheme._mutateTheme)({ name, theme, insertCSS: true, mutationType: "update" }); + } + __name(updateTheme, "updateTheme"); + } +}); + +// node_modules/@tamagui/theme/dist/cjs/replaceTheme.js +var require_replaceTheme = __commonJS({ + "node_modules/@tamagui/theme/dist/cjs/replaceTheme.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var replaceTheme_exports = {}; + __export2(replaceTheme_exports, { + replaceTheme: () => replaceTheme + }); + module2.exports = __toCommonJS2(replaceTheme_exports); + var import_mutateTheme = require_mutateTheme(); + function replaceTheme({ + name, + theme + }) { + return (0, import_mutateTheme._mutateTheme)({ name, theme, insertCSS: true, mutationType: "replace" }); + } + __name(replaceTheme, "replaceTheme"); + } +}); + +// node_modules/@tamagui/theme/dist/cjs/index.js +var require_cjs21 = __commonJS({ + "node_modules/@tamagui/theme/dist/cjs/index.js"(exports2, module2) { + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name in all) + __defProp2(target, name, { get: all[name], enumerable: true }); + }, "__export"); + var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from == "object" || typeof from == "function") + for (let key of __getOwnPropNames2(from)) + !__hasOwnProp2.call(to, key) && key !== except && __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + return to; + }, "__copyProps"); + var __reExport2 = /* @__PURE__ */ __name((target, mod, secondTarget) => (__copyProps2(target, mod, "default"), secondTarget && __copyProps2(secondTarget, mod, "default")), "__reExport"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS"); + var src_exports = {}; + __export2(src_exports, { + mutateThemes: () => import_mutateTheme.mutateThemes + }); + module2.exports = __toCommonJS2(src_exports); + __reExport2(src_exports, require_addTheme(), module2.exports); + __reExport2(src_exports, require_updateTheme(), module2.exports); + __reExport2(src_exports, require_replaceTheme(), module2.exports); + var import_mutateTheme = require_mutateTheme(); + } +}); + +// node_modules/tamagui/dist/esm/index.mjs +var esm_exports2 = {}; +__export(esm_exports2, { + ACTIONS: () => ACTIONS, + Adapt: () => Adapt, + AdaptContents: () => AdaptContents, + AdaptParentContext: () => AdaptParentContext, + AlertDialog: () => AlertDialog, + AlertDialogAction: () => AlertDialogAction, + AlertDialogCancel: () => AlertDialogCancel, + AlertDialogContent: () => AlertDialogContent, + AlertDialogDescription: () => AlertDialogDescription, + AlertDialogOverlay: () => AlertDialogOverlay, + AlertDialogPortal: () => AlertDialogPortal, + AlertDialogTitle: () => AlertDialogTitle, + AlertDialogTrigger: () => AlertDialogTrigger, + Anchor: () => Anchor, + AnimatePresence: () => AnimatePresence, + Article: () => Article, + Aside: () => Aside, + Avatar: () => Avatar, + AvatarFallback: () => AvatarFallback, + AvatarFallbackFrame: () => AvatarFallbackFrame, + AvatarFrame: () => AvatarFrame, + AvatarImage: () => AvatarImage, + Button: () => Button2, + ButtonContext: () => ButtonContext, + ButtonFrame: () => ButtonFrame, + ButtonIcon: () => ButtonIcon, + ButtonNestingContext: () => ButtonNestingContext, + ButtonText: () => ButtonText, + Card: () => Card, + CardBackground: () => CardBackground, + CardFooter: () => CardFooter, + CardFrame: () => CardFrame, + CardHeader: () => CardHeader, + Checkbox: () => Checkbox, + CheckboxContext: () => CheckboxContext, + CheckboxFrame: () => CheckboxFrame, + CheckboxIndicatorFrame: () => CheckboxIndicatorFrame, + CheckboxStyledContext: () => CheckboxStyledContext, + Circle: () => Circle, + ComponentContext: () => import_core58.ComponentContext, + Configuration: () => import_core58.Configuration, + Dialog: () => Dialog, + DialogClose: () => DialogClose, + DialogContent: () => DialogContent, + DialogDescription: () => DialogDescription, + DialogOverlay: () => DialogOverlay, + DialogOverlayFrame: () => DialogOverlayFrame, + DialogPortal: () => DialogPortal, + DialogPortalFrame: () => DialogPortalFrame, + DialogSheetContents: () => DialogSheetContents, + DialogTitle: () => DialogTitle, + DialogTrigger: () => DialogTrigger, + DialogWarningProvider: () => DialogWarningProvider, + EnsureFlexed: () => EnsureFlexed, + Fieldset: () => Fieldset, + FontLanguage: () => import_core58.FontLanguage, + Footer: () => Footer, + Form: () => Form2, + FormFrame: () => FormFrame, + FormProvider: () => FormProvider, + FormTrigger: () => FormTrigger, + ForwardSelectContext: () => ForwardSelectContext, + Frame: () => Frame, + Group: () => Group, + GroupFrame: () => GroupFrame, + H1: () => H1, + H2: () => H2, + H3: () => H3, + H4: () => H4, + H5: () => H5, + H6: () => H6, + Handle: () => Handle, + Header: () => Header, + Heading: () => Heading, + INITIAL_STATE: () => INITIAL_STATE, + Image: () => Image, + Input: () => Input, + InputFrame: () => InputFrame, + Label: () => Label, + LabelFrame: () => LabelFrame, + ListItem: () => ListItem2, + ListItemFrame: () => ListItemFrame, + ListItemSubtitle: () => ListItemSubtitle, + ListItemText: () => ListItemText, + ListItemTitle: () => ListItemTitle, + Main: () => Main, + Nav: () => Nav, + Overlay: () => Overlay, + Paragraph: () => Paragraph, + Popover: () => Popover, + PopoverAnchor: () => PopoverAnchor, + PopoverArrow: () => PopoverArrow, + PopoverClose: () => PopoverClose, + PopoverContent: () => PopoverContent, + PopoverContext: () => PopoverContext, + PopoverTrigger: () => PopoverTrigger, + Popper: () => Popper, + PopperAnchor: () => PopperAnchor, + PopperArrow: () => PopperArrow, + PopperContent: () => PopperContent, + PopperContentFrame: () => PopperContentFrame, + PopperContext: () => PopperContext, + PopperProvider: () => PopperProvider, + Portal: () => Portal, + PortalHost: () => PortalHost, + PortalItem: () => PortalItem, + PortalProvider: () => PortalProvider, + PresenceChild: () => PresenceChild, + PresenceContext: () => PresenceContext, + Progress: () => Progress, + ProgressFrame: () => ProgressFrame, + ProgressIndicator: () => ProgressIndicator, + ProgressIndicatorFrame: () => ProgressIndicatorFrame, + RadioGroup: () => RadioGroup, + RadioGroupFrame: () => RadioGroupFrame, + RadioGroupIndicatorFrame: () => RadioGroupIndicatorFrame, + RadioGroupItemFrame: () => RadioGroupItemFrame, + RadioGroupStyledContext: () => RadioGroupStyledContext, + Range: () => Range, + ResetPresence: () => ResetPresence, + ScrollView: () => ScrollView, + Section: () => Section, + Select: () => Select, + SelectGroupFrame: () => SelectGroupFrame, + SelectIcon: () => SelectIcon, + SelectItemParentProvider: () => SelectItemParentProvider, + SelectProvider: () => SelectProvider, + SelectSeparator: () => SelectSeparator, + Separator: () => Separator, + Sheet: () => Sheet, + SheetController: () => SheetController, + SheetControllerContext: () => SheetControllerContext, + SheetHandleFrame: () => SheetHandleFrame, + SheetOverlayFrame: () => SheetOverlayFrame, + SizableStack: () => SizableStack, + SizableText: () => SizableText, + Slider: () => Slider, + SliderFrame: () => SliderFrame, + SliderThumb: () => SliderThumb, + SliderThumbFrame: () => SliderThumbFrame, + SliderTrack: () => SliderTrack, + SliderTrackActive: () => SliderTrackActive, + SliderTrackActiveFrame: () => SliderTrackActiveFrame, + SliderTrackFrame: () => SliderTrackFrame, + Spacer: () => import_core58.Spacer, + Spinner: () => Spinner, + Square: () => Square, + Stack: () => import_core58.Stack, + Switch: () => Switch, + SwitchContext: () => SwitchContext, + SwitchFrame: () => SwitchFrame, + SwitchStyledContext: () => SwitchStyledContext, + SwitchThumb: () => SwitchThumb, + Tabs: () => Tabs, + TamaguiProvider: () => TamaguiProvider, + Text: () => Text3, + TextArea: () => TextArea, + TextAreaFrame: () => TextAreaFrame, + Theme: () => import_core58.Theme, + ThemeableStack: () => ThemeableStack, + Thumb: () => Thumb, + ToggleGroup: () => ToggleGroup, + Tooltip: () => Tooltip2, + TooltipGroup: () => TooltipGroup, + TooltipSimple: () => TooltipSimple, + Track: () => Track, + Unspaced: () => import_core58.Unspaced, + View: () => import_core58.View, + VisuallyHidden: () => VisuallyHidden, + XGroup: () => XGroup, + XStack: () => XStack, + YGroup: () => YGroup, + YStack: () => YStack, + ZStack: () => ZStack, + buttonStaticConfig: () => buttonStaticConfig, + clamp: () => clamp, + composeEventHandlers: () => composeEventHandlers, + composeRefs: () => composeRefs, + concatClassName: () => concatClassName, + configureInitialWindowDimensions: () => configureInitialWindowDimensions, + createAlertDialogScope: () => createAlertDialogScope, + createAvatarScope: () => createAvatarScope, + createCheckbox: () => createCheckbox, + createComponent: () => import_core58.createComponent, + createContext: () => createContext3, + createContextScope: () => createContextScope, + createDialogScope: () => createDialogScope, + createFont: () => import_core58.createFont, + createMedia: () => createMedia, + createProgressScope: () => createProgressScope, + createRadioGroup: () => createRadioGroup, + createSelectContext: () => createSelectContext, + createSelectItemParentContext: () => createSelectItemParentContext, + createSelectItemParentScope: () => createSelectItemParentScope, + createSelectScope: () => createSelectScope, + createSheet: () => createSheet, + createSheetScope: () => createSheetScope, + createShorthands: () => import_core58.createShorthands, + createStyledContext: () => import_core58.createStyledContext, + createSwitch: () => createSwitch, + createTamagui: () => createTamagui, + createTheme: () => import_core58.createTheme, + createTokens: () => import_core58.createTokens, + createVariable: () => import_core58.createVariable, + debounce: () => debounce, + defaultStyles: () => defaultStyles, + fullscreenStyle: () => fullscreenStyle, + getConfig: () => import_core58.getConfig, + getFontSize: () => getFontSize, + getFontSizeToken: () => getFontSizeToken, + getFontSizeVariable: () => getFontSizeVariable, + getMedia: () => import_core58.getMedia, + getShapeSize: () => getShapeSize, + getStylesAtomic: () => import_core58.getStylesAtomic, + getThemes: () => import_core58.getThemes, + getToken: () => import_core58.getToken, + getTokenValue: () => import_core58.getTokenValue, + getTokens: () => import_core58.getTokens, + getVariable: () => import_core58.getVariable, + getVariableName: () => import_core58.getVariableName, + getVariableValue: () => import_core58.getVariableValue, + insertFont: () => import_core58.insertFont, + isChrome: () => import_core58.isChrome, + isClient: () => import_core58.isClient, + isPresent: () => isPresent, + isServer: () => import_core58.isServer, + isServerSide: () => isServerSide, + isTamaguiComponent: () => import_core58.isTamaguiComponent, + isTamaguiElement: () => import_core58.isTamaguiElement, + isTouchable: () => import_core58.isTouchable, + isVariable: () => import_core58.isVariable, + isWeb: () => import_core58.isWeb, + isWebTouchable: () => import_core58.isWebTouchable, + matchMedia: () => import_core58.matchMedia, + mediaObjectToString: () => import_core58.mediaObjectToString, + mediaQueryConfig: () => import_core58.mediaQueryConfig, + mediaState: () => import_core58.mediaState, + prevent: () => prevent, + setRef: () => setRef, + setupDev: () => import_core58.setupDev, + setupNativeSheet: () => setupNativeSheet, + setupReactNative: () => import_core58.setupReactNative, + shouldRenderNativePlatform: () => shouldRenderNativePlatform, + simpleHash: () => simpleHash, + spacedChildren: () => import_core58.spacedChildren, + stylePropsAll: () => stylePropsAll, + stylePropsFont: () => stylePropsFont, + stylePropsText: () => stylePropsText, + stylePropsTextOnly: () => stylePropsTextOnly, + stylePropsTransform: () => stylePropsTransform, + stylePropsUnitless: () => stylePropsUnitless, + stylePropsView: () => stylePropsView, + styled: () => import_core58.styled, + themeable: () => import_core58.themeable, + themeableVariants: () => themeableVariants, + tokenCategories: () => tokenCategories, + useAdaptParent: () => useAdaptParent, + useButton: () => useButton, + useComposedRefs: () => useComposedRefs, + useConfiguration: () => import_core58.useConfiguration, + useControllableState: () => useControllableState, + useCurrentColor: () => useCurrentColor, + useDebounce: () => useDebounce, + useDebounceValue: () => useDebounceValue, + useDidFinishSSR: () => import_core58.useDidFinishSSR, + useEvent: () => import_core58.useEvent, + useFloatingContext: () => useFloatingContext, + useForceUpdate: () => useForceUpdate, + useFormContext: () => useFormContext, + useGet: () => import_core58.useGet, + useGetThemedIcon: () => useGetThemedIcon, + useGroupItem: () => useGroupItem, + useInputProps: () => useInputProps, + useIsPresent: () => useIsPresent, + useIsTouchDevice: () => import_core58.useIsTouchDevice, + useIsomorphicLayoutEffect: () => import_core58.useIsomorphicLayoutEffect, + useLabelContext: () => useLabelContext, + useListItem: () => useListItem, + useMedia: () => import_core58.useMedia, + usePopoverContext: () => usePopoverContext, + usePopperContext: () => usePopperContext, + usePortal: () => usePortal, + usePresence: () => usePresence, + useProps: () => import_core58.useProps, + usePropsAndStyle: () => import_core58.usePropsAndStyle, + useSelectContext: () => useSelectContext, + useSelectItemParentContext: () => useSelectItemParentContext, + useSheet: () => useSheet, + useSheetController: () => useSheetController, + useStyle: () => import_core58.useStyle, + useTabsContext: () => useTabsContext, + useTheme: () => import_core58.useTheme, + useThemeName: () => import_core58.useThemeName, + useWindowDimensions: () => useWindowDimensions2, + validPseudoKeys: () => validPseudoKeys, + validStyles: () => validStyles, + variableToString: () => import_core58.variableToString, + withStaticProperties: () => import_core58.withStaticProperties, + wrapChildrenInText: () => wrapChildrenInText +}); +module.exports = __toCommonJS(esm_exports2); +__reExport(esm_exports2, __toESM(require_cjs19(), 1), module.exports); + +// node_modules/@tamagui/constants/dist/esm/constants.mjs +var import_react = require("react"); +var isWeb = true; +var isWindowDefined = typeof window < "u"; +var isServer = isWeb && !isWindowDefined; +var isClient = isWeb && isWindowDefined; +var useIsomorphicLayoutEffect = isServer ? import_react.useEffect : import_react.useLayoutEffect; +var isChrome = typeof navigator < "u" && /Chrome/.test(navigator.userAgent || ""); +var isWebTouchable = isClient && ("ontouchstart" in window || navigator.maxTouchPoints > 0); +var isTouchable = !isWeb || isWebTouchable; +var isAndroid = false; +var isIos = false; +var currentPlatform = "web"; + +// node_modules/@tamagui/adapt/dist/esm/Adapt.mjs +var import_core = require("@tamagui/core"); + +// node_modules/@tamagui/simple-hash/dist/esm/index.mjs +var cache = /* @__PURE__ */ new Map(); +var simpleHash = /* @__PURE__ */ __name((str, hashMin = 10) => { + if (cache.has(str)) + return cache.get(str); + let hash = 0, valids = ""; + const len = str.length; + for (let i = 0; i < len; i++) { + const char = str.charCodeAt(i); + if (hashMin !== "strict" && (char === 46 && (valids += "d0t"), isValidCSSCharCode(char) && len <= hashMin)) { + valids += str[i]; + continue; + } + hash = hashChar(hash, str[i]); + } + const res = valids + (hash ? Math.abs(hash) : ""); + return cache.size > 1e4 && cache.clear(), cache.set(str, res), res; +}, "simpleHash"); +var hashChar = /* @__PURE__ */ __name((hash, c) => Math.imul(31, hash) + c.charCodeAt(0) | 0, "hashChar"); +function isValidCSSCharCode(code) { + return ( + // A-Z + code >= 65 && code <= 90 || // a-z + code >= 97 && code <= 122 || // _ + code === 95 || // - + code === 45 || // 0-9 + code >= 48 && code <= 57 + ); +} +__name(isValidCSSCharCode, "isValidCSSCharCode"); + +// node_modules/@tamagui/helpers/dist/esm/clamp.mjs +function clamp(value, [min2, max2]) { + return Math.min(max2, Math.max(min2, value)); +} +__name(clamp, "clamp"); + +// node_modules/@tamagui/helpers/dist/esm/composeEventHandlers.mjs +function composeEventHandlers(og, next, { + checkDefaultPrevented = true +} = {}) { + return !og || !next ? next || og || void 0 : (event) => { + if (og == null ? void 0 : og(event), !event || !(checkDefaultPrevented && "defaultPrevented" in event) || // @ts-ignore + "defaultPrevented" in event && !event.defaultPrevented) + return next == null ? void 0 : next(event); + }; +} +__name(composeEventHandlers, "composeEventHandlers"); + +// node_modules/@tamagui/helpers/dist/esm/concatClassName.mjs +function concatClassName(_cn) { + const args = arguments, usedPrefixes = []; + let final = ""; + const len = args.length; + let propObjects = null; + for (let x = len; x >= 0; x--) { + const cns = args[x]; + if (!cns) + continue; + if (!Array.isArray(cns) && typeof cns != "string") { + propObjects = propObjects || [], propObjects.push(cns); + continue; + } + const names = Array.isArray(cns) ? cns : cns.split(" "), numNames = names.length; + for (let i = numNames - 1; i >= 0; i--) { + const name = names[i]; + if (!name || name === " ") + continue; + if (name[0] !== "_") { + final = name + " " + final; + continue; + } + const splitIndex = name.indexOf("-"); + if (splitIndex < 1) { + final = name + " " + final; + continue; + } + const isMediaQuery = name[splitIndex + 1] === "_", styleKey = name.slice(1, name.lastIndexOf("-")), mediaKey = isMediaQuery ? name.slice(splitIndex + 2, splitIndex + 7) : null, uid = mediaKey ? styleKey + mediaKey : styleKey; + if (usedPrefixes.indexOf(uid) > -1) + continue; + usedPrefixes.push(uid); + const propName = styleKey; + propName && propObjects && propObjects.some((po) => { + if (mediaKey) { + const propKey = pseudoInvert[mediaKey]; + return po && po[propKey] && propName in po[propKey] && po[propKey] !== null; + } + return po && propName in po && po[propName] !== null; + }) || (final = name + " " + final); + } + } + return final; +} +__name(concatClassName, "concatClassName"); +var pseudoInvert = { + hover: "hoverStyle", + focus: "focusStyle", + press: "pressStyle", + focusVisible: "focusVisibleStyle", + disabled: "disabledStyle" +}; + +// node_modules/@tamagui/helpers/dist/esm/shouldRenderNativePlatform.mjs +var ALL_PLATFORMS = ["web", "android", "ios"]; +function shouldRenderNativePlatform(nativeProp) { + if (!nativeProp) + return null; + const userRequestedPlatforms = resolvePlatformNames(nativeProp); + for (const platform2 of ALL_PLATFORMS) + if (platform2 === currentPlatform && userRequestedPlatforms.has(platform2)) + return platform2; + return null; +} +__name(shouldRenderNativePlatform, "shouldRenderNativePlatform"); +function resolvePlatformNames(nativeProp) { + const platforms = nativeProp === true ? ALL_PLATFORMS : nativeProp === false ? [] : Array.isArray(nativeProp) ? nativeProp : [nativeProp], set = new Set(platforms); + return set.has("mobile") && (set.add("android"), set.add("ios"), set.delete("mobile")), set; +} +__name(resolvePlatformNames, "resolvePlatformNames"); + +// node_modules/@tamagui/helpers/dist/esm/validStyleProps.mjs +var textColors = { + color: true, + textDecorationColor: true, + textShadowColor: true +}; +var tokenCategories = { + radius: { + borderRadius: true, + borderTopLeftRadius: true, + borderTopRightRadius: true, + borderBottomLeftRadius: true, + borderBottomRightRadius: true, + // logical + borderStartStartRadius: true, + borderStartEndRadius: true, + borderEndStartRadius: true, + borderEndEndRadius: true + }, + size: { + width: true, + height: true, + minWidth: true, + minHeight: true, + maxWidth: true, + maxHeight: true, + blockSize: true, + minBlockSize: true, + maxBlockSize: true, + inlineSize: true, + minInlineSize: true, + maxInlineSize: true + }, + zIndex: { + zIndex: true + }, + color: { + backgroundColor: true, + borderColor: true, + borderBlockStartColor: true, + borderBlockEndColor: true, + borderBlockColor: true, + borderBottomColor: true, + borderInlineColor: true, + borderInlineStartColor: true, + borderInlineEndColor: true, + borderTopColor: true, + borderLeftColor: true, + borderRightColor: true, + borderEndColor: true, + borderStartColor: true, + shadowColor: true, + ...textColors, + outlineColor: true, + caretColor: true + } +}; +var stylePropsUnitless = { + WebkitLineClamp: true, + animationIterationCount: true, + aspectRatio: true, + borderImageOutset: true, + borderImageSlice: true, + borderImageWidth: true, + columnCount: true, + flex: true, + flexGrow: true, + flexOrder: true, + flexPositive: true, + flexShrink: true, + flexNegative: true, + fontWeight: true, + gridRow: true, + gridRowEnd: true, + gridRowGap: true, + gridRowStart: true, + gridColumn: true, + gridColumnEnd: true, + gridColumnGap: true, + gridColumnStart: true, + lineClamp: true, + opacity: true, + order: true, + orphans: true, + tabSize: true, + widows: true, + zIndex: true, + zoom: true, + scale: true, + scaleX: true, + scaleY: true, + scaleZ: true, + shadowOpacity: true +}; +var stylePropsTransform = { + x: true, + y: true, + scale: true, + perspective: true, + scaleX: true, + scaleY: true, + skewX: true, + skewY: true, + matrix: true, + rotate: true, + rotateY: true, + rotateX: true, + rotateZ: true +}; +var stylePropsView = { + backfaceVisibility: true, + borderBottomEndRadius: true, + borderBottomStartRadius: true, + borderBottomWidth: true, + borderLeftWidth: true, + borderRightWidth: true, + borderBlockWidth: true, + borderBlockEndWidth: true, + borderBlockStartWidth: true, + borderInlineWidth: true, + borderInlineEndWidth: true, + borderInlineStartWidth: true, + borderStyle: true, + borderBlockStyle: true, + borderBlockEndStyle: true, + borderBlockStartStyle: true, + borderInlineStyle: true, + borderInlineEndStyle: true, + borderInlineStartStyle: true, + borderTopEndRadius: true, + borderTopStartRadius: true, + borderTopWidth: true, + borderWidth: true, + transform: true, + transformOrigin: true, + alignContent: true, + alignItems: true, + alignSelf: true, + borderEndWidth: true, + borderStartWidth: true, + bottom: true, + display: true, + end: true, + flexBasis: true, + flexDirection: true, + flexWrap: true, + gap: true, + columnGap: true, + rowGap: true, + justifyContent: true, + left: true, + margin: true, + marginBlock: true, + marginBlockEnd: true, + marginBlockStart: true, + marginInline: true, + marginInlineStart: true, + marginInlineEnd: true, + marginBottom: true, + marginEnd: true, + marginHorizontal: true, + marginLeft: true, + marginRight: true, + marginStart: true, + marginTop: true, + marginVertical: true, + overflow: true, + padding: true, + paddingBottom: true, + paddingInline: true, + paddingBlock: true, + paddingBlockStart: true, + paddingInlineEnd: true, + paddingInlineStart: true, + paddingEnd: true, + paddingHorizontal: true, + paddingLeft: true, + paddingRight: true, + paddingStart: true, + paddingTop: true, + paddingVertical: true, + position: true, + right: true, + start: true, + top: true, + inset: true, + insetBlock: true, + insetBlockEnd: true, + insetBlockStart: true, + insetInline: true, + insetInlineEnd: true, + insetInlineStart: true, + direction: true, + shadowOffset: true, + shadowRadius: true, + ...tokenCategories.color, + ...tokenCategories.radius, + ...tokenCategories.size, + ...tokenCategories.radius, + ...stylePropsTransform, + ...stylePropsUnitless, + // RN doesn't support specific border styles per-edge + borderBottomStyle: true, + borderTopStyle: true, + borderLeftStyle: true, + borderRightStyle: true, + caretColor: true, + scrollbarWidth: true, + overflowX: true, + overflowY: true, + userSelect: true, + cursor: true, + contain: true, + pointerEvents: true, + boxSizing: true, + boxShadow: true, + outlineStyle: true, + outlineOffset: true, + outlineWidth: true, + touchAction: true, + filter: true, + backdropFilter: true, + mixBlendMode: true, + backgroundImage: true, + backgroundOrigin: true, + backgroundPosition: true, + backgroundRepeat: true, + backgroundSize: true, + backgroundColor: true, + backgroundClip: true, + backgroundBlendMode: true, + backgroundAttachment: true, + background: true, + clipPath: true, + transformStyle: true, + mask: true, + maskImage: true, + textEmphasis: true, + borderImage: true, + float: true, + content: true, + overflowBlock: true, + overflowInline: true, + maskBorder: true, + maskBorderMode: true, + maskBorderOutset: true, + maskBorderRepeat: true, + maskBorderSlice: true, + maskBorderSource: true, + maskBorderWidth: true, + maskClip: true, + maskComposite: true, + maskMode: true, + maskOrigin: true, + maskPosition: true, + maskRepeat: true, + maskSize: true, + maskType: true, + ...isAndroid ? { + elevationAndroid: true + } : {} +}; +var stylePropsFont = { + fontFamily: true, + fontSize: true, + fontStyle: true, + fontWeight: true, + letterSpacing: true, + lineHeight: true, + textTransform: true +}; +var stylePropsTextOnly = { + ...stylePropsFont, + textAlign: true, + textDecorationLine: true, + textDecorationStyle: true, + ...textColors, + textShadowOffset: true, + textShadowRadius: true, + userSelect: true, + selectable: true, + verticalAlign: true, + whiteSpace: true, + wordWrap: true, + textOverflow: true, + textDecorationDistance: true, + cursor: true, + WebkitLineClamp: true, + WebkitBoxOrient: true +}; +var stylePropsText = { + ...stylePropsView, + ...stylePropsTextOnly +}; +var stylePropsAll = stylePropsText; +var validPseudoKeys = { + enterStyle: true, + exitStyle: true, + hoverStyle: true, + pressStyle: true, + focusStyle: true, + disabledStyle: true, + focusVisibleStyle: true +}; +var validStyles = { + ...validPseudoKeys, + ...stylePropsView +}; + +// node_modules/@tamagui/helpers/dist/esm/withStaticProperties.mjs +var import_react2 = require("react"); +var Decorated = Symbol(); +var withStaticProperties = /* @__PURE__ */ __name((component, staticProps) => { + const next = (() => { + if (component[Decorated]) { + const _ = (0, import_react2.forwardRef)((props, ref) => (0, import_react2.createElement)(component, { + ...props, + ref + })); + for (const key in component) { + const v = component[key]; + _[key] = v && typeof v == "object" ? { + ...v + } : v; + } + } + return component; + })(); + return Object.assign(next, staticProps), next[Decorated] = true, next; +}, "withStaticProperties"); + +// node_modules/@tamagui/adapt/dist/esm/Adapt.mjs +var import_react3 = require("react"); +var import_jsx_runtime = require("react/jsx-runtime"); +var AdaptParentContext = (0, import_react3.createContext)(null); +var AdaptContents = /* @__PURE__ */ __name((props) => { + const context = (0, import_react3.useContext)(AdaptParentContext); + if (!(context == null ? void 0 : context.Contents)) + throw new Error(process.env.NODE_ENV === "production" ? "tamagui.dev/docs/intro/errors#warning-002" : "You're rendering a Tamagui component without nesting it inside a parent that is able to adapt."); + return (0, import_react3.createElement)(context.Contents, props); +}, "AdaptContents"); +AdaptContents.shouldForwardSpace = true; +var useAdaptParent = /* @__PURE__ */ __name(({ + Contents +}) => { + const [when, setWhen] = (0, import_react3.useState)(null); + return { + AdaptProvider: (0, import_react3.useMemo)(() => { + const context = { + Contents, + setWhen + }; + function AdaptProviderView(props) { + return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AdaptParentContext.Provider, { + value: context, + children: props.children + }); + } + __name(AdaptProviderView, "AdaptProviderView"); + return AdaptProviderView; + }, [Contents]), + when + }; +}, "useAdaptParent"); +var Adapt = withStaticProperties(function({ + platform: platform2, + when, + children +}) { + const context = (0, import_react3.useContext)(AdaptParentContext), media = (0, import_core.useMedia)(); + let enabled = !platform2; + return platform2 === "touch" && (enabled = isTouchable), platform2 === "native" && (enabled = !isWeb), platform2 === "web" && (enabled = isWeb), platform2 === "ios" && (enabled = isIos), platform2 === "android" && (enabled = isAndroid), when && !media[when] && (enabled = false), useIsomorphicLayoutEffect(() => { + enabled && (context == null ? void 0 : context.setWhen(when || enabled)); + }, [when, context, enabled]), enabled ? children : null; +}, { + Contents: AdaptContents +}); + +// node_modules/@tamagui/compose-refs/dist/esm/compose-refs.mjs +var React = __toESM(require("react"), 1); +function setRef(ref, value) { + typeof ref == "function" ? ref(value) : ref && (ref.current = value); +} +__name(setRef, "setRef"); +function composeRefs(...refs) { + return (node) => refs.forEach((ref) => setRef(ref, node)); +} +__name(composeRefs, "composeRefs"); +function useComposedRefs(...refs) { + return React.useCallback(composeRefs(...refs), refs); +} +__name(useComposedRefs, "useComposedRefs"); + +// node_modules/@tamagui/alert-dialog/dist/esm/AlertDialog.mjs +var import_core15 = require("@tamagui/core"); + +// node_modules/@tamagui/create-context/dist/esm/create-context.mjs +var React2 = __toESM(require("react"), 1); +var import_jsx_runtime2 = require("react/jsx-runtime"); +function createContext3(rootComponentName, defaultContext) { + const Context = React2.createContext(defaultContext); + function Provider(props) { + const { + children, + ...context + } = props, value = React2.useMemo(() => context, Object.values(context)); + return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Context.Provider, { + value, + children + }); + } + __name(Provider, "Provider"); + function useContext17(consumerName) { + const context = React2.useContext(Context); + if (context) + return context; + if (defaultContext !== void 0) + return defaultContext; + throw new Error(`\`${consumerName}\` must be used within \`${rootComponentName}\``); + } + __name(useContext17, "useContext"); + return Provider.displayName = `${rootComponentName}Provider`, [Provider, useContext17]; +} +__name(createContext3, "createContext"); +function createContextScope(scopeName, createContextScopeDeps = []) { + let defaultContexts = []; + function createContext22(rootComponentName, defaultContext) { + const BaseContext = React2.createContext(defaultContext), index3 = defaultContexts.length; + defaultContexts = [...defaultContexts, defaultContext]; + function Provider(props) { + var _a; + const { + scope, + children, + ...context + } = props, Context = ((_a = scope == null ? void 0 : scope[scopeName]) == null ? void 0 : _a[index3]) || BaseContext, value = React2.useMemo(() => context, Object.values(context)); + return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Context.Provider, { + value, + children + }); + } + __name(Provider, "Provider"); + function useContext17(consumerName, scope, options) { + var _a; + const Context = ((_a = scope == null ? void 0 : scope[scopeName]) == null ? void 0 : _a[index3]) || BaseContext, context = React2.useContext(Context); + if (context) + return context; + if (defaultContext !== void 0) + return defaultContext; + const missingContextMessage = `\`${consumerName}\` must be used within \`${rootComponentName}\``; + if (options == null ? void 0 : options.fallback) + return (options == null ? void 0 : options.warn) !== false && console.warn(missingContextMessage), options.fallback; + throw new Error(missingContextMessage); + } + __name(useContext17, "useContext"); + return Provider.displayName = `${rootComponentName}Provider`, [Provider, useContext17]; + } + __name(createContext22, "createContext2"); + const createScope = /* @__PURE__ */ __name(() => { + const scopeContexts = defaultContexts.map((defaultContext) => React2.createContext(defaultContext)); + return function(scope) { + const contexts = (scope == null ? void 0 : scope[scopeName]) || scopeContexts; + return React2.useMemo(() => ({ + [`__scope${scopeName}`]: { + ...scope, + [scopeName]: contexts + } + }), [scope, contexts]); + }; + }, "createScope"); + return createScope.scopeName = scopeName, [createContext22, composeContextScopes(createScope, ...createContextScopeDeps)]; +} +__name(createContextScope, "createContextScope"); +function composeContextScopes(...scopes) { + const baseScope = scopes[0]; + if (scopes.length === 1) + return baseScope; + const createScope = /* @__PURE__ */ __name(() => { + const scopeHooks = scopes.map((createScope2) => ({ + useScope: createScope2(), + scopeName: createScope2.scopeName + })); + return function(overrideScopes) { + const nextScopes = scopeHooks.reduce((nextScopes2, { + useScope, + scopeName + }) => { + const currentScope = useScope(overrideScopes)[`__scope${scopeName}`]; + return { + ...nextScopes2, + ...currentScope + }; + }, {}); + return React2.useMemo(() => ({ + [`__scope${baseScope.scopeName}`]: nextScopes + }), [nextScopes]); + }; + }, "createScope"); + return createScope.scopeName = baseScope.scopeName, createScope; +} +__name(composeContextScopes, "composeContextScopes"); + +// node_modules/@tamagui/use-force-update/dist/esm/index.mjs +var import_react4 = require("react"); +var isServerSide = typeof window > "u"; +var idFn = /* @__PURE__ */ __name(() => { +}, "idFn"); +function useForceUpdate() { + return isServerSide ? idFn : (0, import_react4.useReducer)((x) => Math.random(), 0)[1]; +} +__name(useForceUpdate, "useForceUpdate"); + +// node_modules/@tamagui/animate-presence/dist/esm/AnimatePresence.mjs +var import_react10 = require("react"); + +// node_modules/@tamagui/animate-presence/dist/esm/LayoutGroupContext.mjs +var import_react5 = require("react"); +var LayoutGroupContext = (0, import_react5.createContext)({}); + +// node_modules/@tamagui/use-constant/dist/esm/index.mjs +var import_react6 = require("react"); +function useConstant(fn) { + if (typeof document > "u") + return (0, import_react6.useMemo)(() => fn(), []); + const ref = (0, import_react6.useRef)(); + return ref.current || (ref.current = { + v: fn() + }), ref.current.v; +} +__name(useConstant, "useConstant"); + +// node_modules/@tamagui/use-presence/dist/esm/PresenceContext.mjs +var import_react7 = require("react"); +var import_jsx_runtime3 = require("react/jsx-runtime"); +var PresenceContext = (0, import_react7.createContext)(null); +var ResetPresence = /* @__PURE__ */ __name((props) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(PresenceContext.Provider, { + value: null, + children: props.children +}), "ResetPresence"); + +// node_modules/@tamagui/use-presence/dist/esm/usePresence.mjs +var import_react8 = require("react"); +function usePresence() { + const context = (0, import_react8.useContext)(PresenceContext); + if (!context) + return [true, null, context]; + const { + id, + isPresent: isPresent2, + onExitComplete, + register + } = context; + return (0, import_react8.useEffect)(() => register(id), []), !isPresent2 && onExitComplete ? [false, () => onExitComplete == null ? void 0 : onExitComplete(id), context] : [true, void 0, context]; +} +__name(usePresence, "usePresence"); +function useIsPresent() { + return isPresent((0, import_react8.useContext)(PresenceContext)); +} +__name(useIsPresent, "useIsPresent"); +function isPresent(context) { + return context === null ? true : context.isPresent; +} +__name(isPresent, "isPresent"); + +// node_modules/@tamagui/animate-presence/dist/esm/PresenceChild.mjs +var React3 = __toESM(require("react"), 1); +var import_react9 = require("react"); +var import_jsx_runtime4 = require("react/jsx-runtime"); +var PresenceChild = React3.memo(({ + children, + initial, + isPresent: isPresent2, + onExitComplete, + exitVariant, + enterVariant, + enterExitVariant, + presenceAffectsLayout, + custom +}) => { + const presenceChildren = useConstant(newChildrenMap), id = (0, import_react9.useId)() || "", context = React3.useMemo( + () => ({ + id, + initial, + isPresent: isPresent2, + custom, + exitVariant, + enterVariant, + enterExitVariant, + onExitComplete: () => { + presenceChildren.set(id, true); + for (const isComplete of presenceChildren.values()) + if (!isComplete) + return; + onExitComplete == null ? void 0 : onExitComplete(); + }, + register: () => (presenceChildren.set(id, false), () => presenceChildren.delete(id)) + }), + /** + * If the presence of a child affects the layout of the components around it, + * we want to make a new context value to ensure they get re-rendered + * so they can detect that layout change. + */ + // @ts-expect-error its ok + presenceAffectsLayout ? void 0 : [isPresent2, exitVariant, enterVariant] + ); + return React3.useMemo(() => { + presenceChildren.forEach((_, key) => presenceChildren.set(key, false)); + }, [isPresent2]), React3.useEffect(() => { + !isPresent2 && !presenceChildren.size && (onExitComplete == null ? void 0 : onExitComplete()); + }, [isPresent2]), /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(PresenceContext.Provider, { + value: context, + children + }); +}); +function newChildrenMap() { + return /* @__PURE__ */ new Map(); +} +__name(newChildrenMap, "newChildrenMap"); + +// node_modules/@tamagui/animate-presence/dist/esm/AnimatePresence.mjs +var import_jsx_runtime5 = require("react/jsx-runtime"); +var getChildKey = /* @__PURE__ */ __name((child) => child.key || "", "getChildKey"); +function updateChildLookup(children, allChildren) { + children.forEach((child) => { + const key = getChildKey(child); + allChildren.set(key, child); + }); +} +__name(updateChildLookup, "updateChildLookup"); +function onlyElements(children) { + const filtered = []; + return import_react10.Children.forEach(children, (child) => { + (0, import_react10.isValidElement)(child) && filtered.push(child); + }), filtered; +} +__name(onlyElements, "onlyElements"); +var AnimatePresence = /* @__PURE__ */ __name(({ + children, + enterVariant, + exitVariant, + enterExitVariant, + initial = true, + onExitComplete, + exitBeforeEnter, + presenceAffectsLayout = true, + custom +}) => { + let forceRender = (0, import_react10.useContext)(LayoutGroupContext).forceRender ?? useForceUpdate(); + const filteredChildren = onlyElements(children), presentChildren = (0, import_react10.useRef)(filteredChildren), allChildren = (0, import_react10.useRef)(/* @__PURE__ */ new Map()).current, exiting = (0, import_react10.useRef)(/* @__PURE__ */ new Set()).current; + updateChildLookup(filteredChildren, allChildren); + const isInitialRender = (0, import_react10.useRef)(true); + if (isInitialRender.current) + return isInitialRender.current = false, /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_jsx_runtime5.Fragment, { + children: filteredChildren.map((child) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(PresenceChild, { + isPresent: true, + enterExitVariant, + exitVariant, + enterVariant, + initial: initial ? void 0 : false, + presenceAffectsLayout, + custom, + children: child + }, getChildKey(child))) + }); + let childrenToRender = [...filteredChildren]; + const presentKeys = presentChildren.current.map(getChildKey), targetKeys = filteredChildren.map(getChildKey), numPresent = presentKeys.length; + for (let i = 0; i < numPresent; i++) { + const key = presentKeys[i]; + targetKeys.indexOf(key) === -1 ? exiting.add(key) : exiting.delete(key); + } + return exitBeforeEnter && exiting.size && (childrenToRender = []), exiting.forEach((key) => { + if (targetKeys.indexOf(key) !== -1) + return; + const child = allChildren.get(key); + if (!child) + return; + const insertionIndex = presentKeys.indexOf(key), exitingComponent = /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(PresenceChild, { + isPresent: false, + onExitComplete: () => { + allChildren.delete(key), exiting.delete(key); + const removeIndex = presentChildren.current.findIndex((presentChild) => presentChild.key === key); + presentChildren.current.splice(removeIndex, 1), exiting.size || (presentChildren.current = filteredChildren, forceRender(), onExitComplete == null ? void 0 : onExitComplete()); + }, + presenceAffectsLayout, + enterExitVariant, + enterVariant, + exitVariant, + custom, + children: child + }, getChildKey(child)); + childrenToRender.splice(insertionIndex, 0, exitingComponent); + }), childrenToRender = childrenToRender.map((child) => { + const key = child.key; + return exiting.has(key) ? child : /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(PresenceChild, { + isPresent: true, + exitVariant, + enterVariant, + enterExitVariant, + presenceAffectsLayout, + custom, + children: child + }, getChildKey(child)); + }), presentChildren.current = childrenToRender, /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_jsx_runtime5.Fragment, { + children: exiting.size ? childrenToRender : ( + // biome-ignore lint/correctness/useJsxKeyInIterable: + childrenToRender.map((child) => (0, import_react10.cloneElement)(child)) + ) + }); +}, "AnimatePresence"); +AnimatePresence.displayName = "AnimatePresence"; + +// node_modules/@tamagui/aria-hidden/dist/esm/AriaHidden.mjs +var import_aria_hidden = __toESM(require_es5(), 1); + +// node_modules/@tamagui/dialog/dist/esm/Dialog.mjs +var import_core14 = require("@tamagui/core"); + +// node_modules/@tamagui/use-callback-ref/dist/esm/index.mjs +var React4 = __toESM(require("react"), 1); +function useCallbackRef(callback) { + const callbackRef = React4.useRef(callback); + return React4.useEffect(() => { + callbackRef.current = callback; + }), React4.useMemo(() => (...args) => { + var _a; + return (_a = callbackRef.current) == null ? void 0 : _a.call(callbackRef, ...args); + }, []); +} +__name(useCallbackRef, "useCallbackRef"); + +// node_modules/@tamagui/use-escape-keydown/dist/esm/index.mjs +var import_react11 = require("react"); +function useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis == null ? void 0 : globalThis.document) { + const onEscapeKeyDown = useCallbackRef(onEscapeKeyDownProp); + (0, import_react11.useEffect)(() => { + const handleKeyDown = /* @__PURE__ */ __name((event) => { + event.key === "Escape" && onEscapeKeyDown(event); + }, "handleKeyDown"); + return ownerDocument.addEventListener("keydown", handleKeyDown), () => { + ownerDocument.removeEventListener("keydown", handleKeyDown); + }; + }, [onEscapeKeyDown, ownerDocument]); +} +__name(useEscapeKeydown, "useEscapeKeydown"); + +// node_modules/@tamagui/use-event/dist/esm/useGet.mjs +var import_react12 = require("react"); +function useGet(currentValue, initialValue2, forwardToFunction) { + const curRef = (0, import_react12.useRef)(initialValue2 ?? currentValue); + return useIsomorphicLayoutEffect(() => { + curRef.current = currentValue; + }), (0, import_react12.useCallback)(forwardToFunction ? (...args) => { + var _a; + return (_a = curRef.current) == null ? void 0 : _a.apply(null, args); + } : () => curRef.current, []); +} +__name(useGet, "useGet"); + +// node_modules/@tamagui/use-event/dist/esm/useEvent.mjs +function useEvent(callback) { + return useGet(callback, defaultValue, true); +} +__name(useEvent, "useEvent"); +var defaultValue = /* @__PURE__ */ __name(() => { + throw new Error("Cannot call an event handler while rendering."); +}, "defaultValue"); + +// node_modules/@tamagui/dismissable/dist/esm/Dismissable.mjs +var React5 = __toESM(require("react"), 1); +var ReactDOM = __toESM(require("react-dom"), 1); +var import_jsx_runtime6 = require("react/jsx-runtime"); +function dispatchDiscreteCustomEvent(target, event) { + target && ReactDOM.flushSync(() => target.dispatchEvent(event)); +} +__name(dispatchDiscreteCustomEvent, "dispatchDiscreteCustomEvent"); +var DISMISSABLE_LAYER_NAME = "Dismissable"; +var CONTEXT_UPDATE = "dismissable.update"; +var POINTER_DOWN_OUTSIDE = "dismissable.pointerDownOutside"; +var FOCUS_OUTSIDE = "dismissable.focusOutside"; +var originalBodyPointerEvents; +var DismissableContext = React5.createContext({ + layers: /* @__PURE__ */ new Set(), + layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(), + branches: /* @__PURE__ */ new Set() +}); +var Dismissable = React5.forwardRef((props, forwardedRef) => { + const { + disableOutsidePointerEvents = false, + forceUnmount, + onEscapeKeyDown, + onPointerDownOutside, + onFocusOutside, + onInteractOutside, + onDismiss, + ...layerProps + } = props, context = React5.useContext(DismissableContext), [node, setNode] = React5.useState(null), [, force] = React5.useState({}), composedRefs = useComposedRefs(forwardedRef, (node2) => setNode(node2)), layers = Array.from(context.layers), [highestLayerWithOutsidePointerEventsDisabled] = [...context.layersWithOutsidePointerEventsDisabled].slice(-1), highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(highestLayerWithOutsidePointerEventsDisabled), index3 = node ? layers.indexOf(node) : -1, isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0, isPointerEventsEnabled = index3 >= highestLayerWithOutsidePointerEventsDisabledIndex, pointerDownOutside = usePointerDownOutside((event) => { + const target = event.target, isPointerDownOnBranch = [...context.branches].some((branch) => branch.contains(target)); + !isPointerEventsEnabled || isPointerDownOnBranch || (onPointerDownOutside == null ? void 0 : onPointerDownOutside(event), onInteractOutside == null ? void 0 : onInteractOutside(event), event.defaultPrevented || (onDismiss == null ? void 0 : onDismiss())); + }), focusOutside = useFocusOutside((event) => { + const target = event.target; + [...context.branches].some((branch) => branch.contains(target)) || (onFocusOutside == null ? void 0 : onFocusOutside(event), onInteractOutside == null ? void 0 : onInteractOutside(event), event.defaultPrevented || (onDismiss == null ? void 0 : onDismiss())); + }); + return useEscapeKeydown((event) => { + index3 === context.layers.size - 1 && (onEscapeKeyDown == null ? void 0 : onEscapeKeyDown(event), !event.defaultPrevented && onDismiss && (event.preventDefault(), onDismiss())); + }), React5.useEffect(() => { + if (node) + return disableOutsidePointerEvents && (context.layersWithOutsidePointerEventsDisabled.size === 0 && (originalBodyPointerEvents = document.body.style.pointerEvents, document.body.style.pointerEvents = "none"), context.layersWithOutsidePointerEventsDisabled.add(node)), context.layers.add(node), dispatchUpdate(), () => { + disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1 && (document.body.style.pointerEvents = originalBodyPointerEvents); + }; + }, [node, disableOutsidePointerEvents, context]), React5.useEffect(() => { + if (!forceUnmount) + return () => { + node && (context.layers.delete(node), context.layersWithOutsidePointerEventsDisabled.delete(node), dispatchUpdate()); + }; + }, [node, context, forceUnmount]), React5.useEffect(() => { + const handleUpdate = /* @__PURE__ */ __name(() => { + force({}); + }, "handleUpdate"); + return document.addEventListener(CONTEXT_UPDATE, handleUpdate), () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate); + }, []), /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { + ...layerProps, + ref: composedRefs, + style: { + display: "contents", + pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? "auto" : "none" : void 0, + // @ts-ignore + ...props.style + }, + onFocusCapture: composeEventHandlers(props.onFocusCapture, focusOutside.onFocusCapture), + onBlurCapture: composeEventHandlers(props.onBlurCapture, focusOutside.onBlurCapture), + onPointerDownCapture: composeEventHandlers(props.onPointerDownCapture, pointerDownOutside.onPointerDownCapture) + }); +}); +Dismissable.displayName = DISMISSABLE_LAYER_NAME; +var BRANCH_NAME = "DismissableBranch"; +var DismissableBranch = React5.forwardRef((props, forwardedRef) => { + const context = React5.useContext(DismissableContext), ref = React5.useRef(null), composedRefs = useComposedRefs(forwardedRef, ref); + return React5.useEffect(() => { + const node = ref.current; + if (node) + return context.branches.add(node), () => { + context.branches.delete(node); + }; + }, [context.branches]), /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { + style: { + display: "contents" + }, + ...props, + ref: composedRefs + }); +}); +DismissableBranch.displayName = BRANCH_NAME; +function usePointerDownOutside(onPointerDownOutside) { + const handlePointerDownOutside = useEvent(onPointerDownOutside), isPointerInsideReactTreeRef = React5.useRef(false), handleClickRef = React5.useRef(() => { + }); + return React5.useEffect(() => { + const handlePointerDown = /* @__PURE__ */ __name((event) => { + if (event.target && !isPointerInsideReactTreeRef.current) { + let handleAndDispatchPointerDownOutsideEvent = /* @__PURE__ */ __name(function() { + handleAndDispatchCustomEvent(POINTER_DOWN_OUTSIDE, handlePointerDownOutside, eventDetail, { + discrete: true + }); + }, "handleAndDispatchPointerDownOutsideEvent"); + const eventDetail = { + originalEvent: event + }; + event.pointerType === "touch" ? (document.removeEventListener("click", handleClickRef.current), handleClickRef.current = handleAndDispatchPointerDownOutsideEvent, document.addEventListener("click", handleClickRef.current, { + once: true + })) : handleAndDispatchPointerDownOutsideEvent(); + } + isPointerInsideReactTreeRef.current = false; + }, "handlePointerDown"), timerId = setTimeout(() => { + document.addEventListener("pointerdown", handlePointerDown); + }, 0); + return () => { + window.clearTimeout(timerId), document.removeEventListener("pointerdown", handlePointerDown), document.removeEventListener("click", handleClickRef.current); + }; + }, [handlePointerDownOutside]), { + // ensures we check React component tree (not just DOM tree) + onPointerDownCapture: () => { + isPointerInsideReactTreeRef.current = true; + } + }; +} +__name(usePointerDownOutside, "usePointerDownOutside"); +function useFocusOutside(onFocusOutside) { + const handleFocusOutside = useEvent(onFocusOutside), isFocusInsideReactTreeRef = React5.useRef(false); + return React5.useEffect(() => { + const handleFocus = /* @__PURE__ */ __name((event) => { + event.target && !isFocusInsideReactTreeRef.current && handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, { + originalEvent: event + }, { + discrete: false + }); + }, "handleFocus"); + return document.addEventListener("focusin", handleFocus), () => document.removeEventListener("focusin", handleFocus); + }, [handleFocusOutside]), { + onFocusCapture: () => { + isFocusInsideReactTreeRef.current = true; + }, + onBlurCapture: () => { + isFocusInsideReactTreeRef.current = false; + } + }; +} +__name(useFocusOutside, "useFocusOutside"); +function dispatchUpdate() { + const event = new CustomEvent(CONTEXT_UPDATE); + document.dispatchEvent(event); +} +__name(dispatchUpdate, "dispatchUpdate"); +function handleAndDispatchCustomEvent(name, handler, detail, { + discrete +}) { + const target = detail.originalEvent.target, event = new CustomEvent(name, { + bubbles: false, + cancelable: true, + detail + }); + handler && target.addEventListener(name, handler, { + once: true + }), discrete ? dispatchDiscreteCustomEvent(target, event) : target.dispatchEvent(event); +} +__name(handleAndDispatchCustomEvent, "handleAndDispatchCustomEvent"); + +// node_modules/@tamagui/focus-scope/dist/esm/FocusScope.mjs +var React6 = __toESM(require("react"), 1); +var import_jsx_runtime7 = require("react/jsx-runtime"); +var AUTOFOCUS_ON_MOUNT = "focusScope.autoFocusOnMount"; +var AUTOFOCUS_ON_UNMOUNT = "focusScope.autoFocusOnUnmount"; +var EVENT_OPTIONS = { + bubbles: false, + cancelable: true +}; +var FocusScope = React6.forwardRef(function(props, forwardedRef) { + const childProps = useFocusScope(props, forwardedRef); + return typeof props.children == "function" ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_jsx_runtime7.Fragment, { + children: props.children(childProps) + }) : React6.cloneElement(React6.Children.only(props.children), childProps); +}); +function useFocusScope(props, forwardedRef) { + const { + loop = false, + enabled = true, + trapped = false, + onMountAutoFocus: onMountAutoFocusProp, + onUnmountAutoFocus: onUnmountAutoFocusProp, + forceUnmount, + children, + ...scopeProps + } = props, [container, setContainer] = React6.useState(null), onMountAutoFocus = useEvent(onMountAutoFocusProp), onUnmountAutoFocus = useEvent(onUnmountAutoFocusProp), lastFocusedElementRef = React6.useRef(null), composedRefs = useComposedRefs(forwardedRef, (node) => setContainer(node)), focusScope = React6.useRef({ + paused: false, + pause() { + this.paused = true; + }, + resume() { + this.paused = false; + } + }).current; + React6.useEffect(() => { + if (!enabled || !trapped) + return; + const controller = new AbortController(); + function handleFocusIn(event) { + if (focusScope.paused || !container) + return; + const target = event.target; + container.contains(target) ? (target == null ? void 0 : target.addEventListener("blur", handleBlur, { + signal: controller.signal + }), lastFocusedElementRef.current = target) : focus(lastFocusedElementRef.current, { + select: true + }); + } + __name(handleFocusIn, "handleFocusIn"); + function handleFocusOut(event) { + controller.abort(), !(focusScope.paused || !container) && (container.contains(event.relatedTarget) || focus(lastFocusedElementRef.current, { + select: true + })); + } + __name(handleFocusOut, "handleFocusOut"); + function handleBlur() { + lastFocusedElementRef.current = container; + } + __name(handleBlur, "handleBlur"); + return document.addEventListener("focusin", handleFocusIn), document.addEventListener("focusout", handleFocusOut), () => { + controller.abort(), document.removeEventListener("focusin", handleFocusIn), document.removeEventListener("focusout", handleFocusOut); + }; + }, [trapped, forceUnmount, container, focusScope.paused]), React6.useEffect(() => { + if (!enabled || !container || forceUnmount) + return; + focusScopesStack.add(focusScope); + const previouslyFocusedElement = document.activeElement; + if (!container.contains(previouslyFocusedElement)) { + const mountEvent = new CustomEvent(AUTOFOCUS_ON_MOUNT, EVENT_OPTIONS); + if (container.addEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus), container.dispatchEvent(mountEvent), !mountEvent.defaultPrevented) { + const candidates = removeLinks(getTabbableCandidates(container)); + focusFirst(candidates, { + select: true + }), document.activeElement === previouslyFocusedElement && focus(container); + } + } + return () => { + container.removeEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus); + const unmountEvent = new CustomEvent(AUTOFOCUS_ON_UNMOUNT, EVENT_OPTIONS); + container.addEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus), container.dispatchEvent(unmountEvent), unmountEvent.defaultPrevented || focus(previouslyFocusedElement ?? document.body, { + select: true + }), container.removeEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus), focusScopesStack.remove(focusScope); + }; + }, [enabled, container, forceUnmount, onMountAutoFocus, onUnmountAutoFocus, focusScope]); + const handleKeyDown = React6.useCallback((event) => { + if (!trapped || !loop || focusScope.paused) + return; + const isTabKey = event.key === "Tab" && !event.altKey && !event.ctrlKey && !event.metaKey, focusedElement = document.activeElement; + if (isTabKey && focusedElement) { + const container2 = event.currentTarget, [first, last] = getTabbableEdges(container2); + first && last ? !event.shiftKey && focusedElement === last ? (event.preventDefault(), loop && focus(first, { + select: true + })) : event.shiftKey && focusedElement === first && (event.preventDefault(), loop && focus(last, { + select: true + })) : focusedElement === container2 && event.preventDefault(); + } + }, [loop, trapped, focusScope.paused]); + return { + tabIndex: -1, + ...scopeProps, + ref: composedRefs, + onKeyDown: handleKeyDown + }; +} +__name(useFocusScope, "useFocusScope"); +function focusFirst(candidates, { + select = false +} = {}) { + const previouslyFocusedElement = document.activeElement; + for (const candidate of candidates) + if (focus(candidate, { + select + }), document.activeElement !== previouslyFocusedElement) + return; +} +__name(focusFirst, "focusFirst"); +function getTabbableEdges(container) { + const candidates = getTabbableCandidates(container), first = findVisible(candidates, container), last = findVisible(candidates.reverse(), container); + return [first, last]; +} +__name(getTabbableEdges, "getTabbableEdges"); +function getTabbableCandidates(container) { + const nodes = [], walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, { + acceptNode: (node) => { + const isHiddenInput = node.tagName === "INPUT" && node.type === "hidden"; + return node.disabled || node.hidden || isHiddenInput ? NodeFilter.FILTER_SKIP : node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP; + } + }); + for (; walker.nextNode(); ) + nodes.push(walker.currentNode); + return nodes; +} +__name(getTabbableCandidates, "getTabbableCandidates"); +function findVisible(elements, container) { + for (const element of elements) + if (!isHidden(element, { + upTo: container + })) + return element; +} +__name(findVisible, "findVisible"); +function isHidden(node, { + upTo +}) { + if (getComputedStyle(node).visibility === "hidden") + return true; + for (; node; ) { + if (upTo !== void 0 && node === upTo) + return false; + if (getComputedStyle(node).display === "none") + return true; + node = node.parentElement; + } + return false; +} +__name(isHidden, "isHidden"); +function isSelectableInput(element) { + return element instanceof HTMLInputElement && "select" in element; +} +__name(isSelectableInput, "isSelectableInput"); +function focus(element, { + select = false +} = {}) { + if (element == null ? void 0 : element.focus) { + const previouslyFocusedElement = document.activeElement; + element.focus({ + preventScroll: true + }), element !== previouslyFocusedElement && isSelectableInput(element) && select && element.select(); + } +} +__name(focus, "focus"); +var focusScopesStack = createFocusScopesStack(); +function createFocusScopesStack() { + let stack = []; + return { + add(focusScope) { + const activeFocusScope = stack[0]; + focusScope !== activeFocusScope && (activeFocusScope == null ? void 0 : activeFocusScope.pause()), stack = arrayRemove(stack, focusScope), stack.unshift(focusScope); + }, + remove(focusScope) { + var _a; + stack = arrayRemove(stack, focusScope), (_a = stack[0]) == null ? void 0 : _a.resume(); + } + }; +} +__name(createFocusScopesStack, "createFocusScopesStack"); +function arrayRemove(array, item) { + const updatedArray = [...array], index3 = updatedArray.indexOf(item); + return index3 !== -1 && updatedArray.splice(index3, 1), updatedArray; +} +__name(arrayRemove, "arrayRemove"); +function removeLinks(items) { + return items.filter((item) => item.tagName !== "A"); +} +__name(removeLinks, "removeLinks"); + +// node_modules/@tamagui/polyfill-dev/index.js +if (typeof globalThis["__DEV__"] === "undefined") { + globalThis["__DEV__"] = process.env.NODE_ENV === "development"; +} + +// node_modules/@tamagui/stacks/dist/esm/Stacks.mjs +var import_core3 = require("@tamagui/core"); + +// node_modules/@tamagui/stacks/dist/esm/getElevation.mjs +var import_core2 = require("@tamagui/core"); +var getElevation = /* @__PURE__ */ __name((size4, extras) => { + if (!size4) + return; + const { + tokens + } = extras, token = tokens.size[size4], sizeNum = (0, import_core2.isVariable)(token) ? +token.val : size4; + return getSizedElevation(sizeNum, extras); +}, "getElevation"); +var getSizedElevation = /* @__PURE__ */ __name((val, { + theme, + tokens +}) => { + let num = 0; + if (val === true) { + const val2 = (0, import_core2.getVariableValue)(tokens.size.true); + typeof val2 == "number" ? num = val2 : num = 10; + } else + num = +val; + if (num === 0) + return; + const [height, shadowRadius] = [Math.round(num / 4 + 1), Math.round(num / 2 + 2)]; + return { + shadowColor: theme.shadowColor, + shadowRadius, + shadowOffset: { + height, + width: 0 + }, + ...import_core2.isAndroid ? { + elevationAndroid: 2 * height + } : {} + }; +}, "getSizedElevation"); + +// node_modules/@tamagui/stacks/dist/esm/Stacks.mjs +var fullscreenStyle = { + position: "absolute", + top: 0, + left: 0, + right: 0, + bottom: 0 +}; +var getInset = /* @__PURE__ */ __name((val) => val && typeof val == "object" ? val : { + top: val, + left: val, + bottom: val, + right: val +}, "getInset"); +var variants = { + fullscreen: { + true: fullscreenStyle + }, + elevation: { + "...size": getElevation, + ":number": getElevation + }, + inset: getInset +}; +var YStack = (0, import_core3.styled)(import_core3.View, { + flexDirection: "column", + variants +}); +YStack.displayName = "YStack"; +var XStack = (0, import_core3.styled)(import_core3.View, { + flexDirection: "row", + variants +}); +XStack.displayName = "XStack"; +var ZStack = (0, import_core3.styled)(YStack, { + position: "relative" +}, { + neverFlatten: true, + isZStack: true +}); +ZStack.displayName = "ZStack"; + +// node_modules/@tamagui/stacks/dist/esm/SizableStack.mjs +var import_core4 = require("@tamagui/core"); + +// node_modules/@tamagui/get-token/dist/esm/index.mjs +var import_web = require("@tamagui/core"); +var defaultOptions = { + shift: 0, + bounds: [0] +}; +var getSize = /* @__PURE__ */ __name((size4, options) => getTokenRelative("size", size4, options), "getSize"); +var getSpace = /* @__PURE__ */ __name((space, options) => getTokenRelative("space", space, options), "getSpace"); +var cacheVariables = {}; +var cacheWholeVariables = {}; +var cacheKeys = {}; +var cacheWholeKeys = {}; +var stepTokenUpOrDown = /* @__PURE__ */ __name((type, current, options = defaultOptions) => { + var _a, _b; + const tokens = (0, import_web.getTokens)({ + prefixed: true + })[type]; + if (!(type in cacheVariables)) { + cacheKeys[type] = [], cacheVariables[type] = [], cacheWholeKeys[type] = [], cacheWholeVariables[type] = []; + const sorted = Object.keys(tokens).map((k) => tokens[k]).sort((a, b) => a.val - b.val); + for (const token of sorted) + cacheKeys[type].push(token.key), cacheVariables[type].push(token); + const sortedExcludingHalfSteps = sorted.filter((x) => !x.key.endsWith(".5")); + for (const token of sortedExcludingHalfSteps) + cacheWholeKeys[type].push(token.key), cacheWholeVariables[type].push(token); + } + const isString = typeof current == "string", tokensOrdered = (options.excludeHalfSteps ? isString ? cacheWholeKeys : cacheWholeVariables : isString ? cacheKeys : cacheVariables)[type], min2 = ((_a = options.bounds) == null ? void 0 : _a[0]) ?? 0, max2 = ((_b = options.bounds) == null ? void 0 : _b[1]) ?? tokensOrdered.length - 1, currentIndex = tokensOrdered.indexOf(current); + let shift4 = options.shift || 0; + shift4 && (current === "$true" || (0, import_web.isVariable)(current) && current.name === "true") && (shift4 += shift4 > 0 ? 1 : -1); + const index3 = Math.min(max2, Math.max(min2, currentIndex + shift4)), found = tokensOrdered[index3]; + return (typeof found == "string" ? tokens[found] : found) || tokens.$true; +}, "stepTokenUpOrDown"); +var getTokenRelative = stepTokenUpOrDown; + +// node_modules/@tamagui/get-button-sized/dist/esm/index.mjs +var getButtonSized = /* @__PURE__ */ __name((val, { + tokens, + props +}) => { + if (!val || props.circular) + return; + if (typeof val == "number") + return { + paddingHorizontal: val * 0.25, + height: val, + borderRadius: props.circular ? 1e5 : val * 0.2 + }; + const xSize = getSpace(val), radiusToken = tokens.radius[val] ?? tokens.radius.$true; + return { + paddingHorizontal: xSize, + height: val, + borderRadius: props.circular ? 1e5 : radiusToken + }; +}, "getButtonSized"); + +// node_modules/@tamagui/stacks/dist/esm/variants.mjs +var elevate = { + true: (_, extras) => getElevation(extras.props.size, extras) +}; +var bordered = /* @__PURE__ */ __name((val, { + props +}) => ({ + // TODO size it with size in '...size' + borderWidth: typeof val == "number" ? val : 1, + borderColor: "$borderColor", + ...props.hoverTheme && { + hoverStyle: { + borderColor: "$borderColorHover" + } + }, + ...props.pressTheme && { + pressStyle: { + borderColor: "$borderColorPress" + } + }, + ...props.focusTheme && { + focusStyle: { + borderColor: "$borderColorFocus" + } + } +}), "bordered"); +var padded = { + true: (_, extras) => { + const { + tokens, + props + } = extras; + return { + padding: tokens.space[props.size] || tokens.space.$true + }; + } +}; +var radiused = { + true: (_, extras) => { + const { + tokens, + props + } = extras; + return { + borderRadius: tokens.radius[props.size] || tokens.radius.$true + }; + } +}; +var circularStyle = { + borderRadius: 1e5, + padding: 0 +}; +var circular = { + true: (_, { + props, + tokens + }) => { + if (!("size" in props)) + return circularStyle; + const size4 = typeof props.size == "number" ? props.size : tokens.size[props.size]; + return { + ...circularStyle, + width: size4, + height: size4, + maxWidth: size4, + maxHeight: size4, + minWidth: size4, + minHeight: size4 + }; + } +}; +var hoverTheme = { + true: { + hoverStyle: { + backgroundColor: "$backgroundHover", + borderColor: "$borderColorHover" + } + }, + false: {} +}; +var pressTheme = { + true: { + cursor: "pointer", + pressStyle: { + backgroundColor: "$backgroundPress", + borderColor: "$borderColorPress" + } + }, + false: {} +}; +var focusTheme = { + true: { + focusStyle: { + backgroundColor: "$backgroundFocus", + borderColor: "$borderColorFocus" + } + }, + false: {} +}; + +// node_modules/@tamagui/stacks/dist/esm/SizableStack.mjs +var SizableStack = (0, import_core4.styled)(XStack, { + name: "SizableStack", + variants: { + unstyled: { + true: { + hoverTheme: false, + pressTheme: false, + focusTheme: false, + elevate: false, + bordered: false + } + }, + hoverTheme, + pressTheme, + focusTheme, + circular, + elevate, + bordered, + size: { + "...size": (val, extras) => getButtonSized(val, extras) + } + } +}); + +// node_modules/@tamagui/stacks/dist/esm/ThemeableStack.mjs +var import_core5 = require("@tamagui/core"); +var chromelessStyle = { + backgroundColor: "transparent", + borderColor: "transparent", + shadowColor: "transparent", + hoverStyle: { + borderColor: "transparent" + } +}; +var themeableVariants = { + backgrounded: { + true: { + backgroundColor: "$background" + } + }, + radiused, + hoverTheme, + pressTheme, + focusTheme, + circular, + padded, + elevate, + bordered, + transparent: { + true: { + backgroundColor: "transparent" + } + }, + chromeless: { + true: chromelessStyle, + all: { + ...chromelessStyle, + hoverStyle: chromelessStyle, + pressStyle: chromelessStyle, + focusStyle: chromelessStyle + } + } +}; +var ThemeableStack = (0, import_core5.styled)(YStack, { + variants: themeableVariants +}); + +// node_modules/@tamagui/stacks/dist/esm/NestingContext.mjs +var import_react13 = require("react"); +var ButtonNestingContext = (0, import_react13.createContext)(false); + +// node_modules/@tamagui/portal/dist/esm/Portal.mjs +var React7 = __toESM(require("react"), 1); +var import_react_dom = require("react-dom"); +var import_jsx_runtime8 = require("react/jsx-runtime"); +var Portal = React7.memo(({ + host = ((_a) => (_a = globalThis.document) == null ? void 0 : _a.body)(), + ...props +}) => { + const contents = /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(YStack, { + contain: "strict", + fullscreen: true, + position: isWeb ? "fixed" : "absolute", + maxWidth: isWeb ? "100vw" : "100%", + maxHeight: isWeb ? "100vh" : "100%", + pointerEvents: "none", + ...props + }), [hostElement, setHostElement] = React7.useState(null); + return useIsomorphicLayoutEffect(() => { + setHostElement(host); + }, [host]), hostElement && props.children ? (0, import_react_dom.createPortal)(contents, hostElement) : null; +}); + +// node_modules/@tamagui/portal/dist/esm/GorhomPortal.mjs +var import_core6 = require("@tamagui/core"); + +// node_modules/@tamagui/use-did-finish-ssr/dist/esm/index.mjs +var import_react14 = require("react"); +var emptyFn = /* @__PURE__ */ __name(() => { +}, "emptyFn"); +var emptyFnFn = /* @__PURE__ */ __name(() => emptyFn, "emptyFnFn"); +function useDidFinishSSR(value) { + return (0, import_react14.useSyncExternalStore)(emptyFnFn, () => value ?? true, () => false); +} +__name(useDidFinishSSR, "useDidFinishSSR"); + +// node_modules/@tamagui/portal/dist/esm/GorhomPortal.mjs +var import_react15 = __toESM(require("react"), 1); +var import_jsx_runtime9 = require("react/jsx-runtime"); +var ACTIONS = /* @__PURE__ */ ((ACTIONS2) => (ACTIONS2[ACTIONS2.REGISTER_HOST = 0] = "REGISTER_HOST", ACTIONS2[ACTIONS2.DEREGISTER_HOST = 1] = "DEREGISTER_HOST", ACTIONS2[ACTIONS2.ADD_UPDATE_PORTAL = 2] = "ADD_UPDATE_PORTAL", ACTIONS2[ACTIONS2.REMOVE_PORTAL = 3] = "REMOVE_PORTAL", ACTIONS2))(ACTIONS || {}); +var INITIAL_STATE = {}; +var registerHost = /* @__PURE__ */ __name((state, hostName) => (hostName in state || (state[hostName] = []), state), "registerHost"); +var deregisterHost = /* @__PURE__ */ __name((state, hostName) => (delete state[hostName], state), "deregisterHost"); +var addUpdatePortal = /* @__PURE__ */ __name((state, hostName, portalName, node) => { + hostName in state || (state = registerHost(state, hostName)); + const index3 = state[hostName].findIndex((item) => item.name === portalName); + return index3 !== -1 ? state[hostName][index3].node = node : state[hostName].push({ + name: portalName, + node + }), state; +}, "addUpdatePortal"); +var removePortal = /* @__PURE__ */ __name((state, hostName, portalName) => { + if (!(hostName in state)) + return console.info(`Failed to remove portal '${portalName}', '${hostName}' was not registered!`), state; + const index3 = state[hostName].findIndex((item) => item.name === portalName); + return index3 !== -1 && state[hostName].splice(index3, 1), state; +}, "removePortal"); +var reducer = /* @__PURE__ */ __name((state, action) => { + const { + type + } = action; + switch (type) { + case 0: + return registerHost({ + ...state + }, action.hostName); + case 1: + return deregisterHost({ + ...state + }, action.hostName); + case 2: + return addUpdatePortal({ + ...state + }, action.hostName, action.portalName, action.node); + case 3: + return removePortal({ + ...state + }, action.hostName, action.portalName); + default: + return state; + } +}, "reducer"); +var PortalStateContext = (0, import_react15.createContext)(null); +var PortalDispatchContext = (0, import_react15.createContext)(null); +var usePortalState = /* @__PURE__ */ __name((hostName) => { + const state = (0, import_react15.useContext)(PortalStateContext); + if (state === null) + throw new Error("'PortalStateContext' cannot be null, please add 'PortalProvider' to the root component."); + return state[hostName] || []; +}, "usePortalState"); +var usePortal = /* @__PURE__ */ __name((hostName = "root") => { + const dispatch = (0, import_react15.useContext)(PortalDispatchContext); + if (dispatch === null) + throw new Error("'PortalDispatchContext' cannot be null, please add 'PortalProvider' to the root component."); + const registerHost2 = (0, import_react15.useCallback)(() => { + dispatch({ + type: 0, + hostName + }); + }, []), deregisterHost2 = (0, import_react15.useCallback)(() => { + dispatch({ + type: 1, + hostName + }); + }, []), addUpdatePortal2 = (0, import_react15.useCallback)((name, node) => { + dispatch({ + type: 2, + hostName, + portalName: name, + node + }); + }, []), removePortal2 = (0, import_react15.useCallback)((name) => { + dispatch({ + type: 3, + hostName, + portalName: name + }); + }, []); + return { + registerHost: registerHost2, + deregisterHost: deregisterHost2, + addPortal: addUpdatePortal2, + updatePortal: addUpdatePortal2, + removePortal: removePortal2 + }; +}, "usePortal"); +var PortalProviderComponent = /* @__PURE__ */ __name(({ + rootHostName = "root", + shouldAddRootHost = true, + children +}) => { + const [state, dispatch] = (0, import_react15.useReducer)(reducer, INITIAL_STATE), transitionDispatch = (0, import_react15.useMemo)(() => (value) => { + dispatch(value); + }, [dispatch]); + return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(PortalDispatchContext.Provider, { + value: transitionDispatch, + children: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(PortalStateContext.Provider, { + value: state, + children: [children, shouldAddRootHost && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(PortalHost, { + name: rootHostName + })] + }) + }); +}, "PortalProviderComponent"); +var PortalProvider = (0, import_react15.memo)(PortalProviderComponent); +PortalProvider.displayName = "PortalProvider"; +var defaultRenderer = /* @__PURE__ */ __name((children) => /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_jsx_runtime9.Fragment, { + children +}), "defaultRenderer"); +var PortalHostComponent = /* @__PURE__ */ __name((props) => { + const { + name, + forwardProps, + render = defaultRenderer + } = props, isServer3 = !useDidFinishSSR(), state = usePortalState(name), { + registerHost: registerHost2, + deregisterHost: deregisterHost2 + } = usePortal(props.name); + return (0, import_react15.useEffect)(() => { + if (!isServer3) + return registerHost2(), () => { + deregisterHost2(); + }; + }, [isServer3]), render(forwardProps ? state.map((item) => { + let next = item.node; + return forwardProps ? import_react15.default.Children.map(next, (child) => import_react15.default.isValidElement(child) ? import_react15.default.cloneElement(child, { + key: child.key, + ...forwardProps + }) : child) : next; + }) : state.map((item) => item.node)); +}, "PortalHostComponent"); +var PortalHost = (0, import_react15.memo)(PortalHostComponent); +PortalHost.displayName = "PortalHost"; +var PortalComponent = /* @__PURE__ */ __name((props) => { + const { + name: _providedName, + hostName, + handleOnMount: _providedHandleOnMount, + handleOnUnmount: _providedHandleOnUnmount, + handleOnUpdate: _providedHandleOnUpdate, + children + } = props, { + addPortal: addUpdatePortal2, + removePortal: removePortal2 + } = usePortal(hostName), id = (0, import_react15.useId)(), name = _providedName || id, handleOnMount = (0, import_core6.useEvent)(() => { + _providedHandleOnMount ? _providedHandleOnMount(() => addUpdatePortal2(name, children)) : addUpdatePortal2(name, children); + }), handleOnUnmount = (0, import_core6.useEvent)(() => { + _providedHandleOnUnmount ? _providedHandleOnUnmount(() => removePortal2(name)) : removePortal2(name); + }), handleOnUpdate = (0, import_core6.useEvent)(() => { + _providedHandleOnUpdate ? _providedHandleOnUpdate(() => addUpdatePortal2(name, children)) : addUpdatePortal2(name, children); + }); + return useIsomorphicLayoutEffect(() => (handleOnMount(), () => { + handleOnUnmount(); + }), []), (0, import_react15.useEffect)(() => { + handleOnUpdate(); + }, [children]), null; +}, "PortalComponent"); +var PortalItem = (0, import_react15.memo)(PortalComponent); +PortalItem.displayName = "Portal"; + +// node_modules/@tamagui/remove-scroll/dist/esm/RemoveScroll.mjs +var import_react16 = require("react"); +var import_react_remove_scroll = __toESM(require_es57(), 1); +var import_jsx_runtime10 = require("react/jsx-runtime"); +var RemoveScroll = (0, import_react16.memo)((props) => props.children ? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react_remove_scroll.RemoveScroll, { + ...props +}) : null); +var classNames = import_react_remove_scroll.RemoveScroll.classNames; + +// node_modules/@tamagui/sheet/dist/esm/Sheet.mjs +var import_core11 = require("@tamagui/core"); + +// node_modules/@tamagui/sheet/dist/esm/constants.mjs +var import_core7 = require("@tamagui/core"); +var SHEET_NAME = "Sheet"; +var SHEET_HANDLE_NAME = "SheetHandle"; +var SHEET_OVERLAY_NAME = "SheetOverlay"; +var SHEET_HIDDEN_STYLESHEET = import_core7.isClient ? document.createElement("style") : null; +SHEET_HIDDEN_STYLESHEET && typeof document.head < "u" && document.head.appendChild(SHEET_HIDDEN_STYLESHEET); + +// node_modules/@tamagui/sheet/dist/esm/createSheet.mjs +var import_core10 = require("@tamagui/core"); +var import_react24 = require("react"); +var import_react_native_web4 = __toESM(require_cjs20(), 1); + +// node_modules/@tamagui/sheet/dist/esm/SheetContext.mjs +var [createSheetContext, createSheetScope] = createContextScope(SHEET_NAME); +var [SheetProvider, useSheetContext] = createSheetContext(SHEET_NAME, {}); + +// node_modules/@tamagui/sheet/dist/esm/SheetImplementationCustom.mjs +var import_core9 = require("@tamagui/core"); + +// node_modules/@tamagui/use-keyboard-visible/dist/esm/useKeyboardVisible.mjs +var import_react17 = require("react"); +var import_react_native_web = __toESM(require_cjs20(), 1); +var useKeyboardVisible = /* @__PURE__ */ __name(() => { + const [isKeyboardVisible, setKeyboardVisible] = (0, import_react17.useState)(false); + return (0, import_react17.useEffect)(() => { + const keyboardDidShowListener = import_react_native_web.Keyboard.addListener("keyboardDidShow", () => { + setKeyboardVisible(true); + }), keyboardDidHideListener = import_react_native_web.Keyboard.addListener("keyboardDidHide", () => { + setKeyboardVisible(false); + }); + return () => { + keyboardDidHideListener.remove(), keyboardDidShowListener.remove(); + }; + }, []), isKeyboardVisible; +}, "useKeyboardVisible"); + +// node_modules/@tamagui/sheet/dist/esm/SheetImplementationCustom.mjs +var import_react22 = require("react"); +var import_react_native_web2 = __toESM(require_cjs20(), 1); + +// node_modules/@tamagui/sheet/dist/esm/contexts.mjs +var import_react18 = require("react"); +var ParentSheetContext = (0, import_react18.createContext)({ + zIndex: 1e5 +}); +var SheetInsideSheetContext = (0, import_react18.createContext)(null); + +// node_modules/@tamagui/sheet/dist/esm/helpers.mjs +function resisted(y, minY, maxOverflow = 25) { + if (y < minY) { + const past = minY - y, extra = -(1.1 - 0.15 ** (Math.min(maxOverflow, past) / maxOverflow)) * maxOverflow; + return minY + extra; + } + return y; +} +__name(resisted, "resisted"); + +// node_modules/@tamagui/use-controllable-state/dist/esm/useControllableState.mjs +var import_react19 = require("react"); +var emptyCallbackFn = /* @__PURE__ */ __name((_) => _(), "emptyCallbackFn"); +function useControllableState({ + prop, + defaultProp, + onChange, + strategy = "prop-wins", + preventUpdate, + transition +}) { + const [state, setState] = (0, import_react19.useState)(prop ?? defaultProp), previous = (0, import_react19.useRef)(state), propWins = strategy === "prop-wins" && prop !== void 0, value = propWins ? prop : state, onChangeCb = useEvent(onChange || idFn2), transitionFn = transition ? import_react19.startTransition : emptyCallbackFn; + (0, import_react19.useEffect)(() => { + prop !== void 0 && (previous.current = prop, transitionFn(() => { + setState(prop); + })); + }, [prop]), (0, import_react19.useEffect)(() => { + propWins || state !== previous.current && (previous.current = state, onChangeCb(state)); + }, [onChangeCb, state, propWins]); + const setter = useEvent((next) => { + if (!preventUpdate) + if (propWins) { + const nextValue = typeof next == "function" ? next(previous.current) : next; + onChangeCb(nextValue); + } else + transitionFn(() => { + setState(next); + }); + }); + return [value, setter]; +} +__name(useControllableState, "useControllableState"); +var idFn2 = /* @__PURE__ */ __name(() => { +}, "idFn"); + +// node_modules/@tamagui/sheet/dist/esm/useSheetController.mjs +var import_react20 = require("react"); +var useSheetController = /* @__PURE__ */ __name(() => { + const controller = (0, import_react20.useContext)(SheetControllerContext), isHidden2 = controller == null ? void 0 : controller.hidden, isShowingNonSheet = isHidden2 && (controller == null ? void 0 : controller.open); + return { + controller, + isHidden: isHidden2, + isShowingNonSheet, + disableDrag: controller == null ? void 0 : controller.disableDrag + }; +}, "useSheetController"); +var SheetControllerContext = (0, import_react20.createContext)(null); + +// node_modules/@tamagui/sheet/dist/esm/useSheetOpenState.mjs +var useSheetOpenState = /* @__PURE__ */ __name((props) => { + const { + isHidden: isHidden2, + controller + } = useSheetController(), onOpenChangeInternal = /* @__PURE__ */ __name((val) => { + var _a, _b; + (_a = controller == null ? void 0 : controller.onOpenChange) == null ? void 0 : _a.call(controller, val), (_b = props.onOpenChange) == null ? void 0 : _b.call(props, val); + }, "onOpenChangeInternal"), [open, setOpen] = useControllableState({ + prop: (controller == null ? void 0 : controller.open) ?? props.open, + defaultProp: props.defaultOpen ?? false, + onChange: onOpenChangeInternal, + strategy: "most-recent-wins", + transition: true + }); + return { + open, + setOpen, + isHidden: isHidden2, + controller + }; +}, "useSheetOpenState"); + +// node_modules/@tamagui/sheet/dist/esm/useSheetProviderProps.mjs +var import_core8 = require("@tamagui/core"); +var import_react21 = __toESM(require("react"), 1); +function useSheetProviderProps(props, state, options = {}) { + const handleRef = import_react21.default.useRef(null), contentRef = import_react21.default.useRef(null), [frameSize, setFrameSize] = (0, import_react21.useState)(0), [maxContentSize, setMaxContentSize] = (0, import_react21.useState)(0), snapPointsMode = props.snapPointsMode ?? "percent", snapPointsProp = props.snapPoints ?? (snapPointsMode === "percent" ? [80] : snapPointsMode === "constant" ? [256] : ["fit"]), hasFit = snapPointsProp[0] === "fit", snapPoints = (0, import_react21.useMemo)(() => props.dismissOnSnapToBottom ? [...snapPointsProp, 0] : snapPointsProp, [JSON.stringify(snapPointsProp), props.dismissOnSnapToBottom]), [position_, setPositionImmediate] = useControllableState({ + prop: props.position, + defaultProp: props.defaultPosition || (state.open ? 0 : -1), + onChange: props.onPositionChange, + strategy: "most-recent-wins", + transition: true + }), position = state.open === false ? -1 : position_, { + open + } = state, setPosition = (0, import_react21.useCallback)((next) => { + props.dismissOnSnapToBottom && next === snapPoints.length - 1 ? state.setOpen(false) : setPositionImmediate(next); + }, [props.dismissOnSnapToBottom, snapPoints.length, setPositionImmediate, state.setOpen]); + process.env.NODE_ENV === "development" && (snapPointsMode === "mixed" && snapPoints.some((p) => { + if (typeof p == "string") { + if (p === "fit") + return false; + if (p.endsWith("%")) { + const n = Number(p.slice(0, -1)); + return n < 0 || n > 100; + } + return true; + } + return typeof p != "number" || p < 0; + }) && console.warn('\u26A0\uFE0F Invalid snapPoint given, snapPoints must be positive numeric values, string percentages between 0-100%, or "fit" when snapPointsMode is mixed'), snapPointsMode === "mixed" && snapPoints.indexOf("fit") > 0 && console.warn('\u26A0\uFE0F Invalid snapPoint given, "fit" must be the first/largest snap point when snapPointsMode is mixed'), snapPointsMode === "fit" && (snapPoints.length !== (props.dismissOnSnapToBottom ? 2 : 1) || snapPoints[0] !== "fit") && console.warn("\u26A0\uFE0F Invalid snapPoint given, there are no snap points when snapPointsMode is fit"), snapPointsMode === "constant" && snapPoints.some((p) => typeof p != "number" || p < 0) && console.warn("\u26A0\uFE0F Invalid snapPoint given, snapPoints must be positive numeric values when snapPointsMode is constant"), snapPointsMode === "percent" && snapPoints.some((p) => typeof p != "number" || p < 0 || p > 100) && console.warn("\u26A0\uFE0F Invalid snapPoint given, snapPoints must be numeric values between 0 and 100 when snapPointsMode is percent")), open && props.dismissOnSnapToBottom && position === snapPoints.length - 1 && setPositionImmediate(0); + const shouldSetPositionOpen = open && position < 0; + (0, import_react21.useEffect)(() => { + shouldSetPositionOpen && setPosition(0); + }, [setPosition, shouldSetPositionOpen]); + const { + animationDriver + } = (0, import_core8.useConfiguration)(); + if (!animationDriver) + throw new Error("Must set animations in tamagui.config.ts"); + const scrollBridge = useConstant(() => ({ + enabled: false, + y: 0, + paneY: 0, + paneMinY: 0, + scrollStartY: -1, + drag: () => { + }, + release: () => { + }, + scrollLock: false + })), removeScrollEnabled = props.forceRemoveScrollEnabled ?? (open && props.modal), maxSnapPoint = snapPoints[0]; + return { + screenSize: snapPointsMode === "percent" ? frameSize / ((typeof maxSnapPoint == "number" ? maxSnapPoint : 100) / 100) : maxContentSize, + maxSnapPoint, + removeScrollEnabled, + scrollBridge, + modal: !!props.modal, + open: state.open, + setOpen: state.setOpen, + hidden: !!state.isHidden, + contentRef, + handleRef, + frameSize, + setFrameSize, + dismissOnOverlayPress: props.dismissOnOverlayPress ?? true, + dismissOnSnapToBottom: props.dismissOnSnapToBottom ?? false, + onOverlayComponent: options.onOverlayComponent, + scope: props.__scopeSheet, + hasFit, + position, + snapPoints, + snapPointsMode, + setMaxContentSize, + setPosition, + setPositionImmediate, + onlyShowFrame: false + }; +} +__name(useSheetProviderProps, "useSheetProviderProps"); + +// node_modules/@tamagui/sheet/dist/esm/SheetImplementationCustom.mjs +var import_jsx_runtime11 = require("react/jsx-runtime"); +var hiddenSize = 10000.1; +var SheetImplementationCustom = (0, import_core9.themeable)((0, import_react22.forwardRef)(function(props, forwardedRef) { + const parentSheet = (0, import_react22.useContext)(ParentSheetContext), { + animation, + animationConfig: animationConfigProp, + modal = false, + zIndex = parentSheet.zIndex + 1, + moveOnKeyboardChange = false, + unmountChildrenWhenHidden = false, + portalProps, + containerComponent: ContainerComponent = import_react22.Fragment + } = props, keyboardIsVisible = useKeyboardVisible(), state = useSheetOpenState(props), [overlayComponent, setOverlayComponent] = (0, import_react22.useState)(null), providerProps = useSheetProviderProps(props, state, { + onOverlayComponent: setOverlayComponent + }), { + frameSize, + setFrameSize, + snapPoints, + snapPointsMode, + hasFit, + position, + setPosition, + scrollBridge, + screenSize, + setMaxContentSize, + maxSnapPoint + } = providerProps, { + open, + controller, + isHidden: isHidden2 + } = state, sheetRef = (0, import_react22.useRef)(null), ref = useComposedRefs(forwardedRef, sheetRef), animationConfig = (() => { + const [animationProp, animationPropConfig] = animation ? Array.isArray(animation) ? animation : [animation] : []; + return animationConfigProp ?? (animationProp ? { + ...(0, import_core9.getConfig)().animations.animations[animationProp], + ...animationPropConfig + } : null); + })(), [isShowingInnerSheet, setIsShowingInnerSheet] = (0, import_react22.useState)(false), shouldHideParentSheet = !isWeb && modal && isShowingInnerSheet, parentSheetContext = (0, import_react22.useContext)(SheetInsideSheetContext), onInnerSheet = (0, import_react22.useCallback)((hasChild) => { + setIsShowingInnerSheet(hasChild); + }, []), positions = (0, import_react22.useMemo)(() => snapPoints.map((point) => getYPositions(snapPointsMode, point, screenSize, frameSize)), [screenSize, frameSize, snapPoints, snapPointsMode]), { + animationDriver + } = (0, import_core9.useConfiguration)(), { + useAnimatedNumber, + useAnimatedNumberStyle, + useAnimatedNumberReaction + } = animationDriver, AnimatedView = animationDriver.View ?? import_core9.Stack; + useIsomorphicLayoutEffect(() => { + if (parentSheetContext && open) + return parentSheetContext(true), () => { + parentSheetContext(false); + }; + }, [parentSheetContext, open]); + const nextParentContext = (0, import_react22.useMemo)(() => ({ + zIndex + }), [zIndex]), animatedNumber = useAnimatedNumber(hiddenSize), at = (0, import_react22.useRef)(hiddenSize); + useAnimatedNumberReaction({ + value: animatedNumber, + hostRef: sheetRef + }, (0, import_react22.useCallback)((value) => { + at.current = value, scrollBridge.paneY = value; + }, [animationDriver])); + function stopSpring() { + animatedNumber.stop(), scrollBridge.onFinishAnimate && (scrollBridge.onFinishAnimate(), scrollBridge.onFinishAnimate = void 0); + } + __name(stopSpring, "stopSpring"); + const hasntMeasured = at.current === hiddenSize, animateTo = (0, import_core9.useEvent)((position2) => { + if (frameSize === 0) + return; + let toValue = isHidden2 || position2 === -1 ? screenSize : positions[position2]; + if (at.current !== toValue) { + if (at.current = toValue, stopSpring(), hasntMeasured || isHidden2) { + animatedNumber.setValue(screenSize, { + type: "timing", + duration: 0 + }, () => { + isHidden2 || (toValue = positions[position2], at.current = toValue, animatedNumber.setValue(toValue, { + type: "spring", + ...animationConfig + })); + }); + return; + } + animatedNumber.setValue(toValue, { + type: "spring", + ...animationConfig + }); + } + }); + useIsomorphicLayoutEffect(() => { + screenSize && hasntMeasured && animatedNumber.setValue(screenSize, { + type: "timing", + duration: 0 + }); + }, [hasntMeasured, screenSize]), useIsomorphicLayoutEffect(() => { + !frameSize || !screenSize || isHidden2 || hasntMeasured && !open || animateTo(position); + }, [isHidden2, frameSize, screenSize, open, position]); + const disableDrag = props.disableDrag ?? (controller == null ? void 0 : controller.disableDrag), themeName = (0, import_core9.useThemeName)(), [isDragging, setIsDragging] = (0, import_react22.useState)(false), panResponder = (0, import_react22.useMemo)(() => { + if (disableDrag || !frameSize || isShowingInnerSheet) + return; + const minY = positions[0]; + scrollBridge.paneMinY = minY; + let startY = at.current; + function setPanning(val) { + setIsDragging(val), SHEET_HIDDEN_STYLESHEET && (val ? SHEET_HIDDEN_STYLESHEET.innerText = ":root * { user-select: none !important; -webkit-user-select: none !important; }" : SHEET_HIDDEN_STYLESHEET.innerText = ""); + } + __name(setPanning, "setPanning"); + const release = /* @__PURE__ */ __name(({ + vy, + dragAt + }) => { + isExternalDrag = false, previouslyScrolling = false, setPanning(false); + const end = dragAt + startY + frameSize * vy * 0.2; + let closestPoint = 0, dist = Number.POSITIVE_INFINITY; + for (let i = 0; i < positions.length; i++) { + const position2 = positions[i], curDist = end > position2 ? end - position2 : position2 - end; + curDist < dist && (dist = curDist, closestPoint = i); + } + setPosition(closestPoint), animateTo(closestPoint); + }, "release"), finish = /* @__PURE__ */ __name((_e, state2) => { + release({ + vy: state2.vy, + dragAt: state2.dy + }); + }, "finish"); + let previouslyScrolling = false; + const onMoveShouldSet = /* @__PURE__ */ __name((e, { + dy + }) => { + if (e.target === providerProps.handleRef.current) + return true; + const isScrolled = scrollBridge.y !== 0, isDraggingUp = dy < 0, isNearTop = scrollBridge.paneY - 5 <= scrollBridge.paneMinY; + return isScrolled ? (previouslyScrolling = true, false) : isNearTop && !isScrolled && isDraggingUp && !isWeb ? false : Math.abs(dy) > 5; + }, "onMoveShouldSet"), grant = /* @__PURE__ */ __name(() => { + setPanning(true), stopSpring(), startY = at.current; + }, "grant"); + let isExternalDrag = false; + return scrollBridge.drag = (dy) => { + isExternalDrag || (isExternalDrag = true, grant()); + const to = dy + startY; + animatedNumber.setValue(resisted(to, minY), { + type: "direct" + }); + }, scrollBridge.release = release, import_react_native_web2.PanResponder.create({ + onMoveShouldSetPanResponder: onMoveShouldSet, + onPanResponderGrant: grant, + onPanResponderMove: (_e, { + dy + }) => { + const toFull = dy + startY, to = resisted(toFull, minY); + animatedNumber.setValue(to, { + type: "direct" + }); + }, + onPanResponderEnd: finish, + onPanResponderTerminate: finish, + onPanResponderRelease: finish + }); + }, [disableDrag, isShowingInnerSheet, animateTo, frameSize, positions, setPosition]), handleAnimationViewLayout = (0, import_react22.useCallback)((e) => { + var _a; + const next = Math.min((_a = e.nativeEvent) == null ? void 0 : _a.layout.height, import_react_native_web2.Dimensions.get("window").height); + next && setFrameSize(next); + }, [keyboardIsVisible]), handleMaxContentViewLayout = (0, import_react22.useCallback)((e) => { + var _a; + const next = Math.min((_a = e.nativeEvent) == null ? void 0 : _a.layout.height, import_react_native_web2.Dimensions.get("window").height); + next && setMaxContentSize(next); + }, [keyboardIsVisible]), animatedStyle = useAnimatedNumberStyle(animatedNumber, (val) => { + "worklet"; + return { + transform: [{ + translateY: frameSize === 0 ? hiddenSize : val + }] + }; + }), sizeBeforeKeyboard = (0, import_react22.useRef)(null); + (0, import_react22.useEffect)(() => { + if (isWeb || !moveOnKeyboardChange) + return; + const keyboardDidShowListener = import_react_native_web2.Keyboard.addListener("keyboardDidShow", (e) => { + sizeBeforeKeyboard.current === null && (sizeBeforeKeyboard.current = animatedNumber.getValue(), animatedNumber.setValue(Math.max(animatedNumber.getValue() - e.endCoordinates.height, 0))); + }), keyboardDidHideListener = import_react_native_web2.Keyboard.addListener("keyboardDidHide", () => { + sizeBeforeKeyboard.current !== null && (animatedNumber.setValue(sizeBeforeKeyboard.current), sizeBeforeKeyboard.current = null); + }); + return () => { + keyboardDidHideListener.remove(), keyboardDidShowListener.remove(); + }; + }, [moveOnKeyboardChange]); + const [opacity, setOpacity] = (0, import_react22.useState)(open ? 1 : 0); + open && opacity === 0 && setOpacity(1), (0, import_react22.useEffect)(() => { + if (!open) { + const tm = setTimeout(() => { + setOpacity(0); + }, 400); + return () => { + clearTimeout(tm); + }; + } + }, [open]); + const forcedContentHeight = hasFit ? void 0 : snapPointsMode === "percent" ? `${maxSnapPoint}${isWeb ? "dvh" : "%"}` : maxSnapPoint, contents = /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(ParentSheetContext.Provider, { + value: nextParentContext, + children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(SheetProvider, { + ...providerProps, + children: [/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(AnimatePresence, { + custom: { + open + }, + children: shouldHideParentSheet || !open ? null : overlayComponent + }), snapPointsMode !== "percent" && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native_web2.View, { + style: { + opacity: 0, + position: "absolute", + top: 0, + left: 0, + right: 0, + bottom: 0, + pointerEvents: "none" + }, + onLayout: handleMaxContentViewLayout + }), /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(AnimatedView, { + ref, + ...panResponder == null ? void 0 : panResponder.panHandlers, + onLayout: handleAnimationViewLayout, + ...!isDragging && { + // @ts-ignore for CSS driver this is necessary to attach the transition + animation + }, + disableClassName: true, + style: [{ + position: "absolute", + zIndex, + width: "100%", + height: forcedContentHeight, + minHeight: forcedContentHeight, + opacity, + ...(shouldHideParentSheet || !open) && { + pointerEvents: "none" + } + }, animatedStyle], + children: props.children + })] + }) + }), adaptContext = (0, import_react22.useContext)(AdaptParentContext), shouldMountChildren = !!(opacity || !unmountChildrenWhenHidden); + if (modal) { + const modalContents = /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Portal, { + zIndex, + ...portalProps, + children: shouldMountChildren && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(ContainerComponent, { + children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_core9.Theme, { + forceClassName: true, + name: themeName, + children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(AdaptParentContext.Provider, { + value: adaptContext, + children: contents + }) + }) + }) + }); + return isWeb ? modalContents : /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(SheetInsideSheetContext.Provider, { + value: onInnerSheet, + children: modalContents + }); + } + return contents; +})); +function getYPositions(mode, point, screenSize, frameSize) { + if (!screenSize || !frameSize) + return 0; + if (mode === "mixed") { + if (typeof point == "number") + return screenSize - Math.min(screenSize, Math.max(0, point)); + if (point === "fit") + return screenSize - Math.min(screenSize, frameSize); + if (point.endsWith("%")) { + const pct2 = Math.min(100, Math.max(0, Number(point.slice(0, -1)))) / 100; + return Number.isNaN(pct2) ? (console.warn("Invalid snapPoint percentage string"), 0) : Math.round(screenSize - pct2 * screenSize); + } + return console.warn("Invalid snapPoint unknown value"), 0; + } + if (mode === "fit") + return point === 0 ? screenSize : screenSize - Math.min(screenSize, frameSize); + if (mode === "constant" && typeof point == "number") + return screenSize - Math.min(screenSize, Math.max(0, point)); + const pct = Math.min(100, Math.max(0, Number(point))) / 100; + return Number.isNaN(pct) ? (console.warn("Invalid snapPoint percentage"), 0) : Math.round(screenSize - pct * screenSize); +} +__name(getYPositions, "getYPositions"); + +// node_modules/@tamagui/scroll-view/dist/esm/ScrollView.mjs +var import_web2 = require("@tamagui/core"); +var import_react_native_web3 = __toESM(require_cjs20(), 1); +var ScrollView = (0, import_web2.styled)(import_react_native_web3.ScrollView, { + name: "ScrollView", + scrollEnabled: true, + variants: { + fullscreen: { + true: fullscreenStyle + } + } +}, { + accept: { + contentContainerStyle: "style" + } +}); + +// node_modules/@tamagui/sheet/dist/esm/SheetScrollView.mjs +var import_react23 = require("react"); +var import_jsx_runtime12 = require("react/jsx-runtime"); +var SHEET_SCROLL_VIEW_NAME = "SheetScrollView"; +var SheetScrollView = (0, import_react23.forwardRef)(({ + __scopeSheet, + children, + onScroll, + ...props +}, ref) => { + const context = useSheetContext(SHEET_SCROLL_VIEW_NAME, __scopeSheet), { + scrollBridge + } = context, scrollRef = (0, import_react23.useRef)(null), state = (0, import_react23.useRef)({ + lastPageY: 0, + dragAt: 0, + dys: [], + // store a few recent dys to get velocity on release + isScrolling: false, + isDragging: false + }), release = /* @__PURE__ */ __name(() => { + if (!state.current.isDragging) + return; + state.current.isDragging = false, scrollBridge.scrollStartY = -1, state.current.isScrolling = false; + let vy = 0; + if (state.current.dys.length) { + const recentDys = state.current.dys.slice(-10); + vy = (recentDys.length ? recentDys.reduce((a, b) => a + b, 0) : 0) / recentDys.length * 0.04; + } + state.current.dys = [], scrollBridge.release({ + dragAt: state.current.dragAt, + vy + }); + }, "release"); + return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(ScrollView, { + ref: composeRefs(scrollRef, ref), + flex: 1, + scrollEventThrottle: 8, + onScroll: (e) => { + const { + y + } = e.nativeEvent.contentOffset; + scrollBridge.y = y, y > 0 && (scrollBridge.scrollStartY = -1), onScroll == null ? void 0 : onScroll(e); + }, + onStartShouldSetResponder: () => (scrollBridge.scrollStartY = -1, state.current.isDragging = true, true), + onMoveShouldSetResponder: () => false, + onResponderRelease: release, + className: "_ovs-contain", + ...props, + children: (0, import_react23.useMemo)(() => children, [children]) + }); +}); + +// node_modules/@tamagui/sheet/dist/esm/useSheetOffscreenSize.mjs +var useSheetOffscreenSize = /* @__PURE__ */ __name(({ + snapPoints, + position, + screenSize, + frameSize, + snapPointsMode +}) => { + if (snapPointsMode === "fit") + return 0; + if (snapPointsMode === "constant") { + const maxSize2 = Number(snapPoints[0]), currentSize2 = Number(snapPoints[position] ?? 0); + return maxSize2 - currentSize2; + } + if (snapPointsMode === "percent") { + const maxPercentOpened = Number(snapPoints[0]) / 100, percentOpened = Number(snapPoints[position] ?? 0) / 100; + return (maxPercentOpened - percentOpened) * screenSize; + } + const maxSnapPoint = snapPoints[0]; + if (maxSnapPoint === "fit") + return 0; + const maxSize = typeof maxSnapPoint == "string" ? Number(maxSnapPoint.slice(0, -1)) / 100 * screenSize : maxSnapPoint, currentSnapPoint = snapPoints[position] ?? 0, currentSize = typeof currentSnapPoint == "string" ? Number(currentSnapPoint.slice(0, -1)) / 100 * screenSize : currentSnapPoint, offscreenSize = maxSize - currentSize; + return Number.isNaN(offscreenSize) ? 0 : offscreenSize; +}, "useSheetOffscreenSize"); + +// node_modules/@tamagui/sheet/dist/esm/createSheet.mjs +var import_jsx_runtime13 = require("react/jsx-runtime"); +function createSheet({ + Handle: Handle2, + Frame: Frame2, + Overlay: Overlay2 +}) { + const SheetHandle = Handle2.styleable(({ + __scopeSheet, + ...props + }, forwardedRef) => { + const context = useSheetContext(SHEET_HANDLE_NAME, __scopeSheet), composedRef = useComposedRefs(context.handleRef, forwardedRef); + return context.onlyShowFrame ? null : ( + // @ts-ignore + /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Handle2, { + ref: composedRef, + onPress: () => { + const max2 = context.snapPoints.length + (context.dismissOnSnapToBottom ? -1 : 0), nextPos = (context.position + 1) % max2; + context.setPosition(nextPos); + }, + open: context.open, + ...props + }) + ); + }), SheetOverlay = Overlay2.extractable((0, import_react24.memo)((propsIn) => { + const { + __scopeSheet, + ...props + } = propsIn, context = useSheetContext(SHEET_OVERLAY_NAME, __scopeSheet), element = (0, import_react24.useMemo)(() => ( + // @ts-ignore + /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Overlay2, { + ...props, + onPress: composeEventHandlers(props.onPress, context.dismissOnOverlayPress ? () => { + context.setOpen(false); + } : void 0) + }) + ), [props.onPress, context.dismissOnOverlayPress]); + return useIsomorphicLayoutEffect(() => { + var _a; + (_a = context.onOverlayComponent) == null ? void 0 : _a.call(context, element); + }, [element]), context.onlyShowFrame, null; + })), SheetFrame = Frame2.extractable((0, import_react24.forwardRef)(({ + __scopeSheet, + adjustPaddingForOffscreenContent, + disableHideBottomOverflow, + children, + ...props + }, forwardedRef) => { + const context = useSheetContext(SHEET_NAME, __scopeSheet), { + hasFit, + removeScrollEnabled, + frameSize, + contentRef, + open + } = context, composedContentRef = useComposedRefs(forwardedRef, contentRef), offscreenSize = useSheetOffscreenSize(context), sheetContents = (0, import_react24.useMemo)(() => ( + // @ts-ignore + /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(Frame2, { + ref: composedContentRef, + flex: hasFit ? 0 : 1, + height: hasFit ? void 0 : frameSize, + pointerEvents: open ? "auto" : "none", + ...props, + children: [children, adjustPaddingForOffscreenContent && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_core10.Stack, { + "data-sheet-offscreen-pad": true, + height: offscreenSize, + width: "100%" + })] + }) + ), [open, props, frameSize, offscreenSize, adjustPaddingForOffscreenContent, hasFit]); + return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { + children: [/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(RemoveScroll, { + forwardProps: true, + enabled: removeScrollEnabled, + allowPinchZoom: true, + shards: [contentRef], + removeScrollBar: false, + children: sheetContents + }), !disableHideBottomOverflow && // @ts-ignore + /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Frame2, { + ...props, + componentName: "SheetCover", + children: null, + position: "absolute", + bottom: "-100%", + zIndex: -1, + height: context.frameSize, + left: 0, + right: 0, + borderWidth: 0, + borderRadius: 0, + shadowOpacity: 0 + })] + }); + })), Sheet2 = (0, import_react24.forwardRef)(function(props, ref) { + const hydrated = useDidFinishSSR(), { + isShowingNonSheet + } = useSheetController(); + let SheetImplementation = SheetImplementationCustom; + return props.native && import_react_native_web4.Platform.OS, isShowingNonSheet || !hydrated ? null : /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(SheetImplementation, { + ref, + ...props + }); + }), components = { + Frame: SheetFrame, + Overlay: SheetOverlay, + Handle: SheetHandle, + ScrollView: SheetScrollView + }, Controlled = withStaticProperties(Sheet2, components); + return withStaticProperties(Sheet2, { + ...components, + Controlled + }); +} +__name(createSheet, "createSheet"); + +// node_modules/@tamagui/sheet/dist/esm/Sheet.mjs +var Handle = (0, import_core11.styled)(XStack, { + name: SHEET_HANDLE_NAME, + variants: { + open: { + true: { + pointerEvents: "auto" + }, + false: { + opacity: 0, + pointerEvents: "none" + } + }, + unstyled: { + false: { + height: 10, + borderRadius: 100, + backgroundColor: "$background", + zIndex: 10, + marginHorizontal: "35%", + marginBottom: "$2", + opacity: 0.5, + hoverStyle: { + opacity: 0.7 + } + } + } + }, + defaultVariants: { + unstyled: process.env.TAMAGUI_HEADLESS === "1" + } +}); +var Overlay = (0, import_core11.styled)(ThemeableStack, { + name: SHEET_OVERLAY_NAME, + variants: { + open: { + true: { + opacity: 1, + pointerEvents: "auto" + }, + false: { + opacity: 0, + pointerEvents: "none" + } + }, + unstyled: { + false: { + fullscreen: true, + position: "absolute", + backgrounded: true, + zIndex: 99999, + pointerEvents: "auto" + } + } + }, + defaultVariants: { + unstyled: process.env.TAMAGUI_HEADLESS === "1" + } +}); +var Frame = (0, import_core11.styled)(YStack, { + name: SHEET_NAME, + variants: { + unstyled: { + false: { + flex: 1, + backgroundColor: "$background", + borderTopLeftRadius: "$true", + borderTopRightRadius: "$true", + width: "100%", + maxHeight: "100%", + overflow: "hidden" + } + } + }, + defaultVariants: { + unstyled: process.env.TAMAGUI_HEADLESS === "1" + } +}); +var Sheet = createSheet({ + Frame, + Handle, + Overlay +}); +var SheetOverlayFrame = Overlay; +var SheetHandleFrame = Handle; + +// node_modules/@tamagui/sheet/dist/esm/useSheet.mjs +var useSheet = /* @__PURE__ */ __name(() => useSheetContext("", void 0), "useSheet"); + +// node_modules/@tamagui/sheet/dist/esm/SheetController.mjs +var import_core12 = require("@tamagui/core"); +var import_react25 = require("react"); +var import_jsx_runtime14 = require("react/jsx-runtime"); +var SheetController = /* @__PURE__ */ __name(({ + children, + onOpenChange: onOpenChangeProp, + ...value +}) => { + const onOpenChange = (0, import_core12.useEvent)(onOpenChangeProp), memoValue = (0, import_react25.useMemo)(() => ({ + open: value.open, + hidden: value.hidden, + disableDrag: value.disableDrag, + onOpenChange + }), [onOpenChange, value.open, value.hidden, value.disableDrag]); + return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(SheetControllerContext.Provider, { + value: memoValue, + children + }); +}, "SheetController"); + +// node_modules/@tamagui/sheet/dist/esm/nativeSheet.mjs +var import_react26 = require("react"); +var import_react_native_web5 = __toESM(require_cjs20(), 1); +var import_jsx_runtime15 = require("react/jsx-runtime"); +var nativeSheets = { + ios: null +}; +function setupNativeSheet(platform2, Implementation) { + platform2 === "ios" && (nativeSheets[platform2] = (props) => { + const state = useSheetOpenState(props), providerProps = useSheetProviderProps(props, state), { + open, + setOpen + } = state, ref = (0, import_react26.useRef)(); + return (0, import_react26.useEffect)(() => { + var _a; + (_a = ref.current) == null ? void 0 : _a.setVisibility(open); + }, [open]), /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_jsx_runtime15.Fragment, { + children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(SheetProvider, { + ...providerProps, + onlyShowFrame: true, + children: [/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Implementation, { + ref, + onModalDismiss: () => setOpen(false), + children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_native_web5.View, { + style: { + flex: 1 + }, + children: props.children + }) + }), /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(YStack, { + position: "absolute", + opacity: 0, + pointerEvents: "none", + width: 0, + height: 0, + children: props.children + })] + }) + }); + }); +} +__name(setupNativeSheet, "setupNativeSheet"); + +// node_modules/@tamagui/get-font-sized/dist/esm/index.mjs +var import_core13 = require("@tamagui/core"); +var getFontSized = /* @__PURE__ */ __name((sizeTokenIn = "$true", { + font, + fontFamily, + props +}) => { + var _a, _b, _c, _d, _e, _f; + if (!font) { + process.env.NODE_ENV === "development" && console.warn("Warning: No font found in props", { + ...props + }, 'For a sized text component, you either need to set fontFamily directly, or through the "defaultFont" setting in your createTamagui config.'); + return; + } + const sizeToken = sizeTokenIn === "$true" ? getDefaultSizeToken(font) : sizeTokenIn, fontSize = font.size[sizeToken], lineHeight = (_a = font.lineHeight) == null ? void 0 : _a[sizeToken], fontWeight = (_b = font.weight) == null ? void 0 : _b[sizeToken], letterSpacing = (_c = font.letterSpacing) == null ? void 0 : _c[sizeToken], textTransform = (_d = font.transform) == null ? void 0 : _d[sizeToken], fontStyle = props.fontStyle ?? ((_e = font.style) == null ? void 0 : _e[sizeToken]), style = { + color: props.color ?? ((_f = font.color) == null ? void 0 : _f[sizeToken]), + fontStyle, + textTransform, + fontFamily, + fontWeight, + letterSpacing, + fontSize, + lineHeight + }; + return process.env.NODE_ENV === "development" && props.debug && props.debug === "verbose" && (console.groupCollapsed(" \u{1F539} getFontSized", sizeTokenIn, sizeToken), console.info({ + style, + props, + font + }), console.groupEnd()), style; +}, "getFontSized"); +var cache2 = /* @__PURE__ */ new WeakMap(); +function getDefaultSizeToken(font) { + if (typeof font == "object" && cache2.has(font)) + return cache2.get(font); + const sizeTokens = "$true" in font.size ? font.size : (0, import_core13.getTokens)().size, sizeDefault = sizeTokens.$true, sizeDefaultSpecific = sizeDefault ? Object.keys(sizeTokens).find((x) => x !== "$true" && sizeTokens[x].val === sizeDefault.val) : null; + return !sizeDefault || !sizeDefaultSpecific ? (process.env.NODE_ENV === "development" && console.warn(`No default size is set in your tokens for the "true" key, fonts will be inconsistent. + + Fix this by having consistent tokens across fonts and sizes and setting a true key for your size tokens, or + set true keys for all your font tokens: "size", "lineHeight", "fontStyle", etc.`), Object.keys(font.size)[3]) : (cache2.set(font, sizeDefaultSpecific), sizeDefaultSpecific); +} +__name(getDefaultSizeToken, "getDefaultSizeToken"); + +// node_modules/@tamagui/text/dist/esm/SizableText.mjs +var import_web3 = require("@tamagui/core"); +var SizableText = (0, import_web3.styled)(import_web3.Text, { + name: "SizableText", + fontFamily: "$body", + variants: { + unstyled: { + false: { + size: "$true", + color: "$color" + } + }, + size: getFontSized + }, + defaultVariants: { + unstyled: process.env.TAMAGUI_HEADLESS === "1" + } +}); +SizableText.staticConfig.variants.fontFamily = { + "...": (_, extras) => { + const size4 = extras.props.size || "$true"; + return getFontSized(size4, extras); + } +}; + +// node_modules/@tamagui/text/dist/esm/Paragraph.mjs +var import_web4 = require("@tamagui/core"); +var Paragraph = (0, import_web4.styled)(SizableText, { + name: "Paragraph", + tag: "p", + userSelect: "auto", + color: "$color", + size: "$true", + whiteSpace: "normal" +}); + +// node_modules/@tamagui/text/dist/esm/Headings.mjs +var import_web5 = require("@tamagui/core"); +var Heading = (0, import_web5.styled)(Paragraph, { + tag: "span", + name: "Heading", + accessibilityRole: "header", + fontFamily: "$heading", + size: "$8", + margin: 0 +}); +var H1 = (0, import_web5.styled)(Heading, { + name: "H1", + tag: "h1", + size: "$10" +}); +var H2 = (0, import_web5.styled)(Heading, { + name: "H2", + tag: "h2", + size: "$9" +}); +var H3 = (0, import_web5.styled)(Heading, { + name: "H3", + tag: "h3", + size: "$8" +}); +var H4 = (0, import_web5.styled)(Heading, { + name: "H4", + tag: "h4", + size: "$7" +}); +var H5 = (0, import_web5.styled)(Heading, { + name: "H5", + tag: "h5", + size: "$6" +}); +var H6 = (0, import_web5.styled)(Heading, { + name: "H6", + tag: "h6", + size: "$5" +}); + +// node_modules/@tamagui/text/dist/esm/wrapChildrenInText.mjs +var import_react27 = __toESM(require("react"), 1); +var import_jsx_runtime16 = require("react/jsx-runtime"); +function wrapChildrenInText(TextComponent, propsIn, extraProps) { + const { + children, + textProps, + size: size4, + noTextWrap, + color, + fontFamily, + fontSize, + fontWeight, + letterSpacing, + textAlign, + fontStyle, + maxFontSizeMultiplier + } = propsIn; + if (noTextWrap || !children) + return [children]; + const props = { + ...extraProps + }; + return color && (props.color = color), fontFamily && (props.fontFamily = fontFamily), fontSize && (props.fontSize = fontSize), fontWeight && (props.fontWeight = fontWeight), letterSpacing && (props.letterSpacing = letterSpacing), textAlign && (props.textAlign = textAlign), size4 && (props.size = size4), fontStyle && (props.fontStyle = fontStyle), maxFontSizeMultiplier && (props.maxFontSizeMultiplier = maxFontSizeMultiplier), import_react27.default.Children.toArray(children).map((child, index3) => typeof child == "string" ? ( + // so "data-disable-theme" is a hack to fix themeInverse, don't ask me why + /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(TextComponent, { + ...props, + ...textProps, + children: child + }, index3) + ) : child); +} +__name(wrapChildrenInText, "wrapChildrenInText"); + +// node_modules/@tamagui/dialog/dist/esm/Dialog.mjs +var React11 = __toESM(require("react"), 1); +var import_jsx_runtime17 = require("react/jsx-runtime"); +var DIALOG_NAME = "Dialog"; +var [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME); +var [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME); +var TRIGGER_NAME = "DialogTrigger"; +var DialogTriggerFrame = (0, import_core14.styled)(import_core14.View, { + name: TRIGGER_NAME +}); +var DialogTrigger = DialogTriggerFrame.styleable((props, forwardedRef) => { + const { + __scopeDialog, + ...triggerProps + } = props, isInsideButton = React11.useContext(ButtonNestingContext), context = useDialogContext(TRIGGER_NAME, __scopeDialog), composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef); + return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(ButtonNestingContext.Provider, { + value: true, + children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(DialogTriggerFrame, { + tag: isInsideButton ? "span" : "button", + "aria-haspopup": "dialog", + "aria-expanded": context.open, + "aria-controls": context.contentId, + "data-state": getState(context.open), + ...triggerProps, + ref: composedTriggerRef, + onPress: composeEventHandlers(props.onPress, context.onOpenToggle) + }) + }); +}); +DialogTrigger.displayName = TRIGGER_NAME; +var PORTAL_NAME = "DialogPortal"; +var [PortalProvider2, usePortalContext] = createDialogContext(PORTAL_NAME, { + forceMount: void 0 +}); +var DialogPortalFrame = (0, import_core14.styled)(YStack, { + pointerEvents: "none", + variants: { + unstyled: { + false: { + alignItems: "center", + justifyContent: "center", + fullscreen: true, + zIndex: 1e5, + ...isWeb && { + maxHeight: "100vh", + position: "fixed" + } + } + } + }, + defaultVariants: { + unstyled: process.env.TAMAGUI_HEADLESS === "1" + } +}); +var DialogPortalItem = /* @__PURE__ */ __name((props) => { + const themeName = (0, import_core14.useThemeName)(), context = useDialogContext(PORTAL_NAME, props.__scopeDialog); + return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(PortalItem, { + hostName: props.hostName, + children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(DialogPortalItemContent, { + ...props, + themeName, + context + }) + }); +}, "DialogPortalItem"); +function DialogPortalItemContent(props) { + const { + __scopeDialog, + children, + context, + themeName, + space, + spaceDirection, + separator + } = props; + let childrenSpaced = children; + return (space || separator) && (childrenSpaced = (0, import_core14.spacedChildren)({ + children, + separator, + space, + direction: spaceDirection + })), /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(DialogProvider, { + scope: __scopeDialog, + ...context, + children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_core14.Theme, { + name: themeName, + children: childrenSpaced + }) + }); +} +__name(DialogPortalItemContent, "DialogPortalItemContent"); +var DialogPortal = /* @__PURE__ */ __name((props) => { + const { + __scopeDialog, + forceMount, + children, + ...frameProps + } = props, context = useDialogContext(PORTAL_NAME, __scopeDialog), isShowing = forceMount || context.open, [isFullyHidden, setIsFullyHidden] = React11.useState(!isShowing); + isShowing && isFullyHidden && setIsFullyHidden(false); + const handleExitComplete = React11.useCallback(() => { + setIsFullyHidden(true); + }, []), contents = /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(AnimatePresence, { + onExitComplete: handleExitComplete, + children: isShowing ? children : null + }); + if (useShowDialogSheet(context)) + return children; + if (context.modal) { + if (isFullyHidden) + return null; + const framedContents = /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(PortalProvider2, { + scope: __scopeDialog, + forceMount, + children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(DialogPortalFrame, { + pointerEvents: isShowing ? "auto" : "none", + ...frameProps, + children: contents + }) + }); + return isWeb ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Portal, { + zIndex: props.zIndex ?? 1e5, + children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(PassthroughTheme, { + children: framedContents + }) + }) : /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(DialogPortalItem, { + __scopeDialog, + children: framedContents + }); + } + return contents; +}, "DialogPortal"); +DialogPortal.displayName = PORTAL_NAME; +var PassthroughTheme = /* @__PURE__ */ __name(({ + children +}) => { + const themeName = (0, import_core14.useThemeName)(); + return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_core14.Theme, { + name: themeName, + forceClassName: true, + children + }); +}, "PassthroughTheme"); +var OVERLAY_NAME = "DialogOverlay"; +var DialogOverlayFrame = (0, import_core14.styled)(Overlay, { + name: OVERLAY_NAME +}); +var DialogOverlay = DialogOverlayFrame.extractable(React11.forwardRef(({ + __scopeDialog, + ...props +}, forwardedRef) => { + const portalContext = usePortalContext(OVERLAY_NAME, __scopeDialog), { + forceMount = portalContext.forceMount, + ...overlayProps + } = props, context = useDialogContext(OVERLAY_NAME, __scopeDialog), showSheet = useShowDialogSheet(context); + return !forceMount && (!context.modal || showSheet) ? null : /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(DialogOverlayImpl, { + context, + ...overlayProps, + ref: forwardedRef + }); +})); +DialogOverlay.displayName = OVERLAY_NAME; +var DialogOverlayImpl = React11.forwardRef((props, forwardedRef) => { + const { + context, + ...overlayProps + } = props; + return ( + // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll` + // ie. when `Overlay` and `Content` are siblings + /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(DialogOverlayFrame, { + "data-state": getState(context.open), + pointerEvents: context.open ? "auto" : "none", + ...overlayProps, + ref: forwardedRef + }) + ); +}); +var CONTENT_NAME = "DialogContent"; +var DialogContentFrame = (0, import_core14.styled)(ThemeableStack, { + name: CONTENT_NAME, + tag: "dialog", + variants: { + size: { + "...size": (val, extras) => ({}) + }, + unstyled: { + false: { + position: "relative", + backgrounded: true, + padded: true, + radiused: true, + elevate: true, + zIndex: 1e5 + } + } + }, + defaultVariants: { + size: "$true", + unstyled: process.env.TAMAGUI_HEADLESS === "1" + } +}); +var DialogContent = DialogContentFrame.extractable(React11.forwardRef(({ + __scopeDialog, + ...props +}, forwardedRef) => { + const portalContext = usePortalContext(CONTENT_NAME, __scopeDialog), { + forceMount = portalContext.forceMount, + ...contentProps + } = props, context = useDialogContext(CONTENT_NAME, __scopeDialog), contents = context.modal ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(DialogContentModal, { + context, + ...contentProps, + ref: forwardedRef + }) : /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(DialogContentNonModal, { + context, + ...contentProps, + ref: forwardedRef + }); + return !isWeb || context.disableRemoveScroll ? contents : /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(RemoveScroll, { + forwardProps: true, + enabled: context.open, + allowPinchZoom: context.allowPinchZoom, + shards: [context.contentRef], + removeScrollBar: false, + children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { + "data-remove-scroll-container": true, + className: "_dsp_contents", + children: contents + }) + }); +})); +DialogContent.displayName = CONTENT_NAME; +var DialogContentModal = React11.forwardRef(({ + children, + context, + ...props +}, forwardedRef) => { + const contentRef = React11.useRef(null), composedRefs = useComposedRefs(forwardedRef, context.contentRef, contentRef); + return isWeb && React11.useEffect(() => { + if (!context.open) + return; + const content = contentRef.current; + if (content) + return (0, import_aria_hidden.hideOthers)(content); + }, [context.open]), /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(DialogContentImpl, { + ...props, + context, + ref: composedRefs, + trapFocus: context.open, + disableOutsidePointerEvents: true, + onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => { + var _a; + event.preventDefault(), (_a = context.triggerRef.current) == null ? void 0 : _a.focus(); + }), + onPointerDownOutside: composeEventHandlers(props.onPointerDownOutside, (event) => { + const originalEvent = event.detail.originalEvent, ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true; + (originalEvent.button === 2 || ctrlLeftClick) && event.preventDefault(); + }), + onFocusOutside: composeEventHandlers(props.onFocusOutside, (event) => event.preventDefault()), + ...!props.unstyled && { + outlineStyle: "none" + }, + children + }); +}); +var DialogContentNonModal = React11.forwardRef((props, forwardedRef) => { + const hasInteractedOutsideRef = React11.useRef(false); + return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(DialogContentImpl, { + ...props, + ref: forwardedRef, + trapFocus: false, + disableOutsidePointerEvents: false, + onCloseAutoFocus: (event) => { + var _a, _b; + (_a = props.onCloseAutoFocus) == null ? void 0 : _a.call(props, event), event.defaultPrevented || (hasInteractedOutsideRef.current || ((_b = props.context.triggerRef.current) == null ? void 0 : _b.focus()), event.preventDefault()), hasInteractedOutsideRef.current = false; + }, + onInteractOutside: (event) => { + var _a; + (_a = props.onInteractOutside) == null ? void 0 : _a.call(props, event), event.defaultPrevented || (hasInteractedOutsideRef.current = true); + const target = event.target, trigger = props.context.triggerRef.current; + if (!(trigger instanceof HTMLElement)) + return; + trigger.contains(target) && event.preventDefault(); + } + }); +}); +var DialogContentImpl = React11.forwardRef((props, forwardedRef) => { + const { + __scopeDialog, + trapFocus, + onOpenAutoFocus, + onCloseAutoFocus, + disableOutsidePointerEvents, + onEscapeKeyDown, + onPointerDownOutside, + onFocusOutside, + onInteractOutside, + context, + ...contentProps + } = props, contentRef = React11.useRef(null), composedRefs = useComposedRefs(forwardedRef, contentRef), showSheet = useShowDialogSheet(context), contents = /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(DialogContentFrame, { + id: context.contentId, + "aria-describedby": context.descriptionId, + "aria-labelledby": context.titleId, + "data-state": getState(context.open), + ...contentProps + }); + return showSheet ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(DialogPortalItem, { + hostName: getSheetContentsName(context), + children: contentProps.children + }) : isWeb ? /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_jsx_runtime17.Fragment, { + children: [/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Dismissable, { + disableOutsidePointerEvents: context.open && disableOutsidePointerEvents, + forceUnmount: !context.open, + onEscapeKeyDown, + onPointerDownOutside, + onFocusOutside, + onInteractOutside, + ref: composedRefs, + onDismiss: () => context.onOpenChange(false), + children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(FocusScope, { + loop: true, + enabled: context.open, + trapped: trapFocus, + onMountAutoFocus: onOpenAutoFocus, + forceUnmount: !context.open, + onUnmountAutoFocus: onCloseAutoFocus, + children: contents + }) + }), process.env.NODE_ENV === "development" && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_jsx_runtime17.Fragment, { + children: [/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(TitleWarning, { + titleId: context.titleId + }), /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(DescriptionWarning, { + contentRef, + descriptionId: context.descriptionId + })] + })] + }) : contents; +}); +var TITLE_NAME = "DialogTitle"; +var DialogTitleFrame = (0, import_core14.styled)(H2, { + name: TITLE_NAME +}); +var DialogTitle = DialogTitleFrame.styleable((props, forwardedRef) => { + const { + __scopeDialog, + ...titleProps + } = props, context = useDialogContext(TITLE_NAME, __scopeDialog); + return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(DialogTitleFrame, { + id: context.titleId, + ...titleProps, + ref: forwardedRef + }); +}); +DialogTitle.displayName = TITLE_NAME; +var DialogDescriptionFrame = (0, import_core14.styled)(Paragraph, { + name: "DialogDescription" +}); +var DESCRIPTION_NAME = "DialogDescription"; +var DialogDescription = DialogDescriptionFrame.styleable((props, forwardedRef) => { + const { + __scopeDialog, + ...descriptionProps + } = props, context = useDialogContext(DESCRIPTION_NAME, __scopeDialog); + return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(DialogDescriptionFrame, { + id: context.descriptionId, + ...descriptionProps, + ref: forwardedRef + }); +}); +DialogDescription.displayName = DESCRIPTION_NAME; +var CLOSE_NAME = "DialogClose"; +var DialogCloseFrame = (0, import_core14.styled)(import_core14.View, { + name: CLOSE_NAME, + tag: "button" +}); +var DialogClose = DialogCloseFrame.styleable((props, forwardedRef) => { + const { + __scopeDialog, + displayWhenAdapted, + ...closeProps + } = props, context = useDialogContext(CLOSE_NAME, __scopeDialog, { + warn: false, + fallback: {} + }), isSheet = useShowDialogSheet(context), isInsideButton = React11.useContext(ButtonNestingContext); + return isSheet && !displayWhenAdapted ? null : /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(DialogCloseFrame, { + accessibilityLabel: "Dialog Close", + tag: isInsideButton ? "span" : "button", + ...closeProps, + ref: forwardedRef, + onPress: composeEventHandlers(props.onPress, () => { + context.onOpenChange(false); + }) + }); +}); +function getState(open) { + return open ? "open" : "closed"; +} +__name(getState, "getState"); +var TITLE_WARNING_NAME = "DialogTitleWarning"; +var [DialogWarningProvider, useWarningContext] = createContext3(TITLE_WARNING_NAME, { + contentName: CONTENT_NAME, + titleName: TITLE_NAME, + docsSlug: "dialog" +}); +var TitleWarning = /* @__PURE__ */ __name(({ + titleId +}) => { + if (process.env.NODE_ENV === "development") { + const titleWarningContext = useWarningContext(TITLE_WARNING_NAME), MESSAGE = `\`${titleWarningContext.contentName}\` requires a \`${titleWarningContext.titleName}\` for the component to be accessible for screen reader users. + +If you want to hide the \`${titleWarningContext.titleName}\`, you can wrap it with our VisuallyHidden component.`; + React11.useEffect(() => { + isWeb && titleId && (document.getElementById(titleId) || console.warn(MESSAGE)); + }, [MESSAGE, titleId]); + } + return null; +}, "TitleWarning"); +var DESCRIPTION_WARNING_NAME = "DialogDescriptionWarning"; +var DescriptionWarning = /* @__PURE__ */ __name(({ + contentRef, + descriptionId +}) => { + if (process.env.NODE_ENV === "development") { + const MESSAGE = `Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${useWarningContext(DESCRIPTION_WARNING_NAME).contentName}}.`; + React11.useEffect(() => { + if (!isWeb) + return; + const contentNode = contentRef.current; + if (!(contentNode instanceof HTMLElement)) + return; + const describedById = contentNode.getAttribute("aria-describedby"); + descriptionId && describedById && (document.getElementById(descriptionId) || console.warn(MESSAGE)); + }, [MESSAGE, contentRef, descriptionId]); + } + return null; +}, "DescriptionWarning"); +var Dialog = withStaticProperties(React11.forwardRef(function(props, ref) { + const { + __scopeDialog, + children, + open: openProp, + defaultOpen = false, + onOpenChange, + modal = true, + allowPinchZoom = false, + disableRemoveScroll = false + } = props, baseId = React11.useId(), scopeId = `scope-${baseId}`, contentId = `content-${baseId}`, titleId = `title-${baseId}`, descriptionId = `description-${baseId}`, scopeKey = __scopeDialog ? Object.keys(__scopeDialog)[0] : scopeId, sheetContentsName = getSheetContentsName({ + scopeKey, + contentId + }), triggerRef = React11.useRef(null), contentRef = React11.useRef(null), [open, setOpen] = useControllableState({ + prop: openProp, + defaultProp: defaultOpen, + onChange: onOpenChange + }), onOpenToggle = React11.useCallback(() => { + setOpen((prevOpen) => !prevOpen); + }, [setOpen]), context = { + scope: __scopeDialog, + scopeKey, + triggerRef, + contentRef, + contentId, + titleId, + descriptionId, + open, + onOpenChange: setOpen, + onOpenToggle, + modal, + allowPinchZoom + }, { + when, + AdaptProvider + } = useAdaptParent({ + Contents: React11.useCallback((props2) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(PortalHost, { + forwardProps: props2, + name: sheetContentsName + }), [sheetContentsName]) + }); + return React11.useImperativeHandle(ref, () => ({ + open: setOpen + }), [setOpen]), /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(AdaptProvider, { + children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(DialogProvider, { + ...context, + sheetBreakpoint: when, + disableRemoveScroll, + children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(DialogSheetController, { + onOpenChange: setOpen, + __scopeDialog, + children + }) + }) + }); +}), { + Trigger: DialogTrigger, + Portal: DialogPortal, + Overlay: DialogOverlay, + Content: DialogContent, + Title: DialogTitle, + Description: DialogDescription, + Close: DialogClose, + Sheet: Sheet.Controlled, + Adapt +}); +var SHEET_CONTENTS_NAME = "DialogSheetContents"; +var DialogSheetContents = /* @__PURE__ */ __name(({ + name, + ...props +}) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(PortalHost, { + forwardProps: props, + name +}), "DialogSheetContents"); +DialogSheetContents.displayName = SHEET_CONTENTS_NAME; +var getSheetContentsName = /* @__PURE__ */ __name(({ + scopeKey, + contentId +}) => `${scopeKey || contentId}SheetContents`, "getSheetContentsName"); +var DialogSheetController = /* @__PURE__ */ __name((props) => { + const context = useDialogContext("DialogSheetController", props.__scopeDialog), showSheet = useShowDialogSheet(context), breakpointActive = useSheetBreakpointActive(context), getShowSheet = (0, import_core14.useGet)(showSheet); + return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(SheetController, { + onOpenChange: (val) => { + getShowSheet() && props.onOpenChange(val); + }, + open: context.open, + hidden: breakpointActive === false, + children: props.children + }); +}, "DialogSheetController"); +var useSheetBreakpointActive = /* @__PURE__ */ __name((context) => { + const media = (0, import_core14.useMedia)(); + return context.sheetBreakpoint ? context.sheetBreakpoint === true ? true : media[context.sheetBreakpoint] : false; +}, "useSheetBreakpointActive"); +var useShowDialogSheet = /* @__PURE__ */ __name((context) => { + const breakpointActive = useSheetBreakpointActive(context); + return context.open === false ? false : breakpointActive; +}, "useShowDialogSheet"); + +// node_modules/@tamagui/alert-dialog/dist/esm/AlertDialog.mjs +var React12 = __toESM(require("react"), 1); +var import_jsx_runtime18 = require("react/jsx-runtime"); +var ROOT_NAME = "AlertDialog"; +var [createAlertDialogContext, createAlertDialogScope] = createContextScope(ROOT_NAME, [createDialogScope]); +var useDialogScope = createDialogScope(); +var TRIGGER_NAME2 = "AlertDialogTrigger"; +var NativeAlertDialogTriggerFrame = (0, import_core15.styled)(import_core15.View, { + name: TRIGGER_NAME2 +}); +var AlertDialogTrigger = React12.forwardRef((props, forwardedRef) => { + if (props.__native) { + const { + __native, + onPress, + __onPress, + ...rest + } = props; + return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(NativeAlertDialogTriggerFrame, { + ...rest, + onPress: composeEventHandlers(onPress, __onPress) + }); + } + const { + __scopeAlertDialog, + ...triggerProps + } = props, dialogScope = useDialogScope(__scopeAlertDialog); + return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(DialogTrigger, { + ...dialogScope, + ...triggerProps, + ref: forwardedRef + }); +}); +AlertDialogTrigger.displayName = TRIGGER_NAME2; +var PORTAL_NAME2 = "AlertDialogPortal"; +var AlertDialogPortal = /* @__PURE__ */ __name((props) => { + const { + __scopeAlertDialog, + ...portalProps + } = props, dialogScope = useDialogScope(__scopeAlertDialog); + return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(DialogPortal, { + ...dialogScope, + ...portalProps + }); +}, "AlertDialogPortal"); +AlertDialogPortal.displayName = PORTAL_NAME2; +var OVERLAY_NAME2 = "AlertDialogOverlay"; +var AlertDialogOverlayFrame = (0, import_core15.styled)(DialogOverlayFrame, { + name: OVERLAY_NAME2 +}); +var AlertDialogOverlay = AlertDialogOverlayFrame.extractable(React12.forwardRef((props, forwardedRef) => { + const { + __scopeAlertDialog, + ...overlayProps + } = props, dialogScope = useDialogScope(__scopeAlertDialog); + return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(DialogOverlay, { + ...dialogScope, + ...overlayProps, + ref: forwardedRef + }); +})); +AlertDialogOverlay.displayName = OVERLAY_NAME2; +var CONTENT_NAME2 = "AlertDialogContent"; +var [AlertDialogContentProvider, useAlertDialogContentContext] = createAlertDialogContext(CONTENT_NAME2); +var AlertDialogContent = React12.forwardRef((props, forwardedRef) => { + const { + __scopeAlertDialog, + children, + ...contentProps + } = props, dialogScope = useDialogScope(__scopeAlertDialog), contentRef = React12.useRef(null), composedRefs = useComposedRefs(forwardedRef, contentRef), cancelRef = React12.useRef(null); + return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(DialogWarningProvider, { + contentName: CONTENT_NAME2, + titleName: TITLE_NAME2, + docsSlug: "alert-dialog", + children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(AlertDialogContentProvider, { + scope: __scopeAlertDialog, + cancelRef, + children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(DialogContent, { + role: "alertdialog", + ...dialogScope, + ...contentProps, + ref: composedRefs, + onOpenAutoFocus: composeEventHandlers(contentProps.onOpenAutoFocus, (event) => { + var _a; + event.preventDefault(), isWeb && ((_a = cancelRef.current) == null ? void 0 : _a.focus({ + preventScroll: true + })); + }), + onPointerDownOutside: (event) => event.preventDefault(), + onInteractOutside: (event) => event.preventDefault(), + children: [/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_core15.Slottable, { + children + }), process.env.NODE_ENV === "development" && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(DescriptionWarning2, { + contentRef + })] + }) + }) + }); +}); +AlertDialogContent.displayName = CONTENT_NAME2; +var TITLE_NAME2 = "AlertDialogTitle"; +var AlertDialogTitle = React12.forwardRef((props, forwardedRef) => { + const { + __scopeAlertDialog, + ...titleProps + } = props, dialogScope = useDialogScope(__scopeAlertDialog); + return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(DialogTitle, { + ...dialogScope, + ...titleProps, + ref: forwardedRef + }); +}); +AlertDialogTitle.displayName = TITLE_NAME2; +var DESCRIPTION_NAME2 = "AlertDialogDescription"; +var AlertDialogDescription = React12.forwardRef((props, forwardedRef) => { + const { + __scopeAlertDialog, + ...descriptionProps + } = props, dialogScope = useDialogScope(__scopeAlertDialog); + return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(DialogDescription, { + ...dialogScope, + ...descriptionProps, + ref: forwardedRef + }); +}); +AlertDialogDescription.displayName = DESCRIPTION_NAME2; +var ACTION_NAME = "AlertDialogAction"; +var AlertDialogAction = React12.forwardRef((props, forwardedRef) => { + const { + __scopeAlertDialog, + ...actionProps + } = props, dialogScope = useDialogScope(__scopeAlertDialog); + return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(DialogClose, { + ...dialogScope, + ...actionProps, + ref: forwardedRef + }); +}); +AlertDialogAction.displayName = ACTION_NAME; +var CANCEL_NAME = "AlertDialogCancel"; +var AlertDialogCancel = React12.forwardRef((props, forwardedRef) => { + const { + __scopeAlertDialog, + ...cancelProps + } = props, { + cancelRef + } = useAlertDialogContentContext(CANCEL_NAME, __scopeAlertDialog), dialogScope = useDialogScope(__scopeAlertDialog), ref = useComposedRefs(forwardedRef, cancelRef); + return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(DialogClose, { + ...dialogScope, + ...cancelProps, + ref + }); +}); +AlertDialogCancel.displayName = CANCEL_NAME; +var DescriptionWarning2 = /* @__PURE__ */ __name(({ + contentRef +}) => (process.env.NODE_ENV === "development" && React12.useEffect(() => { + var _a; + if (!isWeb) + return; + document.getElementById( + // @ts-ignore + // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain + (_a = contentRef.current) == null ? void 0 : _a.getAttribute("aria-describedby") + ) || console.warn(`\`${CONTENT_NAME2}\` requires a description for the component to be accessible for screen reader users. + + You can add a description to the \`${CONTENT_NAME2}\` by passing a \`${DESCRIPTION_NAME2}\` component as a child, which also benefits sighted users by adding visible context to the dialog. + + Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${CONTENT_NAME2}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component. + + For more information, see https://tamagui.dev/docs/components/alert-dialog`); +}, [contentRef]), null), "DescriptionWarning"); +var AlertDialogInner = /* @__PURE__ */ __name((props) => { + const { + __scopeAlertDialog, + native, + ...alertDialogProps + } = props, dialogScope = useDialogScope(__scopeAlertDialog); + return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Dialog, { + ...dialogScope, + ...alertDialogProps, + modal: true + }); +}, "AlertDialogInner"); +var AlertDialog = withStaticProperties(AlertDialogInner, { + Trigger: AlertDialogTrigger, + Portal: AlertDialogPortal, + Overlay: AlertDialogOverlay, + Content: AlertDialogContent, + Action: AlertDialogAction, + Cancel: AlertDialogCancel, + Title: AlertDialogTitle, + Description: AlertDialogDescription +}); +AlertDialog.displayName = ROOT_NAME; + +// node_modules/@tamagui/avatar/dist/esm/Avatar.mjs +var import_core17 = require("@tamagui/core"); + +// node_modules/@tamagui/image/dist/esm/Image.mjs +var import_core16 = require("@tamagui/core"); +var import_react_native_web6 = __toESM(require_cjs20(), 1); +var import_jsx_runtime19 = require("react/jsx-runtime"); +var StyledImage = (0, import_core16.styled)(import_react_native_web6.Image, { + name: "Image" +}); +var hasWarned = false; +var Image = StyledImage.styleable((inProps, ref) => { + const [props, style] = (0, import_core16.usePropsAndStyle)(inProps), { + src, + source, + ...rest + } = props; + process.env.NODE_ENV === "development" && typeof src == "string" && (typeof props.width == "string" && props.width[0] !== "$" || typeof props.height == "string" && props.height[0] !== "$") && (hasWarned || (hasWarned = true, console.warn('React Native expects a numerical width/height. If you want to use a percent you must define the "source" prop with width, height, and uri.'))); + let finalSource = typeof src == "string" ? { + uri: src, + ...isWeb && { + width: props.width, + height: props.height + } + } : source ?? src; + return finalSource && typeof finalSource == "object" && finalSource.default && (finalSource = finalSource.default), /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(StyledImage, { + ref, + source: finalSource, + style, + ...rest + }); +}); +Image.getSize = import_react_native_web6.Image.getSize; +Image.getSizeWithHeaders = import_react_native_web6.Image.getSizeWithHeaders; +Image.prefetch = import_react_native_web6.Image.prefetch; +Image.prefetchWithMetadata = import_react_native_web6.Image.prefetchWithMetadata; +Image.abortPrefetch = import_react_native_web6.Image.abortPrefetch; +Image.queryCache = import_react_native_web6.Image.queryCache; + +// node_modules/@tamagui/shapes/dist/esm/Square.mjs +var import_web6 = require("@tamagui/core"); + +// node_modules/@tamagui/shapes/dist/esm/getShapeSize.mjs +var getShapeSize = /* @__PURE__ */ __name((size4, { + tokens +}) => { + const width = tokens.size[size4] ?? size4, height = tokens.size[size4] ?? size4; + return { + width, + height, + minWidth: width, + maxWidth: width, + maxHeight: height, + minHeight: height + }; +}, "getShapeSize"); + +// node_modules/@tamagui/shapes/dist/esm/Square.mjs +var Square = (0, import_web6.styled)(ThemeableStack, { + name: "Square", + alignItems: "center", + justifyContent: "center", + variants: { + size: { + "...size": getShapeSize, + ":number": getShapeSize + } + } +}); + +// node_modules/@tamagui/shapes/dist/esm/Circle.mjs +var import_web7 = require("@tamagui/core"); +var Circle = (0, import_web7.styled)(Square, { + name: "Circle", + circular: true +}); + +// node_modules/@tamagui/avatar/dist/esm/Avatar.mjs +var React13 = __toESM(require("react"), 1); +var import_jsx_runtime20 = require("react/jsx-runtime"); +var AVATAR_NAME = "Avatar"; +var [createAvatarContext, createAvatarScope] = createContextScope(AVATAR_NAME); +var [AvatarProvider, useAvatarContext] = createAvatarContext(AVATAR_NAME); +var IMAGE_NAME = "AvatarImage"; +var AvatarImage = React13.forwardRef((props, forwardedRef) => { + var _a; + const { + __scopeAvatar, + src, + onLoadingStatusChange = /* @__PURE__ */ __name(() => { + }, "onLoadingStatusChange"), + ...imageProps + } = props, context = useAvatarContext(IMAGE_NAME, __scopeAvatar), [status, setStatus] = React13.useState("idle"), shapeSize = (0, import_core17.getVariableValue)((_a = getShapeSize( + context.size, + // @ts-expect-error + { + tokens: (0, import_core17.getTokens)() + } + )) == null ? void 0 : _a.width); + return React13.useEffect(() => { + setStatus("idle"); + }, [JSON.stringify(src)]), React13.useEffect(() => { + onLoadingStatusChange(status), context.onImageLoadingStatusChange(status); + }, [status]), /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(YStack, { + fullscreen: true, + zIndex: 1, + children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Image, { + fullscreen: true, + ...typeof shapeSize == "number" && !Number.isNaN(shapeSize) && { + width: shapeSize, + height: shapeSize + }, + ...imageProps, + ref: forwardedRef, + src, + onError: () => { + setStatus("error"); + }, + onLoad: () => { + setStatus("loaded"); + } + }) + }); +}); +AvatarImage.displayName = IMAGE_NAME; +var FALLBACK_NAME = "AvatarFallback"; +var AvatarFallbackFrame = (0, import_core17.styled)(YStack, { + name: FALLBACK_NAME, + position: "absolute", + fullscreen: true, + zIndex: 0 +}); +var AvatarFallback = AvatarFallbackFrame.extractable(React13.forwardRef((props, forwardedRef) => { + const { + __scopeAvatar, + delayMs, + ...fallbackProps + } = props, context = useAvatarContext(FALLBACK_NAME, __scopeAvatar), [canRender, setCanRender] = React13.useState(delayMs === void 0); + return React13.useEffect(() => { + if (delayMs !== void 0) { + const timerId = setTimeout(() => setCanRender(true), delayMs); + return () => clearTimeout(timerId); + } + }, [delayMs]), canRender && context.imageLoadingStatus !== "loaded" ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(AvatarFallbackFrame, { + ...fallbackProps, + ref: forwardedRef + }) : null; +})); +AvatarFallback.displayName = FALLBACK_NAME; +var AvatarFrame = (0, import_core17.styled)(Square, { + name: AVATAR_NAME, + position: "relative", + overflow: "hidden" +}); +var Avatar = withStaticProperties(React13.forwardRef((props, forwardedRef) => { + const { + __scopeAvatar, + size: size4 = "$true", + ...avatarProps + } = props, [imageLoadingStatus, setImageLoadingStatus] = React13.useState("idle"); + return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(AvatarProvider, { + size: size4, + scope: __scopeAvatar, + imageLoadingStatus, + onImageLoadingStatusChange: setImageLoadingStatus, + children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(AvatarFrame, { + size: size4, + ...avatarProps, + ref: forwardedRef + }) + }); +}), { + Image: AvatarImage, + Fallback: AvatarFallback +}); +Avatar.displayName = AVATAR_NAME; + +// node_modules/@tamagui/font-size/dist/esm/getFontSize.mjs +var import_core18 = require("@tamagui/core"); +var getFontSize = /* @__PURE__ */ __name((inSize, opts) => { + const res = getFontSizeVariable(inSize, opts); + return (0, import_core18.isVariable)(res) ? +res.val : res ? +res : 16; +}, "getFontSize"); +var getFontSizeVariable = /* @__PURE__ */ __name((inSize, opts) => { + const token = getFontSizeToken(inSize, opts); + return token ? (0, import_core18.getConfig)().fontsParsed[(opts == null ? void 0 : opts.font) || "$body"].size[token] : inSize; +}, "getFontSizeVariable"); +var getFontSizeToken = /* @__PURE__ */ __name((inSize, opts) => { + if (typeof inSize == "number") + return null; + const relativeSize = (opts == null ? void 0 : opts.relativeSize) || 0, fontSize = (0, import_core18.getConfig)().fontsParsed[(opts == null ? void 0 : opts.font) || "$body"].size, size4 = (inSize === "$true" && !("$true" in fontSize) ? "$4" : inSize) ?? ("$true" in fontSize ? "$true" : "$4"), sizeTokens = Object.keys(fontSize); + let foundIndex = sizeTokens.indexOf(size4); + foundIndex === -1 && size4.endsWith(".5") && (foundIndex = sizeTokens.indexOf(size4.replace(".5", ""))), process.env.NODE_ENV === "development" && foundIndex === -1 && console.warn("No font size found", size4, opts, "in size tokens", sizeTokens); + const tokenIndex = Math.min(Math.max(0, foundIndex + relativeSize), sizeTokens.length - 1); + return sizeTokens[tokenIndex] ?? size4; +}, "getFontSizeToken"); + +// node_modules/@tamagui/helpers-tamagui/dist/esm/prevent.mjs +var prevent = /* @__PURE__ */ __name((e) => [e.preventDefault(), e.stopPropagation()], "prevent"); + +// node_modules/@tamagui/helpers-tamagui/dist/esm/useCurrentColor.mjs +var import_web8 = require("@tamagui/core"); +var useCurrentColor = /* @__PURE__ */ __name((colorProp) => { + var _a, _b; + const theme = (0, import_web8.useTheme)(); + return (0, import_web8.getVariable)(colorProp || ((_a = theme[colorProp]) == null ? void 0 : _a.get("web")) || ((_b = theme.color) == null ? void 0 : _b.get("web"))); +}, "useCurrentColor"); + +// node_modules/@tamagui/helpers-tamagui/dist/esm/useGetThemedIcon.mjs +var import_react28 = require("react"); +var useGetThemedIcon = /* @__PURE__ */ __name((props) => { + const color = useCurrentColor(props.color); + return (el) => el && ((0, import_react28.isValidElement)(el) ? (0, import_react28.cloneElement)(el, { + ...props, + color, + // @ts-expect-error + ...el.props + }) : (0, import_react28.createElement)(el, props)); +}, "useGetThemedIcon"); + +// node_modules/@tamagui/button/dist/esm/Button.mjs +var import_web9 = require("@tamagui/core"); +var import_react29 = require("react"); +var import_jsx_runtime21 = require("react/jsx-runtime"); +var ButtonContext = (0, import_web9.createStyledContext)({ + // keeping these here means they work with styled() passing down color to text + color: void 0, + ellipse: void 0, + fontFamily: void 0, + fontSize: void 0, + fontStyle: void 0, + fontWeight: void 0, + letterSpacing: void 0, + maxFontSizeMultiplier: void 0, + size: void 0, + textAlign: void 0, + variant: void 0 +}); +var BUTTON_NAME = "Button"; +var ButtonFrame = (0, import_web9.styled)(ThemeableStack, { + name: BUTTON_NAME, + tag: "button", + context: ButtonContext, + role: "button", + focusable: true, + variants: { + unstyled: { + false: { + size: "$true", + justifyContent: "center", + alignItems: "center", + flexWrap: "nowrap", + flexDirection: "row", + cursor: "pointer", + hoverTheme: true, + pressTheme: true, + backgrounded: true, + borderWidth: 1, + borderColor: "transparent", + focusVisibleStyle: { + outlineColor: "$outlineColor", + outlineStyle: "solid", + outlineWidth: 2 + } + } + }, + variant: { + outlined: { + backgroundColor: "transparent", + borderWidth: 2, + borderColor: "$borderColor", + hoverStyle: { + backgroundColor: "transparent", + borderColor: "$borderColorHover" + }, + pressStyle: { + backgroundColor: "transparent", + borderColor: "$borderColorPress" + }, + focusVisibleStyle: { + backgroundColor: "transparent", + borderColor: "$borderColorFocus" + } + } + }, + size: { + "...size": getButtonSized, + ":number": getButtonSized + }, + disabled: { + true: { + pointerEvents: "none" + } + } + }, + defaultVariants: { + unstyled: process.env.TAMAGUI_HEADLESS === "1" + } +}); +var ButtonText = (0, import_web9.styled)(SizableText, { + name: "Button", + context: ButtonContext, + variants: { + unstyled: { + false: { + userSelect: "none", + cursor: "pointer", + // flexGrow 1 leads to inconsistent native style where text pushes to start of view + flexGrow: 0, + flexShrink: 1, + ellipse: true, + color: "$color" + } + } + }, + defaultVariants: { + unstyled: process.env.TAMAGUI_HEADLESS === "1" + } +}); +var ButtonIcon = /* @__PURE__ */ __name((props) => { + const { + children, + scaleIcon = 1 + } = props, { + size: size4, + color + } = (0, import_react29.useContext)(ButtonContext), iconSize = (typeof size4 == "number" ? size4 * 0.5 : getFontSize(size4)) * scaleIcon; + return useGetThemedIcon({ + size: iconSize, + color + })(children); +}, "ButtonIcon"); +var ButtonComponent = ButtonFrame.styleable(function(props, ref) { + const { + props: buttonProps + } = useButton(props); + return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(ButtonFrame, { + ...buttonProps, + ref + }); +}); +var buttonStaticConfig = { + inlineProps: /* @__PURE__ */ new Set([ + // text props go here (can't really optimize them, but we never fully extract button anyway) + // may be able to remove this entirely, as the compiler / runtime have gotten better + "color", + "fontWeight", + "fontSize", + "fontFamily", + "fontStyle", + "letterSpacing", + "textAlign", + "unstyled" + ]) +}; +var Button2 = withStaticProperties(ButtonComponent, { + Text: ButtonText, + Icon: ButtonIcon +}); +function useButton({ + textProps, + ...propsIn +}, { + Text: Text4 = Button2.Text +} = { + Text: Button2.Text +}) { + const isNested = (0, import_react29.useContext)(ButtonNestingContext), propsActive = (0, import_web9.useProps)(propsIn, { + noNormalize: true, + noExpand: true + }), { + icon, + iconAfter, + space, + spaceFlex, + scaleIcon = 1, + scaleSpace = 0.66, + separator, + noTextWrap, + fontFamily, + fontSize, + fontWeight, + fontStyle, + letterSpacing, + tag, + ellipse, + maxFontSizeMultiplier, + ...restProps + } = propsActive, size4 = propsActive.size || (propsActive.unstyled ? void 0 : "$true"), color = propsActive.color, iconSize = (typeof size4 == "number" ? size4 * 0.5 : getFontSize(size4, { + font: (fontFamily == null ? void 0 : fontFamily[0]) === "$" ? fontFamily : void 0 + })) * scaleIcon, getThemedIcon = useGetThemedIcon({ + size: iconSize, + color + }), [themedIcon, themedIconAfter] = [icon, iconAfter].map(getThemedIcon), spaceSize = space ?? (0, import_web9.getVariableValue)(iconSize) * scaleSpace, contents = noTextWrap ? [propsIn.children] : wrapChildrenInText(Text4, { + children: propsIn.children, + fontFamily, + fontSize, + textProps, + fontWeight, + fontStyle, + letterSpacing, + ellipse, + maxFontSizeMultiplier + }, Text4 === ButtonText && propsActive.unstyled !== true ? { + unstyled: process.env.TAMAGUI_HEADLESS === "1", + size: size4 + } : void 0), inner2 = (0, import_web9.spacedChildren)({ + // a bit arbitrary but scaling to font size is necessary so long as button does + space: spaceSize, + spaceFlex, + separator, + direction: propsActive.flexDirection === "column" || propsActive.flexDirection === "column-reverse" ? "vertical" : "horizontal", + children: [themedIcon, ...contents, themedIconAfter] + }), props = { + size: size4, + ...propsIn.disabled && { + // in rnw - false still has keyboard tabIndex, undefined = not actually focusable + focusable: void 0, + // even with tabIndex unset, it will keep focusVisibleStyle on web so disable it here + focusVisibleStyle: { + borderColor: "$background" + } + }, + // fixes SSR issue + DOM nesting issue of not allowing button in button + tag: tag ?? (isNested ? "span" : ( + // defaults to when accessibilityRole = link + // see https://github.com/tamagui/tamagui/issues/505 + propsActive.accessibilityRole === "link" || propsActive.role === "link" ? "a" : "button" + )), + ...restProps, + children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(ButtonNestingContext.Provider, { + value: true, + children: inner2 + }), + // forces it to be a runtime pressStyle so it passes through context text colors + disableClassName: true + }; + return { + spaceSize, + isNested, + props + }; +} +__name(useButton, "useButton"); + +// node_modules/@tamagui/card/dist/esm/Card.mjs +var import_web10 = require("@tamagui/core"); +var CardContext = (0, import_web10.createStyledContext)({ + size: "$true" +}); +var CardFrame = (0, import_web10.styled)(ThemeableStack, { + name: "Card", + context: CardContext, + variants: { + unstyled: { + false: { + size: "$true", + backgroundColor: "$background", + position: "relative" + } + }, + size: { + "...size": (val, { + tokens + }) => ({ + borderRadius: tokens.radius[val] ?? val + }) + } + }, + defaultVariants: { + unstyled: process.env.TAMAGUI_HEADLESS === "1" + } +}); +var CardHeader = (0, import_web10.styled)(ThemeableStack, { + name: "CardHeader", + context: CardContext, + variants: { + unstyled: { + false: { + zIndex: 10, + backgroundColor: "transparent", + marginBottom: "auto" + } + }, + size: { + "...size": (val, { + tokens + }) => ({ + padding: tokens.space[val] ?? val + }) + } + }, + defaultVariants: { + unstyled: process.env.TAMAGUI_HEADLESS === "1" + } +}); +var CardFooter = (0, import_web10.styled)(CardHeader, { + name: "CardFooter", + variants: { + unstyled: { + false: { + zIndex: 5, + flexDirection: "row", + marginTop: "auto", + marginBottom: 0 + } + } + }, + defaultVariants: { + unstyled: process.env.TAMAGUI_HEADLESS === "1" + } +}); +var CardBackground = (0, import_web10.styled)(ThemeableStack, { + name: "CardBackground", + variants: { + unstyled: { + false: { + zIndex: 0, + fullscreen: true, + overflow: "hidden", + pointerEvents: "none", + padding: 0 + } + } + }, + defaultVariants: { + unstyled: process.env.TAMAGUI_HEADLESS === "1" + } +}); +var Card = (0, import_web10.withStaticProperties)(CardFrame, { + Header: CardHeader, + Footer: CardFooter, + Background: CardBackground +}); + +// node_modules/@tamagui/checkbox/dist/esm/Checkbox.mjs +var import_core20 = require("@tamagui/core"); + +// node_modules/@tamagui/checkbox/dist/esm/CheckboxStyledContext.mjs +var import_core19 = require("@tamagui/core"); +var CheckboxStyledContext = (0, import_core19.createStyledContext)({ + size: "$true", + scaleIcon: 1 +}); + +// node_modules/@tamagui/checkbox/dist/esm/Checkbox.mjs +var INDICATOR_NAME = "CheckboxIndicator"; +var CheckboxIndicatorFrame = (0, import_core20.styled)(ThemeableStack, { + // use Checkbox for easier themes + name: INDICATOR_NAME, + context: CheckboxStyledContext, + variants: { + unstyled: { + false: {} + } + }, + defaultVariants: { + unstyled: process.env.TAMAGUI_HEADLESS === "1" + } +}); +var CHECKBOX_NAME = "Checkbox"; +var CheckboxFrame = (0, import_core20.styled)(ThemeableStack, { + name: CHECKBOX_NAME, + tag: "button", + context: CheckboxStyledContext, + variants: { + unstyled: { + false: { + size: "$true", + backgroundColor: "$background", + alignItems: "center", + justifyContent: "center", + pressTheme: true, + focusable: true, + borderWidth: 1, + borderColor: "$borderColor", + hoverStyle: { + borderColor: "$borderColorHover" + }, + focusStyle: { + borderColor: "$borderColorFocus" + }, + focusVisibleStyle: { + outlineStyle: "solid", + outlineWidth: 2, + outlineColor: "$outlineColor" + } + } + }, + disabled: { + true: { + pointerEvents: "none", + userSelect: "none", + cursor: "not-allowed", + hoverStyle: { + borderColor: "$borderColor", + backgroundColor: "$background" + }, + pressStyle: { + borderColor: "$borderColor", + backgroundColor: "$backgroundColor" + }, + focusStyle: { + outlineWidth: 0 + } + } + }, + size: { + "...size": (val) => ({ + borderRadius: (0, import_core20.getVariableValue)(getSize(val)) / 8 + }) + } + }, + defaultVariants: { + unstyled: process.env.TAMAGUI_HEADLESS === "1" + } +}); + +// node_modules/@tamagui/focusable/dist/esm/registerFocusable.mjs +var registerFocusable = /* @__PURE__ */ __name((id, input) => () => { +}, "registerFocusable"); +var focusFocusable = /* @__PURE__ */ __name((id) => { +}, "focusFocusable"); + +// node_modules/@tamagui/focusable/dist/esm/focusableInputHOC.mjs +var import_web11 = require("@tamagui/core"); +var import_react30 = require("react"); +var import_jsx_runtime22 = require("react/jsx-runtime"); +function useFocusable({ + isInput, + props, + ref +}) { + const { + id, + onChangeText, + value, + defaultValue: defaultValue2 + } = props, inputValue = (0, import_react30.useRef)(value || defaultValue2 || ""), unregisterFocusable = (0, import_react30.useRef)(), inputRef = (0, import_react30.useCallback)((input) => { + var _a; + id && input && ((_a = unregisterFocusable.current) == null ? void 0 : _a.call(unregisterFocusable), unregisterFocusable.current = registerFocusable(id, { + focus: input.focus, + ...isInput && { + // react-native doesn't support programmatic .select() + focusAndSelect() { + input.focus(), input.setSelection && typeof inputValue.current == "string" && input.setSelection(0, inputValue.current.length); + } + } + })); + }, [isInput, id]), combinedRefs = composeRefs(ref, inputRef); + return (0, import_react30.useEffect)(() => () => { + var _a; + (_a = unregisterFocusable.current) == null ? void 0 : _a.call(unregisterFocusable); + }, []), { + ref: combinedRefs, + onChangeText: (0, import_web11.useEvent)((value2) => { + inputValue.current = value2, onChangeText == null ? void 0 : onChangeText(value2); + }) + }; +} +__name(useFocusable, "useFocusable"); + +// node_modules/@tamagui/label/dist/esm/Label.mjs +var import_web12 = require("@tamagui/core"); +var React14 = __toESM(require("react"), 1); +var import_jsx_runtime23 = require("react/jsx-runtime"); +var NAME = "Label"; +var [LabelProvider, useLabelContextImpl] = createContext3(NAME, { + id: void 0, + controlRef: { + current: null + } +}); +var LabelFrame = (0, import_web12.styled)(SizableText, { + name: "Label", + tag: "label", + variants: { + unstyled: { + false: { + size: "$true", + color: "$color", + backgroundColor: "transparent", + display: "flex", + alignItems: "center", + userSelect: "none", + cursor: "default", + pressStyle: { + color: "$colorPress" + } + } + }, + size: { + "...size": (val, extras) => { + var _a; + const buttonHeight = (_a = getButtonSized(val, extras)) == null ? void 0 : _a.height; + return { + ...getFontSized(val, extras), + lineHeight: buttonHeight ? extras.tokens.size[buttonHeight] : void 0 + }; + } + } + }, + defaultVariants: { + unstyled: process.env.TAMAGUI_HEADLESS === "1" + } +}); +var LabelComponent = React14.forwardRef((props, forwardedRef) => { + const { + htmlFor, + id: idProp, + ...labelProps + } = props, controlRef = React14.useRef(null), ref = React14.useRef(null), composedRefs = useComposedRefs(forwardedRef, ref), backupId = React14.useId(), id = idProp ?? backupId; + return isWeb && React14.useEffect(() => { + if (htmlFor) { + const element = document.getElementById(htmlFor); + if (ref.current && element) { + const getAriaLabel = /* @__PURE__ */ __name(() => element.getAttribute("aria-labelledby"), "getAriaLabel"), ariaLabelledBy = [id, getAriaLabel()].filter(Boolean).join(" "); + return element.setAttribute("aria-labelledby", ariaLabelledBy), controlRef.current = element, () => { + var _a; + if (!id) + return; + const ariaLabelledBy2 = (_a = getAriaLabel()) == null ? void 0 : _a.replace(id, ""); + ariaLabelledBy2 === "" ? element.removeAttribute("aria-labelledby") : ariaLabelledBy2 && element.setAttribute("aria-labelledby", ariaLabelledBy2); + }; + } + } + }, [id, htmlFor]), /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(LabelProvider, { + id, + controlRef, + children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(LabelFrame, { + id, + htmlFor, + ...labelProps, + ref: composedRefs, + onMouseDown: (event) => { + var _a; + (_a = props.onMouseDown) == null ? void 0 : _a.call(props, event), !event.defaultPrevented && event.detail > 1 && event.preventDefault(); + }, + onPress: (event) => { + var _a; + if ((_a = props.onPress) == null ? void 0 : _a.call(props, event), isWeb) { + if (htmlFor || !controlRef.current || event.defaultPrevented) + return; + const isClickingControl = controlRef.current.contains(event.target), isUserClick = event.isTrusted === true; + !isClickingControl && isUserClick && (controlRef.current.click(), controlRef.current.focus()); + } else + props.htmlFor && focusFocusable(props.htmlFor); + } + }) + }); +}); +LabelComponent.displayName = NAME; +var Label = LabelFrame.extractable((0, import_web12.themeable)(LabelComponent), { + neverFlatten: true +}); +var useLabelContext = /* @__PURE__ */ __name((element) => { + const context = useLabelContextImpl("LabelConsumer"), { + controlRef + } = context; + return React14.useEffect(() => { + element && (controlRef.current = element); + }, [element, controlRef]), context.id; +}, "useLabelContext"); + +// node_modules/@tamagui/checkbox-headless/dist/esm/useCheckbox.mjs +var import_react32 = __toESM(require("react"), 1); + +// node_modules/@tamagui/use-previous/dist/esm/index.mjs +var import_react31 = require("react"); +function usePrevious(value) { + const ref = (0, import_react31.useRef)({ + value, + previous: value + }); + return (0, import_react31.useMemo)(() => (ref.current.value !== value && (ref.current.previous = ref.current.value, ref.current.value = value), ref.current.previous), [value]); +} +__name(usePrevious, "usePrevious"); + +// node_modules/@tamagui/checkbox-headless/dist/esm/BubbleInput.mjs +var React15 = __toESM(require("react"), 1); + +// node_modules/@tamagui/checkbox-headless/dist/esm/utils.mjs +function isIndeterminate(checked) { + return checked === "indeterminate"; +} +__name(isIndeterminate, "isIndeterminate"); +function getState2(checked) { + return isIndeterminate(checked) ? "indeterminate" : checked ? "checked" : "unchecked"; +} +__name(getState2, "getState"); + +// node_modules/@tamagui/checkbox-headless/dist/esm/BubbleInput.mjs +var import_jsx_runtime24 = require("react/jsx-runtime"); +var BubbleInput = /* @__PURE__ */ __name((props) => { + const { + checked, + bubbles = true, + control, + isHidden: isHidden2, + ...inputProps + } = props, ref = React15.useRef(null), prevChecked = usePrevious(checked); + return React15.useEffect(() => { + const input = ref.current, inputProto = window.HTMLInputElement.prototype, setChecked = Object.getOwnPropertyDescriptor(inputProto, "checked").set; + if (prevChecked !== checked && setChecked) { + const event = new Event("click", { + bubbles + }); + input.indeterminate = isIndeterminate(checked), setChecked.call(input, isIndeterminate(checked) ? false : checked), input.dispatchEvent(event); + } + }, [prevChecked, checked, bubbles]), /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("input", { + type: "checkbox", + defaultChecked: isIndeterminate(checked) ? false : checked, + ...inputProps, + tabIndex: -1, + ref, + "aria-hidden": isHidden2, + style: { + ...isHidden2 ? { + // ...controlSize, + position: "absolute", + pointerEvents: "none", + opacity: 0, + margin: 0 + } : { + appearance: "auto", + accentColor: "var(--color6)" + }, + ...props.style + } + }); +}, "BubbleInput"); + +// node_modules/@tamagui/checkbox-headless/dist/esm/useCheckbox.mjs +var import_jsx_runtime25 = require("react/jsx-runtime"); +function useCheckbox(props, [checked, setChecked], ref) { + const { + labelledBy: ariaLabelledby, + name, + required, + disabled, + value = "on", + onCheckedChange, + ...checkboxProps + } = props, [button, setButton] = import_react32.default.useState(null), composedRefs = useComposedRefs(ref, (node) => setButton(node)), hasConsumerStoppedPropagationRef = import_react32.default.useRef(false), isFormControl = isWeb ? button ? !!button.closest("form") : true : false, labelId = useLabelContext(button), labelledBy = ariaLabelledby || labelId; + return { + bubbleInput: isWeb && isFormControl ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(BubbleInput, { + isHidden: true, + control: button, + bubbles: !hasConsumerStoppedPropagationRef.current, + name, + value, + checked, + required, + disabled + }) : null, + checkboxRef: composedRefs, + checkboxProps: { + role: "checkbox", + "aria-labelledby": labelledBy, + "aria-checked": isIndeterminate(checked) ? "mixed" : checked, + ...checkboxProps, + ...isWeb && { + type: "button", + value, + "data-state": getState2(checked), + "data-disabled": disabled ? "" : void 0, + disabled, + onKeyDown: composeEventHandlers(props.onKeyDown, (event) => { + event.key === "Enter" && event.preventDefault(); + }) + }, + onPress: composeEventHandlers(props.onPress, (event) => { + setChecked((prevChecked) => isIndeterminate(prevChecked) ? true : !prevChecked), isFormControl && "isPropagationStopped" in event && (hasConsumerStoppedPropagationRef.current = event.isPropagationStopped(), hasConsumerStoppedPropagationRef.current || event.stopPropagation()); + }) + } + }; +} +__name(useCheckbox, "useCheckbox"); + +// node_modules/@tamagui/checkbox/dist/esm/createCheckbox.mjs +var import_core21 = require("@tamagui/core"); +var import_react33 = __toESM(require("react"), 1); +var import_jsx_runtime26 = require("react/jsx-runtime"); +var CheckboxContext = import_react33.default.createContext({ + checked: false, + disabled: false +}); +var ensureContext = /* @__PURE__ */ __name((x) => { + x.context || (x.context = CheckboxContext); +}, "ensureContext"); +function createCheckbox(createProps) { + const { + disableActiveTheme, + Frame: Frame2 = CheckboxFrame, + Indicator = CheckboxIndicatorFrame + } = createProps; + ensureContext(Frame2), ensureContext(Indicator); + const FrameComponent = Frame2.styleable(function(_props, forwardedRef) { + const { + scaleSize = 0.45, + sizeAdjust = 0, + scaleIcon, + checked: checkedProp, + defaultChecked, + onCheckedChange, + native, + unstyled = false, + ...props + } = _props, propsActive = (0, import_core21.useProps)(props), styledContext = import_react33.default.useContext(CheckboxStyledContext); + let adjustedSize = 0, size4 = 0; + unstyled || (adjustedSize = (0, import_core21.getVariableValue)(getSize(propsActive.size ?? (styledContext == null ? void 0 : styledContext.size) ?? "$true", { + shift: sizeAdjust + })), size4 = scaleSize ? Math.round(adjustedSize * scaleSize) : adjustedSize); + const [checked = false, setChecked] = useControllableState({ + prop: checkedProp, + defaultProp: defaultChecked, + onChange: onCheckedChange + }), { + checkboxProps, + checkboxRef, + bubbleInput + } = useCheckbox( + // @ts-ignore + propsActive, + [checked, setChecked], + forwardedRef + ); + return (0, import_core21.shouldRenderNativePlatform)(native) === "web" ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("input", { + type: "checkbox", + defaultChecked: isIndeterminate(checked) ? false : checked, + tabIndex: -1, + ref: checkboxRef, + disabled: checkboxProps.disabled, + style: { + appearance: "auto", + accentColor: "var(--color6)", + ...checkboxProps.style + // TODO: any + } + }) : /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(CheckboxContext.Provider, { + value: { + checked, + disabled: checkboxProps.disabled + }, + children: /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(CheckboxStyledContext.Provider, { + size: propsActive.size ?? (styledContext == null ? void 0 : styledContext.size) ?? "$true", + scaleIcon: scaleIcon ?? (styledContext == null ? void 0 : styledContext.scaleIcon) ?? 1, + children: [/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Frame2, { + ...!unstyled && { + width: size4, + height: size4 + }, + tag: "button", + ref: checkboxRef, + unstyled, + ...unstyled === false && { + size: size4, + theme: checked ? "active" : null + }, + checked, + disabled: checkboxProps.disabled, + ...checkboxProps, + children: propsActive.children + }), bubbleInput] + }) + }); + }), IndicatorComponent = Indicator.styleable((props, forwardedRef) => { + const { + // __scopeCheckbox, + children: childrenProp, + forceMount, + disablePassStyles, + unstyled = false, + ...indicatorProps + } = props, styledContext = import_react33.default.useContext(CheckboxStyledContext); + let children = childrenProp; + if (!unstyled) { + const iconSize = (typeof styledContext.size == "number" ? styledContext.size * 0.65 : getFontSize(styledContext.size)) * styledContext.scaleIcon, theme = (0, import_core21.useTheme)(), getThemedIcon = useGetThemedIcon({ + size: iconSize, + color: theme.color + }); + children = import_react33.default.Children.toArray(childrenProp).map((child) => disablePassStyles || !import_react33.default.isValidElement(child) ? child : getThemedIcon(child)); + } + const context = (0, import_react33.useContext)(CheckboxContext); + return forceMount || isIndeterminate(context.checked) || context.checked === true ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Indicator, { + pointerEvents: "none", + ...indicatorProps, + ref: forwardedRef, + children + }) : null; + }); + return (0, import_core21.withStaticProperties)(FrameComponent, { + Indicator: IndicatorComponent + }); +} +__name(createCheckbox, "createCheckbox"); + +// node_modules/@tamagui/checkbox/dist/esm/index.mjs +var Checkbox = createCheckbox({ + Frame: CheckboxFrame, + Indicator: CheckboxIndicatorFrame +}); + +// node_modules/@tamagui/form/dist/esm/Form.mjs +var import_core22 = require("@tamagui/core"); +var import_jsx_runtime27 = require("react/jsx-runtime"); +var FORM_NAME = "Form"; +var FormFrame = (0, import_core22.styled)(import_core22.Stack, { + name: FORM_NAME, + tag: "form" +}); +var [createFormContext] = createContextScope(FORM_NAME); +var [FormProvider, useFormContext] = createFormContext(FORM_NAME); +var TRIGGER_NAME3 = "FormTrigger"; +var FormTriggerFrame = (0, import_core22.styled)(import_core22.View, { + name: TRIGGER_NAME3 +}); +var FormTrigger = FormTriggerFrame.styleable((props, forwardedRef) => { + const { + __scopeForm, + children, + onPress, + ...triggerProps + } = props, context = useFormContext(TRIGGER_NAME3, __scopeForm); + return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(FormTriggerFrame, { + tag: "button", + ...triggerProps, + ref: forwardedRef, + onPress: composeEventHandlers(onPress, context.onSubmit), + children + }); +}); +var FormComponent = FormFrame.extractable(function({ + onSubmit, + ...props +}) { + return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(FormProvider, { + scope: props.__scopeForm, + onSubmit, + children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(FormFrame, { + ...props, + onSubmit: (e) => e.preventDefault() + }) + }); +}); +var Form2 = withStaticProperties(FormComponent, { + Trigger: FormTrigger +}); + +// node_modules/@tamagui/group/dist/esm/Group.mjs +var import_core23 = require("@tamagui/core"); +var import_react35 = __toESM(require("react"), 1); +var import_react_native_web7 = __toESM(require_cjs20(), 1); +var import_reforest = __toESM(require_dist(), 1); +var import_jsx_runtime28 = require("react/jsx-runtime"); +var GROUP_NAME = "Group"; +var [createGroupContext, createGroupScope] = createContextScope(GROUP_NAME); +var [GroupProvider, useGroupContext] = createGroupContext(GROUP_NAME); +var GroupFrame = (0, import_core23.styled)(ThemeableStack, { + name: "GroupFrame", + variants: { + unstyled: { + false: { + size: "$true" + } + }, + size: (val, { + tokens + }) => ({ + borderRadius: tokens.radius[val] ?? val ?? tokens.radius.$true + }) + }, + defaultVariants: { + unstyled: process.env.TAMAGUI_HEADLESS === "1" + } +}); +function createGroup(verticalDefault) { + return withStaticProperties(GroupFrame.styleable((props, ref) => { + const activeProps = (0, import_core23.useProps)(props), { + __scopeGroup, + children: childrenProp, + space, + size: size4 = "$true", + spaceDirection, + separator, + scrollable, + axis = verticalDefault ? "vertical" : "horizontal", + orientation = axis, + disabled: disabledProp, + disablePassBorderRadius: disablePassBorderRadiusProp, + borderRadius, + forceUseItem, + ...restProps + } = activeProps, vertical = orientation === "vertical", [itemChildrenCount, setItemChildrenCount] = useControllableState({ + defaultProp: forceUseItem ? 1 : 0 + }), isUsingItems = itemChildrenCount > 0, radius = borderRadius ?? (size4 ? (0, import_core23.getVariableValue)((0, import_core23.getTokens)().radius[size4]) - 1 : void 0), disablePassBorderRadius = disablePassBorderRadiusProp ?? !(radius !== void 0), childrenArray = import_react35.Children.toArray(childrenProp), children = isUsingItems ? import_react35.Children.toArray(childrenProp).filter(import_react35.isValidElement) : childrenArray.map((child, i) => { + if (!(0, import_react35.isValidElement)(child)) + return child; + const disabled = child.props.disabled ?? disabledProp, isFirst = i === 0, isLast = i === childrenArray.length - 1, radiusStyles = disablePassBorderRadius === true ? null : getBorderRadius({ + isFirst, + isLast, + radius, + vertical, + disable: disablePassBorderRadius + }), props2 = { + disabled, + ...(0, import_core23.isTamaguiElement)(child) ? radiusStyles : { + style: radiusStyles + } + }; + return cloneElementWithPropOrder(child, props2); + }), indexedChildren = (0, import_reforest.useIndexedChildren)((0, import_core23.spacedChildren)({ + direction: spaceDirection, + separator, + // @ts-ignore + space, + children + })), onItemMount = import_react35.default.useCallback(() => setItemChildrenCount((prev) => prev + 1), []), onItemUnmount = import_react35.default.useCallback(() => setItemChildrenCount((prev) => prev - 1), []); + return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(GroupProvider, { + disablePassBorderRadius, + vertical: orientation === "vertical", + radius, + disabled: disabledProp, + onItemMount, + onItemUnmount, + scope: __scopeGroup, + children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(GroupFrame, { + ref, + size: size4, + flexDirection: orientation === "horizontal" ? "row" : "column", + borderRadius, + ...restProps, + children: wrapScroll({ + ...activeProps, + orientation + }, indexedChildren) + }) + }); + }), { + Item: GroupItem + }); +} +__name(createGroup, "createGroup"); +var GroupItem = /* @__PURE__ */ __name((props) => { + var _a; + const { + __scopeGroup, + children, + forcePlacement + } = props, groupItemProps = useGroupItem({ + disabled: (0, import_react35.isValidElement)(children) ? children.props.disabled : void 0 + }, forcePlacement, __scopeGroup); + return (0, import_react35.isValidElement)(children) ? (0, import_core23.isTamaguiElement)(children) ? import_react35.default.cloneElement(children, groupItemProps) : import_react35.default.cloneElement(children, { + style: { + // @ts-ignore + ...(_a = children.props) == null ? void 0 : _a.style, + ...groupItemProps + } + }) : children; +}, "GroupItem"); +var useGroupItem = /* @__PURE__ */ __name((childrenProps, forcePlacement, __scopeGroup) => { + const treeIndex = (0, import_reforest.useIndex)(), context = useGroupContext("GroupItem", __scopeGroup); + if (import_react35.default.useEffect(() => (context.onItemMount(), () => { + context.onItemUnmount(); + }), []), !treeIndex) + throw Error(" should only be used within a "); + const isFirst = forcePlacement === "first" || forcePlacement !== "last" && treeIndex.index === 0, isLast = forcePlacement === "last" || forcePlacement !== "first" && treeIndex.index === treeIndex.maxIndex; + let propsToPass = { + disabled: childrenProps.disabled ?? context.disabled + }; + if (context.disablePassBorderRadius !== true) { + const borderRadius = getBorderRadius({ + radius: context.radius, + isFirst, + isLast, + vertical: context.vertical, + disable: context.disablePassBorderRadius + }); + return { + ...propsToPass, + ...borderRadius + }; + } + return propsToPass; +}, "useGroupItem"); +var Group = createGroup(true); +var YGroup = Group; +var XGroup = createGroup(false); +var wrapScroll = /* @__PURE__ */ __name(({ + scrollable, + orientation, + showScrollIndicator = false +}, children) => scrollable ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_react_native_web7.ScrollView, { + ...orientation === "vertical" && { + showsVerticalScrollIndicator: showScrollIndicator + }, + ...orientation === "horizontal" && { + horizontal: true, + showsHorizontalScrollIndicator: showScrollIndicator + }, + children +}) : children, "wrapScroll"); +var getBorderRadius = /* @__PURE__ */ __name(({ + isFirst, + isLast, + radius, + vertical, + disable +}) => ({ + borderTopLeftRadius: isFirst && disable !== "top" && disable !== "start" ? radius : 0, + borderTopRightRadius: disable !== "top" && disable !== "end" && (vertical && isFirst || !vertical && isLast) ? radius : 0, + borderBottomLeftRadius: disable !== "bottom" && disable !== "start" && (vertical && isLast || !vertical && isFirst) ? radius : 0, + borderBottomRightRadius: isLast && disable !== "bottom" && disable !== "end" ? radius : 0 +}), "getBorderRadius"); +var cloneElementWithPropOrder = /* @__PURE__ */ __name((child, props) => { + const next = (0, import_core23.mergeProps)(child.props, props, (0, import_core23.getConfig)().shorthands); + return import_react35.default.cloneElement({ + ...child, + props: null + }, next); +}, "cloneElementWithPropOrder"); + +// node_modules/tamagui/node_modules/@tamagui/react-native-media-driver/dist/esm/createMedia.mjs +var import_web13 = require("@tamagui/core"); + +// node_modules/tamagui/node_modules/@tamagui/react-native-media-driver/dist/esm/matchMedia.mjs +var matchMedia = globalThis.matchMedia; + +// node_modules/tamagui/node_modules/@tamagui/react-native-media-driver/dist/esm/createMedia.mjs +function createMedia(media) { + return (0, import_web13.setupMatchMedia)(matchMedia), media; +} +__name(createMedia, "createMedia"); + +// node_modules/tamagui/node_modules/@tamagui/elements/dist/esm/index.mjs +var import_core24 = require("@tamagui/core"); +var Section = (0, import_core24.styled)(import_core24.View, { + name: "Section", + tag: "section", + flexDirection: "column", + accessibilityRole: "summary" +}); +var Article = (0, import_core24.styled)(import_core24.View, { + name: "Article", + tag: "article", + flexDirection: "column" +}); +var Main = (0, import_core24.styled)(import_core24.View, { + name: "Main", + tag: "main", + flexDirection: "column" +}); +var Header = (0, import_core24.styled)(import_core24.View, { + name: "Header", + tag: "header", + accessibilityRole: "header", + flexDirection: "column" +}); +var Aside = (0, import_core24.styled)(import_core24.View, { + name: "Aside", + tag: "aside", + flexDirection: "column" + // accessibilityRole: 'complementary', +}); +var Footer = (0, import_core24.styled)(import_core24.View, { + name: "Footer", + tag: "footer", + flexDirection: "column" + // accessibilityRole: 'contentinfo', +}); +var Nav = (0, import_core24.styled)(import_core24.View, { + name: "Nav", + tag: "nav", + flexDirection: "column" + // accessibilityRole: 'navigation', +}); + +// node_modules/@tamagui/list-item/dist/esm/ListItem.mjs +var import_web14 = require("@tamagui/core"); +var import_jsx_runtime29 = require("react/jsx-runtime"); +var NAME2 = "ListItem"; +var ListItemFrame = (0, import_web14.styled)(ThemeableStack, { + name: NAME2, + tag: "li", + variants: { + unstyled: { + false: { + size: "$true", + alignItems: "center", + justifyContent: "space-between", + flexWrap: "nowrap", + width: "100%", + borderColor: "$borderColor", + maxWidth: "100%", + overflow: "hidden", + flexDirection: "row", + backgroundColor: "$background" + } + }, + size: { + "...size": (val, { + tokens + }) => ({ + minHeight: tokens.size[val], + paddingHorizontal: tokens.space[val], + paddingVertical: getSpace(tokens.space[val], { + shift: -4 + }) + }) + }, + active: { + true: { + hoverStyle: { + backgroundColor: "$background" + } + } + }, + disabled: { + true: { + opacity: 0.5, + // TODO breaking types + pointerEvents: "none" + } + } + }, + defaultVariants: { + unstyled: process.env.TAMAGUI_HEADLESS === "1" + } +}); +var ListItemText = (0, import_web14.styled)(SizableText, { + name: "ListItemText", + variants: { + unstyled: { + false: { + color: "$color", + size: "$true", + flexGrow: 1, + flexShrink: 1, + ellipse: true, + cursor: "default" + } + } + }, + defaultVariants: { + unstyled: process.env.TAMAGUI_HEADLESS === "1" + } +}); +var ListItemSubtitle = (0, import_web14.styled)(ListItemText, { + name: "ListItemSubtitle", + variants: { + unstyled: { + false: { + opacity: 0.6, + maxWidth: "100%", + color: "$color" + } + }, + size: { + "...size": (val, extras) => { + const oneSmaller = getSize(val, { + shift: -1, + excludeHalfSteps: true + }); + return getFontSized(oneSmaller.key, extras); + } + } + }, + defaultVariants: { + unstyled: process.env.TAMAGUI_HEADLESS === "1" + } +}); +var ListItemTitle = (0, import_web14.styled)(ListItemText, { + name: "ListItemTitle" +}); +var useListItem = /* @__PURE__ */ __name((propsIn, { + Text: Text4 = ListItemText, + Subtitle = ListItemSubtitle, + Title = ListItemTitle +} = { + Text: ListItemText, + Subtitle: ListItemSubtitle, + Title: ListItemTitle +}) => { + const props = (0, import_web14.useProps)(propsIn), { + children, + icon, + iconAfter, + noTextWrap, + theme: themeName, + space, + spaceFlex, + scaleIcon = 1, + scaleSpace = 1, + unstyled = false, + subTitle, + title, + // text props + color, + fontWeight, + fontSize, + fontFamily, + letterSpacing, + textAlign, + ellipse, + ...rest + } = props, textProps = { + color, + fontWeight, + fontSize, + fontFamily, + letterSpacing, + textAlign, + ellipse, + children + }, size4 = props.size || "$true", iconSize = getFontSize(size4) * scaleIcon, getThemedIcon = useGetThemedIcon({ + size: iconSize, + color + }), [themedIcon, themedIconAfter] = [icon, iconAfter].map(getThemedIcon), spaceSize = (0, import_web14.getVariableValue)((0, import_web14.getTokens)().space[props.space] ?? iconSize) * scaleSpace, contents = wrapChildrenInText(Text4, textProps); + return { + props: { + ...rest, + children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { + children: [themedIcon ? /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { + children: [themedIcon, /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_web14.Spacer, { + size: spaceSize + })] + }) : null, title || subTitle ? /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(YStack, { + flex: 1, + children: [noTextWrap === "all" ? title : /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Title, { + size: size4, + children: title + }), subTitle ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_jsx_runtime29.Fragment, { + children: typeof subTitle == "string" && noTextWrap !== "all" ? ( + // TODO can use theme but we need to standardize to alt themes + // or standardize on subtle colors in themes + /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Subtitle, { + unstyled, + size: size4, + children: subTitle + }) + ) : subTitle + }) : null, contents] + }) : contents, themedIconAfter ? /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { + children: [/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_web14.Spacer, { + size: spaceSize + }), themedIconAfter] + }) : null] + }) + } + }; +}, "useListItem"); +var ListItemComponent = ListItemFrame.styleable(function(props, ref) { + const { + props: listItemProps + } = useListItem(props); + return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ListItemFrame, { + ref, + ...listItemProps + }); +}); +var ListItem2 = withStaticProperties(ListItemComponent, { + Text: ListItemText, + Subtitle: ListItemSubtitle +}); + +// node_modules/@tamagui/animate/dist/esm/Animate.mjs +var import_jsx_runtime30 = require("react/jsx-runtime"); +function Animate({ + children, + type, + ...props +}) { + return type === "presence" ? props.keepChildrenMounted ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(PresenceChild, { + initial: props.initial ? void 0 : false, + onExitComplete: props.onExitComplete, + enterVariant: props.enterVariant, + exitVariant: props.exitVariant, + enterExitVariant: props.enterExitVariant, + presenceAffectsLayout: false, + isPresent: props.present, + custom: props.custom, + children + }) : /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(AnimatePresence, { + ...props, + children: props.present ? children : null + }) : /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_jsx_runtime30.Fragment, { + children + }); +} +__name(Animate, "Animate"); + +// node_modules/@tamagui/popover/dist/esm/Popover.mjs +var import_core27 = require("@tamagui/core"); + +// node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs +var min = Math.min; +var max = Math.max; +var round = Math.round; +var floor = Math.floor; +var createCoords = /* @__PURE__ */ __name((v) => ({ + x: v, + y: v +}), "createCoords"); +var oppositeSideMap = { + left: "right", + right: "left", + bottom: "top", + top: "bottom" +}; +var oppositeAlignmentMap = { + start: "end", + end: "start" +}; +function clamp2(start, value, end) { + return max(start, min(value, end)); +} +__name(clamp2, "clamp"); +function evaluate(value, param) { + return typeof value === "function" ? value(param) : value; +} +__name(evaluate, "evaluate"); +function getSide(placement) { + return placement.split("-")[0]; +} +__name(getSide, "getSide"); +function getAlignment(placement) { + return placement.split("-")[1]; +} +__name(getAlignment, "getAlignment"); +function getOppositeAxis(axis) { + return axis === "x" ? "y" : "x"; +} +__name(getOppositeAxis, "getOppositeAxis"); +function getAxisLength(axis) { + return axis === "y" ? "height" : "width"; +} +__name(getAxisLength, "getAxisLength"); +function getSideAxis(placement) { + return ["top", "bottom"].includes(getSide(placement)) ? "y" : "x"; +} +__name(getSideAxis, "getSideAxis"); +function getAlignmentAxis(placement) { + return getOppositeAxis(getSideAxis(placement)); +} +__name(getAlignmentAxis, "getAlignmentAxis"); +function getAlignmentSides(placement, rects, rtl) { + if (rtl === void 0) { + rtl = false; + } + const alignment = getAlignment(placement); + const alignmentAxis = getAlignmentAxis(placement); + const length = getAxisLength(alignmentAxis); + let mainAlignmentSide = alignmentAxis === "x" ? alignment === (rtl ? "end" : "start") ? "right" : "left" : alignment === "start" ? "bottom" : "top"; + if (rects.reference[length] > rects.floating[length]) { + mainAlignmentSide = getOppositePlacement(mainAlignmentSide); + } + return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)]; +} +__name(getAlignmentSides, "getAlignmentSides"); +function getExpandedPlacements(placement) { + const oppositePlacement = getOppositePlacement(placement); + return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)]; +} +__name(getExpandedPlacements, "getExpandedPlacements"); +function getOppositeAlignmentPlacement(placement) { + return placement.replace(/start|end/g, (alignment) => oppositeAlignmentMap[alignment]); +} +__name(getOppositeAlignmentPlacement, "getOppositeAlignmentPlacement"); +function getSideList(side, isStart, rtl) { + const lr = ["left", "right"]; + const rl = ["right", "left"]; + const tb = ["top", "bottom"]; + const bt = ["bottom", "top"]; + switch (side) { + case "top": + case "bottom": + if (rtl) + return isStart ? rl : lr; + return isStart ? lr : rl; + case "left": + case "right": + return isStart ? tb : bt; + default: + return []; + } +} +__name(getSideList, "getSideList"); +function getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) { + const alignment = getAlignment(placement); + let list = getSideList(getSide(placement), direction === "start", rtl); + if (alignment) { + list = list.map((side) => side + "-" + alignment); + if (flipAlignment) { + list = list.concat(list.map(getOppositeAlignmentPlacement)); + } + } + return list; +} +__name(getOppositeAxisPlacements, "getOppositeAxisPlacements"); +function getOppositePlacement(placement) { + return placement.replace(/left|right|bottom|top/g, (side) => oppositeSideMap[side]); +} +__name(getOppositePlacement, "getOppositePlacement"); +function expandPaddingObject(padding) { + return { + top: 0, + right: 0, + bottom: 0, + left: 0, + ...padding + }; +} +__name(expandPaddingObject, "expandPaddingObject"); +function getPaddingObject(padding) { + return typeof padding !== "number" ? expandPaddingObject(padding) : { + top: padding, + right: padding, + bottom: padding, + left: padding + }; +} +__name(getPaddingObject, "getPaddingObject"); +function rectToClientRect(rect) { + const { + x, + y, + width, + height + } = rect; + return { + width, + height, + top: y, + left: x, + right: x + width, + bottom: y + height, + x, + y + }; +} +__name(rectToClientRect, "rectToClientRect"); + +// node_modules/@floating-ui/core/dist/floating-ui.core.mjs +function computeCoordsFromPlacement(_ref, placement, rtl) { + let { + reference, + floating + } = _ref; + const sideAxis = getSideAxis(placement); + const alignmentAxis = getAlignmentAxis(placement); + const alignLength = getAxisLength(alignmentAxis); + const side = getSide(placement); + const isVertical = sideAxis === "y"; + const commonX = reference.x + reference.width / 2 - floating.width / 2; + const commonY = reference.y + reference.height / 2 - floating.height / 2; + const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2; + let coords; + switch (side) { + case "top": + coords = { + x: commonX, + y: reference.y - floating.height + }; + break; + case "bottom": + coords = { + x: commonX, + y: reference.y + reference.height + }; + break; + case "right": + coords = { + x: reference.x + reference.width, + y: commonY + }; + break; + case "left": + coords = { + x: reference.x - floating.width, + y: commonY + }; + break; + default: + coords = { + x: reference.x, + y: reference.y + }; + } + switch (getAlignment(placement)) { + case "start": + coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1); + break; + case "end": + coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1); + break; + } + return coords; +} +__name(computeCoordsFromPlacement, "computeCoordsFromPlacement"); +var computePosition = /* @__PURE__ */ __name(async (reference, floating, config) => { + const { + placement = "bottom", + strategy = "absolute", + middleware = [], + platform: platform2 + } = config; + const validMiddleware = middleware.filter(Boolean); + const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(floating)); + let rects = await platform2.getElementRects({ + reference, + floating, + strategy + }); + let { + x, + y + } = computeCoordsFromPlacement(rects, placement, rtl); + let statefulPlacement = placement; + let middlewareData = {}; + let resetCount = 0; + for (let i = 0; i < validMiddleware.length; i++) { + const { + name, + fn + } = validMiddleware[i]; + const { + x: nextX, + y: nextY, + data, + reset + } = await fn({ + x, + y, + initialPlacement: placement, + placement: statefulPlacement, + strategy, + middlewareData, + rects, + platform: platform2, + elements: { + reference, + floating + } + }); + x = nextX != null ? nextX : x; + y = nextY != null ? nextY : y; + middlewareData = { + ...middlewareData, + [name]: { + ...middlewareData[name], + ...data + } + }; + if (reset && resetCount <= 50) { + resetCount++; + if (typeof reset === "object") { + if (reset.placement) { + statefulPlacement = reset.placement; + } + if (reset.rects) { + rects = reset.rects === true ? await platform2.getElementRects({ + reference, + floating, + strategy + }) : reset.rects; + } + ({ + x, + y + } = computeCoordsFromPlacement(rects, statefulPlacement, rtl)); + } + i = -1; + } + } + return { + x, + y, + placement: statefulPlacement, + strategy, + middlewareData + }; +}, "computePosition"); +async function detectOverflow(state, options) { + var _await$platform$isEle; + if (options === void 0) { + options = {}; + } + const { + x, + y, + platform: platform2, + rects, + elements, + strategy + } = state; + const { + boundary = "clippingAncestors", + rootBoundary = "viewport", + elementContext = "floating", + altBoundary = false, + padding = 0 + } = evaluate(options, state); + const paddingObject = getPaddingObject(padding); + const altContext = elementContext === "floating" ? "reference" : "floating"; + const element = elements[altBoundary ? altContext : elementContext]; + const clippingClientRect = rectToClientRect(await platform2.getClippingRect({ + element: ((_await$platform$isEle = await (platform2.isElement == null ? void 0 : platform2.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || await (platform2.getDocumentElement == null ? void 0 : platform2.getDocumentElement(elements.floating)), + boundary, + rootBoundary, + strategy + })); + const rect = elementContext === "floating" ? { + x, + y, + width: rects.floating.width, + height: rects.floating.height + } : rects.reference; + const offsetParent = await (platform2.getOffsetParent == null ? void 0 : platform2.getOffsetParent(elements.floating)); + const offsetScale = await (platform2.isElement == null ? void 0 : platform2.isElement(offsetParent)) ? await (platform2.getScale == null ? void 0 : platform2.getScale(offsetParent)) || { + x: 1, + y: 1 + } : { + x: 1, + y: 1 + }; + const elementClientRect = rectToClientRect(platform2.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform2.convertOffsetParentRelativeRectToViewportRelativeRect({ + elements, + rect, + offsetParent, + strategy + }) : rect); + return { + top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y, + bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y, + left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x, + right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x + }; +} +__name(detectOverflow, "detectOverflow"); +var arrow = /* @__PURE__ */ __name((options) => ({ + name: "arrow", + options, + async fn(state) { + const { + x, + y, + placement, + rects, + platform: platform2, + elements, + middlewareData + } = state; + const { + element, + padding = 0 + } = evaluate(options, state) || {}; + if (element == null) { + return {}; + } + const paddingObject = getPaddingObject(padding); + const coords = { + x, + y + }; + const axis = getAlignmentAxis(placement); + const length = getAxisLength(axis); + const arrowDimensions = await platform2.getDimensions(element); + const isYAxis = axis === "y"; + const minProp = isYAxis ? "top" : "left"; + const maxProp = isYAxis ? "bottom" : "right"; + const clientProp = isYAxis ? "clientHeight" : "clientWidth"; + const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length]; + const startDiff = coords[axis] - rects.reference[axis]; + const arrowOffsetParent = await (platform2.getOffsetParent == null ? void 0 : platform2.getOffsetParent(element)); + let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0; + if (!clientSize || !await (platform2.isElement == null ? void 0 : platform2.isElement(arrowOffsetParent))) { + clientSize = elements.floating[clientProp] || rects.floating[length]; + } + const centerToReference = endDiff / 2 - startDiff / 2; + const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1; + const minPadding = min(paddingObject[minProp], largestPossiblePadding); + const maxPadding = min(paddingObject[maxProp], largestPossiblePadding); + const min$1 = minPadding; + const max2 = clientSize - arrowDimensions[length] - maxPadding; + const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference; + const offset4 = clamp2(min$1, center, max2); + const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset4 && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0; + const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max2 : 0; + return { + [axis]: coords[axis] + alignmentOffset, + data: { + [axis]: offset4, + centerOffset: center - offset4 - alignmentOffset, + ...shouldAddOffset && { + alignmentOffset + } + }, + reset: shouldAddOffset + }; + } +}), "arrow"); +var flip = /* @__PURE__ */ __name(function(options) { + if (options === void 0) { + options = {}; + } + return { + name: "flip", + options, + async fn(state) { + var _middlewareData$arrow, _middlewareData$flip; + const { + placement, + middlewareData, + rects, + initialPlacement, + platform: platform2, + elements + } = state; + const { + mainAxis: checkMainAxis = true, + crossAxis: checkCrossAxis = true, + fallbackPlacements: specifiedFallbackPlacements, + fallbackStrategy = "bestFit", + fallbackAxisSideDirection = "none", + flipAlignment = true, + ...detectOverflowOptions + } = evaluate(options, state); + if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) { + return {}; + } + const side = getSide(placement); + const isBasePlacement = getSide(initialPlacement) === initialPlacement; + const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating)); + const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement)); + if (!specifiedFallbackPlacements && fallbackAxisSideDirection !== "none") { + fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl)); + } + const placements2 = [initialPlacement, ...fallbackPlacements]; + const overflow = await detectOverflow(state, detectOverflowOptions); + const overflows = []; + let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || []; + if (checkMainAxis) { + overflows.push(overflow[side]); + } + if (checkCrossAxis) { + const sides2 = getAlignmentSides(placement, rects, rtl); + overflows.push(overflow[sides2[0]], overflow[sides2[1]]); + } + overflowsData = [...overflowsData, { + placement, + overflows + }]; + if (!overflows.every((side2) => side2 <= 0)) { + var _middlewareData$flip2, _overflowsData$filter; + const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1; + const nextPlacement = placements2[nextIndex]; + if (nextPlacement) { + return { + data: { + index: nextIndex, + overflows: overflowsData + }, + reset: { + placement: nextPlacement + } + }; + } + let resetPlacement = (_overflowsData$filter = overflowsData.filter((d) => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement; + if (!resetPlacement) { + switch (fallbackStrategy) { + case "bestFit": { + var _overflowsData$map$so; + const placement2 = (_overflowsData$map$so = overflowsData.map((d) => [d.placement, d.overflows.filter((overflow2) => overflow2 > 0).reduce((acc, overflow2) => acc + overflow2, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$map$so[0]; + if (placement2) { + resetPlacement = placement2; + } + break; + } + case "initialPlacement": + resetPlacement = initialPlacement; + break; + } + } + if (placement !== resetPlacement) { + return { + reset: { + placement: resetPlacement + } + }; + } + } + return {}; + } + }; +}, "flip"); +async function convertValueToCoords(state, options) { + const { + placement, + platform: platform2, + elements + } = state; + const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating)); + const side = getSide(placement); + const alignment = getAlignment(placement); + const isVertical = getSideAxis(placement) === "y"; + const mainAxisMulti = ["left", "top"].includes(side) ? -1 : 1; + const crossAxisMulti = rtl && isVertical ? -1 : 1; + const rawValue = evaluate(options, state); + let { + mainAxis, + crossAxis, + alignmentAxis + } = typeof rawValue === "number" ? { + mainAxis: rawValue, + crossAxis: 0, + alignmentAxis: null + } : { + mainAxis: 0, + crossAxis: 0, + alignmentAxis: null, + ...rawValue + }; + if (alignment && typeof alignmentAxis === "number") { + crossAxis = alignment === "end" ? alignmentAxis * -1 : alignmentAxis; + } + return isVertical ? { + x: crossAxis * crossAxisMulti, + y: mainAxis * mainAxisMulti + } : { + x: mainAxis * mainAxisMulti, + y: crossAxis * crossAxisMulti + }; +} +__name(convertValueToCoords, "convertValueToCoords"); +var offset = /* @__PURE__ */ __name(function(options) { + if (options === void 0) { + options = 0; + } + return { + name: "offset", + options, + async fn(state) { + var _middlewareData$offse, _middlewareData$arrow; + const { + x, + y, + placement, + middlewareData + } = state; + const diffCoords = await convertValueToCoords(state, options); + if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) { + return {}; + } + return { + x: x + diffCoords.x, + y: y + diffCoords.y, + data: { + ...diffCoords, + placement + } + }; + } + }; +}, "offset"); +var shift = /* @__PURE__ */ __name(function(options) { + if (options === void 0) { + options = {}; + } + return { + name: "shift", + options, + async fn(state) { + const { + x, + y, + placement + } = state; + const { + mainAxis: checkMainAxis = true, + crossAxis: checkCrossAxis = false, + limiter = { + fn: (_ref) => { + let { + x: x2, + y: y2 + } = _ref; + return { + x: x2, + y: y2 + }; + } + }, + ...detectOverflowOptions + } = evaluate(options, state); + const coords = { + x, + y + }; + const overflow = await detectOverflow(state, detectOverflowOptions); + const crossAxis = getSideAxis(getSide(placement)); + const mainAxis = getOppositeAxis(crossAxis); + let mainAxisCoord = coords[mainAxis]; + let crossAxisCoord = coords[crossAxis]; + if (checkMainAxis) { + const minSide = mainAxis === "y" ? "top" : "left"; + const maxSide = mainAxis === "y" ? "bottom" : "right"; + const min2 = mainAxisCoord + overflow[minSide]; + const max2 = mainAxisCoord - overflow[maxSide]; + mainAxisCoord = clamp2(min2, mainAxisCoord, max2); + } + if (checkCrossAxis) { + const minSide = crossAxis === "y" ? "top" : "left"; + const maxSide = crossAxis === "y" ? "bottom" : "right"; + const min2 = crossAxisCoord + overflow[minSide]; + const max2 = crossAxisCoord - overflow[maxSide]; + crossAxisCoord = clamp2(min2, crossAxisCoord, max2); + } + const limitedCoords = limiter.fn({ + ...state, + [mainAxis]: mainAxisCoord, + [crossAxis]: crossAxisCoord + }); + return { + ...limitedCoords, + data: { + x: limitedCoords.x - x, + y: limitedCoords.y - y + } + }; + } + }; +}, "shift"); +var size = /* @__PURE__ */ __name(function(options) { + if (options === void 0) { + options = {}; + } + return { + name: "size", + options, + async fn(state) { + const { + placement, + rects, + platform: platform2, + elements + } = state; + const { + apply = /* @__PURE__ */ __name(() => { + }, "apply"), + ...detectOverflowOptions + } = evaluate(options, state); + const overflow = await detectOverflow(state, detectOverflowOptions); + const side = getSide(placement); + const alignment = getAlignment(placement); + const isYAxis = getSideAxis(placement) === "y"; + const { + width, + height + } = rects.floating; + let heightSide; + let widthSide; + if (side === "top" || side === "bottom") { + heightSide = side; + widthSide = alignment === (await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating)) ? "start" : "end") ? "left" : "right"; + } else { + widthSide = side; + heightSide = alignment === "end" ? "top" : "bottom"; + } + const maximumClippingHeight = height - overflow.top - overflow.bottom; + const maximumClippingWidth = width - overflow.left - overflow.right; + const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight); + const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth); + const noShift = !state.middlewareData.shift; + let availableHeight = overflowAvailableHeight; + let availableWidth = overflowAvailableWidth; + if (isYAxis) { + availableWidth = alignment || noShift ? min(overflowAvailableWidth, maximumClippingWidth) : maximumClippingWidth; + } else { + availableHeight = alignment || noShift ? min(overflowAvailableHeight, maximumClippingHeight) : maximumClippingHeight; + } + if (noShift && !alignment) { + const xMin = max(overflow.left, 0); + const xMax = max(overflow.right, 0); + const yMin = max(overflow.top, 0); + const yMax = max(overflow.bottom, 0); + if (isYAxis) { + availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right)); + } else { + availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom)); + } + } + await apply({ + ...state, + availableWidth, + availableHeight + }); + const nextDimensions = await platform2.getDimensions(elements.floating); + if (width !== nextDimensions.width || height !== nextDimensions.height) { + return { + reset: { + rects: true + } + }; + } + return {}; + } + }; +}, "size"); + +// node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs +function getNodeName(node) { + if (isNode(node)) { + return (node.nodeName || "").toLowerCase(); + } + return "#document"; +} +__name(getNodeName, "getNodeName"); +function getWindow(node) { + var _node$ownerDocument; + return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window; +} +__name(getWindow, "getWindow"); +function getDocumentElement(node) { + var _ref; + return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement; +} +__name(getDocumentElement, "getDocumentElement"); +function isNode(value) { + return value instanceof Node || value instanceof getWindow(value).Node; +} +__name(isNode, "isNode"); +function isElement(value) { + return value instanceof Element || value instanceof getWindow(value).Element; +} +__name(isElement, "isElement"); +function isHTMLElement(value) { + return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement; +} +__name(isHTMLElement, "isHTMLElement"); +function isShadowRoot(value) { + if (typeof ShadowRoot === "undefined") { + return false; + } + return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot; +} +__name(isShadowRoot, "isShadowRoot"); +function isOverflowElement(element) { + const { + overflow, + overflowX, + overflowY, + display + } = getComputedStyle2(element); + return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !["inline", "contents"].includes(display); +} +__name(isOverflowElement, "isOverflowElement"); +function isTableElement(element) { + return ["table", "td", "th"].includes(getNodeName(element)); +} +__name(isTableElement, "isTableElement"); +function isContainingBlock(element) { + const webkit = isWebKit(); + const css = getComputedStyle2(element); + return css.transform !== "none" || css.perspective !== "none" || (css.containerType ? css.containerType !== "normal" : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== "none" : false) || !webkit && (css.filter ? css.filter !== "none" : false) || ["transform", "perspective", "filter"].some((value) => (css.willChange || "").includes(value)) || ["paint", "layout", "strict", "content"].some((value) => (css.contain || "").includes(value)); +} +__name(isContainingBlock, "isContainingBlock"); +function getContainingBlock(element) { + let currentNode = getParentNode(element); + while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) { + if (isContainingBlock(currentNode)) { + return currentNode; + } + currentNode = getParentNode(currentNode); + } + return null; +} +__name(getContainingBlock, "getContainingBlock"); +function isWebKit() { + if (typeof CSS === "undefined" || !CSS.supports) + return false; + return CSS.supports("-webkit-backdrop-filter", "none"); +} +__name(isWebKit, "isWebKit"); +function isLastTraversableNode(node) { + return ["html", "body", "#document"].includes(getNodeName(node)); +} +__name(isLastTraversableNode, "isLastTraversableNode"); +function getComputedStyle2(element) { + return getWindow(element).getComputedStyle(element); +} +__name(getComputedStyle2, "getComputedStyle"); +function getNodeScroll(element) { + if (isElement(element)) { + return { + scrollLeft: element.scrollLeft, + scrollTop: element.scrollTop + }; + } + return { + scrollLeft: element.pageXOffset, + scrollTop: element.pageYOffset + }; +} +__name(getNodeScroll, "getNodeScroll"); +function getParentNode(node) { + if (getNodeName(node) === "html") { + return node; + } + const result = ( + // Step into the shadow DOM of the parent of a slotted node. + node.assignedSlot || // DOM Element detected. + node.parentNode || // ShadowRoot detected. + isShadowRoot(node) && node.host || // Fallback. + getDocumentElement(node) + ); + return isShadowRoot(result) ? result.host : result; +} +__name(getParentNode, "getParentNode"); +function getNearestOverflowAncestor(node) { + const parentNode = getParentNode(node); + if (isLastTraversableNode(parentNode)) { + return node.ownerDocument ? node.ownerDocument.body : node.body; + } + if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) { + return parentNode; + } + return getNearestOverflowAncestor(parentNode); +} +__name(getNearestOverflowAncestor, "getNearestOverflowAncestor"); +function getOverflowAncestors(node, list, traverseIframes) { + var _node$ownerDocument2; + if (list === void 0) { + list = []; + } + if (traverseIframes === void 0) { + traverseIframes = true; + } + const scrollableAncestor = getNearestOverflowAncestor(node); + const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body); + const win = getWindow(scrollableAncestor); + if (isBody) { + return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], win.frameElement && traverseIframes ? getOverflowAncestors(win.frameElement) : []); + } + return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes)); +} +__name(getOverflowAncestors, "getOverflowAncestors"); + +// node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs +function getCssDimensions(element) { + const css = getComputedStyle2(element); + let width = parseFloat(css.width) || 0; + let height = parseFloat(css.height) || 0; + const hasOffset = isHTMLElement(element); + const offsetWidth = hasOffset ? element.offsetWidth : width; + const offsetHeight = hasOffset ? element.offsetHeight : height; + const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight; + if (shouldFallback) { + width = offsetWidth; + height = offsetHeight; + } + return { + width, + height, + $: shouldFallback + }; +} +__name(getCssDimensions, "getCssDimensions"); +function unwrapElement(element) { + return !isElement(element) ? element.contextElement : element; +} +__name(unwrapElement, "unwrapElement"); +function getScale(element) { + const domElement = unwrapElement(element); + if (!isHTMLElement(domElement)) { + return createCoords(1); + } + const rect = domElement.getBoundingClientRect(); + const { + width, + height, + $ + } = getCssDimensions(domElement); + let x = ($ ? round(rect.width) : rect.width) / width; + let y = ($ ? round(rect.height) : rect.height) / height; + if (!x || !Number.isFinite(x)) { + x = 1; + } + if (!y || !Number.isFinite(y)) { + y = 1; + } + return { + x, + y + }; +} +__name(getScale, "getScale"); +var noOffsets = /* @__PURE__ */ createCoords(0); +function getVisualOffsets(element) { + const win = getWindow(element); + if (!isWebKit() || !win.visualViewport) { + return noOffsets; + } + return { + x: win.visualViewport.offsetLeft, + y: win.visualViewport.offsetTop + }; +} +__name(getVisualOffsets, "getVisualOffsets"); +function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) { + if (isFixed === void 0) { + isFixed = false; + } + if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) { + return false; + } + return isFixed; +} +__name(shouldAddVisualOffsets, "shouldAddVisualOffsets"); +function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) { + if (includeScale === void 0) { + includeScale = false; + } + if (isFixedStrategy === void 0) { + isFixedStrategy = false; + } + const clientRect = element.getBoundingClientRect(); + const domElement = unwrapElement(element); + let scale = createCoords(1); + if (includeScale) { + if (offsetParent) { + if (isElement(offsetParent)) { + scale = getScale(offsetParent); + } + } else { + scale = getScale(element); + } + } + const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0); + let x = (clientRect.left + visualOffsets.x) / scale.x; + let y = (clientRect.top + visualOffsets.y) / scale.y; + let width = clientRect.width / scale.x; + let height = clientRect.height / scale.y; + if (domElement) { + const win = getWindow(domElement); + const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent; + let currentWin = win; + let currentIFrame = currentWin.frameElement; + while (currentIFrame && offsetParent && offsetWin !== currentWin) { + const iframeScale = getScale(currentIFrame); + const iframeRect = currentIFrame.getBoundingClientRect(); + const css = getComputedStyle2(currentIFrame); + const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x; + const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y; + x *= iframeScale.x; + y *= iframeScale.y; + width *= iframeScale.x; + height *= iframeScale.y; + x += left; + y += top; + currentWin = getWindow(currentIFrame); + currentIFrame = currentWin.frameElement; + } + } + return rectToClientRect({ + width, + height, + x, + y + }); +} +__name(getBoundingClientRect, "getBoundingClientRect"); +var topLayerSelectors = [":popover-open", ":modal"]; +function isTopLayer(element) { + return topLayerSelectors.some((selector) => { + try { + return element.matches(selector); + } catch (e) { + return false; + } + }); +} +__name(isTopLayer, "isTopLayer"); +function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) { + let { + elements, + rect, + offsetParent, + strategy + } = _ref; + const isFixed = strategy === "fixed"; + const documentElement = getDocumentElement(offsetParent); + const topLayer = elements ? isTopLayer(elements.floating) : false; + if (offsetParent === documentElement || topLayer && isFixed) { + return rect; + } + let scroll = { + scrollLeft: 0, + scrollTop: 0 + }; + let scale = createCoords(1); + const offsets = createCoords(0); + const isOffsetParentAnElement = isHTMLElement(offsetParent); + if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) { + if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) { + scroll = getNodeScroll(offsetParent); + } + if (isHTMLElement(offsetParent)) { + const offsetRect = getBoundingClientRect(offsetParent); + scale = getScale(offsetParent); + offsets.x = offsetRect.x + offsetParent.clientLeft; + offsets.y = offsetRect.y + offsetParent.clientTop; + } + } + return { + width: rect.width * scale.x, + height: rect.height * scale.y, + x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x, + y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + }; +} +__name(convertOffsetParentRelativeRectToViewportRelativeRect, "convertOffsetParentRelativeRectToViewportRelativeRect"); +function getClientRects(element) { + return Array.from(element.getClientRects()); +} +__name(getClientRects, "getClientRects"); +function getWindowScrollBarX(element) { + return getBoundingClientRect(getDocumentElement(element)).left + getNodeScroll(element).scrollLeft; +} +__name(getWindowScrollBarX, "getWindowScrollBarX"); +function getDocumentRect(element) { + const html = getDocumentElement(element); + const scroll = getNodeScroll(element); + const body = element.ownerDocument.body; + const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth); + const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight); + let x = -scroll.scrollLeft + getWindowScrollBarX(element); + const y = -scroll.scrollTop; + if (getComputedStyle2(body).direction === "rtl") { + x += max(html.clientWidth, body.clientWidth) - width; + } + return { + width, + height, + x, + y + }; +} +__name(getDocumentRect, "getDocumentRect"); +function getViewportRect(element, strategy) { + const win = getWindow(element); + const html = getDocumentElement(element); + const visualViewport = win.visualViewport; + let width = html.clientWidth; + let height = html.clientHeight; + let x = 0; + let y = 0; + if (visualViewport) { + width = visualViewport.width; + height = visualViewport.height; + const visualViewportBased = isWebKit(); + if (!visualViewportBased || visualViewportBased && strategy === "fixed") { + x = visualViewport.offsetLeft; + y = visualViewport.offsetTop; + } + } + return { + width, + height, + x, + y + }; +} +__name(getViewportRect, "getViewportRect"); +function getInnerBoundingClientRect(element, strategy) { + const clientRect = getBoundingClientRect(element, true, strategy === "fixed"); + const top = clientRect.top + element.clientTop; + const left = clientRect.left + element.clientLeft; + const scale = isHTMLElement(element) ? getScale(element) : createCoords(1); + const width = element.clientWidth * scale.x; + const height = element.clientHeight * scale.y; + const x = left * scale.x; + const y = top * scale.y; + return { + width, + height, + x, + y + }; +} +__name(getInnerBoundingClientRect, "getInnerBoundingClientRect"); +function getClientRectFromClippingAncestor(element, clippingAncestor, strategy) { + let rect; + if (clippingAncestor === "viewport") { + rect = getViewportRect(element, strategy); + } else if (clippingAncestor === "document") { + rect = getDocumentRect(getDocumentElement(element)); + } else if (isElement(clippingAncestor)) { + rect = getInnerBoundingClientRect(clippingAncestor, strategy); + } else { + const visualOffsets = getVisualOffsets(element); + rect = { + ...clippingAncestor, + x: clippingAncestor.x - visualOffsets.x, + y: clippingAncestor.y - visualOffsets.y + }; + } + return rectToClientRect(rect); +} +__name(getClientRectFromClippingAncestor, "getClientRectFromClippingAncestor"); +function hasFixedPositionAncestor(element, stopNode) { + const parentNode = getParentNode(element); + if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) { + return false; + } + return getComputedStyle2(parentNode).position === "fixed" || hasFixedPositionAncestor(parentNode, stopNode); +} +__name(hasFixedPositionAncestor, "hasFixedPositionAncestor"); +function getClippingElementAncestors(element, cache3) { + const cachedResult = cache3.get(element); + if (cachedResult) { + return cachedResult; + } + let result = getOverflowAncestors(element, [], false).filter((el) => isElement(el) && getNodeName(el) !== "body"); + let currentContainingBlockComputedStyle = null; + const elementIsFixed = getComputedStyle2(element).position === "fixed"; + let currentNode = elementIsFixed ? getParentNode(element) : element; + while (isElement(currentNode) && !isLastTraversableNode(currentNode)) { + const computedStyle = getComputedStyle2(currentNode); + const currentNodeIsContaining = isContainingBlock(currentNode); + if (!currentNodeIsContaining && computedStyle.position === "fixed") { + currentContainingBlockComputedStyle = null; + } + const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === "static" && !!currentContainingBlockComputedStyle && ["absolute", "fixed"].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode); + if (shouldDropCurrentNode) { + result = result.filter((ancestor) => ancestor !== currentNode); + } else { + currentContainingBlockComputedStyle = computedStyle; + } + currentNode = getParentNode(currentNode); + } + cache3.set(element, result); + return result; +} +__name(getClippingElementAncestors, "getClippingElementAncestors"); +function getClippingRect(_ref) { + let { + element, + boundary, + rootBoundary, + strategy + } = _ref; + const elementClippingAncestors = boundary === "clippingAncestors" ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary); + const clippingAncestors = [...elementClippingAncestors, rootBoundary]; + const firstClippingAncestor = clippingAncestors[0]; + const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => { + const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy); + accRect.top = max(rect.top, accRect.top); + accRect.right = min(rect.right, accRect.right); + accRect.bottom = min(rect.bottom, accRect.bottom); + accRect.left = max(rect.left, accRect.left); + return accRect; + }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy)); + return { + width: clippingRect.right - clippingRect.left, + height: clippingRect.bottom - clippingRect.top, + x: clippingRect.left, + y: clippingRect.top + }; +} +__name(getClippingRect, "getClippingRect"); +function getDimensions(element) { + const { + width, + height + } = getCssDimensions(element); + return { + width, + height + }; +} +__name(getDimensions, "getDimensions"); +function getRectRelativeToOffsetParent(element, offsetParent, strategy) { + const isOffsetParentAnElement = isHTMLElement(offsetParent); + const documentElement = getDocumentElement(offsetParent); + const isFixed = strategy === "fixed"; + const rect = getBoundingClientRect(element, true, isFixed, offsetParent); + let scroll = { + scrollLeft: 0, + scrollTop: 0 + }; + const offsets = createCoords(0); + if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) { + if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) { + scroll = getNodeScroll(offsetParent); + } + if (isOffsetParentAnElement) { + const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent); + offsets.x = offsetRect.x + offsetParent.clientLeft; + offsets.y = offsetRect.y + offsetParent.clientTop; + } else if (documentElement) { + offsets.x = getWindowScrollBarX(documentElement); + } + } + const x = rect.left + scroll.scrollLeft - offsets.x; + const y = rect.top + scroll.scrollTop - offsets.y; + return { + x, + y, + width: rect.width, + height: rect.height + }; +} +__name(getRectRelativeToOffsetParent, "getRectRelativeToOffsetParent"); +function isStaticPositioned(element) { + return getComputedStyle2(element).position === "static"; +} +__name(isStaticPositioned, "isStaticPositioned"); +function getTrueOffsetParent(element, polyfill) { + if (!isHTMLElement(element) || getComputedStyle2(element).position === "fixed") { + return null; + } + if (polyfill) { + return polyfill(element); + } + return element.offsetParent; +} +__name(getTrueOffsetParent, "getTrueOffsetParent"); +function getOffsetParent(element, polyfill) { + const win = getWindow(element); + if (isTopLayer(element)) { + return win; + } + if (!isHTMLElement(element)) { + let svgOffsetParent = getParentNode(element); + while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) { + if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) { + return svgOffsetParent; + } + svgOffsetParent = getParentNode(svgOffsetParent); + } + return win; + } + let offsetParent = getTrueOffsetParent(element, polyfill); + while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) { + offsetParent = getTrueOffsetParent(offsetParent, polyfill); + } + if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) { + return win; + } + return offsetParent || getContainingBlock(element) || win; +} +__name(getOffsetParent, "getOffsetParent"); +var getElementRects = /* @__PURE__ */ __name(async function(data) { + const getOffsetParentFn = this.getOffsetParent || getOffsetParent; + const getDimensionsFn = this.getDimensions; + const floatingDimensions = await getDimensionsFn(data.floating); + return { + reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy), + floating: { + x: 0, + y: 0, + width: floatingDimensions.width, + height: floatingDimensions.height + } + }; +}, "getElementRects"); +function isRTL(element) { + return getComputedStyle2(element).direction === "rtl"; +} +__name(isRTL, "isRTL"); +var platform = { + convertOffsetParentRelativeRectToViewportRelativeRect, + getDocumentElement, + getClippingRect, + getOffsetParent, + getElementRects, + getClientRects, + getDimensions, + getScale, + isElement, + isRTL +}; +function observeMove(element, onMove) { + let io = null; + let timeoutId2; + const root = getDocumentElement(element); + function cleanup() { + var _io; + clearTimeout(timeoutId2); + (_io = io) == null || _io.disconnect(); + io = null; + } + __name(cleanup, "cleanup"); + function refresh(skip, threshold) { + if (skip === void 0) { + skip = false; + } + if (threshold === void 0) { + threshold = 1; + } + cleanup(); + const { + left, + top, + width, + height + } = element.getBoundingClientRect(); + if (!skip) { + onMove(); + } + if (!width || !height) { + return; + } + const insetTop = floor(top); + const insetRight = floor(root.clientWidth - (left + width)); + const insetBottom = floor(root.clientHeight - (top + height)); + const insetLeft = floor(left); + const rootMargin = -insetTop + "px " + -insetRight + "px " + -insetBottom + "px " + -insetLeft + "px"; + const options = { + rootMargin, + threshold: max(0, min(1, threshold)) || 1 + }; + let isFirstUpdate = true; + function handleObserve(entries) { + const ratio = entries[0].intersectionRatio; + if (ratio !== threshold) { + if (!isFirstUpdate) { + return refresh(); + } + if (!ratio) { + timeoutId2 = setTimeout(() => { + refresh(false, 1e-7); + }, 1e3); + } else { + refresh(false, ratio); + } + } + isFirstUpdate = false; + } + __name(handleObserve, "handleObserve"); + try { + io = new IntersectionObserver(handleObserve, { + ...options, + // Handle