app/assets/build/coco/coco.js in coveragebook_components-0.16.0 vs app/assets/build/coco/coco.js in coveragebook_components-0.17.0
- old
+ new
@@ -26,5496 +26,10 @@
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
-// ../../../node_modules/alpinejs/dist/module.cjs.js
-var require_module_cjs = __commonJS({
- "../../../node_modules/alpinejs/dist/module.cjs.js"(exports, module) {
- 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 __commonJS2 = (cb, mod) => function __require() {
- return mod || (0, cb[__getOwnPropNames2(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
- };
- var __export2 = (target, all) => {
- for (var name in all)
- __defProp2(target, name, { get: all[name], enumerable: true });
- };
- var __copyProps2 = (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;
- };
- var __toESM2 = (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
- ));
- var __toCommonJS = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
- var require_shared_cjs = __commonJS2({
- "node_modules/@vue/shared/dist/shared.cjs.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", { value: true });
- function makeMap(str, expectsLowerCase) {
- const map = /* @__PURE__ */ Object.create(null);
- const list = str.split(",");
- for (let i2 = 0; i2 < list.length; i2++) {
- map[list[i2]] = true;
- }
- return expectsLowerCase ? (val) => !!map[val.toLowerCase()] : (val) => !!map[val];
- }
- var PatchFlagNames = {
- [
- 1
- /* TEXT */
- ]: `TEXT`,
- [
- 2
- /* CLASS */
- ]: `CLASS`,
- [
- 4
- /* STYLE */
- ]: `STYLE`,
- [
- 8
- /* PROPS */
- ]: `PROPS`,
- [
- 16
- /* FULL_PROPS */
- ]: `FULL_PROPS`,
- [
- 32
- /* HYDRATE_EVENTS */
- ]: `HYDRATE_EVENTS`,
- [
- 64
- /* STABLE_FRAGMENT */
- ]: `STABLE_FRAGMENT`,
- [
- 128
- /* KEYED_FRAGMENT */
- ]: `KEYED_FRAGMENT`,
- [
- 256
- /* UNKEYED_FRAGMENT */
- ]: `UNKEYED_FRAGMENT`,
- [
- 512
- /* NEED_PATCH */
- ]: `NEED_PATCH`,
- [
- 1024
- /* DYNAMIC_SLOTS */
- ]: `DYNAMIC_SLOTS`,
- [
- 2048
- /* DEV_ROOT_FRAGMENT */
- ]: `DEV_ROOT_FRAGMENT`,
- [
- -1
- /* HOISTED */
- ]: `HOISTED`,
- [
- -2
- /* BAIL */
- ]: `BAIL`
- };
- var slotFlagsText = {
- [
- 1
- /* STABLE */
- ]: "STABLE",
- [
- 2
- /* DYNAMIC */
- ]: "DYNAMIC",
- [
- 3
- /* FORWARDED */
- ]: "FORWARDED"
- };
- var GLOBALS_WHITE_LISTED = "Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt";
- var isGloballyWhitelisted = /* @__PURE__ */ makeMap(GLOBALS_WHITE_LISTED);
- var range = 2;
- function generateCodeFrame(source, start2 = 0, end = source.length) {
- let lines = source.split(/(\r?\n)/);
- const newlineSequences = lines.filter((_2, idx) => idx % 2 === 1);
- lines = lines.filter((_2, idx) => idx % 2 === 0);
- let count = 0;
- const res = [];
- for (let i2 = 0; i2 < lines.length; i2++) {
- count += lines[i2].length + (newlineSequences[i2] && newlineSequences[i2].length || 0);
- if (count >= start2) {
- for (let j2 = i2 - range; j2 <= i2 + range || end > count; j2++) {
- if (j2 < 0 || j2 >= lines.length)
- continue;
- const line = j2 + 1;
- res.push(`${line}${" ".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j2]}`);
- const lineLength = lines[j2].length;
- const newLineSeqLength = newlineSequences[j2] && newlineSequences[j2].length || 0;
- if (j2 === i2) {
- const pad = start2 - (count - (lineLength + newLineSeqLength));
- const length = Math.max(1, end > count ? lineLength - pad : end - start2);
- res.push(` | ` + " ".repeat(pad) + "^".repeat(length));
- } else if (j2 > i2) {
- if (end > count) {
- const length = Math.max(Math.min(end - count, lineLength), 1);
- res.push(` | ` + "^".repeat(length));
- }
- count += lineLength + newLineSeqLength;
- }
- }
- break;
- }
- }
- return res.join("\n");
- }
- var specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;
- var isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);
- var isBooleanAttr2 = /* @__PURE__ */ makeMap(specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`);
- var unsafeAttrCharRE = /[>/="'\u0009\u000a\u000c\u0020]/;
- var attrValidationCache = {};
- function isSSRSafeAttrName(name) {
- if (attrValidationCache.hasOwnProperty(name)) {
- return attrValidationCache[name];
- }
- const isUnsafe = unsafeAttrCharRE.test(name);
- if (isUnsafe) {
- console.error(`unsafe attribute name: ${name}`);
- }
- return attrValidationCache[name] = !isUnsafe;
- }
- var propsToAttrMap = {
- acceptCharset: "accept-charset",
- className: "class",
- htmlFor: "for",
- httpEquiv: "http-equiv"
- };
- var isNoUnitNumericStyleProp = /* @__PURE__ */ makeMap(`animation-iteration-count,border-image-outset,border-image-slice,border-image-width,box-flex,box-flex-group,box-ordinal-group,column-count,columns,flex,flex-grow,flex-positive,flex-shrink,flex-negative,flex-order,grid-row,grid-row-end,grid-row-span,grid-row-start,grid-column,grid-column-end,grid-column-span,grid-column-start,font-weight,line-clamp,line-height,opacity,order,orphans,tab-size,widows,z-index,zoom,fill-opacity,flood-opacity,stop-opacity,stroke-dasharray,stroke-dashoffset,stroke-miterlimit,stroke-opacity,stroke-width`);
- var isKnownAttr = /* @__PURE__ */ makeMap(`accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`);
- function normalizeStyle(value) {
- if (isArray(value)) {
- const res = {};
- for (let i2 = 0; i2 < value.length; i2++) {
- const item = value[i2];
- const normalized = normalizeStyle(isString(item) ? parseStringStyle(item) : item);
- if (normalized) {
- for (const key in normalized) {
- res[key] = normalized[key];
- }
- }
- }
- return res;
- } else if (isObject2(value)) {
- return value;
- }
- }
- var listDelimiterRE = /;(?![^(]*\))/g;
- var propertyDelimiterRE = /:(.+)/;
- function parseStringStyle(cssText) {
- const ret = {};
- cssText.split(listDelimiterRE).forEach((item) => {
- if (item) {
- const tmp = item.split(propertyDelimiterRE);
- tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());
- }
- });
- return ret;
- }
- function stringifyStyle(styles) {
- let ret = "";
- if (!styles) {
- return ret;
- }
- for (const key in styles) {
- const value = styles[key];
- const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);
- if (isString(value) || typeof value === "number" && isNoUnitNumericStyleProp(normalizedKey)) {
- ret += `${normalizedKey}:${value};`;
- }
- }
- return ret;
- }
- function normalizeClass(value) {
- let res = "";
- if (isString(value)) {
- res = value;
- } else if (isArray(value)) {
- for (let i2 = 0; i2 < value.length; i2++) {
- const normalized = normalizeClass(value[i2]);
- if (normalized) {
- res += normalized + " ";
- }
- }
- } else if (isObject2(value)) {
- for (const name in value) {
- if (value[name]) {
- res += name + " ";
- }
- }
- }
- return res.trim();
- }
- var HTML_TAGS = "html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot";
- var SVG_TAGS = "svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistanceLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view";
- var VOID_TAGS = "area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr";
- var isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);
- var isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);
- var isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);
- var escapeRE = /["'&<>]/;
- function escapeHtml(string) {
- const str = "" + string;
- const match = escapeRE.exec(str);
- if (!match) {
- return str;
- }
- let html = "";
- let escaped;
- let index;
- let lastIndex = 0;
- for (index = match.index; index < str.length; index++) {
- switch (str.charCodeAt(index)) {
- case 34:
- escaped = """;
- break;
- case 38:
- escaped = "&";
- break;
- case 39:
- escaped = "'";
- break;
- case 60:
- escaped = "<";
- break;
- case 62:
- escaped = ">";
- break;
- default:
- continue;
- }
- if (lastIndex !== index) {
- html += str.substring(lastIndex, index);
- }
- lastIndex = index + 1;
- html += escaped;
- }
- return lastIndex !== index ? html + str.substring(lastIndex, index) : html;
- }
- var commentStripRE = /^-?>|<!--|-->|--!>|<!-$/g;
- function escapeHtmlComment(src) {
- return src.replace(commentStripRE, "");
- }
- function looseCompareArrays(a2, b2) {
- if (a2.length !== b2.length)
- return false;
- let equal = true;
- for (let i2 = 0; equal && i2 < a2.length; i2++) {
- equal = looseEqual(a2[i2], b2[i2]);
- }
- return equal;
- }
- function looseEqual(a2, b2) {
- if (a2 === b2)
- return true;
- let aValidType = isDate(a2);
- let bValidType = isDate(b2);
- if (aValidType || bValidType) {
- return aValidType && bValidType ? a2.getTime() === b2.getTime() : false;
- }
- aValidType = isArray(a2);
- bValidType = isArray(b2);
- if (aValidType || bValidType) {
- return aValidType && bValidType ? looseCompareArrays(a2, b2) : false;
- }
- aValidType = isObject2(a2);
- bValidType = isObject2(b2);
- if (aValidType || bValidType) {
- if (!aValidType || !bValidType) {
- return false;
- }
- const aKeysCount = Object.keys(a2).length;
- const bKeysCount = Object.keys(b2).length;
- if (aKeysCount !== bKeysCount) {
- return false;
- }
- for (const key in a2) {
- const aHasKey = a2.hasOwnProperty(key);
- const bHasKey = b2.hasOwnProperty(key);
- if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a2[key], b2[key])) {
- return false;
- }
- }
- }
- return String(a2) === String(b2);
- }
- function looseIndexOf(arr, val) {
- return arr.findIndex((item) => looseEqual(item, val));
- }
- var toDisplayString = (val) => {
- return val == null ? "" : isObject2(val) ? JSON.stringify(val, replacer, 2) : String(val);
- };
- var replacer = (_key, val) => {
- if (isMap(val)) {
- return {
- [`Map(${val.size})`]: [...val.entries()].reduce((entries, [key, val2]) => {
- entries[`${key} =>`] = val2;
- return entries;
- }, {})
- };
- } else if (isSet(val)) {
- return {
- [`Set(${val.size})`]: [...val.values()]
- };
- } else if (isObject2(val) && !isArray(val) && !isPlainObject(val)) {
- return String(val);
- }
- return val;
- };
- var babelParserDefaultPlugins = [
- "bigInt",
- "optionalChaining",
- "nullishCoalescingOperator"
- ];
- var EMPTY_OBJ = Object.freeze({});
- var EMPTY_ARR = Object.freeze([]);
- var NOOP = () => {
- };
- var NO = () => false;
- var onRE = /^on[^a-z]/;
- var isOn = (key) => onRE.test(key);
- var isModelListener = (key) => key.startsWith("onUpdate:");
- var extend = Object.assign;
- var remove = (arr, el) => {
- const i2 = arr.indexOf(el);
- if (i2 > -1) {
- arr.splice(i2, 1);
- }
- };
- var hasOwnProperty = Object.prototype.hasOwnProperty;
- var hasOwn = (val, key) => hasOwnProperty.call(val, key);
- var isArray = Array.isArray;
- var isMap = (val) => toTypeString(val) === "[object Map]";
- var isSet = (val) => toTypeString(val) === "[object Set]";
- var isDate = (val) => val instanceof Date;
- var isFunction = (val) => typeof val === "function";
- var isString = (val) => typeof val === "string";
- var isSymbol = (val) => typeof val === "symbol";
- var isObject2 = (val) => val !== null && typeof val === "object";
- var isPromise = (val) => {
- return isObject2(val) && isFunction(val.then) && isFunction(val.catch);
- };
- var objectToString = Object.prototype.toString;
- var toTypeString = (value) => objectToString.call(value);
- var toRawType = (value) => {
- return toTypeString(value).slice(8, -1);
- };
- var isPlainObject = (val) => toTypeString(val) === "[object Object]";
- var isIntegerKey = (key) => isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key;
- var isReservedProp = /* @__PURE__ */ makeMap(
- // the leading comma is intentional so empty string "" is also included
- ",key,ref,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"
- );
- var cacheStringFunction = (fn) => {
- const cache = /* @__PURE__ */ Object.create(null);
- return (str) => {
- const hit = cache[str];
- return hit || (cache[str] = fn(str));
- };
- };
- var camelizeRE = /-(\w)/g;
- var camelize = cacheStringFunction((str) => {
- return str.replace(camelizeRE, (_2, c2) => c2 ? c2.toUpperCase() : "");
- });
- var hyphenateRE = /\B([A-Z])/g;
- var hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, "-$1").toLowerCase());
- var capitalize = cacheStringFunction((str) => str.charAt(0).toUpperCase() + str.slice(1));
- var toHandlerKey = cacheStringFunction((str) => str ? `on${capitalize(str)}` : ``);
- var hasChanged = (value, oldValue) => value !== oldValue && (value === value || oldValue === oldValue);
- var invokeArrayFns = (fns, arg) => {
- for (let i2 = 0; i2 < fns.length; i2++) {
- fns[i2](arg);
- }
- };
- var def = (obj, key, value) => {
- Object.defineProperty(obj, key, {
- configurable: true,
- enumerable: false,
- value
- });
- };
- var toNumber = (val) => {
- const n2 = parseFloat(val);
- return isNaN(n2) ? val : n2;
- };
- var _globalThis;
- var getGlobalThis = () => {
- return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {});
- };
- exports2.EMPTY_ARR = EMPTY_ARR;
- exports2.EMPTY_OBJ = EMPTY_OBJ;
- exports2.NO = NO;
- exports2.NOOP = NOOP;
- exports2.PatchFlagNames = PatchFlagNames;
- exports2.babelParserDefaultPlugins = babelParserDefaultPlugins;
- exports2.camelize = camelize;
- exports2.capitalize = capitalize;
- exports2.def = def;
- exports2.escapeHtml = escapeHtml;
- exports2.escapeHtmlComment = escapeHtmlComment;
- exports2.extend = extend;
- exports2.generateCodeFrame = generateCodeFrame;
- exports2.getGlobalThis = getGlobalThis;
- exports2.hasChanged = hasChanged;
- exports2.hasOwn = hasOwn;
- exports2.hyphenate = hyphenate;
- exports2.invokeArrayFns = invokeArrayFns;
- exports2.isArray = isArray;
- exports2.isBooleanAttr = isBooleanAttr2;
- exports2.isDate = isDate;
- exports2.isFunction = isFunction;
- exports2.isGloballyWhitelisted = isGloballyWhitelisted;
- exports2.isHTMLTag = isHTMLTag;
- exports2.isIntegerKey = isIntegerKey;
- exports2.isKnownAttr = isKnownAttr;
- exports2.isMap = isMap;
- exports2.isModelListener = isModelListener;
- exports2.isNoUnitNumericStyleProp = isNoUnitNumericStyleProp;
- exports2.isObject = isObject2;
- exports2.isOn = isOn;
- exports2.isPlainObject = isPlainObject;
- exports2.isPromise = isPromise;
- exports2.isReservedProp = isReservedProp;
- exports2.isSSRSafeAttrName = isSSRSafeAttrName;
- exports2.isSVGTag = isSVGTag;
- exports2.isSet = isSet;
- exports2.isSpecialBooleanAttr = isSpecialBooleanAttr;
- exports2.isString = isString;
- exports2.isSymbol = isSymbol;
- exports2.isVoidTag = isVoidTag;
- exports2.looseEqual = looseEqual;
- exports2.looseIndexOf = looseIndexOf;
- exports2.makeMap = makeMap;
- exports2.normalizeClass = normalizeClass;
- exports2.normalizeStyle = normalizeStyle;
- exports2.objectToString = objectToString;
- exports2.parseStringStyle = parseStringStyle;
- exports2.propsToAttrMap = propsToAttrMap;
- exports2.remove = remove;
- exports2.slotFlagsText = slotFlagsText;
- exports2.stringifyStyle = stringifyStyle;
- exports2.toDisplayString = toDisplayString;
- exports2.toHandlerKey = toHandlerKey;
- exports2.toNumber = toNumber;
- exports2.toRawType = toRawType;
- exports2.toTypeString = toTypeString;
- }
- });
- var require_shared = __commonJS2({
- "node_modules/@vue/shared/index.js"(exports2, module2) {
- "use strict";
- if (false) {
- module2.exports = null;
- } else {
- module2.exports = require_shared_cjs();
- }
- }
- });
- var require_reactivity_cjs = __commonJS2({
- "node_modules/@vue/reactivity/dist/reactivity.cjs.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", { value: true });
- var shared = require_shared();
- var targetMap = /* @__PURE__ */ new WeakMap();
- var effectStack = [];
- var activeEffect;
- var ITERATE_KEY = Symbol("iterate");
- var MAP_KEY_ITERATE_KEY = Symbol("Map key iterate");
- function isEffect(fn) {
- return fn && fn._isEffect === true;
- }
- function effect3(fn, options = shared.EMPTY_OBJ) {
- if (isEffect(fn)) {
- fn = fn.raw;
- }
- const effect4 = createReactiveEffect(fn, options);
- if (!options.lazy) {
- effect4();
- }
- return effect4;
- }
- function stop2(effect4) {
- if (effect4.active) {
- cleanup(effect4);
- if (effect4.options.onStop) {
- effect4.options.onStop();
- }
- effect4.active = false;
- }
- }
- var uid = 0;
- function createReactiveEffect(fn, options) {
- const effect4 = function reactiveEffect() {
- if (!effect4.active) {
- return fn();
- }
- if (!effectStack.includes(effect4)) {
- cleanup(effect4);
- try {
- enableTracking();
- effectStack.push(effect4);
- activeEffect = effect4;
- return fn();
- } finally {
- effectStack.pop();
- resetTracking();
- activeEffect = effectStack[effectStack.length - 1];
- }
- }
- };
- effect4.id = uid++;
- effect4.allowRecurse = !!options.allowRecurse;
- effect4._isEffect = true;
- effect4.active = true;
- effect4.raw = fn;
- effect4.deps = [];
- effect4.options = options;
- return effect4;
- }
- function cleanup(effect4) {
- const { deps } = effect4;
- if (deps.length) {
- for (let i2 = 0; i2 < deps.length; i2++) {
- deps[i2].delete(effect4);
- }
- deps.length = 0;
- }
- }
- var shouldTrack = true;
- var trackStack = [];
- function pauseTracking() {
- trackStack.push(shouldTrack);
- shouldTrack = false;
- }
- function enableTracking() {
- trackStack.push(shouldTrack);
- shouldTrack = true;
- }
- function resetTracking() {
- const last = trackStack.pop();
- shouldTrack = last === void 0 ? true : last;
- }
- function track(target, type, key) {
- if (!shouldTrack || activeEffect === void 0) {
- return;
- }
- let depsMap = targetMap.get(target);
- if (!depsMap) {
- targetMap.set(target, depsMap = /* @__PURE__ */ new Map());
- }
- let dep = depsMap.get(key);
- if (!dep) {
- depsMap.set(key, dep = /* @__PURE__ */ new Set());
- }
- if (!dep.has(activeEffect)) {
- dep.add(activeEffect);
- activeEffect.deps.push(dep);
- if (activeEffect.options.onTrack) {
- activeEffect.options.onTrack({
- effect: activeEffect,
- target,
- type,
- key
- });
- }
- }
- }
- function trigger(target, type, key, newValue, oldValue, oldTarget) {
- const depsMap = targetMap.get(target);
- if (!depsMap) {
- return;
- }
- const effects = /* @__PURE__ */ new Set();
- const add2 = (effectsToAdd) => {
- if (effectsToAdd) {
- effectsToAdd.forEach((effect4) => {
- if (effect4 !== activeEffect || effect4.allowRecurse) {
- effects.add(effect4);
- }
- });
- }
- };
- if (type === "clear") {
- depsMap.forEach(add2);
- } else if (key === "length" && shared.isArray(target)) {
- depsMap.forEach((dep, key2) => {
- if (key2 === "length" || key2 >= newValue) {
- add2(dep);
- }
- });
- } else {
- if (key !== void 0) {
- add2(depsMap.get(key));
- }
- switch (type) {
- case "add":
- if (!shared.isArray(target)) {
- add2(depsMap.get(ITERATE_KEY));
- if (shared.isMap(target)) {
- add2(depsMap.get(MAP_KEY_ITERATE_KEY));
- }
- } else if (shared.isIntegerKey(key)) {
- add2(depsMap.get("length"));
- }
- break;
- case "delete":
- if (!shared.isArray(target)) {
- add2(depsMap.get(ITERATE_KEY));
- if (shared.isMap(target)) {
- add2(depsMap.get(MAP_KEY_ITERATE_KEY));
- }
- }
- break;
- case "set":
- if (shared.isMap(target)) {
- add2(depsMap.get(ITERATE_KEY));
- }
- break;
- }
- }
- const run = (effect4) => {
- if (effect4.options.onTrigger) {
- effect4.options.onTrigger({
- effect: effect4,
- target,
- key,
- type,
- newValue,
- oldValue,
- oldTarget
- });
- }
- if (effect4.options.scheduler) {
- effect4.options.scheduler(effect4);
- } else {
- effect4();
- }
- };
- effects.forEach(run);
- }
- var isNonTrackableKeys = /* @__PURE__ */ shared.makeMap(`__proto__,__v_isRef,__isVue`);
- var builtInSymbols = new Set(Object.getOwnPropertyNames(Symbol).map((key) => Symbol[key]).filter(shared.isSymbol));
- var get2 = /* @__PURE__ */ createGetter();
- var shallowGet = /* @__PURE__ */ createGetter(false, true);
- var readonlyGet = /* @__PURE__ */ createGetter(true);
- var shallowReadonlyGet = /* @__PURE__ */ createGetter(true, true);
- var arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations();
- function createArrayInstrumentations() {
- const instrumentations = {};
- ["includes", "indexOf", "lastIndexOf"].forEach((key) => {
- instrumentations[key] = function(...args) {
- const arr = toRaw2(this);
- for (let i2 = 0, l2 = this.length; i2 < l2; i2++) {
- track(arr, "get", i2 + "");
- }
- const res = arr[key](...args);
- if (res === -1 || res === false) {
- return arr[key](...args.map(toRaw2));
- } else {
- return res;
- }
- };
- });
- ["push", "pop", "shift", "unshift", "splice"].forEach((key) => {
- instrumentations[key] = function(...args) {
- pauseTracking();
- const res = toRaw2(this)[key].apply(this, args);
- resetTracking();
- return res;
- };
- });
- return instrumentations;
- }
- function createGetter(isReadonly2 = false, shallow = false) {
- return function get3(target, key, receiver) {
- if (key === "__v_isReactive") {
- return !isReadonly2;
- } else if (key === "__v_isReadonly") {
- return isReadonly2;
- } else if (key === "__v_raw" && receiver === (isReadonly2 ? shallow ? shallowReadonlyMap : readonlyMap : shallow ? shallowReactiveMap : reactiveMap).get(target)) {
- return target;
- }
- const targetIsArray = shared.isArray(target);
- if (!isReadonly2 && targetIsArray && shared.hasOwn(arrayInstrumentations, key)) {
- return Reflect.get(arrayInstrumentations, key, receiver);
- }
- const res = Reflect.get(target, key, receiver);
- if (shared.isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {
- return res;
- }
- if (!isReadonly2) {
- track(target, "get", key);
- }
- if (shallow) {
- return res;
- }
- if (isRef(res)) {
- const shouldUnwrap = !targetIsArray || !shared.isIntegerKey(key);
- return shouldUnwrap ? res.value : res;
- }
- if (shared.isObject(res)) {
- return isReadonly2 ? readonly(res) : reactive3(res);
- }
- return res;
- };
- }
- var set2 = /* @__PURE__ */ createSetter();
- var shallowSet = /* @__PURE__ */ createSetter(true);
- function createSetter(shallow = false) {
- return function set3(target, key, value, receiver) {
- let oldValue = target[key];
- if (!shallow) {
- value = toRaw2(value);
- oldValue = toRaw2(oldValue);
- if (!shared.isArray(target) && isRef(oldValue) && !isRef(value)) {
- oldValue.value = value;
- return true;
- }
- }
- const hadKey = shared.isArray(target) && shared.isIntegerKey(key) ? Number(key) < target.length : shared.hasOwn(target, key);
- const result = Reflect.set(target, key, value, receiver);
- if (target === toRaw2(receiver)) {
- if (!hadKey) {
- trigger(target, "add", key, value);
- } else if (shared.hasChanged(value, oldValue)) {
- trigger(target, "set", key, value, oldValue);
- }
- }
- return result;
- };
- }
- function deleteProperty(target, key) {
- const hadKey = shared.hasOwn(target, key);
- const oldValue = target[key];
- const result = Reflect.deleteProperty(target, key);
- if (result && hadKey) {
- trigger(target, "delete", key, void 0, oldValue);
- }
- return result;
- }
- function has(target, key) {
- const result = Reflect.has(target, key);
- if (!shared.isSymbol(key) || !builtInSymbols.has(key)) {
- track(target, "has", key);
- }
- return result;
- }
- function ownKeys(target) {
- track(target, "iterate", shared.isArray(target) ? "length" : ITERATE_KEY);
- return Reflect.ownKeys(target);
- }
- var mutableHandlers = {
- get: get2,
- set: set2,
- deleteProperty,
- has,
- ownKeys
- };
- var readonlyHandlers = {
- get: readonlyGet,
- set(target, key) {
- {
- console.warn(`Set operation on key "${String(key)}" failed: target is readonly.`, target);
- }
- return true;
- },
- deleteProperty(target, key) {
- {
- console.warn(`Delete operation on key "${String(key)}" failed: target is readonly.`, target);
- }
- return true;
- }
- };
- var shallowReactiveHandlers = /* @__PURE__ */ shared.extend({}, mutableHandlers, {
- get: shallowGet,
- set: shallowSet
- });
- var shallowReadonlyHandlers = /* @__PURE__ */ shared.extend({}, readonlyHandlers, {
- get: shallowReadonlyGet
- });
- var toReactive = (value) => shared.isObject(value) ? reactive3(value) : value;
- var toReadonly = (value) => shared.isObject(value) ? readonly(value) : value;
- var toShallow = (value) => value;
- var getProto = (v2) => Reflect.getPrototypeOf(v2);
- function get$1(target, key, isReadonly2 = false, isShallow = false) {
- target = target[
- "__v_raw"
- /* RAW */
- ];
- const rawTarget = toRaw2(target);
- const rawKey = toRaw2(key);
- if (key !== rawKey) {
- !isReadonly2 && track(rawTarget, "get", key);
- }
- !isReadonly2 && track(rawTarget, "get", rawKey);
- const { has: has2 } = getProto(rawTarget);
- const wrap = isShallow ? toShallow : isReadonly2 ? toReadonly : toReactive;
- if (has2.call(rawTarget, key)) {
- return wrap(target.get(key));
- } else if (has2.call(rawTarget, rawKey)) {
- return wrap(target.get(rawKey));
- } else if (target !== rawTarget) {
- target.get(key);
- }
- }
- function has$1(key, isReadonly2 = false) {
- const target = this[
- "__v_raw"
- /* RAW */
- ];
- const rawTarget = toRaw2(target);
- const rawKey = toRaw2(key);
- if (key !== rawKey) {
- !isReadonly2 && track(rawTarget, "has", key);
- }
- !isReadonly2 && track(rawTarget, "has", rawKey);
- return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);
- }
- function size(target, isReadonly2 = false) {
- target = target[
- "__v_raw"
- /* RAW */
- ];
- !isReadonly2 && track(toRaw2(target), "iterate", ITERATE_KEY);
- return Reflect.get(target, "size", target);
- }
- function add(value) {
- value = toRaw2(value);
- const target = toRaw2(this);
- const proto = getProto(target);
- const hadKey = proto.has.call(target, value);
- if (!hadKey) {
- target.add(value);
- trigger(target, "add", value, value);
- }
- return this;
- }
- function set$1(key, value) {
- value = toRaw2(value);
- const target = toRaw2(this);
- const { has: has2, get: get3 } = getProto(target);
- let hadKey = has2.call(target, key);
- if (!hadKey) {
- key = toRaw2(key);
- hadKey = has2.call(target, key);
- } else {
- checkIdentityKeys(target, has2, key);
- }
- const oldValue = get3.call(target, key);
- target.set(key, value);
- if (!hadKey) {
- trigger(target, "add", key, value);
- } else if (shared.hasChanged(value, oldValue)) {
- trigger(target, "set", key, value, oldValue);
- }
- return this;
- }
- function deleteEntry(key) {
- const target = toRaw2(this);
- const { has: has2, get: get3 } = getProto(target);
- let hadKey = has2.call(target, key);
- if (!hadKey) {
- key = toRaw2(key);
- hadKey = has2.call(target, key);
- } else {
- checkIdentityKeys(target, has2, key);
- }
- const oldValue = get3 ? get3.call(target, key) : void 0;
- const result = target.delete(key);
- if (hadKey) {
- trigger(target, "delete", key, void 0, oldValue);
- }
- return result;
- }
- function clear() {
- const target = toRaw2(this);
- const hadItems = target.size !== 0;
- const oldTarget = shared.isMap(target) ? new Map(target) : new Set(target);
- const result = target.clear();
- if (hadItems) {
- trigger(target, "clear", void 0, void 0, oldTarget);
- }
- return result;
- }
- function createForEach(isReadonly2, isShallow) {
- return function forEach(callback, thisArg) {
- const observed = this;
- const target = observed[
- "__v_raw"
- /* RAW */
- ];
- const rawTarget = toRaw2(target);
- const wrap = isShallow ? toShallow : isReadonly2 ? toReadonly : toReactive;
- !isReadonly2 && track(rawTarget, "iterate", ITERATE_KEY);
- return target.forEach((value, key) => {
- return callback.call(thisArg, wrap(value), wrap(key), observed);
- });
- };
- }
- function createIterableMethod(method, isReadonly2, isShallow) {
- return function(...args) {
- const target = this[
- "__v_raw"
- /* RAW */
- ];
- const rawTarget = toRaw2(target);
- const targetIsMap = shared.isMap(rawTarget);
- const isPair = method === "entries" || method === Symbol.iterator && targetIsMap;
- const isKeyOnly = method === "keys" && targetIsMap;
- const innerIterator = target[method](...args);
- const wrap = isShallow ? toShallow : isReadonly2 ? toReadonly : toReactive;
- !isReadonly2 && track(rawTarget, "iterate", isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);
- return {
- // iterator protocol
- next() {
- const { value, done } = innerIterator.next();
- return done ? { value, done } : {
- value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),
- done
- };
- },
- // iterable protocol
- [Symbol.iterator]() {
- return this;
- }
- };
- };
- }
- function createReadonlyMethod(type) {
- return function(...args) {
- {
- const key = args[0] ? `on key "${args[0]}" ` : ``;
- console.warn(`${shared.capitalize(type)} operation ${key}failed: target is readonly.`, toRaw2(this));
- }
- return type === "delete" ? false : this;
- };
- }
- function createInstrumentations() {
- const mutableInstrumentations2 = {
- get(key) {
- return get$1(this, key);
- },
- get size() {
- return size(this);
- },
- has: has$1,
- add,
- set: set$1,
- delete: deleteEntry,
- clear,
- forEach: createForEach(false, false)
- };
- const shallowInstrumentations2 = {
- get(key) {
- return get$1(this, key, false, true);
- },
- get size() {
- return size(this);
- },
- has: has$1,
- add,
- set: set$1,
- delete: deleteEntry,
- clear,
- forEach: createForEach(false, true)
- };
- const readonlyInstrumentations2 = {
- get(key) {
- return get$1(this, key, true);
- },
- get size() {
- return size(this, true);
- },
- has(key) {
- return has$1.call(this, key, true);
- },
- add: createReadonlyMethod(
- "add"
- /* ADD */
- ),
- set: createReadonlyMethod(
- "set"
- /* SET */
- ),
- delete: createReadonlyMethod(
- "delete"
- /* DELETE */
- ),
- clear: createReadonlyMethod(
- "clear"
- /* CLEAR */
- ),
- forEach: createForEach(true, false)
- };
- const shallowReadonlyInstrumentations2 = {
- get(key) {
- return get$1(this, key, true, true);
- },
- get size() {
- return size(this, true);
- },
- has(key) {
- return has$1.call(this, key, true);
- },
- add: createReadonlyMethod(
- "add"
- /* ADD */
- ),
- set: createReadonlyMethod(
- "set"
- /* SET */
- ),
- delete: createReadonlyMethod(
- "delete"
- /* DELETE */
- ),
- clear: createReadonlyMethod(
- "clear"
- /* CLEAR */
- ),
- forEach: createForEach(true, true)
- };
- const iteratorMethods = ["keys", "values", "entries", Symbol.iterator];
- iteratorMethods.forEach((method) => {
- mutableInstrumentations2[method] = createIterableMethod(method, false, false);
- readonlyInstrumentations2[method] = createIterableMethod(method, true, false);
- shallowInstrumentations2[method] = createIterableMethod(method, false, true);
- shallowReadonlyInstrumentations2[method] = createIterableMethod(method, true, true);
- });
- return [
- mutableInstrumentations2,
- readonlyInstrumentations2,
- shallowInstrumentations2,
- shallowReadonlyInstrumentations2
- ];
- }
- var [mutableInstrumentations, readonlyInstrumentations, shallowInstrumentations, shallowReadonlyInstrumentations] = /* @__PURE__ */ createInstrumentations();
- function createInstrumentationGetter(isReadonly2, shallow) {
- const instrumentations = shallow ? isReadonly2 ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly2 ? readonlyInstrumentations : mutableInstrumentations;
- return (target, key, receiver) => {
- if (key === "__v_isReactive") {
- return !isReadonly2;
- } else if (key === "__v_isReadonly") {
- return isReadonly2;
- } else if (key === "__v_raw") {
- return target;
- }
- return Reflect.get(shared.hasOwn(instrumentations, key) && key in target ? instrumentations : target, key, receiver);
- };
- }
- var mutableCollectionHandlers = {
- get: /* @__PURE__ */ createInstrumentationGetter(false, false)
- };
- var shallowCollectionHandlers = {
- get: /* @__PURE__ */ createInstrumentationGetter(false, true)
- };
- var readonlyCollectionHandlers = {
- get: /* @__PURE__ */ createInstrumentationGetter(true, false)
- };
- var shallowReadonlyCollectionHandlers = {
- get: /* @__PURE__ */ createInstrumentationGetter(true, true)
- };
- function checkIdentityKeys(target, has2, key) {
- const rawKey = toRaw2(key);
- if (rawKey !== key && has2.call(target, rawKey)) {
- const type = shared.toRawType(target);
- console.warn(`Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`);
- }
- }
- var reactiveMap = /* @__PURE__ */ new WeakMap();
- var shallowReactiveMap = /* @__PURE__ */ new WeakMap();
- var readonlyMap = /* @__PURE__ */ new WeakMap();
- var shallowReadonlyMap = /* @__PURE__ */ new WeakMap();
- function targetTypeMap(rawType) {
- switch (rawType) {
- case "Object":
- case "Array":
- return 1;
- case "Map":
- case "Set":
- case "WeakMap":
- case "WeakSet":
- return 2;
- default:
- return 0;
- }
- }
- function getTargetType(value) {
- return value[
- "__v_skip"
- /* SKIP */
- ] || !Object.isExtensible(value) ? 0 : targetTypeMap(shared.toRawType(value));
- }
- function reactive3(target) {
- if (target && target[
- "__v_isReadonly"
- /* IS_READONLY */
- ]) {
- return target;
- }
- return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap);
- }
- function shallowReactive(target) {
- return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap);
- }
- function readonly(target) {
- return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap);
- }
- function shallowReadonly(target) {
- return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap);
- }
- function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {
- if (!shared.isObject(target)) {
- {
- console.warn(`value cannot be made reactive: ${String(target)}`);
- }
- return target;
- }
- if (target[
- "__v_raw"
- /* RAW */
- ] && !(isReadonly2 && target[
- "__v_isReactive"
- /* IS_REACTIVE */
- ])) {
- return target;
- }
- const existingProxy = proxyMap.get(target);
- if (existingProxy) {
- return existingProxy;
- }
- const targetType = getTargetType(target);
- if (targetType === 0) {
- return target;
- }
- const proxy = new Proxy(target, targetType === 2 ? collectionHandlers : baseHandlers);
- proxyMap.set(target, proxy);
- return proxy;
- }
- function isReactive2(value) {
- if (isReadonly(value)) {
- return isReactive2(value[
- "__v_raw"
- /* RAW */
- ]);
- }
- return !!(value && value[
- "__v_isReactive"
- /* IS_REACTIVE */
- ]);
- }
- function isReadonly(value) {
- return !!(value && value[
- "__v_isReadonly"
- /* IS_READONLY */
- ]);
- }
- function isProxy(value) {
- return isReactive2(value) || isReadonly(value);
- }
- function toRaw2(observed) {
- return observed && toRaw2(observed[
- "__v_raw"
- /* RAW */
- ]) || observed;
- }
- function markRaw(value) {
- shared.def(value, "__v_skip", true);
- return value;
- }
- var convert = (val) => shared.isObject(val) ? reactive3(val) : val;
- function isRef(r2) {
- return Boolean(r2 && r2.__v_isRef === true);
- }
- function ref(value) {
- return createRef(value);
- }
- function shallowRef(value) {
- return createRef(value, true);
- }
- var RefImpl = class {
- constructor(value, _shallow = false) {
- this._shallow = _shallow;
- this.__v_isRef = true;
- this._rawValue = _shallow ? value : toRaw2(value);
- this._value = _shallow ? value : convert(value);
- }
- get value() {
- track(toRaw2(this), "get", "value");
- return this._value;
- }
- set value(newVal) {
- newVal = this._shallow ? newVal : toRaw2(newVal);
- if (shared.hasChanged(newVal, this._rawValue)) {
- this._rawValue = newVal;
- this._value = this._shallow ? newVal : convert(newVal);
- trigger(toRaw2(this), "set", "value", newVal);
- }
- }
- };
- function createRef(rawValue, shallow = false) {
- if (isRef(rawValue)) {
- return rawValue;
- }
- return new RefImpl(rawValue, shallow);
- }
- function triggerRef(ref2) {
- trigger(toRaw2(ref2), "set", "value", ref2.value);
- }
- function unref(ref2) {
- return isRef(ref2) ? ref2.value : ref2;
- }
- var shallowUnwrapHandlers = {
- get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),
- set: (target, key, value, receiver) => {
- const oldValue = target[key];
- if (isRef(oldValue) && !isRef(value)) {
- oldValue.value = value;
- return true;
- } else {
- return Reflect.set(target, key, value, receiver);
- }
- }
- };
- function proxyRefs(objectWithRefs) {
- return isReactive2(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);
- }
- var CustomRefImpl = class {
- constructor(factory) {
- this.__v_isRef = true;
- const { get: get3, set: set3 } = factory(() => track(this, "get", "value"), () => trigger(this, "set", "value"));
- this._get = get3;
- this._set = set3;
- }
- get value() {
- return this._get();
- }
- set value(newVal) {
- this._set(newVal);
- }
- };
- function customRef(factory) {
- return new CustomRefImpl(factory);
- }
- function toRefs(object) {
- if (!isProxy(object)) {
- console.warn(`toRefs() expects a reactive object but received a plain one.`);
- }
- const ret = shared.isArray(object) ? new Array(object.length) : {};
- for (const key in object) {
- ret[key] = toRef(object, key);
- }
- return ret;
- }
- var ObjectRefImpl = class {
- constructor(_object, _key) {
- this._object = _object;
- this._key = _key;
- this.__v_isRef = true;
- }
- get value() {
- return this._object[this._key];
- }
- set value(newVal) {
- this._object[this._key] = newVal;
- }
- };
- function toRef(object, key) {
- return isRef(object[key]) ? object[key] : new ObjectRefImpl(object, key);
- }
- var ComputedRefImpl = class {
- constructor(getter, _setter, isReadonly2) {
- this._setter = _setter;
- this._dirty = true;
- this.__v_isRef = true;
- this.effect = effect3(getter, {
- lazy: true,
- scheduler: () => {
- if (!this._dirty) {
- this._dirty = true;
- trigger(toRaw2(this), "set", "value");
- }
- }
- });
- this[
- "__v_isReadonly"
- /* IS_READONLY */
- ] = isReadonly2;
- }
- get value() {
- const self2 = toRaw2(this);
- if (self2._dirty) {
- self2._value = this.effect();
- self2._dirty = false;
- }
- track(self2, "get", "value");
- return self2._value;
- }
- set value(newValue) {
- this._setter(newValue);
- }
- };
- function computed(getterOrOptions) {
- let getter;
- let setter;
- if (shared.isFunction(getterOrOptions)) {
- getter = getterOrOptions;
- setter = () => {
- console.warn("Write operation failed: computed value is readonly");
- };
- } else {
- getter = getterOrOptions.get;
- setter = getterOrOptions.set;
- }
- return new ComputedRefImpl(getter, setter, shared.isFunction(getterOrOptions) || !getterOrOptions.set);
- }
- exports2.ITERATE_KEY = ITERATE_KEY;
- exports2.computed = computed;
- exports2.customRef = customRef;
- exports2.effect = effect3;
- exports2.enableTracking = enableTracking;
- exports2.isProxy = isProxy;
- exports2.isReactive = isReactive2;
- exports2.isReadonly = isReadonly;
- exports2.isRef = isRef;
- exports2.markRaw = markRaw;
- exports2.pauseTracking = pauseTracking;
- exports2.proxyRefs = proxyRefs;
- exports2.reactive = reactive3;
- exports2.readonly = readonly;
- exports2.ref = ref;
- exports2.resetTracking = resetTracking;
- exports2.shallowReactive = shallowReactive;
- exports2.shallowReadonly = shallowReadonly;
- exports2.shallowRef = shallowRef;
- exports2.stop = stop2;
- exports2.toRaw = toRaw2;
- exports2.toRef = toRef;
- exports2.toRefs = toRefs;
- exports2.track = track;
- exports2.trigger = trigger;
- exports2.triggerRef = triggerRef;
- exports2.unref = unref;
- }
- });
- var require_reactivity = __commonJS2({
- "node_modules/@vue/reactivity/index.js"(exports2, module2) {
- "use strict";
- if (false) {
- module2.exports = null;
- } else {
- module2.exports = require_reactivity_cjs();
- }
- }
- });
- var module_exports = {};
- __export2(module_exports, {
- default: () => module_default
- });
- module.exports = __toCommonJS(module_exports);
- var flushPending = false;
- var flushing = false;
- var queue = [];
- var lastFlushedIndex = -1;
- function scheduler(callback) {
- queueJob(callback);
- }
- function queueJob(job) {
- if (!queue.includes(job))
- queue.push(job);
- queueFlush();
- }
- function dequeueJob(job) {
- let index = queue.indexOf(job);
- if (index !== -1 && index > lastFlushedIndex)
- queue.splice(index, 1);
- }
- function queueFlush() {
- if (!flushing && !flushPending) {
- flushPending = true;
- queueMicrotask(flushJobs);
- }
- }
- function flushJobs() {
- flushPending = false;
- flushing = true;
- for (let i2 = 0; i2 < queue.length; i2++) {
- queue[i2]();
- lastFlushedIndex = i2;
- }
- queue.length = 0;
- lastFlushedIndex = -1;
- flushing = false;
- }
- var reactive;
- var effect;
- var release;
- var raw;
- var shouldSchedule = true;
- function disableEffectScheduling(callback) {
- shouldSchedule = false;
- callback();
- shouldSchedule = true;
- }
- function setReactivityEngine(engine) {
- reactive = engine.reactive;
- release = engine.release;
- effect = (callback) => engine.effect(callback, { scheduler: (task) => {
- if (shouldSchedule) {
- scheduler(task);
- } else {
- task();
- }
- } });
- raw = engine.raw;
- }
- function overrideEffect(override) {
- effect = override;
- }
- function elementBoundEffect(el) {
- let cleanup = () => {
- };
- let wrappedEffect = (callback) => {
- let effectReference = effect(callback);
- if (!el._x_effects) {
- el._x_effects = /* @__PURE__ */ new Set();
- el._x_runEffects = () => {
- el._x_effects.forEach((i2) => i2());
- };
- }
- el._x_effects.add(effectReference);
- cleanup = () => {
- if (effectReference === void 0)
- return;
- el._x_effects.delete(effectReference);
- release(effectReference);
- };
- return effectReference;
- };
- return [wrappedEffect, () => {
- cleanup();
- }];
- }
- function dispatch(el, name, detail = {}) {
- el.dispatchEvent(
- new CustomEvent(name, {
- detail,
- bubbles: true,
- // Allows events to pass the shadow DOM barrier.
- composed: true,
- cancelable: true
- })
- );
- }
- function walk(el, callback) {
- if (typeof ShadowRoot === "function" && el instanceof ShadowRoot) {
- Array.from(el.children).forEach((el2) => walk(el2, callback));
- return;
- }
- let skip = false;
- callback(el, () => skip = true);
- if (skip)
- return;
- let node = el.firstElementChild;
- while (node) {
- walk(node, callback, false);
- node = node.nextElementSibling;
- }
- }
- function warn(message, ...args) {
- console.warn(`Alpine Warning: ${message}`, ...args);
- }
- var started = false;
- function start() {
- if (started)
- warn("Alpine has already been initialized on this page. Calling Alpine.start() more than once can cause problems.");
- started = true;
- if (!document.body)
- warn("Unable to initialize. Trying to load Alpine before `<body>` is available. Did you forget to add `defer` in Alpine's `<script>` tag?");
- dispatch(document, "alpine:init");
- dispatch(document, "alpine:initializing");
- startObservingMutations();
- onElAdded((el) => initTree(el, walk));
- onElRemoved((el) => destroyTree(el));
- onAttributesAdded((el, attrs) => {
- directives(el, attrs).forEach((handle) => handle());
- });
- let outNestedComponents = (el) => !closestRoot(el.parentElement, true);
- Array.from(document.querySelectorAll(allSelectors().join(","))).filter(outNestedComponents).forEach((el) => {
- initTree(el);
- });
- dispatch(document, "alpine:initialized");
- }
- var rootSelectorCallbacks = [];
- var initSelectorCallbacks = [];
- function rootSelectors() {
- return rootSelectorCallbacks.map((fn) => fn());
- }
- function allSelectors() {
- return rootSelectorCallbacks.concat(initSelectorCallbacks).map((fn) => fn());
- }
- function addRootSelector(selectorCallback) {
- rootSelectorCallbacks.push(selectorCallback);
- }
- function addInitSelector(selectorCallback) {
- initSelectorCallbacks.push(selectorCallback);
- }
- function closestRoot(el, includeInitSelectors = false) {
- return findClosest(el, (element) => {
- const selectors = includeInitSelectors ? allSelectors() : rootSelectors();
- if (selectors.some((selector) => element.matches(selector)))
- return true;
- });
- }
- function findClosest(el, callback) {
- if (!el)
- return;
- if (callback(el))
- return el;
- if (el._x_teleportBack)
- el = el._x_teleportBack;
- if (!el.parentElement)
- return;
- return findClosest(el.parentElement, callback);
- }
- function isRoot(el) {
- return rootSelectors().some((selector) => el.matches(selector));
- }
- var initInterceptors = [];
- function interceptInit(callback) {
- initInterceptors.push(callback);
- }
- function initTree(el, walker = walk, intercept = () => {
- }) {
- deferHandlingDirectives(() => {
- walker(el, (el2, skip) => {
- intercept(el2, skip);
- initInterceptors.forEach((i2) => i2(el2, skip));
- directives(el2, el2.attributes).forEach((handle) => handle());
- el2._x_ignore && skip();
- });
- });
- }
- function destroyTree(root) {
- walk(root, (el) => {
- cleanupAttributes(el);
- cleanupElement(el);
- });
- }
- var onAttributeAddeds = [];
- var onElRemoveds = [];
- var onElAddeds = [];
- function onElAdded(callback) {
- onElAddeds.push(callback);
- }
- function onElRemoved(el, callback) {
- if (typeof callback === "function") {
- if (!el._x_cleanups)
- el._x_cleanups = [];
- el._x_cleanups.push(callback);
- } else {
- callback = el;
- onElRemoveds.push(callback);
- }
- }
- function onAttributesAdded(callback) {
- onAttributeAddeds.push(callback);
- }
- function onAttributeRemoved(el, name, callback) {
- if (!el._x_attributeCleanups)
- el._x_attributeCleanups = {};
- if (!el._x_attributeCleanups[name])
- el._x_attributeCleanups[name] = [];
- el._x_attributeCleanups[name].push(callback);
- }
- function cleanupAttributes(el, names) {
- if (!el._x_attributeCleanups)
- return;
- Object.entries(el._x_attributeCleanups).forEach(([name, value]) => {
- if (names === void 0 || names.includes(name)) {
- value.forEach((i2) => i2());
- delete el._x_attributeCleanups[name];
- }
- });
- }
- function cleanupElement(el) {
- if (el._x_cleanups) {
- while (el._x_cleanups.length)
- el._x_cleanups.pop()();
- }
- }
- var observer = new MutationObserver(onMutate);
- var currentlyObserving = false;
- function startObservingMutations() {
- observer.observe(document, { subtree: true, childList: true, attributes: true, attributeOldValue: true });
- currentlyObserving = true;
- }
- function stopObservingMutations() {
- flushObserver();
- observer.disconnect();
- currentlyObserving = false;
- }
- var recordQueue = [];
- var willProcessRecordQueue = false;
- function flushObserver() {
- recordQueue = recordQueue.concat(observer.takeRecords());
- if (recordQueue.length && !willProcessRecordQueue) {
- willProcessRecordQueue = true;
- queueMicrotask(() => {
- processRecordQueue();
- willProcessRecordQueue = false;
- });
- }
- }
- function processRecordQueue() {
- onMutate(recordQueue);
- recordQueue.length = 0;
- }
- function mutateDom(callback) {
- if (!currentlyObserving)
- return callback();
- stopObservingMutations();
- let result = callback();
- startObservingMutations();
- return result;
- }
- var isCollecting = false;
- var deferredMutations = [];
- function deferMutations() {
- isCollecting = true;
- }
- function flushAndStopDeferringMutations() {
- isCollecting = false;
- onMutate(deferredMutations);
- deferredMutations = [];
- }
- function onMutate(mutations) {
- if (isCollecting) {
- deferredMutations = deferredMutations.concat(mutations);
- return;
- }
- let addedNodes = [];
- let removedNodes = [];
- let addedAttributes = /* @__PURE__ */ new Map();
- let removedAttributes = /* @__PURE__ */ new Map();
- for (let i2 = 0; i2 < mutations.length; i2++) {
- if (mutations[i2].target._x_ignoreMutationObserver)
- continue;
- if (mutations[i2].type === "childList") {
- mutations[i2].addedNodes.forEach((node) => node.nodeType === 1 && addedNodes.push(node));
- mutations[i2].removedNodes.forEach((node) => node.nodeType === 1 && removedNodes.push(node));
- }
- if (mutations[i2].type === "attributes") {
- let el = mutations[i2].target;
- let name = mutations[i2].attributeName;
- let oldValue = mutations[i2].oldValue;
- let add = () => {
- if (!addedAttributes.has(el))
- addedAttributes.set(el, []);
- addedAttributes.get(el).push({ name, value: el.getAttribute(name) });
- };
- let remove = () => {
- if (!removedAttributes.has(el))
- removedAttributes.set(el, []);
- removedAttributes.get(el).push(name);
- };
- if (el.hasAttribute(name) && oldValue === null) {
- add();
- } else if (el.hasAttribute(name)) {
- remove();
- add();
- } else {
- remove();
- }
- }
- }
- removedAttributes.forEach((attrs, el) => {
- cleanupAttributes(el, attrs);
- });
- addedAttributes.forEach((attrs, el) => {
- onAttributeAddeds.forEach((i2) => i2(el, attrs));
- });
- for (let node of removedNodes) {
- if (addedNodes.includes(node))
- continue;
- onElRemoveds.forEach((i2) => i2(node));
- destroyTree(node);
- }
- addedNodes.forEach((node) => {
- node._x_ignoreSelf = true;
- node._x_ignore = true;
- });
- for (let node of addedNodes) {
- if (removedNodes.includes(node))
- continue;
- if (!node.isConnected)
- continue;
- delete node._x_ignoreSelf;
- delete node._x_ignore;
- onElAddeds.forEach((i2) => i2(node));
- node._x_ignore = true;
- node._x_ignoreSelf = true;
- }
- addedNodes.forEach((node) => {
- delete node._x_ignoreSelf;
- delete node._x_ignore;
- });
- addedNodes = null;
- removedNodes = null;
- addedAttributes = null;
- removedAttributes = null;
- }
- function scope(node) {
- return mergeProxies(closestDataStack(node));
- }
- function addScopeToNode(node, data2, referenceNode) {
- node._x_dataStack = [data2, ...closestDataStack(referenceNode || node)];
- return () => {
- node._x_dataStack = node._x_dataStack.filter((i2) => i2 !== data2);
- };
- }
- function closestDataStack(node) {
- if (node._x_dataStack)
- return node._x_dataStack;
- if (typeof ShadowRoot === "function" && node instanceof ShadowRoot) {
- return closestDataStack(node.host);
- }
- if (!node.parentNode) {
- return [];
- }
- return closestDataStack(node.parentNode);
- }
- function mergeProxies(objects) {
- return new Proxy({ objects }, mergeProxyTrap);
- }
- var mergeProxyTrap = {
- ownKeys({ objects }) {
- return Array.from(
- new Set(objects.flatMap((i2) => Object.keys(i2)))
- );
- },
- has({ objects }, name) {
- if (name == Symbol.unscopables)
- return false;
- return objects.some(
- (obj) => Object.prototype.hasOwnProperty.call(obj, name)
- );
- },
- get({ objects }, name, thisProxy) {
- if (name == "toJSON")
- return collapseProxies;
- return Reflect.get(
- objects.find(
- (obj) => Object.prototype.hasOwnProperty.call(obj, name)
- ) || {},
- name,
- thisProxy
- );
- },
- set({ objects }, name, value, thisProxy) {
- const target = objects.find(
- (obj) => Object.prototype.hasOwnProperty.call(obj, name)
- ) || objects[objects.length - 1];
- const descriptor = Object.getOwnPropertyDescriptor(target, name);
- if ((descriptor == null ? void 0 : descriptor.set) && (descriptor == null ? void 0 : descriptor.get))
- return Reflect.set(target, name, value, thisProxy);
- return Reflect.set(target, name, value);
- }
- };
- function collapseProxies() {
- let keys = Reflect.ownKeys(this);
- return keys.reduce((acc, key) => {
- acc[key] = Reflect.get(this, key);
- return acc;
- }, {});
- }
- function initInterceptors2(data2) {
- let isObject2 = (val) => typeof val === "object" && !Array.isArray(val) && val !== null;
- let recurse = (obj, basePath = "") => {
- Object.entries(Object.getOwnPropertyDescriptors(obj)).forEach(([key, { value, enumerable }]) => {
- if (enumerable === false || value === void 0)
- return;
- let path = basePath === "" ? key : `${basePath}.${key}`;
- if (typeof value === "object" && value !== null && value._x_interceptor) {
- obj[key] = value.initialize(data2, path, key);
- } else {
- if (isObject2(value) && value !== obj && !(value instanceof Element)) {
- recurse(value, path);
- }
- }
- });
- };
- return recurse(data2);
- }
- function interceptor(callback, mutateObj = () => {
- }) {
- let obj = {
- initialValue: void 0,
- _x_interceptor: true,
- initialize(data2, path, key) {
- return callback(this.initialValue, () => get(data2, path), (value) => set(data2, path, value), path, key);
- }
- };
- mutateObj(obj);
- return (initialValue) => {
- if (typeof initialValue === "object" && initialValue !== null && initialValue._x_interceptor) {
- let initialize = obj.initialize.bind(obj);
- obj.initialize = (data2, path, key) => {
- let innerValue = initialValue.initialize(data2, path, key);
- obj.initialValue = innerValue;
- return initialize(data2, path, key);
- };
- } else {
- obj.initialValue = initialValue;
- }
- return obj;
- };
- }
- function get(obj, path) {
- return path.split(".").reduce((carry, segment) => carry[segment], obj);
- }
- function set(obj, path, value) {
- if (typeof path === "string")
- path = path.split(".");
- if (path.length === 1)
- obj[path[0]] = value;
- else if (path.length === 0)
- throw error;
- else {
- if (obj[path[0]])
- return set(obj[path[0]], path.slice(1), value);
- else {
- obj[path[0]] = {};
- return set(obj[path[0]], path.slice(1), value);
- }
- }
- }
- var magics = {};
- function magic(name, callback) {
- magics[name] = callback;
- }
- function injectMagics(obj, el) {
- Object.entries(magics).forEach(([name, callback]) => {
- let memoizedUtilities = null;
- function getUtilities() {
- if (memoizedUtilities) {
- return memoizedUtilities;
- } else {
- let [utilities, cleanup] = getElementBoundUtilities(el);
- memoizedUtilities = { interceptor, ...utilities };
- onElRemoved(el, cleanup);
- return memoizedUtilities;
- }
- }
- Object.defineProperty(obj, `$${name}`, {
- get() {
- return callback(el, getUtilities());
- },
- enumerable: false
- });
- });
- return obj;
- }
- function tryCatch(el, expression, callback, ...args) {
- try {
- return callback(...args);
- } catch (e2) {
- handleError(e2, el, expression);
- }
- }
- function handleError(error2, el, expression = void 0) {
- Object.assign(error2, { el, expression });
- console.warn(`Alpine Expression Error: ${error2.message}
-
-${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
- setTimeout(() => {
- throw error2;
- }, 0);
- }
- var shouldAutoEvaluateFunctions = true;
- function dontAutoEvaluateFunctions(callback) {
- let cache = shouldAutoEvaluateFunctions;
- shouldAutoEvaluateFunctions = false;
- let result = callback();
- shouldAutoEvaluateFunctions = cache;
- return result;
- }
- function evaluate(el, expression, extras = {}) {
- let result;
- evaluateLater(el, expression)((value) => result = value, extras);
- return result;
- }
- function evaluateLater(...args) {
- return theEvaluatorFunction(...args);
- }
- var theEvaluatorFunction = normalEvaluator;
- function setEvaluator(newEvaluator) {
- theEvaluatorFunction = newEvaluator;
- }
- function normalEvaluator(el, expression) {
- let overriddenMagics = {};
- injectMagics(overriddenMagics, el);
- let dataStack = [overriddenMagics, ...closestDataStack(el)];
- let evaluator = typeof expression === "function" ? generateEvaluatorFromFunction(dataStack, expression) : generateEvaluatorFromString(dataStack, expression, el);
- return tryCatch.bind(null, el, expression, evaluator);
- }
- function generateEvaluatorFromFunction(dataStack, func) {
- return (receiver = () => {
- }, { scope: scope2 = {}, params = [] } = {}) => {
- let result = func.apply(mergeProxies([scope2, ...dataStack]), params);
- runIfTypeOfFunction(receiver, result);
- };
- }
- var evaluatorMemo = {};
- function generateFunctionFromString(expression, el) {
- if (evaluatorMemo[expression]) {
- return evaluatorMemo[expression];
- }
- let AsyncFunction = Object.getPrototypeOf(async function() {
- }).constructor;
- let rightSideSafeExpression = /^[\n\s]*if.*\(.*\)/.test(expression.trim()) || /^(let|const)\s/.test(expression.trim()) ? `(async()=>{ ${expression} })()` : expression;
- const safeAsyncFunction = () => {
- try {
- let func2 = new AsyncFunction(
- ["__self", "scope"],
- `with (scope) { __self.result = ${rightSideSafeExpression} }; __self.finished = true; return __self.result;`
- );
- Object.defineProperty(func2, "name", {
- value: `[Alpine] ${expression}`
- });
- return func2;
- } catch (error2) {
- handleError(error2, el, expression);
- return Promise.resolve();
- }
- };
- let func = safeAsyncFunction();
- evaluatorMemo[expression] = func;
- return func;
- }
- function generateEvaluatorFromString(dataStack, expression, el) {
- let func = generateFunctionFromString(expression, el);
- return (receiver = () => {
- }, { scope: scope2 = {}, params = [] } = {}) => {
- func.result = void 0;
- func.finished = false;
- let completeScope = mergeProxies([scope2, ...dataStack]);
- if (typeof func === "function") {
- let promise = func(func, completeScope).catch((error2) => handleError(error2, el, expression));
- if (func.finished) {
- runIfTypeOfFunction(receiver, func.result, completeScope, params, el);
- func.result = void 0;
- } else {
- promise.then((result) => {
- runIfTypeOfFunction(receiver, result, completeScope, params, el);
- }).catch((error2) => handleError(error2, el, expression)).finally(() => func.result = void 0);
- }
- }
- };
- }
- function runIfTypeOfFunction(receiver, value, scope2, params, el) {
- if (shouldAutoEvaluateFunctions && typeof value === "function") {
- let result = value.apply(scope2, params);
- if (result instanceof Promise) {
- result.then((i2) => runIfTypeOfFunction(receiver, i2, scope2, params)).catch((error2) => handleError(error2, el, value));
- } else {
- receiver(result);
- }
- } else if (typeof value === "object" && value instanceof Promise) {
- value.then((i2) => receiver(i2));
- } else {
- receiver(value);
- }
- }
- var prefixAsString = "x-";
- function prefix(subject = "") {
- return prefixAsString + subject;
- }
- function setPrefix(newPrefix) {
- prefixAsString = newPrefix;
- }
- var directiveHandlers = {};
- function directive(name, callback) {
- directiveHandlers[name] = callback;
- return {
- before(directive2) {
- if (!directiveHandlers[directive2]) {
- console.warn(
- "Cannot find directive `${directive}`. `${name}` will use the default order of execution"
- );
- return;
- }
- const pos = directiveOrder.indexOf(directive2);
- directiveOrder.splice(pos >= 0 ? pos : directiveOrder.indexOf("DEFAULT"), 0, name);
- }
- };
- }
- function directives(el, attributes, originalAttributeOverride) {
- attributes = Array.from(attributes);
- if (el._x_virtualDirectives) {
- let vAttributes = Object.entries(el._x_virtualDirectives).map(([name, value]) => ({ name, value }));
- let staticAttributes = attributesOnly(vAttributes);
- vAttributes = vAttributes.map((attribute) => {
- if (staticAttributes.find((attr) => attr.name === attribute.name)) {
- return {
- name: `x-bind:${attribute.name}`,
- value: `"${attribute.value}"`
- };
- }
- return attribute;
- });
- attributes = attributes.concat(vAttributes);
- }
- let transformedAttributeMap = {};
- let directives2 = attributes.map(toTransformedAttributes((newName, oldName) => transformedAttributeMap[newName] = oldName)).filter(outNonAlpineAttributes).map(toParsedDirectives(transformedAttributeMap, originalAttributeOverride)).sort(byPriority);
- return directives2.map((directive2) => {
- return getDirectiveHandler(el, directive2);
- });
- }
- function attributesOnly(attributes) {
- return Array.from(attributes).map(toTransformedAttributes()).filter((attr) => !outNonAlpineAttributes(attr));
- }
- var isDeferringHandlers = false;
- var directiveHandlerStacks = /* @__PURE__ */ new Map();
- var currentHandlerStackKey = Symbol();
- function deferHandlingDirectives(callback) {
- isDeferringHandlers = true;
- let key = Symbol();
- currentHandlerStackKey = key;
- directiveHandlerStacks.set(key, []);
- let flushHandlers = () => {
- while (directiveHandlerStacks.get(key).length)
- directiveHandlerStacks.get(key).shift()();
- directiveHandlerStacks.delete(key);
- };
- let stopDeferring = () => {
- isDeferringHandlers = false;
- flushHandlers();
- };
- callback(flushHandlers);
- stopDeferring();
- }
- function getElementBoundUtilities(el) {
- let cleanups = [];
- let cleanup = (callback) => cleanups.push(callback);
- let [effect3, cleanupEffect] = elementBoundEffect(el);
- cleanups.push(cleanupEffect);
- let utilities = {
- Alpine: alpine_default2,
- effect: effect3,
- cleanup,
- evaluateLater: evaluateLater.bind(evaluateLater, el),
- evaluate: evaluate.bind(evaluate, el)
- };
- let doCleanup = () => cleanups.forEach((i2) => i2());
- return [utilities, doCleanup];
- }
- function getDirectiveHandler(el, directive2) {
- let noop = () => {
- };
- let handler4 = directiveHandlers[directive2.type] || noop;
- let [utilities, cleanup] = getElementBoundUtilities(el);
- onAttributeRemoved(el, directive2.original, cleanup);
- let fullHandler = () => {
- if (el._x_ignore || el._x_ignoreSelf)
- return;
- handler4.inline && handler4.inline(el, directive2, utilities);
- handler4 = handler4.bind(handler4, el, directive2, utilities);
- isDeferringHandlers ? directiveHandlerStacks.get(currentHandlerStackKey).push(handler4) : handler4();
- };
- fullHandler.runCleanups = cleanup;
- return fullHandler;
- }
- var startingWith = (subject, replacement) => ({ name, value }) => {
- if (name.startsWith(subject))
- name = name.replace(subject, replacement);
- return { name, value };
- };
- var into = (i2) => i2;
- function toTransformedAttributes(callback = () => {
- }) {
- return ({ name, value }) => {
- let { name: newName, value: newValue } = attributeTransformers.reduce((carry, transform) => {
- return transform(carry);
- }, { name, value });
- if (newName !== name)
- callback(newName, name);
- return { name: newName, value: newValue };
- };
- }
- var attributeTransformers = [];
- function mapAttributes(callback) {
- attributeTransformers.push(callback);
- }
- function outNonAlpineAttributes({ name }) {
- return alpineAttributeRegex().test(name);
- }
- var alpineAttributeRegex = () => new RegExp(`^${prefixAsString}([^:^.]+)\\b`);
- function toParsedDirectives(transformedAttributeMap, originalAttributeOverride) {
- return ({ name, value }) => {
- let typeMatch = name.match(alpineAttributeRegex());
- let valueMatch = name.match(/:([a-zA-Z0-9\-_:]+)/);
- let modifiers = name.match(/\.[^.\]]+(?=[^\]]*$)/g) || [];
- let original = originalAttributeOverride || transformedAttributeMap[name] || name;
- return {
- type: typeMatch ? typeMatch[1] : null,
- value: valueMatch ? valueMatch[1] : null,
- modifiers: modifiers.map((i2) => i2.replace(".", "")),
- expression: value,
- original
- };
- };
- }
- var DEFAULT = "DEFAULT";
- var directiveOrder = [
- "ignore",
- "ref",
- "data",
- "id",
- "anchor",
- "bind",
- "init",
- "for",
- "model",
- "modelable",
- "transition",
- "show",
- "if",
- DEFAULT,
- "teleport"
- ];
- function byPriority(a2, b2) {
- let typeA = directiveOrder.indexOf(a2.type) === -1 ? DEFAULT : a2.type;
- let typeB = directiveOrder.indexOf(b2.type) === -1 ? DEFAULT : b2.type;
- return directiveOrder.indexOf(typeA) - directiveOrder.indexOf(typeB);
- }
- var tickStack = [];
- var isHolding = false;
- function nextTick(callback = () => {
- }) {
- queueMicrotask(() => {
- isHolding || setTimeout(() => {
- releaseNextTicks();
- });
- });
- return new Promise((res) => {
- tickStack.push(() => {
- callback();
- res();
- });
- });
- }
- function releaseNextTicks() {
- isHolding = false;
- while (tickStack.length)
- tickStack.shift()();
- }
- function holdNextTicks() {
- isHolding = true;
- }
- function setClasses(el, value) {
- if (Array.isArray(value)) {
- return setClassesFromString(el, value.join(" "));
- } else if (typeof value === "object" && value !== null) {
- return setClassesFromObject(el, value);
- } else if (typeof value === "function") {
- return setClasses(el, value());
- }
- return setClassesFromString(el, value);
- }
- function setClassesFromString(el, classString) {
- let split = (classString2) => classString2.split(" ").filter(Boolean);
- let missingClasses = (classString2) => classString2.split(" ").filter((i2) => !el.classList.contains(i2)).filter(Boolean);
- let addClassesAndReturnUndo = (classes) => {
- el.classList.add(...classes);
- return () => {
- el.classList.remove(...classes);
- };
- };
- classString = classString === true ? classString = "" : classString || "";
- return addClassesAndReturnUndo(missingClasses(classString));
- }
- function setClassesFromObject(el, classObject) {
- let split = (classString) => classString.split(" ").filter(Boolean);
- let forAdd = Object.entries(classObject).flatMap(([classString, bool]) => bool ? split(classString) : false).filter(Boolean);
- let forRemove = Object.entries(classObject).flatMap(([classString, bool]) => !bool ? split(classString) : false).filter(Boolean);
- let added = [];
- let removed = [];
- forRemove.forEach((i2) => {
- if (el.classList.contains(i2)) {
- el.classList.remove(i2);
- removed.push(i2);
- }
- });
- forAdd.forEach((i2) => {
- if (!el.classList.contains(i2)) {
- el.classList.add(i2);
- added.push(i2);
- }
- });
- return () => {
- removed.forEach((i2) => el.classList.add(i2));
- added.forEach((i2) => el.classList.remove(i2));
- };
- }
- function setStyles(el, value) {
- if (typeof value === "object" && value !== null) {
- return setStylesFromObject(el, value);
- }
- return setStylesFromString(el, value);
- }
- function setStylesFromObject(el, value) {
- let previousStyles = {};
- Object.entries(value).forEach(([key, value2]) => {
- previousStyles[key] = el.style[key];
- if (!key.startsWith("--")) {
- key = kebabCase2(key);
- }
- el.style.setProperty(key, value2);
- });
- setTimeout(() => {
- if (el.style.length === 0) {
- el.removeAttribute("style");
- }
- });
- return () => {
- setStyles(el, previousStyles);
- };
- }
- function setStylesFromString(el, value) {
- let cache = el.getAttribute("style", value);
- el.setAttribute("style", value);
- return () => {
- el.setAttribute("style", cache || "");
- };
- }
- function kebabCase2(subject) {
- return subject.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
- }
- function once(callback, fallback = () => {
- }) {
- let called = false;
- return function() {
- if (!called) {
- called = true;
- callback.apply(this, arguments);
- } else {
- fallback.apply(this, arguments);
- }
- };
- }
- directive("transition", (el, { value, modifiers, expression }, { evaluate: evaluate2 }) => {
- if (typeof expression === "function")
- expression = evaluate2(expression);
- if (expression === false)
- return;
- if (!expression || typeof expression === "boolean") {
- registerTransitionsFromHelper(el, modifiers, value);
- } else {
- registerTransitionsFromClassString(el, expression, value);
- }
- });
- function registerTransitionsFromClassString(el, classString, stage) {
- registerTransitionObject(el, setClasses, "");
- let directiveStorageMap = {
- "enter": (classes) => {
- el._x_transition.enter.during = classes;
- },
- "enter-start": (classes) => {
- el._x_transition.enter.start = classes;
- },
- "enter-end": (classes) => {
- el._x_transition.enter.end = classes;
- },
- "leave": (classes) => {
- el._x_transition.leave.during = classes;
- },
- "leave-start": (classes) => {
- el._x_transition.leave.start = classes;
- },
- "leave-end": (classes) => {
- el._x_transition.leave.end = classes;
- }
- };
- directiveStorageMap[stage](classString);
- }
- function registerTransitionsFromHelper(el, modifiers, stage) {
- registerTransitionObject(el, setStyles);
- let doesntSpecify = !modifiers.includes("in") && !modifiers.includes("out") && !stage;
- let transitioningIn = doesntSpecify || modifiers.includes("in") || ["enter"].includes(stage);
- let transitioningOut = doesntSpecify || modifiers.includes("out") || ["leave"].includes(stage);
- if (modifiers.includes("in") && !doesntSpecify) {
- modifiers = modifiers.filter((i2, index) => index < modifiers.indexOf("out"));
- }
- if (modifiers.includes("out") && !doesntSpecify) {
- modifiers = modifiers.filter((i2, index) => index > modifiers.indexOf("out"));
- }
- let wantsAll = !modifiers.includes("opacity") && !modifiers.includes("scale");
- let wantsOpacity = wantsAll || modifiers.includes("opacity");
- let wantsScale = wantsAll || modifiers.includes("scale");
- let opacityValue = wantsOpacity ? 0 : 1;
- let scaleValue = wantsScale ? modifierValue(modifiers, "scale", 95) / 100 : 1;
- let delay = modifierValue(modifiers, "delay", 0) / 1e3;
- let origin = modifierValue(modifiers, "origin", "center");
- let property = "opacity, transform";
- let durationIn = modifierValue(modifiers, "duration", 150) / 1e3;
- let durationOut = modifierValue(modifiers, "duration", 75) / 1e3;
- let easing = `cubic-bezier(0.4, 0.0, 0.2, 1)`;
- if (transitioningIn) {
- el._x_transition.enter.during = {
- transformOrigin: origin,
- transitionDelay: `${delay}s`,
- transitionProperty: property,
- transitionDuration: `${durationIn}s`,
- transitionTimingFunction: easing
- };
- el._x_transition.enter.start = {
- opacity: opacityValue,
- transform: `scale(${scaleValue})`
- };
- el._x_transition.enter.end = {
- opacity: 1,
- transform: `scale(1)`
- };
- }
- if (transitioningOut) {
- el._x_transition.leave.during = {
- transformOrigin: origin,
- transitionDelay: `${delay}s`,
- transitionProperty: property,
- transitionDuration: `${durationOut}s`,
- transitionTimingFunction: easing
- };
- el._x_transition.leave.start = {
- opacity: 1,
- transform: `scale(1)`
- };
- el._x_transition.leave.end = {
- opacity: opacityValue,
- transform: `scale(${scaleValue})`
- };
- }
- }
- function registerTransitionObject(el, setFunction, defaultValue = {}) {
- if (!el._x_transition)
- el._x_transition = {
- enter: { during: defaultValue, start: defaultValue, end: defaultValue },
- leave: { during: defaultValue, start: defaultValue, end: defaultValue },
- in(before = () => {
- }, after = () => {
- }) {
- transition(el, setFunction, {
- during: this.enter.during,
- start: this.enter.start,
- end: this.enter.end
- }, before, after);
- },
- out(before = () => {
- }, after = () => {
- }) {
- transition(el, setFunction, {
- during: this.leave.during,
- start: this.leave.start,
- end: this.leave.end
- }, before, after);
- }
- };
- }
- window.Element.prototype._x_toggleAndCascadeWithTransitions = function(el, value, show, hide) {
- const nextTick2 = document.visibilityState === "visible" ? requestAnimationFrame : setTimeout;
- let clickAwayCompatibleShow = () => nextTick2(show);
- if (value) {
- if (el._x_transition && (el._x_transition.enter || el._x_transition.leave)) {
- el._x_transition.enter && (Object.entries(el._x_transition.enter.during).length || Object.entries(el._x_transition.enter.start).length || Object.entries(el._x_transition.enter.end).length) ? el._x_transition.in(show) : clickAwayCompatibleShow();
- } else {
- el._x_transition ? el._x_transition.in(show) : clickAwayCompatibleShow();
- }
- return;
- }
- el._x_hidePromise = el._x_transition ? new Promise((resolve, reject) => {
- el._x_transition.out(() => {
- }, () => resolve(hide));
- el._x_transitioning && el._x_transitioning.beforeCancel(() => reject({ isFromCancelledTransition: true }));
- }) : Promise.resolve(hide);
- queueMicrotask(() => {
- let closest = closestHide(el);
- if (closest) {
- if (!closest._x_hideChildren)
- closest._x_hideChildren = [];
- closest._x_hideChildren.push(el);
- } else {
- nextTick2(() => {
- let hideAfterChildren = (el2) => {
- let carry = Promise.all([
- el2._x_hidePromise,
- ...(el2._x_hideChildren || []).map(hideAfterChildren)
- ]).then(([i2]) => i2());
- delete el2._x_hidePromise;
- delete el2._x_hideChildren;
- return carry;
- };
- hideAfterChildren(el).catch((e2) => {
- if (!e2.isFromCancelledTransition)
- throw e2;
- });
- });
- }
- });
- };
- function closestHide(el) {
- let parent = el.parentNode;
- if (!parent)
- return;
- return parent._x_hidePromise ? parent : closestHide(parent);
- }
- function transition(el, setFunction, { during, start: start2, end } = {}, before = () => {
- }, after = () => {
- }) {
- if (el._x_transitioning)
- el._x_transitioning.cancel();
- if (Object.keys(during).length === 0 && Object.keys(start2).length === 0 && Object.keys(end).length === 0) {
- before();
- after();
- return;
- }
- let undoStart, undoDuring, undoEnd;
- performTransition(el, {
- start() {
- undoStart = setFunction(el, start2);
- },
- during() {
- undoDuring = setFunction(el, during);
- },
- before,
- end() {
- undoStart();
- undoEnd = setFunction(el, end);
- },
- after,
- cleanup() {
- undoDuring();
- undoEnd();
- }
- });
- }
- function performTransition(el, stages) {
- let interrupted, reachedBefore, reachedEnd;
- let finish = once(() => {
- mutateDom(() => {
- interrupted = true;
- if (!reachedBefore)
- stages.before();
- if (!reachedEnd) {
- stages.end();
- releaseNextTicks();
- }
- stages.after();
- if (el.isConnected)
- stages.cleanup();
- delete el._x_transitioning;
- });
- });
- el._x_transitioning = {
- beforeCancels: [],
- beforeCancel(callback) {
- this.beforeCancels.push(callback);
- },
- cancel: once(function() {
- while (this.beforeCancels.length) {
- this.beforeCancels.shift()();
- }
- ;
- finish();
- }),
- finish
- };
- mutateDom(() => {
- stages.start();
- stages.during();
- });
- holdNextTicks();
- requestAnimationFrame(() => {
- if (interrupted)
- return;
- let duration = Number(getComputedStyle(el).transitionDuration.replace(/,.*/, "").replace("s", "")) * 1e3;
- let delay = Number(getComputedStyle(el).transitionDelay.replace(/,.*/, "").replace("s", "")) * 1e3;
- if (duration === 0)
- duration = Number(getComputedStyle(el).animationDuration.replace("s", "")) * 1e3;
- mutateDom(() => {
- stages.before();
- });
- reachedBefore = true;
- requestAnimationFrame(() => {
- if (interrupted)
- return;
- mutateDom(() => {
- stages.end();
- });
- releaseNextTicks();
- setTimeout(el._x_transitioning.finish, duration + delay);
- reachedEnd = true;
- });
- });
- }
- function modifierValue(modifiers, key, fallback) {
- if (modifiers.indexOf(key) === -1)
- return fallback;
- const rawValue = modifiers[modifiers.indexOf(key) + 1];
- if (!rawValue)
- return fallback;
- if (key === "scale") {
- if (isNaN(rawValue))
- return fallback;
- }
- if (key === "duration" || key === "delay") {
- let match = rawValue.match(/([0-9]+)ms/);
- if (match)
- return match[1];
- }
- if (key === "origin") {
- if (["top", "right", "left", "center", "bottom"].includes(modifiers[modifiers.indexOf(key) + 2])) {
- return [rawValue, modifiers[modifiers.indexOf(key) + 2]].join(" ");
- }
- }
- return rawValue;
- }
- var isCloning = false;
- function skipDuringClone(callback, fallback = () => {
- }) {
- return (...args) => isCloning ? fallback(...args) : callback(...args);
- }
- function onlyDuringClone(callback) {
- return (...args) => isCloning && callback(...args);
- }
- var interceptors = [];
- function interceptClone(callback) {
- interceptors.push(callback);
- }
- function cloneNode(from, to) {
- interceptors.forEach((i2) => i2(from, to));
- isCloning = true;
- dontRegisterReactiveSideEffects(() => {
- initTree(to, (el, callback) => {
- callback(el, () => {
- });
- });
- });
- isCloning = false;
- }
- var isCloningLegacy = false;
- function clone(oldEl, newEl) {
- if (!newEl._x_dataStack)
- newEl._x_dataStack = oldEl._x_dataStack;
- isCloning = true;
- isCloningLegacy = true;
- dontRegisterReactiveSideEffects(() => {
- cloneTree(newEl);
- });
- isCloning = false;
- isCloningLegacy = false;
- }
- function cloneTree(el) {
- let hasRunThroughFirstEl = false;
- let shallowWalker = (el2, callback) => {
- walk(el2, (el3, skip) => {
- if (hasRunThroughFirstEl && isRoot(el3))
- return skip();
- hasRunThroughFirstEl = true;
- callback(el3, skip);
- });
- };
- initTree(el, shallowWalker);
- }
- function dontRegisterReactiveSideEffects(callback) {
- let cache = effect;
- overrideEffect((callback2, el) => {
- let storedEffect = cache(callback2);
- release(storedEffect);
- return () => {
- };
- });
- callback();
- overrideEffect(cache);
- }
- function bind(el, name, value, modifiers = []) {
- if (!el._x_bindings)
- el._x_bindings = reactive({});
- el._x_bindings[name] = value;
- name = modifiers.includes("camel") ? camelCase2(name) : name;
- switch (name) {
- case "value":
- bindInputValue(el, value);
- break;
- case "style":
- bindStyles(el, value);
- break;
- case "class":
- bindClasses(el, value);
- break;
- case "selected":
- case "checked":
- bindAttributeAndProperty(el, name, value);
- break;
- default:
- bindAttribute(el, name, value);
- break;
- }
- }
- function bindInputValue(el, value) {
- if (el.type === "radio") {
- if (el.attributes.value === void 0) {
- el.value = value;
- }
- if (window.fromModel) {
- if (typeof value === "boolean") {
- el.checked = safeParseBoolean(el.value) === value;
- } else {
- el.checked = checkedAttrLooseCompare(el.value, value);
- }
- }
- } else if (el.type === "checkbox") {
- if (Number.isInteger(value)) {
- el.value = value;
- } else if (!Array.isArray(value) && typeof value !== "boolean" && ![null, void 0].includes(value)) {
- el.value = String(value);
- } else {
- if (Array.isArray(value)) {
- el.checked = value.some((val) => checkedAttrLooseCompare(val, el.value));
- } else {
- el.checked = !!value;
- }
- }
- } else if (el.tagName === "SELECT") {
- updateSelect(el, value);
- } else {
- if (el.value === value)
- return;
- el.value = value === void 0 ? "" : value;
- }
- }
- function bindClasses(el, value) {
- if (el._x_undoAddedClasses)
- el._x_undoAddedClasses();
- el._x_undoAddedClasses = setClasses(el, value);
- }
- function bindStyles(el, value) {
- if (el._x_undoAddedStyles)
- el._x_undoAddedStyles();
- el._x_undoAddedStyles = setStyles(el, value);
- }
- function bindAttributeAndProperty(el, name, value) {
- bindAttribute(el, name, value);
- setPropertyIfChanged(el, name, value);
- }
- function bindAttribute(el, name, value) {
- if ([null, void 0, false].includes(value) && attributeShouldntBePreservedIfFalsy(name)) {
- el.removeAttribute(name);
- } else {
- if (isBooleanAttr(name))
- value = name;
- setIfChanged(el, name, value);
- }
- }
- function setIfChanged(el, attrName, value) {
- if (el.getAttribute(attrName) != value) {
- el.setAttribute(attrName, value);
- }
- }
- function setPropertyIfChanged(el, propName, value) {
- if (el[propName] !== value) {
- el[propName] = value;
- }
- }
- function updateSelect(el, value) {
- const arrayWrappedValue = [].concat(value).map((value2) => {
- return value2 + "";
- });
- Array.from(el.options).forEach((option) => {
- option.selected = arrayWrappedValue.includes(option.value);
- });
- }
- function camelCase2(subject) {
- return subject.toLowerCase().replace(/-(\w)/g, (match, char) => char.toUpperCase());
- }
- function checkedAttrLooseCompare(valueA, valueB) {
- return valueA == valueB;
- }
- function safeParseBoolean(rawValue) {
- if ([1, "1", "true", "on", "yes", true].includes(rawValue)) {
- return true;
- }
- if ([0, "0", "false", "off", "no", false].includes(rawValue)) {
- return false;
- }
- return rawValue ? Boolean(rawValue) : null;
- }
- function isBooleanAttr(attrName) {
- const booleanAttributes = [
- "disabled",
- "checked",
- "required",
- "readonly",
- "hidden",
- "open",
- "selected",
- "autofocus",
- "itemscope",
- "multiple",
- "novalidate",
- "allowfullscreen",
- "allowpaymentrequest",
- "formnovalidate",
- "autoplay",
- "controls",
- "loop",
- "muted",
- "playsinline",
- "default",
- "ismap",
- "reversed",
- "async",
- "defer",
- "nomodule"
- ];
- return booleanAttributes.includes(attrName);
- }
- function attributeShouldntBePreservedIfFalsy(name) {
- return !["aria-pressed", "aria-checked", "aria-expanded", "aria-selected"].includes(name);
- }
- function getBinding(el, name, fallback) {
- if (el._x_bindings && el._x_bindings[name] !== void 0)
- return el._x_bindings[name];
- return getAttributeBinding(el, name, fallback);
- }
- function extractProp(el, name, fallback, extract = true) {
- if (el._x_bindings && el._x_bindings[name] !== void 0)
- return el._x_bindings[name];
- if (el._x_inlineBindings && el._x_inlineBindings[name] !== void 0) {
- let binding = el._x_inlineBindings[name];
- binding.extract = extract;
- return dontAutoEvaluateFunctions(() => {
- return evaluate(el, binding.expression);
- });
- }
- return getAttributeBinding(el, name, fallback);
- }
- function getAttributeBinding(el, name, fallback) {
- let attr = el.getAttribute(name);
- if (attr === null)
- return typeof fallback === "function" ? fallback() : fallback;
- if (attr === "")
- return true;
- if (isBooleanAttr(name)) {
- return !![name, "true"].includes(attr);
- }
- return attr;
- }
- function debounce(func, wait) {
- var timeout;
- return function() {
- var context = this, args = arguments;
- var later = function() {
- timeout = null;
- func.apply(context, args);
- };
- clearTimeout(timeout);
- timeout = setTimeout(later, wait);
- };
- }
- function throttle(func, limit) {
- let inThrottle;
- return function() {
- let context = this, args = arguments;
- if (!inThrottle) {
- func.apply(context, args);
- inThrottle = true;
- setTimeout(() => inThrottle = false, limit);
- }
- };
- }
- function entangle({ get: outerGet, set: outerSet }, { get: innerGet, set: innerSet }) {
- let firstRun = true;
- let outerHash;
- let reference = effect(() => {
- const outer = outerGet();
- const inner = innerGet();
- if (firstRun) {
- innerSet(cloneIfObject(outer));
- firstRun = false;
- outerHash = JSON.stringify(outer);
- } else {
- const outerHashLatest = JSON.stringify(outer);
- if (outerHashLatest !== outerHash) {
- innerSet(cloneIfObject(outer));
- outerHash = outerHashLatest;
- } else {
- outerSet(cloneIfObject(inner));
- outerHash = JSON.stringify(inner);
- }
- }
- JSON.stringify(innerGet());
- JSON.stringify(outerGet());
- });
- return () => {
- release(reference);
- };
- }
- function cloneIfObject(value) {
- return typeof value === "object" ? JSON.parse(JSON.stringify(value)) : value;
- }
- function plugin(callback) {
- let callbacks = Array.isArray(callback) ? callback : [callback];
- callbacks.forEach((i2) => i2(alpine_default2));
- }
- var stores = {};
- var isReactive = false;
- function store(name, value) {
- if (!isReactive) {
- stores = reactive(stores);
- isReactive = true;
- }
- if (value === void 0) {
- return stores[name];
- }
- stores[name] = value;
- if (typeof value === "object" && value !== null && value.hasOwnProperty("init") && typeof value.init === "function") {
- stores[name].init();
- }
- initInterceptors2(stores[name]);
- }
- function getStores() {
- return stores;
- }
- var binds = {};
- function bind2(name, bindings) {
- let getBindings = typeof bindings !== "function" ? () => bindings : bindings;
- if (name instanceof Element) {
- return applyBindingsObject(name, getBindings());
- } else {
- binds[name] = getBindings;
- }
- return () => {
- };
- }
- function injectBindingProviders(obj) {
- Object.entries(binds).forEach(([name, callback]) => {
- Object.defineProperty(obj, name, {
- get() {
- return (...args) => {
- return callback(...args);
- };
- }
- });
- });
- return obj;
- }
- function applyBindingsObject(el, obj, original) {
- let cleanupRunners = [];
- while (cleanupRunners.length)
- cleanupRunners.pop()();
- let attributes = Object.entries(obj).map(([name, value]) => ({ name, value }));
- let staticAttributes = attributesOnly(attributes);
- attributes = attributes.map((attribute) => {
- if (staticAttributes.find((attr) => attr.name === attribute.name)) {
- return {
- name: `x-bind:${attribute.name}`,
- value: `"${attribute.value}"`
- };
- }
- return attribute;
- });
- directives(el, attributes, original).map((handle) => {
- cleanupRunners.push(handle.runCleanups);
- handle();
- });
- return () => {
- while (cleanupRunners.length)
- cleanupRunners.pop()();
- };
- }
- var datas = {};
- function data(name, callback) {
- datas[name] = callback;
- }
- function injectDataProviders(obj, context) {
- Object.entries(datas).forEach(([name, callback]) => {
- Object.defineProperty(obj, name, {
- get() {
- return (...args) => {
- return callback.bind(context)(...args);
- };
- },
- enumerable: false
- });
- });
- return obj;
- }
- var Alpine3 = {
- get reactive() {
- return reactive;
- },
- get release() {
- return release;
- },
- get effect() {
- return effect;
- },
- get raw() {
- return raw;
- },
- version: "3.13.3",
- flushAndStopDeferringMutations,
- dontAutoEvaluateFunctions,
- disableEffectScheduling,
- startObservingMutations,
- stopObservingMutations,
- setReactivityEngine,
- onAttributeRemoved,
- onAttributesAdded,
- closestDataStack,
- skipDuringClone,
- onlyDuringClone,
- addRootSelector,
- addInitSelector,
- interceptClone,
- addScopeToNode,
- deferMutations,
- mapAttributes,
- evaluateLater,
- interceptInit,
- setEvaluator,
- mergeProxies,
- extractProp,
- findClosest,
- onElRemoved,
- closestRoot,
- destroyTree,
- interceptor,
- // INTERNAL: not public API and is subject to change without major release.
- transition,
- // INTERNAL
- setStyles,
- // INTERNAL
- mutateDom,
- directive,
- entangle,
- throttle,
- debounce,
- evaluate,
- initTree,
- nextTick,
- prefixed: prefix,
- prefix: setPrefix,
- plugin,
- magic,
- store,
- start,
- clone,
- // INTERNAL
- cloneNode,
- // INTERNAL
- bound: getBinding,
- $data: scope,
- walk,
- data,
- bind: bind2
- };
- var alpine_default2 = Alpine3;
- var import_reactivity9 = __toESM2(require_reactivity());
- magic("nextTick", () => nextTick);
- magic("dispatch", (el) => dispatch.bind(dispatch, el));
- magic("watch", (el, { evaluateLater: evaluateLater2, effect: effect3 }) => (key, callback) => {
- let evaluate2 = evaluateLater2(key);
- let firstTime = true;
- let oldValue;
- let effectReference = effect3(() => evaluate2((value) => {
- JSON.stringify(value);
- if (!firstTime) {
- queueMicrotask(() => {
- callback(value, oldValue);
- oldValue = value;
- });
- } else {
- oldValue = value;
- }
- firstTime = false;
- }));
- el._x_effects.delete(effectReference);
- });
- magic("store", getStores);
- magic("data", (el) => scope(el));
- magic("root", (el) => closestRoot(el));
- magic("refs", (el) => {
- if (el._x_refs_proxy)
- return el._x_refs_proxy;
- el._x_refs_proxy = mergeProxies(getArrayOfRefObject(el));
- return el._x_refs_proxy;
- });
- function getArrayOfRefObject(el) {
- let refObjects = [];
- let currentEl = el;
- while (currentEl) {
- if (currentEl._x_refs)
- refObjects.push(currentEl._x_refs);
- currentEl = currentEl.parentNode;
- }
- return refObjects;
- }
- var globalIdMemo = {};
- function findAndIncrementId(name) {
- if (!globalIdMemo[name])
- globalIdMemo[name] = 0;
- return ++globalIdMemo[name];
- }
- function closestIdRoot(el, name) {
- return findClosest(el, (element) => {
- if (element._x_ids && element._x_ids[name])
- return true;
- });
- }
- function setIdRoot(el, name) {
- if (!el._x_ids)
- el._x_ids = {};
- if (!el._x_ids[name])
- el._x_ids[name] = findAndIncrementId(name);
- }
- magic("id", (el) => (name, key = null) => {
- let root = closestIdRoot(el, name);
- let id = root ? root._x_ids[name] : findAndIncrementId(name);
- return key ? `${name}-${id}-${key}` : `${name}-${id}`;
- });
- magic("el", (el) => el);
- warnMissingPluginMagic("Focus", "focus", "focus");
- warnMissingPluginMagic("Persist", "persist", "persist");
- function warnMissingPluginMagic(name, magicName, slug) {
- magic(magicName, (el) => warn(`You can't use [$${magicName}] without first installing the "${name}" plugin here: https://alpinejs.dev/plugins/${slug}`, el));
- }
- directive("modelable", (el, { expression }, { effect: effect3, evaluateLater: evaluateLater2, cleanup }) => {
- let func = evaluateLater2(expression);
- let innerGet = () => {
- let result;
- func((i2) => result = i2);
- return result;
- };
- let evaluateInnerSet = evaluateLater2(`${expression} = __placeholder`);
- let innerSet = (val) => evaluateInnerSet(() => {
- }, { scope: { "__placeholder": val } });
- let initialValue = innerGet();
- innerSet(initialValue);
- queueMicrotask(() => {
- if (!el._x_model)
- return;
- el._x_removeModelListeners["default"]();
- let outerGet = el._x_model.get;
- let outerSet = el._x_model.set;
- let releaseEntanglement = entangle(
- {
- get() {
- return outerGet();
- },
- set(value) {
- outerSet(value);
- }
- },
- {
- get() {
- return innerGet();
- },
- set(value) {
- innerSet(value);
- }
- }
- );
- cleanup(releaseEntanglement);
- });
- });
- directive("teleport", (el, { modifiers, expression }, { cleanup }) => {
- if (el.tagName.toLowerCase() !== "template")
- warn("x-teleport can only be used on a <template> tag", el);
- let target = getTarget(expression);
- let clone2 = el.content.cloneNode(true).firstElementChild;
- el._x_teleport = clone2;
- clone2._x_teleportBack = el;
- el.setAttribute("data-teleport-template", true);
- clone2.setAttribute("data-teleport-target", true);
- if (el._x_forwardEvents) {
- el._x_forwardEvents.forEach((eventName) => {
- clone2.addEventListener(eventName, (e2) => {
- e2.stopPropagation();
- el.dispatchEvent(new e2.constructor(e2.type, e2));
- });
- });
- }
- addScopeToNode(clone2, {}, el);
- let placeInDom = (clone3, target2, modifiers2) => {
- if (modifiers2.includes("prepend")) {
- target2.parentNode.insertBefore(clone3, target2);
- } else if (modifiers2.includes("append")) {
- target2.parentNode.insertBefore(clone3, target2.nextSibling);
- } else {
- target2.appendChild(clone3);
- }
- };
- mutateDom(() => {
- placeInDom(clone2, target, modifiers);
- initTree(clone2);
- clone2._x_ignore = true;
- });
- el._x_teleportPutBack = () => {
- let target2 = getTarget(expression);
- mutateDom(() => {
- placeInDom(el._x_teleport, target2, modifiers);
- });
- };
- cleanup(() => clone2.remove());
- });
- var teleportContainerDuringClone = document.createElement("div");
- function getTarget(expression) {
- let target = skipDuringClone(() => {
- return document.querySelector(expression);
- }, () => {
- return teleportContainerDuringClone;
- })();
- if (!target)
- warn(`Cannot find x-teleport element for selector: "${expression}"`);
- return target;
- }
- var handler = () => {
- };
- handler.inline = (el, { modifiers }, { cleanup }) => {
- modifiers.includes("self") ? el._x_ignoreSelf = true : el._x_ignore = true;
- cleanup(() => {
- modifiers.includes("self") ? delete el._x_ignoreSelf : delete el._x_ignore;
- });
- };
- directive("ignore", handler);
- directive("effect", skipDuringClone((el, { expression }, { effect: effect3 }) => {
- effect3(evaluateLater(el, expression));
- }));
- function on(el, event, modifiers, callback) {
- let listenerTarget = el;
- let handler4 = (e2) => callback(e2);
- let options = {};
- let wrapHandler = (callback2, wrapper) => (e2) => wrapper(callback2, e2);
- if (modifiers.includes("dot"))
- event = dotSyntax(event);
- if (modifiers.includes("camel"))
- event = camelCase22(event);
- if (modifiers.includes("passive"))
- options.passive = true;
- if (modifiers.includes("capture"))
- options.capture = true;
- if (modifiers.includes("window"))
- listenerTarget = window;
- if (modifiers.includes("document"))
- listenerTarget = document;
- if (modifiers.includes("debounce")) {
- let nextModifier = modifiers[modifiers.indexOf("debounce") + 1] || "invalid-wait";
- let wait = isNumeric2(nextModifier.split("ms")[0]) ? Number(nextModifier.split("ms")[0]) : 250;
- handler4 = debounce(handler4, wait);
- }
- if (modifiers.includes("throttle")) {
- let nextModifier = modifiers[modifiers.indexOf("throttle") + 1] || "invalid-wait";
- let wait = isNumeric2(nextModifier.split("ms")[0]) ? Number(nextModifier.split("ms")[0]) : 250;
- handler4 = throttle(handler4, wait);
- }
- if (modifiers.includes("prevent"))
- handler4 = wrapHandler(handler4, (next, e2) => {
- e2.preventDefault();
- next(e2);
- });
- if (modifiers.includes("stop"))
- handler4 = wrapHandler(handler4, (next, e2) => {
- e2.stopPropagation();
- next(e2);
- });
- if (modifiers.includes("self"))
- handler4 = wrapHandler(handler4, (next, e2) => {
- e2.target === el && next(e2);
- });
- if (modifiers.includes("away") || modifiers.includes("outside")) {
- listenerTarget = document;
- handler4 = wrapHandler(handler4, (next, e2) => {
- if (el.contains(e2.target))
- return;
- if (e2.target.isConnected === false)
- return;
- if (el.offsetWidth < 1 && el.offsetHeight < 1)
- return;
- if (el._x_isShown === false)
- return;
- next(e2);
- });
- }
- if (modifiers.includes("once")) {
- handler4 = wrapHandler(handler4, (next, e2) => {
- next(e2);
- listenerTarget.removeEventListener(event, handler4, options);
- });
- }
- handler4 = wrapHandler(handler4, (next, e2) => {
- if (isKeyEvent(event)) {
- if (isListeningForASpecificKeyThatHasntBeenPressed(e2, modifiers)) {
- return;
- }
- }
- next(e2);
- });
- listenerTarget.addEventListener(event, handler4, options);
- return () => {
- listenerTarget.removeEventListener(event, handler4, options);
- };
- }
- function dotSyntax(subject) {
- return subject.replace(/-/g, ".");
- }
- function camelCase22(subject) {
- return subject.toLowerCase().replace(/-(\w)/g, (match, char) => char.toUpperCase());
- }
- function isNumeric2(subject) {
- return !Array.isArray(subject) && !isNaN(subject);
- }
- function kebabCase22(subject) {
- if ([" ", "_"].includes(
- subject
- ))
- return subject;
- return subject.replace(/([a-z])([A-Z])/g, "$1-$2").replace(/[_\s]/, "-").toLowerCase();
- }
- function isKeyEvent(event) {
- return ["keydown", "keyup"].includes(event);
- }
- function isListeningForASpecificKeyThatHasntBeenPressed(e2, modifiers) {
- let keyModifiers = modifiers.filter((i2) => {
- return !["window", "document", "prevent", "stop", "once", "capture"].includes(i2);
- });
- if (keyModifiers.includes("debounce")) {
- let debounceIndex = keyModifiers.indexOf("debounce");
- keyModifiers.splice(debounceIndex, isNumeric2((keyModifiers[debounceIndex + 1] || "invalid-wait").split("ms")[0]) ? 2 : 1);
- }
- if (keyModifiers.includes("throttle")) {
- let debounceIndex = keyModifiers.indexOf("throttle");
- keyModifiers.splice(debounceIndex, isNumeric2((keyModifiers[debounceIndex + 1] || "invalid-wait").split("ms")[0]) ? 2 : 1);
- }
- if (keyModifiers.length === 0)
- return false;
- if (keyModifiers.length === 1 && keyToModifiers(e2.key).includes(keyModifiers[0]))
- return false;
- const systemKeyModifiers = ["ctrl", "shift", "alt", "meta", "cmd", "super"];
- const selectedSystemKeyModifiers = systemKeyModifiers.filter((modifier) => keyModifiers.includes(modifier));
- keyModifiers = keyModifiers.filter((i2) => !selectedSystemKeyModifiers.includes(i2));
- if (selectedSystemKeyModifiers.length > 0) {
- const activelyPressedKeyModifiers = selectedSystemKeyModifiers.filter((modifier) => {
- if (modifier === "cmd" || modifier === "super")
- modifier = "meta";
- return e2[`${modifier}Key`];
- });
- if (activelyPressedKeyModifiers.length === selectedSystemKeyModifiers.length) {
- if (keyToModifiers(e2.key).includes(keyModifiers[0]))
- return false;
- }
- }
- return true;
- }
- function keyToModifiers(key) {
- if (!key)
- return [];
- key = kebabCase22(key);
- let modifierToKeyMap = {
- "ctrl": "control",
- "slash": "/",
- "space": " ",
- "spacebar": " ",
- "cmd": "meta",
- "esc": "escape",
- "up": "arrow-up",
- "down": "arrow-down",
- "left": "arrow-left",
- "right": "arrow-right",
- "period": ".",
- "equal": "=",
- "minus": "-",
- "underscore": "_"
- };
- modifierToKeyMap[key] = key;
- return Object.keys(modifierToKeyMap).map((modifier) => {
- if (modifierToKeyMap[modifier] === key)
- return modifier;
- }).filter((modifier) => modifier);
- }
- directive("model", (el, { modifiers, expression }, { effect: effect3, cleanup }) => {
- let scopeTarget = el;
- if (modifiers.includes("parent")) {
- scopeTarget = el.parentNode;
- }
- let evaluateGet = evaluateLater(scopeTarget, expression);
- let evaluateSet;
- if (typeof expression === "string") {
- evaluateSet = evaluateLater(scopeTarget, `${expression} = __placeholder`);
- } else if (typeof expression === "function" && typeof expression() === "string") {
- evaluateSet = evaluateLater(scopeTarget, `${expression()} = __placeholder`);
- } else {
- evaluateSet = () => {
- };
- }
- let getValue = () => {
- let result;
- evaluateGet((value) => result = value);
- return isGetterSetter(result) ? result.get() : result;
- };
- let setValue = (value) => {
- let result;
- evaluateGet((value2) => result = value2);
- if (isGetterSetter(result)) {
- result.set(value);
- } else {
- evaluateSet(() => {
- }, {
- scope: { "__placeholder": value }
- });
- }
- };
- if (typeof expression === "string" && el.type === "radio") {
- mutateDom(() => {
- if (!el.hasAttribute("name"))
- el.setAttribute("name", expression);
- });
- }
- var event = el.tagName.toLowerCase() === "select" || ["checkbox", "radio"].includes(el.type) || modifiers.includes("lazy") ? "change" : "input";
- let removeListener = isCloning ? () => {
- } : on(el, event, modifiers, (e2) => {
- setValue(getInputValue(el, modifiers, e2, getValue()));
- });
- if (modifiers.includes("fill")) {
- if ([null, ""].includes(getValue()) || el.type === "checkbox" && Array.isArray(getValue())) {
- el.dispatchEvent(new Event(event, {}));
- }
- }
- if (!el._x_removeModelListeners)
- el._x_removeModelListeners = {};
- el._x_removeModelListeners["default"] = removeListener;
- cleanup(() => el._x_removeModelListeners["default"]());
- if (el.form) {
- let removeResetListener = on(el.form, "reset", [], (e2) => {
- nextTick(() => el._x_model && el._x_model.set(el.value));
- });
- cleanup(() => removeResetListener());
- }
- el._x_model = {
- get() {
- return getValue();
- },
- set(value) {
- setValue(value);
- }
- };
- el._x_forceModelUpdate = (value) => {
- if (value === void 0 && typeof expression === "string" && expression.match(/\./))
- value = "";
- window.fromModel = true;
- mutateDom(() => bind(el, "value", value));
- delete window.fromModel;
- };
- effect3(() => {
- let value = getValue();
- if (modifiers.includes("unintrusive") && document.activeElement.isSameNode(el))
- return;
- el._x_forceModelUpdate(value);
- });
- });
- function getInputValue(el, modifiers, event, currentValue) {
- return mutateDom(() => {
- if (event instanceof CustomEvent && event.detail !== void 0)
- return event.detail !== null && event.detail !== void 0 ? event.detail : event.target.value;
- else if (el.type === "checkbox") {
- if (Array.isArray(currentValue)) {
- let newValue = null;
- if (modifiers.includes("number")) {
- newValue = safeParseNumber(event.target.value);
- } else if (modifiers.includes("boolean")) {
- newValue = safeParseBoolean(event.target.value);
- } else {
- newValue = event.target.value;
- }
- return event.target.checked ? currentValue.concat([newValue]) : currentValue.filter((el2) => !checkedAttrLooseCompare2(el2, newValue));
- } else {
- return event.target.checked;
- }
- } else if (el.tagName.toLowerCase() === "select" && el.multiple) {
- if (modifiers.includes("number")) {
- return Array.from(event.target.selectedOptions).map((option) => {
- let rawValue = option.value || option.text;
- return safeParseNumber(rawValue);
- });
- } else if (modifiers.includes("boolean")) {
- return Array.from(event.target.selectedOptions).map((option) => {
- let rawValue = option.value || option.text;
- return safeParseBoolean(rawValue);
- });
- }
- return Array.from(event.target.selectedOptions).map((option) => {
- return option.value || option.text;
- });
- } else {
- if (modifiers.includes("number")) {
- return safeParseNumber(event.target.value);
- } else if (modifiers.includes("boolean")) {
- return safeParseBoolean(event.target.value);
- }
- return modifiers.includes("trim") ? event.target.value.trim() : event.target.value;
- }
- });
- }
- function safeParseNumber(rawValue) {
- let number = rawValue ? parseFloat(rawValue) : null;
- return isNumeric22(number) ? number : rawValue;
- }
- function checkedAttrLooseCompare2(valueA, valueB) {
- return valueA == valueB;
- }
- function isNumeric22(subject) {
- return !Array.isArray(subject) && !isNaN(subject);
- }
- function isGetterSetter(value) {
- return value !== null && typeof value === "object" && typeof value.get === "function" && typeof value.set === "function";
- }
- directive("cloak", (el) => queueMicrotask(() => mutateDom(() => el.removeAttribute(prefix("cloak")))));
- addInitSelector(() => `[${prefix("init")}]`);
- directive("init", skipDuringClone((el, { expression }, { evaluate: evaluate2 }) => {
- if (typeof expression === "string") {
- return !!expression.trim() && evaluate2(expression, {}, false);
- }
- return evaluate2(expression, {}, false);
- }));
- directive("text", (el, { expression }, { effect: effect3, evaluateLater: evaluateLater2 }) => {
- let evaluate2 = evaluateLater2(expression);
- effect3(() => {
- evaluate2((value) => {
- mutateDom(() => {
- el.textContent = value;
- });
- });
- });
- });
- directive("html", (el, { expression }, { effect: effect3, evaluateLater: evaluateLater2 }) => {
- let evaluate2 = evaluateLater2(expression);
- effect3(() => {
- evaluate2((value) => {
- mutateDom(() => {
- el.innerHTML = value;
- el._x_ignoreSelf = true;
- initTree(el);
- delete el._x_ignoreSelf;
- });
- });
- });
- });
- mapAttributes(startingWith(":", into(prefix("bind:"))));
- var handler2 = (el, { value, modifiers, expression, original }, { effect: effect3 }) => {
- if (!value) {
- let bindingProviders = {};
- injectBindingProviders(bindingProviders);
- let getBindings = evaluateLater(el, expression);
- getBindings((bindings) => {
- applyBindingsObject(el, bindings, original);
- }, { scope: bindingProviders });
- return;
- }
- if (value === "key")
- return storeKeyForXFor(el, expression);
- if (el._x_inlineBindings && el._x_inlineBindings[value] && el._x_inlineBindings[value].extract) {
- return;
- }
- let evaluate2 = evaluateLater(el, expression);
- effect3(() => evaluate2((result) => {
- if (result === void 0 && typeof expression === "string" && expression.match(/\./)) {
- result = "";
- }
- mutateDom(() => bind(el, value, result, modifiers));
- }));
- };
- handler2.inline = (el, { value, modifiers, expression }) => {
- if (!value)
- return;
- if (!el._x_inlineBindings)
- el._x_inlineBindings = {};
- el._x_inlineBindings[value] = { expression, extract: false };
- };
- directive("bind", handler2);
- function storeKeyForXFor(el, expression) {
- el._x_keyExpression = expression;
- }
- addRootSelector(() => `[${prefix("data")}]`);
- directive("data", (el, { expression }, { cleanup }) => {
- if (shouldSkipRegisteringDataDuringClone(el))
- return;
- expression = expression === "" ? "{}" : expression;
- let magicContext = {};
- injectMagics(magicContext, el);
- let dataProviderContext = {};
- injectDataProviders(dataProviderContext, magicContext);
- let data2 = evaluate(el, expression, { scope: dataProviderContext });
- if (data2 === void 0 || data2 === true)
- data2 = {};
- injectMagics(data2, el);
- let reactiveData = reactive(data2);
- initInterceptors2(reactiveData);
- let undo = addScopeToNode(el, reactiveData);
- reactiveData["init"] && evaluate(el, reactiveData["init"]);
- cleanup(() => {
- reactiveData["destroy"] && evaluate(el, reactiveData["destroy"]);
- undo();
- });
- });
- interceptClone((from, to) => {
- if (from._x_dataStack) {
- to._x_dataStack = from._x_dataStack;
- to.setAttribute("data-has-alpine-state", true);
- }
- });
- function shouldSkipRegisteringDataDuringClone(el) {
- if (!isCloning)
- return false;
- if (isCloningLegacy)
- return true;
- return el.hasAttribute("data-has-alpine-state");
- }
- directive("show", (el, { modifiers, expression }, { effect: effect3 }) => {
- let evaluate2 = evaluateLater(el, expression);
- if (!el._x_doHide)
- el._x_doHide = () => {
- mutateDom(() => {
- el.style.setProperty("display", "none", modifiers.includes("important") ? "important" : void 0);
- });
- };
- if (!el._x_doShow)
- el._x_doShow = () => {
- mutateDom(() => {
- if (el.style.length === 1 && el.style.display === "none") {
- el.removeAttribute("style");
- } else {
- el.style.removeProperty("display");
- }
- });
- };
- let hide = () => {
- el._x_doHide();
- el._x_isShown = false;
- };
- let show = () => {
- el._x_doShow();
- el._x_isShown = true;
- };
- let clickAwayCompatibleShow = () => setTimeout(show);
- let toggle = once(
- (value) => value ? show() : hide(),
- (value) => {
- if (typeof el._x_toggleAndCascadeWithTransitions === "function") {
- el._x_toggleAndCascadeWithTransitions(el, value, show, hide);
- } else {
- value ? clickAwayCompatibleShow() : hide();
- }
- }
- );
- let oldValue;
- let firstTime = true;
- effect3(() => evaluate2((value) => {
- if (!firstTime && value === oldValue)
- return;
- if (modifiers.includes("immediate"))
- value ? clickAwayCompatibleShow() : hide();
- toggle(value);
- oldValue = value;
- firstTime = false;
- }));
- });
- directive("for", (el, { expression }, { effect: effect3, cleanup }) => {
- let iteratorNames = parseForExpression(expression);
- let evaluateItems = evaluateLater(el, iteratorNames.items);
- let evaluateKey = evaluateLater(
- el,
- // the x-bind:key expression is stored for our use instead of evaluated.
- el._x_keyExpression || "index"
- );
- el._x_prevKeys = [];
- el._x_lookup = {};
- effect3(() => loop(el, iteratorNames, evaluateItems, evaluateKey));
- cleanup(() => {
- Object.values(el._x_lookup).forEach((el2) => el2.remove());
- delete el._x_prevKeys;
- delete el._x_lookup;
- });
- });
- function loop(el, iteratorNames, evaluateItems, evaluateKey) {
- let isObject2 = (i2) => typeof i2 === "object" && !Array.isArray(i2);
- let templateEl = el;
- evaluateItems((items) => {
- if (isNumeric3(items) && items >= 0) {
- items = Array.from(Array(items).keys(), (i2) => i2 + 1);
- }
- if (items === void 0)
- items = [];
- let lookup = el._x_lookup;
- let prevKeys = el._x_prevKeys;
- let scopes = [];
- let keys = [];
- if (isObject2(items)) {
- items = Object.entries(items).map(([key, value]) => {
- let scope2 = getIterationScopeVariables(iteratorNames, value, key, items);
- evaluateKey((value2) => keys.push(value2), { scope: { index: key, ...scope2 } });
- scopes.push(scope2);
- });
- } else {
- for (let i2 = 0; i2 < items.length; i2++) {
- let scope2 = getIterationScopeVariables(iteratorNames, items[i2], i2, items);
- evaluateKey((value) => keys.push(value), { scope: { index: i2, ...scope2 } });
- scopes.push(scope2);
- }
- }
- let adds = [];
- let moves = [];
- let removes = [];
- let sames = [];
- for (let i2 = 0; i2 < prevKeys.length; i2++) {
- let key = prevKeys[i2];
- if (keys.indexOf(key) === -1)
- removes.push(key);
- }
- prevKeys = prevKeys.filter((key) => !removes.includes(key));
- let lastKey = "template";
- for (let i2 = 0; i2 < keys.length; i2++) {
- let key = keys[i2];
- let prevIndex = prevKeys.indexOf(key);
- if (prevIndex === -1) {
- prevKeys.splice(i2, 0, key);
- adds.push([lastKey, i2]);
- } else if (prevIndex !== i2) {
- let keyInSpot = prevKeys.splice(i2, 1)[0];
- let keyForSpot = prevKeys.splice(prevIndex - 1, 1)[0];
- prevKeys.splice(i2, 0, keyForSpot);
- prevKeys.splice(prevIndex, 0, keyInSpot);
- moves.push([keyInSpot, keyForSpot]);
- } else {
- sames.push(key);
- }
- lastKey = key;
- }
- for (let i2 = 0; i2 < removes.length; i2++) {
- let key = removes[i2];
- if (!!lookup[key]._x_effects) {
- lookup[key]._x_effects.forEach(dequeueJob);
- }
- lookup[key].remove();
- lookup[key] = null;
- delete lookup[key];
- }
- for (let i2 = 0; i2 < moves.length; i2++) {
- let [keyInSpot, keyForSpot] = moves[i2];
- let elInSpot = lookup[keyInSpot];
- let elForSpot = lookup[keyForSpot];
- let marker = document.createElement("div");
- mutateDom(() => {
- if (!elForSpot)
- warn(`x-for ":key" is undefined or invalid`, templateEl);
- elForSpot.after(marker);
- elInSpot.after(elForSpot);
- elForSpot._x_currentIfEl && elForSpot.after(elForSpot._x_currentIfEl);
- marker.before(elInSpot);
- elInSpot._x_currentIfEl && elInSpot.after(elInSpot._x_currentIfEl);
- marker.remove();
- });
- elForSpot._x_refreshXForScope(scopes[keys.indexOf(keyForSpot)]);
- }
- for (let i2 = 0; i2 < adds.length; i2++) {
- let [lastKey2, index] = adds[i2];
- let lastEl = lastKey2 === "template" ? templateEl : lookup[lastKey2];
- if (lastEl._x_currentIfEl)
- lastEl = lastEl._x_currentIfEl;
- let scope2 = scopes[index];
- let key = keys[index];
- let clone2 = document.importNode(templateEl.content, true).firstElementChild;
- let reactiveScope = reactive(scope2);
- addScopeToNode(clone2, reactiveScope, templateEl);
- clone2._x_refreshXForScope = (newScope) => {
- Object.entries(newScope).forEach(([key2, value]) => {
- reactiveScope[key2] = value;
- });
- };
- mutateDom(() => {
- lastEl.after(clone2);
- initTree(clone2);
- });
- if (typeof key === "object") {
- warn("x-for key cannot be an object, it must be a string or an integer", templateEl);
- }
- lookup[key] = clone2;
- }
- for (let i2 = 0; i2 < sames.length; i2++) {
- lookup[sames[i2]]._x_refreshXForScope(scopes[keys.indexOf(sames[i2])]);
- }
- templateEl._x_prevKeys = keys;
- });
- }
- function parseForExpression(expression) {
- let forIteratorRE = /,([^,\}\]]*)(?:,([^,\}\]]*))?$/;
- let stripParensRE = /^\s*\(|\)\s*$/g;
- let forAliasRE = /([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/;
- let inMatch = expression.match(forAliasRE);
- if (!inMatch)
- return;
- let res = {};
- res.items = inMatch[2].trim();
- let item = inMatch[1].replace(stripParensRE, "").trim();
- let iteratorMatch = item.match(forIteratorRE);
- if (iteratorMatch) {
- res.item = item.replace(forIteratorRE, "").trim();
- res.index = iteratorMatch[1].trim();
- if (iteratorMatch[2]) {
- res.collection = iteratorMatch[2].trim();
- }
- } else {
- res.item = item;
- }
- return res;
- }
- function getIterationScopeVariables(iteratorNames, item, index, items) {
- let scopeVariables = {};
- if (/^\[.*\]$/.test(iteratorNames.item) && Array.isArray(item)) {
- let names = iteratorNames.item.replace("[", "").replace("]", "").split(",").map((i2) => i2.trim());
- names.forEach((name, i2) => {
- scopeVariables[name] = item[i2];
- });
- } else if (/^\{.*\}$/.test(iteratorNames.item) && !Array.isArray(item) && typeof item === "object") {
- let names = iteratorNames.item.replace("{", "").replace("}", "").split(",").map((i2) => i2.trim());
- names.forEach((name) => {
- scopeVariables[name] = item[name];
- });
- } else {
- scopeVariables[iteratorNames.item] = item;
- }
- if (iteratorNames.index)
- scopeVariables[iteratorNames.index] = index;
- if (iteratorNames.collection)
- scopeVariables[iteratorNames.collection] = items;
- return scopeVariables;
- }
- function isNumeric3(subject) {
- return !Array.isArray(subject) && !isNaN(subject);
- }
- function handler3() {
- }
- handler3.inline = (el, { expression }, { cleanup }) => {
- let root = closestRoot(el);
- if (!root._x_refs)
- root._x_refs = {};
- root._x_refs[expression] = el;
- cleanup(() => delete root._x_refs[expression]);
- };
- directive("ref", handler3);
- directive("if", (el, { expression }, { effect: effect3, cleanup }) => {
- if (el.tagName.toLowerCase() !== "template")
- warn("x-if can only be used on a <template> tag", el);
- let evaluate2 = evaluateLater(el, expression);
- let show = () => {
- if (el._x_currentIfEl)
- return el._x_currentIfEl;
- let clone2 = el.content.cloneNode(true).firstElementChild;
- addScopeToNode(clone2, {}, el);
- mutateDom(() => {
- el.after(clone2);
- initTree(clone2);
- });
- el._x_currentIfEl = clone2;
- el._x_undoIf = () => {
- walk(clone2, (node) => {
- if (!!node._x_effects) {
- node._x_effects.forEach(dequeueJob);
- }
- });
- clone2.remove();
- delete el._x_currentIfEl;
- };
- return clone2;
- };
- let hide = () => {
- if (!el._x_undoIf)
- return;
- el._x_undoIf();
- delete el._x_undoIf;
- };
- effect3(() => evaluate2((value) => {
- value ? show() : hide();
- }));
- cleanup(() => el._x_undoIf && el._x_undoIf());
- });
- directive("id", (el, { expression }, { evaluate: evaluate2 }) => {
- let names = evaluate2(expression);
- names.forEach((name) => setIdRoot(el, name));
- });
- mapAttributes(startingWith("@", into(prefix("on:"))));
- directive("on", skipDuringClone((el, { value, modifiers, expression }, { cleanup }) => {
- let evaluate2 = expression ? evaluateLater(el, expression) : () => {
- };
- if (el.tagName.toLowerCase() === "template") {
- if (!el._x_forwardEvents)
- el._x_forwardEvents = [];
- if (!el._x_forwardEvents.includes(value))
- el._x_forwardEvents.push(value);
- }
- let removeListener = on(el, value, modifiers, (e2) => {
- evaluate2(() => {
- }, { scope: { "$event": e2 }, params: [e2] });
- });
- cleanup(() => removeListener());
- }));
- warnMissingPluginDirective("Collapse", "collapse", "collapse");
- warnMissingPluginDirective("Intersect", "intersect", "intersect");
- warnMissingPluginDirective("Focus", "trap", "focus");
- warnMissingPluginDirective("Mask", "mask", "mask");
- function warnMissingPluginDirective(name, directiveName, slug) {
- directive(directiveName, (el) => warn(`You can't use [x-${directiveName}] without first installing the "${name}" plugin here: https://alpinejs.dev/plugins/${slug}`, el));
- }
- alpine_default2.setEvaluator(normalEvaluator);
- alpine_default2.setReactivityEngine({ reactive: import_reactivity9.reactive, effect: import_reactivity9.effect, release: import_reactivity9.stop, raw: import_reactivity9.toRaw });
- var src_default = alpine_default2;
- var module_default = src_default;
- }
-});
-
-// ../../../node_modules/@alpinejs/morph/dist/module.cjs.js
-var require_module_cjs2 = __commonJS({
- "../../../node_modules/@alpinejs/morph/dist/module.cjs.js"(exports, module) {
- var __defProp2 = Object.defineProperty;
- var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
- var __getOwnPropNames2 = Object.getOwnPropertyNames;
- var __hasOwnProp2 = Object.prototype.hasOwnProperty;
- var __export2 = (target, all) => {
- for (var name in all)
- __defProp2(target, name, { get: all[name], enumerable: true });
- };
- var __copyProps2 = (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;
- };
- var __toCommonJS = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
- var module_exports = {};
- __export2(module_exports, {
- default: () => module_default,
- morph: () => morph2
- });
- module.exports = __toCommonJS(module_exports);
- function morph2(from, toHtml, options) {
- monkeyPatchDomSetAttributeToAllowAtSymbols();
- let fromEl;
- let toEl;
- let key, lookahead, updating, updated, removing, removed, adding, added;
- function assignOptions(options2 = {}) {
- let defaultGetKey = (el) => el.getAttribute("key");
- let noop = () => {
- };
- updating = options2.updating || noop;
- updated = options2.updated || noop;
- removing = options2.removing || noop;
- removed = options2.removed || noop;
- adding = options2.adding || noop;
- added = options2.added || noop;
- key = options2.key || defaultGetKey;
- lookahead = options2.lookahead || false;
- }
- function patch(from2, to) {
- if (differentElementNamesTypesOrKeys(from2, to)) {
- return swapElements(from2, to);
- }
- let updateChildrenOnly = false;
- if (shouldSkip(updating, from2, to, () => updateChildrenOnly = true))
- return;
- if (from2.nodeType === 1 && window.Alpine) {
- window.Alpine.cloneNode(from2, to);
- }
- if (textOrComment(to)) {
- patchNodeValue(from2, to);
- updated(from2, to);
- return;
- }
- if (!updateChildrenOnly) {
- patchAttributes(from2, to);
- }
- updated(from2, to);
- patchChildren(from2, to);
- }
- function differentElementNamesTypesOrKeys(from2, to) {
- return from2.nodeType != to.nodeType || from2.nodeName != to.nodeName || getKey(from2) != getKey(to);
- }
- function swapElements(from2, to) {
- if (shouldSkip(removing, from2))
- return;
- let toCloned = to.cloneNode(true);
- if (shouldSkip(adding, toCloned))
- return;
- from2.replaceWith(toCloned);
- removed(from2);
- added(toCloned);
- }
- function patchNodeValue(from2, to) {
- let value = to.nodeValue;
- if (from2.nodeValue !== value) {
- from2.nodeValue = value;
- }
- }
- function patchAttributes(from2, to) {
- if (from2._x_transitioning)
- return;
- if (from2._x_isShown && !to._x_isShown) {
- return;
- }
- if (!from2._x_isShown && to._x_isShown) {
- return;
- }
- let domAttributes = Array.from(from2.attributes);
- let toAttributes = Array.from(to.attributes);
- for (let i2 = domAttributes.length - 1; i2 >= 0; i2--) {
- let name = domAttributes[i2].name;
- if (!to.hasAttribute(name)) {
- from2.removeAttribute(name);
- }
- }
- for (let i2 = toAttributes.length - 1; i2 >= 0; i2--) {
- let name = toAttributes[i2].name;
- let value = toAttributes[i2].value;
- if (from2.getAttribute(name) !== value) {
- from2.setAttribute(name, value);
- }
- }
- }
- function patchChildren(from2, to) {
- if (from2._x_teleport)
- from2 = from2._x_teleport;
- if (to._x_teleport)
- to = to._x_teleport;
- let fromKeys = keyToMap(from2.children);
- let fromKeyHoldovers = {};
- let currentTo = getFirstNode(to);
- let currentFrom = getFirstNode(from2);
- while (currentTo) {
- seedingMatchingId(currentTo, currentFrom);
- let toKey = getKey(currentTo);
- let fromKey = getKey(currentFrom);
- if (!currentFrom) {
- if (toKey && fromKeyHoldovers[toKey]) {
- let holdover = fromKeyHoldovers[toKey];
- from2.appendChild(holdover);
- currentFrom = holdover;
- } else {
- if (!shouldSkip(adding, currentTo)) {
- let clone = currentTo.cloneNode(true);
- from2.appendChild(clone);
- added(clone);
- }
- currentTo = getNextSibling(to, currentTo);
- continue;
- }
- }
- let isIf = (node) => node && node.nodeType === 8 && node.textContent === "[if BLOCK]><![endif]";
- let isEnd = (node) => node && node.nodeType === 8 && node.textContent === "[if ENDBLOCK]><![endif]";
- if (isIf(currentTo) && isIf(currentFrom)) {
- let nestedIfCount = 0;
- let fromBlockStart = currentFrom;
- while (currentFrom) {
- let next = getNextSibling(from2, currentFrom);
- if (isIf(next)) {
- nestedIfCount++;
- } else if (isEnd(next) && nestedIfCount > 0) {
- nestedIfCount--;
- } else if (isEnd(next) && nestedIfCount === 0) {
- currentFrom = next;
- break;
- }
- currentFrom = next;
- }
- let fromBlockEnd = currentFrom;
- nestedIfCount = 0;
- let toBlockStart = currentTo;
- while (currentTo) {
- let next = getNextSibling(to, currentTo);
- if (isIf(next)) {
- nestedIfCount++;
- } else if (isEnd(next) && nestedIfCount > 0) {
- nestedIfCount--;
- } else if (isEnd(next) && nestedIfCount === 0) {
- currentTo = next;
- break;
- }
- currentTo = next;
- }
- let toBlockEnd = currentTo;
- let fromBlock = new Block(fromBlockStart, fromBlockEnd);
- let toBlock = new Block(toBlockStart, toBlockEnd);
- patchChildren(fromBlock, toBlock);
- continue;
- }
- if (currentFrom.nodeType === 1 && lookahead && !currentFrom.isEqualNode(currentTo)) {
- let nextToElementSibling = getNextSibling(to, currentTo);
- let found = false;
- while (!found && nextToElementSibling) {
- if (nextToElementSibling.nodeType === 1 && currentFrom.isEqualNode(nextToElementSibling)) {
- found = true;
- currentFrom = addNodeBefore(from2, currentTo, currentFrom);
- fromKey = getKey(currentFrom);
- }
- nextToElementSibling = getNextSibling(to, nextToElementSibling);
- }
- }
- if (toKey !== fromKey) {
- if (!toKey && fromKey) {
- fromKeyHoldovers[fromKey] = currentFrom;
- currentFrom = addNodeBefore(from2, currentTo, currentFrom);
- fromKeyHoldovers[fromKey].remove();
- currentFrom = getNextSibling(from2, currentFrom);
- currentTo = getNextSibling(to, currentTo);
- continue;
- }
- if (toKey && !fromKey) {
- if (fromKeys[toKey]) {
- currentFrom.replaceWith(fromKeys[toKey]);
- currentFrom = fromKeys[toKey];
- }
- }
- if (toKey && fromKey) {
- let fromKeyNode = fromKeys[toKey];
- if (fromKeyNode) {
- fromKeyHoldovers[fromKey] = currentFrom;
- currentFrom.replaceWith(fromKeyNode);
- currentFrom = fromKeyNode;
- } else {
- fromKeyHoldovers[fromKey] = currentFrom;
- currentFrom = addNodeBefore(from2, currentTo, currentFrom);
- fromKeyHoldovers[fromKey].remove();
- currentFrom = getNextSibling(from2, currentFrom);
- currentTo = getNextSibling(to, currentTo);
- continue;
- }
- }
- }
- let currentFromNext = currentFrom && getNextSibling(from2, currentFrom);
- patch(currentFrom, currentTo);
- currentTo = currentTo && getNextSibling(to, currentTo);
- currentFrom = currentFromNext;
- }
- let removals = [];
- while (currentFrom) {
- if (!shouldSkip(removing, currentFrom))
- removals.push(currentFrom);
- currentFrom = getNextSibling(from2, currentFrom);
- }
- while (removals.length) {
- let domForRemoval = removals.shift();
- domForRemoval.remove();
- removed(domForRemoval);
- }
- }
- function getKey(el) {
- return el && el.nodeType === 1 && key(el);
- }
- function keyToMap(els) {
- let map = {};
- for (let el of els) {
- let theKey = getKey(el);
- if (theKey) {
- map[theKey] = el;
- }
- }
- return map;
- }
- function addNodeBefore(parent, node, beforeMe) {
- if (!shouldSkip(adding, node)) {
- let clone = node.cloneNode(true);
- parent.insertBefore(clone, beforeMe);
- added(clone);
- return clone;
- }
- return node;
- }
- assignOptions(options);
- fromEl = from;
- toEl = typeof toHtml === "string" ? createElement(toHtml) : toHtml;
- if (window.Alpine && window.Alpine.closestDataStack && !from._x_dataStack) {
- toEl._x_dataStack = window.Alpine.closestDataStack(from);
- toEl._x_dataStack && window.Alpine.cloneNode(from, toEl);
- }
- patch(from, toEl);
- fromEl = void 0;
- toEl = void 0;
- return from;
- }
- morph2.step = () => {
- };
- morph2.log = () => {
- };
- function shouldSkip(hook, ...args) {
- let skip = false;
- hook(...args, () => skip = true);
- return skip;
- }
- var patched = false;
- function createElement(html) {
- const template = document.createElement("template");
- template.innerHTML = html;
- return template.content.firstElementChild;
- }
- function textOrComment(el) {
- return el.nodeType === 3 || el.nodeType === 8;
- }
- var Block = class {
- constructor(start, end) {
- this.startComment = start;
- this.endComment = end;
- }
- get children() {
- let children = [];
- let currentNode = this.startComment.nextSibling;
- while (currentNode && currentNode !== this.endComment) {
- children.push(currentNode);
- currentNode = currentNode.nextSibling;
- }
- return children;
- }
- appendChild(child) {
- this.endComment.before(child);
- }
- get firstChild() {
- let first = this.startComment.nextSibling;
- if (first === this.endComment)
- return;
- return first;
- }
- nextNode(reference) {
- let next = reference.nextSibling;
- if (next === this.endComment)
- return;
- return next;
- }
- insertBefore(newNode, reference) {
- reference.before(newNode);
- return newNode;
- }
- };
- function getFirstNode(parent) {
- return parent.firstChild;
- }
- function getNextSibling(parent, reference) {
- let next;
- if (parent instanceof Block) {
- next = parent.nextNode(reference);
- } else {
- next = reference.nextSibling;
- }
- return next;
- }
- function monkeyPatchDomSetAttributeToAllowAtSymbols() {
- if (patched)
- return;
- patched = true;
- let original = Element.prototype.setAttribute;
- let hostDiv = document.createElement("div");
- Element.prototype.setAttribute = function newSetAttribute(name, value) {
- if (!name.includes("@")) {
- return original.call(this, name, value);
- }
- hostDiv.innerHTML = `<span ${name}="${value}"></span>`;
- let attr = hostDiv.firstElementChild.getAttributeNode(name);
- hostDiv.firstElementChild.removeAttributeNode(attr);
- this.setAttributeNode(attr);
- };
- }
- function seedingMatchingId(to, from) {
- let fromId = from && from._x_bindings && from._x_bindings.id;
- if (!fromId)
- return;
- to.setAttribute("id", fromId);
- to.id = fromId;
- }
- function src_default(Alpine3) {
- Alpine3.morph = morph2;
- }
- var module_default = src_default;
- }
-});
-
-// ../../../node_modules/@alpinejs/mask/dist/module.cjs.js
-var require_module_cjs3 = __commonJS({
- "../../../node_modules/@alpinejs/mask/dist/module.cjs.js"(exports, module) {
- var __defProp2 = Object.defineProperty;
- var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
- var __getOwnPropNames2 = Object.getOwnPropertyNames;
- var __hasOwnProp2 = Object.prototype.hasOwnProperty;
- var __export2 = (target, all) => {
- for (var name in all)
- __defProp2(target, name, { get: all[name], enumerable: true });
- };
- var __copyProps2 = (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;
- };
- var __toCommonJS = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
- var module_exports = {};
- __export2(module_exports, {
- default: () => module_default,
- stripDown: () => stripDown
- });
- module.exports = __toCommonJS(module_exports);
- function src_default(Alpine3) {
- Alpine3.directive("mask", (el, { value, expression }, { effect, evaluateLater }) => {
- let templateFn = () => expression;
- let lastInputValue = "";
- queueMicrotask(() => {
- if (["function", "dynamic"].includes(value)) {
- let evaluator = evaluateLater(expression);
- effect(() => {
- templateFn = (input) => {
- let result;
- Alpine3.dontAutoEvaluateFunctions(() => {
- evaluator((value2) => {
- result = typeof value2 === "function" ? value2(input) : value2;
- }, { scope: {
- // These are "magics" we'll make available to the x-mask:function:
- "$input": input,
- "$money": formatMoney.bind({ el })
- } });
- });
- return result;
- };
- processInputValue(el, false);
- });
- } else {
- processInputValue(el, false);
- }
- if (el._x_model)
- el._x_model.set(el.value);
- });
- el.addEventListener("input", () => processInputValue(el));
- el.addEventListener("blur", () => processInputValue(el, false));
- function processInputValue(el2, shouldRestoreCursor = true) {
- let input = el2.value;
- let template = templateFn(input);
- if (!template || template === "false")
- return false;
- if (lastInputValue.length - el2.value.length === 1) {
- return lastInputValue = el2.value;
- }
- let setInput = () => {
- lastInputValue = el2.value = formatInput(input, template);
- };
- if (shouldRestoreCursor) {
- restoreCursorPosition(el2, template, () => {
- setInput();
- });
- } else {
- setInput();
- }
- }
- function formatInput(input, template) {
- if (input === "")
- return "";
- let strippedDownInput = stripDown(template, input);
- let rebuiltInput = buildUp(template, strippedDownInput);
- return rebuiltInput;
- }
- }).before("model");
- }
- function restoreCursorPosition(el, template, callback) {
- let cursorPosition = el.selectionStart;
- let unformattedValue = el.value;
- callback();
- let beforeLeftOfCursorBeforeFormatting = unformattedValue.slice(0, cursorPosition);
- let newPosition = buildUp(
- template,
- stripDown(
- template,
- beforeLeftOfCursorBeforeFormatting
- )
- ).length;
- el.setSelectionRange(newPosition, newPosition);
- }
- function stripDown(template, input) {
- let inputToBeStripped = input;
- let output = "";
- let regexes = {
- "9": /[0-9]/,
- "a": /[a-zA-Z]/,
- "*": /[a-zA-Z0-9]/
- };
- let wildcardTemplate = "";
- for (let i2 = 0; i2 < template.length; i2++) {
- if (["9", "a", "*"].includes(template[i2])) {
- wildcardTemplate += template[i2];
- continue;
- }
- for (let j2 = 0; j2 < inputToBeStripped.length; j2++) {
- if (inputToBeStripped[j2] === template[i2]) {
- inputToBeStripped = inputToBeStripped.slice(0, j2) + inputToBeStripped.slice(j2 + 1);
- break;
- }
- }
- }
- for (let i2 = 0; i2 < wildcardTemplate.length; i2++) {
- let found = false;
- for (let j2 = 0; j2 < inputToBeStripped.length; j2++) {
- if (regexes[wildcardTemplate[i2]].test(inputToBeStripped[j2])) {
- output += inputToBeStripped[j2];
- inputToBeStripped = inputToBeStripped.slice(0, j2) + inputToBeStripped.slice(j2 + 1);
- found = true;
- break;
- }
- }
- if (!found)
- break;
- }
- return output;
- }
- function buildUp(template, input) {
- let clean = Array.from(input);
- let output = "";
- for (let i2 = 0; i2 < template.length; i2++) {
- if (!["9", "a", "*"].includes(template[i2])) {
- output += template[i2];
- continue;
- }
- if (clean.length === 0)
- break;
- output += clean.shift();
- }
- return output;
- }
- function formatMoney(input, delimiter = ".", thousands, precision = 2) {
- if (input === "-")
- return "-";
- if (/^\D+$/.test(input))
- return "9";
- if (thousands === null || thousands === void 0) {
- thousands = delimiter === "," ? "." : ",";
- }
- let addThousands = (input2, thousands2) => {
- let output = "";
- let counter = 0;
- for (let i2 = input2.length - 1; i2 >= 0; i2--) {
- if (input2[i2] === thousands2)
- continue;
- if (counter === 3) {
- output = input2[i2] + thousands2 + output;
- counter = 0;
- } else {
- output = input2[i2] + output;
- }
- counter++;
- }
- return output;
- };
- let minus = input.startsWith("-") ? "-" : "";
- let strippedInput = input.replaceAll(new RegExp(`[^0-9\\${delimiter}]`, "g"), "");
- let template = Array.from({ length: strippedInput.split(delimiter)[0].length }).fill("9").join("");
- template = `${minus}${addThousands(template, thousands)}`;
- if (precision > 0 && input.includes(delimiter))
- template += `${delimiter}` + "9".repeat(precision);
- queueMicrotask(() => {
- if (this.el.value.endsWith(delimiter))
- return;
- if (this.el.value[this.el.selectionStart - 1] === delimiter) {
- this.el.setSelectionRange(this.el.selectionStart - 1, this.el.selectionStart - 1);
- }
- });
- return template;
- }
- var module_default = src_default;
- }
-});
-
-// ../../../node_modules/@alpinejs/focus/dist/module.cjs.js
-var require_module_cjs4 = __commonJS({
- "../../../node_modules/@alpinejs/focus/dist/module.cjs.js"(exports, module) {
- 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 __commonJS2 = (cb, mod) => function __require() {
- return mod || (0, cb[__getOwnPropNames2(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
- };
- var __export2 = (target, all) => {
- for (var name in all)
- __defProp2(target, name, { get: all[name], enumerable: true });
- };
- var __copyProps2 = (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;
- };
- var __toESM2 = (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
- ));
- var __toCommonJS = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
- var require_dist = __commonJS2({
- "node_modules/tabbable/dist/index.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", { value: true });
- var candidateSelectors = ["input", "select", "textarea", "a[href]", "button", "[tabindex]:not(slot)", "audio[controls]", "video[controls]", '[contenteditable]:not([contenteditable="false"])', "details>summary:first-of-type", "details"];
- 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) {
- return element.getRootNode();
- } : function(element) {
- return element.ownerDocument;
- };
- var getCandidates = function getCandidates2(el, includeContainer, filter) {
- var candidates = Array.prototype.slice.apply(el.querySelectorAll(candidateSelector));
- if (includeContainer && matches.call(el, candidateSelector)) {
- candidates.unshift(el);
- }
- candidates = candidates.filter(filter);
- return candidates;
- };
- var getCandidatesIteratively = function getCandidatesIteratively2(elements, includeContainer, options) {
- var candidates = [];
- var elementsToCheck = Array.from(elements);
- while (elementsToCheck.length) {
- var element = elementsToCheck.shift();
- if (element.tagName === "SLOT") {
- var assigned = element.assignedElements();
- var content2 = assigned.length ? assigned : element.children;
- var nestedCandidates = getCandidatesIteratively2(content2, true, options);
- if (options.flatten) {
- candidates.push.apply(candidates, nestedCandidates);
- } else {
- candidates.push({
- scope: 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 = !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({
- scope: element,
- candidates: _nestedCandidates
- });
- }
- } else {
- elementsToCheck.unshift.apply(elementsToCheck, element.children);
- }
- }
- }
- return candidates;
- };
- var getTabindex = function getTabindex2(node, isScope) {
- if (node.tabIndex < 0) {
- if ((isScope || /^(AUDIO|VIDEO|DETAILS)$/.test(node.tagName) || node.isContentEditable) && isNaN(parseInt(node.getAttribute("tabindex"), 10))) {
- return 0;
- }
- }
- return node.tabIndex;
- };
- var sortOrderedTabbables = function sortOrderedTabbables2(a2, b2) {
- return a2.tabIndex === b2.tabIndex ? a2.documentOrder - b2.documentOrder : a2.tabIndex - b2.tabIndex;
- };
- var isInput = function isInput2(node) {
- return node.tagName === "INPUT";
- };
- var isHiddenInput = function isHiddenInput2(node) {
- return isInput(node) && node.type === "hidden";
- };
- var isDetailsWithSummary = function isDetailsWithSummary2(node) {
- var r2 = node.tagName === "DETAILS" && Array.prototype.slice.apply(node.children).some(function(child) {
- return child.tagName === "SUMMARY";
- });
- return r2;
- };
- var getCheckedRadio = function getCheckedRadio2(nodes, form) {
- for (var i2 = 0; i2 < nodes.length; i2++) {
- if (nodes[i2].checked && nodes[i2].form === form) {
- return nodes[i2];
- }
- }
- };
- var isTabbableRadio = function isTabbableRadio2(node) {
- if (!node.name) {
- return true;
- }
- var radioScope = node.form || getRootNode(node);
- var queryRadios = function queryRadios2(name) {
- return radioScope.querySelectorAll('input[type="radio"][name="' + name + '"]');
- };
- 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;
- };
- var isRadio = function isRadio2(node) {
- return isInput(node) && node.type === "radio";
- };
- var isNonTabbableRadio = function isNonTabbableRadio2(node) {
- return isRadio(node) && !isTabbableRadio(node);
- };
- var isZeroArea = function isZeroArea2(node) {
- var _node$getBoundingClie = node.getBoundingClientRect(), width = _node$getBoundingClie.width, height = _node$getBoundingClie.height;
- return width === 0 && height === 0;
- };
- var isHidden = function isHidden2(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;
- }
- var nodeRootHost = getRootNode(node).host;
- var nodeIsAttached = (nodeRootHost === null || nodeRootHost === void 0 ? void 0 : nodeRootHost.ownerDocument.contains(nodeRootHost)) || node.ownerDocument.contains(node);
- if (!displayCheck || displayCheck === "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 (nodeIsAttached) {
- return !node.getClientRects().length;
- }
- } else if (displayCheck === "non-zero-area") {
- return isZeroArea(node);
- }
- return false;
- };
- var isDisabledFromFieldset = 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 i2 = 0; i2 < parentNode.children.length; i2++) {
- var child = parentNode.children.item(i2);
- if (child.tagName === "LEGEND") {
- return matches.call(parentNode, "fieldset[disabled] *") ? true : !child.contains(node);
- }
- }
- return true;
- }
- parentNode = parentNode.parentElement;
- }
- }
- return false;
- };
- var isNodeMatchingSelectorFocusable = function isNodeMatchingSelectorFocusable2(options, node) {
- if (node.disabled || isHiddenInput(node) || isHidden(node, options) || // For a details element with a summary, the summary element gets the focus
- isDetailsWithSummary(node) || isDisabledFromFieldset(node)) {
- return false;
- }
- return true;
- };
- var isNodeMatchingSelectorTabbable = function isNodeMatchingSelectorTabbable2(options, node) {
- if (isNonTabbableRadio(node) || getTabindex(node) < 0 || !isNodeMatchingSelectorFocusable(options, node)) {
- return false;
- }
- return true;
- };
- var isValidShadowRootTabbable = function isValidShadowRootTabbable2(shadowHostNode) {
- var tabIndex = parseInt(shadowHostNode.getAttribute("tabindex"), 10);
- if (isNaN(tabIndex) || tabIndex >= 0) {
- return true;
- }
- return false;
- };
- var sortByOrder = function sortByOrder2(candidates) {
- var regularTabbables = [];
- var orderedTabbables = [];
- candidates.forEach(function(item, i2) {
- var isScope = !!item.scope;
- var element = isScope ? item.scope : item;
- var candidateTabindex = getTabindex(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: i2,
- 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);
- };
- var tabbable = function tabbable2(el, options) {
- options = options || {};
- var candidates;
- if (options.getShadowRoot) {
- candidates = getCandidatesIteratively([el], options.includeContainer, {
- filter: isNodeMatchingSelectorTabbable.bind(null, options),
- flatten: false,
- getShadowRoot: options.getShadowRoot,
- shadowRootFilter: isValidShadowRootTabbable
- });
- } else {
- candidates = getCandidates(el, options.includeContainer, isNodeMatchingSelectorTabbable.bind(null, options));
- }
- return sortByOrder(candidates);
- };
- var focusable2 = function focusable3(el, options) {
- options = options || {};
- var candidates;
- if (options.getShadowRoot) {
- candidates = getCandidatesIteratively([el], options.includeContainer, {
- filter: isNodeMatchingSelectorFocusable.bind(null, options),
- flatten: true,
- getShadowRoot: options.getShadowRoot
- });
- } else {
- candidates = getCandidates(el, options.includeContainer, isNodeMatchingSelectorFocusable.bind(null, options));
- }
- return candidates;
- };
- var isTabbable = function isTabbable2(node, options) {
- options = options || {};
- if (!node) {
- throw new Error("No node provided");
- }
- if (matches.call(node, candidateSelector) === false) {
- return false;
- }
- return isNodeMatchingSelectorTabbable(options, node);
- };
- var focusableCandidateSelector = /* @__PURE__ */ candidateSelectors.concat("iframe").join(",");
- var isFocusable2 = function isFocusable3(node, options) {
- options = options || {};
- if (!node) {
- throw new Error("No node provided");
- }
- if (matches.call(node, focusableCandidateSelector) === false) {
- return false;
- }
- return isNodeMatchingSelectorFocusable(options, node);
- };
- exports2.focusable = focusable2;
- exports2.isFocusable = isFocusable2;
- exports2.isTabbable = isTabbable;
- exports2.tabbable = tabbable;
- }
- });
- var require_focus_trap = __commonJS2({
- "node_modules/focus-trap/dist/focus-trap.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", { value: true });
- var tabbable = require_dist();
- function ownKeys(object, enumerableOnly) {
- var keys = Object.keys(object);
- if (Object.getOwnPropertySymbols) {
- var symbols = Object.getOwnPropertySymbols(object);
- enumerableOnly && (symbols = symbols.filter(function(sym) {
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
- })), keys.push.apply(keys, symbols);
- }
- return keys;
- }
- function _objectSpread2(target) {
- for (var i2 = 1; i2 < arguments.length; i2++) {
- var source = null != arguments[i2] ? arguments[i2] : {};
- i2 % 2 ? ownKeys(Object(source), true).forEach(function(key) {
- _defineProperty(target, key, source[key]);
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function(key) {
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
- });
- }
- return target;
- }
- function _defineProperty(obj, key, value) {
- if (key in obj) {
- Object.defineProperty(obj, key, {
- value,
- enumerable: true,
- configurable: true,
- writable: true
- });
- } else {
- obj[key] = value;
- }
- return obj;
- }
- var activeFocusTraps = /* @__PURE__ */ function() {
- var trapQueue = [];
- return {
- activateTrap: function activateTrap(trap) {
- if (trapQueue.length > 0) {
- var activeTrap = trapQueue[trapQueue.length - 1];
- if (activeTrap !== trap) {
- activeTrap.pause();
- }
- }
- var trapIndex = trapQueue.indexOf(trap);
- if (trapIndex === -1) {
- trapQueue.push(trap);
- } else {
- trapQueue.splice(trapIndex, 1);
- trapQueue.push(trap);
- }
- },
- deactivateTrap: function deactivateTrap(trap) {
- var trapIndex = trapQueue.indexOf(trap);
- if (trapIndex !== -1) {
- trapQueue.splice(trapIndex, 1);
- }
- if (trapQueue.length > 0) {
- trapQueue[trapQueue.length - 1].unpause();
- }
- }
- };
- }();
- var isSelectableInput = function isSelectableInput2(node) {
- return node.tagName && node.tagName.toLowerCase() === "input" && typeof node.select === "function";
- };
- var isEscapeEvent = function isEscapeEvent2(e2) {
- return e2.key === "Escape" || e2.key === "Esc" || e2.keyCode === 27;
- };
- var isTabEvent = function isTabEvent2(e2) {
- return e2.key === "Tab" || e2.keyCode === 9;
- };
- var delay = function delay2(fn) {
- return setTimeout(fn, 0);
- };
- var findIndex = function findIndex2(arr, fn) {
- var idx = -1;
- arr.every(function(value, i2) {
- if (fn(value)) {
- idx = i2;
- return false;
- }
- return true;
- });
- return idx;
- };
- var valueOrHandler = function valueOrHandler2(value) {
- for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
- params[_key - 1] = arguments[_key];
- }
- return typeof value === "function" ? value.apply(void 0, params) : value;
- };
- var getActualTarget = function getActualTarget2(event) {
- return event.target.shadowRoot && typeof event.composedPath === "function" ? event.composedPath()[0] : event.target;
- };
- var createFocusTrap2 = function createFocusTrap3(elements, userOptions) {
- var doc = (userOptions === null || userOptions === void 0 ? void 0 : userOptions.document) || document;
- var config = _objectSpread2({
- returnFocusOnDeactivate: true,
- escapeDeactivates: true,
- delayInitialFocus: true
- }, userOptions);
- var state = {
- // containers given to createFocusTrap()
- // @type {Array<HTMLElement>}
- containers: [],
- // list of objects identifying tabbable nodes in `containers` in the trap
- // NOTE: it's possible that a group has no tabbable nodes if nodes get removed while the trap
- // is active, but the trap should never get to a state where there isn't at least one group
- // with at least one tabbable node in it (that would lead to an error condition that would
- // result in an error being thrown)
- // @type {Array<{
- // container: HTMLElement,
- // tabbableNodes: Array<HTMLElement>, // empty if none
- // focusableNodes: Array<HTMLElement>, // empty if none
- // firstTabbableNode: HTMLElement|null,
- // lastTabbableNode: HTMLElement|null,
- // nextTabbableNode: (node: HTMLElement, forward: boolean) => HTMLElement|undefined
- // }>}
- containerGroups: [],
- // same order/length as `containers` list
- // references to objects in `containerGroups`, but only those that actually have
- // tabbable nodes in them
- // NOTE: same order as `containers` and `containerGroups`, but __not necessarily__
- // the same length
- tabbableGroups: [],
- nodeFocusedBeforeActivation: null,
- mostRecentlyFocusedNode: null,
- active: false,
- paused: false,
- // timer ID for when delayInitialFocus is true and initial focus in this trap
- // has been delayed during activation
- delayInitialFocusTimer: void 0
- };
- var trap;
- var getOption = function getOption2(configOverrideOptions, optionName, configOptionName) {
- return configOverrideOptions && configOverrideOptions[optionName] !== void 0 ? configOverrideOptions[optionName] : config[configOptionName || optionName];
- };
- var findContainerIndex = function findContainerIndex2(element) {
- return state.containerGroups.findIndex(function(_ref) {
- var container = _ref.container, tabbableNodes = _ref.tabbableNodes;
- return container.contains(element) || // fall back to explicit tabbable search which will take into consideration any
- // web components if the `tabbableOptions.getShadowRoot` option was used for
- // the trap, enabling shadow DOM support in tabbable (`Node.contains()` doesn't
- // look inside web components even if open)
- tabbableNodes.find(function(node) {
- return node === element;
- });
- });
- };
- var getNodeForOption = function getNodeForOption2(optionName) {
- var optionValue = config[optionName];
- if (typeof optionValue === "function") {
- for (var _len2 = arguments.length, params = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
- params[_key2 - 1] = arguments[_key2];
- }
- optionValue = optionValue.apply(void 0, params);
- }
- if (optionValue === true) {
- optionValue = void 0;
- }
- if (!optionValue) {
- if (optionValue === void 0 || optionValue === false) {
- return optionValue;
- }
- throw new Error("`".concat(optionName, "` was specified but was not a node, or did not return a node"));
- }
- var node = optionValue;
- if (typeof optionValue === "string") {
- node = doc.querySelector(optionValue);
- if (!node) {
- throw new Error("`".concat(optionName, "` as selector refers to no known node"));
- }
- }
- return node;
- };
- var getInitialFocusNode = function getInitialFocusNode2() {
- var node = getNodeForOption("initialFocus");
- if (node === false) {
- return false;
- }
- if (node === void 0) {
- if (findContainerIndex(doc.activeElement) >= 0) {
- node = doc.activeElement;
- } else {
- var firstTabbableGroup = state.tabbableGroups[0];
- var firstTabbableNode = firstTabbableGroup && firstTabbableGroup.firstTabbableNode;
- node = firstTabbableNode || getNodeForOption("fallbackFocus");
- }
- }
- if (!node) {
- throw new Error("Your focus-trap needs to have at least one focusable element");
- }
- return node;
- };
- var updateTabbableNodes = function updateTabbableNodes2() {
- state.containerGroups = state.containers.map(function(container) {
- var tabbableNodes = tabbable.tabbable(container, config.tabbableOptions);
- var focusableNodes = tabbable.focusable(container, config.tabbableOptions);
- return {
- container,
- tabbableNodes,
- focusableNodes,
- firstTabbableNode: tabbableNodes.length > 0 ? tabbableNodes[0] : null,
- lastTabbableNode: tabbableNodes.length > 0 ? tabbableNodes[tabbableNodes.length - 1] : null,
- /**
- * Finds the __tabbable__ node that follows the given node in the specified direction,
- * in this container, if any.
- * @param {HTMLElement} node
- * @param {boolean} [forward] True if going in forward tab order; false if going
- * in reverse.
- * @returns {HTMLElement|undefined} The next tabbable node, if any.
- */
- nextTabbableNode: function nextTabbableNode(node) {
- var forward = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
- var nodeIdx = focusableNodes.findIndex(function(n2) {
- return n2 === node;
- });
- if (nodeIdx < 0) {
- return void 0;
- }
- if (forward) {
- return focusableNodes.slice(nodeIdx + 1).find(function(n2) {
- return tabbable.isTabbable(n2, config.tabbableOptions);
- });
- }
- return focusableNodes.slice(0, nodeIdx).reverse().find(function(n2) {
- return tabbable.isTabbable(n2, config.tabbableOptions);
- });
- }
- };
- });
- state.tabbableGroups = state.containerGroups.filter(function(group) {
- return group.tabbableNodes.length > 0;
- });
- if (state.tabbableGroups.length <= 0 && !getNodeForOption("fallbackFocus")) {
- throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");
- }
- };
- var tryFocus = function tryFocus2(node) {
- if (node === false) {
- return;
- }
- if (node === doc.activeElement) {
- return;
- }
- if (!node || !node.focus) {
- tryFocus2(getInitialFocusNode());
- return;
- }
- node.focus({
- preventScroll: !!config.preventScroll
- });
- state.mostRecentlyFocusedNode = node;
- if (isSelectableInput(node)) {
- node.select();
- }
- };
- var getReturnFocusNode = function getReturnFocusNode2(previousActiveElement) {
- var node = getNodeForOption("setReturnFocus", previousActiveElement);
- return node ? node : node === false ? false : previousActiveElement;
- };
- var checkPointerDown = function checkPointerDown2(e2) {
- var target = getActualTarget(e2);
- if (findContainerIndex(target) >= 0) {
- return;
- }
- if (valueOrHandler(config.clickOutsideDeactivates, e2)) {
- trap.deactivate({
- // if, on deactivation, we should return focus to the node originally-focused
- // when the trap was activated (or the configured `setReturnFocus` node),
- // then assume it's also OK to return focus to the outside node that was
- // just clicked, causing deactivation, as long as that node is focusable;
- // if it isn't focusable, then return focus to the original node focused
- // on activation (or the configured `setReturnFocus` node)
- // NOTE: by setting `returnFocus: false`, deactivate() will do nothing,
- // which will result in the outside click setting focus to the node
- // that was clicked, whether it's focusable or not; by setting
- // `returnFocus: true`, we'll attempt to re-focus the node originally-focused
- // on activation (or the configured `setReturnFocus` node)
- returnFocus: config.returnFocusOnDeactivate && !tabbable.isFocusable(target, config.tabbableOptions)
- });
- return;
- }
- if (valueOrHandler(config.allowOutsideClick, e2)) {
- return;
- }
- e2.preventDefault();
- };
- var checkFocusIn = function checkFocusIn2(e2) {
- var target = getActualTarget(e2);
- var targetContained = findContainerIndex(target) >= 0;
- if (targetContained || target instanceof Document) {
- if (targetContained) {
- state.mostRecentlyFocusedNode = target;
- }
- } else {
- e2.stopImmediatePropagation();
- tryFocus(state.mostRecentlyFocusedNode || getInitialFocusNode());
- }
- };
- var checkTab = function checkTab2(e2) {
- var target = getActualTarget(e2);
- updateTabbableNodes();
- var destinationNode = null;
- if (state.tabbableGroups.length > 0) {
- var containerIndex = findContainerIndex(target);
- var containerGroup = containerIndex >= 0 ? state.containerGroups[containerIndex] : void 0;
- if (containerIndex < 0) {
- if (e2.shiftKey) {
- destinationNode = state.tabbableGroups[state.tabbableGroups.length - 1].lastTabbableNode;
- } else {
- destinationNode = state.tabbableGroups[0].firstTabbableNode;
- }
- } else if (e2.shiftKey) {
- var startOfGroupIndex = findIndex(state.tabbableGroups, function(_ref2) {
- var firstTabbableNode = _ref2.firstTabbableNode;
- return target === firstTabbableNode;
- });
- if (startOfGroupIndex < 0 && (containerGroup.container === target || tabbable.isFocusable(target, config.tabbableOptions) && !tabbable.isTabbable(target, config.tabbableOptions) && !containerGroup.nextTabbableNode(target, false))) {
- startOfGroupIndex = containerIndex;
- }
- if (startOfGroupIndex >= 0) {
- var destinationGroupIndex = startOfGroupIndex === 0 ? state.tabbableGroups.length - 1 : startOfGroupIndex - 1;
- var destinationGroup = state.tabbableGroups[destinationGroupIndex];
- destinationNode = destinationGroup.lastTabbableNode;
- }
- } else {
- var lastOfGroupIndex = findIndex(state.tabbableGroups, function(_ref3) {
- var lastTabbableNode = _ref3.lastTabbableNode;
- return target === lastTabbableNode;
- });
- if (lastOfGroupIndex < 0 && (containerGroup.container === target || tabbable.isFocusable(target, config.tabbableOptions) && !tabbable.isTabbable(target, config.tabbableOptions) && !containerGroup.nextTabbableNode(target))) {
- lastOfGroupIndex = containerIndex;
- }
- if (lastOfGroupIndex >= 0) {
- var _destinationGroupIndex = lastOfGroupIndex === state.tabbableGroups.length - 1 ? 0 : lastOfGroupIndex + 1;
- var _destinationGroup = state.tabbableGroups[_destinationGroupIndex];
- destinationNode = _destinationGroup.firstTabbableNode;
- }
- }
- } else {
- destinationNode = getNodeForOption("fallbackFocus");
- }
- if (destinationNode) {
- e2.preventDefault();
- tryFocus(destinationNode);
- }
- };
- var checkKey = function checkKey2(e2) {
- if (isEscapeEvent(e2) && valueOrHandler(config.escapeDeactivates, e2) !== false) {
- e2.preventDefault();
- trap.deactivate();
- return;
- }
- if (isTabEvent(e2)) {
- checkTab(e2);
- return;
- }
- };
- var checkClick = function checkClick2(e2) {
- var target = getActualTarget(e2);
- if (findContainerIndex(target) >= 0) {
- return;
- }
- if (valueOrHandler(config.clickOutsideDeactivates, e2)) {
- return;
- }
- if (valueOrHandler(config.allowOutsideClick, e2)) {
- return;
- }
- e2.preventDefault();
- e2.stopImmediatePropagation();
- };
- var addListeners = function addListeners2() {
- if (!state.active) {
- return;
- }
- activeFocusTraps.activateTrap(trap);
- state.delayInitialFocusTimer = config.delayInitialFocus ? delay(function() {
- tryFocus(getInitialFocusNode());
- }) : tryFocus(getInitialFocusNode());
- doc.addEventListener("focusin", checkFocusIn, true);
- doc.addEventListener("mousedown", checkPointerDown, {
- capture: true,
- passive: false
- });
- doc.addEventListener("touchstart", checkPointerDown, {
- capture: true,
- passive: false
- });
- doc.addEventListener("click", checkClick, {
- capture: true,
- passive: false
- });
- doc.addEventListener("keydown", checkKey, {
- capture: true,
- passive: false
- });
- return trap;
- };
- var removeListeners = function removeListeners2() {
- if (!state.active) {
- return;
- }
- doc.removeEventListener("focusin", checkFocusIn, true);
- doc.removeEventListener("mousedown", checkPointerDown, true);
- doc.removeEventListener("touchstart", checkPointerDown, true);
- doc.removeEventListener("click", checkClick, true);
- doc.removeEventListener("keydown", checkKey, true);
- return trap;
- };
- trap = {
- get active() {
- return state.active;
- },
- get paused() {
- return state.paused;
- },
- activate: function activate(activateOptions) {
- if (state.active) {
- return this;
- }
- var onActivate = getOption(activateOptions, "onActivate");
- var onPostActivate = getOption(activateOptions, "onPostActivate");
- var checkCanFocusTrap = getOption(activateOptions, "checkCanFocusTrap");
- if (!checkCanFocusTrap) {
- updateTabbableNodes();
- }
- state.active = true;
- state.paused = false;
- state.nodeFocusedBeforeActivation = doc.activeElement;
- if (onActivate) {
- onActivate();
- }
- var finishActivation = function finishActivation2() {
- if (checkCanFocusTrap) {
- updateTabbableNodes();
- }
- addListeners();
- if (onPostActivate) {
- onPostActivate();
- }
- };
- if (checkCanFocusTrap) {
- checkCanFocusTrap(state.containers.concat()).then(finishActivation, finishActivation);
- return this;
- }
- finishActivation();
- return this;
- },
- deactivate: function deactivate(deactivateOptions) {
- if (!state.active) {
- return this;
- }
- var options = _objectSpread2({
- onDeactivate: config.onDeactivate,
- onPostDeactivate: config.onPostDeactivate,
- checkCanReturnFocus: config.checkCanReturnFocus
- }, deactivateOptions);
- clearTimeout(state.delayInitialFocusTimer);
- state.delayInitialFocusTimer = void 0;
- removeListeners();
- state.active = false;
- state.paused = false;
- activeFocusTraps.deactivateTrap(trap);
- var onDeactivate = getOption(options, "onDeactivate");
- var onPostDeactivate = getOption(options, "onPostDeactivate");
- var checkCanReturnFocus = getOption(options, "checkCanReturnFocus");
- var returnFocus = getOption(options, "returnFocus", "returnFocusOnDeactivate");
- if (onDeactivate) {
- onDeactivate();
- }
- var finishDeactivation = function finishDeactivation2() {
- delay(function() {
- if (returnFocus) {
- tryFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation));
- }
- if (onPostDeactivate) {
- onPostDeactivate();
- }
- });
- };
- if (returnFocus && checkCanReturnFocus) {
- checkCanReturnFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation)).then(finishDeactivation, finishDeactivation);
- return this;
- }
- finishDeactivation();
- return this;
- },
- pause: function pause() {
- if (state.paused || !state.active) {
- return this;
- }
- state.paused = true;
- removeListeners();
- return this;
- },
- unpause: function unpause() {
- if (!state.paused || !state.active) {
- return this;
- }
- state.paused = false;
- updateTabbableNodes();
- addListeners();
- return this;
- },
- updateContainerElements: function updateContainerElements(containerElements) {
- var elementsAsArray = [].concat(containerElements).filter(Boolean);
- state.containers = elementsAsArray.map(function(element) {
- return typeof element === "string" ? doc.querySelector(element) : element;
- });
- if (state.active) {
- updateTabbableNodes();
- }
- return this;
- }
- };
- trap.updateContainerElements(elements);
- return trap;
- };
- exports2.createFocusTrap = createFocusTrap2;
- }
- });
- var module_exports = {};
- __export2(module_exports, {
- default: () => module_default
- });
- module.exports = __toCommonJS(module_exports);
- var import_focus_trap = __toESM2(require_focus_trap());
- var import_tabbable = __toESM2(require_dist());
- function src_default(Alpine3) {
- let lastFocused;
- let currentFocused;
- window.addEventListener("focusin", () => {
- lastFocused = currentFocused;
- currentFocused = document.activeElement;
- });
- Alpine3.magic("focus", (el) => {
- let within = el;
- return {
- __noscroll: false,
- __wrapAround: false,
- within(el2) {
- within = el2;
- return this;
- },
- withoutScrolling() {
- this.__noscroll = true;
- return this;
- },
- noscroll() {
- this.__noscroll = true;
- return this;
- },
- withWrapAround() {
- this.__wrapAround = true;
- return this;
- },
- wrap() {
- return this.withWrapAround();
- },
- focusable(el2) {
- return (0, import_tabbable.isFocusable)(el2);
- },
- previouslyFocused() {
- return lastFocused;
- },
- lastFocused() {
- return lastFocused;
- },
- focused() {
- return currentFocused;
- },
- focusables() {
- if (Array.isArray(within))
- return within;
- return (0, import_tabbable.focusable)(within, { displayCheck: "none" });
- },
- all() {
- return this.focusables();
- },
- isFirst(el2) {
- let els = this.all();
- return els[0] && els[0].isSameNode(el2);
- },
- isLast(el2) {
- let els = this.all();
- return els.length && els.slice(-1)[0].isSameNode(el2);
- },
- getFirst() {
- return this.all()[0];
- },
- getLast() {
- return this.all().slice(-1)[0];
- },
- getNext() {
- let list = this.all();
- let current = document.activeElement;
- if (list.indexOf(current) === -1)
- return;
- if (this.__wrapAround && list.indexOf(current) === list.length - 1) {
- return list[0];
- }
- return list[list.indexOf(current) + 1];
- },
- getPrevious() {
- let list = this.all();
- let current = document.activeElement;
- if (list.indexOf(current) === -1)
- return;
- if (this.__wrapAround && list.indexOf(current) === 0) {
- return list.slice(-1)[0];
- }
- return list[list.indexOf(current) - 1];
- },
- first() {
- this.focus(this.getFirst());
- },
- last() {
- this.focus(this.getLast());
- },
- next() {
- this.focus(this.getNext());
- },
- previous() {
- this.focus(this.getPrevious());
- },
- prev() {
- return this.previous();
- },
- focus(el2) {
- if (!el2)
- return;
- setTimeout(() => {
- if (!el2.hasAttribute("tabindex"))
- el2.setAttribute("tabindex", "0");
- el2.focus({ preventScroll: this._noscroll });
- });
- }
- };
- });
- Alpine3.directive("trap", Alpine3.skipDuringClone(
- (el, { expression, modifiers }, { effect, evaluateLater, cleanup }) => {
- let evaluator = evaluateLater(expression);
- let oldValue = false;
- let options = {
- escapeDeactivates: false,
- allowOutsideClick: true,
- fallbackFocus: () => el
- };
- let autofocusEl = el.querySelector("[autofocus]");
- if (autofocusEl)
- options.initialFocus = autofocusEl;
- let trap = (0, import_focus_trap.createFocusTrap)(el, options);
- let undoInert = () => {
- };
- let undoDisableScrolling = () => {
- };
- const releaseFocus = () => {
- undoInert();
- undoInert = () => {
- };
- undoDisableScrolling();
- undoDisableScrolling = () => {
- };
- trap.deactivate({
- returnFocus: !modifiers.includes("noreturn")
- });
- };
- effect(() => evaluator((value) => {
- if (oldValue === value)
- return;
- if (value && !oldValue) {
- if (modifiers.includes("noscroll"))
- undoDisableScrolling = disableScrolling();
- if (modifiers.includes("inert"))
- undoInert = setInert(el);
- setTimeout(() => {
- trap.activate();
- }, 15);
- }
- if (!value && oldValue) {
- releaseFocus();
- }
- oldValue = !!value;
- }));
- cleanup(releaseFocus);
- },
- // When cloning, we only want to add aria-hidden attributes to the
- // DOM and not try to actually trap, as trapping can mess with the
- // live DOM and isn't just isolated to the cloned DOM.
- (el, { expression, modifiers }, { evaluate }) => {
- if (modifiers.includes("inert") && evaluate(expression))
- setInert(el);
- }
- ));
- }
- function setInert(el) {
- let undos = [];
- crawlSiblingsUp(el, (sibling) => {
- let cache = sibling.hasAttribute("aria-hidden");
- sibling.setAttribute("aria-hidden", "true");
- undos.push(() => cache || sibling.removeAttribute("aria-hidden"));
- });
- return () => {
- while (undos.length)
- undos.pop()();
- };
- }
- function crawlSiblingsUp(el, callback) {
- if (el.isSameNode(document.body) || !el.parentNode)
- return;
- Array.from(el.parentNode.children).forEach((sibling) => {
- if (sibling.isSameNode(el)) {
- crawlSiblingsUp(el.parentNode, callback);
- } else {
- callback(sibling);
- }
- });
- }
- function disableScrolling() {
- let overflow = document.documentElement.style.overflow;
- let paddingRight = document.documentElement.style.paddingRight;
- let scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;
- document.documentElement.style.overflow = "hidden";
- document.documentElement.style.paddingRight = `${scrollbarWidth}px`;
- return () => {
- document.documentElement.style.overflow = overflow;
- document.documentElement.style.paddingRight = paddingRight;
- };
- }
- var module_default = src_default;
- }
-});
-
// ../../../node_modules/lodash.camelcase/index.js
var require_lodash = __commonJS({
"../../../node_modules/lodash.camelcase/index.js"(exports, module) {
var INFINITY = 1 / 0;
var symbolTag = "[object Symbol]";
@@ -11258,10 +5772,5741 @@
exports.roundArrow = ROUND_ARROW;
exports.sticky = sticky;
}
});
+// ../../../node_modules/alpinejs/dist/module.cjs.js
+var require_module_cjs = __commonJS({
+ "../../../node_modules/alpinejs/dist/module.cjs.js"(exports, module) {
+ 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 __commonJS2 = (cb, mod) => function __require() {
+ return mod || (0, cb[__getOwnPropNames2(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
+ };
+ var __export2 = (target, all) => {
+ for (var name in all)
+ __defProp2(target, name, { get: all[name], enumerable: true });
+ };
+ var __copyProps2 = (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;
+ };
+ var __toESM2 = (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
+ ));
+ var __toCommonJS = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
+ var require_shared_cjs = __commonJS2({
+ "node_modules/@vue/shared/dist/shared.cjs.js"(exports2) {
+ "use strict";
+ Object.defineProperty(exports2, "__esModule", { value: true });
+ function makeMap(str, expectsLowerCase) {
+ const map = /* @__PURE__ */ Object.create(null);
+ const list = str.split(",");
+ for (let i2 = 0; i2 < list.length; i2++) {
+ map[list[i2]] = true;
+ }
+ return expectsLowerCase ? (val) => !!map[val.toLowerCase()] : (val) => !!map[val];
+ }
+ var PatchFlagNames = {
+ [
+ 1
+ /* TEXT */
+ ]: `TEXT`,
+ [
+ 2
+ /* CLASS */
+ ]: `CLASS`,
+ [
+ 4
+ /* STYLE */
+ ]: `STYLE`,
+ [
+ 8
+ /* PROPS */
+ ]: `PROPS`,
+ [
+ 16
+ /* FULL_PROPS */
+ ]: `FULL_PROPS`,
+ [
+ 32
+ /* HYDRATE_EVENTS */
+ ]: `HYDRATE_EVENTS`,
+ [
+ 64
+ /* STABLE_FRAGMENT */
+ ]: `STABLE_FRAGMENT`,
+ [
+ 128
+ /* KEYED_FRAGMENT */
+ ]: `KEYED_FRAGMENT`,
+ [
+ 256
+ /* UNKEYED_FRAGMENT */
+ ]: `UNKEYED_FRAGMENT`,
+ [
+ 512
+ /* NEED_PATCH */
+ ]: `NEED_PATCH`,
+ [
+ 1024
+ /* DYNAMIC_SLOTS */
+ ]: `DYNAMIC_SLOTS`,
+ [
+ 2048
+ /* DEV_ROOT_FRAGMENT */
+ ]: `DEV_ROOT_FRAGMENT`,
+ [
+ -1
+ /* HOISTED */
+ ]: `HOISTED`,
+ [
+ -2
+ /* BAIL */
+ ]: `BAIL`
+ };
+ var slotFlagsText = {
+ [
+ 1
+ /* STABLE */
+ ]: "STABLE",
+ [
+ 2
+ /* DYNAMIC */
+ ]: "DYNAMIC",
+ [
+ 3
+ /* FORWARDED */
+ ]: "FORWARDED"
+ };
+ var GLOBALS_WHITE_LISTED = "Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt";
+ var isGloballyWhitelisted = /* @__PURE__ */ makeMap(GLOBALS_WHITE_LISTED);
+ var range = 2;
+ function generateCodeFrame(source, start2 = 0, end = source.length) {
+ let lines = source.split(/(\r?\n)/);
+ const newlineSequences = lines.filter((_2, idx) => idx % 2 === 1);
+ lines = lines.filter((_2, idx) => idx % 2 === 0);
+ let count = 0;
+ const res = [];
+ for (let i2 = 0; i2 < lines.length; i2++) {
+ count += lines[i2].length + (newlineSequences[i2] && newlineSequences[i2].length || 0);
+ if (count >= start2) {
+ for (let j2 = i2 - range; j2 <= i2 + range || end > count; j2++) {
+ if (j2 < 0 || j2 >= lines.length)
+ continue;
+ const line = j2 + 1;
+ res.push(`${line}${" ".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j2]}`);
+ const lineLength = lines[j2].length;
+ const newLineSeqLength = newlineSequences[j2] && newlineSequences[j2].length || 0;
+ if (j2 === i2) {
+ const pad = start2 - (count - (lineLength + newLineSeqLength));
+ const length = Math.max(1, end > count ? lineLength - pad : end - start2);
+ res.push(` | ` + " ".repeat(pad) + "^".repeat(length));
+ } else if (j2 > i2) {
+ if (end > count) {
+ const length = Math.max(Math.min(end - count, lineLength), 1);
+ res.push(` | ` + "^".repeat(length));
+ }
+ count += lineLength + newLineSeqLength;
+ }
+ }
+ break;
+ }
+ }
+ return res.join("\n");
+ }
+ var specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;
+ var isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);
+ var isBooleanAttr2 = /* @__PURE__ */ makeMap(specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`);
+ var unsafeAttrCharRE = /[>/="'\u0009\u000a\u000c\u0020]/;
+ var attrValidationCache = {};
+ function isSSRSafeAttrName(name) {
+ if (attrValidationCache.hasOwnProperty(name)) {
+ return attrValidationCache[name];
+ }
+ const isUnsafe = unsafeAttrCharRE.test(name);
+ if (isUnsafe) {
+ console.error(`unsafe attribute name: ${name}`);
+ }
+ return attrValidationCache[name] = !isUnsafe;
+ }
+ var propsToAttrMap = {
+ acceptCharset: "accept-charset",
+ className: "class",
+ htmlFor: "for",
+ httpEquiv: "http-equiv"
+ };
+ var isNoUnitNumericStyleProp = /* @__PURE__ */ makeMap(`animation-iteration-count,border-image-outset,border-image-slice,border-image-width,box-flex,box-flex-group,box-ordinal-group,column-count,columns,flex,flex-grow,flex-positive,flex-shrink,flex-negative,flex-order,grid-row,grid-row-end,grid-row-span,grid-row-start,grid-column,grid-column-end,grid-column-span,grid-column-start,font-weight,line-clamp,line-height,opacity,order,orphans,tab-size,widows,z-index,zoom,fill-opacity,flood-opacity,stop-opacity,stroke-dasharray,stroke-dashoffset,stroke-miterlimit,stroke-opacity,stroke-width`);
+ var isKnownAttr = /* @__PURE__ */ makeMap(`accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`);
+ function normalizeStyle(value) {
+ if (isArray(value)) {
+ const res = {};
+ for (let i2 = 0; i2 < value.length; i2++) {
+ const item = value[i2];
+ const normalized = normalizeStyle(isString(item) ? parseStringStyle(item) : item);
+ if (normalized) {
+ for (const key in normalized) {
+ res[key] = normalized[key];
+ }
+ }
+ }
+ return res;
+ } else if (isObject2(value)) {
+ return value;
+ }
+ }
+ var listDelimiterRE = /;(?![^(]*\))/g;
+ var propertyDelimiterRE = /:(.+)/;
+ function parseStringStyle(cssText) {
+ const ret = {};
+ cssText.split(listDelimiterRE).forEach((item) => {
+ if (item) {
+ const tmp = item.split(propertyDelimiterRE);
+ tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());
+ }
+ });
+ return ret;
+ }
+ function stringifyStyle(styles) {
+ let ret = "";
+ if (!styles) {
+ return ret;
+ }
+ for (const key in styles) {
+ const value = styles[key];
+ const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);
+ if (isString(value) || typeof value === "number" && isNoUnitNumericStyleProp(normalizedKey)) {
+ ret += `${normalizedKey}:${value};`;
+ }
+ }
+ return ret;
+ }
+ function normalizeClass(value) {
+ let res = "";
+ if (isString(value)) {
+ res = value;
+ } else if (isArray(value)) {
+ for (let i2 = 0; i2 < value.length; i2++) {
+ const normalized = normalizeClass(value[i2]);
+ if (normalized) {
+ res += normalized + " ";
+ }
+ }
+ } else if (isObject2(value)) {
+ for (const name in value) {
+ if (value[name]) {
+ res += name + " ";
+ }
+ }
+ }
+ return res.trim();
+ }
+ var HTML_TAGS = "html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot";
+ var SVG_TAGS = "svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistanceLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view";
+ var VOID_TAGS = "area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr";
+ var isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);
+ var isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);
+ var isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);
+ var escapeRE = /["'&<>]/;
+ function escapeHtml(string) {
+ const str = "" + string;
+ const match = escapeRE.exec(str);
+ if (!match) {
+ return str;
+ }
+ let html = "";
+ let escaped;
+ let index;
+ let lastIndex = 0;
+ for (index = match.index; index < str.length; index++) {
+ switch (str.charCodeAt(index)) {
+ case 34:
+ escaped = """;
+ break;
+ case 38:
+ escaped = "&";
+ break;
+ case 39:
+ escaped = "'";
+ break;
+ case 60:
+ escaped = "<";
+ break;
+ case 62:
+ escaped = ">";
+ break;
+ default:
+ continue;
+ }
+ if (lastIndex !== index) {
+ html += str.substring(lastIndex, index);
+ }
+ lastIndex = index + 1;
+ html += escaped;
+ }
+ return lastIndex !== index ? html + str.substring(lastIndex, index) : html;
+ }
+ var commentStripRE = /^-?>|<!--|-->|--!>|<!-$/g;
+ function escapeHtmlComment(src) {
+ return src.replace(commentStripRE, "");
+ }
+ function looseCompareArrays(a2, b2) {
+ if (a2.length !== b2.length)
+ return false;
+ let equal = true;
+ for (let i2 = 0; equal && i2 < a2.length; i2++) {
+ equal = looseEqual(a2[i2], b2[i2]);
+ }
+ return equal;
+ }
+ function looseEqual(a2, b2) {
+ if (a2 === b2)
+ return true;
+ let aValidType = isDate(a2);
+ let bValidType = isDate(b2);
+ if (aValidType || bValidType) {
+ return aValidType && bValidType ? a2.getTime() === b2.getTime() : false;
+ }
+ aValidType = isArray(a2);
+ bValidType = isArray(b2);
+ if (aValidType || bValidType) {
+ return aValidType && bValidType ? looseCompareArrays(a2, b2) : false;
+ }
+ aValidType = isObject2(a2);
+ bValidType = isObject2(b2);
+ if (aValidType || bValidType) {
+ if (!aValidType || !bValidType) {
+ return false;
+ }
+ const aKeysCount = Object.keys(a2).length;
+ const bKeysCount = Object.keys(b2).length;
+ if (aKeysCount !== bKeysCount) {
+ return false;
+ }
+ for (const key in a2) {
+ const aHasKey = a2.hasOwnProperty(key);
+ const bHasKey = b2.hasOwnProperty(key);
+ if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a2[key], b2[key])) {
+ return false;
+ }
+ }
+ }
+ return String(a2) === String(b2);
+ }
+ function looseIndexOf(arr, val) {
+ return arr.findIndex((item) => looseEqual(item, val));
+ }
+ var toDisplayString = (val) => {
+ return val == null ? "" : isObject2(val) ? JSON.stringify(val, replacer, 2) : String(val);
+ };
+ var replacer = (_key, val) => {
+ if (isMap(val)) {
+ return {
+ [`Map(${val.size})`]: [...val.entries()].reduce((entries, [key, val2]) => {
+ entries[`${key} =>`] = val2;
+ return entries;
+ }, {})
+ };
+ } else if (isSet(val)) {
+ return {
+ [`Set(${val.size})`]: [...val.values()]
+ };
+ } else if (isObject2(val) && !isArray(val) && !isPlainObject(val)) {
+ return String(val);
+ }
+ return val;
+ };
+ var babelParserDefaultPlugins = [
+ "bigInt",
+ "optionalChaining",
+ "nullishCoalescingOperator"
+ ];
+ var EMPTY_OBJ = Object.freeze({});
+ var EMPTY_ARR = Object.freeze([]);
+ var NOOP = () => {
+ };
+ var NO = () => false;
+ var onRE = /^on[^a-z]/;
+ var isOn = (key) => onRE.test(key);
+ var isModelListener = (key) => key.startsWith("onUpdate:");
+ var extend = Object.assign;
+ var remove = (arr, el) => {
+ const i2 = arr.indexOf(el);
+ if (i2 > -1) {
+ arr.splice(i2, 1);
+ }
+ };
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
+ var hasOwn = (val, key) => hasOwnProperty.call(val, key);
+ var isArray = Array.isArray;
+ var isMap = (val) => toTypeString(val) === "[object Map]";
+ var isSet = (val) => toTypeString(val) === "[object Set]";
+ var isDate = (val) => val instanceof Date;
+ var isFunction = (val) => typeof val === "function";
+ var isString = (val) => typeof val === "string";
+ var isSymbol = (val) => typeof val === "symbol";
+ var isObject2 = (val) => val !== null && typeof val === "object";
+ var isPromise = (val) => {
+ return isObject2(val) && isFunction(val.then) && isFunction(val.catch);
+ };
+ var objectToString = Object.prototype.toString;
+ var toTypeString = (value) => objectToString.call(value);
+ var toRawType = (value) => {
+ return toTypeString(value).slice(8, -1);
+ };
+ var isPlainObject = (val) => toTypeString(val) === "[object Object]";
+ var isIntegerKey = (key) => isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key;
+ var isReservedProp = /* @__PURE__ */ makeMap(
+ // the leading comma is intentional so empty string "" is also included
+ ",key,ref,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"
+ );
+ var cacheStringFunction = (fn) => {
+ const cache = /* @__PURE__ */ Object.create(null);
+ return (str) => {
+ const hit = cache[str];
+ return hit || (cache[str] = fn(str));
+ };
+ };
+ var camelizeRE = /-(\w)/g;
+ var camelize = cacheStringFunction((str) => {
+ return str.replace(camelizeRE, (_2, c2) => c2 ? c2.toUpperCase() : "");
+ });
+ var hyphenateRE = /\B([A-Z])/g;
+ var hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, "-$1").toLowerCase());
+ var capitalize = cacheStringFunction((str) => str.charAt(0).toUpperCase() + str.slice(1));
+ var toHandlerKey = cacheStringFunction((str) => str ? `on${capitalize(str)}` : ``);
+ var hasChanged = (value, oldValue) => value !== oldValue && (value === value || oldValue === oldValue);
+ var invokeArrayFns = (fns, arg) => {
+ for (let i2 = 0; i2 < fns.length; i2++) {
+ fns[i2](arg);
+ }
+ };
+ var def = (obj, key, value) => {
+ Object.defineProperty(obj, key, {
+ configurable: true,
+ enumerable: false,
+ value
+ });
+ };
+ var toNumber = (val) => {
+ const n2 = parseFloat(val);
+ return isNaN(n2) ? val : n2;
+ };
+ var _globalThis;
+ var getGlobalThis = () => {
+ return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {});
+ };
+ exports2.EMPTY_ARR = EMPTY_ARR;
+ exports2.EMPTY_OBJ = EMPTY_OBJ;
+ exports2.NO = NO;
+ exports2.NOOP = NOOP;
+ exports2.PatchFlagNames = PatchFlagNames;
+ exports2.babelParserDefaultPlugins = babelParserDefaultPlugins;
+ exports2.camelize = camelize;
+ exports2.capitalize = capitalize;
+ exports2.def = def;
+ exports2.escapeHtml = escapeHtml;
+ exports2.escapeHtmlComment = escapeHtmlComment;
+ exports2.extend = extend;
+ exports2.generateCodeFrame = generateCodeFrame;
+ exports2.getGlobalThis = getGlobalThis;
+ exports2.hasChanged = hasChanged;
+ exports2.hasOwn = hasOwn;
+ exports2.hyphenate = hyphenate;
+ exports2.invokeArrayFns = invokeArrayFns;
+ exports2.isArray = isArray;
+ exports2.isBooleanAttr = isBooleanAttr2;
+ exports2.isDate = isDate;
+ exports2.isFunction = isFunction;
+ exports2.isGloballyWhitelisted = isGloballyWhitelisted;
+ exports2.isHTMLTag = isHTMLTag;
+ exports2.isIntegerKey = isIntegerKey;
+ exports2.isKnownAttr = isKnownAttr;
+ exports2.isMap = isMap;
+ exports2.isModelListener = isModelListener;
+ exports2.isNoUnitNumericStyleProp = isNoUnitNumericStyleProp;
+ exports2.isObject = isObject2;
+ exports2.isOn = isOn;
+ exports2.isPlainObject = isPlainObject;
+ exports2.isPromise = isPromise;
+ exports2.isReservedProp = isReservedProp;
+ exports2.isSSRSafeAttrName = isSSRSafeAttrName;
+ exports2.isSVGTag = isSVGTag;
+ exports2.isSet = isSet;
+ exports2.isSpecialBooleanAttr = isSpecialBooleanAttr;
+ exports2.isString = isString;
+ exports2.isSymbol = isSymbol;
+ exports2.isVoidTag = isVoidTag;
+ exports2.looseEqual = looseEqual;
+ exports2.looseIndexOf = looseIndexOf;
+ exports2.makeMap = makeMap;
+ exports2.normalizeClass = normalizeClass;
+ exports2.normalizeStyle = normalizeStyle;
+ exports2.objectToString = objectToString;
+ exports2.parseStringStyle = parseStringStyle;
+ exports2.propsToAttrMap = propsToAttrMap;
+ exports2.remove = remove;
+ exports2.slotFlagsText = slotFlagsText;
+ exports2.stringifyStyle = stringifyStyle;
+ exports2.toDisplayString = toDisplayString;
+ exports2.toHandlerKey = toHandlerKey;
+ exports2.toNumber = toNumber;
+ exports2.toRawType = toRawType;
+ exports2.toTypeString = toTypeString;
+ }
+ });
+ var require_shared = __commonJS2({
+ "node_modules/@vue/shared/index.js"(exports2, module2) {
+ "use strict";
+ if (false) {
+ module2.exports = null;
+ } else {
+ module2.exports = require_shared_cjs();
+ }
+ }
+ });
+ var require_reactivity_cjs = __commonJS2({
+ "node_modules/@vue/reactivity/dist/reactivity.cjs.js"(exports2) {
+ "use strict";
+ Object.defineProperty(exports2, "__esModule", { value: true });
+ var shared = require_shared();
+ var targetMap = /* @__PURE__ */ new WeakMap();
+ var effectStack = [];
+ var activeEffect;
+ var ITERATE_KEY = Symbol("iterate");
+ var MAP_KEY_ITERATE_KEY = Symbol("Map key iterate");
+ function isEffect(fn) {
+ return fn && fn._isEffect === true;
+ }
+ function effect3(fn, options = shared.EMPTY_OBJ) {
+ if (isEffect(fn)) {
+ fn = fn.raw;
+ }
+ const effect4 = createReactiveEffect(fn, options);
+ if (!options.lazy) {
+ effect4();
+ }
+ return effect4;
+ }
+ function stop2(effect4) {
+ if (effect4.active) {
+ cleanup(effect4);
+ if (effect4.options.onStop) {
+ effect4.options.onStop();
+ }
+ effect4.active = false;
+ }
+ }
+ var uid = 0;
+ function createReactiveEffect(fn, options) {
+ const effect4 = function reactiveEffect() {
+ if (!effect4.active) {
+ return fn();
+ }
+ if (!effectStack.includes(effect4)) {
+ cleanup(effect4);
+ try {
+ enableTracking();
+ effectStack.push(effect4);
+ activeEffect = effect4;
+ return fn();
+ } finally {
+ effectStack.pop();
+ resetTracking();
+ activeEffect = effectStack[effectStack.length - 1];
+ }
+ }
+ };
+ effect4.id = uid++;
+ effect4.allowRecurse = !!options.allowRecurse;
+ effect4._isEffect = true;
+ effect4.active = true;
+ effect4.raw = fn;
+ effect4.deps = [];
+ effect4.options = options;
+ return effect4;
+ }
+ function cleanup(effect4) {
+ const { deps } = effect4;
+ if (deps.length) {
+ for (let i2 = 0; i2 < deps.length; i2++) {
+ deps[i2].delete(effect4);
+ }
+ deps.length = 0;
+ }
+ }
+ var shouldTrack = true;
+ var trackStack = [];
+ function pauseTracking() {
+ trackStack.push(shouldTrack);
+ shouldTrack = false;
+ }
+ function enableTracking() {
+ trackStack.push(shouldTrack);
+ shouldTrack = true;
+ }
+ function resetTracking() {
+ const last = trackStack.pop();
+ shouldTrack = last === void 0 ? true : last;
+ }
+ function track(target, type, key) {
+ if (!shouldTrack || activeEffect === void 0) {
+ return;
+ }
+ let depsMap = targetMap.get(target);
+ if (!depsMap) {
+ targetMap.set(target, depsMap = /* @__PURE__ */ new Map());
+ }
+ let dep = depsMap.get(key);
+ if (!dep) {
+ depsMap.set(key, dep = /* @__PURE__ */ new Set());
+ }
+ if (!dep.has(activeEffect)) {
+ dep.add(activeEffect);
+ activeEffect.deps.push(dep);
+ if (activeEffect.options.onTrack) {
+ activeEffect.options.onTrack({
+ effect: activeEffect,
+ target,
+ type,
+ key
+ });
+ }
+ }
+ }
+ function trigger(target, type, key, newValue, oldValue, oldTarget) {
+ const depsMap = targetMap.get(target);
+ if (!depsMap) {
+ return;
+ }
+ const effects = /* @__PURE__ */ new Set();
+ const add2 = (effectsToAdd) => {
+ if (effectsToAdd) {
+ effectsToAdd.forEach((effect4) => {
+ if (effect4 !== activeEffect || effect4.allowRecurse) {
+ effects.add(effect4);
+ }
+ });
+ }
+ };
+ if (type === "clear") {
+ depsMap.forEach(add2);
+ } else if (key === "length" && shared.isArray(target)) {
+ depsMap.forEach((dep, key2) => {
+ if (key2 === "length" || key2 >= newValue) {
+ add2(dep);
+ }
+ });
+ } else {
+ if (key !== void 0) {
+ add2(depsMap.get(key));
+ }
+ switch (type) {
+ case "add":
+ if (!shared.isArray(target)) {
+ add2(depsMap.get(ITERATE_KEY));
+ if (shared.isMap(target)) {
+ add2(depsMap.get(MAP_KEY_ITERATE_KEY));
+ }
+ } else if (shared.isIntegerKey(key)) {
+ add2(depsMap.get("length"));
+ }
+ break;
+ case "delete":
+ if (!shared.isArray(target)) {
+ add2(depsMap.get(ITERATE_KEY));
+ if (shared.isMap(target)) {
+ add2(depsMap.get(MAP_KEY_ITERATE_KEY));
+ }
+ }
+ break;
+ case "set":
+ if (shared.isMap(target)) {
+ add2(depsMap.get(ITERATE_KEY));
+ }
+ break;
+ }
+ }
+ const run = (effect4) => {
+ if (effect4.options.onTrigger) {
+ effect4.options.onTrigger({
+ effect: effect4,
+ target,
+ key,
+ type,
+ newValue,
+ oldValue,
+ oldTarget
+ });
+ }
+ if (effect4.options.scheduler) {
+ effect4.options.scheduler(effect4);
+ } else {
+ effect4();
+ }
+ };
+ effects.forEach(run);
+ }
+ var isNonTrackableKeys = /* @__PURE__ */ shared.makeMap(`__proto__,__v_isRef,__isVue`);
+ var builtInSymbols = new Set(Object.getOwnPropertyNames(Symbol).map((key) => Symbol[key]).filter(shared.isSymbol));
+ var get2 = /* @__PURE__ */ createGetter();
+ var shallowGet = /* @__PURE__ */ createGetter(false, true);
+ var readonlyGet = /* @__PURE__ */ createGetter(true);
+ var shallowReadonlyGet = /* @__PURE__ */ createGetter(true, true);
+ var arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations();
+ function createArrayInstrumentations() {
+ const instrumentations = {};
+ ["includes", "indexOf", "lastIndexOf"].forEach((key) => {
+ instrumentations[key] = function(...args) {
+ const arr = toRaw2(this);
+ for (let i2 = 0, l2 = this.length; i2 < l2; i2++) {
+ track(arr, "get", i2 + "");
+ }
+ const res = arr[key](...args);
+ if (res === -1 || res === false) {
+ return arr[key](...args.map(toRaw2));
+ } else {
+ return res;
+ }
+ };
+ });
+ ["push", "pop", "shift", "unshift", "splice"].forEach((key) => {
+ instrumentations[key] = function(...args) {
+ pauseTracking();
+ const res = toRaw2(this)[key].apply(this, args);
+ resetTracking();
+ return res;
+ };
+ });
+ return instrumentations;
+ }
+ function createGetter(isReadonly2 = false, shallow = false) {
+ return function get3(target, key, receiver) {
+ if (key === "__v_isReactive") {
+ return !isReadonly2;
+ } else if (key === "__v_isReadonly") {
+ return isReadonly2;
+ } else if (key === "__v_raw" && receiver === (isReadonly2 ? shallow ? shallowReadonlyMap : readonlyMap : shallow ? shallowReactiveMap : reactiveMap).get(target)) {
+ return target;
+ }
+ const targetIsArray = shared.isArray(target);
+ if (!isReadonly2 && targetIsArray && shared.hasOwn(arrayInstrumentations, key)) {
+ return Reflect.get(arrayInstrumentations, key, receiver);
+ }
+ const res = Reflect.get(target, key, receiver);
+ if (shared.isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {
+ return res;
+ }
+ if (!isReadonly2) {
+ track(target, "get", key);
+ }
+ if (shallow) {
+ return res;
+ }
+ if (isRef(res)) {
+ const shouldUnwrap = !targetIsArray || !shared.isIntegerKey(key);
+ return shouldUnwrap ? res.value : res;
+ }
+ if (shared.isObject(res)) {
+ return isReadonly2 ? readonly(res) : reactive3(res);
+ }
+ return res;
+ };
+ }
+ var set2 = /* @__PURE__ */ createSetter();
+ var shallowSet = /* @__PURE__ */ createSetter(true);
+ function createSetter(shallow = false) {
+ return function set3(target, key, value, receiver) {
+ let oldValue = target[key];
+ if (!shallow) {
+ value = toRaw2(value);
+ oldValue = toRaw2(oldValue);
+ if (!shared.isArray(target) && isRef(oldValue) && !isRef(value)) {
+ oldValue.value = value;
+ return true;
+ }
+ }
+ const hadKey = shared.isArray(target) && shared.isIntegerKey(key) ? Number(key) < target.length : shared.hasOwn(target, key);
+ const result = Reflect.set(target, key, value, receiver);
+ if (target === toRaw2(receiver)) {
+ if (!hadKey) {
+ trigger(target, "add", key, value);
+ } else if (shared.hasChanged(value, oldValue)) {
+ trigger(target, "set", key, value, oldValue);
+ }
+ }
+ return result;
+ };
+ }
+ function deleteProperty(target, key) {
+ const hadKey = shared.hasOwn(target, key);
+ const oldValue = target[key];
+ const result = Reflect.deleteProperty(target, key);
+ if (result && hadKey) {
+ trigger(target, "delete", key, void 0, oldValue);
+ }
+ return result;
+ }
+ function has(target, key) {
+ const result = Reflect.has(target, key);
+ if (!shared.isSymbol(key) || !builtInSymbols.has(key)) {
+ track(target, "has", key);
+ }
+ return result;
+ }
+ function ownKeys(target) {
+ track(target, "iterate", shared.isArray(target) ? "length" : ITERATE_KEY);
+ return Reflect.ownKeys(target);
+ }
+ var mutableHandlers = {
+ get: get2,
+ set: set2,
+ deleteProperty,
+ has,
+ ownKeys
+ };
+ var readonlyHandlers = {
+ get: readonlyGet,
+ set(target, key) {
+ {
+ console.warn(`Set operation on key "${String(key)}" failed: target is readonly.`, target);
+ }
+ return true;
+ },
+ deleteProperty(target, key) {
+ {
+ console.warn(`Delete operation on key "${String(key)}" failed: target is readonly.`, target);
+ }
+ return true;
+ }
+ };
+ var shallowReactiveHandlers = /* @__PURE__ */ shared.extend({}, mutableHandlers, {
+ get: shallowGet,
+ set: shallowSet
+ });
+ var shallowReadonlyHandlers = /* @__PURE__ */ shared.extend({}, readonlyHandlers, {
+ get: shallowReadonlyGet
+ });
+ var toReactive = (value) => shared.isObject(value) ? reactive3(value) : value;
+ var toReadonly = (value) => shared.isObject(value) ? readonly(value) : value;
+ var toShallow = (value) => value;
+ var getProto = (v2) => Reflect.getPrototypeOf(v2);
+ function get$1(target, key, isReadonly2 = false, isShallow = false) {
+ target = target[
+ "__v_raw"
+ /* RAW */
+ ];
+ const rawTarget = toRaw2(target);
+ const rawKey = toRaw2(key);
+ if (key !== rawKey) {
+ !isReadonly2 && track(rawTarget, "get", key);
+ }
+ !isReadonly2 && track(rawTarget, "get", rawKey);
+ const { has: has2 } = getProto(rawTarget);
+ const wrap = isShallow ? toShallow : isReadonly2 ? toReadonly : toReactive;
+ if (has2.call(rawTarget, key)) {
+ return wrap(target.get(key));
+ } else if (has2.call(rawTarget, rawKey)) {
+ return wrap(target.get(rawKey));
+ } else if (target !== rawTarget) {
+ target.get(key);
+ }
+ }
+ function has$1(key, isReadonly2 = false) {
+ const target = this[
+ "__v_raw"
+ /* RAW */
+ ];
+ const rawTarget = toRaw2(target);
+ const rawKey = toRaw2(key);
+ if (key !== rawKey) {
+ !isReadonly2 && track(rawTarget, "has", key);
+ }
+ !isReadonly2 && track(rawTarget, "has", rawKey);
+ return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);
+ }
+ function size(target, isReadonly2 = false) {
+ target = target[
+ "__v_raw"
+ /* RAW */
+ ];
+ !isReadonly2 && track(toRaw2(target), "iterate", ITERATE_KEY);
+ return Reflect.get(target, "size", target);
+ }
+ function add(value) {
+ value = toRaw2(value);
+ const target = toRaw2(this);
+ const proto = getProto(target);
+ const hadKey = proto.has.call(target, value);
+ if (!hadKey) {
+ target.add(value);
+ trigger(target, "add", value, value);
+ }
+ return this;
+ }
+ function set$1(key, value) {
+ value = toRaw2(value);
+ const target = toRaw2(this);
+ const { has: has2, get: get3 } = getProto(target);
+ let hadKey = has2.call(target, key);
+ if (!hadKey) {
+ key = toRaw2(key);
+ hadKey = has2.call(target, key);
+ } else {
+ checkIdentityKeys(target, has2, key);
+ }
+ const oldValue = get3.call(target, key);
+ target.set(key, value);
+ if (!hadKey) {
+ trigger(target, "add", key, value);
+ } else if (shared.hasChanged(value, oldValue)) {
+ trigger(target, "set", key, value, oldValue);
+ }
+ return this;
+ }
+ function deleteEntry(key) {
+ const target = toRaw2(this);
+ const { has: has2, get: get3 } = getProto(target);
+ let hadKey = has2.call(target, key);
+ if (!hadKey) {
+ key = toRaw2(key);
+ hadKey = has2.call(target, key);
+ } else {
+ checkIdentityKeys(target, has2, key);
+ }
+ const oldValue = get3 ? get3.call(target, key) : void 0;
+ const result = target.delete(key);
+ if (hadKey) {
+ trigger(target, "delete", key, void 0, oldValue);
+ }
+ return result;
+ }
+ function clear() {
+ const target = toRaw2(this);
+ const hadItems = target.size !== 0;
+ const oldTarget = shared.isMap(target) ? new Map(target) : new Set(target);
+ const result = target.clear();
+ if (hadItems) {
+ trigger(target, "clear", void 0, void 0, oldTarget);
+ }
+ return result;
+ }
+ function createForEach(isReadonly2, isShallow) {
+ return function forEach(callback, thisArg) {
+ const observed = this;
+ const target = observed[
+ "__v_raw"
+ /* RAW */
+ ];
+ const rawTarget = toRaw2(target);
+ const wrap = isShallow ? toShallow : isReadonly2 ? toReadonly : toReactive;
+ !isReadonly2 && track(rawTarget, "iterate", ITERATE_KEY);
+ return target.forEach((value, key) => {
+ return callback.call(thisArg, wrap(value), wrap(key), observed);
+ });
+ };
+ }
+ function createIterableMethod(method, isReadonly2, isShallow) {
+ return function(...args) {
+ const target = this[
+ "__v_raw"
+ /* RAW */
+ ];
+ const rawTarget = toRaw2(target);
+ const targetIsMap = shared.isMap(rawTarget);
+ const isPair = method === "entries" || method === Symbol.iterator && targetIsMap;
+ const isKeyOnly = method === "keys" && targetIsMap;
+ const innerIterator = target[method](...args);
+ const wrap = isShallow ? toShallow : isReadonly2 ? toReadonly : toReactive;
+ !isReadonly2 && track(rawTarget, "iterate", isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);
+ return {
+ // iterator protocol
+ next() {
+ const { value, done } = innerIterator.next();
+ return done ? { value, done } : {
+ value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),
+ done
+ };
+ },
+ // iterable protocol
+ [Symbol.iterator]() {
+ return this;
+ }
+ };
+ };
+ }
+ function createReadonlyMethod(type) {
+ return function(...args) {
+ {
+ const key = args[0] ? `on key "${args[0]}" ` : ``;
+ console.warn(`${shared.capitalize(type)} operation ${key}failed: target is readonly.`, toRaw2(this));
+ }
+ return type === "delete" ? false : this;
+ };
+ }
+ function createInstrumentations() {
+ const mutableInstrumentations2 = {
+ get(key) {
+ return get$1(this, key);
+ },
+ get size() {
+ return size(this);
+ },
+ has: has$1,
+ add,
+ set: set$1,
+ delete: deleteEntry,
+ clear,
+ forEach: createForEach(false, false)
+ };
+ const shallowInstrumentations2 = {
+ get(key) {
+ return get$1(this, key, false, true);
+ },
+ get size() {
+ return size(this);
+ },
+ has: has$1,
+ add,
+ set: set$1,
+ delete: deleteEntry,
+ clear,
+ forEach: createForEach(false, true)
+ };
+ const readonlyInstrumentations2 = {
+ get(key) {
+ return get$1(this, key, true);
+ },
+ get size() {
+ return size(this, true);
+ },
+ has(key) {
+ return has$1.call(this, key, true);
+ },
+ add: createReadonlyMethod(
+ "add"
+ /* ADD */
+ ),
+ set: createReadonlyMethod(
+ "set"
+ /* SET */
+ ),
+ delete: createReadonlyMethod(
+ "delete"
+ /* DELETE */
+ ),
+ clear: createReadonlyMethod(
+ "clear"
+ /* CLEAR */
+ ),
+ forEach: createForEach(true, false)
+ };
+ const shallowReadonlyInstrumentations2 = {
+ get(key) {
+ return get$1(this, key, true, true);
+ },
+ get size() {
+ return size(this, true);
+ },
+ has(key) {
+ return has$1.call(this, key, true);
+ },
+ add: createReadonlyMethod(
+ "add"
+ /* ADD */
+ ),
+ set: createReadonlyMethod(
+ "set"
+ /* SET */
+ ),
+ delete: createReadonlyMethod(
+ "delete"
+ /* DELETE */
+ ),
+ clear: createReadonlyMethod(
+ "clear"
+ /* CLEAR */
+ ),
+ forEach: createForEach(true, true)
+ };
+ const iteratorMethods = ["keys", "values", "entries", Symbol.iterator];
+ iteratorMethods.forEach((method) => {
+ mutableInstrumentations2[method] = createIterableMethod(method, false, false);
+ readonlyInstrumentations2[method] = createIterableMethod(method, true, false);
+ shallowInstrumentations2[method] = createIterableMethod(method, false, true);
+ shallowReadonlyInstrumentations2[method] = createIterableMethod(method, true, true);
+ });
+ return [
+ mutableInstrumentations2,
+ readonlyInstrumentations2,
+ shallowInstrumentations2,
+ shallowReadonlyInstrumentations2
+ ];
+ }
+ var [mutableInstrumentations, readonlyInstrumentations, shallowInstrumentations, shallowReadonlyInstrumentations] = /* @__PURE__ */ createInstrumentations();
+ function createInstrumentationGetter(isReadonly2, shallow) {
+ const instrumentations = shallow ? isReadonly2 ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly2 ? readonlyInstrumentations : mutableInstrumentations;
+ return (target, key, receiver) => {
+ if (key === "__v_isReactive") {
+ return !isReadonly2;
+ } else if (key === "__v_isReadonly") {
+ return isReadonly2;
+ } else if (key === "__v_raw") {
+ return target;
+ }
+ return Reflect.get(shared.hasOwn(instrumentations, key) && key in target ? instrumentations : target, key, receiver);
+ };
+ }
+ var mutableCollectionHandlers = {
+ get: /* @__PURE__ */ createInstrumentationGetter(false, false)
+ };
+ var shallowCollectionHandlers = {
+ get: /* @__PURE__ */ createInstrumentationGetter(false, true)
+ };
+ var readonlyCollectionHandlers = {
+ get: /* @__PURE__ */ createInstrumentationGetter(true, false)
+ };
+ var shallowReadonlyCollectionHandlers = {
+ get: /* @__PURE__ */ createInstrumentationGetter(true, true)
+ };
+ function checkIdentityKeys(target, has2, key) {
+ const rawKey = toRaw2(key);
+ if (rawKey !== key && has2.call(target, rawKey)) {
+ const type = shared.toRawType(target);
+ console.warn(`Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`);
+ }
+ }
+ var reactiveMap = /* @__PURE__ */ new WeakMap();
+ var shallowReactiveMap = /* @__PURE__ */ new WeakMap();
+ var readonlyMap = /* @__PURE__ */ new WeakMap();
+ var shallowReadonlyMap = /* @__PURE__ */ new WeakMap();
+ function targetTypeMap(rawType) {
+ switch (rawType) {
+ case "Object":
+ case "Array":
+ return 1;
+ case "Map":
+ case "Set":
+ case "WeakMap":
+ case "WeakSet":
+ return 2;
+ default:
+ return 0;
+ }
+ }
+ function getTargetType(value) {
+ return value[
+ "__v_skip"
+ /* SKIP */
+ ] || !Object.isExtensible(value) ? 0 : targetTypeMap(shared.toRawType(value));
+ }
+ function reactive3(target) {
+ if (target && target[
+ "__v_isReadonly"
+ /* IS_READONLY */
+ ]) {
+ return target;
+ }
+ return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap);
+ }
+ function shallowReactive(target) {
+ return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap);
+ }
+ function readonly(target) {
+ return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap);
+ }
+ function shallowReadonly(target) {
+ return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap);
+ }
+ function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {
+ if (!shared.isObject(target)) {
+ {
+ console.warn(`value cannot be made reactive: ${String(target)}`);
+ }
+ return target;
+ }
+ if (target[
+ "__v_raw"
+ /* RAW */
+ ] && !(isReadonly2 && target[
+ "__v_isReactive"
+ /* IS_REACTIVE */
+ ])) {
+ return target;
+ }
+ const existingProxy = proxyMap.get(target);
+ if (existingProxy) {
+ return existingProxy;
+ }
+ const targetType = getTargetType(target);
+ if (targetType === 0) {
+ return target;
+ }
+ const proxy = new Proxy(target, targetType === 2 ? collectionHandlers : baseHandlers);
+ proxyMap.set(target, proxy);
+ return proxy;
+ }
+ function isReactive2(value) {
+ if (isReadonly(value)) {
+ return isReactive2(value[
+ "__v_raw"
+ /* RAW */
+ ]);
+ }
+ return !!(value && value[
+ "__v_isReactive"
+ /* IS_REACTIVE */
+ ]);
+ }
+ function isReadonly(value) {
+ return !!(value && value[
+ "__v_isReadonly"
+ /* IS_READONLY */
+ ]);
+ }
+ function isProxy(value) {
+ return isReactive2(value) || isReadonly(value);
+ }
+ function toRaw2(observed) {
+ return observed && toRaw2(observed[
+ "__v_raw"
+ /* RAW */
+ ]) || observed;
+ }
+ function markRaw(value) {
+ shared.def(value, "__v_skip", true);
+ return value;
+ }
+ var convert = (val) => shared.isObject(val) ? reactive3(val) : val;
+ function isRef(r2) {
+ return Boolean(r2 && r2.__v_isRef === true);
+ }
+ function ref(value) {
+ return createRef(value);
+ }
+ function shallowRef(value) {
+ return createRef(value, true);
+ }
+ var RefImpl = class {
+ constructor(value, _shallow = false) {
+ this._shallow = _shallow;
+ this.__v_isRef = true;
+ this._rawValue = _shallow ? value : toRaw2(value);
+ this._value = _shallow ? value : convert(value);
+ }
+ get value() {
+ track(toRaw2(this), "get", "value");
+ return this._value;
+ }
+ set value(newVal) {
+ newVal = this._shallow ? newVal : toRaw2(newVal);
+ if (shared.hasChanged(newVal, this._rawValue)) {
+ this._rawValue = newVal;
+ this._value = this._shallow ? newVal : convert(newVal);
+ trigger(toRaw2(this), "set", "value", newVal);
+ }
+ }
+ };
+ function createRef(rawValue, shallow = false) {
+ if (isRef(rawValue)) {
+ return rawValue;
+ }
+ return new RefImpl(rawValue, shallow);
+ }
+ function triggerRef(ref2) {
+ trigger(toRaw2(ref2), "set", "value", ref2.value);
+ }
+ function unref(ref2) {
+ return isRef(ref2) ? ref2.value : ref2;
+ }
+ var shallowUnwrapHandlers = {
+ get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),
+ set: (target, key, value, receiver) => {
+ const oldValue = target[key];
+ if (isRef(oldValue) && !isRef(value)) {
+ oldValue.value = value;
+ return true;
+ } else {
+ return Reflect.set(target, key, value, receiver);
+ }
+ }
+ };
+ function proxyRefs(objectWithRefs) {
+ return isReactive2(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);
+ }
+ var CustomRefImpl = class {
+ constructor(factory) {
+ this.__v_isRef = true;
+ const { get: get3, set: set3 } = factory(() => track(this, "get", "value"), () => trigger(this, "set", "value"));
+ this._get = get3;
+ this._set = set3;
+ }
+ get value() {
+ return this._get();
+ }
+ set value(newVal) {
+ this._set(newVal);
+ }
+ };
+ function customRef(factory) {
+ return new CustomRefImpl(factory);
+ }
+ function toRefs(object) {
+ if (!isProxy(object)) {
+ console.warn(`toRefs() expects a reactive object but received a plain one.`);
+ }
+ const ret = shared.isArray(object) ? new Array(object.length) : {};
+ for (const key in object) {
+ ret[key] = toRef(object, key);
+ }
+ return ret;
+ }
+ var ObjectRefImpl = class {
+ constructor(_object, _key) {
+ this._object = _object;
+ this._key = _key;
+ this.__v_isRef = true;
+ }
+ get value() {
+ return this._object[this._key];
+ }
+ set value(newVal) {
+ this._object[this._key] = newVal;
+ }
+ };
+ function toRef(object, key) {
+ return isRef(object[key]) ? object[key] : new ObjectRefImpl(object, key);
+ }
+ var ComputedRefImpl = class {
+ constructor(getter, _setter, isReadonly2) {
+ this._setter = _setter;
+ this._dirty = true;
+ this.__v_isRef = true;
+ this.effect = effect3(getter, {
+ lazy: true,
+ scheduler: () => {
+ if (!this._dirty) {
+ this._dirty = true;
+ trigger(toRaw2(this), "set", "value");
+ }
+ }
+ });
+ this[
+ "__v_isReadonly"
+ /* IS_READONLY */
+ ] = isReadonly2;
+ }
+ get value() {
+ const self2 = toRaw2(this);
+ if (self2._dirty) {
+ self2._value = this.effect();
+ self2._dirty = false;
+ }
+ track(self2, "get", "value");
+ return self2._value;
+ }
+ set value(newValue) {
+ this._setter(newValue);
+ }
+ };
+ function computed(getterOrOptions) {
+ let getter;
+ let setter;
+ if (shared.isFunction(getterOrOptions)) {
+ getter = getterOrOptions;
+ setter = () => {
+ console.warn("Write operation failed: computed value is readonly");
+ };
+ } else {
+ getter = getterOrOptions.get;
+ setter = getterOrOptions.set;
+ }
+ return new ComputedRefImpl(getter, setter, shared.isFunction(getterOrOptions) || !getterOrOptions.set);
+ }
+ exports2.ITERATE_KEY = ITERATE_KEY;
+ exports2.computed = computed;
+ exports2.customRef = customRef;
+ exports2.effect = effect3;
+ exports2.enableTracking = enableTracking;
+ exports2.isProxy = isProxy;
+ exports2.isReactive = isReactive2;
+ exports2.isReadonly = isReadonly;
+ exports2.isRef = isRef;
+ exports2.markRaw = markRaw;
+ exports2.pauseTracking = pauseTracking;
+ exports2.proxyRefs = proxyRefs;
+ exports2.reactive = reactive3;
+ exports2.readonly = readonly;
+ exports2.ref = ref;
+ exports2.resetTracking = resetTracking;
+ exports2.shallowReactive = shallowReactive;
+ exports2.shallowReadonly = shallowReadonly;
+ exports2.shallowRef = shallowRef;
+ exports2.stop = stop2;
+ exports2.toRaw = toRaw2;
+ exports2.toRef = toRef;
+ exports2.toRefs = toRefs;
+ exports2.track = track;
+ exports2.trigger = trigger;
+ exports2.triggerRef = triggerRef;
+ exports2.unref = unref;
+ }
+ });
+ var require_reactivity = __commonJS2({
+ "node_modules/@vue/reactivity/index.js"(exports2, module2) {
+ "use strict";
+ if (false) {
+ module2.exports = null;
+ } else {
+ module2.exports = require_reactivity_cjs();
+ }
+ }
+ });
+ var module_exports = {};
+ __export2(module_exports, {
+ default: () => module_default
+ });
+ module.exports = __toCommonJS(module_exports);
+ var flushPending = false;
+ var flushing = false;
+ var queue = [];
+ var lastFlushedIndex = -1;
+ function scheduler(callback) {
+ queueJob(callback);
+ }
+ function queueJob(job) {
+ if (!queue.includes(job))
+ queue.push(job);
+ queueFlush();
+ }
+ function dequeueJob(job) {
+ let index = queue.indexOf(job);
+ if (index !== -1 && index > lastFlushedIndex)
+ queue.splice(index, 1);
+ }
+ function queueFlush() {
+ if (!flushing && !flushPending) {
+ flushPending = true;
+ queueMicrotask(flushJobs);
+ }
+ }
+ function flushJobs() {
+ flushPending = false;
+ flushing = true;
+ for (let i2 = 0; i2 < queue.length; i2++) {
+ queue[i2]();
+ lastFlushedIndex = i2;
+ }
+ queue.length = 0;
+ lastFlushedIndex = -1;
+ flushing = false;
+ }
+ var reactive;
+ var effect;
+ var release;
+ var raw;
+ var shouldSchedule = true;
+ function disableEffectScheduling(callback) {
+ shouldSchedule = false;
+ callback();
+ shouldSchedule = true;
+ }
+ function setReactivityEngine(engine) {
+ reactive = engine.reactive;
+ release = engine.release;
+ effect = (callback) => engine.effect(callback, { scheduler: (task) => {
+ if (shouldSchedule) {
+ scheduler(task);
+ } else {
+ task();
+ }
+ } });
+ raw = engine.raw;
+ }
+ function overrideEffect(override) {
+ effect = override;
+ }
+ function elementBoundEffect(el) {
+ let cleanup = () => {
+ };
+ let wrappedEffect = (callback) => {
+ let effectReference = effect(callback);
+ if (!el._x_effects) {
+ el._x_effects = /* @__PURE__ */ new Set();
+ el._x_runEffects = () => {
+ el._x_effects.forEach((i2) => i2());
+ };
+ }
+ el._x_effects.add(effectReference);
+ cleanup = () => {
+ if (effectReference === void 0)
+ return;
+ el._x_effects.delete(effectReference);
+ release(effectReference);
+ };
+ return effectReference;
+ };
+ return [wrappedEffect, () => {
+ cleanup();
+ }];
+ }
+ function dispatch(el, name, detail = {}) {
+ el.dispatchEvent(
+ new CustomEvent(name, {
+ detail,
+ bubbles: true,
+ // Allows events to pass the shadow DOM barrier.
+ composed: true,
+ cancelable: true
+ })
+ );
+ }
+ function walk(el, callback) {
+ if (typeof ShadowRoot === "function" && el instanceof ShadowRoot) {
+ Array.from(el.children).forEach((el2) => walk(el2, callback));
+ return;
+ }
+ let skip = false;
+ callback(el, () => skip = true);
+ if (skip)
+ return;
+ let node = el.firstElementChild;
+ while (node) {
+ walk(node, callback, false);
+ node = node.nextElementSibling;
+ }
+ }
+ function warn(message, ...args) {
+ console.warn(`Alpine Warning: ${message}`, ...args);
+ }
+ var started = false;
+ function start() {
+ if (started)
+ warn("Alpine has already been initialized on this page. Calling Alpine.start() more than once can cause problems.");
+ started = true;
+ if (!document.body)
+ warn("Unable to initialize. Trying to load Alpine before `<body>` is available. Did you forget to add `defer` in Alpine's `<script>` tag?");
+ dispatch(document, "alpine:init");
+ dispatch(document, "alpine:initializing");
+ startObservingMutations();
+ onElAdded((el) => initTree(el, walk));
+ onElRemoved((el) => destroyTree(el));
+ onAttributesAdded((el, attrs) => {
+ directives(el, attrs).forEach((handle) => handle());
+ });
+ let outNestedComponents = (el) => !closestRoot(el.parentElement, true);
+ Array.from(document.querySelectorAll(allSelectors().join(","))).filter(outNestedComponents).forEach((el) => {
+ initTree(el);
+ });
+ dispatch(document, "alpine:initialized");
+ }
+ var rootSelectorCallbacks = [];
+ var initSelectorCallbacks = [];
+ function rootSelectors() {
+ return rootSelectorCallbacks.map((fn) => fn());
+ }
+ function allSelectors() {
+ return rootSelectorCallbacks.concat(initSelectorCallbacks).map((fn) => fn());
+ }
+ function addRootSelector(selectorCallback) {
+ rootSelectorCallbacks.push(selectorCallback);
+ }
+ function addInitSelector(selectorCallback) {
+ initSelectorCallbacks.push(selectorCallback);
+ }
+ function closestRoot(el, includeInitSelectors = false) {
+ return findClosest(el, (element) => {
+ const selectors = includeInitSelectors ? allSelectors() : rootSelectors();
+ if (selectors.some((selector) => element.matches(selector)))
+ return true;
+ });
+ }
+ function findClosest(el, callback) {
+ if (!el)
+ return;
+ if (callback(el))
+ return el;
+ if (el._x_teleportBack)
+ el = el._x_teleportBack;
+ if (!el.parentElement)
+ return;
+ return findClosest(el.parentElement, callback);
+ }
+ function isRoot(el) {
+ return rootSelectors().some((selector) => el.matches(selector));
+ }
+ var initInterceptors = [];
+ function interceptInit(callback) {
+ initInterceptors.push(callback);
+ }
+ function initTree(el, walker = walk, intercept = () => {
+ }) {
+ deferHandlingDirectives(() => {
+ walker(el, (el2, skip) => {
+ intercept(el2, skip);
+ initInterceptors.forEach((i2) => i2(el2, skip));
+ directives(el2, el2.attributes).forEach((handle) => handle());
+ el2._x_ignore && skip();
+ });
+ });
+ }
+ function destroyTree(root) {
+ walk(root, (el) => {
+ cleanupAttributes(el);
+ cleanupElement(el);
+ });
+ }
+ var onAttributeAddeds = [];
+ var onElRemoveds = [];
+ var onElAddeds = [];
+ function onElAdded(callback) {
+ onElAddeds.push(callback);
+ }
+ function onElRemoved(el, callback) {
+ if (typeof callback === "function") {
+ if (!el._x_cleanups)
+ el._x_cleanups = [];
+ el._x_cleanups.push(callback);
+ } else {
+ callback = el;
+ onElRemoveds.push(callback);
+ }
+ }
+ function onAttributesAdded(callback) {
+ onAttributeAddeds.push(callback);
+ }
+ function onAttributeRemoved(el, name, callback) {
+ if (!el._x_attributeCleanups)
+ el._x_attributeCleanups = {};
+ if (!el._x_attributeCleanups[name])
+ el._x_attributeCleanups[name] = [];
+ el._x_attributeCleanups[name].push(callback);
+ }
+ function cleanupAttributes(el, names) {
+ if (!el._x_attributeCleanups)
+ return;
+ Object.entries(el._x_attributeCleanups).forEach(([name, value]) => {
+ if (names === void 0 || names.includes(name)) {
+ value.forEach((i2) => i2());
+ delete el._x_attributeCleanups[name];
+ }
+ });
+ }
+ function cleanupElement(el) {
+ if (el._x_cleanups) {
+ while (el._x_cleanups.length)
+ el._x_cleanups.pop()();
+ }
+ }
+ var observer = new MutationObserver(onMutate);
+ var currentlyObserving = false;
+ function startObservingMutations() {
+ observer.observe(document, { subtree: true, childList: true, attributes: true, attributeOldValue: true });
+ currentlyObserving = true;
+ }
+ function stopObservingMutations() {
+ flushObserver();
+ observer.disconnect();
+ currentlyObserving = false;
+ }
+ var recordQueue = [];
+ var willProcessRecordQueue = false;
+ function flushObserver() {
+ recordQueue = recordQueue.concat(observer.takeRecords());
+ if (recordQueue.length && !willProcessRecordQueue) {
+ willProcessRecordQueue = true;
+ queueMicrotask(() => {
+ processRecordQueue();
+ willProcessRecordQueue = false;
+ });
+ }
+ }
+ function processRecordQueue() {
+ onMutate(recordQueue);
+ recordQueue.length = 0;
+ }
+ function mutateDom(callback) {
+ if (!currentlyObserving)
+ return callback();
+ stopObservingMutations();
+ let result = callback();
+ startObservingMutations();
+ return result;
+ }
+ var isCollecting = false;
+ var deferredMutations = [];
+ function deferMutations() {
+ isCollecting = true;
+ }
+ function flushAndStopDeferringMutations() {
+ isCollecting = false;
+ onMutate(deferredMutations);
+ deferredMutations = [];
+ }
+ function onMutate(mutations) {
+ if (isCollecting) {
+ deferredMutations = deferredMutations.concat(mutations);
+ return;
+ }
+ let addedNodes = [];
+ let removedNodes = [];
+ let addedAttributes = /* @__PURE__ */ new Map();
+ let removedAttributes = /* @__PURE__ */ new Map();
+ for (let i2 = 0; i2 < mutations.length; i2++) {
+ if (mutations[i2].target._x_ignoreMutationObserver)
+ continue;
+ if (mutations[i2].type === "childList") {
+ mutations[i2].addedNodes.forEach((node) => node.nodeType === 1 && addedNodes.push(node));
+ mutations[i2].removedNodes.forEach((node) => node.nodeType === 1 && removedNodes.push(node));
+ }
+ if (mutations[i2].type === "attributes") {
+ let el = mutations[i2].target;
+ let name = mutations[i2].attributeName;
+ let oldValue = mutations[i2].oldValue;
+ let add = () => {
+ if (!addedAttributes.has(el))
+ addedAttributes.set(el, []);
+ addedAttributes.get(el).push({ name, value: el.getAttribute(name) });
+ };
+ let remove = () => {
+ if (!removedAttributes.has(el))
+ removedAttributes.set(el, []);
+ removedAttributes.get(el).push(name);
+ };
+ if (el.hasAttribute(name) && oldValue === null) {
+ add();
+ } else if (el.hasAttribute(name)) {
+ remove();
+ add();
+ } else {
+ remove();
+ }
+ }
+ }
+ removedAttributes.forEach((attrs, el) => {
+ cleanupAttributes(el, attrs);
+ });
+ addedAttributes.forEach((attrs, el) => {
+ onAttributeAddeds.forEach((i2) => i2(el, attrs));
+ });
+ for (let node of removedNodes) {
+ if (addedNodes.includes(node))
+ continue;
+ onElRemoveds.forEach((i2) => i2(node));
+ destroyTree(node);
+ }
+ addedNodes.forEach((node) => {
+ node._x_ignoreSelf = true;
+ node._x_ignore = true;
+ });
+ for (let node of addedNodes) {
+ if (removedNodes.includes(node))
+ continue;
+ if (!node.isConnected)
+ continue;
+ delete node._x_ignoreSelf;
+ delete node._x_ignore;
+ onElAddeds.forEach((i2) => i2(node));
+ node._x_ignore = true;
+ node._x_ignoreSelf = true;
+ }
+ addedNodes.forEach((node) => {
+ delete node._x_ignoreSelf;
+ delete node._x_ignore;
+ });
+ addedNodes = null;
+ removedNodes = null;
+ addedAttributes = null;
+ removedAttributes = null;
+ }
+ function scope(node) {
+ return mergeProxies(closestDataStack(node));
+ }
+ function addScopeToNode(node, data2, referenceNode) {
+ node._x_dataStack = [data2, ...closestDataStack(referenceNode || node)];
+ return () => {
+ node._x_dataStack = node._x_dataStack.filter((i2) => i2 !== data2);
+ };
+ }
+ function closestDataStack(node) {
+ if (node._x_dataStack)
+ return node._x_dataStack;
+ if (typeof ShadowRoot === "function" && node instanceof ShadowRoot) {
+ return closestDataStack(node.host);
+ }
+ if (!node.parentNode) {
+ return [];
+ }
+ return closestDataStack(node.parentNode);
+ }
+ function mergeProxies(objects) {
+ return new Proxy({ objects }, mergeProxyTrap);
+ }
+ var mergeProxyTrap = {
+ ownKeys({ objects }) {
+ return Array.from(
+ new Set(objects.flatMap((i2) => Object.keys(i2)))
+ );
+ },
+ has({ objects }, name) {
+ if (name == Symbol.unscopables)
+ return false;
+ return objects.some(
+ (obj) => Object.prototype.hasOwnProperty.call(obj, name)
+ );
+ },
+ get({ objects }, name, thisProxy) {
+ if (name == "toJSON")
+ return collapseProxies;
+ return Reflect.get(
+ objects.find(
+ (obj) => Object.prototype.hasOwnProperty.call(obj, name)
+ ) || {},
+ name,
+ thisProxy
+ );
+ },
+ set({ objects }, name, value, thisProxy) {
+ const target = objects.find(
+ (obj) => Object.prototype.hasOwnProperty.call(obj, name)
+ ) || objects[objects.length - 1];
+ const descriptor = Object.getOwnPropertyDescriptor(target, name);
+ if ((descriptor == null ? void 0 : descriptor.set) && (descriptor == null ? void 0 : descriptor.get))
+ return Reflect.set(target, name, value, thisProxy);
+ return Reflect.set(target, name, value);
+ }
+ };
+ function collapseProxies() {
+ let keys = Reflect.ownKeys(this);
+ return keys.reduce((acc, key) => {
+ acc[key] = Reflect.get(this, key);
+ return acc;
+ }, {});
+ }
+ function initInterceptors2(data2) {
+ let isObject2 = (val) => typeof val === "object" && !Array.isArray(val) && val !== null;
+ let recurse = (obj, basePath = "") => {
+ Object.entries(Object.getOwnPropertyDescriptors(obj)).forEach(([key, { value, enumerable }]) => {
+ if (enumerable === false || value === void 0)
+ return;
+ let path = basePath === "" ? key : `${basePath}.${key}`;
+ if (typeof value === "object" && value !== null && value._x_interceptor) {
+ obj[key] = value.initialize(data2, path, key);
+ } else {
+ if (isObject2(value) && value !== obj && !(value instanceof Element)) {
+ recurse(value, path);
+ }
+ }
+ });
+ };
+ return recurse(data2);
+ }
+ function interceptor(callback, mutateObj = () => {
+ }) {
+ let obj = {
+ initialValue: void 0,
+ _x_interceptor: true,
+ initialize(data2, path, key) {
+ return callback(this.initialValue, () => get(data2, path), (value) => set(data2, path, value), path, key);
+ }
+ };
+ mutateObj(obj);
+ return (initialValue) => {
+ if (typeof initialValue === "object" && initialValue !== null && initialValue._x_interceptor) {
+ let initialize = obj.initialize.bind(obj);
+ obj.initialize = (data2, path, key) => {
+ let innerValue = initialValue.initialize(data2, path, key);
+ obj.initialValue = innerValue;
+ return initialize(data2, path, key);
+ };
+ } else {
+ obj.initialValue = initialValue;
+ }
+ return obj;
+ };
+ }
+ function get(obj, path) {
+ return path.split(".").reduce((carry, segment) => carry[segment], obj);
+ }
+ function set(obj, path, value) {
+ if (typeof path === "string")
+ path = path.split(".");
+ if (path.length === 1)
+ obj[path[0]] = value;
+ else if (path.length === 0)
+ throw error;
+ else {
+ if (obj[path[0]])
+ return set(obj[path[0]], path.slice(1), value);
+ else {
+ obj[path[0]] = {};
+ return set(obj[path[0]], path.slice(1), value);
+ }
+ }
+ }
+ var magics = {};
+ function magic(name, callback) {
+ magics[name] = callback;
+ }
+ function injectMagics(obj, el) {
+ Object.entries(magics).forEach(([name, callback]) => {
+ let memoizedUtilities = null;
+ function getUtilities() {
+ if (memoizedUtilities) {
+ return memoizedUtilities;
+ } else {
+ let [utilities, cleanup] = getElementBoundUtilities(el);
+ memoizedUtilities = { interceptor, ...utilities };
+ onElRemoved(el, cleanup);
+ return memoizedUtilities;
+ }
+ }
+ Object.defineProperty(obj, `$${name}`, {
+ get() {
+ return callback(el, getUtilities());
+ },
+ enumerable: false
+ });
+ });
+ return obj;
+ }
+ function tryCatch(el, expression, callback, ...args) {
+ try {
+ return callback(...args);
+ } catch (e2) {
+ handleError(e2, el, expression);
+ }
+ }
+ function handleError(error2, el, expression = void 0) {
+ Object.assign(error2, { el, expression });
+ console.warn(`Alpine Expression Error: ${error2.message}
+
+${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
+ setTimeout(() => {
+ throw error2;
+ }, 0);
+ }
+ var shouldAutoEvaluateFunctions = true;
+ function dontAutoEvaluateFunctions(callback) {
+ let cache = shouldAutoEvaluateFunctions;
+ shouldAutoEvaluateFunctions = false;
+ let result = callback();
+ shouldAutoEvaluateFunctions = cache;
+ return result;
+ }
+ function evaluate(el, expression, extras = {}) {
+ let result;
+ evaluateLater(el, expression)((value) => result = value, extras);
+ return result;
+ }
+ function evaluateLater(...args) {
+ return theEvaluatorFunction(...args);
+ }
+ var theEvaluatorFunction = normalEvaluator;
+ function setEvaluator(newEvaluator) {
+ theEvaluatorFunction = newEvaluator;
+ }
+ function normalEvaluator(el, expression) {
+ let overriddenMagics = {};
+ injectMagics(overriddenMagics, el);
+ let dataStack = [overriddenMagics, ...closestDataStack(el)];
+ let evaluator = typeof expression === "function" ? generateEvaluatorFromFunction(dataStack, expression) : generateEvaluatorFromString(dataStack, expression, el);
+ return tryCatch.bind(null, el, expression, evaluator);
+ }
+ function generateEvaluatorFromFunction(dataStack, func) {
+ return (receiver = () => {
+ }, { scope: scope2 = {}, params = [] } = {}) => {
+ let result = func.apply(mergeProxies([scope2, ...dataStack]), params);
+ runIfTypeOfFunction(receiver, result);
+ };
+ }
+ var evaluatorMemo = {};
+ function generateFunctionFromString(expression, el) {
+ if (evaluatorMemo[expression]) {
+ return evaluatorMemo[expression];
+ }
+ let AsyncFunction = Object.getPrototypeOf(async function() {
+ }).constructor;
+ let rightSideSafeExpression = /^[\n\s]*if.*\(.*\)/.test(expression.trim()) || /^(let|const)\s/.test(expression.trim()) ? `(async()=>{ ${expression} })()` : expression;
+ const safeAsyncFunction = () => {
+ try {
+ let func2 = new AsyncFunction(
+ ["__self", "scope"],
+ `with (scope) { __self.result = ${rightSideSafeExpression} }; __self.finished = true; return __self.result;`
+ );
+ Object.defineProperty(func2, "name", {
+ value: `[Alpine] ${expression}`
+ });
+ return func2;
+ } catch (error2) {
+ handleError(error2, el, expression);
+ return Promise.resolve();
+ }
+ };
+ let func = safeAsyncFunction();
+ evaluatorMemo[expression] = func;
+ return func;
+ }
+ function generateEvaluatorFromString(dataStack, expression, el) {
+ let func = generateFunctionFromString(expression, el);
+ return (receiver = () => {
+ }, { scope: scope2 = {}, params = [] } = {}) => {
+ func.result = void 0;
+ func.finished = false;
+ let completeScope = mergeProxies([scope2, ...dataStack]);
+ if (typeof func === "function") {
+ let promise = func(func, completeScope).catch((error2) => handleError(error2, el, expression));
+ if (func.finished) {
+ runIfTypeOfFunction(receiver, func.result, completeScope, params, el);
+ func.result = void 0;
+ } else {
+ promise.then((result) => {
+ runIfTypeOfFunction(receiver, result, completeScope, params, el);
+ }).catch((error2) => handleError(error2, el, expression)).finally(() => func.result = void 0);
+ }
+ }
+ };
+ }
+ function runIfTypeOfFunction(receiver, value, scope2, params, el) {
+ if (shouldAutoEvaluateFunctions && typeof value === "function") {
+ let result = value.apply(scope2, params);
+ if (result instanceof Promise) {
+ result.then((i2) => runIfTypeOfFunction(receiver, i2, scope2, params)).catch((error2) => handleError(error2, el, value));
+ } else {
+ receiver(result);
+ }
+ } else if (typeof value === "object" && value instanceof Promise) {
+ value.then((i2) => receiver(i2));
+ } else {
+ receiver(value);
+ }
+ }
+ var prefixAsString = "x-";
+ function prefix(subject = "") {
+ return prefixAsString + subject;
+ }
+ function setPrefix(newPrefix) {
+ prefixAsString = newPrefix;
+ }
+ var directiveHandlers = {};
+ function directive(name, callback) {
+ directiveHandlers[name] = callback;
+ return {
+ before(directive2) {
+ if (!directiveHandlers[directive2]) {
+ console.warn(
+ "Cannot find directive `${directive}`. `${name}` will use the default order of execution"
+ );
+ return;
+ }
+ const pos = directiveOrder.indexOf(directive2);
+ directiveOrder.splice(pos >= 0 ? pos : directiveOrder.indexOf("DEFAULT"), 0, name);
+ }
+ };
+ }
+ function directives(el, attributes, originalAttributeOverride) {
+ attributes = Array.from(attributes);
+ if (el._x_virtualDirectives) {
+ let vAttributes = Object.entries(el._x_virtualDirectives).map(([name, value]) => ({ name, value }));
+ let staticAttributes = attributesOnly(vAttributes);
+ vAttributes = vAttributes.map((attribute) => {
+ if (staticAttributes.find((attr) => attr.name === attribute.name)) {
+ return {
+ name: `x-bind:${attribute.name}`,
+ value: `"${attribute.value}"`
+ };
+ }
+ return attribute;
+ });
+ attributes = attributes.concat(vAttributes);
+ }
+ let transformedAttributeMap = {};
+ let directives2 = attributes.map(toTransformedAttributes((newName, oldName) => transformedAttributeMap[newName] = oldName)).filter(outNonAlpineAttributes).map(toParsedDirectives(transformedAttributeMap, originalAttributeOverride)).sort(byPriority);
+ return directives2.map((directive2) => {
+ return getDirectiveHandler(el, directive2);
+ });
+ }
+ function attributesOnly(attributes) {
+ return Array.from(attributes).map(toTransformedAttributes()).filter((attr) => !outNonAlpineAttributes(attr));
+ }
+ var isDeferringHandlers = false;
+ var directiveHandlerStacks = /* @__PURE__ */ new Map();
+ var currentHandlerStackKey = Symbol();
+ function deferHandlingDirectives(callback) {
+ isDeferringHandlers = true;
+ let key = Symbol();
+ currentHandlerStackKey = key;
+ directiveHandlerStacks.set(key, []);
+ let flushHandlers = () => {
+ while (directiveHandlerStacks.get(key).length)
+ directiveHandlerStacks.get(key).shift()();
+ directiveHandlerStacks.delete(key);
+ };
+ let stopDeferring = () => {
+ isDeferringHandlers = false;
+ flushHandlers();
+ };
+ callback(flushHandlers);
+ stopDeferring();
+ }
+ function getElementBoundUtilities(el) {
+ let cleanups = [];
+ let cleanup = (callback) => cleanups.push(callback);
+ let [effect3, cleanupEffect] = elementBoundEffect(el);
+ cleanups.push(cleanupEffect);
+ let utilities = {
+ Alpine: alpine_default2,
+ effect: effect3,
+ cleanup,
+ evaluateLater: evaluateLater.bind(evaluateLater, el),
+ evaluate: evaluate.bind(evaluate, el)
+ };
+ let doCleanup = () => cleanups.forEach((i2) => i2());
+ return [utilities, doCleanup];
+ }
+ function getDirectiveHandler(el, directive2) {
+ let noop = () => {
+ };
+ let handler4 = directiveHandlers[directive2.type] || noop;
+ let [utilities, cleanup] = getElementBoundUtilities(el);
+ onAttributeRemoved(el, directive2.original, cleanup);
+ let fullHandler = () => {
+ if (el._x_ignore || el._x_ignoreSelf)
+ return;
+ handler4.inline && handler4.inline(el, directive2, utilities);
+ handler4 = handler4.bind(handler4, el, directive2, utilities);
+ isDeferringHandlers ? directiveHandlerStacks.get(currentHandlerStackKey).push(handler4) : handler4();
+ };
+ fullHandler.runCleanups = cleanup;
+ return fullHandler;
+ }
+ var startingWith = (subject, replacement) => ({ name, value }) => {
+ if (name.startsWith(subject))
+ name = name.replace(subject, replacement);
+ return { name, value };
+ };
+ var into = (i2) => i2;
+ function toTransformedAttributes(callback = () => {
+ }) {
+ return ({ name, value }) => {
+ let { name: newName, value: newValue } = attributeTransformers.reduce((carry, transform) => {
+ return transform(carry);
+ }, { name, value });
+ if (newName !== name)
+ callback(newName, name);
+ return { name: newName, value: newValue };
+ };
+ }
+ var attributeTransformers = [];
+ function mapAttributes(callback) {
+ attributeTransformers.push(callback);
+ }
+ function outNonAlpineAttributes({ name }) {
+ return alpineAttributeRegex().test(name);
+ }
+ var alpineAttributeRegex = () => new RegExp(`^${prefixAsString}([^:^.]+)\\b`);
+ function toParsedDirectives(transformedAttributeMap, originalAttributeOverride) {
+ return ({ name, value }) => {
+ let typeMatch = name.match(alpineAttributeRegex());
+ let valueMatch = name.match(/:([a-zA-Z0-9\-_:]+)/);
+ let modifiers = name.match(/\.[^.\]]+(?=[^\]]*$)/g) || [];
+ let original = originalAttributeOverride || transformedAttributeMap[name] || name;
+ return {
+ type: typeMatch ? typeMatch[1] : null,
+ value: valueMatch ? valueMatch[1] : null,
+ modifiers: modifiers.map((i2) => i2.replace(".", "")),
+ expression: value,
+ original
+ };
+ };
+ }
+ var DEFAULT = "DEFAULT";
+ var directiveOrder = [
+ "ignore",
+ "ref",
+ "data",
+ "id",
+ "anchor",
+ "bind",
+ "init",
+ "for",
+ "model",
+ "modelable",
+ "transition",
+ "show",
+ "if",
+ DEFAULT,
+ "teleport"
+ ];
+ function byPriority(a2, b2) {
+ let typeA = directiveOrder.indexOf(a2.type) === -1 ? DEFAULT : a2.type;
+ let typeB = directiveOrder.indexOf(b2.type) === -1 ? DEFAULT : b2.type;
+ return directiveOrder.indexOf(typeA) - directiveOrder.indexOf(typeB);
+ }
+ var tickStack = [];
+ var isHolding = false;
+ function nextTick(callback = () => {
+ }) {
+ queueMicrotask(() => {
+ isHolding || setTimeout(() => {
+ releaseNextTicks();
+ });
+ });
+ return new Promise((res) => {
+ tickStack.push(() => {
+ callback();
+ res();
+ });
+ });
+ }
+ function releaseNextTicks() {
+ isHolding = false;
+ while (tickStack.length)
+ tickStack.shift()();
+ }
+ function holdNextTicks() {
+ isHolding = true;
+ }
+ function setClasses(el, value) {
+ if (Array.isArray(value)) {
+ return setClassesFromString(el, value.join(" "));
+ } else if (typeof value === "object" && value !== null) {
+ return setClassesFromObject(el, value);
+ } else if (typeof value === "function") {
+ return setClasses(el, value());
+ }
+ return setClassesFromString(el, value);
+ }
+ function setClassesFromString(el, classString) {
+ let split = (classString2) => classString2.split(" ").filter(Boolean);
+ let missingClasses = (classString2) => classString2.split(" ").filter((i2) => !el.classList.contains(i2)).filter(Boolean);
+ let addClassesAndReturnUndo = (classes) => {
+ el.classList.add(...classes);
+ return () => {
+ el.classList.remove(...classes);
+ };
+ };
+ classString = classString === true ? classString = "" : classString || "";
+ return addClassesAndReturnUndo(missingClasses(classString));
+ }
+ function setClassesFromObject(el, classObject) {
+ let split = (classString) => classString.split(" ").filter(Boolean);
+ let forAdd = Object.entries(classObject).flatMap(([classString, bool]) => bool ? split(classString) : false).filter(Boolean);
+ let forRemove = Object.entries(classObject).flatMap(([classString, bool]) => !bool ? split(classString) : false).filter(Boolean);
+ let added = [];
+ let removed = [];
+ forRemove.forEach((i2) => {
+ if (el.classList.contains(i2)) {
+ el.classList.remove(i2);
+ removed.push(i2);
+ }
+ });
+ forAdd.forEach((i2) => {
+ if (!el.classList.contains(i2)) {
+ el.classList.add(i2);
+ added.push(i2);
+ }
+ });
+ return () => {
+ removed.forEach((i2) => el.classList.add(i2));
+ added.forEach((i2) => el.classList.remove(i2));
+ };
+ }
+ function setStyles(el, value) {
+ if (typeof value === "object" && value !== null) {
+ return setStylesFromObject(el, value);
+ }
+ return setStylesFromString(el, value);
+ }
+ function setStylesFromObject(el, value) {
+ let previousStyles = {};
+ Object.entries(value).forEach(([key, value2]) => {
+ previousStyles[key] = el.style[key];
+ if (!key.startsWith("--")) {
+ key = kebabCase2(key);
+ }
+ el.style.setProperty(key, value2);
+ });
+ setTimeout(() => {
+ if (el.style.length === 0) {
+ el.removeAttribute("style");
+ }
+ });
+ return () => {
+ setStyles(el, previousStyles);
+ };
+ }
+ function setStylesFromString(el, value) {
+ let cache = el.getAttribute("style", value);
+ el.setAttribute("style", value);
+ return () => {
+ el.setAttribute("style", cache || "");
+ };
+ }
+ function kebabCase2(subject) {
+ return subject.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
+ }
+ function once(callback, fallback = () => {
+ }) {
+ let called = false;
+ return function() {
+ if (!called) {
+ called = true;
+ callback.apply(this, arguments);
+ } else {
+ fallback.apply(this, arguments);
+ }
+ };
+ }
+ directive("transition", (el, { value, modifiers, expression }, { evaluate: evaluate2 }) => {
+ if (typeof expression === "function")
+ expression = evaluate2(expression);
+ if (expression === false)
+ return;
+ if (!expression || typeof expression === "boolean") {
+ registerTransitionsFromHelper(el, modifiers, value);
+ } else {
+ registerTransitionsFromClassString(el, expression, value);
+ }
+ });
+ function registerTransitionsFromClassString(el, classString, stage) {
+ registerTransitionObject(el, setClasses, "");
+ let directiveStorageMap = {
+ "enter": (classes) => {
+ el._x_transition.enter.during = classes;
+ },
+ "enter-start": (classes) => {
+ el._x_transition.enter.start = classes;
+ },
+ "enter-end": (classes) => {
+ el._x_transition.enter.end = classes;
+ },
+ "leave": (classes) => {
+ el._x_transition.leave.during = classes;
+ },
+ "leave-start": (classes) => {
+ el._x_transition.leave.start = classes;
+ },
+ "leave-end": (classes) => {
+ el._x_transition.leave.end = classes;
+ }
+ };
+ directiveStorageMap[stage](classString);
+ }
+ function registerTransitionsFromHelper(el, modifiers, stage) {
+ registerTransitionObject(el, setStyles);
+ let doesntSpecify = !modifiers.includes("in") && !modifiers.includes("out") && !stage;
+ let transitioningIn = doesntSpecify || modifiers.includes("in") || ["enter"].includes(stage);
+ let transitioningOut = doesntSpecify || modifiers.includes("out") || ["leave"].includes(stage);
+ if (modifiers.includes("in") && !doesntSpecify) {
+ modifiers = modifiers.filter((i2, index) => index < modifiers.indexOf("out"));
+ }
+ if (modifiers.includes("out") && !doesntSpecify) {
+ modifiers = modifiers.filter((i2, index) => index > modifiers.indexOf("out"));
+ }
+ let wantsAll = !modifiers.includes("opacity") && !modifiers.includes("scale");
+ let wantsOpacity = wantsAll || modifiers.includes("opacity");
+ let wantsScale = wantsAll || modifiers.includes("scale");
+ let opacityValue = wantsOpacity ? 0 : 1;
+ let scaleValue = wantsScale ? modifierValue(modifiers, "scale", 95) / 100 : 1;
+ let delay = modifierValue(modifiers, "delay", 0) / 1e3;
+ let origin = modifierValue(modifiers, "origin", "center");
+ let property = "opacity, transform";
+ let durationIn = modifierValue(modifiers, "duration", 150) / 1e3;
+ let durationOut = modifierValue(modifiers, "duration", 75) / 1e3;
+ let easing = `cubic-bezier(0.4, 0.0, 0.2, 1)`;
+ if (transitioningIn) {
+ el._x_transition.enter.during = {
+ transformOrigin: origin,
+ transitionDelay: `${delay}s`,
+ transitionProperty: property,
+ transitionDuration: `${durationIn}s`,
+ transitionTimingFunction: easing
+ };
+ el._x_transition.enter.start = {
+ opacity: opacityValue,
+ transform: `scale(${scaleValue})`
+ };
+ el._x_transition.enter.end = {
+ opacity: 1,
+ transform: `scale(1)`
+ };
+ }
+ if (transitioningOut) {
+ el._x_transition.leave.during = {
+ transformOrigin: origin,
+ transitionDelay: `${delay}s`,
+ transitionProperty: property,
+ transitionDuration: `${durationOut}s`,
+ transitionTimingFunction: easing
+ };
+ el._x_transition.leave.start = {
+ opacity: 1,
+ transform: `scale(1)`
+ };
+ el._x_transition.leave.end = {
+ opacity: opacityValue,
+ transform: `scale(${scaleValue})`
+ };
+ }
+ }
+ function registerTransitionObject(el, setFunction, defaultValue = {}) {
+ if (!el._x_transition)
+ el._x_transition = {
+ enter: { during: defaultValue, start: defaultValue, end: defaultValue },
+ leave: { during: defaultValue, start: defaultValue, end: defaultValue },
+ in(before = () => {
+ }, after = () => {
+ }) {
+ transition(el, setFunction, {
+ during: this.enter.during,
+ start: this.enter.start,
+ end: this.enter.end
+ }, before, after);
+ },
+ out(before = () => {
+ }, after = () => {
+ }) {
+ transition(el, setFunction, {
+ during: this.leave.during,
+ start: this.leave.start,
+ end: this.leave.end
+ }, before, after);
+ }
+ };
+ }
+ window.Element.prototype._x_toggleAndCascadeWithTransitions = function(el, value, show, hide) {
+ const nextTick2 = document.visibilityState === "visible" ? requestAnimationFrame : setTimeout;
+ let clickAwayCompatibleShow = () => nextTick2(show);
+ if (value) {
+ if (el._x_transition && (el._x_transition.enter || el._x_transition.leave)) {
+ el._x_transition.enter && (Object.entries(el._x_transition.enter.during).length || Object.entries(el._x_transition.enter.start).length || Object.entries(el._x_transition.enter.end).length) ? el._x_transition.in(show) : clickAwayCompatibleShow();
+ } else {
+ el._x_transition ? el._x_transition.in(show) : clickAwayCompatibleShow();
+ }
+ return;
+ }
+ el._x_hidePromise = el._x_transition ? new Promise((resolve, reject) => {
+ el._x_transition.out(() => {
+ }, () => resolve(hide));
+ el._x_transitioning && el._x_transitioning.beforeCancel(() => reject({ isFromCancelledTransition: true }));
+ }) : Promise.resolve(hide);
+ queueMicrotask(() => {
+ let closest = closestHide(el);
+ if (closest) {
+ if (!closest._x_hideChildren)
+ closest._x_hideChildren = [];
+ closest._x_hideChildren.push(el);
+ } else {
+ nextTick2(() => {
+ let hideAfterChildren = (el2) => {
+ let carry = Promise.all([
+ el2._x_hidePromise,
+ ...(el2._x_hideChildren || []).map(hideAfterChildren)
+ ]).then(([i2]) => i2());
+ delete el2._x_hidePromise;
+ delete el2._x_hideChildren;
+ return carry;
+ };
+ hideAfterChildren(el).catch((e2) => {
+ if (!e2.isFromCancelledTransition)
+ throw e2;
+ });
+ });
+ }
+ });
+ };
+ function closestHide(el) {
+ let parent = el.parentNode;
+ if (!parent)
+ return;
+ return parent._x_hidePromise ? parent : closestHide(parent);
+ }
+ function transition(el, setFunction, { during, start: start2, end } = {}, before = () => {
+ }, after = () => {
+ }) {
+ if (el._x_transitioning)
+ el._x_transitioning.cancel();
+ if (Object.keys(during).length === 0 && Object.keys(start2).length === 0 && Object.keys(end).length === 0) {
+ before();
+ after();
+ return;
+ }
+ let undoStart, undoDuring, undoEnd;
+ performTransition(el, {
+ start() {
+ undoStart = setFunction(el, start2);
+ },
+ during() {
+ undoDuring = setFunction(el, during);
+ },
+ before,
+ end() {
+ undoStart();
+ undoEnd = setFunction(el, end);
+ },
+ after,
+ cleanup() {
+ undoDuring();
+ undoEnd();
+ }
+ });
+ }
+ function performTransition(el, stages) {
+ let interrupted, reachedBefore, reachedEnd;
+ let finish = once(() => {
+ mutateDom(() => {
+ interrupted = true;
+ if (!reachedBefore)
+ stages.before();
+ if (!reachedEnd) {
+ stages.end();
+ releaseNextTicks();
+ }
+ stages.after();
+ if (el.isConnected)
+ stages.cleanup();
+ delete el._x_transitioning;
+ });
+ });
+ el._x_transitioning = {
+ beforeCancels: [],
+ beforeCancel(callback) {
+ this.beforeCancels.push(callback);
+ },
+ cancel: once(function() {
+ while (this.beforeCancels.length) {
+ this.beforeCancels.shift()();
+ }
+ ;
+ finish();
+ }),
+ finish
+ };
+ mutateDom(() => {
+ stages.start();
+ stages.during();
+ });
+ holdNextTicks();
+ requestAnimationFrame(() => {
+ if (interrupted)
+ return;
+ let duration = Number(getComputedStyle(el).transitionDuration.replace(/,.*/, "").replace("s", "")) * 1e3;
+ let delay = Number(getComputedStyle(el).transitionDelay.replace(/,.*/, "").replace("s", "")) * 1e3;
+ if (duration === 0)
+ duration = Number(getComputedStyle(el).animationDuration.replace("s", "")) * 1e3;
+ mutateDom(() => {
+ stages.before();
+ });
+ reachedBefore = true;
+ requestAnimationFrame(() => {
+ if (interrupted)
+ return;
+ mutateDom(() => {
+ stages.end();
+ });
+ releaseNextTicks();
+ setTimeout(el._x_transitioning.finish, duration + delay);
+ reachedEnd = true;
+ });
+ });
+ }
+ function modifierValue(modifiers, key, fallback) {
+ if (modifiers.indexOf(key) === -1)
+ return fallback;
+ const rawValue = modifiers[modifiers.indexOf(key) + 1];
+ if (!rawValue)
+ return fallback;
+ if (key === "scale") {
+ if (isNaN(rawValue))
+ return fallback;
+ }
+ if (key === "duration" || key === "delay") {
+ let match = rawValue.match(/([0-9]+)ms/);
+ if (match)
+ return match[1];
+ }
+ if (key === "origin") {
+ if (["top", "right", "left", "center", "bottom"].includes(modifiers[modifiers.indexOf(key) + 2])) {
+ return [rawValue, modifiers[modifiers.indexOf(key) + 2]].join(" ");
+ }
+ }
+ return rawValue;
+ }
+ var isCloning = false;
+ function skipDuringClone(callback, fallback = () => {
+ }) {
+ return (...args) => isCloning ? fallback(...args) : callback(...args);
+ }
+ function onlyDuringClone(callback) {
+ return (...args) => isCloning && callback(...args);
+ }
+ var interceptors = [];
+ function interceptClone(callback) {
+ interceptors.push(callback);
+ }
+ function cloneNode(from, to) {
+ interceptors.forEach((i2) => i2(from, to));
+ isCloning = true;
+ dontRegisterReactiveSideEffects(() => {
+ initTree(to, (el, callback) => {
+ callback(el, () => {
+ });
+ });
+ });
+ isCloning = false;
+ }
+ var isCloningLegacy = false;
+ function clone(oldEl, newEl) {
+ if (!newEl._x_dataStack)
+ newEl._x_dataStack = oldEl._x_dataStack;
+ isCloning = true;
+ isCloningLegacy = true;
+ dontRegisterReactiveSideEffects(() => {
+ cloneTree(newEl);
+ });
+ isCloning = false;
+ isCloningLegacy = false;
+ }
+ function cloneTree(el) {
+ let hasRunThroughFirstEl = false;
+ let shallowWalker = (el2, callback) => {
+ walk(el2, (el3, skip) => {
+ if (hasRunThroughFirstEl && isRoot(el3))
+ return skip();
+ hasRunThroughFirstEl = true;
+ callback(el3, skip);
+ });
+ };
+ initTree(el, shallowWalker);
+ }
+ function dontRegisterReactiveSideEffects(callback) {
+ let cache = effect;
+ overrideEffect((callback2, el) => {
+ let storedEffect = cache(callback2);
+ release(storedEffect);
+ return () => {
+ };
+ });
+ callback();
+ overrideEffect(cache);
+ }
+ function bind(el, name, value, modifiers = []) {
+ if (!el._x_bindings)
+ el._x_bindings = reactive({});
+ el._x_bindings[name] = value;
+ name = modifiers.includes("camel") ? camelCase2(name) : name;
+ switch (name) {
+ case "value":
+ bindInputValue(el, value);
+ break;
+ case "style":
+ bindStyles(el, value);
+ break;
+ case "class":
+ bindClasses(el, value);
+ break;
+ case "selected":
+ case "checked":
+ bindAttributeAndProperty(el, name, value);
+ break;
+ default:
+ bindAttribute(el, name, value);
+ break;
+ }
+ }
+ function bindInputValue(el, value) {
+ if (el.type === "radio") {
+ if (el.attributes.value === void 0) {
+ el.value = value;
+ }
+ if (window.fromModel) {
+ if (typeof value === "boolean") {
+ el.checked = safeParseBoolean(el.value) === value;
+ } else {
+ el.checked = checkedAttrLooseCompare(el.value, value);
+ }
+ }
+ } else if (el.type === "checkbox") {
+ if (Number.isInteger(value)) {
+ el.value = value;
+ } else if (!Array.isArray(value) && typeof value !== "boolean" && ![null, void 0].includes(value)) {
+ el.value = String(value);
+ } else {
+ if (Array.isArray(value)) {
+ el.checked = value.some((val) => checkedAttrLooseCompare(val, el.value));
+ } else {
+ el.checked = !!value;
+ }
+ }
+ } else if (el.tagName === "SELECT") {
+ updateSelect(el, value);
+ } else {
+ if (el.value === value)
+ return;
+ el.value = value === void 0 ? "" : value;
+ }
+ }
+ function bindClasses(el, value) {
+ if (el._x_undoAddedClasses)
+ el._x_undoAddedClasses();
+ el._x_undoAddedClasses = setClasses(el, value);
+ }
+ function bindStyles(el, value) {
+ if (el._x_undoAddedStyles)
+ el._x_undoAddedStyles();
+ el._x_undoAddedStyles = setStyles(el, value);
+ }
+ function bindAttributeAndProperty(el, name, value) {
+ bindAttribute(el, name, value);
+ setPropertyIfChanged(el, name, value);
+ }
+ function bindAttribute(el, name, value) {
+ if ([null, void 0, false].includes(value) && attributeShouldntBePreservedIfFalsy(name)) {
+ el.removeAttribute(name);
+ } else {
+ if (isBooleanAttr(name))
+ value = name;
+ setIfChanged(el, name, value);
+ }
+ }
+ function setIfChanged(el, attrName, value) {
+ if (el.getAttribute(attrName) != value) {
+ el.setAttribute(attrName, value);
+ }
+ }
+ function setPropertyIfChanged(el, propName, value) {
+ if (el[propName] !== value) {
+ el[propName] = value;
+ }
+ }
+ function updateSelect(el, value) {
+ const arrayWrappedValue = [].concat(value).map((value2) => {
+ return value2 + "";
+ });
+ Array.from(el.options).forEach((option) => {
+ option.selected = arrayWrappedValue.includes(option.value);
+ });
+ }
+ function camelCase2(subject) {
+ return subject.toLowerCase().replace(/-(\w)/g, (match, char) => char.toUpperCase());
+ }
+ function checkedAttrLooseCompare(valueA, valueB) {
+ return valueA == valueB;
+ }
+ function safeParseBoolean(rawValue) {
+ if ([1, "1", "true", "on", "yes", true].includes(rawValue)) {
+ return true;
+ }
+ if ([0, "0", "false", "off", "no", false].includes(rawValue)) {
+ return false;
+ }
+ return rawValue ? Boolean(rawValue) : null;
+ }
+ function isBooleanAttr(attrName) {
+ const booleanAttributes = [
+ "disabled",
+ "checked",
+ "required",
+ "readonly",
+ "hidden",
+ "open",
+ "selected",
+ "autofocus",
+ "itemscope",
+ "multiple",
+ "novalidate",
+ "allowfullscreen",
+ "allowpaymentrequest",
+ "formnovalidate",
+ "autoplay",
+ "controls",
+ "loop",
+ "muted",
+ "playsinline",
+ "default",
+ "ismap",
+ "reversed",
+ "async",
+ "defer",
+ "nomodule"
+ ];
+ return booleanAttributes.includes(attrName);
+ }
+ function attributeShouldntBePreservedIfFalsy(name) {
+ return !["aria-pressed", "aria-checked", "aria-expanded", "aria-selected"].includes(name);
+ }
+ function getBinding(el, name, fallback) {
+ if (el._x_bindings && el._x_bindings[name] !== void 0)
+ return el._x_bindings[name];
+ return getAttributeBinding(el, name, fallback);
+ }
+ function extractProp(el, name, fallback, extract = true) {
+ if (el._x_bindings && el._x_bindings[name] !== void 0)
+ return el._x_bindings[name];
+ if (el._x_inlineBindings && el._x_inlineBindings[name] !== void 0) {
+ let binding = el._x_inlineBindings[name];
+ binding.extract = extract;
+ return dontAutoEvaluateFunctions(() => {
+ return evaluate(el, binding.expression);
+ });
+ }
+ return getAttributeBinding(el, name, fallback);
+ }
+ function getAttributeBinding(el, name, fallback) {
+ let attr = el.getAttribute(name);
+ if (attr === null)
+ return typeof fallback === "function" ? fallback() : fallback;
+ if (attr === "")
+ return true;
+ if (isBooleanAttr(name)) {
+ return !![name, "true"].includes(attr);
+ }
+ return attr;
+ }
+ function debounce(func, wait) {
+ var timeout;
+ return function() {
+ var context = this, args = arguments;
+ var later = function() {
+ timeout = null;
+ func.apply(context, args);
+ };
+ clearTimeout(timeout);
+ timeout = setTimeout(later, wait);
+ };
+ }
+ function throttle(func, limit) {
+ let inThrottle;
+ return function() {
+ let context = this, args = arguments;
+ if (!inThrottle) {
+ func.apply(context, args);
+ inThrottle = true;
+ setTimeout(() => inThrottle = false, limit);
+ }
+ };
+ }
+ function entangle({ get: outerGet, set: outerSet }, { get: innerGet, set: innerSet }) {
+ let firstRun = true;
+ let outerHash;
+ let reference = effect(() => {
+ const outer = outerGet();
+ const inner = innerGet();
+ if (firstRun) {
+ innerSet(cloneIfObject(outer));
+ firstRun = false;
+ outerHash = JSON.stringify(outer);
+ } else {
+ const outerHashLatest = JSON.stringify(outer);
+ if (outerHashLatest !== outerHash) {
+ innerSet(cloneIfObject(outer));
+ outerHash = outerHashLatest;
+ } else {
+ outerSet(cloneIfObject(inner));
+ outerHash = JSON.stringify(inner);
+ }
+ }
+ JSON.stringify(innerGet());
+ JSON.stringify(outerGet());
+ });
+ return () => {
+ release(reference);
+ };
+ }
+ function cloneIfObject(value) {
+ return typeof value === "object" ? JSON.parse(JSON.stringify(value)) : value;
+ }
+ function plugin(callback) {
+ let callbacks = Array.isArray(callback) ? callback : [callback];
+ callbacks.forEach((i2) => i2(alpine_default2));
+ }
+ var stores = {};
+ var isReactive = false;
+ function store(name, value) {
+ if (!isReactive) {
+ stores = reactive(stores);
+ isReactive = true;
+ }
+ if (value === void 0) {
+ return stores[name];
+ }
+ stores[name] = value;
+ if (typeof value === "object" && value !== null && value.hasOwnProperty("init") && typeof value.init === "function") {
+ stores[name].init();
+ }
+ initInterceptors2(stores[name]);
+ }
+ function getStores() {
+ return stores;
+ }
+ var binds = {};
+ function bind2(name, bindings) {
+ let getBindings = typeof bindings !== "function" ? () => bindings : bindings;
+ if (name instanceof Element) {
+ return applyBindingsObject(name, getBindings());
+ } else {
+ binds[name] = getBindings;
+ }
+ return () => {
+ };
+ }
+ function injectBindingProviders(obj) {
+ Object.entries(binds).forEach(([name, callback]) => {
+ Object.defineProperty(obj, name, {
+ get() {
+ return (...args) => {
+ return callback(...args);
+ };
+ }
+ });
+ });
+ return obj;
+ }
+ function applyBindingsObject(el, obj, original) {
+ let cleanupRunners = [];
+ while (cleanupRunners.length)
+ cleanupRunners.pop()();
+ let attributes = Object.entries(obj).map(([name, value]) => ({ name, value }));
+ let staticAttributes = attributesOnly(attributes);
+ attributes = attributes.map((attribute) => {
+ if (staticAttributes.find((attr) => attr.name === attribute.name)) {
+ return {
+ name: `x-bind:${attribute.name}`,
+ value: `"${attribute.value}"`
+ };
+ }
+ return attribute;
+ });
+ directives(el, attributes, original).map((handle) => {
+ cleanupRunners.push(handle.runCleanups);
+ handle();
+ });
+ return () => {
+ while (cleanupRunners.length)
+ cleanupRunners.pop()();
+ };
+ }
+ var datas = {};
+ function data(name, callback) {
+ datas[name] = callback;
+ }
+ function injectDataProviders(obj, context) {
+ Object.entries(datas).forEach(([name, callback]) => {
+ Object.defineProperty(obj, name, {
+ get() {
+ return (...args) => {
+ return callback.bind(context)(...args);
+ };
+ },
+ enumerable: false
+ });
+ });
+ return obj;
+ }
+ var Alpine3 = {
+ get reactive() {
+ return reactive;
+ },
+ get release() {
+ return release;
+ },
+ get effect() {
+ return effect;
+ },
+ get raw() {
+ return raw;
+ },
+ version: "3.13.3",
+ flushAndStopDeferringMutations,
+ dontAutoEvaluateFunctions,
+ disableEffectScheduling,
+ startObservingMutations,
+ stopObservingMutations,
+ setReactivityEngine,
+ onAttributeRemoved,
+ onAttributesAdded,
+ closestDataStack,
+ skipDuringClone,
+ onlyDuringClone,
+ addRootSelector,
+ addInitSelector,
+ interceptClone,
+ addScopeToNode,
+ deferMutations,
+ mapAttributes,
+ evaluateLater,
+ interceptInit,
+ setEvaluator,
+ mergeProxies,
+ extractProp,
+ findClosest,
+ onElRemoved,
+ closestRoot,
+ destroyTree,
+ interceptor,
+ // INTERNAL: not public API and is subject to change without major release.
+ transition,
+ // INTERNAL
+ setStyles,
+ // INTERNAL
+ mutateDom,
+ directive,
+ entangle,
+ throttle,
+ debounce,
+ evaluate,
+ initTree,
+ nextTick,
+ prefixed: prefix,
+ prefix: setPrefix,
+ plugin,
+ magic,
+ store,
+ start,
+ clone,
+ // INTERNAL
+ cloneNode,
+ // INTERNAL
+ bound: getBinding,
+ $data: scope,
+ walk,
+ data,
+ bind: bind2
+ };
+ var alpine_default2 = Alpine3;
+ var import_reactivity9 = __toESM2(require_reactivity());
+ magic("nextTick", () => nextTick);
+ magic("dispatch", (el) => dispatch.bind(dispatch, el));
+ magic("watch", (el, { evaluateLater: evaluateLater2, effect: effect3 }) => (key, callback) => {
+ let evaluate2 = evaluateLater2(key);
+ let firstTime = true;
+ let oldValue;
+ let effectReference = effect3(() => evaluate2((value) => {
+ JSON.stringify(value);
+ if (!firstTime) {
+ queueMicrotask(() => {
+ callback(value, oldValue);
+ oldValue = value;
+ });
+ } else {
+ oldValue = value;
+ }
+ firstTime = false;
+ }));
+ el._x_effects.delete(effectReference);
+ });
+ magic("store", getStores);
+ magic("data", (el) => scope(el));
+ magic("root", (el) => closestRoot(el));
+ magic("refs", (el) => {
+ if (el._x_refs_proxy)
+ return el._x_refs_proxy;
+ el._x_refs_proxy = mergeProxies(getArrayOfRefObject(el));
+ return el._x_refs_proxy;
+ });
+ function getArrayOfRefObject(el) {
+ let refObjects = [];
+ let currentEl = el;
+ while (currentEl) {
+ if (currentEl._x_refs)
+ refObjects.push(currentEl._x_refs);
+ currentEl = currentEl.parentNode;
+ }
+ return refObjects;
+ }
+ var globalIdMemo = {};
+ function findAndIncrementId(name) {
+ if (!globalIdMemo[name])
+ globalIdMemo[name] = 0;
+ return ++globalIdMemo[name];
+ }
+ function closestIdRoot(el, name) {
+ return findClosest(el, (element) => {
+ if (element._x_ids && element._x_ids[name])
+ return true;
+ });
+ }
+ function setIdRoot(el, name) {
+ if (!el._x_ids)
+ el._x_ids = {};
+ if (!el._x_ids[name])
+ el._x_ids[name] = findAndIncrementId(name);
+ }
+ magic("id", (el) => (name, key = null) => {
+ let root = closestIdRoot(el, name);
+ let id = root ? root._x_ids[name] : findAndIncrementId(name);
+ return key ? `${name}-${id}-${key}` : `${name}-${id}`;
+ });
+ magic("el", (el) => el);
+ warnMissingPluginMagic("Focus", "focus", "focus");
+ warnMissingPluginMagic("Persist", "persist", "persist");
+ function warnMissingPluginMagic(name, magicName, slug) {
+ magic(magicName, (el) => warn(`You can't use [$${magicName}] without first installing the "${name}" plugin here: https://alpinejs.dev/plugins/${slug}`, el));
+ }
+ directive("modelable", (el, { expression }, { effect: effect3, evaluateLater: evaluateLater2, cleanup }) => {
+ let func = evaluateLater2(expression);
+ let innerGet = () => {
+ let result;
+ func((i2) => result = i2);
+ return result;
+ };
+ let evaluateInnerSet = evaluateLater2(`${expression} = __placeholder`);
+ let innerSet = (val) => evaluateInnerSet(() => {
+ }, { scope: { "__placeholder": val } });
+ let initialValue = innerGet();
+ innerSet(initialValue);
+ queueMicrotask(() => {
+ if (!el._x_model)
+ return;
+ el._x_removeModelListeners["default"]();
+ let outerGet = el._x_model.get;
+ let outerSet = el._x_model.set;
+ let releaseEntanglement = entangle(
+ {
+ get() {
+ return outerGet();
+ },
+ set(value) {
+ outerSet(value);
+ }
+ },
+ {
+ get() {
+ return innerGet();
+ },
+ set(value) {
+ innerSet(value);
+ }
+ }
+ );
+ cleanup(releaseEntanglement);
+ });
+ });
+ directive("teleport", (el, { modifiers, expression }, { cleanup }) => {
+ if (el.tagName.toLowerCase() !== "template")
+ warn("x-teleport can only be used on a <template> tag", el);
+ let target = getTarget(expression);
+ let clone2 = el.content.cloneNode(true).firstElementChild;
+ el._x_teleport = clone2;
+ clone2._x_teleportBack = el;
+ el.setAttribute("data-teleport-template", true);
+ clone2.setAttribute("data-teleport-target", true);
+ if (el._x_forwardEvents) {
+ el._x_forwardEvents.forEach((eventName) => {
+ clone2.addEventListener(eventName, (e2) => {
+ e2.stopPropagation();
+ el.dispatchEvent(new e2.constructor(e2.type, e2));
+ });
+ });
+ }
+ addScopeToNode(clone2, {}, el);
+ let placeInDom = (clone3, target2, modifiers2) => {
+ if (modifiers2.includes("prepend")) {
+ target2.parentNode.insertBefore(clone3, target2);
+ } else if (modifiers2.includes("append")) {
+ target2.parentNode.insertBefore(clone3, target2.nextSibling);
+ } else {
+ target2.appendChild(clone3);
+ }
+ };
+ mutateDom(() => {
+ placeInDom(clone2, target, modifiers);
+ initTree(clone2);
+ clone2._x_ignore = true;
+ });
+ el._x_teleportPutBack = () => {
+ let target2 = getTarget(expression);
+ mutateDom(() => {
+ placeInDom(el._x_teleport, target2, modifiers);
+ });
+ };
+ cleanup(() => clone2.remove());
+ });
+ var teleportContainerDuringClone = document.createElement("div");
+ function getTarget(expression) {
+ let target = skipDuringClone(() => {
+ return document.querySelector(expression);
+ }, () => {
+ return teleportContainerDuringClone;
+ })();
+ if (!target)
+ warn(`Cannot find x-teleport element for selector: "${expression}"`);
+ return target;
+ }
+ var handler = () => {
+ };
+ handler.inline = (el, { modifiers }, { cleanup }) => {
+ modifiers.includes("self") ? el._x_ignoreSelf = true : el._x_ignore = true;
+ cleanup(() => {
+ modifiers.includes("self") ? delete el._x_ignoreSelf : delete el._x_ignore;
+ });
+ };
+ directive("ignore", handler);
+ directive("effect", skipDuringClone((el, { expression }, { effect: effect3 }) => {
+ effect3(evaluateLater(el, expression));
+ }));
+ function on(el, event, modifiers, callback) {
+ let listenerTarget = el;
+ let handler4 = (e2) => callback(e2);
+ let options = {};
+ let wrapHandler = (callback2, wrapper) => (e2) => wrapper(callback2, e2);
+ if (modifiers.includes("dot"))
+ event = dotSyntax(event);
+ if (modifiers.includes("camel"))
+ event = camelCase22(event);
+ if (modifiers.includes("passive"))
+ options.passive = true;
+ if (modifiers.includes("capture"))
+ options.capture = true;
+ if (modifiers.includes("window"))
+ listenerTarget = window;
+ if (modifiers.includes("document"))
+ listenerTarget = document;
+ if (modifiers.includes("debounce")) {
+ let nextModifier = modifiers[modifiers.indexOf("debounce") + 1] || "invalid-wait";
+ let wait = isNumeric2(nextModifier.split("ms")[0]) ? Number(nextModifier.split("ms")[0]) : 250;
+ handler4 = debounce(handler4, wait);
+ }
+ if (modifiers.includes("throttle")) {
+ let nextModifier = modifiers[modifiers.indexOf("throttle") + 1] || "invalid-wait";
+ let wait = isNumeric2(nextModifier.split("ms")[0]) ? Number(nextModifier.split("ms")[0]) : 250;
+ handler4 = throttle(handler4, wait);
+ }
+ if (modifiers.includes("prevent"))
+ handler4 = wrapHandler(handler4, (next, e2) => {
+ e2.preventDefault();
+ next(e2);
+ });
+ if (modifiers.includes("stop"))
+ handler4 = wrapHandler(handler4, (next, e2) => {
+ e2.stopPropagation();
+ next(e2);
+ });
+ if (modifiers.includes("self"))
+ handler4 = wrapHandler(handler4, (next, e2) => {
+ e2.target === el && next(e2);
+ });
+ if (modifiers.includes("away") || modifiers.includes("outside")) {
+ listenerTarget = document;
+ handler4 = wrapHandler(handler4, (next, e2) => {
+ if (el.contains(e2.target))
+ return;
+ if (e2.target.isConnected === false)
+ return;
+ if (el.offsetWidth < 1 && el.offsetHeight < 1)
+ return;
+ if (el._x_isShown === false)
+ return;
+ next(e2);
+ });
+ }
+ if (modifiers.includes("once")) {
+ handler4 = wrapHandler(handler4, (next, e2) => {
+ next(e2);
+ listenerTarget.removeEventListener(event, handler4, options);
+ });
+ }
+ handler4 = wrapHandler(handler4, (next, e2) => {
+ if (isKeyEvent(event)) {
+ if (isListeningForASpecificKeyThatHasntBeenPressed(e2, modifiers)) {
+ return;
+ }
+ }
+ next(e2);
+ });
+ listenerTarget.addEventListener(event, handler4, options);
+ return () => {
+ listenerTarget.removeEventListener(event, handler4, options);
+ };
+ }
+ function dotSyntax(subject) {
+ return subject.replace(/-/g, ".");
+ }
+ function camelCase22(subject) {
+ return subject.toLowerCase().replace(/-(\w)/g, (match, char) => char.toUpperCase());
+ }
+ function isNumeric2(subject) {
+ return !Array.isArray(subject) && !isNaN(subject);
+ }
+ function kebabCase22(subject) {
+ if ([" ", "_"].includes(
+ subject
+ ))
+ return subject;
+ return subject.replace(/([a-z])([A-Z])/g, "$1-$2").replace(/[_\s]/, "-").toLowerCase();
+ }
+ function isKeyEvent(event) {
+ return ["keydown", "keyup"].includes(event);
+ }
+ function isListeningForASpecificKeyThatHasntBeenPressed(e2, modifiers) {
+ let keyModifiers = modifiers.filter((i2) => {
+ return !["window", "document", "prevent", "stop", "once", "capture"].includes(i2);
+ });
+ if (keyModifiers.includes("debounce")) {
+ let debounceIndex = keyModifiers.indexOf("debounce");
+ keyModifiers.splice(debounceIndex, isNumeric2((keyModifiers[debounceIndex + 1] || "invalid-wait").split("ms")[0]) ? 2 : 1);
+ }
+ if (keyModifiers.includes("throttle")) {
+ let debounceIndex = keyModifiers.indexOf("throttle");
+ keyModifiers.splice(debounceIndex, isNumeric2((keyModifiers[debounceIndex + 1] || "invalid-wait").split("ms")[0]) ? 2 : 1);
+ }
+ if (keyModifiers.length === 0)
+ return false;
+ if (keyModifiers.length === 1 && keyToModifiers(e2.key).includes(keyModifiers[0]))
+ return false;
+ const systemKeyModifiers = ["ctrl", "shift", "alt", "meta", "cmd", "super"];
+ const selectedSystemKeyModifiers = systemKeyModifiers.filter((modifier) => keyModifiers.includes(modifier));
+ keyModifiers = keyModifiers.filter((i2) => !selectedSystemKeyModifiers.includes(i2));
+ if (selectedSystemKeyModifiers.length > 0) {
+ const activelyPressedKeyModifiers = selectedSystemKeyModifiers.filter((modifier) => {
+ if (modifier === "cmd" || modifier === "super")
+ modifier = "meta";
+ return e2[`${modifier}Key`];
+ });
+ if (activelyPressedKeyModifiers.length === selectedSystemKeyModifiers.length) {
+ if (keyToModifiers(e2.key).includes(keyModifiers[0]))
+ return false;
+ }
+ }
+ return true;
+ }
+ function keyToModifiers(key) {
+ if (!key)
+ return [];
+ key = kebabCase22(key);
+ let modifierToKeyMap = {
+ "ctrl": "control",
+ "slash": "/",
+ "space": " ",
+ "spacebar": " ",
+ "cmd": "meta",
+ "esc": "escape",
+ "up": "arrow-up",
+ "down": "arrow-down",
+ "left": "arrow-left",
+ "right": "arrow-right",
+ "period": ".",
+ "equal": "=",
+ "minus": "-",
+ "underscore": "_"
+ };
+ modifierToKeyMap[key] = key;
+ return Object.keys(modifierToKeyMap).map((modifier) => {
+ if (modifierToKeyMap[modifier] === key)
+ return modifier;
+ }).filter((modifier) => modifier);
+ }
+ directive("model", (el, { modifiers, expression }, { effect: effect3, cleanup }) => {
+ let scopeTarget = el;
+ if (modifiers.includes("parent")) {
+ scopeTarget = el.parentNode;
+ }
+ let evaluateGet = evaluateLater(scopeTarget, expression);
+ let evaluateSet;
+ if (typeof expression === "string") {
+ evaluateSet = evaluateLater(scopeTarget, `${expression} = __placeholder`);
+ } else if (typeof expression === "function" && typeof expression() === "string") {
+ evaluateSet = evaluateLater(scopeTarget, `${expression()} = __placeholder`);
+ } else {
+ evaluateSet = () => {
+ };
+ }
+ let getValue = () => {
+ let result;
+ evaluateGet((value) => result = value);
+ return isGetterSetter(result) ? result.get() : result;
+ };
+ let setValue = (value) => {
+ let result;
+ evaluateGet((value2) => result = value2);
+ if (isGetterSetter(result)) {
+ result.set(value);
+ } else {
+ evaluateSet(() => {
+ }, {
+ scope: { "__placeholder": value }
+ });
+ }
+ };
+ if (typeof expression === "string" && el.type === "radio") {
+ mutateDom(() => {
+ if (!el.hasAttribute("name"))
+ el.setAttribute("name", expression);
+ });
+ }
+ var event = el.tagName.toLowerCase() === "select" || ["checkbox", "radio"].includes(el.type) || modifiers.includes("lazy") ? "change" : "input";
+ let removeListener = isCloning ? () => {
+ } : on(el, event, modifiers, (e2) => {
+ setValue(getInputValue(el, modifiers, e2, getValue()));
+ });
+ if (modifiers.includes("fill")) {
+ if ([null, ""].includes(getValue()) || el.type === "checkbox" && Array.isArray(getValue())) {
+ el.dispatchEvent(new Event(event, {}));
+ }
+ }
+ if (!el._x_removeModelListeners)
+ el._x_removeModelListeners = {};
+ el._x_removeModelListeners["default"] = removeListener;
+ cleanup(() => el._x_removeModelListeners["default"]());
+ if (el.form) {
+ let removeResetListener = on(el.form, "reset", [], (e2) => {
+ nextTick(() => el._x_model && el._x_model.set(el.value));
+ });
+ cleanup(() => removeResetListener());
+ }
+ el._x_model = {
+ get() {
+ return getValue();
+ },
+ set(value) {
+ setValue(value);
+ }
+ };
+ el._x_forceModelUpdate = (value) => {
+ if (value === void 0 && typeof expression === "string" && expression.match(/\./))
+ value = "";
+ window.fromModel = true;
+ mutateDom(() => bind(el, "value", value));
+ delete window.fromModel;
+ };
+ effect3(() => {
+ let value = getValue();
+ if (modifiers.includes("unintrusive") && document.activeElement.isSameNode(el))
+ return;
+ el._x_forceModelUpdate(value);
+ });
+ });
+ function getInputValue(el, modifiers, event, currentValue) {
+ return mutateDom(() => {
+ if (event instanceof CustomEvent && event.detail !== void 0)
+ return event.detail !== null && event.detail !== void 0 ? event.detail : event.target.value;
+ else if (el.type === "checkbox") {
+ if (Array.isArray(currentValue)) {
+ let newValue = null;
+ if (modifiers.includes("number")) {
+ newValue = safeParseNumber(event.target.value);
+ } else if (modifiers.includes("boolean")) {
+ newValue = safeParseBoolean(event.target.value);
+ } else {
+ newValue = event.target.value;
+ }
+ return event.target.checked ? currentValue.concat([newValue]) : currentValue.filter((el2) => !checkedAttrLooseCompare2(el2, newValue));
+ } else {
+ return event.target.checked;
+ }
+ } else if (el.tagName.toLowerCase() === "select" && el.multiple) {
+ if (modifiers.includes("number")) {
+ return Array.from(event.target.selectedOptions).map((option) => {
+ let rawValue = option.value || option.text;
+ return safeParseNumber(rawValue);
+ });
+ } else if (modifiers.includes("boolean")) {
+ return Array.from(event.target.selectedOptions).map((option) => {
+ let rawValue = option.value || option.text;
+ return safeParseBoolean(rawValue);
+ });
+ }
+ return Array.from(event.target.selectedOptions).map((option) => {
+ return option.value || option.text;
+ });
+ } else {
+ if (modifiers.includes("number")) {
+ return safeParseNumber(event.target.value);
+ } else if (modifiers.includes("boolean")) {
+ return safeParseBoolean(event.target.value);
+ }
+ return modifiers.includes("trim") ? event.target.value.trim() : event.target.value;
+ }
+ });
+ }
+ function safeParseNumber(rawValue) {
+ let number = rawValue ? parseFloat(rawValue) : null;
+ return isNumeric22(number) ? number : rawValue;
+ }
+ function checkedAttrLooseCompare2(valueA, valueB) {
+ return valueA == valueB;
+ }
+ function isNumeric22(subject) {
+ return !Array.isArray(subject) && !isNaN(subject);
+ }
+ function isGetterSetter(value) {
+ return value !== null && typeof value === "object" && typeof value.get === "function" && typeof value.set === "function";
+ }
+ directive("cloak", (el) => queueMicrotask(() => mutateDom(() => el.removeAttribute(prefix("cloak")))));
+ addInitSelector(() => `[${prefix("init")}]`);
+ directive("init", skipDuringClone((el, { expression }, { evaluate: evaluate2 }) => {
+ if (typeof expression === "string") {
+ return !!expression.trim() && evaluate2(expression, {}, false);
+ }
+ return evaluate2(expression, {}, false);
+ }));
+ directive("text", (el, { expression }, { effect: effect3, evaluateLater: evaluateLater2 }) => {
+ let evaluate2 = evaluateLater2(expression);
+ effect3(() => {
+ evaluate2((value) => {
+ mutateDom(() => {
+ el.textContent = value;
+ });
+ });
+ });
+ });
+ directive("html", (el, { expression }, { effect: effect3, evaluateLater: evaluateLater2 }) => {
+ let evaluate2 = evaluateLater2(expression);
+ effect3(() => {
+ evaluate2((value) => {
+ mutateDom(() => {
+ el.innerHTML = value;
+ el._x_ignoreSelf = true;
+ initTree(el);
+ delete el._x_ignoreSelf;
+ });
+ });
+ });
+ });
+ mapAttributes(startingWith(":", into(prefix("bind:"))));
+ var handler2 = (el, { value, modifiers, expression, original }, { effect: effect3 }) => {
+ if (!value) {
+ let bindingProviders = {};
+ injectBindingProviders(bindingProviders);
+ let getBindings = evaluateLater(el, expression);
+ getBindings((bindings) => {
+ applyBindingsObject(el, bindings, original);
+ }, { scope: bindingProviders });
+ return;
+ }
+ if (value === "key")
+ return storeKeyForXFor(el, expression);
+ if (el._x_inlineBindings && el._x_inlineBindings[value] && el._x_inlineBindings[value].extract) {
+ return;
+ }
+ let evaluate2 = evaluateLater(el, expression);
+ effect3(() => evaluate2((result) => {
+ if (result === void 0 && typeof expression === "string" && expression.match(/\./)) {
+ result = "";
+ }
+ mutateDom(() => bind(el, value, result, modifiers));
+ }));
+ };
+ handler2.inline = (el, { value, modifiers, expression }) => {
+ if (!value)
+ return;
+ if (!el._x_inlineBindings)
+ el._x_inlineBindings = {};
+ el._x_inlineBindings[value] = { expression, extract: false };
+ };
+ directive("bind", handler2);
+ function storeKeyForXFor(el, expression) {
+ el._x_keyExpression = expression;
+ }
+ addRootSelector(() => `[${prefix("data")}]`);
+ directive("data", (el, { expression }, { cleanup }) => {
+ if (shouldSkipRegisteringDataDuringClone(el))
+ return;
+ expression = expression === "" ? "{}" : expression;
+ let magicContext = {};
+ injectMagics(magicContext, el);
+ let dataProviderContext = {};
+ injectDataProviders(dataProviderContext, magicContext);
+ let data2 = evaluate(el, expression, { scope: dataProviderContext });
+ if (data2 === void 0 || data2 === true)
+ data2 = {};
+ injectMagics(data2, el);
+ let reactiveData = reactive(data2);
+ initInterceptors2(reactiveData);
+ let undo = addScopeToNode(el, reactiveData);
+ reactiveData["init"] && evaluate(el, reactiveData["init"]);
+ cleanup(() => {
+ reactiveData["destroy"] && evaluate(el, reactiveData["destroy"]);
+ undo();
+ });
+ });
+ interceptClone((from, to) => {
+ if (from._x_dataStack) {
+ to._x_dataStack = from._x_dataStack;
+ to.setAttribute("data-has-alpine-state", true);
+ }
+ });
+ function shouldSkipRegisteringDataDuringClone(el) {
+ if (!isCloning)
+ return false;
+ if (isCloningLegacy)
+ return true;
+ return el.hasAttribute("data-has-alpine-state");
+ }
+ directive("show", (el, { modifiers, expression }, { effect: effect3 }) => {
+ let evaluate2 = evaluateLater(el, expression);
+ if (!el._x_doHide)
+ el._x_doHide = () => {
+ mutateDom(() => {
+ el.style.setProperty("display", "none", modifiers.includes("important") ? "important" : void 0);
+ });
+ };
+ if (!el._x_doShow)
+ el._x_doShow = () => {
+ mutateDom(() => {
+ if (el.style.length === 1 && el.style.display === "none") {
+ el.removeAttribute("style");
+ } else {
+ el.style.removeProperty("display");
+ }
+ });
+ };
+ let hide = () => {
+ el._x_doHide();
+ el._x_isShown = false;
+ };
+ let show = () => {
+ el._x_doShow();
+ el._x_isShown = true;
+ };
+ let clickAwayCompatibleShow = () => setTimeout(show);
+ let toggle = once(
+ (value) => value ? show() : hide(),
+ (value) => {
+ if (typeof el._x_toggleAndCascadeWithTransitions === "function") {
+ el._x_toggleAndCascadeWithTransitions(el, value, show, hide);
+ } else {
+ value ? clickAwayCompatibleShow() : hide();
+ }
+ }
+ );
+ let oldValue;
+ let firstTime = true;
+ effect3(() => evaluate2((value) => {
+ if (!firstTime && value === oldValue)
+ return;
+ if (modifiers.includes("immediate"))
+ value ? clickAwayCompatibleShow() : hide();
+ toggle(value);
+ oldValue = value;
+ firstTime = false;
+ }));
+ });
+ directive("for", (el, { expression }, { effect: effect3, cleanup }) => {
+ let iteratorNames = parseForExpression(expression);
+ let evaluateItems = evaluateLater(el, iteratorNames.items);
+ let evaluateKey = evaluateLater(
+ el,
+ // the x-bind:key expression is stored for our use instead of evaluated.
+ el._x_keyExpression || "index"
+ );
+ el._x_prevKeys = [];
+ el._x_lookup = {};
+ effect3(() => loop(el, iteratorNames, evaluateItems, evaluateKey));
+ cleanup(() => {
+ Object.values(el._x_lookup).forEach((el2) => el2.remove());
+ delete el._x_prevKeys;
+ delete el._x_lookup;
+ });
+ });
+ function loop(el, iteratorNames, evaluateItems, evaluateKey) {
+ let isObject2 = (i2) => typeof i2 === "object" && !Array.isArray(i2);
+ let templateEl = el;
+ evaluateItems((items) => {
+ if (isNumeric3(items) && items >= 0) {
+ items = Array.from(Array(items).keys(), (i2) => i2 + 1);
+ }
+ if (items === void 0)
+ items = [];
+ let lookup = el._x_lookup;
+ let prevKeys = el._x_prevKeys;
+ let scopes = [];
+ let keys = [];
+ if (isObject2(items)) {
+ items = Object.entries(items).map(([key, value]) => {
+ let scope2 = getIterationScopeVariables(iteratorNames, value, key, items);
+ evaluateKey((value2) => keys.push(value2), { scope: { index: key, ...scope2 } });
+ scopes.push(scope2);
+ });
+ } else {
+ for (let i2 = 0; i2 < items.length; i2++) {
+ let scope2 = getIterationScopeVariables(iteratorNames, items[i2], i2, items);
+ evaluateKey((value) => keys.push(value), { scope: { index: i2, ...scope2 } });
+ scopes.push(scope2);
+ }
+ }
+ let adds = [];
+ let moves = [];
+ let removes = [];
+ let sames = [];
+ for (let i2 = 0; i2 < prevKeys.length; i2++) {
+ let key = prevKeys[i2];
+ if (keys.indexOf(key) === -1)
+ removes.push(key);
+ }
+ prevKeys = prevKeys.filter((key) => !removes.includes(key));
+ let lastKey = "template";
+ for (let i2 = 0; i2 < keys.length; i2++) {
+ let key = keys[i2];
+ let prevIndex = prevKeys.indexOf(key);
+ if (prevIndex === -1) {
+ prevKeys.splice(i2, 0, key);
+ adds.push([lastKey, i2]);
+ } else if (prevIndex !== i2) {
+ let keyInSpot = prevKeys.splice(i2, 1)[0];
+ let keyForSpot = prevKeys.splice(prevIndex - 1, 1)[0];
+ prevKeys.splice(i2, 0, keyForSpot);
+ prevKeys.splice(prevIndex, 0, keyInSpot);
+ moves.push([keyInSpot, keyForSpot]);
+ } else {
+ sames.push(key);
+ }
+ lastKey = key;
+ }
+ for (let i2 = 0; i2 < removes.length; i2++) {
+ let key = removes[i2];
+ if (!!lookup[key]._x_effects) {
+ lookup[key]._x_effects.forEach(dequeueJob);
+ }
+ lookup[key].remove();
+ lookup[key] = null;
+ delete lookup[key];
+ }
+ for (let i2 = 0; i2 < moves.length; i2++) {
+ let [keyInSpot, keyForSpot] = moves[i2];
+ let elInSpot = lookup[keyInSpot];
+ let elForSpot = lookup[keyForSpot];
+ let marker = document.createElement("div");
+ mutateDom(() => {
+ if (!elForSpot)
+ warn(`x-for ":key" is undefined or invalid`, templateEl);
+ elForSpot.after(marker);
+ elInSpot.after(elForSpot);
+ elForSpot._x_currentIfEl && elForSpot.after(elForSpot._x_currentIfEl);
+ marker.before(elInSpot);
+ elInSpot._x_currentIfEl && elInSpot.after(elInSpot._x_currentIfEl);
+ marker.remove();
+ });
+ elForSpot._x_refreshXForScope(scopes[keys.indexOf(keyForSpot)]);
+ }
+ for (let i2 = 0; i2 < adds.length; i2++) {
+ let [lastKey2, index] = adds[i2];
+ let lastEl = lastKey2 === "template" ? templateEl : lookup[lastKey2];
+ if (lastEl._x_currentIfEl)
+ lastEl = lastEl._x_currentIfEl;
+ let scope2 = scopes[index];
+ let key = keys[index];
+ let clone2 = document.importNode(templateEl.content, true).firstElementChild;
+ let reactiveScope = reactive(scope2);
+ addScopeToNode(clone2, reactiveScope, templateEl);
+ clone2._x_refreshXForScope = (newScope) => {
+ Object.entries(newScope).forEach(([key2, value]) => {
+ reactiveScope[key2] = value;
+ });
+ };
+ mutateDom(() => {
+ lastEl.after(clone2);
+ initTree(clone2);
+ });
+ if (typeof key === "object") {
+ warn("x-for key cannot be an object, it must be a string or an integer", templateEl);
+ }
+ lookup[key] = clone2;
+ }
+ for (let i2 = 0; i2 < sames.length; i2++) {
+ lookup[sames[i2]]._x_refreshXForScope(scopes[keys.indexOf(sames[i2])]);
+ }
+ templateEl._x_prevKeys = keys;
+ });
+ }
+ function parseForExpression(expression) {
+ let forIteratorRE = /,([^,\}\]]*)(?:,([^,\}\]]*))?$/;
+ let stripParensRE = /^\s*\(|\)\s*$/g;
+ let forAliasRE = /([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/;
+ let inMatch = expression.match(forAliasRE);
+ if (!inMatch)
+ return;
+ let res = {};
+ res.items = inMatch[2].trim();
+ let item = inMatch[1].replace(stripParensRE, "").trim();
+ let iteratorMatch = item.match(forIteratorRE);
+ if (iteratorMatch) {
+ res.item = item.replace(forIteratorRE, "").trim();
+ res.index = iteratorMatch[1].trim();
+ if (iteratorMatch[2]) {
+ res.collection = iteratorMatch[2].trim();
+ }
+ } else {
+ res.item = item;
+ }
+ return res;
+ }
+ function getIterationScopeVariables(iteratorNames, item, index, items) {
+ let scopeVariables = {};
+ if (/^\[.*\]$/.test(iteratorNames.item) && Array.isArray(item)) {
+ let names = iteratorNames.item.replace("[", "").replace("]", "").split(",").map((i2) => i2.trim());
+ names.forEach((name, i2) => {
+ scopeVariables[name] = item[i2];
+ });
+ } else if (/^\{.*\}$/.test(iteratorNames.item) && !Array.isArray(item) && typeof item === "object") {
+ let names = iteratorNames.item.replace("{", "").replace("}", "").split(",").map((i2) => i2.trim());
+ names.forEach((name) => {
+ scopeVariables[name] = item[name];
+ });
+ } else {
+ scopeVariables[iteratorNames.item] = item;
+ }
+ if (iteratorNames.index)
+ scopeVariables[iteratorNames.index] = index;
+ if (iteratorNames.collection)
+ scopeVariables[iteratorNames.collection] = items;
+ return scopeVariables;
+ }
+ function isNumeric3(subject) {
+ return !Array.isArray(subject) && !isNaN(subject);
+ }
+ function handler3() {
+ }
+ handler3.inline = (el, { expression }, { cleanup }) => {
+ let root = closestRoot(el);
+ if (!root._x_refs)
+ root._x_refs = {};
+ root._x_refs[expression] = el;
+ cleanup(() => delete root._x_refs[expression]);
+ };
+ directive("ref", handler3);
+ directive("if", (el, { expression }, { effect: effect3, cleanup }) => {
+ if (el.tagName.toLowerCase() !== "template")
+ warn("x-if can only be used on a <template> tag", el);
+ let evaluate2 = evaluateLater(el, expression);
+ let show = () => {
+ if (el._x_currentIfEl)
+ return el._x_currentIfEl;
+ let clone2 = el.content.cloneNode(true).firstElementChild;
+ addScopeToNode(clone2, {}, el);
+ mutateDom(() => {
+ el.after(clone2);
+ initTree(clone2);
+ });
+ el._x_currentIfEl = clone2;
+ el._x_undoIf = () => {
+ walk(clone2, (node) => {
+ if (!!node._x_effects) {
+ node._x_effects.forEach(dequeueJob);
+ }
+ });
+ clone2.remove();
+ delete el._x_currentIfEl;
+ };
+ return clone2;
+ };
+ let hide = () => {
+ if (!el._x_undoIf)
+ return;
+ el._x_undoIf();
+ delete el._x_undoIf;
+ };
+ effect3(() => evaluate2((value) => {
+ value ? show() : hide();
+ }));
+ cleanup(() => el._x_undoIf && el._x_undoIf());
+ });
+ directive("id", (el, { expression }, { evaluate: evaluate2 }) => {
+ let names = evaluate2(expression);
+ names.forEach((name) => setIdRoot(el, name));
+ });
+ mapAttributes(startingWith("@", into(prefix("on:"))));
+ directive("on", skipDuringClone((el, { value, modifiers, expression }, { cleanup }) => {
+ let evaluate2 = expression ? evaluateLater(el, expression) : () => {
+ };
+ if (el.tagName.toLowerCase() === "template") {
+ if (!el._x_forwardEvents)
+ el._x_forwardEvents = [];
+ if (!el._x_forwardEvents.includes(value))
+ el._x_forwardEvents.push(value);
+ }
+ let removeListener = on(el, value, modifiers, (e2) => {
+ evaluate2(() => {
+ }, { scope: { "$event": e2 }, params: [e2] });
+ });
+ cleanup(() => removeListener());
+ }));
+ warnMissingPluginDirective("Collapse", "collapse", "collapse");
+ warnMissingPluginDirective("Intersect", "intersect", "intersect");
+ warnMissingPluginDirective("Focus", "trap", "focus");
+ warnMissingPluginDirective("Mask", "mask", "mask");
+ function warnMissingPluginDirective(name, directiveName, slug) {
+ directive(directiveName, (el) => warn(`You can't use [x-${directiveName}] without first installing the "${name}" plugin here: https://alpinejs.dev/plugins/${slug}`, el));
+ }
+ alpine_default2.setEvaluator(normalEvaluator);
+ alpine_default2.setReactivityEngine({ reactive: import_reactivity9.reactive, effect: import_reactivity9.effect, release: import_reactivity9.stop, raw: import_reactivity9.toRaw });
+ var src_default = alpine_default2;
+ var module_default = src_default;
+ }
+});
+
+// ../../../node_modules/@alpinejs/morph/dist/module.cjs.js
+var require_module_cjs2 = __commonJS({
+ "../../../node_modules/@alpinejs/morph/dist/module.cjs.js"(exports, module) {
+ var __defProp2 = Object.defineProperty;
+ var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
+ var __getOwnPropNames2 = Object.getOwnPropertyNames;
+ var __hasOwnProp2 = Object.prototype.hasOwnProperty;
+ var __export2 = (target, all) => {
+ for (var name in all)
+ __defProp2(target, name, { get: all[name], enumerable: true });
+ };
+ var __copyProps2 = (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;
+ };
+ var __toCommonJS = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
+ var module_exports = {};
+ __export2(module_exports, {
+ default: () => module_default,
+ morph: () => morph2
+ });
+ module.exports = __toCommonJS(module_exports);
+ function morph2(from, toHtml, options) {
+ monkeyPatchDomSetAttributeToAllowAtSymbols();
+ let fromEl;
+ let toEl;
+ let key, lookahead, updating, updated, removing, removed, adding, added;
+ function assignOptions(options2 = {}) {
+ let defaultGetKey = (el) => el.getAttribute("key");
+ let noop = () => {
+ };
+ updating = options2.updating || noop;
+ updated = options2.updated || noop;
+ removing = options2.removing || noop;
+ removed = options2.removed || noop;
+ adding = options2.adding || noop;
+ added = options2.added || noop;
+ key = options2.key || defaultGetKey;
+ lookahead = options2.lookahead || false;
+ }
+ function patch(from2, to) {
+ if (differentElementNamesTypesOrKeys(from2, to)) {
+ return swapElements(from2, to);
+ }
+ let updateChildrenOnly = false;
+ if (shouldSkip(updating, from2, to, () => updateChildrenOnly = true))
+ return;
+ if (from2.nodeType === 1 && window.Alpine) {
+ window.Alpine.cloneNode(from2, to);
+ }
+ if (textOrComment(to)) {
+ patchNodeValue(from2, to);
+ updated(from2, to);
+ return;
+ }
+ if (!updateChildrenOnly) {
+ patchAttributes(from2, to);
+ }
+ updated(from2, to);
+ patchChildren(from2, to);
+ }
+ function differentElementNamesTypesOrKeys(from2, to) {
+ return from2.nodeType != to.nodeType || from2.nodeName != to.nodeName || getKey(from2) != getKey(to);
+ }
+ function swapElements(from2, to) {
+ if (shouldSkip(removing, from2))
+ return;
+ let toCloned = to.cloneNode(true);
+ if (shouldSkip(adding, toCloned))
+ return;
+ from2.replaceWith(toCloned);
+ removed(from2);
+ added(toCloned);
+ }
+ function patchNodeValue(from2, to) {
+ let value = to.nodeValue;
+ if (from2.nodeValue !== value) {
+ from2.nodeValue = value;
+ }
+ }
+ function patchAttributes(from2, to) {
+ if (from2._x_transitioning)
+ return;
+ if (from2._x_isShown && !to._x_isShown) {
+ return;
+ }
+ if (!from2._x_isShown && to._x_isShown) {
+ return;
+ }
+ let domAttributes = Array.from(from2.attributes);
+ let toAttributes = Array.from(to.attributes);
+ for (let i2 = domAttributes.length - 1; i2 >= 0; i2--) {
+ let name = domAttributes[i2].name;
+ if (!to.hasAttribute(name)) {
+ from2.removeAttribute(name);
+ }
+ }
+ for (let i2 = toAttributes.length - 1; i2 >= 0; i2--) {
+ let name = toAttributes[i2].name;
+ let value = toAttributes[i2].value;
+ if (from2.getAttribute(name) !== value) {
+ from2.setAttribute(name, value);
+ }
+ }
+ }
+ function patchChildren(from2, to) {
+ if (from2._x_teleport)
+ from2 = from2._x_teleport;
+ if (to._x_teleport)
+ to = to._x_teleport;
+ let fromKeys = keyToMap(from2.children);
+ let fromKeyHoldovers = {};
+ let currentTo = getFirstNode(to);
+ let currentFrom = getFirstNode(from2);
+ while (currentTo) {
+ seedingMatchingId(currentTo, currentFrom);
+ let toKey = getKey(currentTo);
+ let fromKey = getKey(currentFrom);
+ if (!currentFrom) {
+ if (toKey && fromKeyHoldovers[toKey]) {
+ let holdover = fromKeyHoldovers[toKey];
+ from2.appendChild(holdover);
+ currentFrom = holdover;
+ } else {
+ if (!shouldSkip(adding, currentTo)) {
+ let clone = currentTo.cloneNode(true);
+ from2.appendChild(clone);
+ added(clone);
+ }
+ currentTo = getNextSibling(to, currentTo);
+ continue;
+ }
+ }
+ let isIf = (node) => node && node.nodeType === 8 && node.textContent === "[if BLOCK]><![endif]";
+ let isEnd = (node) => node && node.nodeType === 8 && node.textContent === "[if ENDBLOCK]><![endif]";
+ if (isIf(currentTo) && isIf(currentFrom)) {
+ let nestedIfCount = 0;
+ let fromBlockStart = currentFrom;
+ while (currentFrom) {
+ let next = getNextSibling(from2, currentFrom);
+ if (isIf(next)) {
+ nestedIfCount++;
+ } else if (isEnd(next) && nestedIfCount > 0) {
+ nestedIfCount--;
+ } else if (isEnd(next) && nestedIfCount === 0) {
+ currentFrom = next;
+ break;
+ }
+ currentFrom = next;
+ }
+ let fromBlockEnd = currentFrom;
+ nestedIfCount = 0;
+ let toBlockStart = currentTo;
+ while (currentTo) {
+ let next = getNextSibling(to, currentTo);
+ if (isIf(next)) {
+ nestedIfCount++;
+ } else if (isEnd(next) && nestedIfCount > 0) {
+ nestedIfCount--;
+ } else if (isEnd(next) && nestedIfCount === 0) {
+ currentTo = next;
+ break;
+ }
+ currentTo = next;
+ }
+ let toBlockEnd = currentTo;
+ let fromBlock = new Block(fromBlockStart, fromBlockEnd);
+ let toBlock = new Block(toBlockStart, toBlockEnd);
+ patchChildren(fromBlock, toBlock);
+ continue;
+ }
+ if (currentFrom.nodeType === 1 && lookahead && !currentFrom.isEqualNode(currentTo)) {
+ let nextToElementSibling = getNextSibling(to, currentTo);
+ let found = false;
+ while (!found && nextToElementSibling) {
+ if (nextToElementSibling.nodeType === 1 && currentFrom.isEqualNode(nextToElementSibling)) {
+ found = true;
+ currentFrom = addNodeBefore(from2, currentTo, currentFrom);
+ fromKey = getKey(currentFrom);
+ }
+ nextToElementSibling = getNextSibling(to, nextToElementSibling);
+ }
+ }
+ if (toKey !== fromKey) {
+ if (!toKey && fromKey) {
+ fromKeyHoldovers[fromKey] = currentFrom;
+ currentFrom = addNodeBefore(from2, currentTo, currentFrom);
+ fromKeyHoldovers[fromKey].remove();
+ currentFrom = getNextSibling(from2, currentFrom);
+ currentTo = getNextSibling(to, currentTo);
+ continue;
+ }
+ if (toKey && !fromKey) {
+ if (fromKeys[toKey]) {
+ currentFrom.replaceWith(fromKeys[toKey]);
+ currentFrom = fromKeys[toKey];
+ }
+ }
+ if (toKey && fromKey) {
+ let fromKeyNode = fromKeys[toKey];
+ if (fromKeyNode) {
+ fromKeyHoldovers[fromKey] = currentFrom;
+ currentFrom.replaceWith(fromKeyNode);
+ currentFrom = fromKeyNode;
+ } else {
+ fromKeyHoldovers[fromKey] = currentFrom;
+ currentFrom = addNodeBefore(from2, currentTo, currentFrom);
+ fromKeyHoldovers[fromKey].remove();
+ currentFrom = getNextSibling(from2, currentFrom);
+ currentTo = getNextSibling(to, currentTo);
+ continue;
+ }
+ }
+ }
+ let currentFromNext = currentFrom && getNextSibling(from2, currentFrom);
+ patch(currentFrom, currentTo);
+ currentTo = currentTo && getNextSibling(to, currentTo);
+ currentFrom = currentFromNext;
+ }
+ let removals = [];
+ while (currentFrom) {
+ if (!shouldSkip(removing, currentFrom))
+ removals.push(currentFrom);
+ currentFrom = getNextSibling(from2, currentFrom);
+ }
+ while (removals.length) {
+ let domForRemoval = removals.shift();
+ domForRemoval.remove();
+ removed(domForRemoval);
+ }
+ }
+ function getKey(el) {
+ return el && el.nodeType === 1 && key(el);
+ }
+ function keyToMap(els) {
+ let map = {};
+ for (let el of els) {
+ let theKey = getKey(el);
+ if (theKey) {
+ map[theKey] = el;
+ }
+ }
+ return map;
+ }
+ function addNodeBefore(parent, node, beforeMe) {
+ if (!shouldSkip(adding, node)) {
+ let clone = node.cloneNode(true);
+ parent.insertBefore(clone, beforeMe);
+ added(clone);
+ return clone;
+ }
+ return node;
+ }
+ assignOptions(options);
+ fromEl = from;
+ toEl = typeof toHtml === "string" ? createElement(toHtml) : toHtml;
+ if (window.Alpine && window.Alpine.closestDataStack && !from._x_dataStack) {
+ toEl._x_dataStack = window.Alpine.closestDataStack(from);
+ toEl._x_dataStack && window.Alpine.cloneNode(from, toEl);
+ }
+ patch(from, toEl);
+ fromEl = void 0;
+ toEl = void 0;
+ return from;
+ }
+ morph2.step = () => {
+ };
+ morph2.log = () => {
+ };
+ function shouldSkip(hook, ...args) {
+ let skip = false;
+ hook(...args, () => skip = true);
+ return skip;
+ }
+ var patched = false;
+ function createElement(html) {
+ const template = document.createElement("template");
+ template.innerHTML = html;
+ return template.content.firstElementChild;
+ }
+ function textOrComment(el) {
+ return el.nodeType === 3 || el.nodeType === 8;
+ }
+ var Block = class {
+ constructor(start, end) {
+ this.startComment = start;
+ this.endComment = end;
+ }
+ get children() {
+ let children = [];
+ let currentNode = this.startComment.nextSibling;
+ while (currentNode && currentNode !== this.endComment) {
+ children.push(currentNode);
+ currentNode = currentNode.nextSibling;
+ }
+ return children;
+ }
+ appendChild(child) {
+ this.endComment.before(child);
+ }
+ get firstChild() {
+ let first = this.startComment.nextSibling;
+ if (first === this.endComment)
+ return;
+ return first;
+ }
+ nextNode(reference) {
+ let next = reference.nextSibling;
+ if (next === this.endComment)
+ return;
+ return next;
+ }
+ insertBefore(newNode, reference) {
+ reference.before(newNode);
+ return newNode;
+ }
+ };
+ function getFirstNode(parent) {
+ return parent.firstChild;
+ }
+ function getNextSibling(parent, reference) {
+ let next;
+ if (parent instanceof Block) {
+ next = parent.nextNode(reference);
+ } else {
+ next = reference.nextSibling;
+ }
+ return next;
+ }
+ function monkeyPatchDomSetAttributeToAllowAtSymbols() {
+ if (patched)
+ return;
+ patched = true;
+ let original = Element.prototype.setAttribute;
+ let hostDiv = document.createElement("div");
+ Element.prototype.setAttribute = function newSetAttribute(name, value) {
+ if (!name.includes("@")) {
+ return original.call(this, name, value);
+ }
+ hostDiv.innerHTML = `<span ${name}="${value}"></span>`;
+ let attr = hostDiv.firstElementChild.getAttributeNode(name);
+ hostDiv.firstElementChild.removeAttributeNode(attr);
+ this.setAttributeNode(attr);
+ };
+ }
+ function seedingMatchingId(to, from) {
+ let fromId = from && from._x_bindings && from._x_bindings.id;
+ if (!fromId)
+ return;
+ to.setAttribute("id", fromId);
+ to.id = fromId;
+ }
+ function src_default(Alpine3) {
+ Alpine3.morph = morph2;
+ }
+ var module_default = src_default;
+ }
+});
+
+// ../../../node_modules/@alpinejs/mask/dist/module.cjs.js
+var require_module_cjs3 = __commonJS({
+ "../../../node_modules/@alpinejs/mask/dist/module.cjs.js"(exports, module) {
+ var __defProp2 = Object.defineProperty;
+ var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
+ var __getOwnPropNames2 = Object.getOwnPropertyNames;
+ var __hasOwnProp2 = Object.prototype.hasOwnProperty;
+ var __export2 = (target, all) => {
+ for (var name in all)
+ __defProp2(target, name, { get: all[name], enumerable: true });
+ };
+ var __copyProps2 = (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;
+ };
+ var __toCommonJS = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
+ var module_exports = {};
+ __export2(module_exports, {
+ default: () => module_default,
+ stripDown: () => stripDown
+ });
+ module.exports = __toCommonJS(module_exports);
+ function src_default(Alpine3) {
+ Alpine3.directive("mask", (el, { value, expression }, { effect, evaluateLater }) => {
+ let templateFn = () => expression;
+ let lastInputValue = "";
+ queueMicrotask(() => {
+ if (["function", "dynamic"].includes(value)) {
+ let evaluator = evaluateLater(expression);
+ effect(() => {
+ templateFn = (input) => {
+ let result;
+ Alpine3.dontAutoEvaluateFunctions(() => {
+ evaluator((value2) => {
+ result = typeof value2 === "function" ? value2(input) : value2;
+ }, { scope: {
+ // These are "magics" we'll make available to the x-mask:function:
+ "$input": input,
+ "$money": formatMoney.bind({ el })
+ } });
+ });
+ return result;
+ };
+ processInputValue(el, false);
+ });
+ } else {
+ processInputValue(el, false);
+ }
+ if (el._x_model)
+ el._x_model.set(el.value);
+ });
+ el.addEventListener("input", () => processInputValue(el));
+ el.addEventListener("blur", () => processInputValue(el, false));
+ function processInputValue(el2, shouldRestoreCursor = true) {
+ let input = el2.value;
+ let template = templateFn(input);
+ if (!template || template === "false")
+ return false;
+ if (lastInputValue.length - el2.value.length === 1) {
+ return lastInputValue = el2.value;
+ }
+ let setInput = () => {
+ lastInputValue = el2.value = formatInput(input, template);
+ };
+ if (shouldRestoreCursor) {
+ restoreCursorPosition(el2, template, () => {
+ setInput();
+ });
+ } else {
+ setInput();
+ }
+ }
+ function formatInput(input, template) {
+ if (input === "")
+ return "";
+ let strippedDownInput = stripDown(template, input);
+ let rebuiltInput = buildUp(template, strippedDownInput);
+ return rebuiltInput;
+ }
+ }).before("model");
+ }
+ function restoreCursorPosition(el, template, callback) {
+ let cursorPosition = el.selectionStart;
+ let unformattedValue = el.value;
+ callback();
+ let beforeLeftOfCursorBeforeFormatting = unformattedValue.slice(0, cursorPosition);
+ let newPosition = buildUp(
+ template,
+ stripDown(
+ template,
+ beforeLeftOfCursorBeforeFormatting
+ )
+ ).length;
+ el.setSelectionRange(newPosition, newPosition);
+ }
+ function stripDown(template, input) {
+ let inputToBeStripped = input;
+ let output = "";
+ let regexes = {
+ "9": /[0-9]/,
+ "a": /[a-zA-Z]/,
+ "*": /[a-zA-Z0-9]/
+ };
+ let wildcardTemplate = "";
+ for (let i2 = 0; i2 < template.length; i2++) {
+ if (["9", "a", "*"].includes(template[i2])) {
+ wildcardTemplate += template[i2];
+ continue;
+ }
+ for (let j2 = 0; j2 < inputToBeStripped.length; j2++) {
+ if (inputToBeStripped[j2] === template[i2]) {
+ inputToBeStripped = inputToBeStripped.slice(0, j2) + inputToBeStripped.slice(j2 + 1);
+ break;
+ }
+ }
+ }
+ for (let i2 = 0; i2 < wildcardTemplate.length; i2++) {
+ let found = false;
+ for (let j2 = 0; j2 < inputToBeStripped.length; j2++) {
+ if (regexes[wildcardTemplate[i2]].test(inputToBeStripped[j2])) {
+ output += inputToBeStripped[j2];
+ inputToBeStripped = inputToBeStripped.slice(0, j2) + inputToBeStripped.slice(j2 + 1);
+ found = true;
+ break;
+ }
+ }
+ if (!found)
+ break;
+ }
+ return output;
+ }
+ function buildUp(template, input) {
+ let clean = Array.from(input);
+ let output = "";
+ for (let i2 = 0; i2 < template.length; i2++) {
+ if (!["9", "a", "*"].includes(template[i2])) {
+ output += template[i2];
+ continue;
+ }
+ if (clean.length === 0)
+ break;
+ output += clean.shift();
+ }
+ return output;
+ }
+ function formatMoney(input, delimiter = ".", thousands, precision = 2) {
+ if (input === "-")
+ return "-";
+ if (/^\D+$/.test(input))
+ return "9";
+ if (thousands === null || thousands === void 0) {
+ thousands = delimiter === "," ? "." : ",";
+ }
+ let addThousands = (input2, thousands2) => {
+ let output = "";
+ let counter = 0;
+ for (let i2 = input2.length - 1; i2 >= 0; i2--) {
+ if (input2[i2] === thousands2)
+ continue;
+ if (counter === 3) {
+ output = input2[i2] + thousands2 + output;
+ counter = 0;
+ } else {
+ output = input2[i2] + output;
+ }
+ counter++;
+ }
+ return output;
+ };
+ let minus = input.startsWith("-") ? "-" : "";
+ let strippedInput = input.replaceAll(new RegExp(`[^0-9\\${delimiter}]`, "g"), "");
+ let template = Array.from({ length: strippedInput.split(delimiter)[0].length }).fill("9").join("");
+ template = `${minus}${addThousands(template, thousands)}`;
+ if (precision > 0 && input.includes(delimiter))
+ template += `${delimiter}` + "9".repeat(precision);
+ queueMicrotask(() => {
+ if (this.el.value.endsWith(delimiter))
+ return;
+ if (this.el.value[this.el.selectionStart - 1] === delimiter) {
+ this.el.setSelectionRange(this.el.selectionStart - 1, this.el.selectionStart - 1);
+ }
+ });
+ return template;
+ }
+ var module_default = src_default;
+ }
+});
+
+// ../../../node_modules/@alpinejs/focus/dist/module.cjs.js
+var require_module_cjs4 = __commonJS({
+ "../../../node_modules/@alpinejs/focus/dist/module.cjs.js"(exports, module) {
+ 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 __commonJS2 = (cb, mod) => function __require() {
+ return mod || (0, cb[__getOwnPropNames2(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
+ };
+ var __export2 = (target, all) => {
+ for (var name in all)
+ __defProp2(target, name, { get: all[name], enumerable: true });
+ };
+ var __copyProps2 = (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;
+ };
+ var __toESM2 = (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
+ ));
+ var __toCommonJS = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
+ var require_dist = __commonJS2({
+ "node_modules/tabbable/dist/index.js"(exports2) {
+ "use strict";
+ Object.defineProperty(exports2, "__esModule", { value: true });
+ var candidateSelectors = ["input", "select", "textarea", "a[href]", "button", "[tabindex]:not(slot)", "audio[controls]", "video[controls]", '[contenteditable]:not([contenteditable="false"])', "details>summary:first-of-type", "details"];
+ 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) {
+ return element.getRootNode();
+ } : function(element) {
+ return element.ownerDocument;
+ };
+ var getCandidates = function getCandidates2(el, includeContainer, filter) {
+ var candidates = Array.prototype.slice.apply(el.querySelectorAll(candidateSelector));
+ if (includeContainer && matches.call(el, candidateSelector)) {
+ candidates.unshift(el);
+ }
+ candidates = candidates.filter(filter);
+ return candidates;
+ };
+ var getCandidatesIteratively = function getCandidatesIteratively2(elements, includeContainer, options) {
+ var candidates = [];
+ var elementsToCheck = Array.from(elements);
+ while (elementsToCheck.length) {
+ var element = elementsToCheck.shift();
+ if (element.tagName === "SLOT") {
+ var assigned = element.assignedElements();
+ var content2 = assigned.length ? assigned : element.children;
+ var nestedCandidates = getCandidatesIteratively2(content2, true, options);
+ if (options.flatten) {
+ candidates.push.apply(candidates, nestedCandidates);
+ } else {
+ candidates.push({
+ scope: 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 = !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({
+ scope: element,
+ candidates: _nestedCandidates
+ });
+ }
+ } else {
+ elementsToCheck.unshift.apply(elementsToCheck, element.children);
+ }
+ }
+ }
+ return candidates;
+ };
+ var getTabindex = function getTabindex2(node, isScope) {
+ if (node.tabIndex < 0) {
+ if ((isScope || /^(AUDIO|VIDEO|DETAILS)$/.test(node.tagName) || node.isContentEditable) && isNaN(parseInt(node.getAttribute("tabindex"), 10))) {
+ return 0;
+ }
+ }
+ return node.tabIndex;
+ };
+ var sortOrderedTabbables = function sortOrderedTabbables2(a2, b2) {
+ return a2.tabIndex === b2.tabIndex ? a2.documentOrder - b2.documentOrder : a2.tabIndex - b2.tabIndex;
+ };
+ var isInput = function isInput2(node) {
+ return node.tagName === "INPUT";
+ };
+ var isHiddenInput = function isHiddenInput2(node) {
+ return isInput(node) && node.type === "hidden";
+ };
+ var isDetailsWithSummary = function isDetailsWithSummary2(node) {
+ var r2 = node.tagName === "DETAILS" && Array.prototype.slice.apply(node.children).some(function(child) {
+ return child.tagName === "SUMMARY";
+ });
+ return r2;
+ };
+ var getCheckedRadio = function getCheckedRadio2(nodes, form) {
+ for (var i2 = 0; i2 < nodes.length; i2++) {
+ if (nodes[i2].checked && nodes[i2].form === form) {
+ return nodes[i2];
+ }
+ }
+ };
+ var isTabbableRadio = function isTabbableRadio2(node) {
+ if (!node.name) {
+ return true;
+ }
+ var radioScope = node.form || getRootNode(node);
+ var queryRadios = function queryRadios2(name) {
+ return radioScope.querySelectorAll('input[type="radio"][name="' + name + '"]');
+ };
+ 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;
+ };
+ var isRadio = function isRadio2(node) {
+ return isInput(node) && node.type === "radio";
+ };
+ var isNonTabbableRadio = function isNonTabbableRadio2(node) {
+ return isRadio(node) && !isTabbableRadio(node);
+ };
+ var isZeroArea = function isZeroArea2(node) {
+ var _node$getBoundingClie = node.getBoundingClientRect(), width = _node$getBoundingClie.width, height = _node$getBoundingClie.height;
+ return width === 0 && height === 0;
+ };
+ var isHidden = function isHidden2(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;
+ }
+ var nodeRootHost = getRootNode(node).host;
+ var nodeIsAttached = (nodeRootHost === null || nodeRootHost === void 0 ? void 0 : nodeRootHost.ownerDocument.contains(nodeRootHost)) || node.ownerDocument.contains(node);
+ if (!displayCheck || displayCheck === "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 (nodeIsAttached) {
+ return !node.getClientRects().length;
+ }
+ } else if (displayCheck === "non-zero-area") {
+ return isZeroArea(node);
+ }
+ return false;
+ };
+ var isDisabledFromFieldset = 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 i2 = 0; i2 < parentNode.children.length; i2++) {
+ var child = parentNode.children.item(i2);
+ if (child.tagName === "LEGEND") {
+ return matches.call(parentNode, "fieldset[disabled] *") ? true : !child.contains(node);
+ }
+ }
+ return true;
+ }
+ parentNode = parentNode.parentElement;
+ }
+ }
+ return false;
+ };
+ var isNodeMatchingSelectorFocusable = function isNodeMatchingSelectorFocusable2(options, node) {
+ if (node.disabled || isHiddenInput(node) || isHidden(node, options) || // For a details element with a summary, the summary element gets the focus
+ isDetailsWithSummary(node) || isDisabledFromFieldset(node)) {
+ return false;
+ }
+ return true;
+ };
+ var isNodeMatchingSelectorTabbable = function isNodeMatchingSelectorTabbable2(options, node) {
+ if (isNonTabbableRadio(node) || getTabindex(node) < 0 || !isNodeMatchingSelectorFocusable(options, node)) {
+ return false;
+ }
+ return true;
+ };
+ var isValidShadowRootTabbable = function isValidShadowRootTabbable2(shadowHostNode) {
+ var tabIndex = parseInt(shadowHostNode.getAttribute("tabindex"), 10);
+ if (isNaN(tabIndex) || tabIndex >= 0) {
+ return true;
+ }
+ return false;
+ };
+ var sortByOrder = function sortByOrder2(candidates) {
+ var regularTabbables = [];
+ var orderedTabbables = [];
+ candidates.forEach(function(item, i2) {
+ var isScope = !!item.scope;
+ var element = isScope ? item.scope : item;
+ var candidateTabindex = getTabindex(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: i2,
+ 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);
+ };
+ var tabbable = function tabbable2(el, options) {
+ options = options || {};
+ var candidates;
+ if (options.getShadowRoot) {
+ candidates = getCandidatesIteratively([el], options.includeContainer, {
+ filter: isNodeMatchingSelectorTabbable.bind(null, options),
+ flatten: false,
+ getShadowRoot: options.getShadowRoot,
+ shadowRootFilter: isValidShadowRootTabbable
+ });
+ } else {
+ candidates = getCandidates(el, options.includeContainer, isNodeMatchingSelectorTabbable.bind(null, options));
+ }
+ return sortByOrder(candidates);
+ };
+ var focusable2 = function focusable3(el, options) {
+ options = options || {};
+ var candidates;
+ if (options.getShadowRoot) {
+ candidates = getCandidatesIteratively([el], options.includeContainer, {
+ filter: isNodeMatchingSelectorFocusable.bind(null, options),
+ flatten: true,
+ getShadowRoot: options.getShadowRoot
+ });
+ } else {
+ candidates = getCandidates(el, options.includeContainer, isNodeMatchingSelectorFocusable.bind(null, options));
+ }
+ return candidates;
+ };
+ var isTabbable = function isTabbable2(node, options) {
+ options = options || {};
+ if (!node) {
+ throw new Error("No node provided");
+ }
+ if (matches.call(node, candidateSelector) === false) {
+ return false;
+ }
+ return isNodeMatchingSelectorTabbable(options, node);
+ };
+ var focusableCandidateSelector = /* @__PURE__ */ candidateSelectors.concat("iframe").join(",");
+ var isFocusable2 = function isFocusable3(node, options) {
+ options = options || {};
+ if (!node) {
+ throw new Error("No node provided");
+ }
+ if (matches.call(node, focusableCandidateSelector) === false) {
+ return false;
+ }
+ return isNodeMatchingSelectorFocusable(options, node);
+ };
+ exports2.focusable = focusable2;
+ exports2.isFocusable = isFocusable2;
+ exports2.isTabbable = isTabbable;
+ exports2.tabbable = tabbable;
+ }
+ });
+ var require_focus_trap = __commonJS2({
+ "node_modules/focus-trap/dist/focus-trap.js"(exports2) {
+ "use strict";
+ Object.defineProperty(exports2, "__esModule", { value: true });
+ var tabbable = require_dist();
+ function ownKeys(object, enumerableOnly) {
+ var keys = Object.keys(object);
+ if (Object.getOwnPropertySymbols) {
+ var symbols = Object.getOwnPropertySymbols(object);
+ enumerableOnly && (symbols = symbols.filter(function(sym) {
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
+ })), keys.push.apply(keys, symbols);
+ }
+ return keys;
+ }
+ function _objectSpread2(target) {
+ for (var i2 = 1; i2 < arguments.length; i2++) {
+ var source = null != arguments[i2] ? arguments[i2] : {};
+ i2 % 2 ? ownKeys(Object(source), true).forEach(function(key) {
+ _defineProperty(target, key, source[key]);
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function(key) {
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
+ });
+ }
+ return target;
+ }
+ function _defineProperty(obj, key, value) {
+ if (key in obj) {
+ Object.defineProperty(obj, key, {
+ value,
+ enumerable: true,
+ configurable: true,
+ writable: true
+ });
+ } else {
+ obj[key] = value;
+ }
+ return obj;
+ }
+ var activeFocusTraps = /* @__PURE__ */ function() {
+ var trapQueue = [];
+ return {
+ activateTrap: function activateTrap(trap) {
+ if (trapQueue.length > 0) {
+ var activeTrap = trapQueue[trapQueue.length - 1];
+ if (activeTrap !== trap) {
+ activeTrap.pause();
+ }
+ }
+ var trapIndex = trapQueue.indexOf(trap);
+ if (trapIndex === -1) {
+ trapQueue.push(trap);
+ } else {
+ trapQueue.splice(trapIndex, 1);
+ trapQueue.push(trap);
+ }
+ },
+ deactivateTrap: function deactivateTrap(trap) {
+ var trapIndex = trapQueue.indexOf(trap);
+ if (trapIndex !== -1) {
+ trapQueue.splice(trapIndex, 1);
+ }
+ if (trapQueue.length > 0) {
+ trapQueue[trapQueue.length - 1].unpause();
+ }
+ }
+ };
+ }();
+ var isSelectableInput = function isSelectableInput2(node) {
+ return node.tagName && node.tagName.toLowerCase() === "input" && typeof node.select === "function";
+ };
+ var isEscapeEvent = function isEscapeEvent2(e2) {
+ return e2.key === "Escape" || e2.key === "Esc" || e2.keyCode === 27;
+ };
+ var isTabEvent = function isTabEvent2(e2) {
+ return e2.key === "Tab" || e2.keyCode === 9;
+ };
+ var delay = function delay2(fn) {
+ return setTimeout(fn, 0);
+ };
+ var findIndex = function findIndex2(arr, fn) {
+ var idx = -1;
+ arr.every(function(value, i2) {
+ if (fn(value)) {
+ idx = i2;
+ return false;
+ }
+ return true;
+ });
+ return idx;
+ };
+ var valueOrHandler = function valueOrHandler2(value) {
+ for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
+ params[_key - 1] = arguments[_key];
+ }
+ return typeof value === "function" ? value.apply(void 0, params) : value;
+ };
+ var getActualTarget = function getActualTarget2(event) {
+ return event.target.shadowRoot && typeof event.composedPath === "function" ? event.composedPath()[0] : event.target;
+ };
+ var createFocusTrap2 = function createFocusTrap3(elements, userOptions) {
+ var doc = (userOptions === null || userOptions === void 0 ? void 0 : userOptions.document) || document;
+ var config = _objectSpread2({
+ returnFocusOnDeactivate: true,
+ escapeDeactivates: true,
+ delayInitialFocus: true
+ }, userOptions);
+ var state = {
+ // containers given to createFocusTrap()
+ // @type {Array<HTMLElement>}
+ containers: [],
+ // list of objects identifying tabbable nodes in `containers` in the trap
+ // NOTE: it's possible that a group has no tabbable nodes if nodes get removed while the trap
+ // is active, but the trap should never get to a state where there isn't at least one group
+ // with at least one tabbable node in it (that would lead to an error condition that would
+ // result in an error being thrown)
+ // @type {Array<{
+ // container: HTMLElement,
+ // tabbableNodes: Array<HTMLElement>, // empty if none
+ // focusableNodes: Array<HTMLElement>, // empty if none
+ // firstTabbableNode: HTMLElement|null,
+ // lastTabbableNode: HTMLElement|null,
+ // nextTabbableNode: (node: HTMLElement, forward: boolean) => HTMLElement|undefined
+ // }>}
+ containerGroups: [],
+ // same order/length as `containers` list
+ // references to objects in `containerGroups`, but only those that actually have
+ // tabbable nodes in them
+ // NOTE: same order as `containers` and `containerGroups`, but __not necessarily__
+ // the same length
+ tabbableGroups: [],
+ nodeFocusedBeforeActivation: null,
+ mostRecentlyFocusedNode: null,
+ active: false,
+ paused: false,
+ // timer ID for when delayInitialFocus is true and initial focus in this trap
+ // has been delayed during activation
+ delayInitialFocusTimer: void 0
+ };
+ var trap;
+ var getOption = function getOption2(configOverrideOptions, optionName, configOptionName) {
+ return configOverrideOptions && configOverrideOptions[optionName] !== void 0 ? configOverrideOptions[optionName] : config[configOptionName || optionName];
+ };
+ var findContainerIndex = function findContainerIndex2(element) {
+ return state.containerGroups.findIndex(function(_ref) {
+ var container = _ref.container, tabbableNodes = _ref.tabbableNodes;
+ return container.contains(element) || // fall back to explicit tabbable search which will take into consideration any
+ // web components if the `tabbableOptions.getShadowRoot` option was used for
+ // the trap, enabling shadow DOM support in tabbable (`Node.contains()` doesn't
+ // look inside web components even if open)
+ tabbableNodes.find(function(node) {
+ return node === element;
+ });
+ });
+ };
+ var getNodeForOption = function getNodeForOption2(optionName) {
+ var optionValue = config[optionName];
+ if (typeof optionValue === "function") {
+ for (var _len2 = arguments.length, params = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
+ params[_key2 - 1] = arguments[_key2];
+ }
+ optionValue = optionValue.apply(void 0, params);
+ }
+ if (optionValue === true) {
+ optionValue = void 0;
+ }
+ if (!optionValue) {
+ if (optionValue === void 0 || optionValue === false) {
+ return optionValue;
+ }
+ throw new Error("`".concat(optionName, "` was specified but was not a node, or did not return a node"));
+ }
+ var node = optionValue;
+ if (typeof optionValue === "string") {
+ node = doc.querySelector(optionValue);
+ if (!node) {
+ throw new Error("`".concat(optionName, "` as selector refers to no known node"));
+ }
+ }
+ return node;
+ };
+ var getInitialFocusNode = function getInitialFocusNode2() {
+ var node = getNodeForOption("initialFocus");
+ if (node === false) {
+ return false;
+ }
+ if (node === void 0) {
+ if (findContainerIndex(doc.activeElement) >= 0) {
+ node = doc.activeElement;
+ } else {
+ var firstTabbableGroup = state.tabbableGroups[0];
+ var firstTabbableNode = firstTabbableGroup && firstTabbableGroup.firstTabbableNode;
+ node = firstTabbableNode || getNodeForOption("fallbackFocus");
+ }
+ }
+ if (!node) {
+ throw new Error("Your focus-trap needs to have at least one focusable element");
+ }
+ return node;
+ };
+ var updateTabbableNodes = function updateTabbableNodes2() {
+ state.containerGroups = state.containers.map(function(container) {
+ var tabbableNodes = tabbable.tabbable(container, config.tabbableOptions);
+ var focusableNodes = tabbable.focusable(container, config.tabbableOptions);
+ return {
+ container,
+ tabbableNodes,
+ focusableNodes,
+ firstTabbableNode: tabbableNodes.length > 0 ? tabbableNodes[0] : null,
+ lastTabbableNode: tabbableNodes.length > 0 ? tabbableNodes[tabbableNodes.length - 1] : null,
+ /**
+ * Finds the __tabbable__ node that follows the given node in the specified direction,
+ * in this container, if any.
+ * @param {HTMLElement} node
+ * @param {boolean} [forward] True if going in forward tab order; false if going
+ * in reverse.
+ * @returns {HTMLElement|undefined} The next tabbable node, if any.
+ */
+ nextTabbableNode: function nextTabbableNode(node) {
+ var forward = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
+ var nodeIdx = focusableNodes.findIndex(function(n2) {
+ return n2 === node;
+ });
+ if (nodeIdx < 0) {
+ return void 0;
+ }
+ if (forward) {
+ return focusableNodes.slice(nodeIdx + 1).find(function(n2) {
+ return tabbable.isTabbable(n2, config.tabbableOptions);
+ });
+ }
+ return focusableNodes.slice(0, nodeIdx).reverse().find(function(n2) {
+ return tabbable.isTabbable(n2, config.tabbableOptions);
+ });
+ }
+ };
+ });
+ state.tabbableGroups = state.containerGroups.filter(function(group) {
+ return group.tabbableNodes.length > 0;
+ });
+ if (state.tabbableGroups.length <= 0 && !getNodeForOption("fallbackFocus")) {
+ throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");
+ }
+ };
+ var tryFocus = function tryFocus2(node) {
+ if (node === false) {
+ return;
+ }
+ if (node === doc.activeElement) {
+ return;
+ }
+ if (!node || !node.focus) {
+ tryFocus2(getInitialFocusNode());
+ return;
+ }
+ node.focus({
+ preventScroll: !!config.preventScroll
+ });
+ state.mostRecentlyFocusedNode = node;
+ if (isSelectableInput(node)) {
+ node.select();
+ }
+ };
+ var getReturnFocusNode = function getReturnFocusNode2(previousActiveElement) {
+ var node = getNodeForOption("setReturnFocus", previousActiveElement);
+ return node ? node : node === false ? false : previousActiveElement;
+ };
+ var checkPointerDown = function checkPointerDown2(e2) {
+ var target = getActualTarget(e2);
+ if (findContainerIndex(target) >= 0) {
+ return;
+ }
+ if (valueOrHandler(config.clickOutsideDeactivates, e2)) {
+ trap.deactivate({
+ // if, on deactivation, we should return focus to the node originally-focused
+ // when the trap was activated (or the configured `setReturnFocus` node),
+ // then assume it's also OK to return focus to the outside node that was
+ // just clicked, causing deactivation, as long as that node is focusable;
+ // if it isn't focusable, then return focus to the original node focused
+ // on activation (or the configured `setReturnFocus` node)
+ // NOTE: by setting `returnFocus: false`, deactivate() will do nothing,
+ // which will result in the outside click setting focus to the node
+ // that was clicked, whether it's focusable or not; by setting
+ // `returnFocus: true`, we'll attempt to re-focus the node originally-focused
+ // on activation (or the configured `setReturnFocus` node)
+ returnFocus: config.returnFocusOnDeactivate && !tabbable.isFocusable(target, config.tabbableOptions)
+ });
+ return;
+ }
+ if (valueOrHandler(config.allowOutsideClick, e2)) {
+ return;
+ }
+ e2.preventDefault();
+ };
+ var checkFocusIn = function checkFocusIn2(e2) {
+ var target = getActualTarget(e2);
+ var targetContained = findContainerIndex(target) >= 0;
+ if (targetContained || target instanceof Document) {
+ if (targetContained) {
+ state.mostRecentlyFocusedNode = target;
+ }
+ } else {
+ e2.stopImmediatePropagation();
+ tryFocus(state.mostRecentlyFocusedNode || getInitialFocusNode());
+ }
+ };
+ var checkTab = function checkTab2(e2) {
+ var target = getActualTarget(e2);
+ updateTabbableNodes();
+ var destinationNode = null;
+ if (state.tabbableGroups.length > 0) {
+ var containerIndex = findContainerIndex(target);
+ var containerGroup = containerIndex >= 0 ? state.containerGroups[containerIndex] : void 0;
+ if (containerIndex < 0) {
+ if (e2.shiftKey) {
+ destinationNode = state.tabbableGroups[state.tabbableGroups.length - 1].lastTabbableNode;
+ } else {
+ destinationNode = state.tabbableGroups[0].firstTabbableNode;
+ }
+ } else if (e2.shiftKey) {
+ var startOfGroupIndex = findIndex(state.tabbableGroups, function(_ref2) {
+ var firstTabbableNode = _ref2.firstTabbableNode;
+ return target === firstTabbableNode;
+ });
+ if (startOfGroupIndex < 0 && (containerGroup.container === target || tabbable.isFocusable(target, config.tabbableOptions) && !tabbable.isTabbable(target, config.tabbableOptions) && !containerGroup.nextTabbableNode(target, false))) {
+ startOfGroupIndex = containerIndex;
+ }
+ if (startOfGroupIndex >= 0) {
+ var destinationGroupIndex = startOfGroupIndex === 0 ? state.tabbableGroups.length - 1 : startOfGroupIndex - 1;
+ var destinationGroup = state.tabbableGroups[destinationGroupIndex];
+ destinationNode = destinationGroup.lastTabbableNode;
+ }
+ } else {
+ var lastOfGroupIndex = findIndex(state.tabbableGroups, function(_ref3) {
+ var lastTabbableNode = _ref3.lastTabbableNode;
+ return target === lastTabbableNode;
+ });
+ if (lastOfGroupIndex < 0 && (containerGroup.container === target || tabbable.isFocusable(target, config.tabbableOptions) && !tabbable.isTabbable(target, config.tabbableOptions) && !containerGroup.nextTabbableNode(target))) {
+ lastOfGroupIndex = containerIndex;
+ }
+ if (lastOfGroupIndex >= 0) {
+ var _destinationGroupIndex = lastOfGroupIndex === state.tabbableGroups.length - 1 ? 0 : lastOfGroupIndex + 1;
+ var _destinationGroup = state.tabbableGroups[_destinationGroupIndex];
+ destinationNode = _destinationGroup.firstTabbableNode;
+ }
+ }
+ } else {
+ destinationNode = getNodeForOption("fallbackFocus");
+ }
+ if (destinationNode) {
+ e2.preventDefault();
+ tryFocus(destinationNode);
+ }
+ };
+ var checkKey = function checkKey2(e2) {
+ if (isEscapeEvent(e2) && valueOrHandler(config.escapeDeactivates, e2) !== false) {
+ e2.preventDefault();
+ trap.deactivate();
+ return;
+ }
+ if (isTabEvent(e2)) {
+ checkTab(e2);
+ return;
+ }
+ };
+ var checkClick = function checkClick2(e2) {
+ var target = getActualTarget(e2);
+ if (findContainerIndex(target) >= 0) {
+ return;
+ }
+ if (valueOrHandler(config.clickOutsideDeactivates, e2)) {
+ return;
+ }
+ if (valueOrHandler(config.allowOutsideClick, e2)) {
+ return;
+ }
+ e2.preventDefault();
+ e2.stopImmediatePropagation();
+ };
+ var addListeners = function addListeners2() {
+ if (!state.active) {
+ return;
+ }
+ activeFocusTraps.activateTrap(trap);
+ state.delayInitialFocusTimer = config.delayInitialFocus ? delay(function() {
+ tryFocus(getInitialFocusNode());
+ }) : tryFocus(getInitialFocusNode());
+ doc.addEventListener("focusin", checkFocusIn, true);
+ doc.addEventListener("mousedown", checkPointerDown, {
+ capture: true,
+ passive: false
+ });
+ doc.addEventListener("touchstart", checkPointerDown, {
+ capture: true,
+ passive: false
+ });
+ doc.addEventListener("click", checkClick, {
+ capture: true,
+ passive: false
+ });
+ doc.addEventListener("keydown", checkKey, {
+ capture: true,
+ passive: false
+ });
+ return trap;
+ };
+ var removeListeners = function removeListeners2() {
+ if (!state.active) {
+ return;
+ }
+ doc.removeEventListener("focusin", checkFocusIn, true);
+ doc.removeEventListener("mousedown", checkPointerDown, true);
+ doc.removeEventListener("touchstart", checkPointerDown, true);
+ doc.removeEventListener("click", checkClick, true);
+ doc.removeEventListener("keydown", checkKey, true);
+ return trap;
+ };
+ trap = {
+ get active() {
+ return state.active;
+ },
+ get paused() {
+ return state.paused;
+ },
+ activate: function activate(activateOptions) {
+ if (state.active) {
+ return this;
+ }
+ var onActivate = getOption(activateOptions, "onActivate");
+ var onPostActivate = getOption(activateOptions, "onPostActivate");
+ var checkCanFocusTrap = getOption(activateOptions, "checkCanFocusTrap");
+ if (!checkCanFocusTrap) {
+ updateTabbableNodes();
+ }
+ state.active = true;
+ state.paused = false;
+ state.nodeFocusedBeforeActivation = doc.activeElement;
+ if (onActivate) {
+ onActivate();
+ }
+ var finishActivation = function finishActivation2() {
+ if (checkCanFocusTrap) {
+ updateTabbableNodes();
+ }
+ addListeners();
+ if (onPostActivate) {
+ onPostActivate();
+ }
+ };
+ if (checkCanFocusTrap) {
+ checkCanFocusTrap(state.containers.concat()).then(finishActivation, finishActivation);
+ return this;
+ }
+ finishActivation();
+ return this;
+ },
+ deactivate: function deactivate(deactivateOptions) {
+ if (!state.active) {
+ return this;
+ }
+ var options = _objectSpread2({
+ onDeactivate: config.onDeactivate,
+ onPostDeactivate: config.onPostDeactivate,
+ checkCanReturnFocus: config.checkCanReturnFocus
+ }, deactivateOptions);
+ clearTimeout(state.delayInitialFocusTimer);
+ state.delayInitialFocusTimer = void 0;
+ removeListeners();
+ state.active = false;
+ state.paused = false;
+ activeFocusTraps.deactivateTrap(trap);
+ var onDeactivate = getOption(options, "onDeactivate");
+ var onPostDeactivate = getOption(options, "onPostDeactivate");
+ var checkCanReturnFocus = getOption(options, "checkCanReturnFocus");
+ var returnFocus = getOption(options, "returnFocus", "returnFocusOnDeactivate");
+ if (onDeactivate) {
+ onDeactivate();
+ }
+ var finishDeactivation = function finishDeactivation2() {
+ delay(function() {
+ if (returnFocus) {
+ tryFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation));
+ }
+ if (onPostDeactivate) {
+ onPostDeactivate();
+ }
+ });
+ };
+ if (returnFocus && checkCanReturnFocus) {
+ checkCanReturnFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation)).then(finishDeactivation, finishDeactivation);
+ return this;
+ }
+ finishDeactivation();
+ return this;
+ },
+ pause: function pause() {
+ if (state.paused || !state.active) {
+ return this;
+ }
+ state.paused = true;
+ removeListeners();
+ return this;
+ },
+ unpause: function unpause() {
+ if (!state.paused || !state.active) {
+ return this;
+ }
+ state.paused = false;
+ updateTabbableNodes();
+ addListeners();
+ return this;
+ },
+ updateContainerElements: function updateContainerElements(containerElements) {
+ var elementsAsArray = [].concat(containerElements).filter(Boolean);
+ state.containers = elementsAsArray.map(function(element) {
+ return typeof element === "string" ? doc.querySelector(element) : element;
+ });
+ if (state.active) {
+ updateTabbableNodes();
+ }
+ return this;
+ }
+ };
+ trap.updateContainerElements(elements);
+ return trap;
+ };
+ exports2.createFocusTrap = createFocusTrap2;
+ }
+ });
+ var module_exports = {};
+ __export2(module_exports, {
+ default: () => module_default
+ });
+ module.exports = __toCommonJS(module_exports);
+ var import_focus_trap = __toESM2(require_focus_trap());
+ var import_tabbable = __toESM2(require_dist());
+ function src_default(Alpine3) {
+ let lastFocused;
+ let currentFocused;
+ window.addEventListener("focusin", () => {
+ lastFocused = currentFocused;
+ currentFocused = document.activeElement;
+ });
+ Alpine3.magic("focus", (el) => {
+ let within = el;
+ return {
+ __noscroll: false,
+ __wrapAround: false,
+ within(el2) {
+ within = el2;
+ return this;
+ },
+ withoutScrolling() {
+ this.__noscroll = true;
+ return this;
+ },
+ noscroll() {
+ this.__noscroll = true;
+ return this;
+ },
+ withWrapAround() {
+ this.__wrapAround = true;
+ return this;
+ },
+ wrap() {
+ return this.withWrapAround();
+ },
+ focusable(el2) {
+ return (0, import_tabbable.isFocusable)(el2);
+ },
+ previouslyFocused() {
+ return lastFocused;
+ },
+ lastFocused() {
+ return lastFocused;
+ },
+ focused() {
+ return currentFocused;
+ },
+ focusables() {
+ if (Array.isArray(within))
+ return within;
+ return (0, import_tabbable.focusable)(within, { displayCheck: "none" });
+ },
+ all() {
+ return this.focusables();
+ },
+ isFirst(el2) {
+ let els = this.all();
+ return els[0] && els[0].isSameNode(el2);
+ },
+ isLast(el2) {
+ let els = this.all();
+ return els.length && els.slice(-1)[0].isSameNode(el2);
+ },
+ getFirst() {
+ return this.all()[0];
+ },
+ getLast() {
+ return this.all().slice(-1)[0];
+ },
+ getNext() {
+ let list = this.all();
+ let current = document.activeElement;
+ if (list.indexOf(current) === -1)
+ return;
+ if (this.__wrapAround && list.indexOf(current) === list.length - 1) {
+ return list[0];
+ }
+ return list[list.indexOf(current) + 1];
+ },
+ getPrevious() {
+ let list = this.all();
+ let current = document.activeElement;
+ if (list.indexOf(current) === -1)
+ return;
+ if (this.__wrapAround && list.indexOf(current) === 0) {
+ return list.slice(-1)[0];
+ }
+ return list[list.indexOf(current) - 1];
+ },
+ first() {
+ this.focus(this.getFirst());
+ },
+ last() {
+ this.focus(this.getLast());
+ },
+ next() {
+ this.focus(this.getNext());
+ },
+ previous() {
+ this.focus(this.getPrevious());
+ },
+ prev() {
+ return this.previous();
+ },
+ focus(el2) {
+ if (!el2)
+ return;
+ setTimeout(() => {
+ if (!el2.hasAttribute("tabindex"))
+ el2.setAttribute("tabindex", "0");
+ el2.focus({ preventScroll: this._noscroll });
+ });
+ }
+ };
+ });
+ Alpine3.directive("trap", Alpine3.skipDuringClone(
+ (el, { expression, modifiers }, { effect, evaluateLater, cleanup }) => {
+ let evaluator = evaluateLater(expression);
+ let oldValue = false;
+ let options = {
+ escapeDeactivates: false,
+ allowOutsideClick: true,
+ fallbackFocus: () => el
+ };
+ let autofocusEl = el.querySelector("[autofocus]");
+ if (autofocusEl)
+ options.initialFocus = autofocusEl;
+ let trap = (0, import_focus_trap.createFocusTrap)(el, options);
+ let undoInert = () => {
+ };
+ let undoDisableScrolling = () => {
+ };
+ const releaseFocus = () => {
+ undoInert();
+ undoInert = () => {
+ };
+ undoDisableScrolling();
+ undoDisableScrolling = () => {
+ };
+ trap.deactivate({
+ returnFocus: !modifiers.includes("noreturn")
+ });
+ };
+ effect(() => evaluator((value) => {
+ if (oldValue === value)
+ return;
+ if (value && !oldValue) {
+ if (modifiers.includes("noscroll"))
+ undoDisableScrolling = disableScrolling();
+ if (modifiers.includes("inert"))
+ undoInert = setInert(el);
+ setTimeout(() => {
+ trap.activate();
+ }, 15);
+ }
+ if (!value && oldValue) {
+ releaseFocus();
+ }
+ oldValue = !!value;
+ }));
+ cleanup(releaseFocus);
+ },
+ // When cloning, we only want to add aria-hidden attributes to the
+ // DOM and not try to actually trap, as trapping can mess with the
+ // live DOM and isn't just isolated to the cloned DOM.
+ (el, { expression, modifiers }, { evaluate }) => {
+ if (modifiers.includes("inert") && evaluate(expression))
+ setInert(el);
+ }
+ ));
+ }
+ function setInert(el) {
+ let undos = [];
+ crawlSiblingsUp(el, (sibling) => {
+ let cache = sibling.hasAttribute("aria-hidden");
+ sibling.setAttribute("aria-hidden", "true");
+ undos.push(() => cache || sibling.removeAttribute("aria-hidden"));
+ });
+ return () => {
+ while (undos.length)
+ undos.pop()();
+ };
+ }
+ function crawlSiblingsUp(el, callback) {
+ if (el.isSameNode(document.body) || !el.parentNode)
+ return;
+ Array.from(el.parentNode.children).forEach((sibling) => {
+ if (sibling.isSameNode(el)) {
+ crawlSiblingsUp(el.parentNode, callback);
+ } else {
+ callback(sibling);
+ }
+ });
+ }
+ function disableScrolling() {
+ let overflow = document.documentElement.style.overflow;
+ let paddingRight = document.documentElement.style.paddingRight;
+ let scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;
+ document.documentElement.style.overflow = "hidden";
+ document.documentElement.style.paddingRight = `${scrollbarWidth}px`;
+ return () => {
+ document.documentElement.style.overflow = overflow;
+ document.documentElement.style.paddingRight = paddingRight;
+ };
+ }
+ var module_default = src_default;
+ }
+});
+
+// ../../../config/tokens.js
+var require_tokens = __commonJS({
+ "../../../config/tokens.js"(exports, module) {
+ var colors = {
+ transparent: "transparent",
+ current: "currentColor",
+ black: "#000000",
+ white: "#FFFFFF",
+ coco: {
+ gray: {
+ 50: "#F9FAFB",
+ 100: "#F3F4F6",
+ 200: "#E5E7EB",
+ 300: "#D1D5DB",
+ 400: "#9CA3AF",
+ 500: "#6B7280",
+ 600: "#4B5563",
+ 700: "#374151",
+ 800: "#1F2937",
+ 900: "#111827"
+ }
+ },
+ gray: {
+ transparent: {
+ 50: "rgba(0, 12, 39, 0.06)",
+ 100: "rgba(0, 12, 39, 0.1)",
+ 200: "rgba(0, 12, 39, 0.18)"
+ }
+ },
+ green: {
+ 50: "#E8F3F1",
+ 100: "#D1E7E2",
+ 200: "#A3CFC5",
+ 300: "#76B8AA",
+ 400: "#48A08D",
+ 500: "#1A8871",
+ 600: "#137464",
+ 700: "#0D6159",
+ 800: "#084C4E",
+ 900: "#013C43"
+ },
+ red: {
+ 50: "#FEF2F2",
+ 100: "#FEE2E2",
+ 200: "#FECACA",
+ 300: "#FCA5A5",
+ 400: "#F87171",
+ 500: "#EF4444",
+ 600: "#DC2626",
+ 700: "#B91C1C",
+ 800: "#991B1B",
+ 900: "#7F1D1D"
+ },
+ amber: {
+ 50: "#FFFBEB",
+ 100: "#FEF3C7",
+ 200: "#FDE68A",
+ 300: "#FCD34D",
+ 400: "#FBBF24",
+ 500: "#F59E0B",
+ 600: "#D97706",
+ 700: "#B45309",
+ 800: "#92400E",
+ 900: "#78350F"
+ },
+ blue: {
+ 50: "#F0F9FF",
+ 100: "#E0F2FE",
+ 200: "#BAE6FD",
+ 300: "#7DD3FC",
+ 400: "#38BDF8",
+ 500: "#0EA5E9",
+ 600: "#0284C7",
+ 700: "#0369A1",
+ 800: "#075985",
+ 900: "#0C4A6E"
+ },
+ teal: {
+ 50: "#F0FDFA",
+ 100: "#CCFBF1",
+ 200: "#99F6E4",
+ 300: "#5EEAD4",
+ 400: "#2DD4BF",
+ 500: "#14B8A6",
+ 600: "#0D9488",
+ 700: "#0F766E",
+ 800: "#115E59",
+ 900: "#134E4A"
+ }
+ };
+ var colorAliases = {
+ primary: {
+ ...colors.green
+ },
+ positive: {
+ ...colors.green
+ },
+ negative: {
+ ...colors.red
+ },
+ warning: {
+ ...colors.amber
+ },
+ info: {
+ ...colors.blue
+ },
+ background: {
+ header: {
+ DEFAULT: "#427484"
+ },
+ light: {
+ 1: colors.white,
+ 2: colors.coco.gray[50],
+ 3: colors.coco.gray[100]
+ },
+ dark: {
+ 1: colors.coco.gray[900],
+ 2: colors.coco.gray[800],
+ 3: colors.coco.gray[700]
+ },
+ primary: {
+ DEFAULT: colors.green[500],
+ light: colors.green[100]
+ },
+ negative: {
+ DEFAULT: colors.red[600],
+ light: colors.red[100]
+ },
+ warning: {
+ DEFAULT: colors.amber[500],
+ light: colors.amber[50]
+ },
+ positive: {
+ DEFAULT: colors.green[500],
+ light: colors.green[100]
+ },
+ info: {
+ DEFAULT: colors.blue[600],
+ light: colors.blue[100]
+ }
+ },
+ content: {
+ dark: {
+ 1: colors.coco.gray[900],
+ 2: colors.coco.gray[800],
+ 3: colors.coco.gray[600],
+ muted: colors.coco.gray[400]
+ },
+ light: {
+ 1: colors.white,
+ 2: colors.coco.gray[200],
+ muted: colors.coco.gray[400]
+ },
+ primary: {
+ DEFAULT: colors.green[500],
+ dark: colors.green[600],
+ inverse: colors.green[300],
+ "inverse-vivid": "#009979"
+ },
+ negative: {
+ DEFAULT: colors.red[600],
+ dark: colors.red[700],
+ inverse: colors.red[300]
+ },
+ warning: {
+ DEFAULT: colors.amber[600],
+ dark: colors.amber[700],
+ inverse: colors.amber[300]
+ },
+ positive: {
+ DEFAULT: colors.green[500],
+ dark: colors.green[600],
+ inverse: colors.green[300]
+ },
+ info: {
+ DEFAULT: colors.blue[600],
+ dark: colors.blue[700],
+ inverse: colors.blue[300]
+ }
+ }
+ };
+ var screens = {
+ xs: "380px",
+ sm: "576px",
+ md: "768px",
+ lg: "992px",
+ xl: "1200px",
+ "2xl": "1400px",
+ "3xl": "1600px",
+ max: "1800px",
+ "max-sm": { max: "576px" },
+ "max-md": { max: "768px" },
+ "max-lg": { max: "992px" },
+ "max-xl": { max: "1200px" },
+ "max-2xl": { max: "1400px" },
+ "max-max": { max: "1800px" },
+ letterbox: { raw: "(max-height: 760px) and (min-width: 576px)" },
+ print: { raw: "print" }
+ // Note: PDFs are rendered at a viewport width of 1280px
+ };
+ var fontSize = {
+ "para-xs": ["12px", "16px"],
+ "para-sm": ["14px", "20px"],
+ "para-md": ["16px", "24px"],
+ "para-lg": ["18px", "27px"],
+ "label-xxs": ["10px", "12px"],
+ "label-xs": ["12px", "14px"],
+ "label-sm": ["14px", "16px"],
+ "label-md": ["16px", "20px"],
+ "label-lg": ["18px", "24px"],
+ "display-1": ["96px", "96px"],
+ "display-2": ["80px", "84px"],
+ "display-3": ["64px", "68px"],
+ "display-4": ["48px", "52px"],
+ "relaxed-display-1": ["96px", "104px"],
+ "relaxed-display-2": ["80px", "88px"],
+ "relaxed-display-3": ["64px", "72px"],
+ "relaxed-display-4": ["48px", "56px"],
+ "heading-1": ["40px", "48px"],
+ "heading-2": ["32px", "40px"],
+ "heading-3": ["28px", "36px"],
+ "heading-4": ["24px", "30px"],
+ "heading-5": ["20px", "24px"],
+ "heading-6": ["16px", "20px"],
+ "subheading-1": ["32px", "40px"],
+ "subheading-2": ["24px", "32px"],
+ "subheading-3": ["20px", "28px"],
+ "subheading-4": ["16px", "24px"]
+ };
+ module.exports = {
+ colors: {
+ ...colors,
+ ...colorAliases
+ },
+ screens,
+ fontSize,
+ fontFamily: {
+ displaySans: "proxima-nova",
+ bodySans: "proxima-nova",
+ displaySerif: "merriweather"
+ }
+ };
+ }
+});
+
// ../../../node_modules/@jaames/iro/dist/iro.js
var require_iro = __commonJS({
"../../../node_modules/@jaames/iro/dist/iro.js"(exports, module) {
(function(global2, factory) {
typeof exports === "object" && typeof module !== "undefined" ? module.exports = factory() : typeof define === "function" && define.amd ? define(factory) : (global2 = global2 || self, global2.iro = factory());
@@ -14462,17 +14707,18 @@
return f2;
}
u2.prepend(s2, o2), A2(u2), S2();
}();
-// base/alpine/index.js
-var import_alpinejs = __toESM(require_module_cjs());
-var import_morph = __toESM(require_module_cjs2());
-var import_mask = __toESM(require_module_cjs3());
-var import_focus = __toESM(require_module_cjs4());
-
// helpers/alpine.js
+var alpine_exports = {};
+__export(alpine_exports, {
+ getComponent: () => getComponent,
+ getData: () => getData,
+ registerComponents: () => registerComponents,
+ setData: () => setData
+});
function registerComponents(components) {
document.addEventListener("alpine:init", () => {
components.forEach((module) => {
if (module.default && module.default.component === true) {
Alpine.data(module.default.name, module.default);
@@ -14499,10 +14745,63 @@
function setData(el, newData) {
const data = getData(el);
return data ? Object.assign(data, newData) : null;
}
+// helpers/color.js
+var color_exports = {};
+__export(color_exports, {
+ formatHex: () => formatHex,
+ isDark: () => isDark,
+ isLight: () => isLight,
+ isValidHex: () => isValidHex
+});
+function isDark(color) {
+ let r2;
+ let g2;
+ let b2;
+ let hsp;
+ color = +`0x${color.slice(1).replace(color.length < 5 && /./g, "$&$&")}`;
+ r2 = color >> 16;
+ g2 = color >> 8 & 255;
+ b2 = color & 255;
+ hsp = Math.sqrt(0.299 * (r2 * r2) + 0.587 * (g2 * g2) + 0.114 * (b2 * b2));
+ if (hsp > 127.5) {
+ return false;
+ }
+ return true;
+}
+function isLight(color) {
+ return !isDark(color);
+}
+function isValidHex(color) {
+ if (!color || typeof color !== "string")
+ return false;
+ if (color.substring(0, 1) === "#")
+ color = color.substring(1);
+ switch (color.length) {
+ case 3:
+ return /^[0-9A-F]{3}$/i.test(color);
+ case 6:
+ return /^[0-9A-F]{6}$/i.test(color);
+ case 8:
+ return /^[0-9A-F]{8}$/i.test(color);
+ default:
+ return false;
+ }
+}
+function formatHex(str) {
+ return `#${str.toUpperCase().replace("#", "")}`;
+}
+
+// helpers/dom.js
+var dom_exports = {};
+__export(dom_exports, {
+ castAttributeValue: () => castAttributeValue,
+ isNode: () => isNode
+});
+
// helpers/lang.js
var lang_exports = {};
__export(lang_exports, {
camelCase: () => import_lodash.default,
isNumeric: () => isNumeric,
@@ -14553,10 +14852,109 @@
}
}
return bytes;
}
+// helpers/dom.js
+function castAttributeValue(value) {
+ if (value === "false") {
+ return false;
+ }
+ if (value === "true") {
+ return true;
+ }
+ if (isNumeric(value)) {
+ return parseInt(value, 10);
+ }
+ return value;
+}
+function isNode(o2) {
+ return typeof Node === "object" ? o2 instanceof Node : o2 && typeof o2 === "object" && typeof o2.nodeType === "number" && typeof o2.nodeName === "string";
+}
+
+// helpers/location.js
+var location_exports = {};
+__export(location_exports, {
+ navigateTo: () => navigateTo
+});
+function navigateTo(url, options = {}) {
+ if (window.Turbo && options.turbo === true) {
+ delete options.turbo;
+ turboOptions = Object.assign({ action: "advance" }, options);
+ window.Turbo.visit(url, turboOptions);
+ } else {
+ location.assign(url);
+ }
+}
+
+// helpers/path.js
+var path_exports = {};
+__export(path_exports, {
+ basename: () => basename,
+ dirname: () => dirname,
+ stripExtension: () => stripExtension
+});
+function stripExtension(filename) {
+ return filename.substring(0, filename.lastIndexOf(".")) || filename;
+}
+function dirname(path) {
+ return path ? path.match(/.*\//) : path;
+}
+function basename(path) {
+ return path ? path.replace(/.*\//, "") : path;
+}
+
+// helpers/index.js
+var helpers_default = {
+ ...alpine_exports,
+ ...color_exports,
+ ...dom_exports,
+ ...lang_exports,
+ ...location_exports,
+ ...path_exports
+};
+
+// base/tippy/index.js
+var import_tippy = __toESM(require_tippy_cjs());
+
+// base/tippy/plugins/hide_on_esc.js
+var hideOnEsc = {
+ name: "hideOnEsc",
+ defaultValue: true,
+ fn({ hide }) {
+ function onKeyDown(event) {
+ if (event.keyCode === 27) {
+ hide();
+ }
+ }
+ return {
+ onShow() {
+ document.addEventListener("keydown", onKeyDown);
+ },
+ onHide() {
+ document.removeEventListener("keydown", onKeyDown);
+ }
+ };
+ }
+};
+var hide_on_esc_default = hideOnEsc;
+
+// base/tippy/index.js
+import_tippy.default.setDefaultProps({
+ theme: null,
+ allowHTML: true,
+ arrow: import_tippy.roundArrow + import_tippy.roundArrow,
+ plugins: [hide_on_esc_default, import_tippy.followCursor]
+});
+var tippy_default = import_tippy.default;
+
+// base/alpine/index.js
+var import_alpinejs = __toESM(require_module_cjs());
+var import_morph = __toESM(require_module_cjs2());
+var import_mask = __toESM(require_module_cjs3());
+var import_focus = __toESM(require_module_cjs4());
+
// base/alpine/directives/undo.js
function undo_default(Alpine3) {
const maxHistorySize = 100;
Alpine3.directive("undo", (el, { expression }, { evaluate }) => {
const data = getData(el);
@@ -14623,32 +15021,10 @@
});
setData(el, { history });
});
}
-// helpers/dom.js
-var dom_exports = {};
-__export(dom_exports, {
- castAttributeValue: () => castAttributeValue,
- isNode: () => isNode
-});
-function castAttributeValue(value) {
- if (value === "false") {
- return false;
- }
- if (value === "true") {
- return true;
- }
- if (isNumeric(value)) {
- return parseInt(value, 10);
- }
- return value;
-}
-function isNode(o2) {
- return typeof Node === "object" ? o2 instanceof Node : o2 && typeof o2 === "object" && typeof o2.nodeType === "number" && typeof o2.nodeName === "string";
-}
-
// base/alpine/directives/options.js
function options_default(Alpine3) {
Alpine3.directive(
"options",
(el, { expression }, { evaluate, effect, cleanup }) => {
@@ -14704,43 +15080,10 @@
}
function toPairs(optionsData) {
return (0, import_lodash3.default)((0, import_lodash4.default)(optionsData, "key"), "value");
}
-// base/tippy/index.js
-var import_tippy = __toESM(require_tippy_cjs());
-
-// base/tippy/plugins/hide_on_esc.js
-var hide_on_esc_default = hideOnEsc = {
- name: "hideOnEsc",
- defaultValue: true,
- fn({ hide }) {
- function onKeyDown(event) {
- if (event.keyCode === 27) {
- hide();
- }
- }
- return {
- onShow() {
- document.addEventListener("keydown", onKeyDown);
- },
- onHide() {
- document.removeEventListener("keydown", onKeyDown);
- }
- };
- }
-};
-
-// base/tippy/index.js
-import_tippy.default.setDefaultProps({
- theme: null,
- allowHTML: true,
- arrow: import_tippy.roundArrow + import_tippy.roundArrow,
- plugins: [hide_on_esc_default, import_tippy.followCursor]
-});
-var tippy_default = import_tippy.default;
-
// base/alpine/utils/tippy_modifiers.js
function tippyModifiers(modifiers) {
if (modifiers.length === 0)
return {};
const config = {
@@ -15026,25 +15369,25 @@
var alpine_default = import_alpinejs.default;
// ../../../package.json
var package_default = {
name: "coveragebook-components",
- version: "0.16.0",
+ version: "0.17.0",
repository: "git@github.com:coveragebook/coco.git",
license: "NO LICENSE",
author: "Mark Perkins <mark@coveragebook.com>",
- main: "app/assets/build/coco/coc0.js",
+ main: "app/assets/build/coco/coco.js",
engines: {
node: "20.x"
},
scripts: {
build: "npm run js:build && npm run css:build npm run build:tailwind-preset && npm run lookbook:build",
"build:tailwind-preset": "esbuild ./config/tailwind.preset.js --bundle --format=cjs --outdir=./app/assets/build/coco --log-level=error",
"build:dev": "npm run js:dev && npm run css:dev",
- "css:build": "postcss ./app/assets/css/{app,book,coco}.css -d ./app/assets/build/coco",
- "css:dev": "postcss ./app/assets/css/{app,book,coco}.css -d ./app/assets/build/coco/dev",
- "css:watch": "postcss ./app/assets/css/{app,book,coco}.css -d ./app/assets/build/coco/dev --watch",
+ "css:build": "postcss ./app/assets/css/coco.css -d ./app/assets/build/coco",
+ "css:dev": "postcss ./app/assets/css/coco.css -d ./app/assets/build/coco/dev",
+ "css:watch": "postcss ./app/assets/css/coco.css -d ./app/assets/build/coco/dev --watch",
"js:build": "node esbuild.config.mjs",
"js:dev": "node esbuild.config.mjs --dev",
"js:watch": "node esbuild.config.mjs --watch",
"lint:fix": "bundle exec standardrb --fix && prettier --write .",
"lookbook:build": "cd lookbook && npm run build",
@@ -15083,11 +15426,10 @@
del: "^7.1.0",
esbuild: "^0.19.11",
"esbuild-plugin-copy": "^2.0.2",
"fast-glob": "^3.3.1",
"fast-sort": "^3.2.1",
- html2canvas: "^1.4.1",
husky: "^8.0.3",
"js-cookie": "^3.0.5",
"lint-staged": "^15.2.0",
"lodash.camelcase": "^4.3.0",
"lodash.kebabcase": "^4.1.1",
@@ -15124,116 +15466,10 @@
"after:release": "rake coco:gem:release[${version}]"
}
}
};
-// coco/component.js
-function CocoComponent(name, fn) {
- const func = nameFunction(name, (...args) => {
- const data = fn(...args);
- Object.defineProperties(data, {
- $parent: {
- get() {
- return getData(this.$root.parentElement);
- }
- }
- });
- data.$options = {};
- return data;
- });
- func.component = true;
- return func;
-}
-var component_default = CocoComponent;
-
-// helpers/index.js
-var helpers_exports = {};
-__export(helpers_exports, {
- color: () => color_exports,
- dom: () => dom_exports,
- lang: () => lang_exports,
- location: () => location_exports,
- turboEvents: () => turbo_events_exports
-});
-
-// helpers/color.js
-var color_exports = {};
-__export(color_exports, {
- formatHex: () => formatHex,
- isDark: () => isDark,
- isLight: () => isLight,
- isValidHex: () => isValidHex
-});
-function isDark(color) {
- let r2;
- let g2;
- let b2;
- let hsp;
- color = +`0x${color.slice(1).replace(color.length < 5 && /./g, "$&$&")}`;
- r2 = color >> 16;
- g2 = color >> 8 & 255;
- b2 = color & 255;
- hsp = Math.sqrt(0.299 * (r2 * r2) + 0.587 * (g2 * g2) + 0.114 * (b2 * b2));
- if (hsp > 127.5) {
- return false;
- }
- return true;
-}
-function isLight(color) {
- return !isDark(color);
-}
-function isValidHex(color) {
- if (!color || typeof color !== "string")
- return false;
- if (color.substring(0, 1) === "#")
- color = color.substring(1);
- switch (color.length) {
- case 3:
- return /^[0-9A-F]{3}$/i.test(color);
- case 6:
- return /^[0-9A-F]{6}$/i.test(color);
- case 8:
- return /^[0-9A-F]{8}$/i.test(color);
- default:
- return false;
- }
-}
-function formatHex(str) {
- return `#${str.toUpperCase().replace("#", "")}`;
-}
-
-// helpers/location.js
-var location_exports = {};
-__export(location_exports, {
- navigateTo: () => navigateTo
-});
-function navigateTo(url, options = {}) {
- if (window.Turbo && options.turbo === true) {
- delete options.turbo;
- turboOptions = Object.assign({ action: "advance" }, options);
- window.Turbo.visit(url, turboOptions);
- } else {
- location.assign(url);
- }
-}
-
-// helpers/turbo_events.js
-var turbo_events_exports = {};
-__export(turbo_events_exports, {
- hasFailed: () => hasFailed,
- wasSuccessful: () => wasSuccessful
-});
-function wasSuccessful(event) {
- return getEventDetail(event).success;
-}
-function hasFailed(event) {
- return !getEventDetail(event).success;
-}
-function getEventDetail(obj) {
- return obj instanceof CustomEvent ? obj.detail : obj;
-}
-
// coco/coco.js
var Coco = {
version: package_default.version,
start() {
if (this._started) {
@@ -15245,20 +15481,37 @@
alpine_default.start();
},
registerComponents(components) {
this._components.push(...components);
},
- component(...args) {
- return component_default(...args);
- },
_components: [],
_started: false
};
-Coco.Component = component_default;
-Coco.helpers = helpers_exports;
var coco_default = Coco;
+// coco/component.js
+function CocoComponent(name, fn) {
+ const func = nameFunction(name, (...args) => {
+ const data = fn(...args);
+ Object.defineProperties(data, {
+ $parent: {
+ get() {
+ return getData(this.$root.parentElement);
+ }
+ }
+ });
+ data.$options = {};
+ return data;
+ });
+ func.component = true;
+ return func;
+}
+var component_default = CocoComponent;
+
+// coco.js
+var import_tokens = __toESM(require_tokens());
+
// ../../components/coco/buttons/button/button.js
var button_exports = {};
__export(button_exports, {
default: () => button_default
});
@@ -15563,17 +15816,10 @@
// ../../components/coco/buttons/image_picker_button/image_picker_button.js
var image_picker_button_exports = {};
__export(image_picker_button_exports, {
default: () => image_picker_button_default
});
-
-// helpers/path.js
-function basename(path) {
- return path ? path.replace(/.*\//, "") : path;
-}
-
-// ../../components/coco/buttons/image_picker_button/image_picker_button.js
var image_picker_button_default = CocoComponent("imagePickerButton", ({ src }) => {
return {
selectedImage: {
name: basename(src),
file: null,
@@ -16511,11 +16757,17 @@
];
// coco.js
coco_default.registerComponents(components_default);
var coco_default2 = coco_default;
+var export_tokens = import_tokens.default;
export {
- coco_default2 as default
+ coco_default as Coco,
+ component_default as CocoComponent,
+ coco_default2 as default,
+ helpers_default as helpers,
+ tippy_default as tippy,
+ export_tokens as tokens
};
/*! Bundled license information:
@alpinejs/focus/dist/module.cjs.js:
(*! Bundled license information: