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 = "&quot;"; - break; - case 38: - escaped = "&amp;"; - break; - case 39: - escaped = "&#39;"; - break; - case 60: - escaped = "&lt;"; - break; - case 62: - escaped = "&gt;"; - 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 = "&quot;"; + break; + case 38: + escaped = "&amp;"; + break; + case 39: + escaped = "&#39;"; + break; + case 60: + escaped = "&lt;"; + break; + case 62: + escaped = "&gt;"; + 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: