neroshitron/.tamagui/tamagui.config.cjs
2024-05-21 23:09:31 -04:00

44503 lines
1.7 MiB

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_react58 = require("react");
var isServerSide2 = typeof window > "u";
var idFn3 = /* @__PURE__ */ __name(() => {
}, "idFn");
function useForceUpdate2() {
return isServerSide2 ? idFn3 : (0, import_react58.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_react58 = require("react");
var LayoutGroupContext2 = (0, import_react58.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_react58 = require("react");
function useConstant2(fn) {
if (typeof document > "u")
return (0, import_react58.useMemo)(() => fn(), []);
const ref = (0, import_react58.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_react58 = require("react");
var import_jsx_runtime63 = require("react/jsx-runtime");
var PresenceContext2 = (0, import_react58.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_react58 = require("react");
var import_PresenceContext2 = require_PresenceContext();
function usePresence2() {
const context = (0, import_react58.useContext)(import_PresenceContext2.PresenceContext);
if (!context)
return [true, null, context];
const { id, isPresent: isPresent22, onExitComplete, register } = context;
return (0, import_react58.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_react58.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_presence3 = require_cjs3();
var React44 = __toESM2(require("react"));
var import_react58 = 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_react58.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_presence3.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_react58 = 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_react58.Children.forEach(children, (child) => {
(0, import_react58.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_react58.useContext)(import_LayoutGroupContext2.LayoutGroupContext).forceRender ?? (0, import_use_force_update2.useForceUpdate)();
const filteredChildren = onlyElements2(children), presentChildren = (0, import_react58.useRef)(filteredChildren), allChildren = (0, import_react58.useRef)(/* @__PURE__ */ new Map()).current, exiting = (0, import_react58.useRef)(/* @__PURE__ */ new Set()).current;
updateChildLookup2(filteredChildren, allChildren);
const isInitialRender = (0, import_react58.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: <explanation>
childrenToRender.map((child) => (0, import_react58.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: () => isWeb9,
isWebTouchable: () => isWebTouchable3,
isWindowDefined: () => isWindowDefined2,
useIsomorphicLayoutEffect: () => useIsomorphicLayoutEffect3
});
module2.exports = __toCommonJS2(constants_exports);
var import_react58 = require("react");
var isWeb9 = true;
var isWindowDefined2 = typeof window < "u";
var isServer3 = isWeb9 && !isWindowDefined2;
var isClient5 = isWeb9 && isWindowDefined2;
var useIsomorphicLayoutEffect3 = isServer3 ? import_react58.useEffect : import_react58.useLayoutEffect;
var isChrome3 = typeof navigator < "u" && /Chrome/.test(navigator.userAgent || "");
var isWebTouchable3 = isClient5 && ("ontouchstart" in window || navigator.maxTouchPoints > 0);
var isTouchable3 = !isWeb9 || 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_constants46 = 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_constants46.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_constants46 = 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_constants46.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_react58 = require("react");
var Decorated2 = Symbol();
var withStaticProperties7 = /* @__PURE__ */ __name((component, staticProps) => {
const next = (() => {
if (component[Decorated2]) {
const _ = (0, import_react58.forwardRef)(
(props, ref) => (0, import_react58.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_constants46 = require_cjs6();
var import_react58 = require("react");
function useGet6(currentValue, initialValue2, forwardToFunction) {
const curRef = (0, import_react58.useRef)(initialValue2 ?? currentValue);
return (0, import_constants46.useIsomorphicLayoutEffect)(() => {
curRef.current = currentValue;
}), (0, import_react58.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_react58 = require("react");
var emptyCallbackFn2 = /* @__PURE__ */ __name((_) => _(), "emptyCallbackFn");
function useControllableState2({
prop,
defaultProp,
onChange,
strategy = "prop-wins",
preventUpdate,
transition
}) {
const [state, setState] = (0, import_react58.useState)(prop ?? defaultProp), previous = (0, import_react58.useRef)(state), propWins = strategy === "prop-wins" && prop !== void 0, value = propWins ? prop : state, onChangeCb = (0, import_use_event4.useEvent)(onChange || idFn3), transitionFn = transition ? import_react58.startTransition : emptyCallbackFn2;
(0, import_react58.useEffect)(() => {
prop !== void 0 && (previous.current = prop, transitionFn(() => {
setState(prop);
}));
}, [prop]), (0, import_react58.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_helpers28 = require_cjs7();
var import_use_controllable_state16 = require_cjs9();
var import_web23 = 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_web23.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_web23.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_web23.styled)(import_web23.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_helpers28.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_web23.styled)(import_web23.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_helpers28.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_constants46 = require_cjs6();
var import_core61 = require("@tamagui/core");
var import_react58 = __toESM2(require("react"));
var import_jsx_runtime63 = require("react/jsx-runtime");
function createCollection2(name) {
const { Provider: CollectionProviderImpl, useStyledContext: useCollectionContext } = (0, import_core61.createStyledContext)({
collectionRef: { current: null },
itemMap: /* @__PURE__ */ new Map()
}), CollectionProvider = /* @__PURE__ */ __name((props) => {
const { __scopeCollection, children } = props, ref = import_react58.default.useRef(null), itemMap = import_react58.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_react58.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_core61.Slot, { ref: composedRefs, children });
});
CollectionSlot.displayName = COLLECTION_SLOT_NAME;
const ITEM_SLOT_NAME = name + "CollectionItemSlot", ITEM_DATA_ATTR = "data-collection-item", CollectionItemSlot = import_react58.default.forwardRef((props, forwardedRef) => {
const { __scopeCollection, children, ...itemData } = props, ref = import_react58.default.useRef(null), composedRefs = (0, import_compose_refs25.useComposedRefs)(forwardedRef, ref), context = useCollectionContext(__scopeCollection);
return import_react58.default.useEffect(() => (context.itemMap.set(ref, { ref, ...itemData }), () => void context.itemMap.delete(ref))), /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_core61.Slot, { [ITEM_DATA_ATTR]: "", ref: composedRefs, children });
});
CollectionItemSlot.displayName = ITEM_SLOT_NAME;
function useCollection2(__scopeCollection) {
const context = useCollectionContext(__scopeCollection);
return import_react58.default.useCallback(() => {
if (!import_constants46.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_core61 = require("@tamagui/core");
var getElevation2 = /* @__PURE__ */ __name((size6, extras) => {
if (!size6)
return;
const { tokens: tokens2 } = extras, token = tokens2.size[size6], sizeNum = (0, import_core61.isVariable)(token) ? +token.val : size6;
return getSizedElevation2(sizeNum, extras);
}, "getElevation");
var getSizedElevation2 = /* @__PURE__ */ __name((val, { theme, tokens: tokens2 }) => {
let num = 0;
if (val === true) {
const val2 = (0, import_core61.getVariableValue)(tokens2.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_core61.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_core61 = 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_core61.styled)(import_core61.View, {
flexDirection: "column",
variants: variants2
});
YStack2.displayName = "YStack";
var XStack2 = (0, import_core61.styled)(import_core61.View, {
flexDirection: "row",
variants: variants2
});
XStack2.displayName = "XStack";
var ZStack2 = (0, import_core61.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_web23 = require("@tamagui/core");
var defaultOptions2 = {
shift: 0,
bounds: [0]
};
var getSize2 = /* @__PURE__ */ __name((size6, options) => getTokenRelative2("size", size6, options), "getSize");
var getSpace2 = /* @__PURE__ */ __name((space2, options) => getTokenRelative2("space", space2, options), "getSpace");
var getRadius = /* @__PURE__ */ __name((radius2, options) => getTokenRelative2("radius", radius2, options), "getRadius");
var cacheVariables2 = {};
var cacheWholeVariables2 = {};
var cacheKeys2 = {};
var cacheWholeKeys2 = {};
var stepTokenUpOrDown2 = /* @__PURE__ */ __name((type, current, options = defaultOptions2) => {
var _a, _b;
const tokens2 = (0, import_web23.getTokens)({ prefixed: true })[type];
if (!(type in cacheVariables2)) {
cacheKeys2[type] = [], cacheVariables2[type] = [], cacheWholeKeys2[type] = [], cacheWholeVariables2[type] = [];
const sorted = Object.keys(tokens2).map((k) => tokens2[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_web23.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" ? tokens2[found] : found) || tokens2.$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: tokens2, 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 = tokens2.radius[val] ?? tokens2.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: tokens2, props } = extras;
return {
padding: tokens2.space[props.size] || tokens2.space.$true
};
}
};
var radiused2 = {
true: (_, extras) => {
const { tokens: tokens2, props } = extras;
return {
borderRadius: tokens2.radius[props.size] || tokens2.radius.$true
};
}
};
var circularStyle2 = {
borderRadius: 1e5,
padding: 0
};
var circular2 = {
true: (_, { props, tokens: tokens2 }) => {
if (!("size" in props))
return circularStyle2;
const size6 = typeof props.size == "number" ? props.size : tokens2.size[props.size];
return {
...circularStyle2,
width: size6,
height: size6,
maxWidth: size6,
maxHeight: size6,
minWidth: size6,
minHeight: size6
};
}
};
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_core61 = require("@tamagui/core");
var import_get_button_sized6 = require_cjs14();
var import_Stacks3 = require_Stacks();
var import_variants3 = require_variants();
var SizableStack2 = (0, import_core61.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_core61 = 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_core61.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_react58 = require("react");
var ButtonNestingContext2 = (0, import_react58.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_core61 = 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_core61.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_web23 = require("@tamagui/core");
var SizableText2 = (0, import_web23.styled)(import_web23.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 size6 = extras.props.size || "$true";
return (0, import_get_font_sized5.getFontSized)(size6, 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_web23 = require("@tamagui/core");
var import_SizableText2 = require_SizableText();
var Paragraph2 = (0, import_web23.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_web23 = require("@tamagui/core");
var import_Paragraph2 = require_Paragraph();
var Heading2 = (0, import_web23.styled)(import_Paragraph2.Paragraph, {
tag: "span",
name: "Heading",
accessibilityRole: "header",
fontFamily: "$heading",
size: "$8",
margin: 0
});
var H12 = (0, import_web23.styled)(Heading2, {
name: "H1",
tag: "h1",
size: "$10"
});
var H22 = (0, import_web23.styled)(Heading2, {
name: "H2",
tag: "h2",
size: "$9"
});
var H32 = (0, import_web23.styled)(Heading2, {
name: "H3",
tag: "h3",
size: "$8"
});
var H42 = (0, import_web23.styled)(Heading2, {
name: "H4",
tag: "h4",
size: "$7"
});
var H52 = (0, import_web23.styled)(Heading2, {
name: "H5",
tag: "h5",
size: "$6"
});
var H62 = (0, import_web23.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_react58 = __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: size6,
noTextWrap,
color: color2,
fontFamily,
fontSize,
fontWeight,
letterSpacing,
textAlign,
fontStyle,
maxFontSizeMultiplier
} = propsIn;
if (noTextWrap || !children)
return [children];
const props = {
...extraProps
};
return color2 && (props.color = color2), fontFamily && (props.fontFamily = fontFamily), fontSize && (props.fontSize = fontSize), fontWeight && (props.fontWeight = fontWeight), letterSpacing && (props.letterSpacing = letterSpacing), textAlign && (props.textAlign = textAlign), size6 && (props.size = size6), fontStyle && (props.fontStyle = fontStyle), maxFontSizeMultiplier && (props.maxFontSizeMultiplier = maxFontSizeMultiplier), import_react58.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_constants46 = require_cjs6();
var import_helpers28 = 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_web23 = require("@tamagui/core");
var import_web24 = 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_web24.createStyledContext)();
var {
Provider: AccordionCollapsibleProvider,
useStyledContext: useAccordionCollapsibleContext
} = (0, import_web24.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_web24.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_helpers28.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_constants46.isWeb && {
onKeyDown: handleKeyDown
}
}
) })
}
);
}
);
var ITEM_NAME3 = "AccordionItem";
var { Provider: AccordionItemProvider, useStyledContext: useAccordionItemContext } = (0, import_web24.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_web24.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_web24.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_web23.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_web23.useEvent)(({ nativeEvent }) => {
nativeEvent.layout.height && setHeight(nativeEvent.layout.height);
});
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_web23.View, { ref, height, ...rest, children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
import_web23.View,
{
position: "absolute",
onLayout,
children
}
) });
});
function getState6(open) {
return open ? "open" : "closed";
}
__name(getState6, "getState");
var Accordion = (0, import_helpers28.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((color2) => color2 === "currentcolor" || color2 === "currentColor" || color2 === "inherit" || color2.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(color2) {
if (typeof color2 === "number") {
if (color2 >>> 0 === color2 && color2 >= 0 && color2 <= 4294967295) {
return color2;
}
return null;
}
if (typeof color2 !== "string") {
return null;
}
const matchers = getMatchers();
let match;
if (match = matchers.hex6.exec(color2)) {
return parseInt(match[1] + "ff", 16) >>> 0;
}
const colorFromKeyword = normalizeKeyword(color2);
if (colorFromKeyword != null) {
return colorFromKeyword;
}
if (match = matchers.rgb.exec(color2)) {
return (parse255(match[1]) << 24 | // r
parse255(match[2]) << 16 | // g
parse255(match[3]) << 8 | // b
255) >>> // a
0;
}
if (match = matchers.rgba.exec(color2)) {
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(color2)) {
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(color2)) {
return parseInt(match[1], 16) >>> 0;
}
if (match = matchers.hex4.exec(color2)) {
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(color2)) {
return (hslToRgb(
parse360(match[1]),
// h
parsePercentage(match[2]),
// s
parsePercentage(match[3])
// l
) | 255) >>> // a
0;
}
if (match = matchers.hsla.exec(color2)) {
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(color2)) {
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 gray3 = Math.round(w * 255 / (w + b));
return gray3 << 24 | gray3 << 16 | gray3 << 8;
}
const red3 = hue2rgb(0, 1, h + 1 / 3) * (1 - w - b) + w;
const green3 = hue2rgb(0, 1, h) * (1 - w - b) + w;
const blue3 = hue2rgb(0, 1, h - 1 / 3) * (1 - w - b) + w;
return Math.round(red3 * 255) << 24 | Math.round(green3 * 255) << 16 | Math.round(blue3 * 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((color2) => {
if (color2 === void 0 || color2 === null) {
return color2;
}
var int32Color = (0, _normalizeColors.default)(color2);
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(color2, opacity) {
if (opacity === void 0) {
opacity = 1;
}
if (color2 == null)
return;
if (typeof color2 === "string" && (0, _isWebColor.default)(color2)) {
return color2;
}
var colorInt = (0, _processColor.default)(color2);
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 color2 = (0, _normalizeColor.default)(shadowColor || "black", shadowOpacity);
if (color2 != null && offsetX != null && offsetY != null && blurRadius != null) {
return offsetX + " " + offsetY + " " + blurRadius + " " + color2;
}
}, "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 radius2 = textShadowRadius || 0;
var offsetX = (0, _normalizeValueWithProperty.default)(width);
var offsetY = (0, _normalizeValueWithProperty.default)(height);
var blurRadius = (0, _normalizeValueWithProperty.default)(radius2);
var color2 = (0, _normalizeValueWithProperty.default)(textShadowColor, "textShadowColor");
if (color2 && (height !== 0 || width !== 0 || radius2 !== 0) && offsetX != null && offsetY != null && blurRadius != null) {
return offsetX + " " + offsetY + " " + blurRadius + " " + color2;
}
}, "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 tokens2 = [];
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: tokens2 }];
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 = tokens2[tokens2.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 {
tokens2.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;
tokens2.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);
tokens2.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];
tokens2.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];
tokens2.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);
tokens2.push(token);
} else {
balanced += 1;
token.after = "";
token.sourceEndIndex = pos + 1;
tokens2.push(token);
stack.push(token);
tokens2 = 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];
tokens2 = 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))) {
tokens2.push({
type: "unicode-range",
sourceIndex: pos,
sourceEndIndex: next,
value: token
});
} else {
tokens2.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(config2, 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<TouchRecord>
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 config2 = responderListenersMap.get(id);
return config2 != null ? config2 : 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 config2 = getResponderConfig(id2);
var shouldSetCallback = config2[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, config2) {
(0, _utils.setResponderId)(node, id);
responderListenersMap.set(id, config2);
}
__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, config2) {
if (config2 === void 0) {
config2 = emptyObject;
}
var id = useStable(() => idCounter++);
var isAttachedRef = React44.useRef(false);
React44.useEffect(() => {
ResponderSystem.attachListeners();
return () => {
ResponderSystem.removeNode(id);
};
}, [id]);
React44.useEffect(() => {
var _config = config2, 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, config2);
isAttachedRef.current = true;
} else if (isAttachedRef.current) {
ResponderSystem.removeNode(id);
isAttachedRef.current = false;
}
}, [config2, hostRef, id]);
React44.useDebugValue({
isResponder: hostRef.current === ResponderSystem.getResponderNode()
});
React44.useDebugValue(config2);
}
__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 <View>.");
}
});
}
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, size6 = 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 <ScrollView> 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(config2) {
if (config2 === void 0) {
config2 = {
viewAreaCoveragePercentThreshold: 0
};
}
this._hasInteracted = false;
this._timers = /* @__PURE__ */ new Set();
this._viewableIndices = [];
this._viewableItems = /* @__PURE__ */ new Map();
this._config = config2;
}
/**
* 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 getValue2(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, config2) {
(0, _invariant.default)(nativeOps, "Native animated module is not available");
API.queueOperation(nativeOps.createAnimatedNode, tag, config2);
}, "createAnimatedNode"),
updateAnimatedNodeConfig: /* @__PURE__ */ __name(function updateAnimatedNodeConfig(tag, config2) {
(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, config2, endCallback) {
(0, _invariant.default)(nativeOps, "Native animated module is not available");
if (useSingleOpBatching) {
if (endCallback) {
eventListenerAnimationFinishedCallbacks[animationId] = endCallback;
}
API.queueOperation(nativeOps.startAnimatingNode, animationId, nodeTag, config2);
} else {
API.queueOperation(nativeOps.startAnimatingNode, animationId, nodeTag, config2, 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((config2) => {
if (!isSupportedTransformProp(config2.property)) {
throw new Error("Property '" + config2.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(config2) {
for (var _key3 in config2) {
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(config2) {
if (config2.useNativeDriver == null) {
console.warn("Animated: `useNativeDriver` was not specified. This is a required option and must be explicitly set to `true` or `false`");
}
if (config2.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 config2.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 config2 = this.__getNativeConfig();
if (this._platformConfig) {
config2.platformConfig = this._platformConfig;
}
_NativeAnimatedHelper.default.API.createAnimatedNode(nativeTag, config2);
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(config2) {
if (config2.outputRange && typeof config2.outputRange[0] === "string") {
return createInterpolationFromStringOutputRange(config2);
}
var outputRange = config2.outputRange;
var inputRange = config2.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 = config2.easing || linear;
var extrapolateLeft = "extend";
if (config2.extrapolateLeft !== void 0) {
extrapolateLeft = config2.extrapolateLeft;
} else if (config2.extrapolate !== void 0) {
extrapolateLeft = config2.extrapolate;
}
var extrapolateRight = "extend";
if (config2.extrapolateRight !== void 0) {
extrapolateRight = config2.extrapolateRight;
} else if (config2.extrapolate !== void 0) {
extrapolateRight = config2.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(config2) {
var outputRange = config2.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)({}, config2), {}, {
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, config2) {
super();
this._parent = parent;
this._config = config2;
this._interpolation = createInterpolation(config2);
}
__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(config2) {
return new _AnimatedInterpolation(this, config2);
}
__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, config2) {
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 (config2 && config2.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(config2) {
return new _AnimatedInterpolation.default(this, config2);
}
/**
* 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, config2) {
this._listeners = [];
this._argMapping = argMapping;
if (config2 == null) {
console.warn("Animated.event now requires a second argument for options");
config2 = {
useNativeDriver: false
};
}
if (config2.listener) {
this.__addListener(config2.listener);
}
this._callListeners = this._callListeners.bind(this);
this._attachedEvent = null;
this.__isNative = (0, _NativeAnimatedHelper.shouldUseNativeDriver)(config2);
}
__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 <Image> component cannot contain children. If you want to render content on top of the image, consider using the <ImageBackground> 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(config2) {
return new _AnimatedInterpolation.default(this, config2);
}
__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(config2) {
return new _AnimatedInterpolation.default(this, config2);
}
__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(config2) {
return new _AnimatedInterpolation.default(this, config2);
}
__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(config2) {
return new _AnimatedInterpolation.default(this, config2);
}
__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(config2) {
return new _AnimatedInterpolation.default(this, config2);
}
__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(config2) {
return new _AnimatedInterpolation.default(this, config2);
}
__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 config2 = this.__getNativeAnimationConfig();
animatedValue.__makeNative(config2.platformConfig);
this.__nativeId = _NativeAnimatedHelper.default.generateNewAnimationId();
_NativeAnimatedHelper.default.API.startAnimatingNode(
this.__nativeId,
animatedValue.__getNativeTag(),
config2,
// $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(config2) {
var _config$deceleration, _config$isInteraction, _config$iterations;
super();
this._deceleration = (_config$deceleration = config2.deceleration) !== null && _config$deceleration !== void 0 ? _config$deceleration : 0.998;
this._velocity = config2.velocity;
this._useNativeDriver = (0, _NativeAnimatedHelper.shouldUseNativeDriver)(config2);
this.__isInteraction = (_config$isInteraction = config2.isInteraction) !== null && _config$isInteraction !== void 0 ? _config$isInteraction : !this._useNativeDriver;
this.__iterations = (_config$iterations = config2.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((color2) => {
return color2;
}, "processColorObject");
function processColor(color2) {
if (color2 === void 0 || color2 === null) {
return null;
}
if (isRgbaValue(color2)) {
return color2;
}
var normalizedColor = (0, _normalizeColors.default)(
// $FlowIgnore[incompatible-cast] - Type is verified above
color2
);
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, config2) {
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 || config2 && config2.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(config2) {
var _config$overshootClam, _config$restDisplacem, _config$restSpeedThre, _config$velocity, _config$velocity2, _config$delay, _config$isInteraction, _config$iterations;
super();
this._overshootClamping = (_config$overshootClam = config2.overshootClamping) !== null && _config$overshootClam !== void 0 ? _config$overshootClam : false;
this._restDisplacementThreshold = (_config$restDisplacem = config2.restDisplacementThreshold) !== null && _config$restDisplacem !== void 0 ? _config$restDisplacem : 1e-3;
this._restSpeedThreshold = (_config$restSpeedThre = config2.restSpeedThreshold) !== null && _config$restSpeedThre !== void 0 ? _config$restSpeedThre : 1e-3;
this._initialVelocity = (_config$velocity = config2.velocity) !== null && _config$velocity !== void 0 ? _config$velocity : 0;
this._lastVelocity = (_config$velocity2 = config2.velocity) !== null && _config$velocity2 !== void 0 ? _config$velocity2 : 0;
this._toValue = config2.toValue;
this._delay = (_config$delay = config2.delay) !== null && _config$delay !== void 0 ? _config$delay : 0;
this._useNativeDriver = (0, _NativeAnimatedHelper.shouldUseNativeDriver)(config2);
this._platformConfig = config2.platformConfig;
this.__isInteraction = (_config$isInteraction = config2.isInteraction) !== null && _config$isInteraction !== void 0 ? _config$isInteraction : !this._useNativeDriver;
this.__iterations = (_config$iterations = config2.iterations) !== null && _config$iterations !== void 0 ? _config$iterations : 1;
if (config2.stiffness !== void 0 || config2.damping !== void 0 || config2.mass !== void 0) {
var _config$stiffness, _config$damping, _config$mass;
(0, _invariant.default)(config2.bounciness === void 0 && config2.speed === void 0 && config2.tension === void 0 && config2.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 = config2.stiffness) !== null && _config$stiffness !== void 0 ? _config$stiffness : 100;
this._damping = (_config$damping = config2.damping) !== null && _config$damping !== void 0 ? _config$damping : 10;
this._mass = (_config$mass = config2.mass) !== null && _config$mass !== void 0 ? _config$mass : 1;
} else if (config2.bounciness !== void 0 || config2.speed !== void 0) {
var _config$bounciness, _config$speed;
(0, _invariant.default)(config2.tension === void 0 && config2.friction === void 0 && config2.stiffness === void 0 && config2.damping === void 0 && config2.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 = config2.bounciness) !== null && _config$bounciness !== void 0 ? _config$bounciness : 8, (_config$speed = config2.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 = config2.tension) !== null && _config$tension !== void 0 ? _config$tension : 40, (_config$friction = config2.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(config2) {
var _config$easing, _config$duration, _config$delay, _config$iterations, _config$isInteraction;
super();
this._toValue = config2.toValue;
this._easing = (_config$easing = config2.easing) !== null && _config$easing !== void 0 ? _config$easing : easeInOut();
this._duration = (_config$duration = config2.duration) !== null && _config$duration !== void 0 ? _config$duration : 500;
this._delay = (_config$delay = config2.delay) !== null && _config$delay !== void 0 ? _config$delay : 0;
this.__iterations = (_config$iterations = config2.iterations) !== null && _config$iterations !== void 0 ? _config$iterations : 1;
this._useNativeDriver = (0, _NativeAnimatedHelper.shouldUseNativeDriver)(config2);
this._platformConfig = config2.platformConfig;
this.__isInteraction = (_config$isInteraction = config2.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, config2) {
if (callback && config2.onComplete) {
return function() {
config2.onComplete && config2.onComplete(...arguments);
callback && callback(...arguments);
};
} else {
return callback || config2.onComplete;
}
}, "_combineCallbacks");
var maybeVectorAnim = /* @__PURE__ */ __name(function maybeVectorAnim2(value, config2, anim) {
if (value instanceof _AnimatedValueXY.default) {
var configX = (0, _objectSpread2.default)({}, config2);
var configY = (0, _objectSpread2.default)({}, config2);
for (var key in config2) {
var _config$key = config2[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)({}, config2);
var configG = (0, _objectSpread2.default)({}, config2);
var configB = (0, _objectSpread2.default)({}, config2);
var configA = (0, _objectSpread2.default)({}, config2);
for (var _key in config2) {
var _config$_key = config2[_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, config2) {
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, config2, spring2) || {
start: /* @__PURE__ */ __name(function start(callback) {
_start(value, config2, 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)({}, config2), {}, {
iterations
});
_start(value, singleConfig);
}, "_startNativeLoop"),
_isUsingNativeDriver: /* @__PURE__ */ __name(function _isUsingNativeDriver() {
return config2.useNativeDriver || false;
}, "_isUsingNativeDriver")
};
}, "spring");
var timing = /* @__PURE__ */ __name(function timing2(value, config2) {
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, config2, timing2) || {
start: /* @__PURE__ */ __name(function start(callback) {
_start2(value, config2, 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)({}, config2), {}, {
iterations
});
_start2(value, singleConfig);
}, "_startNativeLoop"),
_isUsingNativeDriver: /* @__PURE__ */ __name(function _isUsingNativeDriver() {
return config2.useNativeDriver || false;
}, "_isUsingNativeDriver")
};
}, "timing");
var decay = /* @__PURE__ */ __name(function decay2(value, config2) {
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, config2, decay2) || {
start: /* @__PURE__ */ __name(function start(callback) {
_start3(value, config2, 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)({}, config2), {}, {
iterations
});
_start3(value, singleConfig);
}, "_startNativeLoop"),
_isUsingNativeDriver: /* @__PURE__ */ __name(function _isUsingNativeDriver() {
return config2.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, config2) {
var doneCount = 0;
var hasEnded = {};
var stopTogether = !(config2 && config2.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, config2) {
var animatedEvent = new _AnimatedEvent.AnimatedEvent(argMapping, config2);
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, config2) {
var anyValue = value;
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, emptyAnimation), {}, {
start: mockAnimationStart((callback) => {
anyValue.setValue(config2.toValue);
callback == null ? void 0 : callback({
finished: true
});
})
});
}, "spring");
var timing = /* @__PURE__ */ __name(function timing2(value, config2) {
var anyValue = value;
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, emptyAnimation), {}, {
start: mockAnimationStart((callback) => {
anyValue.setValue(config2.toValue);
callback == null ? void 0 : callback({
finished: true
});
})
});
}, "timing");
var decay = /* @__PURE__ */ __name(function decay2(value, config2) {
return emptyAnimation;
}, "decay");
var sequence = /* @__PURE__ */ __name(function sequence2(animations) {
return mockCompositeAnimation(animations);
}, "sequence");
var parallel = /* @__PURE__ */ __name(function parallel2(animations, config2) {
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(config2) {
config2.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(config2, onAnimationDidEnd) {
if (!_Platform.default.isTesting) {
_UIManager.default.configureNextLayoutAnimation(
config2,
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(config2) {
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 config2.onStartShouldSetPanResponder == null ? false : config2.onStartShouldSetPanResponder(event, gestureState);
},
onMoveShouldSetResponder(event) {
return config2.onMoveShouldSetPanResponder == null ? false : config2.onMoveShouldSetPanResponder(event, gestureState);
},
onStartShouldSetResponderCapture(event) {
if (event.nativeEvent.touches.length === 1) {
PanResponder2._initializeGestureState(gestureState);
}
gestureState.numberActiveTouches = event.touchHistory.numberActiveTouches;
return config2.onStartShouldSetPanResponderCapture != null ? config2.onStartShouldSetPanResponderCapture(event, gestureState) : false;
},
onMoveShouldSetResponderCapture(event) {
var touchHistory = event.touchHistory;
if (gestureState._accountsForMovesUpTo === touchHistory.mostRecentTimeStamp) {
return false;
}
PanResponder2._updateGestureStateOnMove(gestureState, touchHistory);
return config2.onMoveShouldSetPanResponderCapture ? config2.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 (config2.onPanResponderGrant) {
config2.onPanResponderGrant(event, gestureState);
}
return config2.onShouldBlockNativeResponder == null ? true : config2.onShouldBlockNativeResponder(event, gestureState);
},
onResponderReject(event) {
clearInteractionHandle(interactionState, config2.onPanResponderReject, event, gestureState);
},
onResponderRelease(event) {
clearInteractionHandle(interactionState, config2.onPanResponderRelease, event, gestureState);
setInteractionTimeout(interactionState);
PanResponder2._initializeGestureState(gestureState);
},
onResponderStart(event) {
var touchHistory = event.touchHistory;
gestureState.numberActiveTouches = touchHistory.numberActiveTouches;
if (config2.onPanResponderStart) {
config2.onPanResponderStart(event, gestureState);
}
},
onResponderMove(event) {
var touchHistory = event.touchHistory;
if (gestureState._accountsForMovesUpTo === touchHistory.mostRecentTimeStamp) {
return;
}
PanResponder2._updateGestureStateOnMove(gestureState, touchHistory);
if (config2.onPanResponderMove) {
config2.onPanResponderMove(event, gestureState);
}
},
onResponderEnd(event) {
var touchHistory = event.touchHistory;
gestureState.numberActiveTouches = touchHistory.numberActiveTouches;
clearInteractionHandle(interactionState, config2.onPanResponderEnd, event, gestureState);
},
onResponderTerminate(event) {
clearInteractionHandle(interactionState, config2.onPanResponderTerminate, event, gestureState);
setInteractionTimeout(interactionState);
PanResponder2._initializeGestureState(gestureState);
},
onResponderTerminationRequest(event) {
return config2.onPanResponderTerminationRequest == null ? true : config2.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, color2 = _props$color === void 0 ? "#1976D2" : _props$color, _props$hidesWhenStopp = props.hidesWhenStopped, hidesWhenStopped = _props$hidesWhenStopp === void 0 ? true : _props$hidesWhenStopp, _props$size = props.size, size6 = _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: color2,
opacity: 0.2
}), createSvgCircle({
stroke: color2,
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 size6 === "number" ? {
height: size6,
width: size6
} : indicatorSizes[size6], 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(config2) {
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(config2);
}
configure(config2) {
this._config = config2;
}
/**
* 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, config2) {
var pressResponderRef = (0, _react.useRef)(null);
if (pressResponderRef.current == null) {
pressResponderRef.current = new _PressResponder.default(config2);
}
var pressResponder = pressResponderRef.current;
(0, _react.useEffect)(() => {
pressResponder.configure(config2);
}, [config2, pressResponder]);
(0, _react.useEffect)(() => {
return () => {
pressResponder.reset();
};
}, [pressResponder]);
(0, _react.useDebugValue)(config2);
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, color2 = 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, color2 && {
backgroundColor: color2
}, 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"], color2 = 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 && color2 && {
backgroundColor: color2,
borderColor: color2
},
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 <Image> overwrites width and height styles
// (which is not quite correct), and these styles conflict with explicitly set styles
// of <ImageBackground> and with our internal layout model here.
// So, we have to proxy/reapply these styles explicitly for actual <Image> component.
// This workaround should be removed after implementing proper support of
// intrinsic content size of the <Image>.
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 color2 = props.color, label = props.label, testID = props.testID, value = props.value;
var style = {
color: color2
};
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, config2) {
var contain = config2.contain, disabled = config2.disabled, onHoverStart = config2.onHoverStart, onHoverChange = config2.onHoverChange, onHoverUpdate = config2.onHoverUpdate, onHoverEnd = config2.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, color2 = _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: color2,
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 color2 = _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)(color2);
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 useState28 = React44.useState, useEffect37 = 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 = useState28({
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]);
useEffect37(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, useEffect37 = 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);
useEffect37(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_react35, 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_react35 = __toESM(require("react"));
import_with_selector = __toESM(require_with_selector());
({ useDebugValue } = import_react35.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_constants46 = require_cjs6();
var import_web23 = require("@tamagui/core");
var import_react58 = require("react");
function mutateThemes({
themes: themes3,
batch,
insertCSS = true,
...props
}) {
const allThemesProxied = {}, allThemesRaw = {};
for (const { name, theme } of themes3) {
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_react58.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_constants46.isServer) {
process.env.NODE_ENV === "development" && console.warn("Theme mutation is not supported on server side");
return;
}
const config2 = (0, import_web23.getConfig)(), { name: themeName, theme: themeIn, insertCSS, mutationType } = props;
if (process.env.NODE_ENV === "development") {
if (!config2)
throw new Error("No config");
const theme2 = config2.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" ? config2.themes[themeName] ?? {} : {},
...themeIn
};
for (const key in theme)
(0, import_web23.ensureThemeVariable)(theme, key);
const themeProxied = (0, import_web23.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 config2 = (0, import_web23.getConfig)();
config2.themes[themeName] = theme, (0, import_web23.updateConfig)("themes", config2.themes);
}
__name(updateThemeConfig, "updateThemeConfig");
function notifyThemeManagersOfUpdate(themeName, theme) {
import_web23.activeThemeManagers.forEach((manager) => {
manager.state.name === themeName && manager.updateStateFromProps(
{
name: themeName,
forceTheme: theme
},
true
);
});
}
__name(notifyThemeManagersOfUpdate, "notifyThemeManagersOfUpdate");
function insertThemeCSS(themes3, batch = false) {
const config2 = (0, import_web23.getConfig)();
let cssRules = [];
for (const themeName in themes3) {
const theme = themes3[themeName], rules = (0, import_web23.getThemeCSSRules)({
config: config2,
themeName,
names: [themeName],
hasDarkLight: true,
theme
});
cssRules = [...cssRules, ...rules], batch || updateStyle(`t_theme_style_${themeName}`, rules);
}
if (batch) {
const id = (0, import_web23.simpleHash)(typeof batch == "string" ? batch : Object.keys(themes3).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();
}
});
// tamagui.config.ts
var tamagui_config_exports = {};
__export(tamagui_config_exports, {
default: () => tamagui_config_default
});
module.exports = __toCommonJS(tamagui_config_exports);
// node_modules/@tamagui/shorthands/dist/esm/v2.mjs
var shorthands = {
// web-only
ussel: "userSelect",
cur: "cursor",
// tamagui
pe: "pointerEvents",
// text
col: "color",
ff: "fontFamily",
fos: "fontSize",
fost: "fontStyle",
fow: "fontWeight",
ls: "letterSpacing",
lh: "lineHeight",
ta: "textAlign",
tt: "textTransform",
ww: "wordWrap",
// view
ac: "alignContent",
ai: "alignItems",
als: "alignSelf",
b: "bottom",
bg: "backgroundColor",
bbc: "borderBottomColor",
bblr: "borderBottomLeftRadius",
bbrr: "borderBottomRightRadius",
bbw: "borderBottomWidth",
blc: "borderLeftColor",
blw: "borderLeftWidth",
bc: "borderColor",
br: "borderRadius",
bs: "borderStyle",
brw: "borderRightWidth",
brc: "borderRightColor",
btc: "borderTopColor",
btlr: "borderTopLeftRadius",
btrr: "borderTopRightRadius",
btw: "borderTopWidth",
bw: "borderWidth",
dsp: "display",
f: "flex",
fb: "flexBasis",
fd: "flexDirection",
fg: "flexGrow",
fs: "flexShrink",
fw: "flexWrap",
h: "height",
jc: "justifyContent",
l: "left",
m: "margin",
mah: "maxHeight",
maw: "maxWidth",
mb: "marginBottom",
mih: "minHeight",
miw: "minWidth",
ml: "marginLeft",
mr: "marginRight",
mt: "marginTop",
mx: "marginHorizontal",
my: "marginVertical",
o: "opacity",
ov: "overflow",
p: "padding",
pb: "paddingBottom",
pl: "paddingLeft",
pos: "position",
pr: "paddingRight",
pt: "paddingTop",
px: "paddingHorizontal",
py: "paddingVertical",
r: "right",
shac: "shadowColor",
shar: "shadowRadius",
shof: "shadowOffset",
shop: "shadowOpacity",
t: "top",
w: "width",
zi: "zIndex"
};
shorthands.bls = "borderLeftStyle";
shorthands.brs = "borderRightStyle";
shorthands.bts = "borderTopStyle";
shorthands.bbs = "borderBottomStyle";
shorthands.bxs = "boxSizing";
shorthands.bxsh = "boxShadow";
shorthands.ox = "overflowX";
shorthands.oy = "overflowY";
// node_modules/@tamagui/colors/dist/esm/dark/blue.mjs
var blue = {
blue1: "hsl(212, 35.0%, 9.2%)",
blue2: "hsl(216, 50.0%, 11.8%)",
blue3: "hsl(214, 59.4%, 15.3%)",
blue4: "hsl(214, 65.8%, 17.9%)",
blue5: "hsl(213, 71.2%, 20.2%)",
blue6: "hsl(212, 77.4%, 23.1%)",
blue7: "hsl(211, 85.1%, 27.4%)",
blue8: "hsl(211, 89.7%, 34.1%)",
blue9: "hsl(206, 100%, 50.0%)",
blue10: "hsl(209, 100%, 60.6%)",
blue11: "hsl(210, 100%, 66.1%)",
blue12: "hsl(206, 98.0%, 95.8%)"
};
// node_modules/@tamagui/colors/dist/esm/dark/gray.mjs
var gray = {
gray1: "hsl(0, 0%, 8.5%)",
gray2: "hsl(0, 0%, 11.0%)",
gray3: "hsl(0, 0%, 13.6%)",
gray4: "hsl(0, 0%, 15.8%)",
gray5: "hsl(0, 0%, 17.9%)",
gray6: "hsl(0, 0%, 20.5%)",
gray7: "hsl(0, 0%, 24.3%)",
gray8: "hsl(0, 0%, 31.2%)",
gray9: "hsl(0, 0%, 43.9%)",
gray10: "hsl(0, 0%, 49.4%)",
gray11: "hsl(0, 0%, 62.8%)",
gray12: "hsl(0, 0%, 93.0%)"
};
// node_modules/@tamagui/colors/dist/esm/dark/green.mjs
var green = {
green1: "hsl(146, 30.0%, 7.4%)",
green2: "hsl(155, 44.2%, 8.4%)",
green3: "hsl(155, 46.7%, 10.9%)",
green4: "hsl(154, 48.4%, 12.9%)",
green5: "hsl(154, 49.7%, 14.9%)",
green6: "hsl(154, 50.9%, 17.6%)",
green7: "hsl(153, 51.8%, 21.8%)",
green8: "hsl(151, 51.7%, 28.4%)",
green9: "hsl(151, 55.0%, 41.5%)",
green10: "hsl(151, 49.3%, 46.5%)",
green11: "hsl(151, 50.0%, 53.2%)",
green12: "hsl(137, 72.0%, 94.0%)"
};
// node_modules/@tamagui/colors/dist/esm/dark/orange.mjs
var orange = {
orange1: "hsl(30, 70.0%, 7.2%)",
orange2: "hsl(28, 100%, 8.4%)",
orange3: "hsl(26, 91.1%, 11.6%)",
orange4: "hsl(25, 88.3%, 14.1%)",
orange5: "hsl(24, 87.6%, 16.6%)",
orange6: "hsl(24, 88.6%, 19.8%)",
orange7: "hsl(24, 92.4%, 24.0%)",
orange8: "hsl(25, 100%, 29.0%)",
orange9: "hsl(24, 94.0%, 50.0%)",
orange10: "hsl(24, 100%, 58.5%)",
orange11: "hsl(24, 100%, 62.2%)",
orange12: "hsl(24, 97.0%, 93.2%)"
};
// node_modules/@tamagui/colors/dist/esm/dark/pink.mjs
var pink = {
pink1: "hsl(318, 25.0%, 9.6%)",
pink2: "hsl(319, 32.2%, 11.6%)",
pink3: "hsl(319, 41.0%, 16.0%)",
pink4: "hsl(320, 45.4%, 18.7%)",
pink5: "hsl(320, 49.0%, 21.1%)",
pink6: "hsl(321, 53.6%, 24.4%)",
pink7: "hsl(321, 61.1%, 29.7%)",
pink8: "hsl(322, 74.9%, 37.5%)",
pink9: "hsl(322, 65.0%, 54.5%)",
pink10: "hsl(323, 72.8%, 59.2%)",
pink11: "hsl(325, 90.0%, 66.4%)",
pink12: "hsl(322, 90.0%, 95.8%)"
};
// node_modules/@tamagui/colors/dist/esm/dark/purple.mjs
var purple = {
purple1: "hsl(284, 20.0%, 9.6%)",
purple2: "hsl(283, 30.0%, 11.8%)",
purple3: "hsl(281, 37.5%, 16.5%)",
purple4: "hsl(280, 41.2%, 20.0%)",
purple5: "hsl(279, 43.8%, 23.3%)",
purple6: "hsl(277, 46.4%, 27.5%)",
purple7: "hsl(275, 49.3%, 34.6%)",
purple8: "hsl(272, 52.1%, 45.9%)",
purple9: "hsl(272, 51.0%, 54.0%)",
purple10: "hsl(273, 57.3%, 59.1%)",
purple11: "hsl(275, 80.0%, 71.0%)",
purple12: "hsl(279, 75.0%, 95.7%)"
};
// node_modules/@tamagui/colors/dist/esm/dark/red.mjs
var red = {
red1: "hsl(353, 23.0%, 9.8%)",
red2: "hsl(357, 34.4%, 12.0%)",
red3: "hsl(356, 43.4%, 16.4%)",
red4: "hsl(356, 47.6%, 19.2%)",
red5: "hsl(356, 51.1%, 21.9%)",
red6: "hsl(356, 55.2%, 25.9%)",
red7: "hsl(357, 60.2%, 31.8%)",
red8: "hsl(358, 65.0%, 40.4%)",
red9: "hsl(358, 75.0%, 59.0%)",
red10: "hsl(358, 85.3%, 64.0%)",
red11: "hsl(358, 100%, 69.5%)",
red12: "hsl(351, 89.0%, 96.0%)"
};
// node_modules/@tamagui/colors/dist/esm/dark/yellow.mjs
var yellow = {
yellow1: "hsl(45, 100%, 5.5%)",
yellow2: "hsl(46, 100%, 6.7%)",
yellow3: "hsl(45, 100%, 8.7%)",
yellow4: "hsl(45, 100%, 10.4%)",
yellow5: "hsl(47, 100%, 12.1%)",
yellow6: "hsl(49, 100%, 14.3%)",
yellow7: "hsl(49, 90.3%, 18.4%)",
yellow8: "hsl(50, 100%, 22.0%)",
yellow9: "hsl(53, 92.0%, 50.0%)",
yellow10: "hsl(54, 100%, 68.0%)",
yellow11: "hsl(48, 100%, 47.0%)",
yellow12: "hsl(53, 100%, 91.0%)"
};
// node_modules/@tamagui/colors/dist/esm/light/blue.mjs
var blue2 = {
blue1: "hsl(206, 100%, 99.2%)",
blue2: "hsl(210, 100%, 98.0%)",
blue3: "hsl(209, 100%, 96.5%)",
blue4: "hsl(210, 98.8%, 94.0%)",
blue5: "hsl(209, 95.0%, 90.1%)",
blue6: "hsl(209, 81.2%, 84.5%)",
blue7: "hsl(208, 77.5%, 76.9%)",
blue8: "hsl(206, 81.9%, 65.3%)",
blue9: "hsl(206, 100%, 50.0%)",
blue10: "hsl(208, 100%, 47.3%)",
blue11: "hsl(211, 100%, 43.2%)",
blue12: "hsl(211, 100%, 15.0%)"
};
// node_modules/@tamagui/colors/dist/esm/light/gray.mjs
var gray2 = {
gray1: "hsl(0, 0%, 99.0%)",
gray2: "hsl(0, 0%, 97.3%)",
gray3: "hsl(0, 0%, 95.1%)",
gray4: "hsl(0, 0%, 93.0%)",
gray5: "hsl(0, 0%, 90.9%)",
gray6: "hsl(0, 0%, 88.7%)",
gray7: "hsl(0, 0%, 85.8%)",
gray8: "hsl(0, 0%, 78.0%)",
gray9: "hsl(0, 0%, 56.1%)",
gray10: "hsl(0, 0%, 52.3%)",
gray11: "hsl(0, 0%, 43.5%)",
gray12: "hsl(0, 0%, 9.0%)"
};
// node_modules/@tamagui/colors/dist/esm/light/green.mjs
var green2 = {
green1: "hsl(136, 50.0%, 98.9%)",
green2: "hsl(138, 62.5%, 96.9%)",
green3: "hsl(139, 55.2%, 94.5%)",
green4: "hsl(140, 48.7%, 91.0%)",
green5: "hsl(141, 43.7%, 86.0%)",
green6: "hsl(143, 40.3%, 79.0%)",
green7: "hsl(146, 38.5%, 69.0%)",
green8: "hsl(151, 40.2%, 54.1%)",
green9: "hsl(151, 55.0%, 41.5%)",
green10: "hsl(152, 57.5%, 37.6%)",
green11: "hsl(153, 67.0%, 28.5%)",
green12: "hsl(155, 40.0%, 14.0%)"
};
// node_modules/@tamagui/colors/dist/esm/light/orange.mjs
var orange2 = {
orange1: "hsl(24, 70.0%, 99.0%)",
orange2: "hsl(24, 83.3%, 97.6%)",
orange3: "hsl(24, 100%, 95.3%)",
orange4: "hsl(25, 100%, 92.2%)",
orange5: "hsl(25, 100%, 88.2%)",
orange6: "hsl(25, 100%, 82.8%)",
orange7: "hsl(24, 100%, 75.3%)",
orange8: "hsl(24, 94.5%, 64.3%)",
orange9: "hsl(24, 94.0%, 50.0%)",
orange10: "hsl(24, 100%, 46.5%)",
orange11: "hsl(24, 100%, 37.0%)",
orange12: "hsl(15, 60.0%, 17.0%)"
};
// node_modules/@tamagui/colors/dist/esm/light/pink.mjs
var pink2 = {
pink1: "hsl(322, 100%, 99.4%)",
pink2: "hsl(323, 100%, 98.4%)",
pink3: "hsl(323, 86.3%, 96.5%)",
pink4: "hsl(323, 78.7%, 94.2%)",
pink5: "hsl(323, 72.2%, 91.1%)",
pink6: "hsl(323, 66.3%, 86.6%)",
pink7: "hsl(323, 62.0%, 80.1%)",
pink8: "hsl(323, 60.3%, 72.4%)",
pink9: "hsl(322, 65.0%, 54.5%)",
pink10: "hsl(322, 63.9%, 50.7%)",
pink11: "hsl(322, 75.0%, 46.0%)",
pink12: "hsl(320, 70.0%, 13.5%)"
};
// node_modules/@tamagui/colors/dist/esm/light/purple.mjs
var purple2 = {
purple1: "hsl(280, 65.0%, 99.4%)",
purple2: "hsl(276, 100%, 99.0%)",
purple3: "hsl(276, 83.1%, 97.0%)",
purple4: "hsl(275, 76.4%, 94.7%)",
purple5: "hsl(275, 70.8%, 91.8%)",
purple6: "hsl(274, 65.4%, 87.8%)",
purple7: "hsl(273, 61.0%, 81.7%)",
purple8: "hsl(272, 60.0%, 73.5%)",
purple9: "hsl(272, 51.0%, 54.0%)",
purple10: "hsl(272, 46.8%, 50.3%)",
purple11: "hsl(272, 50.0%, 45.8%)",
purple12: "hsl(272, 66.0%, 16.0%)"
};
// node_modules/@tamagui/colors/dist/esm/light/red.mjs
var red2 = {
red1: "hsl(359, 100%, 99.4%)",
red2: "hsl(359, 100%, 98.6%)",
red3: "hsl(360, 100%, 96.8%)",
red4: "hsl(360, 97.9%, 94.8%)",
red5: "hsl(360, 90.2%, 91.9%)",
red6: "hsl(360, 81.7%, 87.8%)",
red7: "hsl(359, 74.2%, 81.7%)",
red8: "hsl(359, 69.5%, 74.3%)",
red9: "hsl(358, 75.0%, 59.0%)",
red10: "hsl(358, 69.4%, 55.2%)",
red11: "hsl(358, 65.0%, 48.7%)",
red12: "hsl(354, 50.0%, 14.6%)"
};
// node_modules/@tamagui/colors/dist/esm/light/yellow.mjs
var yellow2 = {
yellow1: "hsl(60, 54.0%, 98.5%)",
yellow2: "hsl(52, 100%, 95.5%)",
yellow3: "hsl(55, 100%, 90.9%)",
yellow4: "hsl(54, 100%, 86.6%)",
yellow5: "hsl(52, 97.9%, 82.0%)",
yellow6: "hsl(50, 89.4%, 76.1%)",
yellow7: "hsl(47, 80.4%, 68.0%)",
yellow8: "hsl(48, 100%, 46.1%)",
yellow9: "hsl(53, 92.0%, 50.0%)",
yellow10: "hsl(50, 100%, 48.5%)",
yellow11: "hsl(42, 100%, 29.0%)",
yellow12: "hsl(40, 55.0%, 13.5%)"
};
// node_modules/@tamagui/create-theme/dist/esm/isMinusZero.mjs
function isMinusZero(value) {
return 1 / value === Number.NEGATIVE_INFINITY;
}
__name(isMinusZero, "isMinusZero");
// node_modules/@tamagui/create-theme/dist/esm/themeInfo.mjs
var THEME_INFO = /* @__PURE__ */ new Map();
var getThemeInfo = /* @__PURE__ */ __name((theme, name) => THEME_INFO.get(name || JSON.stringify(theme)), "getThemeInfo");
var setThemeInfo = /* @__PURE__ */ __name((theme, info) => {
const next = {
...info,
cache: /* @__PURE__ */ new Map()
};
THEME_INFO.set(info.name || JSON.stringify(theme), next), THEME_INFO.set(JSON.stringify(info.definition), next);
}, "setThemeInfo");
// node_modules/@tamagui/create-theme/dist/esm/createTheme.mjs
var identityCache = /* @__PURE__ */ new Map();
function createThemeWithPalettes(palettes2, defaultPalette, definition, options, name, skipCache = false) {
if (!palettes2[defaultPalette])
throw new Error(`No pallete: ${defaultPalette}`);
const newDef = {
...definition
};
for (const key in definition) {
let val = definition[key];
if (typeof val == "string" && val[0] === "$") {
const [altPaletteName$, altPaletteIndex] = val.split("."), altPaletteName = altPaletteName$.slice(1), parentName = defaultPalette.split("_")[0], altPalette = palettes2[altPaletteName] || palettes2[`${parentName}_${altPaletteName}`];
if (altPalette) {
const next = getValue(altPalette, +altPaletteIndex);
typeof next < "u" && (newDef[key] = next);
}
}
}
return createTheme(palettes2[defaultPalette], newDef, options, name, skipCache);
}
__name(createThemeWithPalettes, "createThemeWithPalettes");
function createTheme(palette, definition, options, name, skipCache = false) {
const cacheKey = skipCache ? "" : JSON.stringify([name, palette, definition, options]);
if (!skipCache && identityCache.has(cacheKey))
return identityCache.get(cacheKey);
const theme = {
...Object.fromEntries(Object.entries(definition).map(([key, offset4]) => [key, getValue(palette, offset4)])),
...options == null ? void 0 : options.nonInheritedValues
};
return setThemeInfo(theme, {
palette,
definition,
options,
name
}), cacheKey && identityCache.set(cacheKey, theme), theme;
}
__name(createTheme, "createTheme");
var getValue = /* @__PURE__ */ __name((palette, value) => {
if (!palette)
throw new Error("No palette!");
if (typeof value == "string")
return value;
const max2 = palette.length - 1, next = (value === 0 ? !isMinusZero(value) : value >= 0) ? value : max2 + value, index3 = Math.min(Math.max(0, next), max2);
return palette[index3];
}, "getValue");
// node_modules/@tamagui/create-theme/dist/esm/helpers.mjs
function objectEntries(obj) {
return Object.entries(obj);
}
__name(objectEntries, "objectEntries");
function objectFromEntries(arr) {
return Object.fromEntries(arr);
}
__name(objectFromEntries, "objectFromEntries");
// node_modules/@tamagui/create-theme/dist/esm/masks.mjs
var createMask = /* @__PURE__ */ __name((createMask2) => typeof createMask2 == "function" ? {
name: createMask2.name || "unnamed",
mask: createMask2
} : createMask2, "createMask");
var skipMask = {
name: "skip-mask",
mask: (template, opts) => {
const {
skip
} = opts;
return Object.fromEntries(Object.entries(template).filter(([k]) => !skip || !(k in skip)).map(([k, v]) => [k, applyOverrides(k, v, opts)]));
}
};
function applyOverrides(key, value, opts) {
var _a, _b, _c;
let override, strategy = opts.overrideStrategy;
const overrideSwap = (_a = opts.overrideSwap) == null ? void 0 : _a[key];
if (typeof overrideSwap < "u")
override = overrideSwap, strategy = "swap";
else {
const overrideShift = (_b = opts.overrideShift) == null ? void 0 : _b[key];
if (typeof overrideShift < "u")
override = overrideShift, strategy = "shift";
else {
const overrideDefault = (_c = opts.override) == null ? void 0 : _c[key];
typeof overrideDefault < "u" && (override = overrideDefault, strategy = opts.overrideStrategy);
}
}
return typeof override > "u" || typeof override == "string" ? value : strategy === "swap" ? override : value;
}
__name(applyOverrides, "applyOverrides");
var createIdentityMask = /* @__PURE__ */ __name(() => ({
name: "identity-mask",
mask: (template, opts) => skipMask.mask(template, opts)
}), "createIdentityMask");
var createInverseMask = /* @__PURE__ */ __name(() => ({
name: "inverse-mask",
mask: (template, opts) => {
const inversed = objectFromEntries(objectEntries(template).map(([k, v]) => [k, -v]));
return skipMask.mask(inversed, opts);
}
}), "createInverseMask");
var createShiftMask = /* @__PURE__ */ __name(({
inverse
} = {}, defaultOptions2) => ({
name: "shift-mask",
mask: (template, opts) => {
const {
override,
overrideStrategy = "shift",
max: maxIn,
palette,
min: min2 = 0,
strength = 1
} = {
...defaultOptions2,
...opts
}, values = Object.entries(template), max2 = maxIn ?? (palette ? Object.values(palette).length - 1 : Number.POSITIVE_INFINITY), out = {};
for (const [key, value] of values) {
if (typeof value == "string")
continue;
if (typeof (override == null ? void 0 : override[key]) == "number") {
const overrideVal = override[key];
out[key] = overrideStrategy === "shift" ? value + overrideVal : overrideVal;
continue;
}
if (typeof (override == null ? void 0 : override[key]) == "string") {
out[key] = override[key];
continue;
}
const isPositive = value === 0 ? !isMinusZero(value) : value >= 0, direction = isPositive ? 1 : -1, invert = inverse ? -1 : 1, next = value + strength * direction * invert, clamped = isPositive ? Math.max(min2, Math.min(max2, next)) : Math.min(-min2, Math.max(-max2, next));
out[key] = clamped;
}
return skipMask.mask(out, opts);
}
}), "createShiftMask");
var createWeakenMask = /* @__PURE__ */ __name((defaultOptions2) => ({
name: "soften-mask",
mask: createShiftMask({}, defaultOptions2).mask
}), "createWeakenMask");
var createSoftenMask = createWeakenMask;
var createStrengthenMask = /* @__PURE__ */ __name((defaultOptions2) => ({
name: "strengthen-mask",
mask: createShiftMask({
inverse: true
}, defaultOptions2).mask
}), "createStrengthenMask");
// node_modules/@tamagui/create-theme/dist/esm/applyMask.mjs
function applyMask(theme, mask, options = {}, parentName, nextName) {
const info = getThemeInfo(theme, parentName);
if (!info)
throw new Error(process.env.NODE_ENV !== "production" ? "No info found for theme, you must pass the theme created by createThemeFromPalette directly to extendTheme" : "\u274C Err2");
const next = applyMaskStateless(info, mask, options, parentName);
return setThemeInfo(next.theme, {
definition: next.definition,
palette: info.palette,
name: nextName
}), next.theme;
}
__name(applyMask, "applyMask");
function applyMaskStateless(info, mask, options = {}, parentName) {
var _a;
const skip = {
...options.skip
};
if ((_a = info.options) == null ? void 0 : _a.nonInheritedValues)
for (const key in info.options.nonInheritedValues)
skip[key] = 1;
const maskOptions = {
parentName,
palette: info.palette,
...options,
skip
}, template = mask.mask(info.definition, maskOptions), theme = createTheme(info.palette, template);
return {
...info,
cache: /* @__PURE__ */ new Map(),
definition: template,
theme
};
}
__name(applyMaskStateless, "applyMaskStateless");
// node_modules/@tamagui/create-theme/dist/esm/combineMasks.mjs
var combineMasks = /* @__PURE__ */ __name((...masks2) => ({
name: "combine-mask",
mask: (template, opts) => {
let current = getThemeInfo(template, opts.parentName), theme;
for (const mask2 of masks2) {
if (!current)
throw new Error(`Nothing returned from mask: ${current}, for template: ${template} and mask: ${mask2.toString()}, given opts ${JSON.stringify(opts, null, 2)}`);
const next = applyMaskStateless(current, mask2, opts);
current = next, theme = next.theme;
}
return theme;
}
}), "combineMasks");
// node_modules/@tamagui/theme-builder/dist/esm/ThemeBuilder.mjs
var _ThemeBuilder = class _ThemeBuilder {
constructor(state) {
this.state = state;
}
addPalettes(palettes2) {
return this.state.palettes = {
// as {} prevents generic string key merge messing up types
...this.state.palettes,
...palettes2
}, this;
}
addTemplates(templates2) {
return this.state.templates = {
// as {} prevents generic string key merge messing up types
...this.state.templates,
...templates2
}, this;
}
addMasks(masks2) {
return this.state.masks = {
// as {} prevents generic string key merge messing up types
...this.state.masks,
...objectFromEntries(objectEntries(masks2).map(([key, val]) => [key, createMask(val)]))
}, this;
}
// for dev mode only really
_addedThemes = [];
addThemes(themes3) {
return this._addedThemes.push({
type: "themes",
args: [themes3]
}), this.state.themes = {
// as {} prevents generic string key merge messing up types
...this.state.themes,
...themes3
}, this;
}
// these wont be typed to save some complexity and because they don't need to be typed!
addComponentThemes(childThemeDefinition, options) {
return this.addChildThemes(childThemeDefinition, options), this;
}
addChildThemes(childThemeDefinition, options) {
const currentThemes = this.state.themes;
if (!currentThemes)
throw new Error("No themes defined yet, use addThemes first to set your base themes");
this._addedThemes.push({
type: "childThemes",
args: [childThemeDefinition, options]
});
const currentThemeNames = Object.keys(currentThemes), incomingThemeNames = Object.keys(childThemeDefinition), namesWithDefinitions = currentThemeNames.flatMap((prefix) => {
const avoidNestingWithin = options == null ? void 0 : options.avoidNestingWithin;
return avoidNestingWithin && avoidNestingWithin.some((avoidName) => prefix.startsWith(avoidName) || prefix.endsWith(avoidName)) ? [] : incomingThemeNames.map((subName) => {
const fullName = `${prefix}_${subName}`, definition = childThemeDefinition[subName];
return "avoidNestingWithin" in definition && definition.avoidNestingWithin.some((name) => prefix.startsWith(name) || prefix.endsWith(name)) ? null : [fullName, definition];
}).filter(Boolean);
}), childThemes = Object.fromEntries(namesWithDefinitions), next = {
// as {} prevents generic string key merge messing up types
...this.state.themes,
...childThemes
};
return this.state.themes = next, this;
}
build() {
var _a, _b, _c, _d;
if (!this.state.themes)
return {};
const out = {}, maskedThemes = [];
for (const themeName in this.state.themes) {
const nameParts = themeName.split("_"), parentName = nameParts.slice(0, nameParts.length - 1).join("_"), definitions = this.state.themes[themeName], themeDefinition = Array.isArray(definitions) ? (() => {
const found = definitions.find(
// endWith match stronger than startsWith
(d) => d.parent ? parentName.endsWith(d.parent) || parentName.startsWith(d.parent) : true
);
return found || null;
})() : definitions;
if (themeDefinition)
if ("theme" in themeDefinition)
out[themeName] = themeDefinition.theme;
else if ("mask" in themeDefinition)
maskedThemes.push({
parentName,
themeName,
mask: themeDefinition
});
else {
let {
palette: paletteName = "",
template: templateName,
...options
} = themeDefinition;
const parentDefinition = this.state.themes[parentName];
if (!this.state.palettes)
throw new Error(`No palettes defined for theme with palette expected: ${themeName}`);
let palette = this.state.palettes[paletteName || ""], attemptParentName = `${parentName}_${paletteName}`;
for (; !palette && attemptParentName; )
attemptParentName in this.state.palettes ? (palette = this.state.palettes[attemptParentName], paletteName = attemptParentName) : attemptParentName = attemptParentName.split("_").slice(0, -1).join("_");
if (!palette) {
const msg = process.env.NODE_ENV !== "production" ? `: ${themeName}: ${paletteName}
Definition: ${JSON.stringify(themeDefinition)}
Parent: ${JSON.stringify(parentDefinition)}
Potential: (${Object.keys(this.state.palettes).join(", ")})` : "";
throw new Error(`No palette for theme${msg}`);
}
const template = ((_a = this.state.templates) == null ? void 0 : _a[templateName]) ?? // fall back to finding the scheme specific on if it exists
((_b = this.state.templates) == null ? void 0 : _b[`${nameParts[0]}_${templateName}`]);
if (!template)
throw new Error(`No template for theme ${themeName}: ${templateName}`);
out[themeName] = createThemeWithPalettes(this.state.palettes, paletteName, template, options, themeName, true);
}
}
for (const {
mask,
themeName,
parentName
} of maskedThemes) {
const parent = out[parentName];
if (!parent)
continue;
const {
mask: maskName,
...options
} = mask;
let maskFunction = (_c = this.state.masks) == null ? void 0 : _c[maskName];
if (!maskFunction)
throw new Error(`No mask ${maskName}`);
const parentTheme = this.state.themes[parentName];
if (parentTheme && "childOptions" in parentTheme) {
const {
mask: mask2,
...childOpts
} = parentTheme.childOptions;
mask2 && (maskFunction = (_d = this.state.masks) == null ? void 0 : _d[mask2]), Object.assign(options, childOpts);
}
out[themeName] = applyMask(parent, maskFunction, options, parentName, themeName);
}
return out;
}
};
__name(_ThemeBuilder, "ThemeBuilder");
var ThemeBuilder = _ThemeBuilder;
function createThemeBuilder() {
return new ThemeBuilder({});
}
__name(createThemeBuilder, "createThemeBuilder");
// node_modules/@tamagui/theme-builder/dist/esm/masks.mjs
var masks = {
identity: createIdentityMask(),
soften: createSoftenMask(),
soften2: createSoftenMask({
strength: 2
}),
soften3: createSoftenMask({
strength: 3
}),
strengthen: createStrengthenMask(),
inverse: createInverseMask(),
inverseSoften: combineMasks(createInverseMask(), createSoftenMask({
strength: 2
})),
inverseSoften2: combineMasks(createInverseMask(), createSoftenMask({
strength: 3
})),
inverseSoften3: combineMasks(createInverseMask(), createSoftenMask({
strength: 4
})),
inverseStrengthen2: combineMasks(createInverseMask(), createStrengthenMask({
strength: 2
})),
strengthenButSoftenBorder: createMask((template, options) => {
const stronger = createStrengthenMask().mask(template, options), softer = createSoftenMask().mask(template, options);
return {
...stronger,
borderColor: softer.borderColor,
borderColorHover: softer.borderColorHover,
borderColorPress: softer.borderColorPress,
borderColorFocus: softer.borderColorFocus
};
}),
soften2Border1: createMask((template, options) => {
const softer2 = createSoftenMask({
strength: 2
}).mask(template, options), softer1 = createSoftenMask({
strength: 1
}).mask(template, options);
return {
...softer2,
borderColor: softer1.borderColor,
borderColorHover: softer1.borderColorHover,
borderColorPress: softer1.borderColorPress,
borderColorFocus: softer1.borderColorFocus
};
}),
soften3FlatBorder: createMask((template, options) => {
const borderMask = createSoftenMask({
strength: 2
}).mask(template, options);
return {
...createSoftenMask({
strength: 3
}).mask(template, options),
borderColor: borderMask.borderColor,
borderColorHover: borderMask.borderColorHover,
borderColorPress: borderMask.borderColorPress,
borderColorFocus: borderMask.borderColorFocus
};
}),
softenBorder: createMask((template, options) => {
const plain = skipMask.mask(template, options), softer = createSoftenMask().mask(template, options);
return {
...plain,
borderColor: softer.borderColor,
borderColorHover: softer.borderColorHover,
borderColorPress: softer.borderColorPress,
borderColorFocus: softer.borderColorFocus
};
}),
softenBorder2: createMask((template, options) => {
const plain = skipMask.mask(template, options), softer = createSoftenMask({
strength: 2
}).mask(template, options);
return {
...plain,
borderColor: softer.borderColor,
borderColorHover: softer.borderColorHover,
borderColorPress: softer.borderColorPress,
borderColorFocus: softer.borderColorFocus
};
})
};
// node_modules/@tamagui/themes/dist/esm/v3-themes.mjs
var import_web = require("@tamagui/core");
var colorTokens = {
light: {
blue: blue2,
gray: gray2,
green: green2,
orange: orange2,
pink: pink2,
purple: purple2,
red: red2,
yellow: yellow2
},
dark: {
blue,
gray,
green,
orange,
pink,
purple,
red,
yellow
}
};
var lightShadowColor = "rgba(0,0,0,0.04)";
var lightShadowColorStrong = "rgba(0,0,0,0.085)";
var darkShadowColor = "rgba(0,0,0,0.2)";
var darkShadowColorStrong = "rgba(0,0,0,0.3)";
var darkColors = {
...colorTokens.dark.blue,
...colorTokens.dark.gray,
...colorTokens.dark.green,
...colorTokens.dark.orange,
...colorTokens.dark.pink,
...colorTokens.dark.purple,
...colorTokens.dark.red,
...colorTokens.dark.yellow
};
var lightColors = {
...colorTokens.light.blue,
...colorTokens.light.gray,
...colorTokens.light.green,
...colorTokens.light.orange,
...colorTokens.light.pink,
...colorTokens.light.purple,
...colorTokens.light.red,
...colorTokens.light.yellow
};
var color = {
white0: "rgba(255,255,255,0)",
white075: "rgba(255,255,255,0.75)",
white05: "rgba(255,255,255,0.5)",
white025: "rgba(255,255,255,0.25)",
black0: "rgba(10,10,10,0)",
black075: "rgba(10,10,10,0.75)",
black05: "rgba(10,10,10,0.5)",
black025: "rgba(10,10,10,0.25)",
white1: "#fff",
white2: "#f8f8f8",
white3: "hsl(0, 0%, 96.3%)",
white4: "hsl(0, 0%, 94.1%)",
white5: "hsl(0, 0%, 92.0%)",
white6: "hsl(0, 0%, 90.0%)",
white7: "hsl(0, 0%, 88.5%)",
white8: "hsl(0, 0%, 81.0%)",
white9: "hsl(0, 0%, 56.1%)",
white10: "hsl(0, 0%, 50.3%)",
white11: "hsl(0, 0%, 42.5%)",
white12: "hsl(0, 0%, 9.0%)",
black1: "#050505",
black2: "#151515",
black3: "#191919",
black4: "#232323",
black5: "#282828",
black6: "#323232",
black7: "#424242",
black8: "#494949",
black9: "#545454",
black10: "#626262",
black11: "#a5a5a5",
black12: "#fff",
...postfixObjKeys(lightColors, "Light"),
...postfixObjKeys(darkColors, "Dark")
};
var palettes = (() => {
const transparent = /* @__PURE__ */ __name((hsl, opacity = 0) => hsl.replace("%)", `%, ${opacity})`).replace("hsl(", "hsla("), "transparent"), getColorPalette = /* @__PURE__ */ __name((colors, accentColors) => {
const colorPalette = Object.values(colors), colorI = colorPalette.length - 4, accentPalette = Object.values(accentColors), accentBackground = accentPalette[0], accentColor = accentPalette[accentPalette.length - 1];
return [accentBackground, transparent(colorPalette[0], 0), transparent(colorPalette[0], 0.25), transparent(colorPalette[0], 0.5), transparent(colorPalette[0], 0.75), ...colorPalette, transparent(colorPalette[colorI], 0.75), transparent(colorPalette[colorI], 0.5), transparent(colorPalette[colorI], 0.25), transparent(colorPalette[colorI], 0), accentColor];
}, "getColorPalette"), brandColor = {
light: color.blue4Light,
dark: color.blue4Dark
}, lightPalette = [brandColor.light, color.white0, color.white025, color.white05, color.white075, color.white1, color.white2, color.white3, color.white4, color.white5, color.white6, color.white7, color.white8, color.white9, color.white10, color.white11, color.white12, color.black075, color.black05, color.black025, color.black0, brandColor.dark], darkPalette = [brandColor.dark, color.black0, color.black025, color.black05, color.black075, color.black1, color.black2, color.black3, color.black4, color.black5, color.black6, color.black7, color.black8, color.black9, color.black10, color.black11, color.black12, color.white075, color.white05, color.white025, color.white0, brandColor.light], lightColorNames = objectKeys(colorTokens.light), lightPalettes = objectFromEntries2(lightColorNames.map((key, index3) => [`light_${key}`, getColorPalette(colorTokens.light[key], colorTokens.light[lightColorNames[(index3 + 1) % lightColorNames.length]])])), darkColorNames = objectKeys(colorTokens.dark), darkPalettes = objectFromEntries2(darkColorNames.map((key, index3) => [`dark_${key}`, getColorPalette(colorTokens.dark[key], colorTokens.light[darkColorNames[(index3 + 1) % darkColorNames.length]])])), colorPalettes = {
...lightPalettes,
...darkPalettes
};
return {
light: lightPalette,
dark: darkPalette,
...colorPalettes
};
})();
var getTemplates = /* @__PURE__ */ __name((scheme) => {
const isLight = scheme === "light", bgIndex = 5, lighten = isLight ? -1 : 1, darken = -lighten, borderColor = bgIndex + 3, base = {
accentBackground: 0,
accentColor: -0,
background0: 1,
background025: 2,
background05: 3,
background075: 4,
color1: bgIndex,
color2: bgIndex + 1,
color3: bgIndex + 2,
color4: bgIndex + 3,
color5: bgIndex + 4,
color6: bgIndex + 5,
color7: bgIndex + 6,
color8: bgIndex + 7,
color9: bgIndex + 8,
color10: bgIndex + 9,
color11: bgIndex + 10,
color12: bgIndex + 11,
color0: -1,
color025: -2,
color05: -3,
color075: -4,
// the background, color, etc keys here work like generics - they make it so you
// can publish components for others to use without mandating a specific color scale
// the @tamagui/button Button component looks for `$background`, so you set the
// dark_red_Button theme to have a stronger background than the dark_red theme.
background: bgIndex,
backgroundHover: bgIndex + lighten,
// always lighten on hover no matter the scheme
backgroundPress: bgIndex + darken,
// always darken on press no matter the theme
backgroundFocus: bgIndex + darken,
borderColor,
borderColorHover: borderColor + lighten,
borderColorPress: borderColor + darken,
borderColorFocus: borderColor,
color: -bgIndex,
colorHover: -bgIndex - 1,
colorPress: -bgIndex,
colorFocus: -bgIndex - 1,
colorTransparent: -1,
placeholderColor: -bgIndex - 3,
outlineColor: -2
}, surface12 = {
background: base.background + 1,
backgroundHover: base.backgroundHover + 1,
backgroundPress: base.backgroundPress + 1,
backgroundFocus: base.backgroundFocus + 1,
borderColor: base.borderColor + 1,
borderColorHover: base.borderColorHover + 1,
borderColorFocus: base.borderColorFocus + 1,
borderColorPress: base.borderColorPress + 1
}, surface22 = {
background: base.background + 2,
backgroundHover: base.backgroundHover + 2,
backgroundPress: base.backgroundPress + 2,
backgroundFocus: base.backgroundFocus + 2,
borderColor: base.borderColor + 2,
borderColorHover: base.borderColorHover + 2,
borderColorFocus: base.borderColorFocus + 2,
borderColorPress: base.borderColorPress + 2
}, surface32 = {
background: base.background + 3,
backgroundHover: base.backgroundHover + 3,
backgroundPress: base.backgroundPress + 3,
backgroundFocus: base.backgroundFocus + 3,
borderColor: base.borderColor + 3,
borderColorHover: base.borderColorHover + 3,
borderColorFocus: base.borderColorFocus + 3,
borderColorPress: base.borderColorPress + 3
}, surfaceActiveBg = {
background: base.background + 5,
backgroundHover: base.background + 5,
backgroundPress: base.backgroundPress + 5,
backgroundFocus: base.backgroundFocus + 5
}, surfaceActive = {
...surfaceActiveBg,
// match border to background when active
borderColor: surfaceActiveBg.background,
borderColorHover: surfaceActiveBg.backgroundHover,
borderColorFocus: surfaceActiveBg.backgroundFocus,
borderColorPress: surfaceActiveBg.backgroundPress
}, inverseSurface12 = {
color: surface12.background,
colorHover: surface12.backgroundHover,
colorPress: surface12.backgroundPress,
colorFocus: surface12.backgroundFocus,
background: base.color,
backgroundHover: base.colorHover,
backgroundPress: base.colorPress,
backgroundFocus: base.colorFocus,
borderColor: base.color - 2,
borderColorHover: base.color - 3,
borderColorFocus: base.color - 4,
borderColorPress: base.color - 5
}, inverseActive = {
...inverseSurface12,
background: base.color - 2,
backgroundHover: base.colorHover - 2,
backgroundPress: base.colorPress - 2,
backgroundFocus: base.colorFocus - 2,
borderColor: base.color - 2 - 2,
borderColorHover: base.color - 3 - 2,
borderColorFocus: base.color - 4 - 2,
borderColorPress: base.color - 5 - 2
}, alt1 = {
color: base.color - 1,
colorHover: base.colorHover - 1,
colorPress: base.colorPress - 1,
colorFocus: base.colorFocus - 1
}, alt2 = {
color: base.color - 2,
colorHover: base.colorHover - 2,
colorPress: base.colorPress - 2,
colorFocus: base.colorFocus - 2
};
return {
base,
alt1,
alt2,
surface1: surface12,
surface2: surface22,
surface3: surface32,
inverseSurface1: inverseSurface12,
inverseActive,
surfaceActive
};
}, "getTemplates");
var lightTemplates = getTemplates("light");
var darkTemplates = getTemplates("dark");
var templates = {
...objectFromEntries2(objectKeys(lightTemplates).map((name) => [`light_${name}`, lightTemplates[name]])),
...objectFromEntries2(objectKeys(darkTemplates).map((name) => [`dark_${name}`, darkTemplates[name]]))
};
var shadows = {
light: {
shadowColor: lightShadowColorStrong,
shadowColorHover: lightShadowColorStrong,
shadowColorPress: lightShadowColor,
shadowColorFocus: lightShadowColor
},
dark: {
shadowColor: darkShadowColorStrong,
shadowColorHover: darkShadowColorStrong,
shadowColorPress: darkShadowColor,
shadowColorFocus: darkShadowColor
}
};
var nonInherited = {
light: {
...lightColors,
...shadows.light
},
dark: {
...darkColors,
...shadows.dark
}
};
var overlayThemeDefinitions = [{
parent: "light",
theme: {
background: "rgba(0,0,0,0.5)"
}
}, {
parent: "dark",
theme: {
background: "rgba(0,0,0,0.8)"
}
}];
var inverseSurface1 = [{
parent: "active",
template: "inverseActive"
}, {
parent: "",
template: "inverseSurface1"
}];
var surface1 = [{
parent: "active",
template: "surfaceActive"
}, {
parent: "",
template: "surface1"
}];
var surface2 = [{
parent: "active",
template: "surfaceActive"
}, {
parent: "",
template: "surface2"
}];
var surface3 = [{
parent: "active",
template: "surfaceActive"
}, {
parent: "",
template: "surface3"
}];
var themeBuilder = createThemeBuilder().addPalettes(palettes).addTemplates(templates).addThemes({
light: {
template: "base",
palette: "light",
nonInheritedValues: nonInherited.light
},
dark: {
template: "base",
palette: "dark",
nonInheritedValues: nonInherited.dark
}
}).addChildThemes({
orange: {
palette: "orange",
template: "base"
},
yellow: {
palette: "yellow",
template: "base"
},
green: {
palette: "green",
template: "base"
},
blue: {
palette: "blue",
template: "base"
},
purple: {
palette: "purple",
template: "base"
},
pink: {
palette: "pink",
template: "base"
},
red: {
palette: "red",
template: "base"
},
gray: {
palette: "gray",
template: "base"
}
}).addChildThemes({
alt1: {
template: "alt1"
},
alt2: {
template: "alt2"
},
active: {
template: "surface3"
},
surface1: {
template: "surface1"
},
surface2: {
template: "surface2"
},
surface3: {
template: "surface3"
},
surface4: {
template: "surfaceActive"
}
}).addComponentThemes({
ListItem: {
template: "surface1"
},
SelectTrigger: surface1,
Card: surface1,
Button: surface3,
Checkbox: surface2,
Switch: surface2,
SwitchThumb: inverseSurface1,
TooltipContent: surface2,
Progress: {
template: "surface1"
},
RadioGroupItem: surface2,
TooltipArrow: {
template: "surface1"
},
SliderTrackActive: {
template: "surface3"
},
SliderTrack: {
template: "surface1"
},
SliderThumb: inverseSurface1,
Tooltip: inverseSurface1,
ProgressIndicator: inverseSurface1,
SheetOverlay: overlayThemeDefinitions,
DialogOverlay: overlayThemeDefinitions,
ModalOverlay: overlayThemeDefinitions,
Input: surface1,
TextArea: surface1
}, {
avoidNestingWithin: ["alt1", "alt2", "surface1", "surface2", "surface3", "surface4"]
});
var themesIn = themeBuilder.build();
var themes = themesIn;
var size = {
$0: 0,
"$0.25": 2,
"$0.5": 4,
"$0.75": 8,
$1: 20,
"$1.5": 24,
$2: 28,
"$2.5": 32,
$3: 36,
"$3.5": 40,
$4: 44,
$true: 44,
"$4.5": 48,
$5: 52,
$6: 64,
$7: 74,
$8: 84,
$9: 94,
$10: 104,
$11: 124,
$12: 144,
$13: 164,
$14: 184,
$15: 204,
$16: 224,
$17: 224,
$18: 244,
$19: 264,
$20: 284
};
var spaces = Object.entries(size).map(([k, v]) => [k, sizeToSpace(v)]);
var spacesNegative = spaces.slice(1).map(([k, v]) => [`-${k.slice(1)}`, -v]);
var space = {
...Object.fromEntries(spaces),
...Object.fromEntries(spacesNegative)
};
var zIndex = {
0: 0,
1: 100,
2: 200,
3: 300,
4: 400,
5: 500
};
var radius = {
0: 0,
1: 3,
2: 5,
3: 7,
4: 9,
true: 9,
5: 10,
6: 16,
7: 19,
8: 22,
9: 26,
10: 34,
11: 42,
12: 50
};
var tokens = (0, import_web.createTokens)({
color,
radius,
zIndex,
space,
size
});
function postfixObjKeys(obj, postfix) {
return Object.fromEntries(Object.entries(obj).map(([k, v]) => [`${k}${postfix}`, v]));
}
__name(postfixObjKeys, "postfixObjKeys");
function sizeToSpace(v) {
return v === 0 ? 0 : v === 2 ? 0.5 : v === 4 ? 1 : v === 8 ? 1.5 : v <= 16 ? Math.round(v * 0.333) : Math.floor(v * 0.7 - 12);
}
__name(sizeToSpace, "sizeToSpace");
function objectFromEntries2(arr) {
return Object.fromEntries(arr);
}
__name(objectFromEntries2, "objectFromEntries");
function objectKeys(obj) {
return Object.keys(obj);
}
__name(objectKeys, "objectKeys");
// 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/animations-css/dist/esm/createAnimations.mjs
var import_web2 = require("@tamagui/core");
// node_modules/@tamagui/use-presence/dist/esm/PresenceContext.mjs
var import_react2 = require("react");
var import_jsx_runtime = require("react/jsx-runtime");
var PresenceContext = (0, import_react2.createContext)(null);
var ResetPresence = /* @__PURE__ */ __name((props) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PresenceContext.Provider, {
value: null,
children: props.children
}), "ResetPresence");
// node_modules/@tamagui/use-presence/dist/esm/usePresence.mjs
var import_react3 = require("react");
function usePresence() {
const context = (0, import_react3.useContext)(PresenceContext);
if (!context)
return [true, null, context];
const {
id,
isPresent: isPresent2,
onExitComplete,
register
} = context;
return (0, import_react3.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_react3.useContext)(PresenceContext));
}
__name(useIsPresent, "useIsPresent");
function isPresent(context) {
return context === null ? true : context.isPresent;
}
__name(isPresent, "isPresent");
// node_modules/@tamagui/animations-css/dist/esm/createAnimations.mjs
var import_react4 = require("react");
function createAnimations(animations) {
const reactionListeners = /* @__PURE__ */ new WeakMap();
return {
animations,
usePresence,
ResetPresence,
supportsCSSVars: true,
useAnimatedNumber(initial) {
const [val, setVal] = (0, import_react4.useState)(initial);
return {
getInstance() {
return setVal;
},
getValue() {
return val;
},
setValue(next, config2, onFinish) {
setVal(next);
const listeners = reactionListeners.get(setVal);
listeners && listeners.forEach((cb) => cb(next)), onFinish == null ? void 0 : onFinish();
},
stop() {
}
};
},
useAnimatedNumberReaction({
value
}, onValue) {
(0, import_react4.useEffect)(() => {
const instance = value.getInstance();
let queue = reactionListeners.get(instance);
if (!queue) {
const next = /* @__PURE__ */ new Set();
reactionListeners.set(instance, next), queue = next;
}
return queue.add(onValue), () => {
queue == null ? void 0 : queue.delete(onValue);
};
}, []);
},
useAnimatedNumberStyle(val, getStyle) {
return getStyle(val.getValue());
},
useAnimations: ({
props,
presence,
style,
componentState,
stateRef
}) => {
const isEntering = !!componentState.unmounted, isExiting = (presence == null ? void 0 : presence[0]) === false, sendExitComplete = presence == null ? void 0 : presence[1], [animationKey, animationConfig] = [].concat(props.animation), animation = animations[animationKey], keys = props.animateOnly ?? ["all"];
return useIsomorphicLayoutEffect(() => {
const host = stateRef.current.host;
if (!sendExitComplete || !isExiting || !host)
return;
const node = host, onFinishAnimation = /* @__PURE__ */ __name(() => {
sendExitComplete == null ? void 0 : sendExitComplete();
}, "onFinishAnimation");
return node.addEventListener("transitionend", onFinishAnimation), node.addEventListener("transitioncancel", onFinishAnimation), () => {
node.removeEventListener("transitionend", onFinishAnimation), node.removeEventListener("transitioncancel", onFinishAnimation);
};
}, [sendExitComplete, isExiting]), animation ? (Array.isArray(style.transform) && (style.transform = (0, import_web2.transformsToString)(style.transform)), style.transition = keys.map((key) => {
const override = animations[animationConfig == null ? void 0 : animationConfig[key]] ?? animation;
return `${key} ${override}`;
}).join(", "), process.env.NODE_ENV === "development" && props.debug && console.info("CSS animation", style, style.transition, {
isEntering,
isExiting
}), {
style
}) : null;
}
};
}
__name(createAnimations, "createAnimations");
// node_modules/@tamagui/config/dist/esm/animationsCSS.mjs
var smoothBezier = "cubic-bezier(0.215, 0.610, 0.355, 1.000)";
var animationsCSS = createAnimations({
"75ms": "ease-in 75ms",
"100ms": "ease-in 100ms",
"200ms": "ease-in 200ms",
bouncy: "ease-in 200ms",
superBouncy: "ease-in 500ms",
lazy: "ease-in 1000ms",
medium: "ease-in 300ms",
slow: "ease-in 500ms",
quick: `${smoothBezier} 400ms`,
quicker: `${smoothBezier} 300ms`,
quickest: `${smoothBezier} 200ms`,
tooltip: "ease-in 400ms"
});
// node_modules/@tamagui/font-inter/dist/esm/index.mjs
var import_core = require("@tamagui/core");
var createInterFont = /* @__PURE__ */ __name((font = {}, {
sizeLineHeight = /* @__PURE__ */ __name((size6) => size6 + 10, "sizeLineHeight"),
sizeSize = /* @__PURE__ */ __name((size6) => size6 * 1, "sizeSize")
} = {}) => {
const size6 = Object.fromEntries(Object.entries({
...defaultSizes,
...font.size
}).map(([k, v]) => [k, sizeSize(+v)]));
return (0, import_core.createFont)({
family: import_core.isWeb ? 'Inter, -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif' : "Inter",
lineHeight: Object.fromEntries(Object.entries(size6).map(([k, v]) => [k, sizeLineHeight((0, import_core.getVariableValue)(v))])),
weight: {
4: "300"
},
letterSpacing: {
4: 0
},
...font,
size: size6
});
}, "createInterFont");
var defaultSizes = {
1: 11,
2: 12,
3: 13,
4: 14,
true: 14,
5: 16,
6: 18,
7: 20,
8: 23,
9: 30,
10: 46,
11: 55,
12: 62,
13: 72,
14: 92,
15: 114,
16: 134
};
// node_modules/@tamagui/font-silkscreen/dist/esm/index.mjs
var import_core2 = require("@tamagui/core");
var createSilkscreenFont = /* @__PURE__ */ __name((font = {}) => (0, import_core2.createFont)({
family: import_core2.isWeb ? "Silkscreen, Fira Code, Monaco, Consolas, Ubuntu Mono, monospace" : "Silkscreen",
size: size2,
lineHeight: Object.fromEntries(Object.entries(font.size || size2).map(([k, v]) => [k, typeof v == "number" ? Math.round(v * 1.2 + 6) : v])),
weight: {
4: "300"
},
letterSpacing: {
4: 1,
5: 3,
6: 3,
9: -2,
10: -3,
12: -4
},
...font
}), "createSilkscreenFont");
var size2 = {
1: 11,
2: 12,
3: 13,
4: 14,
5: 15,
6: 16,
7: 18,
8: 21,
9: 28,
10: 42,
11: 52,
12: 62,
13: 72,
14: 92,
15: 114,
16: 124
};
// node_modules/@tamagui/config/dist/esm/createGenericFont.mjs
var import_web3 = require("@tamagui/core");
var genericFontSizes = {
1: 10,
2: 11,
3: 12,
4: 14,
5: 15,
6: 16,
7: 20,
8: 22,
9: 30,
10: 42,
11: 52,
12: 62,
13: 72,
14: 92,
15: 114,
16: 124
};
function createGenericFont(family, font = {}, {
sizeLineHeight = /* @__PURE__ */ __name((val) => val * 1.35, "sizeLineHeight")
} = {}) {
const size6 = font.size || genericFontSizes;
return (0, import_web3.createFont)({
family,
size: size6,
lineHeight: Object.fromEntries(Object.entries(size6).map(([k, v]) => [k, sizeLineHeight(+v)])),
weight: {
0: "300"
},
letterSpacing: {
4: 0
},
...font
});
}
__name(createGenericFont, "createGenericFont");
// node_modules/@tamagui/config/dist/esm/fonts.mjs
var silkscreenFont = createSilkscreenFont();
var headingFont = createInterFont({
size: {
5: 13,
6: 15,
9: 32,
10: 44
},
transform: {
6: "uppercase",
7: "none"
},
weight: {
6: "400",
7: "700"
},
color: {
6: "$colorFocus",
7: "$color"
},
letterSpacing: {
5: 2,
6: 1,
7: 0,
8: 0,
9: -1,
10: -1.5,
12: -2,
14: -3,
15: -4
},
// for native
face: {
700: {
normal: "InterBold"
},
800: {
normal: "InterBold"
},
900: {
normal: "InterBold"
}
}
}, {
sizeLineHeight: (size6) => Math.round(size6 * 1.1 + (size6 < 30 ? 10 : 5))
});
var bodyFont = createInterFont({
weight: {
1: "400",
7: "600"
}
}, {
sizeSize: (size6) => Math.round(size6),
sizeLineHeight: (size6) => Math.round(size6 * 1.1 + (size6 >= 12 ? 8 : 4))
});
var monoFont = createGenericFont('"ui-monospace", "SFMono-Regular", "SF Mono", Menlo, Consolas, "Liberation Mono", monospace', {
weight: {
1: "500"
},
size: {
1: 11,
2: 12,
3: 13,
4: 14,
5: 16,
6: 18,
7: 20,
8: 22,
9: 30,
10: 42,
11: 52,
12: 62,
13: 72,
14: 92,
15: 114,
16: 124
}
}, {
sizeLineHeight: (x) => x * 1.5
});
var fonts = {
// noto: notoFont as any,
heading: headingFont,
body: bodyFont,
mono: monoFont,
silkscreen: silkscreenFont
};
// node_modules/@tamagui/config/node_modules/@tamagui/react-native-media-driver/dist/esm/createMedia.mjs
var import_web4 = require("@tamagui/core");
// node_modules/@tamagui/config/node_modules/@tamagui/react-native-media-driver/dist/esm/matchMedia.mjs
var matchMedia = globalThis.matchMedia;
// node_modules/@tamagui/config/node_modules/@tamagui/react-native-media-driver/dist/esm/createMedia.mjs
function createMedia(media2) {
return (0, import_web4.setupMatchMedia)(matchMedia), media2;
}
__name(createMedia, "createMedia");
// node_modules/@tamagui/config/dist/esm/media.mjs
var media = createMedia({
// for site
xl: {
maxWidth: 1650
},
lg: {
maxWidth: 1280
},
md: {
maxWidth: 1020
},
sm: {
maxWidth: 800
},
xs: {
maxWidth: 660
},
xxs: {
maxWidth: 390
},
gtXs: {
minWidth: 661
},
gtSm: {
minWidth: 801
},
gtMd: {
minWidth: 1021
},
gtLg: {
minWidth: 1281
},
gtXl: {
minWidth: 1651
}
});
var mediaQueryDefaultActive = {
xl: true,
lg: true,
md: true,
sm: true,
xs: true,
// false
xxs: false
};
// node_modules/@tamagui/config/dist/esm/v3.mjs
globalThis.global ||= globalThis;
var selectionStyles = /* @__PURE__ */ __name((theme) => theme.color5 ? {
backgroundColor: theme.color5,
color: theme.color11
} : null, "selectionStyles");
var themes2 = process.env.TAMAGUI_OPTIMIZE_THEMES === "true" ? {} : themes;
var config = {
animations: animationsCSS,
defaultFont: "body",
shouldAddPrefersColorThemes: true,
themeClassNameOnRoot: true,
themes: themes2,
media,
shorthands,
tokens,
fonts,
mediaQueryDefaultActive,
selectionStyles
};
// 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_core60.ComponentContext,
Configuration: () => import_core60.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_core60.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_core60.Spacer,
Spinner: () => Spinner,
Square: () => Square,
Stack: () => import_core60.Stack,
Switch: () => Switch,
SwitchContext: () => SwitchContext,
SwitchFrame: () => SwitchFrame,
SwitchStyledContext: () => SwitchStyledContext,
SwitchThumb: () => SwitchThumb,
Tabs: () => Tabs,
TamaguiProvider: () => TamaguiProvider,
Text: () => Text3,
TextArea: () => TextArea,
TextAreaFrame: () => TextAreaFrame,
Theme: () => import_core60.Theme,
ThemeableStack: () => ThemeableStack,
Thumb: () => Thumb,
ToggleGroup: () => ToggleGroup,
Tooltip: () => Tooltip2,
TooltipGroup: () => TooltipGroup,
TooltipSimple: () => TooltipSimple,
Track: () => Track,
Unspaced: () => import_core60.Unspaced,
View: () => import_core60.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_core60.createComponent,
createContext: () => createContext4,
createContextScope: () => createContextScope,
createDialogScope: () => createDialogScope,
createFont: () => import_core60.createFont,
createMedia: () => createMedia2,
createProgressScope: () => createProgressScope,
createRadioGroup: () => createRadioGroup,
createSelectContext: () => createSelectContext,
createSelectItemParentContext: () => createSelectItemParentContext,
createSelectItemParentScope: () => createSelectItemParentScope,
createSelectScope: () => createSelectScope,
createSheet: () => createSheet,
createSheetScope: () => createSheetScope,
createShorthands: () => import_core60.createShorthands,
createStyledContext: () => import_core60.createStyledContext,
createSwitch: () => createSwitch,
createTamagui: () => createTamagui,
createTheme: () => import_core60.createTheme,
createTokens: () => import_core60.createTokens,
createVariable: () => import_core60.createVariable,
debounce: () => debounce,
defaultStyles: () => defaultStyles,
fullscreenStyle: () => fullscreenStyle,
getConfig: () => import_core60.getConfig,
getFontSize: () => getFontSize,
getFontSizeToken: () => getFontSizeToken,
getFontSizeVariable: () => getFontSizeVariable,
getMedia: () => import_core60.getMedia,
getShapeSize: () => getShapeSize,
getStylesAtomic: () => import_core60.getStylesAtomic,
getThemes: () => import_core60.getThemes,
getToken: () => import_core60.getToken,
getTokenValue: () => import_core60.getTokenValue,
getTokens: () => import_core60.getTokens,
getVariable: () => import_core60.getVariable,
getVariableName: () => import_core60.getVariableName,
getVariableValue: () => import_core60.getVariableValue,
insertFont: () => import_core60.insertFont,
isChrome: () => import_core60.isChrome,
isClient: () => import_core60.isClient,
isPresent: () => isPresent,
isServer: () => import_core60.isServer,
isServerSide: () => isServerSide,
isTamaguiComponent: () => import_core60.isTamaguiComponent,
isTamaguiElement: () => import_core60.isTamaguiElement,
isTouchable: () => import_core60.isTouchable,
isVariable: () => import_core60.isVariable,
isWeb: () => import_core60.isWeb,
isWebTouchable: () => import_core60.isWebTouchable,
matchMedia: () => import_core60.matchMedia,
mediaObjectToString: () => import_core60.mediaObjectToString,
mediaQueryConfig: () => import_core60.mediaQueryConfig,
mediaState: () => import_core60.mediaState,
prevent: () => prevent,
setRef: () => setRef,
setupDev: () => import_core60.setupDev,
setupNativeSheet: () => setupNativeSheet,
setupReactNative: () => import_core60.setupReactNative,
shouldRenderNativePlatform: () => shouldRenderNativePlatform,
simpleHash: () => simpleHash,
spacedChildren: () => import_core60.spacedChildren,
stylePropsAll: () => stylePropsAll,
stylePropsFont: () => stylePropsFont,
stylePropsText: () => stylePropsText,
stylePropsTextOnly: () => stylePropsTextOnly,
stylePropsTransform: () => stylePropsTransform,
stylePropsUnitless: () => stylePropsUnitless,
stylePropsView: () => stylePropsView,
styled: () => import_core60.styled,
themeable: () => import_core60.themeable,
themeableVariants: () => themeableVariants,
tokenCategories: () => tokenCategories,
useAdaptParent: () => useAdaptParent,
useButton: () => useButton,
useComposedRefs: () => useComposedRefs,
useConfiguration: () => import_core60.useConfiguration,
useControllableState: () => useControllableState,
useCurrentColor: () => useCurrentColor,
useDebounce: () => useDebounce,
useDebounceValue: () => useDebounceValue,
useDidFinishSSR: () => import_core60.useDidFinishSSR,
useEvent: () => import_core60.useEvent,
useFloatingContext: () => useFloatingContext,
useForceUpdate: () => useForceUpdate,
useFormContext: () => useFormContext,
useGet: () => import_core60.useGet,
useGetThemedIcon: () => useGetThemedIcon,
useGroupItem: () => useGroupItem,
useInputProps: () => useInputProps,
useIsPresent: () => useIsPresent,
useIsTouchDevice: () => import_core60.useIsTouchDevice,
useIsomorphicLayoutEffect: () => import_core60.useIsomorphicLayoutEffect,
useLabelContext: () => useLabelContext,
useListItem: () => useListItem,
useMedia: () => import_core60.useMedia,
usePopoverContext: () => usePopoverContext,
usePopperContext: () => usePopperContext,
usePortal: () => usePortal,
usePresence: () => usePresence,
useProps: () => import_core60.useProps,
usePropsAndStyle: () => import_core60.usePropsAndStyle,
useSelectContext: () => useSelectContext,
useSelectItemParentContext: () => useSelectItemParentContext,
useSheet: () => useSheet,
useSheetController: () => useSheetController,
useStyle: () => import_core60.useStyle,
useTabsContext: () => useTabsContext,
useTheme: () => import_core60.useTheme,
useThemeName: () => import_core60.useThemeName,
useWindowDimensions: () => useWindowDimensions2,
validPseudoKeys: () => validPseudoKeys,
validStyles: () => validStyles,
variableToString: () => import_core60.variableToString,
withStaticProperties: () => import_core60.withStaticProperties,
wrapChildrenInText: () => wrapChildrenInText
});
__reExport(esm_exports2, __toESM(require_cjs19(), 1));
// node_modules/@tamagui/adapt/dist/esm/Adapt.mjs
var import_core3 = 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_react5 = require("react");
var Decorated = Symbol();
var withStaticProperties = /* @__PURE__ */ __name((component, staticProps) => {
const next = (() => {
if (component[Decorated]) {
const _ = (0, import_react5.forwardRef)((props, ref) => (0, import_react5.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_react6 = require("react");
var import_jsx_runtime2 = require("react/jsx-runtime");
var AdaptParentContext = (0, import_react6.createContext)(null);
var AdaptContents = /* @__PURE__ */ __name((props) => {
const context = (0, import_react6.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 <Adapt /> component without nesting it inside a parent that is able to adapt.");
return (0, import_react6.createElement)(context.Contents, props);
}, "AdaptContents");
AdaptContents.shouldForwardSpace = true;
var useAdaptParent = /* @__PURE__ */ __name(({
Contents
}) => {
const [when, setWhen] = (0, import_react6.useState)(null);
return {
AdaptProvider: (0, import_react6.useMemo)(() => {
const context = {
Contents,
setWhen
};
function AdaptProviderView(props) {
return /* @__PURE__ */ (0, import_jsx_runtime2.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_react6.useContext)(AdaptParentContext), media2 = (0, import_core3.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 && !media2[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_core17 = require("@tamagui/core");
// node_modules/@tamagui/create-context/dist/esm/create-context.mjs
var React2 = __toESM(require("react"), 1);
var import_jsx_runtime3 = require("react/jsx-runtime");
function createContext4(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_runtime3.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(createContext4, "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_runtime3.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_react7 = require("react");
var isServerSide = typeof window > "u";
var idFn = /* @__PURE__ */ __name(() => {
}, "idFn");
function useForceUpdate() {
return isServerSide ? idFn : (0, import_react7.useReducer)((x) => Math.random(), 0)[1];
}
__name(useForceUpdate, "useForceUpdate");
// node_modules/@tamagui/animate-presence/dist/esm/AnimatePresence.mjs
var import_react11 = require("react");
// node_modules/@tamagui/animate-presence/dist/esm/LayoutGroupContext.mjs
var import_react8 = require("react");
var LayoutGroupContext = (0, import_react8.createContext)({});
// node_modules/@tamagui/use-constant/dist/esm/index.mjs
var import_react9 = require("react");
function useConstant(fn) {
if (typeof document > "u")
return (0, import_react9.useMemo)(() => fn(), []);
const ref = (0, import_react9.useRef)();
return ref.current || (ref.current = {
v: fn()
}), ref.current.v;
}
__name(useConstant, "useConstant");
// node_modules/@tamagui/animate-presence/dist/esm/PresenceChild.mjs
var React3 = __toESM(require("react"), 1);
var import_react10 = 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_react10.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_react11.Children.forEach(children, (child) => {
(0, import_react11.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_react11.useContext)(LayoutGroupContext).forceRender ?? useForceUpdate();
const filteredChildren = onlyElements(children), presentChildren = (0, import_react11.useRef)(filteredChildren), allChildren = (0, import_react11.useRef)(/* @__PURE__ */ new Map()).current, exiting = (0, import_react11.useRef)(/* @__PURE__ */ new Set()).current;
updateChildLookup(filteredChildren, allChildren);
const isInitialRender = (0, import_react11.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: <explanation>
childrenToRender.map((child) => (0, import_react11.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_core16 = 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_react12 = require("react");
function useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis == null ? void 0 : globalThis.document) {
const onEscapeKeyDown = useCallbackRef(onEscapeKeyDownProp);
(0, import_react12.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_react13 = require("react");
function useGet(currentValue, initialValue2, forwardToFunction) {
const curRef = (0, import_react13.useRef)(initialValue2 ?? currentValue);
return useIsomorphicLayoutEffect(() => {
curRef.current = currentValue;
}), (0, import_react13.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_core5 = require("@tamagui/core");
// node_modules/@tamagui/stacks/dist/esm/getElevation.mjs
var import_core4 = require("@tamagui/core");
var getElevation = /* @__PURE__ */ __name((size6, extras) => {
if (!size6)
return;
const {
tokens: tokens2
} = extras, token = tokens2.size[size6], sizeNum = (0, import_core4.isVariable)(token) ? +token.val : size6;
return getSizedElevation(sizeNum, extras);
}, "getElevation");
var getSizedElevation = /* @__PURE__ */ __name((val, {
theme,
tokens: tokens2
}) => {
let num = 0;
if (val === true) {
const val2 = (0, import_core4.getVariableValue)(tokens2.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_core4.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_core5.styled)(import_core5.View, {
flexDirection: "column",
variants
});
YStack.displayName = "YStack";
var XStack = (0, import_core5.styled)(import_core5.View, {
flexDirection: "row",
variants
});
XStack.displayName = "XStack";
var ZStack = (0, import_core5.styled)(YStack, {
position: "relative"
}, {
neverFlatten: true,
isZStack: true
});
ZStack.displayName = "ZStack";
// node_modules/@tamagui/stacks/dist/esm/SizableStack.mjs
var import_core6 = require("@tamagui/core");
// node_modules/@tamagui/get-token/dist/esm/index.mjs
var import_web5 = require("@tamagui/core");
var defaultOptions = {
shift: 0,
bounds: [0]
};
var getSize = /* @__PURE__ */ __name((size6, options) => getTokenRelative("size", size6, options), "getSize");
var getSpace = /* @__PURE__ */ __name((space2, options) => getTokenRelative("space", space2, options), "getSpace");
var cacheVariables = {};
var cacheWholeVariables = {};
var cacheKeys = {};
var cacheWholeKeys = {};
var stepTokenUpOrDown = /* @__PURE__ */ __name((type, current, options = defaultOptions) => {
var _a, _b;
const tokens2 = (0, import_web5.getTokens)({
prefixed: true
})[type];
if (!(type in cacheVariables)) {
cacheKeys[type] = [], cacheVariables[type] = [], cacheWholeKeys[type] = [], cacheWholeVariables[type] = [];
const sorted = Object.keys(tokens2).map((k) => tokens2[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_web5.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" ? tokens2[found] : found) || tokens2.$true;
}, "stepTokenUpOrDown");
var getTokenRelative = stepTokenUpOrDown;
// node_modules/@tamagui/get-button-sized/dist/esm/index.mjs
var getButtonSized = /* @__PURE__ */ __name((val, {
tokens: tokens2,
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 = tokens2.radius[val] ?? tokens2.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: tokens2,
props
} = extras;
return {
padding: tokens2.space[props.size] || tokens2.space.$true
};
}
};
var radiused = {
true: (_, extras) => {
const {
tokens: tokens2,
props
} = extras;
return {
borderRadius: tokens2.radius[props.size] || tokens2.radius.$true
};
}
};
var circularStyle = {
borderRadius: 1e5,
padding: 0
};
var circular = {
true: (_, {
props,
tokens: tokens2
}) => {
if (!("size" in props))
return circularStyle;
const size6 = typeof props.size == "number" ? props.size : tokens2.size[props.size];
return {
...circularStyle,
width: size6,
height: size6,
maxWidth: size6,
maxHeight: size6,
minWidth: size6,
minHeight: size6
};
}
};
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_core6.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_core7 = 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_core7.styled)(YStack, {
variants: themeableVariants
});
// node_modules/@tamagui/stacks/dist/esm/NestingContext.mjs
var import_react14 = require("react");
var ButtonNestingContext = (0, import_react14.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_core8 = require("@tamagui/core");
// node_modules/@tamagui/use-did-finish-ssr/dist/esm/index.mjs
var import_react15 = require("react");
var emptyFn = /* @__PURE__ */ __name(() => {
}, "emptyFn");
var emptyFnFn = /* @__PURE__ */ __name(() => emptyFn, "emptyFnFn");
function useDidFinishSSR(value) {
return (0, import_react15.useSyncExternalStore)(emptyFnFn, () => value ?? true, () => false);
}
__name(useDidFinishSSR, "useDidFinishSSR");
// node_modules/@tamagui/portal/dist/esm/GorhomPortal.mjs
var import_react16 = __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_react16.createContext)(null);
var PortalDispatchContext = (0, import_react16.createContext)(null);
var usePortalState = /* @__PURE__ */ __name((hostName) => {
const state = (0, import_react16.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_react16.useContext)(PortalDispatchContext);
if (dispatch === null)
throw new Error("'PortalDispatchContext' cannot be null, please add 'PortalProvider' to the root component.");
const registerHost2 = (0, import_react16.useCallback)(() => {
dispatch({
type: 0,
hostName
});
}, []), deregisterHost2 = (0, import_react16.useCallback)(() => {
dispatch({
type: 1,
hostName
});
}, []), addUpdatePortal2 = (0, import_react16.useCallback)((name, node) => {
dispatch({
type: 2,
hostName,
portalName: name,
node
});
}, []), removePortal2 = (0, import_react16.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_react16.useReducer)(reducer, INITIAL_STATE), transitionDispatch = (0, import_react16.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_react16.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_react16.useEffect)(() => {
if (!isServer3)
return registerHost2(), () => {
deregisterHost2();
};
}, [isServer3]), render(forwardProps ? state.map((item) => {
let next = item.node;
return forwardProps ? import_react16.default.Children.map(next, (child) => import_react16.default.isValidElement(child) ? import_react16.default.cloneElement(child, {
key: child.key,
...forwardProps
}) : child) : next;
}) : state.map((item) => item.node));
}, "PortalHostComponent");
var PortalHost = (0, import_react16.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_react16.useId)(), name = _providedName || id, handleOnMount = (0, import_core8.useEvent)(() => {
_providedHandleOnMount ? _providedHandleOnMount(() => addUpdatePortal2(name, children)) : addUpdatePortal2(name, children);
}), handleOnUnmount = (0, import_core8.useEvent)(() => {
_providedHandleOnUnmount ? _providedHandleOnUnmount(() => removePortal2(name)) : removePortal2(name);
}), handleOnUpdate = (0, import_core8.useEvent)(() => {
_providedHandleOnUpdate ? _providedHandleOnUpdate(() => addUpdatePortal2(name, children)) : addUpdatePortal2(name, children);
});
return useIsomorphicLayoutEffect(() => (handleOnMount(), () => {
handleOnUnmount();
}), []), (0, import_react16.useEffect)(() => {
handleOnUpdate();
}, [children]), null;
}, "PortalComponent");
var PortalItem = (0, import_react16.memo)(PortalComponent);
PortalItem.displayName = "Portal";
// node_modules/@tamagui/remove-scroll/dist/esm/RemoveScroll.mjs
var import_react17 = require("react");
var import_react_remove_scroll = __toESM(require_es57(), 1);
var import_jsx_runtime10 = require("react/jsx-runtime");
var RemoveScroll = (0, import_react17.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_core13 = require("@tamagui/core");
// node_modules/@tamagui/sheet/dist/esm/constants.mjs
var import_core9 = require("@tamagui/core");
var SHEET_NAME = "Sheet";
var SHEET_HANDLE_NAME = "SheetHandle";
var SHEET_OVERLAY_NAME = "SheetOverlay";
var SHEET_HIDDEN_STYLESHEET = import_core9.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_core12 = require("@tamagui/core");
var import_react25 = 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_core11 = require("@tamagui/core");
// node_modules/@tamagui/use-keyboard-visible/dist/esm/useKeyboardVisible.mjs
var import_react18 = require("react");
var import_react_native_web = __toESM(require_cjs20(), 1);
var useKeyboardVisible = /* @__PURE__ */ __name(() => {
const [isKeyboardVisible, setKeyboardVisible] = (0, import_react18.useState)(false);
return (0, import_react18.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_react23 = require("react");
var import_react_native_web2 = __toESM(require_cjs20(), 1);
// node_modules/@tamagui/sheet/dist/esm/contexts.mjs
var import_react19 = require("react");
var ParentSheetContext = (0, import_react19.createContext)({
zIndex: 1e5
});
var SheetInsideSheetContext = (0, import_react19.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_react20 = require("react");
var emptyCallbackFn = /* @__PURE__ */ __name((_) => _(), "emptyCallbackFn");
function useControllableState({
prop,
defaultProp,
onChange,
strategy = "prop-wins",
preventUpdate,
transition
}) {
const [state, setState] = (0, import_react20.useState)(prop ?? defaultProp), previous = (0, import_react20.useRef)(state), propWins = strategy === "prop-wins" && prop !== void 0, value = propWins ? prop : state, onChangeCb = useEvent(onChange || idFn2), transitionFn = transition ? import_react20.startTransition : emptyCallbackFn;
(0, import_react20.useEffect)(() => {
prop !== void 0 && (previous.current = prop, transitionFn(() => {
setState(prop);
}));
}, [prop]), (0, import_react20.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_react21 = require("react");
var useSheetController = /* @__PURE__ */ __name(() => {
const controller = (0, import_react21.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_react21.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_core10 = require("@tamagui/core");
var import_react22 = __toESM(require("react"), 1);
function useSheetProviderProps(props, state, options = {}) {
const handleRef = import_react22.default.useRef(null), contentRef = import_react22.default.useRef(null), [frameSize, setFrameSize] = (0, import_react22.useState)(0), [maxContentSize, setMaxContentSize] = (0, import_react22.useState)(0), snapPointsMode = props.snapPointsMode ?? "percent", snapPointsProp = props.snapPoints ?? (snapPointsMode === "percent" ? [80] : snapPointsMode === "constant" ? [256] : ["fit"]), hasFit = snapPointsProp[0] === "fit", snapPoints = (0, import_react22.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_react22.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_react22.useEffect)(() => {
shouldSetPositionOpen && setPosition(0);
}, [setPosition, shouldSetPositionOpen]);
const {
animationDriver
} = (0, import_core10.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_core11.themeable)((0, import_react23.forwardRef)(function(props, forwardedRef) {
const parentSheet = (0, import_react23.useContext)(ParentSheetContext), {
animation,
animationConfig: animationConfigProp,
modal = false,
zIndex: zIndex2 = parentSheet.zIndex + 1,
moveOnKeyboardChange = false,
unmountChildrenWhenHidden = false,
portalProps,
containerComponent: ContainerComponent = import_react23.Fragment
} = props, keyboardIsVisible = useKeyboardVisible(), state = useSheetOpenState(props), [overlayComponent, setOverlayComponent] = (0, import_react23.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_react23.useRef)(null), ref = useComposedRefs(forwardedRef, sheetRef), animationConfig = (() => {
const [animationProp, animationPropConfig] = animation ? Array.isArray(animation) ? animation : [animation] : [];
return animationConfigProp ?? (animationProp ? {
...(0, import_core11.getConfig)().animations.animations[animationProp],
...animationPropConfig
} : null);
})(), [isShowingInnerSheet, setIsShowingInnerSheet] = (0, import_react23.useState)(false), shouldHideParentSheet = !isWeb && modal && isShowingInnerSheet, parentSheetContext = (0, import_react23.useContext)(SheetInsideSheetContext), onInnerSheet = (0, import_react23.useCallback)((hasChild) => {
setIsShowingInnerSheet(hasChild);
}, []), positions = (0, import_react23.useMemo)(() => snapPoints.map((point) => getYPositions(snapPointsMode, point, screenSize, frameSize)), [screenSize, frameSize, snapPoints, snapPointsMode]), {
animationDriver
} = (0, import_core11.useConfiguration)(), {
useAnimatedNumber,
useAnimatedNumberStyle,
useAnimatedNumberReaction
} = animationDriver, AnimatedView = animationDriver.View ?? import_core11.Stack;
useIsomorphicLayoutEffect(() => {
if (parentSheetContext && open)
return parentSheetContext(true), () => {
parentSheetContext(false);
};
}, [parentSheetContext, open]);
const nextParentContext = (0, import_react23.useMemo)(() => ({
zIndex: zIndex2
}), [zIndex2]), animatedNumber = useAnimatedNumber(hiddenSize), at = (0, import_react23.useRef)(hiddenSize);
useAnimatedNumberReaction({
value: animatedNumber,
hostRef: sheetRef
}, (0, import_react23.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_core11.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_core11.useThemeName)(), [isDragging, setIsDragging] = (0, import_react23.useState)(false), panResponder = (0, import_react23.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_react23.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_react23.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_react23.useRef)(null);
(0, import_react23.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_react23.useState)(open ? 1 : 0);
open && opacity === 0 && setOpacity(1), (0, import_react23.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: zIndex2,
width: "100%",
height: forcedContentHeight,
minHeight: forcedContentHeight,
opacity,
...(shouldHideParentSheet || !open) && {
pointerEvents: "none"
}
}, animatedStyle],
children: props.children
})]
})
}), adaptContext = (0, import_react23.useContext)(AdaptParentContext), shouldMountChildren = !!(opacity || !unmountChildrenWhenHidden);
if (modal) {
const modalContents = /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Portal, {
zIndex: zIndex2,
...portalProps,
children: shouldMountChildren && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(ContainerComponent, {
children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_core11.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_web6 = require("@tamagui/core");
var import_react_native_web3 = __toESM(require_cjs20(), 1);
var ScrollView = (0, import_web6.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_react24 = require("react");
var import_jsx_runtime12 = require("react/jsx-runtime");
var SHEET_SCROLL_VIEW_NAME = "SheetScrollView";
var SheetScrollView = (0, import_react24.forwardRef)(({
__scopeSheet,
children,
onScroll,
...props
}, ref) => {
const context = useSheetContext(SHEET_SCROLL_VIEW_NAME, __scopeSheet), {
scrollBridge
} = context, scrollRef = (0, import_react24.useRef)(null), state = (0, import_react24.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_react24.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_react25.memo)((propsIn) => {
const {
__scopeSheet,
...props
} = propsIn, context = useSheetContext(SHEET_OVERLAY_NAME, __scopeSheet), element = (0, import_react25.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_react25.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_react25.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_core12.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_react25.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_core13.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_core13.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_core13.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_core14 = require("@tamagui/core");
var import_react26 = require("react");
var import_jsx_runtime14 = require("react/jsx-runtime");
var SheetController = /* @__PURE__ */ __name(({
children,
onOpenChange: onOpenChangeProp,
...value
}) => {
const onOpenChange = (0, import_core14.useEvent)(onOpenChangeProp), memoValue = (0, import_react26.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_react27 = 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_react27.useRef)();
return (0, import_react27.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_core15 = 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_core15.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_web7 = require("@tamagui/core");
var SizableText = (0, import_web7.styled)(import_web7.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 size6 = extras.props.size || "$true";
return getFontSized(size6, extras);
}
};
// node_modules/@tamagui/text/dist/esm/Paragraph.mjs
var import_web8 = require("@tamagui/core");
var Paragraph = (0, import_web8.styled)(SizableText, {
name: "Paragraph",
tag: "p",
userSelect: "auto",
color: "$color",
size: "$true",
whiteSpace: "normal"
});
// node_modules/@tamagui/text/dist/esm/Headings.mjs
var import_web9 = require("@tamagui/core");
var Heading = (0, import_web9.styled)(Paragraph, {
tag: "span",
name: "Heading",
accessibilityRole: "header",
fontFamily: "$heading",
size: "$8",
margin: 0
});
var H1 = (0, import_web9.styled)(Heading, {
name: "H1",
tag: "h1",
size: "$10"
});
var H2 = (0, import_web9.styled)(Heading, {
name: "H2",
tag: "h2",
size: "$9"
});
var H3 = (0, import_web9.styled)(Heading, {
name: "H3",
tag: "h3",
size: "$8"
});
var H4 = (0, import_web9.styled)(Heading, {
name: "H4",
tag: "h4",
size: "$7"
});
var H5 = (0, import_web9.styled)(Heading, {
name: "H5",
tag: "h5",
size: "$6"
});
var H6 = (0, import_web9.styled)(Heading, {
name: "H6",
tag: "h6",
size: "$5"
});
// node_modules/@tamagui/text/dist/esm/wrapChildrenInText.mjs
var import_react28 = __toESM(require("react"), 1);
var import_jsx_runtime16 = require("react/jsx-runtime");
function wrapChildrenInText(TextComponent, propsIn, extraProps) {
const {
children,
textProps,
size: size6,
noTextWrap,
color: color2,
fontFamily,
fontSize,
fontWeight,
letterSpacing,
textAlign,
fontStyle,
maxFontSizeMultiplier
} = propsIn;
if (noTextWrap || !children)
return [children];
const props = {
...extraProps
};
return color2 && (props.color = color2), fontFamily && (props.fontFamily = fontFamily), fontSize && (props.fontSize = fontSize), fontWeight && (props.fontWeight = fontWeight), letterSpacing && (props.letterSpacing = letterSpacing), textAlign && (props.textAlign = textAlign), size6 && (props.size = size6), fontStyle && (props.fontStyle = fontStyle), maxFontSizeMultiplier && (props.maxFontSizeMultiplier = maxFontSizeMultiplier), import_react28.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_core16.styled)(import_core16.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_core16.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_core16.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: space2,
spaceDirection,
separator
} = props;
let childrenSpaced = children;
return (space2 || separator) && (childrenSpaced = (0, import_core16.spacedChildren)({
children,
separator,
space: space2,
direction: spaceDirection
})), /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(DialogProvider, {
scope: __scopeDialog,
...context,
children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_core16.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_core16.useThemeName)();
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_core16.Theme, {
name: themeName,
forceClassName: true,
children
});
}, "PassthroughTheme");
var OVERLAY_NAME = "DialogOverlay";
var DialogOverlayFrame = (0, import_core16.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_core16.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_core16.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_core16.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_core16.styled)(import_core16.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] = createContext4(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_core16.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 media2 = (0, import_core16.useMedia)();
return context.sheetBreakpoint ? context.sheetBreakpoint === true ? true : media2[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_core17.styled)(import_core17.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_core17.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_core17.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_core19 = require("@tamagui/core");
// node_modules/@tamagui/image/dist/esm/Image.mjs
var import_core18 = require("@tamagui/core");
var import_react_native_web6 = __toESM(require_cjs20(), 1);
var import_jsx_runtime19 = require("react/jsx-runtime");
var StyledImage = (0, import_core18.styled)(import_react_native_web6.Image, {
name: "Image"
});
var hasWarned = false;
var Image = StyledImage.styleable((inProps, ref) => {
const [props, style] = (0, import_core18.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_web10 = require("@tamagui/core");
// node_modules/@tamagui/shapes/dist/esm/getShapeSize.mjs
var getShapeSize = /* @__PURE__ */ __name((size6, {
tokens: tokens2
}) => {
const width = tokens2.size[size6] ?? size6, height = tokens2.size[size6] ?? size6;
return {
width,
height,
minWidth: width,
maxWidth: width,
maxHeight: height,
minHeight: height
};
}, "getShapeSize");
// node_modules/@tamagui/shapes/dist/esm/Square.mjs
var Square = (0, import_web10.styled)(ThemeableStack, {
name: "Square",
alignItems: "center",
justifyContent: "center",
variants: {
size: {
"...size": getShapeSize,
":number": getShapeSize
}
}
});
// node_modules/@tamagui/shapes/dist/esm/Circle.mjs
var import_web11 = require("@tamagui/core");
var Circle = (0, import_web11.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_core19.getVariableValue)((_a = getShapeSize(
context.size,
// @ts-expect-error
{
tokens: (0, import_core19.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_core19.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_core19.styled)(Square, {
name: AVATAR_NAME,
position: "relative",
overflow: "hidden"
});
var Avatar = withStaticProperties(React13.forwardRef((props, forwardedRef) => {
const {
__scopeAvatar,
size: size6 = "$true",
...avatarProps
} = props, [imageLoadingStatus, setImageLoadingStatus] = React13.useState("idle");
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(AvatarProvider, {
size: size6,
scope: __scopeAvatar,
imageLoadingStatus,
onImageLoadingStatusChange: setImageLoadingStatus,
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(AvatarFrame, {
size: size6,
...avatarProps,
ref: forwardedRef
})
});
}), {
Image: AvatarImage,
Fallback: AvatarFallback
});
Avatar.displayName = AVATAR_NAME;
// node_modules/@tamagui/font-size/dist/esm/getFontSize.mjs
var import_core20 = require("@tamagui/core");
var getFontSize = /* @__PURE__ */ __name((inSize, opts) => {
const res = getFontSizeVariable(inSize, opts);
return (0, import_core20.isVariable)(res) ? +res.val : res ? +res : 16;
}, "getFontSize");
var getFontSizeVariable = /* @__PURE__ */ __name((inSize, opts) => {
const token = getFontSizeToken(inSize, opts);
return token ? (0, import_core20.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_core20.getConfig)().fontsParsed[(opts == null ? void 0 : opts.font) || "$body"].size, size6 = (inSize === "$true" && !("$true" in fontSize) ? "$4" : inSize) ?? ("$true" in fontSize ? "$true" : "$4"), sizeTokens = Object.keys(fontSize);
let foundIndex = sizeTokens.indexOf(size6);
foundIndex === -1 && size6.endsWith(".5") && (foundIndex = sizeTokens.indexOf(size6.replace(".5", ""))), process.env.NODE_ENV === "development" && foundIndex === -1 && console.warn("No font size found", size6, opts, "in size tokens", sizeTokens);
const tokenIndex = Math.min(Math.max(0, foundIndex + relativeSize), sizeTokens.length - 1);
return sizeTokens[tokenIndex] ?? size6;
}, "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_web12 = require("@tamagui/core");
var useCurrentColor = /* @__PURE__ */ __name((colorProp) => {
var _a, _b;
const theme = (0, import_web12.useTheme)();
return (0, import_web12.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_react29 = require("react");
var useGetThemedIcon = /* @__PURE__ */ __name((props) => {
const color2 = useCurrentColor(props.color);
return (el) => el && ((0, import_react29.isValidElement)(el) ? (0, import_react29.cloneElement)(el, {
...props,
color: color2,
// @ts-expect-error
...el.props
}) : (0, import_react29.createElement)(el, props));
}, "useGetThemedIcon");
// node_modules/@tamagui/button/dist/esm/Button.mjs
var import_web13 = require("@tamagui/core");
var import_react30 = require("react");
var import_jsx_runtime21 = require("react/jsx-runtime");
var ButtonContext = (0, import_web13.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_web13.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_web13.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: size6,
color: color2
} = (0, import_react30.useContext)(ButtonContext), iconSize = (typeof size6 == "number" ? size6 * 0.5 : getFontSize(size6)) * scaleIcon;
return useGetThemedIcon({
size: iconSize,
color: color2
})(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_react30.useContext)(ButtonNestingContext), propsActive = (0, import_web13.useProps)(propsIn, {
noNormalize: true,
noExpand: true
}), {
icon,
iconAfter,
space: space2,
spaceFlex,
scaleIcon = 1,
scaleSpace = 0.66,
separator,
noTextWrap,
fontFamily,
fontSize,
fontWeight,
fontStyle,
letterSpacing,
tag,
ellipse,
maxFontSizeMultiplier,
...restProps
} = propsActive, size6 = propsActive.size || (propsActive.unstyled ? void 0 : "$true"), color2 = propsActive.color, iconSize = (typeof size6 == "number" ? size6 * 0.5 : getFontSize(size6, {
font: (fontFamily == null ? void 0 : fontFamily[0]) === "$" ? fontFamily : void 0
})) * scaleIcon, getThemedIcon = useGetThemedIcon({
size: iconSize,
color: color2
}), [themedIcon, themedIconAfter] = [icon, iconAfter].map(getThemedIcon), spaceSize = space2 ?? (0, import_web13.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: size6
} : void 0), inner2 = (0, import_web13.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: size6,
...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 <a /> 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_web14 = require("@tamagui/core");
var CardContext = (0, import_web14.createStyledContext)({
size: "$true"
});
var CardFrame = (0, import_web14.styled)(ThemeableStack, {
name: "Card",
context: CardContext,
variants: {
unstyled: {
false: {
size: "$true",
backgroundColor: "$background",
position: "relative"
}
},
size: {
"...size": (val, {
tokens: tokens2
}) => ({
borderRadius: tokens2.radius[val] ?? val
})
}
},
defaultVariants: {
unstyled: process.env.TAMAGUI_HEADLESS === "1"
}
});
var CardHeader = (0, import_web14.styled)(ThemeableStack, {
name: "CardHeader",
context: CardContext,
variants: {
unstyled: {
false: {
zIndex: 10,
backgroundColor: "transparent",
marginBottom: "auto"
}
},
size: {
"...size": (val, {
tokens: tokens2
}) => ({
padding: tokens2.space[val] ?? val
})
}
},
defaultVariants: {
unstyled: process.env.TAMAGUI_HEADLESS === "1"
}
});
var CardFooter = (0, import_web14.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_web14.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_web14.withStaticProperties)(CardFrame, {
Header: CardHeader,
Footer: CardFooter,
Background: CardBackground
});
// node_modules/@tamagui/checkbox/dist/esm/Checkbox.mjs
var import_core22 = require("@tamagui/core");
// node_modules/@tamagui/checkbox/dist/esm/CheckboxStyledContext.mjs
var import_core21 = require("@tamagui/core");
var CheckboxStyledContext = (0, import_core21.createStyledContext)({
size: "$true",
scaleIcon: 1
});
// node_modules/@tamagui/checkbox/dist/esm/Checkbox.mjs
var INDICATOR_NAME = "CheckboxIndicator";
var CheckboxIndicatorFrame = (0, import_core22.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_core22.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_core22.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_web15 = require("@tamagui/core");
var import_react31 = 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_react31.useRef)(value || defaultValue2 || ""), unregisterFocusable = (0, import_react31.useRef)(), inputRef = (0, import_react31.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_react31.useEffect)(() => () => {
var _a;
(_a = unregisterFocusable.current) == null ? void 0 : _a.call(unregisterFocusable);
}, []), {
ref: combinedRefs,
onChangeText: (0, import_web15.useEvent)((value2) => {
inputValue.current = value2, onChangeText == null ? void 0 : onChangeText(value2);
})
};
}
__name(useFocusable, "useFocusable");
// node_modules/@tamagui/label/dist/esm/Label.mjs
var import_web16 = require("@tamagui/core");
var React14 = __toESM(require("react"), 1);
var import_jsx_runtime23 = require("react/jsx-runtime");
var NAME = "Label";
var [LabelProvider, useLabelContextImpl] = createContext4(NAME, {
id: void 0,
controlRef: {
current: null
}
});
var LabelFrame = (0, import_web16.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_web16.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_react33 = __toESM(require("react"), 1);
// node_modules/@tamagui/use-previous/dist/esm/index.mjs
var import_react32 = require("react");
function usePrevious(value) {
const ref = (0, import_react32.useRef)({
value,
previous: value
});
return (0, import_react32.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_react33.default.useState(null), composedRefs = useComposedRefs(ref, (node) => setButton(node)), hasConsumerStoppedPropagationRef = import_react33.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_core23 = require("@tamagui/core");
var import_react34 = __toESM(require("react"), 1);
var import_jsx_runtime26 = require("react/jsx-runtime");
var CheckboxContext = import_react34.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_core23.useProps)(props), styledContext = import_react34.default.useContext(CheckboxStyledContext);
let adjustedSize = 0, size6 = 0;
unstyled || (adjustedSize = (0, import_core23.getVariableValue)(getSize(propsActive.size ?? (styledContext == null ? void 0 : styledContext.size) ?? "$true", {
shift: sizeAdjust
})), size6 = 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_core23.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: size6,
height: size6
},
tag: "button",
ref: checkboxRef,
unstyled,
...unstyled === false && {
size: size6,
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_react34.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_core23.useTheme)(), getThemedIcon = useGetThemedIcon({
size: iconSize,
color: theme.color
});
children = import_react34.default.Children.toArray(childrenProp).map((child) => disablePassStyles || !import_react34.default.isValidElement(child) ? child : getThemedIcon(child));
}
const context = (0, import_react34.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_core23.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_core24 = require("@tamagui/core");
var import_jsx_runtime27 = require("react/jsx-runtime");
var FORM_NAME = "Form";
var FormFrame = (0, import_core24.styled)(import_core24.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_core24.styled)(import_core24.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_core25 = require("@tamagui/core");
var import_react36 = __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_core25.styled)(ThemeableStack, {
name: "GroupFrame",
variants: {
unstyled: {
false: {
size: "$true"
}
},
size: (val, {
tokens: tokens2
}) => ({
borderRadius: tokens2.radius[val] ?? val ?? tokens2.radius.$true
})
},
defaultVariants: {
unstyled: process.env.TAMAGUI_HEADLESS === "1"
}
});
function createGroup(verticalDefault) {
return withStaticProperties(GroupFrame.styleable((props, ref) => {
const activeProps = (0, import_core25.useProps)(props), {
__scopeGroup,
children: childrenProp,
space: space2,
size: size6 = "$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, radius2 = borderRadius ?? (size6 ? (0, import_core25.getVariableValue)((0, import_core25.getTokens)().radius[size6]) - 1 : void 0), disablePassBorderRadius = disablePassBorderRadiusProp ?? !(radius2 !== void 0), childrenArray = import_react36.Children.toArray(childrenProp), children = isUsingItems ? import_react36.Children.toArray(childrenProp).filter(import_react36.isValidElement) : childrenArray.map((child, i) => {
if (!(0, import_react36.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: radius2,
vertical,
disable: disablePassBorderRadius
}), props2 = {
disabled,
...(0, import_core25.isTamaguiElement)(child) ? radiusStyles : {
style: radiusStyles
}
};
return cloneElementWithPropOrder(child, props2);
}), indexedChildren = (0, import_reforest.useIndexedChildren)((0, import_core25.spacedChildren)({
direction: spaceDirection,
separator,
// @ts-ignore
space: space2,
children
})), onItemMount = import_react36.default.useCallback(() => setItemChildrenCount((prev) => prev + 1), []), onItemUnmount = import_react36.default.useCallback(() => setItemChildrenCount((prev) => prev - 1), []);
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(GroupProvider, {
disablePassBorderRadius,
vertical: orientation === "vertical",
radius: radius2,
disabled: disabledProp,
onItemMount,
onItemUnmount,
scope: __scopeGroup,
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(GroupFrame, {
ref,
size: size6,
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_react36.isValidElement)(children) ? children.props.disabled : void 0
}, forcePlacement, __scopeGroup);
return (0, import_react36.isValidElement)(children) ? (0, import_core25.isTamaguiElement)(children) ? import_react36.default.cloneElement(children, groupItemProps) : import_react36.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_react36.default.useEffect(() => (context.onItemMount(), () => {
context.onItemUnmount();
}), []), !treeIndex)
throw Error("<Group.Item/> should only be used within a <Group/>");
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: radius2,
vertical,
disable
}) => ({
borderTopLeftRadius: isFirst && disable !== "top" && disable !== "start" ? radius2 : 0,
borderTopRightRadius: disable !== "top" && disable !== "end" && (vertical && isFirst || !vertical && isLast) ? radius2 : 0,
borderBottomLeftRadius: disable !== "bottom" && disable !== "start" && (vertical && isLast || !vertical && isFirst) ? radius2 : 0,
borderBottomRightRadius: isLast && disable !== "bottom" && disable !== "end" ? radius2 : 0
}), "getBorderRadius");
var cloneElementWithPropOrder = /* @__PURE__ */ __name((child, props) => {
const next = (0, import_core25.mergeProps)(child.props, props, (0, import_core25.getConfig)().shorthands);
return import_react36.default.cloneElement({
...child,
props: null
}, next);
}, "cloneElementWithPropOrder");
// node_modules/tamagui/node_modules/@tamagui/react-native-media-driver/dist/esm/createMedia.mjs
var import_web17 = require("@tamagui/core");
// node_modules/tamagui/node_modules/@tamagui/react-native-media-driver/dist/esm/matchMedia.mjs
var matchMedia2 = globalThis.matchMedia;
// node_modules/tamagui/node_modules/@tamagui/react-native-media-driver/dist/esm/createMedia.mjs
function createMedia2(media2) {
return (0, import_web17.setupMatchMedia)(matchMedia2), media2;
}
__name(createMedia2, "createMedia");
// node_modules/tamagui/node_modules/@tamagui/elements/dist/esm/index.mjs
var import_core26 = require("@tamagui/core");
var Section = (0, import_core26.styled)(import_core26.View, {
name: "Section",
tag: "section",
flexDirection: "column",
accessibilityRole: "summary"
});
var Article = (0, import_core26.styled)(import_core26.View, {
name: "Article",
tag: "article",
flexDirection: "column"
});
var Main = (0, import_core26.styled)(import_core26.View, {
name: "Main",
tag: "main",
flexDirection: "column"
});
var Header = (0, import_core26.styled)(import_core26.View, {
name: "Header",
tag: "header",
accessibilityRole: "header",
flexDirection: "column"
});
var Aside = (0, import_core26.styled)(import_core26.View, {
name: "Aside",
tag: "aside",
flexDirection: "column"
// accessibilityRole: 'complementary',
});
var Footer = (0, import_core26.styled)(import_core26.View, {
name: "Footer",
tag: "footer",
flexDirection: "column"
// accessibilityRole: 'contentinfo',
});
var Nav = (0, import_core26.styled)(import_core26.View, {
name: "Nav",
tag: "nav",
flexDirection: "column"
// accessibilityRole: 'navigation',
});
// node_modules/@tamagui/list-item/dist/esm/ListItem.mjs
var import_web18 = require("@tamagui/core");
var import_jsx_runtime29 = require("react/jsx-runtime");
var NAME2 = "ListItem";
var ListItemFrame = (0, import_web18.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: tokens2
}) => ({
minHeight: tokens2.size[val],
paddingHorizontal: tokens2.space[val],
paddingVertical: getSpace(tokens2.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_web18.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_web18.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_web18.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_web18.useProps)(propsIn), {
children,
icon,
iconAfter,
noTextWrap,
theme: themeName,
space: space2,
spaceFlex,
scaleIcon = 1,
scaleSpace = 1,
unstyled = false,
subTitle,
title,
// text props
color: color2,
fontWeight,
fontSize,
fontFamily,
letterSpacing,
textAlign,
ellipse,
...rest
} = props, textProps = {
color: color2,
fontWeight,
fontSize,
fontFamily,
letterSpacing,
textAlign,
ellipse,
children
}, size6 = props.size || "$true", iconSize = getFontSize(size6) * scaleIcon, getThemedIcon = useGetThemedIcon({
size: iconSize,
color: color2
}), [themedIcon, themedIconAfter] = [icon, iconAfter].map(getThemedIcon), spaceSize = (0, import_web18.getVariableValue)((0, import_web18.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_web18.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: size6,
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: size6,
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_web18.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_core29 = 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, config2) => {
const {
placement = "bottom",
strategy = "absolute",
middleware = [],
platform: platform2
} = config2;
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 size3 = /* @__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 <iframe>s
root: root.ownerDocument
});
} catch (e) {
io = new IntersectionObserver(handleObserve, options);
}
io.observe(element);
}
__name(refresh, "refresh");
refresh(true);
return cleanup;
}
__name(observeMove, "observeMove");
function autoUpdate(reference, floating, update, options) {
if (options === void 0) {
options = {};
}
const {
ancestorScroll = true,
ancestorResize = true,
elementResize = typeof ResizeObserver === "function",
layoutShift = typeof IntersectionObserver === "function",
animationFrame = false
} = options;
const referenceEl = unwrapElement(reference);
const ancestors = ancestorScroll || ancestorResize ? [...referenceEl ? getOverflowAncestors(referenceEl) : [], ...getOverflowAncestors(floating)] : [];
ancestors.forEach((ancestor) => {
ancestorScroll && ancestor.addEventListener("scroll", update, {
passive: true
});
ancestorResize && ancestor.addEventListener("resize", update);
});
const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;
let reobserveFrame = -1;
let resizeObserver = null;
if (elementResize) {
resizeObserver = new ResizeObserver((_ref) => {
let [firstEntry] = _ref;
if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {
resizeObserver.unobserve(floating);
cancelAnimationFrame(reobserveFrame);
reobserveFrame = requestAnimationFrame(() => {
var _resizeObserver;
(_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);
});
}
update();
});
if (referenceEl && !animationFrame) {
resizeObserver.observe(referenceEl);
}
resizeObserver.observe(floating);
}
let frameId;
let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;
if (animationFrame) {
frameLoop();
}
function frameLoop() {
const nextRefRect = getBoundingClientRect(reference);
if (prevRefRect && (nextRefRect.x !== prevRefRect.x || nextRefRect.y !== prevRefRect.y || nextRefRect.width !== prevRefRect.width || nextRefRect.height !== prevRefRect.height)) {
update();
}
prevRefRect = nextRefRect;
frameId = requestAnimationFrame(frameLoop);
}
__name(frameLoop, "frameLoop");
update();
return () => {
var _resizeObserver2;
ancestors.forEach((ancestor) => {
ancestorScroll && ancestor.removeEventListener("scroll", update);
ancestorResize && ancestor.removeEventListener("resize", update);
});
cleanupIo == null || cleanupIo();
(_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();
resizeObserver = null;
if (animationFrame) {
cancelAnimationFrame(frameId);
}
};
}
__name(autoUpdate, "autoUpdate");
var detectOverflow2 = detectOverflow;
var offset2 = offset;
var shift2 = shift;
var flip2 = flip;
var size4 = size3;
var arrow2 = arrow;
var computePosition2 = /* @__PURE__ */ __name((reference, floating, options) => {
const cache3 = /* @__PURE__ */ new Map();
const mergedOptions = {
platform,
...options
};
const platformWithCache = {
...mergedOptions.platform,
_c: cache3
};
return computePosition(reference, floating, {
...mergedOptions,
platform: platformWithCache
});
}, "computePosition");
// node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs
var React19 = __toESM(require("react"), 1);
var import_react37 = require("react");
var ReactDOM2 = __toESM(require("react-dom"), 1);
var index = typeof document !== "undefined" ? import_react37.useLayoutEffect : import_react37.useEffect;
function deepEqual(a, b) {
if (a === b) {
return true;
}
if (typeof a !== typeof b) {
return false;
}
if (typeof a === "function" && a.toString() === b.toString()) {
return true;
}
let length;
let i;
let keys;
if (a && b && typeof a === "object") {
if (Array.isArray(a)) {
length = a.length;
if (length !== b.length)
return false;
for (i = length; i-- !== 0; ) {
if (!deepEqual(a[i], b[i])) {
return false;
}
}
return true;
}
keys = Object.keys(a);
length = keys.length;
if (length !== Object.keys(b).length) {
return false;
}
for (i = length; i-- !== 0; ) {
if (!{}.hasOwnProperty.call(b, keys[i])) {
return false;
}
}
for (i = length; i-- !== 0; ) {
const key = keys[i];
if (key === "_owner" && a.$$typeof) {
continue;
}
if (!deepEqual(a[key], b[key])) {
return false;
}
}
return true;
}
return a !== a && b !== b;
}
__name(deepEqual, "deepEqual");
function getDPR(element) {
if (typeof window === "undefined") {
return 1;
}
const win = element.ownerDocument.defaultView || window;
return win.devicePixelRatio || 1;
}
__name(getDPR, "getDPR");
function roundByDPR(element, value) {
const dpr = getDPR(element);
return Math.round(value * dpr) / dpr;
}
__name(roundByDPR, "roundByDPR");
function useLatestRef(value) {
const ref = React19.useRef(value);
index(() => {
ref.current = value;
});
return ref;
}
__name(useLatestRef, "useLatestRef");
function useFloating(options) {
if (options === void 0) {
options = {};
}
const {
placement = "bottom",
strategy = "absolute",
middleware = [],
platform: platform2,
elements: {
reference: externalReference,
floating: externalFloating
} = {},
transform = true,
whileElementsMounted,
open
} = options;
const [data, setData] = React19.useState({
x: 0,
y: 0,
strategy,
placement,
middlewareData: {},
isPositioned: false
});
const [latestMiddleware, setLatestMiddleware] = React19.useState(middleware);
if (!deepEqual(latestMiddleware, middleware)) {
setLatestMiddleware(middleware);
}
const [_reference, _setReference] = React19.useState(null);
const [_floating, _setFloating] = React19.useState(null);
const setReference = React19.useCallback((node) => {
if (node !== referenceRef.current) {
referenceRef.current = node;
_setReference(node);
}
}, []);
const setFloating = React19.useCallback((node) => {
if (node !== floatingRef.current) {
floatingRef.current = node;
_setFloating(node);
}
}, []);
const referenceEl = externalReference || _reference;
const floatingEl = externalFloating || _floating;
const referenceRef = React19.useRef(null);
const floatingRef = React19.useRef(null);
const dataRef = React19.useRef(data);
const hasWhileElementsMounted = whileElementsMounted != null;
const whileElementsMountedRef = useLatestRef(whileElementsMounted);
const platformRef = useLatestRef(platform2);
const update = React19.useCallback(() => {
if (!referenceRef.current || !floatingRef.current) {
return;
}
const config2 = {
placement,
strategy,
middleware: latestMiddleware
};
if (platformRef.current) {
config2.platform = platformRef.current;
}
computePosition2(referenceRef.current, floatingRef.current, config2).then((data2) => {
const fullData = {
...data2,
isPositioned: true
};
if (isMountedRef.current && !deepEqual(dataRef.current, fullData)) {
dataRef.current = fullData;
ReactDOM2.flushSync(() => {
setData(fullData);
});
}
});
}, [latestMiddleware, placement, strategy, platformRef]);
index(() => {
if (open === false && dataRef.current.isPositioned) {
dataRef.current.isPositioned = false;
setData((data2) => ({
...data2,
isPositioned: false
}));
}
}, [open]);
const isMountedRef = React19.useRef(false);
index(() => {
isMountedRef.current = true;
return () => {
isMountedRef.current = false;
};
}, []);
index(() => {
if (referenceEl)
referenceRef.current = referenceEl;
if (floatingEl)
floatingRef.current = floatingEl;
if (referenceEl && floatingEl) {
if (whileElementsMountedRef.current) {
return whileElementsMountedRef.current(referenceEl, floatingEl, update);
}
update();
}
}, [referenceEl, floatingEl, update, whileElementsMountedRef, hasWhileElementsMounted]);
const refs = React19.useMemo(() => ({
reference: referenceRef,
floating: floatingRef,
setReference,
setFloating
}), [setReference, setFloating]);
const elements = React19.useMemo(() => ({
reference: referenceEl,
floating: floatingEl
}), [referenceEl, floatingEl]);
const floatingStyles = React19.useMemo(() => {
const initialStyles = {
position: strategy,
left: 0,
top: 0
};
if (!elements.floating) {
return initialStyles;
}
const x = roundByDPR(elements.floating, data.x);
const y = roundByDPR(elements.floating, data.y);
if (transform) {
return {
...initialStyles,
transform: "translate(" + x + "px, " + y + "px)",
...getDPR(elements.floating) >= 1.5 && {
willChange: "transform"
}
};
}
return {
position: strategy,
left: x,
top: y
};
}, [strategy, transform, elements.floating, data.x, data.y]);
return React19.useMemo(() => ({
...data,
update,
refs,
elements,
floatingStyles
}), [data, update, refs, elements, floatingStyles]);
}
__name(useFloating, "useFloating");
var arrow$1 = /* @__PURE__ */ __name((options) => {
function isRef(value) {
return {}.hasOwnProperty.call(value, "current");
}
__name(isRef, "isRef");
return {
name: "arrow",
options,
fn(state) {
const {
element,
padding
} = typeof options === "function" ? options(state) : options;
if (element && isRef(element)) {
if (element.current != null) {
return arrow2({
element: element.current,
padding
}).fn(state);
}
return {};
}
if (element) {
return arrow2({
element,
padding
}).fn(state);
}
return {};
}
};
}, "arrow$1");
var offset3 = /* @__PURE__ */ __name((options, deps) => ({
...offset2(options),
options: [options, deps]
}), "offset");
var shift3 = /* @__PURE__ */ __name((options, deps) => ({
...shift2(options),
options: [options, deps]
}), "shift");
var flip3 = /* @__PURE__ */ __name((options, deps) => ({
...flip2(options),
options: [options, deps]
}), "flip");
var size5 = /* @__PURE__ */ __name((options, deps) => ({
...size4(options),
options: [options, deps]
}), "size");
var arrow3 = /* @__PURE__ */ __name((options, deps) => ({
...arrow$1(options),
options: [options, deps]
}), "arrow");
// node_modules/@tamagui/floating/dist/esm/useFloating.mjs
var import_react38 = require("react");
var FloatingOverrideContext = (0, import_react38.createContext)(null);
var useFloating2 = /* @__PURE__ */ __name((props) => {
var _a;
return (_a = (0, import_react38.useContext)(FloatingOverrideContext) || useFloating) == null ? void 0 : _a(props);
}, "useFloating");
// node_modules/@tamagui/popper/dist/esm/Popper.mjs
var import_core28 = require("@tamagui/core");
var React20 = __toESM(require("react"), 1);
var import_react_native_web8 = __toESM(require_cjs20(), 1);
var import_jsx_runtime31 = require("react/jsx-runtime");
var PopperContext = (0, import_core28.createStyledContext)({});
var {
useStyledContext: usePopperContext,
Provider: PopperProvider
} = PopperContext;
var checkFloating = void 0;
function Popper(props) {
var _a;
const {
children,
size: size6,
strategy = "absolute",
placement = "bottom",
stayInFrame,
allowFlip,
offset: offset4,
__scopePopper
} = props, isMounted = (0, import_core28.useDidFinishSSR)(), [arrowEl, setArrow] = React20.useState(null), [arrowSize, setArrowSize] = React20.useState(0), offsetOptions = offset4 ?? arrowSize, floating = useFloating2({
strategy,
placement,
sameScrollView: false,
// this only takes effect on native
middleware: [stayInFrame ? shift3(typeof stayInFrame == "boolean" ? {} : stayInFrame) : null, allowFlip ? flip3(typeof allowFlip == "boolean" ? {} : allowFlip) : null, arrowEl ? arrow3({
element: arrowEl
}) : null, typeof offsetOptions < "u" ? offset3(offsetOptions) : null, checkFloating].filter(Boolean)
}), {
refs,
middlewareData,
// @ts-expect-error this comes from Tooltip for example
open,
floatingStyles
} = floating;
if (isWeb)
useIsomorphicLayoutEffect(() => {
if (open && refs.reference.current && refs.floating.current)
return autoUpdate(refs.reference.current, refs.floating.current, floating.update);
}, [open, floating.update, refs.floating, refs.reference]);
else {
const dimensions = (0, import_react_native_web8.useWindowDimensions)(), [keyboardOpen, setKeyboardOpen] = React20.useState(false);
React20.useEffect(() => {
const showSubscription = import_react_native_web8.Keyboard.addListener("keyboardDidShow", () => {
setKeyboardOpen(true);
}), hideSubscription = import_react_native_web8.Keyboard.addListener("keyboardDidHide", () => {
setKeyboardOpen(false);
});
return () => {
showSubscription.remove(), hideSubscription.remove();
};
}, []), useIsomorphicLayoutEffect(() => {
floating.update();
}, [dimensions, keyboardOpen]);
}
const popperContext = {
size: size6,
arrowRef: setArrow,
arrowStyle: middlewareData.arrow,
onArrowSize: setArrowSize,
isMounted,
scope: __scopePopper,
hasFloating: (_a = middlewareData.checkFloating) == null ? void 0 : _a.hasFloating,
...floating
};
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(PopperProvider, {
...popperContext,
children
});
}
__name(Popper, "Popper");
var PopperAnchor = YStack.extractable(React20.forwardRef(function(props, forwardedRef) {
const {
virtualRef,
__scopePopper,
...anchorProps
} = props, {
getReferenceProps,
refs
} = usePopperContext(__scopePopper), ref = React20.useRef(null), composedRefs = useComposedRefs(forwardedRef, ref, refs.setReference);
if (React20.useEffect(() => {
virtualRef && refs.setReference(virtualRef.current);
}, [virtualRef]), virtualRef)
return null;
const stackProps = {
ref: composedRefs,
...anchorProps
};
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_core28.View, {
...getReferenceProps ? getReferenceProps(stackProps) : stackProps
});
}));
var PopperContentFrame = (0, import_core28.styled)(ThemeableStack, {
name: "PopperContent",
variants: {
unstyled: {
false: {
size: "$true",
backgroundColor: "$background",
alignItems: "center",
radiused: true
}
},
size: {
"...size": (val, {
tokens: tokens2
}) => ({
padding: tokens2.space[val],
borderRadius: tokens2.radius[val]
})
}
},
defaultVariants: {
unstyled: process.env.TAMAGUI_HEADLESS === "1"
}
});
var PopperContent = React20.forwardRef(function(props, forwardedRef) {
const {
__scopePopper,
enableAnimationForPositionChange,
...rest
} = props, {
strategy,
placement,
refs,
x,
y,
getFloatingProps,
size: size6,
isMounted,
update,
floatingStyles,
hasFloating
} = usePopperContext(__scopePopper), contentRefs = useComposedRefs(refs.setFloating, forwardedRef);
let finalHasFloatingValue = false;
if (isAndroid) {
const initialRender = React20.useRef(true), finalHasFloating = React20.useRef(false);
hasFloating === false && (initialRender.current = false), initialRender.current || (finalHasFloating.current = hasFloating), finalHasFloatingValue = finalHasFloating.current;
}
const contents = React20.useMemo(() => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(PopperContentFrame, {
"data-placement": placement,
"data-strategy": strategy,
contain: "layout",
size: size6,
...rest
}, "popper-content-frame"), [placement, strategy, props]), [needsMeasure, setNeedsMeasure] = React20.useState(true);
React20.useEffect(() => {
(x || y) && setNeedsMeasure(false);
}, [x, y]), useIsomorphicLayoutEffect(() => {
isMounted && update();
}, [isMounted]);
let show = true;
if (isAndroid) {
const [show_, setShow] = React20.useState(false);
show = show_, React20.useEffect(() => {
finalHasFloatingValue && setShow(true);
}, [finalHasFloatingValue, x, y]);
}
if (!isMounted)
return null;
const frameProps = {
ref: contentRefs,
x: x || 0,
y: y || 0,
top: 0,
left: 0,
position: strategy,
opacity: show ? 1 : 0,
...enableAnimationForPositionChange && {
// apply animation but disable it on initial render to avoid animating from 0 to the first position
animation: rest.animation,
animateOnly: needsMeasure ? ["none"] : rest.animateOnly,
animatePresence: false
}
};
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_core28.Stack, {
...getFloatingProps ? getFloatingProps(frameProps) : frameProps,
children: contents
});
});
var PopperArrowFrame = (0, import_core28.styled)(YStack, {
name: "PopperArrow",
variants: {
unstyled: {
false: {
borderColor: "$borderColor",
backgroundColor: "$background",
position: "relative"
}
}
},
defaultVariants: {
unstyled: process.env.TAMAGUI_HEADLESS === "1"
}
});
var PopperArrowOuterFrame = (0, import_core28.styled)(YStack, {
name: "PopperArrowOuter",
variants: {
unstyled: {
false: {
position: "absolute",
zIndex: 1e6,
pointerEvents: "none",
overflow: "hidden",
alignItems: "center",
justifyContent: "center"
}
}
},
defaultVariants: {
unstyled: process.env.TAMAGUI_HEADLESS === "1"
}
});
var opposites = {
top: "bottom",
right: "left",
bottom: "top",
left: "right"
};
var PopperArrow = PopperArrowFrame.styleable(function(propsIn, forwardedRef) {
var _a, _b;
const {
__scopePopper,
...rest
} = propsIn, props = (0, import_core28.useProps)(rest), {
offset: offset4,
size: sizeProp,
borderWidth = 0,
...arrowProps
} = props, context = usePopperContext(__scopePopper), sizeVal = sizeProp ?? context.size, sizeValResolved = (0, import_core28.getVariableValue)(getSpace(sizeVal, {
shift: -2,
bounds: [2]
})), size6 = Math.max(0, +sizeValResolved), {
placement
} = context, refs = useComposedRefs(context.arrowRef, forwardedRef), x = ((_a = context.arrowStyle) == null ? void 0 : _a.x) || 0, y = ((_b = context.arrowStyle) == null ? void 0 : _b.y) || 0, primaryPlacement = placement ? placement.split("-")[0] : "top", arrowStyle = {
x,
y,
width: size6,
height: size6
}, innerArrowStyle = {}, isVertical = primaryPlacement === "bottom" || primaryPlacement === "top";
if (primaryPlacement) {
arrowStyle[isVertical ? "width" : "height"] = size6 * 2;
const oppSide = opposites[primaryPlacement];
oppSide && (arrowStyle[oppSide] = -size6, innerArrowStyle[oppSide] = size6 / 2), (oppSide === "top" || oppSide === "bottom") && (arrowStyle.left = 0), (oppSide === "left" || oppSide === "right") && (arrowStyle.top = 0), useIsomorphicLayoutEffect(() => {
var _a2;
(_a2 = context.onArrowSize) == null ? void 0 : _a2.call(context, size6);
}, [size6, context.onArrowSize]);
}
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(PopperArrowOuterFrame, {
ref: refs,
...arrowStyle,
children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(PopperArrowFrame, {
width: size6,
height: size6,
...arrowProps,
...innerArrowStyle,
rotate: "45deg",
...primaryPlacement === "bottom" && {
borderLeftWidth: borderWidth,
borderTopWidth: borderWidth
},
...primaryPlacement === "top" && {
borderBottomWidth: borderWidth,
borderRightWidth: borderWidth
},
...primaryPlacement === "right" && {
borderLeftWidth: borderWidth,
borderBottomWidth: borderWidth
},
...primaryPlacement === "left" && {
borderTopWidth: borderWidth,
borderRightWidth: borderWidth
}
})
});
});
// node_modules/@tamagui/popover/dist/esm/Popover.mjs
var React22 = __toESM(require("react"), 1);
var import_react_native_web9 = __toESM(require_cjs20(), 1);
// node_modules/@floating-ui/react/dist/floating-ui.react.mjs
var React21 = __toESM(require("react"), 1);
var import_react39 = require("react");
// node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs
function activeElement(doc) {
let activeElement2 = doc.activeElement;
while (((_activeElement = activeElement2) == null || (_activeElement = _activeElement.shadowRoot) == null ? void 0 : _activeElement.activeElement) != null) {
var _activeElement;
activeElement2 = activeElement2.shadowRoot.activeElement;
}
return activeElement2;
}
__name(activeElement, "activeElement");
function contains(parent, child) {
if (!parent || !child) {
return false;
}
const rootNode = child.getRootNode == null ? void 0 : child.getRootNode();
if (parent.contains(child)) {
return true;
}
if (rootNode && isShadowRoot(rootNode)) {
let next = child;
while (next) {
if (parent === next) {
return true;
}
next = next.parentNode || next.host;
}
}
return false;
}
__name(contains, "contains");
function getPlatform() {
const uaData = navigator.userAgentData;
if (uaData != null && uaData.platform) {
return uaData.platform;
}
return navigator.platform;
}
__name(getPlatform, "getPlatform");
function getUserAgent() {
const uaData = navigator.userAgentData;
if (uaData && Array.isArray(uaData.brands)) {
return uaData.brands.map((_ref) => {
let {
brand,
version
} = _ref;
return brand + "/" + version;
}).join(" ");
}
return navigator.userAgent;
}
__name(getUserAgent, "getUserAgent");
function isVirtualClick(event) {
if (event.mozInputSource === 0 && event.isTrusted) {
return true;
}
if (isAndroid3() && event.pointerType) {
return event.type === "click" && event.buttons === 1;
}
return event.detail === 0 && !event.pointerType;
}
__name(isVirtualClick, "isVirtualClick");
function isVirtualPointerEvent(event) {
if (isJSDOM())
return false;
return !isAndroid3() && event.width === 0 && event.height === 0 || isAndroid3() && event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === "mouse" || // iOS VoiceOver returns 0.333• for width/height.
event.width < 1 && event.height < 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === "touch";
}
__name(isVirtualPointerEvent, "isVirtualPointerEvent");
function isSafari() {
return /apple/i.test(navigator.vendor);
}
__name(isSafari, "isSafari");
function isAndroid3() {
const re = /android/i;
return re.test(getPlatform()) || re.test(getUserAgent());
}
__name(isAndroid3, "isAndroid");
function isMac() {
return getPlatform().toLowerCase().startsWith("mac") && !navigator.maxTouchPoints;
}
__name(isMac, "isMac");
function isJSDOM() {
return getUserAgent().includes("jsdom/");
}
__name(isJSDOM, "isJSDOM");
function isMouseLikePointerType(pointerType, strict) {
const values = ["mouse", "pen"];
if (!strict) {
values.push("", void 0);
}
return values.includes(pointerType);
}
__name(isMouseLikePointerType, "isMouseLikePointerType");
function isReactEvent(event) {
return "nativeEvent" in event;
}
__name(isReactEvent, "isReactEvent");
function isRootElement(element) {
return element.matches("html,body");
}
__name(isRootElement, "isRootElement");
function getDocument(node) {
return (node == null ? void 0 : node.ownerDocument) || document;
}
__name(getDocument, "getDocument");
function isEventTargetWithin(event, node) {
if (node == null) {
return false;
}
if ("composedPath" in event) {
return event.composedPath().includes(node);
}
const e = event;
return e.target != null && node.contains(e.target);
}
__name(isEventTargetWithin, "isEventTargetWithin");
function getTarget(event) {
if ("composedPath" in event) {
return event.composedPath()[0];
}
return event.target;
}
__name(getTarget, "getTarget");
var TYPEABLE_SELECTOR = "input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])";
function isTypeableElement(element) {
return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);
}
__name(isTypeableElement, "isTypeableElement");
function stopEvent(event) {
event.preventDefault();
event.stopPropagation();
}
__name(stopEvent, "stopEvent");
function isTypeableCombobox(element) {
if (!element)
return false;
return element.getAttribute("role") === "combobox" && isTypeableElement(element);
}
__name(isTypeableCombobox, "isTypeableCombobox");
// node_modules/@floating-ui/react/dist/floating-ui.react.mjs
var import_tabbable = __toESM(require_dist2(), 1);
var import_react_dom4 = require("react-dom");
var SafeReact = {
...React21
};
var useInsertionEffect = SafeReact.useInsertionEffect;
var useSafeInsertionEffect = useInsertionEffect || ((fn) => fn());
function useEffectEvent(callback) {
const ref = React21.useRef(() => {
if (process.env.NODE_ENV !== "production") {
throw new Error("Cannot call an event handler while rendering.");
}
});
useSafeInsertionEffect(() => {
ref.current = callback;
});
return React21.useCallback(function() {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return ref.current == null ? void 0 : ref.current(...args);
}, []);
}
__name(useEffectEvent, "useEffectEvent");
var ARROW_UP = "ArrowUp";
var ARROW_DOWN = "ArrowDown";
var ARROW_LEFT = "ArrowLeft";
var ARROW_RIGHT = "ArrowRight";
function isDifferentRow(index3, cols, prevRow) {
return Math.floor(index3 / cols) !== prevRow;
}
__name(isDifferentRow, "isDifferentRow");
function isIndexOutOfBounds(listRef, index3) {
return index3 < 0 || index3 >= listRef.current.length;
}
__name(isIndexOutOfBounds, "isIndexOutOfBounds");
function getMinIndex(listRef, disabledIndices) {
return findNonDisabledIndex(listRef, {
disabledIndices
});
}
__name(getMinIndex, "getMinIndex");
function getMaxIndex(listRef, disabledIndices) {
return findNonDisabledIndex(listRef, {
decrement: true,
startingIndex: listRef.current.length,
disabledIndices
});
}
__name(getMaxIndex, "getMaxIndex");
function findNonDisabledIndex(listRef, _temp) {
let {
startingIndex = -1,
decrement = false,
disabledIndices,
amount = 1
} = _temp === void 0 ? {} : _temp;
const list = listRef.current;
let index3 = startingIndex;
do {
index3 += decrement ? -amount : amount;
} while (index3 >= 0 && index3 <= list.length - 1 && isDisabled(list, index3, disabledIndices));
return index3;
}
__name(findNonDisabledIndex, "findNonDisabledIndex");
function getGridNavigatedIndex(elementsRef, _ref) {
let {
event,
orientation,
loop,
cols,
disabledIndices,
minIndex,
maxIndex,
prevIndex,
stopEvent: stop = false
} = _ref;
let nextIndex = prevIndex;
if (event.key === ARROW_UP) {
stop && stopEvent(event);
if (prevIndex === -1) {
nextIndex = maxIndex;
} else {
nextIndex = findNonDisabledIndex(elementsRef, {
startingIndex: nextIndex,
amount: cols,
decrement: true,
disabledIndices
});
if (loop && (prevIndex - cols < minIndex || nextIndex < 0)) {
const col = prevIndex % cols;
const maxCol = maxIndex % cols;
const offset4 = maxIndex - (maxCol - col);
if (maxCol === col) {
nextIndex = maxIndex;
} else {
nextIndex = maxCol > col ? offset4 : offset4 - cols;
}
}
}
if (isIndexOutOfBounds(elementsRef, nextIndex)) {
nextIndex = prevIndex;
}
}
if (event.key === ARROW_DOWN) {
stop && stopEvent(event);
if (prevIndex === -1) {
nextIndex = minIndex;
} else {
nextIndex = findNonDisabledIndex(elementsRef, {
startingIndex: prevIndex,
amount: cols,
disabledIndices
});
if (loop && prevIndex + cols > maxIndex) {
nextIndex = findNonDisabledIndex(elementsRef, {
startingIndex: prevIndex % cols - cols,
amount: cols,
disabledIndices
});
}
}
if (isIndexOutOfBounds(elementsRef, nextIndex)) {
nextIndex = prevIndex;
}
}
if (orientation === "both") {
const prevRow = floor(prevIndex / cols);
if (event.key === ARROW_RIGHT) {
stop && stopEvent(event);
if (prevIndex % cols !== cols - 1) {
nextIndex = findNonDisabledIndex(elementsRef, {
startingIndex: prevIndex,
disabledIndices
});
if (loop && isDifferentRow(nextIndex, cols, prevRow)) {
nextIndex = findNonDisabledIndex(elementsRef, {
startingIndex: prevIndex - prevIndex % cols - 1,
disabledIndices
});
}
} else if (loop) {
nextIndex = findNonDisabledIndex(elementsRef, {
startingIndex: prevIndex - prevIndex % cols - 1,
disabledIndices
});
}
if (isDifferentRow(nextIndex, cols, prevRow)) {
nextIndex = prevIndex;
}
}
if (event.key === ARROW_LEFT) {
stop && stopEvent(event);
if (prevIndex % cols !== 0) {
nextIndex = findNonDisabledIndex(elementsRef, {
startingIndex: prevIndex,
decrement: true,
disabledIndices
});
if (loop && isDifferentRow(nextIndex, cols, prevRow)) {
nextIndex = findNonDisabledIndex(elementsRef, {
startingIndex: prevIndex + (cols - prevIndex % cols),
decrement: true,
disabledIndices
});
}
} else if (loop) {
nextIndex = findNonDisabledIndex(elementsRef, {
startingIndex: prevIndex + (cols - prevIndex % cols),
decrement: true,
disabledIndices
});
}
if (isDifferentRow(nextIndex, cols, prevRow)) {
nextIndex = prevIndex;
}
}
const lastRow = floor(maxIndex / cols) === prevRow;
if (isIndexOutOfBounds(elementsRef, nextIndex)) {
if (loop && lastRow) {
nextIndex = event.key === ARROW_LEFT ? maxIndex : findNonDisabledIndex(elementsRef, {
startingIndex: prevIndex - prevIndex % cols - 1,
disabledIndices
});
} else {
nextIndex = prevIndex;
}
}
}
return nextIndex;
}
__name(getGridNavigatedIndex, "getGridNavigatedIndex");
function buildCellMap(sizes, cols, dense) {
const cellMap = [];
let startIndex = 0;
sizes.forEach((_ref2, index3) => {
let {
width,
height
} = _ref2;
if (width > cols) {
if (process.env.NODE_ENV !== "production") {
throw new Error("[Floating UI]: Invalid grid - item width at index " + index3 + " is greater than grid columns");
}
}
let itemPlaced = false;
if (dense) {
startIndex = 0;
}
while (!itemPlaced) {
const targetCells = [];
for (let i = 0; i < width; i++) {
for (let j = 0; j < height; j++) {
targetCells.push(startIndex + i + j * cols);
}
}
if (startIndex % cols + width <= cols && targetCells.every((cell) => cellMap[cell] == null)) {
targetCells.forEach((cell) => {
cellMap[cell] = index3;
});
itemPlaced = true;
} else {
startIndex++;
}
}
});
return [...cellMap];
}
__name(buildCellMap, "buildCellMap");
function getCellIndexOfCorner(index3, sizes, cellMap, cols, corner) {
if (index3 === -1)
return -1;
const firstCellIndex = cellMap.indexOf(index3);
const sizeItem = sizes[index3];
switch (corner) {
case "tl":
return firstCellIndex;
case "tr":
if (!sizeItem) {
return firstCellIndex;
}
return firstCellIndex + sizeItem.width - 1;
case "bl":
if (!sizeItem) {
return firstCellIndex;
}
return firstCellIndex + (sizeItem.height - 1) * cols;
case "br":
return cellMap.lastIndexOf(index3);
}
}
__name(getCellIndexOfCorner, "getCellIndexOfCorner");
function getCellIndices(indices, cellMap) {
return cellMap.flatMap((index3, cellIndex) => indices.includes(index3) ? [cellIndex] : []);
}
__name(getCellIndices, "getCellIndices");
function isDisabled(list, index3, disabledIndices) {
if (disabledIndices) {
return disabledIndices.includes(index3);
}
const element = list[index3];
return element == null || element.hasAttribute("disabled") || element.getAttribute("aria-disabled") === "true";
}
__name(isDisabled, "isDisabled");
var rafId = 0;
function enqueueFocus(el, options) {
if (options === void 0) {
options = {};
}
const {
preventScroll = false,
cancelPrevious = true,
sync = false
} = options;
cancelPrevious && cancelAnimationFrame(rafId);
const exec = /* @__PURE__ */ __name(() => el == null ? void 0 : el.focus({
preventScroll
}), "exec");
if (sync) {
exec();
} else {
rafId = requestAnimationFrame(exec);
}
}
__name(enqueueFocus, "enqueueFocus");
var index2 = typeof document !== "undefined" ? import_react39.useLayoutEffect : import_react39.useEffect;
var horizontalKeys = [ARROW_LEFT, ARROW_RIGHT];
var verticalKeys = [ARROW_UP, ARROW_DOWN];
var allKeys = [...horizontalKeys, ...verticalKeys];
function _extends() {
_extends = 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;
};
return _extends.apply(this, arguments);
}
__name(_extends, "_extends");
var serverHandoffComplete = false;
var count = 0;
var genId = /* @__PURE__ */ __name(() => (
// Ensure the id is unique with multiple independent versions of Floating UI
// on <React 18
"floating-ui-" + Math.random().toString(36).slice(2, 6) + count++
), "genId");
function useFloatingId() {
const [id, setId] = React21.useState(() => serverHandoffComplete ? genId() : void 0);
index2(() => {
if (id == null) {
setId(genId());
}
}, []);
React21.useEffect(() => {
serverHandoffComplete = true;
}, []);
return id;
}
__name(useFloatingId, "useFloatingId");
var useReactId = SafeReact.useId;
var useId5 = useReactId || useFloatingId;
var devMessageSet;
if (process.env.NODE_ENV !== "production") {
devMessageSet = /* @__PURE__ */ new Set();
}
function warn() {
var _devMessageSet;
for (var _len = arguments.length, messages = new Array(_len), _key = 0; _key < _len; _key++) {
messages[_key] = arguments[_key];
}
const message = "Floating UI: " + messages.join(" ");
if (!((_devMessageSet = devMessageSet) != null && _devMessageSet.has(message))) {
var _devMessageSet2;
(_devMessageSet2 = devMessageSet) == null || _devMessageSet2.add(message);
console.warn(message);
}
}
__name(warn, "warn");
function error() {
var _devMessageSet3;
for (var _len2 = arguments.length, messages = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
messages[_key2] = arguments[_key2];
}
const message = "Floating UI: " + messages.join(" ");
if (!((_devMessageSet3 = devMessageSet) != null && _devMessageSet3.has(message))) {
var _devMessageSet4;
(_devMessageSet4 = devMessageSet) == null || _devMessageSet4.add(message);
console.error(message);
}
}
__name(error, "error");
function createPubSub() {
const map = /* @__PURE__ */ new Map();
return {
emit(event, data) {
var _map$get;
(_map$get = map.get(event)) == null || _map$get.forEach((handler) => handler(data));
},
on(event, listener) {
map.set(event, [...map.get(event) || [], listener]);
},
off(event, listener) {
var _map$get2;
map.set(event, ((_map$get2 = map.get(event)) == null ? void 0 : _map$get2.filter((l) => l !== listener)) || []);
}
};
}
__name(createPubSub, "createPubSub");
var FloatingNodeContext = /* @__PURE__ */ React21.createContext(null);
var FloatingTreeContext = /* @__PURE__ */ React21.createContext(null);
var useFloatingParentNodeId = /* @__PURE__ */ __name(() => {
var _React$useContext;
return ((_React$useContext = React21.useContext(FloatingNodeContext)) == null ? void 0 : _React$useContext.id) || null;
}, "useFloatingParentNodeId");
var useFloatingTree = /* @__PURE__ */ __name(() => React21.useContext(FloatingTreeContext), "useFloatingTree");
function createAttribute(name) {
return "data-floating-ui-" + name;
}
__name(createAttribute, "createAttribute");
function useLatestRef2(value) {
const ref = (0, import_react39.useRef)(value);
index2(() => {
ref.current = value;
});
return ref;
}
__name(useLatestRef2, "useLatestRef");
var safePolygonIdentifier = /* @__PURE__ */ createAttribute("safe-polygon");
function getDelay(value, prop, pointerType) {
if (pointerType && !isMouseLikePointerType(pointerType)) {
return 0;
}
if (typeof value === "number") {
return value;
}
return value == null ? void 0 : value[prop];
}
__name(getDelay, "getDelay");
function useHover(context, props) {
if (props === void 0) {
props = {};
}
const {
open,
onOpenChange,
dataRef,
events,
elements: {
domReference,
floating
}
} = context;
const {
enabled = true,
delay = 0,
handleClose = null,
mouseOnly = false,
restMs = 0,
move = true
} = props;
const tree = useFloatingTree();
const parentId = useFloatingParentNodeId();
const handleCloseRef = useLatestRef2(handleClose);
const delayRef = useLatestRef2(delay);
const pointerTypeRef = React21.useRef();
const timeoutRef = React21.useRef(-1);
const handlerRef = React21.useRef();
const restTimeoutRef = React21.useRef(-1);
const blockMouseMoveRef = React21.useRef(true);
const performedPointerEventsMutationRef = React21.useRef(false);
const unbindMouseMoveRef = React21.useRef(() => {
});
const isHoverOpen = React21.useCallback(() => {
var _dataRef$current$open;
const type = (_dataRef$current$open = dataRef.current.openEvent) == null ? void 0 : _dataRef$current$open.type;
return (type == null ? void 0 : type.includes("mouse")) && type !== "mousedown";
}, [dataRef]);
React21.useEffect(() => {
if (!enabled) {
return;
}
function onOpenChange2(_ref) {
let {
open: open2
} = _ref;
if (!open2) {
clearTimeout(timeoutRef.current);
clearTimeout(restTimeoutRef.current);
blockMouseMoveRef.current = true;
}
}
__name(onOpenChange2, "onOpenChange");
events.on("openchange", onOpenChange2);
return () => {
events.off("openchange", onOpenChange2);
};
}, [enabled, events]);
React21.useEffect(() => {
if (!enabled || !handleCloseRef.current || !open) {
return;
}
function onLeave(event) {
if (isHoverOpen()) {
onOpenChange(false, event, "hover");
}
}
__name(onLeave, "onLeave");
const html = getDocument(floating).documentElement;
html.addEventListener("mouseleave", onLeave);
return () => {
html.removeEventListener("mouseleave", onLeave);
};
}, [floating, open, onOpenChange, enabled, handleCloseRef, isHoverOpen]);
const closeWithDelay = React21.useCallback(function(event, runElseBranch, reason) {
if (runElseBranch === void 0) {
runElseBranch = true;
}
if (reason === void 0) {
reason = "hover";
}
const closeDelay = getDelay(delayRef.current, "close", pointerTypeRef.current);
if (closeDelay && !handlerRef.current) {
clearTimeout(timeoutRef.current);
timeoutRef.current = window.setTimeout(() => onOpenChange(false, event, reason), closeDelay);
} else if (runElseBranch) {
clearTimeout(timeoutRef.current);
onOpenChange(false, event, reason);
}
}, [delayRef, onOpenChange]);
const cleanupMouseMoveHandler = useEffectEvent(() => {
unbindMouseMoveRef.current();
handlerRef.current = void 0;
});
const clearPointerEvents = useEffectEvent(() => {
if (performedPointerEventsMutationRef.current) {
const body = getDocument(floating).body;
body.style.pointerEvents = "";
body.removeAttribute(safePolygonIdentifier);
performedPointerEventsMutationRef.current = false;
}
});
React21.useEffect(() => {
if (!enabled) {
return;
}
function isClickLikeOpenEvent() {
return dataRef.current.openEvent ? ["click", "mousedown"].includes(dataRef.current.openEvent.type) : false;
}
__name(isClickLikeOpenEvent, "isClickLikeOpenEvent");
function onMouseEnter(event) {
clearTimeout(timeoutRef.current);
blockMouseMoveRef.current = false;
if (mouseOnly && !isMouseLikePointerType(pointerTypeRef.current) || restMs > 0 && !getDelay(delayRef.current, "open")) {
return;
}
const openDelay = getDelay(delayRef.current, "open", pointerTypeRef.current);
if (openDelay) {
timeoutRef.current = window.setTimeout(() => {
onOpenChange(true, event, "hover");
}, openDelay);
} else {
onOpenChange(true, event, "hover");
}
}
__name(onMouseEnter, "onMouseEnter");
function onMouseLeave(event) {
if (isClickLikeOpenEvent())
return;
unbindMouseMoveRef.current();
const doc = getDocument(floating);
clearTimeout(restTimeoutRef.current);
if (handleCloseRef.current && dataRef.current.floatingContext) {
if (!open) {
clearTimeout(timeoutRef.current);
}
handlerRef.current = handleCloseRef.current({
...dataRef.current.floatingContext,
tree,
x: event.clientX,
y: event.clientY,
onClose() {
clearPointerEvents();
cleanupMouseMoveHandler();
closeWithDelay(event, true, "safe-polygon");
}
});
const handler = handlerRef.current;
doc.addEventListener("mousemove", handler);
unbindMouseMoveRef.current = () => {
doc.removeEventListener("mousemove", handler);
};
return;
}
const shouldClose = pointerTypeRef.current === "touch" ? !contains(floating, event.relatedTarget) : true;
if (shouldClose) {
closeWithDelay(event);
}
}
__name(onMouseLeave, "onMouseLeave");
function onScrollMouseLeave(event) {
if (isClickLikeOpenEvent())
return;
if (!dataRef.current.floatingContext)
return;
handleCloseRef.current == null || handleCloseRef.current({
...dataRef.current.floatingContext,
tree,
x: event.clientX,
y: event.clientY,
onClose() {
clearPointerEvents();
cleanupMouseMoveHandler();
closeWithDelay(event);
}
})(event);
}
__name(onScrollMouseLeave, "onScrollMouseLeave");
if (isElement(domReference)) {
const ref = domReference;
open && ref.addEventListener("mouseleave", onScrollMouseLeave);
floating == null || floating.addEventListener("mouseleave", onScrollMouseLeave);
move && ref.addEventListener("mousemove", onMouseEnter, {
once: true
});
ref.addEventListener("mouseenter", onMouseEnter);
ref.addEventListener("mouseleave", onMouseLeave);
return () => {
open && ref.removeEventListener("mouseleave", onScrollMouseLeave);
floating == null || floating.removeEventListener("mouseleave", onScrollMouseLeave);
move && ref.removeEventListener("mousemove", onMouseEnter);
ref.removeEventListener("mouseenter", onMouseEnter);
ref.removeEventListener("mouseleave", onMouseLeave);
};
}
}, [domReference, floating, enabled, context, mouseOnly, restMs, move, closeWithDelay, cleanupMouseMoveHandler, clearPointerEvents, onOpenChange, open, tree, delayRef, handleCloseRef, dataRef]);
index2(() => {
var _handleCloseRef$curre;
if (!enabled) {
return;
}
if (open && (_handleCloseRef$curre = handleCloseRef.current) != null && _handleCloseRef$curre.__options.blockPointerEvents && isHoverOpen()) {
const body = getDocument(floating).body;
body.setAttribute(safePolygonIdentifier, "");
body.style.pointerEvents = "none";
performedPointerEventsMutationRef.current = true;
if (isElement(domReference) && floating) {
var _tree$nodesRef$curren;
const ref = domReference;
const parentFloating = tree == null || (_tree$nodesRef$curren = tree.nodesRef.current.find((node) => node.id === parentId)) == null || (_tree$nodesRef$curren = _tree$nodesRef$curren.context) == null ? void 0 : _tree$nodesRef$curren.elements.floating;
if (parentFloating) {
parentFloating.style.pointerEvents = "";
}
ref.style.pointerEvents = "auto";
floating.style.pointerEvents = "auto";
return () => {
ref.style.pointerEvents = "";
floating.style.pointerEvents = "";
};
}
}
}, [enabled, open, parentId, floating, domReference, tree, handleCloseRef, isHoverOpen]);
index2(() => {
if (!open) {
pointerTypeRef.current = void 0;
cleanupMouseMoveHandler();
clearPointerEvents();
}
}, [open, cleanupMouseMoveHandler, clearPointerEvents]);
React21.useEffect(() => {
return () => {
cleanupMouseMoveHandler();
clearTimeout(timeoutRef.current);
clearTimeout(restTimeoutRef.current);
clearPointerEvents();
};
}, [enabled, domReference, cleanupMouseMoveHandler, clearPointerEvents]);
return React21.useMemo(() => {
if (!enabled) {
return {};
}
function setPointerRef(event) {
pointerTypeRef.current = event.pointerType;
}
__name(setPointerRef, "setPointerRef");
return {
reference: {
onPointerDown: setPointerRef,
onPointerEnter: setPointerRef,
onMouseMove(event) {
function handleMouseMove() {
if (!blockMouseMoveRef.current) {
onOpenChange(true, event.nativeEvent, "hover");
}
}
__name(handleMouseMove, "handleMouseMove");
if (mouseOnly && !isMouseLikePointerType(pointerTypeRef.current)) {
return;
}
if (open || restMs === 0) {
return;
}
clearTimeout(restTimeoutRef.current);
if (pointerTypeRef.current === "touch") {
handleMouseMove();
} else {
restTimeoutRef.current = window.setTimeout(handleMouseMove, restMs);
}
}
},
floating: {
onMouseEnter() {
clearTimeout(timeoutRef.current);
},
onMouseLeave(event) {
closeWithDelay(event.nativeEvent, false);
}
}
};
}, [enabled, mouseOnly, open, restMs, onOpenChange, closeWithDelay]);
}
__name(useHover, "useHover");
var NOOP = /* @__PURE__ */ __name(() => {
}, "NOOP");
var FloatingDelayGroupContext = /* @__PURE__ */ React21.createContext({
delay: 0,
initialDelay: 0,
timeoutMs: 0,
currentId: null,
setCurrentId: NOOP,
setState: NOOP,
isInstantPhase: false
});
var useDelayGroupContext = /* @__PURE__ */ __name(() => React21.useContext(FloatingDelayGroupContext), "useDelayGroupContext");
function FloatingDelayGroup(props) {
const {
children,
delay,
timeoutMs = 0
} = props;
const [state, setState] = React21.useReducer((prev, next) => ({
...prev,
...next
}), {
delay,
timeoutMs,
initialDelay: delay,
currentId: null,
isInstantPhase: false
});
const initialCurrentIdRef = React21.useRef(null);
const setCurrentId = React21.useCallback((currentId) => {
setState({
currentId
});
}, []);
index2(() => {
if (state.currentId) {
if (initialCurrentIdRef.current === null) {
initialCurrentIdRef.current = state.currentId;
} else if (!state.isInstantPhase) {
setState({
isInstantPhase: true
});
}
} else {
if (state.isInstantPhase) {
setState({
isInstantPhase: false
});
}
initialCurrentIdRef.current = null;
}
}, [state.currentId, state.isInstantPhase]);
return /* @__PURE__ */ React21.createElement(FloatingDelayGroupContext.Provider, {
value: React21.useMemo(() => ({
...state,
setState,
setCurrentId
}), [state, setCurrentId])
}, children);
}
__name(FloatingDelayGroup, "FloatingDelayGroup");
function useDelayGroup(context, options) {
if (options === void 0) {
options = {};
}
const {
open,
onOpenChange,
floatingId
} = context;
const {
id: optionId
} = options;
const id = optionId != null ? optionId : floatingId;
const groupContext = useDelayGroupContext();
const {
currentId,
setCurrentId,
initialDelay,
setState,
timeoutMs
} = groupContext;
index2(() => {
if (!currentId)
return;
setState({
delay: {
open: 1,
close: getDelay(initialDelay, "close")
}
});
if (currentId !== id) {
onOpenChange(false);
}
}, [id, onOpenChange, setState, currentId, initialDelay]);
index2(() => {
function unset() {
onOpenChange(false);
setState({
delay: initialDelay,
currentId: null
});
}
__name(unset, "unset");
if (!currentId)
return;
if (!open && currentId === id) {
if (timeoutMs) {
const timeout = window.setTimeout(unset, timeoutMs);
return () => {
clearTimeout(timeout);
};
}
unset();
}
}, [open, setState, currentId, id, onOpenChange, initialDelay, timeoutMs]);
index2(() => {
if (setCurrentId === NOOP || !open)
return;
setCurrentId(id);
}, [open, setCurrentId, id]);
return groupContext;
}
__name(useDelayGroup, "useDelayGroup");
function getAncestors(nodes, id) {
var _nodes$find;
let allAncestors = [];
let currentParentId = (_nodes$find = nodes.find((node) => node.id === id)) == null ? void 0 : _nodes$find.parentId;
while (currentParentId) {
const currentNode = nodes.find((node) => node.id === currentParentId);
currentParentId = currentNode == null ? void 0 : currentNode.parentId;
if (currentNode) {
allAncestors = allAncestors.concat(currentNode);
}
}
return allAncestors;
}
__name(getAncestors, "getAncestors");
function getChildren(nodes, id) {
let allChildren = nodes.filter((node) => {
var _node$context;
return node.parentId === id && ((_node$context = node.context) == null ? void 0 : _node$context.open);
});
let currentChildren = allChildren;
while (currentChildren.length) {
currentChildren = nodes.filter((node) => {
var _currentChildren;
return (_currentChildren = currentChildren) == null ? void 0 : _currentChildren.some((n) => {
var _node$context2;
return node.parentId === n.id && ((_node$context2 = node.context) == null ? void 0 : _node$context2.open);
});
});
allChildren = allChildren.concat(currentChildren);
}
return allChildren;
}
__name(getChildren, "getChildren");
function getDeepestNode(nodes, id) {
let deepestNodeId;
let maxDepth = -1;
function findDeepest(nodeId, depth) {
if (depth > maxDepth) {
deepestNodeId = nodeId;
maxDepth = depth;
}
const children = getChildren(nodes, nodeId);
children.forEach((child) => {
findDeepest(child.id, depth + 1);
});
}
__name(findDeepest, "findDeepest");
findDeepest(id, 0);
return nodes.find((node) => node.id === deepestNodeId);
}
__name(getDeepestNode, "getDeepestNode");
var counterMap = /* @__PURE__ */ new WeakMap();
var uncontrolledElementsSet = /* @__PURE__ */ new WeakSet();
var markerMap = {};
var lockCount = 0;
var supportsInert = /* @__PURE__ */ __name(() => typeof HTMLElement !== "undefined" && "inert" in HTMLElement.prototype, "supportsInert");
var unwrapHost = /* @__PURE__ */ __name((node) => node && (node.host || unwrapHost(node.parentNode)), "unwrapHost");
var correctElements = /* @__PURE__ */ __name((parent, targets) => targets.map((target) => {
if (parent.contains(target)) {
return target;
}
const correctedTarget = unwrapHost(target);
if (parent.contains(correctedTarget)) {
return correctedTarget;
}
return null;
}).filter((x) => x != null), "correctElements");
function applyAttributeToOthers(uncorrectedAvoidElements, body, ariaHidden, inert) {
const markerName = "data-floating-ui-inert";
const controlAttribute = inert ? "inert" : ariaHidden ? "aria-hidden" : null;
const avoidElements = correctElements(body, uncorrectedAvoidElements);
const elementsToKeep = /* @__PURE__ */ new Set();
const elementsToStop = new Set(avoidElements);
const hiddenElements = [];
if (!markerMap[markerName]) {
markerMap[markerName] = /* @__PURE__ */ new WeakMap();
}
const markerCounter = markerMap[markerName];
avoidElements.forEach(keep);
deep(body);
elementsToKeep.clear();
function keep(el) {
if (!el || elementsToKeep.has(el)) {
return;
}
elementsToKeep.add(el);
el.parentNode && keep(el.parentNode);
}
__name(keep, "keep");
function deep(parent) {
if (!parent || elementsToStop.has(parent)) {
return;
}
[].forEach.call(parent.children, (node) => {
if (getNodeName(node) === "script")
return;
if (elementsToKeep.has(node)) {
deep(node);
} else {
const attr2 = controlAttribute ? node.getAttribute(controlAttribute) : null;
const alreadyHidden = attr2 !== null && attr2 !== "false";
const counterValue = (counterMap.get(node) || 0) + 1;
const markerValue = (markerCounter.get(node) || 0) + 1;
counterMap.set(node, counterValue);
markerCounter.set(node, markerValue);
hiddenElements.push(node);
if (counterValue === 1 && alreadyHidden) {
uncontrolledElementsSet.add(node);
}
if (markerValue === 1) {
node.setAttribute(markerName, "");
}
if (!alreadyHidden && controlAttribute) {
node.setAttribute(controlAttribute, "true");
}
}
});
}
__name(deep, "deep");
lockCount++;
return () => {
hiddenElements.forEach((element) => {
const counterValue = (counterMap.get(element) || 0) - 1;
const markerValue = (markerCounter.get(element) || 0) - 1;
counterMap.set(element, counterValue);
markerCounter.set(element, markerValue);
if (!counterValue) {
if (!uncontrolledElementsSet.has(element) && controlAttribute) {
element.removeAttribute(controlAttribute);
}
uncontrolledElementsSet.delete(element);
}
if (!markerValue) {
element.removeAttribute(markerName);
}
});
lockCount--;
if (!lockCount) {
counterMap = /* @__PURE__ */ new WeakMap();
counterMap = /* @__PURE__ */ new WeakMap();
uncontrolledElementsSet = /* @__PURE__ */ new WeakSet();
markerMap = {};
}
};
}
__name(applyAttributeToOthers, "applyAttributeToOthers");
function markOthers(avoidElements, ariaHidden, inert) {
if (ariaHidden === void 0) {
ariaHidden = false;
}
if (inert === void 0) {
inert = false;
}
const body = getDocument(avoidElements[0]).body;
return applyAttributeToOthers(avoidElements.concat(Array.from(body.querySelectorAll("[aria-live]"))), body, ariaHidden, inert);
}
__name(markOthers, "markOthers");
var getTabbableOptions = /* @__PURE__ */ __name(() => ({
getShadowRoot: true,
displayCheck: (
// JSDOM does not support the `tabbable` library. To solve this we can
// check if `ResizeObserver` is a real function (not polyfilled), which
// determines if the current environment is JSDOM-like.
typeof ResizeObserver === "function" && ResizeObserver.toString().includes("[native code]") ? "full" : "none"
)
}), "getTabbableOptions");
function getTabbableIn(container, direction) {
const allTabbable = (0, import_tabbable.tabbable)(container, getTabbableOptions());
if (direction === "prev") {
allTabbable.reverse();
}
const activeIndex = allTabbable.indexOf(activeElement(getDocument(container)));
const nextTabbableElements = allTabbable.slice(activeIndex + 1);
return nextTabbableElements[0];
}
__name(getTabbableIn, "getTabbableIn");
function getNextTabbable() {
return getTabbableIn(document.body, "next");
}
__name(getNextTabbable, "getNextTabbable");
function getPreviousTabbable() {
return getTabbableIn(document.body, "prev");
}
__name(getPreviousTabbable, "getPreviousTabbable");
function isOutsideEvent(event, container) {
const containerElement = container || event.currentTarget;
const relatedTarget = event.relatedTarget;
return !relatedTarget || !contains(containerElement, relatedTarget);
}
__name(isOutsideEvent, "isOutsideEvent");
function disableFocusInside(container) {
const tabbableElements = (0, import_tabbable.tabbable)(container, getTabbableOptions());
tabbableElements.forEach((element) => {
element.dataset.tabindex = element.getAttribute("tabindex") || "";
element.setAttribute("tabindex", "-1");
});
}
__name(disableFocusInside, "disableFocusInside");
function enableFocusInside(container) {
const elements = container.querySelectorAll("[data-tabindex]");
elements.forEach((element) => {
const tabindex = element.dataset.tabindex;
delete element.dataset.tabindex;
if (tabindex) {
element.setAttribute("tabindex", tabindex);
} else {
element.removeAttribute("tabindex");
}
});
}
__name(enableFocusInside, "enableFocusInside");
var HIDDEN_STYLES = {
border: 0,
clip: "rect(0 0 0 0)",
height: "1px",
margin: "-1px",
overflow: "hidden",
padding: 0,
position: "fixed",
whiteSpace: "nowrap",
width: "1px",
top: 0,
left: 0
};
var timeoutId;
function setActiveElementOnTab(event) {
if (event.key === "Tab") {
event.target;
clearTimeout(timeoutId);
}
}
__name(setActiveElementOnTab, "setActiveElementOnTab");
var FocusGuard = /* @__PURE__ */ React21.forwardRef(/* @__PURE__ */ __name(function FocusGuard2(props, ref) {
const [role, setRole] = React21.useState();
index2(() => {
if (isSafari()) {
setRole("button");
}
document.addEventListener("keydown", setActiveElementOnTab);
return () => {
document.removeEventListener("keydown", setActiveElementOnTab);
};
}, []);
const restProps = {
ref,
tabIndex: 0,
// Role is only for VoiceOver
role,
"aria-hidden": role ? void 0 : true,
[createAttribute("focus-guard")]: "",
style: HIDDEN_STYLES
};
return /* @__PURE__ */ React21.createElement("span", _extends({}, props, restProps));
}, "FocusGuard"));
var PortalContext = /* @__PURE__ */ React21.createContext(null);
var attr = /* @__PURE__ */ createAttribute("portal");
function useFloatingPortalNode(props) {
if (props === void 0) {
props = {};
}
const {
id,
root
} = props;
const uniqueId = useId5();
const portalContext = usePortalContext2();
const [portalNode, setPortalNode] = React21.useState(null);
const portalNodeRef = React21.useRef(null);
index2(() => {
return () => {
portalNode == null || portalNode.remove();
queueMicrotask(() => {
portalNodeRef.current = null;
});
};
}, [portalNode]);
index2(() => {
if (!uniqueId)
return;
if (portalNodeRef.current)
return;
const existingIdRoot = id ? document.getElementById(id) : null;
if (!existingIdRoot)
return;
const subRoot = document.createElement("div");
subRoot.id = uniqueId;
subRoot.setAttribute(attr, "");
existingIdRoot.appendChild(subRoot);
portalNodeRef.current = subRoot;
setPortalNode(subRoot);
}, [id, uniqueId]);
index2(() => {
if (!uniqueId)
return;
if (portalNodeRef.current)
return;
let container = root || (portalContext == null ? void 0 : portalContext.portalNode);
if (container && !isElement(container))
container = container.current;
container = container || document.body;
let idWrapper = null;
if (id) {
idWrapper = document.createElement("div");
idWrapper.id = id;
container.appendChild(idWrapper);
}
const subRoot = document.createElement("div");
subRoot.id = uniqueId;
subRoot.setAttribute(attr, "");
container = idWrapper || container;
container.appendChild(subRoot);
portalNodeRef.current = subRoot;
setPortalNode(subRoot);
}, [id, root, uniqueId, portalContext]);
return portalNode;
}
__name(useFloatingPortalNode, "useFloatingPortalNode");
function FloatingPortal(props) {
const {
children,
id,
root = null,
preserveTabOrder = true
} = props;
const portalNode = useFloatingPortalNode({
id,
root
});
const [focusManagerState, setFocusManagerState] = React21.useState(null);
const beforeOutsideRef = React21.useRef(null);
const afterOutsideRef = React21.useRef(null);
const beforeInsideRef = React21.useRef(null);
const afterInsideRef = React21.useRef(null);
const shouldRenderGuards = (
// The FocusManager and therefore floating element are currently open/
// rendered.
!!focusManagerState && // Guards are only for non-modal focus management.
!focusManagerState.modal && // Don't render if unmount is transitioning.
focusManagerState.open && preserveTabOrder && !!(root || portalNode)
);
React21.useEffect(() => {
if (!portalNode || !preserveTabOrder || focusManagerState != null && focusManagerState.modal) {
return;
}
function onFocus(event) {
if (portalNode && isOutsideEvent(event)) {
const focusing = event.type === "focusin";
const manageFocus = focusing ? enableFocusInside : disableFocusInside;
manageFocus(portalNode);
}
}
__name(onFocus, "onFocus");
portalNode.addEventListener("focusin", onFocus, true);
portalNode.addEventListener("focusout", onFocus, true);
return () => {
portalNode.removeEventListener("focusin", onFocus, true);
portalNode.removeEventListener("focusout", onFocus, true);
};
}, [portalNode, preserveTabOrder, focusManagerState == null ? void 0 : focusManagerState.modal]);
return /* @__PURE__ */ React21.createElement(PortalContext.Provider, {
value: React21.useMemo(() => ({
preserveTabOrder,
beforeOutsideRef,
afterOutsideRef,
beforeInsideRef,
afterInsideRef,
portalNode,
setFocusManagerState
}), [preserveTabOrder, portalNode])
}, shouldRenderGuards && portalNode && /* @__PURE__ */ React21.createElement(FocusGuard, {
"data-type": "outside",
ref: beforeOutsideRef,
onFocus: (event) => {
if (isOutsideEvent(event, portalNode)) {
var _beforeInsideRef$curr;
(_beforeInsideRef$curr = beforeInsideRef.current) == null || _beforeInsideRef$curr.focus();
} else {
const prevTabbable = getPreviousTabbable() || (focusManagerState == null ? void 0 : focusManagerState.refs.domReference.current);
prevTabbable == null || prevTabbable.focus();
}
}
}), shouldRenderGuards && portalNode && /* @__PURE__ */ React21.createElement("span", {
"aria-owns": portalNode.id,
style: HIDDEN_STYLES
}), portalNode && /* @__PURE__ */ (0, import_react_dom4.createPortal)(children, portalNode), shouldRenderGuards && portalNode && /* @__PURE__ */ React21.createElement(FocusGuard, {
"data-type": "outside",
ref: afterOutsideRef,
onFocus: (event) => {
if (isOutsideEvent(event, portalNode)) {
var _afterInsideRef$curre;
(_afterInsideRef$curre = afterInsideRef.current) == null || _afterInsideRef$curre.focus();
} else {
const nextTabbable = getNextTabbable() || (focusManagerState == null ? void 0 : focusManagerState.refs.domReference.current);
nextTabbable == null || nextTabbable.focus();
(focusManagerState == null ? void 0 : focusManagerState.closeOnFocusOut) && (focusManagerState == null ? void 0 : focusManagerState.onOpenChange(false, event.nativeEvent));
}
}
}));
}
__name(FloatingPortal, "FloatingPortal");
var usePortalContext2 = /* @__PURE__ */ __name(() => React21.useContext(PortalContext), "usePortalContext");
var LIST_LIMIT = 20;
var previouslyFocusedElements = [];
function addPreviouslyFocusedElement(element) {
previouslyFocusedElements = previouslyFocusedElements.filter((el) => el.isConnected);
let tabbableEl = element;
if (!tabbableEl || getNodeName(tabbableEl) === "body")
return;
if (!(0, import_tabbable.isTabbable)(tabbableEl, getTabbableOptions())) {
const tabbableChild = (0, import_tabbable.tabbable)(tabbableEl, getTabbableOptions())[0];
if (tabbableChild) {
tabbableEl = tabbableChild;
}
}
previouslyFocusedElements.push(tabbableEl);
if (previouslyFocusedElements.length > LIST_LIMIT) {
previouslyFocusedElements = previouslyFocusedElements.slice(-LIST_LIMIT);
}
}
__name(addPreviouslyFocusedElement, "addPreviouslyFocusedElement");
function getPreviouslyFocusedElement() {
return previouslyFocusedElements.slice().reverse().find((el) => el.isConnected);
}
__name(getPreviouslyFocusedElement, "getPreviouslyFocusedElement");
var VisuallyHiddenDismiss = /* @__PURE__ */ React21.forwardRef(/* @__PURE__ */ __name(function VisuallyHiddenDismiss2(props, ref) {
return /* @__PURE__ */ React21.createElement("button", _extends({}, props, {
type: "button",
ref,
tabIndex: -1,
style: HIDDEN_STYLES
}));
}, "VisuallyHiddenDismiss"));
function FloatingFocusManager(props) {
const {
context,
children,
disabled = false,
order = ["content"],
guards: _guards = true,
initialFocus = 0,
returnFocus = true,
modal = true,
visuallyHiddenDismiss = false,
closeOnFocusOut = true
} = props;
const {
open,
refs,
nodeId,
onOpenChange,
events,
dataRef,
elements: {
domReference,
floating
}
} = context;
const ignoreInitialFocus = typeof initialFocus === "number" && initialFocus < 0;
const isUntrappedTypeableCombobox = isTypeableCombobox(domReference) && ignoreInitialFocus;
const guards = supportsInert() ? _guards : true;
const orderRef = useLatestRef2(order);
const initialFocusRef = useLatestRef2(initialFocus);
const returnFocusRef = useLatestRef2(returnFocus);
const tree = useFloatingTree();
const portalContext = usePortalContext2();
const startDismissButtonRef = React21.useRef(null);
const endDismissButtonRef = React21.useRef(null);
const preventReturnFocusRef = React21.useRef(false);
const isPointerDownRef = React21.useRef(false);
const isInsidePortal = portalContext != null;
const getTabbableContent = React21.useCallback(function(container) {
if (container === void 0) {
container = floating;
}
return container ? (0, import_tabbable.tabbable)(container, getTabbableOptions()) : [];
}, [floating]);
const getTabbableElements = React21.useCallback((container) => {
const content = getTabbableContent(container);
return orderRef.current.map((type) => {
if (domReference && type === "reference") {
return domReference;
}
if (floating && type === "floating") {
return floating;
}
return content;
}).filter(Boolean).flat();
}, [domReference, floating, orderRef, getTabbableContent]);
React21.useEffect(() => {
if (disabled || !modal)
return;
function onKeyDown(event) {
if (event.key === "Tab") {
if (contains(floating, activeElement(getDocument(floating))) && getTabbableContent().length === 0 && !isUntrappedTypeableCombobox) {
stopEvent(event);
}
const els = getTabbableElements();
const target = getTarget(event);
if (orderRef.current[0] === "reference" && target === domReference) {
stopEvent(event);
if (event.shiftKey) {
enqueueFocus(els[els.length - 1]);
} else {
enqueueFocus(els[1]);
}
}
if (orderRef.current[1] === "floating" && target === floating && event.shiftKey) {
stopEvent(event);
enqueueFocus(els[0]);
}
}
}
__name(onKeyDown, "onKeyDown");
const doc = getDocument(floating);
doc.addEventListener("keydown", onKeyDown);
return () => {
doc.removeEventListener("keydown", onKeyDown);
};
}, [disabled, domReference, floating, modal, orderRef, isUntrappedTypeableCombobox, getTabbableContent, getTabbableElements]);
React21.useEffect(() => {
if (disabled || !closeOnFocusOut)
return;
function handlePointerDown() {
isPointerDownRef.current = true;
setTimeout(() => {
isPointerDownRef.current = false;
});
}
__name(handlePointerDown, "handlePointerDown");
function handleFocusOutside(event) {
const relatedTarget = event.relatedTarget;
queueMicrotask(() => {
const movedToUnrelatedNode = !(contains(domReference, relatedTarget) || contains(floating, relatedTarget) || contains(relatedTarget, floating) || contains(portalContext == null ? void 0 : portalContext.portalNode, relatedTarget) || relatedTarget != null && relatedTarget.hasAttribute(createAttribute("focus-guard")) || tree && (getChildren(tree.nodesRef.current, nodeId).find((node) => {
var _node$context, _node$context2;
return contains((_node$context = node.context) == null ? void 0 : _node$context.elements.floating, relatedTarget) || contains((_node$context2 = node.context) == null ? void 0 : _node$context2.elements.domReference, relatedTarget);
}) || getAncestors(tree.nodesRef.current, nodeId).find((node) => {
var _node$context3, _node$context4;
return ((_node$context3 = node.context) == null ? void 0 : _node$context3.elements.floating) === relatedTarget || ((_node$context4 = node.context) == null ? void 0 : _node$context4.elements.domReference) === relatedTarget;
})));
if (relatedTarget && movedToUnrelatedNode && !isPointerDownRef.current && // Fix React 18 Strict Mode returnFocus due to double rendering.
relatedTarget !== getPreviouslyFocusedElement()) {
preventReturnFocusRef.current = true;
onOpenChange(false, event);
}
});
}
__name(handleFocusOutside, "handleFocusOutside");
if (floating && isHTMLElement(domReference)) {
domReference.addEventListener("focusout", handleFocusOutside);
domReference.addEventListener("pointerdown", handlePointerDown);
!modal && floating.addEventListener("focusout", handleFocusOutside);
return () => {
domReference.removeEventListener("focusout", handleFocusOutside);
domReference.removeEventListener("pointerdown", handlePointerDown);
!modal && floating.removeEventListener("focusout", handleFocusOutside);
};
}
}, [disabled, domReference, floating, modal, nodeId, tree, portalContext, onOpenChange, closeOnFocusOut]);
React21.useEffect(() => {
var _portalContext$portal;
if (disabled)
return;
const portalNodes = Array.from((portalContext == null || (_portalContext$portal = portalContext.portalNode) == null ? void 0 : _portalContext$portal.querySelectorAll("[" + createAttribute("portal") + "]")) || []);
if (floating) {
const insideElements = [floating, ...portalNodes, startDismissButtonRef.current, endDismissButtonRef.current, orderRef.current.includes("reference") || isUntrappedTypeableCombobox ? domReference : null].filter((x) => x != null);
const cleanup = modal || isUntrappedTypeableCombobox ? markOthers(insideElements, guards, !guards) : markOthers(insideElements);
return () => {
cleanup();
};
}
}, [disabled, domReference, floating, modal, orderRef, portalContext, isUntrappedTypeableCombobox, guards]);
index2(() => {
if (disabled || !floating)
return;
const doc = getDocument(floating);
const previouslyFocusedElement = activeElement(doc);
queueMicrotask(() => {
const focusableElements = getTabbableElements(floating);
const initialFocusValue = initialFocusRef.current;
const elToFocus = (typeof initialFocusValue === "number" ? focusableElements[initialFocusValue] : initialFocusValue.current) || floating;
const focusAlreadyInsideFloatingEl = contains(floating, previouslyFocusedElement);
if (!ignoreInitialFocus && !focusAlreadyInsideFloatingEl && open) {
enqueueFocus(elToFocus, {
preventScroll: elToFocus === floating
});
}
});
}, [disabled, open, floating, ignoreInitialFocus, getTabbableElements, initialFocusRef]);
index2(() => {
if (disabled || !floating)
return;
let preventReturnFocusScroll = false;
const doc = getDocument(floating);
const previouslyFocusedElement = activeElement(doc);
const contextData = dataRef.current;
let openEvent = contextData.openEvent;
addPreviouslyFocusedElement(previouslyFocusedElement);
function onOpenChange2(_ref) {
let {
open: open2,
reason,
event,
nested
} = _ref;
if (open2) {
openEvent = event;
}
if (reason === "escape-key" && refs.domReference.current) {
addPreviouslyFocusedElement(refs.domReference.current);
}
if (reason === "hover" && event.type === "mouseleave") {
preventReturnFocusRef.current = true;
}
if (reason !== "outside-press")
return;
if (nested) {
preventReturnFocusRef.current = false;
preventReturnFocusScroll = true;
} else {
preventReturnFocusRef.current = !(isVirtualClick(event) || isVirtualPointerEvent(event));
}
}
__name(onOpenChange2, "onOpenChange");
events.on("openchange", onOpenChange2);
return () => {
events.off("openchange", onOpenChange2);
const activeEl = activeElement(doc);
const isFocusInsideFloatingTree = contains(floating, activeEl) || tree && getChildren(tree.nodesRef.current, nodeId).some((node) => {
var _node$context5;
return contains((_node$context5 = node.context) == null ? void 0 : _node$context5.elements.floating, activeEl);
});
const shouldFocusReference = isFocusInsideFloatingTree || openEvent && ["click", "mousedown"].includes(openEvent.type);
if (shouldFocusReference && refs.domReference.current) {
addPreviouslyFocusedElement(refs.domReference.current);
}
const returnElement = getPreviouslyFocusedElement();
if (
// eslint-disable-next-line react-hooks/exhaustive-deps
returnFocusRef.current && !preventReturnFocusRef.current && isHTMLElement(returnElement) && // If the focus moved somewhere else after mount, avoid returning focus
// since it likely entered a different element which should be
// respected: https://github.com/floating-ui/floating-ui/issues/2607
(returnElement !== activeEl && activeEl !== doc.body ? isFocusInsideFloatingTree : true)
) {
enqueueFocus(returnElement, {
// When dismissing nested floating elements, by the time the rAF has
// executed, the menus will all have been unmounted. When they try
// to get focused, the calls get ignored — leaving the root
// reference focused as desired.
cancelPrevious: false,
preventScroll: preventReturnFocusScroll
});
}
};
}, [disabled, floating, returnFocusRef, dataRef, refs, events, tree, nodeId]);
index2(() => {
if (disabled || !portalContext)
return;
portalContext.setFocusManagerState({
modal,
closeOnFocusOut,
open,
onOpenChange,
refs
});
return () => {
portalContext.setFocusManagerState(null);
};
}, [disabled, portalContext, modal, open, onOpenChange, refs, closeOnFocusOut]);
index2(() => {
if (disabled || !floating || typeof MutationObserver !== "function" || ignoreInitialFocus) {
return;
}
const handleMutation = /* @__PURE__ */ __name(() => {
const tabIndex = floating.getAttribute("tabindex");
if (orderRef.current.includes("floating") || activeElement(getDocument(floating)) !== refs.domReference.current && getTabbableContent().length === 0) {
if (tabIndex !== "0") {
floating.setAttribute("tabindex", "0");
}
} else if (tabIndex !== "-1") {
floating.setAttribute("tabindex", "-1");
}
}, "handleMutation");
handleMutation();
const observer = new MutationObserver(handleMutation);
observer.observe(floating, {
childList: true,
subtree: true,
attributes: true
});
return () => {
observer.disconnect();
};
}, [disabled, floating, refs, orderRef, getTabbableContent, ignoreInitialFocus]);
function renderDismissButton(location) {
if (disabled || !visuallyHiddenDismiss || !modal) {
return null;
}
return /* @__PURE__ */ React21.createElement(VisuallyHiddenDismiss, {
ref: location === "start" ? startDismissButtonRef : endDismissButtonRef,
onClick: (event) => onOpenChange(false, event.nativeEvent)
}, typeof visuallyHiddenDismiss === "string" ? visuallyHiddenDismiss : "Dismiss");
}
__name(renderDismissButton, "renderDismissButton");
const shouldRenderGuards = !disabled && guards && (isInsidePortal || modal);
return /* @__PURE__ */ React21.createElement(React21.Fragment, null, shouldRenderGuards && /* @__PURE__ */ React21.createElement(FocusGuard, {
"data-type": "inside",
ref: portalContext == null ? void 0 : portalContext.beforeInsideRef,
onFocus: (event) => {
if (modal) {
const els = getTabbableElements();
enqueueFocus(order[0] === "reference" ? els[0] : els[els.length - 1]);
} else if (portalContext != null && portalContext.preserveTabOrder && portalContext.portalNode) {
preventReturnFocusRef.current = false;
if (isOutsideEvent(event, portalContext.portalNode)) {
const nextTabbable = getNextTabbable() || domReference;
nextTabbable == null || nextTabbable.focus();
} else {
var _portalContext$before;
(_portalContext$before = portalContext.beforeOutsideRef.current) == null || _portalContext$before.focus();
}
}
}
}), !isUntrappedTypeableCombobox && renderDismissButton("start"), children, renderDismissButton("end"), shouldRenderGuards && /* @__PURE__ */ React21.createElement(FocusGuard, {
"data-type": "inside",
ref: portalContext == null ? void 0 : portalContext.afterInsideRef,
onFocus: (event) => {
if (modal) {
enqueueFocus(getTabbableElements()[0]);
} else if (portalContext != null && portalContext.preserveTabOrder && portalContext.portalNode) {
if (closeOnFocusOut) {
preventReturnFocusRef.current = true;
}
if (isOutsideEvent(event, portalContext.portalNode)) {
const prevTabbable = getPreviousTabbable() || domReference;
prevTabbable == null || prevTabbable.focus();
} else {
var _portalContext$afterO;
(_portalContext$afterO = portalContext.afterOutsideRef.current) == null || _portalContext$afterO.focus();
}
}
}
}));
}
__name(FloatingFocusManager, "FloatingFocusManager");
var activeLocks = /* @__PURE__ */ new Set();
var FloatingOverlay = /* @__PURE__ */ React21.forwardRef(/* @__PURE__ */ __name(function FloatingOverlay2(props, ref) {
const {
lockScroll = false,
...rest
} = props;
const lockId = useId5();
index2(() => {
if (!lockScroll)
return;
activeLocks.add(lockId);
const isIOS = /iP(hone|ad|od)|iOS/.test(getPlatform());
const bodyStyle = document.body.style;
const scrollbarX = Math.round(document.documentElement.getBoundingClientRect().left) + document.documentElement.scrollLeft;
const paddingProp = scrollbarX ? "paddingLeft" : "paddingRight";
const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;
const scrollX = bodyStyle.left ? parseFloat(bodyStyle.left) : window.pageXOffset;
const scrollY = bodyStyle.top ? parseFloat(bodyStyle.top) : window.pageYOffset;
bodyStyle.overflow = "hidden";
if (scrollbarWidth) {
bodyStyle[paddingProp] = scrollbarWidth + "px";
}
if (isIOS) {
var _window$visualViewpor, _window$visualViewpor2;
const offsetLeft = ((_window$visualViewpor = window.visualViewport) == null ? void 0 : _window$visualViewpor.offsetLeft) || 0;
const offsetTop = ((_window$visualViewpor2 = window.visualViewport) == null ? void 0 : _window$visualViewpor2.offsetTop) || 0;
Object.assign(bodyStyle, {
position: "fixed",
top: -(scrollY - Math.floor(offsetTop)) + "px",
left: -(scrollX - Math.floor(offsetLeft)) + "px",
right: "0"
});
}
return () => {
activeLocks.delete(lockId);
if (activeLocks.size === 0) {
Object.assign(bodyStyle, {
overflow: "",
[paddingProp]: ""
});
if (isIOS) {
Object.assign(bodyStyle, {
position: "",
top: "",
left: "",
right: ""
});
window.scrollTo(scrollX, scrollY);
}
}
};
}, [lockId, lockScroll]);
return /* @__PURE__ */ React21.createElement("div", _extends({
ref
}, rest, {
style: {
position: "fixed",
overflow: "auto",
top: 0,
right: 0,
bottom: 0,
left: 0,
...rest.style
}
}));
}, "FloatingOverlay"));
function isButtonTarget(event) {
return isHTMLElement(event.target) && event.target.tagName === "BUTTON";
}
__name(isButtonTarget, "isButtonTarget");
function isSpaceIgnored(element) {
return isTypeableElement(element);
}
__name(isSpaceIgnored, "isSpaceIgnored");
function useClick(context, props) {
if (props === void 0) {
props = {};
}
const {
open,
onOpenChange,
dataRef,
elements: {
domReference
}
} = context;
const {
enabled = true,
event: eventOption = "click",
toggle = true,
ignoreMouse = false,
keyboardHandlers = true
} = props;
const pointerTypeRef = React21.useRef();
const didKeyDownRef = React21.useRef(false);
return React21.useMemo(() => {
if (!enabled)
return {};
return {
reference: {
onPointerDown(event) {
pointerTypeRef.current = event.pointerType;
},
onMouseDown(event) {
if (event.button !== 0) {
return;
}
if (isMouseLikePointerType(pointerTypeRef.current, true) && ignoreMouse) {
return;
}
if (eventOption === "click") {
return;
}
if (open && toggle && (dataRef.current.openEvent ? dataRef.current.openEvent.type === "mousedown" : true)) {
onOpenChange(false, event.nativeEvent, "click");
} else {
event.preventDefault();
onOpenChange(true, event.nativeEvent, "click");
}
},
onClick(event) {
if (eventOption === "mousedown" && pointerTypeRef.current) {
pointerTypeRef.current = void 0;
return;
}
if (isMouseLikePointerType(pointerTypeRef.current, true) && ignoreMouse) {
return;
}
if (open && toggle && (dataRef.current.openEvent ? dataRef.current.openEvent.type === "click" : true)) {
onOpenChange(false, event.nativeEvent, "click");
} else {
onOpenChange(true, event.nativeEvent, "click");
}
},
onKeyDown(event) {
pointerTypeRef.current = void 0;
if (event.defaultPrevented || !keyboardHandlers || isButtonTarget(event)) {
return;
}
if (event.key === " " && !isSpaceIgnored(domReference)) {
event.preventDefault();
didKeyDownRef.current = true;
}
if (event.key === "Enter") {
if (open && toggle) {
onOpenChange(false, event.nativeEvent, "click");
} else {
onOpenChange(true, event.nativeEvent, "click");
}
}
},
onKeyUp(event) {
if (event.defaultPrevented || !keyboardHandlers || isButtonTarget(event) || isSpaceIgnored(domReference)) {
return;
}
if (event.key === " " && didKeyDownRef.current) {
didKeyDownRef.current = false;
if (open && toggle) {
onOpenChange(false, event.nativeEvent, "click");
} else {
onOpenChange(true, event.nativeEvent, "click");
}
}
}
}
};
}, [enabled, dataRef, eventOption, ignoreMouse, keyboardHandlers, domReference, toggle, open, onOpenChange]);
}
__name(useClick, "useClick");
var bubbleHandlerKeys = {
pointerdown: "onPointerDown",
mousedown: "onMouseDown",
click: "onClick"
};
var captureHandlerKeys = {
pointerdown: "onPointerDownCapture",
mousedown: "onMouseDownCapture",
click: "onClickCapture"
};
var normalizeProp = /* @__PURE__ */ __name((normalizable) => {
var _normalizable$escapeK, _normalizable$outside;
return {
escapeKey: typeof normalizable === "boolean" ? normalizable : (_normalizable$escapeK = normalizable == null ? void 0 : normalizable.escapeKey) != null ? _normalizable$escapeK : false,
outsidePress: typeof normalizable === "boolean" ? normalizable : (_normalizable$outside = normalizable == null ? void 0 : normalizable.outsidePress) != null ? _normalizable$outside : true
};
}, "normalizeProp");
function useDismiss(context, props) {
if (props === void 0) {
props = {};
}
const {
open,
onOpenChange,
elements: {
reference,
domReference,
floating
},
dataRef
} = context;
const {
enabled = true,
escapeKey = true,
outsidePress: unstable_outsidePress = true,
outsidePressEvent = "pointerdown",
referencePress = false,
referencePressEvent = "pointerdown",
ancestorScroll = false,
bubbles,
capture
} = props;
const tree = useFloatingTree();
const outsidePressFn = useEffectEvent(typeof unstable_outsidePress === "function" ? unstable_outsidePress : () => false);
const outsidePress = typeof unstable_outsidePress === "function" ? outsidePressFn : unstable_outsidePress;
const insideReactTreeRef = React21.useRef(false);
const endedOrStartedInsideRef = React21.useRef(false);
const {
escapeKey: escapeKeyBubbles,
outsidePress: outsidePressBubbles
} = normalizeProp(bubbles);
const {
escapeKey: escapeKeyCapture,
outsidePress: outsidePressCapture
} = normalizeProp(capture);
const closeOnEscapeKeyDown = useEffectEvent((event) => {
var _dataRef$current$floa;
if (!open || !enabled || !escapeKey || event.key !== "Escape") {
return;
}
const nodeId = (_dataRef$current$floa = dataRef.current.floatingContext) == null ? void 0 : _dataRef$current$floa.nodeId;
const children = tree ? getChildren(tree.nodesRef.current, nodeId) : [];
if (!escapeKeyBubbles) {
event.stopPropagation();
if (children.length > 0) {
let shouldDismiss = true;
children.forEach((child) => {
var _child$context;
if ((_child$context = child.context) != null && _child$context.open && !child.context.dataRef.current.__escapeKeyBubbles) {
shouldDismiss = false;
return;
}
});
if (!shouldDismiss) {
return;
}
}
}
onOpenChange(false, isReactEvent(event) ? event.nativeEvent : event, "escape-key");
});
const closeOnEscapeKeyDownCapture = useEffectEvent((event) => {
var _getTarget2;
const callback = /* @__PURE__ */ __name(() => {
var _getTarget;
closeOnEscapeKeyDown(event);
(_getTarget = getTarget(event)) == null || _getTarget.removeEventListener("keydown", callback);
}, "callback");
(_getTarget2 = getTarget(event)) == null || _getTarget2.addEventListener("keydown", callback);
});
const closeOnPressOutside = useEffectEvent((event) => {
var _dataRef$current$floa2;
const insideReactTree = insideReactTreeRef.current;
insideReactTreeRef.current = false;
const endedOrStartedInside = endedOrStartedInsideRef.current;
endedOrStartedInsideRef.current = false;
if (outsidePressEvent === "click" && endedOrStartedInside) {
return;
}
if (insideReactTree) {
return;
}
if (typeof outsidePress === "function" && !outsidePress(event)) {
return;
}
const target = getTarget(event);
const inertSelector = "[" + createAttribute("inert") + "]";
const markers = getDocument(floating).querySelectorAll(inertSelector);
let targetRootAncestor = isElement(target) ? target : null;
while (targetRootAncestor && !isLastTraversableNode(targetRootAncestor)) {
const nextParent = getParentNode(targetRootAncestor);
if (isLastTraversableNode(nextParent) || !isElement(nextParent)) {
break;
}
targetRootAncestor = nextParent;
}
if (markers.length && isElement(target) && !isRootElement(target) && // Clicked on a direct ancestor (e.g. FloatingOverlay).
!contains(target, floating) && // If the target root element contains none of the markers, then the
// element was injected after the floating element rendered.
Array.from(markers).every((marker) => !contains(targetRootAncestor, marker))) {
return;
}
if (isHTMLElement(target) && floating) {
const canScrollX = target.clientWidth > 0 && target.scrollWidth > target.clientWidth;
const canScrollY = target.clientHeight > 0 && target.scrollHeight > target.clientHeight;
let xCond = canScrollY && event.offsetX > target.clientWidth;
if (canScrollY) {
const isRTL2 = getComputedStyle2(target).direction === "rtl";
if (isRTL2) {
xCond = event.offsetX <= target.offsetWidth - target.clientWidth;
}
}
if (xCond || canScrollX && event.offsetY > target.clientHeight) {
return;
}
}
const nodeId = (_dataRef$current$floa2 = dataRef.current.floatingContext) == null ? void 0 : _dataRef$current$floa2.nodeId;
const targetIsInsideChildren = tree && getChildren(tree.nodesRef.current, nodeId).some((node) => {
var _node$context;
return isEventTargetWithin(event, (_node$context = node.context) == null ? void 0 : _node$context.elements.floating);
});
if (isEventTargetWithin(event, floating) || isEventTargetWithin(event, domReference) || targetIsInsideChildren) {
return;
}
const children = tree ? getChildren(tree.nodesRef.current, nodeId) : [];
if (children.length > 0) {
let shouldDismiss = true;
children.forEach((child) => {
var _child$context2;
if ((_child$context2 = child.context) != null && _child$context2.open && !child.context.dataRef.current.__outsidePressBubbles) {
shouldDismiss = false;
return;
}
});
if (!shouldDismiss) {
return;
}
}
onOpenChange(false, event, "outside-press");
});
const closeOnPressOutsideCapture = useEffectEvent((event) => {
var _getTarget4;
const callback = /* @__PURE__ */ __name(() => {
var _getTarget3;
closeOnPressOutside(event);
(_getTarget3 = getTarget(event)) == null || _getTarget3.removeEventListener(outsidePressEvent, callback);
}, "callback");
(_getTarget4 = getTarget(event)) == null || _getTarget4.addEventListener(outsidePressEvent, callback);
});
React21.useEffect(() => {
if (!open || !enabled) {
return;
}
dataRef.current.__escapeKeyBubbles = escapeKeyBubbles;
dataRef.current.__outsidePressBubbles = outsidePressBubbles;
function onScroll(event) {
onOpenChange(false, event, "ancestor-scroll");
}
__name(onScroll, "onScroll");
const doc = getDocument(floating);
escapeKey && doc.addEventListener("keydown", escapeKeyCapture ? closeOnEscapeKeyDownCapture : closeOnEscapeKeyDown, escapeKeyCapture);
outsidePress && doc.addEventListener(outsidePressEvent, outsidePressCapture ? closeOnPressOutsideCapture : closeOnPressOutside, outsidePressCapture);
let ancestors = [];
if (ancestorScroll) {
if (isElement(domReference)) {
ancestors = getOverflowAncestors(domReference);
}
if (isElement(floating)) {
ancestors = ancestors.concat(getOverflowAncestors(floating));
}
if (!isElement(reference) && reference && reference.contextElement) {
ancestors = ancestors.concat(getOverflowAncestors(reference.contextElement));
}
}
ancestors = ancestors.filter((ancestor) => {
var _doc$defaultView;
return ancestor !== ((_doc$defaultView = doc.defaultView) == null ? void 0 : _doc$defaultView.visualViewport);
});
ancestors.forEach((ancestor) => {
ancestor.addEventListener("scroll", onScroll, {
passive: true
});
});
return () => {
escapeKey && doc.removeEventListener("keydown", escapeKeyCapture ? closeOnEscapeKeyDownCapture : closeOnEscapeKeyDown, escapeKeyCapture);
outsidePress && doc.removeEventListener(outsidePressEvent, outsidePressCapture ? closeOnPressOutsideCapture : closeOnPressOutside, outsidePressCapture);
ancestors.forEach((ancestor) => {
ancestor.removeEventListener("scroll", onScroll);
});
};
}, [dataRef, floating, domReference, reference, escapeKey, outsidePress, outsidePressEvent, open, onOpenChange, ancestorScroll, enabled, escapeKeyBubbles, outsidePressBubbles, closeOnEscapeKeyDown, escapeKeyCapture, closeOnEscapeKeyDownCapture, closeOnPressOutside, outsidePressCapture, closeOnPressOutsideCapture]);
React21.useEffect(() => {
insideReactTreeRef.current = false;
}, [outsidePress, outsidePressEvent]);
return React21.useMemo(() => {
if (!enabled) {
return {};
}
return {
reference: {
onKeyDown: closeOnEscapeKeyDown,
[bubbleHandlerKeys[referencePressEvent]]: (event) => {
if (referencePress) {
onOpenChange(false, event.nativeEvent, "reference-press");
}
}
},
floating: {
onKeyDown: closeOnEscapeKeyDown,
onMouseDown() {
endedOrStartedInsideRef.current = true;
},
onMouseUp() {
endedOrStartedInsideRef.current = true;
},
[captureHandlerKeys[outsidePressEvent]]: () => {
insideReactTreeRef.current = true;
}
}
};
}, [enabled, referencePress, outsidePressEvent, referencePressEvent, onOpenChange, closeOnEscapeKeyDown]);
}
__name(useDismiss, "useDismiss");
function useFloatingRootContext(options) {
const {
open = false,
onOpenChange: onOpenChangeProp,
elements: elementsProp
} = options;
const floatingId = useId5();
const dataRef = React21.useRef({});
const [events] = React21.useState(() => createPubSub());
const nested = useFloatingParentNodeId() != null;
if (process.env.NODE_ENV !== "production") {
const optionDomReference = elementsProp.reference;
if (optionDomReference && !isElement(optionDomReference)) {
error("Cannot pass a virtual element to the `elements.reference` option,", "as it must be a real DOM element. Use `refs.setPositionReference()`", "instead.");
}
}
const [positionReference, setPositionReference] = React21.useState(elementsProp.reference);
const onOpenChange = useEffectEvent((open2, event, reason) => {
dataRef.current.openEvent = open2 ? event : void 0;
events.emit("openchange", {
open: open2,
event,
reason,
nested
});
onOpenChangeProp == null || onOpenChangeProp(open2, event, reason);
});
const refs = React21.useMemo(() => ({
setPositionReference
}), []);
const elements = React21.useMemo(() => ({
reference: positionReference || elementsProp.reference || null,
floating: elementsProp.floating || null,
domReference: elementsProp.reference
}), [positionReference, elementsProp.reference, elementsProp.floating]);
return React21.useMemo(() => ({
dataRef,
open,
onOpenChange,
elements,
events,
floatingId,
refs
}), [open, onOpenChange, elements, events, floatingId, refs]);
}
__name(useFloatingRootContext, "useFloatingRootContext");
function useFloating3(options) {
if (options === void 0) {
options = {};
}
const {
nodeId
} = options;
const internalRootContext = useFloatingRootContext({
...options,
elements: {
reference: null,
floating: null,
...options.elements
}
});
const rootContext = options.rootContext || internalRootContext;
const computedElements = rootContext.elements;
const [_domReference, setDomReference] = React21.useState(null);
const [positionReference, _setPositionReference] = React21.useState(null);
const optionDomReference = computedElements == null ? void 0 : computedElements.reference;
const domReference = optionDomReference || _domReference;
const domReferenceRef = React21.useRef(null);
const tree = useFloatingTree();
index2(() => {
if (domReference) {
domReferenceRef.current = domReference;
}
}, [domReference]);
const position = useFloating({
...options,
elements: {
...computedElements,
...positionReference && {
reference: positionReference
}
}
});
const setPositionReference = React21.useCallback((node) => {
const computedPositionReference = isElement(node) ? {
getBoundingClientRect: () => node.getBoundingClientRect(),
contextElement: node
} : node;
_setPositionReference(computedPositionReference);
position.refs.setReference(computedPositionReference);
}, [position.refs]);
const setReference = React21.useCallback((node) => {
if (isElement(node) || node === null) {
domReferenceRef.current = node;
setDomReference(node);
}
if (isElement(position.refs.reference.current) || position.refs.reference.current === null || // Don't allow setting virtual elements using the old technique back to
// `null` to support `positionReference` + an unstable `reference`
// callback ref.
node !== null && !isElement(node)) {
position.refs.setReference(node);
}
}, [position.refs]);
const refs = React21.useMemo(() => ({
...position.refs,
setReference,
setPositionReference,
domReference: domReferenceRef
}), [position.refs, setReference, setPositionReference]);
const elements = React21.useMemo(() => ({
...position.elements,
domReference
}), [position.elements, domReference]);
const context = React21.useMemo(() => ({
...position,
...rootContext,
refs,
elements,
nodeId
}), [position, refs, elements, nodeId, rootContext]);
index2(() => {
rootContext.dataRef.current.floatingContext = context;
const node = tree == null ? void 0 : tree.nodesRef.current.find((node2) => node2.id === nodeId);
if (node) {
node.context = context;
}
});
return React21.useMemo(() => ({
...position,
context,
refs,
elements
}), [position, refs, elements, context]);
}
__name(useFloating3, "useFloating");
function useFocus(context, props) {
if (props === void 0) {
props = {};
}
const {
open,
onOpenChange,
events,
dataRef,
elements: {
domReference
}
} = context;
const {
enabled = true,
visibleOnly = true
} = props;
const blockFocusRef = React21.useRef(false);
const timeoutRef = React21.useRef();
const keyboardModalityRef = React21.useRef(true);
React21.useEffect(() => {
if (!enabled) {
return;
}
const win = getWindow(domReference);
function onBlur() {
if (!open && isHTMLElement(domReference) && domReference === activeElement(getDocument(domReference))) {
blockFocusRef.current = true;
}
}
__name(onBlur, "onBlur");
function onKeyDown() {
keyboardModalityRef.current = true;
}
__name(onKeyDown, "onKeyDown");
win.addEventListener("blur", onBlur);
win.addEventListener("keydown", onKeyDown, true);
return () => {
win.removeEventListener("blur", onBlur);
win.removeEventListener("keydown", onKeyDown, true);
};
}, [domReference, open, enabled]);
React21.useEffect(() => {
if (!enabled) {
return;
}
function onOpenChange2(_ref) {
let {
reason
} = _ref;
if (reason === "reference-press" || reason === "escape-key") {
blockFocusRef.current = true;
}
}
__name(onOpenChange2, "onOpenChange");
events.on("openchange", onOpenChange2);
return () => {
events.off("openchange", onOpenChange2);
};
}, [events, enabled]);
React21.useEffect(() => {
return () => {
clearTimeout(timeoutRef.current);
};
}, []);
return React21.useMemo(() => {
if (!enabled) {
return {};
}
return {
reference: {
onPointerDown(event) {
if (isVirtualPointerEvent(event.nativeEvent))
return;
keyboardModalityRef.current = false;
},
onMouseLeave() {
blockFocusRef.current = false;
},
onFocus(event) {
if (blockFocusRef.current)
return;
const target = getTarget(event.nativeEvent);
if (visibleOnly && isElement(target)) {
try {
if (isSafari() && isMac())
throw Error();
if (!target.matches(":focus-visible"))
return;
} catch (e) {
if (!keyboardModalityRef.current && !isTypeableElement(target)) {
return;
}
}
}
onOpenChange(true, event.nativeEvent, "focus");
},
onBlur(event) {
blockFocusRef.current = false;
const relatedTarget = event.relatedTarget;
const movedToFocusGuard = isElement(relatedTarget) && relatedTarget.hasAttribute(createAttribute("focus-guard")) && relatedTarget.getAttribute("data-type") === "outside";
timeoutRef.current = window.setTimeout(() => {
var _dataRef$current$floa;
const activeEl = activeElement(domReference ? domReference.ownerDocument : document);
if (!relatedTarget && activeEl === domReference)
return;
if (contains((_dataRef$current$floa = dataRef.current.floatingContext) == null ? void 0 : _dataRef$current$floa.refs.floating.current, activeEl) || contains(domReference, activeEl) || movedToFocusGuard) {
return;
}
onOpenChange(false, event.nativeEvent, "focus");
});
}
}
};
}, [enabled, visibleOnly, dataRef, domReference, onOpenChange]);
}
__name(useFocus, "useFocus");
var ACTIVE_KEY = "active";
var SELECTED_KEY = "selected";
function mergeProps2(userProps, propsList, elementKey) {
const map = /* @__PURE__ */ new Map();
const isItem = elementKey === "item";
let domUserProps = userProps;
if (isItem && userProps) {
const {
[ACTIVE_KEY]: _,
[SELECTED_KEY]: __,
...validProps
} = userProps;
domUserProps = validProps;
}
return {
...elementKey === "floating" && {
tabIndex: -1
},
...domUserProps,
...propsList.map((value) => {
const propsOrGetProps = value ? value[elementKey] : null;
if (typeof propsOrGetProps === "function") {
return userProps ? propsOrGetProps(userProps) : null;
}
return propsOrGetProps;
}).concat(userProps).reduce((acc, props) => {
if (!props) {
return acc;
}
Object.entries(props).forEach((_ref) => {
let [key, value] = _ref;
if (isItem && [ACTIVE_KEY, SELECTED_KEY].includes(key)) {
return;
}
if (key.indexOf("on") === 0) {
if (!map.has(key)) {
map.set(key, []);
}
if (typeof value === "function") {
var _map$get;
(_map$get = map.get(key)) == null || _map$get.push(value);
acc[key] = function() {
var _map$get2;
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return (_map$get2 = map.get(key)) == null ? void 0 : _map$get2.map((fn) => fn(...args)).find((val) => val !== void 0);
};
}
} else {
acc[key] = value;
}
});
return acc;
}, {})
};
}
__name(mergeProps2, "mergeProps");
function useInteractions(propsList) {
if (propsList === void 0) {
propsList = [];
}
const deps = propsList;
const getReferenceProps = React21.useCallback(
(userProps) => mergeProps2(userProps, propsList, "reference"),
// eslint-disable-next-line react-hooks/exhaustive-deps
deps
);
const getFloatingProps = React21.useCallback(
(userProps) => mergeProps2(userProps, propsList, "floating"),
// eslint-disable-next-line react-hooks/exhaustive-deps
deps
);
const getItemProps = React21.useCallback(
(userProps) => mergeProps2(userProps, propsList, "item"),
// Granularly check for `item` changes, because the `getItemProps` getter
// should be as referentially stable as possible since it may be passed as
// a prop to many components. All `item` key values must therefore be
// memoized.
// eslint-disable-next-line react-hooks/exhaustive-deps
propsList.map((key) => key == null ? void 0 : key.item)
);
return React21.useMemo(() => ({
getReferenceProps,
getFloatingProps,
getItemProps
}), [getReferenceProps, getFloatingProps, getItemProps]);
}
__name(useInteractions, "useInteractions");
var isPreventScrollSupported = false;
function doSwitch(orientation, vertical, horizontal) {
switch (orientation) {
case "vertical":
return vertical;
case "horizontal":
return horizontal;
default:
return vertical || horizontal;
}
}
__name(doSwitch, "doSwitch");
function isMainOrientationKey(key, orientation) {
const vertical = key === ARROW_UP || key === ARROW_DOWN;
const horizontal = key === ARROW_LEFT || key === ARROW_RIGHT;
return doSwitch(orientation, vertical, horizontal);
}
__name(isMainOrientationKey, "isMainOrientationKey");
function isMainOrientationToEndKey(key, orientation, rtl) {
const vertical = key === ARROW_DOWN;
const horizontal = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;
return doSwitch(orientation, vertical, horizontal) || key === "Enter" || key === " " || key === "";
}
__name(isMainOrientationToEndKey, "isMainOrientationToEndKey");
function isCrossOrientationOpenKey(key, orientation, rtl) {
const vertical = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;
const horizontal = key === ARROW_DOWN;
return doSwitch(orientation, vertical, horizontal);
}
__name(isCrossOrientationOpenKey, "isCrossOrientationOpenKey");
function isCrossOrientationCloseKey(key, orientation, rtl) {
const vertical = rtl ? key === ARROW_RIGHT : key === ARROW_LEFT;
const horizontal = key === ARROW_UP;
return doSwitch(orientation, vertical, horizontal);
}
__name(isCrossOrientationCloseKey, "isCrossOrientationCloseKey");
function useListNavigation(context, props) {
const {
open,
onOpenChange,
elements: {
domReference,
floating
}
} = context;
const {
listRef,
activeIndex,
onNavigate: unstable_onNavigate = /* @__PURE__ */ __name(() => {
}, "unstable_onNavigate"),
enabled = true,
selectedIndex = null,
allowEscape = false,
loop = false,
nested = false,
rtl = false,
virtual = false,
focusItemOnOpen = "auto",
focusItemOnHover = true,
openOnArrowKeyDown = true,
disabledIndices = void 0,
orientation = "vertical",
cols = 1,
scrollItemIntoView = true,
virtualItemRef,
itemSizes,
dense = false
} = props;
if (process.env.NODE_ENV !== "production") {
if (allowEscape) {
if (!loop) {
warn("`useListNavigation` looping must be enabled to allow escaping.");
}
if (!virtual) {
warn("`useListNavigation` must be virtual to allow escaping.");
}
}
if (orientation === "vertical" && cols > 1) {
warn("In grid list navigation mode (`cols` > 1), the `orientation` should", 'be either "horizontal" or "both".');
}
}
const parentId = useFloatingParentNodeId();
const tree = useFloatingTree();
const onNavigate = useEffectEvent(unstable_onNavigate);
const focusItemOnOpenRef = React21.useRef(focusItemOnOpen);
const indexRef = React21.useRef(selectedIndex != null ? selectedIndex : -1);
const keyRef = React21.useRef(null);
const isPointerModalityRef = React21.useRef(true);
const previousOnNavigateRef = React21.useRef(onNavigate);
const previousMountedRef = React21.useRef(!!floating);
const forceSyncFocus = React21.useRef(false);
const forceScrollIntoViewRef = React21.useRef(false);
const disabledIndicesRef = useLatestRef2(disabledIndices);
const latestOpenRef = useLatestRef2(open);
const scrollItemIntoViewRef = useLatestRef2(scrollItemIntoView);
const floatingRef = useLatestRef2(floating);
const selectedIndexRef = useLatestRef2(selectedIndex);
const [activeId, setActiveId] = React21.useState();
const [virtualId, setVirtualId] = React21.useState();
const focusItem = useEffectEvent(function(listRef2, indexRef2, forceScrollIntoView) {
if (forceScrollIntoView === void 0) {
forceScrollIntoView = false;
}
function runFocus(item2) {
if (virtual) {
setActiveId(item2.id);
tree == null || tree.events.emit("virtualfocus", item2);
if (virtualItemRef) {
virtualItemRef.current = item2;
}
} else {
enqueueFocus(item2, {
preventScroll: true,
// Mac Safari does not move the virtual cursor unless the focus call
// is sync. However, for the very first focus call, we need to wait
// for the position to be ready in order to prevent unwanted
// scrolling. This means the virtual cursor will not move to the first
// item when first opening the floating element, but will on
// subsequent calls. `preventScroll` is supported in modern Safari,
// so we can use that instead.
// iOS Safari must be async or the first item will not be focused.
sync: isMac() && isSafari() ? isPreventScrollSupported || forceSyncFocus.current : false
});
}
}
__name(runFocus, "runFocus");
const initialItem = listRef2.current[indexRef2.current];
if (initialItem) {
runFocus(initialItem);
}
requestAnimationFrame(() => {
const waitedItem = listRef2.current[indexRef2.current] || initialItem;
if (!waitedItem)
return;
if (!initialItem) {
runFocus(waitedItem);
}
const scrollIntoViewOptions = scrollItemIntoViewRef.current;
const shouldScrollIntoView = scrollIntoViewOptions && item && (forceScrollIntoView || !isPointerModalityRef.current);
if (shouldScrollIntoView) {
waitedItem.scrollIntoView == null || waitedItem.scrollIntoView(typeof scrollIntoViewOptions === "boolean" ? {
block: "nearest",
inline: "nearest"
} : scrollIntoViewOptions);
}
});
});
index2(() => {
document.createElement("div").focus({
get preventScroll() {
isPreventScrollSupported = true;
return false;
}
});
}, []);
index2(() => {
if (!enabled) {
return;
}
if (open && floating) {
if (focusItemOnOpenRef.current && selectedIndex != null) {
forceScrollIntoViewRef.current = true;
indexRef.current = selectedIndex;
onNavigate(selectedIndex);
}
} else if (previousMountedRef.current) {
indexRef.current = -1;
previousOnNavigateRef.current(null);
}
}, [enabled, open, floating, selectedIndex, onNavigate]);
index2(() => {
if (!enabled) {
return;
}
if (open && floating) {
if (activeIndex == null) {
forceSyncFocus.current = false;
if (selectedIndexRef.current != null) {
return;
}
if (previousMountedRef.current) {
indexRef.current = -1;
focusItem(listRef, indexRef);
}
if (!previousMountedRef.current && focusItemOnOpenRef.current && (keyRef.current != null || focusItemOnOpenRef.current === true && keyRef.current == null)) {
let runs = 0;
const waitForListPopulated = /* @__PURE__ */ __name(() => {
if (listRef.current[0] == null) {
if (runs < 2) {
const scheduler = runs ? requestAnimationFrame : queueMicrotask;
scheduler(waitForListPopulated);
}
runs++;
} else {
indexRef.current = keyRef.current == null || isMainOrientationToEndKey(keyRef.current, orientation, rtl) || nested ? getMinIndex(listRef, disabledIndicesRef.current) : getMaxIndex(listRef, disabledIndicesRef.current);
keyRef.current = null;
onNavigate(indexRef.current);
}
}, "waitForListPopulated");
waitForListPopulated();
}
} else if (!isIndexOutOfBounds(listRef, activeIndex)) {
indexRef.current = activeIndex;
focusItem(listRef, indexRef, forceScrollIntoViewRef.current);
forceScrollIntoViewRef.current = false;
}
}
}, [enabled, open, floating, activeIndex, selectedIndexRef, nested, listRef, orientation, rtl, onNavigate, focusItem, disabledIndicesRef]);
index2(() => {
var _nodes$find;
if (!enabled || floating || !tree || virtual || !previousMountedRef.current) {
return;
}
const nodes = tree.nodesRef.current;
const parent = (_nodes$find = nodes.find((node) => node.id === parentId)) == null || (_nodes$find = _nodes$find.context) == null ? void 0 : _nodes$find.elements.floating;
const activeEl = activeElement(getDocument(floating));
const treeContainsActiveEl = nodes.some((node) => node.context && contains(node.context.elements.floating, activeEl));
if (parent && !treeContainsActiveEl && isPointerModalityRef.current) {
parent.focus({
preventScroll: true
});
}
}, [enabled, floating, tree, parentId, virtual]);
index2(() => {
if (!enabled || !tree || !virtual || parentId)
return;
function handleVirtualFocus(item2) {
setVirtualId(item2.id);
if (virtualItemRef) {
virtualItemRef.current = item2;
}
}
__name(handleVirtualFocus, "handleVirtualFocus");
tree.events.on("virtualfocus", handleVirtualFocus);
return () => {
tree.events.off("virtualfocus", handleVirtualFocus);
};
}, [enabled, tree, virtual, parentId, virtualItemRef]);
index2(() => {
previousOnNavigateRef.current = onNavigate;
previousMountedRef.current = !!floating;
});
index2(() => {
if (!open) {
keyRef.current = null;
}
}, [open]);
const hasActiveIndex = activeIndex != null;
const item = React21.useMemo(() => {
function syncCurrentTarget(currentTarget) {
if (!open)
return;
const index3 = listRef.current.indexOf(currentTarget);
if (index3 !== -1) {
onNavigate(index3);
}
}
__name(syncCurrentTarget, "syncCurrentTarget");
const props2 = {
onFocus(_ref) {
let {
currentTarget
} = _ref;
syncCurrentTarget(currentTarget);
},
onClick: (_ref2) => {
let {
currentTarget
} = _ref2;
return currentTarget.focus({
preventScroll: true
});
},
// Safari
...focusItemOnHover && {
onMouseMove(_ref3) {
let {
currentTarget
} = _ref3;
syncCurrentTarget(currentTarget);
},
onPointerLeave(_ref4) {
let {
pointerType
} = _ref4;
if (!isPointerModalityRef.current || pointerType === "touch") {
return;
}
indexRef.current = -1;
focusItem(listRef, indexRef);
onNavigate(null);
if (!virtual) {
enqueueFocus(floatingRef.current, {
preventScroll: true
});
}
}
}
};
return props2;
}, [open, floatingRef, focusItem, focusItemOnHover, listRef, onNavigate, virtual]);
return React21.useMemo(() => {
if (!enabled) {
return {};
}
const disabledIndices2 = disabledIndicesRef.current;
function onKeyDown(event) {
isPointerModalityRef.current = false;
forceSyncFocus.current = true;
if (!latestOpenRef.current && event.currentTarget === floatingRef.current) {
return;
}
if (nested && isCrossOrientationCloseKey(event.key, orientation, rtl)) {
stopEvent(event);
onOpenChange(false, event.nativeEvent, "list-navigation");
if (isHTMLElement(domReference) && !virtual) {
domReference.focus();
}
return;
}
const currentIndex = indexRef.current;
const minIndex = getMinIndex(listRef, disabledIndices2);
const maxIndex = getMaxIndex(listRef, disabledIndices2);
if (event.key === "Home") {
stopEvent(event);
indexRef.current = minIndex;
onNavigate(indexRef.current);
}
if (event.key === "End") {
stopEvent(event);
indexRef.current = maxIndex;
onNavigate(indexRef.current);
}
if (cols > 1) {
const sizes = itemSizes || Array.from({
length: listRef.current.length
}, () => ({
width: 1,
height: 1
}));
const cellMap = buildCellMap(sizes, cols, dense);
const minGridIndex = cellMap.findIndex((index3) => index3 != null && !isDisabled(listRef.current, index3, disabledIndices2));
const maxGridIndex = cellMap.reduce((foundIndex, index3, cellIndex) => index3 != null && !isDisabled(listRef.current, index3, disabledIndices2) ? cellIndex : foundIndex, -1);
indexRef.current = cellMap[getGridNavigatedIndex({
current: cellMap.map((itemIndex) => itemIndex != null ? listRef.current[itemIndex] : null)
}, {
event,
orientation,
loop,
cols,
// treat undefined (empty grid spaces) as disabled indices so we
// don't end up in them
disabledIndices: getCellIndices([...disabledIndices2 || listRef.current.map((_, index3) => isDisabled(listRef.current, index3) ? index3 : void 0), void 0], cellMap),
minIndex: minGridIndex,
maxIndex: maxGridIndex,
prevIndex: getCellIndexOfCorner(
indexRef.current > maxIndex ? minIndex : indexRef.current,
sizes,
cellMap,
cols,
// use a corner matching the edge closest to the direction
// we're moving in so we don't end up in the same item. Prefer
// top/left over bottom/right.
event.key === ARROW_DOWN ? "bl" : event.key === ARROW_RIGHT ? "tr" : "tl"
),
stopEvent: true
})];
onNavigate(indexRef.current);
if (orientation === "both") {
return;
}
}
if (isMainOrientationKey(event.key, orientation)) {
stopEvent(event);
if (open && !virtual && activeElement(event.currentTarget.ownerDocument) === event.currentTarget) {
indexRef.current = isMainOrientationToEndKey(event.key, orientation, rtl) ? minIndex : maxIndex;
onNavigate(indexRef.current);
return;
}
if (isMainOrientationToEndKey(event.key, orientation, rtl)) {
if (loop) {
indexRef.current = currentIndex >= maxIndex ? allowEscape && currentIndex !== listRef.current.length ? -1 : minIndex : findNonDisabledIndex(listRef, {
startingIndex: currentIndex,
disabledIndices: disabledIndices2
});
} else {
indexRef.current = Math.min(maxIndex, findNonDisabledIndex(listRef, {
startingIndex: currentIndex,
disabledIndices: disabledIndices2
}));
}
} else {
if (loop) {
indexRef.current = currentIndex <= minIndex ? allowEscape && currentIndex !== -1 ? listRef.current.length : maxIndex : findNonDisabledIndex(listRef, {
startingIndex: currentIndex,
decrement: true,
disabledIndices: disabledIndices2
});
} else {
indexRef.current = Math.max(minIndex, findNonDisabledIndex(listRef, {
startingIndex: currentIndex,
decrement: true,
disabledIndices: disabledIndices2
}));
}
}
if (isIndexOutOfBounds(listRef, indexRef.current)) {
onNavigate(null);
} else {
onNavigate(indexRef.current);
}
}
}
__name(onKeyDown, "onKeyDown");
function checkVirtualMouse(event) {
if (focusItemOnOpen === "auto" && isVirtualClick(event.nativeEvent)) {
focusItemOnOpenRef.current = true;
}
}
__name(checkVirtualMouse, "checkVirtualMouse");
function checkVirtualPointer(event) {
focusItemOnOpenRef.current = focusItemOnOpen;
if (focusItemOnOpen === "auto" && isVirtualPointerEvent(event.nativeEvent)) {
focusItemOnOpenRef.current = true;
}
}
__name(checkVirtualPointer, "checkVirtualPointer");
const ariaActiveDescendantProp = virtual && open && hasActiveIndex && {
"aria-activedescendant": virtualId || activeId
};
const activeItem = listRef.current.find((item2) => (item2 == null ? void 0 : item2.id) === activeId);
return {
reference: {
...ariaActiveDescendantProp,
onKeyDown(event) {
isPointerModalityRef.current = false;
const isArrowKey = event.key.indexOf("Arrow") === 0;
const isCrossOpenKey = isCrossOrientationOpenKey(event.key, orientation, rtl);
const isCrossCloseKey = isCrossOrientationCloseKey(event.key, orientation, rtl);
const isMainKey = isMainOrientationKey(event.key, orientation);
const isNavigationKey = (nested ? isCrossOpenKey : isMainKey) || event.key === "Enter" || event.key.trim() === "";
if (virtual && open) {
const rootNode = tree == null ? void 0 : tree.nodesRef.current.find((node) => node.parentId == null);
const deepestNode = tree && rootNode ? getDeepestNode(tree.nodesRef.current, rootNode.id) : null;
if (isArrowKey && deepestNode && virtualItemRef) {
const eventObject = new KeyboardEvent("keydown", {
key: event.key,
bubbles: true
});
if (isCrossOpenKey || isCrossCloseKey) {
var _deepestNode$context, _deepestNode$context2;
const isCurrentTarget = ((_deepestNode$context = deepestNode.context) == null ? void 0 : _deepestNode$context.elements.domReference) === event.currentTarget;
const dispatchItem = isCrossCloseKey && !isCurrentTarget ? (_deepestNode$context2 = deepestNode.context) == null ? void 0 : _deepestNode$context2.elements.domReference : isCrossOpenKey ? activeItem : null;
if (dispatchItem) {
stopEvent(event);
dispatchItem.dispatchEvent(eventObject);
setVirtualId(void 0);
}
}
if (isMainKey && deepestNode.context) {
if (deepestNode.context.open && deepestNode.parentId && event.currentTarget !== deepestNode.context.elements.domReference) {
var _deepestNode$context$;
stopEvent(event);
(_deepestNode$context$ = deepestNode.context.elements.domReference) == null || _deepestNode$context$.dispatchEvent(eventObject);
return;
}
}
}
return onKeyDown(event);
}
if (!open && !openOnArrowKeyDown && isArrowKey) {
return;
}
if (isNavigationKey) {
keyRef.current = nested && isMainKey ? null : event.key;
}
if (nested) {
if (isCrossOpenKey) {
stopEvent(event);
if (open) {
indexRef.current = getMinIndex(listRef, disabledIndices2);
onNavigate(indexRef.current);
} else {
onOpenChange(true, event.nativeEvent, "list-navigation");
}
}
return;
}
if (isMainKey) {
if (selectedIndex != null) {
indexRef.current = selectedIndex;
}
stopEvent(event);
if (!open && openOnArrowKeyDown) {
onOpenChange(true, event.nativeEvent, "list-navigation");
} else {
onKeyDown(event);
}
if (open) {
onNavigate(indexRef.current);
}
}
},
onFocus() {
if (open && !virtual) {
onNavigate(null);
}
},
onPointerDown: checkVirtualPointer,
onMouseDown: checkVirtualMouse,
onClick: checkVirtualMouse
},
floating: {
"aria-orientation": orientation === "both" ? void 0 : orientation,
...!isTypeableCombobox(domReference) && ariaActiveDescendantProp,
onKeyDown,
onPointerMove() {
isPointerModalityRef.current = true;
}
},
item
};
}, [domReference, floatingRef, activeId, virtualId, disabledIndicesRef, latestOpenRef, listRef, enabled, orientation, rtl, virtual, open, hasActiveIndex, nested, selectedIndex, openOnArrowKeyDown, allowEscape, cols, loop, focusItemOnOpen, onNavigate, onOpenChange, item, tree, virtualItemRef, itemSizes, dense]);
}
__name(useListNavigation, "useListNavigation");
var componentRoleToAriaRoleMap = /* @__PURE__ */ new Map([["select", "listbox"], ["combobox", "listbox"], ["label", false]]);
function useRole(context, props) {
var _componentRoleToAriaR;
if (props === void 0) {
props = {};
}
const {
open,
floatingId
} = context;
const {
enabled = true,
role = "dialog"
} = props;
const ariaRole = (_componentRoleToAriaR = componentRoleToAriaRoleMap.get(role)) != null ? _componentRoleToAriaR : role;
const referenceId = useId5();
const parentId = useFloatingParentNodeId();
const isNested = parentId != null;
return React21.useMemo(() => {
if (!enabled)
return {};
const floatingProps = {
id: floatingId,
...ariaRole && {
role: ariaRole
}
};
if (ariaRole === "tooltip" || role === "label") {
return {
reference: {
["aria-" + (role === "label" ? "labelledby" : "describedby")]: open ? floatingId : void 0
},
floating: floatingProps
};
}
return {
reference: {
"aria-expanded": open ? "true" : "false",
"aria-haspopup": ariaRole === "alertdialog" ? "dialog" : ariaRole,
"aria-controls": open ? floatingId : void 0,
...ariaRole === "listbox" && {
role: "combobox"
},
...ariaRole === "menu" && {
id: referenceId
},
...ariaRole === "menu" && isNested && {
role: "menuitem"
},
...role === "select" && {
"aria-autocomplete": "none"
},
...role === "combobox" && {
"aria-autocomplete": "list"
}
},
floating: {
...floatingProps,
...ariaRole === "menu" && {
"aria-labelledby": referenceId
}
},
item(_ref) {
let {
active,
selected
} = _ref;
const commonProps = {
role: "option",
...active && {
id: floatingId + "-option"
}
};
switch (role) {
case "select":
return {
...commonProps,
"aria-selected": active && selected
};
case "combobox": {
return {
...commonProps,
...active && {
"aria-selected": true
}
};
}
}
return {};
}
};
}, [enabled, role, ariaRole, open, floatingId, referenceId, isNested]);
}
__name(useRole, "useRole");
function useTypeahead(context, props) {
var _ref;
const {
open,
dataRef
} = context;
const {
listRef,
activeIndex,
onMatch: unstable_onMatch,
onTypingChange: unstable_onTypingChange,
enabled = true,
findMatch = null,
resetMs = 750,
ignoreKeys = [],
selectedIndex = null
} = props;
const timeoutIdRef = React21.useRef();
const stringRef = React21.useRef("");
const prevIndexRef = React21.useRef((_ref = selectedIndex != null ? selectedIndex : activeIndex) != null ? _ref : -1);
const matchIndexRef = React21.useRef(null);
const onMatch = useEffectEvent(unstable_onMatch);
const onTypingChange = useEffectEvent(unstable_onTypingChange);
const findMatchRef = useLatestRef2(findMatch);
const ignoreKeysRef = useLatestRef2(ignoreKeys);
index2(() => {
if (open) {
clearTimeout(timeoutIdRef.current);
matchIndexRef.current = null;
stringRef.current = "";
}
}, [open]);
index2(() => {
if (open && stringRef.current === "") {
var _ref2;
prevIndexRef.current = (_ref2 = selectedIndex != null ? selectedIndex : activeIndex) != null ? _ref2 : -1;
}
}, [open, selectedIndex, activeIndex]);
return React21.useMemo(() => {
if (!enabled) {
return {};
}
function setTypingChange(value) {
if (value) {
if (!dataRef.current.typing) {
dataRef.current.typing = value;
onTypingChange(value);
}
} else {
if (dataRef.current.typing) {
dataRef.current.typing = value;
onTypingChange(value);
}
}
}
__name(setTypingChange, "setTypingChange");
function getMatchingIndex(list, orderedList, string) {
const str = findMatchRef.current ? findMatchRef.current(orderedList, string) : orderedList.find((text) => (text == null ? void 0 : text.toLocaleLowerCase().indexOf(string.toLocaleLowerCase())) === 0);
return str ? list.indexOf(str) : -1;
}
__name(getMatchingIndex, "getMatchingIndex");
function onKeyDown(event) {
const listContent = listRef.current;
if (stringRef.current.length > 0 && stringRef.current[0] !== " ") {
if (getMatchingIndex(listContent, listContent, stringRef.current) === -1) {
setTypingChange(false);
} else if (event.key === " ") {
stopEvent(event);
}
}
if (listContent == null || ignoreKeysRef.current.includes(event.key) || // Character key.
event.key.length !== 1 || // Modifier key.
event.ctrlKey || event.metaKey || event.altKey) {
return;
}
if (open && event.key !== " ") {
stopEvent(event);
setTypingChange(true);
}
const allowRapidSuccessionOfFirstLetter = listContent.every((text) => {
var _text$, _text$2;
return text ? ((_text$ = text[0]) == null ? void 0 : _text$.toLocaleLowerCase()) !== ((_text$2 = text[1]) == null ? void 0 : _text$2.toLocaleLowerCase()) : true;
});
if (allowRapidSuccessionOfFirstLetter && stringRef.current === event.key) {
stringRef.current = "";
prevIndexRef.current = matchIndexRef.current;
}
stringRef.current += event.key;
clearTimeout(timeoutIdRef.current);
timeoutIdRef.current = setTimeout(() => {
stringRef.current = "";
prevIndexRef.current = matchIndexRef.current;
setTypingChange(false);
}, resetMs);
const prevIndex = prevIndexRef.current;
const index3 = getMatchingIndex(listContent, [...listContent.slice((prevIndex || 0) + 1), ...listContent.slice(0, (prevIndex || 0) + 1)], stringRef.current);
if (index3 !== -1) {
onMatch(index3);
matchIndexRef.current = index3;
} else if (event.key !== " ") {
stringRef.current = "";
setTypingChange(false);
}
}
__name(onKeyDown, "onKeyDown");
return {
reference: {
onKeyDown
},
floating: {
onKeyDown,
onKeyUp(event) {
if (event.key === " ") {
setTypingChange(false);
}
}
}
};
}, [enabled, open, dataRef, listRef, resetMs, ignoreKeysRef, findMatchRef, onMatch, onTypingChange]);
}
__name(useTypeahead, "useTypeahead");
function getArgsWithCustomFloatingHeight(state, height) {
return {
...state,
rects: {
...state.rects,
floating: {
...state.rects.floating,
height
}
}
};
}
__name(getArgsWithCustomFloatingHeight, "getArgsWithCustomFloatingHeight");
var inner = /* @__PURE__ */ __name((props) => ({
name: "inner",
options: props,
async fn(state) {
const {
listRef,
overflowRef,
onFallbackChange,
offset: innerOffset = 0,
index: index3 = 0,
minItemsVisible = 4,
referenceOverflowThreshold = 0,
scrollRef,
...detectOverflowOptions
} = props;
const {
rects,
elements: {
floating
}
} = state;
const item = listRef.current[index3];
if (process.env.NODE_ENV !== "production") {
if (!state.placement.startsWith("bottom")) {
warn('`placement` side must be "bottom" when using the `inner`', "middleware.");
}
}
if (!item) {
return {};
}
const nextArgs = {
...state,
...await offset3(-item.offsetTop - floating.clientTop - rects.reference.height / 2 - item.offsetHeight / 2 - innerOffset).fn(state)
};
const el = (scrollRef == null ? void 0 : scrollRef.current) || floating;
const overflow = await detectOverflow2(getArgsWithCustomFloatingHeight(nextArgs, el.scrollHeight), detectOverflowOptions);
const refOverflow = await detectOverflow2(nextArgs, {
...detectOverflowOptions,
elementContext: "reference"
});
const diffY = Math.max(0, overflow.top);
const nextY = nextArgs.y + diffY;
const maxHeight = Math.max(0, el.scrollHeight - diffY - Math.max(0, overflow.bottom));
el.style.maxHeight = maxHeight + "px";
el.scrollTop = diffY;
if (onFallbackChange) {
if (el.offsetHeight < item.offsetHeight * Math.min(minItemsVisible, listRef.current.length - 1) - 1 || refOverflow.top >= -referenceOverflowThreshold || refOverflow.bottom >= -referenceOverflowThreshold) {
(0, import_react_dom4.flushSync)(() => onFallbackChange(true));
} else {
(0, import_react_dom4.flushSync)(() => onFallbackChange(false));
}
}
if (overflowRef) {
overflowRef.current = await detectOverflow2(getArgsWithCustomFloatingHeight({
...nextArgs,
y: nextY
}, el.offsetHeight), detectOverflowOptions);
}
return {
y: nextY
};
}
}), "inner");
function useInnerOffset(context, props) {
const {
open,
elements
} = context;
const {
enabled = true,
overflowRef,
scrollRef,
onChange: unstable_onChange
} = props;
const onChange = useEffectEvent(unstable_onChange);
const controlledScrollingRef = React21.useRef(false);
const prevScrollTopRef = React21.useRef(null);
const initialOverflowRef = React21.useRef(null);
React21.useEffect(() => {
if (!enabled) {
return;
}
function onWheel(e) {
if (e.ctrlKey || !el || overflowRef.current == null) {
return;
}
const dY = e.deltaY;
const isAtTop = overflowRef.current.top >= -0.5;
const isAtBottom = overflowRef.current.bottom >= -0.5;
const remainingScroll = el.scrollHeight - el.clientHeight;
const sign = dY < 0 ? -1 : 1;
const method = dY < 0 ? "max" : "min";
if (el.scrollHeight <= el.clientHeight) {
return;
}
if (!isAtTop && dY > 0 || !isAtBottom && dY < 0) {
e.preventDefault();
(0, import_react_dom4.flushSync)(() => {
onChange((d) => d + Math[method](dY, remainingScroll * sign));
});
} else if (/firefox/i.test(getUserAgent())) {
el.scrollTop += dY;
}
}
__name(onWheel, "onWheel");
const el = (scrollRef == null ? void 0 : scrollRef.current) || elements.floating;
if (open && el) {
el.addEventListener("wheel", onWheel);
requestAnimationFrame(() => {
prevScrollTopRef.current = el.scrollTop;
if (overflowRef.current != null) {
initialOverflowRef.current = {
...overflowRef.current
};
}
});
return () => {
prevScrollTopRef.current = null;
initialOverflowRef.current = null;
el.removeEventListener("wheel", onWheel);
};
}
}, [enabled, open, elements.floating, overflowRef, scrollRef, onChange]);
return React21.useMemo(() => {
if (!enabled) {
return {};
}
return {
floating: {
onKeyDown() {
controlledScrollingRef.current = true;
},
onWheel() {
controlledScrollingRef.current = false;
},
onPointerMove() {
controlledScrollingRef.current = false;
},
onScroll() {
const el = (scrollRef == null ? void 0 : scrollRef.current) || elements.floating;
if (!overflowRef.current || !el || !controlledScrollingRef.current) {
return;
}
if (prevScrollTopRef.current !== null) {
const scrollDiff = el.scrollTop - prevScrollTopRef.current;
if (overflowRef.current.bottom < -0.5 && scrollDiff < -1 || overflowRef.current.top < -0.5 && scrollDiff > 1) {
(0, import_react_dom4.flushSync)(() => onChange((d) => d + scrollDiff));
}
}
requestAnimationFrame(() => {
prevScrollTopRef.current = el.scrollTop;
});
}
}
};
}, [enabled, overflowRef, elements.floating, scrollRef, onChange]);
}
__name(useInnerOffset, "useInnerOffset");
function isPointInPolygon(point, polygon) {
const [x, y] = point;
let isInside2 = false;
const length = polygon.length;
for (let i = 0, j = length - 1; i < length; j = i++) {
const [xi, yi] = polygon[i] || [0, 0];
const [xj, yj] = polygon[j] || [0, 0];
const intersect = yi >= y !== yj >= y && x <= (xj - xi) * (y - yi) / (yj - yi) + xi;
if (intersect) {
isInside2 = !isInside2;
}
}
return isInside2;
}
__name(isPointInPolygon, "isPointInPolygon");
function isInside(point, rect) {
return point[0] >= rect.x && point[0] <= rect.x + rect.width && point[1] >= rect.y && point[1] <= rect.y + rect.height;
}
__name(isInside, "isInside");
function safePolygon(options) {
if (options === void 0) {
options = {};
}
const {
buffer = 0.5,
blockPointerEvents = false,
requireIntent = true
} = options;
let timeoutId2;
let hasLanded = false;
let lastX = null;
let lastY = null;
let lastCursorTime = performance.now();
function getCursorSpeed(x, y) {
const currentTime = performance.now();
const elapsedTime = currentTime - lastCursorTime;
if (lastX === null || lastY === null || elapsedTime === 0) {
lastX = x;
lastY = y;
lastCursorTime = currentTime;
return null;
}
const deltaX = x - lastX;
const deltaY = y - lastY;
const distance = Math.sqrt(deltaX * deltaX + deltaY * deltaY);
const speed = distance / elapsedTime;
lastX = x;
lastY = y;
lastCursorTime = currentTime;
return speed;
}
__name(getCursorSpeed, "getCursorSpeed");
const fn = /* @__PURE__ */ __name((_ref) => {
let {
x,
y,
placement,
elements,
onClose,
nodeId,
tree
} = _ref;
return /* @__PURE__ */ __name(function onMouseMove(event) {
function close() {
clearTimeout(timeoutId2);
onClose();
}
__name(close, "close");
clearTimeout(timeoutId2);
if (!elements.domReference || !elements.floating || placement == null || x == null || y == null) {
return;
}
const {
clientX,
clientY
} = event;
const clientPoint = [clientX, clientY];
const target = getTarget(event);
const isLeave = event.type === "mouseleave";
const isOverFloatingEl = contains(elements.floating, target);
const isOverReferenceEl = contains(elements.domReference, target);
const refRect = elements.domReference.getBoundingClientRect();
const rect = elements.floating.getBoundingClientRect();
const side = placement.split("-")[0];
const cursorLeaveFromRight = x > rect.right - rect.width / 2;
const cursorLeaveFromBottom = y > rect.bottom - rect.height / 2;
const isOverReferenceRect = isInside(clientPoint, refRect);
const isFloatingWider = rect.width > refRect.width;
const isFloatingTaller = rect.height > refRect.height;
const left = (isFloatingWider ? refRect : rect).left;
const right = (isFloatingWider ? refRect : rect).right;
const top = (isFloatingTaller ? refRect : rect).top;
const bottom = (isFloatingTaller ? refRect : rect).bottom;
if (isOverFloatingEl) {
hasLanded = true;
if (!isLeave) {
return;
}
}
if (isOverReferenceEl) {
hasLanded = false;
}
if (isOverReferenceEl && !isLeave) {
hasLanded = true;
return;
}
if (isLeave && isElement(event.relatedTarget) && contains(elements.floating, event.relatedTarget)) {
return;
}
if (tree && getChildren(tree.nodesRef.current, nodeId).some((_ref2) => {
let {
context
} = _ref2;
return context == null ? void 0 : context.open;
})) {
return;
}
if (side === "top" && y >= refRect.bottom - 1 || side === "bottom" && y <= refRect.top + 1 || side === "left" && x >= refRect.right - 1 || side === "right" && x <= refRect.left + 1) {
return close();
}
let rectPoly = [];
switch (side) {
case "top":
rectPoly = [[left, refRect.top + 1], [left, rect.bottom - 1], [right, rect.bottom - 1], [right, refRect.top + 1]];
break;
case "bottom":
rectPoly = [[left, rect.top + 1], [left, refRect.bottom - 1], [right, refRect.bottom - 1], [right, rect.top + 1]];
break;
case "left":
rectPoly = [[rect.right - 1, bottom], [rect.right - 1, top], [refRect.left + 1, top], [refRect.left + 1, bottom]];
break;
case "right":
rectPoly = [[refRect.right - 1, bottom], [refRect.right - 1, top], [rect.left + 1, top], [rect.left + 1, bottom]];
break;
}
function getPolygon(_ref3) {
let [x2, y2] = _ref3;
switch (side) {
case "top": {
const cursorPointOne = [isFloatingWider ? x2 + buffer / 2 : cursorLeaveFromRight ? x2 + buffer * 4 : x2 - buffer * 4, y2 + buffer + 1];
const cursorPointTwo = [isFloatingWider ? x2 - buffer / 2 : cursorLeaveFromRight ? x2 + buffer * 4 : x2 - buffer * 4, y2 + buffer + 1];
const commonPoints = [[rect.left, cursorLeaveFromRight ? rect.bottom - buffer : isFloatingWider ? rect.bottom - buffer : rect.top], [rect.right, cursorLeaveFromRight ? isFloatingWider ? rect.bottom - buffer : rect.top : rect.bottom - buffer]];
return [cursorPointOne, cursorPointTwo, ...commonPoints];
}
case "bottom": {
const cursorPointOne = [isFloatingWider ? x2 + buffer / 2 : cursorLeaveFromRight ? x2 + buffer * 4 : x2 - buffer * 4, y2 - buffer];
const cursorPointTwo = [isFloatingWider ? x2 - buffer / 2 : cursorLeaveFromRight ? x2 + buffer * 4 : x2 - buffer * 4, y2 - buffer];
const commonPoints = [[rect.left, cursorLeaveFromRight ? rect.top + buffer : isFloatingWider ? rect.top + buffer : rect.bottom], [rect.right, cursorLeaveFromRight ? isFloatingWider ? rect.top + buffer : rect.bottom : rect.top + buffer]];
return [cursorPointOne, cursorPointTwo, ...commonPoints];
}
case "left": {
const cursorPointOne = [x2 + buffer + 1, isFloatingTaller ? y2 + buffer / 2 : cursorLeaveFromBottom ? y2 + buffer * 4 : y2 - buffer * 4];
const cursorPointTwo = [x2 + buffer + 1, isFloatingTaller ? y2 - buffer / 2 : cursorLeaveFromBottom ? y2 + buffer * 4 : y2 - buffer * 4];
const commonPoints = [[cursorLeaveFromBottom ? rect.right - buffer : isFloatingTaller ? rect.right - buffer : rect.left, rect.top], [cursorLeaveFromBottom ? isFloatingTaller ? rect.right - buffer : rect.left : rect.right - buffer, rect.bottom]];
return [...commonPoints, cursorPointOne, cursorPointTwo];
}
case "right": {
const cursorPointOne = [x2 - buffer, isFloatingTaller ? y2 + buffer / 2 : cursorLeaveFromBottom ? y2 + buffer * 4 : y2 - buffer * 4];
const cursorPointTwo = [x2 - buffer, isFloatingTaller ? y2 - buffer / 2 : cursorLeaveFromBottom ? y2 + buffer * 4 : y2 - buffer * 4];
const commonPoints = [[cursorLeaveFromBottom ? rect.left + buffer : isFloatingTaller ? rect.left + buffer : rect.right, rect.top], [cursorLeaveFromBottom ? isFloatingTaller ? rect.left + buffer : rect.right : rect.left + buffer, rect.bottom]];
return [cursorPointOne, cursorPointTwo, ...commonPoints];
}
}
}
__name(getPolygon, "getPolygon");
if (isPointInPolygon([clientX, clientY], rectPoly)) {
return;
}
if (hasLanded && !isOverReferenceRect) {
return close();
}
if (!isLeave && requireIntent) {
const cursorSpeed = getCursorSpeed(event.clientX, event.clientY);
const cursorSpeedThreshold = 0.1;
if (cursorSpeed !== null && cursorSpeed < cursorSpeedThreshold) {
return close();
}
}
if (!isPointInPolygon([clientX, clientY], getPolygon([x, y]))) {
close();
} else if (!hasLanded && requireIntent) {
timeoutId2 = window.setTimeout(close, 40);
}
}, "onMouseMove");
}, "fn");
fn.__options = {
blockPointerEvents
};
return fn;
}
__name(safePolygon, "safePolygon");
// node_modules/@tamagui/popover/dist/esm/useFloatingContext.mjs
var import_react41 = require("react");
var useFloatingContext = /* @__PURE__ */ __name(({
open,
setOpen,
disable,
disableFocus,
hoverable
}) => (0, import_react41.useCallback)((props) => {
const floating = useFloating3({
...props,
open,
onOpenChange: (val, event) => {
const type = (event == null ? void 0 : event.type) === "mousemove" || (event == null ? void 0 : event.type) === "mouseenter" || (event == null ? void 0 : event.type) === "mouseleave" ? "hover" : "press";
setOpen(val, type);
}
}), {
getReferenceProps,
getFloatingProps
} = useInteractions([hoverable ? useHover(floating.context, {
enabled: !disable && hoverable,
handleClose: safePolygon({
requireIntent: true,
blockPointerEvents: true,
buffer: 1
}),
...hoverable && typeof hoverable == "object" && hoverable
}) : useHover(floating.context, {
enabled: false
}), useFocus(floating.context, {
enabled: !disable && !disableFocus,
visibleOnly: true
}), useRole(floating.context, {
role: "dialog"
}), useDismiss(floating.context, {
enabled: !disable
})]);
return {
...floating,
open,
getReferenceProps,
getFloatingProps
};
}, [open, setOpen, disable, disableFocus, hoverable]), "useFloatingContext");
// node_modules/@tamagui/popover/dist/esm/Popover.mjs
var import_jsx_runtime32 = require("react/jsx-runtime");
var POPOVER_SCOPE = "PopoverScope";
var PopoverContext = (0, import_core29.createStyledContext)({});
var usePopoverContext = PopoverContext.useStyledContext;
var PopoverAnchor = React22.forwardRef(function(props, forwardedRef) {
const {
__scopePopover,
...rest
} = props, context = usePopoverContext(__scopePopover), {
onCustomAnchorAdd,
onCustomAnchorRemove
} = context || {};
return React22.useEffect(() => (onCustomAnchorAdd(), () => onCustomAnchorRemove()), [onCustomAnchorAdd, onCustomAnchorRemove]), /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(PopperAnchor, {
__scopePopper: __scopePopover || POPOVER_SCOPE,
...rest,
ref: forwardedRef
});
});
var PopoverTrigger = React22.forwardRef(function(props, forwardedRef) {
const {
__scopePopover,
...rest
} = props, context = usePopoverContext(__scopePopover), anchorTo = context.anchorTo, composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);
if (anchorTo) {
let virtualRef = {
current: {
getBoundingClientRect: () => isWeb ? DOMRect.fromRect(anchorTo) : anchorTo,
...!isWeb && {
measure: (c) => c(anchorTo == null ? void 0 : anchorTo.x, anchorTo == null ? void 0 : anchorTo.y, anchorTo == null ? void 0 : anchorTo.width, anchorTo == null ? void 0 : anchorTo.height),
measureInWindow: (c) => c(anchorTo == null ? void 0 : anchorTo.x, anchorTo == null ? void 0 : anchorTo.y, anchorTo == null ? void 0 : anchorTo.width, anchorTo == null ? void 0 : anchorTo.height)
}
}
};
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(PopperAnchor, {
virtualRef,
__scopePopper: __scopePopover || POPOVER_SCOPE
});
}
if (!props.children)
return null;
const trigger = /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_core29.View, {
"aria-haspopup": "dialog",
"aria-expanded": context.open,
"data-state": getState3(context.open),
...rest,
ref: composedTriggerRef,
onPress: composeEventHandlers(props.onPress, context.onOpenToggle)
});
return context.hasCustomAnchor ? trigger : /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(PopperAnchor, {
__scopePopper: __scopePopover || POPOVER_SCOPE,
asChild: true,
children: trigger
});
});
var PopoverContent = PopperContentFrame.extractable(React22.forwardRef(function(props, forwardedRef) {
const {
allowPinchZoom,
trapFocus,
disableRemoveScroll = true,
zIndex: zIndex2,
__scopePopover,
...contentImplProps
} = props, context = usePopoverContext(__scopePopover), contentRef = React22.useRef(null), composedRefs = useComposedRefs(forwardedRef, contentRef), isRightClickOutsideRef = React22.useRef(false), [isFullyHidden, setIsFullyHidden] = React22.useState(!context.open);
return context.open && isFullyHidden && setIsFullyHidden(false), React22.useEffect(() => {
if (!context.open)
return;
const content = contentRef.current;
if (content)
return (0, import_aria_hidden.hideOthers)(content);
}, [context.open]), !context.keepChildrenMounted && isFullyHidden ? null : /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(PopoverContentPortal, {
__scopePopover,
zIndex: props.zIndex,
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_core29.Stack, {
pointerEvents: context.open ? "auto" : "none",
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(PopoverContentImpl, {
...contentImplProps,
disableRemoveScroll,
ref: composedRefs,
setIsFullyHidden,
__scopePopover,
trapFocus: trapFocus ?? context.open,
disableOutsidePointerEvents: true,
onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {
var _a;
event.preventDefault(), isRightClickOutsideRef.current || ((_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, isRightClick = originalEvent.button === 2 || ctrlLeftClick;
isRightClickOutsideRef.current = isRightClick;
}, {
checkDefaultPrevented: false
}),
onFocusOutside: composeEventHandlers(props.onFocusOutside, (event) => event.preventDefault(), {
checkDefaultPrevented: false
})
})
})
});
}));
function PopoverRepropagateContext(props) {
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(PopperContext.Provider, {
scope: props.scope,
...props.popperContext,
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(PopoverContext.Provider, {
...props.context,
children: props.children
})
});
}
__name(PopoverRepropagateContext, "PopoverRepropagateContext");
function PopoverContentPortal(props) {
const {
__scopePopover
} = props, zIndex2 = props.zIndex ?? 15e4, context = usePopoverContext(__scopePopover), popperContext = usePopperContext(__scopePopover || POPOVER_SCOPE), themeName = (0, import_core29.useThemeName)();
let contents = props.children;
return (import_react_native_web9.Platform.OS === "android" || import_react_native_web9.Platform.OS === "ios") && (contents = /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(PopoverRepropagateContext, {
scope: __scopePopover || POPOVER_SCOPE,
popperContext,
context,
children: props.children
})), /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Portal, {
zIndex: zIndex2,
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_core29.Theme, {
forceClassName: true,
name: themeName,
children: [!!context.open && !context.breakpointActive && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(YStack, {
fullscreen: true,
onPress: composeEventHandlers(props.onPress, context.onOpenToggle)
}), contents]
})
});
}
__name(PopoverContentPortal, "PopoverContentPortal");
var PopoverContentImpl = React22.forwardRef(function(props, forwardedRef) {
const {
trapFocus,
__scopePopover,
onOpenAutoFocus,
onCloseAutoFocus,
disableOutsidePointerEvents,
disableFocusScope,
onEscapeKeyDown,
onPointerDownOutside,
onFocusOutside,
onInteractOutside,
children,
disableRemoveScroll,
freezeContentsWhenHidden,
setIsFullyHidden,
...contentProps
} = props, context = usePopoverContext(__scopePopover), {
open,
keepChildrenMounted
} = context, popperContext = usePopperContext(__scopePopover || POPOVER_SCOPE), handleExitComplete = React22.useCallback(() => {
setIsFullyHidden == null ? void 0 : setIsFullyHidden(true);
}, [setIsFullyHidden]);
if (context.breakpointActive) {
const childrenWithoutScrollView = React22.Children.toArray(children).map((child) => React22.isValidElement(child) && child.type === import_react_native_web9.ScrollView ? child.props.children : child);
let content = /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ResetPresence, {
children: childrenWithoutScrollView
});
return (import_react_native_web9.Platform.OS === "android" || import_react_native_web9.Platform.OS === "ios") && (content = /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(PopperContext.Provider, {
scope: __scopePopover || POPOVER_SCOPE,
...popperContext,
children: childrenWithoutScrollView
})), /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(PortalItem, {
hostName: `${context.id}PopoverContents`,
children: content
});
}
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Animate, {
type: "presence",
present: !!open,
keepChildrenMounted,
onExitComplete: handleExitComplete,
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(PopperContent, {
__scopePopper: __scopePopover || POPOVER_SCOPE,
"data-state": getState3(open),
id: context.contentId,
ref: forwardedRef,
...contentProps,
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(RemoveScroll, {
enabled: disableRemoveScroll ? false : open,
allowPinchZoom: true,
removeScrollBar: false,
style: dspContentsStyle,
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ResetPresence, {
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(FocusScope, {
loop: true,
enabled: disableFocusScope ? false : open,
trapped: trapFocus,
onMountAutoFocus: onOpenAutoFocus,
onUnmountAutoFocus: onCloseAutoFocus,
children: isWeb ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", {
style: dspContentsStyle,
children
}) : children
})
})
})
}, context.contentId)
});
});
var dspContentsStyle = {
display: "contents"
};
var PopoverClose = React22.forwardRef(function(props, forwardedRef) {
const {
__scopePopover,
...rest
} = props, context = usePopoverContext(__scopePopover);
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(YStack, {
...rest,
ref: forwardedRef,
componentName: "PopoverClose",
onPress: composeEventHandlers(props.onPress, () => context.onOpenChange(false, "press"))
});
});
var PopoverArrow = PopperArrow.styleable(function(props, forwardedRef) {
const {
__scopePopover,
...rest
} = props, context = usePopoverContext(__scopePopover);
return useSheetBreakpointActive2(context.sheetBreakpoint) ? null : /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(PopperArrow, {
__scopePopper: __scopePopover || POPOVER_SCOPE,
componentName: "PopoverArrow",
...rest,
ref: forwardedRef
});
});
var Popover = withStaticProperties(React22.forwardRef((props, forwardedRef) => {
const {
children,
open: openProp,
defaultOpen,
onOpenChange,
__scopePopover,
keepChildrenMounted,
hoverable,
disableFocus,
...restProps
} = props, id = React22.useId(), {
when,
AdaptProvider
} = useAdaptParent({
Contents: React22.useCallback(() => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(PortalHost, {
name: `${id}PopoverContents`
}), [])
}), sheetBreakpoint = when, triggerRef = React22.useRef(null), [hasCustomAnchor, setHasCustomAnchor] = React22.useState(false), viaRef = React22.useRef(), [open, setOpen] = useControllableState({
prop: openProp,
defaultProp: defaultOpen || false,
onChange: (val) => {
onOpenChange == null ? void 0 : onOpenChange(val, viaRef.current);
}
}), handleOpenChange = (0, import_core29.useEvent)((val, via) => {
viaRef.current = via, setOpen(val);
}), sheetActive = useSheetBreakpointActive2(sheetBreakpoint), floatingContext = useFloatingContext({
open,
setOpen: handleOpenChange,
disable: sheetActive,
hoverable,
disableFocus
}), [anchorTo, setAnchorToRaw] = React22.useState(), setAnchorTo = (0, import_core29.createShallowSetState)(setAnchorToRaw);
React22.useImperativeHandle(forwardedRef, () => ({
anchorTo: setAnchorTo,
toggle: () => setOpen((prev) => !prev),
open: () => setOpen(true),
close: () => setOpen(false),
setOpen
}));
const popoverContext = {
id,
sheetBreakpoint,
contentId: React22.useId(),
triggerRef,
open,
breakpointActive: sheetActive,
onOpenChange: handleOpenChange,
onOpenToggle: (0, import_core29.useEvent)(() => {
open && sheetActive || setOpen(!open);
}),
hasCustomAnchor,
anchorTo,
onCustomAnchorAdd: React22.useCallback(() => setHasCustomAnchor(true), []),
onCustomAnchorRemove: React22.useCallback(() => setHasCustomAnchor(false), []),
keepChildrenMounted
}, contents = /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Popper, {
__scopePopper: __scopePopover || POPOVER_SCOPE,
stayInFrame: true,
...restProps,
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(PopoverContext.Provider, {
scope: __scopePopover,
...popoverContext,
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(PopoverSheetController, {
onOpenChange: setOpen,
children
})
})
});
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(AdaptProvider, {
children: isWeb ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(FloatingOverrideContext.Provider, {
value: floatingContext,
children: contents
}) : contents
});
}), {
Anchor: PopoverAnchor,
Arrow: PopoverArrow,
Trigger: PopoverTrigger,
Content: PopoverContent,
Close: PopoverClose,
Adapt,
ScrollView: import_react_native_web9.ScrollView,
Sheet: Sheet.Controlled
});
function getState3(open) {
return open ? "open" : "closed";
}
__name(getState3, "getState");
var PopoverSheetController = /* @__PURE__ */ __name(({
__scopePopover,
...props
}) => {
const context = usePopoverContext(__scopePopover), showSheet = useShowPopoverSheet(context), breakpointActive = context.breakpointActive, getShowSheet = (0, import_core29.useGet)(showSheet);
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SheetController, {
onOpenChange: (val) => {
getShowSheet() && props.onOpenChange(val);
},
open: context.open,
hidden: breakpointActive === false,
children: props.children
});
}, "PopoverSheetController");
var useSheetBreakpointActive2 = /* @__PURE__ */ __name((breakpoint) => {
const media2 = (0, import_core29.useMedia)();
return typeof breakpoint == "boolean" || !breakpoint ? !!breakpoint : media2[breakpoint];
}, "useSheetBreakpointActive");
var useShowPopoverSheet = /* @__PURE__ */ __name((context) => {
const breakpointActive = useSheetBreakpointActive2(context.sheetBreakpoint);
return context.open === false ? false : breakpointActive;
}, "useShowPopoverSheet");
// node_modules/tamagui/node_modules/@tamagui/progress/dist/esm/Progress.mjs
var import_core30 = require("@tamagui/core");
var React23 = __toESM(require("react"), 1);
var import_jsx_runtime33 = require("react/jsx-runtime");
var PROGRESS_NAME = "Progress";
var [createProgressContext, createProgressScope] = createContextScope(PROGRESS_NAME);
var [ProgressProvider, useProgressContext] = createProgressContext(PROGRESS_NAME);
var INDICATOR_NAME2 = "ProgressIndicator";
var ProgressIndicatorFrame = (0, import_core30.styled)(ThemeableStack, {
name: INDICATOR_NAME2,
variants: {
unstyled: {
false: {
height: "100%",
width: "100%",
backgrounded: true
}
}
},
defaultVariants: {
unstyled: process.env.TAMAGUI_HEADLESS === "1"
}
});
var ProgressIndicator = ProgressIndicatorFrame.styleable(function(props, forwardedRef) {
const {
__scopeProgress,
...indicatorProps
} = props, context = useProgressContext(INDICATOR_NAME2, __scopeProgress), pct = context.max - (context.value ?? 0), x = -(context.width === 0 ? 300 : context.width) * (pct / 100);
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(ProgressIndicatorFrame, {
"data-state": getProgressState(context.value, context.max),
"data-value": context.value ?? void 0,
"data-max": context.max,
x,
width: context.width,
...!props.unstyled && {
animateOnly: ["transform"],
opacity: context.width === 0 ? 0 : 1
},
...indicatorProps,
ref: forwardedRef
});
});
function defaultGetValueLabel(value, max2) {
return `${Math.round(value / max2 * 100)}%`;
}
__name(defaultGetValueLabel, "defaultGetValueLabel");
function getProgressState(value, maxValue) {
return value == null ? "indeterminate" : value === maxValue ? "complete" : "loading";
}
__name(getProgressState, "getProgressState");
function isNumber(value) {
return typeof value == "number";
}
__name(isNumber, "isNumber");
function isValidMaxNumber(max2) {
return isNumber(max2) && !Number.isNaN(max2) && max2 > 0;
}
__name(isValidMaxNumber, "isValidMaxNumber");
function isValidValueNumber(value, max2) {
return isNumber(value) && !Number.isNaN(value) && value <= max2 && value >= 0;
}
__name(isValidValueNumber, "isValidValueNumber");
var DEFAULT_MAX = 100;
var ProgressFrame = (0, import_core30.styled)(ThemeableStack, {
name: "Progress",
variants: {
unstyled: {
false: {
borderRadius: 1e5,
overflow: "hidden",
backgrounded: true
}
},
size: {
"...size": (val) => {
const size6 = Math.round((0, import_core30.getVariableValue)(getSize(val)) * 0.25);
return {
height: size6,
minWidth: (0, import_core30.getVariableValue)(size6) * 20,
width: "100%"
};
}
}
},
defaultVariants: {
unstyled: process.env.TAMAGUI_HEADLESS === "1"
}
});
var Progress = withStaticProperties(ProgressFrame.styleable(function(props, forwardedRef) {
const {
// @ts-expect-error
__scopeProgress,
value: valueProp,
max: maxProp,
getValueLabel = defaultGetValueLabel,
size: size6 = "$true",
...progressProps
} = props, max2 = isValidMaxNumber(maxProp) ? maxProp : DEFAULT_MAX, value = isValidValueNumber(valueProp, max2) ? valueProp : null, valueLabel = isNumber(value) ? getValueLabel(value, max2) : void 0, [width, setWidth] = React23.useState(0);
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(ProgressProvider, {
scope: __scopeProgress,
value,
max: max2,
width,
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(ProgressFrame, {
"aria-valuemax": max2,
"aria-valuemin": 0,
"aria-valuenow": isNumber(value) ? value : void 0,
"aria-valuetext": valueLabel,
role: "progressbar",
"data-state": getProgressState(value, max2),
"data-value": value ?? void 0,
"data-max": max2,
...progressProps.unstyled !== true && {
size: size6
},
...progressProps,
onLayout: (e) => {
var _a;
setWidth(e.nativeEvent.layout.width), (_a = progressProps.onLayout) == null ? void 0 : _a.call(progressProps, e);
},
ref: forwardedRef
})
});
}), {
Indicator: ProgressIndicator
});
// node_modules/@tamagui/radio-group/dist/esm/RadioGroup.mjs
var import_core31 = require("@tamagui/core");
var RADIO_GROUP_ITEM_NAME = "RadioGroupItem";
var RadioGroupItemFrame = (0, import_core31.styled)(ThemeableStack, {
name: RADIO_GROUP_ITEM_NAME,
tag: "button",
variants: {
unstyled: {
false: {
size: "$true",
borderRadius: 1e3,
backgroundColor: "$background",
alignItems: "center",
justifyContent: "center",
borderWidth: 1,
borderColor: "$borderColor",
padding: 0,
hoverStyle: {
borderColor: "$borderColorHover",
backgroundColor: "$backgroundHover"
},
focusStyle: {
borderColor: "$borderColorHover",
backgroundColor: "$backgroundHover"
},
focusVisibleStyle: {
outlineStyle: "solid",
outlineWidth: 2,
outlineColor: "$outlineColor"
},
pressStyle: {
borderColor: "$borderColorFocus",
backgroundColor: "$backgroundFocus"
}
}
},
disabled: {
true: {
pointerEvents: "none",
userSelect: "none",
cursor: "not-allowed",
hoverStyle: {
borderColor: "$borderColor",
backgroundColor: "$background"
},
pressStyle: {
borderColor: "$borderColor",
backgroundColor: "$backgroundColor"
},
focusVisibleStyle: {
outlineWidth: 0
}
}
},
size: {
"...size": (value, {
props
}) => {
const size6 = Math.floor((0, import_core31.getVariableValue)(getSize(value)) * (props.scaleSize ?? 0.5));
return {
width: size6,
height: size6
};
}
}
},
defaultVariants: {
unstyled: process.env.TAMAGUI_HEADLESS === "1"
}
});
var RADIO_GROUP_INDICATOR_NAME = "RadioGroupIndicator";
var RadioGroupIndicatorFrame = (0, import_core31.styled)(ThemeableStack, {
name: RADIO_GROUP_INDICATOR_NAME,
variants: {
unstyled: {
false: {
width: "33%",
height: "33%",
borderRadius: 1e3,
backgroundColor: "$color",
pressTheme: true
}
}
},
defaultVariants: {
unstyled: process.env.TAMAGUI_HEADLESS === "1"
}
});
var RADIO_GROUP_NAME = "RadioGroup";
var RadioGroupFrame = (0, import_core31.styled)(ThemeableStack, {
name: RADIO_GROUP_NAME,
variants: {
orientation: {
horizontal: {
flexDirection: "row",
spaceDirection: "horizontal"
},
vertical: {
flexDirection: "column",
spaceDirection: "vertical"
}
}
}
});
// node_modules/@tamagui/radio-group/dist/esm/createRadioGroup.mjs
var import_core34 = require("@tamagui/core");
// node_modules/@tamagui/radio-headless/dist/esm/useRadioGroup.mjs
var import_react43 = require("react");
// node_modules/@tamagui/radio-headless/dist/esm/BubbleInput.mjs
var import_react42 = __toESM(require("react"), 1);
var import_jsx_runtime34 = require("react/jsx-runtime");
var BubbleInput2 = /* @__PURE__ */ __name((props) => {
const {
checked,
bubbles = true,
control,
isHidden: isHidden2,
accentColor,
...inputProps
} = props, ref = import_react42.default.useRef(null), prevChecked = usePrevious(checked);
return import_react42.default.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
});
setChecked.call(input, checked), input.dispatchEvent(event);
}
}, [prevChecked, checked, bubbles]), /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("input", {
type: "radio",
defaultChecked: checked,
...inputProps,
tabIndex: -1,
ref,
"aria-hidden": isHidden2,
style: {
...isHidden2 ? {
// ...controlSize,
position: "absolute",
pointerEvents: "none",
opacity: 0,
margin: 0
} : {
appearance: "auto",
accentColor
},
...props.style
}
});
}, "BubbleInput");
// node_modules/@tamagui/radio-headless/dist/esm/utils.mjs
function getState4(checked) {
return checked ? "checked" : "unchecked";
}
__name(getState4, "getState");
// node_modules/@tamagui/radio-headless/dist/esm/useRadioGroup.mjs
var import_jsx_runtime35 = require("react/jsx-runtime");
function useRadioGroup(params) {
const {
value: valueProp,
onValueChange,
defaultValue: defaultValue2,
required,
disabled,
name,
native,
accentColor,
orientation,
ref
} = params, [value, setValue] = useControllableState({
prop: valueProp,
defaultProp: defaultValue2,
onChange: onValueChange
});
return {
providerValue: {
value,
onChange: setValue,
required,
disabled,
name,
native,
accentColor
},
frameAttrs: {
role: "radiogroup",
"aria-orientation": orientation,
"data-disabled": disabled ? "" : void 0
},
rovingFocusGroupAttrs: {
orientation,
loop: true
}
};
}
__name(useRadioGroup, "useRadioGroup");
var ARROW_KEYS = ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"];
var useRadioGroupItem = /* @__PURE__ */ __name((params) => {
const {
radioGroupContext,
value,
labelledBy: ariaLabelledby,
disabled: itemDisabled,
ref: refProp,
id,
onPress,
onKeyDown,
onFocus
} = params, {
value: groupValue,
disabled,
required,
onChange,
name,
native,
accentColor
} = (0, import_react43.useContext)(radioGroupContext), [button, setButton] = (0, import_react43.useState)(null), hasConsumerStoppedPropagationRef = (0, import_react43.useRef)(false), ref = (0, import_react43.useRef)(null), composedRefs = useComposedRefs(refProp, (node) => setButton(node), ref), isArrowKeyPressedRef = (0, import_react43.useRef)(false), isFormControl = isWeb ? button ? !!button.closest("form") : true : false, checked = groupValue === value, labelId = useLabelContext(button), labelledBy = ariaLabelledby || labelId;
(0, import_react43.useEffect)(() => {
if (isWeb) {
const handleKeyDown = /* @__PURE__ */ __name((event) => {
ARROW_KEYS.includes(event.key) && (isArrowKeyPressedRef.current = true);
}, "handleKeyDown"), handleKeyUp = /* @__PURE__ */ __name(() => {
isArrowKeyPressedRef.current = false;
}, "handleKeyUp");
return document.addEventListener("keydown", handleKeyDown), document.addEventListener("keyup", handleKeyUp), () => {
document.removeEventListener("keydown", handleKeyDown), document.removeEventListener("keyup", handleKeyUp);
};
}
}, []);
const isDisabled2 = disabled || itemDisabled;
return {
providerValue: {
checked
},
checked,
isFormControl,
bubbleInput: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(BubbleInput2, {
isHidden: !native,
control: button,
bubbles: !hasConsumerStoppedPropagationRef.current,
name,
value,
checked,
required,
disabled: isDisabled2,
...isWeb && native && {
accentColor,
id
}
}),
native,
frameAttrs: {
"data-state": getState4(checked),
"data-disabled": isDisabled2 ? "" : void 0,
role: "radio",
"aria-labelledby": labelledBy,
"aria-checked": checked,
"aria-required": required,
disabled: isDisabled2,
ref: composedRefs,
...isWeb && {
type: "button",
value
},
id,
onPress: composeEventHandlers(onPress, (event) => {
checked || (onChange == null ? void 0 : onChange(value)), isFormControl && (hasConsumerStoppedPropagationRef.current = event.isPropagationStopped(), hasConsumerStoppedPropagationRef.current || event.stopPropagation());
}),
...isWeb && {
onKeyDown: composeEventHandlers(onKeyDown, (event) => {
event.key === "Enter" && event.preventDefault();
}),
onFocus: composeEventHandlers(onFocus, () => {
var _a;
isArrowKeyPressedRef.current && ((_a = ref.current) == null ? void 0 : _a.click());
})
}
},
rovingFocusGroupAttrs: {
asChild: "expect-style",
focusable: !isDisabled2,
active: checked
}
};
}, "useRadioGroupItem");
function useRadioGroupItemIndicator(params) {
const {
radioGroupItemContext,
disabled,
...rest
} = params, {
checked
} = (0, import_react43.useContext)(radioGroupItemContext);
return {
checked,
"data-state": getState4(checked),
"data-disabled": disabled ? "" : void 0,
...rest
};
}
__name(useRadioGroupItemIndicator, "useRadioGroupItemIndicator");
// node_modules/@tamagui/collection/dist/esm/Collection.mjs
var import_core32 = require("@tamagui/core");
var import_react44 = __toESM(require("react"), 1);
var import_jsx_runtime36 = require("react/jsx-runtime");
function createCollection(name) {
const {
Provider: CollectionProviderImpl,
useStyledContext: useCollectionContext
} = (0, import_core32.createStyledContext)({
collectionRef: {
current: null
},
itemMap: /* @__PURE__ */ new Map()
}), CollectionProvider = /* @__PURE__ */ __name((props) => {
const {
__scopeCollection,
children
} = props, ref = import_react44.default.useRef(null), itemMap = import_react44.default.useRef(/* @__PURE__ */ new Map()).current;
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(CollectionProviderImpl, {
scope: __scopeCollection,
itemMap,
collectionRef: ref,
children
});
}, "CollectionProvider");
CollectionProvider.displayName = "CollectionProvider";
const COLLECTION_SLOT_NAME = name + "CollectionSlot", CollectionSlot = import_react44.default.forwardRef((props, forwardedRef) => {
const {
__scopeCollection,
children
} = props, context = useCollectionContext(__scopeCollection), composedRefs = useComposedRefs(forwardedRef, context.collectionRef);
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_core32.Slot, {
ref: composedRefs,
children
});
});
CollectionSlot.displayName = COLLECTION_SLOT_NAME;
const ITEM_SLOT_NAME = name + "CollectionItemSlot", ITEM_DATA_ATTR = "data-collection-item", CollectionItemSlot = import_react44.default.forwardRef((props, forwardedRef) => {
const {
__scopeCollection,
children,
...itemData
} = props, ref = import_react44.default.useRef(null), composedRefs = useComposedRefs(forwardedRef, ref), context = useCollectionContext(__scopeCollection);
return import_react44.default.useEffect(() => (context.itemMap.set(ref, {
ref,
...itemData
}), () => void context.itemMap.delete(ref))), /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_core32.Slot, {
[ITEM_DATA_ATTR]: "",
ref: composedRefs,
children
});
});
CollectionItemSlot.displayName = ITEM_SLOT_NAME;
function useCollection2(__scopeCollection) {
const context = useCollectionContext(__scopeCollection);
return import_react44.default.useCallback(() => {
if (!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(createCollection, "createCollection");
// node_modules/@tamagui/roving-focus/dist/esm/RovingFocusGroup.mjs
var import_core33 = require("@tamagui/core");
// node_modules/@tamagui/use-direction/dist/esm/useDirection.mjs
var React26 = __toESM(require("react"), 1);
var import_jsx_runtime37 = require("react/jsx-runtime");
var DirectionContext = React26.createContext(void 0);
function useDirection(localDir) {
const globalDir = React26.useContext(DirectionContext);
return localDir || globalDir || "ltr";
}
__name(useDirection, "useDirection");
// node_modules/@tamagui/roving-focus/dist/esm/RovingFocusGroup.mjs
var React27 = __toESM(require("react"), 1);
var import_jsx_runtime38 = require("react/jsx-runtime");
var ENTRY_FOCUS = "rovingFocusGroup.onEntryFocus";
var EVENT_OPTIONS2 = {
bubbles: false,
cancelable: true
};
var RovingFocusGroupImpl = React27.forwardRef((props, forwardedRef) => {
const {
__scopeRovingFocusGroup,
orientation,
loop = false,
dir,
currentTabStopId: currentTabStopIdProp,
defaultCurrentTabStopId,
onCurrentTabStopIdChange,
onEntryFocus,
...groupProps
} = props, ref = React27.useRef(null), composedRefs = useComposedRefs(forwardedRef, ref), direction = useDirection(dir), [currentTabStopId = null, setCurrentTabStopId] = useControllableState({
prop: currentTabStopIdProp,
defaultProp: defaultCurrentTabStopId ?? null,
onChange: onCurrentTabStopIdChange
}), [isTabbingBackOut, setIsTabbingBackOut] = React27.useState(false), handleEntryFocus = (0, import_core33.useEvent)(onEntryFocus), getItems = useCollection(__scopeRovingFocusGroup || ROVING_FOCUS_GROUP_CONTEXT), isClickFocusRef = React27.useRef(false), [focusableItemsCount, setFocusableItemsCount] = React27.useState(0);
return React27.useEffect(() => {
const node = ref.current;
if (node)
return node.addEventListener(ENTRY_FOCUS, handleEntryFocus), () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);
}, [handleEntryFocus]), /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(RovingFocusProvider, {
scope: __scopeRovingFocusGroup,
orientation,
dir: direction,
loop,
currentTabStopId,
onItemFocus: React27.useCallback((tabStopId) => setCurrentTabStopId(tabStopId), [setCurrentTabStopId]),
onItemShiftTab: React27.useCallback(() => setIsTabbingBackOut(true), []),
onFocusableItemAdd: React27.useCallback(() => setFocusableItemsCount((prevCount) => prevCount + 1), []),
onFocusableItemRemove: React27.useCallback(() => setFocusableItemsCount((prevCount) => prevCount - 1), []),
children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_core33.Stack, {
tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,
"data-orientation": orientation,
...groupProps,
ref: composedRefs,
style: [{
outline: "none"
}, props.style],
onMouseDown: composeEventHandlers(props.onMouseDown, () => {
isClickFocusRef.current = true;
}),
onFocus: composeEventHandlers(props.onFocus, (event) => {
const isKeyboardFocus = !isClickFocusRef.current;
if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {
const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS2);
if (event.currentTarget.dispatchEvent(entryFocusEvent), !entryFocusEvent.defaultPrevented) {
const items = getItems().filter((item) => item.focusable), activeItem = items.find((item) => item.active), currentItem = items.find((item) => item.id === currentTabStopId), candidateNodes = [activeItem, currentItem, ...items].filter(Boolean).map((item) => item.ref.current);
focusFirst2(candidateNodes);
}
}
isClickFocusRef.current = false;
}),
onBlur: composeEventHandlers(props.onBlur, () => setIsTabbingBackOut(false))
})
});
});
var ITEM_NAME = "RovingFocusGroupItem";
var RovingFocusGroupItem = React27.forwardRef((props, forwardedRef) => {
const {
__scopeRovingFocusGroup,
focusable = true,
active = false,
tabStopId,
...itemProps
} = props, autoId = React27.useId(), id = tabStopId || autoId, context = useRovingFocusContext(__scopeRovingFocusGroup), isCurrentTabStop = context.currentTabStopId === id, getItems = useCollection(__scopeRovingFocusGroup || ROVING_FOCUS_GROUP_CONTEXT), {
onFocusableItemAdd,
onFocusableItemRemove
} = context;
return React27.useEffect(() => {
if (focusable)
return onFocusableItemAdd(), () => onFocusableItemRemove();
}, [focusable, onFocusableItemAdd, onFocusableItemRemove]), /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Collection.ItemSlot, {
__scopeCollection: __scopeRovingFocusGroup || ROVING_FOCUS_GROUP_CONTEXT,
id,
focusable,
active,
children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_core33.Stack, {
tabIndex: isCurrentTabStop ? 0 : -1,
"data-orientation": context.orientation,
...itemProps,
ref: forwardedRef,
onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {
focusable ? context.onItemFocus(id) : event.preventDefault();
}),
onFocus: composeEventHandlers(props.onFocus, () => context.onItemFocus(id)),
...isWeb && {
onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {
if (event.key === "Tab" && event.shiftKey) {
context.onItemShiftTab();
return;
}
if (event.target !== event.currentTarget)
return;
const focusIntent = getFocusIntent(event, context.orientation, context.dir);
if (focusIntent !== void 0) {
event.preventDefault();
let candidateNodes = getItems().filter((item) => item.focusable).map((item) => item.ref.current);
if (focusIntent === "last")
candidateNodes.reverse();
else if (focusIntent === "prev" || focusIntent === "next") {
focusIntent === "prev" && candidateNodes.reverse();
const currentIndex = candidateNodes.indexOf(event.currentTarget);
candidateNodes = context.loop ? wrapArray(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1);
}
setTimeout(() => focusFirst2(candidateNodes));
}
})
}
})
});
});
RovingFocusGroupItem.displayName = ITEM_NAME;
var GROUP_NAME2 = "RovingFocusGroup";
var [Collection, useCollection] = createCollection(GROUP_NAME2);
var {
Provider: RovingFocusProvider,
useStyledContext: useRovingFocusContext
} = (0, import_core33.createStyledContext)();
var ROVING_FOCUS_GROUP_CONTEXT = "RovingFocusGroupContext";
var RovingFocusGroup = withStaticProperties(React27.forwardRef((props, forwardedRef) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Collection.Provider, {
__scopeCollection: props.__scopeRovingFocusGroup || ROVING_FOCUS_GROUP_CONTEXT,
children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Collection.Slot, {
__scopeCollection: props.__scopeRovingFocusGroup || ROVING_FOCUS_GROUP_CONTEXT,
children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(RovingFocusGroupImpl, {
...props,
ref: forwardedRef
})
})
})), {
Item: RovingFocusGroupItem
});
RovingFocusGroup.displayName = GROUP_NAME2;
var MAP_KEY_TO_FOCUS_INTENT = {
ArrowLeft: "prev",
ArrowUp: "prev",
ArrowRight: "next",
ArrowDown: "next",
PageUp: "first",
Home: "first",
PageDown: "last",
End: "last"
};
function getDirectionAwareKey(key, dir) {
return dir !== "rtl" ? key : key === "ArrowLeft" ? "ArrowRight" : key === "ArrowRight" ? "ArrowLeft" : key;
}
__name(getDirectionAwareKey, "getDirectionAwareKey");
function getFocusIntent(event, orientation, dir) {
const key = getDirectionAwareKey(event.key, dir);
if (!(orientation === "vertical" && ["ArrowLeft", "ArrowRight"].includes(key)) && !(orientation === "horizontal" && ["ArrowUp", "ArrowDown"].includes(key)))
return MAP_KEY_TO_FOCUS_INTENT[key];
}
__name(getFocusIntent, "getFocusIntent");
function focusFirst2(candidates) {
const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;
for (const candidate of candidates)
if (candidate === PREVIOUSLY_FOCUSED_ELEMENT || (candidate.focus(), document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT))
return;
}
__name(focusFirst2, "focusFirst");
function wrapArray(array, startIndex) {
return array.map((_, index3) => array[(startIndex + index3) % array.length]);
}
__name(wrapArray, "wrapArray");
// node_modules/@tamagui/radio-group/dist/esm/createRadioGroup.mjs
var import_react45 = require("react");
var import_jsx_runtime39 = require("react/jsx-runtime");
var ensureContext2 = /* @__PURE__ */ __name((x) => {
x.context || (x.context = RadioGroupContext);
}, "ensureContext");
var RadioGroupContext = (0, import_react45.createContext)({});
var RadioGroupItemContext = (0, import_react45.createContext)({
checked: false,
disabled: false
});
function createRadioGroup(createProps) {
const {
disableActiveTheme,
Frame: Frame2 = RadioGroupFrame,
Indicator = RadioGroupIndicatorFrame,
Item = RadioGroupItemFrame
} = createProps;
ensureContext2(Frame2), ensureContext2(Indicator), ensureContext2(Item);
const RadioGroupImp = Frame2.styleable((props, ref) => {
const {
value,
defaultValue: defaultValue2,
onValueChange,
required = false,
disabled = false,
name,
native,
accentColor,
orientation = "vertical",
...rest
} = props, {
providerValue,
frameAttrs,
rovingFocusGroupAttrs
} = useRadioGroup({
orientation,
name,
defaultValue: defaultValue2,
value,
onValueChange,
required,
disabled,
native,
accentColor
});
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(RadioGroupContext.Provider, {
value: providerValue,
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(RovingFocusGroup, {
...rovingFocusGroupAttrs,
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(RadioGroupFrame, {
...frameAttrs,
ref,
...rest
})
})
});
}), RadioGroupItemImp = Item.styleable((props, ref) => {
const {
value,
labelledBy,
onPress,
//@ts-expect-error
onKeyDown,
disabled,
id,
...rest
} = props, {
providerValue,
bubbleInput,
rovingFocusGroupAttrs,
frameAttrs,
isFormControl,
native
} = useRadioGroupItem({
radioGroupContext: RadioGroupContext,
value,
id,
labelledBy,
disabled,
onPress,
onKeyDown
});
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(RadioGroupItemContext.Provider, {
value: providerValue,
children: import_core34.isWeb && native ? bubbleInput : /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_jsx_runtime39.Fragment, {
children: [/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(RovingFocusGroup.Item, {
...rovingFocusGroupAttrs,
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(RadioGroupItemFrame, {
...frameAttrs,
ref,
...rest
})
}), isFormControl && bubbleInput]
})
});
});
RadioGroupItemImp.displayName = "RadioGroupItem";
const RadioIndicator = Indicator.styleable((props, forwardedRef) => {
const {
forceMount,
disabled,
...indicatorProps
} = props, {
checked,
...useIndicatorRest
} = useRadioGroupItemIndicator({
radioGroupItemContext: RadioGroupItemContext,
disabled
});
return forceMount || checked ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Indicator, {
...useIndicatorRest,
ref: forwardedRef,
...indicatorProps
}) : null;
});
RadioIndicator.displayName = "RadioIndicator";
const RadioGroup2 = (0, import_core34.withStaticProperties)(RadioGroupImp, {
Item: RadioGroupItemImp,
Indicator: RadioIndicator
});
return RadioGroup2.displayName = "RadioGroup", RadioGroup2;
}
__name(createRadioGroup, "createRadioGroup");
// node_modules/@tamagui/radio-group/dist/esm/RadioGroupStyledContext.mjs
var import_core35 = require("@tamagui/core");
var RadioGroupStyledContext = (0, import_core35.createStyledContext)({
size: "$true",
scaleIcon: 1
});
// node_modules/@tamagui/radio-group/dist/esm/index.mjs
var RadioGroup = createRadioGroup({
Frame: RadioGroupFrame,
Indicator: RadioGroupIndicatorFrame,
Item: RadioGroupItemFrame
});
// node_modules/@tamagui/select/dist/esm/Select.mjs
var import_core43 = require("@tamagui/core");
// node_modules/@tamagui/separator/dist/esm/Separator.mjs
var import_core36 = require("@tamagui/core");
var Separator = (0, import_core36.styled)(import_core36.Stack, {
name: "Separator",
borderColor: "$borderColor",
flexShrink: 0,
borderWidth: 0,
flex: 1,
height: 0,
maxHeight: 0,
borderBottomWidth: 1,
y: -0.5,
variants: {
vertical: {
true: {
y: 0,
x: -0.5,
height: isWeb ? "initial" : "auto",
// maxHeight auto WILL BE passed to style attribute, but for some reason not used?
// almost seems like a react or browser bug, but for now `initial` works
// also, it doesn't happen for `height`, but for consistency using the same values
maxHeight: isWeb ? "initial" : "auto",
width: 0,
maxWidth: 0,
borderBottomWidth: 0,
borderRightWidth: 1
}
}
}
});
// node_modules/@tamagui/select/dist/esm/Select.mjs
var React33 = __toESM(require("react"), 1);
// node_modules/@tamagui/use-debounce/dist/esm/index.mjs
var import_react46 = require("react");
function debounce(func, wait, leading) {
let timeout, isCancelled = false;
function debounced() {
isCancelled = false;
const args = arguments;
leading && !timeout && func.apply(this, args), clearTimeout(timeout), timeout = setTimeout(() => {
timeout = null, leading || isCancelled || func.apply(this, args), isCancelled = false;
}, wait);
}
__name(debounced, "debounced");
return debounced.cancel = () => {
isCancelled = true;
}, debounced;
}
__name(debounce, "debounce");
var defaultOpts = {
leading: false
};
function useDebounce(fn, wait, options = defaultOpts, mountArgs = [fn]) {
const dbEffect = (0, import_react46.useRef)(null);
return (0, import_react46.useEffect)(() => () => {
var _a;
(_a = dbEffect.current) == null ? void 0 : _a.cancel();
}, []), (0, import_react46.useMemo)(() => (dbEffect.current = debounce(fn, wait, options.leading), dbEffect.current), [options.leading, ...mountArgs]);
}
__name(useDebounce, "useDebounce");
function useDebounceValue(val, amt = 0) {
const [state, setState] = (0, import_react46.useState)(val);
return (0, import_react46.useEffect)(() => {
const tm = setTimeout(() => {
setState((prev) => prev === val ? prev : val);
}, amt);
return () => {
clearTimeout(tm);
};
}, [val]), state;
}
__name(useDebounceValue, "useDebounceValue");
// node_modules/@tamagui/select/dist/esm/constants.mjs
var SELECT_NAME = "Select";
var SCROLL_ARROW_THRESHOLD = 8;
var VIEWPORT_NAME = "SelectViewport";
// node_modules/@tamagui/select/dist/esm/context.mjs
var import_jsx_runtime40 = require("react/jsx-runtime");
var [createSelectContext, createSelectScope] = createContextScope(SELECT_NAME);
var [SelectProvider, useSelectContext] = createSelectContext(SELECT_NAME);
var [createSelectItemParentContext, createSelectItemParentScope] = createContextScope(SELECT_NAME);
var [SelectItemParentProvider, useSelectItemParentContext] = createSelectContext(SELECT_NAME);
var ForwardSelectContext = /* @__PURE__ */ __name(({
__scopeSelect,
context,
itemContext,
children
}) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(SelectProvider, {
isInSheet: true,
scope: __scopeSelect,
...context,
children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(SelectItemParentProvider, {
scope: __scopeSelect,
...itemContext,
children
})
}), "ForwardSelectContext");
// node_modules/@tamagui/select/dist/esm/SelectContent.mjs
var import_core38 = require("@tamagui/core");
var import_react48 = require("react");
// node_modules/@tamagui/select/dist/esm/useSelectBreakpointActive.mjs
var import_core37 = require("@tamagui/core");
var useSelectBreakpointActive = /* @__PURE__ */ __name((sheetBreakpoint) => {
const media2 = (0, import_core37.useMedia)();
return sheetBreakpoint ? sheetBreakpoint === true ? true : sheetBreakpoint ? media2[sheetBreakpoint] : false : false;
}, "useSelectBreakpointActive");
var useShowSelectSheet = /* @__PURE__ */ __name((context) => {
const breakpointActive = useSelectBreakpointActive(context.sheetBreakpoint);
return context.open === false ? false : breakpointActive;
}, "useShowSelectSheet");
// node_modules/@tamagui/select/dist/esm/SelectContent.mjs
var import_jsx_runtime41 = require("react/jsx-runtime");
var CONTENT_NAME3 = "SelectContent";
var SelectContent = /* @__PURE__ */ __name(({
children,
__scopeSelect,
zIndex: zIndex2 = 1e3,
...focusScopeProps
}) => {
const context = useSelectContext(CONTENT_NAME3, __scopeSelect), itemParentContext = useSelectItemParentContext(CONTENT_NAME3, __scopeSelect), themeName = (0, import_core38.useThemeName)(), showSheet = useShowSelectSheet(context), contents = /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_core38.Theme, {
forceClassName: true,
name: themeName,
children
}), touch = (0, import_core38.useIsTouchDevice)(), overlayStyle = (0, import_react48.useMemo)(() => ({
zIndex: zIndex2,
pointerEvents: context.open ? "auto" : "none"
}), [context.open]);
return itemParentContext.shouldRenderWebNative ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_jsx_runtime41.Fragment, {
children
}) : showSheet ? context.open ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_jsx_runtime41.Fragment, {
children: contents
}) : null : /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(FloatingPortal, {
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(FloatingOverlay, {
style: overlayStyle,
lockScroll: !context.disablePreventBodyScroll && !!context.open && !touch,
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(FocusScope, {
loop: true,
enabled: !!context.open,
trapped: true,
...focusScopeProps,
children: contents
})
})
});
}, "SelectContent");
// node_modules/@tamagui/select/dist/esm/SelectImpl.mjs
var import_core39 = require("@tamagui/core");
var React28 = __toESM(require("react"), 1);
var import_react_dom5 = require("react-dom");
var import_jsx_runtime42 = require("react/jsx-runtime");
var SelectInlineImpl = /* @__PURE__ */ __name((props) => {
const {
__scopeSelect,
children,
open = false,
selectedIndexRef,
listContentRef
} = props, selectContext = useSelectContext("SelectSheetImpl", __scopeSelect), selectItemParentContext = useSelectItemParentContext("SelectSheetImpl", __scopeSelect), {
setActiveIndex,
selectedIndex,
activeIndex,
forceUpdate
} = selectContext, {
setOpen,
setSelectedIndex
} = selectItemParentContext, [scrollTop, setScrollTop] = React28.useState(0), touch = (0, import_core39.useIsTouchDevice)(), listItemsRef = React28.useRef([]), overflowRef = React28.useRef(null), upArrowRef = React28.useRef(null), downArrowRef = React28.useRef(null), allowSelectRef = React28.useRef(false), allowMouseUpRef = React28.useRef(true), selectTimeoutRef = React28.useRef(), state = React28.useRef({
isMouseOutside: false,
isTyping: false
}), [controlledScrolling, setControlledScrolling] = React28.useState(false), [fallback, setFallback] = React28.useState(false), [innerOffset, setInnerOffset] = React28.useState(0), [blockSelection, setBlockSelection] = React28.useState(false), floatingStyle = React28.useRef({});
useIsomorphicLayoutEffect(() => {
queueMicrotask(() => {
open || (setScrollTop(0), setFallback(false), setActiveIndex(null), setControlledScrolling(false));
});
}, [open, setActiveIndex]), isWeb && isClient && useIsomorphicLayoutEffect(() => {
if (!open)
return;
const mouseUp = /* @__PURE__ */ __name((e) => {
state.current.isMouseOutside && setOpen(false);
}, "mouseUp");
return document.addEventListener("mouseup", mouseUp), () => {
document.removeEventListener("mouseup", mouseUp);
};
}, [open]);
const {
x,
y,
strategy,
context,
refs,
update
} = useFloating3({
open,
onOpenChange: setOpen,
placement: "bottom-start",
whileElementsMounted: autoUpdate,
// biome-ignore lint/correctness/noConstantCondition: <explanation>
middleware: [size5({
apply({
rects: {
reference: {
width
}
}
}) {
Object.assign(floatingStyle.current, {
minWidth: width + 8
}), refs.floating.current && Object.assign(refs.floating.current.style, floatingStyle.current);
}
}), inner({
listRef: listItemsRef,
overflowRef,
index: selectedIndex,
offset: innerOffset,
onFallbackChange: setFallback,
padding: 10,
minItemsVisible: touch ? 10 : 4,
referenceOverflowThreshold: 20
}), offset3({
crossAxis: -5
})]
}), floatingRef = refs.floating, showUpArrow = open && scrollTop > SCROLL_ARROW_THRESHOLD, showDownArrow = open && floatingRef.current && scrollTop < floatingRef.current.scrollHeight - floatingRef.current.clientHeight - SCROLL_ARROW_THRESHOLD, isScrollable = showDownArrow || showUpArrow;
useIsomorphicLayoutEffect(() => (window.addEventListener("resize", update), open && update(), () => window.removeEventListener("resize", update)), [update, open]);
const onMatch = (0, import_core39.useEvent)((index3) => (open ? setActiveIndex : setSelectedIndex)(index3)), interactionsProps = [useClick(context, {
event: "mousedown",
keyboardHandlers: false
}), useDismiss(context, {
outsidePress: false
}), useRole(context, {
role: "listbox"
}), useInnerOffset(context, {
enabled: !fallback && isScrollable,
onChange: setInnerOffset,
overflowRef,
scrollRef: refs.floating
}), useListNavigation(context, {
listRef: listItemsRef,
activeIndex: activeIndex || 0,
selectedIndex,
onNavigate: setActiveIndex,
scrollItemIntoView: false
}), useTypeahead(context, {
listRef: listContentRef,
onMatch,
selectedIndex,
activeIndex,
onTypingChange: (e) => {
state.current.isTyping = e;
}
})], interactions = useInteractions(
// unfortunately these memos will just always break due to floating-ui context always changing :/
React28.useMemo(() => interactionsProps, interactionsProps)
), interactionsContext = React28.useMemo(() => ({
...interactions,
getReferenceProps() {
return interactions.getReferenceProps({
ref: refs.reference,
className: "SelectTrigger",
onKeyDown(event) {
(event.key === "Enter" || event.code === "Space" || event.key === " " && !state.current.isTyping) && (event.preventDefault(), setOpen(true));
}
});
},
getFloatingProps(props2) {
return interactions.getFloatingProps({
ref: refs.floating,
className: "Select",
...props2,
style: {
position: strategy,
top: y ?? "",
left: x ?? "",
outline: 0,
scrollbarWidth: "none",
...floatingStyle.current,
...props2 == null ? void 0 : props2.style
},
onPointerEnter() {
setControlledScrolling(false), state.current.isMouseOutside = false;
},
onPointerLeave() {
state.current.isMouseOutside = true;
},
onPointerMove() {
state.current.isMouseOutside = false, setControlledScrolling(false);
},
onKeyDown() {
setControlledScrolling(true);
},
onContextMenu(e) {
e.preventDefault();
},
onScroll(event) {
(0, import_react_dom5.flushSync)(() => {
setScrollTop(event.currentTarget.scrollTop);
});
}
});
}
}), [refs.reference.current, x, y, refs.floating.current, interactions]);
return useIsomorphicLayoutEffect(() => {
if (open)
return selectTimeoutRef.current = setTimeout(() => {
allowSelectRef.current = true;
}, 300), () => {
clearTimeout(selectTimeoutRef.current);
};
allowSelectRef.current = false, allowMouseUpRef.current = true, setInnerOffset(0), setFallback(false), setBlockSelection(false);
}, [open]), useIsomorphicLayoutEffect(() => {
!open && state.current.isMouseOutside && (state.current.isMouseOutside = false);
}, [open]), useIsomorphicLayoutEffect(() => {
function onPointerDown(e) {
var _a, _b, _c;
const target = e.target;
((_a = refs.floating.current) == null ? void 0 : _a.contains(target)) || ((_b = upArrowRef.current) == null ? void 0 : _b.contains(target)) || ((_c = downArrowRef.current) == null ? void 0 : _c.contains(target)) || (setOpen(false), setControlledScrolling(false));
}
__name(onPointerDown, "onPointerDown");
if (open)
return document.addEventListener("pointerdown", onPointerDown), () => {
document.removeEventListener("pointerdown", onPointerDown);
};
}, [open, refs, setOpen]), React28.useEffect(() => {
var _a, _b;
open && controlledScrolling && activeIndex != null && ((_a = listItemsRef.current[activeIndex]) == null ? void 0 : _a.scrollIntoView({
block: "nearest"
})), setScrollTop(((_b = refs.floating.current) == null ? void 0 : _b.scrollTop) ?? 0);
}, [open, refs, controlledScrolling, activeIndex]), React28.useEffect(() => {
var _a;
open && fallback && selectedIndex != null && ((_a = listItemsRef.current[selectedIndex]) == null ? void 0 : _a.scrollIntoView({
block: "nearest"
}));
}, [open, fallback, selectedIndex]), useIsomorphicLayoutEffect(() => {
refs.floating.current && fallback && (refs.floating.current.style.maxHeight = "");
}, [refs, fallback]), /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(SelectProvider, {
scope: __scopeSelect,
...selectContext,
setScrollTop,
setInnerOffset,
fallback,
floatingContext: context,
activeIndex,
canScrollDown: !!showDownArrow,
canScrollUp: !!showUpArrow,
controlledScrolling,
blockSelection,
upArrowRef,
downArrowRef,
update,
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(SelectItemParentProvider, {
scope: __scopeSelect,
...selectItemParentContext,
allowMouseUpRef,
allowSelectRef,
dataRef: context.dataRef,
interactions: interactionsContext,
listRef: listItemsRef,
selectTimeoutRef,
children
})
});
}, "SelectInlineImpl");
// node_modules/@tamagui/select/dist/esm/SelectItem.mjs
var React29 = __toESM(require("react"), 1);
var import_jsx_runtime43 = require("react/jsx-runtime");
var ITEM_NAME2 = "SelectItem";
var [SelectItemContextProvider, useSelectItemContext] = createSelectContext(ITEM_NAME2);
var SelectItem = ListItemFrame.styleable(function(props, forwardedRef) {
const {
__scopeSelect,
value,
disabled = false,
textValue: textValueProp,
index: index3,
...restProps
} = props, {
props: listItemProps
} = useListItem({
...!props.unstyled && {
ellipse: true
},
...restProps
}), context = useSelectItemParentContext(ITEM_NAME2, __scopeSelect), {
setSelectedIndex,
listRef,
setOpen,
onChange,
activeIndexSubscribe,
valueSubscribe,
allowMouseUpRef,
allowSelectRef,
setValueAtIndex,
selectTimeoutRef,
dataRef,
interactions,
shouldRenderWebNative,
size: size6,
onActiveChange,
initialValue: initialValue2
} = context, [isSelected, setSelected] = React29.useState(initialValue2 === value);
React29.useEffect(() => activeIndexSubscribe((i) => {
var _a;
index3 === i && (onActiveChange(value, index3), (_a = listRef == null ? void 0 : listRef.current[index3]) == null ? void 0 : _a.focus());
}), [index3]), React29.useEffect(() => valueSubscribe((val) => {
setSelected(val === value);
}), [value]);
const textId = React29.useId(), composedRefs = useComposedRefs(forwardedRef, (node) => {
isWeb && node instanceof HTMLElement && listRef && (listRef.current[index3] = node);
});
useIsomorphicLayoutEffect(() => {
setValueAtIndex(index3, value);
}, [index3, setValueAtIndex, value]);
function handleSelect() {
setSelectedIndex(index3), onChange(value), setOpen(false);
}
__name(handleSelect, "handleSelect");
const selectItemProps = React29.useMemo(() => interactions ? interactions.getItemProps({
onTouchMove() {
allowSelectRef.current = true, allowMouseUpRef.current = false;
},
onTouchEnd() {
allowSelectRef.current = false, allowMouseUpRef.current = true;
},
onKeyDown(event) {
event.key === "Enter" || event.key === " " && !(dataRef == null ? void 0 : dataRef.current.typing) ? (event.preventDefault(), handleSelect()) : allowSelectRef.current = true;
},
onClick() {
allowSelectRef.current && handleSelect();
},
onMouseUp() {
allowMouseUpRef.current && (allowSelectRef.current && handleSelect(), clearTimeout(selectTimeoutRef.current), selectTimeoutRef.current = setTimeout(() => {
allowSelectRef.current = true;
}));
}
}) : {
onPress: handleSelect
}, [handleSelect]);
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(SelectItemContextProvider, {
scope: __scopeSelect,
value,
textId: textId || "",
isSelected,
children: shouldRenderWebNative ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("option", {
value,
children: props.children
}) : /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(ListItemFrame, {
tag: "div",
componentName: ITEM_NAME2,
ref: composedRefs,
"aria-labelledby": textId,
"aria-selected": isSelected,
"data-state": isSelected ? "active" : "inactive",
"aria-disabled": disabled || void 0,
"data-disabled": disabled ? "" : void 0,
tabIndex: disabled ? void 0 : -1,
...!props.unstyled && {
backgrounded: true,
pressTheme: true,
hoverTheme: true,
focusTheme: true,
cursor: "default",
size: size6,
outlineOffset: -0.5,
focusVisibleStyle: {
outlineColor: "$outlineColor",
outlineWidth: 1,
outlineStyle: "solid"
}
},
...listItemProps,
...selectItemProps
})
});
}, {
disableTheme: true
});
// node_modules/@tamagui/select/dist/esm/SelectItemText.mjs
var import_core40 = require("@tamagui/core");
var React30 = __toESM(require("react"), 1);
var import_jsx_runtime44 = require("react/jsx-runtime");
var ITEM_TEXT_NAME = "SelectItemText";
var SelectItemTextFrame = (0, import_core40.styled)(SizableText, {
name: ITEM_TEXT_NAME,
variants: {
unstyled: {
false: {
userSelect: "none",
color: "$color",
ellipse: true
}
}
},
defaultVariants: {
unstyled: process.env.TAMAGUI_HEADLESS === "1"
}
});
var SelectItemText = SelectItemTextFrame.styleable(function(props, forwardedRef) {
const {
__scopeSelect,
className,
...itemTextProps
} = props, context = useSelectContext(ITEM_TEXT_NAME, __scopeSelect), itemParentContext = useSelectItemParentContext(ITEM_TEXT_NAME, __scopeSelect), ref = React30.useRef(null), composedRefs = useComposedRefs(forwardedRef, ref), itemContext = useSelectItemContext(ITEM_TEXT_NAME, __scopeSelect), contents = React30.useRef();
return contents.current = /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(SelectItemTextFrame, {
className,
size: itemParentContext.size,
id: itemContext.textId,
...itemTextProps,
ref: composedRefs
}), React30.useEffect(() => {
itemParentContext.initialValue === itemContext.value && !context.selectedIndex && context.setSelectedItem(contents.current);
}, []), React30.useEffect(() => itemParentContext.valueSubscribe((val) => {
val === itemContext.value && context.setSelectedItem(contents.current);
}), [itemContext.value]), itemParentContext.shouldRenderWebNative ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_jsx_runtime44.Fragment, {
children: props.children
}) : /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_jsx_runtime44.Fragment, {
children: contents.current
});
});
// node_modules/@tamagui/select/dist/esm/SelectScrollButton.mjs
var React31 = __toESM(require("react"), 1);
var import_react_dom6 = require("react-dom");
var import_jsx_runtime45 = require("react/jsx-runtime");
var SCROLL_UP_BUTTON_NAME = "SelectScrollUpButton";
var SelectScrollUpButton = React31.forwardRef((props, forwardedRef) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(SelectScrollButtonImpl, {
componentName: SCROLL_UP_BUTTON_NAME,
...props,
dir: "up",
ref: forwardedRef
}));
SelectScrollUpButton.displayName = SCROLL_UP_BUTTON_NAME;
var SCROLL_DOWN_BUTTON_NAME = "SelectScrollDownButton";
var SelectScrollDownButton = React31.forwardRef((props, forwardedRef) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(SelectScrollButtonImpl, {
componentName: SCROLL_DOWN_BUTTON_NAME,
...props,
dir: "down",
ref: forwardedRef
}));
SelectScrollDownButton.displayName = SCROLL_DOWN_BUTTON_NAME;
var SelectScrollButtonImpl = React31.memo(React31.forwardRef((props, forwardedRef) => {
var _a, _b;
const {
__scopeSelect,
dir,
componentName,
...scrollIndicatorProps
} = props, {
forceUpdate,
open,
fallback,
setScrollTop,
setInnerOffset,
...context
} = useSelectContext(componentName, __scopeSelect), floatingRef = (_a = context.floatingContext) == null ? void 0 : _a.refs.floating, statusRef = React31.useRef("idle"), isVisible = context[dir === "down" ? "canScrollDown" : "canScrollUp"], frameRef = React31.useRef(), {
x,
y,
refs,
strategy
} = useFloating3({
open: open && isVisible,
strategy: "fixed",
elements: {
reference: floatingRef == null ? void 0 : floatingRef.current
},
placement: dir === "up" ? "top" : "bottom",
middleware: [offset3(({
rects
}) => -rects.floating.height)],
whileElementsMounted: (...args) => autoUpdate(...args, {
animationFrame: true
})
}), composedRef = useComposedRefs(forwardedRef, refs.setFloating);
if (!isVisible)
return null;
const onScroll = /* @__PURE__ */ __name((amount) => {
const floating = floatingRef;
floating && (fallback ? floating.current && (floating.current.scrollTop -= amount, (0, import_react_dom6.flushSync)(() => {
var _a2;
return setScrollTop(((_a2 = floating.current) == null ? void 0 : _a2.scrollTop) ?? 0);
})) : (0, import_react_dom6.flushSync)(() => setInnerOffset((value) => value - amount)));
}, "onScroll");
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(YStack, {
ref: composedRef,
componentName,
"aria-hidden": true,
...scrollIndicatorProps,
zIndex: 1e3,
position: strategy,
left: x || 0,
top: y || 0,
width: `calc(${(((_b = floatingRef == null ? void 0 : floatingRef.current) == null ? void 0 : _b.offsetWidth) ?? 0) - 2}px)`,
onPointerEnter: () => {
statusRef.current = "active";
let prevNow = Date.now();
function frame() {
const element = floatingRef == null ? void 0 : floatingRef.current;
if (element) {
const currentNow = Date.now(), msElapsed = currentNow - prevNow;
prevNow = currentNow;
const pixelsToScroll = msElapsed / 2, remainingPixels = dir === "up" ? element.scrollTop : element.scrollHeight - element.clientHeight - element.scrollTop, scrollRemaining = dir === "up" ? element.scrollTop - pixelsToScroll > 0 : element.scrollTop + pixelsToScroll < element.scrollHeight - element.clientHeight;
onScroll(dir === "up" ? Math.min(pixelsToScroll, remainingPixels) : Math.max(-pixelsToScroll, -remainingPixels)), scrollRemaining && (frameRef.current = requestAnimationFrame(frame));
}
}
__name(frame, "frame");
cancelAnimationFrame(frameRef.current), frameRef.current = requestAnimationFrame(frame);
},
onPointerLeave: () => {
statusRef.current = "idle", cancelAnimationFrame(frameRef.current);
}
});
}));
// node_modules/@tamagui/select/dist/esm/SelectTrigger.mjs
var import_core41 = require("@tamagui/core");
var React32 = __toESM(require("react"), 1);
var import_jsx_runtime46 = require("react/jsx-runtime");
var TRIGGER_NAME4 = "SelectTrigger";
var isPointerCoarse = import_core41.isWeb && import_core41.isClient ? window.matchMedia("(pointer:coarse)").matches : true;
var SelectTrigger = React32.forwardRef(function(props, forwardedRef) {
var _a;
const {
__scopeSelect,
disabled = false,
unstyled = false,
...triggerProps
} = props, context = useSelectContext(TRIGGER_NAME4, __scopeSelect), itemParentContext = useSelectItemParentContext(TRIGGER_NAME4, __scopeSelect), composedRefs = useComposedRefs(forwardedRef, (_a = context.floatingContext) == null ? void 0 : _a.refs.setReference);
return itemParentContext.shouldRenderWebNative ? null : /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(ListItem2, {
componentName: TRIGGER_NAME4,
unstyled,
tag: "button",
type: "button",
id: itemParentContext.id,
...!unstyled && {
backgrounded: true,
radiused: true,
hoverTheme: true,
pressTheme: true,
focusable: true,
focusVisibleStyle: {
outlineStyle: "solid",
outlineWidth: 2,
outlineColor: "$outlineColor"
},
borderWidth: 1,
size: itemParentContext.size
},
"aria-expanded": context.open,
"aria-autocomplete": "none",
dir: context.dir,
disabled,
"data-disabled": disabled ? "" : void 0,
...triggerProps,
ref: composedRefs,
...itemParentContext.interactions ? {
...itemParentContext.interactions.getReferenceProps(),
...isPointerCoarse ? {
onPress() {
itemParentContext.setOpen(!context.open);
}
} : {
onMouseDown() {
var _a2;
(_a2 = context.floatingContext) == null ? void 0 : _a2.update(), itemParentContext.setOpen(!context.open);
}
}
} : {
onPress() {
itemParentContext.setOpen(!context.open);
}
}
});
});
// node_modules/@tamagui/select/dist/esm/SelectViewport.mjs
var import_core42 = require("@tamagui/core");
var import_jsx_runtime47 = require("react/jsx-runtime");
var SelectViewportFrame = (0, import_core42.styled)(ThemeableStack, {
name: VIEWPORT_NAME,
variants: {
unstyled: {
false: {
size: "$2",
backgroundColor: "$background",
elevate: true,
bordered: true,
userSelect: "none",
outlineWidth: 0
}
},
size: {
"...size": (val, {
tokens: tokens2
}) => ({
borderRadius: tokens2.radius[val] ?? val
})
}
},
defaultVariants: {
unstyled: process.env.TAMAGUI_HEADLESS === "1"
}
});
var SelectViewport = SelectViewportFrame.styleable(function(props, forwardedRef) {
var _a;
const {
__scopeSelect,
children,
disableScroll,
...viewportProps
} = props, context = useSelectContext(VIEWPORT_NAME, __scopeSelect), itemContext = useSelectItemParentContext(VIEWPORT_NAME, __scopeSelect), breakpointActive = useSelectBreakpointActive(context.sheetBreakpoint);
if (useIsomorphicLayoutEffect(() => {
context.update && context.update();
}, [breakpointActive]), itemContext.shouldRenderWebNative)
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_jsx_runtime47.Fragment, {
children
});
if (breakpointActive || !isWeb)
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(PortalItem, {
hostName: `${context.scopeKey}SheetContents`,
children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(ForwardSelectContext, {
__scopeSelect,
itemContext,
context,
children
})
});
if (!itemContext.interactions)
return process.env.NODE_ENV === "development" && console.warn("No interactions provided to Select, potentially missing Adapt"), null;
const {
style,
// remove this, it was set to "Select" always
className,
...floatingProps
} = itemContext.interactions.getFloatingProps(), composedRefs = composeRefs(forwardedRef, (_a = context.floatingContext) == null ? void 0 : _a.refs.setFloating);
return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(import_jsx_runtime47.Fragment, {
children: [!disableScroll && !props.unstyled && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("style", {
dangerouslySetInnerHTML: {
__html: selectViewportCSS
}
}), /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(AnimatePresence, {
children: context.open ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(FloatingFocusManager, {
context: context.floatingContext,
modal: false,
children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(SelectViewportFrame, {
size: itemContext.size,
role: "presentation",
...viewportProps,
...style,
...floatingProps,
...!props.unstyled && {
overflowY: disableScroll ? void 0 : style.overflow ?? "auto"
},
ref: composedRefs,
children
}, "select-viewport")
}) : null
}), !context.open && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", {
style: {
display: "none"
},
children: props.children
})]
});
});
var selectViewportCSS = `
.is_SelectViewport {
scrollbar-width: none;
-webkit-overflow-scrolling: touch;
overscroll-behavior: contain;
}
.is_SelectViewport::-webkit-scrollbar{
display:none
}
`;
// node_modules/@tamagui/select/dist/esm/Select.mjs
var import_jsx_runtime48 = require("react/jsx-runtime");
var VALUE_NAME = "SelectValue";
var SelectValueFrame = (0, import_core43.styled)(SizableText, {
name: VALUE_NAME,
userSelect: "none"
});
var SelectValue = SelectValueFrame.styleable(function({
__scopeSelect,
children: childrenProp,
placeholder,
...props
}, forwardedRef) {
const context = useSelectContext(VALUE_NAME, __scopeSelect), itemParentContext = useSelectItemParentContext(VALUE_NAME, __scopeSelect), composedRefs = useComposedRefs(forwardedRef, context.onValueNodeChange), children = childrenProp ?? context.selectedItem, selectValueChildren = context.value == null || context.value === "" ? placeholder ?? children : children;
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(SelectValueFrame, {
...!props.unstyled && {
size: itemParentContext.size,
ellipse: true,
// we don't want events from the portalled `SelectValue` children to bubble
// through the item they came from
pointerEvents: "none"
},
ref: composedRefs,
...props,
children: unwrapSelectItem(selectValueChildren)
});
});
function unwrapSelectItem(selectValueChildren) {
return React33.Children.map(selectValueChildren, (child) => {
var _a, _b, _c;
if (child) {
if (((_b = (_a = child.type) == null ? void 0 : _a.staticConfig) == null ? void 0 : _b.componentName) === ITEM_TEXT_NAME)
return child.props.children;
if ((_c = child.props) == null ? void 0 : _c.children)
return unwrapSelectItem(child.props.children);
}
return child;
});
}
__name(unwrapSelectItem, "unwrapSelectItem");
var SelectIcon = (0, import_core43.styled)(XStack, {
name: "SelectIcon",
// @ts-ignore
"aria-hidden": true,
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Paragraph, {
children: "\u25BC"
})
});
var ITEM_INDICATOR_NAME = "SelectItemIndicator";
var SelectItemIndicatorFrame = (0, import_core43.styled)(XStack, {
name: ITEM_TEXT_NAME
});
var SelectItemIndicator = React33.forwardRef((props, forwardedRef) => {
const {
__scopeSelect,
...itemIndicatorProps
} = props, context = useSelectItemParentContext(ITEM_INDICATOR_NAME, __scopeSelect), itemContext = useSelectItemContext(ITEM_INDICATOR_NAME, __scopeSelect);
return context.shouldRenderWebNative ? null : itemContext.isSelected ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(SelectItemIndicatorFrame, {
"aria-hidden": true,
...itemIndicatorProps,
ref: forwardedRef
}) : null;
});
SelectItemIndicator.displayName = ITEM_INDICATOR_NAME;
var GROUP_NAME3 = "SelectGroup";
var [SelectGroupContextProvider, useSelectGroupContext] = createSelectContext(GROUP_NAME3);
var SelectGroupFrame = (0, import_core43.styled)(YStack, {
name: GROUP_NAME3,
width: "100%"
});
var NativeSelectTextFrame = (0, import_core43.styled)(SizableText, {
tag: "select",
backgroundColor: "$background",
borderColor: "$borderColor",
hoverStyle: {
backgroundColor: "$backgroundHover"
}
});
var NativeSelectFrame = (0, import_core43.styled)(ThemeableStack, {
name: "NativeSelect",
bordered: true,
userSelect: "none",
outlineWidth: 0,
paddingRight: 10,
variants: {
size: {
"...size": (val, extras) => {
const {
tokens: tokens2
} = extras, paddingHorizontal = (0, import_core43.getVariableValue)(tokens2.space[val]);
return {
borderRadius: tokens2.radius[val] ?? val,
minHeight: tokens2.size[val],
paddingRight: paddingHorizontal + 20,
paddingLeft: paddingHorizontal,
paddingVertical: getSpace(val, {
shift: -3
})
};
}
}
},
defaultVariants: {
size: "$2"
}
});
var SelectGroup = React33.forwardRef((props, forwardedRef) => {
const {
__scopeSelect,
...groupProps
} = props, groupId = React33.useId(), context = useSelectContext(GROUP_NAME3, __scopeSelect), itemParentContext = useSelectItemParentContext(GROUP_NAME3, __scopeSelect), size6 = itemParentContext.size ?? "$true", nativeSelectRef = React33.useRef(null), content = itemParentContext.shouldRenderWebNative ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(NativeSelectFrame, {
asChild: true,
size: size6,
value: context.value,
id: itemParentContext.id,
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(NativeSelectTextFrame, {
onChange: (event) => {
itemParentContext.onChange(event.currentTarget.value);
},
size: size6,
ref: nativeSelectRef,
style: {
color: "var(--color)",
// @ts-ignore
appearance: "none"
},
children: props.children
})
}) : /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(SelectGroupFrame, {
role: "group",
"aria-labelledby": groupId,
...groupProps,
ref: forwardedRef
});
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(SelectGroupContextProvider, {
scope: __scopeSelect,
id: groupId || "",
children: content
});
});
SelectGroup.displayName = GROUP_NAME3;
var LABEL_NAME = "SelectLabel";
var SelectLabel = React33.forwardRef((props, forwardedRef) => {
const {
__scopeSelect,
...labelProps
} = props, context = useSelectItemParentContext(LABEL_NAME, __scopeSelect), groupContext = useSelectGroupContext(LABEL_NAME, __scopeSelect);
return context.shouldRenderWebNative ? null : /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(ListItem2, {
tag: "div",
componentName: LABEL_NAME,
fontWeight: "800",
id: groupContext.id,
size: context.size,
...labelProps,
ref: forwardedRef
});
});
SelectLabel.displayName = LABEL_NAME;
var SelectSeparator = (0, import_core43.styled)(Separator, {
name: "SelectSeparator"
});
var SelectSheetController = /* @__PURE__ */ __name((props) => {
const context = useSelectContext("SelectSheetController", props.__scopeSelect), showSheet = useShowSelectSheet(context), breakpointActive = useSelectBreakpointActive(context.sheetBreakpoint), getShowSheet = (0, import_core43.useGet)(showSheet);
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(SheetController, {
onOpenChange: (val) => {
getShowSheet() && props.onOpenChange(val);
},
open: context.open,
hidden: breakpointActive === false,
children: props.children
});
}, "SelectSheetController");
var SelectSheetImpl = /* @__PURE__ */ __name((props) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_jsx_runtime48.Fragment, {
children: props.children
}), "SelectSheetImpl");
var Select = withStaticProperties((props) => {
const {
__scopeSelect,
native,
children,
open: openProp,
defaultOpen,
onOpenChange,
value: valueProp,
defaultValue: defaultValue2,
onValueChange,
disablePreventBodyScroll,
size: sizeProp = "$true",
onActiveChange,
dir,
id
} = props, internalId = React33.useId(), scopeKey = __scopeSelect ? Object.keys(__scopeSelect)[0] ?? internalId : internalId, {
when,
AdaptProvider
} = useAdaptParent({
Contents: React33.useCallback(() => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(PortalHost, {
name: `${scopeKey}SheetContents`
}), [scopeKey])
}), sheetBreakpoint = when, SelectImpl = useSelectBreakpointActive(sheetBreakpoint) || !isWeb ? SelectSheetImpl : SelectInlineImpl, forceUpdate = React33.useReducer(() => ({}), {})[1], [selectedItem, setSelectedItem] = React33.useState(null), [open, setOpen] = useControllableState({
prop: openProp,
defaultProp: defaultOpen || false,
onChange: onOpenChange
}), [value, setValue] = useControllableState({
prop: valueProp,
defaultProp: defaultValue2 || "",
onChange: onValueChange,
transition: true
});
React33.useEffect(() => {
open && emitValue(value);
}, [open]), React33.useEffect(() => {
emitValue(value);
}, [value]);
const [activeIndex, setActiveIndex] = React33.useState(0), [emitValue, valueSubscribe] = useEmitter(), [emitActiveIndex, activeIndexSubscribe] = useEmitter(), selectedIndexRef = React33.useRef(null), activeIndexRef = React33.useRef(null), listContentRef = React33.useRef([]), [selectedIndex, setSelectedIndex] = React33.useState(0), [valueNode, setValueNode] = React33.useState(null);
useIsomorphicLayoutEffect(() => {
selectedIndexRef.current = selectedIndex, activeIndexRef.current = activeIndex;
});
const shouldRenderWebNative = isWeb && (native === true || native === "web" || Array.isArray(native) && native.includes("web")), setActiveIndexDebounced = useDebounce((index3) => {
setActiveIndex((prev) => prev !== index3 && typeof index3 == "number" && activeIndexRef.current !== index3 ? (emitActiveIndex(index3), index3) : null);
}, 1, {}, []);
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(AdaptProvider, {
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(SelectItemParentProvider, {
scope: __scopeSelect,
initialValue: React33.useMemo(() => value, [open]),
size: sizeProp,
activeIndexSubscribe,
valueSubscribe,
setOpen,
id,
onChange: React33.useCallback((val) => {
setValue(val), emitValue(val);
}, []),
onActiveChange: (0, import_core43.useEvent)((...args) => {
onActiveChange == null ? void 0 : onActiveChange(...args);
}),
setSelectedIndex,
setValueAtIndex: React33.useCallback((index3, value2) => {
listContentRef.current[index3] = value2;
}, []),
shouldRenderWebNative,
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(SelectProvider, {
scope: __scopeSelect,
disablePreventBodyScroll,
dir,
blockSelection: false,
fallback: false,
selectedItem,
setSelectedItem,
forceUpdate,
valueNode,
onValueNodeChange: setValueNode,
scopeKey,
sheetBreakpoint,
activeIndex,
selectedIndex,
setActiveIndex: setActiveIndexDebounced,
value,
open,
native,
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(SelectSheetController, {
onOpenChange: setOpen,
__scopeSelect,
children: shouldRenderWebNative ? children : /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(SelectImpl, {
activeIndexRef,
listContentRef,
selectedIndexRef,
...props,
open,
value,
children
})
})
})
})
});
}, {
Adapt,
Content: SelectContent,
Group: SelectGroup,
Icon: SelectIcon,
Item: SelectItem,
ItemIndicator: SelectItemIndicator,
ItemText: SelectItemText,
Label: SelectLabel,
ScrollDownButton: SelectScrollDownButton,
ScrollUpButton: SelectScrollUpButton,
Trigger: SelectTrigger,
Value: SelectValue,
Viewport: SelectViewport,
Sheet: Sheet.Controlled
});
function useEmitter() {
const listeners = React33.useRef();
listeners.current || (listeners.current = /* @__PURE__ */ new Set());
const emit = /* @__PURE__ */ __name((value) => {
listeners.current.forEach((l) => l(value));
}, "emit"), subscribe2 = React33.useCallback((listener) => (listeners.current.add(listener), () => {
listeners.current.delete(listener);
}), []);
return [emit, subscribe2];
}
__name(useEmitter, "useEmitter");
Select.displayName = SELECT_NAME;
// node_modules/@tamagui/slider/dist/esm/Slider.mjs
var import_core45 = require("@tamagui/core");
var React35 = __toESM(require("react"), 1);
// node_modules/@tamagui/slider/dist/esm/constants.mjs
var SLIDER_NAME = "Slider";
var [createSliderContext, createSliderScope] = createContextScope(SLIDER_NAME);
var [SliderProvider, useSliderContext] = createSliderContext(SLIDER_NAME);
var [SliderOrientationProvider, useSliderOrientationContext] = createSliderContext(SLIDER_NAME, {
startEdge: "left",
endEdge: "right",
sizeProp: "width",
size: 0,
direction: 1
});
var PAGE_KEYS = ["PageUp", "PageDown"];
var ARROW_KEYS2 = ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"];
var BACK_KEYS = {
ltr: ["ArrowDown", "Home", "ArrowLeft", "PageDown"],
rtl: ["ArrowDown", "Home", "ArrowRight", "PageDown"]
};
// node_modules/@tamagui/slider/dist/esm/helpers.mjs
function getNextSortedValues(prevValues = [], nextValue, atIndex) {
const nextValues = [...prevValues];
return nextValues[atIndex] = nextValue, nextValues.sort((a, b) => a - b);
}
__name(getNextSortedValues, "getNextSortedValues");
function convertValueToPercentage(value, min2, max2) {
return 100 / (max2 - min2) * (value - min2);
}
__name(convertValueToPercentage, "convertValueToPercentage");
function getLabel(index3, totalValues) {
if (totalValues > 2)
return `Value ${index3 + 1} of ${totalValues}`;
if (totalValues === 2)
return ["Minimum", "Maximum"][index3];
}
__name(getLabel, "getLabel");
function getClosestValueIndex(values, nextValue) {
if (values.length === 1)
return 0;
const distances = values.map((value) => Math.abs(value - nextValue)), closestDistance = Math.min(...distances);
return distances.indexOf(closestDistance);
}
__name(getClosestValueIndex, "getClosestValueIndex");
function getThumbInBoundsOffset(width, left, direction) {
const quarterWidth = width / 4, offset4 = linearScale([0, 50], [0, quarterWidth]);
return (quarterWidth - offset4(left) * direction) * direction;
}
__name(getThumbInBoundsOffset, "getThumbInBoundsOffset");
function getStepsBetweenValues(values) {
return values.slice(0, -1).map((value, index3) => values[index3 + 1] - value);
}
__name(getStepsBetweenValues, "getStepsBetweenValues");
function hasMinStepsBetweenValues(values, minStepsBetweenValues) {
if (minStepsBetweenValues > 0) {
const stepsBetweenValues = getStepsBetweenValues(values);
return Math.min(...stepsBetweenValues) >= minStepsBetweenValues;
}
return true;
}
__name(hasMinStepsBetweenValues, "hasMinStepsBetweenValues");
function linearScale(input, output) {
return (value) => {
if (input[0] === input[1] || output[0] === output[1])
return output[0];
const ratio = (output[1] - output[0]) / (input[1] - input[0]);
return output[0] + ratio * (value - input[0]);
};
}
__name(linearScale, "linearScale");
function getDecimalCount(value) {
return (String(value).split(".")[1] || "").length;
}
__name(getDecimalCount, "getDecimalCount");
function roundValue(value, decimalCount) {
const rounder = 10 ** decimalCount;
return Math.round(value * rounder) / rounder;
}
__name(roundValue, "roundValue");
// node_modules/@tamagui/slider/dist/esm/SliderImpl.mjs
var import_core44 = require("@tamagui/core");
var React34 = __toESM(require("react"), 1);
var import_jsx_runtime49 = require("react/jsx-runtime");
var SliderFrame = (0, import_core44.styled)(YStack, {
position: "relative",
variants: {
orientation: {
horizontal: {},
vertical: {}
},
size: (val, extras) => {
if (!val)
return;
const orientation = extras.props.orientation, size6 = Math.round((0, import_core44.getVariableValue)(getSize(val)) / 6);
return orientation === "horizontal" ? {
height: size6,
borderRadius: size6,
justifyContent: "center"
} : {
width: size6,
borderRadius: size6,
alignItems: "center"
};
}
}
});
var SliderImpl = React34.forwardRef((props, forwardedRef) => {
const {
__scopeSlider,
onSlideStart,
onSlideMove,
onSlideEnd,
onHomeKeyDown,
onEndKeyDown,
onStepKeyDown,
...sliderProps
} = props, context = useSliderContext(SLIDER_NAME, __scopeSlider);
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(SliderFrame, {
size: "$4",
...sliderProps,
"data-orientation": sliderProps.orientation,
ref: forwardedRef,
...isWeb && {
onKeyDown: (event) => {
event.key === "Home" ? (onHomeKeyDown(event), event.preventDefault()) : event.key === "End" ? (onEndKeyDown(event), event.preventDefault()) : PAGE_KEYS.concat(ARROW_KEYS2).includes(event.key) && (onStepKeyDown(event), event.preventDefault());
}
},
onMoveShouldSetResponderCapture: () => true,
onScrollShouldSetResponder: () => true,
onScrollShouldSetResponderCapture: () => true,
onMoveShouldSetResponder: () => true,
onStartShouldSetResponder: () => true,
onResponderTerminationRequest: () => false,
onResponderGrant: composeEventHandlers(props.onResponderGrant, (event) => {
const target = event.target, thumbIndex = context.thumbs.get(target), isStartingOnThumb = thumbIndex !== void 0;
isWeb && target instanceof HTMLElement && context.thumbs.has(target) && target.focus(), !isWeb && isStartingOnThumb && (context.valueIndexToChangeRef.current = thumbIndex), onSlideStart(event, isStartingOnThumb ? "thumb" : "track");
}),
onResponderMove: composeEventHandlers(props.onResponderMove, (event) => {
event.stopPropagation(), onSlideMove(event);
}),
onResponderRelease: composeEventHandlers(props.onResponderRelease, (event) => {
onSlideEnd(event);
})
});
});
// node_modules/@tamagui/slider/dist/esm/Slider.mjs
var import_jsx_runtime50 = require("react/jsx-runtime");
var SliderHorizontal = React35.forwardRef((props, forwardedRef) => {
const {
min: min2,
max: max2,
dir,
onSlideStart,
onSlideMove,
onStepKeyDown,
onSlideEnd,
...sliderProps
} = props, direction = useDirection(dir), isDirectionLTR = direction === "ltr", sliderRef = React35.useRef(null), [state, setState_] = React35.useState(() => ({
size: 0,
offset: 0
})), setState = (0, import_core45.createShallowSetState)(setState_);
function getValueFromPointer(pointerPosition) {
const input = [0, state.size];
return linearScale(input, isDirectionLTR ? [min2, max2] : [max2, min2])(pointerPosition);
}
__name(getValueFromPointer, "getValueFromPointer");
const measure = /* @__PURE__ */ __name(() => {
var _a;
(_a = sliderRef.current) == null ? void 0 : _a.measure((_x, _y, width, _height, pageX, _pageY) => {
setState({
size: width,
offset: pageX
});
});
}, "measure");
return isClient && useOnDebouncedWindowResize(measure), /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(SliderOrientationProvider, {
scope: props.__scopeSlider,
startEdge: isDirectionLTR ? "left" : "right",
endEdge: isDirectionLTR ? "right" : "left",
direction: isDirectionLTR ? 1 : -1,
sizeProp: "width",
size: state.size,
children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(SliderImpl, {
ref: composeRefs(forwardedRef, sliderRef),
dir: direction,
...sliderProps,
orientation: "horizontal",
onLayout: measure,
onSlideStart: (event, target) => {
const value = getValueFromPointer(event.nativeEvent.locationX);
value && (onSlideStart == null ? void 0 : onSlideStart(value, target, event));
},
onSlideMove: (event) => {
const value = getValueFromPointer(event.nativeEvent.pageX - state.offset);
value && (onSlideMove == null ? void 0 : onSlideMove(value, event));
},
onSlideEnd: (event) => {
const value = getValueFromPointer(event.nativeEvent.pageX - state.offset);
value && (onSlideEnd == null ? void 0 : onSlideEnd(event, value));
},
onStepKeyDown: (event) => {
const isBackKey = BACK_KEYS[direction].includes(event.key);
onStepKeyDown == null ? void 0 : onStepKeyDown({
event,
direction: isBackKey ? -1 : 1
});
}
})
});
});
function useOnDebouncedWindowResize(callback, amt = 200) {
React35.useEffect(() => {
let last;
const onResize = /* @__PURE__ */ __name(() => {
clearTimeout(last), last = setTimeout(callback, amt);
}, "onResize");
return window.addEventListener("resize", onResize), () => {
clearTimeout(last), window.removeEventListener("resize", onResize);
};
}, []);
}
__name(useOnDebouncedWindowResize, "useOnDebouncedWindowResize");
var SliderVertical = React35.forwardRef((props, forwardedRef) => {
const {
min: min2,
max: max2,
onSlideStart,
onSlideMove,
onStepKeyDown,
onSlideEnd,
...sliderProps
} = props, [state, setState_] = React35.useState(() => ({
size: 0,
offset: 0
})), setState = (0, import_core45.createShallowSetState)(setState_), sliderRef = React35.useRef(null);
function getValueFromPointer(pointerPosition) {
const input = [0, state.size];
return linearScale(input, [max2, min2])(pointerPosition);
}
__name(getValueFromPointer, "getValueFromPointer");
const measure = /* @__PURE__ */ __name(() => {
var _a;
(_a = sliderRef.current) == null ? void 0 : _a.measure((_x, _y, _width, height, _pageX, pageY) => {
setState({
size: height,
offset: pageY
});
});
}, "measure");
return isClient && useOnDebouncedWindowResize(measure), /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(SliderOrientationProvider, {
scope: props.__scopeSlider,
startEdge: "bottom",
endEdge: "top",
sizeProp: "height",
size: state.size,
direction: 1,
children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(SliderImpl, {
ref: composeRefs(forwardedRef, sliderRef),
...sliderProps,
orientation: "vertical",
onLayout: measure,
onSlideStart: (event, target) => {
const value = getValueFromPointer(event.nativeEvent.locationY);
value && (onSlideStart == null ? void 0 : onSlideStart(value, target, event));
},
onSlideMove: (event) => {
const value = getValueFromPointer(event.nativeEvent.pageY - state.offset);
value && (onSlideMove == null ? void 0 : onSlideMove(value, event));
},
onSlideEnd: (event) => {
const value = getValueFromPointer(event.nativeEvent.pageY - state.offset);
onSlideEnd == null ? void 0 : onSlideEnd(event, value);
},
onStepKeyDown: (event) => {
const isBackKey = BACK_KEYS.ltr.includes(event.key);
onStepKeyDown == null ? void 0 : onStepKeyDown({
event,
direction: isBackKey ? -1 : 1
});
}
})
});
});
var TRACK_NAME = "SliderTrack";
var SliderTrackFrame = (0, import_core45.styled)(SliderFrame, {
name: "SliderTrack",
variants: {
unstyled: {
false: {
height: "100%",
width: "100%",
backgroundColor: "$background",
position: "relative",
borderRadius: 1e5,
overflow: "hidden"
}
}
},
defaultVariants: {
unstyled: process.env.TAMAGUI_HEADLESS === "1"
}
});
var SliderTrack = React35.forwardRef((props, forwardedRef) => {
const {
__scopeSlider,
...trackProps
} = props, context = useSliderContext(TRACK_NAME, __scopeSlider);
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(SliderTrackFrame, {
"data-disabled": context.disabled ? "" : void 0,
"data-orientation": context.orientation,
orientation: context.orientation,
size: context.size,
...trackProps,
ref: forwardedRef
});
});
SliderTrack.displayName = TRACK_NAME;
var RANGE_NAME = "SliderTrackActive";
var SliderTrackActiveFrame = (0, import_core45.styled)(SliderFrame, {
name: "SliderTrackActive",
backgroundColor: "$background",
position: "absolute"
});
var SliderTrackActive = React35.forwardRef((props, forwardedRef) => {
const {
__scopeSlider,
...rangeProps
} = props, context = useSliderContext(RANGE_NAME, __scopeSlider), orientation = useSliderOrientationContext(RANGE_NAME, __scopeSlider), ref = React35.useRef(null), composedRefs = useComposedRefs(forwardedRef, ref), valuesCount = context.values.length, percentages = context.values.map((value) => convertValueToPercentage(value, context.min, context.max)), offsetStart = valuesCount > 1 ? Math.min(...percentages) : 0, offsetEnd = 100 - Math.max(...percentages);
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(SliderTrackActiveFrame, {
orientation: context.orientation,
"data-orientation": context.orientation,
"data-disabled": context.disabled ? "" : void 0,
size: context.size,
animateOnly: ["left", "top", "right", "bottom"],
...rangeProps,
ref: composedRefs,
[orientation.startEdge]: `${offsetStart}%`,
[orientation.endEdge]: `${offsetEnd}%`,
...orientation.sizeProp === "width" ? {
height: "100%"
} : {
left: 0,
right: 0
}
});
});
SliderTrackActive.displayName = RANGE_NAME;
var THUMB_NAME = "SliderThumb";
var getThumbSize = /* @__PURE__ */ __name((val) => {
const tokens2 = (0, import_core45.getTokens)(), size6 = typeof val == "number" ? val : getSize(tokens2.size[val], {
shift: -1
});
return {
width: size6,
height: size6,
minWidth: size6,
minHeight: size6
};
}, "getThumbSize");
var SliderThumbFrame = (0, import_core45.styled)(ThemeableStack, {
name: "SliderThumb",
variants: {
size: {
"...size": getThumbSize
},
unstyled: {
false: {
position: "absolute",
bordered: 2,
borderWidth: 2,
backgrounded: true,
pressTheme: isWeb,
focusTheme: isWeb,
hoverTheme: isWeb
}
}
},
defaultVariants: {
unstyled: process.env.TAMAGUI_HEADLESS === "1"
}
});
var SliderThumb = React35.memo(SliderThumbFrame.styleable(function(props, forwardedRef) {
const {
__scopeSlider,
index: index3,
size: sizeProp,
...thumbProps
} = props, context = useSliderContext(THUMB_NAME, __scopeSlider), orientation = useSliderOrientationContext(THUMB_NAME, __scopeSlider), [thumb, setThumb] = React35.useState(null), composedRefs = useComposedRefs(forwardedRef, (node) => setThumb(node)), value = context.values[index3], percent = value === void 0 ? 0 : convertValueToPercentage(value, context.min, context.max), label = getLabel(index3, context.values.length), sizeIn = sizeProp ?? context.size ?? "$true", [size6, setSize] = React35.useState(() => (0, import_core45.getVariableValue)(getThumbSize(sizeIn).width)), thumbInBoundsOffset = size6 ? getThumbInBoundsOffset(size6, percent, orientation.direction) : 0;
React35.useEffect(() => {
if (thumb)
return context.thumbs.set(thumb, index3), () => {
context.thumbs.delete(thumb);
};
}, [thumb, context.thumbs, index3]);
const positionalStyles = context.orientation === "horizontal" ? {
x: thumbInBoundsOffset - size6 / 2,
y: -size6 / 2,
top: "50%",
...size6 === 0 && {
top: "auto",
bottom: "auto"
}
} : {
x: -size6 / 2,
y: size6 / 2,
left: "50%",
...size6 === 0 && {
left: "auto",
right: "auto"
}
};
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(SliderThumbFrame, {
ref: composedRefs,
role: "slider",
"aria-label": props["aria-label"] || label,
"aria-valuemin": context.min,
"aria-valuenow": value,
"aria-valuemax": context.max,
"aria-orientation": context.orientation,
"data-orientation": context.orientation,
"data-disabled": context.disabled ? "" : void 0,
tabIndex: context.disabled ? void 0 : 0,
animateOnly: ["transform", "left", "top", "right", "bottom"],
...positionalStyles,
[orientation.startEdge]: `${percent}%`,
size: sizeIn,
...thumbProps,
onLayout: (e) => {
setSize(e.nativeEvent.layout[orientation.sizeProp]);
},
onFocus: composeEventHandlers(props.onFocus, () => {
context.valueIndexToChangeRef.current = index3;
})
});
}));
var SliderComponent = React35.forwardRef((props, forwardedRef) => {
const {
name,
min: min2 = 0,
max: max2 = 100,
step = 1,
orientation = "horizontal",
disabled = false,
minStepsBetweenThumbs = 0,
defaultValue: defaultValue2 = [min2],
value,
onValueChange = /* @__PURE__ */ __name(() => {
}, "onValueChange"),
size: sizeProp,
onSlideEnd,
onSlideMove,
onSlideStart,
...sliderProps
} = props, sliderRef = React35.useRef(null), composedRefs = useComposedRefs(sliderRef, forwardedRef), thumbRefs = React35.useRef(/* @__PURE__ */ new Map()), valueIndexToChangeRef = React35.useRef(0), isHorizontal = orientation === "horizontal", [values = [], setValues] = useControllableState({
prop: value,
defaultProp: defaultValue2,
transition: true,
onChange: (value2) => {
updateThumbFocus(valueIndexToChangeRef.current), onValueChange(value2);
}
});
isWeb && React35.useEffect(() => {
const node = sliderRef.current;
if (!node)
return;
const preventDefault = /* @__PURE__ */ __name((e) => {
e.preventDefault();
}, "preventDefault");
return node.addEventListener("touchstart", preventDefault), () => {
node.removeEventListener("touchstart", preventDefault);
};
}, []);
function updateThumbFocus(focusIndex) {
if (isWeb) {
for (const [node, index3] of thumbRefs.current.entries())
if (index3 === focusIndex) {
node.focus();
return;
}
}
}
__name(updateThumbFocus, "updateThumbFocus");
function handleSlideMove(value2, event) {
updateValues(value2, valueIndexToChangeRef.current), onSlideMove == null ? void 0 : onSlideMove(event, value2);
}
__name(handleSlideMove, "handleSlideMove");
function updateValues(value2, atIndex) {
const decimalCount = getDecimalCount(step), snapToStep = roundValue(Math.round((value2 - min2) / step) * step + min2, decimalCount), nextValue = clamp(snapToStep, [min2, max2]);
setValues((prevValues = []) => {
const nextValues = getNextSortedValues(prevValues, nextValue, atIndex);
return hasMinStepsBetweenValues(nextValues, minStepsBetweenThumbs * step) ? (valueIndexToChangeRef.current = nextValues.indexOf(nextValue), String(nextValues) === String(prevValues) ? prevValues : nextValues) : prevValues;
});
}
__name(updateValues, "updateValues");
const SliderOriented = isHorizontal ? SliderHorizontal : SliderVertical;
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(SliderProvider, {
scope: props.__scopeSlider,
disabled,
min: min2,
max: max2,
valueIndexToChangeRef,
thumbs: thumbRefs.current,
values,
orientation,
size: sizeProp,
children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(SliderOriented, {
"aria-disabled": disabled,
"data-disabled": disabled ? "" : void 0,
...sliderProps,
ref: composedRefs,
min: min2,
max: max2,
onSlideEnd,
onSlideStart: disabled ? void 0 : (value2, target, event) => {
if (target !== "thumb") {
const closestIndex = getClosestValueIndex(values, value2);
updateValues(value2, closestIndex);
}
onSlideStart == null ? void 0 : onSlideStart(event, value2, target);
},
onSlideMove: disabled ? void 0 : handleSlideMove,
onHomeKeyDown: () => !disabled && updateValues(min2, 0),
onEndKeyDown: () => !disabled && updateValues(max2, values.length - 1),
onStepKeyDown: ({
event,
direction: stepDirection
}) => {
if (!disabled) {
const multiplier = PAGE_KEYS.includes(event.key) || event.shiftKey && ARROW_KEYS2.includes(event.key) ? 10 : 1, atIndex = valueIndexToChangeRef.current, value2 = values[atIndex], stepInDirection = step * multiplier * stepDirection;
updateValues(value2 + stepInDirection, atIndex);
}
}
})
});
});
var Slider = withStaticProperties(SliderComponent, {
Track: SliderTrack,
TrackActive: SliderTrackActive,
Thumb: SliderThumb
});
Slider.displayName = SLIDER_NAME;
var Track = SliderTrack;
var Range = SliderTrackActive;
var Thumb = SliderThumb;
// node_modules/@tamagui/switch/dist/esm/createSwitch.mjs
var import_core48 = require("@tamagui/core");
// node_modules/@tamagui/switch-headless/dist/esm/useSwitch.mjs
var React36 = __toESM(require("react"), 1);
var import_jsx_runtime51 = require("react/jsx-runtime");
function getState5(checked) {
return checked ? "checked" : "unchecked";
}
__name(getState5, "getState");
var BubbleInput3 = /* @__PURE__ */ __name((props) => {
const {
control,
checked,
bubbles = true,
...inputProps
} = props, ref = React36.useRef(null), prevChecked = usePrevious(checked);
return React36.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
});
setChecked.call(input, checked), input.dispatchEvent(event);
}
}, [prevChecked, checked, bubbles]), // @ts-ignore
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("input", {
type: "checkbox",
"aria-hidden": true,
defaultChecked: checked,
...inputProps,
tabIndex: -1,
ref,
style: {
...props.style,
position: "absolute",
pointerEvents: "none",
opacity: 0,
margin: 0
}
});
}, "BubbleInput");
function useSwitch(props, [checked, setChecked], ref) {
const {
disabled,
name,
value,
required
} = props, hasConsumerStoppedPropagationRef = React36.useRef(false), [button, setButton] = React36.useState(null), composedRefs = useComposedRefs(ref, setButton), isFormControl = isWeb ? button ? !!button.closest("form") : true : false, labelId = useLabelContext(button), ariaLabelledBy = props["aria-labelledby"] || props.labeledBy || labelId;
return {
switchProps: {
role: "switch",
"aria-checked": checked,
...isWeb ? {
tabIndex: disabled ? void 0 : 0,
"data-state": getState5(checked),
"data-disabled": disabled ? "" : void 0,
disabled
} : {},
...props,
"aria-labelledby": ariaLabelledBy,
onPress: composeEventHandlers(props.onPress, (event) => {
setChecked((prevChecked) => !prevChecked), isWeb && isFormControl && (hasConsumerStoppedPropagationRef.current = event.isPropagationStopped(), hasConsumerStoppedPropagationRef.current || event.stopPropagation());
})
},
switchRef: composedRefs,
/**
* insert as a sibling of your switch (should not be inside the switch)
*/
bubbleInput: isWeb && isFormControl ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(BubbleInput3, {
control: button,
bubbles: !hasConsumerStoppedPropagationRef.current,
name,
value,
checked,
required,
disabled,
style: {
transform: "translateX(-100%)"
}
}) : null
};
}
__name(useSwitch, "useSwitch");
// node_modules/@tamagui/switch/dist/esm/createSwitch.mjs
var React37 = __toESM(require("react"), 1);
var import_react_native_web10 = __toESM(require_cjs20(), 1);
// node_modules/@tamagui/switch/dist/esm/StyledContext.mjs
var import_core46 = require("@tamagui/core");
var SwitchStyledContext = (0, import_core46.createStyledContext)({
size: void 0,
unstyled: process.env.TAMAGUI_HEADLESS === "1"
});
// node_modules/@tamagui/switch/dist/esm/Switch.mjs
var import_core47 = require("@tamagui/core");
var SwitchThumb = (0, import_core47.styled)(ThemeableStack, {
name: "SwitchThumb",
variants: {
unstyled: {
false: {
size: "$true",
backgroundColor: "$background",
borderRadius: 1e3
}
},
checked: {
true: {}
},
size: {
"...size": (val) => {
const size6 = getSwitchHeight(val);
return {
height: size6,
width: size6
};
}
}
},
defaultVariants: {
unstyled: process.env.TAMAGUI_HEADLESS === "1"
}
});
var getSwitchHeight = /* @__PURE__ */ __name((val) => Math.round((0, import_core47.getVariableValue)(getSize(val)) * 0.65), "getSwitchHeight");
var getSwitchWidth = /* @__PURE__ */ __name((val) => getSwitchHeight(val) * 2, "getSwitchWidth");
var SwitchFrame = (0, import_core47.styled)(YStack, {
name: "Switch",
tag: "button",
variants: {
unstyled: {
false: {
borderRadius: 1e3,
backgroundColor: "$background",
borderWidth: 2,
borderColor: "$background",
focusVisibleStyle: {
outlineColor: "$outlineColor",
outlineStyle: "solid",
outlineWidth: 2
}
}
},
checked: {
true: {}
},
size: {
"...size": (val) => {
const height = getSwitchHeight(val) + 4, width = getSwitchWidth(val) + 4;
return {
height,
minHeight: height,
width
};
}
}
},
defaultVariants: {
unstyled: process.env.TAMAGUI_HEADLESS === "1"
}
});
// node_modules/@tamagui/switch/dist/esm/createSwitch.mjs
var import_jsx_runtime52 = require("react/jsx-runtime");
var SwitchContext = React37.createContext({
checked: false,
disabled: false,
frameWidth: 0
});
function createSwitch(createProps) {
const {
disableActiveTheme,
Frame: Frame2 = SwitchFrame,
Thumb: Thumb2 = SwitchThumb
} = createProps;
process.env.NODE_ENV === "development" && (Frame2 !== SwitchFrame && Frame2.staticConfig.context && Frame2.staticConfig.context !== SwitchStyledContext || Thumb2 !== SwitchThumb && Thumb2.staticConfig.context && Thumb2.staticConfig.context !== SwitchStyledContext) && console.warn("Warning: createSwitch() needs to control context to pass checked state from Frame to Thumb, any custom context passed will be overridden."), Frame2.staticConfig.context = SwitchStyledContext, Thumb2.staticConfig.context = SwitchStyledContext;
const SwitchThumbComponent = Thumb2.styleable(function(props, forwardedRef) {
const {
size: sizeProp,
unstyled: unstyledProp,
nativeID,
...thumbProps
} = props, context = React37.useContext(SwitchContext), {
checked,
disabled,
frameWidth
} = context, styledContext = SwitchStyledContext.useStyledContext(), {
unstyled: unstyledContext,
size: sizeContext
} = styledContext, unstyled = process.env.TAMAGUI_HEADLESS === "1" ? true : unstyledProp ?? unstyledContext ?? false, size6 = sizeProp ?? sizeContext ?? "$true", initialChecked = React37.useRef(checked).current, [thumbWidth, setThumbWidth] = React37.useState(0), distance = frameWidth - thumbWidth, x = initialChecked ? checked ? 0 : -distance : checked ? distance : 0;
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Thumb2, {
ref: forwardedRef,
unstyled,
...unstyled === false && {
size: size6,
...!disableActiveTheme && {
theme: checked ? "active" : null
}
},
alignSelf: initialChecked ? "flex-end" : "flex-start",
x,
onLayout: (0, import_core48.composeEventHandlers)(props.onLayout, (e) => setThumbWidth(e.nativeEvent.layout.width)),
checked,
disabled,
...thumbProps
});
}), SwitchComponent = Frame2.styleable(function(_props, forwardedRef) {
const {
native,
nativeProps,
checked: checkedProp,
defaultChecked,
onCheckedChange,
...props
} = _props, [checked, setChecked] = useControllableState({
prop: checkedProp,
defaultProp: defaultChecked || false,
onChange: onCheckedChange,
transition: true
}), styledContext = React37.useContext(SwitchStyledContext.context), [frameWidth, setFrameWidth] = React37.useState(0), propsActive = (0, import_core48.useProps)(props, {
noNormalize: true,
noExpand: true,
resolveValues: "none",
forComponent: Frame2
}), {
switchProps,
bubbleInput,
switchRef
} = useSwitch(
// @ts-ignore
Object.assign({
size: styledContext.size ?? props.size ?? "$true",
unstyled: styledContext.unstyled ?? props.unstyled ?? false
}, propsActive),
[checked, setChecked],
forwardedRef
), renderNative = (0, import_core48.shouldRenderNativePlatform)(native);
return renderNative === "android" || renderNative === "ios" ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_react_native_web10.Switch, {
value: checked,
onValueChange: setChecked,
...nativeProps
}) : /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(SwitchContext.Provider, {
value: {
checked,
disabled: switchProps.disabled,
frameWidth
},
children: [/* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Frame2, {
ref: switchRef,
tag: "button",
...import_core48.isWeb && {
type: "button"
},
...switchProps,
...!disableActiveTheme && {
theme: checked ? "active" : null,
themeShallow: true
},
checked,
disabled: switchProps.disabled,
children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_core48.Stack, {
alignSelf: "stretch",
flex: 1,
onLayout: (e) => {
setFrameWidth(e.nativeEvent.layout.width);
},
children: switchProps.children
})
}), bubbleInput]
});
}, {
disableTheme: true
});
return (0, import_core48.withStaticProperties)(SwitchComponent, {
Thumb: SwitchThumbComponent
});
}
__name(createSwitch, "createSwitch");
// node_modules/@tamagui/switch/dist/esm/index.mjs
var Switch = createSwitch({
Frame: SwitchFrame,
Thumb: SwitchThumb
});
// node_modules/@tamagui/tabs/dist/esm/Tabs.mjs
var import_web19 = require("@tamagui/core");
var React38 = __toESM(require("react"), 1);
var import_jsx_runtime53 = require("react/jsx-runtime");
var TABS_CONTEXT = "TabsContext";
var TAB_LIST_NAME = "TabsList";
var TabsList = React38.forwardRef((props, forwardedRef) => {
const {
__scopeTabs,
loop = true,
children,
...listProps
} = props, context = useTabsContext(__scopeTabs);
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(RovingFocusGroup, {
__scopeRovingFocusGroup: __scopeTabs || TABS_CONTEXT,
orientation: context.orientation,
dir: context.dir,
loop,
asChild: true,
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Group, {
role: "tablist",
componentName: TAB_LIST_NAME,
"aria-orientation": context.orientation,
ref: forwardedRef,
orientation: context.orientation,
...listProps,
children
})
});
});
TabsList.displayName = TAB_LIST_NAME;
var TRIGGER_NAME5 = "TabsTrigger";
var TabsTriggerFrame = (0, import_web19.styled)(ThemeableStack, {
name: TRIGGER_NAME5,
tag: "button",
justifyContent: "center",
alignItems: "center",
flexWrap: "nowrap",
flexDirection: "row",
cursor: "pointer",
userSelect: "none",
variants: {
size: {
"...size": getButtonSized
},
disabled: {
true: {
pointerEvents: "none"
}
},
active: {
true: {
hoverStyle: {
backgroundColor: "$background"
},
focusStyle: {
backgroundColor: "$background"
}
}
},
unstyled: {
false: {
backgroundColor: "$background",
pressStyle: {
backgroundColor: "$backgroundPress"
},
hoverStyle: {
backgroundColor: "$backgroundHover"
},
focusStyle: {
backgroundColor: "$backgroundFocus"
}
}
}
},
defaultVariants: {
unstyled: process.env.TAMAGUI_HEADLESS === "1"
}
});
var TabsTrigger = TabsTriggerFrame.styleable((props, forwardedRef) => {
const {
__scopeTabs,
value,
disabled = false,
onInteraction,
disableActiveTheme,
...triggerProps
} = props, context = useTabsContext(__scopeTabs), triggerId = makeTriggerId(context.baseId, value), contentId = makeContentId(context.baseId, value), isSelected = value === context.value, [layout, setLayout] = React38.useState(null), triggerRef = React38.useRef(null), groupItemProps = useGroupItem({
disabled: !!disabled
});
return React38.useEffect(() => (context.registerTrigger(), () => context.unregisterTrigger()), []), React38.useEffect(() => {
if (!triggerRef.current || !isWeb)
return;
function getTriggerSize() {
triggerRef.current && setLayout({
width: triggerRef.current.offsetWidth,
height: triggerRef.current.offsetHeight,
x: triggerRef.current.offsetLeft,
y: triggerRef.current.offsetTop
});
}
__name(getTriggerSize, "getTriggerSize");
getTriggerSize();
const observer = new ResizeObserver(getTriggerSize);
return observer.observe(triggerRef.current), () => {
triggerRef.current && observer.unobserve(triggerRef.current);
};
}, [context.triggersCount]), React38.useEffect(() => {
isSelected && layout && (onInteraction == null ? void 0 : onInteraction("select", layout));
}, [isSelected, value, layout]), /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_web19.Theme, {
name: isSelected && !disableActiveTheme ? "active" : null,
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(RovingFocusGroup.Item, {
__scopeRovingFocusGroup: __scopeTabs || TABS_CONTEXT,
asChild: true,
focusable: !disabled,
active: isSelected,
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(TabsTriggerFrame, {
onLayout: (event) => {
isWeb || setLayout(event.nativeEvent.layout);
},
onHoverIn: composeEventHandlers(props.onHoverIn, () => {
layout && (onInteraction == null ? void 0 : onInteraction("hover", layout));
}),
onHoverOut: composeEventHandlers(props.onHoverOut, () => {
onInteraction == null ? void 0 : onInteraction("hover", null);
}),
role: "tab",
"aria-selected": isSelected,
"aria-controls": contentId,
"data-state": isSelected ? "active" : "inactive",
"data-disabled": disabled ? "" : void 0,
disabled,
id: triggerId,
...!props.unstyled && {
size: context.size
},
...groupItemProps,
...triggerProps,
ref: composeRefs(forwardedRef, triggerRef),
onPress: composeEventHandlers(props.onPress ?? void 0, (event) => {
const webChecks = !isWeb || event.button === 0 && event.ctrlKey === false;
!disabled && !isSelected && webChecks ? context.onChange(value) : event.preventDefault();
}),
...isWeb && {
type: "button",
onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {
[" ", "Enter"].includes(event.key) && (context.onChange(value), event.preventDefault());
}),
onFocus: composeEventHandlers(props.onFocus, (event) => {
layout && (onInteraction == null ? void 0 : onInteraction("focus", layout));
const isAutomaticActivation = context.activationMode !== "manual";
!isSelected && !disabled && isAutomaticActivation && context.onChange(value);
}),
onBlur: composeEventHandlers(props.onFocus, () => {
onInteraction == null ? void 0 : onInteraction("focus", null);
})
}
})
})
});
});
TabsTrigger.displayName = TRIGGER_NAME5;
var CONTENT_NAME4 = "TabsContent";
var TabsContentFrame = (0, import_web19.styled)(ThemeableStack, {
name: CONTENT_NAME4
});
var TabsContent = TabsContentFrame.styleable(function(props, forwardedRef) {
const {
__scopeTabs,
value,
forceMount,
children,
...contentProps
} = props, context = useTabsContext(__scopeTabs), isSelected = value === context.value, show = forceMount || isSelected, triggerId = makeTriggerId(context.baseId, value), contentId = makeContentId(context.baseId, value);
return show ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(TabsContentFrame, {
"data-state": isSelected ? "active" : "inactive",
"data-orientation": context.orientation,
role: "tabpanel",
"aria-labelledby": triggerId,
hidden: !show,
id: contentId,
tabIndex: 0,
...contentProps,
ref: forwardedRef,
children
}, value) : null;
});
var TABS_NAME = "Tabs";
var {
Provider: TabsProvider,
useStyledContext: useTabsContext
} = (0, import_web19.createStyledContext)();
var TabsFrame = (0, import_web19.styled)(SizableStack, {
name: TABS_NAME
});
var TabsComponent = TabsFrame.styleable((props, forwardedRef) => {
const {
__scopeTabs,
value: valueProp,
onValueChange,
defaultValue: defaultValue2,
orientation = "horizontal",
dir,
activationMode = "automatic",
size: size6 = "$true",
...tabsProps
} = props, direction = useDirection(dir), [value, setValue] = useControllableState({
prop: valueProp,
onChange: onValueChange,
defaultProp: defaultValue2 ?? ""
}), [triggersCount, setTriggersCount] = React38.useState(0), registerTrigger = (0, import_web19.useEvent)(() => setTriggersCount((v) => v + 1)), unregisterTrigger = (0, import_web19.useEvent)(() => setTriggersCount((v) => v - 1));
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(TabsProvider, {
scope: __scopeTabs,
baseId: React38.useId(),
value,
onChange: setValue,
orientation,
dir: direction,
activationMode,
size: size6,
registerTrigger,
triggersCount,
unregisterTrigger,
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(TabsFrame, {
direction,
"data-orientation": orientation,
...tabsProps,
ref: forwardedRef
})
});
});
var Tabs = withStaticProperties(TabsComponent, {
List: TabsList,
/**
* @deprecated Use Tabs.Tab instead
*/
Trigger: TabsTrigger,
Tab: TabsTrigger,
Content: TabsContent
});
Tabs.displayName = TABS_NAME;
function makeTriggerId(baseId, value) {
return `${baseId}-trigger-${value}`;
}
__name(makeTriggerId, "makeTriggerId");
function makeContentId(baseId, value) {
return `${baseId}-content-${value}`;
}
__name(makeContentId, "makeContentId");
// node_modules/tamagui/dist/esm/index.mjs
__reExport(esm_exports2, __toESM(require_cjs21(), 1));
// node_modules/@tamagui/toggle-group/dist/esm/ToggleGroup.mjs
var import_web21 = require("@tamagui/core");
var import_react52 = __toESM(require("react"), 1);
// node_modules/@tamagui/toggle-group/dist/esm/Toggle.mjs
var import_web20 = require("@tamagui/core");
var React39 = __toESM(require("react"), 1);
var import_jsx_runtime54 = require("react/jsx-runtime");
var NAME3 = "Toggle";
var ToggleFrame = (0, import_web20.styled)(ThemeableStack, {
name: NAME3,
tag: "button",
variants: {
unstyled: {
false: {
pressTheme: true,
backgroundColor: "$background",
alignItems: "center",
justifyContent: "center",
display: "flex",
borderColor: "$borderColor",
borderWidth: 1,
margin: -1,
hoverStyle: {
backgroundColor: "$backgroundHover"
},
pressStyle: {
backgroundColor: "$backgroundPress"
},
focusStyle: {
borderColor: "$borderColorFocus"
},
focusVisibleStyle: {
outlineColor: "$outlineColor",
outlineWidth: 2,
outlineStyle: "solid"
}
}
},
active: {
true: {
zIndex: 1,
hoverStyle: {
backgroundColor: "$background"
},
focusStyle: {
borderColor: "$borderColor",
backgroundColor: "$background"
}
}
},
orientation: {
horizontal: {
flexDirection: "row",
spaceDirection: "horizontal"
},
vertical: {
flexDirection: "column",
spaceDirection: "vertical"
}
}
},
defaultVariants: {
unstyled: process.env.TAMAGUI_HEADLESS === "1"
}
});
var Toggle = React39.forwardRef(function(props, forwardedRef) {
const {
pressed: pressedProp,
defaultPressed = false,
onPressedChange,
...buttonProps
} = props, [pressed = false, setPressed] = useControllableState({
prop: pressedProp,
onChange: onPressedChange,
defaultProp: defaultPressed
});
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(ToggleFrame, {
...!props.unstyled && {
theme: pressed ? "active" : null,
themeShallow: true
},
active: props.unstyled ? void 0 : pressed,
"aria-pressed": pressed,
"data-state": pressed ? "on" : "off",
"data-disabled": props.disabled ? "" : void 0,
...buttonProps,
ref: forwardedRef,
onPress: composeEventHandlers(props.onPress ?? void 0, () => {
props.disabled || setPressed(!pressed);
})
});
});
// node_modules/@tamagui/toggle-group/dist/esm/ToggleGroup.mjs
var import_jsx_runtime55 = require("react/jsx-runtime");
var TOGGLE_GROUP_NAME = "ToggleGroup";
var TOGGLE_GROUP_ITEM_NAME = "ToggleGroupItem";
var TOGGLE_GROUP_CONTEXT = "ToggleGroup";
var {
Provider: ToggleGroupItemProvider,
useStyledContext: useToggleGroupItemContext
} = (0, import_web21.createStyledContext)();
var {
Provider: ToggleGroupContext,
useStyledContext: useToggleGroupContext
} = (0, import_web21.createStyledContext)();
var ToggleGroupItem = ToggleFrame.extractable(import_react52.default.forwardRef((props, forwardedRef) => {
const {
disablePassStyles,
...rest
} = props, valueContext = useToggleGroupValueContext(props.__scopeToggleGroup), context = useToggleGroupContext(props.__scopeToggleGroup), pressed = valueContext == null ? void 0 : valueContext.value.includes(props.value), disabled = context.disabled || props.disabled || false, groupItemProps = useGroupItem({
disabled
}), size6 = props.size ?? context.size, sizeProps = props.unstyled ? {} : {
width: void 0,
height: void 0,
padding: (0, import_web21.getVariableValue)(size6) * 0.6
}, iconSize = (typeof size6 == "number" ? size6 * 0.7 : getFontSize(size6)) * 1.2, theme = (0, import_web21.useTheme)(), getThemedIcon = useGetThemedIcon({
size: iconSize,
color: theme.color
}), children = import_react52.default.Children.toArray(props.children).map((child) => props.disablePassStyles || !import_react52.default.isValidElement(child) ? child : getThemedIcon(child)), commonProps = {
pressed,
disabled,
...sizeProps,
...rest,
children
}, inner2 = /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(ToggleGroupItemImpl, {
...commonProps,
ref: forwardedRef,
focusable: !disabled,
disabled,
...groupItemProps
});
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(ToggleGroupItemProvider, {
scope: props.__scopeToggleGroup,
children: context.rovingFocus ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(RovingFocusGroup.Item, {
asChild: "except-style",
__scopeRovingFocusGroup: props.__scopeToggleGroup || TOGGLE_GROUP_CONTEXT,
focusable: !disabled,
active: pressed,
children: inner2
}) : inner2
});
}));
ToggleGroupItem.displayName = TOGGLE_GROUP_ITEM_NAME;
var ToggleGroupItemImpl = import_react52.default.forwardRef((props, forwardedRef) => {
const {
__scopeToggleGroup,
value,
...itemProps
} = props, valueContext = useToggleGroupValueContext(__scopeToggleGroup), singleProps = {
"aria-pressed": void 0
}, typeProps = valueContext.type === "single" ? singleProps : void 0;
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Toggle, {
...typeProps,
...itemProps,
ref: forwardedRef,
onPressedChange: (pressed) => {
pressed ? valueContext.onItemActivate(value) : valueContext.onItemDeactivate(value);
}
});
});
var ToggleGroup = withStaticProperties(import_react52.default.forwardRef((props, forwardedRef) => {
const {
type,
...toggleGroupProps
} = props;
if (isWeb || import_react52.default.useEffect(() => {
if (props.id)
return registerFocusable(props.id, {
// TODO: would be nice to focus on the first child later - could be done with reforest
// for now leaving it empty
focus: () => {
}
});
}, [props.id]), type === "single")
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(ToggleGroupImplSingle, {
...toggleGroupProps,
ref: forwardedRef
});
if (type === "multiple")
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(ToggleGroupImplMultiple, {
...toggleGroupProps,
ref: forwardedRef
});
throw new Error(`Missing prop \`type\` expected on \`${TOGGLE_GROUP_NAME}\``);
}), {
Item: ToggleGroupItem
});
ToggleGroup.displayName = TOGGLE_GROUP_NAME;
var {
Provider: ToggleGroupValueProvider,
useStyledContext: useToggleGroupValueContext
} = (0, import_web21.createStyledContext)();
var ToggleGroupImplSingle = import_react52.default.forwardRef((props, forwardedRef) => {
const {
value: valueProp,
defaultValue: defaultValue2,
onValueChange = /* @__PURE__ */ __name(() => {
}, "onValueChange"),
disableDeactivation = false,
...toggleGroupSingleProps
} = props, [value, setValue] = useControllableState({
prop: valueProp,
defaultProp: defaultValue2,
onChange: onValueChange
});
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(ToggleGroupValueProvider, {
scope: props.__scopeToggleGroup,
type: "single",
value: value ? [value] : [],
defaultValue: value,
onItemActivate: setValue,
onItemDeactivate: import_react52.default.useCallback(() => disableDeactivation ? null : setValue(""), [setValue, disableDeactivation]),
children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(ToggleGroupImpl, {
...toggleGroupSingleProps,
ref: forwardedRef
})
});
});
var ToggleGroupImplMultiple = import_react52.default.forwardRef((props, forwardedRef) => {
const {
value: valueProp,
defaultValue: defaultValue2,
onValueChange = /* @__PURE__ */ __name(() => {
}, "onValueChange"),
disableDeactivation,
...toggleGroupMultipleProps
} = props, [value = [], setValue] = useControllableState({
prop: valueProp,
defaultProp: defaultValue2,
onChange: onValueChange
}), handleButtonActivate = import_react52.default.useCallback((itemValue) => setValue((prevValue = []) => [...prevValue, itemValue]), [setValue]), handleButtonDeactivate = import_react52.default.useCallback((itemValue) => setValue((prevValue = []) => prevValue.filter((value2) => value2 !== itemValue)), [setValue]);
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(ToggleGroupValueProvider, {
scope: props.__scopeToggleGroup,
type: "multiple",
value,
defaultValue: value,
onItemActivate: handleButtonActivate,
onItemDeactivate: handleButtonDeactivate,
children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(ToggleGroupImpl, {
...toggleGroupMultipleProps,
ref: forwardedRef
})
});
});
ToggleGroup.displayName = TOGGLE_GROUP_NAME;
var ToggleGroupImplElementFrame = (0, import_web21.styled)(Group, {
name: TOGGLE_GROUP_NAME,
variants: {
unstyled: {
false: {
backgroundColor: "$background"
}
},
orientation: {
vertical: {
flexDirection: "column",
spaceDirection: "vertical"
},
horizontal: {
flexDirection: "row",
spaceDirection: "horizontal"
}
}
},
defaultVariants: {
unstyled: process.env.TAMAGUI_HEADLESS === "1"
}
});
var ToggleGroupImpl = ToggleGroupImplElementFrame.extractable(import_react52.default.forwardRef((props, forwardedRef) => {
const {
__scopeToggleGroup,
disabled = false,
orientation = "horizontal",
dir,
rovingFocus = true,
loop = true,
unstyled = false,
size: sizeProp = "$true",
sizeAdjust = 0,
...toggleGroupProps
} = props, direction = useDirection(dir), commonProps = {
role: "group",
dir: direction,
...toggleGroupProps
}, adjustedSize = (0, import_web21.getVariableValue)(getSize(sizeProp, {
shift: sizeAdjust
})), size6 = Math.round(adjustedSize * 0.45);
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(ToggleGroupContext, {
scope: __scopeToggleGroup,
rovingFocus,
disabled,
size: size6,
children: rovingFocus ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(RovingFocusGroup, {
asChild: "except-style",
__scopeRovingFocusGroup: __scopeToggleGroup || TOGGLE_GROUP_CONTEXT,
orientation,
dir: direction,
loop,
children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(ToggleGroupImplElementFrame, {
"aria-orientation": orientation,
orientation,
axis: orientation,
ref: forwardedRef,
"data-disabled": disabled ? "" : void 0,
unstyled,
...commonProps
})
}) : /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(ToggleGroupImplElementFrame, {
"aria-orientation": orientation,
ref: forwardedRef,
orientation,
"data-disabled": disabled ? "" : void 0,
unstyled,
...commonProps
})
});
}));
// node_modules/@tamagui/tooltip/dist/esm/Tooltip.mjs
var import_core49 = require("@tamagui/core");
var React41 = __toESM(require("react"), 1);
var import_jsx_runtime56 = require("react/jsx-runtime");
var TOOLTIP_SCOPE = "tooltip";
var TooltipContent = PopperContentFrame.extractable(React41.forwardRef(({
__scopeTooltip,
...props
}, ref) => {
const popper = usePopperContext(__scopeTooltip || TOOLTIP_SCOPE), padding = props.padding ?? props.size ?? popper.size ?? getSize("$true", {
shift: -2
});
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(PopoverContent, {
__scopePopover: __scopeTooltip || TOOLTIP_SCOPE,
componentName: "Tooltip",
disableRemoveScroll: true,
disableFocusScope: true,
...!props.unstyled && {
padding
},
ref,
...props
});
}));
var TooltipArrow = React41.forwardRef((props, ref) => {
const {
__scopeTooltip,
...rest
} = props;
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(PopoverArrow, {
__scopePopper: __scopeTooltip || TOOLTIP_SCOPE,
componentName: "Tooltip",
ref,
...rest
});
});
var TooltipGroup = /* @__PURE__ */ __name(({
children,
delay
}) => /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(FloatingDelayGroup, {
delay: React41.useMemo(() => delay, [JSON.stringify(delay)]),
children
}), "TooltipGroup");
var TooltipComponent = React41.forwardRef(function(props, ref) {
const {
children,
delay: delayProp,
restMs = typeof delayProp > "u" ? 500 : typeof delayProp == "number" ? delayProp : 0,
onOpenChange: onOpenChangeProp,
focus: focus2,
open: openProp,
disableAutoCloseOnScroll,
__scopeTooltip,
...restProps
} = props, triggerRef = React41.useRef(null), [hasCustomAnchor, setHasCustomAnchor] = React41.useState(false), {
delay: delayGroup,
setCurrentId
} = useDelayGroupContext(), delay = delayProp ?? delayGroup, [open, setOpen] = useControllableState({
prop: openProp,
defaultProp: false,
onChange: onOpenChangeProp
}), id = props.groupId, onOpenChange = (0, import_core49.useEvent)((open2) => {
open2 && setCurrentId(id), setOpen(open2);
});
React41.useEffect(() => {
if (!open || disableAutoCloseOnScroll || typeof document > "u")
return;
const openIt = /* @__PURE__ */ __name(() => {
setOpen(false);
}, "openIt");
return document.documentElement.addEventListener("scroll", openIt), () => {
document.documentElement.removeEventListener("scroll", openIt);
};
}, [open, disableAutoCloseOnScroll]);
const useFloatingFn = /* @__PURE__ */ __name((props2) => {
const floating = useFloating3({
...props2,
open,
onOpenChange
}), {
getReferenceProps,
getFloatingProps
} = useInteractions([useHover(floating.context, {
delay,
restMs
}), useFocus(floating.context, focus2), useRole(floating.context, {
role: "tooltip"
}), useDismiss(floating.context), useDelayGroup(floating.context, {
id
})]);
return {
...floating,
open,
getReferenceProps,
getFloatingProps
};
}, "useFloatingFn"), useFloatingContext2 = React41.useCallback(useFloatingFn, [id, delay, open, restMs, focus2 ? JSON.stringify(focus2) : 0]), onCustomAnchorAdd = React41.useCallback(() => setHasCustomAnchor(true), []), onCustomAnchorRemove = React41.useCallback(() => setHasCustomAnchor(false), []), contentId = React41.useId(), smallerSize = props.unstyled ? null : getSize("$true", {
shift: -2,
bounds: [0]
});
return (
// TODO: FloatingOverrideContext might also need to be scoped
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(FloatingOverrideContext.Provider, {
value: useFloatingContext2,
children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Popper, {
__scopePopper: __scopeTooltip || TOOLTIP_SCOPE,
size: smallerSize == null ? void 0 : smallerSize.key,
allowFlip: true,
stayInFrame: true,
...restProps,
children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(PopoverContext.Provider, {
contentId,
triggerRef,
sheetBreakpoint: false,
open,
scope: __scopeTooltip || TOOLTIP_SCOPE,
onOpenChange: setOpen,
onOpenToggle: voidFn,
hasCustomAnchor,
onCustomAnchorAdd,
onCustomAnchorRemove,
children
})
})
})
);
});
var TooltipTrigger = React41.forwardRef(function(props, ref) {
const {
__scopeTooltip,
...rest
} = props;
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(PopoverTrigger, {
...rest,
__scopePopover: __scopeTooltip || TOOLTIP_SCOPE,
ref
});
});
var TooltipAnchor = React41.forwardRef(function(props, ref) {
const {
__scopeTooltip,
...rest
} = props;
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(PopoverAnchor, {
...rest,
__scopePopover: __scopeTooltip || TOOLTIP_SCOPE,
ref
});
});
var Tooltip2 = withStaticProperties(TooltipComponent, {
Anchor: TooltipAnchor,
Arrow: TooltipArrow,
Content: TooltipContent,
Trigger: TooltipTrigger
});
var voidFn = /* @__PURE__ */ __name(() => {
}, "voidFn");
// node_modules/@tamagui/tooltip/dist/esm/TooltipSimple.mjs
var React42 = __toESM(require("react"), 1);
var import_jsx_runtime57 = require("react/jsx-runtime");
var TooltipSimple = React42.forwardRef(({
label,
children,
contentProps,
disabled,
...tooltipProps
}, ref) => {
let context;
try {
context = useDelayGroupContext();
} catch {
}
const child = React42.Children.only(children), contents = /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(Tooltip2, {
offset: 15,
restMs: 40,
delay: 40,
...tooltipProps,
...disabled ? {
open: false
} : null,
children: [/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Tooltip2.Trigger, {
...typeof label == "string" && {
"aria-label": label
},
asChild: "except-style",
children: ref && React42.isValidElement(child) ? React42.cloneElement(child, {
ref
}) : child
}), /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(Tooltip2.Content, {
zIndex: 1e9,
enterStyle: {
x: 0,
y: -8,
opacity: 0,
scale: 0.93
},
exitStyle: {
x: 0,
y: -8,
opacity: 0,
scale: 0.93
},
x: 0,
scale: 1,
y: 0,
elevation: "$1",
opacity: 1,
paddingVertical: getSpace(tooltipProps.size || "$true", {
shift: -4
}),
animateOnly: ["transform", "opacity"],
animation: ["quicker", {
opacity: {
overshootClamping: true
}
}],
...contentProps,
children: [/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Tooltip2.Arrow, {}), /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Paragraph, {
size: "$3",
children: label
})]
})]
});
return context ? contents : /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(TooltipGroup, {
delay: defaultTooltipDelay,
children: contents
});
});
var defaultTooltipDelay = {
open: 3e3,
close: 100
};
// node_modules/@tamagui/use-window-dimensions/dist/esm/index.mjs
var import_react55 = require("react");
var import_react_native_web11 = __toESM(require_cjs20(), 1);
var initialValue = {
height: 800,
width: 600
};
function configureInitialWindowDimensions(next) {
Object.assign(initialValue, next);
}
__name(configureInitialWindowDimensions, "configureInitialWindowDimensions");
import_react_native_web11.Dimensions.addEventListener("change", () => {
cbs.forEach((cb) => cb(window));
});
var cbs = /* @__PURE__ */ new Set();
function subscribe(cb) {
return cbs.add(cb), () => cbs.delete(cb);
}
__name(subscribe, "subscribe");
function useWindowDimensions2({
serverValue = initialValue
} = {}) {
return (0, import_react55.useSyncExternalStore)(subscribe, () => import_react_native_web11.Dimensions.get("window"), () => isWeb ? serverValue : import_react_native_web11.Dimensions.get("window"));
}
__name(useWindowDimensions2, "useWindowDimensions");
// node_modules/@tamagui/visually-hidden/dist/esm/VisuallyHidden.mjs
var import_web22 = require("@tamagui/core");
var VisuallyHidden = (0, import_web22.styled)(import_web22.Stack, {
position: "absolute",
width: 1,
height: 1,
margin: -1,
zIndex: -1e4,
overflow: "hidden",
opacity: 1e-8,
pointerEvents: "none",
variants: {
preserveDimensions: {
true: {
position: "relative",
width: "auto",
height: "auto"
}
},
visible: {
true: {
position: "relative",
width: "auto",
height: "auto",
margin: 0,
zIndex: 1,
overflow: "visible",
opacity: 1,
pointerEvents: "auto"
}
}
}
});
VisuallyHidden.isVisuallyHidden = true;
// node_modules/tamagui/dist/esm/createTamagui.mjs
var import_core50 = require("@tamagui/core");
var createTamagui = process.env.NODE_ENV !== "development" ? import_core50.createTamagui : (conf) => {
const sizeTokenKeys = ["$true"], hasKeys = /* @__PURE__ */ __name((expectedKeys, obj) => expectedKeys.every((k) => typeof obj[k] < "u"), "hasKeys"), tamaguiConfig2 = (0, import_core50.createTamagui)(conf);
for (const name of ["size", "space"]) {
const tokenSet = tamaguiConfig2.tokensParsed[name];
if (!tokenSet)
throw new Error(`Expected tokens for "${name}" in ${Object.keys(tamaguiConfig2.tokensParsed).join(", ")}`);
if (!hasKeys(sizeTokenKeys, tokenSet))
throw new Error(`
createTamagui() missing expected tokens.${name}:
Received: ${Object.keys(tokenSet).join(", ")}
Expected: ${sizeTokenKeys.join(", ")}
Tamagui expects a "true" key that is the same value as your default size. This is so
it can size things up or down from the defaults without assuming which keys you use.
Please define a "true" or "$true" key on your size and space tokens like so (example):
size: {
sm: 2,
md: 10,
true: 10, // this means "md" is your default size
lg: 20,
}
`);
}
const expected = Object.keys(tamaguiConfig2.tokensParsed.size);
for (const name of ["radius", "zIndex"]) {
const tokenSet = tamaguiConfig2.tokensParsed[name], received = Object.keys(tokenSet);
if (!received.some((rk) => expected.includes(rk)))
throw new Error(`
createTamagui() invalid tokens.${name}:
Received: ${received.join(", ")}
Expected a subset of: ${expected.join(", ")}
`);
}
return tamaguiConfig2;
};
// node_modules/tamagui/dist/esm/views/TamaguiProvider.mjs
var import_core51 = require("@tamagui/core");
var import_jsx_runtime58 = require("react/jsx-runtime");
var TamaguiProvider = /* @__PURE__ */ __name(({
children,
...props
}) => /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_core51.TamaguiProvider, {
...props,
children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(PortalProvider, {
shouldAddRootHost: true,
children
})
}), "TamaguiProvider");
// node_modules/tamagui/dist/esm/views/Anchor.mjs
var import_core52 = require("@tamagui/core");
var import_react_native_web12 = __toESM(require_cjs20(), 1);
var import_jsx_runtime59 = require("react/jsx-runtime");
var AnchorFrame = (0, import_core52.styled)(SizableText, {
name: "Anchor",
tag: "a",
accessibilityRole: "link"
});
var Anchor = AnchorFrame.styleable(({
href,
target,
...props
}, ref) => /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(AnchorFrame, {
...props,
...isWeb ? {
href,
target
} : {
onPress: (event) => {
var _a;
(_a = props.onPress) == null ? void 0 : _a.call(props, event), href !== void 0 && import_react_native_web12.Linking.openURL(href);
}
},
ref
}));
// node_modules/tamagui/dist/esm/views/EnsureFlexed.mjs
var import_core53 = require("@tamagui/core");
var EnsureFlexed = (0, import_core53.styled)(import_core53.Text, {
opacity: 0,
lineHeight: 0,
height: 0,
display: "flex",
fontSize: 200,
children: "wwwwwwwwwwwwwwwwwww",
pointerEvents: "none"
});
EnsureFlexed.isVisuallyHidden = true;
// node_modules/tamagui/dist/esm/views/Fieldset.mjs
var import_core54 = require("@tamagui/core");
var Fieldset = (0, import_core54.styled)(YStack, {
name: "Fieldset",
tag: "fieldset",
variants: {
horizontal: {
true: {
flexDirection: "row",
alignItems: "center"
}
}
}
});
// node_modules/tamagui/dist/esm/views/Input.mjs
var import_core56 = require("@tamagui/core");
var import_react_native_web13 = __toESM(require_cjs20(), 1);
// node_modules/tamagui/dist/esm/helpers/inputHelpers.mjs
var import_core55 = require("@tamagui/core");
var inputSizeVariant = /* @__PURE__ */ __name((val = "$true", extras) => {
if (extras.props.multiline || extras.props.numberOfLines > 1)
return textAreaSizeVariant(val, extras);
const buttonStyles = getButtonSized(val, extras), paddingHorizontal = getSpace(val, {
shift: -1,
bounds: [2]
}), fontStyle = getFontSized(val, extras);
return !import_core55.isWeb && fontStyle && delete fontStyle.lineHeight, {
...fontStyle,
...buttonStyles,
paddingHorizontal
};
}, "inputSizeVariant");
var textAreaSizeVariant = /* @__PURE__ */ __name((val = "$true", extras) => {
const {
props
} = extras, buttonStyles = getButtonSized(val, extras), fontStyle = getFontSized(val, extras), lines = props.rows ?? props.numberOfLines, height = typeof lines == "number" ? lines * (0, import_core55.getVariableValue)(fontStyle.lineHeight) : "auto", paddingVertical = getSpace(val, {
shift: -2,
bounds: [2]
}), paddingHorizontal = getSpace(val, {
shift: -1,
bounds: [2]
});
return {
...buttonStyles,
...fontStyle,
paddingVertical,
paddingHorizontal,
height
};
}, "textAreaSizeVariant");
// node_modules/tamagui/dist/esm/views/Input.mjs
var import_react56 = require("react");
var import_jsx_runtime60 = require("react/jsx-runtime");
var defaultStyles = {
size: "$true",
fontFamily: "$body",
borderWidth: 1,
outlineWidth: 0,
color: "$color",
...isWeb ? {
tabIndex: 0
} : {
focusable: true
},
borderColor: "$borderColor",
backgroundColor: "$background",
// this fixes a flex bug where it overflows container
minWidth: 0,
hoverStyle: {
borderColor: "$borderColorHover"
},
focusStyle: {
borderColor: "$borderColorFocus"
},
focusVisibleStyle: {
outlineColor: "$outlineColor",
outlineWidth: 2,
outlineStyle: "solid"
}
};
var InputFrame = (0, import_core56.styled)(import_react_native_web13.TextInput, {
name: "Input",
variants: {
unstyled: {
false: defaultStyles
},
size: {
"...size": inputSizeVariant
},
disabled: {
true: {}
}
},
defaultVariants: {
unstyled: process.env.TAMAGUI_HEADLESS === "1"
}
}, {
isInput: true,
accept: {
placeholderTextColor: "color",
selectionColor: "color"
}
});
var Input = InputFrame.styleable((propsIn, forwardedRef) => {
const ref = (0, import_react56.useRef)(null), composedRefs = (0, import_core56.useComposedRefs)(forwardedRef, ref), props = useInputProps(propsIn, composedRefs);
return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(InputFrame, {
...props
});
});
function useInputProps(props, ref) {
var _a, _b;
const theme = (0, import_core56.useTheme)(), {
onChangeText,
ref: combinedRef
} = useFocusable({
// @ts-ignore
props,
ref,
isInput: true
}), placeholderColorProp = props.placeholderTextColor, placeholderTextColor = ((_a = theme[placeholderColorProp]) == null ? void 0 : _a.get()) ?? placeholderColorProp ?? ((_b = theme.placeholderColor) == null ? void 0 : _b.get());
return {
ref: combinedRef,
readOnly: props.disabled,
...props,
placeholderTextColor,
onChangeText
};
}
__name(useInputProps, "useInputProps");
// node_modules/tamagui/dist/esm/views/Spinner.mjs
var import_core57 = require("@tamagui/core");
var React43 = __toESM(require("react"), 1);
var import_react_native_web14 = __toESM(require_cjs20(), 1);
var import_jsx_runtime61 = require("react/jsx-runtime");
var Spinner = YStack.extractable((0, import_core57.themeable)(React43.forwardRef((props, ref) => {
const {
size: size6,
color: colorProp,
...stackProps
} = props, theme = (0, import_core57.useTheme)();
let color2 = colorProp;
return color2 && color2[0] === "$" && (color2 = (0, import_core57.variableToString)(theme[color2])), /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(YStack, {
ref,
...stackProps,
children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_react_native_web14.ActivityIndicator, {
size: size6,
color: color2
})
});
}), {
componentName: "Spinner"
}));
// node_modules/tamagui/dist/esm/views/TextArea.mjs
var import_core58 = require("@tamagui/core");
var import_react57 = require("react");
var import_jsx_runtime62 = require("react/jsx-runtime");
var TextAreaFrame = (0, import_core58.styled)(InputFrame, {
name: "TextArea",
multiline: true,
// this attribute fixes firefox newline issue
whiteSpace: "pre-wrap",
variants: {
unstyled: {
false: {
height: "auto",
...defaultStyles
}
},
size: {
"...size": textAreaSizeVariant
}
},
defaultVariants: {
unstyled: process.env.TAMAGUI_HEADLESS === "1"
}
});
var TextArea = TextAreaFrame.styleable((propsIn, forwardedRef) => {
const ref = (0, import_react57.useRef)(null), composedRefs = (0, import_core58.useComposedRefs)(forwardedRef, ref), props = useInputProps(propsIn, composedRefs), linesProp = {
// web uses rows now, but native not caught up :/
[isWeb ? "rows" : "numberOfLines"]: propsIn.unstyled ? void 0 : 4
};
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(TextAreaFrame, {
...linesProp,
...props
});
});
// node_modules/tamagui/dist/esm/views/Text.mjs
var import_core59 = require("@tamagui/core");
var Text3 = (0, import_core59.styled)(import_core59.Text, {
variants: {
unstyled: {
false: {
color: "$color"
}
}
},
defaultVariants: {
unstyled: process.env.TAMAGUI_HEADLESS === "1"
}
});
// node_modules/tamagui/dist/esm/index.mjs
var import_core60 = require("@tamagui/core");
// tamagui.config.ts
var tamaguiConfig = createTamagui(config);
var tamagui_config_default = tamaguiConfig;
/*! Bundled license information:
use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js:
(**
* @license React
* use-sync-external-store-shim.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*)
use-sync-external-store/cjs/use-sync-external-store-shim.development.js:
(**
* @license React
* use-sync-external-store-shim.development.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*)
use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js:
(**
* @license React
* use-sync-external-store-shim/with-selector.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*)
use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js:
(**
* @license React
* use-sync-external-store-shim/with-selector.development.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*)
tabbable/dist/index.js:
(*!
* tabbable 6.2.0
* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
*)
*/