UNPKG

@varlet/ui

Version:

A Vue3 component library based on Material Design 2 and 3, supporting mobile and desktop.

32,506 lines 1.08 MB
"use strict";
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
const vue = require("vue");
function default2(n2) {
  return { all: n2 = n2 || /* @__PURE__ */ new Map(), on: function(t2, e) {
    var i = n2.get(t2);
    i ? i.push(e) : n2.set(t2, [e]);
  }, off: function(t2, e) {
    var i = n2.get(t2);
    i && (e ? i.splice(i.indexOf(e) >>> 0, 1) : n2.set(t2, []));
  }, emit: function(t2, e) {
    var i = n2.get(t2);
    i && i.slice().map(function(n3) {
      n3(e);
    }), (i = n2.get("*")) && i.slice().map(function(n3) {
      n3(t2, e);
    });
  } };
}
const mitt_star = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  default: default2
}, Symbol.toStringTag, { value: "Module" }));
var __defProp$B = Object.defineProperty;
var __defProps$e = Object.defineProperties;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropDescs$e = Object.getOwnPropertyDescriptors;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getOwnPropSymbols$B = Object.getOwnPropertySymbols;
var __hasOwnProp$B = Object.prototype.hasOwnProperty;
var __propIsEnum$B = Object.prototype.propertyIsEnumerable;
var __defNormalProp$B = (obj, key3, value) => key3 in obj ? __defProp$B(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues$B = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$B.call(b, prop))
      __defNormalProp$B(a, prop, b[prop]);
  if (__getOwnPropSymbols$B)
    for (var prop of __getOwnPropSymbols$B(b)) {
      if (__propIsEnum$B.call(b, prop))
        __defNormalProp$B(a, prop, b[prop]);
    }
  return a;
};
var __spreadProps$e = (a, b) => __defProps$e(a, __getOwnPropDescs$e(b));
var __export = (target, all) => {
  for (var name2 in all)
    __defProp$B(target, name2, { get: all[name2], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
  if (from && typeof from === "object" || typeof from === "function") {
    for (let key3 of __getOwnPropNames(from))
      if (!__hasOwnProp$B.call(to, key3) && key3 !== except)
        __defProp$B(to, key3, { get: () => from[key3], enumerable: !(desc = __getOwnPropDesc(from, key3)) || desc.enumerable });
  }
  return to;
};
var __reExport = (target, mod2, secondTarget) => (__copyProps(target, mod2, "default"), secondTarget);
var src_exports = {};
__export(src_exports, {
  NOOP: () => NOOP,
  assert: () => assert$1,
  at: () => at,
  baseRound: () => baseRound,
  call: () => call,
  camelize: () => camelize,
  cancelAnimationFrame: () => cancelAnimationFrame,
  ceil: () => ceil$1,
  chunk: () => chunk,
  clamp: () => clamp$1,
  clampArrayRange: () => clampArrayRange,
  classes: () => classes$1d,
  cloneDeep: () => cloneDeep,
  cloneDeepWith: () => cloneDeepWith,
  copyText: () => copyText,
  createNamespaceFn: () => createNamespaceFn,
  createStorage: () => createStorage,
  debounce: () => debounce$1,
  delay: () => delay,
  difference: () => difference,
  differenceWith: () => differenceWith,
  doubleRaf: () => doubleRaf,
  download: () => download,
  ensurePrefix: () => ensurePrefix,
  ensureSuffix: () => ensureSuffix,
  find: () => find,
  floor: () => floor$1,
  genNumberKey: () => genNumberKey,
  genStringKey: () => genStringKey,
  getAllParentScroller: () => getAllParentScroller$1,
  getGlobalThis: () => getGlobalThis,
  getParentScroller: () => getParentScroller$1,
  getRect: () => getRect,
  getScrollLeft: () => getScrollLeft,
  getScrollTop: () => getScrollTop,
  getStyle: () => getStyle$1,
  groupBy: () => groupBy,
  hasOwn: () => hasOwn,
  inBrowser: () => inBrowser,
  inMobile: () => inMobile,
  inViewport: () => inViewport,
  intersection: () => intersection,
  intersectionWith: () => intersectionWith,
  isArray: () => isArray,
  isArrayBuffer: () => isArrayBuffer,
  isBlob: () => isBlob,
  isBoolean: () => isBoolean,
  isDOMException: () => isDOMException,
  isDataView: () => isDataView,
  isDate: () => isDate,
  isEmpty: () => isEmpty,
  isEmptyPlainObject: () => isEmptyPlainObject,
  isEqual: () => isEqual,
  isEqualWith: () => isEqualWith,
  isError: () => isError,
  isFile: () => isFile,
  isFunction: () => isFunction,
  isMap: () => isMap,
  isNonEmptyArray: () => isNonEmptyArray,
  isNullish: () => isNullish,
  isNumber: () => isNumber,
  isNumeric: () => isNumeric,
  isObject: () => isObject,
  isPlainObject: () => isPlainObject,
  isPrimitive: () => isPrimitive,
  isPromise: () => isPromise,
  isRegExp: () => isRegExp,
  isSet: () => isSet,
  isString: () => isString,
  isSymbol: () => isSymbol,
  isTruthy: () => isTruthy,
  isTypedArray: () => isTypedArray,
  isWeakMap: () => isWeakMap,
  isWeakSet: () => isWeakSet,
  isWindow: () => isWindow,
  kebabCase: () => kebabCase,
  localStorage: () => localStorage,
  lowerFirst: () => lowerFirst,
  mapObject: () => mapObject,
  maxBy: () => maxBy,
  mean: () => mean,
  meanBy: () => meanBy,
  merge: () => merge$1,
  mergeWith: () => mergeWith,
  minBy: () => minBy,
  mitt: () => default2,
  motion: () => motion,
  normalizeToArray: () => normalizeToArray,
  objectToString: () => objectToString,
  omit: () => omit,
  omitBy: () => omitBy,
  once: () => once,
  pascalCase: () => pascalCase,
  pick: () => pick,
  pickBy: () => pickBy,
  prettyJSONObject: () => prettyJSONObject,
  preventDefault: () => preventDefault,
  promiseWithResolvers: () => promiseWithResolvers,
  raf: () => raf,
  randomColor: () => randomColor,
  randomNumber: () => randomNumber,
  randomString: () => randomString,
  removeArrayBlank: () => removeArrayBlank,
  removeArrayEmpty: () => removeArrayEmpty,
  removeItem: () => removeItem,
  requestAnimationFrame: () => requestAnimationFrame$1,
  round: () => round$2,
  sample: () => sample,
  sessionStorage: () => sessionStorage,
  shuffle: () => shuffle,
  slash: () => slash,
  sum: () => sum$1,
  sumBy: () => sumBy,
  sumHash: () => sumHash,
  supportTouch: () => supportTouch,
  throttle: () => throttle,
  times: () => times,
  toArrayBuffer: () => toArrayBuffer,
  toDataURL: () => toDataURL,
  toNumber: () => toNumber,
  toRawType: () => toRawType,
  toText: () => toText,
  toTypeString: () => toTypeString,
  toggleItem: () => toggleItem,
  tryParseJSON: () => tryParseJSON,
  uniq: () => uniq,
  uniqBy: () => uniqBy,
  upperFirst: () => upperFirst,
  xor: () => xor,
  xorWith: () => xorWith
});
function at(arr, index) {
  if (!arr.length) {
    return;
  }
  if (index < 0) {
    index += arr.length;
  }
  return arr[index];
}
function clamp$1(num, min2, max2) {
  return Math.min(max2, Math.max(min2, num));
}
function clampArrayRange(index, arr) {
  return clamp$1(index, 0, arr.length - 1);
}
function delay(time) {
  return new Promise((resolve) => {
    setTimeout(resolve, time);
  });
}
function randomNumber(min2 = 0, max2 = 100) {
  return Math.floor(Math.random() * (max2 - min2 + 1)) + min2;
}
function times(num, fn2) {
  return Array.from({ length: num }, (_, index) => fn2(index));
}
function inBrowser() {
  return typeof window !== "undefined";
}
function getGlobalThis() {
  if (typeof globalThis !== "undefined") {
    return globalThis;
  }
  if (inBrowser()) {
    return window;
  }
  return typeof global !== "undefined" ? global : self;
}
var { hasOwnProperty } = Object.prototype;
function hasOwn(val, key3) {
  return hasOwnProperty.call(val, key3);
}
function inMobile() {
  return inBrowser() && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
}
function isArray(val) {
  return Array.isArray(val);
}
var objectToString = Object.prototype.toString;
function toTypeString(value) {
  return objectToString.call(value);
}
function toRawType(value) {
  return toTypeString(value).slice(8, -1);
}
function isArrayBuffer(val) {
  return toRawType(val) === "ArrayBuffer";
}
function isBoolean(val) {
  return typeof val === "boolean";
}
function isDataView(val) {
  return toRawType(val) === "DataView";
}
function isDate(val) {
  return toRawType(val) === "Date";
}
function isDOMException(val) {
  return toRawType(val) === "DOMException";
}
function isEmpty(val) {
  return val === void 0 || val === null || val === "" || isArray(val) && !val.length;
}
function isMap(val) {
  return toRawType(val) === "Map";
}
function isPlainObject(val) {
  return toRawType(val) === "Object";
}
function isSet(val) {
  return toRawType(val) === "Set";
}
function isObject(val) {
  return typeof val === "object" && val !== null;
}
function isRegExp(val) {
  return toRawType(val) === "RegExp";
}
function isError(val) {
  return toRawType(val) === "Error";
}
function isTypedArray(val) {
  return [
    "Int8Array",
    "Uint8Array",
    "Uint8ClampedArray",
    "Int16Array",
    "Uint16Array",
    "Int32Array",
    "Uint32Array",
    "Float32Array",
    "Float64Array",
    "BigInt64Array",
    "BigUint64Array"
  ].includes(toRawType(val));
}
function isEqualWith(value, other, fn2) {
  const valueStack = /* @__PURE__ */ new WeakMap();
  const otherStack = /* @__PURE__ */ new WeakMap();
  function baseIsEqual(value2, other2, valueStack2, otherStack2) {
    const customEqual = fn2(value2, other2);
    if (customEqual === true) {
      return true;
    }
    if (value2 === other2) {
      return true;
    }
    if (value2 !== value2 && other2 !== other2) {
      return true;
    }
    if (!isObject(value2) || !isObject(other2)) {
      return value2 === other2;
    }
    if (value2.constructor !== other2.constructor) {
      return false;
    }
    if (toRawType(value2) === "String" && toRawType(other2) === "String" || toRawType(value2) === "Number" && toRawType(other2) === "Number" || toRawType(value2) === "Boolean" && toRawType(other2) === "Boolean" || toRawType(value2) === "BigInt" && toRawType(other2) === "BigInt" || toRawType(value2) === "Symbol" && toRawType(other2) === "Symbol") {
      return value2.valueOf() === other2.valueOf();
    }
    if (isDate(value2) && isDate(other2)) {
      return value2.getTime() === other2.getTime();
    }
    if (isRegExp(value2) && isRegExp(other2)) {
      return value2.source === other2.source && value2.flags === other2.flags;
    }
    if (isError(value2) && isError(other2)) {
      return value2.name === other2.name && value2.message === other2.message && value2.cause === other2.cause;
    }
    if (isDOMException(value2) && isDOMException(other2)) {
      return value2.name === other2.name && value2.message === other2.message;
    }
    if (isTypedArray(value2) && isTypedArray(other2) || isDataView(value2) && isDataView(other2)) {
      if (value2.byteLength !== other2.byteLength) {
        return false;
      }
      const valueTypedArray = new Uint8Array(value2.buffer);
      const otherTypedArray = new Uint8Array(other2.buffer);
      return valueTypedArray.every((v, i) => v === otherTypedArray[i]);
    }
    if (isArrayBuffer(value2) && isArrayBuffer(other2)) {
      if (value2.byteLength !== other2.byteLength) {
        return false;
      }
      const valueTypedArray = new Uint8Array(value2);
      const otherTypedArray = new Uint8Array(other2);
      return valueTypedArray.every((v, i) => v === otherTypedArray[i]);
    }
    if (valueStack2.get(value2) === other2 && otherStack2.get(other2) === value2) {
      return true;
    }
    valueStack2.set(value2, other2);
    otherStack2.set(other2, value2);
    if (isMap(value2) && isMap(other2) || isSet(value2) && isSet(other2)) {
      if (value2.size !== other2.size) {
        return false;
      }
      const valueArray = [...value2];
      const otherArray = [...other2];
      const result = valueArray.every((v, i) => baseIsEqual(v, otherArray[i], valueStack2, otherStack2));
      valueStack2.delete(value2);
      otherStack2.delete(other2);
      return result;
    }
    if (isArray(value2) && isArray(other2)) {
      if (value2.length !== other2.length) {
        return false;
      }
      const result = value2.every((v, i) => baseIsEqual(v, other2[i], valueStack2, otherStack2));
      valueStack2.delete(value2);
      otherStack2.delete(other2);
      return result;
    }
    if (isPlainObject(value2) && isPlainObject(other2)) {
      const valueOwnKeys = [...Object.keys(value2), ...Object.getOwnPropertySymbols(value2)];
      const otherOwnKeys = [...Object.keys(other2), ...Object.getOwnPropertySymbols(other2)];
      if (valueOwnKeys.length !== otherOwnKeys.length) {
        return false;
      }
      const result = valueOwnKeys.every(
        (k) => baseIsEqual(value2[k], other2[k], valueStack2, otherStack2)
      );
      valueStack2.delete(value2);
      otherStack2.delete(other2);
      return result;
    }
    return false;
  }
  return baseIsEqual(value, other, valueStack, otherStack);
}
function isEqual(value, other) {
  return isEqualWith(value, other, () => void 0);
}
function isFunction(val) {
  return typeof val === "function";
}
function isNonEmptyArray(val) {
  return isArray(val) && !!val.length;
}
function isNullish(val) {
  return val == null;
}
function isNumber(val) {
  return typeof val === "number";
}
function isString(val) {
  return typeof val === "string";
}
function isNumeric(val) {
  return isNumber(val) || isString(val) && /^[-+]?\d+$/.test(val);
}
function isPromise(val) {
  return isObject(val) && isFunction(val.then) && isFunction(val.catch);
}
function isSymbol(val) {
  return typeof val === "symbol";
}
function isTruthy(v) {
  return Boolean(v);
}
function isWeakMap(val) {
  return toRawType(val) === "WeakMap";
}
function isWeakSet(val) {
  return toRawType(val) === "WeakSet";
}
function isWindow(val) {
  return val === window;
}
function supportTouch() {
  return inBrowser() && "ontouchstart" in window;
}
function isFile(val) {
  return toRawType(val) === "File";
}
function isBlob(val) {
  return toRawType(val) === "Blob";
}
function isPrimitive(val) {
  return val == null || typeof val !== "object" && typeof val !== "function";
}
function isEmptyPlainObject(val) {
  return isPlainObject(val) && Object.keys(val).length === 0 && Object.getOwnPropertySymbols(val).length === 0;
}
function assert$1(condition, message) {
  if (!condition) {
    throw new Error(message);
  }
}
function toNumber(val) {
  if (val == null) {
    return 0;
  }
  if (isString(val)) {
    val = parseFloat(val);
    val = Number.isNaN(val) ? 0 : val;
    return val;
  }
  if (isBoolean(val)) {
    return Number(val);
  }
  return val;
}
var key = 0;
function genNumberKey() {
  return key++;
}
function chunk(arr, size = 1) {
  size = clamp$1(size, 1, arr.length);
  const result = [];
  let index = 0;
  while (index < arr.length) {
    result.push(arr.slice(index, index + size));
    index += size;
  }
  return result;
}
function removeItem(arr, item) {
  if (arr.length) {
    const index = arr.indexOf(item);
    if (index > -1) {
      return arr.splice(index, 1);
    }
  }
}
function toggleItem(arr, item) {
  arr.includes(item) ? removeItem(arr, item) : arr.push(item);
  return arr;
}
function uniq(arr) {
  return [...new Set(arr)];
}
function uniqBy(arr, fn2) {
  return arr.reduce((ret, i) => {
    const index = ret.findIndex((j) => fn2(i, j));
    if (index === -1) {
      ret.push(i);
    }
    return ret;
  }, []);
}
function find(arr, fn2, from = "start") {
  let i = from === "start" ? 0 : arr.length - 1;
  while (arr.length > 0 && i >= 0 && i <= arr.length - 1) {
    const flag = fn2(arr[i], i, arr);
    if (flag) {
      return [arr[i], i];
    }
    from === "start" ? i++ : i--;
  }
  return [null, -1];
}
function shuffle(arr) {
  for (let i = arr.length - 1; i > 0; i--) {
    const j = Math.floor(Math.random() * (i + 1));
    [arr[i], arr[j]] = [arr[j], arr[i]];
  }
  return arr;
}
function removeArrayBlank(arr) {
  return arr.filter((item) => item != null);
}
function removeArrayEmpty(arr) {
  return arr.filter((item) => item != null && item !== "");
}
function normalizeToArray(value) {
  return isArray(value) ? value : [value];
}
function differenceWith(arr, ...values) {
  const fn2 = at(values, -1);
  const targets = values.slice(0, -1).reduce((targets2, value) => [...targets2, ...value], []);
  return arr.filter((item) => !targets.some((value) => fn2(item, value)));
}
function difference(arr, ...values) {
  return differenceWith(arr, ...values, (a, b) => a === b);
}
function intersectionWith(...values) {
  const fn2 = at(values, -1);
  const targets = values.slice(0, -1);
  if (targets.length === 0) {
    return [];
  }
  if (targets.length === 1) {
    return uniqBy(targets[0], fn2);
  }
  function baseIntersectionWith(arr1, arr2) {
    return arr1.filter((item) => arr2.some((value) => fn2(item, value)));
  }
  return uniqBy(
    targets.reduce((result, target) => baseIntersectionWith(result, target)),
    fn2
  );
}
function intersection(...values) {
  return intersectionWith(...values, (a, b) => a === b);
}
function groupBy(arr, fn2) {
  return arr.reduce(
    (result, item) => {
      var _a;
      const key3 = fn2(item);
      ((_a = result[key3]) != null ? _a : result[key3] = []).push(item);
      return result;
    },
    {}
  );
}
function xorWith(...values) {
  const fn2 = at(values, -1);
  const targets = values.slice(0, -1);
  return uniqBy(
    targets.reduce((result, target) => {
      return [...differenceWith(result, target, fn2), ...differenceWith(target, result, fn2)];
    }),
    fn2
  );
}
function xor(...values) {
  return xorWith(...values, (a, b) => a === b);
}
function pick(object, keys) {
  return keys.reduce(
    (result, key3) => {
      result[key3] = object[key3];
      return result;
    },
    {}
  );
}
function pickBy(object, fn2) {
  const ownKeys = [...Object.keys(object), ...Object.getOwnPropertySymbols(object)];
  return ownKeys.reduce((result, key3) => {
    const value = object[key3];
    if (fn2(value, key3)) {
      result[key3] = value;
    }
    return result;
  }, {});
}
function omit(object, keys) {
  const ownKeys = [...Object.keys(object), ...Object.getOwnPropertySymbols(object)];
  return ownKeys.reduce(
    (result, key3) => {
      if (!keys.includes(key3)) {
        result[key3] = object[key3];
      }
      return result;
    },
    {}
  );
}
function omitBy(object, fn2) {
  const ownKeys = [...Object.keys(object), ...Object.getOwnPropertySymbols(object)];
  return ownKeys.reduce((result, key3) => {
    const value = object[key3];
    if (!fn2(value, key3)) {
      result[key3] = value;
    }
    return result;
  }, {});
}
function mapObject(object, fn2) {
  return Object.entries(object).reduce(
    (result, [key3, value]) => {
      const entry = fn2(key3, value);
      if (isArray(entry)) {
        const [newKey, newValue] = entry;
        result[newKey] = newValue;
      }
      return result;
    },
    {}
  );
}
function promiseWithResolvers() {
  let resolve;
  let reject;
  const promise = new Promise((_resolver, _reject) => {
    resolve = _resolver;
    reject = _reject;
  });
  return { promise, resolve, reject };
}
var util_exports = {};
__export(util_exports, {
  cancelAnimationFrame: () => cancelAnimationFrame,
  classes: () => classes$1d,
  copyText: () => copyText,
  createNamespaceFn: () => createNamespaceFn,
  createStorage: () => createStorage,
  doubleRaf: () => doubleRaf,
  download: () => download,
  getAllParentScroller: () => getAllParentScroller$1,
  getParentScroller: () => getParentScroller$1,
  getRect: () => getRect,
  getScrollLeft: () => getScrollLeft,
  getScrollTop: () => getScrollTop,
  getStyle: () => getStyle$1,
  inViewport: () => inViewport,
  localStorage: () => localStorage,
  mitt: () => default2,
  motion: () => motion,
  prettyJSONObject: () => prettyJSONObject,
  preventDefault: () => preventDefault,
  raf: () => raf,
  requestAnimationFrame: () => requestAnimationFrame$1,
  sessionStorage: () => sessionStorage,
  tryParseJSON: () => tryParseJSON
});
function cancelAnimationFrame(handle) {
  const globalThis2 = getGlobalThis();
  globalThis2.cancelAnimationFrame ? globalThis2.cancelAnimationFrame(handle) : globalThis2.clearTimeout(handle);
}
function classes$1d(...classes2) {
  return classes2.map((className) => {
    if (isArray(className)) {
      const [condition, truthy, falsy = null] = className;
      return condition ? truthy : falsy;
    }
    return className;
  });
}
function copyText(value) {
  if (!value) {
    return;
  }
  const textArea = document.createElement("textarea");
  textArea.value = value;
  textArea.style.position = "fixed";
  textArea.style.opacity = "0";
  document.body.appendChild(textArea);
  textArea.select();
  document.execCommand("copy");
  document.body.removeChild(textArea);
}
function camelize(s) {
  s = s.replace(/-(\w)/g, (_, p) => p.toUpperCase());
  return s.replace(s.charAt(0), s.charAt(0).toLowerCase());
}
function ensurePrefix(s, prefix) {
  return s.startsWith(prefix) ? s : prefix + s;
}
function ensureSuffix(s, suffix) {
  return s.endsWith(suffix) ? s : s + suffix;
}
var key2 = 0;
function genStringKey() {
  return `generated-key-${key2++}`;
}
function kebabCase(s) {
  const ret = s.replace(/([A-Z])/g, " $1").trim();
  return ret.split(" ").join("-").toLowerCase();
}
function pascalCase(s) {
  return camelize(s).replace(s.charAt(0), s.charAt(0).toUpperCase());
}
function lowerFirst(s) {
  return s.charAt(0).toLowerCase() + s.slice(1);
}
function upperFirst(s) {
  return s.charAt(0).toUpperCase() + s.slice(1);
}
function randomColor() {
  const letters = "0123456789abcdef";
  let color = "#";
  for (let i = 0; i < 6; i++) {
    color += letters[Math.floor(Math.random() * 16)];
  }
  return color;
}
function randomString(length = 10) {
  let str = baseRandomString();
  while (str.length < length) {
    str += baseRandomString();
  }
  function baseRandomString() {
    return Math.random().toString(36).slice(2);
  }
  return str.slice(0, length);
}
function slash(path) {
  const isExtendedLengthPath = path.startsWith("\\\\?\\");
  if (isExtendedLengthPath) {
    return path;
  }
  return path.replace(/\\/g, "/");
}
function createNamespaceFn(namespace) {
  return (name2) => {
    const componentName = `${namespace}-${name2}`;
    const createBEM = (suffix) => {
      if (!suffix) {
        return componentName;
      }
      if (suffix[0] === "$") {
        return suffix.replace("$", namespace);
      }
      return suffix.startsWith("--") ? `${componentName}${suffix}` : `${componentName}__${suffix}`;
    };
    return {
      name: pascalCase(componentName),
      n: createBEM,
      classes: classes$1d
    };
  };
}
function requestAnimationFrame$1(fn2) {
  const globalThis2 = getGlobalThis();
  return globalThis2.requestAnimationFrame ? globalThis2.requestAnimationFrame(fn2) : globalThis2.setTimeout(fn2);
}
function doubleRaf() {
  return new Promise((resolve) => {
    requestAnimationFrame$1(() => {
      requestAnimationFrame$1(resolve);
    });
  });
}
function getStyle$1(element) {
  return window.getComputedStyle(element);
}
function getParentScroller$1(el) {
  let element = el;
  while (element) {
    if (!element.parentNode) {
      break;
    }
    element = element.parentNode;
    if (element === document.body || element === document.documentElement) {
      break;
    }
    const scrollRE = /(scroll|auto)/;
    const { overflowY, overflow } = getStyle$1(element);
    if (scrollRE.test(overflowY) || scrollRE.test(overflow)) {
      return element;
    }
  }
  return window;
}
function getAllParentScroller$1(el) {
  const allParentScroller = [];
  let element = el;
  while (!isWindow(element)) {
    element = getParentScroller$1(element);
    allParentScroller.push(element);
  }
  return allParentScroller;
}
function getRect(element) {
  if (isWindow(element)) {
    const width = element.innerWidth;
    const height = element.innerHeight;
    const rect = {
      x: 0,
      y: 0,
      top: 0,
      left: 0,
      right: width,
      bottom: height,
      width,
      height
    };
    return __spreadProps$e(__spreadValues$B({}, rect), {
      toJSON: () => rect
    });
  }
  return element.getBoundingClientRect();
}
function getScrollLeft(element) {
  const left2 = "scrollLeft" in element ? element.scrollLeft : element.scrollX;
  return Math.max(left2, 0);
}
function getScrollTop(element) {
  const top2 = "scrollTop" in element ? element.scrollTop : element.scrollY;
  return Math.max(top2, 0);
}
function inViewport(element) {
  const { top: top2, bottom: bottom2, left: left2, right: right2 } = getRect(element);
  const { width, height } = getRect(window);
  const xInViewport = left2 <= width && right2 >= 0;
  const yInViewport = top2 <= height && bottom2 >= 0;
  return xInViewport && yInViewport;
}
function prettyJSONObject(jsonObject) {
  return JSON.stringify(jsonObject, null, 2);
}
function preventDefault(event) {
  if (event.cancelable === false) {
    return;
  }
  event.preventDefault();
}
function raf() {
  return new Promise((resolve) => {
    requestAnimationFrame$1(resolve);
  });
}
function createStorage(storage) {
  return __spreadProps$e(__spreadValues$B({}, storage), {
    set(key3, value) {
      if (value == null) {
        return;
      }
      if (!isString(value)) {
        value = JSON.stringify(value);
      }
      storage.setItem(key3, value);
    },
    get(key3) {
      const data = storage.getItem(key3);
      try {
        return JSON.parse(data);
      } catch (err) {
        return data;
      }
    },
    remove(key3) {
      storage.removeItem(key3);
    }
  });
}
var sessionStorage = createStorage(getGlobalThis().sessionStorage);
var localStorage = createStorage(getGlobalThis().localStorage);
function tryParseJSON(json) {
  try {
    return JSON.parse(json);
  } catch (e) {
    return void 0;
  }
}
function download(val, filename = "file") {
  const a = document.createElement("a");
  a.style.display = "none";
  a.href = isString(val) ? val : URL.createObjectURL(val);
  a.download = filename;
  document.body.appendChild(a);
  a.click();
  URL.revokeObjectURL(a.href);
  document.body.removeChild(a);
}
function motion(options) {
  const {
    from,
    to,
    duration = 300,
    frame = () => {
    },
    timingFunction = (value2) => value2,
    onStateChange = () => {
    }
  } = options;
  let state = "pending";
  let value = from;
  const distance = to - from;
  let ticker = void 0;
  let startTime = void 0;
  let pausedTime = void 0;
  let sleepTime = 0;
  function start2() {
    if (state === "running" || state === "finished") {
      return;
    }
    setState("running");
    const now = performance.now();
    startTime = startTime != null ? startTime : now;
    sleepTime += pausedTime != null ? now - pausedTime : 0;
    pausedTime = void 0;
    tick2();
    function tick2() {
      ticker = requestAnimationFrame$1(() => {
        const now2 = performance.now();
        const executionTime = now2 - startTime - sleepTime;
        const progress = clamp$1(executionTime / duration, 0, 1);
        value = distance * timingFunction(progress) + from;
        if (progress >= 1) {
          setState("finished");
          frame({ value: to, done: true });
          return;
        }
        frame({ value, done: false });
        tick2();
      });
    }
  }
  function pause() {
    if (state !== "running") {
      return;
    }
    cancelAnimationFrame(ticker);
    setState("paused");
    pausedTime = performance.now();
  }
  function reset() {
    cancelAnimationFrame(ticker);
    setState("pending");
    value = from;
    ticker = void 0;
    startTime = void 0;
    pausedTime = void 0;
    sleepTime = 0;
  }
  function getState() {
    return state;
  }
  function setState(_state) {
    state = _state;
    onStateChange(_state);
  }
  return {
    start: start2,
    pause,
    reset,
    getState
  };
}
__reExport(util_exports, mitt_star);
__reExport(src_exports, util_exports);
function call(fn2, ...args) {
  if (isArray(fn2)) {
    return fn2.map((f) => f(...args));
  }
  if (fn2) {
    return fn2(...args);
  }
}
function once(fn2) {
  let called = false;
  let result;
  return function(...args) {
    if (called) {
      return result;
    }
    called = true;
    result = fn2.apply(this, args);
    return result;
  };
}
function debounce$1(fn2, delay2 = 0) {
  let timer;
  return function(...args) {
    if (timer) {
      clearTimeout(timer);
    }
    timer = setTimeout(() => {
      fn2.apply(this, args);
    }, delay2);
  };
}
function throttle(fn2, delay2 = 200) {
  let timer;
  let start2 = 0;
  return function loop(...args) {
    const now = performance.now();
    const elapsed = now - start2;
    if (!start2) {
      start2 = now;
    }
    if (timer) {
      clearTimeout(timer);
    }
    if (elapsed >= delay2) {
      fn2.apply(this, args);
      start2 = now;
    } else {
      timer = setTimeout(() => {
        loop.apply(this, args);
      }, delay2 - elapsed);
    }
  };
}
function NOOP() {
}
function cloneDeepWith(value, fn2) {
  const cache = /* @__PURE__ */ new WeakMap();
  function baseCloneDeep(value2, cache2) {
    const customResult = fn2(value2);
    if (customResult !== void 0) {
      return customResult;
    }
    if (!isObject(value2)) {
      return value2;
    }
    if (cache2.has(value2)) {
      return cache2.get(value2);
    }
    if (isDate(value2)) {
      return new Date(value2);
    }
    if (isRegExp(value2)) {
      return new RegExp(value2);
    }
    if (isMap(value2)) {
      const result = /* @__PURE__ */ new Map();
      cache2.set(value2, result);
      value2.forEach((val, key3) => {
        result.set(baseCloneDeep(key3, cache2), baseCloneDeep(val, cache2));
      });
      return result;
    }
    if (isSet(value2)) {
      const result = /* @__PURE__ */ new Set();
      cache2.set(value2, result);
      value2.forEach((val) => {
        result.add(baseCloneDeep(val, cache2));
      });
      return result;
    }
    if (toRawType(value2) === "String" || toRawType(value2) === "Number" || toRawType(value2) === "Boolean") {
      return newConstructor(value2, value2.valueOf());
    }
    if (isWeakMap(value2) || isWeakSet(value2) || isError(value2) || isDOMException(value2)) {
      return {};
    }
    if (isTypedArray(value2)) {
      return newConstructor(value2, baseCloneArrayBuffer(value2.buffer), value2.byteOffset, value2.length);
    }
    if (isDataView(value2)) {
      return newConstructor(value2, baseCloneArrayBuffer(value2.buffer), value2.byteOffset, value2.byteLength);
    }
    if (isArrayBuffer(value2)) {
      return baseCloneArrayBuffer(value2);
    }
    if (isArray(value2)) {
      const result = [];
      cache2.set(value2, result);
      value2.forEach((value3, index) => {
        result[index] = baseCloneDeep(value3, cache2);
      });
      return result;
    }
    if (isPlainObject(value2)) {
      const result = Object.create(Reflect.getPrototypeOf(value2));
      cache2.set(value2, result);
      const ownKeys = [...Object.keys(value2), ...Object.getOwnPropertySymbols(value2)];
      ownKeys.forEach((key3) => {
        result[key3] = baseCloneDeep(value2[key3], cache2);
      });
      return result;
    }
    return value2;
  }
  function baseCloneArrayBuffer(value2) {
    const result = new ArrayBuffer(value2.byteLength);
    new Uint8Array(result).set(new Uint8Array(value2));
    return result;
  }
  function newConstructor(value2, ...args) {
    return new value2.constructor(...args);
  }
  return baseCloneDeep(value, cache);
}
function cloneDeep(value) {
  return cloneDeepWith(value, () => void 0);
}
function mergeWith(object, ...sources) {
  const fn2 = at(sources, -1);
  const targets = [object, ...sources.slice(0, -1)];
  let len = targets.length - 1;
  let result = targets[len];
  while (len) {
    result = baseMergeWith(targets[len - 1], result, fn2);
    len--;
  }
  function baseMergeWith(object2, source, fn22) {
    function baseMerge(target, src) {
      for (const key3 in src) {
        if (hasOwn(src, key3)) {
          const srcValue = src[key3];
          const targetValue = target[key3];
          const customResult = fn22(targetValue, srcValue, key3, object2, source);
          if (customResult !== void 0) {
            target[key3] = customResult;
          } else if (isObject(srcValue)) {
            if (isObject(targetValue)) {
              target[key3] = baseMerge(targetValue, srcValue);
            } else {
              target[key3] = baseMerge(isArray(srcValue) ? [] : {}, srcValue);
            }
          } else {
            target[key3] = srcValue;
          }
        }
      }
      return target;
    }
    return baseMerge(object2, source);
  }
  return result;
}
function merge$1(object, ...sources) {
  return mergeWith(object, ...sources, () => void 0);
}
function toArrayBuffer(file) {
  return new Promise((resolve) => {
    const fileReader = new FileReader();
    fileReader.onload = () => {
      resolve(fileReader.result);
    };
    fileReader.readAsArrayBuffer(file);
  });
}
function toDataURL(file) {
  return new Promise((resolve) => {
    const fileReader = new FileReader();
    fileReader.onload = () => {
      resolve(fileReader.result);
    };
    fileReader.readAsDataURL(file);
  });
}
function toText(file) {
  return new Promise((resolve) => {
    const fileReader = new FileReader();
    fileReader.onload = () => {
      resolve(fileReader.result);
    };
    fileReader.readAsText(file);
  });
}
function maxBy(arr, fn2) {
  if (!arr.length) {
    return;
  }
  return arr.reduce((result, item) => fn2(result) > fn2(item) ? result : item, arr[0]);
}
function minBy(arr, fn2) {
  if (!arr.length) {
    return;
  }
  return arr.reduce((result, item) => fn2(result) < fn2(item) ? result : item, arr[0]);
}
function sum$1(arr) {
  return arr.reduce((ret, val) => ret + val, 0);
}
function sumBy(arr, fn2) {
  return arr.reduce((ret, val) => ret + fn2(val), 0);
}
function sumHash(value) {
  function sum2(hash2, value2) {
    for (let i = 0; i < value2.length; i++) {
      const chr = value2.charCodeAt(i);
      hash2 = (hash2 << 5) - hash2 + chr;
      hash2 |= 0;
    }
    return hash2 < 0 ? hash2 * -2 : hash2;
  }
  function baseSumHash(hash2, value2, key3, seen) {
    hash2 = sum2(hash2, key3);
    hash2 = sum2(hash2, toTypeString(value2));
    hash2 = sum2(hash2, typeof value2);
    if (value2 === null) {
      return sum2(hash2, "null");
    }
    if (value2 === void 0) {
      return sum2(hash2, "undefined");
    }
    if (isObject(value2) || isFunction(value2)) {
      if (seen.includes(value2)) {
        return sum2(hash2, `[Circular]${key3}`);
      }
      seen.push(value2);
      hash2 = Object.keys(value2).sort().reduce((hash22, key4) => baseSumHash(hash22, value2[key4], key4, seen), hash2);
      if (isFunction(value2.valueOf)) {
        return sum2(hash2, String(value2.valueOf()));
      }
      return hash2;
    }
    return sum2(hash2, value2.toString());
  }
  return baseSumHash(0, value, "", []).toString(16).padStart(8, "0");
}
function mean(arr) {
  return sum$1(arr) / arr.length;
}
function meanBy(arr, fn2) {
  return sumBy(arr, fn2) / arr.length;
}
function sample(arr) {
  if (!arr.length) {
    return;
  }
  return arr[randomNumber(0, arr.length - 1)];
}
function round$2(val, precision = 0) {
  return baseRound(val, precision, Math.round);
}
function baseRound(val, precision = 0, fn2) {
  precision = clamp$1(precision, -292, 292);
  if (!precision) {
    return fn2(val);
  }
  const value = fn2(`${val}e${precision}`);
  return +`${value}e${-precision}`;
}
function floor$1(val, precision = 0) {
  return baseRound(val, precision, Math.floor);
}
function ceil$1(val, precision = 0) {
  return baseRound(val, precision, Math.ceil);
}
function assert(condition, source, message) {
  return assert$1(condition, `Varlet [${source}]: ${message}`);
}
function warn(source, message) {
  console.warn(`Varlet [${source}]: ${message}`);
}
function error$1(source, message) {
  console.error(`Varlet [${source}]: ${message}`);
}
var isURL = (val) => {
  if (!val) {
    return false;
  }
  return /^(http)|(\.*\/)/.test(val);
};
var __defProp$A = Object.defineProperty;
var __getOwnPropSymbols$A = Object.getOwnPropertySymbols;
var __hasOwnProp$A = Object.prototype.hasOwnProperty;
var __propIsEnum$A = Object.prototype.propertyIsEnumerable;
var __defNormalProp$A = (obj, key3, value) => key3 in obj ? __defProp$A(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues$A = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$A.call(b, prop))
      __defNormalProp$A(a, prop, b[prop]);
  if (__getOwnPropSymbols$A)
    for (var prop of __getOwnPropSymbols$A(b)) {
      if (__propIsEnum$A.call(b, prop))
        __defNormalProp$A(a, prop, b[prop]);
    }
  return a;
};
var __objRest = (source, exclude) => {
  var target = {};
  for (var prop in source)
    if (__hasOwnProp$A.call(source, prop) && exclude.indexOf(prop) < 0)
      target[prop] = source[prop];
  if (source != null && __getOwnPropSymbols$A)
    for (var prop of __getOwnPropSymbols$A(source)) {
      if (exclude.indexOf(prop) < 0 && __propIsEnum$A.call(source, prop))
        target[prop] = source[prop];
    }
  return target;
};
function onSmartMounted(hook) {
  let isMounted = false;
  vue.onMounted(() => {
    hook();
    vue.nextTick(() => {
      isMounted = true;
    });
  });
  vue.onActivated(() => {
    if (!isMounted) {
      return;
    }
    hook();
  });
}
function useEventListener(target, type, listener, options = {}) {
  if (!inBrowser()) {
    return;
  }
  const { passive: passive2 = false, capture = false } = options;
  let listening = false;
  let cleaned = false;
  const getElement = (target2) => isFunction(target2) ? target2() : vue.unref(target2);
  const add2 = (target2) => {
    if (listening || cleaned) {
      return;
    }
    const element = getElement(target2);
    if (element) {
      element.addEventListener(type, listener, {
        passive: passive2,
        capture
      });
      listening = true;
    }
  };
  const remove = (target2) => {
    if (!listening || cleaned) {
      return;
    }
    const element = getElement(target2);
    if (element) {
      element.removeEventListener(type, listener, {
        capture
      });
      listening = false;
    }
  };
  let watchStopHandle;
  if (vue.isRef(target)) {
    watchStopHandle = vue.watch(
      () => target.value,
      (newValue, oldValue) => {
        remove(oldValue);
        add2(newValue);
      }
    );
  }
  const cleanup = () => {
    watchStopHandle == null ? void 0 : watchStopHandle();
    remove(target);
    cleaned = true;
  };
  onSmartMounted(() => {
    add2(target);
  });
  vue.onBeforeUnmount(() => {
    remove(target);
  });
  vue.onDeactivated(() => {
    remove(target);
  });
  return cleanup;
}
function useClickOutside(target, type, listener) {
  if (!inBrowser()) {
    return;
  }
  const handler = (event) => {
    const element = isFunction(target) ? target() : vue.unref(target);
    if (element && !element.contains(event.target)) {
      listener(event);
    }
  };
  useEventListener(document, type, handler);
}
function onSmartUnmounted(hook) {
  let keepalive = false;
  vue.onDeactivated(() => {
    keepalive = true;
    hook();
  });
  vue.onUnmounted(() => {
    if (keepalive) {
      return;
    }
    hook();
  });
}
function keyInProvides(key3) {
  const instance = vue.getCurrentInstance();
  return key3 in instance.provides;
}
function useParent(key3) {
  if (!keyInProvides(key3)) {
    return {
      index: null,
      parentProvider: null,
      bindParent: null
    };
  }
  const provider = vue.inject(key3);
  const _a = provider, { childInstances, collect, clear: clear2 } = _a, parentProvider = __objRest(_a, ["childInstances", "collect", "clear"]);
  const childInstance = vue.getCurrentInstance();
  const index = vue.computed(() => childInstances.indexOf(childInstance));
  const bindParent = (childProvider) => {
    vue.onMounted(() => {
      vue.nextTick().then(() => {
        collect(childInstance, childProvider);
      });
    });
    vue.onBeforeUnmount(() => {
      vue.nextTick().then(() => {
        clear2(childInstance, childProvider);
      });
    });
  };
  return {
    index,
    parentProvider,
    bindParent
  };
}
function flatVNodes(subTree) {
  const vNodes = [];
  const flat = (subTree2) => {
    if (subTree2 == null ? void 0 : subTree2.component) {
      flat(subTree2 == null ? void 0 : subTree2.component.subTree);
      return;
    }
    if (isArray(subTree2 == null ? void 0 : subTree2.children)) {
      subTree2.children.forEach((child) => {
        if (vue.isVNode(child)) {
          vNodes.push(child);
          flat(child);
        }
      });
    }
  };
  flat(subTree);
  return vNodes;
}
function useChildren(key3) {
  const parentInstance = vue.getCurrentInstance();
  const childInstances = vue.reactive([]);
  const childProviders = [];
  const length = vue.computed(() => childInstances.length);
  const sortInstances = () => {
    const vNodes = flatVNodes(parentInstance.subTree);
    childInstances.sort((a, b) => vNodes.indexOf(a.vnode) - vNodes.indexOf(b.vnode));
  };
  const collect = (childInstance, childProvider) => {
    childInstances.push(childInstance);
    childProviders.push(childProvider);
    sortInstances();
  };
  const clear2 = (childInstance, childProvider) => {
    removeItem(childInstances, childInstance);
    removeItem(childProviders, childProvider);
  };
  const bindChildren = (parentProvider) => {
    vue.provide(key3, __spreadValues$A({
      childInstances,
      collect,
      clear: clear2
    }, parentProvider));
  };
  return {
    length,
    childProviders,
    bindChildren
  };
}
function onWindowResize(listener) {
  useEventListener(() => window, "resize", listener, { passive: true });
  useEventListener(() => window, "orientationchange", listener, { passive: true });
}
function useInitialized(source, value) {
  const initialized = vue.ref(false);
  vue.watch(
    source,
    (newValue) => {
      if (value === newValue) {
        initialized.value = true;
      }
    },
    { immediate: true }
  );
  return initialized;
}
function getDirection(x, y) {
  if (x > y) {
    return "horizontal";
  }
  if (y > x) {
    return "vertical";
  }
}
function useTouch() {
  const startX = vue.ref(0);
  const startY = vue.ref(0);
  const deltaX = vue.ref(0);
  const deltaY = vue.ref(0);
  const offsetX = vue.ref(0);
  const offsetY = vue.ref(0);
  const prevX = vue.ref(0);
  const prevY = vue.ref(0);
  const moveX = vue.ref(0);
  const moveY = vue.ref(0);
  const direction = vue.ref();
  const touching = vue.ref(false);
  const dragging = vue.ref(false);
  const startTime = vue.ref(0);
  const distance = vue.ref(0);
  let draggingAnimationFrame = null;
  const resetTouch = () => {
    startX.value = 0;
    startY.value = 0;
    deltaX.value = 0;
    deltaY.value = 0;
    offsetX.value = 0;
    offsetY.value = 0;
    prevX.value = 0;
    prevY.value = 0;
    moveX.value = 0;
    moveY.value = 0;
    direction.value = void 0;
    touching.value = false;
    dragging.value = false;
    startTime.value = 0;
    distance.value = 0;
  };
  const startTouch = (event) => {
    resetTouch();
    const { clientX: x, clientY: y } = event.touches[0];
    startX.value = x;
    startY.value = y;
    prevX.value = x;
    prevY.value = y;
    touching.value = true;
    startTime.value = performance.now();
    dragging.value = false;
    if (draggingAnimationFrame) {
      window.cancelAnimationFrame(draggingAnimationFrame);
    }
  };
  const moveTouch = (event) => {
    const { clientX: x, clientY: y } = event.touches[0];
    dragging.value = true;
    deltaX.value = x - startX.value;
    deltaY.value = y - startY.value;
    offsetX.value = Math.abs(deltaX.value);
    offsetY.value = Math.abs(deltaY.value);
    distance.value = Math.sqrt(offsetX.value ** 2 + offsetY.value ** 2);
    moveX.value = x - prevX.value;
    moveY.value = y - prevY.value;
    if (!direction.value) {
      direction.value = getDirection(offsetX.value, offsetY.value);
    }
    prevX.value = x;
    prevY.value = y;
  };
  const endTouch = () => {
    touching.value = false;
    draggingAnimationFrame = window.requestAnimationFrame(() => {
      dragging.value = false;
    });
  };
  const isReachTop = (element) => {
    const scrollTop = getScrollTop(element);
    return scrollTop === 0 && deltaY.value > 0;
  };
  const isReachBottom = (element, offset2 = 1) => {
    const { scrollHeight, clientHeight, scrollTop } = element;
    const offsetBottom = Math.abs(scrollHeight - scrollTop - clientHeight);
    return deltaY.value < 0 && offsetBottom <= offset2;
  };
  return {
    startX,
    startY,
    deltaX,
    deltaY,
    offsetX,
    offsetY,
    prevX,
    prevY,
    moveX,
    moveY,
    direction,
    touching,
    dragging,
    startTime,
    distance,
    resetTouch,
    startTouch,
    moveTouch,
    endTouch,
    isReachTop,
    isReachBottom
  };
}
function useClientId() {
  const instance = vue.getCurrentInstance();
  const name2 = kebabCase(instance.type.name);
  const id = vue.ref(process.env.NODE_ENV === "test" ? `${name2}-mock-id` : void 0);
  vue.onMounted(() => {
    if (process.env.NODE_ENV !== "test") {
      id.value = `${name2}-${instance.uid}`;
    }
  });
  return id;
}
function useWindowSize(options = {}) {
  const { initialWidth = 0, initialHeight = 0 } = options;
  const width = vue.ref(initialWidth);
  const height = vue.ref(initialHeight);
  const update = () => {
    if (!inBrowser()) {
      return;
    }
    width.value = window.innerWidth;
    height.value = window.innerHeight;
  };
  onSmartMounted(update);
  onWindowResize(update);
  return {
    width,
    height
  };
}
function useVModel(props2, key3, options = {}) {
  const { passive: passive2 = true, eventName, defaultValue, emit } = options;
  const event = eventName != null ? eventName : `onUpdate:${key3.toString()}`;
  const getValue = () => {
    var _a;
    return (_a = props2[key3]) != null ? _a : defaultValue;
  };
  if (!passive2) {
    return vue.computed({
      get() {
        return getValue();
      },
      set(value) {
        emit ? emit(event, value) : call(props2[event], value);
      }
    });
  }
  const proxy = vue.ref(getValue());
  let shouldEmit = true;
  vue.watch(
    () => props2[key3],
    () => {
      shouldEmit = false;
      proxy.value = getValue();
      vue.nextTick(() => {
        shouldEmit = true;
      });
    }
  );
  vue.watch(
    () => proxy.value,
    (newValue) => {
      if (!shouldEmit) {
        return;
      }
      emit ? emit(event, newValue) : call(props2[event], newValue);
    }
  );
  return proxy;
}
function useMotion(options) {
  const value = vue.ref(getter(options.from));
  const state = vue.ref("pending");
  let ctx2 = createMotionContext();
  function getter(value2) {
    return isFunction(value2) ? value2() : value2;
  }
  function reset() {
    ctx2.reset();
    value.value = getter(options.from);
    state.value = "pending";
    ctx2 = createMotionContext();
  }
  function start2() {
    ctx2.start();
  }
  function pause() {
    ctx2.pause();
  }
  function createMotionContext() {
    return motion({
      from: getter(options.from),
      to: getter(options.to),
      duration: options.duration ? getter(options.duration) : 300,
      timingFunction: options.timingFunction,
      onStateChange(newState) {
        state.value = newState;
      },
      frame({ value: newValue, done }) {
        var _a;
        value.value = newValue;
        if (done) {
          (_a = options.onFinished) == null ? void 0 : _a.call(options, value.value);
        }
      }
    });
  }
  return {
    value,
    state,
    start: start2,
    pause,
    reset
  };
}
var __defProp$z = Object.defineProperty;
var __defProps$d = Object.defineProperties;
var __getOwnPropDescs$d = Object.getOwnPropertyDescriptors;
var __getOwnPropSymbols$z = Object.getOwnPropertySymbols;
var __hasOwnProp$z = Object.prototype.hasOwnProperty;
var __propIsEnum$z = Object.prototype.propertyIsEnumerable;
var __defNormalProp$z = (obj, key3, value) => key3 in obj ? __defProp$z(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues$z = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$z.call(b, prop))
      __defNormalProp$z(a, prop, b[prop]);
  if (__getOwnPropSymbols$z)
    for (var prop of __getOwnPropSymbols$z(b)) {
      if (__propIsEnum$z.call(b, prop))
        __defNormalProp$z(a, prop, b[prop]);
    }
  return a;
};
var __spreadProps$d = (a, b) => __defProps$d(a, __getOwnPropDescs$d(b));
var __async$l = (__this, __arguments, generator) => {
  return new Promise((resolve, reject) => {
    var fulfilled = (value) => {
      try {
        step(generator.next(value));
      } catch (e) {
        reject(e);
      }
    };
    var rejected = (value) => {
      try {
        step(generator.throw(value));
      } catch (e) {
        reject(e);
      }
    };
    var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
    step((generator = generator.apply(__this, __arguments)).next());
  });
};
function pickProps(props2, propsKey) {
  return isArray(propsKey) ? propsKey.reduce((pickedProps, key3) => {
    pickedProps[key3] = props2[key3];
    return pickedProps;
  }, {}) : props2[propsKey];
}
function withInstall(component, target) {
  const componentWithInstall = target != null ? target : component;
  componentWithInstall.install = function(app) {
    const { name: name2 } = component;
    if (name2) {
      app.component(name2, component);
    }
  };
  return componentWithInstall;
}
function withPropsDefaultsSetter(target, props2) {
  target.setPropsDefaults = function(defaults) {
    Object.entries(defaults).forEach(([key3, value]) => {
      const prop = props2[key3];
      if (prop == null) {
        return;
      }
      if (isPlainObject(prop)) {
        props2[key3] = __spreadProps$d(__spreadValues$z({}, prop), {
          default: value
        });
        return;
      }
      props2[key3] = {
        type: prop,
        default: value
      };
    });
  };
}
function mount$1(component) {
  const app = vue.createApp(component);
  const host = document.createElement("div");
  document.body.appendChild(host);
  return {
    instance: app.mount(host),
    unmount() {
      app.unmount();
      if (host.parentNode) {
        document.body.removeChild(host);
      }
    }
  };
}
function mountInstance(component, props2 = {}, eventListener = {}) {
  const Host = {
    setup() {
      return () => vue.h(component, __spreadValues$z(__spreadValues$z({}, props2), eventListener));
    }
  };
  const { unmount: unmount2 } = mount$1(Host);
  return { unmountInstance: unmount2 };
}
function flatFragment(vNodes) {
  const result = [];
  vNodes.forEach((vNode) => {
    if (vNode.type === vue.Comment) {
      return;
    }
    if (vNode.type === vue.Fragment && isArray(vNode.children)) {
      vNode.children.forEach((item) => {
        result.push(item);
      });
      return;
    }
    result.push(vNode);
  });
  return result;
}
function isZodRule(rule) {
  return isPlainObject(rule) && isFunction(rule.safeParseAsync);
}
function isZodResult(result) {
  return isPlainObject(result) && hasOwn(result, "success");
}
function useValidation() {
  const errorMessage = vue.ref("");
  const validate = (ruleOrRules, value, apis) => __async$l(this, null, function* () {
    const rules = normalizeToArray(ruleOrRules).filter((rule) => isZodRule(rule) || isFunction(rule));
    const results = yield Promise.all(
      rules.map((rule) => isZodRule(rule) ? rule.safeParseAsync(value) : rule(value, apis))
    );
    resetValidation();
    return !results.some((result) => {
      if (isZodResult(result)) {
        if (result.success === false) {
          errorMessage.value = result.error.issues[0].message;
          return true;
        }
      } else if (result !== true) {
        errorMessage.value = String(result);
        return true;
      }
      return false;
    });
  });
  const resetValidation = () => {
    errorMessage.value = "";
  };
  const validateWithTrigger = (validateTrigger, trigger, rules, value, apis) => __async$l(this, null, function* () {
    if (validateTrigger.includes(trigger)) {
      (yield validate(rules, value, apis)) && (errorMessage.value = "");
    }
  });
  return {
    errorMessage,
    validate,
    resetValidation,
    validateWithTrigger
  };
}
function useRouteListener(listener) {
  useEventListener(() => window, "hashchange", listener);
  useEventListener(() => window, "popstate", listener);
}
function useTeleport() {
  const disabled = vue.ref(false);
  vue.onActivated(() => {
    disabled.value = false;
  });
  vue.onDeactivated(() => {
    disabled.value = true;
  });
  return {
    disabled
  };
}
const createNamespace = createNamespaceFn("var");
function defineListenerProp(fallback) {
  return {
    type: [Function, Array],
    default: fallback
  };
}
function formatElevation(elevation, defaultLevel) {
  if (elevation === false) {
    return null;
  }
  if (elevation === true && defaultLevel) {
    elevation = defaultLevel;
  }
  return `var-elevation--${elevation}`;
}
const MaybeVNode = vue.defineComponent({
  props: {
    is: {
      type: [String, Object]
    },
    tag: {
      type: String,
      default: "span"
    }
  },
  setup(props2) {
    return () => isString(props2.is) ? vue.h(props2.tag, props2.is) : props2.is;
  }
});
var stdin_default$6i = {
  // Dialog
  dialogTitle: "Hint",
  dialogConfirmButtonText: "Confirm",
  dialogCancelButtonText: "Cancel",
  // ActionSheet
  actionSheetTitle: "Select One",
  // List
  listLoadingText: "Loading",
  listFinishedText: "No more",
  listErrorText: "Load fail",
  // Picker
  pickerTitle: "Pick it",
  pickerConfirmButtonText: "Confirm",
  pickerCancelButtonText: "Cancel",
  // date-picker
  datePickerMonthDict: {
    "01": {
      name: "January",
      abbr: "JAN"
    },
    "02": {
      name: "February",
      abbr: "FEB"
    },
    "03": {
      name: "March",
      abbr: "MAR"
    },
    "04": {
      name: "April",
      abbr: "APR"
    },
    "05": {
      name: "May",
      abbr: "MAY"
    },
    "06": {
      name: "June",
      abbr: "JUN"
    },
    "07": {
      name: "July",
      abbr: "JUL"
    },
    "08": {
      name: "August",
      abbr: "AUG"
    },
    "09": {
      name: "September",
      abbr: "SEP"
    },
    "10": {
      name: "October",
      abbr: "OCT"
    },
    "11": {
      name: "November",
      abbr: "NOV"
    },
    "12": {
      name: "December",
      abbr: "DEC"
    }
  },
  datePickerWeekDict: {
    "0": {
      name: "Sunday",
      abbr: "S"
    },
    "1": {
      name: "Monday",
      abbr: "M"
    },
    "2": {
      name: "Tuesday",
      abbr: "T"
    },
    "3": {
      name: "Wednesday",
      abbr: "W"
    },
    "4": {
      name: "Thursday",
      abbr: "T"
    },
    "5": {
      name: "Friday",
      abbr: "F"
    },
    "6": {
      name: "Saturday",
      abbr: "S"
    }
  },
  datePickerSelected: " selected",
  datePickerHint: "SELECT DATE",
  // pagination
  paginationItem: "",
  paginationPage: "page",
  paginationJump: "Go to",
  // time-picker
  timePickerHint: "SELECT TIME"
};
var stdin_default$6h = {
  // Dialog
  dialogTitle: "اشاره",
  dialogConfirmButtonText: "تایید",
  dialogCancelButtonText: "لغو",
  // ActionSheet
  actionSheetTitle: "انتخاب یک مورد",
  // List
  listLoadingText: "در حال بارگزاری",
  listFinishedText: "مورد دیگری وجود ندارد",
  listErrorText: "بارگزاری ناموفق",
  // Picker
  pickerTitle: "انتخاب کنید",
  pickerConfirmButtonText: "تایید",
  pickerCancelButtonText: "لغو",
  // date-picker
  datePickerMonthDict: {
    "01": {
      name: "ژانویه",
      abbr: "JAN"
    },
    "02": {
      name: "فوریه",
      abbr: "FEB"
    },
    "03": {
      name: "مارس",
      abbr: "MAR"
    },
    "04": {
      name: "آوریل",
      abbr: "APR"
    },
    "05": {
      name: "مه",
      abbr: "MAY"
    },
    "06": {
      name: "ژوئن",
      abbr: "JUN"
    },
    "07": {
      name: "جولای",
      abbr: "JUL"
    },
    "08": {
      name: "آگوست",
      abbr: "AUG"
    },
    "09": {
      name: "سپتامبر",
      abbr: "SEP"
    },
    "10": {
      name: "اوکتبر",
      abbr: "OCT"
    },
    "11": {
      name: "نوامبر",
      abbr: "NOV"
    },
    "12": {
      name: "دسامبر",
      abbr: "DEC"
    }
  },
  datePickerWeekDict: {
    "0": {
      name: "یکشنبه",
      abbr: "S"
    },
    "1": {
      name: "دوشنبه",
      abbr: "M"
    },
    "2": {
      name: "سه‌شنبه",
      abbr: "T"
    },
    "3": {
      name: "چهارشنبه",
      abbr: "W"
    },
    "4": {
      name: "پنجشنبه",
      abbr: "T"
    },
    "5": {
      name: "جمعه",
      abbr: "F"
    },
    "6": {
      name: "شنبه",
      abbr: "S"
    }
  },
  datePickerSelected: " انتخاب شده",
  datePickerHint: "انتخاب تاریخ",
  // pagination
  paginationItem: "",
  paginationPage: "صفحه",
  paginationJump: "برو به",
  // time-picker
  timePickerHint: "انتخاب زمان"
};
var stdin_default$6g = {
  // Dialog
  dialogTitle: "確認",
  dialogConfirmButtonText: "確認",
  dialogCancelButtonText: "キャンセル",
  // ActionSheet
  actionSheetTitle: "いずれかを選択",
  // List
  listLoadingText: "読み込み中",
  listFinishedText: "以上です",
  listErrorText: "読み込み失敗",
  // Picker
  pickerTitle: "選択してください",
  pickerConfirmButtonText: "確認",
  pickerCancelButtonText: "キャンセル",
  // date-picker
  datePickerMonthDict: {
    "01": {
      name: "1月",
      abbr: "1月"
    },
    "02": {
      name: "2月",
      abbr: "2月"
    },
    "03": {
      name: "3月",
      abbr: "3月"
    },
    "04": {
      name: "4月",
      abbr: "4月"
    },
    "05": {
      name: "5月",
      abbr: "5月"
    },
    "06": {
      name: "6月",
      abbr: "6月"
    },
    "07": {
      name: "7月",
      abbr: "7月"
    },
    "08": {
      name: "8月",
      abbr: "8月"
    },
    "09": {
      name: "9月",
      abbr: "9月"
    },
    "10": {
      name: "10月",
      abbr: "10月"
    },
    "11": {
      name: "11月",
      abbr: "11月"
    },
    "12": {
      name: "12月",
      abbr: "12月"
    }
  },
  datePickerWeekDict: {
    "0": {
      name: "日曜日",
      abbr: "日"
    },
    "1": {
      name: "月曜日",
      abbr: "月"
    },
    "2": {
      name: "火曜日",
      abbr: "火"
    },
    "3": {
      name: "水曜日",
      abbr: "水"
    },
    "4": {
      name: "木曜日",
      abbr: "木"
    },
    "5": {
      name: "金曜日",
      abbr: "金"
    },
    "6": {
      name: "土曜日",
      abbr: "土"
    }
  },
  datePickerSelected: "件選択済み",
  datePickerHint: "日付を選択",
  // pagination
  paginationItem: "件",
  paginationPage: "ページ",
  paginationJump: "ジャンプ",
  // time-picker
  timePickerHint: "時間を選択"
};
var stdin_default$6f = {
  // Dialog
  dialogTitle: "提示",
  dialogConfirmButtonText: "确认",
  dialogCancelButtonText: "取消",
  // ActionSheet
  actionSheetTitle: "请选择",
  // List
  listLoadingText: "加载中",
  listFinishedText: "没有更多了",
  listErrorText: "加载失败",
  // Picker
  pickerTitle: "请选择",
  pickerConfirmButtonText: "确认",
  pickerCancelButtonText: "取消",
  // date-picker
  datePickerMonthDict: {
    "01": {
      name: "一月",
      abbr: "一月"
    },
    "02": {
      name: "二月",
      abbr: "二月"
    },
    "03": {
      name: "三月",
      abbr: "三月"
    },
    "04": {
      name: "四月",
      abbr: "四月"
    },
    "05": {
      name: "五月",
      abbr: "五月"
    },
    "06": {
      name: "六月",
      abbr: "六月"
    },
    "07": {
      name: "七月",
      abbr: "七月"
    },
    "08": {
      name: "八月",
      abbr: "八月"
    },
    "09": {
      name: "九月",
      abbr: "九月"
    },
    "10": {
      name: "十月",
      abbr: "十月"
    },
    "11": {
      name: "十一月",
      abbr: "十一月"
    },
    "12": {
      name: "十二月",
      abbr: "十二月"
    }
  },
  datePickerWeekDict: {
    "0": {
      name: "星期日",
      abbr: "日"
    },
    "1": {
      name: "星期一",
      abbr: "一"
    },
    "2": {
      name: "星期二",
      abbr: "二"
    },
    "3": {
      name: "星期三",
      abbr: "三"
    },
    "4": {
      name: "星期四",
      abbr: "四"
    },
    "5": {
      name: "星期五",
      abbr: "五"
    },
    "6": {
      name: "星期六",
      abbr: "六"
    }
  },
  datePickerSelected: "个被选择",
  datePickerHint: "选择日期",
  // pagination
  paginationItem: "条",
  paginationPage: "页",
  paginationJump: "前往",
  // time-picker
  timePickerHint: "选择时间"
};
var stdin_default$6e = {
  // Dialog
  dialogTitle: "提示",
  dialogConfirmButtonText: "確認",
  dialogCancelButtonText: "取消",
  // ActionSheet
  actionSheetTitle: "請選擇",
  // List
  listLoadingText: "載入中",
  listFinishedText: "沒有更多了",
  listErrorText: "載入失敗",
  // Picker
  pickerTitle: "請選擇",
  pickerConfirmButtonText: "確認",
  pickerCancelButtonText: "取消",
  // date-picker
  datePickerMonthDict: {
    "01": {
      name: "一月",
      abbr: "一月"
    },
    "02": {
      name: "二月",
      abbr: "二月"
    },
    "03": {
      name: "三月",
      abbr: "三月"
    },
    "04": {
      name: "四月",
      abbr: "四月"
    },
    "05": {
      name: "五月",
      abbr: "五月"
    },
    "06": {
      name: "六月",
      abbr: "六月"
    },
    "07": {
      name: "七月",
      abbr: "七月"
    },
    "08": {
      name: "八月",
      abbr: "八月"
    },
    "09": {
      name: "九月",
      abbr: "九月"
    },
    "10": {
      name: "十月",
      abbr: "十月"
    },
    "11": {
      name: "十一月",
      abbr: "十一月"
    },
    "12": {
      name: "十二月",
      abbr: "十二月"
    }
  },
  datePickerWeekDict: {
    "0": {
      name: "星期日",
      abbr: "日"
    },
    "1": {
      name: "星期一",
      abbr: "一"
    },
    "2": {
      name: "星期二",
      abbr: "二"
    },
    "3": {
      name: "星期三",
      abbr: "三"
    },
    "4": {
      name: "星期四",
      abbr: "四"
    },
    "5": {
      name: "星期五",
      abbr: "五"
    },
    "6": {
      name: "星期六",
      abbr: "六"
    }
  },
  datePickerSelected: "個被選擇",
  datePickerHint: "選擇日期",
  // pagination
  paginationItem: "條",
  paginationPage: "頁",
  paginationJump: "前往",
  // time-picker
  timePickerHint: "選擇時間"
};
var stdin_default$6d = stdin_default$6e;
var __defProp$y = Object.defineProperty;
var __getOwnPropSymbols$y = Object.getOwnPropertySymbols;
var __hasOwnProp$y = Object.prototype.hasOwnProperty;
var __propIsEnum$y = Object.prototype.propertyIsEnumerable;
var __defNormalProp$y = (obj, key3, value) => key3 in obj ? __defProp$y(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues$y = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$y.call(b, prop))
      __defNormalProp$y(a, prop, b[prop]);
  if (__getOwnPropSymbols$y)
    for (var prop of __getOwnPropSymbols$y(b)) {
      if (__propIsEnum$y.call(b, prop))
        __defNormalProp$y(a, prop, b[prop]);
    }
  return a;
};
function useLocale() {
  const messages2 = vue.ref({});
  const currentMessage2 = vue.ref({});
  const add2 = (lang, message) => {
    message.lang = lang;
    messages2.value[lang] = message;
  };
  const use2 = (lang) => {
    if (!messages2.value[lang]) {
      console.warn(`The ${lang} does not exist. You can mount a language message using the add method`);
      return {};
    }
    currentMessage2.value = messages2.value[lang];
  };
  const merge2 = (lang, message) => {
    if (!messages2.value[lang]) {
      console.warn(`The ${lang} does not exist. You can mount a language message using the add method`);
      return;
    }
    messages2.value[lang] = __spreadValues$y(__spreadValues$y({}, messages2.value[lang]), message);
    use2(lang);
  };
  const t2 = (id) => {
    if (hasOwn(currentMessage2.value, id)) {
      return currentMessage2.value[id];
    }
  };
  return {
    messages: messages2,
    currentMessage: currentMessage2,
    add: add2,
    use: use2,
    merge: merge2,
    t: t2
  };
}
const { messages, currentMessage, add: add$2, use, merge, t } = useLocale();
add$2("zh-CN", stdin_default$6f);
use("zh-CN");
const _LocaleComponent = {
  zhCN: stdin_default$6f,
  enUS: stdin_default$6i,
  zhTW: stdin_default$6e,
  zhHK: stdin_default$6d,
  faIR: stdin_default$6h,
  jaJP: stdin_default$6g,
  messages,
  currentMessage,
  add: add$2,
  use,
  merge,
  t,
  useLocale
};
var stdin_default$6c = {
  zhCN: stdin_default$6f,
  enUS: stdin_default$6i,
  zhTW: stdin_default$6e,
  zhHK: stdin_default$6d,
  faIR: stdin_default$6h,
  jaJP: stdin_default$6g,
  messages,
  currentMessage,
  add: add$2,
  use,
  merge,
  t,
  useLocale
};
const LOCALE_PROVIDER_KEY = Symbol("LOCALE_PROVIDER_KEY");
function provideLocaleProvider(localeProvider) {
  vue.provide(LOCALE_PROVIDER_KEY, localeProvider);
}
function injectLocaleProvider() {
  if (!keyInProvides(LOCALE_PROVIDER_KEY)) {
    return { t: null };
  }
  return vue.inject(LOCALE_PROVIDER_KEY);
}
const context = {
  locks: {},
  zIndex: 2e3,
  enableRipple: true
};
const _ContextComponent = vue.reactive(context);
var stdin_default$6b = vue.reactive(context);
const { n: n$1y } = createNamespace("");
function resolveLock() {
  const lockCounts = Object.keys(stdin_default$6b.locks).length;
  lockCounts <= 0 ? document.body.classList.remove(n$1y("$--lock")) : document.body.classList.add(n$1y("$--lock"));
}
function addLock(uid) {
  stdin_default$6b.locks[uid] = 1;
  resolveLock();
}
function releaseLock(uid) {
  delete stdin_default$6b.locks[uid];
  resolveLock();
}
function useLock(source, useSource) {
  const { uid } = vue.getCurrentInstance();
  if (useSource) {
    vue.watch(useSource, (newValue) => {
      if (newValue === false) {
        releaseLock(uid);
      } else if (newValue === true && source() === true) {
        addLock(uid);
      }
    });
  }
  vue.watch(source, (newValue) => {
    if (useSource && useSource() === false) {
      return;
    }
    if (newValue === true) {
      addLock(uid);
    } else {
      releaseLock(uid);
    }
  });
  vue.onBeforeMount(() => {
    if (useSource && useSource() === false) {
      return;
    }
    if (source() === true) {
      addLock(uid);
    }
  });
  vue.onUnmounted(() => {
    if (useSource && useSource() === false) {
      return;
    }
    if (source() === true) {
      releaseLock(uid);
    }
  });
  vue.onActivated(() => {
    if (useSource && useSource() === false) {
      return;
    }
    if (source() === true) {
      addLock(uid);
    }
  });
  vue.onDeactivated(() => {
    if (useSource && useSource() === false) {
      return;
    }
    if (source() === true) {
      releaseLock(uid);
    }
  });
}
const stack = [];
function useStack(activeGetter, zIndex) {
  const { uid } = vue.getCurrentInstance();
  vue.watch(activeGetter, (isActive) => {
    if (isActive && !getStackItem(uid)) {
      pushStackItem();
    } else {
      setTimeout(() => {
        removeItem(stack, getStackItem(uid));
      });
    }
  });
  onSmartMounted(() => {
    if (activeGetter()) {
      pushStackItem();
    }
  });
  onSmartUnmounted(() => {
    removeItem(stack, getStackItem(uid));
  });
  function onStackTop() {
    if (stack.length === 0) {
      return true;
    }
    stack.sort((a, b) => a.zIndex.value - b.zIndex.value);
    return stack[stack.length - 1].uid === uid;
  }
  function pushStackItem() {
    if (getStackItem(uid)) {
      return;
    }
    stack.push({ uid, zIndex });
  }
  function getStackItem(uid2) {
    return stack.find((item) => item.uid === uid2);
  }
  return {
    onStackTop
  };
}
function useZIndex(source, count) {
  const zIndex = vue.ref(stdin_default$6b.zIndex);
  vue.watch(
    source,
    (newValue) => {
      if (newValue) {
        stdin_default$6b.zIndex += process.env.NODE_ENV === "test" ? 0 : count;
        zIndex.value = stdin_default$6b.zIndex;
      }
    },
    { immediate: true }
  );
  return { zIndex };
}
const props$1m = {
  show: Boolean,
  position: {
    type: String,
    default: "center"
  },
  transition: String,
  overlay: {
    type: Boolean,
    default: true
  },
  overlayClass: String,
  overlayStyle: Object,
  lockScroll: {
    type: Boolean,
    default: true
  },
  closeOnClickOverlay: {
    type: Boolean,
    default: true
  },
  closeOnKeyEscape: {
    type: Boolean,
    default: true
  },
  defaultStyle: {
    type: Boolean,
    default: true
  },
  zIndex: Number,
  safeArea: Boolean,
  safeAreaTop: Boolean,
  teleport: {
    type: [String, Object, Boolean],
    default: "body"
  },
  onOpen: defineListenerProp(),
  onOpened: defineListenerProp(),
  onClose: defineListenerProp(),
  onClosed: defineListenerProp(),
  onKeyEscape: defineListenerProp(),
  onClickOverlay: defineListenerProp(),
  "onUpdate:show": defineListenerProp(),
  // internal for Dialog
  onRouteChange: defineListenerProp()
};
const POPUP_BIND_POPUP_ITEM_KEY = Symbol("POPUP_BIND_POPUP_ITEM_KEY");
function usePopup() {
  const { bindParent, parentProvider, index } = useParent(POPUP_BIND_POPUP_ITEM_KEY);
  return {
    index,
    popup: parentProvider,
    bindPopup: bindParent
  };
}
function usePopupItems() {
  const { bindChildren, childProviders, length } = useChildren(POPUP_BIND_POPUP_ITEM_KEY);
  return {
    length,
    popupItems: childProviders,
    bindPopupItems: bindChildren
  };
}
var __defProp$x = Object.defineProperty;
var __getOwnPropSymbols$x = Object.getOwnPropertySymbols;
var __hasOwnProp$x = Object.prototype.hasOwnProperty;
var __propIsEnum$x = Object.prototype.propertyIsEnumerable;
var __defNormalProp$x = (obj, key3, value) => key3 in obj ? __defProp$x(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues$x = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$x.call(b, prop))
      __defNormalProp$x(a, prop, b[prop]);
  if (__getOwnPropSymbols$x)
    for (var prop of __getOwnPropSymbols$x(b)) {
      if (__propIsEnum$x.call(b, prop))
        __defNormalProp$x(a, prop, b[prop]);
    }
  return a;
};
const {
  name: name$1p,
  n: n$1x,
  classes: classes$1c
} = createNamespace("popup");
var stdin_default$6a = vue.defineComponent({
  name: name$1p,
  inheritAttrs: false,
  props: props$1m,
  setup(props2, {
    slots,
    attrs
  }) {
    const rendered = useInitialized(() => props2.show, true);
    const {
      zIndex
    } = useZIndex(() => props2.show, 3);
    const normalizedZIndex = vue.computed(() => {
      var _a;
      return (_a = props2.zIndex) != null ? _a : zIndex.value;
    });
    const {
      onStackTop
    } = useStack(() => props2.show, normalizedZIndex);
    const {
      disabled
    } = useTeleport();
    const {
      bindPopupItems
    } = usePopupItems();
    useLock(() => props2.show, () => props2.lockScroll);
    vue.watch(() => props2.show, (newValue) => {
      newValue ? call(props2.onOpen) : call(props2.onClose);
    });
    bindPopupItems({
      show: vue.computed(() => props2.show)
    });
    useEventListener(() => window, "keydown", handleKeydown);
    useRouteListener(() => call(props2.onRouteChange));
    function hidePopup() {
      const {
        closeOnClickOverlay,
        onClickOverlay
      } = props2;
      call(onClickOverlay);
      if (!closeOnClickOverlay) {
        return;
      }
      call(props2["onUpdate:show"], false);
    }
    function renderOverlay() {
      const {
        overlayClass = "",
        overlayStyle
      } = props2;
      return vue.createVNode("div", {
        "class": classes$1c(n$1x("overlay"), overlayClass),
        "style": __spreadValues$x({
          zIndex: normalizedZIndex.value - 1
        }, overlayStyle),
        "onClick": hidePopup
      }, null);
    }
    function renderContent() {
      return vue.withDirectives(vue.createVNode("div", vue.mergeProps({
        "class": classes$1c(n$1x("content"), n$1x(`--${props2.position}`), [props2.defaultStyle, n$1x("--content-background-color")], [props2.defaultStyle, n$1x("$-elevation--3")], [props2.safeArea, n$1x("--safe-area")], [props2.safeAreaTop, n$1x("--safe-area-top")]),
        "style": {
          zIndex: normalizedZIndex.value
        },
        "role": "dialog",
        "aria-modal": "true"
      }, attrs), [rendered.value && call(slots.default)]), [[vue.vShow, props2.show]]);
    }
    function renderPopup() {
      return vue.createVNode(vue.Transition, {
        "name": n$1x("$-fade"),
        "onAfterEnter": props2.onOpened,
        "onAfterLeave": props2.onClosed
      }, {
        default: () => [vue.withDirectives(vue.createVNode("div", {
          "class": classes$1c(n$1x("$--box"), n$1x(), [!props2.overlay, n$1x("--pointer-events-none")]),
          "style": {
            zIndex: normalizedZIndex.value - 2
          }
        }, [props2.overlay && renderOverlay(), vue.createVNode(vue.Transition, {
          "name": props2.transition || n$1x(`$-pop-${props2.position}`)
        }, {
          default: () => [renderContent()]
        })]), [[vue.vShow, props2.show]])]
      });
    }
    function handleKeydown(event) {
      if (!onStackTop() || event.key !== "Escape" || !props2.show) {
        return;
      }
      call(props2.onKeyEscape);
      if (!props2.closeOnKeyEscape) {
        return;
      }
      preventDefault(event);
      call(props2["onUpdate:show"], false);
    }
    return () => {
      const {
        teleport
      } = props2;
      if (teleport) {
        return vue.createVNode(vue.Teleport, {
          "to": teleport,
          "disabled": disabled.value
        }, {
          default: () => [renderPopup()]
        });
      }
      return renderPopup();
    };
  }
});
withInstall(stdin_default$6a);
withPropsDefaultsSetter(stdin_default$6a, props$1m);
const _PopupComponent = stdin_default$6a;
var stdin_default$69 = stdin_default$6a;
var __defProp$w = Object.defineProperty;
var __defProps$c = Object.defineProperties;
var __getOwnPropDescs$c = Object.getOwnPropertyDescriptors;
var __getOwnPropSymbols$w = Object.getOwnPropertySymbols;
var __hasOwnProp$w = Object.prototype.hasOwnProperty;
var __propIsEnum$w = Object.prototype.propertyIsEnumerable;
var __defNormalProp$w = (obj, key3, value) => key3 in obj ? __defProp$w(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues$w = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$w.call(b, prop))
      __defNormalProp$w(a, prop, b[prop]);
  if (__getOwnPropSymbols$w)
    for (var prop of __getOwnPropSymbols$w(b)) {
      if (__propIsEnum$w.call(b, prop))
        __defNormalProp$w(a, prop, b[prop]);
    }
  return a;
};
var __spreadProps$c = (a, b) => __defProps$c(a, __getOwnPropDescs$c(b));
const { n: n$1w } = createNamespace("ripple");
const ANIMATION_DURATION$1 = 250;
function setStyles(element) {
  const { zIndex, position } = getStyle$1(element);
  element.style.overflow = "hidden";
  element.style.overflowX = "hidden";
  element.style.overflowY = "hidden";
  position === "static" && (element.style.position = "relative");
  zIndex === "auto" && (element.style.zIndex = "1");
}
function isTouchEvent(event) {
  return "touches" in event;
}
function computeRippleStyles(element, event) {
  const { top: top2, left: left2 } = getRect(element);
  const { clientWidth, clientHeight } = element;
  const radius = Math.sqrt(clientWidth ** 2 + clientHeight ** 2) / 2;
  const size = radius * 2;
  const localX = isTouchEvent(event) ? event.touches[0].clientX - left2 : clientWidth / 2;
  const localY = isTouchEvent(event) ? event.touches[0].clientY - top2 : clientHeight / 2;
  const centerX = (clientWidth - radius * 2) / 2;
  const centerY = (clientHeight - radius * 2) / 2;
  const x = localX - radius;
  const y = localY - radius;
  return { x, y, centerX, centerY, size };
}
function createRipple(event) {
  const _ripple = this._ripple;
  _ripple.removeRipple();
  if (_ripple.disabled || _ripple.tasker || !stdin_default$6b.enableRipple) {
    return;
  }
  const task = () => {
    _ripple.tasker = null;
    const { x, y, centerX, centerY, size } = computeRippleStyles(this, event);
    const ripple = document.createElement("div");
    ripple.classList.add(n$1w());
    ripple.style.opacity = `0`;
    ripple.style.transform = `translate(${x}px, ${y}px) scale3d(.3, .3, .3)`;
    ripple.style.width = `${size}px`;
    ripple.style.height = `${size}px`;
    _ripple.color && (ripple.style.backgroundColor = _ripple.color);
    ripple.dataset.createdAt = String(performance.now());
    setStyles(this);
    this.appendChild(ripple);
    window.setTimeout(() => {
      ripple.style.transform = `translate(${centerX}px, ${centerY}px) scale3d(1, 1, 1)`;
      ripple.style.opacity = `.25`;
    }, 20);
  };
  _ripple.tasker = window.setTimeout(task, 30);
}
function removeRipple() {
  const _ripple = this._ripple;
  const task = () => {
    const ripples = this.querySelectorAll(`.${n$1w()}`);
    if (!ripples.length) {
      return;
    }
    const lastRipple = ripples[ripples.length - 1];
    const delay2 = ANIMATION_DURATION$1 - performance.now() + Number(lastRipple.dataset.createdAt);
    window.setTimeout(() => {
      lastRipple.style.opacity = `0`;
      window.setTimeout(() => {
        var _a;
        return (_a = lastRipple.parentNode) == null ? void 0 : _a.removeChild(lastRipple);
      }, ANIMATION_DURATION$1);
    }, delay2);
  };
  _ripple.tasker ? window.setTimeout(task, 30) : task();
}
function forbidRippleTask() {
  if (!supportTouch() || !stdin_default$6b.enableRipple) {
    return;
  }
  const _ripple = this._ripple;
  _ripple.tasker && window.clearTimeout(_ripple.tasker);
  _ripple.tasker = null;
}
let hasKeyboardRipple = false;
function createKeyboardRipple(event) {
  if (hasKeyboardRipple || !(event.key === " " || event.key === "Enter")) {
    return;
  }
  createRipple.call(this, event);
  hasKeyboardRipple = true;
}
function removeKeyboardRipple() {
  if (!hasKeyboardRipple) {
    return;
  }
  removeRipple.call(this);
  hasKeyboardRipple = false;
}
function mounted$2(el, binding) {
  var _a;
  el._ripple = __spreadProps$c(__spreadValues$w({
    tasker: null
  }, (_a = binding.value) != null ? _a : {}), {
    removeRipple: removeRipple.bind(el)
  });
  el.addEventListener("touchstart", createRipple, { passive: true });
  el.addEventListener("touchmove", forbidRippleTask, { passive: true });
  el.addEventListener("dragstart", removeRipple, { passive: true });
  el.addEventListener("keydown", createKeyboardRipple);
  el.addEventListener("keyup", removeKeyboardRipple);
  el.addEventListener("blur", removeKeyboardRipple);
  document.addEventListener("touchend", el._ripple.removeRipple, { passive: true });
  document.addEventListener("touchcancel", el._ripple.removeRipple, { passive: true });
  document.addEventListener("dragend", el._ripple.removeRipple, { passive: true });
}
function unmounted$1(el) {
  el.removeEventListener("touchstart", createRipple);
  el.removeEventListener("touchmove", forbidRippleTask);
  el.removeEventListener("dragstart", removeRipple);
  if (!el._ripple || !el._ripple.removeRipple) {
    return;
  }
  document.removeEventListener("touchend", el._ripple.removeRipple);
  document.removeEventListener("touchcancel", el._ripple.removeRipple);
  document.removeEventListener("dragend", el._ripple.removeRipple);
}
function updated$2(el, binding) {
  var _a, _b, _c, _d, _e, _f;
  const newBinding = {
    color: (_a = binding.value) == null ? void 0 : _a.color,
    disabled: (_b = binding.value) == null ? void 0 : _b.disabled
  };
  const diff2 = newBinding.color !== ((_c = el._ripple) == null ? void 0 : _c.color) || newBinding.disabled !== ((_d = el._ripple) == null ? void 0 : _d.disabled);
  if (diff2) {
    el._ripple = __spreadValues$w({
      tasker: newBinding.disabled ? null : (_e = el._ripple) == null ? void 0 : _e.tasker,
      removeRipple: (_f = el._ripple) == null ? void 0 : _f.removeRipple
    }, newBinding);
  }
}
const Ripple = {
  mounted: mounted$2,
  unmounted: unmounted$1,
  updated: updated$2,
  install(app) {
    app.directive("ripple", this);
  }
};
const _RippleComponent = Ripple;
var stdin_default$68 = Ripple;
function shouldDisabled(arg) {
  if (!arg) {
    return false;
  }
  if (arg === "desktop" && inMobile()) {
    return true;
  }
  if (arg === "mobile" && !inMobile()) {
    return true;
  }
  return false;
}
function getStyle(element) {
  const style = element.getAttribute("style");
  if (!style) {
    return {};
  }
  return style.split(";").filter(Boolean).reduce(
    (style2, item) => {
      const [key3, value] = item.split(":").map((item2) => item2.trim());
      style2[camelize(key3)] = value;
      return style2;
    },
    {}
  );
}
function updateRawStyle(element) {
  const { value } = element._hover;
  const style = getStyle(element);
  Object.keys(value).forEach((key3) => {
    const camelizedKey = camelize(key3);
    const styleValue = value[camelizedKey];
    if (styleValue != null && style[camelizedKey]) {
      element._hover.rawStyle[camelizedKey] = style[camelizedKey];
    }
  });
}
function updateStyle(element, styleValue) {
  Object.keys(styleValue).forEach((key3) => {
    const value = styleValue[key3];
    if (value != null) {
      element.style[key3] = value;
    }
  });
}
function clearStyle(element) {
  Object.keys(element._hover.value).forEach((key3) => {
    const value = element._hover.value[key3];
    if (value != null) {
      element.style[key3] = "";
    }
  });
}
function restoreStyle(element) {
  if ((element == null ? void 0 : element._hover) == null) {
    return;
  }
  clearStyle(element);
  updateStyle(element, element._hover.rawStyle);
}
function createHover() {
  const { value } = this._hover;
  this._hover.hovering = true;
  if (isFunction(value)) {
    value(this._hover.hovering);
    return;
  }
  updateStyle(this, value);
}
function removeHover() {
  this._hover.hovering = false;
  if (isFunction(this._hover.value)) {
    this._hover.value(this._hover.hovering);
    return;
  }
  restoreStyle(this);
}
function mounted$1(element, binding) {
  var _a, _b;
  const { arg, value } = binding;
  if (shouldDisabled(arg)) {
    return;
  }
  element._hover = {
    value,
    hovering: (_b = (_a = element._hover) == null ? void 0 : _a.hovering) != null ? _b : false,
    rawStyle: {}
  };
  updateRawStyle(element);
  element.addEventListener("mouseenter", createHover);
  element.addEventListener("mouseleave", removeHover);
}
function unmounted(element, binding) {
  if (shouldDisabled(binding.arg)) {
    return;
  }
  restoreStyle(element);
  element.removeEventListener("mouseenter", createHover);
  element.removeEventListener("mouseleave", removeHover);
}
function beforeUpdate(element, binding) {
  if (!element._hover) {
    return;
  }
  unmounted(element, binding);
}
function shouldUpdateStyle(element, binding) {
  return !isFunction(binding.value) && element._hover.hovering;
}
function updated$1(element, binding) {
  mounted$1(element, binding);
  if (shouldUpdateStyle(element, binding)) {
    updateStyle(element, binding.value);
  }
}
const Hover = {
  mounted: mounted$1,
  unmounted,
  beforeUpdate,
  updated: updated$1,
  install(app) {
    app.directive("hover", this);
  }
};
const _HoverComponent = Hover;
var stdin_default$67 = Hover;
const props$1l = {
  hovering: Boolean,
  focusing: Boolean
};
const { name: name$1o, n: n$1v, classes: classes$1b } = createNamespace("hover-overlay");
function __render__$1t(_ctx, _cache) {
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(_ctx.classes(_ctx.n(), [_ctx.hovering, _ctx.n("--hovering")], [_ctx.focusing && !_ctx.inMobile(), _ctx.n("--focusing")]))
    },
    null,
    2
    /* CLASS */
  );
}
const __sfc__$1w = vue.defineComponent({
  name: name$1o,
  props: props$1l,
  setup: () => ({
    n: n$1v,
    classes: classes$1b,
    inMobile
  })
});
__sfc__$1w.render = __render__$1t;
var stdin_default$66 = __sfc__$1w;
withInstall(stdin_default$66);
withPropsDefaultsSetter(stdin_default$66, props$1l);
function useHoverOverlay() {
  const hovering = vue.ref(false);
  const handleHovering = (value) => {
    hovering.value = value;
  };
  return {
    hovering,
    handleHovering
  };
}
const _HoverOverlayComponent = stdin_default$66;
var stdin_default$65 = stdin_default$66;
function getLeft(element) {
  const { left: left2 } = getRect(element);
  return left2 + (document.body.scrollLeft || document.documentElement.scrollLeft);
}
function getTop$1(element) {
  const { top: top2 } = getRect(element);
  return top2 + (document.body.scrollTop || document.documentElement.scrollTop);
}
function getTranslateY(el) {
  const { transform } = getStyle$1(el);
  return +transform.slice(transform.lastIndexOf(",") + 2, transform.length - 1);
}
function getParentScroller(el) {
  let element = el;
  while (element) {
    if (!element.parentNode) {
      break;
    }
    element = element.parentNode;
    if (element === document.body || element === document.documentElement) {
      break;
    }
    const scrollRE = /(scroll|auto)/;
    const { overflowY, overflow } = getStyle$1(element);
    if (scrollRE.test(overflowY) || scrollRE.test(overflow)) {
      return element;
    }
  }
  return window;
}
function getAllParentScroller(el) {
  const allParentScroller = [];
  let element = el;
  while (!isWindow(element)) {
    element = getParentScroller(element);
    allParentScroller.push(element);
  }
  return allParentScroller;
}
function getTarget(target, componentName) {
  if (isString(target)) {
    const el = document.querySelector(target);
    assert(!!el, componentName, "target element cannot found");
    return el;
  }
  assert(isObject(target), componentName, 'type of prop "target" should be an element object');
  return target;
}
function getViewportSize() {
  const { width, height } = getRect(window);
  return {
    vw: width,
    vh: height,
    vMin: Math.min(width, height),
    vMax: Math.max(width, height)
  };
}
const isRem = (value) => isString(value) && value.endsWith("rem");
const isPx = (value) => isString(value) && value.endsWith("px") || isNumber(value);
const isVw = (value) => isString(value) && value.endsWith("vw");
const isVh = (value) => isString(value) && value.endsWith("vh");
const isVMin = (value) => isString(value) && value.endsWith("vmin");
const isVMax = (value) => isString(value) && value.endsWith("vmax");
const toPxNum = (value) => {
  if (isNumeric(value)) {
    return Number(value);
  }
  if (isPx(value)) {
    return +value.replace("px", "");
  }
  if (!inBrowser()) {
    return 0;
  }
  const { vw, vh, vMin, vMax } = getViewportSize();
  if (isVw(value)) {
    return +value.replace("vw", "") * vw / 100;
  }
  if (isVh(value)) {
    return +value.replace("vh", "") * vh / 100;
  }
  if (isVMin(value)) {
    return +value.replace("vmin", "") * vMin / 100;
  }
  if (isVMax(value)) {
    return +value.replace("vmax", "") * vMax / 100;
  }
  if (isRem(value)) {
    const num = +value.replace("rem", "");
    const rootFontSize = getStyle$1(document.documentElement).fontSize;
    return num * parseFloat(rootFontSize);
  }
  if (isString(value)) {
    return toNumber(value);
  }
  return 0;
};
const toSizeUnit = (value) => {
  if (value == null) {
    return void 0;
  }
  if (isNumeric(value)) {
    return `${value}px`;
  }
  return String(value);
};
const multiplySizeUnit = (value, quantity = 1) => {
  if (value == null) {
    return void 0;
  }
  const legalSize = toSizeUnit(value);
  const unit = legalSize.match(/(vh|%|r?em|px|vw|vmin|vmax)$/)[0];
  return `${parseFloat(legalSize) * quantity}${unit}`;
};
function scrollTo(element, { top: top2 = 0, left: left2 = 0, duration = 300, animation }) {
  const startTime = Date.now();
  const scrollTop = getScrollTop(element);
  const scrollLeft = getScrollLeft(element);
  return new Promise((resolve) => {
    const frame = () => {
      const progress = (Date.now() - startTime) / duration;
      if (progress < 1) {
        const nextTop = scrollTop + (top2 - scrollTop) * animation(progress);
        const nextLeft = scrollLeft + (left2 - scrollLeft) * animation(progress);
        element.scrollTo(nextLeft, nextTop);
        requestAnimationFrame(frame);
      } else {
        element.scrollTo(left2, top2);
        resolve();
      }
    };
    requestAnimationFrame(frame);
  });
}
function formatStyleVars(styleVars) {
  return Object.entries(styleVars != null ? styleVars : {}).reduce((styles, [key3, value]) => {
    const cssVar = key3.startsWith("--") ? key3 : `--${kebabCase(key3)}`;
    styles[cssVar] = value;
    return styles;
  }, {});
}
function padStartFlex(style) {
  return style === "start" || style === "end" ? `flex-${style}` : style;
}
function isDisplayNoneElement(element) {
  let parent = element;
  while (parent && parent !== document.documentElement) {
    if (getStyle$1(parent).display === "none") {
      return true;
    }
    parent = parent.parentNode;
  }
  return false;
}
const focusableSelector = ["button", "input", "select", "textarea", "[tabindex]", "[href]"].map((s) => `${s}:not([disabled])`).join(", ");
function focusChildElementByKey(referenceElement, parentElement, key3, beforeFocus) {
  const focusableElements = Array.from(parentElement.querySelectorAll(focusableSelector)).filter(
    (element) => !isDisplayNoneElement(element)
  );
  if (!focusableElements.length) {
    return;
  }
  const isActiveInReferenceElements = [referenceElement, ...Array.from(referenceElement.querySelectorAll(focusableSelector))].findIndex(
    (el) => el === document.activeElement
  ) !== -1;
  const activeElementIndex = Array.from(focusableElements).findIndex((el) => el === document.activeElement);
  if (key3 === "ArrowDown") {
    if (isActiveInReferenceElements && activeElementIndex === -1 || activeElementIndex === focusableElements.length - 1) {
      focus(focusableElements[0]);
      return;
    }
    if (activeElementIndex !== -1 && activeElementIndex < focusableElements.length - 1) {
      focus(focusableElements[activeElementIndex + 1]);
      return;
    }
  }
  if (key3 === "ArrowUp") {
    if (isActiveInReferenceElements && activeElementIndex === -1 || activeElementIndex === 0) {
      focus(focusableElements[focusableElements.length - 1]);
      return;
    }
    if (activeElementIndex > 0) {
      focus(focusableElements[activeElementIndex - 1]);
    }
  }
  function focus(nextActiveElement) {
    if (beforeFocus && !beforeFocus(document.activeElement, nextActiveElement, isActiveInReferenceElements)) {
      return;
    }
    nextActiveElement.focus();
  }
}
const props$1k = {
  name: String,
  size: [Number, String],
  color: String,
  namespace: {
    type: String,
    default: "var-icon"
  },
  transition: {
    type: [Number, String],
    default: 0
  },
  animationClass: String,
  onClick: defineListenerProp()
};
var __async$k = (__this, __arguments, generator) => {
  return new Promise((resolve, reject) => {
    var fulfilled = (value) => {
      try {
        step(generator.next(value));
      } catch (e) {
        reject(e);
      }
    };
    var rejected = (value) => {
      try {
        step(generator.throw(value));
      } catch (e) {
        reject(e);
      }
    };
    var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
    step((generator = generator.apply(__this, __arguments)).next());
  });
};
const { name: name$1n, n: n$1u, classes: classes$1a } = createNamespace("icon");
function __render__$1s(_ctx, _cache) {
  return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.isURL(_ctx.name) ? "img" : "i"), {
    class: vue.normalizeClass(
      _ctx.classes(
        _ctx.n(),
        [_ctx.namespace !== _ctx.n(), _ctx.namespace],
        `${_ctx.namespace}--set`,
        [_ctx.isURL(_ctx.name), _ctx.n("image"), `${_ctx.namespace}-${_ctx.nextName}`],
        [_ctx.animateInProgress, _ctx.animationClass == null ? _ctx.n("--shrinking") : _ctx.animationClass]
      )
    ),
    style: vue.normalizeStyle({
      color: _ctx.color,
      "transition-duration": `${_ctx.toNumber(_ctx.transition)}ms`,
      width: _ctx.isURL(_ctx.name) ? _ctx.toSizeUnit(_ctx.size) : null,
      height: _ctx.isURL(_ctx.name) ? _ctx.toSizeUnit(_ctx.size) : null,
      fontSize: _ctx.toSizeUnit(_ctx.size)
    }),
    src: _ctx.isURL(_ctx.name) ? _ctx.nextName : null,
    onClick: _ctx.onClick
  }, null, 8, ["class", "style", "src", "onClick"]);
}
const __sfc__$1v = vue.defineComponent({
  name: name$1n,
  props: props$1k,
  setup(props2) {
    const nextName = vue.ref("");
    const animateInProgress = vue.ref(false);
    vue.watch(() => props2.name, handleNameChange, { immediate: true });
    function handleNameChange(newName, oldName) {
      return __async$k(this, null, function* () {
        const { transition } = props2;
        if (oldName == null || toNumber(transition) === 0) {
          nextName.value = newName;
          return;
        }
        animateInProgress.value = true;
        yield vue.nextTick();
        setTimeout(() => {
          if (oldName != null) {
            nextName.value = newName;
          }
          animateInProgress.value = false;
        }, toNumber(transition));
      });
    }
    return {
      nextName,
      animateInProgress,
      n: n$1u,
      classes: classes$1a,
      isURL,
      toNumber,
      toSizeUnit
    };
  }
});
__sfc__$1v.render = __render__$1s;
var stdin_default$64 = __sfc__$1v;
withInstall(stdin_default$64);
withPropsDefaultsSetter(stdin_default$64, props$1k);
const _IconComponent = stdin_default$64;
var stdin_default$63 = stdin_default$64;
const { name: name$1m, n: n$1t, classes: classes$19 } = createNamespace("action-sheet");
function __render__$1r(_ctx, _cache) {
  const _component_var_icon = vue.resolveComponent("var-icon");
  const _component_var_hover_overlay = vue.resolveComponent("var-hover-overlay");
  const _directive_ripple = vue.resolveDirective("ripple");
  const _directive_hover = vue.resolveDirective("hover");
  return vue.withDirectives((vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(_ctx.classes(_ctx.n("action-item"), _ctx.className, [_ctx.disabled, _ctx.n("--disabled")])),
      style: vue.normalizeStyle({ color: _ctx.color })
    },
    [
      _ctx.icon ? (vue.openBlock(), vue.createBlock(_component_var_icon, {
        key: 0,
        "var-action-sheet-cover": "",
        class: vue.normalizeClass(_ctx.n("action-icon")),
        namespace: _ctx.namespace,
        name: _ctx.icon,
        size: _ctx.iconSize
      }, null, 8, ["class", "namespace", "name", "size"])) : vue.createCommentVNode("v-if", true),
      vue.createElementVNode(
        "div",
        {
          class: vue.normalizeClass(_ctx.n("action-name"))
        },
        vue.toDisplayString(_ctx.name),
        3
        /* TEXT, CLASS */
      ),
      vue.createVNode(_component_var_hover_overlay, {
        hovering: _ctx.disabled ? false : _ctx.hovering
      }, null, 8, ["hovering"])
    ],
    6
    /* CLASS, STYLE */
  )), [
    [_directive_ripple, { disabled: _ctx.disabled }],
    [_directive_hover, _ctx.handleHovering, "desktop"]
  ]);
}
const __sfc__$1u = vue.defineComponent({
  name: name$1m,
  components: {
    VarHoverOverlay: stdin_default$65,
    VarIcon: stdin_default$63
  },
  directives: { Ripple: stdin_default$68, Hover: stdin_default$67 },
  props: {
    name: String,
    className: String,
    disabled: Boolean,
    color: String,
    namespace: String,
    iconSize: [String, Number],
    icon: String
  },
  setup() {
    const { hovering, handleHovering } = useHoverOverlay();
    return {
      hovering,
      n: n$1t,
      classes: classes$19,
      handleHovering
    };
  }
});
__sfc__$1u.render = __render__$1r;
var stdin_default$62 = __sfc__$1u;
var __defProp$v = Object.defineProperty;
var __getOwnPropSymbols$v = Object.getOwnPropertySymbols;
var __hasOwnProp$v = Object.prototype.hasOwnProperty;
var __propIsEnum$v = Object.prototype.propertyIsEnumerable;
var __defNormalProp$v = (obj, key3, value) => key3 in obj ? __defProp$v(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues$v = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$v.call(b, prop))
      __defNormalProp$v(a, prop, b[prop]);
  if (__getOwnPropSymbols$v)
    for (var prop of __getOwnPropSymbols$v(b)) {
      if (__propIsEnum$v.call(b, prop))
        __defNormalProp$v(a, prop, b[prop]);
    }
  return a;
};
const props$1j = __spreadValues$v({
  show: Boolean,
  title: String,
  actions: {
    type: Array,
    default: () => []
  },
  closeOnClickAction: {
    type: Boolean,
    default: true
  },
  onSelect: defineListenerProp(),
  "onUpdate:show": defineListenerProp()
}, pickProps(props$1m, [
  "overlay",
  "overlayClass",
  "overlayStyle",
  "lockScroll",
  "closeOnClickOverlay",
  "closeOnKeyEscape",
  "safeArea",
  "teleport",
  "onOpen",
  "onClose",
  "onOpened",
  "onClosed",
  "onClickOverlay",
  // internal for function call closes the dialog
  "onRouteChange",
  "onKeyEscape"
]));
const { name: name$1l, n: n$1s, classes: classes$18 } = createNamespace("action-sheet");
function __render__$1q(_ctx, _cache) {
  const _component_var_action_item = vue.resolveComponent("var-action-item");
  const _component_var_popup = vue.resolveComponent("var-popup");
  return vue.openBlock(), vue.createBlock(_component_var_popup, {
    show: _ctx.show,
    "onUpdate:show": _cache[0] || (_cache[0] = ($event) => _ctx.show = $event),
    position: "bottom",
    class: vue.normalizeClass(_ctx.n("popup-radius")),
    overlay: _ctx.overlay,
    "overlay-class": _ctx.overlayClass,
    "overlay-style": _ctx.overlayStyle,
    "lock-scroll": _ctx.lockScroll,
    "close-on-click-overlay": _ctx.closeOnClickOverlay,
    "close-on-key-escape": _ctx.closeOnKeyEscape,
    teleport: _ctx.teleport,
    "safe-area": _ctx.safeArea,
    onOpen: _ctx.onOpen,
    onClose: _ctx.onClose,
    onClosed: _ctx.onClosed,
    onOpened: _ctx.onOpened,
    onRouteChange: _ctx.onRouteChange,
    onKeyEscape: _ctx.onKeyEscape
  }, {
    default: vue.withCtx(() => [
      vue.createElementVNode(
        "div",
        vue.mergeProps({
          class: _ctx.classes(_ctx.n(), _ctx.n("$--box"))
        }, _ctx.$attrs),
        [
          vue.renderSlot(_ctx.$slots, "title", {}, () => {
            var _a;
            return [
              vue.createElementVNode(
                "div",
                {
                  class: vue.normalizeClass(_ctx.n("title"))
                },
                vue.toDisplayString((_a = _ctx.title) != null ? _a : (_ctx.pt ? _ctx.pt : _ctx.t)("actionSheetTitle")),
                3
                /* TEXT, CLASS */
              )
            ];
          }),
          vue.renderSlot(_ctx.$slots, "actions", {}, () => [
            (vue.openBlock(true), vue.createElementBlock(
              vue.Fragment,
              null,
              vue.renderList(_ctx.actions, (action) => {
                return vue.openBlock(), vue.createBlock(_component_var_action_item, {
                  key: action.name,
                  name: action.name,
                  namespace: action.namespace,
                  icon: action.icon,
                  "icon-size": action.iconSize,
                  "class-name": action.className,
                  color: action.color,
                  onClick: ($event) => _ctx.handleSelect(action)
                }, null, 8, ["name", "namespace", "icon", "icon-size", "class-name", "color", "onClick"]);
              }),
              128
              /* KEYED_FRAGMENT */
            ))
          ])
        ],
        16
        /* FULL_PROPS */
      )
    ]),
    _: 3
    /* FORWARDED */
  }, 8, ["show", "class", "overlay", "overlay-class", "overlay-style", "lock-scroll", "close-on-click-overlay", "close-on-key-escape", "teleport", "safe-area", "onOpen", "onClose", "onClosed", "onOpened", "onRouteChange", "onKeyEscape"]);
}
const __sfc__$1t = vue.defineComponent({
  name: name$1l,
  directives: { Ripple: stdin_default$68 },
  components: {
    VarPopup: stdin_default$69,
    VarActionItem: stdin_default$62
  },
  inheritAttrs: false,
  props: props$1j,
  setup(props2) {
    const show = useVModel(props2, "show");
    const { t: pt } = injectLocaleProvider();
    function handleSelect(action) {
      if (action.disabled) {
        return;
      }
      const { closeOnClickAction, onSelect } = props2;
      call(onSelect, action);
      if (closeOnClickAction) {
        show.value = false;
      }
    }
    return {
      show,
      pt,
      t,
      n: n$1s,
      classes: classes$18,
      handleSelect
    };
  }
});
__sfc__$1t.render = __render__$1q;
var stdin_default$61 = __sfc__$1t;
var __defProp$u = Object.defineProperty;
var __getOwnPropSymbols$u = Object.getOwnPropertySymbols;
var __hasOwnProp$u = Object.prototype.hasOwnProperty;
var __propIsEnum$u = Object.prototype.propertyIsEnumerable;
var __defNormalProp$u = (obj, key3, value) => key3 in obj ? __defProp$u(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues$u = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$u.call(b, prop))
      __defNormalProp$u(a, prop, b[prop]);
  if (__getOwnPropSymbols$u)
    for (var prop of __getOwnPropSymbols$u(b)) {
      if (__propIsEnum$u.call(b, prop))
        __defNormalProp$u(a, prop, b[prop]);
    }
  return a;
};
let singletonOptions$3;
let defaultOptions$3 = {};
function normalizeOptions$3(options = {}) {
  return __spreadValues$u(__spreadValues$u({}, defaultOptions$3), options);
}
function ActionSheet(options) {
  if (!inBrowser()) {
    return Promise.resolve();
  }
  return new Promise((resolve) => {
    ActionSheet.close();
    const reactiveActionSheetOptions = vue.reactive(normalizeOptions$3(options));
    reactiveActionSheetOptions.teleport = "body";
    singletonOptions$3 = reactiveActionSheetOptions;
    const { unmountInstance } = mountInstance(stdin_default$61, reactiveActionSheetOptions, {
      onSelect: (action) => {
        call(reactiveActionSheetOptions.onSelect, action);
        resolve(action);
      },
      onClose: () => {
        call(reactiveActionSheetOptions.onClose);
        resolve("close");
      },
      onClosed: () => {
        call(reactiveActionSheetOptions.onClosed);
        unmountInstance();
        singletonOptions$3 === reactiveActionSheetOptions && (singletonOptions$3 = null);
      },
      onRouteChange: () => {
        unmountInstance();
        singletonOptions$3 === reactiveActionSheetOptions && (singletonOptions$3 = null);
      },
      "onUpdate:show": (value) => {
        reactiveActionSheetOptions.show = value;
      }
    });
    reactiveActionSheetOptions.show = true;
  });
}
ActionSheet.setDefaultOptions = function(options) {
  defaultOptions$3 = options;
};
ActionSheet.resetDefaultOptions = function() {
  defaultOptions$3 = {};
};
ActionSheet.close = function() {
  if (singletonOptions$3 != null) {
    const prevSingletonOptions = singletonOptions$3;
    singletonOptions$3 = null;
    vue.nextTick().then(() => {
      prevSingletonOptions.show = false;
    });
  }
};
ActionSheet.Component = stdin_default$61;
withInstall(stdin_default$61);
withInstall(stdin_default$61, ActionSheet);
withPropsDefaultsSetter(ActionSheet, props$1j);
const _ActionSheetComponent = stdin_default$61;
var stdin_default$60 = ActionSheet;
const props$1i = {
  type: {
    type: String,
    default: "info"
  },
  variant: {
    type: String,
    default: "standard"
  },
  color: String,
  title: String,
  message: String,
  closeable: Boolean,
  elevation: {
    type: [Boolean, String, Number],
    default: false
  },
  onClose: defineListenerProp()
};
const { name: name$1k, n: n$1r, classes: classes$17 } = createNamespace("alert");
const iconTypeMap = {
  success: "checkbox-marked-circle",
  warning: "warning",
  info: "information",
  danger: "error"
};
function __render__$1p(_ctx, _cache) {
  const _component_var_icon = vue.resolveComponent("var-icon");
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(_ctx.classes(_ctx.n(), _ctx.n("$--box"), _ctx.n(`--${_ctx.variant}`), _ctx.n(`--${_ctx.type}`), _ctx.formatElevation(_ctx.elevation, 2))),
      style: vue.normalizeStyle({
        "background-color": _ctx.color
      }),
      role: "alert"
    },
    [
      _ctx.isInternalType || _ctx.$slots["icon"] ? (vue.openBlock(), vue.createElementBlock(
        "div",
        {
          key: 0,
          class: vue.normalizeClass(_ctx.n("icon"))
        },
        [
          vue.renderSlot(_ctx.$slots, "icon", {}, () => [
            _ctx.isInternalType ? (vue.openBlock(), vue.createBlock(_component_var_icon, {
              key: 0,
              name: _ctx.iconTypeMap[_ctx.type]
            }, null, 8, ["name"])) : vue.createCommentVNode("v-if", true)
          ])
        ],
        2
        /* CLASS */
      )) : vue.createCommentVNode("v-if", true),
      vue.renderSlot(_ctx.$slots, "content", {}, () => [
        vue.createElementVNode(
          "div",
          {
            class: vue.normalizeClass(_ctx.n("content"))
          },
          [
            _ctx.title || _ctx.$slots["title"] ? (vue.openBlock(), vue.createElementBlock(
              "div",
              {
                key: 0,
                class: vue.normalizeClass(_ctx.n("title"))
              },
              [
                vue.renderSlot(_ctx.$slots, "title", {}, () => [
                  vue.createTextVNode(
                    vue.toDisplayString(_ctx.title),
                    1
                    /* TEXT */
                  )
                ])
              ],
              2
              /* CLASS */
            )) : vue.createCommentVNode("v-if", true),
            _ctx.message || _ctx.$slots["default"] ? (vue.openBlock(), vue.createElementBlock(
              "div",
              {
                key: 1,
                class: vue.normalizeClass(_ctx.n("message"))
              },
              [
                vue.renderSlot(_ctx.$slots, "default", {}, () => [
                  vue.createTextVNode(
                    vue.toDisplayString(_ctx.message),
                    1
                    /* TEXT */
                  )
                ])
              ],
              2
              /* CLASS */
            )) : vue.createCommentVNode("v-if", true)
          ],
          2
          /* CLASS */
        )
      ]),
      _ctx.closeable ? (vue.openBlock(), vue.createElementBlock(
        "div",
        {
          key: 1,
          class: vue.normalizeClass(_ctx.n("close-icon")),
          onClick: _cache[0] || (_cache[0] = (...args) => _ctx.handleClose && _ctx.handleClose(...args))
        },
        [
          vue.renderSlot(_ctx.$slots, "close-icon", {}, () => [
            vue.createVNode(_component_var_icon, { name: "close-circle" })
          ])
        ],
        2
        /* CLASS */
      )) : vue.createCommentVNode("v-if", true)
    ],
    6
    /* CLASS, STYLE */
  );
}
const __sfc__$1s = vue.defineComponent({
  name: name$1k,
  components: {
    VarIcon: stdin_default$63
  },
  props: props$1i,
  setup(props2) {
    const isInternalType = vue.computed(() => ["info", "success", "danger", "warning"].includes(props2.type));
    function handleClose(e) {
      call(props2.onClose, e);
    }
    return {
      n: n$1r,
      classes: classes$17,
      iconTypeMap,
      isInternalType,
      formatElevation,
      handleClose
    };
  }
});
__sfc__$1s.render = __render__$1p;
var stdin_default$5$ = __sfc__$1s;
withInstall(stdin_default$5$);
withPropsDefaultsSetter(stdin_default$5$, props$1i);
const _AlertComponent = stdin_default$5$;
var stdin_default$5_ = stdin_default$5$;
const props$1h = {
  color: String,
  textColor: String,
  title: String,
  titlePosition: {
    type: String,
    default: "left"
  },
  elevation: {
    type: [Boolean, String, Number],
    default: true
  },
  round: Boolean,
  image: String,
  imageLinearGradient: String,
  safeAreaTop: Boolean,
  border: Boolean,
  zIndex: {
    type: [Number, String],
    default: 1
  },
  fixed: Boolean,
  placeholder: Boolean
};
const { name: name$1j, n: n$1q, classes: classes$16 } = createNamespace("app-bar");
function __render__$1o(_ctx, _cache) {
  return vue.openBlock(), vue.createElementBlock(
    vue.Fragment,
    null,
    [
      vue.createElementVNode(
        "div",
        vue.mergeProps({
          ref: "appBar",
          class: _ctx.classes(
            _ctx.n(),
            _ctx.n("$--box"),
            [_ctx.safeAreaTop, _ctx.n("--safe-area-top")],
            [_ctx.round, _ctx.n("--round")],
            [_ctx.fixed, _ctx.n("--fixed")],
            [_ctx.border, _ctx.n("--border")],
            _ctx.formatElevation(_ctx.elevation, 3)
          ),
          style: _ctx.rootStyles
        }, _ctx.$attrs),
        [
          vue.createElementVNode(
            "div",
            {
              class: vue.normalizeClass(_ctx.n("toolbar"))
            },
            [
              vue.createElementVNode(
                "div",
                {
                  class: vue.normalizeClass(_ctx.n("left"))
                },
                [
                  vue.renderSlot(_ctx.$slots, "left"),
                  _ctx.titlePosition === "left" ? (vue.openBlock(), vue.createElementBlock(
                    "div",
                    {
                      key: 0,
                      class: vue.normalizeClass(_ctx.n("title")),
                      style: vue.normalizeStyle({ paddingLeft: _ctx.paddingLeft })
                    },
                    [
                      vue.renderSlot(_ctx.$slots, "default", {}, () => [
                        vue.createTextVNode(
                          vue.toDisplayString(_ctx.title),
                          1
                          /* TEXT */
                        )
                      ])
                    ],
                    6
                    /* CLASS, STYLE */
                  )) : vue.createCommentVNode("v-if", true)
                ],
                2
                /* CLASS */
              ),
              _ctx.titlePosition === "center" ? (vue.openBlock(), vue.createElementBlock(
                "div",
                {
                  key: 0,
                  class: vue.normalizeClass(_ctx.n("title"))
                },
                [
                  vue.renderSlot(_ctx.$slots, "default", {}, () => [
                    vue.createTextVNode(
                      vue.toDisplayString(_ctx.title),
                      1
                      /* TEXT */
                    )
                  ])
                ],
                2
                /* CLASS */
              )) : vue.createCommentVNode("v-if", true),
              vue.createElementVNode(
                "div",
                {
                  class: vue.normalizeClass(_ctx.n("right"))
                },
                [
                  _ctx.titlePosition === "right" ? (vue.openBlock(), vue.createElementBlock(
                    "div",
                    {
                      key: 0,
                      class: vue.normalizeClass(_ctx.n("title")),
                      style: vue.normalizeStyle({ paddingRight: _ctx.paddingRight })
                    },
                    [
                      vue.renderSlot(_ctx.$slots, "default", {}, () => [
                        vue.createTextVNode(
                          vue.toDisplayString(_ctx.title),
                          1
                          /* TEXT */
                        )
                      ])
                    ],
                    6
                    /* CLASS, STYLE */
                  )) : vue.createCommentVNode("v-if", true),
                  vue.renderSlot(_ctx.$slots, "right")
                ],
                2
                /* CLASS */
              )
            ],
            2
            /* CLASS */
          ),
          vue.renderSlot(_ctx.$slots, "content")
        ],
        16
        /* FULL_PROPS */
      ),
      _ctx.fixed && _ctx.placeholder ? (vue.openBlock(), vue.createElementBlock(
        "div",
        {
          key: 0,
          class: vue.normalizeClass(_ctx.n("placeholder")),
          style: vue.normalizeStyle({ height: _ctx.placeholderHeight })
        },
        null,
        6
        /* CLASS, STYLE */
      )) : vue.createCommentVNode("v-if", true)
    ],
    64
    /* STABLE_FRAGMENT */
  );
}
const __sfc__$1r = vue.defineComponent({
  name: name$1j,
  props: props$1h,
  setup(props2, { slots }) {
    const appBar = vue.ref(null);
    const paddingLeft = vue.ref();
    const paddingRight = vue.ref();
    const placeholderHeight = vue.ref();
    const rootStyles = vue.computed(() => {
      const { image, color, textColor, imageLinearGradient, zIndex } = props2;
      if (image != null) {
        const gradient = imageLinearGradient ? `linear-gradient(${imageLinearGradient}), ` : "";
        return {
          "background-image": `${gradient}url(${image})`,
          "background-position": "center center",
          "background-size": "cover",
          "z-index": zIndex
        };
      }
      return {
        background: color,
        color: textColor,
        "z-index": zIndex
      };
    });
    onWindowResize(resizePlaceholder);
    onSmartMounted(() => {
      computePadding();
      resizePlaceholder();
    });
    vue.onUpdated(computePadding);
    function computePadding() {
      paddingLeft.value = slots.left ? 0 : void 0;
      paddingRight.value = slots.right ? 0 : void 0;
    }
    function resizePlaceholder() {
      if (!props2.fixed || !props2.placeholder) {
        return;
      }
      const { height } = getRect(appBar.value);
      placeholderHeight.value = toSizeUnit(height);
    }
    return {
      rootStyles,
      paddingLeft,
      paddingRight,
      n: n$1q,
      classes: classes$16,
      formatElevation,
      appBar,
      placeholderHeight
    };
  }
});
__sfc__$1r.render = __render__$1o;
var stdin_default$5Z = __sfc__$1r;
withInstall(stdin_default$5Z);
withPropsDefaultsSetter(stdin_default$5Z, props$1h);
const _AppBarComponent = stdin_default$5Z;
var stdin_default$5Y = stdin_default$5Z;
const props$1g = {
  errorMessage: {
    type: String,
    default: ""
  },
  extraMessage: {
    type: String,
    default: ""
  }
};
const { name: name$1i, n: n$1p } = createNamespace("form-details");
const _hoisted_1$C = { key: 0 };
const _hoisted_2$a = { key: 0 };
function __render__$1n(_ctx, _cache) {
  return vue.openBlock(), vue.createBlock(vue.Transition, {
    name: _ctx.n()
  }, {
    default: vue.withCtx(() => [
      _ctx.errorMessage || _ctx.extraMessage || _ctx.$slots["extra-message"] ? (vue.openBlock(), vue.createElementBlock(
        "div",
        {
          key: 0,
          class: vue.normalizeClass(_ctx.n())
        },
        [
          vue.createElementVNode(
            "div",
            {
              class: vue.normalizeClass(_ctx.n("error-message"))
            },
            [
              vue.createVNode(vue.Transition, {
                name: _ctx.n("message")
              }, {
                default: vue.withCtx(() => [
                  _ctx.errorMessage ? (vue.openBlock(), vue.createElementBlock(
                    "div",
                    _hoisted_1$C,
                    vue.toDisplayString(_ctx.errorMessage),
                    1
                    /* TEXT */
                  )) : vue.createCommentVNode("v-if", true)
                ]),
                _: 1
                /* STABLE */
              }, 8, ["name"])
            ],
            2
            /* CLASS */
          ),
          vue.createElementVNode(
            "div",
            {
              class: vue.normalizeClass(_ctx.n("extra-message"))
            },
            [
              vue.createVNode(vue.Transition, {
                name: _ctx.n("message")
              }, {
                default: vue.withCtx(() => [
                  vue.renderSlot(_ctx.$slots, "extra-message", {}, () => [
                    _ctx.extraMessage ? (vue.openBlock(), vue.createElementBlock(
                      "div",
                      _hoisted_2$a,
                      vue.toDisplayString(_ctx.extraMessage),
                      1
                      /* TEXT */
                    )) : vue.createCommentVNode("v-if", true)
                  ])
                ]),
                _: 3
                /* FORWARDED */
              }, 8, ["name"])
            ],
            2
            /* CLASS */
          )
        ],
        2
        /* CLASS */
      )) : vue.createCommentVNode("v-if", true)
    ]),
    _: 3
    /* FORWARDED */
  }, 8, ["name"]);
}
const __sfc__$1q = vue.defineComponent({
  name: name$1i,
  props: props$1g,
  setup: () => ({ n: n$1p })
});
__sfc__$1q.render = __render__$1n;
var stdin_default$5X = __sfc__$1q;
withInstall(stdin_default$5X);
withPropsDefaultsSetter(stdin_default$5X, props$1g);
const _FormDetailsComponent = stdin_default$5X;
var stdin_default$5W = stdin_default$5X;
var __defProp$t = Object.defineProperty;
var __defProps$b = Object.defineProperties;
var __getOwnPropDescs$b = Object.getOwnPropertyDescriptors;
var __getOwnPropSymbols$t = Object.getOwnPropertySymbols;
var __hasOwnProp$t = Object.prototype.hasOwnProperty;
var __propIsEnum$t = Object.prototype.propertyIsEnumerable;
var __defNormalProp$t = (obj, key3, value) => key3 in obj ? __defProp$t(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues$t = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$t.call(b, prop))
      __defNormalProp$t(a, prop, b[prop]);
  if (__getOwnPropSymbols$t)
    for (var prop of __getOwnPropSymbols$t(b)) {
      if (__propIsEnum$t.call(b, prop))
        __defNormalProp$t(a, prop, b[prop]);
    }
  return a;
};
var __spreadProps$b = (a, b) => __defProps$b(a, __getOwnPropDescs$b(b));
const FORM_BIND_FORM_ITEM_KEY = Symbol("FORM_BIND_FORM_ITEM_KEY");
function useForm() {
  const { parentProvider, index, bindParent } = useParent(FORM_BIND_FORM_ITEM_KEY);
  const instance = vue.getCurrentInstance();
  const bindForm = bindParent ? (formItemProvider) => {
    bindParent(__spreadProps$b(__spreadValues$t({}, formItemProvider), { instance }));
  } : null;
  return {
    index,
    form: parentProvider,
    bindForm
  };
}
function useFormItems() {
  const { childProviders, length, bindChildren } = useChildren(FORM_BIND_FORM_ITEM_KEY);
  return {
    length,
    formItems: childProviders,
    bindFormItems: bindChildren
  };
}
const SWIPE_BIND_SWIPE_ITEM_KEY = Symbol("SWIPE_BIND_SWIPE_ITEM_KEY");
const SWIPE_RESIZE_DISPATCHER_BIND_SWIPE_RESIZE_LISTENER_KEY = Symbol(
  "SWIPE_RESIZE_DISPATCHER_BIND_SWIPE_RESIZE_LISTENER_KEY"
);
function useSwipeItems() {
  const { childProviders, length, bindChildren } = useChildren(
    SWIPE_BIND_SWIPE_ITEM_KEY
  );
  return {
    length,
    swipeItems: childProviders,
    bindSwipeItems: bindChildren
  };
}
function useSwipeResizeListeners() {
  const { childProviders, bindChildren } = useChildren(
    SWIPE_RESIZE_DISPATCHER_BIND_SWIPE_RESIZE_LISTENER_KEY
  );
  return {
    swipeResizeListeners: childProviders,
    bindSwipeResizeListeners: bindChildren
  };
}
function useSwipeResizeDispatcher() {
  const { parentProvider, bindParent } = useParent(
    SWIPE_RESIZE_DISPATCHER_BIND_SWIPE_RESIZE_LISTENER_KEY
  );
  return {
    swipeResizeDispatcher: parentProvider,
    bindSwipeResizeDispatcher: bindParent
  };
}
const props$1f = {
  value: {
    type: null,
    required: true
  },
  id: {
    type: String,
    default: ""
  },
  isFocusing: Boolean,
  size: {
    type: String,
    default: "normal"
  },
  variant: {
    type: String,
    default: "standard"
  },
  placeholder: String,
  line: {
    type: Boolean,
    default: true
  },
  hint: {
    type: Boolean,
    default: true
  },
  hintCenter: {
    type: Boolean,
    default: true
  },
  textColor: String,
  focusColor: String,
  blurColor: String,
  isError: Boolean,
  formDisabled: Boolean,
  disabled: Boolean,
  clearable: Boolean,
  cursor: String,
  composing: Boolean,
  onClick: defineListenerProp(),
  onClear: defineListenerProp()
};
var __async$j = (__this, __arguments, generator) => {
  return new Promise((resolve, reject) => {
    var fulfilled = (value) => {
      try {
        step(generator.next(value));
      } catch (e) {
        reject(e);
      }
    };
    var rejected = (value) => {
      try {
        step(generator.throw(value));
      } catch (e) {
        reject(e);
      }
    };
    var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
    step((generator = generator.apply(__this, __arguments)).next());
  });
};
const { name: name$1h, n: n$1o, classes: classes$15 } = createNamespace("field-decorator");
const _hoisted_1$B = ["for"];
function __render__$1m(_ctx, _cache) {
  const _component_var_icon = vue.resolveComponent("var-icon");
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(_ctx.classes(_ctx.n(), _ctx.n("$--box"), _ctx.n(`--${_ctx.variant}`), [_ctx.size === "small", _ctx.n("--small")], [_ctx.disabled, _ctx.n("--disabled")])),
      onClick: _cache[0] || (_cache[0] = (...args) => _ctx.handleClick && _ctx.handleClick(...args))
    },
    [
      vue.createElementVNode(
        "div",
        {
          class: vue.normalizeClass(
            _ctx.classes(
              _ctx.n("controller"),
              [_ctx.isFocusing, _ctx.n("--focus")],
              [_ctx.isError, _ctx.n("--error")],
              [_ctx.formDisabled || _ctx.disabled, _ctx.n("--disabled")]
            )
          ),
          style: vue.normalizeStyle({
            color: _ctx.color,
            cursor: _ctx.cursor,
            overflow: _ctx.isFloating ? "visible" : "hidden",
            "--field-decorator-middle-offset-left": _ctx.middleOffsetLeft,
            "--field-decorator-middle-offset-width": _ctx.middleOffsetWidth,
            "--field-decorator-middle-offset-height": _ctx.middleOffsetHeight
          })
        },
        [
          vue.createElementVNode(
            "div",
            {
              class: vue.normalizeClass(_ctx.classes(_ctx.n("icon"), [!_ctx.hint, _ctx.n("--icon-non-hint")]))
            },
            [
              vue.renderSlot(_ctx.$slots, "prepend-icon")
            ],
            2
            /* CLASS */
          ),
          vue.createElementVNode(
            "div",
            {
              ref: "middleEl",
              class: vue.normalizeClass(_ctx.classes(_ctx.n("middle"), [!_ctx.hint, _ctx.n("--middle-non-hint")]))
            },
            [
              vue.renderSlot(_ctx.$slots, "default")
            ],
            2
            /* CLASS */
          ),
          _ctx.placeholder && _ctx.hint ? (vue.openBlock(), vue.createElementBlock("label", {
            key: 0,
            class: vue.normalizeClass(
              _ctx.classes(
                _ctx.n("placeholder"),
                _ctx.n("$--ellipsis"),
                [_ctx.isFocusing, _ctx.n("--focus")],
                [_ctx.hintCenter, _ctx.n("--hint-center")],
                [_ctx.formDisabled || _ctx.disabled, _ctx.n("--disabled")],
                [_ctx.isError, _ctx.n("--error")],
                [_ctx.transitionDisabled, _ctx.n("--transition-disabled")],
                _ctx.computePlaceholderState()
              )
            ),
            style: vue.normalizeStyle({
              color: _ctx.color
            }),
            for: _ctx.id
          }, [
            vue.createElementVNode(
              "span",
              null,
              vue.toDisplayString(_ctx.placeholder),
              1
              /* TEXT */
            )
          ], 14, _hoisted_1$B)) : vue.createCommentVNode("v-if", true),
          vue.createElementVNode(
            "div",
            {
              class: vue.normalizeClass(_ctx.classes(_ctx.n("icon"), [!_ctx.hint, _ctx.n("--icon-non-hint")]))
            },
            [
              _ctx.clearable && !_ctx.isEmpty(_ctx.value) ? vue.renderSlot(_ctx.$slots, "clear-icon", {
                key: 0,
                clear: _ctx.handleClear
              }, () => [
                vue.createVNode(_component_var_icon, {
                  class: vue.normalizeClass(_ctx.n("clear-icon")),
                  "var-field-decorator-cover": "",
                  name: "close-circle",
                  onClick: _ctx.handleClear
                }, null, 8, ["class", "onClick"])
              ]) : vue.createCommentVNode("v-if", true),
              vue.renderSlot(_ctx.$slots, "append-icon")
            ],
            2
            /* CLASS */
          )
        ],
        6
        /* CLASS, STYLE */
      ),
      _ctx.line ? (vue.openBlock(), vue.createElementBlock(
        vue.Fragment,
        { key: 0 },
        [
          _ctx.variant === "outlined" ? (vue.openBlock(), vue.createElementBlock(
            "fieldset",
            {
              key: 0,
              class: vue.normalizeClass(
                _ctx.classes(
                  _ctx.n("line"),
                  [_ctx.isFocusing, _ctx.n("--line-focus")],
                  [_ctx.isError, _ctx.n("--line-error")],
                  [_ctx.formDisabled || _ctx.disabled, _ctx.n("--line-disabled")]
                )
              ),
              style: vue.normalizeStyle({ borderColor: _ctx.color })
            },
            [
              vue.createElementVNode(
                "legend",
                {
                  class: vue.normalizeClass(_ctx.classes(_ctx.n("line-legend"), [_ctx.isFloating, _ctx.n("line-legend--hint")])),
                  style: vue.normalizeStyle({ width: _ctx.legendWidth })
                },
                [
                  _ctx.placeholder && _ctx.hint ? (vue.openBlock(), vue.createBlock(vue.Teleport, {
                    key: 0,
                    to: "body"
                  }, [
                    vue.createElementVNode(
                      "span",
                      {
                        ref: "placeholderTextEl",
                        class: vue.normalizeClass(
                          _ctx.classes(_ctx.n("placeholder-text"), _ctx.n("$--ellipsis"), [_ctx.size === "small", _ctx.n("placeholder-text--small")])
                        )
                      },
                      vue.toDisplayString(_ctx.placeholder),
                      3
                      /* TEXT, CLASS */
                    )
                  ])) : vue.createCommentVNode("v-if", true)
                ],
                6
                /* CLASS, STYLE */
              )
            ],
            6
            /* CLASS, STYLE */
          )) : (vue.openBlock(), vue.createElementBlock(
            "div",
            {
              key: 1,
              class: vue.normalizeClass(_ctx.classes(_ctx.n("line"), [_ctx.formDisabled || _ctx.disabled, _ctx.n("--line-disabled")], [_ctx.isError, _ctx.n("--line-error")])),
              style: vue.normalizeStyle({ background: !_ctx.isError ? _ctx.blurColor : void 0 })
            },
            [
              vue.createElementVNode(
                "div",
                {
                  class: vue.normalizeClass(
                    _ctx.classes(
                      _ctx.n("dot"),
                      [_ctx.isFocusing, _ctx.n("--line-focus")],
                      [_ctx.formDisabled || _ctx.disabled, _ctx.n("--line-disabled")],
                      [_ctx.isError, _ctx.n("--line-error")]
                    )
                  ),
                  style: vue.normalizeStyle({ background: !_ctx.isError ? _ctx.focusColor : void 0 })
                },
                null,
                6
                /* CLASS, STYLE */
              )
            ],
            6
            /* CLASS, STYLE */
          ))
        ],
        64
        /* STABLE_FRAGMENT */
      )) : vue.createCommentVNode("v-if", true)
    ],
    2
    /* CLASS */
  );
}
const __sfc__$1p = vue.defineComponent({
  name: name$1h,
  components: { VarIcon: stdin_default$63 },
  props: props$1f,
  setup(props2) {
    const placeholderTextEl = vue.ref(null);
    const middleEl = vue.ref(null);
    const legendWidth = vue.ref("");
    const middleOffsetLeft = vue.ref("0px");
    const middleOffsetWidth = vue.ref("0px");
    const middleOffsetHeight = vue.ref("0px");
    const transitionDisabled = vue.ref(true);
    const isFloating = vue.computed(() => props2.hint && (!isEmpty(props2.value) || props2.isFocusing));
    const { popup, bindPopup } = usePopup();
    const { bindSwipeResizeDispatcher } = useSwipeResizeDispatcher();
    const color = vue.computed(
      () => !props2.isError ? props2.isFocusing ? props2.focusColor : props2.blurColor : void 0
    );
    onWindowResize(resize);
    onSmartMounted(() => {
      resize();
      vue.nextTick().then(() => {
        transitionDisabled.value = false;
      });
    });
    vue.onUpdated(resize);
    call(bindPopup, null);
    call(bindSwipeResizeDispatcher, {
      onResize() {
        vue.nextTick().then(resize);
      }
    });
    if (popup) {
      vue.watch(
        () => popup.show.value,
        (show) => __async$j(this, null, function* () {
          if (show) {
            yield doubleRaf();
            resize();
          }
        })
      );
    }
    function computePlaceholderState() {
      const { hint, value, composing } = props2;
      if (!hint && (!isEmpty(value) || composing)) {
        return n$1o("--placeholder-hidden");
      }
      if (isFloating.value) {
        return n$1o("--placeholder-hint");
      }
    }
    function handleClear(e) {
      call(props2.onClear, e);
    }
    function handleClick(e) {
      call(props2.onClick, e);
    }
    function resize() {
      middleOffsetLeft.value = `${middleEl.value.offsetLeft}px`;
      middleOffsetWidth.value = `${middleEl.value.offsetWidth}px`;
      middleOffsetHeight.value = `${middleEl.value.offsetHeight}px`;
      if (props2.variant === "outlined" && placeholderTextEl.value) {
        const placeholderTextStyle = getStyle$1(placeholderTextEl.value);
        const placeholderSpace = `var(--field-decorator-outlined-${props2.size}-placeholder-space)`;
        legendWidth.value = `calc(${placeholderTextStyle.width} * 0.75 + ${placeholderSpace} * 2)`;
      }
    }
    return {
      placeholderTextEl,
      middleEl,
      middleOffsetLeft,
      middleOffsetWidth,
      middleOffsetHeight,
      color,
      legendWidth,
      isFloating,
      transitionDisabled,
      resize,
      computePlaceholderState,
      n: n$1o,
      classes: classes$15,
      isEmpty,
      handleClear,
      handleClick
    };
  }
});
__sfc__$1p.render = __render__$1m;
var stdin_default$5V = __sfc__$1p;
withInstall(stdin_default$5V);
withPropsDefaultsSetter(stdin_default$5V, props$1f);
const _FieldDecoratorComponent = stdin_default$5V;
var stdin_default$5U = stdin_default$5V;
var __defProp$s = Object.defineProperty;
var __defProps$a = Object.defineProperties;
var __getOwnPropDescs$a = Object.getOwnPropertyDescriptors;
var __getOwnPropSymbols$s = Object.getOwnPropertySymbols;
var __hasOwnProp$s = Object.prototype.hasOwnProperty;
var __propIsEnum$s = Object.prototype.propertyIsEnumerable;
var __defNormalProp$s = (obj, key3, value) => key3 in obj ? __defProp$s(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues$s = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$s.call(b, prop))
      __defNormalProp$s(a, prop, b[prop]);
  if (__getOwnPropSymbols$s)
    for (var prop of __getOwnPropSymbols$s(b)) {
      if (__propIsEnum$s.call(b, prop))
        __defNormalProp$s(a, prop, b[prop]);
    }
  return a;
};
var __spreadProps$a = (a, b) => __defProps$a(a, __getOwnPropDescs$a(b));
const props$1e = __spreadProps$a(__spreadValues$s({
  modelValue: String,
  modelModifiers: {
    type: Object,
    default: () => ({})
  },
  type: {
    type: String,
    default: "text"
  },
  textarea: Boolean,
  ariaLabel: String,
  rows: {
    type: [String, Number],
    default: 8
  },
  maxlength: [String, Number],
  readonly: Boolean,
  resize: Boolean,
  autofocus: Boolean,
  validateTrigger: {
    type: Array,
    default: () => ["onInput", "onClear"]
  },
  rules: [Array, Function, Object],
  enterkeyhint: String,
  onFocus: defineListenerProp(),
  onBlur: defineListenerProp(),
  onInput: defineListenerProp(),
  onChange: defineListenerProp(),
  onClear: defineListenerProp(),
  "onUpdate:modelValue": defineListenerProp()
}, pickProps(props$1f, [
  "size",
  "variant",
  "placeholder",
  "line",
  "hint",
  "textColor",
  "focusColor",
  "blurColor",
  "disabled",
  "clearable",
  "onClick"
])), {
  // internal start
  autocomplete: String,
  isForceFocusingEffect: {
    type: Boolean,
    default: void 0
  },
  isForceErrorEffect: {
    type: Boolean,
    default: void 0
  },
  isShowFormDetails: {
    type: Boolean,
    default: true
  }
  // internal end
});
const { name: name$1g, n: n$1n, classes: classes$14 } = createNamespace("input");
const _hoisted_1$A = ["aria-label", "placeholder", "enterkeyhint"];
const _hoisted_2$9 = ["id", "aria-label", "autocomplete", "disabled", "readonly", "type", "value", "placeholder", "maxlength", "rows", "enterkeyhint", "inputmode"];
const _hoisted_3$4 = ["id", "aria-label", "autocomplete", "disabled", "readonly", "type", "value", "placeholder", "maxlength", "enterkeyhint", "inputmode"];
function __render__$1l(_ctx, _cache) {
  const _component_var_field_decorator = vue.resolveComponent("var-field-decorator");
  const _component_var_form_details = vue.resolveComponent("var-form-details");
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(_ctx.classes(_ctx.n(), _ctx.n("$--box"))),
      onMousedown: _cache[12] || (_cache[12] = (...args) => _ctx.handleMousedown && _ctx.handleMousedown(...args))
    },
    [
      vue.createVNode(
        _component_var_field_decorator,
        vue.normalizeProps(vue.guardReactiveProps({
          value: _ctx.modelValue,
          id: _ctx.id,
          size: _ctx.size,
          variant: _ctx.variant,
          placeholder: _ctx.placeholder,
          ariaLabel: _ctx.ariaLabel,
          line: _ctx.line,
          hint: _ctx.hint,
          textColor: _ctx.textColor,
          focusColor: _ctx.focusColor,
          blurColor: _ctx.blurColor,
          isFocusing: _ctx.isForceFocusingEffect != null ? _ctx.isForceFocusingEffect : _ctx.isFocusing,
          isError: _ctx.isForceErrorEffect != null ? _ctx.isForceErrorEffect : !!_ctx.errorMessage,
          formDisabled: _ctx.formDisabled,
          disabled: _ctx.disabled,
          clearable: _ctx.clearable,
          cursor: _ctx.cursor,
          composing: _ctx.isComposing,
          hintCenter: !_ctx.textarea,
          onClick: _ctx.handleClick,
          onClear: _ctx.handleClear
        })),
        vue.createSlots({
          "clear-icon": vue.withCtx(({ clear: clear2 }) => [
            vue.renderSlot(_ctx.$slots, "clear-icon", { clear: clear2 })
          ]),
          "append-icon": vue.withCtx(() => [
            vue.renderSlot(_ctx.$slots, "append-icon")
          ]),
          default: vue.withCtx(() => [
            _ctx.normalizedType === "password" ? (vue.openBlock(), vue.createElementBlock("input", {
              key: 0,
              tabindex: "-1",
              "aria-label": _ctx.ariaLabel,
              class: vue.normalizeClass(_ctx.n("autocomplete")),
              placeholder: !_ctx.hint ? _ctx.placeholder : void 0,
              style: vue.normalizeStyle({
                "--input-placeholder-color": _ctx.placeholderColor
              }),
              enterkeyhint: _ctx.enterkeyhint
            }, null, 14, _hoisted_1$A)) : vue.createCommentVNode("v-if", true),
            _ctx.textarea ? (vue.openBlock(), vue.createElementBlock("textarea", {
              key: 1,
              id: _ctx.id,
              ref: "el",
              "aria-label": _ctx.ariaLabel,
              class: vue.normalizeClass(
                _ctx.classes(
                  _ctx.n("input"),
                  _ctx.n("--textarea"),
                  [_ctx.formDisabled || _ctx.disabled, _ctx.n("--disabled")],
                  [_ctx.errorMessage, _ctx.n("--error")],
                  [_ctx.errorMessage, _ctx.n("--caret-error")]
                )
              ),
              autocomplete: _ctx.autocomplete ? _ctx.autocomplete : "new-password",
              disabled: _ctx.formDisabled || _ctx.disabled,
              readonly: _ctx.formReadonly || _ctx.readonly,
              type: _ctx.normalizedType,
              value: _ctx.modelValue,
              placeholder: !_ctx.hint ? _ctx.placeholder : void 0,
              maxlength: _ctx.maxlength,
              rows: _ctx.rows,
              enterkeyhint: _ctx.enterkeyhint,
              inputmode: _ctx.type === "number" ? "decimal" : void 0,
              style: vue.normalizeStyle({
                color: !_ctx.errorMessage ? _ctx.textColor : void 0,
                caretColor: !_ctx.errorMessage ? _ctx.focusColor : void 0,
                resize: _ctx.resize ? "vertical" : "none",
                "--input-placeholder-color": _ctx.placeholderColor
              }),
              onFocus: _cache[0] || (_cache[0] = (...args) => _ctx.handleFocus && _ctx.handleFocus(...args)),
              onBlur: _cache[1] || (_cache[1] = (...args) => _ctx.handleBlur && _ctx.handleBlur(...args)),
              onInput: _cache[2] || (_cache[2] = (...args) => _ctx.handleInput && _ctx.handleInput(...args)),
              onChange: _cache[3] || (_cache[3] = (...args) => _ctx.handleChange && _ctx.handleChange(...args)),
              onCompositionstart: _cache[4] || (_cache[4] = (...args) => _ctx.handleCompositionStart && _ctx.handleCompositionStart(...args)),
              onCompositionend: _cache[5] || (_cache[5] = (...args) => _ctx.handleCompositionEnd && _ctx.handleCompositionEnd(...args))
            }, null, 46, _hoisted_2$9)) : (vue.openBlock(), vue.createElementBlock("input", {
              key: 2,
              id: _ctx.id,
              ref: "el",
              "aria-label": _ctx.ariaLabel,
              class: vue.normalizeClass(
                _ctx.classes(
                  _ctx.n("input"),
                  [_ctx.formDisabled || _ctx.disabled, _ctx.n("--disabled")],
                  [_ctx.errorMessage, _ctx.n("--error")],
                  [_ctx.errorMessage, _ctx.n("--caret-error")]
                )
              ),
              autocomplete: _ctx.autocomplete ? _ctx.autocomplete : "new-password",
              disabled: _ctx.formDisabled || _ctx.disabled,
              readonly: _ctx.formReadonly || _ctx.readonly,
              type: _ctx.normalizedType,
              value: _ctx.modelValue,
              placeholder: !_ctx.hint ? _ctx.placeholder : void 0,
              maxlength: _ctx.maxlength,
              enterkeyhint: _ctx.enterkeyhint,
              inputmode: _ctx.type === "number" ? "decimal" : void 0,
              style: vue.normalizeStyle({
                color: !_ctx.errorMessage ? _ctx.textColor : void 0,
                caretColor: !_ctx.errorMessage ? _ctx.focusColor : void 0,
                "--input-placeholder-color": _ctx.placeholderColor
              }),
              onFocus: _cache[6] || (_cache[6] = (...args) => _ctx.handleFocus && _ctx.handleFocus(...args)),
              onBlur: _cache[7] || (_cache[7] = (...args) => _ctx.handleBlur && _ctx.handleBlur(...args)),
              onInput: _cache[8] || (_cache[8] = (...args) => _ctx.handleInput && _ctx.handleInput(...args)),
              onChange: _cache[9] || (_cache[9] = (...args) => _ctx.handleChange && _ctx.handleChange(...args)),
              onCompositionstart: _cache[10] || (_cache[10] = (...args) => _ctx.handleCompositionStart && _ctx.handleCompositionStart(...args)),
              onCompositionend: _cache[11] || (_cache[11] = (...args) => _ctx.handleCompositionEnd && _ctx.handleCompositionEnd(...args))
            }, null, 46, _hoisted_3$4))
          ]),
          _: 2
          /* DYNAMIC */
        }, [
          _ctx.$slots["prepend-icon"] ? {
            name: "prepend-icon",
            fn: vue.withCtx(() => [
              vue.renderSlot(_ctx.$slots, "prepend-icon")
            ]),
            key: "0"
          } : void 0
        ]),
        1040
        /* FULL_PROPS, DYNAMIC_SLOTS */
      ),
      _ctx.isShowFormDetails ? (vue.openBlock(), vue.createBlock(_component_var_form_details, {
        key: 0,
        "error-message": _ctx.errorMessage,
        "extra-message": _ctx.maxlengthText
      }, vue.createSlots({
        _: 2
        /* DYNAMIC */
      }, [
        _ctx.$slots["extra-message"] ? {
          name: "extra-message",
          fn: vue.withCtx(() => [
            vue.renderSlot(_ctx.$slots, "extra-message")
          ]),
          key: "0"
        } : void 0
      ]), 1032, ["error-message", "extra-message"])) : vue.createCommentVNode("v-if", true)
    ],
    34
    /* CLASS, NEED_HYDRATION */
  );
}
const __sfc__$1o = vue.defineComponent({
  name: name$1g,
  components: {
    VarFormDetails: stdin_default$5W,
    VarFieldDecorator: stdin_default$5U
  },
  props: props$1e,
  setup(props2) {
    const id = useClientId();
    const el = vue.ref(null);
    const isFocusing = vue.ref(false);
    const isComposing = vue.ref(false);
    const { bindForm, form } = useForm();
    const {
      errorMessage,
      validateWithTrigger: vt,
      validate: v,
      // expose
      resetValidation
    } = useValidation();
    const cursor = vue.computed(() => props2.disabled || props2.readonly ? "" : "text");
    const normalizedType = vue.computed(() => {
      if (props2.type === "number") {
        return "text";
      }
      return props2.type;
    });
    const maxlengthText = vue.computed(() => {
      const { maxlength, modelValue } = props2;
      if (!maxlength) {
        return "";
      }
      if (isEmpty(modelValue)) {
        return `0 / ${maxlength}`;
      }
      return `${String(modelValue).length}/${maxlength}`;
    });
    const placeholderColor = vue.computed(() => {
      const { hint, blurColor, focusColor } = props2;
      if (hint) {
        return void 0;
      }
      if (errorMessage.value) {
        return "var(--field-decorator-error-color)";
      }
      if (isFocusing.value) {
        return focusColor || "var(--field-decorator-focus-color)";
      }
      return blurColor || "var(--field-decorator-placeholder-color, var(--field-decorator-blur-color))";
    });
    const inputProvider = {
      reset,
      validate,
      resetValidation
    };
    call(bindForm, inputProvider);
    onSmartMounted(() => {
      if (props2.autofocus) {
        focus();
      }
    });
    function validateWithTrigger(trigger) {
      vue.nextTick(() => {
        const { validateTrigger, rules, modelValue } = props2;
        vt(validateTrigger, trigger, rules, modelValue);
      });
    }
    function handleFocus(e) {
      isFocusing.value = true;
      call(props2.onFocus, e);
      validateWithTrigger("onFocus");
    }
    function handleBlur(e) {
      isFocusing.value = false;
      call(props2.onBlur, e);
      validateWithTrigger("onBlur");
    }
    function updateValue(e) {
      const target = e.target;
      let { value } = target;
      if (props2.type === "number") {
        value = formatNumber(value);
      }
      const targetValue = withMaxlength(value);
      if (targetValue === props2.modelValue) {
        target.value = targetValue;
      }
      return targetValue;
    }
    function handleCompositionStart() {
      isComposing.value = true;
    }
    function handleCompositionEnd(e) {
      if (!isComposing.value) {
        return;
      }
      isComposing.value = false;
      e.target.dispatchEvent(new Event("input"));
    }
    function handleInput(e) {
      if (isComposing.value) {
        return;
      }
      const value = updateValue(e);
      call(props2["onUpdate:modelValue"], value);
      call(props2.onInput, value, e);
      validateWithTrigger("onInput");
    }
    function handleChange(e) {
      const value = withTrim(updateValue(e));
      if (props2.modelModifiers.trim) {
        call(props2["onUpdate:modelValue"], value);
      }
      call(props2.onChange, value, e);
      validateWithTrigger("onChange");
    }
    function handleClear() {
      const { disabled, readonly, clearable, onClear } = props2;
      if ((form == null ? void 0 : form.disabled.value) || (form == null ? void 0 : form.readonly.value) || disabled || readonly || !clearable) {
        return;
      }
      call(props2["onUpdate:modelValue"], "");
      call(onClear, "");
      validateWithTrigger("onClear");
    }
    function handleClick(e) {
      const { disabled, onClick } = props2;
      if ((form == null ? void 0 : form.disabled.value) || disabled) {
        return;
      }
      call(onClick, e);
      validateWithTrigger("onClick");
    }
    function formatNumber(value) {
      const minusIndex = value.indexOf("-");
      const dotIndex = value.indexOf(".");
      if (minusIndex > -1) {
        value = minusIndex === 0 ? "-" + value.replace(/-/g, "") : value.replace(/-/g, "");
      }
      if (dotIndex > -1) {
        value = value.slice(0, dotIndex + 1) + value.slice(dotIndex).replace(/\./g, "");
      }
      return value.replace(/[^-0-9.]/g, "");
    }
    function withTrim(value) {
      return props2.modelModifiers.trim ? value.trim() : value;
    }
    function withMaxlength(value) {
      return props2.maxlength ? value.slice(0, toNumber(props2.maxlength)) : value;
    }
    function handleMousedown(e) {
      const { disabled } = props2;
      if ((form == null ? void 0 : form.disabled.value) || disabled || e.target === el.value) {
        return;
      }
      focus();
      preventDefault(e);
    }
    function reset() {
      call(props2["onUpdate:modelValue"], "");
      resetValidation();
    }
    function validate() {
      return v(props2.rules, props2.modelValue);
    }
    function focus() {
      var _a;
      (_a = el.value) == null ? void 0 : _a.focus();
    }
    function blur() {
      el.value.blur();
    }
    return {
      el,
      id,
      isFocusing,
      isComposing,
      errorMessage,
      placeholderColor,
      normalizedType,
      cursor,
      maxlengthText,
      formDisabled: form == null ? void 0 : form.disabled,
      formReadonly: form == null ? void 0 : form.readonly,
      n: n$1n,
      classes: classes$14,
      isEmpty,
      handleFocus,
      handleBlur,
      handleInput,
      handleChange,
      handleClear,
      handleClick,
      handleCompositionStart,
      handleCompositionEnd,
      handleMousedown,
      validate,
      resetValidation,
      reset,
      focus,
      blur
    };
  }
});
__sfc__$1o.render = __render__$1l;
var stdin_default$5T = __sfc__$1o;
withInstall(stdin_default$5T);
withPropsDefaultsSetter(stdin_default$5T, props$1e);
const _InputComponent = stdin_default$5T;
var stdin_default$5S = stdin_default$5T;
const props$1d = {
  modelValue: {
    type: [String, Number, Boolean, Object, Array],
    default: false
  },
  checkedValue: {
    type: [String, Number, Boolean, Object, Array],
    default: true
  },
  uncheckedValue: {
    type: [String, Number, Boolean, Object, Array],
    default: false
  },
  checkedColor: String,
  uncheckedColor: String,
  disabled: Boolean,
  readonly: Boolean,
  indeterminate: Boolean,
  iconSize: [String, Number],
  ripple: {
    type: Boolean,
    default: true
  },
  validateTrigger: {
    type: Array,
    default: () => ["onChange"]
  },
  rules: [Array, Function, Object],
  onClick: defineListenerProp(),
  onChange: defineListenerProp(),
  "onUpdate:modelValue": defineListenerProp(),
  "onUpdate:indeterminate": defineListenerProp()
};
const CHECKBOX_GROUP_BIND_CHECKBOX_KEY = Symbol("CHECKBOX_GROUP_BIND_CHECKBOX_KEY");
function useCheckboxes() {
  const { bindChildren, childProviders, length } = useChildren(
    CHECKBOX_GROUP_BIND_CHECKBOX_KEY
  );
  return {
    length,
    checkboxes: childProviders,
    bindCheckboxes: bindChildren
  };
}
function useCheckboxGroup() {
  const { bindParent, parentProvider, index } = useParent(
    CHECKBOX_GROUP_BIND_CHECKBOX_KEY
  );
  return {
    index,
    checkboxGroup: parentProvider,
    bindCheckboxGroup: bindParent
  };
}
const { name: name$1f, n: n$1m, classes: classes$13 } = createNamespace("checkbox");
const _hoisted_1$z = ["tabindex"];
function __render__$1k(_ctx, _cache) {
  const _component_var_icon = vue.resolveComponent("var-icon");
  const _component_var_hover_overlay = vue.resolveComponent("var-hover-overlay");
  const _component_var_form_details = vue.resolveComponent("var-form-details");
  const _directive_hover = vue.resolveDirective("hover");
  const _directive_ripple = vue.resolveDirective("ripple");
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(_ctx.n("wrap"))
    },
    [
      vue.createElementVNode(
        "div",
        {
          class: vue.normalizeClass(_ctx.n()),
          onClick: _cache[3] || (_cache[3] = (...args) => _ctx.handleClick && _ctx.handleClick(...args))
        },
        [
          vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
            ref: "action",
            class: vue.normalizeClass(
              _ctx.classes(
                _ctx.n("action"),
                [_ctx.checked || _ctx.isIndeterminate, _ctx.n("--checked"), _ctx.n("--unchecked")],
                [_ctx.errorMessage || _ctx.checkboxGroupErrorMessage, _ctx.n("--error")],
                [_ctx.formDisabled || _ctx.disabled, _ctx.n("--disabled")]
              )
            ),
            style: vue.normalizeStyle({ color: _ctx.checked || _ctx.isIndeterminate ? _ctx.checkedColor : _ctx.uncheckedColor }),
            tabindex: _ctx.disabled || _ctx.formDisabled ? void 0 : "0",
            onFocus: _cache[0] || (_cache[0] = ($event) => _ctx.isFocusing = true),
            onBlur: _cache[1] || (_cache[1] = ($event) => _ctx.isFocusing = false)
          }, [
            _ctx.isIndeterminate ? vue.renderSlot(_ctx.$slots, "indeterminate-icon", { key: 0 }, () => [
              vue.createVNode(_component_var_icon, {
                class: vue.normalizeClass(_ctx.n("icon")),
                name: "minus-box",
                size: _ctx.iconSize,
                "var-checkbox-cover": ""
              }, null, 8, ["class", "size"])
            ]) : vue.createCommentVNode("v-if", true),
            _ctx.checked && !_ctx.isIndeterminate ? vue.renderSlot(_ctx.$slots, "checked-icon", { key: 1 }, () => [
              vue.createVNode(_component_var_icon, {
                class: vue.normalizeClass(_ctx.n("icon")),
                name: "checkbox-marked",
                size: _ctx.iconSize,
                "var-checkbox-cover": ""
              }, null, 8, ["class", "size"])
            ]) : vue.createCommentVNode("v-if", true),
            !_ctx.checked && !_ctx.isIndeterminate ? vue.renderSlot(_ctx.$slots, "unchecked-icon", { key: 2 }, () => [
              vue.createVNode(_component_var_icon, {
                class: vue.normalizeClass(_ctx.n("icon")),
                name: "checkbox-blank-outline",
                size: _ctx.iconSize,
                "var-checkbox-cover": ""
              }, null, 8, ["class", "size"])
            ]) : vue.createCommentVNode("v-if", true),
            vue.createVNode(_component_var_hover_overlay, {
              hovering: !_ctx.disabled && !_ctx.formDisabled && _ctx.hovering,
              focusing: !_ctx.disabled && !_ctx.formDisabled && _ctx.isFocusing
            }, null, 8, ["hovering", "focusing"])
          ], 46, _hoisted_1$z)), [
            [_directive_hover, _ctx.handleHovering, "desktop"],
            [_directive_ripple, { disabled: _ctx.formReadonly || _ctx.readonly || _ctx.formDisabled || _ctx.disabled || !_ctx.ripple }]
          ]),
          _ctx.$slots.default ? (vue.openBlock(), vue.createElementBlock(
            "div",
            {
              key: 0,
              class: vue.normalizeClass(
                _ctx.classes(
                  _ctx.n("text"),
                  [_ctx.errorMessage || _ctx.checkboxGroupErrorMessage, _ctx.n("--error")],
                  [_ctx.formDisabled || _ctx.disabled, _ctx.n("--disabled")]
                )
              ),
              onClick: _cache[2] || (_cache[2] = (...args) => _ctx.handleTextClick && _ctx.handleTextClick(...args))
            },
            [
              vue.renderSlot(_ctx.$slots, "default", { checked: _ctx.checked })
            ],
            2
            /* CLASS */
          )) : vue.createCommentVNode("v-if", true)
        ],
        2
        /* CLASS */
      ),
      vue.createVNode(_component_var_form_details, { "error-message": _ctx.errorMessage }, null, 8, ["error-message"])
    ],
    2
    /* CLASS */
  );
}
const __sfc__$1n = vue.defineComponent({
  name: name$1f,
  directives: { Ripple: stdin_default$68, Hover: stdin_default$67 },
  components: {
    VarIcon: stdin_default$63,
    VarFormDetails: stdin_default$5W,
    VarHoverOverlay: stdin_default$65
  },
  props: props$1d,
  setup(props2) {
    const action = vue.ref(null);
    const isFocusing = vue.ref(false);
    const value = useVModel(props2, "modelValue");
    const isIndeterminate = useVModel(props2, "indeterminate");
    const checked = vue.computed(() => value.value === props2.checkedValue);
    const checkedValue = vue.computed(() => props2.checkedValue);
    const { checkboxGroup, bindCheckboxGroup } = useCheckboxGroup();
    const { hovering, handleHovering } = useHoverOverlay();
    const { form, bindForm } = useForm();
    const {
      errorMessage,
      validateWithTrigger: vt,
      validate: v,
      // expose
      resetValidation
    } = useValidation();
    const checkboxProvider = {
      checkedValue,
      checked,
      sync,
      validate,
      resetValidation,
      reset
    };
    call(bindCheckboxGroup, checkboxProvider);
    call(bindForm, checkboxProvider);
    useEventListener(() => window, "keydown", handleKeydown);
    useEventListener(() => window, "keyup", handleKeyup);
    function validateWithTrigger(trigger) {
      vue.nextTick(() => {
        const { validateTrigger, rules, modelValue } = props2;
        vt(validateTrigger, trigger, rules, modelValue);
      });
    }
    function change(changedValue) {
      const { checkedValue: checkedValue2, onChange } = props2;
      value.value = changedValue;
      call(onChange, value.value, isIndeterminate.value);
      validateWithTrigger("onChange");
      changedValue === checkedValue2 ? checkboxGroup == null ? void 0 : checkboxGroup.onChecked(checkedValue2) : checkboxGroup == null ? void 0 : checkboxGroup.onUnchecked(checkedValue2);
    }
    function handleClick(e) {
      const { disabled, readonly, checkedValue: checkedValue2, uncheckedValue, onClick } = props2;
      if ((form == null ? void 0 : form.disabled.value) || disabled) {
        return;
      }
      call(onClick, e);
      if ((form == null ? void 0 : form.readonly.value) || readonly) {
        return;
      }
      if (isIndeterminate.value === true) {
        isIndeterminate.value = false;
        call(props2.onChange, value.value, isIndeterminate.value);
        validateWithTrigger("onChange");
        return;
      }
      const maximum = checkboxGroup ? checkboxGroup.checkedCount.value >= Number(checkboxGroup.max.value) : false;
      if (!checked.value && maximum) {
        return;
      }
      change(checked.value ? uncheckedValue : checkedValue2);
    }
    function handleTextClick() {
      action.value.focus();
    }
    function sync(values) {
      const { checkedValue: checkedValue2, uncheckedValue } = props2;
      value.value = values.includes(checkedValue2) ? checkedValue2 : uncheckedValue;
    }
    function reset() {
      value.value = props2.uncheckedValue;
      resetValidation();
    }
    function toggle(changedValue) {
      const { checkedValue: checkedValue2, uncheckedValue } = props2;
      const shouldReverse = ![checkedValue2, uncheckedValue].includes(changedValue);
      if (shouldReverse) {
        changedValue = checked.value ? uncheckedValue : checkedValue2;
      }
      change(changedValue);
    }
    function handleKeydown(event) {
      if (!isFocusing.value) {
        return;
      }
      const { key: key3 } = event;
      if (key3 === "Enter" || key3 === " ") {
        preventDefault(event);
      }
      if (key3 === "Enter") {
        action.value.click();
      }
    }
    function handleKeyup(event) {
      if (!isFocusing.value) {
        return;
      }
      if (event.key === " ") {
        preventDefault(event);
        action.value.click();
      }
    }
    function validate() {
      return v(props2.rules, props2.modelValue);
    }
    return {
      action,
      isFocusing,
      isIndeterminate,
      checked,
      errorMessage,
      checkboxGroupErrorMessage: checkboxGroup == null ? void 0 : checkboxGroup.errorMessage,
      formDisabled: form == null ? void 0 : form.disabled,
      formReadonly: form == null ? void 0 : form.readonly,
      hovering,
      n: n$1m,
      classes: classes$13,
      handleHovering,
      handleClick,
      handleTextClick,
      toggle,
      reset,
      validate,
      resetValidation
    };
  }
});
__sfc__$1n.render = __render__$1k;
var stdin_default$5R = __sfc__$1n;
withInstall(stdin_default$5R);
withPropsDefaultsSetter(stdin_default$5R, props$1d);
const _CheckboxComponent = stdin_default$5R;
var stdin_default$5Q = stdin_default$5R;
const props$1c = {
  label: {},
  value: {},
  disabled: Boolean,
  ripple: {
    type: Boolean,
    default: true
  },
  // internal start
  option: Object,
  childrenTrigger: Boolean,
  highlight: Boolean,
  onKeyArrowX: defineListenerProp()
  // internal end
};
const MENU_SELECT_BIND_MENU_OPTION_KEY = Symbol("MENU_SELECT_BIND_MENU_OPTION_KEY");
function useMenuOptions() {
  const { length, childProviders, bindChildren } = useChildren(
    MENU_SELECT_BIND_MENU_OPTION_KEY
  );
  return {
    length,
    menuOptions: childProviders,
    bindMenuOptions: bindChildren
  };
}
function useMenuSelect() {
  const { index, parentProvider, bindParent } = useParent(
    MENU_SELECT_BIND_MENU_OPTION_KEY
  );
  assert(!!bindParent, "MenuOption", "<var-menu-option/> must in <var-menu-select/>");
  return {
    index,
    menuSelect: parentProvider,
    bindMenuSelect: bindParent
  };
}
var __async$i = (__this, __arguments, generator) => {
  return new Promise((resolve, reject) => {
    var fulfilled = (value) => {
      try {
        step(generator.next(value));
      } catch (e) {
        reject(e);
      }
    };
    var rejected = (value) => {
      try {
        step(generator.throw(value));
      } catch (e) {
        reject(e);
      }
    };
    var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
    step((generator = generator.apply(__this, __arguments)).next());
  });
};
const { name: name$1e, n: n$1l, classes: classes$12 } = createNamespace("menu-option");
const _hoisted_1$y = ["tabindex"];
function __render__$1j(_ctx, _cache) {
  const _component_var_checkbox = vue.resolveComponent("var-checkbox");
  const _component_maybe_v_node = vue.resolveComponent("maybe-v-node");
  const _component_var_icon = vue.resolveComponent("var-icon");
  const _component_var_hover_overlay = vue.resolveComponent("var-hover-overlay");
  const _directive_ripple = vue.resolveDirective("ripple");
  const _directive_hover = vue.resolveDirective("hover");
  return vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
    ref: "root",
    class: vue.normalizeClass(
      _ctx.classes(
        _ctx.n(),
        _ctx.n("$--box"),
        _ctx.n(`--${_ctx.size}`),
        [_ctx.optionSelected, _ctx.n("--selected-color")],
        [_ctx.disabled, _ctx.n("--disabled")],
        [_ctx.childrenTrigger, _ctx.n("--children-trigger")]
      )
    ),
    tabindex: _ctx.disabled ? void 0 : "-1",
    onClick: _cache[3] || (_cache[3] = (...args) => _ctx.handleClick && _ctx.handleClick(...args)),
    onFocus: _cache[4] || (_cache[4] = ($event) => _ctx.isFocusing = true),
    onBlur: _cache[5] || (_cache[5] = ($event) => _ctx.isFocusing = false)
  }, [
    vue.createElementVNode(
      "div",
      {
        class: vue.normalizeClass(_ctx.classes(_ctx.n("cover"), [_ctx.optionSelected, _ctx.n("--selected-background")]))
      },
      null,
      2
      /* CLASS */
    ),
    _ctx.multiple ? (vue.openBlock(), vue.createBlock(_component_var_checkbox, {
      key: 0,
      ref: "checkbox",
      modelValue: _ctx.optionSelected,
      "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.optionSelected = $event),
      indeterminate: _ctx.optionIndeterminate,
      "onUpdate:indeterminate": _cache[1] || (_cache[1] = ($event) => _ctx.optionIndeterminate = $event),
      disabled: _ctx.disabled,
      onClick: _cache[2] || (_cache[2] = vue.withModifiers(() => {
      }, ["stop"])),
      onChange: _ctx.handleSelect
    }, null, 8, ["modelValue", "indeterminate", "disabled", "onChange"])) : vue.createCommentVNode("v-if", true),
    vue.renderSlot(_ctx.$slots, "default", {}, () => [
      vue.createElementVNode(
        "div",
        {
          class: vue.normalizeClass(_ctx.classes(_ctx.n("text")))
        },
        [
          vue.createVNode(_component_maybe_v_node, {
            is: _ctx.labelVNode,
            class: vue.normalizeClass(_ctx.n("$--ellipsis"))
          }, null, 8, ["is", "class"])
        ],
        2
        /* CLASS */
      )
    ]),
    _ctx.childrenTrigger ? (vue.openBlock(), vue.createElementBlock(
      "div",
      {
        key: 1,
        class: vue.normalizeClass(_ctx.n("arrow"))
      },
      [
        vue.createVNode(_component_var_icon, {
          "var-menu-option-cover": "",
          class: vue.normalizeClass(_ctx.n("arrow-icon")),
          name: "chevron-right"
        }, null, 8, ["class"])
      ],
      2
      /* CLASS */
    )) : vue.createCommentVNode("v-if", true),
    vue.createVNode(_component_var_hover_overlay, {
      hovering: (_ctx.hovering || _ctx.highlight) && !_ctx.disabled,
      focusing: _ctx.isFocusing && !_ctx.disabled
    }, null, 8, ["hovering", "focusing"])
  ], 42, _hoisted_1$y)), [
    [_directive_ripple, { disabled: _ctx.disabled || !_ctx.ripple }],
    [_directive_hover, _ctx.handleHovering, "desktop"]
  ]);
}
const __sfc__$1m = vue.defineComponent({
  name: name$1e,
  directives: { Ripple: stdin_default$68, Hover: stdin_default$67 },
  components: {
    VarCheckbox: stdin_default$5Q,
    VarHoverOverlay: stdin_default$65,
    VarIcon: stdin_default$63,
    MaybeVNode
  },
  props: props$1c,
  setup(props2) {
    const root = vue.ref();
    const checkbox = vue.ref();
    const isFocusing = vue.ref(false);
    const optionSelected = vue.ref(false);
    const optionIndeterminate = vue.ref(false);
    const selected = vue.computed(() => optionSelected.value);
    const indeterminate = vue.computed(() => optionIndeterminate.value);
    const value = vue.computed(() => props2.value);
    const disabled = vue.computed(() => props2.disabled);
    const ripple = vue.computed(() => props2.ripple);
    const { menuSelect, bindMenuSelect } = useMenuSelect();
    const { size, multiple, onSelect, computeLabel } = menuSelect;
    const { hovering, handleHovering } = useHoverOverlay();
    const labelVNode = vue.computed(
      () => {
        var _a;
        return isFunction(props2.label) ? props2.label(
          (_a = props2.option) != null ? _a : {
            label: props2.label,
            value: props2.value,
            disabled: props2.disabled,
            ripple: props2.ripple
          },
          optionSelected.value
        ) : props2.label;
      }
    );
    const menuOptionProvider = {
      label: labelVNode,
      value,
      selected,
      disabled,
      ripple,
      indeterminate,
      sync
    };
    vue.watch([() => props2.label, () => props2.value], computeLabel);
    bindMenuSelect(menuOptionProvider);
    useEventListener(() => window, "keydown", handleKeydown);
    useEventListener(() => window, "keyup", handleKeyup);
    function handleClick() {
      if (props2.disabled) {
        return;
      }
      if (!multiple.value && props2.childrenTrigger) {
        return;
      }
      if (multiple.value && optionIndeterminate.value) {
        optionIndeterminate.value = false;
        optionSelected.value = false;
        onSelect(menuOptionProvider);
        return;
      }
      if (multiple.value && !optionIndeterminate.value) {
        optionSelected.value = !optionSelected.value;
      }
      onSelect(menuOptionProvider);
    }
    function handleKeydown(event) {
      var _a;
      if (!isFocusing.value && !((_a = checkbox.value) == null ? void 0 : _a.isFocusing)) {
        return;
      }
      if (event.key === "ArrowRight" || event.key === "ArrowLeft") {
        preventDefault(event);
        call(props2.onKeyArrowX, event.key);
      }
      if (!isFocusing.value) {
        return;
      }
      if (event.key === " " || event.key === "Enter") {
        preventDefault(event);
      }
      if (event.key === "Enter") {
        root.value.click();
      }
    }
    function handleKeyup(event) {
      if (!isFocusing.value) {
        return;
      }
      if (event.key === " ") {
        preventDefault(event);
        root.value.click();
      }
    }
    function handleSelect() {
      return __async$i(this, null, function* () {
        yield vue.nextTick();
        onSelect(menuOptionProvider);
      });
    }
    function sync(checked, indeterminate2) {
      optionSelected.value = checked;
      if (isBoolean(indeterminate2)) {
        optionIndeterminate.value = indeterminate2;
      }
    }
    return {
      root,
      checkbox,
      optionSelected,
      optionIndeterminate,
      size,
      multiple,
      hovering,
      isFocusing,
      labelVNode,
      n: n$1l,
      classes: classes$12,
      handleHovering,
      handleClick,
      handleSelect
    };
  }
});
__sfc__$1m.render = __render__$1j;
var stdin_default$5P = __sfc__$1m;
withInstall(stdin_default$5P);
withPropsDefaultsSetter(stdin_default$5P, props$1c);
const _MenuOptionComponent = stdin_default$5P;
var stdin_default$5O = stdin_default$5P;
const props$1b = {
  show: Boolean,
  disabled: Boolean,
  trigger: {
    type: String,
    default: "click"
  },
  reference: [String, Object],
  placement: {
    type: String,
    default: "cover-top-start"
  },
  strategy: {
    type: String,
    default: "absolute"
  },
  offsetX: {
    type: [Number, String],
    default: 0
  },
  offsetY: {
    type: [Number, String],
    default: 0
  },
  teleport: {
    type: [String, Object, Boolean],
    default: "body"
  },
  sameWidth: Boolean,
  elevation: {
    type: [Boolean, String, Number],
    default: true
  },
  defaultStyle: {
    type: Boolean,
    default: true
  },
  popoverClass: String,
  closeOnClickReference: Boolean,
  closeOnKeyEscape: {
    type: Boolean,
    default: true
  },
  onOpen: defineListenerProp(),
  onOpened: defineListenerProp(),
  onClose: defineListenerProp(),
  onClosed: defineListenerProp(),
  onClickOutside: defineListenerProp(),
  "onUpdate:show": defineListenerProp(),
  // internal start
  cascadeOptimization: Boolean
  // internal end
};
var top = "top";
var bottom = "bottom";
var right = "right";
var left = "left";
var auto = "auto";
var basePlacements = [top, bottom, right, left];
var start$1 = "start";
var end = "end";
var clippingParents = "clippingParents";
var viewport = "viewport";
var popper = "popper";
var reference = "reference";
var variationPlacements = /* @__PURE__ */ basePlacements.reduce(function(acc, placement) {
  return acc.concat([placement + "-" + start$1, placement + "-" + end]);
}, []);
var placements = /* @__PURE__ */ [].concat(basePlacements, [auto]).reduce(function(acc, placement) {
  return acc.concat([placement, placement + "-" + start$1, placement + "-" + end]);
}, []);
var beforeRead = "beforeRead";
var read = "read";
var afterRead = "afterRead";
var beforeMain = "beforeMain";
var main = "main";
var afterMain = "afterMain";
var beforeWrite = "beforeWrite";
var write = "write";
var afterWrite = "afterWrite";
var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];
function getWindow(node) {
  if (node == null) {
    return window;
  }
  if (node.toString() !== "[object Window]") {
    var ownerDocument = node.ownerDocument;
    return ownerDocument ? ownerDocument.defaultView || window : window;
  }
  return node;
}
function getNodeName(element) {
  return element ? (element.nodeName || "").toLowerCase() : null;
}
function getComputedStyle(element) {
  return getWindow(element).getComputedStyle(element);
}
function isElement(node) {
  var OwnElement = getWindow(node).Element;
  return node instanceof OwnElement || node instanceof Element;
}
function isHTMLElement(node) {
  var OwnElement = getWindow(node).HTMLElement;
  return node instanceof OwnElement || node instanceof HTMLElement;
}
function isShadowRoot(node) {
  if (typeof ShadowRoot === "undefined") {
    return false;
  }
  var OwnElement = getWindow(node).ShadowRoot;
  return node instanceof OwnElement || node instanceof ShadowRoot;
}
function isTableElement(element) {
  return ["table", "td", "th"].indexOf(getNodeName(element)) >= 0;
}
function getDocumentElement(element) {
  return ((isElement(element) ? element.ownerDocument : (
    // $FlowFixMe[prop-missing]
    element.document
  )) || window.document).documentElement;
}
function getParentNode(element) {
  if (getNodeName(element) === "html") {
    return element;
  }
  return (
    // this is a quicker (but less type safe) way to save quite some bytes from the bundle
    // $FlowFixMe[incompatible-return]
    // $FlowFixMe[prop-missing]
    element.assignedSlot || // step into the shadow DOM of the parent of a slotted node
    element.parentNode || // DOM Element detected
    (isShadowRoot(element) ? element.host : null) || // ShadowRoot detected
    // $FlowFixMe[incompatible-call]: HTMLElement is a Node
    getDocumentElement(element)
  );
}
function getUAString() {
  var uaData = navigator.userAgentData;
  if (uaData != null && uaData.brands) {
    return uaData.brands.map(function(item) {
      return item.brand + "/" + item.version;
    }).join(" ");
  }
  return navigator.userAgent;
}
function getTrueOffsetParent(element) {
  if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837
  getComputedStyle(element).position === "fixed") {
    return null;
  }
  return element.offsetParent;
}
function getContainingBlock(element) {
  var isFirefox = /firefox/i.test(getUAString());
  var isIE = /Trident/i.test(getUAString());
  if (isIE && isHTMLElement(element)) {
    var elementCss = getComputedStyle(element);
    if (elementCss.position === "fixed") {
      return null;
    }
  }
  var currentNode = getParentNode(element);
  if (isShadowRoot(currentNode)) {
    currentNode = currentNode.host;
  }
  while (isHTMLElement(currentNode) && ["html", "body"].indexOf(getNodeName(currentNode)) < 0) {
    var css = getComputedStyle(currentNode);
    if (css.transform !== "none" || css.perspective !== "none" || css.contain === "paint" || ["transform", "perspective"].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === "filter" || isFirefox && css.filter && css.filter !== "none") {
      return currentNode;
    } else {
      currentNode = currentNode.parentNode;
    }
  }
  return null;
}
function getOffsetParent(element) {
  var window2 = getWindow(element);
  var offsetParent = getTrueOffsetParent(element);
  while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === "static") {
    offsetParent = getTrueOffsetParent(offsetParent);
  }
  if (offsetParent && (getNodeName(offsetParent) === "html" || getNodeName(offsetParent) === "body" && getComputedStyle(offsetParent).position === "static")) {
    return window2;
  }
  return offsetParent || getContainingBlock(element) || window2;
}
function getBasePlacement(placement) {
  return placement.split("-")[0];
}
function getVariation(placement) {
  return placement.split("-")[1];
}
var max$1 = Math.max;
var min$1 = Math.min;
var round$1 = Math.round;
var unsetSides = {
  top: "auto",
  right: "auto",
  bottom: "auto",
  left: "auto"
};
function roundOffsetsByDPR(_ref) {
  var x = _ref.x, y = _ref.y;
  var win = window;
  var dpr = win.devicePixelRatio || 1;
  return {
    x: round$1(x * dpr) / dpr || 0,
    y: round$1(y * dpr) / dpr || 0
  };
}
function mapToStyles(_ref2) {
  var _Object$assign2;
  var popper2 = _ref2.popper, popperRect = _ref2.popperRect, placement = _ref2.placement, variation = _ref2.variation, offsets = _ref2.offsets, position = _ref2.position, gpuAcceleration = _ref2.gpuAcceleration, adaptive = _ref2.adaptive, roundOffsets = _ref2.roundOffsets, isFixed = _ref2.isFixed;
  var _offsets$x = offsets.x, x = _offsets$x === void 0 ? 0 : _offsets$x, _offsets$y = offsets.y, y = _offsets$y === void 0 ? 0 : _offsets$y;
  var _ref3 = typeof roundOffsets === "function" ? roundOffsets({
    x,
    y
  }) : {
    x,
    y
  };
  x = _ref3.x;
  y = _ref3.y;
  var hasX = offsets.hasOwnProperty("x");
  var hasY = offsets.hasOwnProperty("y");
  var sideX = left;
  var sideY = top;
  var win = window;
  if (adaptive) {
    var offsetParent = getOffsetParent(popper2);
    var heightProp = "clientHeight";
    var widthProp = "clientWidth";
    if (offsetParent === getWindow(popper2)) {
      offsetParent = getDocumentElement(popper2);
      if (getComputedStyle(offsetParent).position !== "static" && position === "absolute") {
        heightProp = "scrollHeight";
        widthProp = "scrollWidth";
      }
    }
    offsetParent = offsetParent;
    if (placement === top || (placement === left || placement === right) && variation === end) {
      sideY = bottom;
      var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : (
        // $FlowFixMe[prop-missing]
        offsetParent[heightProp]
      );
      y -= offsetY - popperRect.height;
      y *= gpuAcceleration ? 1 : -1;
    }
    if (placement === left || (placement === top || placement === bottom) && variation === end) {
      sideX = right;
      var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : (
        // $FlowFixMe[prop-missing]
        offsetParent[widthProp]
      );
      x -= offsetX - popperRect.width;
      x *= gpuAcceleration ? 1 : -1;
    }
  }
  var commonStyles = Object.assign({
    position
  }, adaptive && unsetSides);
  var _ref4 = roundOffsets === true ? roundOffsetsByDPR({
    x,
    y
  }) : {
    x,
    y
  };
  x = _ref4.x;
  y = _ref4.y;
  if (gpuAcceleration) {
    var _Object$assign;
    return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? "0" : "", _Object$assign[sideX] = hasX ? "0" : "", _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign));
  }
  return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : "", _Object$assign2[sideX] = hasX ? x + "px" : "", _Object$assign2.transform = "", _Object$assign2));
}
function computeStyles(_ref5) {
  var state = _ref5.state, options = _ref5.options;
  var _options$gpuAccelerat = options.gpuAcceleration, gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat, _options$adaptive = options.adaptive, adaptive = _options$adaptive === void 0 ? true : _options$adaptive, _options$roundOffsets = options.roundOffsets, roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;
  if (process.env.NODE_ENV !== "production") {
    var transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || "";
    if (adaptive && ["transform", "top", "right", "bottom", "left"].some(function(property) {
      return transitionProperty.indexOf(property) >= 0;
    })) {
      console.warn(["Popper: Detected CSS transitions on at least one of the following", 'CSS properties: "transform", "top", "right", "bottom", "left".', "\n\n", 'Disable the "computeStyles" modifier\'s `adaptive` option to allow', "for smooth transitions, or remove these properties from the CSS", "transition declaration on the popper element if only transitioning", "opacity or background-color for example.", "\n\n", "We recommend using the popper element as a wrapper around an inner", "element that can have any CSS property transitioned for animations."].join(" "));
    }
  }
  var commonStyles = {
    placement: getBasePlacement(state.placement),
    variation: getVariation(state.placement),
    popper: state.elements.popper,
    popperRect: state.rects.popper,
    gpuAcceleration,
    isFixed: state.options.strategy === "fixed"
  };
  if (state.modifiersData.popperOffsets != null) {
    state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {
      offsets: state.modifiersData.popperOffsets,
      position: state.options.strategy,
      adaptive,
      roundOffsets
    })));
  }
  if (state.modifiersData.arrow != null) {
    state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {
      offsets: state.modifiersData.arrow,
      position: "absolute",
      adaptive: false,
      roundOffsets
    })));
  }
  state.attributes.popper = Object.assign({}, state.attributes.popper, {
    "data-popper-placement": state.placement
  });
}
const computeStyles$1 = {
  name: "computeStyles",
  enabled: true,
  phase: "beforeWrite",
  fn: computeStyles,
  data: {}
};
var hash$1 = {
  left: "right",
  right: "left",
  bottom: "top",
  top: "bottom"
};
function getOppositePlacement(placement) {
  return placement.replace(/left|right|bottom|top/g, function(matched) {
    return hash$1[matched];
  });
}
var hash = {
  start: "end",
  end: "start"
};
function getOppositeVariationPlacement(placement) {
  return placement.replace(/start|end/g, function(matched) {
    return hash[matched];
  });
}
function isLayoutViewport() {
  return !/^((?!chrome|android).)*safari/i.test(getUAString());
}
function getBoundingClientRect(element, includeScale, isFixedStrategy) {
  if (includeScale === void 0) {
    includeScale = false;
  }
  if (isFixedStrategy === void 0) {
    isFixedStrategy = false;
  }
  var clientRect = element.getBoundingClientRect();
  var scaleX = 1;
  var scaleY = 1;
  if (includeScale && isHTMLElement(element)) {
    scaleX = element.offsetWidth > 0 ? round$1(clientRect.width) / element.offsetWidth || 1 : 1;
    scaleY = element.offsetHeight > 0 ? round$1(clientRect.height) / element.offsetHeight || 1 : 1;
  }
  var _ref = isElement(element) ? getWindow(element) : window, visualViewport = _ref.visualViewport;
  var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;
  var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;
  var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;
  var width = clientRect.width / scaleX;
  var height = clientRect.height / scaleY;
  return {
    width,
    height,
    top: y,
    right: x + width,
    bottom: y + height,
    left: x,
    x,
    y
  };
}
function getWindowScroll(node) {
  var win = getWindow(node);
  var scrollLeft = win.pageXOffset;
  var scrollTop = win.pageYOffset;
  return {
    scrollLeft,
    scrollTop
  };
}
function getWindowScrollBarX(element) {
  return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;
}
function getViewportRect(element, strategy) {
  var win = getWindow(element);
  var html = getDocumentElement(element);
  var visualViewport = win.visualViewport;
  var width = html.clientWidth;
  var height = html.clientHeight;
  var x = 0;
  var y = 0;
  if (visualViewport) {
    width = visualViewport.width;
    height = visualViewport.height;
    var layoutViewport = isLayoutViewport();
    if (layoutViewport || !layoutViewport && strategy === "fixed") {
      x = visualViewport.offsetLeft;
      y = visualViewport.offsetTop;
    }
  }
  return {
    width,
    height,
    x: x + getWindowScrollBarX(element),
    y
  };
}
function getDocumentRect(element) {
  var _element$ownerDocumen;
  var html = getDocumentElement(element);
  var winScroll = getWindowScroll(element);
  var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;
  var width = max$1(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);
  var height = max$1(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);
  var x = -winScroll.scrollLeft + getWindowScrollBarX(element);
  var y = -winScroll.scrollTop;
  if (getComputedStyle(body || html).direction === "rtl") {
    x += max$1(html.clientWidth, body ? body.clientWidth : 0) - width;
  }
  return {
    width,
    height,
    x,
    y
  };
}
function isScrollParent(element) {
  var _getComputedStyle = getComputedStyle(element), overflow = _getComputedStyle.overflow, overflowX = _getComputedStyle.overflowX, overflowY = _getComputedStyle.overflowY;
  return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);
}
function getScrollParent(node) {
  if (["html", "body", "#document"].indexOf(getNodeName(node)) >= 0) {
    return node.ownerDocument.body;
  }
  if (isHTMLElement(node) && isScrollParent(node)) {
    return node;
  }
  return getScrollParent(getParentNode(node));
}
function listScrollParents(element, list) {
  var _element$ownerDocumen;
  if (list === void 0) {
    list = [];
  }
  var scrollParent = getScrollParent(element);
  var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);
  var win = getWindow(scrollParent);
  var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;
  var updatedList = list.concat(target);
  return isBody ? updatedList : (
    // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here
    updatedList.concat(listScrollParents(getParentNode(target)))
  );
}
function contains(parent, child) {
  var rootNode = child.getRootNode && child.getRootNode();
  if (parent.contains(child)) {
    return true;
  } else if (rootNode && isShadowRoot(rootNode)) {
    var next = child;
    do {
      if (next && parent.isSameNode(next)) {
        return true;
      }
      next = next.parentNode || next.host;
    } while (next);
  }
  return false;
}
function rectToClientRect(rect) {
  return Object.assign({}, rect, {
    left: rect.x,
    top: rect.y,
    right: rect.x + rect.width,
    bottom: rect.y + rect.height
  });
}
function getInnerBoundingClientRect(element, strategy) {
  var rect = getBoundingClientRect(element, false, strategy === "fixed");
  rect.top = rect.top + element.clientTop;
  rect.left = rect.left + element.clientLeft;
  rect.bottom = rect.top + element.clientHeight;
  rect.right = rect.left + element.clientWidth;
  rect.width = element.clientWidth;
  rect.height = element.clientHeight;
  rect.x = rect.left;
  rect.y = rect.top;
  return rect;
}
function getClientRectFromMixedType(element, clippingParent, strategy) {
  return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));
}
function getClippingParents(element) {
  var clippingParents2 = listScrollParents(getParentNode(element));
  var canEscapeClipping = ["absolute", "fixed"].indexOf(getComputedStyle(element).position) >= 0;
  var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;
  if (!isElement(clipperElement)) {
    return [];
  }
  return clippingParents2.filter(function(clippingParent) {
    return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== "body";
  });
}
function getClippingRect(element, boundary, rootBoundary, strategy) {
  var mainClippingParents = boundary === "clippingParents" ? getClippingParents(element) : [].concat(boundary);
  var clippingParents2 = [].concat(mainClippingParents, [rootBoundary]);
  var firstClippingParent = clippingParents2[0];
  var clippingRect = clippingParents2.reduce(function(accRect, clippingParent) {
    var rect = getClientRectFromMixedType(element, clippingParent, strategy);
    accRect.top = max$1(rect.top, accRect.top);
    accRect.right = min$1(rect.right, accRect.right);
    accRect.bottom = min$1(rect.bottom, accRect.bottom);
    accRect.left = max$1(rect.left, accRect.left);
    return accRect;
  }, getClientRectFromMixedType(element, firstClippingParent, strategy));
  clippingRect.width = clippingRect.right - clippingRect.left;
  clippingRect.height = clippingRect.bottom - clippingRect.top;
  clippingRect.x = clippingRect.left;
  clippingRect.y = clippingRect.top;
  return clippingRect;
}
function getMainAxisFromPlacement(placement) {
  return ["top", "bottom"].indexOf(placement) >= 0 ? "x" : "y";
}
function computeOffsets(_ref) {
  var reference2 = _ref.reference, element = _ref.element, placement = _ref.placement;
  var basePlacement = placement ? getBasePlacement(placement) : null;
  var variation = placement ? getVariation(placement) : null;
  var commonX = reference2.x + reference2.width / 2 - element.width / 2;
  var commonY = reference2.y + reference2.height / 2 - element.height / 2;
  var offsets;
  switch (basePlacement) {
    case top:
      offsets = {
        x: commonX,
        y: reference2.y - element.height
      };
      break;
    case bottom:
      offsets = {
        x: commonX,
        y: reference2.y + reference2.height
      };
      break;
    case right:
      offsets = {
        x: reference2.x + reference2.width,
        y: commonY
      };
      break;
    case left:
      offsets = {
        x: reference2.x - element.width,
        y: commonY
      };
      break;
    default:
      offsets = {
        x: reference2.x,
        y: reference2.y
      };
  }
  var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;
  if (mainAxis != null) {
    var len = mainAxis === "y" ? "height" : "width";
    switch (variation) {
      case start$1:
        offsets[mainAxis] = offsets[mainAxis] - (reference2[len] / 2 - element[len] / 2);
        break;
      case end:
        offsets[mainAxis] = offsets[mainAxis] + (reference2[len] / 2 - element[len] / 2);
        break;
    }
  }
  return offsets;
}
function getFreshSideObject() {
  return {
    top: 0,
    right: 0,
    bottom: 0,
    left: 0
  };
}
function mergePaddingObject(paddingObject) {
  return Object.assign({}, getFreshSideObject(), paddingObject);
}
function expandToHashMap(value, keys) {
  return keys.reduce(function(hashMap, key3) {
    hashMap[key3] = value;
    return hashMap;
  }, {});
}
function detectOverflow(state, options) {
  if (options === void 0) {
    options = {};
  }
  var _options = options, _options$placement = _options.placement, placement = _options$placement === void 0 ? state.placement : _options$placement, _options$strategy = _options.strategy, strategy = _options$strategy === void 0 ? state.strategy : _options$strategy, _options$boundary = _options.boundary, boundary = _options$boundary === void 0 ? clippingParents : _options$boundary, _options$rootBoundary = _options.rootBoundary, rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary, _options$elementConte = _options.elementContext, elementContext = _options$elementConte === void 0 ? popper : _options$elementConte, _options$altBoundary = _options.altBoundary, altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary, _options$padding = _options.padding, padding = _options$padding === void 0 ? 0 : _options$padding;
  var paddingObject = mergePaddingObject(typeof padding !== "number" ? padding : expandToHashMap(padding, basePlacements));
  var altContext = elementContext === popper ? reference : popper;
  var popperRect = state.rects.popper;
  var element = state.elements[altBoundary ? altContext : elementContext];
  var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);
  var referenceClientRect = getBoundingClientRect(state.elements.reference);
  var popperOffsets2 = computeOffsets({
    reference: referenceClientRect,
    element: popperRect,
    placement
  });
  var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets2));
  var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect;
  var overflowOffsets = {
    top: clippingClientRect.top - elementClientRect.top + paddingObject.top,
    bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,
    left: clippingClientRect.left - elementClientRect.left + paddingObject.left,
    right: elementClientRect.right - clippingClientRect.right + paddingObject.right
  };
  var offsetData = state.modifiersData.offset;
  if (elementContext === popper && offsetData) {
    var offset2 = offsetData[placement];
    Object.keys(overflowOffsets).forEach(function(key3) {
      var multiply = [right, bottom].indexOf(key3) >= 0 ? 1 : -1;
      var axis = [top, bottom].indexOf(key3) >= 0 ? "y" : "x";
      overflowOffsets[key3] += offset2[axis] * multiply;
    });
  }
  return overflowOffsets;
}
function computeAutoPlacement(state, options) {
  if (options === void 0) {
    options = {};
  }
  var _options = options, placement = _options.placement, boundary = _options.boundary, rootBoundary = _options.rootBoundary, padding = _options.padding, flipVariations = _options.flipVariations, _options$allowedAutoP = _options.allowedAutoPlacements, allowedAutoPlacements = _options$allowedAutoP === void 0 ? placements : _options$allowedAutoP;
  var variation = getVariation(placement);
  var placements$1 = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function(placement2) {
    return getVariation(placement2) === variation;
  }) : basePlacements;
  var allowedPlacements = placements$1.filter(function(placement2) {
    return allowedAutoPlacements.indexOf(placement2) >= 0;
  });
  if (allowedPlacements.length === 0) {
    allowedPlacements = placements$1;
    if (process.env.NODE_ENV !== "production") {
      console.error(["Popper: The `allowedAutoPlacements` option did not allow any", "placements. Ensure the `placement` option matches the variation", "of the allowed placements.", 'For example, "auto" cannot be used to allow "bottom-start".', 'Use "auto-start" instead.'].join(" "));
    }
  }
  var overflows = allowedPlacements.reduce(function(acc, placement2) {
    acc[placement2] = detectOverflow(state, {
      placement: placement2,
      boundary,
      rootBoundary,
      padding
    })[getBasePlacement(placement2)];
    return acc;
  }, {});
  return Object.keys(overflows).sort(function(a, b) {
    return overflows[a] - overflows[b];
  });
}
function getExpandedFallbackPlacements(placement) {
  if (getBasePlacement(placement) === auto) {
    return [];
  }
  var oppositePlacement = getOppositePlacement(placement);
  return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];
}
function flip(_ref) {
  var state = _ref.state, options = _ref.options, name2 = _ref.name;
  if (state.modifiersData[name2]._skip) {
    return;
  }
  var _options$mainAxis = options.mainAxis, checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, _options$altAxis = options.altAxis, checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis, specifiedFallbackPlacements = options.fallbackPlacements, padding = options.padding, boundary = options.boundary, rootBoundary = options.rootBoundary, altBoundary = options.altBoundary, _options$flipVariatio = options.flipVariations, flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio, allowedAutoPlacements = options.allowedAutoPlacements;
  var preferredPlacement = state.options.placement;
  var basePlacement = getBasePlacement(preferredPlacement);
  var isBasePlacement = basePlacement === preferredPlacement;
  var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));
  var placements2 = [preferredPlacement].concat(fallbackPlacements).reduce(function(acc, placement2) {
    return acc.concat(getBasePlacement(placement2) === auto ? computeAutoPlacement(state, {
      placement: placement2,
      boundary,
      rootBoundary,
      padding,
      flipVariations,
      allowedAutoPlacements
    }) : placement2);
  }, []);
  var referenceRect = state.rects.reference;
  var popperRect = state.rects.popper;
  var checksMap = /* @__PURE__ */ new Map();
  var makeFallbackChecks = true;
  var firstFittingPlacement = placements2[0];
  for (var i = 0; i < placements2.length; i++) {
    var placement = placements2[i];
    var _basePlacement = getBasePlacement(placement);
    var isStartVariation = getVariation(placement) === start$1;
    var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;
    var len = isVertical ? "width" : "height";
    var overflow = detectOverflow(state, {
      placement,
      boundary,
      rootBoundary,
      altBoundary,
      padding
    });
    var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;
    if (referenceRect[len] > popperRect[len]) {
      mainVariationSide = getOppositePlacement(mainVariationSide);
    }
    var altVariationSide = getOppositePlacement(mainVariationSide);
    var checks = [];
    if (checkMainAxis) {
      checks.push(overflow[_basePlacement] <= 0);
    }
    if (checkAltAxis) {
      checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);
    }
    if (checks.every(function(check2) {
      return check2;
    })) {
      firstFittingPlacement = placement;
      makeFallbackChecks = false;
      break;
    }
    checksMap.set(placement, checks);
  }
  if (makeFallbackChecks) {
    var numberOfChecks = flipVariations ? 3 : 1;
    var _loop = function _loop2(_i2) {
      var fittingPlacement = placements2.find(function(placement2) {
        var checks2 = checksMap.get(placement2);
        if (checks2) {
          return checks2.slice(0, _i2).every(function(check2) {
            return check2;
          });
        }
      });
      if (fittingPlacement) {
        firstFittingPlacement = fittingPlacement;
        return "break";
      }
    };
    for (var _i = numberOfChecks; _i > 0; _i--) {
      var _ret = _loop(_i);
      if (_ret === "break") break;
    }
  }
  if (state.placement !== firstFittingPlacement) {
    state.modifiersData[name2]._skip = true;
    state.placement = firstFittingPlacement;
    state.reset = true;
  }
}
const flip$1 = {
  name: "flip",
  enabled: true,
  phase: "main",
  fn: flip,
  requiresIfExists: ["offset"],
  data: {
    _skip: false
  }
};
function distanceAndSkiddingToXY(placement, rects, offset2) {
  var basePlacement = getBasePlacement(placement);
  var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;
  var _ref = typeof offset2 === "function" ? offset2(Object.assign({}, rects, {
    placement
  })) : offset2, skidding = _ref[0], distance = _ref[1];
  skidding = skidding || 0;
  distance = (distance || 0) * invertDistance;
  return [left, right].indexOf(basePlacement) >= 0 ? {
    x: distance,
    y: skidding
  } : {
    x: skidding,
    y: distance
  };
}
function offset(_ref2) {
  var state = _ref2.state, options = _ref2.options, name2 = _ref2.name;
  var _options$offset = options.offset, offset2 = _options$offset === void 0 ? [0, 0] : _options$offset;
  var data = placements.reduce(function(acc, placement) {
    acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset2);
    return acc;
  }, {});
  var _data$state$placement = data[state.placement], x = _data$state$placement.x, y = _data$state$placement.y;
  if (state.modifiersData.popperOffsets != null) {
    state.modifiersData.popperOffsets.x += x;
    state.modifiersData.popperOffsets.y += y;
  }
  state.modifiersData[name2] = data;
}
const offset$1 = {
  name: "offset",
  enabled: true,
  phase: "main",
  requires: ["popperOffsets"],
  fn: offset
};
function getHTMLElementScroll(element) {
  return {
    scrollLeft: element.scrollLeft,
    scrollTop: element.scrollTop
  };
}
function getNodeScroll(node) {
  if (node === getWindow(node) || !isHTMLElement(node)) {
    return getWindowScroll(node);
  } else {
    return getHTMLElementScroll(node);
  }
}
function isElementScaled(element) {
  var rect = element.getBoundingClientRect();
  var scaleX = round$1(rect.width) / element.offsetWidth || 1;
  var scaleY = round$1(rect.height) / element.offsetHeight || 1;
  return scaleX !== 1 || scaleY !== 1;
}
function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {
  if (isFixed === void 0) {
    isFixed = false;
  }
  var isOffsetParentAnElement = isHTMLElement(offsetParent);
  var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);
  var documentElement = getDocumentElement(offsetParent);
  var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);
  var scroll = {
    scrollLeft: 0,
    scrollTop: 0
  };
  var offsets = {
    x: 0,
    y: 0
  };
  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
    if (getNodeName(offsetParent) !== "body" || // https://github.com/popperjs/popper-core/issues/1078
    isScrollParent(documentElement)) {
      scroll = getNodeScroll(offsetParent);
    }
    if (isHTMLElement(offsetParent)) {
      offsets = getBoundingClientRect(offsetParent, true);
      offsets.x += offsetParent.clientLeft;
      offsets.y += offsetParent.clientTop;
    } else if (documentElement) {
      offsets.x = getWindowScrollBarX(documentElement);
    }
  }
  return {
    x: rect.left + scroll.scrollLeft - offsets.x,
    y: rect.top + scroll.scrollTop - offsets.y,
    width: rect.width,
    height: rect.height
  };
}
function getLayoutRect(element) {
  var clientRect = getBoundingClientRect(element);
  var width = element.offsetWidth;
  var height = element.offsetHeight;
  if (Math.abs(clientRect.width - width) <= 1) {
    width = clientRect.width;
  }
  if (Math.abs(clientRect.height - height) <= 1) {
    height = clientRect.height;
  }
  return {
    x: element.offsetLeft,
    y: element.offsetTop,
    width,
    height
  };
}
function order(modifiers) {
  var map = /* @__PURE__ */ new Map();
  var visited = /* @__PURE__ */ new Set();
  var result = [];
  modifiers.forEach(function(modifier) {
    map.set(modifier.name, modifier);
  });
  function sort(modifier) {
    visited.add(modifier.name);
    var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);
    requires.forEach(function(dep) {
      if (!visited.has(dep)) {
        var depModifier = map.get(dep);
        if (depModifier) {
          sort(depModifier);
        }
      }
    });
    result.push(modifier);
  }
  modifiers.forEach(function(modifier) {
    if (!visited.has(modifier.name)) {
      sort(modifier);
    }
  });
  return result;
}
function orderModifiers(modifiers) {
  var orderedModifiers = order(modifiers);
  return modifierPhases.reduce(function(acc, phase) {
    return acc.concat(orderedModifiers.filter(function(modifier) {
      return modifier.phase === phase;
    }));
  }, []);
}
function debounce(fn2) {
  var pending;
  return function() {
    if (!pending) {
      pending = new Promise(function(resolve) {
        Promise.resolve().then(function() {
          pending = void 0;
          resolve(fn2());
        });
      });
    }
    return pending;
  };
}
function format(str) {
  for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
    args[_key - 1] = arguments[_key];
  }
  return [].concat(args).reduce(function(p, c) {
    return p.replace(/%s/, c);
  }, str);
}
var INVALID_MODIFIER_ERROR = 'Popper: modifier "%s" provided an invalid %s property, expected %s but got %s';
var MISSING_DEPENDENCY_ERROR = 'Popper: modifier "%s" requires "%s", but "%s" modifier is not available';
var VALID_PROPERTIES = ["name", "enabled", "phase", "fn", "effect", "requires", "options"];
function validateModifiers(modifiers) {
  modifiers.forEach(function(modifier) {
    [].concat(Object.keys(modifier), VALID_PROPERTIES).filter(function(value, index, self2) {
      return self2.indexOf(value) === index;
    }).forEach(function(key3) {
      switch (key3) {
        case "name":
          if (typeof modifier.name !== "string") {
            console.error(format(INVALID_MODIFIER_ERROR, String(modifier.name), '"name"', '"string"', '"' + String(modifier.name) + '"'));
          }
          break;
        case "enabled":
          if (typeof modifier.enabled !== "boolean") {
            console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"enabled"', '"boolean"', '"' + String(modifier.enabled) + '"'));
          }
          break;
        case "phase":
          if (modifierPhases.indexOf(modifier.phase) < 0) {
            console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"phase"', "either " + modifierPhases.join(", "), '"' + String(modifier.phase) + '"'));
          }
          break;
        case "fn":
          if (typeof modifier.fn !== "function") {
            console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"fn"', '"function"', '"' + String(modifier.fn) + '"'));
          }
          break;
        case "effect":
          if (modifier.effect != null && typeof modifier.effect !== "function") {
            console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"effect"', '"function"', '"' + String(modifier.fn) + '"'));
          }
          break;
        case "requires":
          if (modifier.requires != null && !Array.isArray(modifier.requires)) {
            console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"requires"', '"array"', '"' + String(modifier.requires) + '"'));
          }
          break;
        case "requiresIfExists":
          if (!Array.isArray(modifier.requiresIfExists)) {
            console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"requiresIfExists"', '"array"', '"' + String(modifier.requiresIfExists) + '"'));
          }
          break;
        case "options":
        case "data":
          break;
        default:
          console.error('PopperJS: an invalid property has been provided to the "' + modifier.name + '" modifier, valid properties are ' + VALID_PROPERTIES.map(function(s) {
            return '"' + s + '"';
          }).join(", ") + '; but "' + key3 + '" was provided.');
      }
      modifier.requires && modifier.requires.forEach(function(requirement) {
        if (modifiers.find(function(mod2) {
          return mod2.name === requirement;
        }) == null) {
          console.error(format(MISSING_DEPENDENCY_ERROR, String(modifier.name), requirement, requirement));
        }
      });
    });
  });
}
function uniqueBy(arr, fn2) {
  var identifiers = /* @__PURE__ */ new Set();
  return arr.filter(function(item) {
    var identifier = fn2(item);
    if (!identifiers.has(identifier)) {
      identifiers.add(identifier);
      return true;
    }
  });
}
function mergeByName(modifiers) {
  var merged = modifiers.reduce(function(merged2, current) {
    var existing = merged2[current.name];
    merged2[current.name] = existing ? Object.assign({}, existing, current, {
      options: Object.assign({}, existing.options, current.options),
      data: Object.assign({}, existing.data, current.data)
    }) : current;
    return merged2;
  }, {});
  return Object.keys(merged).map(function(key3) {
    return merged[key3];
  });
}
var INVALID_ELEMENT_ERROR = "Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.";
var INFINITE_LOOP_ERROR = "Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.";
var DEFAULT_OPTIONS = {
  placement: "bottom",
  modifiers: [],
  strategy: "absolute"
};
function areValidElements() {
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
    args[_key] = arguments[_key];
  }
  return !args.some(function(element) {
    return !(element && typeof element.getBoundingClientRect === "function");
  });
}
function popperGenerator(generatorOptions) {
  if (generatorOptions === void 0) {
    generatorOptions = {};
  }
  var _generatorOptions = generatorOptions, _generatorOptions$def = _generatorOptions.defaultModifiers, defaultModifiers2 = _generatorOptions$def === void 0 ? [] : _generatorOptions$def, _generatorOptions$def2 = _generatorOptions.defaultOptions, defaultOptions2 = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;
  return function createPopper2(reference2, popper2, options) {
    if (options === void 0) {
      options = defaultOptions2;
    }
    var state = {
      placement: "bottom",
      orderedModifiers: [],
      options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions2),
      modifiersData: {},
      elements: {
        reference: reference2,
        popper: popper2
      },
      attributes: {},
      styles: {}
    };
    var effectCleanupFns = [];
    var isDestroyed = false;
    var instance = {
      state,
      setOptions: function setOptions(setOptionsAction) {
        var options2 = typeof setOptionsAction === "function" ? setOptionsAction(state.options) : setOptionsAction;
        cleanupModifierEffects();
        state.options = Object.assign({}, defaultOptions2, state.options, options2);
        state.scrollParents = {
          reference: isElement(reference2) ? listScrollParents(reference2) : reference2.contextElement ? listScrollParents(reference2.contextElement) : [],
          popper: listScrollParents(popper2)
        };
        var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers2, state.options.modifiers)));
        state.orderedModifiers = orderedModifiers.filter(function(m) {
          return m.enabled;
        });
        if (process.env.NODE_ENV !== "production") {
          var modifiers = uniqueBy([].concat(orderedModifiers, state.options.modifiers), function(_ref) {
            var name2 = _ref.name;
            return name2;
          });
          validateModifiers(modifiers);
          if (getBasePlacement(state.options.placement) === auto) {
            var flipModifier = state.orderedModifiers.find(function(_ref2) {
              var name2 = _ref2.name;
              return name2 === "flip";
            });
            if (!flipModifier) {
              console.error(['Popper: "auto" placements require the "flip" modifier be', "present and enabled to work."].join(" "));
            }
          }
          var _getComputedStyle = getComputedStyle(popper2), marginTop = _getComputedStyle.marginTop, marginRight = _getComputedStyle.marginRight, marginBottom = _getComputedStyle.marginBottom, marginLeft = _getComputedStyle.marginLeft;
          if ([marginTop, marginRight, marginBottom, marginLeft].some(function(margin) {
            return parseFloat(margin);
          })) {
            console.warn(['Popper: CSS "margin" styles cannot be used to apply padding', "between the popper and its reference element or boundary.", "To replicate margin, use the `offset` modifier, as well as", "the `padding` option in the `preventOverflow` and `flip`", "modifiers."].join(" "));
          }
        }
        runModifierEffects();
        return instance.update();
      },
      // Sync update – it will always be executed, even if not necessary. This
      // is useful for low frequency updates where sync behavior simplifies the
      // logic.
      // For high frequency updates (e.g. `resize` and `scroll` events), always
      // prefer the async Popper#update method
      forceUpdate: function forceUpdate() {
        if (isDestroyed) {
          return;
        }
        var _state$elements = state.elements, reference3 = _state$elements.reference, popper3 = _state$elements.popper;
        if (!areValidElements(reference3, popper3)) {
          if (process.env.NODE_ENV !== "production") {
            console.error(INVALID_ELEMENT_ERROR);
          }
          return;
        }
        state.rects = {
          reference: getCompositeRect(reference3, getOffsetParent(popper3), state.options.strategy === "fixed"),
          popper: getLayoutRect(popper3)
        };
        state.reset = false;
        state.placement = state.options.placement;
        state.orderedModifiers.forEach(function(modifier) {
          return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);
        });
        var __debug_loops__ = 0;
        for (var index = 0; index < state.orderedModifiers.length; index++) {
          if (process.env.NODE_ENV !== "production") {
            __debug_loops__ += 1;
            if (__debug_loops__ > 100) {
              console.error(INFINITE_LOOP_ERROR);
              break;
            }
          }
          if (state.reset === true) {
            state.reset = false;
            index = -1;
            continue;
          }
          var _state$orderedModifie = state.orderedModifiers[index], fn2 = _state$orderedModifie.fn, _state$orderedModifie2 = _state$orderedModifie.options, _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2, name2 = _state$orderedModifie.name;
          if (typeof fn2 === "function") {
            state = fn2({
              state,
              options: _options,
              name: name2,
              instance
            }) || state;
          }
        }
      },
      // Async and optimistically optimized update – it will not be executed if
      // not necessary (debounced to run at most once-per-tick)
      update: debounce(function() {
        return new Promise(function(resolve) {
          instance.forceUpdate();
          resolve(state);
        });
      }),
      destroy: function destroy() {
        cleanupModifierEffects();
        isDestroyed = true;
      }
    };
    if (!areValidElements(reference2, popper2)) {
      if (process.env.NODE_ENV !== "production") {
        console.error(INVALID_ELEMENT_ERROR);
      }
      return instance;
    }
    instance.setOptions(options).then(function(state2) {
      if (!isDestroyed && options.onFirstUpdate) {
        options.onFirstUpdate(state2);
      }
    });
    function runModifierEffects() {
      state.orderedModifiers.forEach(function(_ref3) {
        var name2 = _ref3.name, _ref3$options = _ref3.options, options2 = _ref3$options === void 0 ? {} : _ref3$options, effect2 = _ref3.effect;
        if (typeof effect2 === "function") {
          var cleanupFn = effect2({
            state,
            name: name2,
            instance,
            options: options2
          });
          var noopFn = function noopFn2() {
          };
          effectCleanupFns.push(cleanupFn || noopFn);
        }
      });
    }
    function cleanupModifierEffects() {
      effectCleanupFns.forEach(function(fn2) {
        return fn2();
      });
      effectCleanupFns = [];
    }
    return instance;
  };
}
var passive = {
  passive: true
};
function effect$1(_ref) {
  var state = _ref.state, instance = _ref.instance, options = _ref.options;
  var _options$scroll = options.scroll, scroll = _options$scroll === void 0 ? true : _options$scroll, _options$resize = options.resize, resize = _options$resize === void 0 ? true : _options$resize;
  var window2 = getWindow(state.elements.popper);
  var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);
  if (scroll) {
    scrollParents.forEach(function(scrollParent) {
      scrollParent.addEventListener("scroll", instance.update, passive);
    });
  }
  if (resize) {
    window2.addEventListener("resize", instance.update, passive);
  }
  return function() {
    if (scroll) {
      scrollParents.forEach(function(scrollParent) {
        scrollParent.removeEventListener("scroll", instance.update, passive);
      });
    }
    if (resize) {
      window2.removeEventListener("resize", instance.update, passive);
    }
  };
}
const eventListeners = {
  name: "eventListeners",
  enabled: true,
  phase: "write",
  fn: function fn() {
  },
  effect: effect$1,
  data: {}
};
function popperOffsets(_ref) {
  var state = _ref.state, name2 = _ref.name;
  state.modifiersData[name2] = computeOffsets({
    reference: state.rects.reference,
    element: state.rects.popper,
    placement: state.placement
  });
}
const popperOffsets$1 = {
  name: "popperOffsets",
  enabled: true,
  phase: "read",
  fn: popperOffsets,
  data: {}
};
function applyStyles(_ref) {
  var state = _ref.state;
  Object.keys(state.elements).forEach(function(name2) {
    var style = state.styles[name2] || {};
    var attributes = state.attributes[name2] || {};
    var element = state.elements[name2];
    if (!isHTMLElement(element) || !getNodeName(element)) {
      return;
    }
    Object.assign(element.style, style);
    Object.keys(attributes).forEach(function(name3) {
      var value = attributes[name3];
      if (value === false) {
        element.removeAttribute(name3);
      } else {
        element.setAttribute(name3, value === true ? "" : value);
      }
    });
  });
}
function effect(_ref2) {
  var state = _ref2.state;
  var initialStyles = {
    popper: {
      position: state.options.strategy,
      left: "0",
      top: "0",
      margin: "0"
    },
    arrow: {
      position: "absolute"
    },
    reference: {}
  };
  Object.assign(state.elements.popper.style, initialStyles.popper);
  state.styles = initialStyles;
  if (state.elements.arrow) {
    Object.assign(state.elements.arrow.style, initialStyles.arrow);
  }
  return function() {
    Object.keys(state.elements).forEach(function(name2) {
      var element = state.elements[name2];
      var attributes = state.attributes[name2] || {};
      var styleProperties = Object.keys(state.styles.hasOwnProperty(name2) ? state.styles[name2] : initialStyles[name2]);
      var style = styleProperties.reduce(function(style2, property) {
        style2[property] = "";
        return style2;
      }, {});
      if (!isHTMLElement(element) || !getNodeName(element)) {
        return;
      }
      Object.assign(element.style, style);
      Object.keys(attributes).forEach(function(attribute) {
        element.removeAttribute(attribute);
      });
    });
  };
}
const applyStyles$1 = {
  name: "applyStyles",
  enabled: true,
  phase: "write",
  fn: applyStyles,
  effect,
  requires: ["computeStyles"]
};
var defaultModifiers = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1];
var createPopper = /* @__PURE__ */ popperGenerator({
  defaultModifiers
});
var __defProp$r = Object.defineProperty;
var __defProps$9 = Object.defineProperties;
var __getOwnPropDescs$9 = Object.getOwnPropertyDescriptors;
var __getOwnPropSymbols$r = Object.getOwnPropertySymbols;
var __hasOwnProp$r = Object.prototype.hasOwnProperty;
var __propIsEnum$r = Object.prototype.propertyIsEnumerable;
var __defNormalProp$r = (obj, key3, value) => key3 in obj ? __defProp$r(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues$r = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$r.call(b, prop))
      __defNormalProp$r(a, prop, b[prop]);
  if (__getOwnPropSymbols$r)
    for (var prop of __getOwnPropSymbols$r(b)) {
      if (__propIsEnum$r.call(b, prop))
        __defNormalProp$r(a, prop, b[prop]);
    }
  return a;
};
var __spreadProps$9 = (a, b) => __defProps$9(a, __getOwnPropDescs$9(b));
var __async$h = (__this, __arguments, generator) => {
  return new Promise((resolve, reject) => {
    var fulfilled = (value) => {
      try {
        step(generator.next(value));
      } catch (e) {
        reject(e);
      }
    };
    var rejected = (value) => {
      try {
        step(generator.throw(value));
      } catch (e) {
        reject(e);
      }
    };
    var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
    step((generator = generator.apply(__this, __arguments)).next());
  });
};
function usePopover(options) {
  const host = vue.ref(null);
  const popover = vue.ref(null);
  const referenceSize = vue.ref({ width: 0, height: 0 });
  const show = useVModel(options, "show", {
    passive: true,
    defaultValue: false,
    emit(_event, value) {
      if (value) {
        call(options.onOpen);
      } else {
        call(options.onClose);
      }
    }
  });
  const { zIndex } = useZIndex(() => show.value, 1);
  useStack(() => show.value, zIndex);
  let popoverInstance = null;
  let reference2 = void 0;
  let enterPopover = false;
  let enterReference = false;
  let allowClose = true;
  useEventListener(() => window, "keydown", handleKeydown);
  vue.watch(() => [options.offsetX, options.offsetY, options.placement, options.strategy], resize);
  vue.watch(() => options.disabled, close);
  vue.watch(
    () => show.value,
    (newValue) => {
      if (newValue) {
        resize();
      }
    }
  );
  onWindowResize(resize);
  vue.onMounted(createPopperInstance);
  vue.onUnmounted(destroyPopperInstance);
  function createPopperInstance() {
    const reference22 = getReference();
    popoverInstance = createPopper(reference22, popover.value, getPopperOptions());
    reference22.addEventListener("mouseenter", handleReferenceMouseenter);
    reference22.addEventListener("mouseleave", handleReferenceMouseleave);
    reference22.addEventListener("click", handleReferenceClick);
    document.addEventListener("click", handleClickOutside);
  }
  function destroyPopperInstance() {
    const reference22 = getReference();
    if (reference22) {
      reference22.removeEventListener("mouseenter", handleReferenceMouseenter);
      reference22.removeEventListener("mouseleave", handleReferenceMouseleave);
      reference22.removeEventListener("click", handleReferenceClick);
    }
    popoverInstance.destroy();
    document.removeEventListener("click", handleClickOutside);
  }
  function computeReferenceSize() {
    const reference22 = getReference();
    if (!reference22) {
      return;
    }
    const { width, height } = getStyle$1(reference22);
    referenceSize.value = {
      width: toPxNum(width),
      height: toPxNum(height)
    };
  }
  function getTransformOrigin() {
    switch (options.placement) {
      case "top":
      case "cover-bottom":
        return "bottom";
      case "top-start":
      case "right-end":
      case "cover-bottom-start":
        return "bottom left";
      case "top-end":
      case "left-end":
      case "cover-bottom-end":
        return "bottom right";
      case "bottom":
      case "cover-top":
        return "top";
      case "bottom-start":
      case "right-start":
      case "cover-top-start":
        return "top left";
      case "bottom-end":
      case "left-start":
      case "cover-top-end":
        return "top right";
      case "left":
      case "cover-right":
        return "right";
      case "right":
      case "cover-left":
        return "left";
    }
  }
  function handleReferenceMouseenter() {
    if (options.trigger !== "hover") {
      return;
    }
    enterReference = true;
    open();
  }
  function handleReferenceMouseleave() {
    return __async$h(this, null, function* () {
      if (options.trigger !== "hover") {
        return;
      }
      enterReference = false;
      yield doubleRaf();
      if (enterPopover) {
        return;
      }
      close();
    });
  }
  function handlePopoverMouseenter() {
    if (options.trigger !== "hover") {
      return;
    }
    enterPopover = true;
    if (options.cascadeOptimization) {
      allowClose = false;
    }
  }
  function handlePopoverMouseleave() {
    return __async$h(this, null, function* () {
      if (options.trigger !== "hover") {
        return;
      }
      enterPopover = false;
      yield doubleRaf();
      if (enterReference) {
        return;
      }
      close();
    });
  }
  function handleReferenceClick() {
    if (options.trigger !== "click") {
      return;
    }
    if (options.closeOnClickReference && show.value) {
      close();
      return;
    }
    open();
  }
  function handleClickOutside(e) {
    const reference22 = getReference();
    if (reference22 && !reference22.contains(e.target)) {
      if (options.trigger !== "click") {
        return;
      }
      handlePopoverClose();
      call(options.onClickOutside, e);
    }
  }
  function handlePopoverClose() {
    close();
  }
  function handleClosed() {
    resize();
    call(options.onClosed);
  }
  function getPosition() {
    const { offsetX, offsetY, placement } = options;
    computeReferenceSize();
    const offset2 = {
      x: toPxNum(offsetX),
      y: toPxNum(offsetY)
    };
    switch (placement) {
      case "cover-top":
        return {
          placement: "bottom",
          skidding: offset2.x,
          distance: offset2.y - referenceSize.value.height
        };
      case "cover-top-start":
        return {
          placement: "bottom-start",
          skidding: offset2.x,
          distance: offset2.y - referenceSize.value.height
        };
      case "cover-top-end":
        return {
          placement: "bottom-end",
          skidding: offset2.x,
          distance: offset2.y - referenceSize.value.height
        };
      case "cover-bottom":
        return {
          placement: "top",
          skidding: offset2.x,
          distance: -offset2.y - referenceSize.value.height
        };
      case "cover-bottom-start":
        return {
          placement: "top-start",
          skidding: offset2.x,
          distance: -offset2.y - referenceSize.value.height
        };
      case "cover-bottom-end":
        return {
          placement: "top-end",
          skidding: offset2.x,
          distance: -offset2.y - referenceSize.value.height
        };
      case "cover-left":
        return {
          placement: "right",
          skidding: offset2.y,
          distance: offset2.x - referenceSize.value.width
        };
      case "cover-right":
        return {
          placement: "left",
          skidding: offset2.y,
          distance: -offset2.x - referenceSize.value.width
        };
      case "left":
      case "left-start":
      case "left-end":
        return {
          placement,
          skidding: offset2.y,
          distance: -offset2.x
        };
      case "top":
      case "top-start":
      case "top-end":
        return {
          placement,
          skidding: offset2.x,
          distance: -offset2.y
        };
      case "bottom":
      case "bottom-start":
      case "bottom-end":
        return {
          placement,
          skidding: offset2.x,
          distance: offset2.y
        };
      case "right":
      case "right-start":
      case "right-end":
        return {
          placement,
          skidding: offset2.y,
          distance: offset2.x
        };
    }
  }
  function getPopperOptions() {
    const { placement, skidding, distance } = getPosition();
    const modifiers = [
      __spreadProps$9(__spreadValues$r({}, flip$1), {
        enabled: show.value
      }),
      __spreadProps$9(__spreadValues$r({}, offset$1), {
        options: {
          offset: [skidding, distance]
        }
      }),
      __spreadProps$9(__spreadValues$r({}, computeStyles$1), {
        options: {
          adaptive: false,
          gpuAcceleration: false
        },
        enabled: show.value
      }),
      {
        name: "applyTransformOrigin",
        enabled: show.value,
        phase: "beforeWrite",
        fn({ state }) {
          state.styles.popper.transformOrigin = getTransformOrigin();
        }
      }
    ];
    return {
      placement,
      modifiers,
      strategy: options.strategy
    };
  }
  function getReference() {
    var _a, _b;
    const targetReference = (_a = reference2 != null ? reference2 : options.reference) != null ? _a : host.value;
    if (isString(targetReference)) {
      return (_b = host.value) == null ? void 0 : _b.querySelector(targetReference);
    }
    return targetReference;
  }
  function setAllowClose(value) {
    allowClose = value;
  }
  function setReference(newReference) {
    destroyPopperInstance();
    reference2 = newReference;
    createPopperInstance();
  }
  function handleKeydown(event) {
    const { closeOnKeyEscape = false } = options;
    if (event.key === "Escape" && closeOnKeyEscape && show.value) {
      preventDefault(event);
      close();
    }
  }
  function resize() {
    popoverInstance.setOptions(getPopperOptions());
  }
  function open() {
    if (options.disabled) {
      return;
    }
    show.value = true;
    call(options["onUpdate:show"], true);
  }
  function close() {
    if (!allowClose) {
      return;
    }
    show.value = false;
    call(options["onUpdate:show"], false);
  }
  return {
    show,
    popover,
    zIndex,
    host,
    referenceSize,
    handlePopoverClose,
    handlePopoverMouseenter,
    handlePopoverMouseleave,
    handleClosed,
    setReference,
    setAllowClose,
    resize,
    open,
    close
  };
}
const { name: name$1d, n: n$1k, classes: classes$11 } = createNamespace("menu");
function __render__$1i(_ctx, _cache) {
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      ref: "host",
      class: vue.normalizeClass(_ctx.classes(_ctx.n(), _ctx.n("$--box")))
    },
    [
      vue.renderSlot(_ctx.$slots, "default"),
      (vue.openBlock(), vue.createBlock(vue.Teleport, {
        to: _ctx.teleport === false ? void 0 : _ctx.teleport,
        disabled: _ctx.teleportDisabled || _ctx.teleport === false
      }, [
        vue.createVNode(vue.Transition, {
          name: _ctx.n(),
          onAfterEnter: _ctx.onOpened,
          onAfterLeave: _ctx.handleClosed,
          persisted: ""
        }, {
          default: vue.withCtx(() => [
            vue.withDirectives(vue.createElementVNode(
              "div",
              {
                ref: "popover",
                style: vue.normalizeStyle({
                  zIndex: _ctx.zIndex,
                  width: _ctx.sameWidth ? _ctx.toSizeUnit(Math.ceil(_ctx.referenceSize.width)) : void 0
                }),
                class: vue.normalizeClass(
                  _ctx.classes(
                    _ctx.n("menu"),
                    _ctx.n("$--box"),
                    _ctx.popoverClass,
                    [_ctx.defaultStyle, _ctx.n("--menu-background-color")],
                    [_ctx.defaultStyle, _ctx.formatElevation(_ctx.elevation, 3)]
                  )
                ),
                onClick: _cache[0] || (_cache[0] = vue.withModifiers(() => {
                }, ["stop"])),
                onMouseenter: _cache[1] || (_cache[1] = (...args) => _ctx.handlePopoverMouseenter && _ctx.handlePopoverMouseenter(...args)),
                onMouseleave: _cache[2] || (_cache[2] = (...args) => _ctx.handlePopoverMouseleave && _ctx.handlePopoverMouseleave(...args))
              },
              [
                vue.renderSlot(_ctx.$slots, "menu")
              ],
              38
              /* CLASS, STYLE, NEED_HYDRATION */
            ), [
              [vue.vShow, _ctx.show]
            ])
          ]),
          _: 3
          /* FORWARDED */
        }, 8, ["name", "onAfterEnter", "onAfterLeave"])
      ], 8, ["to", "disabled"]))
    ],
    2
    /* CLASS */
  );
}
const __sfc__$1l = vue.defineComponent({
  name: name$1d,
  props: props$1b,
  setup(props2) {
    const { disabled: teleportDisabled } = useTeleport();
    const {
      popover,
      host,
      referenceSize,
      show,
      zIndex,
      handlePopoverMouseenter,
      handlePopoverMouseleave,
      handlePopoverClose,
      handleClosed,
      setAllowClose,
      // expose
      open,
      // expose
      close,
      // expose
      resize,
      // expose
      setReference
    } = usePopover(props2);
    function allowClose() {
      setAllowClose(true);
    }
    return {
      popover,
      host,
      referenceSize,
      show,
      zIndex,
      teleportDisabled,
      allowClose,
      formatElevation,
      toSizeUnit,
      n: n$1k,
      classes: classes$11,
      handlePopoverMouseenter,
      handlePopoverMouseleave,
      handlePopoverClose,
      handleClosed,
      resize,
      open,
      close,
      setReference
    };
  }
});
__sfc__$1l.render = __render__$1i;
var stdin_default$5N = __sfc__$1l;
withInstall(stdin_default$5N);
withPropsDefaultsSetter(stdin_default$5N, props$1b);
const _MenuComponent = stdin_default$5N;
var stdin_default$5M = stdin_default$5N;
function useSelectController(options) {
  const {
    multiple: multipleGetter,
    modelValue: modelValueGetter,
    optionProviders: optionProvidersGetter,
    optionProvidersLength: optionProvidersLengthGetter,
    optionIsIndeterminate
  } = options;
  const label = vue.ref("");
  const labels = vue.ref([]);
  vue.watch(modelValueGetter, syncOptions, { deep: true });
  vue.watch(optionProvidersLengthGetter, syncOptions);
  function computeLabel() {
    const multiple = multipleGetter();
    const modelValue = modelValueGetter();
    if (multiple) {
      labels.value = modelValue.map(findLabel);
    }
    if (!multiple && !isEmpty(modelValue)) {
      label.value = findLabel(modelValue);
    }
    if (!multiple && isEmpty(modelValue)) {
      label.value = "";
    }
  }
  function findLabel(targetValue) {
    var _a;
    const options2 = optionProvidersGetter();
    let option = options2.find(({ value }) => value.value === targetValue);
    if (!option) {
      option = options2.find(({ label: label2 }) => label2.value === targetValue);
    }
    return (_a = option == null ? void 0 : option.label.value) != null ? _a : "";
  }
  function getOptionProviderKey({ value, label: label2 }) {
    var _a;
    return (_a = value.value) != null ? _a : label2.value;
  }
  function getSelectedValue(option) {
    const multiple = multipleGetter();
    const options2 = optionProvidersGetter();
    return multiple ? options2.filter(({ selected }) => selected.value).map(getOptionProviderKey) : getOptionProviderKey(option);
  }
  function syncOptions() {
    const multiple = multipleGetter();
    const modelValue = modelValueGetter();
    const options2 = optionProvidersGetter();
    if (multiple) {
      options2.forEach(
        (option) => option.sync(
          modelValue.includes(getOptionProviderKey(option)),
          optionIsIndeterminate ? optionIsIndeterminate(option) : void 0
        )
      );
    } else {
      options2.forEach((option) => option.sync(modelValue === getOptionProviderKey(option)));
    }
    computeLabel();
  }
  return {
    label,
    labels,
    getOptionProviderKey,
    computeLabel,
    getSelectedValue
  };
}
var __defProp$q = Object.defineProperty;
var __defProps$8 = Object.defineProperties;
var __getOwnPropDescs$8 = Object.getOwnPropertyDescriptors;
var __getOwnPropSymbols$q = Object.getOwnPropertySymbols;
var __hasOwnProp$q = Object.prototype.hasOwnProperty;
var __propIsEnum$q = Object.prototype.propertyIsEnumerable;
var __defNormalProp$q = (obj, key3, value) => key3 in obj ? __defProp$q(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues$q = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$q.call(b, prop))
      __defNormalProp$q(a, prop, b[prop]);
  if (__getOwnPropSymbols$q)
    for (var prop of __getOwnPropSymbols$q(b)) {
      if (__propIsEnum$q.call(b, prop))
        __defNormalProp$q(a, prop, b[prop]);
    }
  return a;
};
var __spreadProps$8 = (a, b) => __defProps$8(a, __getOwnPropDescs$8(b));
const props$1a = __spreadProps$8(__spreadValues$q({
  modelValue: {
    type: [String, Number, Boolean, Array],
    default: void 0
  },
  options: {
    type: Array,
    default: () => []
  },
  labelKey: {
    type: String,
    default: "label"
  },
  valueKey: {
    type: String,
    default: "value"
  },
  childrenKey: {
    type: String,
    default: "children"
  },
  size: {
    type: String,
    default: "normal"
  },
  multiple: Boolean,
  scrollable: Boolean,
  closeOnSelect: {
    type: Boolean,
    default: true
  },
  "onUpdate:modelValue": defineListenerProp(),
  onSelect: defineListenerProp()
}, pickProps(props$1b, [
  "show",
  "disabled",
  "trigger",
  "reference",
  "placement",
  "strategy",
  "offsetX",
  "offsetY",
  "teleport",
  "sameWidth",
  "elevation",
  "popoverClass",
  "closeOnClickReference",
  "onOpen",
  "onOpened",
  "onClose",
  "onClosed",
  "onClickOutside",
  "onUpdate:show"
])), {
  // internal start
  onKeyEscape: defineListenerProp()
  // internal end
});
var __defProp$p = Object.defineProperty;
var __getOwnPropSymbols$p = Object.getOwnPropertySymbols;
var __hasOwnProp$p = Object.prototype.hasOwnProperty;
var __propIsEnum$p = Object.prototype.propertyIsEnumerable;
var __defNormalProp$p = (obj, key3, value) => key3 in obj ? __defProp$p(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues$p = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$p.call(b, prop))
      __defNormalProp$p(a, prop, b[prop]);
  if (__getOwnPropSymbols$p)
    for (var prop of __getOwnPropSymbols$p(b)) {
      if (__propIsEnum$p.call(b, prop))
        __defNormalProp$p(a, prop, b[prop]);
    }
  return a;
};
var __async$g = (__this, __arguments, generator) => {
  return new Promise((resolve, reject) => {
    var fulfilled = (value) => {
      try {
        step(generator.next(value));
      } catch (e) {
        reject(e);
      }
    };
    var rejected = (value) => {
      try {
        step(generator.throw(value));
      } catch (e) {
        reject(e);
      }
    };
    var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
    step((generator = generator.apply(__this, __arguments)).next());
  });
};
const { name: name$1c, n: n$1j } = createNamespace("menu-children");
const _hoisted_1$x = { ref: "menuOptions" };
function __render__$1h(_ctx, _cache) {
  const _component_var_menu_option = vue.resolveComponent("var-menu-option");
  const _component_var_menu_children = vue.resolveComponent("var-menu-children");
  const _component_var_menu = vue.resolveComponent("var-menu");
  return vue.openBlock(), vue.createBlock(_component_var_menu, {
    ref: "menu",
    show: _ctx.show,
    "onUpdate:show": _cache[1] || (_cache[1] = ($event) => _ctx.show = $event),
    trigger: "hover",
    placement: "right-start",
    "cascade-optimization": "",
    "var-menu-children-cover": "",
    class: vue.normalizeClass(_ctx.n()),
    disabled: _ctx.disabled,
    teleport: false,
    "close-on-click-reference": false
  }, vue.createSlots({
    default: vue.withCtx(() => [
      vue.createVNode(_component_var_menu_option, {
        ref: "trigger",
        "children-trigger": "",
        label: _ctx.option[_ctx.labelKey],
        value: _ctx.option[_ctx.valueKey],
        option: _ctx.option,
        ripple: _ctx.option.ripple,
        disabled: _ctx.option.disabled,
        highlight: _ctx.highlightOptions.some((_option) => _option.value === _ctx.option.value),
        onKeyArrowX: _ctx.handleArrowRight,
        onMouseenter: _ctx.handleMouseenter
      }, null, 8, ["label", "value", "option", "ripple", "disabled", "highlight", "onKeyArrowX", "onMouseenter"])
    ]),
    _: 2
    /* DYNAMIC */
  }, [
    _ctx.options.length ? {
      name: "menu",
      fn: vue.withCtx(() => [
        vue.createElementVNode(
          "div",
          _hoisted_1$x,
          [
            (vue.openBlock(true), vue.createElementBlock(
              vue.Fragment,
              null,
              vue.renderList(_ctx.options, (menuOption) => {
                return vue.openBlock(), vue.createElementBlock(
                  vue.Fragment,
                  {
                    key: menuOption[_ctx.valueKey]
                  },
                  [
                    menuOption[_ctx.childrenKey] ? (vue.openBlock(), vue.createBlock(_component_var_menu_children, {
                      key: 0,
                      ref_for: true,
                      ref: "menuChildren",
                      "parent-show": _ctx.show,
                      option: menuOption,
                      options: menuOption[_ctx.childrenKey],
                      "highlight-options": _ctx.highlightOptions,
                      disabled: menuOption.disabled,
                      onKeyArrowX: _ctx.handleArrowLeft,
                      onKeyArrowRightOpen: ($event) => _ctx.allowChildrenClose(menuOption),
                      onMouseenter: ($event) => _ctx.allowChildrenClose(menuOption)
                    }, null, 8, ["parent-show", "option", "options", "highlight-options", "disabled", "onKeyArrowX", "onKeyArrowRightOpen", "onMouseenter"])) : (vue.openBlock(), vue.createBlock(_component_var_menu_option, {
                      key: 1,
                      label: menuOption[_ctx.labelKey],
                      value: menuOption[_ctx.valueKey],
                      option: menuOption,
                      ripple: menuOption.ripple,
                      disabled: menuOption.disabled,
                      onKeyArrowX: _ctx.handleArrowLeft,
                      onMouseenter: _cache[0] || (_cache[0] = ($event) => _ctx.allowChildrenClose())
                    }, null, 8, ["label", "value", "option", "ripple", "disabled", "onKeyArrowX"]))
                  ],
                  64
                  /* STABLE_FRAGMENT */
                );
              }),
              128
              /* KEYED_FRAGMENT */
            ))
          ],
          512
          /* NEED_PATCH */
        )
      ]),
      key: "0"
    } : void 0
  ]), 1032, ["show", "class", "disabled"]);
}
const __sfc__$1k = vue.defineComponent({
  name: name$1c,
  components: {
    VarMenu: stdin_default$5N,
    VarMenuOption: stdin_default$5P
  },
  props: __spreadValues$p({
    parentShow: Boolean,
    disabled: Boolean,
    option: {
      type: Object,
      required: true
    },
    highlightOptions: pickProps(props$1a, "options"),
    onKeyArrowX: defineListenerProp(),
    onKeyArrowRightOpen: defineListenerProp(),
    onMouseenter: defineListenerProp()
  }, pickProps(props$1a, ["options", "valueKey", "labelKey", "childrenKey"])),
  setup(props2) {
    const show = vue.ref(false);
    const menu = vue.ref();
    const trigger = vue.ref();
    const menuOptions = vue.ref();
    const menuChildren = vue.ref();
    vue.watch(
      () => props2.parentShow,
      (value) => {
        if (!value) {
          show.value = false;
        }
      },
      { immediate: true }
    );
    function handleArrowRight(key3) {
      return __async$g(this, null, function* () {
        var _a;
        call(props2.onKeyArrowX, key3);
        if (key3 !== "ArrowRight") {
          return;
        }
        call(props2.onKeyArrowRightOpen);
        (_a = menu.value) == null ? void 0 : _a.open();
        yield raf();
        focusChildElementByKey(menu.value.$el, menuOptions.value, "ArrowDown");
      });
    }
    function handleArrowLeft(key3) {
      var _a;
      if (key3 !== "ArrowLeft") {
        return;
      }
      allowClose();
      close();
      (_a = trigger.value) == null ? void 0 : _a.$el.focus();
    }
    function close() {
      var _a;
      (_a = menu.value) == null ? void 0 : _a.close();
    }
    function allowClose() {
      var _a;
      (_a = menu.value) == null ? void 0 : _a.allowClose();
    }
    function allowChildrenClose(option) {
      var _a;
      (_a = menuChildren.value) == null ? void 0 : _a.forEach((child) => {
        child.allowClose();
        if (option == null) {
          child.close();
          return;
        }
        if (child.option.value === option.value) {
          return;
        }
        child.close();
      });
    }
    function handleMouseenter() {
      call(props2.onMouseenter);
    }
    return {
      show,
      menu,
      trigger,
      menuOptions,
      menuChildren,
      n: n$1j,
      close,
      handleArrowLeft,
      handleArrowRight,
      handleMouseenter,
      allowClose,
      allowChildrenClose
    };
  }
});
__sfc__$1k.render = __render__$1h;
var stdin_default$5L = __sfc__$1k;
var __defProp$o = Object.defineProperty;
var __defProps$7 = Object.defineProperties;
var __getOwnPropDescs$7 = Object.getOwnPropertyDescriptors;
var __getOwnPropSymbols$o = Object.getOwnPropertySymbols;
var __hasOwnProp$o = Object.prototype.hasOwnProperty;
var __propIsEnum$o = Object.prototype.propertyIsEnumerable;
var __defNormalProp$o = (obj, key3, value) => key3 in obj ? __defProp$o(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues$o = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$o.call(b, prop))
      __defNormalProp$o(a, prop, b[prop]);
  if (__getOwnPropSymbols$o)
    for (var prop of __getOwnPropSymbols$o(b)) {
      if (__propIsEnum$o.call(b, prop))
        __defNormalProp$o(a, prop, b[prop]);
    }
  return a;
};
var __spreadProps$7 = (a, b) => __defProps$7(a, __getOwnPropDescs$7(b));
const { name: name$1b, n: n$1i, classes: classes$10 } = createNamespace("menu-select");
function __render__$1g(_ctx, _cache) {
  const _component_var_menu_children = vue.resolveComponent("var-menu-children");
  const _component_var_menu_option = vue.resolveComponent("var-menu-option");
  const _component_var_menu = vue.resolveComponent("var-menu");
  return vue.openBlock(), vue.createBlock(_component_var_menu, {
    ref: "menu",
    show: _ctx.show,
    "onUpdate:show": _cache[1] || (_cache[1] = ($event) => _ctx.show = $event),
    tabindex: "-1",
    class: vue.normalizeClass(_ctx.n()),
    disabled: _ctx.disabled,
    trigger: _ctx.trigger,
    reference: _ctx.reference,
    placement: _ctx.placement,
    strategy: _ctx.strategy,
    "offset-x": _ctx.offsetX,
    "offset-y": _ctx.offsetY,
    teleport: _ctx.teleport,
    "same-width": _ctx.sameWidth,
    elevation: _ctx.elevation,
    "default-style": false,
    "popover-class": _ctx.popoverClass,
    "close-on-click-reference": _ctx.closeOnClickReference,
    "close-on-key-escape": false,
    onOpen: _ctx.onOpen,
    onOpened: _ctx.onOpened,
    onClose: _ctx.onClose,
    onClosed: _ctx.onClosed,
    onClickOutside: _ctx.onClickOutside
  }, {
    menu: vue.withCtx(() => [
      vue.createElementVNode(
        "div",
        {
          ref: "menuOptionsRef",
          class: vue.normalizeClass(_ctx.classes(_ctx.n("menu"), _ctx.formatElevation(_ctx.elevation, 3), [_ctx.scrollable, _ctx.n("--scrollable")]))
        },
        [
          (vue.openBlock(true), vue.createElementBlock(
            vue.Fragment,
            null,
            vue.renderList(_ctx.options, (option) => {
              return vue.openBlock(), vue.createElementBlock(
                vue.Fragment,
                {
                  key: option[_ctx.valueKey]
                },
                [
                  option[_ctx.childrenKey] ? (vue.openBlock(), vue.createBlock(_component_var_menu_children, {
                    key: 0,
                    ref_for: true,
                    ref: "menuChildren",
                    "parent-show": _ctx.show,
                    option,
                    options: option[_ctx.childrenKey],
                    "highlight-options": _ctx.highlightOptions,
                    disabled: option.disabled,
                    onKeyArrowRightOpen: ($event) => _ctx.allowChildrenClose(option),
                    onMouseenter: ($event) => _ctx.allowChildrenClose(option)
                  }, null, 8, ["parent-show", "option", "options", "highlight-options", "disabled", "onKeyArrowRightOpen", "onMouseenter"])) : (vue.openBlock(), vue.createBlock(_component_var_menu_option, {
                    key: 1,
                    label: option[_ctx.labelKey],
                    value: option[_ctx.valueKey],
                    option,
                    ripple: option.ripple,
                    disabled: option.disabled,
                    onMouseenter: _cache[0] || (_cache[0] = ($event) => _ctx.allowChildrenClose())
                  }, null, 8, ["label", "value", "option", "ripple", "disabled"]))
                ],
                64
                /* STABLE_FRAGMENT */
              );
            }),
            128
            /* KEYED_FRAGMENT */
          )),
          vue.renderSlot(_ctx.$slots, "options")
        ],
        2
        /* CLASS */
      )
    ]),
    default: vue.withCtx(() => [
      vue.renderSlot(_ctx.$slots, "default")
    ]),
    _: 3
    /* FORWARDED */
  }, 8, ["show", "class", "disabled", "trigger", "reference", "placement", "strategy", "offset-x", "offset-y", "teleport", "same-width", "elevation", "popover-class", "close-on-click-reference", "onOpen", "onOpened", "onClose", "onClosed", "onClickOutside"]);
}
const __sfc__$1j = vue.defineComponent({
  name: name$1b,
  components: { VarMenu: stdin_default$5M, VarMenuOption: stdin_default$5O, VarMenuChildren: stdin_default$5L },
  props: props$1a,
  setup(props2) {
    const show = useVModel(props2, "show");
    const menu = vue.ref();
    const menuOptionsRef = vue.ref();
    const menuChildren = vue.ref();
    const enhancedOptions = vue.computed(() => enhance(props2.options));
    const { menuOptions, length, bindMenuOptions } = useMenuOptions();
    const { computeLabel, getSelectedValue, getOptionProviderKey } = useSelectController({
      modelValue: () => props2.modelValue,
      multiple: () => props2.multiple,
      optionProviders: () => menuOptions,
      optionProvidersLength: () => length.value,
      optionIsIndeterminate(optionProvider) {
        var _a;
        const enhancedOption = getEnhancedOption(optionProvider.value.value);
        if (!enhancedOption) {
          return false;
        }
        const children = ((_a = enhancedOption._children) != null ? _a : []).filter((option) => !option.disabled);
        const selectedChildren = children.filter((option) => props2.modelValue.includes(option.value));
        return selectedChildren.length > 0 && selectedChildren.length < children.length;
      }
    });
    const highlightOptions = vue.computed(() => {
      const { multiple, modelValue } = props2;
      if (multiple) {
        return [];
      }
      const selectedOption = enhancedOptions.value.find((option) => option.value === modelValue);
      const highlightOptions2 = [];
      let parent = selectedOption == null ? void 0 : selectedOption._parent;
      while (parent) {
        highlightOptions2.push(parent);
        parent = parent._parent;
      }
      return highlightOptions2;
    });
    const menuSelectProvider = {
      size: vue.computed(() => props2.size),
      multiple: vue.computed(() => props2.multiple),
      computeLabel,
      onSelect
    };
    bindMenuOptions(menuSelectProvider);
    useEventListener(() => window, "keydown", handleKeydown);
    function getEnhancedOption(value) {
      return enhancedOptions.value.find((option) => option.value === value);
    }
    function getOptionProvider(value) {
      return menuOptions.find((optionProvider) => optionProvider.value.value === value);
    }
    function getOptionChildren(option) {
      return option[props2.childrenKey];
    }
    function flatten(options) {
      const flattenOptions = [];
      baseFlatten(options);
      function baseFlatten(options2) {
        options2.forEach((option) => {
          flattenOptions.push(option);
          const children = getOptionChildren(option);
          if (children) {
            baseFlatten(children);
          }
        });
      }
      return flattenOptions;
    }
    function enhance(options) {
      function baseEnhance(options2, parent) {
        return options2.map((option) => {
          option = __spreadProps$7(__spreadValues$o({}, option), { _rawOption: option });
          if (parent) {
            option._parent = parent;
          }
          const children = getOptionChildren(option);
          if (children) {
            const enhancedChildren = baseEnhance(children, option);
            option[props2.childrenKey] = enhancedChildren;
            option._children = flatten(enhancedChildren);
          }
          return option;
        });
      }
      return flatten(baseEnhance(options));
    }
    function onSelect(optionProvider) {
      var _a, _b;
      const { multiple, closeOnSelect } = props2;
      const { value, label, selected, disabled, ripple } = optionProvider;
      const enhancedOption = getEnhancedOption(value.value);
      if (enhancedOption) {
        const childrenValues = ((_a = enhancedOption._children) != null ? _a : []).filter((option) => !option.disabled).map((option) => option.value);
        if (multiple && selected.value) {
          menuOptions.forEach((optionProvider2) => {
            if (childrenValues.includes(optionProvider2.value.value)) {
              optionProvider2.sync(true, false);
            }
          });
          broadcastParentOption(enhancedOption);
        }
        if (multiple && !selected.value) {
          menuOptions.forEach((optionProvider2) => {
            if (childrenValues.includes(optionProvider2.value.value)) {
              optionProvider2.sync(false, false);
            }
          });
          broadcastParentOption(enhancedOption);
        }
      }
      const selectedValue = getSelectedValue(optionProvider);
      const selectedOption = (_b = enhancedOption == null ? void 0 : enhancedOption._rawOption) != null ? _b : {
        value: value.value,
        label: label.value,
        disabled: disabled.value,
        ripple: ripple.value
      };
      call(props2.onSelect, getOptionProviderKey(optionProvider), selectedOption);
      call(props2["onUpdate:modelValue"], selectedValue);
      if (!multiple && closeOnSelect) {
        menu.value.$el.focus();
        close();
      }
    }
    function broadcastParentOption(enhancedOption) {
      let parentOption = enhancedOption._parent;
      while (parentOption) {
        const parentOptionProvider = getOptionProvider(parentOption.value);
        const parentOptionChildren = getOptionChildren(parentOption).filter((option) => !option.disabled);
        const isAllChildrenUnselected = parentOptionChildren.every((option) => {
          const optionProvider = getOptionProvider(option.value);
          return !optionProvider.selected.value;
        });
        const isAllChildrenSelected = parentOptionChildren.every((option) => {
          const optionProvider = getOptionProvider(option.value);
          return optionProvider.selected.value;
        });
        if (isAllChildrenUnselected) {
          parentOptionProvider.sync(false, false);
        } else if (isAllChildrenSelected) {
          parentOptionProvider.sync(true, false);
        } else {
          parentOptionProvider.sync(false, true);
        }
        parentOption = parentOption._parent;
      }
    }
    function handleKeydown(event) {
      if (props2.disabled || !show.value) {
        return;
      }
      const { key: key3 } = event;
      if (["Escape", "ArrowDown", "ArrowUp"].includes(key3)) {
        preventDefault(event);
      }
      if (key3 === "Escape") {
        menu.value.$el.focus();
        close();
        call(props2.onKeyEscape);
        return;
      }
      if (key3 === "ArrowDown" || key3 === "ArrowUp") {
        focusChildElementByKey(
          menu.value.$el,
          menuOptionsRef.value,
          key3,
          (activeElement, nextActiveElement, isActiveInReferenceElements) => {
            if (isActiveInReferenceElements) {
              return true;
            }
            return getActiveElementParent(activeElement) === getActiveElementParent(nextActiveElement);
          }
        );
      }
    }
    function getActiveElementParent(activeElement) {
      var _a, _b, _c;
      if (activeElement.classList.contains("var-menu-option--children-trigger")) {
        return (_a = activeElement.parentNode) == null ? void 0 : _a.parentNode;
      }
      if (activeElement.classList.contains("var-checkbox__action")) {
        const optionElement = (_c = (_b = activeElement.parentNode) == null ? void 0 : _b.parentNode) == null ? void 0 : _c.parentNode;
        if (optionElement) {
          return getActiveElementParent(optionElement);
        }
      }
      return activeElement.parentNode;
    }
    function allowChildrenClose(option) {
      var _a;
      (_a = menuChildren.value) == null ? void 0 : _a.forEach((child) => {
        child.allowClose();
        if (option == null) {
          child.close();
          return;
        }
        if (child.option.value === option.value) {
          return;
        }
        child.close();
      });
    }
    function open() {
      var _a;
      (_a = menu.value) == null ? void 0 : _a.open();
    }
    function close() {
      var _a;
      (_a = menu.value) == null ? void 0 : _a.close();
    }
    function resize() {
      var _a;
      (_a = menu.value) == null ? void 0 : _a.resize();
    }
    function setReference(reference2) {
      var _a;
      (_a = menu.value) == null ? void 0 : _a.setReference(reference2);
    }
    return {
      show,
      menu,
      menuOptionsRef,
      menuChildren,
      highlightOptions,
      n: n$1i,
      classes: classes$10,
      allowChildrenClose,
      formatElevation,
      open,
      close,
      resize,
      setReference
    };
  }
});
__sfc__$1j.render = __render__$1g;
var stdin_default$5K = __sfc__$1j;
withInstall(stdin_default$5K);
withPropsDefaultsSetter(stdin_default$5K, props$1a);
const _MenuSelectComponent = stdin_default$5K;
var stdin_default$5J = stdin_default$5K;
var __defProp$n = Object.defineProperty;
var __getOwnPropSymbols$n = Object.getOwnPropertySymbols;
var __hasOwnProp$n = Object.prototype.hasOwnProperty;
var __propIsEnum$n = Object.prototype.propertyIsEnumerable;
var __defNormalProp$n = (obj, key3, value) => key3 in obj ? __defProp$n(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues$n = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$n.call(b, prop))
      __defNormalProp$n(a, prop, b[prop]);
  if (__getOwnPropSymbols$n)
    for (var prop of __getOwnPropSymbols$n(b)) {
      if (__propIsEnum$n.call(b, prop))
        __defNormalProp$n(a, prop, b[prop]);
    }
  return a;
};
const props$19 = __spreadValues$n({
  modelValue: String,
  options: {
    type: Array,
    default: () => []
  },
  labelKey: {
    type: String,
    default: "label"
  },
  valueKey: {
    type: String,
    default: "value"
  },
  maxlength: [String, Number],
  readonly: Boolean,
  disabled: Boolean,
  validateTrigger: {
    type: Array,
    default: () => ["onInput", "onClear", "onChange"]
  },
  getShow: Function,
  rules: [Array, Function, Object],
  onFocus: defineListenerProp(),
  onBlur: defineListenerProp(),
  onInput: defineListenerProp(),
  onChange: defineListenerProp(),
  onClear: defineListenerProp(),
  onClick: defineListenerProp(),
  "onUpdate:modelValue": defineListenerProp()
}, pickProps(props$1e, [
  "size",
  "variant",
  "placeholder",
  "enterkeyhint",
  "line",
  "hint",
  "textColor",
  "focusColor",
  "blurColor",
  "clearable"
]));
var __async$f = (__this, __arguments, generator) => {
  return new Promise((resolve, reject) => {
    var fulfilled = (value) => {
      try {
        step(generator.next(value));
      } catch (e) {
        reject(e);
      }
    };
    var rejected = (value) => {
      try {
        step(generator.throw(value));
      } catch (e) {
        reject(e);
      }
    };
    var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
    step((generator = generator.apply(__this, __arguments)).next());
  });
};
const { name: name$1a, n: n$1h } = createNamespace("auto-complete");
const _hoisted_1$w = ["tabindex"];
function __render__$1f(_ctx, _cache) {
  const _component_var_input = vue.resolveComponent("var-input");
  const _component_var_menu_option = vue.resolveComponent("var-menu-option");
  const _component_var_menu_select = vue.resolveComponent("var-menu-select");
  const _component_var_form_details = vue.resolveComponent("var-form-details");
  return vue.openBlock(), vue.createElementBlock("div", {
    ref: "root",
    class: vue.normalizeClass(_ctx.n()),
    tabindex: _ctx.disabled || _ctx.formDisabled ? void 0 : "0",
    onFocusin: _cache[2] || (_cache[2] = (...args) => _ctx.focus && _ctx.focus(...args)),
    onClick: _cache[3] || (_cache[3] = (...args) => _ctx.handleClick && _ctx.handleClick(...args))
  }, [
    vue.createVNode(_component_var_menu_select, {
      show: _ctx.isShowMenuSelect,
      "onUpdate:show": _cache[1] || (_cache[1] = ($event) => _ctx.isShowMenuSelect = $event),
      "same-width": "",
      "auto-complete-cover": "",
      scrollable: "",
      trigger: "manual",
      placement: "bottom",
      disabled: _ctx.disabled || _ctx.formDisabled || _ctx.readonly || _ctx.formReadonly,
      class: vue.normalizeClass(_ctx.n("menu-select")),
      "popover-class": _ctx.variant === "standard" ? _ctx.n("--standard-menu-margin") : void 0,
      "onUpdate:modelValue": _ctx.handleAutoComplete,
      onKeyEscape: _ctx.handleKeyEscape
    }, {
      options: vue.withCtx(() => [
        vue.createElementVNode(
          "div",
          {
            class: vue.normalizeClass(_ctx.n("options"))
          },
          [
            (vue.openBlock(true), vue.createElementBlock(
              vue.Fragment,
              null,
              vue.renderList(_ctx.viewOptions, (option) => {
                return vue.openBlock(), vue.createBlock(_component_var_menu_option, {
                  key: option[_ctx.valueKey],
                  label: option[_ctx.labelKey],
                  value: option[_ctx.valueKey],
                  option,
                  disabled: option.disabled
                }, null, 8, ["label", "value", "option", "disabled"]);
              }),
              128
              /* KEYED_FRAGMENT */
            ))
          ],
          2
          /* CLASS */
        )
      ]),
      default: vue.withCtx(() => [
        vue.createVNode(_component_var_input, vue.mergeProps({ ref: "input" }, {
          maxlength: _ctx.maxlength,
          enterkeyhint: _ctx.enterkeyhint,
          placeholder: _ctx.placeholder,
          size: _ctx.size,
          variant: _ctx.variant,
          line: _ctx.line,
          hint: _ctx.hint,
          textColor: _ctx.textColor,
          focusColor: _ctx.focusColor,
          blurColor: _ctx.blurColor,
          readonly: _ctx.readonly,
          disabled: _ctx.disabled,
          clearable: _ctx.clearable
        }, {
          modelValue: _ctx.value,
          "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.value = $event),
          autocomplete: "off",
          "is-force-focusing-effect": _ctx.isFocusing,
          "is-force-error-effect": !!_ctx.errorMessage,
          "is-show-form-details": false,
          onInput: _ctx.handleInput,
          onBlur: _ctx.handleBlur,
          onClear: _ctx.handleClear,
          onChange: _ctx.handleChange
        }), vue.createSlots({
          _: 2
          /* DYNAMIC */
        }, [
          _ctx.$slots["prepend-icon"] ? {
            name: "prepend-icon",
            fn: vue.withCtx(() => [
              vue.renderSlot(_ctx.$slots, "prepend-icon")
            ]),
            key: "0"
          } : void 0,
          _ctx.$slots["append-icon"] ? {
            name: "append-icon",
            fn: vue.withCtx(() => [
              vue.renderSlot(_ctx.$slots, "append-icon")
            ]),
            key: "1"
          } : void 0,
          _ctx.$slots["clear-icon"] ? {
            name: "clear-icon",
            fn: vue.withCtx(({ clear: clear2 }) => [
              vue.renderSlot(_ctx.$slots, "clear-icon", { clear: clear2 })
            ]),
            key: "2"
          } : void 0,
          _ctx.$slots["extra-message"] ? {
            name: "extra-message",
            fn: vue.withCtx(() => [
              vue.renderSlot(_ctx.$slots, "extra-message")
            ]),
            key: "3"
          } : void 0
        ]), 1040, ["modelValue", "is-force-focusing-effect", "is-force-error-effect", "onInput", "onBlur", "onClear", "onChange"])
      ]),
      _: 3
      /* FORWARDED */
    }, 8, ["show", "disabled", "class", "popover-class", "onUpdate:modelValue", "onKeyEscape"]),
    vue.createVNode(_component_var_form_details, {
      "error-message": _ctx.errorMessage,
      "extra-message": _ctx.maxlengthText
    }, null, 8, ["error-message", "extra-message"])
  ], 42, _hoisted_1$w);
}
const __sfc__$1i = vue.defineComponent({
  name: name$1a,
  components: {
    VarInput: stdin_default$5S,
    VarMenuSelect: stdin_default$5J,
    VarMenuOption: stdin_default$5O,
    VarFormDetails: stdin_default$5W
  },
  props: props$19,
  setup(props2) {
    const root = vue.ref();
    const input = vue.ref();
    const isFocusing = vue.ref(false);
    const value = useVModel(props2, "modelValue");
    const viewOptions = vue.ref([]);
    const isShowMenuSelect = vue.ref(false);
    const maxlengthText = vue.computed(() => {
      const { maxlength } = props2;
      if (!maxlength) {
        return "";
      }
      if (isEmpty(value.value)) {
        return `0 / ${maxlength}`;
      }
      return `${String(value.value).length}/${maxlength}`;
    });
    const {
      errorMessage,
      validateWithTrigger: vt,
      validate: v,
      // expose
      resetValidation
    } = useValidation();
    const { bindForm, form } = useForm();
    let clearing = false;
    const autoCompleteProvider = {
      reset,
      resetValidation,
      validate
    };
    useClickOutside(
      () => root.value,
      "click",
      () => {
        if (clearing) {
          clearing = false;
          return;
        }
        blur();
      }
    );
    vue.watch(() => [props2.options, isFocusing.value], changeMenuState);
    call(bindForm, autoCompleteProvider);
    useEventListener(() => window, "keydown", handleKeydown);
    function reset() {
      call(props2["onUpdate:modelValue"], "");
      resetValidation();
    }
    function validate() {
      return v(props2.rules, props2.modelValue);
    }
    function focus() {
      if (isFocusing.value || props2.disabled || (form == null ? void 0 : form.disabled.value)) {
        return;
      }
      isFocusing.value = true;
      input.value.focus();
      call(props2.onFocus);
      validateWithTrigger("onFocus");
    }
    function blur() {
      if (!isFocusing.value) {
        return;
      }
      isFocusing.value = false;
      isShowMenuSelect.value = false;
      input.value.blur();
      call(props2.onBlur);
      validateWithTrigger("onBlur");
    }
    function handleBlur() {
      if (isShowMenuSelect.value) {
        return;
      }
      blur();
    }
    function validateWithTrigger(trigger) {
      vue.nextTick(() => {
        const { validateTrigger, rules, modelValue } = props2;
        vt(validateTrigger, trigger, rules, modelValue);
      });
    }
    function handleKeydown(event) {
      return __async$f(this, null, function* () {
        var _a;
        if ((form == null ? void 0 : form.disabled.value) || (form == null ? void 0 : form.readonly.value) || props2.disabled || props2.readonly || !isFocusing.value || !isShowMenuSelect.value) {
          return;
        }
        const { key: key3 } = event;
        if (key3 === "Tab") {
          preventDefault(event);
          root.value.focus();
          isShowMenuSelect.value = false;
          return;
        }
        if (!["ArrowUp", "ArrowDown", "Enter"].includes(key3)) {
          input.value.focus();
          return;
        }
        if (key3 === "Enter") {
          yield raf();
          (_a = input.value) == null ? void 0 : _a.focus();
        }
      });
    }
    function changeMenuState() {
      if (isFocusing.value) {
        isShowMenuSelect.value = getShowMenuSelect(value.value);
      }
      if (isShowMenuSelect.value) {
        viewOptions.value = props2.options;
      }
    }
    function handleInput(newValue, event) {
      changeMenuState();
      call(props2.onInput, newValue, event);
      validateWithTrigger("onInput");
    }
    function handleClear() {
      clearing = true;
      changeMenuState();
      call(props2.onClear, value.value);
      validateWithTrigger("onClear");
    }
    function handleClick(event) {
      if (props2.disabled || (form == null ? void 0 : form.disabled.value)) {
        return;
      }
      call(props2.onClick, event);
      validateWithTrigger("onClick");
    }
    function handleChange(newValue) {
      call(props2.onChange, newValue);
      validateWithTrigger("onChange");
    }
    function handleAutoComplete(newValue) {
      return __async$f(this, null, function* () {
        var _a;
        if (props2.maxlength != null) {
          newValue = newValue.slice(0, toNumber(props2.maxlength));
        }
        if (newValue !== value.value) {
          value.value = newValue;
          call(props2.onChange, newValue);
          validateWithTrigger("onChange");
        }
        yield raf();
        (_a = input.value) == null ? void 0 : _a.focus();
      });
    }
    function handleKeyEscape() {
      input.value.focus();
    }
    function getShowMenuSelect(newValue) {
      if (props2.disabled || props2.readonly || (form == null ? void 0 : form.disabled.value) || (form == null ? void 0 : form.readonly.value)) {
        return false;
      }
      return props2.options.length > 0 && (props2.getShow != null ? props2.getShow(newValue) : newValue.length > 0);
    }
    return {
      root,
      input,
      value,
      isShowMenuSelect,
      viewOptions,
      isFocusing,
      formDisabled: form == null ? void 0 : form.disabled,
      formReadonly: form == null ? void 0 : form.readonly,
      errorMessage,
      maxlengthText,
      n: n$1h,
      handleInput,
      handleClear,
      handleClick,
      handleChange,
      handleBlur,
      handleKeyEscape,
      handleAutoComplete,
      reset,
      validate,
      resetValidation,
      blur,
      focus
    };
  }
});
__sfc__$1i.render = __render__$1f;
var stdin_default$5I = __sfc__$1i;
withInstall(stdin_default$5I);
withPropsDefaultsSetter(stdin_default$5I, props$19);
const _AutoCompleteComponent = stdin_default$5I;
var stdin_default$5H = stdin_default$5I;
const isHTMLSupportImage = (val) => {
  if (!isString(val)) {
    return false;
  }
  return val.startsWith("data:image") || /\.(png|jpg|gif|jpeg|svg|webp|ico)$/i.test(val);
};
const isHTMLSupportVideo = (val) => {
  if (!isString(val)) {
    return false;
  }
  return val.startsWith("data:video") || /\.(mp4|webm|ogg)$/.test(val);
};
const createCache = (max2) => {
  const cache = [];
  return {
    cache,
    has(key3) {
      return this.cache.includes(key3);
    },
    add(key3) {
      if (this.has(key3)) {
        return;
      }
      this.cache.length === max2 && cache.shift();
      this.cache.push(key3);
    },
    remove(key3) {
      this.has(key3) && removeItem(this.cache, key3);
    },
    clear() {
      this.cache.length = 0;
    }
  };
};
const linear = (value) => value;
const cubic = (value) => value ** 3;
const easeInOutCubic = (value) => value < 0.5 ? cubic(value * 2) / 2 : 1 - cubic((1 - value) * 2) / 2;
const padStart$1 = (str, maxLength, fillString = "") => {
  if (str === void 0) {
    str = "";
  }
  if (str.length >= maxLength) {
    return str;
  }
  const len = maxLength - str.length;
  const repeatCount = Math.floor(len / fillString.length);
  return fillString.repeat(repeatCount) + fillString.slice(0, len % fillString.length) + str;
};
var __defProp$m = Object.defineProperty;
var __getOwnPropSymbols$m = Object.getOwnPropertySymbols;
var __hasOwnProp$m = Object.prototype.hasOwnProperty;
var __propIsEnum$m = Object.prototype.propertyIsEnumerable;
var __defNormalProp$m = (obj, key3, value) => key3 in obj ? __defProp$m(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues$m = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$m.call(b, prop))
      __defNormalProp$m(a, prop, b[prop]);
  if (__getOwnPropSymbols$m)
    for (var prop of __getOwnPropSymbols$m(b)) {
      if (__propIsEnum$m.call(b, prop))
        __defNormalProp$m(a, prop, b[prop]);
    }
  return a;
};
var __async$e = (__this, __arguments, generator) => {
  return new Promise((resolve, reject) => {
    var fulfilled = (value) => {
      try {
        step(generator.next(value));
      } catch (e) {
        reject(e);
      }
    };
    var rejected = (value) => {
      try {
        step(generator.throw(value));
      } catch (e) {
        reject(e);
      }
    };
    var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
    step((generator = generator.apply(__this, __arguments)).next());
  });
};
const BACKGROUND_IMAGE_ARG_NAME = "background-image";
const LAZY_LOADING = "lazy-loading";
const LAZY_ERROR = "lazy-error";
const LAZY_ATTEMPT = "lazy-attempt";
const EVENTS = ["scroll", "wheel", "mousewheel", "resize", "animationend", "transitionend", "touchmove"];
const PIXEL = "data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==";
const lazyElements = [];
const listenTargets = [];
const imageCache = createCache(100);
const defaultLazyOptions = {
  loading: PIXEL,
  error: PIXEL,
  attempt: 3,
  throttleWait: 300,
  events: EVENTS
};
let checkAllWithThrottle = throttle(checkAll, defaultLazyOptions.throttleWait);
function setSRC(el, src) {
  if (el._lazy.arg === BACKGROUND_IMAGE_ARG_NAME) {
    el.style.backgroundImage = `url(${src})`;
  } else {
    el.setAttribute("src", src);
  }
}
function setLoading(el) {
  el._lazy.loading && setSRC(el, el._lazy.loading);
  checkAll();
}
function setError(el) {
  el._lazy.error && setSRC(el, el._lazy.error);
  el._lazy.state = "error";
  clear(el);
  checkAll();
}
function setSuccess(el, attemptSRC) {
  setSRC(el, attemptSRC);
  el._lazy.state = "success";
  clear(el);
  checkAll();
}
function bindEvents(listenTarget) {
  var _a;
  if (listenTargets.includes(listenTarget)) {
    return;
  }
  listenTargets.push(listenTarget);
  (_a = defaultLazyOptions.events) == null ? void 0 : _a.forEach((event) => {
    listenTarget.addEventListener(event, checkAllWithThrottle, { passive: true });
  });
}
function unbindEvents() {
  listenTargets.forEach((listenTarget) => {
    var _a;
    (_a = defaultLazyOptions.events) == null ? void 0 : _a.forEach((event) => {
      listenTarget.removeEventListener(event, checkAllWithThrottle);
    });
  });
  listenTargets.length = 0;
}
function createLazy(el, binding) {
  var _a, _b;
  const lazyOptions = {
    loading: (_a = el.getAttribute(LAZY_LOADING)) != null ? _a : defaultLazyOptions.loading,
    error: (_b = el.getAttribute(LAZY_ERROR)) != null ? _b : defaultLazyOptions.error,
    attempt: el.getAttribute(LAZY_ATTEMPT) ? Number(el.getAttribute(LAZY_ATTEMPT)) : defaultLazyOptions.attempt
  };
  el._lazy = __spreadValues$m({
    src: binding.value,
    arg: binding.arg,
    currentAttempt: 0,
    state: "pending",
    attemptLock: false
  }, lazyOptions);
  setSRC(el, PIXEL);
  call(defaultLazyOptions.filter, el._lazy);
}
function createImage(el, attemptSRC) {
  const image = new Image();
  image.src = attemptSRC;
  el._lazy.preloadImage = image;
  image.addEventListener("load", () => {
    el._lazy.attemptLock = false;
    imageCache.add(attemptSRC);
    setSuccess(el, attemptSRC);
  });
  image.addEventListener("error", () => {
    el._lazy.attemptLock = false;
    el._lazy.currentAttempt >= el._lazy.attempt ? setError(el) : attemptLoad(el);
  });
}
function attemptLoad(el) {
  if (el._lazy.attemptLock) {
    return;
  }
  el._lazy.attemptLock = true;
  el._lazy.currentAttempt++;
  const { src: attemptSRC } = el._lazy;
  if (imageCache.has(attemptSRC)) {
    setSuccess(el, attemptSRC);
    el._lazy.attemptLock = false;
    return;
  }
  setLoading(el);
  createImage(el, attemptSRC);
}
function check(el) {
  return __async$e(this, null, function* () {
    yield doubleRaf();
    if (inViewport(el)) {
      attemptLoad(el);
    }
  });
}
function checkAll() {
  lazyElements.forEach((el) => check(el));
}
function add$1(el) {
  return __async$e(this, null, function* () {
    !lazyElements.includes(el) && lazyElements.push(el);
    getAllParentScroller(el).forEach(bindEvents);
    yield check(el);
  });
}
function clear(el) {
  removeItem(lazyElements, el);
  lazyElements.length === 0 && unbindEvents();
}
function diff(el, binding) {
  const { src, arg } = el._lazy;
  return src !== binding.value || arg !== binding.arg;
}
function mounted(el, binding) {
  return __async$e(this, null, function* () {
    createLazy(el, binding);
    yield add$1(el);
  });
}
function updated(el, binding) {
  return __async$e(this, null, function* () {
    if (!diff(el, binding)) {
      lazyElements.includes(el) && (yield check(el));
      return;
    }
    yield mounted(el, binding);
  });
}
function mergeLazyOptions(lazyOptions = {}) {
  const { events, loading, error: error2, attempt, throttleWait, filter } = lazyOptions;
  defaultLazyOptions.events = events != null ? events : defaultLazyOptions.events;
  defaultLazyOptions.loading = loading != null ? loading : defaultLazyOptions.loading;
  defaultLazyOptions.error = error2 != null ? error2 : defaultLazyOptions.error;
  defaultLazyOptions.attempt = attempt != null ? attempt : defaultLazyOptions.attempt;
  defaultLazyOptions.throttleWait = throttleWait != null ? throttleWait : defaultLazyOptions.throttleWait;
  defaultLazyOptions.filter = filter;
}
const Lazy = {
  mounted,
  unmounted: clear,
  updated,
  install(app, lazyOptions) {
    mergeLazyOptions(lazyOptions);
    checkAllWithThrottle = throttle(checkAll, defaultLazyOptions.throttleWait);
    app.directive("lazy", this);
  }
};
const _LazyComponent = Lazy;
var stdin_default$5G = Lazy;
const props$18 = {
  round: {
    type: Boolean,
    default: true
  },
  size: {
    type: [String, Number],
    default: "normal"
  },
  alt: String,
  color: String,
  src: String,
  fit: {
    type: String,
    default: "cover"
  },
  bordered: Boolean,
  borderColor: String,
  loading: String,
  error: String,
  lazy: Boolean,
  hoverable: Boolean,
  onClick: defineListenerProp(),
  onLoad: defineListenerProp(),
  onError: defineListenerProp()
};
const isInternalSize$1 = (size) => ["mini", "small", "normal", "large"].includes(size);
const { name: name$19, n: n$1g, classes: classes$$ } = createNamespace("avatar");
const _hoisted_1$v = ["src", "alt", "lazy-loading", "lazy-error"];
const _hoisted_2$8 = ["src", "alt"];
function __render__$1e(_ctx, _cache) {
  const _directive_lazy = vue.resolveDirective("lazy");
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      ref: "avatarElement",
      class: vue.normalizeClass(
        _ctx.classes(
          _ctx.n(),
          _ctx.n("$--box"),
          [_ctx.isInternalSize(_ctx.size), _ctx.n(`--${_ctx.size}`)],
          [_ctx.round, _ctx.n("--round")],
          [_ctx.bordered, _ctx.n("--bordered")],
          [_ctx.hoverable, _ctx.n("--hoverable")]
        )
      ),
      style: vue.normalizeStyle({
        width: !_ctx.isInternalSize(_ctx.size) ? _ctx.toSizeUnit(_ctx.size) : void 0,
        height: !_ctx.isInternalSize(_ctx.size) ? _ctx.toSizeUnit(_ctx.size) : void 0,
        borderColor: _ctx.borderColor,
        backgroundColor: _ctx.color
      }),
      onClick: _cache[3] || (_cache[3] = (...args) => _ctx.handleClick && _ctx.handleClick(...args))
    },
    [
      _ctx.src ? (vue.openBlock(), vue.createElementBlock(
        vue.Fragment,
        { key: 0 },
        [
          _ctx.lazy ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("img", {
            key: 0,
            role: "img",
            class: vue.normalizeClass(_ctx.n("image")),
            src: _ctx.src,
            alt: _ctx.alt,
            style: vue.normalizeStyle({ objectFit: _ctx.fit }),
            "lazy-loading": _ctx.loading,
            "lazy-error": _ctx.error,
            onLoad: _cache[0] || (_cache[0] = (...args) => _ctx.handleLoad && _ctx.handleLoad(...args))
          }, null, 46, _hoisted_1$v)), [
            [_directive_lazy, _ctx.src]
          ]) : (vue.openBlock(), vue.createElementBlock("img", {
            key: 1,
            role: "img",
            class: vue.normalizeClass(_ctx.n("image")),
            src: _ctx.src,
            alt: _ctx.alt,
            style: vue.normalizeStyle({ objectFit: _ctx.fit }),
            onLoad: _cache[1] || (_cache[1] = (...args) => _ctx.handleLoad && _ctx.handleLoad(...args)),
            onError: _cache[2] || (_cache[2] = (...args) => _ctx.handleError && _ctx.handleError(...args))
          }, null, 46, _hoisted_2$8))
        ],
        64
        /* STABLE_FRAGMENT */
      )) : (vue.openBlock(), vue.createElementBlock(
        "div",
        {
          key: 1,
          ref: "textElement",
          class: vue.normalizeClass(_ctx.n("text")),
          style: vue.normalizeStyle({ transform: `scale(${_ctx.scale})` })
        },
        [
          vue.renderSlot(_ctx.$slots, "default")
        ],
        6
        /* CLASS, STYLE */
      ))
    ],
    6
    /* CLASS, STYLE */
  );
}
const __sfc__$1h = vue.defineComponent({
  name: name$19,
  directives: { Lazy: stdin_default$5G },
  props: props$18,
  setup(props2) {
    const avatarElement = vue.ref(null);
    const textElement = vue.ref(null);
    const scale = vue.ref(1);
    onSmartMounted(getScale);
    vue.onUpdated(getScale);
    function getScale() {
      if (!avatarElement.value || !textElement.value) {
        scale.value = 1;
        return;
      }
      const avatarElementWidth = avatarElement.value.offsetWidth;
      const textElementWidth = textElement.value.offsetWidth;
      if (avatarElementWidth > textElementWidth) {
        scale.value = 1;
      } else {
        scale.value = avatarElementWidth / textElementWidth;
      }
    }
    function handleLoad(e) {
      const el = e.currentTarget;
      const { lazy, onLoad, onError } = props2;
      if (lazy) {
        el._lazy.state === "success" && call(onLoad, e);
        el._lazy.state === "error" && call(onError, e);
      } else {
        call(onLoad, e);
      }
    }
    function handleError(e) {
      call(props2.onError, e);
    }
    function handleClick(e) {
      call(props2.onClick, e);
    }
    return {
      avatarElement,
      textElement,
      scale,
      n: n$1g,
      classes: classes$$,
      isInternalSize: isInternalSize$1,
      toSizeUnit,
      handleLoad,
      handleError,
      handleClick
    };
  }
});
__sfc__$1h.render = __render__$1e;
var stdin_default$5F = __sfc__$1h;
withInstall(stdin_default$5F);
withPropsDefaultsSetter(stdin_default$5F, props$18);
const _AvatarComponent = stdin_default$5F;
var stdin_default$5E = stdin_default$5F;
const props$17 = {
  offset: [Number, String],
  vertical: Boolean
};
const { name: name$18, n: n$1f, classes: classes$_ } = createNamespace("avatar-group");
function __render__$1d(_ctx, _cache) {
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(_ctx.classes(_ctx.n(), [_ctx.vertical, _ctx.n("--column"), _ctx.n("--row")])),
      style: vue.normalizeStyle(_ctx.rootStyles)
    },
    [
      vue.renderSlot(_ctx.$slots, "default")
    ],
    6
    /* CLASS, STYLE */
  );
}
const __sfc__$1g = vue.defineComponent({
  name: name$18,
  props: props$17,
  setup(props2) {
    const rootStyles = vue.computed(() => {
      if (props2.offset == null) {
        return {};
      }
      return {
        "--avatar-group-offset": toSizeUnit(props2.offset)
      };
    });
    return {
      rootStyles,
      n: n$1f,
      classes: classes$_
    };
  }
});
__sfc__$1g.render = __render__$1d;
var stdin_default$5D = __sfc__$1g;
withInstall(stdin_default$5D);
withPropsDefaultsSetter(stdin_default$5D, props$17);
const _AvatarGroupComponent = stdin_default$5D;
var stdin_default$5C = stdin_default$5D;
const props$16 = {
  type: {
    type: String,
    default: "circle"
  },
  radius: [String, Number],
  size: {
    type: String,
    default: "normal"
  },
  color: String,
  description: String,
  loading: Boolean
};
const { name: name$17, n: n$1e, classes: classes$Z } = createNamespace("loading");
function __render__$1c(_ctx, _cache) {
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(_ctx.n())
    },
    [
      _ctx.$slots.default ? (vue.openBlock(), vue.createElementBlock(
        "div",
        {
          key: 0,
          class: vue.normalizeClass(_ctx.classes(_ctx.n("content"), [_ctx.loading, _ctx.n("content--active")]))
        },
        [
          vue.renderSlot(_ctx.$slots, "default"),
          _ctx.loading ? (vue.openBlock(), vue.createElementBlock(
            "div",
            {
              key: 0,
              class: vue.normalizeClass(_ctx.n("content-mask"))
            },
            null,
            2
            /* CLASS */
          )) : vue.createCommentVNode("v-if", true)
        ],
        2
        /* CLASS */
      )) : vue.createCommentVNode("v-if", true),
      _ctx.isShow ? (vue.openBlock(), vue.createElementBlock(
        "div",
        {
          key: 1,
          class: vue.normalizeClass(_ctx.classes(_ctx.n("$--box"), _ctx.n("body"), [_ctx.$slots.default, _ctx.n("inside")]))
        },
        [
          _ctx.type === "circle" ? (vue.openBlock(), vue.createElementBlock(
            "div",
            {
              key: 0,
              class: vue.normalizeClass(_ctx.n("circle"))
            },
            [
              vue.createElementVNode(
                "span",
                {
                  class: vue.normalizeClass(_ctx.classes(_ctx.n("circle-block"), _ctx.n(`circle-block--${_ctx.size}`))),
                  style: vue.normalizeStyle({
                    width: _ctx.multiplySizeUnit(_ctx.radius, 2),
                    height: _ctx.multiplySizeUnit(_ctx.radius, 2),
                    color: _ctx.color
                  })
                },
                _cache[0] || (_cache[0] = [
                  vue.createElementVNode(
                    "svg",
                    { viewBox: "25 25 50 50" },
                    [
                      vue.createElementVNode("circle", {
                        cx: "50",
                        cy: "50",
                        r: "20",
                        fill: "none"
                      })
                    ],
                    -1
                    /* HOISTED */
                  )
                ]),
                6
                /* CLASS, STYLE */
              )
            ],
            2
            /* CLASS */
          )) : vue.createCommentVNode("v-if", true),
          (vue.openBlock(true), vue.createElementBlock(
            vue.Fragment,
            null,
            vue.renderList(_ctx.loadingTypeDict, (nums, key3) => {
              return vue.openBlock(), vue.createElementBlock(
                vue.Fragment,
                { key: key3 },
                [
                  _ctx.type === key3 ? (vue.openBlock(), vue.createElementBlock(
                    "div",
                    {
                      key: 0,
                      class: vue.normalizeClass(_ctx.classes(_ctx.n(key3), _ctx.n(`${key3}--${_ctx.size}`)))
                    },
                    [
                      (vue.openBlock(true), vue.createElementBlock(
                        vue.Fragment,
                        null,
                        vue.renderList(nums, (num) => {
                          return vue.openBlock(), vue.createElementBlock(
                            "div",
                            {
                              key: num + key3,
                              style: vue.normalizeStyle({ backgroundColor: _ctx.color }),
                              class: vue.normalizeClass(_ctx.classes(_ctx.n(`${key3}-item`), _ctx.n(`${key3}-item--${_ctx.size}`)))
                            },
                            null,
                            6
                            /* CLASS, STYLE */
                          );
                        }),
                        128
                        /* KEYED_FRAGMENT */
                      ))
                    ],
                    2
                    /* CLASS */
                  )) : vue.createCommentVNode("v-if", true)
                ],
                64
                /* STABLE_FRAGMENT */
              );
            }),
            128
            /* KEYED_FRAGMENT */
          )),
          _ctx.$slots.description || _ctx.description ? (vue.openBlock(), vue.createElementBlock(
            "div",
            {
              key: 1,
              class: vue.normalizeClass(_ctx.classes(_ctx.n("description"), _ctx.n(`description--${_ctx.size}`))),
              style: vue.normalizeStyle({ color: _ctx.color })
            },
            [
              vue.renderSlot(_ctx.$slots, "description", {}, () => [
                vue.createTextVNode(
                  vue.toDisplayString(_ctx.description),
                  1
                  /* TEXT */
                )
              ])
            ],
            6
            /* CLASS, STYLE */
          )) : vue.createCommentVNode("v-if", true)
        ],
        2
        /* CLASS */
      )) : vue.createCommentVNode("v-if", true)
    ],
    2
    /* CLASS */
  );
}
const __sfc__$1f = vue.defineComponent({
  name: name$17,
  props: props$16,
  setup(props2, { slots }) {
    const isShow = vue.computed(() => {
      if (!call(slots.default)) {
        return true;
      }
      return props2.loading;
    });
    const loadingTypeDict = {
      wave: 5,
      cube: 4,
      rect: 8,
      disappear: 3
    };
    return {
      loadingTypeDict,
      isShow,
      n: n$1e,
      classes: classes$Z,
      multiplySizeUnit
    };
  }
});
__sfc__$1f.render = __render__$1c;
var stdin_default$5B = __sfc__$1f;
withInstall(stdin_default$5B);
withPropsDefaultsSetter(stdin_default$5B, props$16);
const _LoadingComponent = stdin_default$5B;
var stdin_default$5A = stdin_default$5B;
var __defProp$l = Object.defineProperty;
var __defProps$6 = Object.defineProperties;
var __getOwnPropDescs$6 = Object.getOwnPropertyDescriptors;
var __getOwnPropSymbols$l = Object.getOwnPropertySymbols;
var __hasOwnProp$l = Object.prototype.hasOwnProperty;
var __propIsEnum$l = Object.prototype.propertyIsEnumerable;
var __defNormalProp$l = (obj, key3, value) => key3 in obj ? __defProp$l(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues$l = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$l.call(b, prop))
      __defNormalProp$l(a, prop, b[prop]);
  if (__getOwnPropSymbols$l)
    for (var prop of __getOwnPropSymbols$l(b)) {
      if (__propIsEnum$l.call(b, prop))
        __defNormalProp$l(a, prop, b[prop]);
    }
  return a;
};
var __spreadProps$6 = (a, b) => __defProps$6(a, __getOwnPropDescs$6(b));
const props$15 = {
  type: String,
  nativeType: {
    type: String,
    default: "button"
  },
  size: String,
  loading: Boolean,
  round: Boolean,
  block: Boolean,
  text: Boolean,
  outline: Boolean,
  disabled: Boolean,
  autoLoading: Boolean,
  iconContainer: Boolean,
  ripple: {
    type: Boolean,
    default: true
  },
  focusable: {
    type: Boolean,
    default: true
  },
  color: String,
  textColor: String,
  elevation: {
    type: [Boolean, Number, String],
    default: true
  },
  loadingRadius: [Number, String],
  loadingType: pickProps(props$16, "type"),
  loadingSize: __spreadProps$6(__spreadValues$l({}, pickProps(props$16, "size")), {
    default: void 0
  }),
  loadingColor: __spreadProps$6(__spreadValues$l({}, pickProps(props$16, "color")), {
    default: "currentColor"
  }),
  onClick: defineListenerProp(),
  onTouchstart: defineListenerProp()
};
const BUTTON_GROUP_BIND_BUTTON_KEY = Symbol("BUTTON_GROUP_BIND_BUTTON_KEY");
function useButtons() {
  const { bindChildren, childProviders, length } = useChildren(BUTTON_GROUP_BIND_BUTTON_KEY);
  return {
    length,
    buttons: childProviders,
    bindButtons: bindChildren
  };
}
function useButtonGroup() {
  const { bindParent, parentProvider, index } = useParent(BUTTON_GROUP_BIND_BUTTON_KEY);
  return {
    index,
    buttonGroup: parentProvider,
    bindButtonGroup: bindParent
  };
}
const { name: name$16, n: n$1d, classes: classes$Y } = createNamespace("button");
const _hoisted_1$u = ["tabindex", "type", "disabled"];
function __render__$1b(_ctx, _cache) {
  const _component_var_loading = vue.resolveComponent("var-loading");
  const _component_var_hover_overlay = vue.resolveComponent("var-hover-overlay");
  const _directive_ripple = vue.resolveDirective("ripple");
  const _directive_hover = vue.resolveDirective("hover");
  return vue.withDirectives((vue.openBlock(), vue.createElementBlock("button", {
    class: vue.normalizeClass(
      _ctx.classes(
        _ctx.n(),
        _ctx.n("$--box"),
        _ctx.n(`--${_ctx.states.size}`),
        [_ctx.block, `${_ctx.n("$--flex")} ${_ctx.n("--block")}`, _ctx.n("$--inline-flex")],
        [!_ctx.states.text, _ctx.states.elevation],
        [!_ctx.states.iconContainer && !_ctx.states.text, _ctx.n(`--${_ctx.states.type}`)],
        [_ctx.states.text, `${_ctx.n("--text")} ${_ctx.n(`--text-${_ctx.states.type}`)}`],
        [_ctx.states.iconContainer, _ctx.n(`--icon-container-${_ctx.states.type}`)],
        [_ctx.round, _ctx.n("--round")],
        [_ctx.states.outline, _ctx.n("--outline")],
        [_ctx.loading || _ctx.pending, _ctx.n("--loading")],
        [_ctx.disabled, _ctx.n("--disabled")],
        [_ctx.states.text && _ctx.disabled, _ctx.n("--text-disabled")]
      )
    ),
    tabindex: _ctx.focusable ? void 0 : "-1",
    style: vue.normalizeStyle({
      color: _ctx.states.textColor,
      background: _ctx.states.color
    }),
    type: _ctx.nativeType,
    disabled: _ctx.disabled,
    onClick: _cache[0] || (_cache[0] = (...args) => _ctx.handleClick && _ctx.handleClick(...args)),
    onTouchstart: _cache[1] || (_cache[1] = (...args) => _ctx.handleTouchstart && _ctx.handleTouchstart(...args)),
    onFocus: _cache[2] || (_cache[2] = (...args) => _ctx.handleFocus && _ctx.handleFocus(...args)),
    onBlur: _cache[3] || (_cache[3] = ($event) => _ctx.isFocusing = false)
  }, [
    _ctx.loading || _ctx.pending ? (vue.openBlock(), vue.createBlock(_component_var_loading, {
      key: 0,
      class: vue.normalizeClass(_ctx.n("loading")),
      "var-button-cover": "",
      color: _ctx.loadingColor,
      type: _ctx.loadingType,
      size: _ctx.loadingSize || _ctx.states.size,
      radius: _ctx.loadingRadius
    }, null, 8, ["class", "color", "type", "size", "radius"])) : vue.createCommentVNode("v-if", true),
    vue.createElementVNode(
      "div",
      {
        class: vue.normalizeClass(_ctx.classes(_ctx.n("content"), [_ctx.loading || _ctx.pending, _ctx.n("--hidden")]))
      },
      [
        vue.renderSlot(_ctx.$slots, "default")
      ],
      2
      /* CLASS */
    ),
    vue.createVNode(_component_var_hover_overlay, {
      hovering: _ctx.disabled || _ctx.loading || _ctx.pending ? false : _ctx.hovering,
      focusing: _ctx.disabled || _ctx.loading || _ctx.pending ? false : _ctx.isFocusing
    }, null, 8, ["hovering", "focusing"])
  ], 46, _hoisted_1$u)), [
    [_directive_ripple, { disabled: _ctx.disabled || !_ctx.ripple || _ctx.loading || _ctx.pending }],
    [_directive_hover, _ctx.handleHovering, "desktop"]
  ]);
}
const __sfc__$1e = vue.defineComponent({
  name: name$16,
  components: {
    VarLoading: stdin_default$5A,
    VarHoverOverlay: stdin_default$65
  },
  directives: { Ripple: stdin_default$68, Hover: stdin_default$67 },
  props: props$15,
  setup(props2) {
    const isFocusing = vue.ref(false);
    const pending = vue.ref(false);
    const { buttonGroup } = useButtonGroup();
    const { hovering, handleHovering } = useHoverOverlay();
    const states = vue.computed(() => {
      var _a, _b, _c, _d, _e, _f;
      if (!buttonGroup) {
        return {
          elevation: formatElevation(props2.elevation, 2),
          type: (_a = props2.type) != null ? _a : "default",
          size: (_b = props2.size) != null ? _b : "normal",
          color: props2.color,
          text: props2.text,
          textColor: props2.textColor,
          outline: props2.outline,
          iconContainer: props2.iconContainer
        };
      }
      const { type, size, color, textColor, mode } = buttonGroup;
      return {
        elevation: "",
        type: (_c = props2.type) != null ? _c : type.value,
        size: (_d = props2.size) != null ? _d : size.value,
        color: (_e = props2.color) != null ? _e : color.value,
        textColor: (_f = props2.textColor) != null ? _f : textColor.value,
        text: mode.value === "text" || mode.value === "outline",
        outline: mode.value === "outline",
        iconContainer: mode.value === "icon-container"
      };
    });
    function attemptAutoLoading(result) {
      if (props2.autoLoading) {
        pending.value = true;
        Promise.all(normalizeToArray(result)).then(() => {
          pending.value = false;
        }).catch(() => {
          pending.value = false;
        });
      }
    }
    function handleClick(e) {
      const { loading, disabled, onClick } = props2;
      if (!onClick || loading || disabled || pending.value) {
        return;
      }
      attemptAutoLoading(call(onClick, e));
    }
    function handleTouchstart(e) {
      const { loading, disabled, onTouchstart } = props2;
      if (!onTouchstart || loading || disabled || pending.value) {
        return;
      }
      attemptAutoLoading(call(onTouchstart, e));
    }
    function handleFocus() {
      if (!props2.focusable) {
        return;
      }
      isFocusing.value = true;
    }
    return {
      pending,
      states,
      hovering,
      isFocusing,
      n: n$1d,
      classes: classes$Y,
      handleHovering,
      handleClick,
      handleTouchstart,
      handleFocus
    };
  }
});
__sfc__$1e.render = __render__$1b;
var stdin_default$5z = __sfc__$1e;
withInstall(stdin_default$5z);
withPropsDefaultsSetter(stdin_default$5z, props$15);
const _ButtonComponent = stdin_default$5z;
var stdin_default$5y = stdin_default$5z;
const props$14 = {
  visibilityHeight: {
    type: [Number, String],
    default: 200
  },
  duration: {
    type: Number,
    default: 300
  },
  right: [Number, String],
  elevation: {
    type: [Boolean, Number, String],
    default: true
  },
  bottom: [Number, String],
  target: [String, Object],
  onClick: defineListenerProp()
};
const { name: name$15, n: n$1c, classes: classes$X } = createNamespace("back-top");
function __render__$1a(_ctx, _cache) {
  const _component_var_icon = vue.resolveComponent("var-icon");
  const _component_var_button = vue.resolveComponent("var-button");
  return vue.openBlock(), vue.createBlock(vue.Teleport, {
    to: "body",
    disabled: _ctx.disabled
  }, [
    vue.createElementVNode(
      "div",
      vue.mergeProps({
        ref: "backTopEl",
        class: _ctx.classes(_ctx.n(), [_ctx.show, _ctx.n("--active")]),
        style: {
          right: _ctx.toSizeUnit(_ctx.right),
          bottom: _ctx.toSizeUnit(_ctx.bottom)
        }
      }, _ctx.$attrs, {
        onClick: _cache[0] || (_cache[0] = vue.withModifiers((...args) => _ctx.handleClick && _ctx.handleClick(...args), ["stop"]))
      }),
      [
        vue.renderSlot(_ctx.$slots, "default", {}, () => [
          vue.createVNode(_component_var_button, {
            elevation: _ctx.elevation,
            type: "primary",
            "var-back-top-cover": ""
          }, {
            default: vue.withCtx(() => [
              vue.createVNode(_component_var_icon, { name: "chevron-up" })
            ]),
            _: 1
            /* STABLE */
          }, 8, ["elevation"])
        ])
      ],
      16
      /* FULL_PROPS */
    )
  ], 8, ["disabled"]);
}
const __sfc__$1d = vue.defineComponent({
  name: name$15,
  components: {
    VarButton: stdin_default$5y,
    VarIcon: stdin_default$63
  },
  inheritAttrs: false,
  props: props$14,
  setup(props2) {
    const show = vue.ref(false);
    const backTopEl = vue.ref(null);
    const disabled = vue.ref(true);
    let scroller;
    const handleScroll = throttle(() => {
      setBackTopVisibility();
    }, 200);
    vue.onMounted(() => {
      setScroller();
      addScrollerEventListener();
      setBackTopVisibility();
      disabled.value = false;
    });
    vue.onActivated(addScrollerEventListener);
    onSmartUnmounted(removeScrollerEventListener);
    function setBackTopVisibility() {
      show.value = getScrollTop(scroller) >= toPxNum(props2.visibilityHeight);
    }
    function handleClick(event) {
      call(props2.onClick, event);
      const left2 = getScrollLeft(scroller);
      scrollTo(scroller, {
        left: left2,
        duration: props2.duration,
        animation: easeInOutCubic
      });
    }
    function setScroller() {
      scroller = props2.target ? getTarget(props2.target, "BackTop") : getParentScroller(backTopEl.value);
    }
    function addScrollerEventListener() {
      scroller.addEventListener("scroll", handleScroll);
    }
    function removeScrollerEventListener() {
      if (!scroller) {
        return;
      }
      scroller.removeEventListener("scroll", handleScroll);
    }
    return {
      disabled,
      show,
      backTopEl,
      toSizeUnit,
      n: n$1c,
      classes: classes$X,
      handleClick
    };
  }
});
__sfc__$1d.render = __render__$1a;
var stdin_default$5x = __sfc__$1d;
withInstall(stdin_default$5x);
withPropsDefaultsSetter(stdin_default$5x, props$14);
const _BackTopComponent = stdin_default$5x;
var stdin_default$5w = stdin_default$5x;
const props$13 = {
  type: {
    type: String,
    default: "default"
  },
  position: {
    type: String,
    default: "right-top"
  },
  hidden: Boolean,
  value: {
    type: [String, Number],
    default: 0
  },
  maxValue: [String, Number],
  dot: Boolean,
  icon: pickProps(props$1k, "name"),
  namespace: pickProps(props$1k, "namespace"),
  color: String,
  offsetX: {
    type: [String, Number],
    default: 0
  },
  offsetY: {
    type: [String, Number],
    default: 0
  }
};
var __defProp$k = Object.defineProperty;
var __getOwnPropSymbols$k = Object.getOwnPropertySymbols;
var __hasOwnProp$k = Object.prototype.hasOwnProperty;
var __propIsEnum$k = Object.prototype.propertyIsEnumerable;
var __defNormalProp$k = (obj, key3, value) => key3 in obj ? __defProp$k(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues$k = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$k.call(b, prop))
      __defNormalProp$k(a, prop, b[prop]);
  if (__getOwnPropSymbols$k)
    for (var prop of __getOwnPropSymbols$k(b)) {
      if (__propIsEnum$k.call(b, prop))
        __defNormalProp$k(a, prop, b[prop]);
    }
  return a;
};
const { name: name$14, n: n$1b, classes: classes$W } = createNamespace("badge");
const _hoisted_1$t = { key: 0 };
function __render__$19(_ctx, _cache) {
  const _component_var_icon = vue.resolveComponent("var-icon");
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(_ctx.classes(_ctx.n(), _ctx.n("$--box")))
    },
    [
      vue.renderSlot(_ctx.$slots, "default"),
      vue.createVNode(vue.Transition, {
        name: _ctx.n("$-badge-fade"),
        persisted: ""
      }, {
        default: vue.withCtx(() => [
          vue.withDirectives(vue.createElementVNode(
            "span",
            vue.mergeProps({
              class: _ctx.classes(
                _ctx.n("content"),
                _ctx.n(`--${_ctx.type}`),
                [_ctx.$slots.default, _ctx.n(`--${_ctx.position}`), _ctx.n("--offset")],
                [_ctx.dot, _ctx.n("--dot")],
                [_ctx.icon, _ctx.n("--icon")]
              ),
              style: __spreadValues$k({ background: _ctx.color }, _ctx.offsetStyle)
            }, _ctx.$attrs),
            [
              _ctx.icon ? (vue.openBlock(), vue.createBlock(_component_var_icon, {
                key: 0,
                class: vue.normalizeClass(_ctx.n("icon")),
                "var-badge-cover": "",
                name: _ctx.icon,
                namespace: _ctx.namespace
              }, null, 8, ["class", "name", "namespace"])) : vue.createCommentVNode("v-if", true),
              vue.renderSlot(_ctx.$slots, "value", {}, () => [
                !_ctx.icon && !_ctx.dot ? (vue.openBlock(), vue.createElementBlock(
                  "span",
                  _hoisted_1$t,
                  vue.toDisplayString(_ctx.value),
                  1
                  /* TEXT */
                )) : vue.createCommentVNode("v-if", true)
              ])
            ],
            16
            /* FULL_PROPS */
          ), [
            [vue.vShow, !_ctx.hidden]
          ])
        ]),
        _: 3
        /* FORWARDED */
      }, 8, ["name"])
    ],
    2
    /* CLASS */
  );
}
const __sfc__$1c = vue.defineComponent({
  name: name$14,
  components: { VarIcon: stdin_default$63 },
  inheritAttrs: false,
  props: props$13,
  setup(props2) {
    const value = vue.computed(() => {
      const { value: value2, maxValue } = props2;
      return value2 != null && maxValue != null && toNumber(value2) > toNumber(maxValue) ? `${maxValue}+` : value2;
    });
    const offsetStyle = vue.computed(() => ({
      [`--badge-offset-y`]: toSizeUnit(props2.offsetY),
      [`--badge-offset-x`]: toSizeUnit(props2.offsetX)
    }));
    return {
      value,
      offsetStyle,
      n: n$1b,
      classes: classes$W
    };
  }
});
__sfc__$1c.render = __render__$19;
var stdin_default$5v = __sfc__$1c;
withInstall(stdin_default$5v);
withPropsDefaultsSetter(stdin_default$5v, props$13);
const _BadgeComponent = stdin_default$5v;
var stdin_default$5u = stdin_default$5v;
const props$12 = {
  active: {
    type: [Number, String],
    default: 0
  },
  zIndex: {
    type: [Number, String],
    default: 1
  },
  fixed: Boolean,
  border: Boolean,
  variant: Boolean,
  safeArea: Boolean,
  activeColor: String,
  inactiveColor: String,
  placeholder: Boolean,
  fabProps: Object,
  onChange: defineListenerProp(),
  onBeforeChange: defineListenerProp(),
  onFabClick: defineListenerProp(),
  "onUpdate:active": defineListenerProp()
};
const BOTTOM_NAVIGATION_BIND_BOTTOM_NAVIGATION_ITEM_KEY = Symbol(
  "BOTTOM_NAVIGATION_BIND_BOTTOM_NAVIGATION_ITEM_KEY"
);
function useBottomNavigationItems() {
  const { childProviders, length, bindChildren } = useChildren(
    BOTTOM_NAVIGATION_BIND_BOTTOM_NAVIGATION_ITEM_KEY
  );
  return {
    length,
    bottomNavigationItems: childProviders,
    bindBottomNavigationItem: bindChildren
  };
}
var __defProp$j = Object.defineProperty;
var __getOwnPropSymbols$j = Object.getOwnPropertySymbols;
var __hasOwnProp$j = Object.prototype.hasOwnProperty;
var __propIsEnum$j = Object.prototype.propertyIsEnumerable;
var __defNormalProp$j = (obj, key3, value) => key3 in obj ? __defProp$j(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues$j = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$j.call(b, prop))
      __defNormalProp$j(a, prop, b[prop]);
  if (__getOwnPropSymbols$j)
    for (var prop of __getOwnPropSymbols$j(b)) {
      if (__propIsEnum$j.call(b, prop))
        __defNormalProp$j(a, prop, b[prop]);
    }
  return a;
};
const { name: name$13, n: n$1a, classes: classes$V } = createNamespace("bottom-navigation");
const { n: nItem } = createNamespace("bottom-navigation-item");
const RIGHT_HALF_SPACE_CLASS = nItem("--right-half-space");
const LEFT_HALF_SPACE_CLASS = nItem("--left-half-space");
const RIGHT_SPACE_CLASS = nItem("--right-space");
const defaultFabProps = {
  type: "primary"
};
function __render__$18(_ctx, _cache) {
  const _component_var_button = vue.resolveComponent("var-button");
  return vue.openBlock(), vue.createElementBlock(
    vue.Fragment,
    null,
    [
      vue.createElementVNode(
        "div",
        vue.mergeProps({
          ref: "bottomNavigationDom",
          class: _ctx.classes(
            _ctx.n(),
            _ctx.n("$--box"),
            [_ctx.fixed, _ctx.n("--fixed")],
            [_ctx.border, _ctx.n("--border")],
            [_ctx.safeArea, _ctx.n("--safe-area")],
            [_ctx.variant, _ctx.n("--variant")]
          ),
          style: `z-index:${_ctx.zIndex}`
        }, _ctx.$attrs),
        [
          vue.renderSlot(_ctx.$slots, "default"),
          _ctx.$slots.fab ? (vue.openBlock(), vue.createBlock(_component_var_button, vue.mergeProps({
            key: 0,
            class: _ctx.classes(_ctx.n("fab"), [_ctx.length % 2, _ctx.n("--fab-right"), _ctx.n("--fab-center")]),
            "var-bottom-navigation__fab": ""
          }, _ctx.fabProps, { onClick: _ctx.handleFabClick }), {
            default: vue.withCtx(() => [
              vue.renderSlot(_ctx.$slots, "fab")
            ]),
            _: 3
            /* FORWARDED */
          }, 16, ["class", "onClick"])) : vue.createCommentVNode("v-if", true)
        ],
        16
        /* FULL_PROPS */
      ),
      _ctx.fixed && _ctx.placeholder ? (vue.openBlock(), vue.createElementBlock(
        "div",
        {
          key: 0,
          class: vue.normalizeClass(_ctx.n("placeholder")),
          style: vue.normalizeStyle({ height: _ctx.placeholderHeight })
        },
        null,
        6
        /* CLASS, STYLE */
      )) : vue.createCommentVNode("v-if", true)
    ],
    64
    /* STABLE_FRAGMENT */
  );
}
const __sfc__$1b = vue.defineComponent({
  name: name$13,
  components: { VarButton: stdin_default$5y },
  props: props$12,
  setup(props2, { slots }) {
    const bottomNavigationDom = vue.ref(null);
    const active = vue.computed(() => props2.active);
    const activeColor = vue.computed(() => props2.activeColor);
    const inactiveColor = vue.computed(() => props2.inactiveColor);
    const variant = vue.computed(() => props2.variant);
    const placeholderHeight = vue.ref();
    const fabProps = vue.ref({});
    const { length, bottomNavigationItems, bindBottomNavigationItem } = useBottomNavigationItems();
    const bottomNavigationProvider = {
      active,
      activeColor,
      inactiveColor,
      variant,
      onToggle
    };
    bindBottomNavigationItem(bottomNavigationProvider);
    vue.watch(() => length.value, matchBoundary);
    vue.watch(
      () => props2.fabProps,
      (newValue) => {
        fabProps.value = __spreadValues$j(__spreadValues$j({}, defaultFabProps), newValue);
      },
      { immediate: true, deep: true }
    );
    onWindowResize(resizePlaceholder);
    onSmartMounted(() => {
      resizePlaceholder();
      if (!slots.fab) {
        return;
      }
      addMarginClass(length.value);
    });
    vue.onUpdated(() => {
      removeMarginClass();
      if (!slots.fab) {
        return;
      }
      addMarginClass(length.value);
    });
    function matchBoundary() {
      if (length.value === 0 || matchName() || matchIndex()) {
        return;
      }
      handleActiveIndex();
    }
    function matchName() {
      return bottomNavigationItems.find(({ name: name2 }) => active.value === name2.value);
    }
    function matchIndex() {
      return bottomNavigationItems.find(({ index }) => active.value === index.value);
    }
    function handleActiveIndex() {
      if (!isNumber(active.value)) {
        return;
      }
      if (active.value < 0) {
        call(props2["onUpdate:active"], 0);
      } else if (active.value > length.value - 1) {
        call(props2["onUpdate:active"], length.value - 1);
      }
    }
    function onToggle(changedValue) {
      if (active.value === changedValue) {
        return;
      }
      props2.onBeforeChange ? handleBeforeChange(changedValue) : handleChange(changedValue);
    }
    function handleBeforeChange(changedValue) {
      const results = normalizeToArray(call(props2.onBeforeChange, changedValue));
      Promise.all(results).then((results2) => {
        if (results2.every(Boolean)) {
          handleChange(changedValue);
        }
      });
    }
    function handleChange(changedValue) {
      call(props2["onUpdate:active"], changedValue);
      call(props2.onChange, changedValue);
    }
    function removeMarginClass() {
      const bottomNavigationItems2 = getBottomNavigationItems();
      bottomNavigationItems2.forEach((dom) => {
        dom.classList.remove(RIGHT_HALF_SPACE_CLASS, LEFT_HALF_SPACE_CLASS, RIGHT_SPACE_CLASS);
      });
    }
    function addMarginClass(length2) {
      const bottomNavigationItems2 = getBottomNavigationItems();
      const itemsNum = bottomNavigationItems2.length;
      const isEven = length2 % 2 === 0;
      bottomNavigationItems2.forEach((bottomNavigationItem, i) => {
        handleMarginClass(isEven, bottomNavigationItem, i, itemsNum);
      });
    }
    function handleMarginClass(isEven, dom, i, length2) {
      const isLast = i === length2 - 1;
      if (!isEven && isLast) {
        dom.classList.add(RIGHT_SPACE_CLASS);
        return;
      }
      const isFabLeft = i === length2 / 2 - 1;
      const isFabRight = i === length2 / 2;
      if (isFabLeft) {
        dom.classList.add(RIGHT_HALF_SPACE_CLASS);
      } else if (isFabRight) {
        dom.classList.add(LEFT_HALF_SPACE_CLASS);
      }
    }
    function getBottomNavigationItems() {
      return Array.from(bottomNavigationDom.value.querySelectorAll(`.${nItem()}`));
    }
    function handleFabClick() {
      call(props2.onFabClick);
    }
    function resizePlaceholder() {
      if (!props2.fixed || !props2.placeholder) {
        return;
      }
      const { height } = getRect(bottomNavigationDom.value);
      placeholderHeight.value = toSizeUnit(height);
    }
    return {
      length,
      bottomNavigationDom,
      fabProps,
      placeholderHeight,
      n: n$1a,
      classes: classes$V,
      handleFabClick
    };
  }
});
__sfc__$1b.render = __render__$18;
var stdin_default$5t = __sfc__$1b;
withInstall(stdin_default$5t);
withPropsDefaultsSetter(stdin_default$5t, props$12);
const _BottomNavigationComponent = stdin_default$5t;
var stdin_default$5s = stdin_default$5t;
const props$11 = {
  name: String,
  label: String,
  icon: pickProps(props$1k, "name"),
  namespace: pickProps(props$1k, "namespace"),
  badge: {
    type: [Boolean, Object],
    default: false
  },
  onClick: defineListenerProp()
};
function useBottomNavigation() {
  const { parentProvider, index, bindParent } = useParent(
    BOTTOM_NAVIGATION_BIND_BOTTOM_NAVIGATION_ITEM_KEY
  );
  assert(!!bindParent, "BottomNavigationItem", "<var-bottom-navigation-item/> must in <var-bottom-navigation/>");
  return {
    index,
    bottomNavigation: parentProvider,
    bindBottomNavigation: bindParent
  };
}
const { name: name$12, n: n$19, classes: classes$U } = createNamespace("bottom-navigation-item");
const defaultBadgeProps = {
  type: "danger",
  dot: true
};
function __render__$17(_ctx, _cache) {
  const _component_var_icon = vue.resolveComponent("var-icon");
  const _component_var_badge = vue.resolveComponent("var-badge");
  const _directive_ripple = vue.resolveDirective("ripple");
  return vue.withDirectives((vue.openBlock(), vue.createElementBlock(
    "button",
    {
      class: vue.normalizeClass(_ctx.classes(_ctx.n(), _ctx.n("$--box"), [_ctx.variant, _ctx.n("--variant-padding")], [_ctx.isActive && !_ctx.variant, _ctx.n("--active")])),
      style: vue.normalizeStyle({
        color: _ctx.isActive ? _ctx.activeColor : _ctx.inactiveColor
      }),
      onClick: _cache[0] || (_cache[0] = (...args) => _ctx.handleClick && _ctx.handleClick(...args))
    },
    [
      vue.createElementVNode(
        "div",
        {
          class: vue.normalizeClass(
            _ctx.classes(
              _ctx.n("icon-container"),
              [_ctx.variant, _ctx.n("--variant-icon-container")],
              [_ctx.isActive && _ctx.variant, _ctx.n("--variant-active")]
            )
          )
        },
        [
          _ctx.badge ? (vue.openBlock(), vue.createBlock(_component_var_badge, vue.mergeProps({ key: 0 }, _ctx.badgeProps, {
            class: _ctx.n("badge"),
            "var-bottom-navigation-item-cover": ""
          }), {
            default: vue.withCtx(() => [
              vue.renderSlot(_ctx.$slots, "icon", { active: _ctx.isActive }, () => [
                _ctx.icon ? (vue.openBlock(), vue.createBlock(_component_var_icon, {
                  key: 0,
                  name: _ctx.icon,
                  namespace: _ctx.namespace,
                  class: vue.normalizeClass(_ctx.n("icon")),
                  "var-bottom-navigation-item-cover": ""
                }, null, 8, ["name", "namespace", "class"])) : vue.createCommentVNode("v-if", true)
              ])
            ]),
            _: 3
            /* FORWARDED */
          }, 16, ["class"])) : vue.renderSlot(_ctx.$slots, "icon", {
            key: 1,
            active: _ctx.isActive
          }, () => [
            _ctx.icon ? (vue.openBlock(), vue.createBlock(_component_var_icon, {
              key: 0,
              name: _ctx.icon,
              namespace: _ctx.namespace,
              class: vue.normalizeClass(_ctx.n("icon")),
              "var-bottom-navigation-item-cover": ""
            }, null, 8, ["name", "namespace", "class"])) : vue.createCommentVNode("v-if", true)
          ])
        ],
        2
        /* CLASS */
      ),
      vue.createElementVNode(
        "span",
        {
          class: vue.normalizeClass(_ctx.n("label"))
        },
        [
          vue.renderSlot(_ctx.$slots, "default", {}, () => [
            vue.createTextVNode(
              vue.toDisplayString(_ctx.label),
              1
              /* TEXT */
            )
          ])
        ],
        2
        /* CLASS */
      )
    ],
    6
    /* CLASS, STYLE */
  )), [
    [_directive_ripple]
  ]);
}
const __sfc__$1a = vue.defineComponent({
  name: name$12,
  components: {
    VarBadge: stdin_default$5u,
    VarIcon: stdin_default$63
  },
  directives: { Ripple: stdin_default$68 },
  props: props$11,
  setup(props2) {
    const name2 = vue.computed(() => props2.name);
    const isActive = vue.computed(() => [name2.value, index.value].includes(active.value));
    const badgeProps = vue.computed(() => props2.badge === true ? defaultBadgeProps : props2.badge);
    const { index, bottomNavigation, bindBottomNavigation } = useBottomNavigation();
    const { active, activeColor, inactiveColor, variant } = bottomNavigation;
    const bottomNavigationItemProvider = {
      name: name2,
      index
    };
    bindBottomNavigation(bottomNavigationItemProvider);
    function handleClick() {
      var _a;
      const active2 = (_a = name2.value) != null ? _a : index.value;
      call(props2.onClick, active2);
      call(bottomNavigation.onToggle, active2);
    }
    return {
      activeColor,
      inactiveColor,
      badgeProps,
      isActive,
      variant,
      n: n$19,
      classes: classes$U,
      handleClick
    };
  }
});
__sfc__$1a.render = __render__$17;
var stdin_default$5r = __sfc__$1a;
withInstall(stdin_default$5r);
withPropsDefaultsSetter(stdin_default$5r, props$11);
const _BottomNavigationItemComponent = stdin_default$5r;
var stdin_default$5q = stdin_default$5r;
const props$10 = {
  separator: String,
  onClick: defineListenerProp()
};
const BREADCRUMBS_BIND_BREADCRUMB_ITEM_KEY = Symbol("BREADCRUMBS_BIND_BREADCRUMB_KEY");
function useBreadcrumbsList() {
  const { childProviders, bindChildren, length } = useChildren(
    BREADCRUMBS_BIND_BREADCRUMB_ITEM_KEY
  );
  return {
    length,
    breadcrumbList: childProviders,
    bindBreadcrumbList: bindChildren
  };
}
function useBreadcrumb() {
  const { parentProvider, bindParent, index } = useParent(
    BREADCRUMBS_BIND_BREADCRUMB_ITEM_KEY
  );
  assert(!!bindParent, "Breadcrumb", "<var-breadcrumb/> must in <var-breadcrumbs/>");
  return {
    index,
    breadcrumb: parentProvider,
    bindBreadcrumb: bindParent
  };
}
const { name: name$11, n: n$18, classes: classes$T } = createNamespace("breadcrumb");
function __render__$16(_ctx, _cache) {
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(_ctx.n())
    },
    [
      vue.createElementVNode(
        "div",
        {
          class: vue.normalizeClass(_ctx.classes(_ctx.n("content"), [!_ctx.isLast, _ctx.n("--active")])),
          onClick: _cache[0] || (_cache[0] = (...args) => _ctx.handleClick && _ctx.handleClick(...args))
        },
        [
          vue.renderSlot(_ctx.$slots, "default")
        ],
        2
        /* CLASS */
      ),
      !_ctx.isLast ? vue.renderSlot(_ctx.$slots, "separator", { key: 0 }, () => {
        var _a;
        return [
          vue.createElementVNode(
            "div",
            {
              class: vue.normalizeClass(_ctx.n("separator")),
              "aria-hidden": "true"
            },
            vue.toDisplayString((_a = _ctx.separator) != null ? _a : _ctx.parentSeparator),
            3
            /* TEXT, CLASS */
          )
        ];
      }) : vue.createCommentVNode("v-if", true)
    ],
    2
    /* CLASS */
  );
}
const __sfc__$19 = vue.defineComponent({
  name: name$11,
  props: props$10,
  setup(props2) {
    const { index, breadcrumb, bindBreadcrumb } = useBreadcrumb();
    const isLast = vue.computed(() => index.value === breadcrumb.length.value - 1);
    const parentSeparator = vue.computed(() => breadcrumb.separator.value);
    bindBreadcrumb(null);
    function handleClick(e) {
      if (isLast.value) {
        return;
      }
      call(props2.onClick, e);
    }
    return {
      n: n$18,
      classes: classes$T,
      isLast,
      parentSeparator,
      handleClick
    };
  }
});
__sfc__$19.render = __render__$16;
var stdin_default$5p = __sfc__$19;
withInstall(stdin_default$5p);
withPropsDefaultsSetter(stdin_default$5p, props$10);
const _BreadcrumbComponent = stdin_default$5p;
var stdin_default$5o = stdin_default$5p;
const props$$ = {
  separator: {
    type: String,
    default: "/"
  }
};
const { name: name$10, n: n$17 } = createNamespace("breadcrumbs");
function __render__$15(_ctx, _cache) {
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(_ctx.n()),
      role: "navigation",
      "aria-label": "Breadcrumbs"
    },
    [
      vue.renderSlot(_ctx.$slots, "default")
    ],
    2
    /* CLASS */
  );
}
const __sfc__$18 = vue.defineComponent({
  name: name$10,
  props: props$$,
  setup(props2) {
    const separator = vue.computed(() => props2.separator);
    const { bindBreadcrumbList, length } = useBreadcrumbsList();
    const breadcrumbsProvider = {
      length,
      separator
    };
    bindBreadcrumbList(breadcrumbsProvider);
    return { n: n$17 };
  }
});
__sfc__$18.render = __render__$15;
var stdin_default$5n = __sfc__$18;
withInstall(stdin_default$5n);
withPropsDefaultsSetter(stdin_default$5n, props$$);
const _BreadcrumbsComponent = stdin_default$5n;
var stdin_default$5m = stdin_default$5n;
const props$_ = {
  type: {
    type: String,
    default: "default"
  },
  size: {
    type: String,
    default: "normal"
  },
  color: String,
  textColor: String,
  mode: {
    type: String,
    default: "normal"
  },
  elevation: {
    type: [Boolean, Number, String],
    default: true
  },
  vertical: Boolean
};
const { name: name$$, n: n$16, classes: classes$S } = createNamespace("button-group");
function __render__$14(_ctx, _cache) {
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(
        _ctx.classes(
          _ctx.n(),
          _ctx.n("$--box"),
          [_ctx.mode, `${_ctx.n(`--mode-${_ctx.mode}`)}`],
          [_ctx.vertical, _ctx.n("--vertical"), _ctx.n("--horizontal")],
          [_ctx.mode === "normal", _ctx.formatElevation(_ctx.elevation, 2)]
        )
      )
    },
    [
      vue.renderSlot(_ctx.$slots, "default")
    ],
    2
    /* CLASS */
  );
}
const __sfc__$17 = vue.defineComponent({
  name: name$$,
  props: props$_,
  setup(props2) {
    const { bindButtons } = useButtons();
    const buttonGroupProvider = {
      elevation: vue.computed(() => props2.elevation),
      type: vue.computed(() => props2.type),
      size: vue.computed(() => props2.size),
      color: vue.computed(() => props2.color),
      textColor: vue.computed(() => props2.textColor),
      mode: vue.computed(() => props2.mode)
    };
    bindButtons(buttonGroupProvider);
    return {
      n: n$16,
      classes: classes$S,
      formatElevation
    };
  }
});
__sfc__$17.render = __render__$14;
var stdin_default$5l = __sfc__$17;
withInstall(stdin_default$5l);
withPropsDefaultsSetter(stdin_default$5l, props$_);
const _ButtonGroupComponent = stdin_default$5l;
var stdin_default$5k = stdin_default$5l;
const props$Z = {
  src: String,
  fit: {
    type: String,
    default: "cover"
  },
  imageHeight: [String, Number],
  imageWidth: [String, Number],
  variant: {
    type: String,
    default: "standard"
  },
  layout: {
    type: String,
    default: "column"
  },
  floating: Boolean,
  floatingDuration: {
    type: Number,
    default: 250
  },
  alt: String,
  title: String,
  subtitle: String,
  description: String,
  elevation: {
    type: [Boolean, Number, String],
    default: true
  },
  ripple: Boolean,
  onClick: defineListenerProp(),
  "onUpdate:floating": defineListenerProp(),
  /**
   * @deprecated use outlined variant instead
   */
  outline: Boolean
};
var __async$d = (__this, __arguments, generator) => {
  return new Promise((resolve, reject) => {
    var fulfilled = (value) => {
      try {
        step(generator.next(value));
      } catch (e) {
        reject(e);
      }
    };
    var rejected = (value) => {
      try {
        step(generator.throw(value));
      } catch (e) {
        reject(e);
      }
    };
    var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
    step((generator = generator.apply(__this, __arguments)).next());
  });
};
const { name: name$_, n: n$15, classes: classes$R } = createNamespace("card");
const RIPPLE_DELAY = 500;
const _hoisted_1$s = ["src", "alt"];
function __render__$13(_ctx, _cache) {
  const _component_var_icon = vue.resolveComponent("var-icon");
  const _component_var_button = vue.resolveComponent("var-button");
  const _directive_ripple = vue.resolveDirective("ripple");
  return vue.withDirectives((vue.openBlock(), vue.createElementBlock(
    "div",
    {
      ref: "card",
      class: vue.normalizeClass(
        _ctx.classes(
          _ctx.n(),
          [_ctx.isRow, _ctx.n("--layout-row")],
          [_ctx.variant === "outlined" || _ctx.outline, _ctx.n("--outline")],
          [_ctx.variant === "filled", _ctx.n("--filled")],
          [_ctx.variant === "standard" || _ctx.outline, _ctx.formatElevation(_ctx.elevation, 1)]
        )
      ),
      style: vue.normalizeStyle({
        zIndex: _ctx.floated ? _ctx.zIndex : void 0
      }),
      onClick: _cache[0] || (_cache[0] = (...args) => _ctx.handleClick && _ctx.handleClick(...args))
    },
    [
      vue.createElementVNode(
        "div",
        {
          ref: "cardFloater",
          class: vue.normalizeClass(_ctx.n("floater")),
          style: vue.normalizeStyle({
            width: _ctx.floaterWidth,
            height: _ctx.floaterHeight,
            top: _ctx.floaterTop,
            left: _ctx.floaterLeft,
            overflow: _ctx.floaterOverflow,
            position: _ctx.floaterPosition,
            zIndex: _ctx.floated ? _ctx.zIndex : void 0,
            background: _ctx.outline && !_ctx.floated ? "transparent" : void 0,
            transition: _ctx.floated ? `background-color ${_ctx.floatingDuration}ms, color ${_ctx.floatingDuration}ms, width ${_ctx.floatingDuration}ms, height ${_ctx.floatingDuration}ms, top ${_ctx.floatingDuration}ms, left ${_ctx.floatingDuration}ms` : void 0
          })
        },
        [
          vue.renderSlot(_ctx.$slots, "image", {}, () => [
            _ctx.src ? (vue.openBlock(), vue.createElementBlock("img", {
              key: 0,
              class: vue.normalizeClass(_ctx.n("image")),
              style: vue.normalizeStyle({
                objectFit: _ctx.fit,
                height: _ctx.toSizeUnit(_ctx.imageHeight),
                width: _ctx.toSizeUnit(_ctx.imageWidth)
              }),
              src: _ctx.src,
              alt: _ctx.alt
            }, null, 14, _hoisted_1$s)) : vue.createCommentVNode("v-if", true)
          ]),
          vue.createElementVNode(
            "div",
            {
              class: vue.normalizeClass(_ctx.n("container"))
            },
            [
              vue.renderSlot(_ctx.$slots, "title", {
                slotClass: _ctx.n("title")
              }, () => [
                _ctx.title ? (vue.openBlock(), vue.createElementBlock(
                  "div",
                  {
                    key: 0,
                    class: vue.normalizeClass(_ctx.n("title"))
                  },
                  vue.toDisplayString(_ctx.title),
                  3
                  /* TEXT, CLASS */
                )) : vue.createCommentVNode("v-if", true)
              ]),
              vue.renderSlot(_ctx.$slots, "subtitle", {
                slotClass: _ctx.n("subtitle")
              }, () => [
                _ctx.subtitle ? (vue.openBlock(), vue.createElementBlock(
                  "div",
                  {
                    key: 0,
                    class: vue.normalizeClass(_ctx.n("subtitle"))
                  },
                  vue.toDisplayString(_ctx.subtitle),
                  3
                  /* TEXT, CLASS */
                )) : vue.createCommentVNode("v-if", true)
              ]),
              _ctx.$slots.default ? (vue.openBlock(), vue.createElementBlock(
                "div",
                {
                  key: 0,
                  class: vue.normalizeClass(_ctx.n("content"))
                },
                [
                  vue.renderSlot(_ctx.$slots, "default")
                ],
                2
                /* CLASS */
              )) : vue.createCommentVNode("v-if", true),
              vue.renderSlot(_ctx.$slots, "description", {
                slotClass: _ctx.n("description")
              }, () => [
                _ctx.description ? (vue.openBlock(), vue.createElementBlock(
                  "div",
                  {
                    key: 0,
                    class: vue.normalizeClass(_ctx.n("description"))
                  },
                  vue.toDisplayString(_ctx.description),
                  3
                  /* TEXT, CLASS */
                )) : vue.createCommentVNode("v-if", true)
              ]),
              _ctx.$slots.extra ? (vue.openBlock(), vue.createElementBlock(
                "div",
                {
                  key: 1,
                  class: vue.normalizeClass(_ctx.n("footer"))
                },
                [
                  vue.renderSlot(_ctx.$slots, "extra")
                ],
                2
                /* CLASS */
              )) : vue.createCommentVNode("v-if", true),
              _ctx.$slots["floating-content"] && !_ctx.isRow ? (vue.openBlock(), vue.createElementBlock(
                "div",
                {
                  key: 2,
                  class: vue.normalizeClass(_ctx.n("floating-content")),
                  style: vue.normalizeStyle({
                    height: _ctx.contentHeight,
                    opacity: _ctx.opacity,
                    transition: `opacity ${_ctx.floatingDuration * 2}ms`
                  })
                },
                [
                  vue.renderSlot(_ctx.$slots, "floating-content")
                ],
                6
                /* CLASS, STYLE */
              )) : vue.createCommentVNode("v-if", true)
            ],
            2
            /* CLASS */
          ),
          _ctx.showFloatingButtons ? (vue.openBlock(), vue.createElementBlock(
            "div",
            {
              key: 0,
              class: vue.normalizeClass(_ctx.classes(_ctx.n("floating-buttons"), _ctx.n("$--box"))),
              style: vue.normalizeStyle({
                zIndex: _ctx.zIndex,
                opacity: _ctx.opacity,
                transition: `opacity ${_ctx.floatingDuration * 2}ms`
              })
            },
            [
              vue.renderSlot(_ctx.$slots, "close-button", {}, () => [
                vue.createVNode(_component_var_button, {
                  "var-card-cover": "",
                  class: vue.normalizeClass(_ctx.classes(_ctx.n("close-button"), _ctx.n("$-elevation--6"))),
                  onClick: vue.withModifiers(_ctx.close, ["stop"])
                }, {
                  default: vue.withCtx(() => [
                    vue.createVNode(_component_var_icon, {
                      "var-card-cover": "",
                      name: "window-close",
                      class: vue.normalizeClass(_ctx.n("close-button-icon"))
                    }, null, 8, ["class"])
                  ]),
                  _: 1
                  /* STABLE */
                }, 8, ["class", "onClick"])
              ])
            ],
            6
            /* CLASS, STYLE */
          )) : vue.createCommentVNode("v-if", true)
        ],
        6
        /* CLASS, STYLE */
      ),
      vue.createElementVNode(
        "div",
        {
          class: vue.normalizeClass(_ctx.n("holder")),
          style: vue.normalizeStyle({
            width: _ctx.holderWidth,
            height: _ctx.holderHeight
          })
        },
        null,
        6
        /* CLASS, STYLE */
      )
    ],
    6
    /* CLASS, STYLE */
  )), [
    [_directive_ripple, { disabled: !_ctx.ripple || _ctx.floater }]
  ]);
}
const __sfc__$16 = vue.defineComponent({
  name: name$_,
  directives: { Ripple: stdin_default$68 },
  components: {
    VarIcon: stdin_default$63,
    VarButton: stdin_default$5y
  },
  props: props$Z,
  setup(props2) {
    const card = vue.ref(null);
    const cardFloater = vue.ref(null);
    const holderWidth = vue.ref("auto");
    const holderHeight = vue.ref("auto");
    const floaterWidth = vue.ref("100%");
    const floaterHeight = vue.ref("100%");
    const floaterTop = vue.ref("auto");
    const floaterLeft = vue.ref("auto");
    const floaterPosition = vue.ref(void 0);
    const floaterOverflow = vue.ref("hidden");
    const contentHeight = vue.ref("0px");
    const opacity = vue.ref("0");
    const isRow = vue.computed(() => props2.layout === "row");
    const showFloatingButtons = vue.ref(false);
    const floated = vue.ref(false);
    const { zIndex } = useZIndex(() => props2.floating, 1);
    let dropdownFloaterTop = "auto";
    let dropdownFloaterLeft = "auto";
    let dropper = null;
    const floater = vue.ref(null);
    useLock(
      () => props2.floating,
      () => !isRow.value
    );
    vue.watch(
      () => props2.floating,
      (value) => {
        if (isRow.value) {
          return;
        }
        vue.nextTick(() => {
          value ? floating() : dropdown();
        });
      },
      { immediate: true }
    );
    function floating() {
      clearTimeout(floater.value);
      clearTimeout(dropper);
      floater.value = null;
      floater.value = setTimeout(
        () => __async$d(this, null, function* () {
          const { width, height, left: left2, top: top2 } = getRect(card.value);
          holderWidth.value = toSizeUnit(width);
          holderHeight.value = toSizeUnit(height);
          floaterWidth.value = holderWidth.value;
          floaterHeight.value = holderHeight.value;
          floaterTop.value = toSizeUnit(top2);
          floaterLeft.value = toSizeUnit(left2);
          floaterPosition.value = "fixed";
          dropdownFloaterTop = floaterTop.value;
          dropdownFloaterLeft = floaterLeft.value;
          showFloatingButtons.value = true;
          yield doubleRaf();
          floaterTop.value = "0";
          floaterLeft.value = "0";
          floaterWidth.value = "100vw";
          floaterHeight.value = "100vh";
          contentHeight.value = "auto";
          opacity.value = "1";
          floaterOverflow.value = "auto";
          floated.value = true;
        }),
        props2.ripple ? RIPPLE_DELAY : 0
      );
    }
    function dropdown() {
      clearTimeout(dropper);
      clearTimeout(floater.value);
      floater.value = null;
      floaterWidth.value = holderWidth.value;
      floaterHeight.value = holderHeight.value;
      floaterTop.value = dropdownFloaterTop;
      floaterLeft.value = dropdownFloaterLeft;
      contentHeight.value = "0px";
      opacity.value = "0";
      showFloatingButtons.value = false;
      dropper = setTimeout(() => {
        holderWidth.value = "auto";
        holderHeight.value = "auto";
        floaterWidth.value = "100%";
        floaterHeight.value = "100%";
        floaterTop.value = "auto";
        floaterLeft.value = "auto";
        dropdownFloaterTop = "auto";
        dropdownFloaterLeft = "auto";
        floaterOverflow.value = "hidden";
        floaterPosition.value = void 0;
        floated.value = false;
      }, props2.floatingDuration);
    }
    function close() {
      call(props2["onUpdate:floating"], false);
    }
    function handleClick(e) {
      call(props2.onClick, e);
    }
    return {
      card,
      cardFloater,
      holderWidth,
      holderHeight,
      floater,
      floaterWidth,
      floaterHeight,
      floaterTop,
      floaterLeft,
      floaterPosition,
      floaterOverflow,
      contentHeight,
      opacity,
      zIndex,
      isRow,
      showFloatingButtons,
      floated,
      n: n$15,
      classes: classes$R,
      toSizeUnit,
      close,
      formatElevation,
      handleClick
    };
  }
});
__sfc__$16.render = __render__$13;
var stdin_default$5j = __sfc__$16;
withInstall(stdin_default$5j);
withPropsDefaultsSetter(stdin_default$5j, props$Z);
const _CardComponent = stdin_default$5j;
var stdin_default$5i = stdin_default$5j;
const props$Y = {
  title: String,
  icon: pickProps(props$1k, "name"),
  namespace: pickProps(props$1k, "namespace"),
  description: String,
  border: Boolean,
  borderOffset: [Number, String],
  iconClass: String,
  titleClass: String,
  descriptionClass: String,
  extraClass: String,
  ripple: Boolean,
  onClick: defineListenerProp()
};
const { name: name$Z, n: n$14, classes: classes$Q } = createNamespace("cell");
function __render__$12(_ctx, _cache) {
  const _component_var_icon = vue.resolveComponent("var-icon");
  const _directive_ripple = vue.resolveDirective("ripple");
  return vue.withDirectives((vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(_ctx.classes(_ctx.n(), [_ctx.border, _ctx.n("--border")], [_ctx.onClick, _ctx.n("--cursor")])),
      style: vue.normalizeStyle(_ctx.borderOffsetStyles),
      onClick: _cache[0] || (_cache[0] = (...args) => _ctx.handleClick && _ctx.handleClick(...args))
    },
    [
      vue.renderSlot(_ctx.$slots, "icon", {}, () => [
        _ctx.icon ? (vue.openBlock(), vue.createElementBlock(
          "div",
          {
            key: 0,
            class: vue.normalizeClass(_ctx.classes(_ctx.n("icon"), _ctx.iconClass))
          },
          [
            vue.createVNode(_component_var_icon, {
              name: _ctx.icon,
              namespace: _ctx.namespace
            }, null, 8, ["name", "namespace"])
          ],
          2
          /* CLASS */
        )) : vue.createCommentVNode("v-if", true)
      ]),
      vue.createElementVNode(
        "div",
        {
          class: vue.normalizeClass(_ctx.n("content"))
        },
        [
          vue.renderSlot(_ctx.$slots, "default", {}, () => [
            _ctx.title ? (vue.openBlock(), vue.createElementBlock(
              "div",
              {
                key: 0,
                class: vue.normalizeClass(_ctx.classes(_ctx.n("title"), _ctx.titleClass))
              },
              vue.toDisplayString(_ctx.title),
              3
              /* TEXT, CLASS */
            )) : vue.createCommentVNode("v-if", true)
          ]),
          vue.renderSlot(_ctx.$slots, "description", {}, () => [
            _ctx.description ? (vue.openBlock(), vue.createElementBlock(
              "div",
              {
                key: 0,
                class: vue.normalizeClass(_ctx.classes(_ctx.n("description"), _ctx.descriptionClass))
              },
              vue.toDisplayString(_ctx.description),
              3
              /* TEXT, CLASS */
            )) : vue.createCommentVNode("v-if", true)
          ])
        ],
        2
        /* CLASS */
      ),
      _ctx.$slots.extra ? (vue.openBlock(), vue.createElementBlock(
        "div",
        {
          key: 0,
          class: vue.normalizeClass(_ctx.classes(_ctx.n("extra"), _ctx.extraClass))
        },
        [
          vue.renderSlot(_ctx.$slots, "extra")
        ],
        2
        /* CLASS */
      )) : vue.createCommentVNode("v-if", true)
    ],
    6
    /* CLASS, STYLE */
  )), [
    [_directive_ripple, { disabled: !_ctx.ripple }]
  ]);
}
const __sfc__$15 = vue.defineComponent({
  name: name$Z,
  components: { VarIcon: stdin_default$63 },
  directives: { Ripple: stdin_default$68 },
  props: props$Y,
  setup(props2) {
    const borderOffsetStyles = vue.computed(() => {
      if (props2.borderOffset == null) {
        return {};
      }
      return {
        "--cell-border-left": toSizeUnit(props2.borderOffset),
        "--cell-border-right": toSizeUnit(props2.borderOffset)
      };
    });
    function handleClick(e) {
      call(props2.onClick, e);
    }
    return {
      borderOffsetStyles,
      n: n$14,
      classes: classes$Q,
      toSizeUnit,
      handleClick
    };
  }
});
__sfc__$15.render = __render__$12;
var stdin_default$5h = __sfc__$15;
withInstall(stdin_default$5h);
withPropsDefaultsSetter(stdin_default$5h, props$Y);
const _CellComponent = stdin_default$5h;
var stdin_default$5g = stdin_default$5h;
const props$X = {
  modelValue: {
    type: Array,
    default: () => []
  },
  max: [String, Number],
  options: {
    type: Array,
    default: () => []
  },
  labelKey: {
    type: String,
    default: "label"
  },
  valueKey: {
    type: String,
    default: "value"
  },
  direction: {
    type: String,
    default: "horizontal"
  },
  validateTrigger: {
    type: Array,
    default: () => ["onChange"]
  },
  rules: [Array, Function, Object],
  onChange: defineListenerProp(),
  "onUpdate:modelValue": defineListenerProp()
};
const { name: name$Y, n: n$13, classes: classes$P } = createNamespace("checkbox-group");
function __render__$11(_ctx, _cache) {
  const _component_maybe_v_node = vue.resolveComponent("maybe-v-node");
  const _component_var_checkbox = vue.resolveComponent("var-checkbox");
  const _component_var_form_details = vue.resolveComponent("var-form-details");
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(_ctx.n("wrap"))
    },
    [
      vue.createElementVNode(
        "div",
        {
          class: vue.normalizeClass(_ctx.classes(_ctx.n(), _ctx.n(`--${_ctx.direction}`)))
        },
        [
          _ctx.options.length ? (vue.openBlock(true), vue.createElementBlock(
            vue.Fragment,
            { key: 0 },
            vue.renderList(_ctx.options, (option) => {
              return vue.openBlock(), vue.createBlock(_component_var_checkbox, {
                key: option[_ctx.valueKey],
                "checked-value": option[_ctx.valueKey],
                disabled: option.disabled
              }, {
                default: vue.withCtx(({ checked }) => [
                  vue.createVNode(_component_maybe_v_node, {
                    is: _ctx.isFunction(option[_ctx.labelKey]) ? option[_ctx.labelKey](option, checked) : option[_ctx.labelKey]
                  }, null, 8, ["is"])
                ]),
                _: 2
                /* DYNAMIC */
              }, 1032, ["checked-value", "disabled"]);
            }),
            128
            /* KEYED_FRAGMENT */
          )) : vue.createCommentVNode("v-if", true),
          vue.renderSlot(_ctx.$slots, "default")
        ],
        2
        /* CLASS */
      ),
      vue.createVNode(_component_var_form_details, { "error-message": _ctx.errorMessage }, null, 8, ["error-message"])
    ],
    2
    /* CLASS */
  );
}
const __sfc__$14 = vue.defineComponent({
  name: name$Y,
  components: { VarFormDetails: stdin_default$5W, VarCheckbox: stdin_default$5Q, MaybeVNode },
  props: props$X,
  setup(props2) {
    const max2 = vue.computed(() => props2.max);
    const checkedCount = vue.computed(() => props2.modelValue.length);
    const { length, checkboxes, bindCheckboxes } = useCheckboxes();
    const { bindForm } = useForm();
    const {
      errorMessage,
      validateWithTrigger: vt,
      validate: v,
      // expose
      resetValidation
    } = useValidation();
    const checkboxGroupErrorMessage = vue.computed(() => errorMessage.value);
    const checkboxGroupProvider = {
      max: max2,
      checkedCount,
      onChecked,
      onUnchecked,
      validate,
      resetValidation,
      reset,
      errorMessage: checkboxGroupErrorMessage
    };
    vue.watch(() => props2.modelValue, syncCheckboxes, { deep: true });
    vue.watch(() => length.value, syncCheckboxes);
    bindCheckboxes(checkboxGroupProvider);
    call(bindForm, checkboxGroupProvider);
    function validateWithTrigger(trigger) {
      vue.nextTick(() => {
        const { validateTrigger, rules, modelValue } = props2;
        vt(validateTrigger, trigger, rules, modelValue);
      });
    }
    function change(changedModelValue) {
      call(props2["onUpdate:modelValue"], changedModelValue);
      call(props2.onChange, changedModelValue);
      validateWithTrigger("onChange");
    }
    function onChecked(changedValue) {
      const { modelValue } = props2;
      if (!modelValue.includes(changedValue)) {
        change([...modelValue, changedValue]);
      }
    }
    function onUnchecked(changedValue) {
      const { modelValue } = props2;
      if (!modelValue.includes(changedValue)) {
        return;
      }
      change(modelValue.filter((value) => value !== changedValue));
    }
    function syncCheckboxes() {
      checkboxes.forEach(({ sync }) => sync(props2.modelValue));
    }
    function checkAll2() {
      const checkedValues = checkboxes.map(({ checkedValue }) => checkedValue.value);
      const changedModelValue = uniq(checkedValues);
      call(props2["onUpdate:modelValue"], changedModelValue);
      return changedModelValue;
    }
    function inverseAll() {
      const checkedValues = checkboxes.filter(({ checked }) => !checked.value).map(({ checkedValue }) => checkedValue.value);
      const changedModelValue = uniq(checkedValues);
      call(props2["onUpdate:modelValue"], changedModelValue);
      return changedModelValue;
    }
    function reset() {
      call(props2["onUpdate:modelValue"], []);
      resetValidation();
    }
    function validate() {
      return v(props2.rules, props2.modelValue);
    }
    return {
      errorMessage,
      n: n$13,
      classes: classes$P,
      checkAll: checkAll2,
      inverseAll,
      reset,
      validate,
      resetValidation,
      isFunction
    };
  }
});
__sfc__$14.render = __render__$11;
var stdin_default$5f = __sfc__$14;
withInstall(stdin_default$5f);
withPropsDefaultsSetter(stdin_default$5f, props$X);
const _CheckboxGroupComponent = stdin_default$5f;
var stdin_default$5e = stdin_default$5f;
const props$W = {
  type: {
    type: String,
    default: "default"
  },
  size: {
    type: String,
    default: "normal"
  },
  color: String,
  textColor: String,
  iconName: pickProps(props$1k, "name"),
  namespace: pickProps(props$1k, "namespace"),
  plain: Boolean,
  round: {
    type: Boolean,
    default: true
  },
  elevation: {
    type: [Boolean, Number, String],
    default: false
  },
  block: Boolean,
  closeable: Boolean,
  onClose: defineListenerProp()
};
const { name: name$X, n: n$12, classes: classes$O } = createNamespace("chip");
function __render__$10(_ctx, _cache) {
  const _component_var_icon = vue.resolveComponent("var-icon");
  return vue.openBlock(), vue.createBlock(vue.Transition, {
    name: _ctx.n("$-fade")
  }, {
    default: vue.withCtx(() => [
      vue.createElementVNode(
        "span",
        vue.mergeProps({
          class: _ctx.classes(_ctx.n(), _ctx.n("$--box"), _ctx.formatElevation(_ctx.elevation, 1), ..._ctx.contentClass),
          style: _ctx.chipStyle
        }, _ctx.$attrs),
        [
          vue.renderSlot(_ctx.$slots, "left"),
          vue.createElementVNode(
            "span",
            {
              class: vue.normalizeClass(_ctx.n(`text-${_ctx.size}`))
            },
            [
              vue.renderSlot(_ctx.$slots, "default")
            ],
            2
            /* CLASS */
          ),
          vue.renderSlot(_ctx.$slots, "right"),
          _ctx.closeable ? (vue.openBlock(), vue.createElementBlock(
            "span",
            {
              key: 0,
              class: vue.normalizeClass(_ctx.n("--close")),
              onClick: _cache[0] || (_cache[0] = (...args) => _ctx.handleClose && _ctx.handleClose(...args))
            },
            [
              vue.createVNode(_component_var_icon, {
                name: `${_ctx.iconName ? _ctx.iconName : "close-circle"}`,
                namespace: _ctx.namespace
              }, null, 8, ["name", "namespace"])
            ],
            2
            /* CLASS */
          )) : vue.createCommentVNode("v-if", true)
        ],
        16
        /* FULL_PROPS */
      )
    ]),
    _: 3
    /* FORWARDED */
  }, 8, ["name"]);
}
const __sfc__$13 = vue.defineComponent({
  name: name$X,
  components: {
    VarIcon: stdin_default$63
  },
  inheritAttrs: false,
  props: props$W,
  setup(props2) {
    const chipStyle = vue.computed(() => {
      const { plain, textColor, color } = props2;
      if (plain) {
        return {
          color: textColor || color,
          borderColor: color
        };
      }
      return {
        color: textColor,
        background: color
      };
    });
    const contentClass = vue.computed(() => {
      const { size, block, type, plain, round: round2 } = props2;
      const blockClass = block ? n$12("$--flex") : n$12("$--inline-flex");
      const plainTypeClass = plain ? `${n$12("plain")} ${n$12(`plain-${type}`)}` : n$12(`--${type}`);
      const roundClass = round2 ? n$12("--round") : null;
      return [n$12(`--${size}`), blockClass, plainTypeClass, roundClass];
    });
    function handleClose(e) {
      call(props2.onClose, e);
    }
    return {
      chipStyle,
      contentClass,
      n: n$12,
      classes: classes$O,
      formatElevation,
      handleClose
    };
  }
});
__sfc__$13.render = __render__$10;
var stdin_default$5d = __sfc__$13;
withInstall(stdin_default$5d);
withPropsDefaultsSetter(stdin_default$5d, props$W);
const _ChipComponent = stdin_default$5d;
var stdin_default$5c = stdin_default$5d;
const HIGHLIGHTER_PROVIDER_KEY = Symbol("HIGHLIGHTER_PROVIDER_KEY");
function provideHighlighterProvider(highlighterProvider) {
  vue.provide(HIGHLIGHTER_PROVIDER_KEY, highlighterProvider);
}
function injectHighlighterProvider() {
  if (!keyInProvides(HIGHLIGHTER_PROVIDER_KEY)) {
    return { highlighter: null, theme: null };
  }
  return vue.inject(HIGHLIGHTER_PROVIDER_KEY);
}
const props$V = {
  code: {
    type: String,
    default: ""
  },
  language: String,
  theme: String,
  wordWrap: Boolean,
  trim: {
    type: Boolean,
    default: true
  }
};
var __async$c = (__this, __arguments, generator) => {
  return new Promise((resolve, reject) => {
    var fulfilled = (value) => {
      try {
        step(generator.next(value));
      } catch (e) {
        reject(e);
      }
    };
    var rejected = (value) => {
      try {
        step(generator.throw(value));
      } catch (e) {
        reject(e);
      }
    };
    var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
    step((generator = generator.apply(__this, __arguments)).next());
  });
};
const { name: name$W, n: n$11, classes: classes$N } = createNamespace("code");
const _hoisted_1$r = ["innerHTML"];
function __render__$$(_ctx, _cache) {
  return vue.openBlock(), vue.createElementBlock("div", {
    class: vue.normalizeClass(_ctx.classes(_ctx.n(), [_ctx.wordWrap, _ctx.n("--word-wrap")])),
    innerHTML: _ctx.highlightedCode
  }, null, 10, _hoisted_1$r);
}
const __sfc__$12 = vue.defineComponent({
  name: name$W,
  props: props$V,
  setup(props2) {
    const { highlighter, theme } = injectHighlighterProvider();
    const highlightedCode = vue.ref("");
    const normalizedTheme = vue.computed(() => {
      var _a;
      return (_a = props2.theme) != null ? _a : theme == null ? void 0 : theme.value;
    });
    if (highlighter) {
      vue.watch(
        () => [highlighter.value, props2.code, props2.language, normalizedTheme.value, props2.trim],
        (_0) => __async$c(this, [_0], function* ([highlighter2, code, lang = "", theme2 = "", trim]) {
          if (!highlighter2) {
            return;
          }
          highlightedCode.value = yield highlighter2.codeToHtml(trim ? code.trim() : code, { lang, theme: theme2 });
        }),
        { immediate: true }
      );
    }
    return {
      n: n$11,
      classes: classes$N,
      highlightedCode
    };
  }
});
__sfc__$12.render = __render__$$;
var stdin_default$5b = __sfc__$12;
withInstall(stdin_default$5b);
withPropsDefaultsSetter(stdin_default$5b, props$V);
const _CodeComponent = stdin_default$5b;
var stdin_default$5a = stdin_default$5b;
const props$U = {
  span: {
    type: [String, Number],
    default: 24
  },
  offset: {
    type: [String, Number],
    default: 0
  },
  direction: {
    type: String,
    default: "row"
  },
  justify: String,
  align: String,
  xs: [Object, Number, String],
  sm: [Object, Number, String],
  md: [Object, Number, String],
  lg: [Object, Number, String],
  xl: [Object, Number, String],
  onClick: defineListenerProp()
};
const ROW_BIND_COL_KEY = Symbol("ROW_BIND_COL_KEY");
function useCols() {
  const { length, childProviders: cols, bindChildren } = useChildren(ROW_BIND_COL_KEY);
  return {
    length,
    cols,
    bindCols: bindChildren
  };
}
function useRow() {
  const { index, bindParent, parentProvider } = useParent(ROW_BIND_COL_KEY);
  return {
    index,
    row: parentProvider,
    bindRow: bindParent
  };
}
const { name: name$V, n: n$10, classes: classes$M } = createNamespace("col");
function __render__$_(_ctx, _cache) {
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(
        _ctx.classes(
          _ctx.n(),
          _ctx.n("$--box"),
          [_ctx.span >= 0, _ctx.n(`--span-${_ctx.span}`)],
          [_ctx.offset, _ctx.n(`--offset-${_ctx.offset}`)],
          ..._ctx.getSize("xs", _ctx.xs),
          ..._ctx.getSize("sm", _ctx.sm),
          ..._ctx.getSize("md", _ctx.md),
          ..._ctx.getSize("lg", _ctx.lg),
          ..._ctx.getSize("xl", _ctx.xl)
        )
      ),
      style: vue.normalizeStyle({
        flexDirection: _ctx.direction,
        justifyContent: _ctx.padStartFlex(_ctx.justify),
        alignItems: _ctx.padStartFlex(_ctx.align),
        paddingLeft: _ctx.toSizeUnit(_ctx.padding.left),
        paddingRight: _ctx.toSizeUnit(_ctx.padding.right),
        paddingTop: _ctx.toSizeUnit(_ctx.padding.top),
        paddingBottom: _ctx.toSizeUnit(_ctx.padding.bottom)
      }),
      onClick: _cache[0] || (_cache[0] = (...args) => _ctx.handleClick && _ctx.handleClick(...args))
    },
    [
      vue.renderSlot(_ctx.$slots, "default")
    ],
    6
    /* CLASS, STYLE */
  );
}
const __sfc__$11 = vue.defineComponent({
  name: name$V,
  props: props$U,
  setup(props2) {
    const span = vue.computed(() => toNumber(props2.span));
    const offset2 = vue.computed(() => toNumber(props2.offset));
    const padding = vue.computed(() => {
      var _a;
      const [y = 0, x = 0] = (_a = row == null ? void 0 : row.average.value) != null ? _a : [];
      return { left: x, right: x, top: y, bottom: y };
    });
    const { row, bindRow } = useRow();
    call(bindRow, null);
    function getSize2(mode, size) {
      const classes2 = [];
      if (size == null) {
        return classes2;
      }
      if (isPlainObject(size)) {
        const { offset: offset22, span: span2 } = size;
        if (Number(span2) >= 0) {
          classes2.push(n$10(`--span-${mode}-${span2}`));
        }
        if (offset22) {
          classes2.push(n$10(`--offset-${mode}-${offset22}`));
        }
        return classes2;
      }
      if (Number(size) >= 0) {
        classes2.push(n$10(`--span-${mode}-${size}`));
      }
      return classes2;
    }
    function handleClick(e) {
      call(props2.onClick, e);
    }
    return {
      span,
      offset: offset2,
      padding,
      n: n$10,
      classes: classes$M,
      toNumber,
      toSizeUnit,
      getSize: getSize2,
      handleClick,
      padStartFlex
    };
  }
});
__sfc__$11.render = __render__$_;
var stdin_default$59 = __sfc__$11;
withInstall(stdin_default$59);
withPropsDefaultsSetter(stdin_default$59, props$U);
const _ColComponent = stdin_default$59;
var stdin_default$58 = stdin_default$59;
const props$T = {
  modelValue: [Array, String, Number],
  accordion: Boolean,
  offset: {
    type: Boolean,
    default: true
  },
  divider: {
    type: Boolean,
    default: true
  },
  elevation: {
    type: [Boolean, String, Number],
    default: true
  },
  onChange: defineListenerProp(),
  "onUpdate:modelValue": defineListenerProp()
};
const COLLAPSE_BIND_COLLAPSE_ITEM_KEY = Symbol("COLLAPSE_BIND_COLLAPSE_ITEM_KEY");
function useCollapseItem() {
  const { childProviders, length, bindChildren } = useChildren(
    COLLAPSE_BIND_COLLAPSE_ITEM_KEY
  );
  return {
    length,
    collapseItems: childProviders,
    bindCollapseItems: bindChildren
  };
}
const { name: name$U, n: n$$ } = createNamespace("collapse");
function __render__$Z(_ctx, _cache) {
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(_ctx.n())
    },
    [
      vue.renderSlot(_ctx.$slots, "default")
    ],
    2
    /* CLASS */
  );
}
const __sfc__$10 = vue.defineComponent({
  name: name$U,
  props: props$T,
  setup(props2) {
    const offset2 = vue.computed(() => props2.offset);
    const divider = vue.computed(() => props2.divider);
    const elevation = vue.computed(() => props2.elevation);
    const accordion = vue.computed(() => props2.accordion);
    const normalizeValues = vue.computed(() => normalizeToArray(props2.modelValue));
    const { length, collapseItems, bindCollapseItems } = useCollapseItem();
    const collapseProvider = {
      offset: offset2,
      divider,
      elevation,
      accordion,
      updateItem
    };
    vue.watch(
      () => length.value,
      () => vue.nextTick().then(resize)
    );
    vue.watch(
      () => props2.modelValue,
      () => vue.nextTick().then(resize)
    );
    bindCollapseItems(collapseProvider);
    function updateItem(itemValue, targetExpand) {
      if (props2.accordion) {
        const modelValue2 = targetExpand ? itemValue : void 0;
        updateModelValue(modelValue2);
        return;
      }
      const modelValue = targetExpand ? [...normalizeValues.value, itemValue] : normalizeValues.value.filter((value) => value !== itemValue);
      updateModelValue(modelValue);
    }
    function updateModelValue(modelValue) {
      call(props2["onUpdate:modelValue"], modelValue);
      call(props2.onChange, modelValue);
    }
    function matchItems() {
      if (props2.accordion) {
        const [value] = normalizeValues.value;
        if (value == null) {
          return;
        }
        const matchedNameItem = collapseItems.find(({ name: name2 }) => value === name2.value);
        if (matchedNameItem == null) {
          return collapseItems.find(({ index, name: name2 }) => name2.value == null && value === index.value);
        }
        return matchedNameItem;
      }
      const matchedNameItems = collapseItems.filter(
        ({ name: name2 }) => name2.value != null && normalizeValues.value.includes(name2.value)
      );
      const matchedIndexItems = collapseItems.filter(
        ({ index, name: name2 }) => name2.value == null && normalizeValues.value.includes(index.value)
      );
      return [...matchedNameItems, ...matchedIndexItems];
    }
    function resize() {
      const matchedItems = removeArrayBlank(normalizeToArray(matchItems()));
      collapseItems.forEach((collapseItem) => {
        collapseItem.init(matchedItems.includes(collapseItem));
      });
    }
    const toggleAll = (options) => {
      if (props2.accordion) {
        return;
      }
      const matchedItems = collapseItems.filter((item) => {
        var _a;
        const itemValue = (_a = item.name.value) != null ? _a : item.index.value;
        const expanded = normalizeValues.value.includes(itemValue);
        if (options.skipDisabled && item.disabled.value) {
          return expanded;
        }
        if (options.expand === "inverse") {
          return !expanded;
        }
        return options.expand;
      });
      const modelValue = matchedItems.map((item) => {
        var _a;
        return (_a = item.name.value) != null ? _a : item.index.value;
      });
      updateModelValue(modelValue);
    };
    return {
      divider,
      n: n$$,
      toggleAll
    };
  }
});
__sfc__$10.render = __render__$Z;
var stdin_default$57 = __sfc__$10;
withInstall(stdin_default$57);
withPropsDefaultsSetter(stdin_default$57, props$T);
const _CollapseComponent = stdin_default$57;
var stdin_default$56 = stdin_default$57;
var __async$b = (__this, __arguments, generator) => {
  return new Promise((resolve, reject) => {
    var fulfilled = (value) => {
      try {
        step(generator.next(value));
      } catch (e) {
        reject(e);
      }
    };
    var rejected = (value) => {
      try {
        step(generator.throw(value));
      } catch (e) {
        reject(e);
      }
    };
    var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
    step((generator = generator.apply(__this, __arguments)).next());
  });
};
function useCollapseTransition(options) {
  const { contentEl, showContent, expand } = options;
  let isInitToTrigger = true;
  vue.watch(
    expand,
    (value) => {
      vue.nextTick(() => {
        value ? open() : close();
      });
    },
    { immediate: true }
  );
  function open() {
    return __async$b(this, null, function* () {
      if (!contentEl.value) {
        return;
      }
      contentEl.value.style.height = "";
      showContent.value = true;
      yield raf();
      if (!contentEl.value) {
        return;
      }
      const { offsetHeight } = contentEl.value;
      contentEl.value.style.height = "0px";
      yield raf();
      if (!contentEl.value) {
        return;
      }
      contentEl.value.style.height = offsetHeight + "px";
      if (!isInitToTrigger) {
        return;
      }
      yield doubleRaf();
      if (isInitToTrigger) {
        handleTransitionEnd();
      }
    });
  }
  const close = () => __async$b(this, null, function* () {
    if (!contentEl.value) {
      return;
    }
    const { offsetHeight } = contentEl.value;
    contentEl.value.style.height = offsetHeight + "px";
    yield raf();
    contentEl.value.style.height = "0px";
  });
  const handleTransitionEnd = () => {
    if (!expand.value) {
      showContent.value = false;
    }
    contentEl.value.style.height = "";
  };
  const handleTransitionStart = () => {
    isInitToTrigger = false;
  };
  return {
    handleTransitionEnd,
    handleTransitionStart
  };
}
const props$S = {
  name: [String, Number],
  title: String,
  icon: {
    type: String,
    default: "chevron-down"
  },
  disabled: Boolean
};
function useCollapse() {
  const { parentProvider, index, bindParent } = useParent(
    COLLAPSE_BIND_COLLAPSE_ITEM_KEY
  );
  assert(!!bindParent, "Collapse", "<var-collapse-item/> must in <var-collapse>");
  return {
    index,
    collapse: parentProvider,
    bindCollapse: bindParent
  };
}
const { name: name$T, n: n$_, classes: classes$L } = createNamespace("collapse-item");
const _hoisted_1$q = ["aria-expanded", "aria-disabled", "role"];
function __render__$Y(_ctx, _cache) {
  const _component_var_icon = vue.resolveComponent("var-icon");
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(_ctx.classes(_ctx.n(), [_ctx.offset && _ctx.isShow, _ctx.n("--active")], [_ctx.disabled, _ctx.n("--disable")])),
      style: vue.normalizeStyle(`--collapse-divider-top: ${_ctx.divider ? "var(--collapse-border-top)" : "none"}`)
    },
    [
      vue.createElementVNode(
        "div",
        {
          class: vue.normalizeClass(_ctx.classes(_ctx.n("shadow"), _ctx.formatElevation(_ctx.elevation, 2)))
        },
        null,
        2
        /* CLASS */
      ),
      vue.createElementVNode("div", {
        class: vue.normalizeClass(_ctx.classes(_ctx.n("header"), [!_ctx.disabled, _ctx.n("header--cursor-pointer")])),
        "aria-expanded": _ctx.isShow,
        "aria-disabled": _ctx.disabled,
        role: _ctx.accordion ? "tab" : "button",
        onClick: _cache[0] || (_cache[0] = (...args) => _ctx.toggle && _ctx.toggle(...args))
      }, [
        _ctx.$slots.title || _ctx.title ? (vue.openBlock(), vue.createElementBlock(
          "div",
          {
            key: 0,
            class: vue.normalizeClass(_ctx.n("header-title"))
          },
          [
            vue.renderSlot(_ctx.$slots, "title", {}, () => [
              vue.createTextVNode(
                vue.toDisplayString(_ctx.title),
                1
                /* TEXT */
              )
            ])
          ],
          2
          /* CLASS */
        )) : vue.createCommentVNode("v-if", true),
        vue.createElementVNode(
          "div",
          {
            class: vue.normalizeClass(_ctx.n("header-icon"))
          },
          [
            vue.renderSlot(_ctx.$slots, "icon", {}, () => [
              vue.createVNode(_component_var_icon, {
                name: _ctx.icon,
                transition: 250,
                class: vue.normalizeClass(
                  _ctx.classes(
                    _ctx.n("header-icon"),
                    [_ctx.isShow && _ctx.icon === "chevron-down", _ctx.n("header-open")],
                    [_ctx.disabled, _ctx.n("header--disable")]
                  )
                )
              }, null, 8, ["name", "class"])
            ])
          ],
          2
          /* CLASS */
        )
      ], 10, _hoisted_1$q),
      vue.withDirectives(vue.createElementVNode(
        "div",
        {
          ref: "contentEl",
          class: vue.normalizeClass(_ctx.n("content")),
          onTransitionend: _cache[1] || (_cache[1] = (...args) => _ctx.handleTransitionEnd && _ctx.handleTransitionEnd(...args)),
          onTransitionstart: _cache[2] || (_cache[2] = (...args) => _ctx.handleTransitionStart && _ctx.handleTransitionStart(...args))
        },
        [
          vue.createElementVNode(
            "div",
            {
              class: vue.normalizeClass(_ctx.n("content-wrap"))
            },
            [
              vue.renderSlot(_ctx.$slots, "default")
            ],
            2
            /* CLASS */
          )
        ],
        34
        /* CLASS, NEED_HYDRATION */
      ), [
        [vue.vShow, _ctx.showContent]
      ])
    ],
    6
    /* CLASS, STYLE */
  );
}
const __sfc__$$ = vue.defineComponent({
  name: name$T,
  components: {
    VarIcon: stdin_default$63
  },
  props: props$S,
  setup(props2) {
    const isShow = vue.ref(false);
    const showContent = vue.ref(false);
    const contentEl = vue.ref(null);
    const name2 = vue.computed(() => props2.name);
    const disabled = vue.computed(() => props2.disabled);
    const { index, collapse, bindCollapse } = useCollapse();
    const { offset: offset2, divider, elevation, accordion, updateItem } = collapse;
    const collapseItemProvider = {
      index,
      name: name2,
      disabled,
      init
    };
    bindCollapse(collapseItemProvider);
    const { handleTransitionEnd, handleTransitionStart } = useCollapseTransition({
      contentEl,
      showContent,
      expand: isShow
    });
    function init(show) {
      isShow.value = show;
    }
    function toggle() {
      var _a;
      if (props2.disabled) {
        return;
      }
      updateItem((_a = props2.name) != null ? _a : index.value, !isShow.value);
    }
    return {
      isShow,
      showContent,
      offset: offset2,
      divider,
      elevation,
      contentEl,
      accordion,
      n: n$_,
      classes: classes$L,
      toggle,
      formatElevation,
      handleTransitionEnd,
      handleTransitionStart
    };
  }
});
__sfc__$$.render = __render__$Y;
var stdin_default$55 = __sfc__$$;
withInstall(stdin_default$55);
withPropsDefaultsSetter(stdin_default$55, props$S);
const _CollapseItemComponent = stdin_default$55;
var stdin_default$54 = stdin_default$55;
const props$R = {
  expand: Boolean
};
const { name: name$S, n: n$Z } = createNamespace("collapse-transition");
function __render__$X(_ctx, _cache) {
  return vue.withDirectives((vue.openBlock(), vue.createElementBlock(
    "div",
    {
      ref: "contentEl",
      class: vue.normalizeClass(_ctx.n("content")),
      onTransitionend: _cache[0] || (_cache[0] = (...args) => _ctx.handleTransitionEnd && _ctx.handleTransitionEnd(...args)),
      onTransitionstart: _cache[1] || (_cache[1] = (...args) => _ctx.handleTransitionStart && _ctx.handleTransitionStart(...args))
    },
    [
      vue.renderSlot(_ctx.$slots, "default")
    ],
    34
    /* CLASS, NEED_HYDRATION */
  )), [
    [vue.vShow, _ctx.showContent]
  ]);
}
const __sfc__$_ = vue.defineComponent({
  name: name$S,
  props: props$R,
  setup(props2) {
    const showContent = vue.ref(false);
    const contentEl = vue.ref(null);
    const expand = vue.computed(() => props2.expand);
    const { handleTransitionEnd, handleTransitionStart } = useCollapseTransition({
      contentEl,
      showContent,
      expand
    });
    return {
      showContent,
      contentEl,
      n: n$Z,
      handleTransitionEnd,
      handleTransitionStart
    };
  }
});
__sfc__$_.render = __render__$X;
var stdin_default$53 = __sfc__$_;
withInstall(stdin_default$53);
withPropsDefaultsSetter(stdin_default$53, props$R);
const _CollapseTransitionComponent = stdin_default$53;
var stdin_default$52 = stdin_default$53;
const props$Q = {
  from: {
    type: [String, Number],
    default: 0
  },
  to: {
    type: [String, Number],
    default: 0
  },
  duration: {
    type: [String, Number],
    default: 2e3
  },
  precision: {
    type: [String, Number],
    default: 0
  },
  autoStart: {
    type: Boolean,
    default: true
  },
  timingFunction: {
    type: Function
  },
  onEnd: defineListenerProp()
};
const { name: name$R, n: n$Y } = createNamespace("count-to");
function __render__$W(_ctx, _cache) {
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(_ctx.n())
    },
    [
      vue.renderSlot(_ctx.$slots, "default", { value: _ctx.value }, () => [
        vue.createTextVNode(
          vue.toDisplayString(_ctx.value),
          1
          /* TEXT */
        )
      ])
    ],
    2
    /* CLASS */
  );
}
const __sfc__$Z = vue.defineComponent({
  name: name$R,
  props: props$Q,
  setup(props2) {
    const {
      value: _value,
      reset: _reset,
      // expose
      start: start2,
      // expose
      pause
    } = useMotion({
      from: () => toNumber(props2.from),
      to: () => toNumber(props2.to),
      duration: () => toNumber(props2.duration),
      timingFunction: props2.timingFunction,
      onFinished() {
        call(props2.onEnd);
      }
    });
    const value = vue.computed(() => floor$1(_value.value, toNumber(props2.precision)));
    vue.watch(() => [props2.from, props2.to, props2.duration], reset);
    vue.onMounted(reset);
    function reset() {
      _reset();
      if (props2.autoStart) {
        start2();
      }
    }
    return {
      value,
      n: n$Y,
      start: start2,
      pause,
      reset,
      toNumber,
      floor: floor$1
    };
  }
});
__sfc__$Z.render = __render__$W;
var stdin_default$51 = __sfc__$Z;
withInstall(stdin_default$51);
withPropsDefaultsSetter(stdin_default$51, props$Q);
const _CountToComponent = stdin_default$51;
var stdin_default$50 = stdin_default$51;
const props$P = {
  time: {
    type: [String, Number],
    default: 0
  },
  format: {
    type: String,
    default: "HH : mm : ss"
  },
  autoStart: {
    type: Boolean,
    default: true
  },
  onEnd: defineListenerProp(),
  onChange: defineListenerProp()
};
const { name: name$Q, n: n$X } = createNamespace("countdown");
const SECOND = 1e3;
const MINUTE = 60 * SECOND;
const HOUR = 60 * MINUTE;
const DAY = 24 * HOUR;
function __render__$V(_ctx, _cache) {
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(_ctx.n())
    },
    [
      vue.renderSlot(_ctx.$slots, "default", vue.normalizeProps(vue.guardReactiveProps(_ctx.timeData)), () => [
        vue.createTextVNode(
          vue.toDisplayString(_ctx.showTime),
          1
          /* TEXT */
        )
      ])
    ],
    2
    /* CLASS */
  );
}
const __sfc__$Y = vue.defineComponent({
  name: name$Q,
  props: props$P,
  setup(props2) {
    const showTime = vue.ref("");
    const timeData = vue.ref({
      days: 0,
      hours: 0,
      minutes: 0,
      seconds: 0,
      milliseconds: 0
    });
    let endTime = 0;
    let isStart = false;
    let handle = 0;
    let remainingTime = 0;
    let cacheIsStart;
    vue.watch(
      () => props2.time,
      () => {
        reset();
        if (props2.autoStart) {
          start2();
        }
      }
    );
    vue.onMounted(() => {
      countdown();
      if (props2.autoStart) {
        start2();
      }
    });
    vue.onActivated(() => {
      if (cacheIsStart == null) {
        return;
      }
      isStart = cacheIsStart;
      if (isStart === true) {
        start2(true);
      }
    });
    vue.onDeactivated(() => {
      cacheIsStart = isStart;
      pause();
    });
    vue.onUnmounted(pause);
    function parseFormat(format2, time) {
      const scannedTimes = Object.values(time);
      const scannedFormats = ["DD", "HH", "mm", "ss"];
      const padValues = [24, 60, 60, 1e3];
      scannedFormats.forEach((scannedFormat, index) => {
        if (!format2.includes(scannedFormat)) {
          scannedTimes[index + 1] += scannedTimes[index] * padValues[index];
        } else {
          format2 = format2.replace(scannedFormat, padStart$1(`${scannedTimes[index]}`, 2, "0"));
        }
      });
      if (format2.includes("S")) {
        const ms = padStart$1(`${scannedTimes[scannedTimes.length - 1]}`, 3, "0");
        if (format2.includes("SSS")) {
          format2 = format2.replace("SSS", ms);
        } else if (format2.includes("SS")) {
          format2 = format2.replace("SS", ms.slice(0, 2));
        } else {
          format2 = format2.replace("S", ms.slice(0, 1));
        }
      }
      return format2;
    }
    function displayTime(durationTime) {
      const days = Math.floor(durationTime / DAY);
      const hours = Math.floor(durationTime % DAY / HOUR);
      const minutes = Math.floor(durationTime % HOUR / MINUTE);
      const seconds = Math.floor(durationTime % MINUTE / SECOND);
      const milliseconds = Math.floor(durationTime % SECOND);
      const time = {
        days,
        hours,
        minutes,
        seconds,
        milliseconds
      };
      timeData.value = time;
      call(props2.onChange, timeData.value);
      showTime.value = parseFormat(props2.format, time);
    }
    function countdown() {
      const { time, onEnd } = props2;
      const now = performance.now();
      if (!endTime) {
        endTime = now + toNumber(time);
      }
      remainingTime = endTime - now;
      if (remainingTime < 0) {
        remainingTime = 0;
      }
      displayTime(remainingTime);
      if (remainingTime === 0) {
        call(onEnd);
        return;
      }
      if (isStart) {
        handle = requestAnimationFrame$1(countdown);
      }
    }
    function start2(resume = false) {
      if (isStart && !resume) {
        return;
      }
      isStart = true;
      endTime = performance.now() + (remainingTime || toNumber(props2.time));
      countdown();
    }
    function pause() {
      isStart = false;
      cancelAnimationFrame(handle);
    }
    function reset() {
      endTime = 0;
      isStart = false;
      cancelAnimationFrame(handle);
      countdown();
    }
    return {
      showTime,
      timeData,
      n: n$X,
      start: start2,
      pause,
      reset
    };
  }
});
__sfc__$Y.render = __render__$V;
var stdin_default$4$ = __sfc__$Y;
withInstall(stdin_default$4$);
withPropsDefaultsSetter(stdin_default$4$, props$P);
const _CountdownComponent = stdin_default$4$;
var stdin_default$4_ = stdin_default$4$;
/*!
 *  decimal.js v10.4.0
 *  An arbitrary-precision Decimal type for JavaScript.
 *  https://github.com/MikeMcl/decimal.js
 *  Copyright (c) 2022 Michael Mclaughlin <M8ch88l@gmail.com>
 *  MIT Licence
 */
var EXP_LIMIT = 9e15, MAX_DIGITS = 1e9, NUMERALS = "0123456789abcdef", LN10 = "2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058", PI = "3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789", DEFAULTS = {
  // These values must be integers within the stated ranges (inclusive).
  // Most of these values can be changed at run-time using the `Decimal.config` method.
  // The maximum number of significant digits of the result of a calculation or base conversion.
  // E.g. `Decimal.config({ precision: 20 });`
  precision: 20,
  // 1 to MAX_DIGITS
  // The rounding mode used when rounding to `precision`.
  //
  // ROUND_UP         0 Away from zero.
  // ROUND_DOWN       1 Towards zero.
  // ROUND_CEIL       2 Towards +Infinity.
  // ROUND_FLOOR      3 Towards -Infinity.
  // ROUND_HALF_UP    4 Towards nearest neighbour. If equidistant, up.
  // ROUND_HALF_DOWN  5 Towards nearest neighbour. If equidistant, down.
  // ROUND_HALF_EVEN  6 Towards nearest neighbour. If equidistant, towards even neighbour.
  // ROUND_HALF_CEIL  7 Towards nearest neighbour. If equidistant, towards +Infinity.
  // ROUND_HALF_FLOOR 8 Towards nearest neighbour. If equidistant, towards -Infinity.
  //
  // E.g.
  // `Decimal.rounding = 4;`
  // `Decimal.rounding = Decimal.ROUND_HALF_UP;`
  rounding: 4,
  // 0 to 8
  // The modulo mode used when calculating the modulus: a mod n.
  // The quotient (q = a / n) is calculated according to the corresponding rounding mode.
  // The remainder (r) is calculated as: r = a - n * q.
  //
  // UP         0 The remainder is positive if the dividend is negative, else is negative.
  // DOWN       1 The remainder has the same sign as the dividend (JavaScript %).
  // FLOOR      3 The remainder has the same sign as the divisor (Python %).
  // HALF_EVEN  6 The IEEE 754 remainder function.
  // EUCLID     9 Euclidian division. q = sign(n) * floor(a / abs(n)). Always positive.
  //
  // Truncated division (1), floored division (3), the IEEE 754 remainder (6), and Euclidian
  // division (9) are commonly used for the modulus operation. The other rounding modes can also
  // be used, but they may not give useful results.
  modulo: 1,
  // 0 to 9
  // The exponent value at and beneath which `toString` returns exponential notation.
  // JavaScript numbers: -7
  toExpNeg: -7,
  // 0 to -EXP_LIMIT
  // The exponent value at and above which `toString` returns exponential notation.
  // JavaScript numbers: 21
  toExpPos: 21,
  // 0 to EXP_LIMIT
  // The minimum exponent value, beneath which underflow to zero occurs.
  // JavaScript numbers: -324  (5e-324)
  minE: -9e15,
  // -1 to -EXP_LIMIT
  // The maximum exponent value, above which overflow to Infinity occurs.
  // JavaScript numbers: 308  (1.7976931348623157e+308)
  maxE: EXP_LIMIT,
  // 1 to EXP_LIMIT
  // Whether to use cryptographically-secure random number generation, if available.
  crypto: false
  // true/false
}, inexact, quadrant, external = true, decimalError = "[DecimalError] ", invalidArgument = decimalError + "Invalid argument: ", precisionLimitExceeded = decimalError + "Precision limit exceeded", cryptoUnavailable = decimalError + "crypto unavailable", tag = "[object Decimal]", mathfloor = Math.floor, mathpow = Math.pow, isBinary = /^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i, isHex = /^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i, isOctal = /^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i, isDecimal = /^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i, BASE = 1e7, LOG_BASE = 7, MAX_SAFE_INTEGER = 9007199254740991, LN10_PRECISION = LN10.length - 1, PI_PRECISION = PI.length - 1, P = { toStringTag: tag };
P.absoluteValue = P.abs = function() {
  var x = new this.constructor(this);
  if (x.s < 0) x.s = 1;
  return finalise(x);
};
P.ceil = function() {
  return finalise(new this.constructor(this), this.e + 1, 2);
};
P.clampedTo = P.clamp = function(min2, max2) {
  var k, x = this, Ctor = x.constructor;
  min2 = new Ctor(min2);
  max2 = new Ctor(max2);
  if (!min2.s || !max2.s) return new Ctor(NaN);
  if (min2.gt(max2)) throw Error(invalidArgument + max2);
  k = x.cmp(min2);
  return k < 0 ? min2 : x.cmp(max2) > 0 ? max2 : new Ctor(x);
};
P.comparedTo = P.cmp = function(y) {
  var i, j, xdL, ydL, x = this, xd = x.d, yd = (y = new x.constructor(y)).d, xs = x.s, ys = y.s;
  if (!xd || !yd) {
    return !xs || !ys ? NaN : xs !== ys ? xs : xd === yd ? 0 : !xd ^ xs < 0 ? 1 : -1;
  }
  if (!xd[0] || !yd[0]) return xd[0] ? xs : yd[0] ? -ys : 0;
  if (xs !== ys) return xs;
  if (x.e !== y.e) return x.e > y.e ^ xs < 0 ? 1 : -1;
  xdL = xd.length;
  ydL = yd.length;
  for (i = 0, j = xdL < ydL ? xdL : ydL; i < j; ++i) {
    if (xd[i] !== yd[i]) return xd[i] > yd[i] ^ xs < 0 ? 1 : -1;
  }
  return xdL === ydL ? 0 : xdL > ydL ^ xs < 0 ? 1 : -1;
};
P.cosine = P.cos = function() {
  var pr, rm, x = this, Ctor = x.constructor;
  if (!x.d) return new Ctor(NaN);
  if (!x.d[0]) return new Ctor(1);
  pr = Ctor.precision;
  rm = Ctor.rounding;
  Ctor.precision = pr + Math.max(x.e, x.sd()) + LOG_BASE;
  Ctor.rounding = 1;
  x = cosine(Ctor, toLessThanHalfPi(Ctor, x));
  Ctor.precision = pr;
  Ctor.rounding = rm;
  return finalise(quadrant == 2 || quadrant == 3 ? x.neg() : x, pr, rm, true);
};
P.cubeRoot = P.cbrt = function() {
  var e, m, n2, r, rep, s, sd, t2, t3, t3plusx, x = this, Ctor = x.constructor;
  if (!x.isFinite() || x.isZero()) return new Ctor(x);
  external = false;
  s = x.s * mathpow(x.s * x, 1 / 3);
  if (!s || Math.abs(s) == 1 / 0) {
    n2 = digitsToString(x.d);
    e = x.e;
    if (s = (e - n2.length + 1) % 3) n2 += s == 1 || s == -2 ? "0" : "00";
    s = mathpow(n2, 1 / 3);
    e = mathfloor((e + 1) / 3) - (e % 3 == (e < 0 ? -1 : 2));
    if (s == 1 / 0) {
      n2 = "5e" + e;
    } else {
      n2 = s.toExponential();
      n2 = n2.slice(0, n2.indexOf("e") + 1) + e;
    }
    r = new Ctor(n2);
    r.s = x.s;
  } else {
    r = new Ctor(s.toString());
  }
  sd = (e = Ctor.precision) + 3;
  for (; ; ) {
    t2 = r;
    t3 = t2.times(t2).times(t2);
    t3plusx = t3.plus(x);
    r = divide(t3plusx.plus(x).times(t2), t3plusx.plus(t3), sd + 2, 1);
    if (digitsToString(t2.d).slice(0, sd) === (n2 = digitsToString(r.d)).slice(0, sd)) {
      n2 = n2.slice(sd - 3, sd + 1);
      if (n2 == "9999" || !rep && n2 == "4999") {
        if (!rep) {
          finalise(t2, e + 1, 0);
          if (t2.times(t2).times(t2).eq(x)) {
            r = t2;
            break;
          }
        }
        sd += 4;
        rep = 1;
      } else {
        if (!+n2 || !+n2.slice(1) && n2.charAt(0) == "5") {
          finalise(r, e + 1, 1);
          m = !r.times(r).times(r).eq(x);
        }
        break;
      }
    }
  }
  external = true;
  return finalise(r, e, Ctor.rounding, m);
};
P.decimalPlaces = P.dp = function() {
  var w, d = this.d, n2 = NaN;
  if (d) {
    w = d.length - 1;
    n2 = (w - mathfloor(this.e / LOG_BASE)) * LOG_BASE;
    w = d[w];
    if (w) for (; w % 10 == 0; w /= 10) n2--;
    if (n2 < 0) n2 = 0;
  }
  return n2;
};
P.dividedBy = P.div = function(y) {
  return divide(this, new this.constructor(y));
};
P.dividedToIntegerBy = P.divToInt = function(y) {
  var x = this, Ctor = x.constructor;
  return finalise(divide(x, new Ctor(y), 0, 1, 1), Ctor.precision, Ctor.rounding);
};
P.equals = P.eq = function(y) {
  return this.cmp(y) === 0;
};
P.floor = function() {
  return finalise(new this.constructor(this), this.e + 1, 3);
};
P.greaterThan = P.gt = function(y) {
  return this.cmp(y) > 0;
};
P.greaterThanOrEqualTo = P.gte = function(y) {
  var k = this.cmp(y);
  return k == 1 || k === 0;
};
P.hyperbolicCosine = P.cosh = function() {
  var k, n2, pr, rm, len, x = this, Ctor = x.constructor, one = new Ctor(1);
  if (!x.isFinite()) return new Ctor(x.s ? 1 / 0 : NaN);
  if (x.isZero()) return one;
  pr = Ctor.precision;
  rm = Ctor.rounding;
  Ctor.precision = pr + Math.max(x.e, x.sd()) + 4;
  Ctor.rounding = 1;
  len = x.d.length;
  if (len < 32) {
    k = Math.ceil(len / 3);
    n2 = (1 / tinyPow(4, k)).toString();
  } else {
    k = 16;
    n2 = "2.3283064365386962890625e-10";
  }
  x = taylorSeries(Ctor, 1, x.times(n2), new Ctor(1), true);
  var cosh2_x, i = k, d8 = new Ctor(8);
  for (; i--; ) {
    cosh2_x = x.times(x);
    x = one.minus(cosh2_x.times(d8.minus(cosh2_x.times(d8))));
  }
  return finalise(x, Ctor.precision = pr, Ctor.rounding = rm, true);
};
P.hyperbolicSine = P.sinh = function() {
  var k, pr, rm, len, x = this, Ctor = x.constructor;
  if (!x.isFinite() || x.isZero()) return new Ctor(x);
  pr = Ctor.precision;
  rm = Ctor.rounding;
  Ctor.precision = pr + Math.max(x.e, x.sd()) + 4;
  Ctor.rounding = 1;
  len = x.d.length;
  if (len < 3) {
    x = taylorSeries(Ctor, 2, x, x, true);
  } else {
    k = 1.4 * Math.sqrt(len);
    k = k > 16 ? 16 : k | 0;
    x = x.times(1 / tinyPow(5, k));
    x = taylorSeries(Ctor, 2, x, x, true);
    var sinh2_x, d5 = new Ctor(5), d16 = new Ctor(16), d20 = new Ctor(20);
    for (; k--; ) {
      sinh2_x = x.times(x);
      x = x.times(d5.plus(sinh2_x.times(d16.times(sinh2_x).plus(d20))));
    }
  }
  Ctor.precision = pr;
  Ctor.rounding = rm;
  return finalise(x, pr, rm, true);
};
P.hyperbolicTangent = P.tanh = function() {
  var pr, rm, x = this, Ctor = x.constructor;
  if (!x.isFinite()) return new Ctor(x.s);
  if (x.isZero()) return new Ctor(x);
  pr = Ctor.precision;
  rm = Ctor.rounding;
  Ctor.precision = pr + 7;
  Ctor.rounding = 1;
  return divide(x.sinh(), x.cosh(), Ctor.precision = pr, Ctor.rounding = rm);
};
P.inverseCosine = P.acos = function() {
  var halfPi, x = this, Ctor = x.constructor, k = x.abs().cmp(1), pr = Ctor.precision, rm = Ctor.rounding;
  if (k !== -1) {
    return k === 0 ? x.isNeg() ? getPi(Ctor, pr, rm) : new Ctor(0) : new Ctor(NaN);
  }
  if (x.isZero()) return getPi(Ctor, pr + 4, rm).times(0.5);
  Ctor.precision = pr + 6;
  Ctor.rounding = 1;
  x = x.asin();
  halfPi = getPi(Ctor, pr + 4, rm).times(0.5);
  Ctor.precision = pr;
  Ctor.rounding = rm;
  return halfPi.minus(x);
};
P.inverseHyperbolicCosine = P.acosh = function() {
  var pr, rm, x = this, Ctor = x.constructor;
  if (x.lte(1)) return new Ctor(x.eq(1) ? 0 : NaN);
  if (!x.isFinite()) return new Ctor(x);
  pr = Ctor.precision;
  rm = Ctor.rounding;
  Ctor.precision = pr + Math.max(Math.abs(x.e), x.sd()) + 4;
  Ctor.rounding = 1;
  external = false;
  x = x.times(x).minus(1).sqrt().plus(x);
  external = true;
  Ctor.precision = pr;
  Ctor.rounding = rm;
  return x.ln();
};
P.inverseHyperbolicSine = P.asinh = function() {
  var pr, rm, x = this, Ctor = x.constructor;
  if (!x.isFinite() || x.isZero()) return new Ctor(x);
  pr = Ctor.precision;
  rm = Ctor.rounding;
  Ctor.precision = pr + 2 * Math.max(Math.abs(x.e), x.sd()) + 6;
  Ctor.rounding = 1;
  external = false;
  x = x.times(x).plus(1).sqrt().plus(x);
  external = true;
  Ctor.precision = pr;
  Ctor.rounding = rm;
  return x.ln();
};
P.inverseHyperbolicTangent = P.atanh = function() {
  var pr, rm, wpr, xsd, x = this, Ctor = x.constructor;
  if (!x.isFinite()) return new Ctor(NaN);
  if (x.e >= 0) return new Ctor(x.abs().eq(1) ? x.s / 0 : x.isZero() ? x : NaN);
  pr = Ctor.precision;
  rm = Ctor.rounding;
  xsd = x.sd();
  if (Math.max(xsd, pr) < 2 * -x.e - 1) return finalise(new Ctor(x), pr, rm, true);
  Ctor.precision = wpr = xsd - x.e;
  x = divide(x.plus(1), new Ctor(1).minus(x), wpr + pr, 1);
  Ctor.precision = pr + 4;
  Ctor.rounding = 1;
  x = x.ln();
  Ctor.precision = pr;
  Ctor.rounding = rm;
  return x.times(0.5);
};
P.inverseSine = P.asin = function() {
  var halfPi, k, pr, rm, x = this, Ctor = x.constructor;
  if (x.isZero()) return new Ctor(x);
  k = x.abs().cmp(1);
  pr = Ctor.precision;
  rm = Ctor.rounding;
  if (k !== -1) {
    if (k === 0) {
      halfPi = getPi(Ctor, pr + 4, rm).times(0.5);
      halfPi.s = x.s;
      return halfPi;
    }
    return new Ctor(NaN);
  }
  Ctor.precision = pr + 6;
  Ctor.rounding = 1;
  x = x.div(new Ctor(1).minus(x.times(x)).sqrt().plus(1)).atan();
  Ctor.precision = pr;
  Ctor.rounding = rm;
  return x.times(2);
};
P.inverseTangent = P.atan = function() {
  var i, j, k, n2, px, t2, r, wpr, x2, x = this, Ctor = x.constructor, pr = Ctor.precision, rm = Ctor.rounding;
  if (!x.isFinite()) {
    if (!x.s) return new Ctor(NaN);
    if (pr + 4 <= PI_PRECISION) {
      r = getPi(Ctor, pr + 4, rm).times(0.5);
      r.s = x.s;
      return r;
    }
  } else if (x.isZero()) {
    return new Ctor(x);
  } else if (x.abs().eq(1) && pr + 4 <= PI_PRECISION) {
    r = getPi(Ctor, pr + 4, rm).times(0.25);
    r.s = x.s;
    return r;
  }
  Ctor.precision = wpr = pr + 10;
  Ctor.rounding = 1;
  k = Math.min(28, wpr / LOG_BASE + 2 | 0);
  for (i = k; i; --i) x = x.div(x.times(x).plus(1).sqrt().plus(1));
  external = false;
  j = Math.ceil(wpr / LOG_BASE);
  n2 = 1;
  x2 = x.times(x);
  r = new Ctor(x);
  px = x;
  for (; i !== -1; ) {
    px = px.times(x2);
    t2 = r.minus(px.div(n2 += 2));
    px = px.times(x2);
    r = t2.plus(px.div(n2 += 2));
    if (r.d[j] !== void 0) for (i = j; r.d[i] === t2.d[i] && i--; ) ;
  }
  if (k) r = r.times(2 << k - 1);
  external = true;
  return finalise(r, Ctor.precision = pr, Ctor.rounding = rm, true);
};
P.isFinite = function() {
  return !!this.d;
};
P.isInteger = P.isInt = function() {
  return !!this.d && mathfloor(this.e / LOG_BASE) > this.d.length - 2;
};
P.isNaN = function() {
  return !this.s;
};
P.isNegative = P.isNeg = function() {
  return this.s < 0;
};
P.isPositive = P.isPos = function() {
  return this.s > 0;
};
P.isZero = function() {
  return !!this.d && this.d[0] === 0;
};
P.lessThan = P.lt = function(y) {
  return this.cmp(y) < 0;
};
P.lessThanOrEqualTo = P.lte = function(y) {
  return this.cmp(y) < 1;
};
P.logarithm = P.log = function(base) {
  var isBase10, d, denominator, k, inf, num, sd, r, arg = this, Ctor = arg.constructor, pr = Ctor.precision, rm = Ctor.rounding, guard = 5;
  if (base == null) {
    base = new Ctor(10);
    isBase10 = true;
  } else {
    base = new Ctor(base);
    d = base.d;
    if (base.s < 0 || !d || !d[0] || base.eq(1)) return new Ctor(NaN);
    isBase10 = base.eq(10);
  }
  d = arg.d;
  if (arg.s < 0 || !d || !d[0] || arg.eq(1)) {
    return new Ctor(d && !d[0] ? -1 / 0 : arg.s != 1 ? NaN : d ? 0 : 1 / 0);
  }
  if (isBase10) {
    if (d.length > 1) {
      inf = true;
    } else {
      for (k = d[0]; k % 10 === 0; ) k /= 10;
      inf = k !== 1;
    }
  }
  external = false;
  sd = pr + guard;
  num = naturalLogarithm(arg, sd);
  denominator = isBase10 ? getLn10(Ctor, sd + 10) : naturalLogarithm(base, sd);
  r = divide(num, denominator, sd, 1);
  if (checkRoundingDigits(r.d, k = pr, rm)) {
    do {
      sd += 10;
      num = naturalLogarithm(arg, sd);
      denominator = isBase10 ? getLn10(Ctor, sd + 10) : naturalLogarithm(base, sd);
      r = divide(num, denominator, sd, 1);
      if (!inf) {
        if (+digitsToString(r.d).slice(k + 1, k + 15) + 1 == 1e14) {
          r = finalise(r, pr + 1, 0);
        }
        break;
      }
    } while (checkRoundingDigits(r.d, k += 10, rm));
  }
  external = true;
  return finalise(r, pr, rm);
};
P.minus = P.sub = function(y) {
  var d, e, i, j, k, len, pr, rm, xd, xe, xLTy, yd, x = this, Ctor = x.constructor;
  y = new Ctor(y);
  if (!x.d || !y.d) {
    if (!x.s || !y.s) y = new Ctor(NaN);
    else if (x.d) y.s = -y.s;
    else y = new Ctor(y.d || x.s !== y.s ? x : NaN);
    return y;
  }
  if (x.s != y.s) {
    y.s = -y.s;
    return x.plus(y);
  }
  xd = x.d;
  yd = y.d;
  pr = Ctor.precision;
  rm = Ctor.rounding;
  if (!xd[0] || !yd[0]) {
    if (yd[0]) y.s = -y.s;
    else if (xd[0]) y = new Ctor(x);
    else return new Ctor(rm === 3 ? -0 : 0);
    return external ? finalise(y, pr, rm) : y;
  }
  e = mathfloor(y.e / LOG_BASE);
  xe = mathfloor(x.e / LOG_BASE);
  xd = xd.slice();
  k = xe - e;
  if (k) {
    xLTy = k < 0;
    if (xLTy) {
      d = xd;
      k = -k;
      len = yd.length;
    } else {
      d = yd;
      e = xe;
      len = xd.length;
    }
    i = Math.max(Math.ceil(pr / LOG_BASE), len) + 2;
    if (k > i) {
      k = i;
      d.length = 1;
    }
    d.reverse();
    for (i = k; i--; ) d.push(0);
    d.reverse();
  } else {
    i = xd.length;
    len = yd.length;
    xLTy = i < len;
    if (xLTy) len = i;
    for (i = 0; i < len; i++) {
      if (xd[i] != yd[i]) {
        xLTy = xd[i] < yd[i];
        break;
      }
    }
    k = 0;
  }
  if (xLTy) {
    d = xd;
    xd = yd;
    yd = d;
    y.s = -y.s;
  }
  len = xd.length;
  for (i = yd.length - len; i > 0; --i) xd[len++] = 0;
  for (i = yd.length; i > k; ) {
    if (xd[--i] < yd[i]) {
      for (j = i; j && xd[--j] === 0; ) xd[j] = BASE - 1;
      --xd[j];
      xd[i] += BASE;
    }
    xd[i] -= yd[i];
  }
  for (; xd[--len] === 0; ) xd.pop();
  for (; xd[0] === 0; xd.shift()) --e;
  if (!xd[0]) return new Ctor(rm === 3 ? -0 : 0);
  y.d = xd;
  y.e = getBase10Exponent(xd, e);
  return external ? finalise(y, pr, rm) : y;
};
P.modulo = P.mod = function(y) {
  var q, x = this, Ctor = x.constructor;
  y = new Ctor(y);
  if (!x.d || !y.s || y.d && !y.d[0]) return new Ctor(NaN);
  if (!y.d || x.d && !x.d[0]) {
    return finalise(new Ctor(x), Ctor.precision, Ctor.rounding);
  }
  external = false;
  if (Ctor.modulo == 9) {
    q = divide(x, y.abs(), 0, 3, 1);
    q.s *= y.s;
  } else {
    q = divide(x, y, 0, Ctor.modulo, 1);
  }
  q = q.times(y);
  external = true;
  return x.minus(q);
};
P.naturalExponential = P.exp = function() {
  return naturalExponential(this);
};
P.naturalLogarithm = P.ln = function() {
  return naturalLogarithm(this);
};
P.negated = P.neg = function() {
  var x = new this.constructor(this);
  x.s = -x.s;
  return finalise(x);
};
P.plus = P.add = function(y) {
  var carry, d, e, i, k, len, pr, rm, xd, yd, x = this, Ctor = x.constructor;
  y = new Ctor(y);
  if (!x.d || !y.d) {
    if (!x.s || !y.s) y = new Ctor(NaN);
    else if (!x.d) y = new Ctor(y.d || x.s === y.s ? x : NaN);
    return y;
  }
  if (x.s != y.s) {
    y.s = -y.s;
    return x.minus(y);
  }
  xd = x.d;
  yd = y.d;
  pr = Ctor.precision;
  rm = Ctor.rounding;
  if (!xd[0] || !yd[0]) {
    if (!yd[0]) y = new Ctor(x);
    return external ? finalise(y, pr, rm) : y;
  }
  k = mathfloor(x.e / LOG_BASE);
  e = mathfloor(y.e / LOG_BASE);
  xd = xd.slice();
  i = k - e;
  if (i) {
    if (i < 0) {
      d = xd;
      i = -i;
      len = yd.length;
    } else {
      d = yd;
      e = k;
      len = xd.length;
    }
    k = Math.ceil(pr / LOG_BASE);
    len = k > len ? k + 1 : len + 1;
    if (i > len) {
      i = len;
      d.length = 1;
    }
    d.reverse();
    for (; i--; ) d.push(0);
    d.reverse();
  }
  len = xd.length;
  i = yd.length;
  if (len - i < 0) {
    i = len;
    d = yd;
    yd = xd;
    xd = d;
  }
  for (carry = 0; i; ) {
    carry = (xd[--i] = xd[i] + yd[i] + carry) / BASE | 0;
    xd[i] %= BASE;
  }
  if (carry) {
    xd.unshift(carry);
    ++e;
  }
  for (len = xd.length; xd[--len] == 0; ) xd.pop();
  y.d = xd;
  y.e = getBase10Exponent(xd, e);
  return external ? finalise(y, pr, rm) : y;
};
P.precision = P.sd = function(z) {
  var k, x = this;
  if (z !== void 0 && z !== !!z && z !== 1 && z !== 0) throw Error(invalidArgument + z);
  if (x.d) {
    k = getPrecision(x.d);
    if (z && x.e + 1 > k) k = x.e + 1;
  } else {
    k = NaN;
  }
  return k;
};
P.round = function() {
  var x = this, Ctor = x.constructor;
  return finalise(new Ctor(x), x.e + 1, Ctor.rounding);
};
P.sine = P.sin = function() {
  var pr, rm, x = this, Ctor = x.constructor;
  if (!x.isFinite()) return new Ctor(NaN);
  if (x.isZero()) return new Ctor(x);
  pr = Ctor.precision;
  rm = Ctor.rounding;
  Ctor.precision = pr + Math.max(x.e, x.sd()) + LOG_BASE;
  Ctor.rounding = 1;
  x = sine(Ctor, toLessThanHalfPi(Ctor, x));
  Ctor.precision = pr;
  Ctor.rounding = rm;
  return finalise(quadrant > 2 ? x.neg() : x, pr, rm, true);
};
P.squareRoot = P.sqrt = function() {
  var m, n2, sd, r, rep, t2, x = this, d = x.d, e = x.e, s = x.s, Ctor = x.constructor;
  if (s !== 1 || !d || !d[0]) {
    return new Ctor(!s || s < 0 && (!d || d[0]) ? NaN : d ? x : 1 / 0);
  }
  external = false;
  s = Math.sqrt(+x);
  if (s == 0 || s == 1 / 0) {
    n2 = digitsToString(d);
    if ((n2.length + e) % 2 == 0) n2 += "0";
    s = Math.sqrt(n2);
    e = mathfloor((e + 1) / 2) - (e < 0 || e % 2);
    if (s == 1 / 0) {
      n2 = "5e" + e;
    } else {
      n2 = s.toExponential();
      n2 = n2.slice(0, n2.indexOf("e") + 1) + e;
    }
    r = new Ctor(n2);
  } else {
    r = new Ctor(s.toString());
  }
  sd = (e = Ctor.precision) + 3;
  for (; ; ) {
    t2 = r;
    r = t2.plus(divide(x, t2, sd + 2, 1)).times(0.5);
    if (digitsToString(t2.d).slice(0, sd) === (n2 = digitsToString(r.d)).slice(0, sd)) {
      n2 = n2.slice(sd - 3, sd + 1);
      if (n2 == "9999" || !rep && n2 == "4999") {
        if (!rep) {
          finalise(t2, e + 1, 0);
          if (t2.times(t2).eq(x)) {
            r = t2;
            break;
          }
        }
        sd += 4;
        rep = 1;
      } else {
        if (!+n2 || !+n2.slice(1) && n2.charAt(0) == "5") {
          finalise(r, e + 1, 1);
          m = !r.times(r).eq(x);
        }
        break;
      }
    }
  }
  external = true;
  return finalise(r, e, Ctor.rounding, m);
};
P.tangent = P.tan = function() {
  var pr, rm, x = this, Ctor = x.constructor;
  if (!x.isFinite()) return new Ctor(NaN);
  if (x.isZero()) return new Ctor(x);
  pr = Ctor.precision;
  rm = Ctor.rounding;
  Ctor.precision = pr + 10;
  Ctor.rounding = 1;
  x = x.sin();
  x.s = 1;
  x = divide(x, new Ctor(1).minus(x.times(x)).sqrt(), pr + 10, 0);
  Ctor.precision = pr;
  Ctor.rounding = rm;
  return finalise(quadrant == 2 || quadrant == 4 ? x.neg() : x, pr, rm, true);
};
P.times = P.mul = function(y) {
  var carry, e, i, k, r, rL, t2, xdL, ydL, x = this, Ctor = x.constructor, xd = x.d, yd = (y = new Ctor(y)).d;
  y.s *= x.s;
  if (!xd || !xd[0] || !yd || !yd[0]) {
    return new Ctor(!y.s || xd && !xd[0] && !yd || yd && !yd[0] && !xd ? NaN : !xd || !yd ? y.s / 0 : y.s * 0);
  }
  e = mathfloor(x.e / LOG_BASE) + mathfloor(y.e / LOG_BASE);
  xdL = xd.length;
  ydL = yd.length;
  if (xdL < ydL) {
    r = xd;
    xd = yd;
    yd = r;
    rL = xdL;
    xdL = ydL;
    ydL = rL;
  }
  r = [];
  rL = xdL + ydL;
  for (i = rL; i--; ) r.push(0);
  for (i = ydL; --i >= 0; ) {
    carry = 0;
    for (k = xdL + i; k > i; ) {
      t2 = r[k] + yd[i] * xd[k - i - 1] + carry;
      r[k--] = t2 % BASE | 0;
      carry = t2 / BASE | 0;
    }
    r[k] = (r[k] + carry) % BASE | 0;
  }
  for (; !r[--rL]; ) r.pop();
  if (carry) ++e;
  else r.shift();
  y.d = r;
  y.e = getBase10Exponent(r, e);
  return external ? finalise(y, Ctor.precision, Ctor.rounding) : y;
};
P.toBinary = function(sd, rm) {
  return toStringBinary(this, 2, sd, rm);
};
P.toDecimalPlaces = P.toDP = function(dp, rm) {
  var x = this, Ctor = x.constructor;
  x = new Ctor(x);
  if (dp === void 0) return x;
  checkInt32(dp, 0, MAX_DIGITS);
  if (rm === void 0) rm = Ctor.rounding;
  else checkInt32(rm, 0, 8);
  return finalise(x, dp + x.e + 1, rm);
};
P.toExponential = function(dp, rm) {
  var str, x = this, Ctor = x.constructor;
  if (dp === void 0) {
    str = finiteToString(x, true);
  } else {
    checkInt32(dp, 0, MAX_DIGITS);
    if (rm === void 0) rm = Ctor.rounding;
    else checkInt32(rm, 0, 8);
    x = finalise(new Ctor(x), dp + 1, rm);
    str = finiteToString(x, true, dp + 1);
  }
  return x.isNeg() && !x.isZero() ? "-" + str : str;
};
P.toFixed = function(dp, rm) {
  var str, y, x = this, Ctor = x.constructor;
  if (dp === void 0) {
    str = finiteToString(x);
  } else {
    checkInt32(dp, 0, MAX_DIGITS);
    if (rm === void 0) rm = Ctor.rounding;
    else checkInt32(rm, 0, 8);
    y = finalise(new Ctor(x), dp + x.e + 1, rm);
    str = finiteToString(y, false, dp + y.e + 1);
  }
  return x.isNeg() && !x.isZero() ? "-" + str : str;
};
P.toFraction = function(maxD) {
  var d, d0, d1, d2, e, k, n2, n0, n1, pr, q, r, x = this, xd = x.d, Ctor = x.constructor;
  if (!xd) return new Ctor(x);
  n1 = d0 = new Ctor(1);
  d1 = n0 = new Ctor(0);
  d = new Ctor(d1);
  e = d.e = getPrecision(xd) - x.e - 1;
  k = e % LOG_BASE;
  d.d[0] = mathpow(10, k < 0 ? LOG_BASE + k : k);
  if (maxD == null) {
    maxD = e > 0 ? d : n1;
  } else {
    n2 = new Ctor(maxD);
    if (!n2.isInt() || n2.lt(n1)) throw Error(invalidArgument + n2);
    maxD = n2.gt(d) ? e > 0 ? d : n1 : n2;
  }
  external = false;
  n2 = new Ctor(digitsToString(xd));
  pr = Ctor.precision;
  Ctor.precision = e = xd.length * LOG_BASE * 2;
  for (; ; ) {
    q = divide(n2, d, 0, 1, 1);
    d2 = d0.plus(q.times(d1));
    if (d2.cmp(maxD) == 1) break;
    d0 = d1;
    d1 = d2;
    d2 = n1;
    n1 = n0.plus(q.times(d2));
    n0 = d2;
    d2 = d;
    d = n2.minus(q.times(d2));
    n2 = d2;
  }
  d2 = divide(maxD.minus(d0), d1, 0, 1, 1);
  n0 = n0.plus(d2.times(n1));
  d0 = d0.plus(d2.times(d1));
  n0.s = n1.s = x.s;
  r = divide(n1, d1, e, 1).minus(x).abs().cmp(divide(n0, d0, e, 1).minus(x).abs()) < 1 ? [n1, d1] : [n0, d0];
  Ctor.precision = pr;
  external = true;
  return r;
};
P.toHexadecimal = P.toHex = function(sd, rm) {
  return toStringBinary(this, 16, sd, rm);
};
P.toNearest = function(y, rm) {
  var x = this, Ctor = x.constructor;
  x = new Ctor(x);
  if (y == null) {
    if (!x.d) return x;
    y = new Ctor(1);
    rm = Ctor.rounding;
  } else {
    y = new Ctor(y);
    if (rm === void 0) {
      rm = Ctor.rounding;
    } else {
      checkInt32(rm, 0, 8);
    }
    if (!x.d) return y.s ? x : y;
    if (!y.d) {
      if (y.s) y.s = x.s;
      return y;
    }
  }
  if (y.d[0]) {
    external = false;
    x = divide(x, y, 0, rm, 1).times(y);
    external = true;
    finalise(x);
  } else {
    y.s = x.s;
    x = y;
  }
  return x;
};
P.toNumber = function() {
  return +this;
};
P.toOctal = function(sd, rm) {
  return toStringBinary(this, 8, sd, rm);
};
P.toPower = P.pow = function(y) {
  var e, k, pr, r, rm, s, x = this, Ctor = x.constructor, yn = +(y = new Ctor(y));
  if (!x.d || !y.d || !x.d[0] || !y.d[0]) return new Ctor(mathpow(+x, yn));
  x = new Ctor(x);
  if (x.eq(1)) return x;
  pr = Ctor.precision;
  rm = Ctor.rounding;
  if (y.eq(1)) return finalise(x, pr, rm);
  e = mathfloor(y.e / LOG_BASE);
  if (e >= y.d.length - 1 && (k = yn < 0 ? -yn : yn) <= MAX_SAFE_INTEGER) {
    r = intPow(Ctor, x, k, pr);
    return y.s < 0 ? new Ctor(1).div(r) : finalise(r, pr, rm);
  }
  s = x.s;
  if (s < 0) {
    if (e < y.d.length - 1) return new Ctor(NaN);
    if ((y.d[e] & 1) == 0) s = 1;
    if (x.e == 0 && x.d[0] == 1 && x.d.length == 1) {
      x.s = s;
      return x;
    }
  }
  k = mathpow(+x, yn);
  e = k == 0 || !isFinite(k) ? mathfloor(yn * (Math.log("0." + digitsToString(x.d)) / Math.LN10 + x.e + 1)) : new Ctor(k + "").e;
  if (e > Ctor.maxE + 1 || e < Ctor.minE - 1) return new Ctor(e > 0 ? s / 0 : 0);
  external = false;
  Ctor.rounding = x.s = 1;
  k = Math.min(12, (e + "").length);
  r = naturalExponential(y.times(naturalLogarithm(x, pr + k)), pr);
  if (r.d) {
    r = finalise(r, pr + 5, 1);
    if (checkRoundingDigits(r.d, pr, rm)) {
      e = pr + 10;
      r = finalise(naturalExponential(y.times(naturalLogarithm(x, e + k)), e), e + 5, 1);
      if (+digitsToString(r.d).slice(pr + 1, pr + 15) + 1 == 1e14) {
        r = finalise(r, pr + 1, 0);
      }
    }
  }
  r.s = s;
  external = true;
  Ctor.rounding = rm;
  return finalise(r, pr, rm);
};
P.toPrecision = function(sd, rm) {
  var str, x = this, Ctor = x.constructor;
  if (sd === void 0) {
    str = finiteToString(x, x.e <= Ctor.toExpNeg || x.e >= Ctor.toExpPos);
  } else {
    checkInt32(sd, 1, MAX_DIGITS);
    if (rm === void 0) rm = Ctor.rounding;
    else checkInt32(rm, 0, 8);
    x = finalise(new Ctor(x), sd, rm);
    str = finiteToString(x, sd <= x.e || x.e <= Ctor.toExpNeg, sd);
  }
  return x.isNeg() && !x.isZero() ? "-" + str : str;
};
P.toSignificantDigits = P.toSD = function(sd, rm) {
  var x = this, Ctor = x.constructor;
  if (sd === void 0) {
    sd = Ctor.precision;
    rm = Ctor.rounding;
  } else {
    checkInt32(sd, 1, MAX_DIGITS);
    if (rm === void 0) rm = Ctor.rounding;
    else checkInt32(rm, 0, 8);
  }
  return finalise(new Ctor(x), sd, rm);
};
P.toString = function() {
  var x = this, Ctor = x.constructor, str = finiteToString(x, x.e <= Ctor.toExpNeg || x.e >= Ctor.toExpPos);
  return x.isNeg() && !x.isZero() ? "-" + str : str;
};
P.truncated = P.trunc = function() {
  return finalise(new this.constructor(this), this.e + 1, 1);
};
P.valueOf = P.toJSON = function() {
  var x = this, Ctor = x.constructor, str = finiteToString(x, x.e <= Ctor.toExpNeg || x.e >= Ctor.toExpPos);
  return x.isNeg() ? "-" + str : str;
};
function digitsToString(d) {
  var i, k, ws, indexOfLastWord = d.length - 1, str = "", w = d[0];
  if (indexOfLastWord > 0) {
    str += w;
    for (i = 1; i < indexOfLastWord; i++) {
      ws = d[i] + "";
      k = LOG_BASE - ws.length;
      if (k) str += getZeroString(k);
      str += ws;
    }
    w = d[i];
    ws = w + "";
    k = LOG_BASE - ws.length;
    if (k) str += getZeroString(k);
  } else if (w === 0) {
    return "0";
  }
  for (; w % 10 === 0; ) w /= 10;
  return str + w;
}
function checkInt32(i, min2, max2) {
  if (i !== ~~i || i < min2 || i > max2) {
    throw Error(invalidArgument + i);
  }
}
function checkRoundingDigits(d, i, rm, repeating) {
  var di, k, r, rd;
  for (k = d[0]; k >= 10; k /= 10) --i;
  if (--i < 0) {
    i += LOG_BASE;
    di = 0;
  } else {
    di = Math.ceil((i + 1) / LOG_BASE);
    i %= LOG_BASE;
  }
  k = mathpow(10, LOG_BASE - i);
  rd = d[di] % k | 0;
  if (repeating == null) {
    if (i < 3) {
      if (i == 0) rd = rd / 100 | 0;
      else if (i == 1) rd = rd / 10 | 0;
      r = rm < 4 && rd == 99999 || rm > 3 && rd == 49999 || rd == 5e4 || rd == 0;
    } else {
      r = (rm < 4 && rd + 1 == k || rm > 3 && rd + 1 == k / 2) && (d[di + 1] / k / 100 | 0) == mathpow(10, i - 2) - 1 || (rd == k / 2 || rd == 0) && (d[di + 1] / k / 100 | 0) == 0;
    }
  } else {
    if (i < 4) {
      if (i == 0) rd = rd / 1e3 | 0;
      else if (i == 1) rd = rd / 100 | 0;
      else if (i == 2) rd = rd / 10 | 0;
      r = (repeating || rm < 4) && rd == 9999 || !repeating && rm > 3 && rd == 4999;
    } else {
      r = ((repeating || rm < 4) && rd + 1 == k || !repeating && rm > 3 && rd + 1 == k / 2) && (d[di + 1] / k / 1e3 | 0) == mathpow(10, i - 3) - 1;
    }
  }
  return r;
}
function convertBase(str, baseIn, baseOut) {
  var j, arr = [0], arrL, i = 0, strL = str.length;
  for (; i < strL; ) {
    for (arrL = arr.length; arrL--; ) arr[arrL] *= baseIn;
    arr[0] += NUMERALS.indexOf(str.charAt(i++));
    for (j = 0; j < arr.length; j++) {
      if (arr[j] > baseOut - 1) {
        if (arr[j + 1] === void 0) arr[j + 1] = 0;
        arr[j + 1] += arr[j] / baseOut | 0;
        arr[j] %= baseOut;
      }
    }
  }
  return arr.reverse();
}
function cosine(Ctor, x) {
  var k, len, y;
  if (x.isZero()) return x;
  len = x.d.length;
  if (len < 32) {
    k = Math.ceil(len / 3);
    y = (1 / tinyPow(4, k)).toString();
  } else {
    k = 16;
    y = "2.3283064365386962890625e-10";
  }
  Ctor.precision += k;
  x = taylorSeries(Ctor, 1, x.times(y), new Ctor(1));
  for (var i = k; i--; ) {
    var cos2x = x.times(x);
    x = cos2x.times(cos2x).minus(cos2x).times(8).plus(1);
  }
  Ctor.precision -= k;
  return x;
}
var divide = /* @__PURE__ */ function() {
  function multiplyInteger(x, k, base) {
    var temp, carry = 0, i = x.length;
    for (x = x.slice(); i--; ) {
      temp = x[i] * k + carry;
      x[i] = temp % base | 0;
      carry = temp / base | 0;
    }
    if (carry) x.unshift(carry);
    return x;
  }
  function compare(a, b, aL, bL) {
    var i, r;
    if (aL != bL) {
      r = aL > bL ? 1 : -1;
    } else {
      for (i = r = 0; i < aL; i++) {
        if (a[i] != b[i]) {
          r = a[i] > b[i] ? 1 : -1;
          break;
        }
      }
    }
    return r;
  }
  function subtract(a, b, aL, base) {
    var i = 0;
    for (; aL--; ) {
      a[aL] -= i;
      i = a[aL] < b[aL] ? 1 : 0;
      a[aL] = i * base + a[aL] - b[aL];
    }
    for (; !a[0] && a.length > 1; ) a.shift();
  }
  return function(x, y, pr, rm, dp, base) {
    var cmp, e, i, k, logBase, more, prod, prodL, q, qd, rem, remL, rem0, sd, t2, xi, xL, yd0, yL, yz, Ctor = x.constructor, sign2 = x.s == y.s ? 1 : -1, xd = x.d, yd = y.d;
    if (!xd || !xd[0] || !yd || !yd[0]) {
      return new Ctor(
        // Return NaN if either NaN, or both Infinity or 0.
        !x.s || !y.s || (xd ? yd && xd[0] == yd[0] : !yd) ? NaN : (
          // Return ±0 if x is 0 or y is ±Infinity, or return ±Infinity as y is 0.
          xd && xd[0] == 0 || !yd ? sign2 * 0 : sign2 / 0
        )
      );
    }
    if (base) {
      logBase = 1;
      e = x.e - y.e;
    } else {
      base = BASE;
      logBase = LOG_BASE;
      e = mathfloor(x.e / logBase) - mathfloor(y.e / logBase);
    }
    yL = yd.length;
    xL = xd.length;
    q = new Ctor(sign2);
    qd = q.d = [];
    for (i = 0; yd[i] == (xd[i] || 0); i++) ;
    if (yd[i] > (xd[i] || 0)) e--;
    if (pr == null) {
      sd = pr = Ctor.precision;
      rm = Ctor.rounding;
    } else if (dp) {
      sd = pr + (x.e - y.e) + 1;
    } else {
      sd = pr;
    }
    if (sd < 0) {
      qd.push(1);
      more = true;
    } else {
      sd = sd / logBase + 2 | 0;
      i = 0;
      if (yL == 1) {
        k = 0;
        yd = yd[0];
        sd++;
        for (; (i < xL || k) && sd--; i++) {
          t2 = k * base + (xd[i] || 0);
          qd[i] = t2 / yd | 0;
          k = t2 % yd | 0;
        }
        more = k || i < xL;
      } else {
        k = base / (yd[0] + 1) | 0;
        if (k > 1) {
          yd = multiplyInteger(yd, k, base);
          xd = multiplyInteger(xd, k, base);
          yL = yd.length;
          xL = xd.length;
        }
        xi = yL;
        rem = xd.slice(0, yL);
        remL = rem.length;
        for (; remL < yL; ) rem[remL++] = 0;
        yz = yd.slice();
        yz.unshift(0);
        yd0 = yd[0];
        if (yd[1] >= base / 2) ++yd0;
        do {
          k = 0;
          cmp = compare(yd, rem, yL, remL);
          if (cmp < 0) {
            rem0 = rem[0];
            if (yL != remL) rem0 = rem0 * base + (rem[1] || 0);
            k = rem0 / yd0 | 0;
            if (k > 1) {
              if (k >= base) k = base - 1;
              prod = multiplyInteger(yd, k, base);
              prodL = prod.length;
              remL = rem.length;
              cmp = compare(prod, rem, prodL, remL);
              if (cmp == 1) {
                k--;
                subtract(prod, yL < prodL ? yz : yd, prodL, base);
              }
            } else {
              if (k == 0) cmp = k = 1;
              prod = yd.slice();
            }
            prodL = prod.length;
            if (prodL < remL) prod.unshift(0);
            subtract(rem, prod, remL, base);
            if (cmp == -1) {
              remL = rem.length;
              cmp = compare(yd, rem, yL, remL);
              if (cmp < 1) {
                k++;
                subtract(rem, yL < remL ? yz : yd, remL, base);
              }
            }
            remL = rem.length;
          } else if (cmp === 0) {
            k++;
            rem = [0];
          }
          qd[i++] = k;
          if (cmp && rem[0]) {
            rem[remL++] = xd[xi] || 0;
          } else {
            rem = [xd[xi]];
            remL = 1;
          }
        } while ((xi++ < xL || rem[0] !== void 0) && sd--);
        more = rem[0] !== void 0;
      }
      if (!qd[0]) qd.shift();
    }
    if (logBase == 1) {
      q.e = e;
      inexact = more;
    } else {
      for (i = 1, k = qd[0]; k >= 10; k /= 10) i++;
      q.e = i + e * logBase - 1;
      finalise(q, dp ? pr + q.e + 1 : pr, rm, more);
    }
    return q;
  };
}();
function finalise(x, sd, rm, isTruncated) {
  var digits, i, j, k, rd, roundUp, w, xd, xdi, Ctor = x.constructor;
  out: if (sd != null) {
    xd = x.d;
    if (!xd) return x;
    for (digits = 1, k = xd[0]; k >= 10; k /= 10) digits++;
    i = sd - digits;
    if (i < 0) {
      i += LOG_BASE;
      j = sd;
      w = xd[xdi = 0];
      rd = w / mathpow(10, digits - j - 1) % 10 | 0;
    } else {
      xdi = Math.ceil((i + 1) / LOG_BASE);
      k = xd.length;
      if (xdi >= k) {
        if (isTruncated) {
          for (; k++ <= xdi; ) xd.push(0);
          w = rd = 0;
          digits = 1;
          i %= LOG_BASE;
          j = i - LOG_BASE + 1;
        } else {
          break out;
        }
      } else {
        w = k = xd[xdi];
        for (digits = 1; k >= 10; k /= 10) digits++;
        i %= LOG_BASE;
        j = i - LOG_BASE + digits;
        rd = j < 0 ? 0 : w / mathpow(10, digits - j - 1) % 10 | 0;
      }
    }
    isTruncated = isTruncated || sd < 0 || xd[xdi + 1] !== void 0 || (j < 0 ? w : w % mathpow(10, digits - j - 1));
    roundUp = rm < 4 ? (rd || isTruncated) && (rm == 0 || rm == (x.s < 0 ? 3 : 2)) : rd > 5 || rd == 5 && (rm == 4 || isTruncated || rm == 6 && // Check whether the digit to the left of the rounding digit is odd.
    (i > 0 ? j > 0 ? w / mathpow(10, digits - j) : 0 : xd[xdi - 1]) % 10 & 1 || rm == (x.s < 0 ? 8 : 7));
    if (sd < 1 || !xd[0]) {
      xd.length = 0;
      if (roundUp) {
        sd -= x.e + 1;
        xd[0] = mathpow(10, (LOG_BASE - sd % LOG_BASE) % LOG_BASE);
        x.e = -sd || 0;
      } else {
        xd[0] = x.e = 0;
      }
      return x;
    }
    if (i == 0) {
      xd.length = xdi;
      k = 1;
      xdi--;
    } else {
      xd.length = xdi + 1;
      k = mathpow(10, LOG_BASE - i);
      xd[xdi] = j > 0 ? (w / mathpow(10, digits - j) % mathpow(10, j) | 0) * k : 0;
    }
    if (roundUp) {
      for (; ; ) {
        if (xdi == 0) {
          for (i = 1, j = xd[0]; j >= 10; j /= 10) i++;
          j = xd[0] += k;
          for (k = 1; j >= 10; j /= 10) k++;
          if (i != k) {
            x.e++;
            if (xd[0] == BASE) xd[0] = 1;
          }
          break;
        } else {
          xd[xdi] += k;
          if (xd[xdi] != BASE) break;
          xd[xdi--] = 0;
          k = 1;
        }
      }
    }
    for (i = xd.length; xd[--i] === 0; ) xd.pop();
  }
  if (external) {
    if (x.e > Ctor.maxE) {
      x.d = null;
      x.e = NaN;
    } else if (x.e < Ctor.minE) {
      x.e = 0;
      x.d = [0];
    }
  }
  return x;
}
function finiteToString(x, isExp, sd) {
  if (!x.isFinite()) return nonFiniteToString(x);
  var k, e = x.e, str = digitsToString(x.d), len = str.length;
  if (isExp) {
    if (sd && (k = sd - len) > 0) {
      str = str.charAt(0) + "." + str.slice(1) + getZeroString(k);
    } else if (len > 1) {
      str = str.charAt(0) + "." + str.slice(1);
    }
    str = str + (x.e < 0 ? "e" : "e+") + x.e;
  } else if (e < 0) {
    str = "0." + getZeroString(-e - 1) + str;
    if (sd && (k = sd - len) > 0) str += getZeroString(k);
  } else if (e >= len) {
    str += getZeroString(e + 1 - len);
    if (sd && (k = sd - e - 1) > 0) str = str + "." + getZeroString(k);
  } else {
    if ((k = e + 1) < len) str = str.slice(0, k) + "." + str.slice(k);
    if (sd && (k = sd - len) > 0) {
      if (e + 1 === len) str += ".";
      str += getZeroString(k);
    }
  }
  return str;
}
function getBase10Exponent(digits, e) {
  var w = digits[0];
  for (e *= LOG_BASE; w >= 10; w /= 10) e++;
  return e;
}
function getLn10(Ctor, sd, pr) {
  if (sd > LN10_PRECISION) {
    external = true;
    if (pr) Ctor.precision = pr;
    throw Error(precisionLimitExceeded);
  }
  return finalise(new Ctor(LN10), sd, 1, true);
}
function getPi(Ctor, sd, rm) {
  if (sd > PI_PRECISION) throw Error(precisionLimitExceeded);
  return finalise(new Ctor(PI), sd, rm, true);
}
function getPrecision(digits) {
  var w = digits.length - 1, len = w * LOG_BASE + 1;
  w = digits[w];
  if (w) {
    for (; w % 10 == 0; w /= 10) len--;
    for (w = digits[0]; w >= 10; w /= 10) len++;
  }
  return len;
}
function getZeroString(k) {
  var zs = "";
  for (; k--; ) zs += "0";
  return zs;
}
function intPow(Ctor, x, n2, pr) {
  var isTruncated, r = new Ctor(1), k = Math.ceil(pr / LOG_BASE + 4);
  external = false;
  for (; ; ) {
    if (n2 % 2) {
      r = r.times(x);
      if (truncate(r.d, k)) isTruncated = true;
    }
    n2 = mathfloor(n2 / 2);
    if (n2 === 0) {
      n2 = r.d.length - 1;
      if (isTruncated && r.d[n2] === 0) ++r.d[n2];
      break;
    }
    x = x.times(x);
    truncate(x.d, k);
  }
  external = true;
  return r;
}
function isOdd(n2) {
  return n2.d[n2.d.length - 1] & 1;
}
function maxOrMin(Ctor, args, ltgt) {
  var y, x = new Ctor(args[0]), i = 0;
  for (; ++i < args.length; ) {
    y = new Ctor(args[i]);
    if (!y.s) {
      x = y;
      break;
    } else if (x[ltgt](y)) {
      x = y;
    }
  }
  return x;
}
function naturalExponential(x, sd) {
  var denominator, guard, j, pow2, sum2, t2, wpr, rep = 0, i = 0, k = 0, Ctor = x.constructor, rm = Ctor.rounding, pr = Ctor.precision;
  if (!x.d || !x.d[0] || x.e > 17) {
    return new Ctor(x.d ? !x.d[0] ? 1 : x.s < 0 ? 0 : 1 / 0 : x.s ? x.s < 0 ? 0 : x : 0 / 0);
  }
  if (sd == null) {
    external = false;
    wpr = pr;
  } else {
    wpr = sd;
  }
  t2 = new Ctor(0.03125);
  while (x.e > -2) {
    x = x.times(t2);
    k += 5;
  }
  guard = Math.log(mathpow(2, k)) / Math.LN10 * 2 + 5 | 0;
  wpr += guard;
  denominator = pow2 = sum2 = new Ctor(1);
  Ctor.precision = wpr;
  for (; ; ) {
    pow2 = finalise(pow2.times(x), wpr, 1);
    denominator = denominator.times(++i);
    t2 = sum2.plus(divide(pow2, denominator, wpr, 1));
    if (digitsToString(t2.d).slice(0, wpr) === digitsToString(sum2.d).slice(0, wpr)) {
      j = k;
      while (j--) sum2 = finalise(sum2.times(sum2), wpr, 1);
      if (sd == null) {
        if (rep < 3 && checkRoundingDigits(sum2.d, wpr - guard, rm, rep)) {
          Ctor.precision = wpr += 10;
          denominator = pow2 = t2 = new Ctor(1);
          i = 0;
          rep++;
        } else {
          return finalise(sum2, Ctor.precision = pr, rm, external = true);
        }
      } else {
        Ctor.precision = pr;
        return sum2;
      }
    }
    sum2 = t2;
  }
}
function naturalLogarithm(y, sd) {
  var c, c0, denominator, e, numerator, rep, sum2, t2, wpr, x1, x2, n2 = 1, guard = 10, x = y, xd = x.d, Ctor = x.constructor, rm = Ctor.rounding, pr = Ctor.precision;
  if (x.s < 0 || !xd || !xd[0] || !x.e && xd[0] == 1 && xd.length == 1) {
    return new Ctor(xd && !xd[0] ? -1 / 0 : x.s != 1 ? NaN : xd ? 0 : x);
  }
  if (sd == null) {
    external = false;
    wpr = pr;
  } else {
    wpr = sd;
  }
  Ctor.precision = wpr += guard;
  c = digitsToString(xd);
  c0 = c.charAt(0);
  if (Math.abs(e = x.e) < 15e14) {
    while (c0 < 7 && c0 != 1 || c0 == 1 && c.charAt(1) > 3) {
      x = x.times(y);
      c = digitsToString(x.d);
      c0 = c.charAt(0);
      n2++;
    }
    e = x.e;
    if (c0 > 1) {
      x = new Ctor("0." + c);
      e++;
    } else {
      x = new Ctor(c0 + "." + c.slice(1));
    }
  } else {
    t2 = getLn10(Ctor, wpr + 2, pr).times(e + "");
    x = naturalLogarithm(new Ctor(c0 + "." + c.slice(1)), wpr - guard).plus(t2);
    Ctor.precision = pr;
    return sd == null ? finalise(x, pr, rm, external = true) : x;
  }
  x1 = x;
  sum2 = numerator = x = divide(x.minus(1), x.plus(1), wpr, 1);
  x2 = finalise(x.times(x), wpr, 1);
  denominator = 3;
  for (; ; ) {
    numerator = finalise(numerator.times(x2), wpr, 1);
    t2 = sum2.plus(divide(numerator, new Ctor(denominator), wpr, 1));
    if (digitsToString(t2.d).slice(0, wpr) === digitsToString(sum2.d).slice(0, wpr)) {
      sum2 = sum2.times(2);
      if (e !== 0) sum2 = sum2.plus(getLn10(Ctor, wpr + 2, pr).times(e + ""));
      sum2 = divide(sum2, new Ctor(n2), wpr, 1);
      if (sd == null) {
        if (checkRoundingDigits(sum2.d, wpr - guard, rm, rep)) {
          Ctor.precision = wpr += guard;
          t2 = numerator = x = divide(x1.minus(1), x1.plus(1), wpr, 1);
          x2 = finalise(x.times(x), wpr, 1);
          denominator = rep = 1;
        } else {
          return finalise(sum2, Ctor.precision = pr, rm, external = true);
        }
      } else {
        Ctor.precision = pr;
        return sum2;
      }
    }
    sum2 = t2;
    denominator += 2;
  }
}
function nonFiniteToString(x) {
  return String(x.s * x.s / 0);
}
function parseDecimal(x, str) {
  var e, i, len;
  if ((e = str.indexOf(".")) > -1) str = str.replace(".", "");
  if ((i = str.search(/e/i)) > 0) {
    if (e < 0) e = i;
    e += +str.slice(i + 1);
    str = str.substring(0, i);
  } else if (e < 0) {
    e = str.length;
  }
  for (i = 0; str.charCodeAt(i) === 48; i++) ;
  for (len = str.length; str.charCodeAt(len - 1) === 48; --len) ;
  str = str.slice(i, len);
  if (str) {
    len -= i;
    x.e = e = e - i - 1;
    x.d = [];
    i = (e + 1) % LOG_BASE;
    if (e < 0) i += LOG_BASE;
    if (i < len) {
      if (i) x.d.push(+str.slice(0, i));
      for (len -= LOG_BASE; i < len; ) x.d.push(+str.slice(i, i += LOG_BASE));
      str = str.slice(i);
      i = LOG_BASE - str.length;
    } else {
      i -= len;
    }
    for (; i--; ) str += "0";
    x.d.push(+str);
    if (external) {
      if (x.e > x.constructor.maxE) {
        x.d = null;
        x.e = NaN;
      } else if (x.e < x.constructor.minE) {
        x.e = 0;
        x.d = [0];
      }
    }
  } else {
    x.e = 0;
    x.d = [0];
  }
  return x;
}
function parseOther(x, str) {
  var base, Ctor, divisor, i, isFloat, len, p, xd, xe;
  if (str.indexOf("_") > -1) {
    str = str.replace(/(\d)_(?=\d)/g, "$1");
    if (isDecimal.test(str)) return parseDecimal(x, str);
  } else if (str === "Infinity" || str === "NaN") {
    if (!+str) x.s = NaN;
    x.e = NaN;
    x.d = null;
    return x;
  }
  if (isHex.test(str)) {
    base = 16;
    str = str.toLowerCase();
  } else if (isBinary.test(str)) {
    base = 2;
  } else if (isOctal.test(str)) {
    base = 8;
  } else {
    throw Error(invalidArgument + str);
  }
  i = str.search(/p/i);
  if (i > 0) {
    p = +str.slice(i + 1);
    str = str.substring(2, i);
  } else {
    str = str.slice(2);
  }
  i = str.indexOf(".");
  isFloat = i >= 0;
  Ctor = x.constructor;
  if (isFloat) {
    str = str.replace(".", "");
    len = str.length;
    i = len - i;
    divisor = intPow(Ctor, new Ctor(base), i, i * 2);
  }
  xd = convertBase(str, base, BASE);
  xe = xd.length - 1;
  for (i = xe; xd[i] === 0; --i) xd.pop();
  if (i < 0) return new Ctor(x.s * 0);
  x.e = getBase10Exponent(xd, xe);
  x.d = xd;
  external = false;
  if (isFloat) x = divide(x, divisor, len * 4);
  if (p) x = x.times(Math.abs(p) < 54 ? mathpow(2, p) : Decimal.pow(2, p));
  external = true;
  return x;
}
function sine(Ctor, x) {
  var k, len = x.d.length;
  if (len < 3) {
    return x.isZero() ? x : taylorSeries(Ctor, 2, x, x);
  }
  k = 1.4 * Math.sqrt(len);
  k = k > 16 ? 16 : k | 0;
  x = x.times(1 / tinyPow(5, k));
  x = taylorSeries(Ctor, 2, x, x);
  var sin2_x, d5 = new Ctor(5), d16 = new Ctor(16), d20 = new Ctor(20);
  for (; k--; ) {
    sin2_x = x.times(x);
    x = x.times(d5.plus(sin2_x.times(d16.times(sin2_x).minus(d20))));
  }
  return x;
}
function taylorSeries(Ctor, n2, x, y, isHyperbolic) {
  var j, t2, u, x2, pr = Ctor.precision, k = Math.ceil(pr / LOG_BASE);
  external = false;
  x2 = x.times(x);
  u = new Ctor(y);
  for (; ; ) {
    t2 = divide(u.times(x2), new Ctor(n2++ * n2++), pr, 1);
    u = isHyperbolic ? y.plus(t2) : y.minus(t2);
    y = divide(t2.times(x2), new Ctor(n2++ * n2++), pr, 1);
    t2 = u.plus(y);
    if (t2.d[k] !== void 0) {
      for (j = k; t2.d[j] === u.d[j] && j--; ) ;
      if (j == -1) break;
    }
    j = u;
    u = y;
    y = t2;
    t2 = j;
  }
  external = true;
  t2.d.length = k + 1;
  return t2;
}
function tinyPow(b, e) {
  var n2 = b;
  while (--e) n2 *= b;
  return n2;
}
function toLessThanHalfPi(Ctor, x) {
  var t2, isNeg = x.s < 0, pi = getPi(Ctor, Ctor.precision, 1), halfPi = pi.times(0.5);
  x = x.abs();
  if (x.lte(halfPi)) {
    quadrant = isNeg ? 4 : 1;
    return x;
  }
  t2 = x.divToInt(pi);
  if (t2.isZero()) {
    quadrant = isNeg ? 3 : 2;
  } else {
    x = x.minus(t2.times(pi));
    if (x.lte(halfPi)) {
      quadrant = isOdd(t2) ? isNeg ? 2 : 3 : isNeg ? 4 : 1;
      return x;
    }
    quadrant = isOdd(t2) ? isNeg ? 1 : 4 : isNeg ? 3 : 2;
  }
  return x.minus(pi).abs();
}
function toStringBinary(x, baseOut, sd, rm) {
  var base, e, i, k, len, roundUp, str, xd, y, Ctor = x.constructor, isExp = sd !== void 0;
  if (isExp) {
    checkInt32(sd, 1, MAX_DIGITS);
    if (rm === void 0) rm = Ctor.rounding;
    else checkInt32(rm, 0, 8);
  } else {
    sd = Ctor.precision;
    rm = Ctor.rounding;
  }
  if (!x.isFinite()) {
    str = nonFiniteToString(x);
  } else {
    str = finiteToString(x);
    i = str.indexOf(".");
    if (isExp) {
      base = 2;
      if (baseOut == 16) {
        sd = sd * 4 - 3;
      } else if (baseOut == 8) {
        sd = sd * 3 - 2;
      }
    } else {
      base = baseOut;
    }
    if (i >= 0) {
      str = str.replace(".", "");
      y = new Ctor(1);
      y.e = str.length - i;
      y.d = convertBase(finiteToString(y), 10, base);
      y.e = y.d.length;
    }
    xd = convertBase(str, 10, base);
    e = len = xd.length;
    for (; xd[--len] == 0; ) xd.pop();
    if (!xd[0]) {
      str = isExp ? "0p+0" : "0";
    } else {
      if (i < 0) {
        e--;
      } else {
        x = new Ctor(x);
        x.d = xd;
        x.e = e;
        x = divide(x, y, sd, rm, 0, base);
        xd = x.d;
        e = x.e;
        roundUp = inexact;
      }
      i = xd[sd];
      k = base / 2;
      roundUp = roundUp || xd[sd + 1] !== void 0;
      roundUp = rm < 4 ? (i !== void 0 || roundUp) && (rm === 0 || rm === (x.s < 0 ? 3 : 2)) : i > k || i === k && (rm === 4 || roundUp || rm === 6 && xd[sd - 1] & 1 || rm === (x.s < 0 ? 8 : 7));
      xd.length = sd;
      if (roundUp) {
        for (; ++xd[--sd] > base - 1; ) {
          xd[sd] = 0;
          if (!sd) {
            ++e;
            xd.unshift(1);
          }
        }
      }
      for (len = xd.length; !xd[len - 1]; --len) ;
      for (i = 0, str = ""; i < len; i++) str += NUMERALS.charAt(xd[i]);
      if (isExp) {
        if (len > 1) {
          if (baseOut == 16 || baseOut == 8) {
            i = baseOut == 16 ? 4 : 3;
            for (--len; len % i; len++) str += "0";
            xd = convertBase(str, base, baseOut);
            for (len = xd.length; !xd[len - 1]; --len) ;
            for (i = 1, str = "1."; i < len; i++) str += NUMERALS.charAt(xd[i]);
          } else {
            str = str.charAt(0) + "." + str.slice(1);
          }
        }
        str = str + (e < 0 ? "p" : "p+") + e;
      } else if (e < 0) {
        for (; ++e; ) str = "0" + str;
        str = "0." + str;
      } else {
        if (++e > len) for (e -= len; e--; ) str += "0";
        else if (e < len) str = str.slice(0, e) + "." + str.slice(e);
      }
    }
    str = (baseOut == 16 ? "0x" : baseOut == 2 ? "0b" : baseOut == 8 ? "0o" : "") + str;
  }
  return x.s < 0 ? "-" + str : str;
}
function truncate(arr, len) {
  if (arr.length > len) {
    arr.length = len;
    return true;
  }
}
function abs(x) {
  return new this(x).abs();
}
function acos(x) {
  return new this(x).acos();
}
function acosh(x) {
  return new this(x).acosh();
}
function add(x, y) {
  return new this(x).plus(y);
}
function asin(x) {
  return new this(x).asin();
}
function asinh(x) {
  return new this(x).asinh();
}
function atan(x) {
  return new this(x).atan();
}
function atanh(x) {
  return new this(x).atanh();
}
function atan2(y, x) {
  y = new this(y);
  x = new this(x);
  var r, pr = this.precision, rm = this.rounding, wpr = pr + 4;
  if (!y.s || !x.s) {
    r = new this(NaN);
  } else if (!y.d && !x.d) {
    r = getPi(this, wpr, 1).times(x.s > 0 ? 0.25 : 0.75);
    r.s = y.s;
  } else if (!x.d || y.isZero()) {
    r = x.s < 0 ? getPi(this, pr, rm) : new this(0);
    r.s = y.s;
  } else if (!y.d || x.isZero()) {
    r = getPi(this, wpr, 1).times(0.5);
    r.s = y.s;
  } else if (x.s < 0) {
    this.precision = wpr;
    this.rounding = 1;
    r = this.atan(divide(y, x, wpr, 1));
    x = getPi(this, wpr, 1);
    this.precision = pr;
    this.rounding = rm;
    r = y.s < 0 ? r.minus(x) : r.plus(x);
  } else {
    r = this.atan(divide(y, x, wpr, 1));
  }
  return r;
}
function cbrt(x) {
  return new this(x).cbrt();
}
function ceil(x) {
  return finalise(x = new this(x), x.e + 1, 2);
}
function clamp(x, min2, max2) {
  return new this(x).clamp(min2, max2);
}
function config(obj) {
  if (!obj || typeof obj !== "object") throw Error(decimalError + "Object expected");
  var i, p, v, useDefaults = obj.defaults === true, ps = [
    "precision",
    1,
    MAX_DIGITS,
    "rounding",
    0,
    8,
    "toExpNeg",
    -9e15,
    0,
    "toExpPos",
    0,
    EXP_LIMIT,
    "maxE",
    0,
    EXP_LIMIT,
    "minE",
    -9e15,
    0,
    "modulo",
    0,
    9
  ];
  for (i = 0; i < ps.length; i += 3) {
    if (p = ps[i], useDefaults) this[p] = DEFAULTS[p];
    if ((v = obj[p]) !== void 0) {
      if (mathfloor(v) === v && v >= ps[i + 1] && v <= ps[i + 2]) this[p] = v;
      else throw Error(invalidArgument + p + ": " + v);
    }
  }
  if (p = "crypto", useDefaults) this[p] = DEFAULTS[p];
  if ((v = obj[p]) !== void 0) {
    if (v === true || v === false || v === 0 || v === 1) {
      if (v) {
        if (typeof crypto != "undefined" && crypto && (crypto.getRandomValues || crypto.randomBytes)) {
          this[p] = true;
        } else {
          throw Error(cryptoUnavailable);
        }
      } else {
        this[p] = false;
      }
    } else {
      throw Error(invalidArgument + p + ": " + v);
    }
  }
  return this;
}
function cos(x) {
  return new this(x).cos();
}
function cosh(x) {
  return new this(x).cosh();
}
function clone(obj) {
  var i, p, ps;
  function Decimal2(v) {
    var e, i2, t2, x = this;
    if (!(x instanceof Decimal2)) return new Decimal2(v);
    x.constructor = Decimal2;
    if (isDecimalInstance(v)) {
      x.s = v.s;
      if (external) {
        if (!v.d || v.e > Decimal2.maxE) {
          x.e = NaN;
          x.d = null;
        } else if (v.e < Decimal2.minE) {
          x.e = 0;
          x.d = [0];
        } else {
          x.e = v.e;
          x.d = v.d.slice();
        }
      } else {
        x.e = v.e;
        x.d = v.d ? v.d.slice() : v.d;
      }
      return;
    }
    t2 = typeof v;
    if (t2 === "number") {
      if (v === 0) {
        x.s = 1 / v < 0 ? -1 : 1;
        x.e = 0;
        x.d = [0];
        return;
      }
      if (v < 0) {
        v = -v;
        x.s = -1;
      } else {
        x.s = 1;
      }
      if (v === ~~v && v < 1e7) {
        for (e = 0, i2 = v; i2 >= 10; i2 /= 10) e++;
        if (external) {
          if (e > Decimal2.maxE) {
            x.e = NaN;
            x.d = null;
          } else if (e < Decimal2.minE) {
            x.e = 0;
            x.d = [0];
          } else {
            x.e = e;
            x.d = [v];
          }
        } else {
          x.e = e;
          x.d = [v];
        }
        return;
      } else if (v * 0 !== 0) {
        if (!v) x.s = NaN;
        x.e = NaN;
        x.d = null;
        return;
      }
      return parseDecimal(x, v.toString());
    } else if (t2 !== "string") {
      throw Error(invalidArgument + v);
    }
    if ((i2 = v.charCodeAt(0)) === 45) {
      v = v.slice(1);
      x.s = -1;
    } else {
      if (i2 === 43) v = v.slice(1);
      x.s = 1;
    }
    return isDecimal.test(v) ? parseDecimal(x, v) : parseOther(x, v);
  }
  Decimal2.prototype = P;
  Decimal2.ROUND_UP = 0;
  Decimal2.ROUND_DOWN = 1;
  Decimal2.ROUND_CEIL = 2;
  Decimal2.ROUND_FLOOR = 3;
  Decimal2.ROUND_HALF_UP = 4;
  Decimal2.ROUND_HALF_DOWN = 5;
  Decimal2.ROUND_HALF_EVEN = 6;
  Decimal2.ROUND_HALF_CEIL = 7;
  Decimal2.ROUND_HALF_FLOOR = 8;
  Decimal2.EUCLID = 9;
  Decimal2.config = Decimal2.set = config;
  Decimal2.clone = clone;
  Decimal2.isDecimal = isDecimalInstance;
  Decimal2.abs = abs;
  Decimal2.acos = acos;
  Decimal2.acosh = acosh;
  Decimal2.add = add;
  Decimal2.asin = asin;
  Decimal2.asinh = asinh;
  Decimal2.atan = atan;
  Decimal2.atanh = atanh;
  Decimal2.atan2 = atan2;
  Decimal2.cbrt = cbrt;
  Decimal2.ceil = ceil;
  Decimal2.clamp = clamp;
  Decimal2.cos = cos;
  Decimal2.cosh = cosh;
  Decimal2.div = div;
  Decimal2.exp = exp;
  Decimal2.floor = floor;
  Decimal2.hypot = hypot;
  Decimal2.ln = ln;
  Decimal2.log = log;
  Decimal2.log10 = log10;
  Decimal2.log2 = log2;
  Decimal2.max = max;
  Decimal2.min = min;
  Decimal2.mod = mod;
  Decimal2.mul = mul;
  Decimal2.pow = pow;
  Decimal2.random = random;
  Decimal2.round = round;
  Decimal2.sign = sign;
  Decimal2.sin = sin;
  Decimal2.sinh = sinh;
  Decimal2.sqrt = sqrt;
  Decimal2.sub = sub;
  Decimal2.sum = sum;
  Decimal2.tan = tan;
  Decimal2.tanh = tanh;
  Decimal2.trunc = trunc;
  if (obj === void 0) obj = {};
  if (obj) {
    if (obj.defaults !== true) {
      ps = ["precision", "rounding", "toExpNeg", "toExpPos", "maxE", "minE", "modulo", "crypto"];
      for (i = 0; i < ps.length; ) if (!obj.hasOwnProperty(p = ps[i++])) obj[p] = this[p];
    }
  }
  Decimal2.config(obj);
  return Decimal2;
}
function div(x, y) {
  return new this(x).div(y);
}
function exp(x) {
  return new this(x).exp();
}
function floor(x) {
  return finalise(x = new this(x), x.e + 1, 3);
}
function hypot() {
  var i, n2, t2 = new this(0);
  external = false;
  for (i = 0; i < arguments.length; ) {
    n2 = new this(arguments[i++]);
    if (!n2.d) {
      if (n2.s) {
        external = true;
        return new this(1 / 0);
      }
      t2 = n2;
    } else if (t2.d) {
      t2 = t2.plus(n2.times(n2));
    }
  }
  external = true;
  return t2.sqrt();
}
function isDecimalInstance(obj) {
  return obj instanceof Decimal || obj && obj.toStringTag === tag || false;
}
function ln(x) {
  return new this(x).ln();
}
function log(x, y) {
  return new this(x).log(y);
}
function log2(x) {
  return new this(x).log(2);
}
function log10(x) {
  return new this(x).log(10);
}
function max() {
  return maxOrMin(this, arguments, "lt");
}
function min() {
  return maxOrMin(this, arguments, "gt");
}
function mod(x, y) {
  return new this(x).mod(y);
}
function mul(x, y) {
  return new this(x).mul(y);
}
function pow(x, y) {
  return new this(x).pow(y);
}
function random(sd) {
  var d, e, k, n2, i = 0, r = new this(1), rd = [];
  if (sd === void 0) sd = this.precision;
  else checkInt32(sd, 1, MAX_DIGITS);
  k = Math.ceil(sd / LOG_BASE);
  if (!this.crypto) {
    for (; i < k; ) rd[i++] = Math.random() * 1e7 | 0;
  } else if (crypto.getRandomValues) {
    d = crypto.getRandomValues(new Uint32Array(k));
    for (; i < k; ) {
      n2 = d[i];
      if (n2 >= 429e7) {
        d[i] = crypto.getRandomValues(new Uint32Array(1))[0];
      } else {
        rd[i++] = n2 % 1e7;
      }
    }
  } else if (crypto.randomBytes) {
    d = crypto.randomBytes(k *= 4);
    for (; i < k; ) {
      n2 = d[i] + (d[i + 1] << 8) + (d[i + 2] << 16) + ((d[i + 3] & 127) << 24);
      if (n2 >= 214e7) {
        crypto.randomBytes(4).copy(d, i);
      } else {
        rd.push(n2 % 1e7);
        i += 4;
      }
    }
    i = k / 4;
  } else {
    throw Error(cryptoUnavailable);
  }
  k = rd[--i];
  sd %= LOG_BASE;
  if (k && sd) {
    n2 = mathpow(10, LOG_BASE - sd);
    rd[i] = (k / n2 | 0) * n2;
  }
  for (; rd[i] === 0; i--) rd.pop();
  if (i < 0) {
    e = 0;
    rd = [0];
  } else {
    e = -1;
    for (; rd[0] === 0; e -= LOG_BASE) rd.shift();
    for (k = 1, n2 = rd[0]; n2 >= 10; n2 /= 10) k++;
    if (k < LOG_BASE) e -= LOG_BASE - k;
  }
  r.e = e;
  r.d = rd;
  return r;
}
function round(x) {
  return finalise(x = new this(x), x.e + 1, this.rounding);
}
function sign(x) {
  x = new this(x);
  return x.d ? x.d[0] ? x.s : 0 * x.s : x.s || NaN;
}
function sin(x) {
  return new this(x).sin();
}
function sinh(x) {
  return new this(x).sinh();
}
function sqrt(x) {
  return new this(x).sqrt();
}
function sub(x, y) {
  return new this(x).sub(y);
}
function sum() {
  var i = 0, args = arguments, x = new this(args[i]);
  external = false;
  for (; x.s && ++i < args.length; ) x = x.plus(args[i]);
  external = true;
  return finalise(x, this.precision, this.rounding);
}
function tan(x) {
  return new this(x).tan();
}
function tanh(x) {
  return new this(x).tanh();
}
function trunc(x) {
  return finalise(x = new this(x), x.e + 1, 1);
}
P[Symbol.for("nodejs.util.inspect.custom")] = P.toString;
P[Symbol.toStringTag] = "Decimal";
var Decimal = P.constructor = clone(DEFAULTS);
LN10 = new Decimal(LN10);
PI = new Decimal(PI);
const props$O = {
  modelValue: {
    type: Number,
    default: 0
  },
  min: [String, Number],
  max: [String, Number],
  step: {
    type: [String, Number],
    default: 1
  },
  color: String,
  inputWidth: [String, Number],
  inputTextSize: [String, Number],
  buttonSize: [String, Number],
  elevation: {
    type: [Boolean, Number, String],
    default: true
  },
  decimalLength: [String, Number],
  disabled: Boolean,
  readonly: Boolean,
  disableIncrement: Boolean,
  disableDecrement: Boolean,
  disableInput: Boolean,
  lazyChange: Boolean,
  incrementButton: {
    type: Boolean,
    default: true
  },
  decrementButton: {
    type: Boolean,
    default: true
  },
  press: {
    type: Boolean,
    default: true
  },
  ripple: {
    type: Boolean,
    default: true
  },
  validateTrigger: {
    type: Array,
    default: () => ["onInputChange", "onLazyChange", "onIncrement", "onDecrement"]
  },
  rules: [Array, Function, Object],
  onBeforeChange: defineListenerProp(),
  onChange: defineListenerProp(),
  onIncrement: defineListenerProp(),
  onDecrement: defineListenerProp(),
  "onUpdate:modelValue": defineListenerProp()
};
const SPEED = 100;
const DELAY = 600;
const { name: name$P, n: n$W, classes: classes$K } = createNamespace("counter");
const _hoisted_1$p = ["inputmode", "readonly", "disabled"];
function __render__$U(_ctx, _cache) {
  const _component_var_icon = vue.resolveComponent("var-icon");
  const _component_var_button = vue.resolveComponent("var-button");
  const _component_var_form_details = vue.resolveComponent("var-form-details");
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(_ctx.classes(_ctx.n(), _ctx.n("$--box")))
    },
    [
      vue.createElementVNode(
        "div",
        vue.mergeProps({
          class: _ctx.classes(
            _ctx.n("controller"),
            _ctx.formatElevation(_ctx.elevation, 2),
            [_ctx.disabled || _ctx.formDisabled, _ctx.n("--disabled")],
            [_ctx.errorMessage, _ctx.n("--error")]
          ),
          style: { background: _ctx.color }
        }, _ctx.$attrs),
        [
          vue.createVNode(_component_var_button, {
            class: vue.normalizeClass(
              _ctx.classes(
                _ctx.n("decrement-button"),
                [!_ctx.decrementButton, _ctx.n("--hidden")],
                [_ctx.disabled || _ctx.formDisabled, _ctx.n("--not-allowed")]
              )
            ),
            style: vue.normalizeStyle({
              width: _ctx.toSizeUnit(_ctx.buttonSize),
              height: _ctx.toSizeUnit(_ctx.buttonSize)
            }),
            round: "",
            "var-counter-cover": "",
            ripple: _ctx.ripple && _ctx.decrementButton && !_ctx.disabled && !_ctx.formDisabled && !_ctx.readonly && !_ctx.formReadonly && !_ctx.disableDecrement && !_ctx.isMin,
            onClick: _ctx.decrement,
            onTouchstart: _ctx.pressDecrement,
            onTouchend: _ctx.releaseDecrement,
            onTouchcancel: _ctx.releaseDecrement
          }, {
            default: vue.withCtx(() => [
              vue.createVNode(_component_var_icon, { name: "minus" })
            ]),
            _: 1
            /* STABLE */
          }, 8, ["class", "style", "ripple", "onClick", "onTouchstart", "onTouchend", "onTouchcancel"]),
          vue.withDirectives(vue.createElementVNode("input", {
            "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.inputValue = $event),
            class: vue.normalizeClass(_ctx.classes(_ctx.n("input"), [_ctx.disabled || _ctx.formDisabled, _ctx.n("--not-allowed")])),
            style: vue.normalizeStyle({
              width: _ctx.toSizeUnit(_ctx.inputWidth),
              fontSize: _ctx.toSizeUnit(_ctx.inputTextSize)
            }),
            inputmode: _ctx.toNumber(_ctx.decimalLength) === 0 ? "numeric" : "decimal",
            readonly: _ctx.readonly || _ctx.formReadonly,
            disabled: _ctx.disabled || _ctx.formDisabled || _ctx.disableInput,
            onChange: _cache[1] || (_cache[1] = (...args) => _ctx.handleChange && _ctx.handleChange(...args))
          }, null, 46, _hoisted_1$p), [
            [vue.vModelText, _ctx.inputValue]
          ]),
          vue.createVNode(_component_var_button, {
            class: vue.normalizeClass(
              _ctx.classes(
                _ctx.n("increment-button"),
                [!_ctx.incrementButton, _ctx.n("--hidden")],
                [_ctx.disabled || _ctx.formDisabled, _ctx.n("--not-allowed")]
              )
            ),
            style: vue.normalizeStyle({
              width: _ctx.toSizeUnit(_ctx.buttonSize),
              height: _ctx.toSizeUnit(_ctx.buttonSize)
            }),
            round: "",
            "var-counter-cover": "",
            ripple: _ctx.ripple && _ctx.incrementButton && !_ctx.disabled && !_ctx.formDisabled && !_ctx.readonly && !_ctx.formReadonly && !_ctx.disableIncrement && !_ctx.isMax,
            onClick: _ctx.increment,
            onTouchstart: _ctx.pressIncrement,
            onTouchend: _ctx.releaseIncrement,
            onTouchcancel: _ctx.releaseIncrement
          }, {
            default: vue.withCtx(() => [
              vue.createVNode(_component_var_icon, { name: "plus" })
            ]),
            _: 1
            /* STABLE */
          }, 8, ["class", "style", "ripple", "onClick", "onTouchstart", "onTouchend", "onTouchcancel"])
        ],
        16
        /* FULL_PROPS */
      ),
      vue.createVNode(_component_var_form_details, { "error-message": _ctx.errorMessage }, null, 8, ["error-message"])
    ],
    2
    /* CLASS */
  );
}
const __sfc__$X = vue.defineComponent({
  name: name$P,
  components: {
    VarButton: stdin_default$5y,
    VarIcon: stdin_default$63,
    VarFormDetails: stdin_default$5W
  },
  directives: { Ripple: stdin_default$68 },
  inheritAttrs: false,
  props: props$O,
  setup(props2) {
    const inputValue = vue.ref("");
    const { bindForm, form } = useForm();
    const {
      errorMessage,
      validateWithTrigger: vt,
      validate: v,
      // expose
      resetValidation
    } = useValidation();
    const { readonly: formReadonly, disabled: formDisabled } = form != null ? form : {};
    const isMax = vue.computed(() => {
      const { max: max2, modelValue } = props2;
      return max2 != null && toNumber(modelValue) >= toNumber(max2);
    });
    const isMin = vue.computed(() => {
      const { min: min2, modelValue } = props2;
      return min2 != null && toNumber(modelValue) <= toNumber(min2);
    });
    let incrementTimer;
    let decrementTimer;
    let incrementDelayTimer;
    let decrementDelayTimer;
    const counterProvider = {
      reset,
      validate,
      resetValidation
    };
    call(bindForm, counterProvider);
    vue.watch(
      () => props2.modelValue,
      (newValue) => {
        setNormalizedValue(normalizeValue(String(newValue)));
        call(props2.onChange, toNumber(newValue));
      }
    );
    setNormalizedValue(normalizeValue(String(props2.modelValue)));
    function validate() {
      return v(props2.rules, props2.modelValue);
    }
    function validateWithTrigger(trigger) {
      vue.nextTick(() => {
        const { validateTrigger, rules, modelValue } = props2;
        vt(validateTrigger, trigger, rules, modelValue);
      });
    }
    function reset() {
      const { min: min2 } = props2;
      call(props2["onUpdate:modelValue"], min2 != null ? toNumber(min2) : 0);
      resetValidation();
    }
    function normalizeValue(value) {
      const { decimalLength, max: max2, min: min2 } = props2;
      let num = toNumber(value);
      if (max2 != null && num > toNumber(max2)) {
        num = toNumber(max2);
      }
      if (min2 != null && num < toNumber(min2)) {
        num = toNumber(min2);
      }
      value = String(num);
      if (decimalLength != null) {
        value = num.toFixed(toNumber(decimalLength));
      }
      return value;
    }
    function handleChange(event) {
      const { lazyChange, onBeforeChange } = props2;
      const { value } = event.target;
      const normalizedValue = normalizeValue(value);
      lazyChange ? call(onBeforeChange, toNumber(normalizedValue), change) : setNormalizedValue(normalizedValue);
      validateWithTrigger("onInputChange");
    }
    function decrement() {
      const {
        disabled,
        readonly,
        disableDecrement,
        decrementButton,
        lazyChange,
        step,
        modelValue,
        onDecrement,
        onBeforeChange
      } = props2;
      if ((formDisabled == null ? void 0 : formDisabled.value) || (formReadonly == null ? void 0 : formReadonly.value) || disabled || readonly || disableDecrement || !decrementButton) {
        return;
      }
      if (isMin.value) {
        return;
      }
      const value = new Decimal(toNumber(modelValue)).minus(new Decimal(toNumber(step))).toString();
      const normalizedValue = normalizeValue(value);
      const normalizedValueNum = toNumber(normalizedValue);
      call(onDecrement, normalizedValueNum);
      if (lazyChange) {
        call(onBeforeChange, normalizedValueNum, change);
      } else {
        setNormalizedValue(normalizedValue);
        validateWithTrigger("onDecrement");
      }
    }
    function increment() {
      const {
        disabled,
        readonly,
        disableIncrement,
        incrementButton,
        lazyChange,
        step,
        modelValue,
        onIncrement,
        onBeforeChange
      } = props2;
      if ((formDisabled == null ? void 0 : formDisabled.value) || (formReadonly == null ? void 0 : formReadonly.value) || disabled || readonly || disableIncrement || !incrementButton) {
        return;
      }
      if (isMax.value) {
        return;
      }
      const value = new Decimal(toNumber(modelValue)).plus(new Decimal(toNumber(step))).toString();
      const normalizedValue = normalizeValue(value);
      const normalizedValueNum = toNumber(normalizedValue);
      call(onIncrement, normalizedValueNum);
      if (lazyChange) {
        call(onBeforeChange, normalizedValueNum, change);
      } else {
        setNormalizedValue(normalizedValue);
        validateWithTrigger("onIncrement");
      }
    }
    function pressDecrement() {
      const { press, lazyChange } = props2;
      if (!press || lazyChange) {
        return;
      }
      decrementDelayTimer = window.setTimeout(() => {
        continuedDecrement();
      }, DELAY);
    }
    function pressIncrement() {
      const { press, lazyChange } = props2;
      if (!press || lazyChange) {
        return;
      }
      incrementDelayTimer = window.setTimeout(() => {
        continuedIncrement();
      }, DELAY);
    }
    function releaseDecrement() {
      decrementTimer && clearTimeout(decrementTimer);
      decrementDelayTimer && clearTimeout(decrementDelayTimer);
    }
    function releaseIncrement() {
      incrementTimer && clearTimeout(incrementTimer);
      incrementDelayTimer && clearTimeout(incrementDelayTimer);
    }
    function continuedIncrement() {
      incrementTimer = window.setTimeout(() => {
        increment();
        continuedIncrement();
      }, SPEED);
    }
    function continuedDecrement() {
      decrementTimer = window.setTimeout(() => {
        decrement();
        continuedDecrement();
      }, SPEED);
    }
    function setNormalizedValue(normalizedValue) {
      inputValue.value = normalizedValue;
      const normalizedValueNum = toNumber(normalizedValue);
      call(props2["onUpdate:modelValue"], normalizedValueNum);
    }
    function change(value) {
      setNormalizedValue(normalizeValue(String(value)));
      validateWithTrigger("onLazyChange");
    }
    return {
      inputValue,
      errorMessage,
      formDisabled,
      formReadonly,
      isMax,
      isMin,
      n: n$W,
      classes: classes$K,
      formatElevation,
      validate,
      reset,
      resetValidation,
      handleChange,
      decrement,
      increment,
      pressDecrement,
      pressIncrement,
      releaseDecrement,
      releaseIncrement,
      toSizeUnit,
      toNumber
    };
  }
});
__sfc__$X.render = __render__$U;
var stdin_default$4Z = __sfc__$X;
withInstall(stdin_default$4Z);
withPropsDefaultsSetter(stdin_default$4Z, props$O);
const _CounterComponent = stdin_default$4Z;
var stdin_default$4Y = stdin_default$4Z;
var SECONDS_A_MINUTE = 60;
var SECONDS_A_HOUR = SECONDS_A_MINUTE * 60;
var SECONDS_A_DAY = SECONDS_A_HOUR * 24;
var SECONDS_A_WEEK = SECONDS_A_DAY * 7;
var MILLISECONDS_A_SECOND = 1e3;
var MILLISECONDS_A_MINUTE = SECONDS_A_MINUTE * MILLISECONDS_A_SECOND;
var MILLISECONDS_A_HOUR = SECONDS_A_HOUR * MILLISECONDS_A_SECOND;
var MILLISECONDS_A_DAY = SECONDS_A_DAY * MILLISECONDS_A_SECOND;
var MILLISECONDS_A_WEEK = SECONDS_A_WEEK * MILLISECONDS_A_SECOND;
var MS = "millisecond";
var S = "second";
var MIN$1 = "minute";
var H = "hour";
var D = "day";
var W = "week";
var M = "month";
var Q = "quarter";
var Y = "year";
var DATE = "date";
var FORMAT_DEFAULT = "YYYY-MM-DDTHH:mm:ssZ";
var INVALID_DATE_STRING = "Invalid Date";
var REGEX_PARSE = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/;
var REGEX_FORMAT = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g;
const en = {
  name: "en",
  weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
  months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_")
};
var padStart = function padStart2(string, length, pad) {
  var s = String(string);
  if (!s || s.length >= length) return string;
  return "" + Array(length + 1 - s.length).join(pad) + string;
};
var padZoneStr = function padZoneStr2(instance) {
  var negMinutes = -instance.utcOffset();
  var minutes = Math.abs(negMinutes);
  var hourOffset = Math.floor(minutes / 60);
  var minuteOffset = minutes % 60;
  return (negMinutes <= 0 ? "+" : "-") + padStart(hourOffset, 2, "0") + ":" + padStart(minuteOffset, 2, "0");
};
var monthDiff = function monthDiff2(a, b) {
  if (a.date() < b.date()) return -monthDiff2(b, a);
  var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month());
  var anchor = a.clone().add(wholeMonthDiff, M);
  var c = b - anchor < 0;
  var anchor2 = a.clone().add(wholeMonthDiff + (c ? -1 : 1), M);
  return +(-(wholeMonthDiff + (b - anchor) / (c ? anchor - anchor2 : anchor2 - anchor)) || 0);
};
var absFloor = function absFloor2(n2) {
  return n2 < 0 ? Math.ceil(n2) || 0 : Math.floor(n2);
};
var prettyUnit = function prettyUnit2(u) {
  var special = {
    M,
    y: Y,
    w: W,
    d: D,
    D: DATE,
    h: H,
    m: MIN$1,
    s: S,
    ms: MS,
    Q
  };
  return special[u] || String(u || "").toLowerCase().replace(/s$/, "");
};
var isUndefined = function isUndefined2(s) {
  return s === void 0;
};
const U = {
  s: padStart,
  z: padZoneStr,
  m: monthDiff,
  a: absFloor,
  p: prettyUnit,
  u: isUndefined
};
var L = "en";
var Ls = {};
Ls[L] = en;
var isDayjs = function isDayjs2(d) {
  return d instanceof Dayjs;
};
var parseLocale = function parseLocale2(preset, object, isLocal) {
  var l;
  if (!preset) return L;
  if (typeof preset === "string") {
    var presetLower = preset.toLowerCase();
    if (Ls[presetLower]) {
      l = presetLower;
    }
    if (object) {
      Ls[presetLower] = object;
      l = presetLower;
    }
    var presetSplit = preset.split("-");
    if (!l && presetSplit.length > 1) {
      return parseLocale2(presetSplit[0]);
    }
  } else {
    var name2 = preset.name;
    Ls[name2] = preset;
    l = name2;
  }
  if (!isLocal && l) L = l;
  return l || !isLocal && L;
};
var dayjs = function dayjs2(date, c) {
  if (isDayjs(date)) {
    return date.clone();
  }
  var cfg = typeof c === "object" ? c : {};
  cfg.date = date;
  cfg.args = arguments;
  return new Dayjs(cfg);
};
var wrapper = function wrapper2(date, instance) {
  return dayjs(date, {
    locale: instance.$L,
    utc: instance.$u,
    x: instance.$x,
    $offset: instance.$offset
    // todo: refactor; do not use this.$offset in you code
  });
};
var Utils = U;
Utils.l = parseLocale;
Utils.i = isDayjs;
Utils.w = wrapper;
var parseDate = function parseDate2(cfg) {
  var date = cfg.date, utc = cfg.utc;
  if (date === null) return /* @__PURE__ */ new Date(NaN);
  if (Utils.u(date)) return /* @__PURE__ */ new Date();
  if (date instanceof Date) return new Date(date);
  if (typeof date === "string" && !/Z$/i.test(date)) {
    var d = date.match(REGEX_PARSE);
    if (d) {
      var m = d[2] - 1 || 0;
      var ms = (d[7] || "0").substring(0, 3);
      if (utc) {
        return new Date(Date.UTC(d[1], m, d[3] || 1, d[4] || 0, d[5] || 0, d[6] || 0, ms));
      }
      return new Date(d[1], m, d[3] || 1, d[4] || 0, d[5] || 0, d[6] || 0, ms);
    }
  }
  return new Date(date);
};
var Dayjs = /* @__PURE__ */ function() {
  function Dayjs2(cfg) {
    this.$L = parseLocale(cfg.locale, null, true);
    this.parse(cfg);
  }
  var _proto = Dayjs2.prototype;
  _proto.parse = function parse(cfg) {
    this.$d = parseDate(cfg);
    this.$x = cfg.x || {};
    this.init();
  };
  _proto.init = function init() {
    var $d = this.$d;
    this.$y = $d.getFullYear();
    this.$M = $d.getMonth();
    this.$D = $d.getDate();
    this.$W = $d.getDay();
    this.$H = $d.getHours();
    this.$m = $d.getMinutes();
    this.$s = $d.getSeconds();
    this.$ms = $d.getMilliseconds();
  };
  _proto.$utils = function $utils() {
    return Utils;
  };
  _proto.isValid = function isValid() {
    return !(this.$d.toString() === INVALID_DATE_STRING);
  };
  _proto.isSame = function isSame(that, units) {
    var other = dayjs(that);
    return this.startOf(units) <= other && other <= this.endOf(units);
  };
  _proto.isAfter = function isAfter(that, units) {
    return dayjs(that) < this.startOf(units);
  };
  _proto.isBefore = function isBefore(that, units) {
    return this.endOf(units) < dayjs(that);
  };
  _proto.$g = function $g(input, get, set) {
    if (Utils.u(input)) return this[get];
    return this.set(set, input);
  };
  _proto.unix = function unix() {
    return Math.floor(this.valueOf() / 1e3);
  };
  _proto.valueOf = function valueOf() {
    return this.$d.getTime();
  };
  _proto.startOf = function startOf(units, _startOf) {
    var _this = this;
    var isStartOf = !Utils.u(_startOf) ? _startOf : true;
    var unit = Utils.p(units);
    var instanceFactory = function instanceFactory2(d, m) {
      var ins = Utils.w(_this.$u ? Date.UTC(_this.$y, m, d) : new Date(_this.$y, m, d), _this);
      return isStartOf ? ins : ins.endOf(D);
    };
    var instanceFactorySet = function instanceFactorySet2(method, slice) {
      var argumentStart = [0, 0, 0, 0];
      var argumentEnd = [23, 59, 59, 999];
      return Utils.w(_this.toDate()[method].apply(
        // eslint-disable-line prefer-spread
        _this.toDate("s"),
        (isStartOf ? argumentStart : argumentEnd).slice(slice)
      ), _this);
    };
    var $W = this.$W, $M = this.$M, $D = this.$D;
    var utcPad = "set" + (this.$u ? "UTC" : "");
    switch (unit) {
      case Y:
        return isStartOf ? instanceFactory(1, 0) : instanceFactory(31, 11);
      case M:
        return isStartOf ? instanceFactory(1, $M) : instanceFactory(0, $M + 1);
      case W: {
        var weekStart = this.$locale().weekStart || 0;
        var gap = ($W < weekStart ? $W + 7 : $W) - weekStart;
        return instanceFactory(isStartOf ? $D - gap : $D + (6 - gap), $M);
      }
      case D:
      case DATE:
        return instanceFactorySet(utcPad + "Hours", 0);
      case H:
        return instanceFactorySet(utcPad + "Minutes", 1);
      case MIN$1:
        return instanceFactorySet(utcPad + "Seconds", 2);
      case S:
        return instanceFactorySet(utcPad + "Milliseconds", 3);
      default:
        return this.clone();
    }
  };
  _proto.endOf = function endOf(arg) {
    return this.startOf(arg, false);
  };
  _proto.$set = function $set(units, _int) {
    var _C$D$C$DATE$C$M$C$Y$C;
    var unit = Utils.p(units);
    var utcPad = "set" + (this.$u ? "UTC" : "");
    var name2 = (_C$D$C$DATE$C$M$C$Y$C = {}, _C$D$C$DATE$C$M$C$Y$C[D] = utcPad + "Date", _C$D$C$DATE$C$M$C$Y$C[DATE] = utcPad + "Date", _C$D$C$DATE$C$M$C$Y$C[M] = utcPad + "Month", _C$D$C$DATE$C$M$C$Y$C[Y] = utcPad + "FullYear", _C$D$C$DATE$C$M$C$Y$C[H] = utcPad + "Hours", _C$D$C$DATE$C$M$C$Y$C[MIN$1] = utcPad + "Minutes", _C$D$C$DATE$C$M$C$Y$C[S] = utcPad + "Seconds", _C$D$C$DATE$C$M$C$Y$C[MS] = utcPad + "Milliseconds", _C$D$C$DATE$C$M$C$Y$C)[unit];
    var arg = unit === D ? this.$D + (_int - this.$W) : _int;
    if (unit === M || unit === Y) {
      var date = this.clone().set(DATE, 1);
      date.$d[name2](arg);
      date.init();
      this.$d = date.set(DATE, Math.min(this.$D, date.daysInMonth())).$d;
    } else if (name2) this.$d[name2](arg);
    this.init();
    return this;
  };
  _proto.set = function set(string, _int2) {
    return this.clone().$set(string, _int2);
  };
  _proto.get = function get(unit) {
    return this[Utils.p(unit)]();
  };
  _proto.add = function add2(number, units) {
    var _this2 = this, _C$MIN$C$H$C$S$unit;
    number = Number(number);
    var unit = Utils.p(units);
    var instanceFactorySet = function instanceFactorySet2(n2) {
      var d = dayjs(_this2);
      return Utils.w(d.date(d.date() + Math.round(n2 * number)), _this2);
    };
    if (unit === M) {
      return this.set(M, this.$M + number);
    }
    if (unit === Y) {
      return this.set(Y, this.$y + number);
    }
    if (unit === D) {
      return instanceFactorySet(1);
    }
    if (unit === W) {
      return instanceFactorySet(7);
    }
    var step = (_C$MIN$C$H$C$S$unit = {}, _C$MIN$C$H$C$S$unit[MIN$1] = MILLISECONDS_A_MINUTE, _C$MIN$C$H$C$S$unit[H] = MILLISECONDS_A_HOUR, _C$MIN$C$H$C$S$unit[S] = MILLISECONDS_A_SECOND, _C$MIN$C$H$C$S$unit)[unit] || 1;
    var nextTimeStamp = this.$d.getTime() + number * step;
    return Utils.w(nextTimeStamp, this);
  };
  _proto.subtract = function subtract(number, string) {
    return this.add(number * -1, string);
  };
  _proto.format = function format2(formatStr) {
    var _this3 = this;
    var locale = this.$locale();
    if (!this.isValid()) return locale.invalidDate || INVALID_DATE_STRING;
    var str = formatStr || FORMAT_DEFAULT;
    var zoneStr = Utils.z(this);
    var $H = this.$H, $m = this.$m, $M = this.$M;
    var weekdays = locale.weekdays, months = locale.months, meridiem = locale.meridiem;
    var getShort = function getShort2(arr, index, full, length) {
      return arr && (arr[index] || arr(_this3, str)) || full[index].slice(0, length);
    };
    var get$H = function get$H2(num) {
      return Utils.s($H % 12 || 12, num, "0");
    };
    var meridiemFunc = meridiem || function(hour, minute, isLowercase) {
      var m = hour < 12 ? "AM" : "PM";
      return isLowercase ? m.toLowerCase() : m;
    };
    var matches = {
      YY: String(this.$y).slice(-2),
      YYYY: this.$y,
      M: $M + 1,
      MM: Utils.s($M + 1, 2, "0"),
      MMM: getShort(locale.monthsShort, $M, months, 3),
      MMMM: getShort(months, $M),
      D: this.$D,
      DD: Utils.s(this.$D, 2, "0"),
      d: String(this.$W),
      dd: getShort(locale.weekdaysMin, this.$W, weekdays, 2),
      ddd: getShort(locale.weekdaysShort, this.$W, weekdays, 3),
      dddd: weekdays[this.$W],
      H: String($H),
      HH: Utils.s($H, 2, "0"),
      h: get$H(1),
      hh: get$H(2),
      a: meridiemFunc($H, $m, true),
      A: meridiemFunc($H, $m, false),
      m: String($m),
      mm: Utils.s($m, 2, "0"),
      s: String(this.$s),
      ss: Utils.s(this.$s, 2, "0"),
      SSS: Utils.s(this.$ms, 3, "0"),
      Z: zoneStr
      // 'ZZ' logic below
    };
    return str.replace(REGEX_FORMAT, function(match, $1) {
      return $1 || matches[match] || zoneStr.replace(":", "");
    });
  };
  _proto.utcOffset = function utcOffset() {
    return -Math.round(this.$d.getTimezoneOffset() / 15) * 15;
  };
  _proto.diff = function diff2(input, units, _float) {
    var _C$Y$C$M$C$Q$C$W$C$D$;
    var unit = Utils.p(units);
    var that = dayjs(input);
    var zoneDelta = (that.utcOffset() - this.utcOffset()) * MILLISECONDS_A_MINUTE;
    var diff3 = this - that;
    var result = Utils.m(this, that);
    result = (_C$Y$C$M$C$Q$C$W$C$D$ = {}, _C$Y$C$M$C$Q$C$W$C$D$[Y] = result / 12, _C$Y$C$M$C$Q$C$W$C$D$[M] = result, _C$Y$C$M$C$Q$C$W$C$D$[Q] = result / 3, _C$Y$C$M$C$Q$C$W$C$D$[W] = (diff3 - zoneDelta) / MILLISECONDS_A_WEEK, _C$Y$C$M$C$Q$C$W$C$D$[D] = (diff3 - zoneDelta) / MILLISECONDS_A_DAY, _C$Y$C$M$C$Q$C$W$C$D$[H] = diff3 / MILLISECONDS_A_HOUR, _C$Y$C$M$C$Q$C$W$C$D$[MIN$1] = diff3 / MILLISECONDS_A_MINUTE, _C$Y$C$M$C$Q$C$W$C$D$[S] = diff3 / MILLISECONDS_A_SECOND, _C$Y$C$M$C$Q$C$W$C$D$)[unit] || diff3;
    return _float ? result : Utils.a(result);
  };
  _proto.daysInMonth = function daysInMonth() {
    return this.endOf(M).$D;
  };
  _proto.$locale = function $locale() {
    return Ls[this.$L];
  };
  _proto.locale = function locale(preset, object) {
    if (!preset) return this.$L;
    var that = this.clone();
    var nextLocaleName = parseLocale(preset, object, true);
    if (nextLocaleName) that.$L = nextLocaleName;
    return that;
  };
  _proto.clone = function clone2() {
    return Utils.w(this.$d, this);
  };
  _proto.toDate = function toDate() {
    return new Date(this.valueOf());
  };
  _proto.toJSON = function toJSON() {
    return this.isValid() ? this.toISOString() : null;
  };
  _proto.toISOString = function toISOString() {
    return this.$d.toISOString();
  };
  _proto.toString = function toString() {
    return this.$d.toUTCString();
  };
  return Dayjs2;
}();
var proto = Dayjs.prototype;
dayjs.prototype = proto;
[["$ms", MS], ["$s", S], ["$m", MIN$1], ["$H", H], ["$W", D], ["$M", M], ["$y", Y], ["$D", DATE]].forEach(function(g) {
  proto[g[1]] = function(input) {
    return this.$g(input, g[0], g[1]);
  };
});
dayjs.extend = function(plugin, option) {
  if (!plugin.$i) {
    plugin(option, Dayjs, dayjs);
    plugin.$i = true;
  }
  return dayjs;
};
dayjs.locale = parseLocale;
dayjs.isDayjs = isDayjs;
dayjs.unix = function(timestamp) {
  return dayjs(timestamp * 1e3);
};
dayjs.en = Ls[L];
dayjs.Ls = Ls;
dayjs.p = {};
const MONTH_LIST = ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"];
const WEEK_HEADER = ["0", "1", "2", "3", "4", "5", "6"];
const props$N = {
  modelValue: [String, Array],
  type: {
    type: String,
    default: "date"
  },
  hint: String,
  allowedDates: Function,
  color: String,
  titleColor: String,
  elevation: {
    type: [Boolean, Number, String],
    default: false
  },
  buttonElevation: {
    type: [Boolean, Number, String],
    default: true
  },
  firstDayOfWeek: {
    type: [String, Number],
    default: 0
  },
  min: String,
  max: String,
  showCurrent: {
    type: Boolean,
    default: true
  },
  readonly: Boolean,
  multiple: Boolean,
  range: Boolean,
  touchable: {
    type: Boolean,
    default: true
  },
  onPreview: defineListenerProp(),
  onChange: defineListenerProp(),
  "onUpdate:modelValue": defineListenerProp()
};
const isSameOrAfter = function(o, c) {
  c.prototype.isSameOrAfter = function(that, units) {
    return this.isSame(that, units) || this.isAfter(that, units);
  };
};
const isSameOrBefore = function(o, c) {
  c.prototype.isSameOrBefore = function(that, units) {
    return this.isSame(that, units) || this.isBefore(that, units);
  };
};
const { n: n$V } = createNamespace("date-picker-header");
function __render__$T(_ctx, _cache) {
  const _component_var_icon = vue.resolveComponent("var-icon");
  const _component_var_button = vue.resolveComponent("var-button");
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(_ctx.n())
    },
    [
      vue.createVNode(_component_var_button, {
        class: vue.normalizeClass(_ctx.n("arrow")),
        "var-date-picker-header-cover": "",
        round: "",
        text: "",
        disabled: _ctx.disabled.left,
        onClick: _cache[0] || (_cache[0] = ($event) => _ctx.checkDate("prev"))
      }, {
        default: vue.withCtx(() => [
          vue.createVNode(_component_var_icon, { name: "chevron-left" })
        ]),
        _: 1
        /* STABLE */
      }, 8, ["class", "disabled"]),
      vue.createElementVNode(
        "div",
        {
          class: vue.normalizeClass(_ctx.n("value")),
          onClick: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("check-panel"))
        },
        [
          vue.createVNode(vue.Transition, {
            name: `var-date-picker${_ctx.reverse ? "-reverse" : ""}-translatex`
          }, {
            default: vue.withCtx(() => [
              (vue.openBlock(), vue.createElementBlock(
                "div",
                { key: _ctx.showDate },
                vue.toDisplayString(_ctx.showDate),
                1
                /* TEXT */
              ))
            ]),
            _: 1
            /* STABLE */
          }, 8, ["name"])
        ],
        2
        /* CLASS */
      ),
      vue.createVNode(_component_var_button, {
        class: vue.normalizeClass(_ctx.n("arrow")),
        "var-date-picker-header-cover": "",
        round: "",
        text: "",
        disabled: _ctx.disabled.right,
        onClick: _cache[2] || (_cache[2] = ($event) => _ctx.checkDate("next"))
      }, {
        default: vue.withCtx(() => [
          vue.createVNode(_component_var_icon, { name: "chevron-right" })
        ]),
        _: 1
        /* STABLE */
      }, 8, ["class", "disabled"])
    ],
    2
    /* CLASS */
  );
}
const __sfc__$W = vue.defineComponent({
  name: "PanelHeader",
  components: {
    VarButton: stdin_default$5y,
    VarIcon: stdin_default$63
  },
  props: {
    date: {
      type: Object,
      required: true
    },
    type: {
      type: String,
      default: "date"
    },
    disabled: {
      type: Object,
      required: true
    }
  },
  emits: ["check-panel", "check-date"],
  setup(props2, { emit }) {
    const reverse = vue.ref(false);
    const forwardOrBackNum = vue.ref(0);
    const { t: pt } = injectLocaleProvider();
    const showDate = vue.computed(() => {
      var _a;
      const { date, type } = props2;
      const { previewMonth, previewYear } = date;
      if (type === "year") {
        return previewYear;
      }
      if (type === "month") {
        return toNumber(previewYear) + forwardOrBackNum.value;
      }
      const monthName = (_a = (pt || t)("datePickerMonthDict")) == null ? void 0 : _a[previewMonth].name;
      return (pt || t)("lang") === "zh-CN" ? `${previewYear} ${monthName}` : `${monthName} ${previewYear}`;
    });
    const checkDate = (checkType) => {
      if (checkType === "prev" && props2.disabled.left || checkType === "next" && props2.disabled.right) {
        return;
      }
      emit("check-date", checkType);
      reverse.value = checkType === "prev";
      forwardOrBackNum.value += checkType === "prev" ? -1 : 1;
    };
    vue.watch(
      () => props2.date,
      () => {
        forwardOrBackNum.value = 0;
      }
    );
    return {
      n: n$V,
      reverse,
      showDate,
      checkDate
    };
  }
});
__sfc__$W.render = __render__$T;
var stdin_default$4X = __sfc__$W;
var __defProp$i = Object.defineProperty;
var __getOwnPropSymbols$i = Object.getOwnPropertySymbols;
var __hasOwnProp$i = Object.prototype.hasOwnProperty;
var __propIsEnum$i = Object.prototype.propertyIsEnumerable;
var __defNormalProp$i = (obj, key3, value) => key3 in obj ? __defProp$i(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues$i = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$i.call(b, prop))
      __defNormalProp$i(a, prop, b[prop]);
  if (__getOwnPropSymbols$i)
    for (var prop of __getOwnPropSymbols$i(b)) {
      if (__propIsEnum$i.call(b, prop))
        __defNormalProp$i(a, prop, b[prop]);
    }
  return a;
};
dayjs.extend(isSameOrBefore);
dayjs.extend(isSameOrAfter);
const { n: n$U, classes: classes$J } = createNamespace("day-picker");
const { n: nDate$2 } = createNamespace("date-picker");
function __render__$S(_ctx, _cache) {
  const _component_panel_header = vue.resolveComponent("panel-header");
  const _component_var_button = vue.resolveComponent("var-button");
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(_ctx.n())
    },
    [
      vue.createElementVNode(
        "div",
        {
          class: vue.normalizeClass(_ctx.n("content"))
        },
        [
          vue.createVNode(_component_panel_header, {
            ref: "headerEl",
            type: "day",
            date: _ctx.preview,
            disabled: _ctx.panelBtnDisabled,
            onCheckPanel: _ctx.clickMonth,
            onCheckDate: _ctx.checkDate
          }, null, 8, ["date", "disabled", "onCheckPanel", "onCheckDate"]),
          vue.createVNode(vue.Transition, {
            name: `${_ctx.nDate()}${_ctx.reverse ? "-reverse" : ""}-translatex`
          }, {
            default: vue.withCtx(() => [
              (vue.openBlock(), vue.createElementBlock("div", { key: _ctx.panelKey }, [
                vue.createElementVNode(
                  "ul",
                  {
                    class: vue.normalizeClass(_ctx.n("head"))
                  },
                  [
                    (vue.openBlock(true), vue.createElementBlock(
                      vue.Fragment,
                      null,
                      vue.renderList(_ctx.sortWeekList, (week) => {
                        return vue.openBlock(), vue.createElementBlock(
                          "li",
                          { key: week },
                          vue.toDisplayString(_ctx.getDayAbbr(week)),
                          1
                          /* TEXT */
                        );
                      }),
                      128
                      /* KEYED_FRAGMENT */
                    ))
                  ],
                  2
                  /* CLASS */
                ),
                vue.createElementVNode(
                  "ul",
                  {
                    class: vue.normalizeClass(_ctx.n("body"))
                  },
                  [
                    (vue.openBlock(true), vue.createElementBlock(
                      vue.Fragment,
                      null,
                      vue.renderList(_ctx.days, (day, index) => {
                        return vue.openBlock(), vue.createElementBlock("li", { key: index }, [
                          vue.createVNode(_component_var_button, vue.mergeProps({
                            type: "primary",
                            "var-day-picker-cover": "",
                            round: "",
                            ripple: false,
                            elevation: _ctx.componentProps.buttonElevation,
                            ref_for: true
                          }, __spreadValues$i({}, _ctx.buttonProps(day)), {
                            onClick: (event) => _ctx.chooseDay(day, event)
                          }), {
                            default: vue.withCtx(() => [
                              vue.createTextVNode(
                                vue.toDisplayString(_ctx.filterDay(day)),
                                1
                                /* TEXT */
                              )
                            ]),
                            _: 2
                            /* DYNAMIC */
                          }, 1040, ["elevation", "onClick"])
                        ]);
                      }),
                      128
                      /* KEYED_FRAGMENT */
                    ))
                  ],
                  2
                  /* CLASS */
                )
              ]))
            ]),
            _: 1
            /* STABLE */
          }, 8, ["name"])
        ],
        2
        /* CLASS */
      )
    ],
    2
    /* CLASS */
  );
}
const __sfc__$V = vue.defineComponent({
  name: "DayPickerPanel",
  components: {
    VarButton: stdin_default$5y,
    PanelHeader: stdin_default$4X
  },
  props: {
    choose: {
      type: Object,
      required: true
    },
    preview: {
      type: Object,
      required: true
    },
    current: {
      type: String,
      required: true
    },
    clickMonth: {
      type: Function,
      required: true
    },
    componentProps: {
      type: Object,
      required: true
    }
  },
  emits: ["check-preview", "choose-day"],
  setup(props2, { emit }) {
    const [currentYear, currentMonth, currentDay] = props2.current.split("-");
    const days = vue.ref([]);
    const reverse = vue.ref(false);
    const panelKey = vue.ref(0);
    const headerEl = vue.ref(null);
    const panelBtnDisabled = vue.reactive({
      left: false,
      right: false
    });
    const { t: pt } = injectLocaleProvider();
    const isCurrent = vue.computed(
      () => props2.preview.previewYear === currentYear && props2.preview.previewMonth === currentMonth
    );
    const isSame = vue.computed(
      () => props2.choose.chooseYear === props2.preview.previewYear && props2.choose.chooseMonth === props2.preview.previewMonth
    );
    const sortWeekList = vue.computed(() => {
      const index = WEEK_HEADER.findIndex((week) => week === props2.componentProps.firstDayOfWeek);
      if (index === -1 || index === 0) {
        return WEEK_HEADER;
      }
      return [...WEEK_HEADER.slice(index), ...WEEK_HEADER.slice(0, index)];
    });
    const getDayAbbr = (key3) => {
      var _a, _b;
      return (_b = (_a = (pt || t)("datePickerWeekDict")) == null ? void 0 : _a[key3].abbr) != null ? _b : "";
    };
    const filterDay = (day) => day > 0 ? day : "";
    const initDate = () => {
      const {
        preview: { previewMonth, previewYear }
      } = props2;
      const monthNum = dayjs(`${previewYear}-${previewMonth}`).daysInMonth();
      const firstDayToWeek = dayjs(`${previewYear}-${previewMonth}-01`).day();
      const index = sortWeekList.value.findIndex((week) => week === `${firstDayToWeek}`);
      days.value = [...Array(index).fill(-1), ...Array.from(Array(monthNum + 1).keys())].filter((value) => value);
    };
    const initHeader = () => {
      const {
        preview: { previewYear, previewMonth },
        componentProps: { max: max2, min: min2 }
      } = props2;
      if (max2) {
        const date = `${previewYear}-${toNumber(previewMonth) + 1}`;
        panelBtnDisabled.right = !dayjs(date).isSameOrBefore(dayjs(max2), "month");
      }
      if (min2) {
        const date = `${previewYear}-${toNumber(previewMonth) - 1}`;
        panelBtnDisabled.left = !dayjs(date).isSameOrAfter(dayjs(min2), "month");
      }
    };
    const inRange = (day) => {
      const {
        preview: { previewYear, previewMonth },
        componentProps: { min: min2, max: max2 }
      } = props2;
      let isBeforeMax = true;
      let isAfterMin = true;
      const previewDate = `${previewYear}-${previewMonth}-${day}`;
      if (max2) {
        isBeforeMax = dayjs(previewDate).isSameOrBefore(dayjs(max2), "day");
      }
      if (min2) {
        isAfterMin = dayjs(previewDate).isSameOrAfter(dayjs(min2), "day");
      }
      return isBeforeMax && isAfterMin;
    };
    const shouldChoose = (val) => {
      const {
        choose: { chooseDays, chooseRangeDay },
        componentProps: { range }
      } = props2;
      if (range) {
        if (!chooseRangeDay.length) {
          return false;
        }
        const isBeforeMax = dayjs(val).isSameOrBefore(dayjs(chooseRangeDay[1]), "day");
        const isAfterMin = dayjs(val).isSameOrAfter(dayjs(chooseRangeDay[0]), "day");
        return isBeforeMax && isAfterMin;
      }
      return chooseDays.includes(val);
    };
    const buttonProps = (day) => {
      if (day < 0) {
        return {
          text: true,
          outline: false,
          textColor: "",
          class: n$U("button"),
          disabled: true
        };
      }
      const {
        choose: { chooseDay: chooseDay2 },
        preview: { previewYear, previewMonth },
        componentProps: { allowedDates, color, multiple, range }
      } = props2;
      const val = `${previewYear}-${previewMonth}-${day}`;
      const dayExist = () => {
        if (range || multiple) {
          return shouldChoose(val);
        }
        return toNumber(chooseDay2) === day && isSame.value;
      };
      const computeDisabled = () => {
        if (!inRange(day)) {
          return true;
        }
        if (!allowedDates) {
          return false;
        }
        return !allowedDates(val);
      };
      const disabled = computeDisabled();
      const computeText = () => {
        if (disabled) {
          return true;
        }
        if (range || multiple) {
          return !shouldChoose(val);
        }
        return !isSame.value || toNumber(chooseDay2) !== day;
      };
      const computeOutline = () => {
        if (!(isCurrent.value && toNumber(currentDay) === day && props2.componentProps.showCurrent)) {
          return false;
        }
        if ((range || multiple || isSame.value) && disabled) {
          return true;
        }
        if (range || multiple) {
          return !shouldChoose(val);
        }
        if (isSame.value) {
          return chooseDay2 !== currentDay;
        }
        return true;
      };
      const textColorOrCover = () => {
        if (disabled) {
          return "";
        }
        if (computeOutline()) {
          return color != null ? color : "";
        }
        if (dayExist()) {
          return "";
        }
        return `${nDate$2()}-color-cover`;
      };
      const isCover = textColorOrCover().startsWith(nDate$2());
      return {
        text: computeText(),
        outline: computeOutline(),
        textColor: isCover ? "" : textColorOrCover(),
        [`${nDate$2()}-color-cover`]: isCover,
        class: classes$J(n$U("button"), n$U("button--usable"), [disabled, n$U("button--disabled")]),
        disabled
      };
    };
    const checkDate = (checkType) => {
      reverse.value = checkType === "prev";
      panelKey.value += checkType === "prev" ? -1 : 1;
      emit("check-preview", "month", checkType);
    };
    const chooseDay = (day, event) => {
      const buttonEl = event.currentTarget;
      if (buttonEl.classList.contains(n$U("button--disabled"))) {
        return;
      }
      emit("choose-day", day);
    };
    const forwardRef = (checkType) => {
      headerEl.value.checkDate(checkType);
    };
    onSmartMounted(() => {
      initDate();
      initHeader();
    });
    vue.watch(
      () => props2.preview,
      () => {
        initDate();
        initHeader();
      }
    );
    vue.watch(() => [props2.componentProps.max, props2.componentProps.min], initHeader);
    return {
      n: n$U,
      nDate: nDate$2,
      days,
      reverse,
      headerEl,
      panelKey,
      sortWeekList,
      panelBtnDisabled,
      forwardRef,
      filterDay,
      getDayAbbr,
      checkDate,
      chooseDay,
      buttonProps
    };
  }
});
__sfc__$V.render = __render__$S;
var stdin_default$4W = __sfc__$V;
var __defProp$h = Object.defineProperty;
var __getOwnPropSymbols$h = Object.getOwnPropertySymbols;
var __hasOwnProp$h = Object.prototype.hasOwnProperty;
var __propIsEnum$h = Object.prototype.propertyIsEnumerable;
var __defNormalProp$h = (obj, key3, value) => key3 in obj ? __defProp$h(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues$h = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$h.call(b, prop))
      __defNormalProp$h(a, prop, b[prop]);
  if (__getOwnPropSymbols$h)
    for (var prop of __getOwnPropSymbols$h(b)) {
      if (__propIsEnum$h.call(b, prop))
        __defNormalProp$h(a, prop, b[prop]);
    }
  return a;
};
dayjs.extend(isSameOrBefore);
dayjs.extend(isSameOrAfter);
const { n: n$T, classes: classes$I } = createNamespace("month-picker");
const { n: nDate$1 } = createNamespace("date-picker");
function __render__$R(_ctx, _cache) {
  const _component_panel_header = vue.resolveComponent("panel-header");
  const _component_var_button = vue.resolveComponent("var-button");
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(_ctx.n())
    },
    [
      vue.createElementVNode(
        "div",
        {
          class: vue.normalizeClass(_ctx.n("content"))
        },
        [
          vue.createVNode(_component_panel_header, {
            ref: "headerEl",
            type: "month",
            date: _ctx.preview,
            disabled: _ctx.panelBtnDisabled,
            onCheckPanel: _ctx.clickYear,
            onCheckDate: _ctx.checkDate
          }, null, 8, ["date", "disabled", "onCheckPanel", "onCheckDate"]),
          vue.createVNode(vue.Transition, {
            name: `${_ctx.nDate()}${_ctx.reverse ? "-reverse" : ""}-translatex`
          }, {
            default: vue.withCtx(() => [
              (vue.openBlock(), vue.createElementBlock("ul", { key: _ctx.panelKey }, [
                (vue.openBlock(true), vue.createElementBlock(
                  vue.Fragment,
                  null,
                  vue.renderList(_ctx.MONTH_LIST, (month) => {
                    return vue.openBlock(), vue.createElementBlock("li", { key: month }, [
                      vue.createVNode(_component_var_button, vue.mergeProps({
                        type: "primary",
                        "var-month-picker-cover": "",
                        ripple: false,
                        elevation: _ctx.componentProps.buttonElevation,
                        ref_for: true
                      }, __spreadValues$h({}, _ctx.buttonProps(month)), {
                        onClick: (event) => _ctx.chooseMonth(month, event)
                      }), {
                        default: vue.withCtx(() => [
                          vue.createTextVNode(
                            vue.toDisplayString(_ctx.getMonthAbbr(month)),
                            1
                            /* TEXT */
                          )
                        ]),
                        _: 2
                        /* DYNAMIC */
                      }, 1040, ["elevation", "onClick"])
                    ]);
                  }),
                  128
                  /* KEYED_FRAGMENT */
                ))
              ]))
            ]),
            _: 1
            /* STABLE */
          }, 8, ["name"])
        ],
        2
        /* CLASS */
      )
    ],
    2
    /* CLASS */
  );
}
const __sfc__$U = vue.defineComponent({
  name: "MonthPickerPanel",
  components: {
    VarButton: stdin_default$5y,
    PanelHeader: stdin_default$4X
  },
  props: {
    choose: {
      type: Object,
      required: true
    },
    preview: {
      type: Object,
      required: true
    },
    current: {
      type: String,
      required: true
    },
    clickYear: {
      type: Function,
      required: true
    },
    componentProps: {
      type: Object,
      required: true
    }
  },
  emits: ["check-preview", "choose-month"],
  setup(props2, { emit }) {
    const [currentYear, currentMonth] = props2.current.split("-");
    const reverse = vue.ref(false);
    const panelKey = vue.ref(0);
    const headerEl = vue.ref(null);
    const panelBtnDisabled = vue.reactive({
      left: false,
      right: false
    });
    const { t: pt } = injectLocaleProvider();
    const isSameYear = vue.computed(() => props2.choose.chooseYear === props2.preview.previewYear);
    const isCurrentYear = vue.computed(() => props2.preview.previewYear === currentYear);
    const getMonthAbbr = (key3) => {
      var _a, _b;
      return (_b = (_a = (pt || t)("datePickerMonthDict")) == null ? void 0 : _a[key3].abbr) != null ? _b : "";
    };
    const inRange = (key3) => {
      const {
        preview: { previewYear },
        componentProps: { min: min2, max: max2 }
      } = props2;
      let isBeforeMax = true;
      let isAfterMin = true;
      const previewDate = `${previewYear}-${key3}`;
      if (max2) {
        isBeforeMax = dayjs(previewDate).isSameOrBefore(dayjs(max2), "month");
      }
      if (min2) {
        isAfterMin = dayjs(previewDate).isSameOrAfter(dayjs(min2), "month");
      }
      return isBeforeMax && isAfterMin;
    };
    const shouldChoose = (val) => {
      const {
        choose: { chooseMonths, chooseDays, chooseRangeMonth },
        componentProps: { type, range }
      } = props2;
      if (range) {
        if (!chooseRangeMonth.length) {
          return false;
        }
        const isBeforeMax = dayjs(val).isSameOrBefore(dayjs(chooseRangeMonth[1]), "month");
        const isAfterMin = dayjs(val).isSameOrAfter(dayjs(chooseRangeMonth[0]), "month");
        return isBeforeMax && isAfterMin;
      }
      if (type === "month") {
        return chooseMonths.includes(val);
      }
      return chooseDays.some((value) => value.includes(val));
    };
    const buttonProps = (key3) => {
      const {
        choose: { chooseMonth: chooseMonth2 },
        preview: { previewYear },
        componentProps: { allowedDates, color, multiple, range }
      } = props2;
      const val = `${previewYear}-${key3}`;
      const monthExist = () => {
        if (range || multiple) {
          return shouldChoose(val);
        }
        return chooseMonth2 === key3 && isSameYear.value;
      };
      const computeDisabled = () => {
        if (!inRange(key3)) {
          return true;
        }
        if (!allowedDates) {
          return false;
        }
        return !allowedDates(val);
      };
      const disabled = computeDisabled();
      const computeText = () => {
        if (disabled) {
          return true;
        }
        if (range || multiple) {
          return !shouldChoose(val);
        }
        return !isSameYear.value || chooseMonth2 !== key3;
      };
      const computeOutline = () => {
        if (!(isCurrentYear.value && currentMonth === key3 && props2.componentProps.showCurrent)) {
          return false;
        }
        if ((range || multiple || isSameYear.value) && disabled) {
          return true;
        }
        if (range || multiple) {
          return !shouldChoose(val);
        }
        if (isSameYear.value) {
          return chooseMonth2 !== currentMonth;
        }
        return true;
      };
      const textColorOrCover = () => {
        if (disabled) {
          return "";
        }
        if (computeOutline()) {
          return color != null ? color : "";
        }
        if (monthExist()) {
          return "";
        }
        return `${nDate$1()}-color-cover`;
      };
      const isCover = textColorOrCover().startsWith(nDate$1());
      return {
        outline: computeOutline(),
        text: computeText(),
        color: !computeText() ? color : "",
        textColor: isCover ? "" : textColorOrCover(),
        [`${nDate$1()}-color-cover`]: isCover,
        class: classes$I(n$T("button"), [disabled, n$T("button--disabled")]),
        disabled
      };
    };
    const chooseMonth = (month, event) => {
      const buttonEl = event.currentTarget;
      if (buttonEl.classList.contains(n$T("button--disabled"))) {
        return;
      }
      emit("choose-month", month);
    };
    const checkDate = (checkType) => {
      reverse.value = checkType === "prev";
      panelKey.value += checkType === "prev" ? -1 : 1;
      emit("check-preview", "year", checkType);
    };
    const forwardRef = (checkType) => {
      headerEl.value.checkDate(checkType);
    };
    vue.watch(
      () => [props2.preview.previewYear, props2.componentProps.max, props2.componentProps.min],
      ([year, max2, min2]) => {
        if (max2) {
          panelBtnDisabled.right = !dayjs(`${toNumber(year) + 1}`).isSameOrBefore(dayjs(max2), "year");
        }
        if (min2) {
          panelBtnDisabled.left = !dayjs(`${toNumber(year) - 1}`).isSameOrAfter(dayjs(min2), "year");
        }
      },
      { immediate: true }
    );
    return {
      n: n$T,
      nDate: nDate$1,
      t,
      MONTH_LIST,
      headerEl,
      reverse,
      panelKey,
      panelBtnDisabled,
      forwardRef,
      buttonProps,
      getMonthAbbr,
      chooseMonth,
      checkDate
    };
  }
});
__sfc__$U.render = __render__$R;
var stdin_default$4V = __sfc__$U;
const props$M = {
  offsetTop: {
    type: [String, Number],
    default: 0
  },
  zIndex: {
    type: [String, Number],
    default: 10
  },
  cssMode: Boolean,
  disabled: Boolean,
  onScroll: defineListenerProp()
};
var __async$a = (__this, __arguments, generator) => {
  return new Promise((resolve, reject) => {
    var fulfilled = (value) => {
      try {
        step(generator.next(value));
      } catch (e) {
        reject(e);
      }
    };
    var rejected = (value) => {
      try {
        step(generator.throw(value));
      } catch (e) {
        reject(e);
      }
    };
    var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
    step((generator = generator.apply(__this, __arguments)).next());
  });
};
const { name: name$O, n: n$S, classes: classes$H } = createNamespace("sticky");
function __render__$Q(_ctx, _cache) {
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      ref: "stickyEl",
      class: vue.normalizeClass(_ctx.classes(_ctx.n(), [_ctx.enableCSSMode, _ctx.n("--css-mode")])),
      style: vue.normalizeStyle({
        zIndex: _ctx.toNumber(_ctx.zIndex),
        top: _ctx.enableCSSMode ? `${_ctx.offsetTop}px` : void 0,
        width: _ctx.enableFixedMode ? _ctx.fixedWidth : void 0,
        height: _ctx.enableFixedMode ? _ctx.fixedHeight : void 0
      })
    },
    [
      vue.createElementVNode(
        "div",
        {
          ref: "wrapperEl",
          class: vue.normalizeClass(_ctx.n("wrapper")),
          style: vue.normalizeStyle({
            zIndex: _ctx.toNumber(_ctx.zIndex),
            position: _ctx.enableFixedMode ? "fixed" : void 0,
            width: _ctx.enableFixedMode ? _ctx.fixedWrapperWidth : void 0,
            height: _ctx.enableFixedMode ? _ctx.fixedWrapperHeight : void 0,
            left: _ctx.enableFixedMode ? _ctx.fixedLeft : void 0,
            top: _ctx.enableFixedMode ? _ctx.fixedTop : void 0
          })
        },
        [
          vue.renderSlot(_ctx.$slots, "default")
        ],
        6
        /* CLASS, STYLE */
      )
    ],
    6
    /* CLASS, STYLE */
  );
}
const __sfc__$T = vue.defineComponent({
  name: name$O,
  props: props$M,
  setup(props2) {
    const stickyEl = vue.ref(null);
    const wrapperEl = vue.ref(null);
    const isFixed = vue.ref(false);
    const fixedTop = vue.ref("0px");
    const fixedLeft = vue.ref("0px");
    const fixedWidth = vue.ref("auto");
    const fixedHeight = vue.ref("auto");
    const fixedWrapperWidth = vue.ref("auto");
    const fixedWrapperHeight = vue.ref("auto");
    const enableCSSMode = vue.computed(() => !props2.disabled && props2.cssMode);
    const enableFixedMode = vue.computed(() => !props2.disabled && !props2.cssMode && isFixed.value);
    const offsetTop = vue.computed(() => toPxNum(props2.offsetTop));
    let scroller;
    vue.watch(() => props2.disabled, resize);
    onSmartMounted(() => __async$a(this, null, function* () {
      yield doubleRaf();
      setupScroller();
      handleScroll();
    }));
    onSmartUnmounted(removeScrollListener);
    onWindowResize(resize);
    useEventListener(() => window, "scroll", handleScroll);
    function computeFixedParams() {
      const { cssMode, disabled } = props2;
      if (disabled) {
        return;
      }
      let scrollerTop = 0;
      if (scroller && scroller !== window) {
        const { top: top2 } = getRect(scroller);
        scrollerTop = top2;
      }
      const wrapper3 = wrapperEl.value;
      const sticky = stickyEl.value;
      const { top: stickyTop, left: stickyLeft } = getRect(sticky);
      const currentOffsetTop = stickyTop - scrollerTop;
      if (currentOffsetTop <= offsetTop.value) {
        if (!cssMode) {
          fixedWidth.value = `${sticky.offsetWidth}px`;
          fixedHeight.value = `${sticky.offsetHeight}px`;
          fixedTop.value = `${scrollerTop + offsetTop.value}px`;
          fixedLeft.value = `${stickyLeft}px`;
          fixedWrapperWidth.value = `${wrapper3.offsetWidth}px`;
          fixedWrapperHeight.value = `${wrapper3.offsetHeight}px`;
          isFixed.value = true;
        }
        return {
          offsetTop: offsetTop.value,
          isFixed: true
        };
      }
      isFixed.value = false;
      return {
        offsetTop: currentOffsetTop,
        isFixed: false
      };
    }
    function setupScroller() {
      scroller = getParentScroller(stickyEl.value);
      if (scroller !== window) {
        scroller.addEventListener("scroll", handleScroll);
      }
    }
    function handleScroll() {
      const fixedParams = computeFixedParams();
      if (fixedParams) {
        call(props2.onScroll, fixedParams.offsetTop, fixedParams.isFixed);
      }
    }
    function removeScrollListener() {
      if (!scroller || scroller === window) {
        return;
      }
      scroller.removeEventListener("scroll", handleScroll);
    }
    function resize() {
      return __async$a(this, null, function* () {
        isFixed.value = false;
        yield raf();
        computeFixedParams();
      });
    }
    return {
      stickyEl,
      wrapperEl,
      isFixed,
      offsetTop,
      fixedTop,
      fixedLeft,
      fixedWidth,
      fixedHeight,
      fixedWrapperWidth,
      fixedWrapperHeight,
      enableCSSMode,
      enableFixedMode,
      n: n$S,
      classes: classes$H,
      resize,
      toNumber
    };
  }
});
__sfc__$T.render = __render__$Q;
var stdin_default$4U = __sfc__$T;
withInstall(stdin_default$4U);
withPropsDefaultsSetter(stdin_default$4U, props$M);
const _StickyComponent = stdin_default$4U;
var stdin_default$4T = stdin_default$4U;
var __defProp$g = Object.defineProperty;
var __getOwnPropSymbols$g = Object.getOwnPropertySymbols;
var __hasOwnProp$g = Object.prototype.hasOwnProperty;
var __propIsEnum$g = Object.prototype.propertyIsEnumerable;
var __defNormalProp$g = (obj, key3, value) => key3 in obj ? __defProp$g(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues$g = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$g.call(b, prop))
      __defNormalProp$g(a, prop, b[prop]);
  if (__getOwnPropSymbols$g)
    for (var prop of __getOwnPropSymbols$g(b)) {
      if (__propIsEnum$g.call(b, prop))
        __defNormalProp$g(a, prop, b[prop]);
    }
  return a;
};
const { n: n$R, classes: classes$G } = createNamespace("year-picker");
const { n: nDate } = createNamespace("date-picker");
function __render__$P(_ctx, _cache) {
  const _component_panel_header = vue.resolveComponent("panel-header");
  const _component_var_sticky = vue.resolveComponent("var-sticky");
  const _component_var_button = vue.resolveComponent("var-button");
  return vue.openBlock(), vue.createElementBlock("div", null, [
    vue.createVNode(_component_var_sticky, { "css-mode": "" }, {
      default: vue.withCtx(() => [
        vue.createVNode(_component_panel_header, {
          ref: "headerEl",
          type: "year",
          date: {
            previewYear: `${_ctx.yearList[0]} ~ ${_ctx.yearList[_ctx.yearList.length - 1]}`
          },
          disabled: _ctx.panelBtnDisabled,
          onCheckDate: _ctx.checkDate
        }, null, 8, ["date", "disabled", "onCheckDate"])
      ]),
      _: 1
      /* STABLE */
    }),
    vue.createVNode(vue.Transition, {
      name: `${_ctx.nDate()}${_ctx.reverse ? "-reverse" : ""}-translatex`
    }, {
      default: vue.withCtx(() => [
        (vue.openBlock(), vue.createElementBlock(
          "ul",
          {
            ref: "panel",
            key: _ctx.panelKey,
            class: vue.normalizeClass(_ctx.n())
          },
          [
            (vue.openBlock(true), vue.createElementBlock(
              vue.Fragment,
              null,
              vue.renderList(_ctx.yearList, (year) => {
                return vue.openBlock(), vue.createElementBlock("li", { key: year }, [
                  vue.createVNode(_component_var_button, vue.mergeProps({
                    type: "primary",
                    "var-year-picker-cover": "",
                    ripple: false,
                    elevation: _ctx.componentProps.buttonElevation,
                    ref_for: true
                  }, __spreadValues$g({}, _ctx.buttonProps(`${year}`)), {
                    onClick: (event) => _ctx.chooseYear(year, event)
                  }), {
                    default: vue.withCtx(() => [
                      vue.createTextVNode(
                        vue.toDisplayString(year),
                        1
                        /* TEXT */
                      )
                    ]),
                    _: 2
                    /* DYNAMIC */
                  }, 1040, ["elevation", "onClick"])
                ]);
              }),
              128
              /* KEYED_FRAGMENT */
            ))
          ],
          2
          /* CLASS */
        ))
      ]),
      _: 1
      /* STABLE */
    }, 8, ["name"])
  ]);
}
const __sfc__$S = vue.defineComponent({
  name: "YearPickerPanel",
  components: {
    VarButton: stdin_default$5y,
    VarSticky: stdin_default$4T,
    PanelHeader: stdin_default$4X
  },
  props: {
    choose: {
      type: Object,
      required: true
    },
    current: {
      type: String,
      required: true
    },
    preview: {
      type: String
    },
    componentProps: {
      type: Object,
      required: true
    }
  },
  emits: ["choose-year"],
  setup(props2, { emit }) {
    const [currentYear] = props2.current.split("-");
    const panel = vue.ref();
    const headerEl = vue.ref(null);
    const reverse = vue.ref(false);
    const panelKey = vue.ref(0);
    const page = vue.ref(0);
    const panelBtnDisabled = vue.reactive({
      left: false,
      right: false
    });
    const yearList = vue.computed(() => {
      if (!props2.preview) {
        return [];
      }
      const startYear = Math.floor(toNumber(props2.preview) / 100 + page.value) * 100;
      return Array.from(Array(100), (_v, k) => Math.max(0, startYear) + k);
    });
    const shouldChoose = (val) => {
      const {
        choose: { chooseMonths, chooseDays, chooseYears, chooseRangeYear },
        componentProps: { type, range }
      } = props2;
      if (range) {
        if (!chooseRangeYear.length) {
          return false;
        }
        const isBeforeMax = dayjs(val).isSameOrBefore(dayjs(chooseRangeYear[1]), "year");
        const isAfterMin = dayjs(val).isSameOrAfter(dayjs(chooseRangeYear[0]), "year");
        return isBeforeMax && isAfterMin;
      }
      if (type === "year") {
        return chooseYears.includes(val);
      }
      if (type === "month") {
        return chooseMonths.some((value) => value.includes(val));
      }
      return chooseDays.some((value) => value.includes(val));
    };
    const inRange = (year) => {
      const {
        componentProps: { min: min2, max: max2 }
      } = props2;
      const isBeforeMax = max2 ? dayjs(year).isSameOrBefore(dayjs(max2), "year") : true;
      const isAfterMin = min2 ? dayjs(year).isSameOrAfter(dayjs(min2), "year") : true;
      return isBeforeMax && isAfterMin;
    };
    const buttonProps = (year) => {
      const {
        choose: { chooseYear: chooseYear2 },
        componentProps: { allowedDates, color, multiple, range }
      } = props2;
      const yearExist = () => {
        if (range || multiple) {
          return shouldChoose(year);
        }
        return chooseYear2 === year;
      };
      const computeDisabled = () => {
        if (!inRange(year)) {
          return true;
        }
        if (!allowedDates) {
          return false;
        }
        return !allowedDates(year);
      };
      const disabled = computeDisabled();
      const computeText = () => {
        if (disabled) {
          return true;
        }
        if (range || multiple) {
          return !shouldChoose(year);
        }
        return chooseYear2 !== year;
      };
      const computeOutline = () => {
        if (!(currentYear === year && props2.componentProps.showCurrent)) {
          return false;
        }
        if ((range || multiple) && disabled) {
          return true;
        }
        if (range || multiple) {
          return !shouldChoose(year);
        }
        return chooseYear2 !== currentYear;
      };
      const textColorOrCover = () => {
        if (disabled) {
          return "";
        }
        if (computeOutline()) {
          return color != null ? color : "";
        }
        if (yearExist()) {
          return "";
        }
        return `${nDate()}-color-cover`;
      };
      const isCover = textColorOrCover().startsWith(nDate());
      return {
        outline: computeOutline(),
        text: computeText(),
        color: !computeText() ? color : "",
        textColor: isCover ? "" : textColorOrCover(),
        [`${nDate()}-color-cover`]: isCover,
        class: classes$G(n$R("button"), [disabled, n$R("button--disabled")]),
        disabled
      };
    };
    const chooseYear = (year, event) => {
      const buttonEl = event.currentTarget;
      if (buttonEl.classList.contains(n$R("button--disabled"))) {
        return;
      }
      emit("choose-year", year);
    };
    const scrollToView = () => {
      var _a;
      const activeEl = (_a = panel.value.querySelector(".var-button--primary")) != null ? _a : panel.value.querySelector(".var-button--outline");
      activeEl == null ? void 0 : activeEl.scrollIntoView({
        block: "center"
      });
    };
    const checkDate = (checkType) => {
      const isPrevType = checkType === "prev";
      reverse.value = isPrevType;
      panelKey.value += isPrevType ? -1 : 1;
      page.value += isPrevType ? -1 : 1;
    };
    const forwardRef = (checkType) => {
      headerEl.value.checkDate(checkType);
    };
    onSmartMounted(scrollToView);
    vue.watch(
      () => props2.preview,
      () => {
        page.value = 0;
      }
    );
    vue.watch(
      () => [yearList.value, props2.componentProps.max, props2.componentProps.min],
      (newVal) => {
        const [list, max2, min2] = newVal;
        if (max2) {
          panelBtnDisabled.right = !dayjs(`${toNumber(list[list.length - 1])}`).isSameOrBefore(dayjs(max2), "year");
        }
        if (min2) {
          panelBtnDisabled.left = !dayjs(`${toNumber(list[0])}`).isSameOrAfter(dayjs(min2), "year");
        }
        if (toNumber(list[0] <= 0)) {
          panelBtnDisabled.left = false;
        }
      },
      {
        immediate: true
      }
    );
    return {
      n: n$R,
      classes: classes$G,
      buttonProps,
      panel,
      headerEl,
      yearList,
      reverse,
      panelKey,
      panelBtnDisabled,
      nDate,
      checkDate,
      chooseYear,
      forwardRef,
      toNumber
    };
  }
});
__sfc__$S.render = __render__$P;
var stdin_default$4S = __sfc__$S;
var __async$9 = (__this, __arguments, generator) => {
  return new Promise((resolve, reject) => {
    var fulfilled = (value) => {
      try {
        step(generator.next(value));
      } catch (e) {
        reject(e);
      }
    };
    var rejected = (value) => {
      try {
        step(generator.throw(value));
      } catch (e) {
        reject(e);
      }
    };
    var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
    step((generator = generator.apply(__this, __arguments)).next());
  });
};
const { name: name$N, n: n$Q, classes: classes$F } = createNamespace("date-picker");
function __render__$O(_ctx, _cache) {
  var _a;
  const _component_year_picker_panel = vue.resolveComponent("year-picker-panel");
  const _component_month_picker_panel = vue.resolveComponent("month-picker-panel");
  const _component_day_picker_panel = vue.resolveComponent("day-picker-panel");
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(_ctx.classes(_ctx.n(), _ctx.formatElevation(_ctx.elevation, 2)))
    },
    [
      vue.createElementVNode(
        "div",
        {
          class: vue.normalizeClass(_ctx.n("title")),
          style: vue.normalizeStyle({ background: _ctx.titleColor || _ctx.color })
        },
        [
          vue.createElementVNode(
            "div",
            {
              class: vue.normalizeClass(_ctx.n("title-select"))
            },
            [
              vue.createElementVNode(
                "div",
                {
                  class: vue.normalizeClass(_ctx.n("title-hint"))
                },
                vue.toDisplayString((_a = _ctx.hint) != null ? _a : (_ctx.pt ? _ctx.pt : _ctx.t)("datePickerHint")),
                3
                /* TEXT, CLASS */
              ),
              _ctx.type !== "year" ? (vue.openBlock(), vue.createElementBlock(
                "div",
                {
                  key: 0,
                  class: vue.normalizeClass(_ctx.classes(_ctx.n("title-year"), [_ctx.isYearPanel, _ctx.n("title-year--active")])),
                  onClick: _cache[0] || (_cache[0] = ($event) => _ctx.clickEl("year"))
                },
                [
                  vue.renderSlot(_ctx.$slots, "year", { year: _ctx.chooseYear }, () => [
                    vue.createTextVNode(
                      vue.toDisplayString(_ctx.chooseYear),
                      1
                      /* TEXT */
                    )
                  ])
                ],
                2
                /* CLASS */
              )) : vue.createCommentVNode("v-if", true)
            ],
            2
            /* CLASS */
          ),
          vue.createElementVNode(
            "div",
            {
              class: vue.normalizeClass(
                _ctx.classes(
                  _ctx.n("title-date"),
                  [!_ctx.isYearPanel || _ctx.type === "year", _ctx.n("title-date--active")],
                  [_ctx.range, _ctx.n("title-date--range")]
                )
              ),
              onClick: _cache[1] || (_cache[1] = ($event) => _ctx.clickEl("date"))
            },
            [
              vue.createVNode(vue.Transition, {
                name: _ctx.multiple ? "" : `${_ctx.n()}${_ctx.reverse ? "-reverse" : ""}-translatey`
              }, {
                default: vue.withCtx(() => [
                  _ctx.type === "year" ? (vue.openBlock(), vue.createElementBlock("div", {
                    key: `${_ctx.chooseYear}`
                  }, [
                    _ctx.range ? vue.renderSlot(_ctx.$slots, "range", {
                      key: 0,
                      choose: _ctx.getChoose.chooseRangeYear
                    }, () => [
                      vue.createTextVNode(
                        vue.toDisplayString(_ctx.getYearTitle),
                        1
                        /* TEXT */
                      )
                    ]) : _ctx.multiple ? vue.renderSlot(_ctx.$slots, "multiple", {
                      key: 1,
                      choose: _ctx.getChoose.chooseYears
                    }, () => [
                      vue.createTextVNode(
                        vue.toDisplayString(_ctx.getYearTitle),
                        1
                        /* TEXT */
                      )
                    ]) : vue.renderSlot(_ctx.$slots, "year", {
                      key: 2,
                      year: _ctx.chooseYear
                    }, () => [
                      vue.createTextVNode(
                        vue.toDisplayString(_ctx.getYearTitle),
                        1
                        /* TEXT */
                      )
                    ])
                  ])) : _ctx.type === "month" ? (vue.openBlock(), vue.createElementBlock("div", {
                    key: `${_ctx.chooseYear}${_ctx.chooseMonth}`
                  }, [
                    _ctx.range ? vue.renderSlot(_ctx.$slots, "range", {
                      key: 0,
                      choose: _ctx.getChoose.chooseRangeMonth
                    }, () => [
                      vue.createTextVNode(
                        vue.toDisplayString(_ctx.getMonthTitle),
                        1
                        /* TEXT */
                      )
                    ]) : _ctx.multiple ? vue.renderSlot(_ctx.$slots, "multiple", {
                      key: 1,
                      choose: _ctx.getChoose.chooseMonths
                    }, () => [
                      vue.createTextVNode(
                        vue.toDisplayString(_ctx.getMonthTitle),
                        1
                        /* TEXT */
                      )
                    ]) : vue.renderSlot(_ctx.$slots, "month", {
                      key: 2,
                      month: _ctx.chooseMonth,
                      year: _ctx.chooseYear
                    }, () => [
                      vue.createTextVNode(
                        vue.toDisplayString(_ctx.getMonthTitle),
                        1
                        /* TEXT */
                      )
                    ])
                  ])) : (vue.openBlock(), vue.createElementBlock("div", {
                    key: `${_ctx.chooseYear}${_ctx.chooseMonth}${_ctx.chooseDay}`
                  }, [
                    _ctx.range ? vue.renderSlot(_ctx.$slots, "range", {
                      key: 0,
                      choose: _ctx.formatRange
                    }, () => [
                      vue.createTextVNode(
                        vue.toDisplayString(_ctx.getDateTitle),
                        1
                        /* TEXT */
                      )
                    ]) : _ctx.multiple ? vue.renderSlot(_ctx.$slots, "multiple", {
                      key: 1,
                      choose: _ctx.getChoose.chooseDays
                    }, () => [
                      vue.createTextVNode(
                        vue.toDisplayString(_ctx.getDateTitle),
                        1
                        /* TEXT */
                      )
                    ]) : vue.renderSlot(_ctx.$slots, "date", vue.normalizeProps(vue.mergeProps({ key: 2 }, _ctx.slotProps)), () => [
                      vue.createTextVNode(
                        vue.toDisplayString(_ctx.getDateTitle),
                        1
                        /* TEXT */
                      )
                    ])
                  ]))
                ]),
                _: 3
                /* FORWARDED */
              }, 8, ["name"])
            ],
            2
            /* CLASS */
          )
        ],
        6
        /* CLASS, STYLE */
      ),
      vue.createElementVNode(
        "div",
        {
          class: vue.normalizeClass(_ctx.n("body")),
          onTouchstart: _cache[2] || (_cache[2] = (...args) => _ctx.handleTouchstart && _ctx.handleTouchstart(...args)),
          onTouchmove: _cache[3] || (_cache[3] = (...args) => _ctx.handleTouchmove && _ctx.handleTouchmove(...args)),
          onTouchend: _cache[4] || (_cache[4] = (...args) => _ctx.handleTouchend && _ctx.handleTouchend(...args))
        },
        [
          vue.createVNode(vue.Transition, {
            name: `${_ctx.n()}-panel-fade`
          }, {
            default: vue.withCtx(() => [
              _ctx.getPanelType === "year" ? (vue.openBlock(), vue.createBlock(_component_year_picker_panel, {
                key: 0,
                ref: "yearPanelEl",
                choose: _ctx.getChoose,
                current: _ctx.currentDate,
                "component-props": _ctx.componentProps,
                preview: _ctx.previewYear,
                onChooseYear: _ctx.getChooseYear
              }, null, 8, ["choose", "current", "component-props", "preview", "onChooseYear"])) : _ctx.getPanelType === "month" ? (vue.openBlock(), vue.createBlock(_component_month_picker_panel, {
                key: 1,
                ref: "monthPanelEl",
                current: _ctx.currentDate,
                choose: _ctx.getChoose,
                preview: _ctx.getPreview,
                "click-year": () => _ctx.clickEl("year"),
                "component-props": _ctx.componentProps,
                onChooseMonth: _ctx.getChooseMonth,
                onCheckPreview: _ctx.checkPreview
              }, null, 8, ["current", "choose", "preview", "click-year", "component-props", "onChooseMonth", "onCheckPreview"])) : _ctx.getPanelType === "date" ? (vue.openBlock(), vue.createBlock(_component_day_picker_panel, {
                key: 2,
                ref: "dayPanelEl",
                current: _ctx.currentDate,
                choose: _ctx.getChoose,
                preview: _ctx.getPreview,
                "component-props": _ctx.componentProps,
                "click-month": () => _ctx.clickEl("month"),
                onChooseDay: _ctx.getChooseDay,
                onCheckPreview: _ctx.checkPreview
              }, null, 8, ["current", "choose", "preview", "component-props", "click-month", "onChooseDay", "onCheckPreview"])) : vue.createCommentVNode("v-if", true)
            ]),
            _: 1
            /* STABLE */
          }, 8, ["name"])
        ],
        34
        /* CLASS, NEED_HYDRATION */
      ),
      _ctx.$slots.actions ? (vue.openBlock(), vue.createElementBlock(
        "div",
        {
          key: 0,
          class: vue.normalizeClass(_ctx.n("actions"))
        },
        [
          vue.renderSlot(_ctx.$slots, "actions")
        ],
        2
        /* CLASS */
      )) : vue.createCommentVNode("v-if", true)
    ],
    2
    /* CLASS */
  );
}
const __sfc__$R = vue.defineComponent({
  name: name$N,
  components: {
    MonthPickerPanel: stdin_default$4V,
    YearPickerPanel: stdin_default$4S,
    DayPickerPanel: stdin_default$4W
  },
  props: props$N,
  setup(props2) {
    const { t: pt } = injectLocaleProvider();
    const currentDate = dayjs().format("YYYY-MM-D");
    const [currentYear, currentMonth] = currentDate.split("-");
    const monthDes = MONTH_LIST.find((month) => month === currentMonth);
    const isYearPanel = vue.ref(false);
    const isMonthPanel = vue.ref(false);
    const rangeDone = vue.ref(true);
    const chooseMonth = vue.ref();
    const chooseYear = vue.ref();
    const chooseDay = vue.ref();
    const previewMonth = vue.ref(monthDes);
    const previewYear = vue.ref(currentYear);
    const reverse = vue.ref(false);
    const chooseYears = vue.ref([]);
    const chooseMonths = vue.ref([]);
    const chooseDays = vue.ref([]);
    const chooseRangeYear = vue.ref([]);
    const chooseRangeMonth = vue.ref([]);
    const chooseRangeDay = vue.ref([]);
    const yearPanelEl = vue.ref(null);
    const monthPanelEl = vue.ref(null);
    const dayPanelEl = vue.ref(null);
    const componentProps = vue.computed(() => ({
      allowedDates: props2.allowedDates,
      type: props2.type,
      color: props2.color,
      firstDayOfWeek: props2.firstDayOfWeek,
      min: props2.min,
      max: props2.max,
      showCurrent: props2.showCurrent,
      multiple: props2.multiple,
      range: props2.range,
      buttonElevation: props2.buttonElevation
    }));
    const getChoose = vue.computed(() => ({
      chooseMonth: chooseMonth.value,
      chooseYear: chooseYear.value,
      chooseDay: chooseDay.value,
      chooseYears: chooseYears.value,
      chooseMonths: chooseMonths.value,
      chooseDays: chooseDays.value,
      chooseRangeYear: chooseRangeYear.value,
      chooseRangeMonth: chooseRangeMonth.value,
      chooseRangeDay: chooseRangeDay.value
    }));
    const getPreview = vue.computed(() => ({
      previewMonth: previewMonth.value,
      previewYear: previewYear.value
    }));
    const getYearTitle = vue.computed(() => {
      var _a;
      const { multiple, range } = props2;
      if (range) {
        return chooseRangeYear.value.length ? `${chooseRangeYear.value[0]} ~ ${chooseRangeYear.value[1]}` : "";
      }
      return multiple ? `${chooseYears.value.length}${(pt || t)("datePickerSelected")}` : (_a = chooseYear.value) != null ? _a : "";
    });
    const getMonthTitle = vue.computed(() => {
      var _a, _b;
      const { multiple, range } = props2;
      if (range) {
        return chooseRangeMonth.value.length ? `${chooseRangeMonth.value[0]} ~ ${chooseRangeMonth.value[1]}` : "";
      }
      let monthName = "";
      if (chooseMonth.value) {
        monthName = (_b = (_a = (pt || t)("datePickerMonthDict")) == null ? void 0 : _a[chooseMonth.value].name) != null ? _b : "";
      }
      return multiple ? `${chooseMonths.value.length}${(pt || t)("datePickerSelected")}` : monthName;
    });
    const getDateTitle = vue.computed(() => {
      var _a, _b, _c, _d;
      const { multiple, range } = props2;
      if (range) {
        const formatRangeDays = chooseRangeDay.value.map((date) => dayjs(date).format("YYYY-MM-DD"));
        return formatRangeDays.length ? `${formatRangeDays[0]} ~ ${formatRangeDays[1]}` : "";
      }
      if (multiple) {
        return `${chooseDays.value.length}${(pt || t)("datePickerSelected")}`;
      }
      if (!chooseYear.value || !chooseMonth.value || !chooseDay.value) {
        return "";
      }
      const weekIndex = dayjs(`${chooseYear.value}-${chooseMonth.value}-${chooseDay.value}`).day();
      const week = WEEK_HEADER.find((value) => value === `${weekIndex}`);
      const weekName = (_b = (_a = (pt || t)("datePickerWeekDict")) == null ? void 0 : _a[week].name) != null ? _b : "";
      const monthName = (_d = (_c = (pt || t)("datePickerMonthDict")) == null ? void 0 : _c[chooseMonth.value].name) != null ? _d : "";
      const showDay = padStart$1(chooseDay.value, 2, "0");
      if ((pt || t)("lang") === "zh-CN") {
        return `${chooseMonth.value}-${showDay} ${weekName.slice(0, 3)}`;
      }
      return `${weekName.slice(0, 3)}, ${monthName.slice(0, 3)} ${chooseDay.value}`;
    });
    const getPanelType = vue.computed(() => {
      if (props2.type === "year" || isYearPanel.value) {
        return "year";
      }
      if (props2.type === "month" || isMonthPanel.value) {
        return "month";
      }
      if (props2.type === "date") {
        return "date";
      }
      return "";
    });
    const isUntouchable = vue.computed(() => !props2.touchable || !getPanelType.value);
    const slotProps = vue.computed(() => {
      var _a, _b;
      const weekIndex = dayjs(`${chooseYear.value}-${chooseMonth.value}-${chooseDay.value}`).day();
      const date = chooseDay.value ? padStart$1(chooseDay.value, 2, "0") : "";
      return {
        week: `${weekIndex}`,
        year: (_a = chooseYear.value) != null ? _a : "",
        month: (_b = chooseMonth.value) != null ? _b : "",
        date
      };
    });
    const formatRange = vue.computed(
      () => getChoose.value.chooseRangeDay.map((choose) => dayjs(choose).format("YYYY-MM-DD"))
    );
    const isSameYear = vue.computed(() => chooseYear.value === previewYear.value);
    const isSameMonth = vue.computed(() => chooseMonth.value === previewMonth.value);
    let startX = 0;
    let startY = 0;
    let checkType = "";
    let touchDirection;
    vue.watch(
      () => props2.modelValue,
      (value) => {
        if (!checkValue() || invalidFormatDate(value)) {
          return;
        }
        if (props2.range) {
          if (!isArray(value)) {
            return;
          }
          rangeDone.value = value.length !== 1;
          rangeInit(value, props2.type);
        } else if (props2.multiple) {
          if (!isArray(value)) {
            return;
          }
          multipleInit(value, props2.type);
        } else {
          dateInit(value);
        }
      },
      { immediate: true }
    );
    vue.watch(getPanelType, resetState);
    function clickEl(type) {
      if (type === "year") {
        isYearPanel.value = true;
      } else if (type === "month") {
        isMonthPanel.value = true;
      } else {
        isYearPanel.value = false;
        isMonthPanel.value = false;
      }
    }
    function handleTouchstart(event) {
      if (isUntouchable.value) {
        return;
      }
      const { clientX, clientY } = event.touches[0];
      startX = clientX;
      startY = clientY;
    }
    function getDirection2(x, y) {
      return x >= y && x > 20 ? "x" : "y";
    }
    function handleTouchmove(event) {
      if (isUntouchable.value) {
        return;
      }
      const { clientX, clientY } = event.touches[0];
      const x = clientX - startX;
      const y = clientY - startY;
      touchDirection = getDirection2(Math.abs(x), Math.abs(y));
      checkType = x > 0 ? "prev" : "next";
    }
    function handleTouchend() {
      return __async$9(this, null, function* () {
        if (isUntouchable.value || touchDirection !== "x") {
          return;
        }
        const componentRef = getPanelType.value === "year" ? yearPanelEl : getPanelType.value === "month" ? monthPanelEl : dayPanelEl;
        yield doubleRaf();
        componentRef.value.forwardRef(checkType);
        resetState();
      });
    }
    function updateRange(date, type) {
      const rangeDate = type === "year" ? chooseRangeYear : type === "month" ? chooseRangeMonth : chooseRangeDay;
      rangeDate.value = rangeDone.value ? [date, date] : [rangeDate.value[0], date];
      rangeDone.value = !rangeDone.value;
      if (rangeDone.value) {
        const isChangeOrder = dayjs(rangeDate.value[0]).isAfter(rangeDate.value[1]);
        const date2 = isChangeOrder ? [rangeDate.value[1], rangeDate.value[0]] : [...rangeDate.value];
        call(props2["onUpdate:modelValue"], date2);
        call(props2.onChange, date2);
      }
    }
    function updateMultiple(date, type) {
      const multipleDates = type === "year" ? chooseYears : type === "month" ? chooseMonths : chooseDays;
      const formatType = type === "year" ? "YYYY" : type === "month" ? "YYYY-MM" : "YYYY-MM-DD";
      const formatDates = multipleDates.value.map((date2) => dayjs(date2).format(formatType));
      const index = formatDates.findIndex((choose) => choose === date);
      if (index === -1) {
        formatDates.push(date);
      } else {
        formatDates.splice(index, 1);
      }
      call(props2["onUpdate:modelValue"], formatDates);
      call(props2.onChange, formatDates);
    }
    function getReverse(dateType, date) {
      if (!chooseYear.value || !chooseMonth.value) {
        return false;
      }
      if (!isSameYear.value) {
        return chooseYear.value > previewYear.value;
      }
      if (dateType === "year") {
        return date < toNumber(chooseYear.value);
      }
      if (dateType === "month") {
        return date < chooseMonth.value;
      }
      return isSameMonth.value ? date < toNumber(chooseDay.value) : chooseMonth.value > previewMonth.value;
    }
    function getChooseDay(day) {
      const { readonly, range, multiple, onChange, "onUpdate:modelValue": updateModelValue } = props2;
      if (day < 0 || readonly) {
        return;
      }
      reverse.value = getReverse("day", day);
      const date = `${previewYear.value}-${previewMonth.value}-${day}`;
      const formatDate = dayjs(date).format("YYYY-MM-DD");
      if (range) {
        updateRange(formatDate, "day");
      } else if (multiple) {
        updateMultiple(formatDate, "day");
      } else {
        call(updateModelValue, formatDate);
        call(onChange, formatDate);
      }
    }
    function getChooseMonth(month) {
      const { type, readonly, range, multiple, onChange, onPreview, "onUpdate:modelValue": updateModelValue } = props2;
      reverse.value = getReverse("month", month);
      if (type === "month" && !readonly) {
        const date = `${previewYear.value}-${month}`;
        if (range) {
          updateRange(date, "month");
        } else if (multiple) {
          updateMultiple(date, "month");
        } else {
          call(updateModelValue, date);
          call(onChange, date);
        }
      } else {
        previewMonth.value = month;
        call(
          onPreview,
          toNumber(previewYear.value),
          toNumber(previewMonth.value),
          type === "date" ? toNumber(chooseDay.value) : void 0
        );
      }
      isMonthPanel.value = false;
    }
    function getChooseYear(year) {
      const { type, readonly, range, multiple, onChange, onPreview, "onUpdate:modelValue": updateModelValue } = props2;
      reverse.value = getReverse("year", year);
      if (type === "year" && !readonly) {
        if (range) {
          updateRange(`${year}`, "year");
        } else if (multiple) {
          updateMultiple(`${year}`, "year");
        } else {
          call(updateModelValue, `${year}`);
          call(onChange, `${year}`);
        }
      } else {
        previewYear.value = `${year}`;
        call(
          onPreview,
          toNumber(previewYear.value),
          toNumber(previewMonth.value),
          type === "date" ? toNumber(chooseDay.value) : void 0
        );
      }
      isYearPanel.value = false;
    }
    function checkPreview(type, checkType2) {
      const changeValue = checkType2 === "prev" ? -1 : 1;
      if (type === "year") {
        previewYear.value = `${toNumber(previewYear.value) + changeValue}`;
      } else {
        let checkIndex = toNumber(previewMonth.value) + changeValue;
        if (checkIndex < 1) {
          previewYear.value = `${toNumber(previewYear.value) - 1}`;
          checkIndex = 12;
        }
        if (checkIndex > 12) {
          previewYear.value = `${toNumber(previewYear.value) + 1}`;
          checkIndex = 1;
        }
        previewMonth.value = MONTH_LIST.find((month) => toNumber(month) === checkIndex);
      }
      call(
        props2.onPreview,
        toNumber(previewYear.value),
        toNumber(previewMonth.value),
        props2.type === "date" ? toNumber(chooseDay.value) : void 0
      );
    }
    function checkValue() {
      if ((props2.multiple || props2.range) && !isArray(props2.modelValue)) {
        error$1("DatePicker", 'type of prop "modelValue" should be an Array');
        return false;
      }
      if (!props2.multiple && !props2.range && isArray(props2.modelValue)) {
        error$1("DatePicker", 'type of prop "modelValue" should be a String');
        return false;
      }
      return true;
    }
    function invalidFormatDate(date) {
      if (isArray(date)) {
        return false;
      }
      if (date === "Invalid Date") {
        error$1("DatePicker", '"modelValue" is an Invalid Date');
        return true;
      }
      return false;
    }
    function rangeInit(value, type) {
      const rangeDate = type === "year" ? chooseRangeYear : type === "month" ? chooseRangeMonth : chooseRangeDay;
      const formatType = type === "year" ? "YYYY" : type === "month" ? "YYYY-MM" : "YYYY-MM-D";
      const formatDateList = value.map((choose) => dayjs(choose).format(formatType)).slice(0, 2);
      const isValid = rangeDate.value.some((date) => invalidFormatDate(date));
      if (isValid) {
        return;
      }
      rangeDate.value = formatDateList;
      const isChangeOrder = dayjs(rangeDate.value[0]).isAfter(rangeDate.value[1]);
      if (rangeDate.value.length === 2 && isChangeOrder) {
        rangeDate.value = [rangeDate.value[1], rangeDate.value[0]];
      }
    }
    function multipleInit(value, type) {
      const rangeDate = type === "year" ? chooseYears : type === "month" ? chooseMonths : chooseDays;
      const formatType = type === "year" ? "YYYY" : type === "month" ? "YYYY-MM" : "YYYY-MM-D";
      const formatDateList = Array.from(new Set(value.map((choose) => dayjs(choose).format(formatType))));
      rangeDate.value = formatDateList.filter((date) => date !== "Invalid Date");
    }
    function dateInit(value) {
      const handleValue = value ? dayjs(value) : dayjs();
      const formatDate = handleValue.format("YYYY-MM-D");
      if (invalidFormatDate(formatDate)) {
        return;
      }
      const [yearValue, monthValue, dayValue] = formatDate.split("-");
      const monthDes2 = MONTH_LIST.find((month) => month === monthValue);
      chooseMonth.value = monthDes2;
      chooseYear.value = yearValue;
      chooseDay.value = dayValue;
      previewMonth.value = monthDes2;
      previewYear.value = yearValue;
    }
    function resetState() {
      startY = 0;
      startX = 0;
      checkType = "";
      touchDirection = void 0;
    }
    return {
      yearPanelEl,
      monthPanelEl,
      dayPanelEl,
      reverse,
      currentDate,
      chooseMonth,
      chooseYear,
      chooseDay,
      previewYear,
      isYearPanel,
      isMonthPanel,
      getMonthTitle,
      getDateTitle,
      getYearTitle,
      getPanelType,
      getChoose,
      getPreview,
      componentProps,
      slotProps,
      formatRange,
      pt,
      t,
      n: n$Q,
      classes: classes$F,
      clickEl,
      handleTouchstart,
      handleTouchmove,
      handleTouchend,
      getChooseDay,
      getChooseMonth,
      getChooseYear,
      checkPreview,
      formatElevation
    };
  }
});
__sfc__$R.render = __render__$O;
var stdin_default$4R = __sfc__$R;
withInstall(stdin_default$4R);
withPropsDefaultsSetter(stdin_default$4R, props$N);
const _DatePickerComponent = stdin_default$4R;
var stdin_default$4Q = stdin_default$4R;
var __defProp$f = Object.defineProperty;
var __getOwnPropSymbols$f = Object.getOwnPropertySymbols;
var __hasOwnProp$f = Object.prototype.hasOwnProperty;
var __propIsEnum$f = Object.prototype.propertyIsEnumerable;
var __defNormalProp$f = (obj, key3, value) => key3 in obj ? __defProp$f(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues$f = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$f.call(b, prop))
      __defNormalProp$f(a, prop, b[prop]);
  if (__getOwnPropSymbols$f)
    for (var prop of __getOwnPropSymbols$f(b)) {
      if (__propIsEnum$f.call(b, prop))
        __defNormalProp$f(a, prop, b[prop]);
    }
  return a;
};
const props$L = __spreadValues$f({
  show: Boolean,
  width: [Number, String],
  title: String,
  message: String,
  messageAlign: {
    type: String,
    default: "left"
  },
  confirmButton: {
    type: Boolean,
    default: true
  },
  cancelButton: {
    type: Boolean,
    default: true
  },
  confirmButtonText: String,
  cancelButtonText: String,
  confirmButtonTextColor: String,
  cancelButtonTextColor: String,
  confirmButtonColor: String,
  cancelButtonColor: String,
  dialogClass: String,
  dialogStyle: Object,
  onBeforeClose: defineListenerProp(),
  onConfirm: defineListenerProp(),
  onCancel: defineListenerProp(),
  "onUpdate:show": defineListenerProp()
}, pickProps(props$1m, [
  "overlay",
  "overlayClass",
  "overlayStyle",
  "lockScroll",
  "closeOnClickOverlay",
  "closeOnKeyEscape",
  "teleport",
  "onOpen",
  "onClose",
  "onOpened",
  "onClosed",
  "onClickOverlay",
  "onKeyEscape",
  // internal for function call closes the dialog
  "onRouteChange"
]));
var __defProp$e = Object.defineProperty;
var __getOwnPropSymbols$e = Object.getOwnPropertySymbols;
var __hasOwnProp$e = Object.prototype.hasOwnProperty;
var __propIsEnum$e = Object.prototype.propertyIsEnumerable;
var __defNormalProp$e = (obj, key3, value) => key3 in obj ? __defProp$e(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues$e = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$e.call(b, prop))
      __defNormalProp$e(a, prop, b[prop]);
  if (__getOwnPropSymbols$e)
    for (var prop of __getOwnPropSymbols$e(b)) {
      if (__propIsEnum$e.call(b, prop))
        __defNormalProp$e(a, prop, b[prop]);
    }
  return a;
};
const { name: name$M, n: n$P, classes: classes$E } = createNamespace("dialog");
function __render__$N(_ctx, _cache) {
  const _component_var_button = vue.resolveComponent("var-button");
  const _component_var_popup = vue.resolveComponent("var-popup");
  return vue.openBlock(), vue.createBlock(_component_var_popup, {
    class: vue.normalizeClass(_ctx.n("popup")),
    "var-dialog-cover": "",
    show: _ctx.popupShow,
    overlay: _ctx.overlay,
    "overlay-class": _ctx.overlayClass,
    "overlay-style": _ctx.overlayStyle,
    "lock-scroll": _ctx.lockScroll,
    "close-on-click-overlay": _ctx.popupCloseOnClickOverlay,
    "close-on-key-escape": false,
    teleport: _ctx.teleport,
    onOpen: _ctx.onOpen,
    onClose: _ctx.onClose,
    onClosed: _ctx.onClosed,
    onOpened: _ctx.onOpened,
    onKeyEscape: _ctx.handleKeyEscape,
    onRouteChange: _ctx.onRouteChange,
    onClickOverlay: _ctx.handleClickOverlay
  }, {
    default: vue.withCtx(() => [
      vue.createElementVNode(
        "div",
        vue.mergeProps({
          class: _ctx.classes(_ctx.n("$--box"), _ctx.n(), _ctx.dialogClass),
          style: __spreadValues$e({ width: _ctx.toSizeUnit(_ctx.width) }, _ctx.dialogStyle)
        }, _ctx.$attrs),
        [
          vue.createElementVNode(
            "div",
            {
              class: vue.normalizeClass(_ctx.n("title"))
            },
            [
              vue.renderSlot(_ctx.$slots, "title", {}, () => {
                var _a;
                return [
                  vue.createTextVNode(
                    vue.toDisplayString((_a = _ctx.title) != null ? _a : (_ctx.pt ? _ctx.pt : _ctx.t)("dialogTitle")),
                    1
                    /* TEXT */
                  )
                ];
              })
            ],
            2
            /* CLASS */
          ),
          vue.createElementVNode(
            "div",
            {
              class: vue.normalizeClass(_ctx.n("message")),
              style: vue.normalizeStyle({ textAlign: _ctx.messageAlign })
            },
            [
              vue.renderSlot(_ctx.$slots, "default", {}, () => [
                vue.createTextVNode(
                  vue.toDisplayString(_ctx.message),
                  1
                  /* TEXT */
                )
              ])
            ],
            6
            /* CLASS, STYLE */
          ),
          vue.renderSlot(_ctx.$slots, "actions", {
            slotClass: _ctx.n("actions"),
            cancel: _ctx.cancel,
            confirm: _ctx.confirm
          }, () => [
            vue.createElementVNode(
              "div",
              {
                class: vue.normalizeClass(_ctx.n("actions"))
              },
              [
                _ctx.cancelButton ? (vue.openBlock(), vue.createBlock(_component_var_button, {
                  key: 0,
                  class: vue.normalizeClass(_ctx.classes(_ctx.n("button"), _ctx.n("cancel-button"))),
                  "var-dialog-cover": "",
                  text: "",
                  "text-color": _ctx.cancelButtonTextColor,
                  color: _ctx.cancelButtonColor,
                  onClick: _ctx.cancel
                }, {
                  default: vue.withCtx(() => {
                    var _a;
                    return [
                      vue.createTextVNode(
                        vue.toDisplayString((_a = _ctx.cancelButtonText) != null ? _a : (_ctx.pt ? _ctx.pt : _ctx.t)("dialogCancelButtonText")),
                        1
                        /* TEXT */
                      )
                    ];
                  }),
                  _: 1
                  /* STABLE */
                }, 8, ["class", "text-color", "color", "onClick"])) : vue.createCommentVNode("v-if", true),
                _ctx.confirmButton ? (vue.openBlock(), vue.createBlock(_component_var_button, {
                  key: 1,
                  class: vue.normalizeClass(_ctx.classes(_ctx.n("button"), _ctx.n("confirm-button"))),
                  "var-dialog-cover": "",
                  text: "",
                  "text-color": _ctx.confirmButtonTextColor,
                  color: _ctx.confirmButtonColor,
                  onClick: _ctx.confirm
                }, {
                  default: vue.withCtx(() => {
                    var _a;
                    return [
                      vue.createTextVNode(
                        vue.toDisplayString((_a = _ctx.confirmButtonText) != null ? _a : (_ctx.pt ? _ctx.pt : _ctx.t)("dialogConfirmButtonText")),
                        1
                        /* TEXT */
                      )
                    ];
                  }),
                  _: 1
                  /* STABLE */
                }, 8, ["class", "text-color", "color", "onClick"])) : vue.createCommentVNode("v-if", true)
              ],
              2
              /* CLASS */
            )
          ])
        ],
        16
        /* FULL_PROPS */
      )
    ]),
    _: 3
    /* FORWARDED */
  }, 8, ["class", "show", "overlay", "overlay-class", "overlay-style", "lock-scroll", "close-on-click-overlay", "teleport", "onOpen", "onClose", "onClosed", "onOpened", "onKeyEscape", "onRouteChange", "onClickOverlay"]);
}
const __sfc__$Q = vue.defineComponent({
  name: name$M,
  components: {
    VarPopup: stdin_default$69,
    VarButton: stdin_default$5y
  },
  inheritAttrs: false,
  props: props$L,
  setup(props2) {
    const popupShow = vue.ref(false);
    const popupCloseOnClickOverlay = vue.ref(false);
    const { t: pt } = injectLocaleProvider();
    vue.watch(
      () => props2.show,
      (newValue) => {
        popupShow.value = newValue;
      },
      { immediate: true }
    );
    vue.watch(
      () => props2.closeOnClickOverlay,
      (newValue) => {
        if (props2.onBeforeClose != null) {
          popupCloseOnClickOverlay.value = false;
          return;
        }
        popupCloseOnClickOverlay.value = newValue;
      },
      { immediate: true }
    );
    function done() {
      return call(props2["onUpdate:show"], false);
    }
    function handleClickOverlay() {
      const { closeOnClickOverlay, onClickOverlay, onBeforeClose } = props2;
      call(onClickOverlay);
      if (!closeOnClickOverlay) {
        return;
      }
      if (onBeforeClose != null) {
        call(onBeforeClose, "close", done);
        return;
      }
      call(props2["onUpdate:show"], false);
    }
    function confirm() {
      const { onBeforeClose, onConfirm } = props2;
      call(onConfirm);
      if (onBeforeClose != null) {
        call(onBeforeClose, "confirm", done);
        return;
      }
      call(props2["onUpdate:show"], false);
    }
    function cancel() {
      const { onBeforeClose, onCancel } = props2;
      call(onCancel);
      if (onBeforeClose != null) {
        call(onBeforeClose, "cancel", done);
        return;
      }
      call(props2["onUpdate:show"], false);
    }
    function handleKeyEscape() {
      call(props2.onKeyEscape);
      if (!props2.closeOnKeyEscape) {
        return;
      }
      cancel();
    }
    return {
      popupShow,
      popupCloseOnClickOverlay,
      pt,
      t,
      n: n$P,
      classes: classes$E,
      handleClickOverlay,
      confirm,
      cancel,
      toSizeUnit,
      handleKeyEscape
    };
  }
});
__sfc__$Q.render = __render__$N;
var stdin_default$4P = __sfc__$Q;
var __defProp$d = Object.defineProperty;
var __defProps$5 = Object.defineProperties;
var __getOwnPropDescs$5 = Object.getOwnPropertyDescriptors;
var __getOwnPropSymbols$d = Object.getOwnPropertySymbols;
var __hasOwnProp$d = Object.prototype.hasOwnProperty;
var __propIsEnum$d = Object.prototype.propertyIsEnumerable;
var __defNormalProp$d = (obj, key3, value) => key3 in obj ? __defProp$d(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues$d = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$d.call(b, prop))
      __defNormalProp$d(a, prop, b[prop]);
  if (__getOwnPropSymbols$d)
    for (var prop of __getOwnPropSymbols$d(b)) {
      if (__propIsEnum$d.call(b, prop))
        __defNormalProp$d(a, prop, b[prop]);
    }
  return a;
};
var __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));
let singletonOptions$2;
let defaultOptions$2 = {};
function normalizeOptions$2(options = {}) {
  if (isString(options)) {
    return __spreadProps$5(__spreadValues$d({}, defaultOptions$2), { message: options });
  }
  return __spreadValues$d(__spreadValues$d({}, defaultOptions$2), options);
}
function Dialog(options) {
  if (!inBrowser()) {
    return Promise.resolve();
  }
  return new Promise((resolve) => {
    Dialog.close();
    const dialogOptions = normalizeOptions$2(options);
    const reactiveDialogOptions = vue.reactive(dialogOptions);
    reactiveDialogOptions.teleport = "body";
    singletonOptions$2 = reactiveDialogOptions;
    const { unmountInstance } = mountInstance(stdin_default$4P, reactiveDialogOptions, {
      onConfirm: () => {
        call(reactiveDialogOptions.onConfirm);
        resolve("confirm");
      },
      onCancel: () => {
        call(reactiveDialogOptions.onCancel);
        resolve("cancel");
      },
      onClose: () => {
        call(reactiveDialogOptions.onClose);
        resolve("close");
      },
      onClosed: () => {
        call(reactiveDialogOptions.onClosed);
        unmountInstance();
        singletonOptions$2 === reactiveDialogOptions && (singletonOptions$2 = null);
      },
      onRouteChange: () => {
        unmountInstance();
        singletonOptions$2 === reactiveDialogOptions && (singletonOptions$2 = null);
      },
      "onUpdate:show": (value) => {
        reactiveDialogOptions.show = value;
      }
    });
    reactiveDialogOptions.show = true;
  });
}
Dialog.setDefaultOptions = function(options) {
  defaultOptions$2 = options;
};
Dialog.resetDefaultOptions = function() {
  defaultOptions$2 = {};
};
Dialog.close = function() {
  if (singletonOptions$2 != null) {
    const prevSingletonOptions = singletonOptions$2;
    singletonOptions$2 = null;
    vue.nextTick().then(() => {
      prevSingletonOptions.show = false;
    });
  }
};
Dialog.Component = stdin_default$4P;
withInstall(stdin_default$4P);
withInstall(stdin_default$4P, Dialog);
withPropsDefaultsSetter(Dialog, props$L);
const _DialogComponent = stdin_default$4P;
var stdin_default$4O = Dialog;
const props$K = {
  inset: {
    type: [Boolean, Number, String],
    default: false
  },
  vertical: Boolean,
  description: String,
  margin: String,
  dashed: Boolean,
  hairline: Boolean
};
const { name: name$L, n: n$O, classes: classes$D } = createNamespace("divider");
function __render__$M(_ctx, _cache) {
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(
        _ctx.classes(
          _ctx.n(),
          _ctx.n("$--box"),
          [_ctx.vertical, _ctx.n("--vertical")],
          [_ctx.withText, _ctx.n("--with-text")],
          [_ctx.withPresetInset, _ctx.n("--inset")],
          [_ctx.dashed, _ctx.n("--dashed")],
          [_ctx.hairline, _ctx.n("--hairline")]
        )
      ),
      style: vue.normalizeStyle(_ctx.style),
      role: "separator"
    },
    [
      !_ctx.vertical ? vue.renderSlot(_ctx.$slots, "default", { key: 0 }, () => [
        _ctx.description ? (vue.openBlock(), vue.createElementBlock(
          "span",
          {
            key: 0,
            class: vue.normalizeClass(_ctx.n("text"))
          },
          vue.toDisplayString(_ctx.description),
          3
          /* TEXT, CLASS */
        )) : vue.createCommentVNode("v-if", true)
      ]) : vue.createCommentVNode("v-if", true)
    ],
    6
    /* CLASS, STYLE */
  );
}
const __sfc__$P = vue.defineComponent({
  name: name$L,
  props: props$K,
  setup(props2, { slots }) {
    const withText = vue.ref(false);
    const withPresetInset = vue.computed(() => {
      const { vertical, inset } = props2;
      return !vertical && inset === true;
    });
    const style = vue.computed(() => {
      const { inset, vertical, margin } = props2;
      if (isBoolean(inset) || vertical) {
        return { margin };
      }
      const _inset = toNumber(inset);
      const absInsetWithUnit = Math.abs(_inset) + (inset + "").replace(_inset + "", "");
      return {
        margin,
        width: `calc(100% - ${toSizeUnit(absInsetWithUnit)})`,
        left: _inset > 0 ? toSizeUnit(absInsetWithUnit) : toSizeUnit(0)
      };
    });
    onSmartMounted(checkHasText);
    vue.onUpdated(checkHasText);
    function checkHasText() {
      const { description, vertical } = props2;
      withText.value = (slots.default || description != null) && !vertical;
    }
    return {
      n: n$O,
      classes: classes$D,
      withText,
      style,
      withPresetInset
    };
  }
});
__sfc__$P.render = __render__$M;
var stdin_default$4N = __sfc__$P;
withInstall(stdin_default$4N);
withPropsDefaultsSetter(stdin_default$4N, props$K);
const _DividerComponent = stdin_default$4N;
var stdin_default$4M = stdin_default$4N;
const props$J = {
  direction: {
    type: String,
    default: "xy"
  },
  attraction: String,
  disabled: Boolean,
  boundary: {
    type: Object,
    default: () => ({
      top: 0,
      bottom: 0,
      left: 0,
      right: 0
    })
  },
  zIndex: {
    type: [Number, String],
    default: 90
  },
  teleport: {
    type: [String, Object, Boolean],
    default: "body"
  },
  onClick: defineListenerProp()
};
var __defProp$c = Object.defineProperty;
var __defProps$4 = Object.defineProperties;
var __getOwnPropDescs$4 = Object.getOwnPropertyDescriptors;
var __getOwnPropSymbols$c = Object.getOwnPropertySymbols;
var __hasOwnProp$c = Object.prototype.hasOwnProperty;
var __propIsEnum$c = Object.prototype.propertyIsEnumerable;
var __defNormalProp$c = (obj, key3, value) => key3 in obj ? __defProp$c(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues$c = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$c.call(b, prop))
      __defNormalProp$c(a, prop, b[prop]);
  if (__getOwnPropSymbols$c)
    for (var prop of __getOwnPropSymbols$c(b)) {
      if (__propIsEnum$c.call(b, prop))
        __defNormalProp$c(a, prop, b[prop]);
    }
  return a;
};
var __spreadProps$4 = (a, b) => __defProps$4(a, __getOwnPropDescs$4(b));
const { name: name$K, n: n$N, classes: classes$C } = createNamespace("drag");
function __render__$L(_ctx, _cache) {
  return vue.openBlock(), vue.createBlock(vue.Teleport, {
    to: _ctx.teleport === false ? void 0 : _ctx.teleport,
    disabled: _ctx.teleportDisabled || _ctx.teleport === false
  }, [
    vue.createElementVNode(
      "div",
      vue.mergeProps({
        ref: "drag",
        class: _ctx.classes(_ctx.n(), _ctx.n("$--box"), [_ctx.enableTransition, _ctx.n("--transition")]),
        style: {
          "z-index": _ctx.zIndex
        }
      }, _ctx.getAttrs(), {
        onTouchstart: _cache[0] || (_cache[0] = (...args) => _ctx.handleTouchstart && _ctx.handleTouchstart(...args)),
        onTouchmove: _cache[1] || (_cache[1] = (...args) => _ctx.handleTouchmove && _ctx.handleTouchmove(...args)),
        onTouchend: _cache[2] || (_cache[2] = (...args) => _ctx.handleTouchend && _ctx.handleTouchend(...args)),
        onTouchcancel: _cache[3] || (_cache[3] = (...args) => _ctx.handleTouchend && _ctx.handleTouchend(...args)),
        onClick: _cache[4] || (_cache[4] = (...args) => _ctx.handleClick && _ctx.handleClick(...args))
      }),
      [
        vue.renderSlot(_ctx.$slots, "default")
      ],
      16
      /* FULL_PROPS */
    )
  ], 8, ["to", "disabled"]);
}
const __sfc__$O = vue.defineComponent({
  name: name$K,
  inheritAttrs: false,
  props: props$J,
  setup(props2, { attrs }) {
    const drag = vue.ref(null);
    const x = vue.ref(0);
    const y = vue.ref(0);
    const dragged = vue.ref(false);
    const enableTransition = vue.ref(false);
    const { touching, dragging, moveX, moveY, startTouch, moveTouch, endTouch, resetTouch } = useTouch();
    const { disabled: teleportDisabled } = useTeleport();
    const boundary = vue.reactive({
      top: 0,
      bottom: 0,
      left: 0,
      right: 0
    });
    vue.watch(() => props2.boundary, toPxBoundary);
    onWindowResize(resize);
    onSmartMounted(() => {
      toPxBoundary();
      resize();
    });
    function handleTouchstart(event) {
      if (props2.disabled) {
        return;
      }
      startTouch(event);
      saveXY();
    }
    function handleTouchmove(event) {
      if (!touching.value || props2.disabled) {
        return;
      }
      moveTouch(event);
      preventDefault(event);
      enableTransition.value = false;
      dragged.value = true;
      if (props2.direction.includes("x")) {
        x.value += moveX.value;
      }
      if (props2.direction.includes("y")) {
        y.value += moveY.value;
      }
      clampToBoundary();
    }
    function handleTouchend() {
      if (props2.disabled) {
        return;
      }
      endTouch();
      enableTransition.value = true;
      attract();
    }
    function handleClick(event) {
      if (dragging.value) {
        return;
      }
      call(props2.onClick, event);
    }
    function saveXY() {
      const { left: left2, top: top2 } = getOffset();
      x.value = left2;
      y.value = top2;
    }
    function getOffset() {
      const dragRect = getRect(drag.value);
      const windowRect = getRect(window);
      const top2 = dragRect.top - windowRect.top;
      const bottom2 = windowRect.bottom - dragRect.bottom;
      const left2 = dragRect.left - windowRect.left;
      const right2 = windowRect.right - dragRect.right;
      const { width, height } = dragRect;
      const { width: windowWidth, height: windowHeight } = windowRect;
      return {
        top: top2,
        bottom: bottom2,
        left: left2,
        right: right2,
        width,
        height,
        halfWidth: width / 2,
        halfHeight: height / 2,
        windowWidth,
        windowHeight
      };
    }
    function getRange() {
      const offset2 = getOffset();
      const x1 = boundary.left;
      const x2 = offset2.windowWidth - boundary.right - offset2.width;
      const y1 = boundary.top;
      const y2 = offset2.windowHeight - boundary.bottom - offset2.height;
      return {
        minX: x1,
        minY: y1,
        // fallback the drag element overflows boundary
        maxX: x1 < x2 ? x2 : x1,
        maxY: y1 < y2 ? y2 : y1
      };
    }
    function attract() {
      if (props2.attraction == null) {
        return;
      }
      const { halfWidth, halfHeight, top: top2, bottom: bottom2, left: left2, right: right2 } = getOffset();
      const { minX, minY, maxX, maxY } = getRange();
      const leftDistance = left2 + halfWidth - boundary.left;
      const rightDistance = right2 + halfWidth - boundary.right;
      const topDistance = top2 + halfHeight - boundary.top;
      const bottomDistance = bottom2 + halfHeight - boundary.bottom;
      const nearLeft = leftDistance <= rightDistance;
      const nearTop = topDistance <= bottomDistance;
      if (props2.attraction.includes("x")) {
        x.value = nearLeft ? minX : maxX;
      }
      if (props2.attraction.includes("y")) {
        y.value = nearTop ? minY : maxY;
      }
    }
    function clampToBoundary() {
      const { minX, minY, maxX, maxY } = getRange();
      x.value = clamp$1(x.value, minX, maxX);
      y.value = clamp$1(y.value, minY, maxY);
    }
    function toPxBoundary() {
      const { top: top2 = 0, bottom: bottom2 = 0, left: left2 = 0, right: right2 = 0 } = props2.boundary;
      boundary.top = toPxNum(top2);
      boundary.bottom = toPxNum(bottom2);
      boundary.left = toPxNum(left2);
      boundary.right = toPxNum(right2);
    }
    function getAttrs() {
      var _a;
      const style = (_a = attrs.style) != null ? _a : {};
      return __spreadProps$4(__spreadValues$c({}, attrs), {
        style: __spreadProps$4(__spreadValues$c({}, style), {
          // when the drag element is dragged for the first time, the inset should be cleared to avoid affecting translateX and translateY.
          top: dragged.value ? 0 : style.top,
          left: dragged.value ? 0 : style.left,
          right: dragged.value ? "auto" : style.right,
          bottom: dragged.value ? "auto" : style.bottom,
          transform: dragged.value ? `translate(${x.value}px, ${y.value}px)` : style.transform
        })
      });
    }
    function resize() {
      if (!dragged.value) {
        return;
      }
      saveXY();
      clampToBoundary();
    }
    function reset() {
      resetTouch();
      enableTransition.value = false;
      dragged.value = false;
      x.value = 0;
      y.value = 0;
    }
    return {
      drag,
      x,
      y,
      enableTransition,
      dragging,
      teleportDisabled,
      n: n$N,
      classes: classes$C,
      getAttrs,
      handleTouchstart,
      handleTouchmove,
      handleTouchend,
      handleClick,
      resize,
      reset
    };
  }
});
__sfc__$O.render = __render__$L;
var stdin_default$4L = __sfc__$O;
withInstall(stdin_default$4L);
withPropsDefaultsSetter(stdin_default$4L, props$J);
const _DragComponent = stdin_default$4L;
var stdin_default$4K = stdin_default$4L;
const props$I = {
  type: {
    type: String,
    default: "default"
  },
  color: String,
  textColor: String,
  content: String,
  show: Boolean,
  disabled: Boolean,
  trigger: {
    type: String,
    default: "hover"
  },
  reference: [String, Object],
  placement: {
    type: String,
    default: "bottom"
  },
  strategy: {
    type: String,
    default: "absolute"
  },
  offsetX: {
    type: [Number, String],
    default: 0
  },
  offsetY: {
    type: [Number, String],
    default: 0
  },
  teleport: {
    type: [String, Object, Boolean],
    default: "body"
  },
  sameWidth: Boolean,
  closeOnClickReference: Boolean,
  closeOnKeyEscape: {
    type: Boolean,
    default: true
  },
  onOpen: defineListenerProp(),
  onOpened: defineListenerProp(),
  onClose: defineListenerProp(),
  onClosed: defineListenerProp(),
  onClickOutside: defineListenerProp(),
  "onUpdate:show": defineListenerProp()
};
const { name: name$J, n: n$M, classes: classes$B } = createNamespace("tooltip");
function __render__$K(_ctx, _cache) {
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      ref: "host",
      class: vue.normalizeClass(_ctx.classes(_ctx.n(), _ctx.n("$--box")))
    },
    [
      vue.renderSlot(_ctx.$slots, "default"),
      (vue.openBlock(), vue.createBlock(vue.Teleport, {
        to: _ctx.teleport === false ? void 0 : _ctx.teleport,
        disabled: _ctx.teleportDisabled || _ctx.teleport === false
      }, [
        vue.createVNode(vue.Transition, {
          name: _ctx.n(),
          onAfterEnter: _ctx.onOpened,
          onAfterLeave: _ctx.handleClosed,
          persisted: ""
        }, {
          default: vue.withCtx(() => [
            vue.withDirectives(vue.createElementVNode(
              "div",
              {
                ref: "popover",
                class: vue.normalizeClass(_ctx.classes(_ctx.n("tooltip"), _ctx.n("$--box"))),
                style: vue.normalizeStyle({ zIndex: _ctx.zIndex }),
                onClick: _cache[0] || (_cache[0] = vue.withModifiers(() => {
                }, ["stop"])),
                onMouseenter: _cache[1] || (_cache[1] = (...args) => _ctx.handlePopoverMouseenter && _ctx.handlePopoverMouseenter(...args)),
                onMouseleave: _cache[2] || (_cache[2] = (...args) => _ctx.handlePopoverMouseleave && _ctx.handlePopoverMouseleave(...args))
              },
              [
                vue.createElementVNode(
                  "div",
                  {
                    style: vue.normalizeStyle({
                      background: _ctx.color,
                      color: _ctx.textColor,
                      width: _ctx.sameWidth ? _ctx.toSizeUnit(Math.ceil(_ctx.referenceSize.width)) : void 0
                    }),
                    class: vue.normalizeClass(_ctx.classes(_ctx.n("content-container"), _ctx.n(`--${_ctx.type}`))),
                    role: "tooltip"
                  },
                  [
                    vue.renderSlot(_ctx.$slots, "content", {}, () => [
                      vue.createTextVNode(
                        vue.toDisplayString(_ctx.content),
                        1
                        /* TEXT */
                      )
                    ])
                  ],
                  6
                  /* CLASS, STYLE */
                )
              ],
              38
              /* CLASS, STYLE, NEED_HYDRATION */
            ), [
              [vue.vShow, _ctx.show]
            ])
          ]),
          _: 3
          /* FORWARDED */
        }, 8, ["name", "onAfterEnter", "onAfterLeave"])
      ], 8, ["to", "disabled"]))
    ],
    2
    /* CLASS */
  );
}
const __sfc__$N = vue.defineComponent({
  name: name$J,
  props: props$I,
  setup(props2) {
    const { disabled: teleportDisabled } = useTeleport();
    const {
      popover,
      host,
      referenceSize,
      show,
      zIndex,
      handlePopoverMouseenter,
      handlePopoverMouseleave,
      handlePopoverClose,
      handleClosed,
      // expose
      open,
      // expose
      close,
      // expose
      resize,
      // expose
      setReference
    } = usePopover(props2);
    return {
      popover,
      host,
      referenceSize,
      show,
      zIndex,
      teleportDisabled,
      toSizeUnit,
      n: n$M,
      classes: classes$B,
      handlePopoverClose,
      handlePopoverMouseenter,
      handlePopoverMouseleave,
      handleClosed,
      resize,
      open,
      close,
      setReference
    };
  }
});
__sfc__$N.render = __render__$K;
var stdin_default$4J = __sfc__$N;
withInstall(stdin_default$4J);
withPropsDefaultsSetter(stdin_default$4J, props$I);
const _TooltipComponent = stdin_default$4J;
var stdin_default$4I = stdin_default$4J;
const props$H = {
  expand: Boolean,
  expandTrigger: String,
  lineClamp: [Number, String],
  tooltip: {
    type: [Object, Boolean],
    default: true
  },
  "onUpdate:expand": defineListenerProp()
};
var __defProp$b = Object.defineProperty;
var __getOwnPropSymbols$b = Object.getOwnPropertySymbols;
var __hasOwnProp$b = Object.prototype.hasOwnProperty;
var __propIsEnum$b = Object.prototype.propertyIsEnumerable;
var __defNormalProp$b = (obj, key3, value) => key3 in obj ? __defProp$b(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues$b = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$b.call(b, prop))
      __defNormalProp$b(a, prop, b[prop]);
  if (__getOwnPropSymbols$b)
    for (var prop of __getOwnPropSymbols$b(b)) {
      if (__propIsEnum$b.call(b, prop))
        __defNormalProp$b(a, prop, b[prop]);
    }
  return a;
};
const { name: name$I, n: n$L, classes: classes$A } = createNamespace("ellipsis");
const _hoisted_1$o = { key: 0 };
function __render__$J(_ctx, _cache) {
  const _component_var_tooltip = vue.resolveComponent("var-tooltip");
  return vue.openBlock(), vue.createBlock(
    _component_var_tooltip,
    vue.normalizeProps(vue.guardReactiveProps(_ctx.tooltipProps)),
    {
      content: vue.withCtx(() => [
        vue.renderSlot(_ctx.$slots, "tooltip-content", {}, () => {
          var _a;
          return [
            ((_a = _ctx.tooltipProps) == null ? void 0 : _a.content) ? (vue.openBlock(), vue.createElementBlock(
              "span",
              _hoisted_1$o,
              vue.toDisplayString(_ctx.tooltipProps.content),
              1
              /* TEXT */
            )) : vue.renderSlot(_ctx.$slots, "default", { key: 1 })
          ];
        })
      ]),
      default: vue.withCtx(() => [
        vue.createElementVNode(
          "span",
          {
            class: vue.normalizeClass(
              _ctx.classes(_ctx.n(), [_ctx.lineClamp, _ctx.n("--clamp"), _ctx.n("--line")], [_ctx.expandTrigger, _ctx.n("--cursor")], [_ctx.expanding, _ctx.n("--expand")])
            ),
            style: vue.normalizeStyle(_ctx.rootStyles),
            onClick: _cache[0] || (_cache[0] = (...args) => _ctx.handleClick && _ctx.handleClick(...args))
          },
          [
            vue.renderSlot(_ctx.$slots, "default")
          ],
          6
          /* CLASS, STYLE */
        )
      ]),
      _: 3
      /* FORWARDED */
    },
    16
    /* FULL_PROPS */
  );
}
const __sfc__$M = vue.defineComponent({
  name: name$I,
  components: { VarTooltip: stdin_default$4I },
  props: props$H,
  setup(props2) {
    const expanding = useVModel(props2, "expand");
    const rootStyles = vue.computed(() => props2.lineClamp ? { "-webkit-line-clamp": props2.lineClamp } : {});
    const tooltipProps = vue.computed(() => {
      if (props2.tooltip === false) {
        return {
          disabled: true
        };
      }
      if (props2.tooltip === true) {
        return {
          sameWidth: true
        };
      }
      return __spreadValues$b({ sameWidth: true }, props2.tooltip);
    });
    function handleClick() {
      if (!props2.expandTrigger) {
        return;
      }
      expanding.value = !expanding.value;
    }
    return {
      tooltipProps,
      expanding,
      rootStyles,
      n: n$L,
      classes: classes$A,
      handleClick
    };
  }
});
__sfc__$M.render = __render__$J;
var stdin_default$4H = __sfc__$M;
withInstall(stdin_default$4H);
withPropsDefaultsSetter(stdin_default$4H, props$H);
const _EllipsisComponent = stdin_default$4H;
var stdin_default$4G = stdin_default$4H;
const props$G = {
  active: Boolean,
  show: {
    type: Boolean,
    default: true
  },
  drag: {
    type: [Object, Boolean],
    default: false
  },
  type: {
    type: String,
    default: "primary"
  },
  position: {
    type: String,
    default: "right-bottom"
  },
  direction: {
    type: String,
    default: "top"
  },
  trigger: {
    type: String,
    default: "click"
  },
  disabled: Boolean,
  color: String,
  inactiveIcon: {
    type: String,
    default: "plus"
  },
  activeIcon: {
    type: String,
    default: "window-close"
  },
  inactiveIconSize: pickProps(props$1k, "size"),
  activeIconSize: pickProps(props$1k, "size"),
  inactiveIconNamespace: pickProps(props$1k, "namespace"),
  activeIconNamespace: pickProps(props$1k, "namespace"),
  fixed: {
    type: Boolean,
    default: true
  },
  zIndex: {
    type: [Number, String],
    default: 90
  },
  top: [Number, String],
  bottom: [Number, String],
  left: [Number, String],
  right: [Number, String],
  elevation: {
    type: [Boolean, Number, String],
    default: true
  },
  safeArea: Boolean,
  teleport: {
    type: [String, Object, Boolean],
    default: "body"
  },
  onClick: defineListenerProp(),
  onOpen: defineListenerProp(),
  onOpened: defineListenerProp(),
  onClose: defineListenerProp(),
  onClosed: defineListenerProp(),
  "onUpdate:active": defineListenerProp()
};
const {
  name: name$H,
  classes: classes$z,
  n: n$K
} = createNamespace("fab");
var stdin_default$4F = vue.defineComponent({
  name: name$H,
  inheritAttrs: false,
  props: props$G,
  setup(props2, {
    slots,
    attrs
  }) {
    const isActive = useVModel(props2, "active");
    const host = vue.ref(null);
    const dragRef = vue.ref(null);
    vue.watch(() => props2.trigger, () => {
      isActive.value = false;
    });
    vue.watch(() => props2.disabled, () => {
      isActive.value = false;
    });
    vue.watch(() => [props2.position, props2.fixed, props2.top, props2.bottom, props2.left, props2.right], () => {
      var _a;
      (_a = dragRef.value) == null ? void 0 : _a.reset();
    });
    useClickOutside(host, "click", handleClickOutside);
    function handleClick(e, value, childrenLength) {
      e.stopPropagation();
      if (props2.trigger !== "click" || props2.disabled) {
        return;
      }
      if (childrenLength === 0) {
        call(props2.onClick, isActive.value, e);
        return;
      }
      isActive.value = value;
      call(props2.onClick, isActive.value, e);
      call(isActive.value ? props2.onOpen : props2.onClose);
    }
    function handleMouse(value, childrenLength) {
      if (props2.trigger !== "hover" || props2.disabled || childrenLength === 0) {
        return;
      }
      isActive.value = value;
      call(isActive.value ? props2.onOpen : props2.onClose);
    }
    function handleClickOutside() {
      if (props2.trigger !== "click" || props2.disabled) {
        return;
      }
      if (isActive.value !== false) {
        isActive.value = false;
        call(props2.onClose);
      }
    }
    function renderTrigger() {
      if (slots.trigger) {
        return props2.show ? slots.trigger({
          active: isActive.value
        }) : null;
      }
      return vue.withDirectives(vue.createVNode(stdin_default$5y, {
        "var-fab-cover": true,
        "class": n$K("trigger"),
        "type": props2.type,
        "color": props2.color,
        "disabled": props2.disabled,
        "elevation": props2.elevation,
        "iconContainer": true
      }, {
        default: () => [vue.createVNode(stdin_default$63, {
          "var-fab-cover": true,
          "class": classes$z([isActive.value, n$K("trigger-active-icon"), n$K("trigger-inactive-icon")]),
          "name": isActive.value ? props2.activeIcon : props2.inactiveIcon,
          "size": isActive.value ? props2.activeIconSize : props2.inactiveIconSize,
          "namespace": isActive.value ? props2.activeIconNamespace : props2.inactiveIconNamespace,
          "transition": 200,
          "animationClass": n$K("--trigger-icon-animation")
        }, null)]
      }), [[vue.vShow, props2.show]]);
    }
    return () => {
      var _a;
      const children = flatFragment((_a = call(slots.default)) != null ? _a : []);
      const dragProps = isBoolean(props2.drag) ? {} : props2.drag;
      return vue.createVNode(stdin_default$4K, vue.mergeProps({
        "ref": dragRef,
        "class": classes$z(n$K(`--position-${props2.position}`), [!props2.fixed, n$K("--absolute")]),
        "style": {
          top: toSizeUnit(props2.top),
          bottom: toSizeUnit(props2.bottom),
          left: toSizeUnit(props2.left),
          right: toSizeUnit(props2.right)
        },
        "zIndex": props2.zIndex,
        "teleport": props2.teleport,
        "disabled": props2.disabled || !props2.drag || !props2.fixed,
        "direction": dragProps.direction,
        "attraction": dragProps.attraction,
        "boundary": dragProps.boundary,
        "onClick": (e) => handleClick(e, !isActive.value, children.length)
      }, attrs), {
        default: () => [vue.createVNode("div", {
          "class": classes$z(n$K(), n$K(`--direction-${props2.direction}`), [props2.safeArea, n$K("--safe-area")]),
          "ref": host,
          "onMouseleave": () => handleMouse(false, children.length),
          "onMouseenter": () => handleMouse(true, children.length)
        }, [vue.createVNode(vue.Transition, {
          "name": n$K(`--active-transition`)
        }, {
          default: () => [renderTrigger()]
        }), vue.createVNode(vue.Transition, {
          "name": n$K(`--actions-transition-${props2.direction}`),
          "onAfterEnter": props2.onOpened,
          "onAfterLeave": props2.onClosed
        }, {
          default: () => [vue.withDirectives(vue.createVNode("div", {
            "class": n$K("actions"),
            "onClick": (e) => e.stopPropagation()
          }, [children.map((child) => {
            var _a2;
            return vue.createVNode("div", {
              "class": n$K("action"),
              "key": (_a2 = child.key) != null ? _a2 : void 0
            }, [child]);
          })]), [[vue.vShow, props2.show && isActive.value && children.length]])]
        })])]
      });
    };
  }
});
withInstall(stdin_default$4F);
withPropsDefaultsSetter(stdin_default$4F, props$G);
const _FabComponent = stdin_default$4F;
var stdin_default$4E = stdin_default$4F;
const props$F = {
  anchor: Number,
  anchors: Array,
  contentDraggable: {
    type: Boolean,
    default: true
  },
  duration: {
    type: [Number, String],
    default: 300
  },
  elevation: {
    type: [Boolean, Number, String],
    default: true
  },
  teleport: {
    type: [String, Object, Boolean],
    default: "body"
  },
  safeArea: Boolean,
  "onUpdate:anchor": defineListenerProp(),
  onAnchorChange: defineListenerProp()
};
const { name: name$G, n: n$J, classes: classes$y } = createNamespace("floating-panel");
const DEFAULT_START_ANCHOR = 100;
const OVERFLOW_REDUCE_RATIO = 0.2;
function __render__$I(_ctx, _cache) {
  return vue.openBlock(), vue.createBlock(vue.Teleport, {
    to: _ctx.teleport === false ? void 0 : _ctx.teleport,
    disabled: _ctx.teleportDisabled || _ctx.teleport === false
  }, [
    vue.createElementVNode(
      "div",
      {
        class: vue.normalizeClass(_ctx.classes(_ctx.n(), [_ctx.safeArea, _ctx.n("--safe-area")], _ctx.formatElevation(_ctx.elevation, 3))),
        style: vue.normalizeStyle({
          height: `${_ctx.toSizeUnit(_ctx.maxAnchor)}`,
          transform: `translateY(calc(100% - ${_ctx.toSizeUnit(_ctx.visibleHeight)}))`,
          transition: _ctx.touching ? "none" : `transform ${_ctx.toNumber(
            _ctx.duration
          )}ms var(--floating-panel-transition-timing-function), background-color 0.25s`
        }),
        onTouchstart: _cache[0] || (_cache[0] = (...args) => _ctx.handleTouchstart && _ctx.handleTouchstart(...args)),
        onTouchmove: _cache[1] || (_cache[1] = (...args) => _ctx.handleTouchmove && _ctx.handleTouchmove(...args)),
        onTouchend: _cache[2] || (_cache[2] = (...args) => _ctx.handleTouchend && _ctx.handleTouchend(...args)),
        onTouchcancel: _cache[3] || (_cache[3] = (...args) => _ctx.handleTouchend && _ctx.handleTouchend(...args))
      },
      [
        vue.renderSlot(_ctx.$slots, "header", {}, () => [
          vue.createElementVNode(
            "div",
            {
              class: vue.normalizeClass(_ctx.n("header"))
            },
            [
              vue.createElementVNode(
                "div",
                {
                  class: vue.normalizeClass(_ctx.n("header-toolbar"))
                },
                null,
                2
                /* CLASS */
              )
            ],
            2
            /* CLASS */
          )
        ]),
        vue.createElementVNode(
          "div",
          {
            ref: "contentRef",
            class: vue.normalizeClass(_ctx.n("content"))
          },
          [
            vue.renderSlot(_ctx.$slots, "default")
          ],
          2
          /* CLASS */
        )
      ],
      38
      /* CLASS, STYLE, NEED_HYDRATION */
    )
  ], 8, ["to", "disabled"]);
}
const __sfc__$L = vue.defineComponent({
  name: name$G,
  props: props$F,
  setup(props2) {
    const visibleHeight = vue.ref(0);
    const contentRef = vue.ref(null);
    const { height: windowHeight } = useWindowSize();
    const defaultEndAnchor = vue.computed(() => windowHeight.value * 0.6);
    const anchor = useVModel(props2, "anchor", { defaultValue: DEFAULT_START_ANCHOR });
    const anchors = vue.computed(() => {
      const defaultAnchors = [DEFAULT_START_ANCHOR, defaultEndAnchor.value];
      const { anchors: anchors2 } = props2;
      return isEmpty(anchors2) ? defaultAnchors : anchors2;
    });
    const minAnchor = vue.computed(() => Math.min(...anchors.value));
    const maxAnchor = vue.computed(() => Math.max(...anchors.value));
    const { disabled: teleportDisabled } = useTeleport();
    const { deltaY, touching, startTouch, moveTouch, endTouch, isReachTop, isReachBottom } = useTouch();
    let startVisibleHeight;
    useLock(() => touching.value);
    vue.watch(() => anchor.value, matchAnchor, { immediate: true });
    vue.watch(
      () => anchors.value,
      () => {
        matchAnchor(anchor.value);
      },
      { immediate: true }
    );
    function matchAnchor(anchor2) {
      setVisibleHeight(anchor2 != null ? anchor2 : minAnchor.value);
    }
    function handleTouchstart(event) {
      startTouch(event);
      startVisibleHeight = visibleHeight.value;
    }
    function handleTouchmove(event) {
      var _a;
      moveTouch(event);
      const target = event.target;
      const eventFromContent = contentRef.value === target || ((_a = contentRef.value) == null ? void 0 : _a.contains(target));
      if (eventFromContent && !props2.contentDraggable) {
        return;
      }
      if (eventFromContent && props2.contentDraggable && visibleHeight.value >= maxAnchor.value && !isReachTop(contentRef.value)) {
        if (isReachBottom(contentRef.value)) {
          preventDefault(event);
        }
        return;
      }
      const targetVisibleHeight = startVisibleHeight - deltaY.value;
      setVisibleHeight(clampVisibleHeight(targetVisibleHeight));
      preventDefault(event);
    }
    function handleTouchend() {
      endTouch();
      const oldAnchor = anchor.value;
      setVisibleHeight(visibleHeight.value);
      anchor.value = visibleHeight.value;
      if (anchor.value !== oldAnchor) {
        call(props2.onAnchorChange, visibleHeight.value);
      }
    }
    function setVisibleHeight(targetVisibleHeight) {
      visibleHeight.value = touching.value ? targetVisibleHeight : findNearestAnchor(targetVisibleHeight);
    }
    function clampVisibleHeight(visibleHeight2) {
      if (visibleHeight2 > maxAnchor.value) {
        const overflowHeight = visibleHeight2 - maxAnchor.value;
        return maxAnchor.value + overflowHeight * OVERFLOW_REDUCE_RATIO;
      }
      if (visibleHeight2 < minAnchor.value) {
        const overflowHeight = minAnchor.value - visibleHeight2;
        return minAnchor.value - overflowHeight * OVERFLOW_REDUCE_RATIO;
      }
      return visibleHeight2;
    }
    function findNearestAnchor(targetAnchor) {
      if (anchors.value.includes(targetAnchor)) {
        return targetAnchor;
      }
      let minDifference = Infinity;
      let nearestAnchor = 0;
      anchors.value.forEach((anchor2) => {
        const difference2 = Math.abs(anchor2 - targetAnchor);
        if (difference2 < minDifference) {
          minDifference = difference2;
          nearestAnchor = anchor2;
        }
      });
      return nearestAnchor;
    }
    return {
      contentRef,
      teleportDisabled,
      touching,
      minAnchor,
      maxAnchor,
      visibleHeight,
      n: n$J,
      classes: classes$y,
      toSizeUnit,
      toNumber,
      formatElevation,
      handleTouchstart,
      handleTouchmove,
      handleTouchend
    };
  }
});
__sfc__$L.render = __render__$I;
var stdin_default$4D = __sfc__$L;
withInstall(stdin_default$4D);
withPropsDefaultsSetter(stdin_default$4D, props$F);
const _FloatingPanelComponent = stdin_default$4D;
var stdin_default$4C = stdin_default$4D;
const props$E = {
  disabled: Boolean,
  readonly: Boolean,
  scrollToError: String,
  scrollToErrorOffsetY: {
    type: [String, Number],
    default: 0
  },
  onSubmit: defineListenerProp(),
  onReset: defineListenerProp()
};
var __async$8 = (__this, __arguments, generator) => {
  return new Promise((resolve, reject) => {
    var fulfilled = (value) => {
      try {
        step(generator.next(value));
      } catch (e) {
        reject(e);
      }
    };
    var rejected = (value) => {
      try {
        step(generator.throw(value));
      } catch (e) {
        reject(e);
      }
    };
    var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
    step((generator = generator.apply(__this, __arguments)).next());
  });
};
const { name: name$F, n: n$I } = createNamespace("form");
function __render__$H(_ctx, _cache) {
  return vue.openBlock(), vue.createElementBlock(
    "form",
    {
      class: vue.normalizeClass(_ctx.n()),
      onSubmit: _cache[0] || (_cache[0] = (...args) => _ctx.handleSubmit && _ctx.handleSubmit(...args)),
      onReset: _cache[1] || (_cache[1] = (...args) => _ctx.handleReset && _ctx.handleReset(...args))
    },
    [
      vue.renderSlot(_ctx.$slots, "default")
    ],
    34
    /* CLASS, NEED_HYDRATION */
  );
}
const __sfc__$K = vue.defineComponent({
  name: name$F,
  props: props$E,
  setup(props2) {
    const disabled = vue.computed(() => props2.disabled);
    const readonly = vue.computed(() => props2.readonly);
    const { formItems, bindFormItems } = useFormItems();
    const formProvider = {
      disabled,
      readonly
    };
    bindFormItems(formProvider);
    function scroll(formItemElement) {
      setTimeout(() => {
        const scroller = getParentScroller(formItemElement);
        const scrollerTop = scroller === window ? 0 : getTop$1(scroller);
        const top2 = getTop$1(formItemElement) - scrollerTop - toPxNum(props2.scrollToErrorOffsetY);
        scrollTo(scroller, {
          top: top2,
          animation: linear
        });
      }, 300);
    }
    function handleSubmit(event) {
      return __async$8(this, null, function* () {
        preventDefault(event);
        const valid = yield validate();
        call(props2.onSubmit, valid);
      });
    }
    function handleReset(event) {
      preventDefault(event);
      reset();
      call(props2.onReset);
    }
    function validate() {
      return __async$8(this, null, function* () {
        var _a;
        const res = yield Promise.all(formItems.map(({ validate: validate2 }) => validate2()));
        if (props2.scrollToError) {
          const [, errorIndex] = find(res, (r) => r === false, props2.scrollToError);
          const hasError = errorIndex > -1;
          if (hasError) {
            const formItemElement = (_a = formItems[errorIndex].instance.proxy) == null ? void 0 : _a.$el;
            scroll(formItemElement);
          }
          return !hasError;
        }
        return res.every((result) => result === true);
      });
    }
    function reset() {
      return formItems.forEach(({ reset: reset2 }) => reset2());
    }
    function resetValidation() {
      return formItems.forEach(({ resetValidation: resetValidation2 }) => resetValidation2());
    }
    return {
      n: n$I,
      handleSubmit,
      handleReset,
      validate,
      reset,
      resetValidation
    };
  }
});
__sfc__$K.render = __render__$H;
var stdin_default$4B = __sfc__$K;
stdin_default$4B.useValidation = useValidation;
stdin_default$4B.useForm = useForm;
withInstall(stdin_default$4B);
withPropsDefaultsSetter(stdin_default$4B, props$E);
const _FormComponent = stdin_default$4B;
var stdin_default$4A = stdin_default$4B;
const props$D = {
  highlighter: Object,
  theme: String,
  tag: {
    type: String,
    default: "div"
  }
};
const { name: name$E, n: n$H } = createNamespace("highlighter-provider");
const __sfc__$J = vue.defineComponent({
  name: name$E,
  props: props$D,
  setup(props2, { slots }) {
    const highlighter = vue.computed(() => props2.highlighter);
    const theme = vue.computed(() => props2.theme);
    provideHighlighterProvider({ highlighter, theme });
    return () => vue.h(
      props2.tag,
      {
        class: n$H()
      },
      call(slots.default)
    );
  }
});
var stdin_default$4z = __sfc__$J;
withInstall(stdin_default$4z);
withPropsDefaultsSetter(stdin_default$4z, props$D);
const _HighlighterProviderComponent = stdin_default$4z;
var stdin_default$4y = stdin_default$4z;
const props$C = {
  src: String,
  fit: {
    type: String,
    default: "fill"
  },
  position: {
    type: String,
    default: "50% 50%"
  },
  alt: String,
  title: String,
  referrerpolicy: String,
  width: [String, Number],
  height: [String, Number],
  radius: {
    type: [String, Number],
    default: 0
  },
  loading: String,
  error: String,
  lazy: Boolean,
  ripple: Boolean,
  block: {
    type: Boolean,
    default: true
  },
  onClick: defineListenerProp(),
  onLoad: defineListenerProp(),
  onError: defineListenerProp()
};
const { name: name$D, n: n$G, classes: classes$x } = createNamespace("image");
const _hoisted_1$n = ["alt", "title", "referrerpolicy", "lazy-loading", "lazy-error"];
const _hoisted_2$7 = ["alt", "title", "referrerpolicy", "src"];
function __render__$G(_ctx, _cache) {
  var _a;
  const _directive_lazy = vue.resolveDirective("lazy");
  const _directive_ripple = vue.resolveDirective("ripple");
  return vue.withDirectives((vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(_ctx.classes(_ctx.n(), _ctx.n("$--box"), [!_ctx.block, _ctx.n("$--inline-block")])),
      style: vue.normalizeStyle({
        width: _ctx.toSizeUnit(_ctx.width),
        height: _ctx.toSizeUnit(_ctx.height),
        borderRadius: _ctx.toSizeUnit(_ctx.radius)
      })
    },
    [
      _ctx.lazy && !_ctx.showErrorSlot ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("img", {
        key: 0,
        role: "img",
        class: vue.normalizeClass(_ctx.n("image")),
        alt: _ctx.alt,
        title: _ctx.title,
        referrerpolicy: _ctx.referrerpolicy,
        "lazy-loading": _ctx.loading,
        "lazy-error": _ctx.error,
        style: vue.normalizeStyle({ objectFit: _ctx.fit, objectPosition: _ctx.position }),
        onLoad: _cache[0] || (_cache[0] = (...args) => _ctx.handleLoad && _ctx.handleLoad(...args)),
        onClick: _cache[1] || (_cache[1] = (...args) => _ctx.handleClick && _ctx.handleClick(...args))
      }, null, 46, _hoisted_1$n)), [
        [_directive_lazy, (_a = _ctx.src) != null ? _a : ""]
      ]) : vue.createCommentVNode("v-if", true),
      !_ctx.lazy && !_ctx.showErrorSlot ? (vue.openBlock(), vue.createElementBlock("img", {
        key: 1,
        role: "img",
        class: vue.normalizeClass(_ctx.n("image")),
        alt: _ctx.alt,
        title: _ctx.title,
        referrerpolicy: _ctx.referrerpolicy,
        style: vue.normalizeStyle({ objectFit: _ctx.fit, objectPosition: _ctx.position }),
        src: _ctx.src,
        onLoad: _cache[2] || (_cache[2] = (...args) => _ctx.handleLoad && _ctx.handleLoad(...args)),
        onError: _cache[3] || (_cache[3] = (...args) => _ctx.handleError && _ctx.handleError(...args)),
        onClick: _cache[4] || (_cache[4] = (...args) => _ctx.handleClick && _ctx.handleClick(...args))
      }, null, 46, _hoisted_2$7)) : vue.createCommentVNode("v-if", true),
      _ctx.showErrorSlot ? vue.renderSlot(_ctx.$slots, "error", { key: 2 }) : vue.createCommentVNode("v-if", true)
    ],
    6
    /* CLASS, STYLE */
  )), [
    [_directive_ripple, { disabled: !_ctx.ripple }]
  ]);
}
const __sfc__$I = vue.defineComponent({
  name: name$D,
  directives: {
    Lazy: stdin_default$5G,
    Ripple: stdin_default$68
  },
  props: props$C,
  setup(props2, { slots }) {
    const showErrorSlot = vue.ref(false);
    vue.watch(
      () => props2.src,
      () => {
        showErrorSlot.value = false;
      }
    );
    function handleError(e) {
      showErrorSlot.value = !!slots.error;
      call(props2.onError, e);
    }
    function handleLoad(e) {
      const el = e.currentTarget;
      if (props2.lazy) {
        if (el._lazy.state === "success") {
          call(props2.onLoad, e);
          return;
        }
        if (el._lazy.state === "error") {
          handleError(e);
        }
      } else {
        call(props2.onLoad, e);
      }
    }
    function handleClick(e) {
      call(props2.onClick, e);
    }
    return {
      showErrorSlot,
      n: n$G,
      classes: classes$x,
      toSizeUnit,
      handleLoad,
      handleError,
      handleClick
    };
  }
});
__sfc__$I.render = __render__$G;
var stdin_default$4x = __sfc__$I;
withInstall(stdin_default$4x);
withPropsDefaultsSetter(stdin_default$4x, props$C);
const _ImageComponent = stdin_default$4x;
var stdin_default$4w = stdin_default$4x;
const props$B = {
  loop: {
    type: Boolean,
    default: true
  },
  autoplay: [String, Number],
  duration: {
    type: [String, Number],
    default: 300
  },
  initialIndex: {
    type: [String, Number],
    default: 0
  },
  navigation: {
    type: [Boolean, String],
    default: false
  },
  indicator: {
    type: Boolean,
    default: true
  },
  indicatorColor: String,
  vertical: Boolean,
  touchable: {
    type: Boolean,
    default: true
  },
  onChange: defineListenerProp()
};
var __async$7 = (__this, __arguments, generator) => {
  return new Promise((resolve, reject) => {
    var fulfilled = (value) => {
      try {
        step(generator.next(value));
      } catch (e) {
        reject(e);
      }
    };
    var rejected = (value) => {
      try {
        step(generator.throw(value));
      } catch (e) {
        reject(e);
      }
    };
    var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
    step((generator = generator.apply(__this, __arguments)).next());
  });
};
const SWIPE_DELAY = 250;
const SWIPE_OFFSET = 20;
const { name: name$C, n: n$F, classes: classes$w } = createNamespace("swipe");
const _hoisted_1$m = ["onClick"];
function __render__$F(_ctx, _cache) {
  const _component_var_icon = vue.resolveComponent("var-icon");
  const _component_var_button = vue.resolveComponent("var-button");
  const _directive_hover = vue.resolveDirective("hover");
  return vue.withDirectives((vue.openBlock(), vue.createElementBlock(
    "div",
    {
      ref: "swipeEl",
      class: vue.normalizeClass(_ctx.n())
    },
    [
      vue.createElementVNode(
        "div",
        {
          class: vue.normalizeClass(_ctx.classes(_ctx.n("track"), [_ctx.vertical, _ctx.n("--vertical")])),
          style: vue.normalizeStyle({
            width: !_ctx.vertical ? _ctx.toSizeUnit(_ctx.trackSize) : void 0,
            height: _ctx.vertical ? _ctx.toSizeUnit(_ctx.trackSize) : void 0,
            transform: `translate${_ctx.vertical ? "Y" : "X"}(${_ctx.toSizeUnit(_ctx.trackTranslate)})`,
            transitionDuration: _ctx.lockDuration ? "0ms" : `${_ctx.toNumber(_ctx.duration)}ms`
          }),
          onTouchstart: _cache[0] || (_cache[0] = (...args) => _ctx.handleTouchstart && _ctx.handleTouchstart(...args)),
          onTouchmove: _cache[1] || (_cache[1] = (...args) => _ctx.handleTouchmove && _ctx.handleTouchmove(...args)),
          onTouchend: _cache[2] || (_cache[2] = (...args) => _ctx.handleTouchend && _ctx.handleTouchend(...args))
        },
        [
          vue.renderSlot(_ctx.$slots, "default")
        ],
        38
        /* CLASS, STYLE, NEED_HYDRATION */
      ),
      _ctx.navigation ? vue.renderSlot(_ctx.$slots, "prev", vue.normalizeProps(vue.mergeProps({ key: 0 }, {
        index: _ctx.index,
        length: _ctx.length,
        prev: _ctx.prev,
        next: _ctx.next,
        to: _ctx.to,
        hovering: _ctx.hovering
      })), () => [
        vue.createVNode(vue.Transition, {
          name: _ctx.getNavigationAnimation("prev")
        }, {
          default: vue.withCtx(() => [
            _ctx.navigation === true || _ctx.hovering ? (vue.openBlock(), vue.createElementBlock(
              "div",
              {
                key: 0,
                class: vue.normalizeClass(_ctx.classes(_ctx.n("navigation"), _ctx.n("navigation-prev"), [_ctx.vertical, _ctx.n("--navigation-vertical-prev")]))
              },
              [
                vue.createVNode(_component_var_button, {
                  "var-swipe-cover": "",
                  disabled: !_ctx.loop && _ctx.index === 0,
                  class: vue.normalizeClass(_ctx.n("navigation-prev-button")),
                  onClick: _cache[3] || (_cache[3] = ($event) => _ctx.prev())
                }, {
                  default: vue.withCtx(() => [
                    vue.createVNode(_component_var_icon, {
                      "var-swipe-cover": "",
                      class: vue.normalizeClass(_ctx.n("navigation-prev-button-icon")),
                      name: _ctx.vertical ? "chevron-up" : "chevron-left"
                    }, null, 8, ["class", "name"])
                  ]),
                  _: 1
                  /* STABLE */
                }, 8, ["disabled", "class"])
              ],
              2
              /* CLASS */
            )) : vue.createCommentVNode("v-if", true)
          ]),
          _: 1
          /* STABLE */
        }, 8, ["name"])
      ]) : vue.createCommentVNode("v-if", true),
      _ctx.navigation ? vue.renderSlot(_ctx.$slots, "next", vue.normalizeProps(vue.mergeProps({ key: 1 }, {
        index: _ctx.index,
        length: _ctx.length,
        hovering: _ctx.hovering,
        prev: _ctx.prev,
        next: _ctx.next,
        to: _ctx.to
      })), () => [
        vue.createVNode(vue.Transition, {
          name: _ctx.getNavigationAnimation("next")
        }, {
          default: vue.withCtx(() => [
            _ctx.navigation === true || _ctx.hovering ? (vue.openBlock(), vue.createElementBlock(
              "div",
              {
                key: 0,
                class: vue.normalizeClass(_ctx.classes(_ctx.n("navigation"), _ctx.n("navigation-next"), [_ctx.vertical, _ctx.n("--navigation-vertical-next")]))
              },
              [
                vue.createVNode(_component_var_button, {
                  "var-swipe-cover": "",
                  class: vue.normalizeClass(_ctx.n("navigation-next-button")),
                  disabled: !_ctx.loop && _ctx.index === _ctx.length - 1,
                  onClick: _cache[4] || (_cache[4] = ($event) => _ctx.next())
                }, {
                  default: vue.withCtx(() => [
                    vue.createVNode(_component_var_icon, {
                      "var-swipe-cover": "",
                      class: vue.normalizeClass(_ctx.n("navigation-next-button-icon")),
                      name: _ctx.vertical ? "chevron-down" : "chevron-right"
                    }, null, 8, ["class", "name"])
                  ]),
                  _: 1
                  /* STABLE */
                }, 8, ["class", "disabled"])
              ],
              2
              /* CLASS */
            )) : vue.createCommentVNode("v-if", true)
          ]),
          _: 1
          /* STABLE */
        }, 8, ["name"])
      ]) : vue.createCommentVNode("v-if", true),
      vue.renderSlot(_ctx.$slots, "indicator", vue.normalizeProps(vue.guardReactiveProps({
        index: _ctx.index,
        length: _ctx.length,
        hovering: _ctx.hovering,
        prev: _ctx.prev,
        next: _ctx.next,
        to: _ctx.to
      })), () => [
        _ctx.indicator && _ctx.length ? (vue.openBlock(), vue.createElementBlock(
          "div",
          {
            key: 0,
            class: vue.normalizeClass(_ctx.classes(_ctx.n("indicators"), [_ctx.vertical, _ctx.n("--indicators-vertical")]))
          },
          [
            (vue.openBlock(true), vue.createElementBlock(
              vue.Fragment,
              null,
              vue.renderList(_ctx.length, (l, idx) => {
                return vue.openBlock(), vue.createElementBlock("div", {
                  key: l,
                  class: vue.normalizeClass(
                    _ctx.classes(_ctx.n("indicator"), [_ctx.index === idx, _ctx.n("--indicator-active")], [_ctx.vertical, _ctx.n("--indicator-vertical")])
                  ),
                  style: vue.normalizeStyle({ background: _ctx.indicatorColor }),
                  onClick: ($event) => _ctx.to(idx)
                }, null, 14, _hoisted_1$m);
              }),
              128
              /* KEYED_FRAGMENT */
            ))
          ],
          2
          /* CLASS */
        )) : vue.createCommentVNode("v-if", true)
      ])
    ],
    2
    /* CLASS */
  )), [
    [_directive_hover, _ctx.handleHovering]
  ]);
}
const __sfc__$H = vue.defineComponent({
  name: name$C,
  directives: { Hover: stdin_default$67 },
  components: { VarButton: stdin_default$5y, VarIcon: stdin_default$63 },
  props: props$B,
  setup(props2) {
    const swipeEl = vue.ref(null);
    const size = vue.ref(0);
    const vertical = vue.computed(() => props2.vertical);
    const trackSize = vue.ref(0);
    const trackTranslate = vue.ref(0);
    const lockDuration = vue.ref(false);
    const index = vue.ref(0);
    const hovering = vue.ref(false);
    const { swipeItems, bindSwipeItems, length } = useSwipeItems();
    const { swipeResizeListeners, bindSwipeResizeListeners } = useSwipeResizeListeners();
    const { popup, bindPopup } = usePopup();
    const {
      deltaX,
      deltaY,
      moveX,
      moveY,
      offsetX,
      offsetY,
      touching,
      direction,
      startTime,
      startTouch,
      moveTouch,
      endTouch
    } = useTouch();
    const isExpectDirection = vue.computed(() => direction.value === (props2.vertical ? "vertical" : "horizontal"));
    let initializedIndex = false;
    let timer = -1;
    const swipeProvider = {
      size,
      currentIndex: index,
      vertical
    };
    bindSwipeItems(swipeProvider);
    useEventListener(() => window, "keydown", handleKeydown);
    call(bindPopup, null);
    call(bindSwipeResizeListeners, null);
    vue.watch(
      () => length.value,
      () => __async$7(this, null, function* () {
        yield doubleRaf();
        initialIndex();
        resize();
      })
    );
    if (popup) {
      vue.watch(
        () => popup.show.value,
        (show) => __async$7(this, null, function* () {
          if (show) {
            yield doubleRaf();
            resize();
          } else {
            stopAutoplay();
          }
        })
      );
    }
    vue.onActivated(resize);
    onSmartUnmounted(stopAutoplay);
    onWindowResize(resize);
    function findSwipeItem(idx) {
      return swipeItems.find(({ index: index2 }) => index2.value === idx);
    }
    function dispatchSwipeItems() {
      if (!props2.loop) {
        return;
      }
      if (trackTranslate.value >= 0) {
        findSwipeItem(length.value - 1).setTranslate(-trackSize.value);
      }
      if (trackTranslate.value <= -(trackSize.value - size.value)) {
        findSwipeItem(0).setTranslate(trackSize.value);
      }
      if (trackTranslate.value > -(trackSize.value - size.value) && trackTranslate.value < 0) {
        findSwipeItem(length.value - 1).setTranslate(0);
        findSwipeItem(0).setTranslate(0);
      }
    }
    function getSwipeIndex(targetSwipeIndex) {
      const swipeIndex = isNumber(targetSwipeIndex) ? targetSwipeIndex : Math.floor((trackTranslate.value - size.value / 2) / -size.value);
      const { loop } = props2;
      if (swipeIndex <= -1) {
        return loop ? -1 : 0;
      }
      if (swipeIndex >= length.value) {
        return loop ? length.value : length.value - 1;
      }
      return swipeIndex;
    }
    function swipeIndexToIndex(swipeIndex) {
      const { loop } = props2;
      if (swipeIndex === -1) {
        return loop ? length.value - 1 : 0;
      }
      if (swipeIndex === length.value) {
        return loop ? 0 : length.value - 1;
      }
      return swipeIndex;
    }
    function clampIndex(index2) {
      if (props2.loop) {
        if (index2 < 0) {
          return length.value + index2;
        }
        if (index2 >= length.value) {
          return index2 - length.value;
        }
        return index2;
      }
      return clamp$1(index2, 0, length.value - 1);
    }
    function fixPosition() {
      return __async$7(this, null, function* () {
        const overLeft = trackTranslate.value >= size.value;
        const overRight = trackTranslate.value <= -trackSize.value;
        const leftTranslate = 0;
        const rightTranslate = -(trackSize.value - size.value);
        lockDuration.value = true;
        if (overLeft || overRight) {
          lockDuration.value = true;
          trackTranslate.value = overRight ? leftTranslate : rightTranslate;
          findSwipeItem(0).setTranslate(0);
          findSwipeItem(length.value - 1).setTranslate(0);
        }
        yield doubleRaf();
        lockDuration.value = false;
      });
    }
    function initialIndex() {
      if (initializedIndex) {
        return;
      }
      index.value = clampIndex(toNumber(props2.initialIndex));
      initializedIndex = true;
    }
    function startAutoplay() {
      const { autoplay } = props2;
      if (!autoplay || length.value <= 1) {
        return;
      }
      stopAutoplay();
      timer = window.setTimeout(() => {
        next();
        startAutoplay();
      }, toNumber(autoplay));
    }
    function stopAutoplay() {
      timer && clearTimeout(timer);
    }
    function handleTouchstart(event) {
      return __async$7(this, null, function* () {
        if (length.value <= 1 || !props2.touchable) {
          return;
        }
        startTouch(event);
        stopAutoplay();
        yield fixPosition();
        lockDuration.value = true;
      });
    }
    function handleTouchmove(event) {
      const { touchable, vertical: vertical2 } = props2;
      if (!touching.value || !touchable) {
        return;
      }
      moveTouch(event);
      if (!isExpectDirection.value) {
        return;
      }
      preventDefault(event);
      trackTranslate.value += vertical2 ? moveY.value : moveX.value;
      dispatchSwipeItems();
    }
    function handleTouchend() {
      if (!touching.value) {
        return;
      }
      endTouch();
      if (!isExpectDirection.value) {
        return;
      }
      const { vertical: vertical2, onChange } = props2;
      const positive = vertical2 ? deltaY.value < 0 : deltaX.value < 0;
      const offset2 = vertical2 ? offsetY.value : offsetX.value;
      const quickSwiping = performance.now() - startTime.value <= SWIPE_DELAY && offset2 >= SWIPE_OFFSET;
      const swipeIndex = quickSwiping ? positive ? getSwipeIndex(index.value + 1) : getSwipeIndex(index.value - 1) : getSwipeIndex();
      lockDuration.value = false;
      trackTranslate.value = swipeIndex * -size.value;
      const prevIndex = index.value;
      index.value = swipeIndexToIndex(swipeIndex);
      startAutoplay();
      if (prevIndex !== index.value) {
        call(onChange, index.value);
      }
    }
    function handleHovering(value) {
      if (props2.navigation === "hover") {
        hovering.value = value;
      }
    }
    function getNavigationAnimation(type) {
      if (props2.navigation !== "hover") {
        return "";
      }
      return n$F(`--navigation${props2.vertical ? "-vertical" : ""}-${type}-animation`);
    }
    function handleKeydown(event) {
      if (!swipeItems.length) {
        return;
      }
      const focusingSwipeItemIndex = swipeItems.findIndex(({ isFocusing }) => isFocusing.value);
      if (focusingSwipeItemIndex === -1) {
        return;
      }
      const { key: key3 } = event;
      preventDefault(event);
      if (key3 === "ArrowLeft") {
        prev();
      }
      if (key3 === "ArrowRight") {
        next();
      }
    }
    function resize() {
      if (!swipeEl.value) {
        return;
      }
      lockDuration.value = true;
      size.value = props2.vertical ? swipeEl.value.offsetHeight : swipeEl.value.offsetWidth;
      trackSize.value = size.value * length.value;
      trackTranslate.value = index.value * -size.value;
      swipeItems.forEach((swipeItem) => {
        swipeItem.setTranslate(0);
      });
      startAutoplay();
      setTimeout(() => {
        lockDuration.value = false;
      });
      swipeResizeListeners.forEach(({ onResize }) => {
        onResize();
      });
    }
    function next(options) {
      return __async$7(this, null, function* () {
        if (length.value <= 1) {
          return;
        }
        initialIndex();
        const { loop, onChange } = props2;
        const currentIndex = index.value;
        index.value = clampIndex(currentIndex + 1);
        if ((options == null ? void 0 : options.event) !== false) {
          call(onChange, index.value);
        }
        yield fixPosition();
        if (currentIndex === length.value - 1 && loop) {
          findSwipeItem(0).setTranslate(trackSize.value);
          trackTranslate.value = length.value * -size.value;
          return;
        }
        if (currentIndex !== length.value - 1) {
          trackTranslate.value = index.value * -size.value;
        }
      });
    }
    function prev(options) {
      return __async$7(this, null, function* () {
        if (length.value <= 1) {
          return;
        }
        initialIndex();
        const { loop, onChange } = props2;
        const currentIndex = index.value;
        index.value = clampIndex(currentIndex - 1);
        if ((options == null ? void 0 : options.event) !== false) {
          call(onChange, index.value);
        }
        yield fixPosition();
        if (currentIndex === 0 && loop) {
          findSwipeItem(length.value - 1).setTranslate(-trackSize.value);
          trackTranslate.value = size.value;
          return;
        }
        if (currentIndex !== 0) {
          trackTranslate.value = index.value * -size.value;
        }
      });
    }
    function to(idx, options) {
      if (length.value <= 1 || idx === index.value) {
        return;
      }
      idx = idx < 0 ? 0 : idx;
      idx = idx >= length.value ? length.value : idx;
      const task = idx > index.value ? next : prev;
      const count = Math.abs(idx - index.value);
      Array.from({ length: count }).forEach((_, index2) => {
        task({ event: index2 === count - 1 ? options == null ? void 0 : options.event : false });
      });
    }
    return {
      length,
      index,
      swipeEl,
      trackSize,
      trackTranslate,
      lockDuration,
      hovering,
      n: n$F,
      toSizeUnit,
      classes: classes$w,
      handleTouchstart,
      handleTouchmove,
      handleTouchend,
      next,
      prev,
      to,
      resize,
      toNumber,
      handleHovering,
      getNavigationAnimation
    };
  }
});
__sfc__$H.render = __render__$F;
var stdin_default$4v = __sfc__$H;
withInstall(stdin_default$4v);
withPropsDefaultsSetter(stdin_default$4v, props$B);
const _SwipeComponent = stdin_default$4v;
var stdin_default$4u = stdin_default$4v;
function useSwipe() {
  const { bindParent, index, parentProvider } = useParent(SWIPE_BIND_SWIPE_ITEM_KEY);
  assert(!!bindParent, "SwipeItem", "<var-swipe-item/> must in <var-swipe/>");
  return {
    index,
    swipe: parentProvider,
    bindSwipe: bindParent
  };
}
const { name: name$B, n: n$E } = createNamespace("swipe-item");
const _hoisted_1$l = ["aria-hidden"];
function __render__$E(_ctx, _cache) {
  return vue.openBlock(), vue.createElementBlock("div", {
    class: vue.normalizeClass(_ctx.n()),
    style: vue.normalizeStyle({
      width: !_ctx.vertical ? _ctx.toSizeUnit(_ctx.size) : void 0,
      height: _ctx.vertical ? _ctx.toSizeUnit(_ctx.size) : void 0,
      transform: `translate${_ctx.vertical ? "Y" : "X"}(${_ctx.toSizeUnit(_ctx.translate)})`
    }),
    tabindex: "-1",
    "aria-hidden": _ctx.currentIndex !== _ctx.index,
    onFocus: _cache[0] || (_cache[0] = ($event) => _ctx.isFocusing = true),
    onBlur: _cache[1] || (_cache[1] = ($event) => _ctx.isFocusing = false)
  }, [
    vue.renderSlot(_ctx.$slots, "default")
  ], 46, _hoisted_1$l);
}
const __sfc__$G = vue.defineComponent({
  name: name$B,
  setup() {
    const translate = vue.ref(0);
    const isFocusing = vue.ref(false);
    const { swipe, bindSwipe, index } = useSwipe();
    const { size, currentIndex, vertical } = swipe;
    const swipeItemProvider = {
      index,
      isFocusing: vue.computed(() => isFocusing.value),
      setTranslate
    };
    bindSwipe(swipeItemProvider);
    function setTranslate(x) {
      translate.value = x;
    }
    return {
      isFocusing,
      size,
      index,
      currentIndex,
      vertical,
      translate,
      n: n$E,
      toSizeUnit
    };
  }
});
__sfc__$G.render = __render__$E;
var stdin_default$4t = __sfc__$G;
withInstall(stdin_default$4t);
const _SwipeItemComponent = stdin_default$4t;
var stdin_default$4s = stdin_default$4t;
var __defProp$a = Object.defineProperty;
var __getOwnPropSymbols$a = Object.getOwnPropertySymbols;
var __hasOwnProp$a = Object.prototype.hasOwnProperty;
var __propIsEnum$a = Object.prototype.propertyIsEnumerable;
var __defNormalProp$a = (obj, key3, value) => key3 in obj ? __defProp$a(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues$a = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$a.call(b, prop))
      __defNormalProp$a(a, prop, b[prop]);
  if (__getOwnPropSymbols$a)
    for (var prop of __getOwnPropSymbols$a(b)) {
      if (__propIsEnum$a.call(b, prop))
        __defNormalProp$a(a, prop, b[prop]);
    }
  return a;
};
const props$A = __spreadValues$a(__spreadValues$a({
  show: Boolean,
  imagePreventDefault: Boolean,
  images: {
    type: Array,
    default: () => []
  },
  initialIndex: {
    type: [String, Number],
    default: 0
  },
  zoom: {
    type: [String, Number],
    default: 2
  },
  closeable: Boolean,
  "onUpdate:show": defineListenerProp(),
  onLongPress: defineListenerProp()
}, pickProps(props$B, ["loop", "indicator", "onChange"])), pickProps(props$1m, [
  "lockScroll",
  "teleport",
  "closeOnKeyEscape",
  "onOpen",
  "onClose",
  "onOpened",
  "onClosed",
  "onKeyEscape",
  // internal for function call closes the dialog
  "onRouteChange"
]));
const { name: name$A, n: n$D, classes: classes$v } = createNamespace("image-preview");
const DISTANCE_OFFSET = 12;
const EVENT_DELAY = 200;
const TAP_DELAY = 350;
const ANIMATION_DURATION = 200;
const LONG_PRESS_DELAY = 500;
const BASE_RATIO = 1;
const _hoisted_1$k = ["onTouchstart"];
const _hoisted_2$6 = ["src", "alt"];
function __render__$D(_ctx, _cache) {
  const _component_var_swipe_item = vue.resolveComponent("var-swipe-item");
  const _component_var_swipe = vue.resolveComponent("var-swipe");
  const _component_var_icon = vue.resolveComponent("var-icon");
  const _component_var_popup = vue.resolveComponent("var-popup");
  return vue.openBlock(), vue.createBlock(_component_var_popup, {
    show: _ctx.show,
    "onUpdate:show": _cache[3] || (_cache[3] = ($event) => _ctx.show = $event),
    "var-image-preview-cover": "",
    class: vue.normalizeClass(_ctx.n("popup")),
    transition: _ctx.n("$-fade"),
    overlay: false,
    "close-on-click-overlay": false,
    "close-on-key-escape": _ctx.closeOnKeyEscape,
    "lock-scroll": _ctx.lockScroll,
    teleport: _ctx.teleport,
    onOpen: _ctx.onOpen,
    onClose: _ctx.onClose,
    onClosed: _ctx.onClosed,
    onOpened: _ctx.onOpened,
    onKeyEscape: _ctx.onKeyEscape,
    onRouteChange: _ctx.onRouteChange
  }, {
    default: vue.withCtx(() => [
      vue.createVNode(_component_var_swipe, vue.mergeProps({
        ref: "swipeRef",
        class: _ctx.n("swipe"),
        "var-image-preview-cover": "",
        touchable: _ctx.canSwipe,
        indicator: _ctx.indicator && _ctx.images.length > 1,
        "initial-index": _ctx.toNumber(_ctx.initialIndex),
        loop: _ctx.loop
      }, _ctx.$attrs, { onChange: _ctx.onChange }), {
        default: vue.withCtx(() => [
          (vue.openBlock(true), vue.createElementBlock(
            vue.Fragment,
            null,
            vue.renderList(_ctx.images, (image, idx) => {
              return vue.openBlock(), vue.createBlock(_component_var_swipe_item, {
                key: image,
                class: vue.normalizeClass(_ctx.n("swipe-item")),
                "var-image-preview-cover": ""
              }, {
                default: vue.withCtx(() => [
                  vue.createElementVNode("div", {
                    class: vue.normalizeClass(_ctx.n("zoom-container")),
                    style: vue.normalizeStyle({
                      transform: `scale(${_ctx.scale}) translate(${_ctx.translateX}px, ${_ctx.translateY}px)`,
                      transitionTimingFunction: _ctx.transitionTimingFunction,
                      transitionDuration: _ctx.transitionDuration
                    }),
                    onTouchstart: ($event) => _ctx.handleTouchstart($event, idx),
                    onTouchmove: _cache[0] || (_cache[0] = (...args) => _ctx.handleTouchmove && _ctx.handleTouchmove(...args)),
                    onTouchend: _cache[1] || (_cache[1] = (...args) => _ctx.handleTouchend && _ctx.handleTouchend(...args)),
                    onTouchcancel: _cache[2] || (_cache[2] = (...args) => _ctx.handleTouchcancel && _ctx.handleTouchcancel(...args))
                  }, [
                    vue.createElementVNode("img", {
                      role: "img",
                      class: vue.normalizeClass(_ctx.classes(_ctx.n("image"), [_ctx.isPreventDefault, _ctx.n("--prevent")])),
                      src: image,
                      alt: image
                    }, null, 10, _hoisted_2$6)
                  ], 46, _hoisted_1$k)
                ]),
                _: 2
                /* DYNAMIC */
              }, 1032, ["class"]);
            }),
            128
            /* KEYED_FRAGMENT */
          ))
        ]),
        indicator: vue.withCtx(({ index, length }) => [
          vue.renderSlot(_ctx.$slots, "indicator", {
            index,
            length
          }, () => [
            _ctx.indicator && _ctx.images.length > 1 ? (vue.openBlock(), vue.createElementBlock(
              "div",
              {
                key: 0,
                class: vue.normalizeClass(_ctx.n("indicators"))
              },
              vue.toDisplayString(index + 1) + " / " + vue.toDisplayString(length),
              3
              /* TEXT, CLASS */
            )) : vue.createCommentVNode("v-if", true)
          ])
        ]),
        _: 3
        /* FORWARDED */
      }, 16, ["class", "touchable", "indicator", "initial-index", "loop", "onChange"]),
      vue.renderSlot(_ctx.$slots, "close-icon", {}, () => [
        _ctx.closeable ? (vue.openBlock(), vue.createBlock(_component_var_icon, {
          key: 0,
          class: vue.normalizeClass(_ctx.n("close-icon")),
          name: "close-circle",
          "var-image-preview-cover": "",
          onClick: _ctx.close
        }, null, 8, ["class", "onClick"])) : vue.createCommentVNode("v-if", true)
      ]),
      _ctx.$slots.extra ? (vue.openBlock(), vue.createElementBlock(
        "div",
        {
          key: 0,
          class: vue.normalizeClass(_ctx.n("extra"))
        },
        [
          vue.renderSlot(_ctx.$slots, "extra")
        ],
        2
        /* CLASS */
      )) : vue.createCommentVNode("v-if", true)
    ]),
    _: 3
    /* FORWARDED */
  }, 8, ["show", "class", "transition", "close-on-key-escape", "lock-scroll", "teleport", "onOpen", "onClose", "onClosed", "onOpened", "onKeyEscape", "onRouteChange"]);
}
const __sfc__$F = vue.defineComponent({
  name: name$A,
  components: {
    VarSwipe: stdin_default$4u,
    VarSwipeItem: stdin_default$4s,
    VarPopup: stdin_default$69,
    VarIcon: stdin_default$63
  },
  inheritAttrs: false,
  props: props$A,
  setup(props2) {
    const show = useVModel(props2, "show");
    const scale = vue.ref(1);
    const translateX = vue.ref(0);
    const translateY = vue.ref(0);
    const transitionTimingFunction = vue.ref();
    const transitionDuration = vue.ref();
    const canSwipe = vue.ref(true);
    const swipeRef = vue.ref(null);
    const { moveX, moveY, distance, startTime, startTouch, moveTouch, endTouch } = useTouch();
    const isPreventDefault = vue.computed(() => {
      const { imagePreventDefault, show: show2 } = props2;
      return show2 && imagePreventDefault;
    });
    let closeRunner = null;
    let longPressRunner = null;
    let isLongPress = false;
    const targets = {
      start: null,
      prev: null
    };
    useEventListener(() => document, "contextmenu", preventImageDefault);
    function zoomIn(ratio) {
      scale.value = toNumber(ratio);
      canSwipe.value = false;
      targets.prev = null;
      window.setTimeout(() => {
        transitionTimingFunction.value = "linear";
        transitionDuration.value = "0s";
      }, ANIMATION_DURATION);
    }
    function zoomOut() {
      scale.value = 1;
      translateX.value = 0;
      translateY.value = 0;
      canSwipe.value = true;
      targets.prev = null;
      transitionTimingFunction.value = void 0;
      transitionDuration.value = void 0;
    }
    function isDoubleTouch(target) {
      if (!targets.prev) {
        return false;
      }
      return distance.value <= DISTANCE_OFFSET && performance.now() - startTime.value <= EVENT_DELAY && targets.prev === target;
    }
    function isTapTouch(target) {
      if (!target || !targets.start || !targets.prev) {
        return false;
      }
      return distance.value <= DISTANCE_OFFSET && performance.now() - startTime.value < TAP_DELAY && (target === targets.start || target.parentNode === targets.start);
    }
    function handleTouchcancel() {
      endTouch();
      window.clearTimeout(longPressRunner);
      isLongPress = false;
      targets.start = null;
    }
    function handleTouchend(event) {
      endTouch();
      window.clearTimeout(longPressRunner);
      if (isLongPress) {
        isLongPress = false;
        return;
      }
      const isTap = isTapTouch(event.target);
      closeRunner = window.setTimeout(() => {
        isTap && close();
        targets.start = null;
      }, EVENT_DELAY);
    }
    function handleTouchstart(event, idx) {
      window.clearTimeout(closeRunner);
      window.clearTimeout(longPressRunner);
      const target = event.currentTarget;
      targets.start = target;
      longPressRunner = window.setTimeout(() => {
        isLongPress = true;
        call(props2.onLongPress, idx);
      }, LONG_PRESS_DELAY);
      if (isDoubleTouch(target)) {
        scale.value > BASE_RATIO ? zoomOut() : zoomIn(props2.zoom);
        return;
      }
      startTouch(event);
      targets.prev = target;
    }
    function getZoom(target) {
      const { offsetWidth, offsetHeight } = target;
      const { naturalWidth, naturalHeight } = target.querySelector(`.${n$D("image")}`);
      return {
        width: offsetWidth,
        height: offsetHeight,
        imageRadio: naturalHeight / naturalWidth,
        rootRadio: offsetHeight / offsetWidth,
        zoom: toNumber(props2.zoom)
      };
    }
    function getLimitX(target) {
      const { zoom: zoom2, imageRadio, rootRadio, width, height } = getZoom(target);
      if (!imageRadio) {
        return 0;
      }
      const displayWidth = imageRadio > rootRadio ? height / imageRadio : width;
      return Math.max(0, (zoom2 * displayWidth - width) / 2) / zoom2;
    }
    function getLimitY(target) {
      const { zoom: zoom2, imageRadio, rootRadio, width, height } = getZoom(target);
      if (!imageRadio) {
        return 0;
      }
      const displayHeight = imageRadio > rootRadio ? height : width * imageRadio;
      return Math.max(0, (zoom2 * displayHeight - height) / 2) / zoom2;
    }
    function handleTouchmove(event) {
      if (!targets.prev) {
        return;
      }
      moveTouch(event);
      const target = event.currentTarget;
      if (distance.value > DISTANCE_OFFSET) {
        window.clearTimeout(longPressRunner);
      }
      if (scale.value > BASE_RATIO) {
        const limitX = getLimitX(target);
        const limitY = getLimitY(target);
        translateX.value = clamp$1(translateX.value + moveX.value, -limitX, limitX);
        translateY.value = clamp$1(translateY.value + moveY.value, -limitY, limitY);
      }
      targets.prev = target;
    }
    function close() {
      if (scale.value > BASE_RATIO) {
        zoomOut();
        setTimeout(() => call(props2["onUpdate:show"], false), ANIMATION_DURATION);
        return;
      }
      call(props2["onUpdate:show"], false);
    }
    function preventImageDefault(event) {
      if (isPreventDefault.value) {
        preventDefault(event);
      }
    }
    function prev(options) {
      var _a;
      (_a = swipeRef.value) == null ? void 0 : _a.prev(options);
    }
    function next(options) {
      var _a;
      (_a = swipeRef.value) == null ? void 0 : _a.next(options);
    }
    function to(idx, options) {
      var _a;
      (_a = swipeRef.value) == null ? void 0 : _a.to(idx, options);
    }
    function zoom(ratio) {
      ratio <= BASE_RATIO ? zoomOut() : zoomIn(ratio);
    }
    return {
      swipeRef,
      isPreventDefault,
      show,
      scale,
      translateX,
      translateY,
      canSwipe,
      transitionTimingFunction,
      transitionDuration,
      n: n$D,
      classes: classes$v,
      toNumber,
      handleTouchstart,
      handleTouchmove,
      handleTouchend,
      handleTouchcancel,
      close,
      prev,
      next,
      to,
      zoom
    };
  }
});
__sfc__$F.render = __render__$D;
var stdin_default$4r = __sfc__$F;
var __defProp$9 = Object.defineProperty;
var __defProps$3 = Object.defineProperties;
var __getOwnPropDescs$3 = Object.getOwnPropertyDescriptors;
var __getOwnPropSymbols$9 = Object.getOwnPropertySymbols;
var __hasOwnProp$9 = Object.prototype.hasOwnProperty;
var __propIsEnum$9 = Object.prototype.propertyIsEnumerable;
var __defNormalProp$9 = (obj, key3, value) => key3 in obj ? __defProp$9(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues$9 = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$9.call(b, prop))
      __defNormalProp$9(a, prop, b[prop]);
  if (__getOwnPropSymbols$9)
    for (var prop of __getOwnPropSymbols$9(b)) {
      if (__propIsEnum$9.call(b, prop))
        __defNormalProp$9(a, prop, b[prop]);
    }
  return a;
};
var __spreadProps$3 = (a, b) => __defProps$3(a, __getOwnPropDescs$3(b));
let singletonOptions$1;
let defaultOptions$1 = {};
function normalizeOptions$1(options = {}) {
  if (isString(options)) {
    return __spreadProps$3(__spreadValues$9({}, defaultOptions$1), { images: [options] });
  }
  if (isArray(options)) {
    return __spreadProps$3(__spreadValues$9({}, defaultOptions$1), { images: options });
  }
  return __spreadValues$9(__spreadValues$9({}, defaultOptions$1), options);
}
function ImagePreview(options) {
  if (!inBrowser()) {
    return;
  }
  ImagePreview.close();
  const imagePreviewOptions = normalizeOptions$1(options);
  const reactiveImagePreviewOptions = vue.reactive(imagePreviewOptions);
  reactiveImagePreviewOptions.teleport = "body";
  singletonOptions$1 = reactiveImagePreviewOptions;
  const { unmountInstance } = mountInstance(stdin_default$4r, reactiveImagePreviewOptions, {
    onClose: () => call(reactiveImagePreviewOptions.onClose),
    onClosed: () => {
      call(reactiveImagePreviewOptions.onClosed);
      unmountInstance();
      singletonOptions$1 === reactiveImagePreviewOptions && (singletonOptions$1 = null);
    },
    onRouteChange: () => {
      unmountInstance();
      singletonOptions$1 === reactiveImagePreviewOptions && (singletonOptions$1 = null);
    },
    "onUpdate:show": (value) => {
      reactiveImagePreviewOptions.show = value;
    }
  });
  reactiveImagePreviewOptions.show = true;
}
ImagePreview.close = () => {
  if (singletonOptions$1 != null) {
    const prevSingletonOptions = singletonOptions$1;
    singletonOptions$1 = null;
    vue.nextTick().then(() => {
      prevSingletonOptions.show = false;
    });
  }
};
ImagePreview.setDefaultOptions = (options) => {
  defaultOptions$1 = options;
};
ImagePreview.resetDefaultOptions = () => {
  defaultOptions$1 = {};
};
ImagePreview.Component = stdin_default$4r;
withInstall(stdin_default$4r);
withInstall(stdin_default$4r, ImagePreview);
withPropsDefaultsSetter(ImagePreview, props$A);
const _ImagePreviewComponent = stdin_default$4r;
var stdin_default$4q = ImagePreview;
const props$z = {
  index: [Number, String]
};
const INDEX_BAR_BIND_INDEX_ANCHOR_KEY = Symbol("INDEX_BAR_BIND_INDEX_ANCHOR_KEY");
function useIndexAnchors() {
  const { bindChildren, length, childProviders } = useChildren(
    INDEX_BAR_BIND_INDEX_ANCHOR_KEY
  );
  return {
    length,
    indexAnchors: childProviders,
    bindIndexAnchors: bindChildren
  };
}
function useIndexBar() {
  const { parentProvider, index, bindParent } = useParent(
    INDEX_BAR_BIND_INDEX_ANCHOR_KEY
  );
  assert(!!bindParent, "IndexAnchor", 'You should use this component in "IndexBar"');
  return {
    index,
    indexBar: parentProvider,
    bindIndexBar: bindParent
  };
}
const { name: name$z, n: n$C, classes: classes$u } = createNamespace("index-anchor");
function __render__$C(_ctx, _cache) {
  return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.sticky ? _ctx.n("$-sticky") : _ctx.Transition), {
    ref: "anchorEl",
    "offset-top": _ctx.sticky ? _ctx.stickyOffsetTop : null,
    "z-index": _ctx.sticky ? _ctx.zIndex : null,
    disabled: _ctx.disabled && !_ctx.cssMode,
    "css-mode": _ctx.cssMode
  }, {
    default: vue.withCtx(() => [
      vue.createElementVNode(
        "div",
        vue.mergeProps({
          class: _ctx.n()
        }, _ctx.$attrs),
        [
          vue.renderSlot(_ctx.$slots, "default", {}, () => [
            vue.createTextVNode(
              vue.toDisplayString(_ctx.name),
              1
              /* TEXT */
            )
          ])
        ],
        16
        /* FULL_PROPS */
      )
    ]),
    _: 3
    /* FORWARDED */
  }, 8, ["offset-top", "z-index", "disabled", "css-mode"]);
}
const __sfc__$E = vue.defineComponent({
  name: name$z,
  components: { VarSticky: stdin_default$4T },
  inheritAttrs: false,
  props: props$z,
  setup(props2) {
    const disabled = vue.ref(false);
    const name2 = vue.computed(() => props2.index);
    const anchorEl = vue.ref(null);
    const { index, indexBar, bindIndexBar } = useIndexBar();
    const { active, sticky, cssMode, stickyOffsetTop, zIndex } = indexBar;
    const indexAnchorProvider = {
      index,
      name: name2,
      setDisabled,
      getOffsetTop
    };
    bindIndexBar(indexAnchorProvider);
    function getOffsetTop() {
      if (!anchorEl.value) {
        return 0;
      }
      return anchorEl.value.$el ? anchorEl.value.$el.offsetTop : anchorEl.value.offsetTop;
    }
    function setDisabled(value) {
      disabled.value = value;
    }
    return {
      n: n$C,
      classes: classes$u,
      name: name2,
      anchorEl,
      active,
      sticky,
      zIndex,
      disabled,
      cssMode,
      stickyOffsetTop,
      Transition: vue.Transition
    };
  }
});
__sfc__$E.render = __render__$C;
var stdin_default$4p = __sfc__$E;
withInstall(stdin_default$4p);
withPropsDefaultsSetter(stdin_default$4p, props$z);
const _IndexAnchorComponent = stdin_default$4p;
var stdin_default$4o = stdin_default$4p;
const props$y = {
  sticky: {
    type: Boolean,
    default: true
  },
  stickyOffsetTop: {
    type: [String, Number],
    default: 0
  },
  stickyCssMode: Boolean,
  hideList: Boolean,
  zIndex: {
    type: [Number, String],
    default: 1
  },
  highlightColor: String,
  duration: {
    type: [Number, String],
    default: 0
  },
  onClick: defineListenerProp(),
  onChange: defineListenerProp()
};
var __async$6 = (__this, __arguments, generator) => {
  return new Promise((resolve, reject) => {
    var fulfilled = (value) => {
      try {
        step(generator.next(value));
      } catch (e) {
        reject(e);
      }
    };
    var rejected = (value) => {
      try {
        step(generator.throw(value));
      } catch (e) {
        reject(e);
      }
    };
    var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
    step((generator = generator.apply(__this, __arguments)).next());
  });
};
const { name: name$y, n: n$B, classes: classes$t } = createNamespace("index-bar");
const _hoisted_1$j = ["onClick"];
function __render__$B(_ctx, _cache) {
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      ref: "barEl",
      class: vue.normalizeClass(_ctx.n())
    },
    [
      vue.renderSlot(_ctx.$slots, "default"),
      vue.createElementVNode(
        "ul",
        {
          class: vue.normalizeClass(_ctx.n("anchor-list")),
          style: vue.normalizeStyle({ zIndex: _ctx.toNumber(_ctx.zIndex) + 2, display: _ctx.hideList ? "none" : "block" })
        },
        [
          (vue.openBlock(true), vue.createElementBlock(
            vue.Fragment,
            null,
            vue.renderList(_ctx.anchorNameList, (anchorName) => {
              return vue.openBlock(), vue.createElementBlock("li", {
                key: anchorName,
                class: vue.normalizeClass(_ctx.classes(_ctx.n("anchor-item"), [_ctx.active === anchorName, _ctx.n("anchor-item--active")])),
                style: vue.normalizeStyle({ color: _ctx.active === anchorName && _ctx.highlightColor ? _ctx.highlightColor : void 0 }),
                onClick: ($event) => _ctx.anchorClick({ anchorName, manualCall: true })
              }, [
                vue.renderSlot(_ctx.$slots, "anchor-name", { anchorName }, () => [
                  vue.createTextVNode(
                    vue.toDisplayString(anchorName),
                    1
                    /* TEXT */
                  )
                ])
              ], 14, _hoisted_1$j);
            }),
            128
            /* KEYED_FRAGMENT */
          ))
        ],
        6
        /* CLASS, STYLE */
      )
    ],
    2
    /* CLASS */
  );
}
const __sfc__$D = vue.defineComponent({
  name: name$y,
  props: props$y,
  setup(props2) {
    const clickedName = vue.ref("");
    const barEl = vue.ref(null);
    const anchorNameList = vue.ref([]);
    const active = vue.ref();
    const sticky = vue.computed(() => props2.sticky);
    const cssMode = vue.computed(() => props2.stickyCssMode);
    const stickyOffsetTop = vue.computed(() => toPxNum(props2.stickyOffsetTop));
    const zIndex = vue.computed(() => props2.zIndex);
    const { length, indexAnchors, bindIndexAnchors } = useIndexAnchors();
    let scroller = null;
    let isDeactivated = false;
    const indexBarProvider = {
      active,
      sticky,
      cssMode,
      stickyOffsetTop,
      zIndex
    };
    vue.watch(
      () => length.value,
      () => __async$6(this, null, function* () {
        yield doubleRaf();
        anchorNameList.value = indexAnchors.filter(({ name: name2 }) => name2.value != null).map(({ name: name2 }) => name2.value);
      })
    );
    onSmartMounted(setupScroller);
    vue.onBeforeUnmount(removeScrollerListener);
    vue.onDeactivated(() => {
      isDeactivated = true;
      removeScrollerListener();
    });
    vue.onActivated(() => {
      if (!isDeactivated || active.value === void 0) {
        return;
      }
      anchorClick({
        anchorName: active.value,
        options: { event: false }
      });
      isDeactivated = false;
    });
    bindIndexAnchors(indexBarProvider);
    function emitEvent(anchor, options) {
      const anchorName = isPlainObject(anchor) ? anchor.name.value : anchor;
      if (anchorName === active.value || anchorName === void 0) {
        return;
      }
      active.value = anchorName;
      if ((options == null ? void 0 : options.event) !== false) {
        call(props2.onChange, anchorName);
      }
    }
    function getOffsetTop() {
      const { top: parentTop } = getRect(scroller);
      const { top: targetTop } = getRect(barEl.value);
      const scrollTop = getScrollTop(scroller);
      return scrollTop - parentTop + targetTop;
    }
    function handleScroll() {
      const scrollTop = getScrollTop(scroller);
      const scrollHeight = scroller === window ? document.body.scrollHeight : scroller.scrollHeight;
      const offsetTop = getOffsetTop();
      indexAnchors.forEach((anchor, index) => {
        const anchorTop = anchor.getOffsetTop();
        const top2 = scrollTop - anchorTop + stickyOffsetTop.value - offsetTop;
        const distance = index === indexAnchors.length - 1 ? scrollHeight : indexAnchors[index + 1].getOffsetTop() - anchor.getOffsetTop();
        anchor.setDisabled(true);
        if (top2 >= 0 && top2 < distance && clickedName.value === "") {
          anchor.setDisabled(false);
          emitEvent(anchor);
        }
      });
    }
    function anchorClick(_0) {
      return __async$6(this, arguments, function* ({ anchorName, manualCall = false, options }) {
        if (manualCall) {
          call(props2.onClick, anchorName);
        }
        if (anchorName === active.value && !isDeactivated) {
          return;
        }
        const indexAnchor = indexAnchors.find(({ name: name2 }) => anchorName === name2.value);
        if (!indexAnchor) {
          return;
        }
        const offsetTop = getOffsetTop();
        const indexAnchorTop = indexAnchor.getOffsetTop();
        const top2 = indexAnchorTop - stickyOffsetTop.value + offsetTop;
        const left2 = getScrollLeft(scroller);
        clickedName.value = anchorName;
        emitEvent(anchorName, options);
        yield scrollTo(scroller, {
          left: left2,
          top: top2,
          animation: easeInOutCubic,
          duration: toNumber(props2.duration)
        });
        yield doubleRaf();
        clickedName.value = "";
      });
    }
    function setupScroller() {
      scroller = getParentScroller(barEl.value);
      scroller.addEventListener("scroll", handleScroll);
    }
    function removeScrollerListener() {
      if (!scroller) {
        return;
      }
      scroller.removeEventListener("scroll", handleScroll);
    }
    function scrollTo$1(index, options) {
      requestAnimationFrame$1(() => anchorClick({ anchorName: index, options }));
    }
    return {
      barEl,
      active,
      zIndex,
      anchorNameList,
      n: n$B,
      classes: classes$t,
      toNumber,
      scrollTo: scrollTo$1,
      anchorClick
    };
  }
});
__sfc__$D.render = __render__$B;
var stdin_default$4n = __sfc__$D;
withInstall(stdin_default$4n);
withPropsDefaultsSetter(stdin_default$4n, props$y);
const _IndexBarComponent = stdin_default$4n;
var stdin_default$4m = stdin_default$4n;
const props$x = {
  type: {
    type: String,
    default: "default"
  },
  href: String,
  target: String,
  rel: String,
  to: [String, Object],
  replace: Boolean,
  underline: {
    type: String,
    default: "always"
  },
  disabled: Boolean,
  textSize: [String, Number],
  textColor: String,
  onClick: defineListenerProp()
};
const { name: name$x, n: n$A, classes: classes$s } = createNamespace("link");
function __render__$A(_ctx, _cache) {
  return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.tag), vue.mergeProps(_ctx.linkProps, {
    class: _ctx.classes(
      _ctx.n(),
      _ctx.n("$--box"),
      _ctx.n("$--inline-flex"),
      _ctx.n(`--${_ctx.type}`),
      [_ctx.underline !== "none", _ctx.n(`--underline-${_ctx.underline}`)],
      [_ctx.disabled, _ctx.n("--disabled")],
      [_ctx.isFocusing && !_ctx.inMobile(), _ctx.n("--focusing")]
    ),
    style: {
      color: _ctx.textColor,
      fontSize: _ctx.toSizeUnit(_ctx.textSize)
    },
    onClick: _ctx.handleClick,
    onFocus: _cache[0] || (_cache[0] = ($event) => _ctx.isFocusing = true),
    onBlur: _cache[1] || (_cache[1] = ($event) => _ctx.isFocusing = false)
  }), {
    default: vue.withCtx(() => [
      vue.renderSlot(_ctx.$slots, "default")
    ]),
    _: 3
    /* FORWARDED */
  }, 16, ["class", "style", "onClick"]);
}
const __sfc__$C = vue.defineComponent({
  name: name$x,
  props: props$x,
  setup(props2) {
    const isFocusing = vue.ref(false);
    const tag2 = vue.computed(() => {
      const { disabled, href, to } = props2;
      if (disabled) {
        return "span";
      }
      if (href) {
        return "a";
      }
      if (to) {
        return "router-link";
      }
      return "a";
    });
    const linkProps = vue.computed(() => {
      const { disabled, href, target, to, replace, rel } = props2;
      if (disabled) {
        return {};
      }
      if (href) {
        return { href, target, rel };
      }
      if (to) {
        return { to, target, replace };
      }
      return {};
    });
    function handleClick(e) {
      if (props2.disabled) {
        return;
      }
      call(props2.onClick, e);
    }
    return {
      tag: tag2,
      linkProps,
      isFocusing,
      inMobile,
      n: n$A,
      classes: classes$s,
      handleClick,
      toSizeUnit
    };
  }
});
__sfc__$C.render = __render__$A;
var stdin_default$4l = __sfc__$C;
withInstall(stdin_default$4l);
withPropsDefaultsSetter(stdin_default$4l, props$x);
const _LinkComponent = stdin_default$4l;
var stdin_default$4k = stdin_default$4l;
const props$w = {
  loading: Boolean,
  immediateCheck: {
    type: Boolean,
    default: true
  },
  finished: Boolean,
  error: Boolean,
  offset: {
    type: [String, Number],
    default: 0
  },
  loadingText: String,
  finishedText: String,
  errorText: String,
  onLoad: defineListenerProp(),
  "onUpdate:loading": defineListenerProp(),
  "onUpdate:error": defineListenerProp()
};
const TABS_ITEMS_BIND_TAB_ITEM_KEY = Symbol("TABS_ITEMS_BIND_TAB_ITEM_KEY");
function useTabItem$1() {
  const { bindChildren, childProviders, length } = useChildren(
    TABS_ITEMS_BIND_TAB_ITEM_KEY
  );
  return {
    length,
    tabItemList: childProviders,
    bindTabItem: bindChildren
  };
}
const TAB_ITEM_BIND_LIST_KEY = Symbol("TAB_ITEM_BIND_LIST_KEY");
function useTabsItems() {
  const { parentProvider, bindParent, index } = useParent(
    TABS_ITEMS_BIND_TAB_ITEM_KEY
  );
  assert(!!bindParent, "TabItem", "<var-tab-item/> must in <var-tabs-items/>");
  return {
    index,
    tabsItems: parentProvider,
    bindTabsItems: bindParent
  };
}
function useLists() {
  const { childProviders, bindChildren, length } = useChildren(TAB_ITEM_BIND_LIST_KEY);
  return {
    length,
    lists: childProviders,
    bindLists: bindChildren
  };
}
function useTabItem() {
  const { parentProvider, bindParent, index } = useParent(TAB_ITEM_BIND_LIST_KEY);
  return {
    index,
    tabItem: parentProvider,
    bindTabItem: bindParent
  };
}
var __async$5 = (__this, __arguments, generator) => {
  return new Promise((resolve, reject) => {
    var fulfilled = (value) => {
      try {
        step(generator.next(value));
      } catch (e) {
        reject(e);
      }
    };
    var rejected = (value) => {
      try {
        step(generator.throw(value));
      } catch (e) {
        reject(e);
      }
    };
    var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
    step((generator = generator.apply(__this, __arguments)).next());
  });
};
const { name: name$w, n: n$z, classes: classes$r } = createNamespace("list");
function __render__$z(_ctx, _cache) {
  const _component_var_loading = vue.resolveComponent("var-loading");
  const _directive_ripple = vue.resolveDirective("ripple");
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      ref: "listEl",
      class: vue.normalizeClass(_ctx.classes(_ctx.n(), _ctx.n("$--box")))
    },
    [
      vue.renderSlot(_ctx.$slots, "default"),
      _ctx.loading ? vue.renderSlot(_ctx.$slots, "loading", { key: 0 }, () => {
        var _a;
        return [
          vue.createElementVNode(
            "div",
            {
              class: vue.normalizeClass(_ctx.n("loading"))
            },
            [
              vue.createElementVNode(
                "div",
                {
                  class: vue.normalizeClass(_ctx.n("loading-text"))
                },
                vue.toDisplayString((_a = _ctx.loadingText) != null ? _a : (_ctx.pt ? _ctx.pt : _ctx.t)("listLoadingText")),
                3
                /* TEXT, CLASS */
              ),
              vue.createVNode(_component_var_loading, {
                size: "mini",
                radius: 10
              })
            ],
            2
            /* CLASS */
          )
        ];
      }) : vue.createCommentVNode("v-if", true),
      _ctx.finished ? vue.renderSlot(_ctx.$slots, "finished", { key: 1 }, () => {
        var _a;
        return [
          vue.createElementVNode(
            "div",
            {
              class: vue.normalizeClass(_ctx.n("finished"))
            },
            vue.toDisplayString((_a = _ctx.finishedText) != null ? _a : (_ctx.pt ? _ctx.pt : _ctx.t)("listFinishedText")),
            3
            /* TEXT, CLASS */
          )
        ];
      }) : vue.createCommentVNode("v-if", true),
      _ctx.error ? vue.renderSlot(_ctx.$slots, "error", { key: 2 }, () => {
        var _a;
        return [
          vue.withDirectives((vue.openBlock(), vue.createElementBlock(
            "div",
            {
              class: vue.normalizeClass(_ctx.n("error")),
              onClick: _cache[0] || (_cache[0] = (...args) => _ctx.load && _ctx.load(...args))
            },
            [
              vue.createTextVNode(
                vue.toDisplayString((_a = _ctx.errorText) != null ? _a : (_ctx.pt ? _ctx.pt : _ctx.t)("listErrorText")),
                1
                /* TEXT */
              )
            ],
            2
            /* CLASS */
          )), [
            [_directive_ripple]
          ])
        ];
      }) : vue.createCommentVNode("v-if", true),
      vue.createElementVNode(
        "div",
        {
          ref: "detectorEl",
          class: vue.normalizeClass(_ctx.n("detector"))
        },
        null,
        2
        /* CLASS */
      )
    ],
    2
    /* CLASS */
  );
}
const __sfc__$B = vue.defineComponent({
  name: name$w,
  directives: { Ripple: stdin_default$68 },
  components: { VarLoading: stdin_default$5A },
  props: props$w,
  setup(props2) {
    const listEl = vue.ref(null);
    const detectorEl = vue.ref(null);
    const { tabItem, bindTabItem } = useTabItem();
    const { t: pt } = injectLocaleProvider();
    let scroller;
    call(bindTabItem, {});
    if (tabItem) {
      vue.watch(() => tabItem.current.value, check2);
    }
    vue.watch(() => [props2.loading, props2.error, props2.finished], check2);
    onSmartMounted(() => {
      scroller = getParentScroller(listEl.value);
      scroller.addEventListener("scroll", check2);
      if (props2.immediateCheck) {
        check2();
      }
    });
    onSmartUnmounted(removeScrollerListener);
    function load() {
      call(props2["onUpdate:error"], false);
      call(props2["onUpdate:loading"], true);
      call(props2.onLoad);
    }
    function isReachBottom() {
      const { bottom: containerBottom } = getRect(scroller);
      const { bottom: detectorBottom } = getRect(detectorEl.value);
      return Math.floor(detectorBottom) - toPxNum(props2.offset) <= containerBottom;
    }
    function removeScrollerListener() {
      if (!scroller) {
        return;
      }
      scroller.removeEventListener("scroll", check2);
    }
    function check2() {
      return __async$5(this, null, function* () {
        yield vue.nextTick();
        if (props2.loading || props2.finished || props2.error || (tabItem == null ? void 0 : tabItem.current.value) === false || !isReachBottom()) {
          return;
        }
        load();
      });
    }
    return {
      listEl,
      detectorEl,
      pt,
      t,
      isNumber,
      load,
      check: check2,
      n: n$z,
      classes: classes$r
    };
  }
});
__sfc__$B.render = __render__$z;
var stdin_default$4j = __sfc__$B;
withInstall(stdin_default$4j);
withPropsDefaultsSetter(stdin_default$4j, props$w);
const _ListComponent = stdin_default$4j;
var stdin_default$4i = stdin_default$4j;
const props$v = {
  value: {
    type: Number,
    default: 0
  },
  opacity: {
    type: Number,
    default: 0
  },
  error: Boolean,
  color: String,
  errorColor: String,
  height: [Number, String],
  top: [Number, String],
  transitionDuration: Number
};
const {
  name: name$v,
  classes: classes$q,
  n: n$y
} = createNamespace("loading-bar");
var stdin_default$4h = vue.defineComponent({
  name: name$v,
  props: props$v,
  setup(props2) {
    return () => vue.createVNode("div", {
      "class": classes$q(n$y(), [props2.error, n$y("--error")]),
      "style": {
        zIndex: stdin_default$6b.zIndex + 10,
        width: `${props2.value}%`,
        opacity: props2.opacity,
        height: toSizeUnit(props2.height),
        backgroundColor: props2.error ? props2.errorColor : props2.color,
        top: toSizeUnit(props2.top),
        transitionDuration: props2.transitionDuration == null ? void 0 : `${props2.transitionDuration}ms`
      }
    }, null);
  }
});
const OPACITY_DELAY = 200;
let valueTimer;
let errorTimer;
let finishTimer;
let finishErrorTimer;
let opacityTimer;
let isMount$1;
let internalOptions = {};
const internalProps = {
  value: 0,
  opacity: 0,
  error: false
};
const ctx = vue.reactive(internalProps);
function setDefaultOptions(options) {
  Object.assign(ctx, options);
  internalOptions = options;
}
const resetDefaultOptions = () => {
  Object.keys(internalOptions).forEach((key3) => {
    if (ctx[key3] !== void 0) {
      ctx[key3] = void 0;
    }
  });
};
const mount = () => {
  if (!isMount$1) {
    isMount$1 = true;
    mountInstance(stdin_default$4h, ctx);
  }
};
const tick = () => {
  valueTimer = window.setTimeout(() => {
    ctx.transitionDuration = void 0;
    if (ctx.value >= 95) {
      return;
    }
    ctx.value += ctx.value < 70 ? Math.round(5 * Math.random()) : Math.random();
    tick();
  }, 200);
};
const clearTimer = () => {
  window.clearTimeout(valueTimer);
  window.clearTimeout(opacityTimer);
  window.clearTimeout(finishTimer);
  window.clearTimeout(errorTimer);
  window.clearTimeout(finishErrorTimer);
};
const finishTask = () => {
  clearTimer();
  ctx.value = 100;
  opacityTimer = window.setTimeout(() => {
    ctx.opacity = 0;
    finishErrorTimer = window.setTimeout(() => {
      ctx.error = false;
    }, 250);
  }, OPACITY_DELAY + 100);
};
const start = () => {
  clearTimer();
  ctx.error = false;
  ctx.value = 0;
  ctx.transitionDuration = 0;
  mount();
  opacityTimer = window.setTimeout(() => {
    ctx.opacity = 1;
  }, OPACITY_DELAY);
  tick();
};
const finish = () => {
  var _a;
  finishTimer = window.setTimeout(finishTask, (_a = ctx.finishDelay) != null ? _a : 0);
};
const error = () => {
  clearTimer();
  ctx.error = true;
  if (ctx.value === 100) {
    ctx.value = 0;
    ctx.transitionDuration = 0;
  }
  mount();
  opacityTimer = window.setTimeout(() => {
    ctx.opacity = 1;
  }, OPACITY_DELAY);
  tick();
  errorTimer = window.setTimeout(finishTask, 300);
};
const LoadingBar = {
  start,
  finish,
  error,
  setDefaultOptions,
  resetDefaultOptions
};
const _LoadingBarComponent = LoadingBar;
var stdin_default$4g = LoadingBar;
const props$u = {
  tag: {
    type: String,
    default: "div"
  },
  locale: {
    type: String,
    default: "zh-CN"
  },
  messages: {
    type: Object
  }
};
var __defProp$8 = Object.defineProperty;
var __defProps$2 = Object.defineProperties;
var __getOwnPropDescs$2 = Object.getOwnPropertyDescriptors;
var __getOwnPropSymbols$8 = Object.getOwnPropertySymbols;
var __hasOwnProp$8 = Object.prototype.hasOwnProperty;
var __propIsEnum$8 = Object.prototype.propertyIsEnumerable;
var __defNormalProp$8 = (obj, key3, value) => key3 in obj ? __defProp$8(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues$8 = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$8.call(b, prop))
      __defNormalProp$8(a, prop, b[prop]);
  if (__getOwnPropSymbols$8)
    for (var prop of __getOwnPropSymbols$8(b)) {
      if (__propIsEnum$8.call(b, prop))
        __defNormalProp$8(a, prop, b[prop]);
    }
  return a;
};
var __spreadProps$2 = (a, b) => __defProps$2(a, __getOwnPropDescs$2(b));
const { name: name$u, n: n$x } = createNamespace("locale-provider");
const __sfc__$A = vue.defineComponent({
  name: name$u,
  props: props$u,
  setup(props2, { slots }) {
    const messages2 = vue.computed(
      () => {
        var _a;
        return Object.entries((_a = props2.messages) != null ? _a : {}).reduce(
          (messages22, [key3, value]) => {
            messages22[key3] = __spreadProps$2(__spreadValues$8({}, value), {
              lang: key3
            });
            return messages22;
          },
          {}
        );
      }
    );
    provideLocaleProvider({
      t: t2
    });
    function t2(id) {
      if (hasOwn(messages2.value, props2.locale) && hasOwn(messages2.value[props2.locale], id)) {
        return messages2.value[props2.locale][id];
      }
    }
    return () => vue.h(
      props2.tag,
      {
        class: n$x()
      },
      call(slots.default)
    );
  }
});
var stdin_default$4f = __sfc__$A;
withInstall(stdin_default$4f);
withPropsDefaultsSetter(stdin_default$4f, props$u);
const _LocaleProviderComponent = stdin_default$4f;
var stdin_default$4e = stdin_default$4f;
const props$t = {
  label: {},
  value: {},
  disabled: Boolean,
  ripple: {
    type: Boolean,
    default: true
  },
  // internal
  option: Object
};
const SELECT_BIND_OPTION_KEY = Symbol("SELECT_BIND_OPTION_KEY");
function useOptions() {
  const { length, childProviders, bindChildren } = useChildren(SELECT_BIND_OPTION_KEY);
  return {
    length,
    options: childProviders,
    bindOptions: bindChildren
  };
}
function useSelect() {
  const { index, parentProvider, bindParent } = useParent(SELECT_BIND_OPTION_KEY);
  assert(!!bindParent, "Option", "<var-option/> must in <var-select/>");
  return {
    index,
    select: parentProvider,
    bindSelect: bindParent
  };
}
const { name: name$t, n: n$w, classes: classes$p } = createNamespace("option");
const _hoisted_1$i = ["tabindex"];
function __render__$y(_ctx, _cache) {
  const _component_var_checkbox = vue.resolveComponent("var-checkbox");
  const _component_maybe_v_node = vue.resolveComponent("maybe-v-node");
  const _component_var_hover_overlay = vue.resolveComponent("var-hover-overlay");
  const _directive_ripple = vue.resolveDirective("ripple");
  const _directive_hover = vue.resolveDirective("hover");
  return vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
    ref: "root",
    class: vue.normalizeClass(_ctx.classes(_ctx.n(), _ctx.n("$--box"), [_ctx.optionSelected, _ctx.n("--selected-color")], [_ctx.disabled, _ctx.n("--disabled")])),
    style: vue.normalizeStyle({
      color: _ctx.optionSelected ? _ctx.focusColor : void 0
    }),
    tabindex: _ctx.disabled ? void 0 : "-1",
    onFocus: _cache[2] || (_cache[2] = ($event) => _ctx.isFocusing = true),
    onBlur: _cache[3] || (_cache[3] = ($event) => _ctx.isFocusing = false),
    onClick: _cache[4] || (_cache[4] = (...args) => _ctx.handleClick && _ctx.handleClick(...args))
  }, [
    vue.createElementVNode(
      "div",
      {
        class: vue.normalizeClass(_ctx.classes(_ctx.n("cover"), [_ctx.optionSelected, _ctx.n("--selected-background")])),
        style: vue.normalizeStyle({
          background: _ctx.optionSelected ? _ctx.focusColor : void 0
        })
      },
      null,
      6
      /* CLASS, STYLE */
    ),
    _ctx.multiple ? (vue.openBlock(), vue.createBlock(_component_var_checkbox, {
      key: 0,
      ref: "checkbox",
      modelValue: _ctx.optionSelected,
      "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.optionSelected = $event),
      "checked-color": _ctx.focusColor,
      disabled: _ctx.disabled,
      onClick: _cache[1] || (_cache[1] = vue.withModifiers(() => {
      }, ["stop"])),
      onChange: _ctx.handleSelect
    }, null, 8, ["modelValue", "checked-color", "disabled", "onChange"])) : vue.createCommentVNode("v-if", true),
    vue.renderSlot(_ctx.$slots, "default", { selected: _ctx.optionSelected }, () => [
      vue.createElementVNode(
        "div",
        {
          class: vue.normalizeClass(_ctx.classes(_ctx.n("text"), _ctx.n("$--ellipsis")))
        },
        [
          vue.createVNode(_component_maybe_v_node, { is: _ctx.labelVNode }, null, 8, ["is"])
        ],
        2
        /* CLASS */
      )
    ]),
    vue.createVNode(_component_var_hover_overlay, {
      hovering: _ctx.hovering && !_ctx.disabled,
      focusing: _ctx.isFocusing && !_ctx.disabled
    }, null, 8, ["hovering", "focusing"])
  ], 46, _hoisted_1$i)), [
    [_directive_ripple, { disabled: _ctx.disabled || !_ctx.ripple }],
    [_directive_hover, _ctx.handleHovering, "desktop"]
  ]);
}
const __sfc__$z = vue.defineComponent({
  name: name$t,
  directives: { Ripple: stdin_default$68, Hover: stdin_default$67 },
  components: {
    VarCheckbox: stdin_default$5Q,
    VarHoverOverlay: stdin_default$65,
    MaybeVNode
  },
  props: props$t,
  setup(props2) {
    const root = vue.ref();
    const isFocusing = vue.ref(false);
    const optionSelected = vue.ref(false);
    const selected = vue.computed(() => optionSelected.value);
    const value = vue.computed(() => props2.value);
    const disabled = vue.computed(() => props2.disabled);
    const ripple = vue.computed(() => props2.ripple);
    const { select, bindSelect } = useSelect();
    const { multiple, focusColor, onSelect, computeLabel } = select;
    const { hovering, handleHovering } = useHoverOverlay();
    const labelVNode = vue.computed(
      () => {
        var _a;
        return isFunction(props2.label) ? props2.label(
          (_a = props2.option) != null ? _a : {
            label: props2.label,
            value: props2.value,
            disabled: props2.disabled
          },
          optionSelected.value
        ) : props2.label;
      }
    );
    const optionProvider = {
      label: labelVNode,
      value,
      disabled,
      ripple,
      selected,
      sync
    };
    vue.watch([() => props2.label, () => props2.value], computeLabel);
    bindSelect(optionProvider);
    useEventListener(() => window, "keydown", handleKeydown);
    useEventListener(() => window, "keyup", handleKeyup);
    function handleClick() {
      if (props2.disabled) {
        return;
      }
      handleSelect();
    }
    function handleKeydown(event) {
      if (!isFocusing.value) {
        return;
      }
      if (event.key === " " || event.key === "Enter") {
        preventDefault(event);
      }
      if (event.key === "Enter") {
        root.value.click();
      }
    }
    function handleKeyup(event) {
      if (!isFocusing.value) {
        return;
      }
      if (event.key === " ") {
        preventDefault(event);
        root.value.click();
      }
    }
    function handleSelect() {
      if (multiple.value) {
        optionSelected.value = !optionSelected.value;
      }
      onSelect(optionProvider);
    }
    function sync(checked) {
      optionSelected.value = checked;
    }
    return {
      root,
      optionSelected,
      multiple,
      focusColor,
      hovering,
      isFocusing,
      labelVNode,
      n: n$w,
      classes: classes$p,
      handleHovering,
      handleClick,
      handleSelect
    };
  }
});
__sfc__$z.render = __render__$y;
var stdin_default$4d = __sfc__$z;
withInstall(stdin_default$4d);
withPropsDefaultsSetter(stdin_default$4d, props$t);
const _OptionComponent = stdin_default$4d;
var stdin_default$4c = stdin_default$4d;
const props$s = {
  show: Boolean,
  lockScroll: {
    type: Boolean,
    default: true
  },
  teleport: [String, Object, Boolean],
  closeOnKeyEscape: {
    type: Boolean,
    default: true
  },
  onClick: defineListenerProp(),
  onKeyEscape: defineListenerProp(),
  "onUpdate:show": defineListenerProp()
};
const {
  name: name$s,
  n: n$v
} = createNamespace("overlay");
var stdin_default$4b = vue.defineComponent({
  name: name$s,
  inheritAttrs: false,
  props: props$s,
  setup(props2, {
    slots,
    attrs
  }) {
    const {
      zIndex
    } = useZIndex(() => props2.show, 3);
    const {
      onStackTop
    } = useStack(() => props2.show, zIndex);
    const {
      disabled
    } = useTeleport();
    useLock(() => props2.show, () => props2.lockScroll);
    useEventListener(() => window, "keydown", handleKeydown);
    function handleKeydown(event) {
      if (!onStackTop() || event.key !== "Escape" || !props2.show) {
        return;
      }
      call(props2.onKeyEscape);
      if (!props2.closeOnKeyEscape) {
        return;
      }
      preventDefault(event);
      call(props2["onUpdate:show"], false);
    }
    function handleClickOverlay() {
      call(props2.onClick);
      call(props2["onUpdate:show"], false);
    }
    function renderOverlay() {
      return vue.createVNode("div", vue.mergeProps({
        "class": n$v(),
        "style": {
          zIndex: zIndex.value - 2
        }
      }, attrs), [vue.createVNode("div", {
        "class": n$v("overlay"),
        "style": {
          zIndex: zIndex.value - 1
        },
        "onClick": handleClickOverlay
      }, null), vue.createVNode("div", {
        "class": n$v("content"),
        "style": {
          zIndex: zIndex.value
        }
      }, [call(slots.default)])]);
    }
    function renderTransitionOverlay() {
      return vue.createVNode(vue.Transition, {
        "name": n$v("--fade")
      }, {
        default: () => [props2.show && renderOverlay()]
      });
    }
    return () => {
      const {
        teleport
      } = props2;
      if (teleport) {
        return vue.createVNode(vue.Teleport, {
          "to": teleport,
          "disabled": disabled.value
        }, {
          default: () => [renderTransitionOverlay()]
        });
      }
      return renderTransitionOverlay();
    };
  }
});
withInstall(stdin_default$4b);
withPropsDefaultsSetter(stdin_default$4b, props$s);
const _OverlayComponent = stdin_default$4b;
var stdin_default$4a = stdin_default$4b;
const props$r = {
  current: [Number, String],
  size: {
    type: [Number, String],
    default: 10
  },
  total: {
    type: [Number, String],
    default: 0
  },
  elevation: {
    type: [Boolean, Number, String],
    default: true
  },
  maxPagerCount: {
    type: Number,
    default: 3
  },
  disabled: Boolean,
  simple: {
    type: Boolean,
    default: true
  },
  showSizeChanger: {
    type: Boolean,
    default: true
  },
  showQuickJumper: Boolean,
  sizeOption: {
    type: Array,
    default: () => [10, 20, 50, 100]
  },
  showTotal: Function,
  onChange: defineListenerProp(),
  "onUpdate:current": defineListenerProp(),
  "onUpdate:size": defineListenerProp()
};
const { name: name$r, n: n$u, classes: classes$o } = createNamespace("pagination");
const _hoisted_1$h = ["item-mode", "onClick"];
function __render__$x(_ctx, _cache) {
  const _component_var_icon = vue.resolveComponent("var-icon");
  const _component_var_input = vue.resolveComponent("var-input");
  const _component_var_menu_option = vue.resolveComponent("var-menu-option");
  const _component_var_menu_select = vue.resolveComponent("var-menu-select");
  const _directive_ripple = vue.resolveDirective("ripple");
  return vue.openBlock(), vue.createElementBlock(
    "ul",
    {
      class: vue.normalizeClass(_ctx.n())
    },
    [
      vue.withDirectives((vue.openBlock(), vue.createElementBlock(
        "li",
        {
          class: vue.normalizeClass(
            _ctx.classes(
              _ctx.n("item"),
              _ctx.n("prev"),
              [_ctx.current <= 1 || _ctx.disabled, _ctx.n("item--disabled")],
              [_ctx.simple, _ctx.n("item--simple"), _ctx.formatElevation(_ctx.elevation, 2)]
            )
          ),
          onClick: _cache[0] || (_cache[0] = ($event) => _ctx.clickItem("prev"))
        },
        [
          vue.renderSlot(_ctx.$slots, "prev", {}, () => [
            vue.createVNode(_component_var_icon, { name: "chevron-left" })
          ])
        ],
        2
        /* CLASS */
      )), [
        [_directive_ripple, { disabled: _ctx.current <= 1 || _ctx.disabled }]
      ]),
      _ctx.simple ? (vue.openBlock(), vue.createElementBlock(
        "li",
        {
          key: 0,
          class: vue.normalizeClass(_ctx.classes(_ctx.n("simple"), [_ctx.disabled, _ctx.n("item--disabled")]))
        },
        [
          vue.createVNode(_component_var_input, {
            modelValue: _ctx.simpleCurrentValue,
            "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => _ctx.simpleCurrentValue = $event),
            "var-pagination-cover": "",
            variant: "standard",
            hint: false,
            disabled: _ctx.disabled,
            onBlur: _cache[2] || (_cache[2] = ($event) => _ctx.setPage("simple", _ctx.simpleCurrentValue, $event)),
            onKeydown: _cache[3] || (_cache[3] = vue.withKeys(($event) => _ctx.setPage("simple", _ctx.simpleCurrentValue, $event), ["enter"]))
          }, null, 8, ["modelValue", "disabled"]),
          vue.createElementVNode("span", null, [
            vue.createTextVNode(
              " / " + vue.toDisplayString(_ctx.pageCount) + " ",
              1
              /* TEXT */
            ),
            vue.createElementVNode(
              "div",
              {
                class: vue.normalizeClass(_ctx.n("simple-line"))
              },
              null,
              2
              /* CLASS */
            )
          ])
        ],
        2
        /* CLASS */
      )) : (vue.openBlock(true), vue.createElementBlock(
        vue.Fragment,
        { key: 1 },
        vue.renderList(_ctx.pageList, (item, index) => {
          return vue.withDirectives((vue.openBlock(), vue.createElementBlock("li", {
            key: index,
            "item-mode": _ctx.getMode(item, index),
            class: vue.normalizeClass(
              _ctx.classes(
                _ctx.n("item"),
                _ctx.formatElevation(_ctx.elevation, 2),
                [item === _ctx.current && !_ctx.disabled, _ctx.n("item--active")],
                [_ctx.isHideEllipsis(item, index), _ctx.n("item--hide")],
                [_ctx.disabled, _ctx.n("item--disabled")],
                [item === _ctx.current && _ctx.disabled, _ctx.n("item--disabled--active")]
              )
            ),
            onClick: ($event) => _ctx.clickItem(item, index)
          }, [
            vue.createTextVNode(
              vue.toDisplayString(item),
              1
              /* TEXT */
            )
          ], 10, _hoisted_1$h)), [
            [_directive_ripple, { disabled: _ctx.disabled }]
          ]);
        }),
        128
        /* KEYED_FRAGMENT */
      )),
      vue.withDirectives((vue.openBlock(), vue.createElementBlock(
        "li",
        {
          class: vue.normalizeClass(
            _ctx.classes(
              _ctx.n("item"),
              _ctx.n("next"),
              [_ctx.current >= _ctx.pageCount || _ctx.disabled, _ctx.n("item--disabled")],
              [_ctx.simple, _ctx.n("item--simple"), _ctx.formatElevation(_ctx.elevation, 2)]
            )
          ),
          onClick: _cache[4] || (_cache[4] = ($event) => _ctx.clickItem("next"))
        },
        [
          vue.renderSlot(_ctx.$slots, "next", {}, () => [
            vue.createVNode(_component_var_icon, { name: "chevron-right" })
          ])
        ],
        2
        /* CLASS */
      )), [
        [_directive_ripple, { disabled: _ctx.current >= _ctx.pageCount || _ctx.disabled }]
      ]),
      _ctx.showSizeChanger ? (vue.openBlock(), vue.createBlock(_component_var_menu_select, {
        key: 2,
        modelValue: _ctx.size,
        "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => _ctx.size = $event),
        placement: "cover-top",
        disabled: _ctx.disabled
      }, {
        options: vue.withCtx(() => [
          (vue.openBlock(true), vue.createElementBlock(
            vue.Fragment,
            null,
            vue.renderList(_ctx.sizeOption, (option, index) => {
              return vue.openBlock(), vue.createBlock(_component_var_menu_option, {
                key: index,
                value: option,
                onClick: _ctx.clickSize
              }, {
                default: vue.withCtx(() => [
                  vue.createTextVNode(
                    vue.toDisplayString(option) + vue.toDisplayString((_ctx.pt ? _ctx.pt : _ctx.t)("paginationItem")) + " / " + vue.toDisplayString((_ctx.pt ? _ctx.pt : _ctx.t)("paginationPage")),
                    1
                    /* TEXT */
                  )
                ]),
                _: 2
                /* DYNAMIC */
              }, 1032, ["value", "onClick"]);
            }),
            128
            /* KEYED_FRAGMENT */
          ))
        ]),
        default: vue.withCtx(() => [
          vue.createElementVNode(
            "li",
            {
              class: vue.normalizeClass(_ctx.classes(_ctx.n("size"), [_ctx.disabled, _ctx.n("item--disabled")]))
            },
            [
              vue.createElementVNode(
                "div",
                {
                  class: vue.normalizeClass(_ctx.classes(_ctx.n("size--open"), [_ctx.current <= 1 || _ctx.disabled, _ctx.n("size--open--disabled")]))
                },
                [
                  vue.createElementVNode(
                    "span",
                    null,
                    vue.toDisplayString(_ctx.size) + vue.toDisplayString((_ctx.pt ? _ctx.pt : _ctx.t)("paginationItem")) + " / " + vue.toDisplayString((_ctx.pt ? _ctx.pt : _ctx.t)("paginationPage")),
                    1
                    /* TEXT */
                  ),
                  vue.createVNode(_component_var_icon, {
                    class: vue.normalizeClass(_ctx.n("size--open-icon")),
                    "var-pagination-cover": "",
                    name: "menu-down"
                  }, null, 8, ["class"])
                ],
                2
                /* CLASS */
              )
            ],
            2
            /* CLASS */
          )
        ]),
        _: 1
        /* STABLE */
      }, 8, ["modelValue", "disabled"])) : vue.createCommentVNode("v-if", true),
      _ctx.showQuickJumper && !_ctx.simple ? (vue.openBlock(), vue.createElementBlock(
        "li",
        {
          key: 3,
          class: vue.normalizeClass(_ctx.classes(_ctx.n("quickly"), [_ctx.disabled, _ctx.n("item--disabled")]))
        },
        [
          vue.createTextVNode(
            vue.toDisplayString((_ctx.pt ? _ctx.pt : _ctx.t)("paginationJump")) + " ",
            1
            /* TEXT */
          ),
          vue.createVNode(_component_var_input, {
            modelValue: _ctx.quickJumperValue,
            "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => _ctx.quickJumperValue = $event),
            disabled: _ctx.disabled,
            hint: false,
            variant: "standard",
            "var-pagination-cover": "",
            onBlur: _cache[7] || (_cache[7] = ($event) => _ctx.setPage("quick", _ctx.quickJumperValue, $event)),
            onKeydown: _cache[8] || (_cache[8] = vue.withKeys(($event) => _ctx.setPage("quick", _ctx.quickJumperValue, $event), ["enter"]))
          }, null, 8, ["modelValue", "disabled"])
        ],
        2
        /* CLASS */
      )) : vue.createCommentVNode("v-if", true),
      _ctx.totalText ? (vue.openBlock(), vue.createElementBlock(
        "li",
        {
          key: 4,
          class: vue.normalizeClass(_ctx.classes(_ctx.n("total"), [_ctx.disabled, _ctx.n("item--disabled")]))
        },
        vue.toDisplayString(_ctx.totalText),
        3
        /* TEXT, CLASS */
      )) : vue.createCommentVNode("v-if", true)
    ],
    2
    /* CLASS */
  );
}
const __sfc__$y = vue.defineComponent({
  name: name$r,
  components: {
    VarMenuSelect: stdin_default$5J,
    VarMenuOption: stdin_default$5O,
    VarIcon: stdin_default$63,
    VarInput: stdin_default$5S
  },
  directives: { Ripple: stdin_default$68 },
  props: props$r,
  setup(props2) {
    const quickJumperValue = vue.ref("");
    const simpleCurrentValue = vue.ref("1");
    const isHideEllipsisHead = vue.ref(false);
    const isHideEllipsisTail = vue.ref(false);
    const current = vue.ref(toNumber(props2.current) || 1);
    const size = vue.ref(toNumber(props2.size) || 10);
    const pageList = vue.ref([]);
    const activePosition = vue.computed(() => Math.ceil(props2.maxPagerCount / 2));
    const pageCount = vue.computed(() => Math.ceil(toNumber(props2.total) / toNumber(size.value)));
    const range = vue.computed(() => {
      const start2 = size.value * (current.value - 1) + 1;
      const end2 = Math.min(size.value * current.value, toNumber(props2.total));
      return [start2, end2];
    });
    const totalText = vue.computed(() => {
      if (!props2.showTotal) {
        return "";
      }
      return props2.showTotal(toNumber(props2.total), range.value);
    });
    const { t: pt } = injectLocaleProvider();
    vue.watch([() => props2.current, () => props2.size], ([newCurrent, newSize]) => {
      current.value = toNumber(newCurrent) || 1;
      size.value = toNumber(newSize || 10);
    });
    vue.watch(
      [current, size, pageCount],
      ([newCurrent, newSize, newCount], [oldCurrent, oldSize]) => {
        let list = [];
        const { maxPagerCount, total, onChange } = props2;
        const oldCount = Math.ceil(toNumber(total) / toNumber(oldSize));
        const rEllipseSign = newCount - (maxPagerCount - activePosition.value) - 1;
        simpleCurrentValue.value = `${newCurrent}`;
        if (newCount - 2 > maxPagerCount) {
          if (oldCurrent === void 0 || newCount !== oldCount) {
            for (let i = 2; i < maxPagerCount + 2; i++) {
              list.push(i);
            }
          }
          if (newCurrent <= maxPagerCount && newCurrent < rEllipseSign) {
            list = [];
            for (let i = 1; i < maxPagerCount + 1; i++) {
              list.push(i + 1);
            }
            isHideEllipsisHead.value = true;
            isHideEllipsisTail.value = false;
          }
          if (newCurrent > maxPagerCount && newCurrent < rEllipseSign) {
            list = [];
            for (let i = 1; i < maxPagerCount + 1; i++) {
              list.push(newCurrent + i - activePosition.value);
            }
            isHideEllipsisHead.value = newCurrent === 2 && maxPagerCount === 1;
            isHideEllipsisTail.value = false;
          }
          if (newCurrent >= rEllipseSign) {
            list = [];
            for (let i = 1; i < maxPagerCount + 1; i++) {
              list.push(newCount - (maxPagerCount - i) - 1);
            }
            isHideEllipsisHead.value = false;
            isHideEllipsisTail.value = true;
          }
          list = [1, "...", ...list, "...", newCount];
        } else {
          for (let i = 1; i <= newCount; i++) {
            list.push(i);
          }
        }
        pageList.value = list;
        if (oldCurrent != null && newCount > 0) {
          call(onChange, newCurrent, newSize);
        }
        call(props2["onUpdate:current"], newCurrent);
        call(props2["onUpdate:size"], newSize);
      },
      {
        immediate: true
      }
    );
    function isHideEllipsis(item, index) {
      if (isNumber(item)) {
        return false;
      }
      return index === 1 ? isHideEllipsisHead.value : isHideEllipsisTail.value;
    }
    function getMode(item, index) {
      if (isNumber(item)) {
        return "basic";
      }
      return index === 1 ? "head" : "tail";
    }
    function clickItem(item, index) {
      if (item === current.value || props2.disabled) {
        return;
      }
      if (item === "...") {
        current.value = index === 1 ? Math.max(current.value - props2.maxPagerCount, 1) : Math.min(current.value + props2.maxPagerCount, pageCount.value);
        return;
      }
      if (item === "prev") {
        current.value = ensureCurrentBoundary(current.value - 1);
        return;
      }
      if (item === "next") {
        current.value = ensureCurrentBoundary(current.value + 1);
        return;
      }
      if (isNumber(item)) {
        current.value = item;
      }
    }
    function clickSize() {
      const targetCurrent = ensureCurrentBoundary(current.value);
      simpleCurrentValue.value = String(targetCurrent);
      current.value = targetCurrent;
    }
    function ensureCurrentBoundary(targetCurrent) {
      if (targetCurrent > pageCount.value) {
        return pageCount.value;
      }
      if (targetCurrent < 1) {
        return 1;
      }
      return targetCurrent;
    }
    function setPage(type, page, event) {
      event.target.blur();
      const targetCurrent = ensureCurrentBoundary(toNumber(page));
      simpleCurrentValue.value = String(targetCurrent);
      current.value = targetCurrent;
      if (type === "quick") {
        quickJumperValue.value = "";
      }
    }
    return {
      current,
      size,
      pageCount,
      pageList,
      quickJumperValue,
      simpleCurrentValue,
      totalText,
      pt,
      t,
      n: n$u,
      classes: classes$o,
      getMode,
      isHideEllipsis,
      clickItem,
      clickSize,
      setPage,
      toNumber,
      formatElevation
    };
  }
});
__sfc__$y.render = __render__$x;
var stdin_default$49 = __sfc__$y;
withInstall(stdin_default$49);
withPropsDefaultsSetter(stdin_default$49, props$r);
const _PaginationComponent = stdin_default$49;
var stdin_default$48 = stdin_default$49;
const props$q = {
  elevation: {
    type: [Boolean, Number, String],
    default: false
  },
  ripple: Boolean,
  radius: [Number, String],
  width: [Number, String],
  height: [Number, String],
  round: Boolean,
  inline: Boolean,
  onClick: defineListenerProp()
};
const { name: name$q, n: n$t, classes: classes$n } = createNamespace("paper");
function __render__$w(_ctx, _cache) {
  const _directive_ripple = vue.resolveDirective("ripple");
  return vue.withDirectives((vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(
        _ctx.classes(
          _ctx.n(),
          _ctx.n("$--box"),
          _ctx.formatElevation(_ctx.elevation, 2),
          [_ctx.onClick, _ctx.n("--cursor")],
          [_ctx.round, _ctx.n("--round")],
          [_ctx.inline, _ctx.n("$--inline-flex")]
        )
      ),
      style: vue.normalizeStyle({
        width: _ctx.toSizeUnit(_ctx.width),
        height: _ctx.toSizeUnit(_ctx.height),
        "border-radius": _ctx.toSizeUnit(_ctx.radius)
      }),
      onClick: _cache[0] || (_cache[0] = (...args) => _ctx.handleClick && _ctx.handleClick(...args))
    },
    [
      vue.renderSlot(_ctx.$slots, "default")
    ],
    6
    /* CLASS, STYLE */
  )), [
    [_directive_ripple, { disabled: !_ctx.ripple }]
  ]);
}
const __sfc__$x = vue.defineComponent({
  name: name$q,
  directives: { Ripple: stdin_default$68 },
  props: props$q,
  setup(props2) {
    function handleClick(e) {
      call(props2.onClick, e);
    }
    return {
      n: n$t,
      classes: classes$n,
      formatElevation,
      toSizeUnit,
      handleClick
    };
  }
});
__sfc__$x.render = __render__$w;
var stdin_default$47 = __sfc__$x;
withInstall(stdin_default$47);
withPropsDefaultsSetter(stdin_default$47, props$q);
const _PaperComponent = stdin_default$47;
var stdin_default$46 = stdin_default$47;
var __defProp$7 = Object.defineProperty;
var __getOwnPropSymbols$7 = Object.getOwnPropertySymbols;
var __hasOwnProp$7 = Object.prototype.hasOwnProperty;
var __propIsEnum$7 = Object.prototype.propertyIsEnumerable;
var __defNormalProp$7 = (obj, key3, value) => key3 in obj ? __defProp$7(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues$7 = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$7.call(b, prop))
      __defNormalProp$7(a, prop, b[prop]);
  if (__getOwnPropSymbols$7)
    for (var prop of __getOwnPropSymbols$7(b)) {
      if (__propIsEnum$7.call(b, prop))
        __defNormalProp$7(a, prop, b[prop]);
    }
  return a;
};
const props$p = __spreadValues$7({
  modelValue: {
    type: Array,
    default: () => []
  },
  columns: {
    type: Array,
    default: () => []
  },
  title: String,
  textKey: {
    type: String,
    default: "text"
  },
  valueKey: {
    type: String,
    default: "value"
  },
  childrenKey: {
    type: String,
    default: "children"
  },
  toolbar: {
    type: Boolean,
    default: true
  },
  cascade: Boolean,
  optionHeight: {
    type: [Number, String],
    default: 44
  },
  optionCount: {
    type: [Number, String],
    default: 6
  },
  columnsCount: [String, Number],
  confirmButtonText: String,
  cancelButtonText: String,
  confirmButtonTextColor: String,
  cancelButtonTextColor: String,
  // dynamic internal
  dynamic: Boolean,
  onChange: defineListenerProp(),
  onConfirm: defineListenerProp(),
  onCancel: defineListenerProp(),
  "onUpdate:modelValue": defineListenerProp()
}, pickProps(props$1m, [
  "show",
  "onUpdate:show",
  "closeOnClickOverlay",
  "closeOnKeyEscape",
  "teleport",
  "safeArea",
  "onOpen",
  "onClose",
  "onOpened",
  "onClosed",
  "onClickOverlay",
  "onRouteChange",
  "onKeyEscape"
]));
const { name: name$p, n: n$s, classes: classes$m } = createNamespace("picker");
const MOMENTUM_RECORD_TIME = 300;
const MOMENTUM_ALLOW_DISTANCE = 15;
const TRANSITION_DURATION = 200;
const MOMENTUM_TRANSITION_DURATION = 1e3;
let sid$1 = 0;
const _hoisted_1$g = ["onTouchstartPassive", "onTouchmove", "onTouchend"];
const _hoisted_2$5 = ["onTransitionend"];
const _hoisted_3$3 = ["onClick"];
function __render__$v(_ctx, _cache) {
  const _component_var_button = vue.resolveComponent("var-button");
  return vue.openBlock(), vue.createBlock(
    vue.resolveDynamicComponent(_ctx.dynamic ? _ctx.n("$-popup") : _ctx.Transition),
    vue.mergeProps(
      _ctx.dynamic ? {
        onOpen: _ctx.onOpen,
        onOpened: _ctx.onOpened,
        onClose: _ctx.onClose,
        onClosed: _ctx.onClosed,
        onClickOverlay: _ctx.onClickOverlay,
        onRouteChange: _ctx.onRouteChange,
        onKeyEscape: _ctx.onKeyEscape,
        closeOnClickOverlay: _ctx.closeOnClickOverlay,
        closeOnKeyEscape: _ctx.closeOnKeyEscape,
        teleport: _ctx.teleport,
        show: _ctx.show,
        safeArea: _ctx.safeArea,
        "onUpdate:show": _ctx.handlePopupUpdateShow,
        position: "bottom",
        class: _ctx.n("popup")
      } : null,
      { "var-picker-cover": "" }
    ),
    {
      default: vue.withCtx(() => [
        vue.createElementVNode(
          "div",
          vue.mergeProps({
            class: _ctx.n()
          }, _ctx.$attrs),
          [
            _ctx.toolbar ? (vue.openBlock(), vue.createElementBlock(
              "div",
              {
                key: 0,
                class: vue.normalizeClass(_ctx.n("toolbar"))
              },
              [
                vue.renderSlot(_ctx.$slots, "cancel", {}, () => [
                  vue.createVNode(_component_var_button, {
                    class: vue.normalizeClass(_ctx.n("cancel-button")),
                    "var-picker-cover": "",
                    text: "",
                    "text-color": _ctx.cancelButtonTextColor,
                    onClick: _ctx.cancel
                  }, {
                    default: vue.withCtx(() => {
                      var _a;
                      return [
                        vue.createTextVNode(
                          vue.toDisplayString((_a = _ctx.cancelButtonText) != null ? _a : (_ctx.pt ? _ctx.pt : _ctx.t)("pickerCancelButtonText")),
                          1
                          /* TEXT */
                        )
                      ];
                    }),
                    _: 1
                    /* STABLE */
                  }, 8, ["class", "text-color", "onClick"])
                ]),
                vue.renderSlot(_ctx.$slots, "title", {}, () => {
                  var _a;
                  return [
                    vue.createElementVNode(
                      "div",
                      {
                        class: vue.normalizeClass(_ctx.n("title"))
                      },
                      vue.toDisplayString((_a = _ctx.title) != null ? _a : (_ctx.pt ? _ctx.pt : _ctx.t)("pickerTitle")),
                      3
                      /* TEXT, CLASS */
                    )
                  ];
                }),
                vue.renderSlot(_ctx.$slots, "confirm", {}, () => [
                  vue.createVNode(_component_var_button, {
                    class: vue.normalizeClass(_ctx.n("confirm-button")),
                    text: "",
                    "var-picker-cover": "",
                    "text-color": _ctx.confirmButtonTextColor,
                    onClick: _ctx.confirm
                  }, {
                    default: vue.withCtx(() => {
                      var _a;
                      return [
                        vue.createTextVNode(
                          vue.toDisplayString((_a = _ctx.confirmButtonText) != null ? _a : (_ctx.pt ? _ctx.pt : _ctx.t)("pickerConfirmButtonText")),
                          1
                          /* TEXT */
                        )
                      ];
                    }),
                    _: 1
                    /* STABLE */
                  }, 8, ["class", "text-color", "onClick"])
                ])
              ],
              2
              /* CLASS */
            )) : vue.createCommentVNode("v-if", true),
            vue.createElementVNode(
              "div",
              {
                class: vue.normalizeClass(_ctx.n("columns")),
                style: vue.normalizeStyle({ height: `${_ctx.columnHeight}px` })
              },
              [
                (vue.openBlock(true), vue.createElementBlock(
                  vue.Fragment,
                  null,
                  vue.renderList(_ctx.scrollColumns, (c) => {
                    return vue.openBlock(), vue.createElementBlock("div", {
                      key: c.id,
                      class: vue.normalizeClass(_ctx.n("column")),
                      onTouchstartPassive: ($event) => _ctx.handleTouchstart($event, c),
                      onTouchmove: vue.withModifiers(($event) => _ctx.handleTouchmove($event, c), ["prevent"]),
                      onTouchend: ($event) => _ctx.handleTouchend(c)
                    }, [
                      vue.createElementVNode("div", {
                        ref_for: true,
                        ref: (el) => _ctx.setScrollEl(el, c),
                        class: vue.normalizeClass(_ctx.n("scroller")),
                        style: vue.normalizeStyle({
                          transform: `translateY(${c.translate}px)`,
                          transitionDuration: `${c.duration}ms`,
                          transitionProperty: c.duration ? "transform" : "none"
                        }),
                        onTransitionend: ($event) => _ctx.handleTransitionend(c)
                      }, [
                        (vue.openBlock(true), vue.createElementBlock(
                          vue.Fragment,
                          null,
                          vue.renderList(c.column, (option, index) => {
                            return vue.openBlock(), vue.createElementBlock("div", {
                              key: _ctx.getValue(option),
                              class: vue.normalizeClass(_ctx.classes(_ctx.n("option"), option.className)),
                              style: vue.normalizeStyle({ height: `${_ctx.optionHeight}px` }),
                              onClick: ($event) => _ctx.handleClick(c, index)
                            }, [
                              vue.createElementVNode(
                                "div",
                                {
                                  class: vue.normalizeClass(_ctx.classes(_ctx.n("text"), option.textClassName))
                                },
                                vue.toDisplayString(option[_ctx.getOptionKey("text")]),
                                3
                                /* TEXT, CLASS */
                              )
                            ], 14, _hoisted_3$3);
                          }),
                          128
                          /* KEYED_FRAGMENT */
                        ))
                      ], 46, _hoisted_2$5)
                    ], 42, _hoisted_1$g);
                  }),
                  128
                  /* KEYED_FRAGMENT */
                )),
                vue.createElementVNode(
                  "div",
                  {
                    class: vue.normalizeClass(_ctx.n("picked")),
                    style: vue.normalizeStyle({
                      top: `${_ctx.center}px`,
                      height: `${_ctx.optionHeight}px`
                    })
                  },
                  null,
                  6
                  /* CLASS, STYLE */
                ),
                vue.createElementVNode(
                  "div",
                  {
                    class: vue.normalizeClass(_ctx.n("mask")),
                    style: vue.normalizeStyle({ backgroundSize: `100% ${(_ctx.columnHeight - _ctx.optionHeight) / 2}px` })
                  },
                  null,
                  6
                  /* CLASS, STYLE */
                )
              ],
              6
              /* CLASS, STYLE */
            )
          ],
          16
          /* FULL_PROPS */
        )
      ]),
      _: 3
      /* FORWARDED */
    },
    16
    /* FULL_PROPS */
  );
}
const __sfc__$w = vue.defineComponent({
  name: name$p,
  components: {
    VarButton: stdin_default$5y,
    VarPopup: stdin_default$69
  },
  inheritAttrs: false,
  props: props$p,
  setup(props2) {
    const modelValue = useVModel(props2, "modelValue");
    const scrollColumns = vue.ref([]);
    const visibleColumnsCount = vue.computed(() => toNumber(props2.columnsCount));
    const optionHeight = vue.computed(() => toPxNum(props2.optionHeight));
    const optionCount = vue.computed(() => toPxNum(props2.optionCount));
    const center = vue.computed(() => optionCount.value * optionHeight.value / 2 - optionHeight.value / 2);
    const columnHeight = vue.computed(() => optionCount.value * optionHeight.value);
    const { prevY, moveY, dragging, startTouch, moveTouch, endTouch } = useTouch();
    const { t: pt } = injectLocaleProvider();
    let prevIndexes = [];
    initScrollColumns();
    vue.watch(() => props2.columns, initScrollColumns, { deep: true });
    vue.watch(() => modelValue.value, initScrollColumns);
    function getOptionKey(key3) {
      const keyMap = {
        text: props2.textKey,
        value: props2.valueKey,
        children: props2.childrenKey
      };
      return keyMap[key3];
    }
    function getValue(option) {
      var _a;
      return (_a = option[getOptionKey("value")]) != null ? _a : option[getOptionKey("text")];
    }
    function setPrevIndexes(indexes) {
      prevIndexes = [...indexes];
    }
    function normalizeNormalMode(columns) {
      const visibleColumns = props2.columnsCount != null ? columns.slice(0, visibleColumnsCount.value) : columns;
      return visibleColumns.map((column, idx) => {
        const scrollColumn = {
          id: sid$1++,
          prevY: 0,
          momentumPrevY: 0,
          touching: false,
          translate: center.value,
          index: 0,
          duration: 0,
          momentumTime: 0,
          column,
          scrollEl: null,
          scrolling: false
        };
        const value = modelValue.value[idx];
        const index = scrollColumn.column.findIndex((option) => value === getValue(option));
        scrollColumn.index = index === -1 ? 0 : index;
        scrollTo2(scrollColumn);
        return scrollColumn;
      });
    }
    function normalizeCascadeMode(column) {
      const scrollColumns2 = [];
      createChildren(scrollColumns2, column);
      return scrollColumns2;
    }
    function createChildren(scrollColumns2, children, syncModelValue = true, depth = 1) {
      var _a;
      if (children.length && (props2.columnsCount == null || depth <= visibleColumnsCount.value)) {
        const scrollColumn = {
          id: sid$1++,
          prevY: 0,
          momentumPrevY: 0,
          touching: false,
          translate: center.value,
          index: 0,
          duration: 0,
          momentumTime: 0,
          column: children,
          scrollEl: null,
          scrolling: false
        };
        scrollColumns2.push(scrollColumn);
        if (syncModelValue) {
          const value = modelValue.value[scrollColumns2.length - 1];
          const index = children.findIndex((option) => value === getValue(option));
          scrollColumn.index = index === -1 ? 0 : index;
        }
        scrollTo2(scrollColumn);
        createChildren(
          scrollColumns2,
          (_a = scrollColumn.column[scrollColumn.index][getOptionKey("children")]) != null ? _a : [],
          syncModelValue,
          depth + 1
        );
      }
    }
    function rebuildChildren(scrollColumn) {
      var _a;
      scrollColumns.value.splice(scrollColumns.value.indexOf(scrollColumn) + 1);
      createChildren(
        scrollColumns.value,
        (_a = scrollColumn.column[scrollColumn.index][getOptionKey("children")]) != null ? _a : [],
        false,
        scrollColumns.value.length + 1
      );
    }
    function initScrollColumns() {
      scrollColumns.value = props2.cascade ? normalizeCascadeMode(props2.columns) : normalizeNormalMode(props2.columns);
      const { indexes } = getPicked();
      setPrevIndexes(indexes);
    }
    function setScrollEl(el, scrollColumn) {
      scrollColumn.scrollEl = el;
    }
    function handlePopupUpdateShow(value) {
      call(props2["onUpdate:show"], value);
    }
    function clampTranslate(scrollColumn) {
      const minTranslate = center.value - scrollColumn.column.length * optionHeight.value;
      const maxTranslate = optionHeight.value + center.value;
      scrollColumn.translate = clamp$1(scrollColumn.translate, minTranslate, maxTranslate);
    }
    function getTargetIndex(scrollColumn, viewTranslate) {
      const index = Math.round((center.value - viewTranslate) / optionHeight.value);
      return clampArrayRange(index, scrollColumn.column);
    }
    function updateTranslate(scrollColumn) {
      scrollColumn.translate = center.value - scrollColumn.index * optionHeight.value;
      return scrollColumn.translate;
    }
    function getPicked() {
      const values = [];
      const indexes = [];
      const options = [];
      scrollColumns.value.forEach(({ column, index }) => {
        const option = column[index];
        values.push(getValue(option));
        indexes.push(index);
        options.push(option);
      });
      return {
        values,
        indexes,
        options
      };
    }
    function scrollTo2(scrollColumn, duration = 0) {
      updateTranslate(scrollColumn);
      scrollColumn.duration = duration;
    }
    function momentum(scrollColumn, distance, duration) {
      scrollColumn.translate += Math.abs(distance / duration) / 3e-3 * (distance < 0 ? -1 : 1);
    }
    function handleClick(scrollColumn, index) {
      if (dragging.value) {
        return;
      }
      scrollColumn.index = index;
      scrollTo2(scrollColumn, TRANSITION_DURATION);
    }
    function handleTouchstart(event, scrollColumn) {
      scrollColumn.touching = true;
      scrollColumn.translate = getTranslateY(scrollColumn.scrollEl);
      startTouch(event);
    }
    function handleTouchmove(event, scrollColumn) {
      if (!scrollColumn.touching) {
        return;
      }
      moveTouch(event);
      scrollColumn.scrolling = false;
      scrollColumn.duration = 0;
      scrollColumn.prevY = prevY.value;
      scrollColumn.translate += moveY.value;
      clampTranslate(scrollColumn);
      const now = performance.now();
      if (now - scrollColumn.momentumTime > MOMENTUM_RECORD_TIME) {
        scrollColumn.momentumTime = now;
        scrollColumn.momentumPrevY = scrollColumn.translate;
      }
    }
    function handleTouchend(scrollColumn) {
      endTouch();
      scrollColumn.touching = false;
      scrollColumn.prevY = 0;
      const distance = scrollColumn.translate - scrollColumn.momentumPrevY;
      const duration = performance.now() - scrollColumn.momentumTime;
      const shouldMomentum = Math.abs(distance) >= MOMENTUM_ALLOW_DISTANCE && duration <= MOMENTUM_RECORD_TIME;
      const oldTranslate = scrollColumn.translate;
      if (shouldMomentum) {
        momentum(scrollColumn, distance, duration);
      }
      scrollColumn.index = getTargetIndex(scrollColumn, scrollColumn.translate);
      scrollTo2(scrollColumn, shouldMomentum ? MOMENTUM_TRANSITION_DURATION : TRANSITION_DURATION);
      scrollColumn.scrolling = scrollColumn.translate !== oldTranslate;
      if (!scrollColumn.scrolling) {
        handleScrollColumnChange(scrollColumn);
      }
    }
    function handleTransitionend(scrollColumn) {
      scrollColumn.scrolling = false;
      handleScrollColumnChange(scrollColumn);
    }
    function isSamePicked() {
      const { indexes } = getPicked();
      return indexes.every((index, idx) => index === prevIndexes[idx]);
    }
    function handleScrollColumnChange(scrollColumn) {
      const { onChange, cascade } = props2;
      if (isSamePicked()) {
        return;
      }
      if (cascade) {
        rebuildChildren(scrollColumn);
      }
      const hasScrolling = scrollColumns.value.some((scrollColumn2) => scrollColumn2.scrolling);
      const hasTouching = scrollColumns.value.some((scrollColumn2) => scrollColumn2.touching);
      if (hasScrolling || hasTouching) {
        return;
      }
      const { values, indexes, options } = getPicked();
      setPrevIndexes(indexes);
      call(onChange, values, indexes, options);
      modelValue.value = values;
    }
    function stopScroll() {
      if (props2.cascade) {
        const currentScrollColumn = scrollColumns.value.find((scrollColumn) => scrollColumn.scrolling);
        if (currentScrollColumn) {
          currentScrollColumn.index = getTargetIndex(currentScrollColumn, getTranslateY(currentScrollColumn.scrollEl));
          currentScrollColumn.scrolling = false;
          scrollTo2(currentScrollColumn);
          rebuildChildren(currentScrollColumn);
        }
      } else {
        scrollColumns.value.forEach((scrollColumn) => {
          scrollColumn.index = getTargetIndex(scrollColumn, getTranslateY(scrollColumn.scrollEl));
          scrollTo2(scrollColumn);
        });
      }
    }
    function confirm() {
      stopScroll();
      const { values, indexes, options } = getPicked();
      setPrevIndexes(indexes);
      call(props2.onConfirm, values, indexes, options);
    }
    function cancel() {
      stopScroll();
      const { values, indexes, options } = getPicked();
      setPrevIndexes(indexes);
      call(props2.onCancel, values, indexes, options);
    }
    return {
      optionHeight,
      optionCount,
      scrollColumns,
      columnHeight,
      center,
      Transition: vue.Transition,
      pt,
      t,
      n: n$s,
      classes: classes$m,
      setScrollEl,
      getOptionKey,
      getValue,
      handlePopupUpdateShow,
      handleTouchstart,
      handleTouchmove,
      handleTouchend,
      handleTransitionend,
      confirm,
      cancel,
      handleClick
    };
  }
});
__sfc__$w.render = __render__$v;
var stdin_default$45 = __sfc__$w;
let singletonOptions;
function Picker(options) {
  return new Promise((resolve) => {
    Picker.close();
    const pickerOptions = isArray(options) ? { columns: options } : options;
    const reactivePickerOptions = vue.reactive(pickerOptions);
    reactivePickerOptions.dynamic = true;
    reactivePickerOptions.teleport = "body";
    singletonOptions = reactivePickerOptions;
    function resetSingletonOptions() {
      singletonOptions === reactivePickerOptions && (singletonOptions = null);
    }
    const { unmountInstance } = mountInstance(stdin_default$45, reactivePickerOptions, {
      onConfirm: (values, indexes, options2) => {
        call(reactivePickerOptions.onConfirm, values, indexes, options2);
        resolve({
          state: "confirm",
          values,
          indexes,
          options: options2
        });
        reactivePickerOptions.show = false;
        resetSingletonOptions();
      },
      onCancel: (values, indexes, options2) => {
        call(reactivePickerOptions.onCancel, values, indexes, options2);
        resolve({
          state: "cancel",
          values,
          indexes,
          options: options2
        });
        reactivePickerOptions.show = false;
        resetSingletonOptions();
      },
      onClose: () => {
        call(reactivePickerOptions.onClose);
        resolve({
          state: "close"
        });
        resetSingletonOptions();
      },
      onClosed: () => {
        call(reactivePickerOptions.onClosed);
        unmountInstance();
        resetSingletonOptions();
      },
      onRouteChange: () => {
        unmountInstance();
        resetSingletonOptions();
      },
      "onUpdate:show": (value) => {
        reactivePickerOptions.show = value;
      }
    });
    reactivePickerOptions.show = true;
  });
}
Picker.close = function() {
  if (singletonOptions == null) {
    return;
  }
  const prevSingletonOptions = singletonOptions;
  singletonOptions = null;
  vue.nextTick().then(() => {
    prevSingletonOptions.show = false;
  });
};
Picker.Component = stdin_default$45;
withInstall(stdin_default$45);
withInstall(stdin_default$45, Picker);
withPropsDefaultsSetter(Picker, props$p);
const _PickerComponent = stdin_default$45;
var stdin_default$44 = Picker;
const props$o = {
  mode: {
    type: String,
    default: "linear"
  },
  lineWidth: {
    type: [Number, String],
    default: 4
  },
  color: [String, Object],
  trackColor: String,
  value: {
    type: [Number, String],
    default: 0
  },
  label: Boolean,
  labelClass: String,
  size: {
    type: [Number, String],
    default: 40
  },
  rotate: {
    type: Number,
    default: 0
  },
  track: {
    type: Boolean,
    default: true
  },
  indeterminate: Boolean,
  type: {
    type: String,
    default: "primary"
  }
};
const MAX = 100;
const MIN = 0;
const RADIUS = 20;
const CIRCUMFERENCE = 2 * Math.PI * RADIUS;
const { name: name$o, n: n$r, classes: classes$l } = createNamespace("progress");
const _hoisted_1$f = ["aria-valuenow"];
const _hoisted_2$4 = ["viewBox"];
const _hoisted_3$2 = { key: 0 };
const _hoisted_4$2 = ["id"];
const _hoisted_5$1 = ["offset", "stop-color"];
const _hoisted_6$1 = ["d", "stroke-width", "stroke-dasharray"];
const _hoisted_7 = ["d", "stroke-width", "stroke-dasharray", "stroke-dashoffset"];
function __render__$u(_ctx, _cache) {
  return vue.openBlock(), vue.createElementBlock("div", {
    class: vue.normalizeClass(_ctx.n()),
    role: "progressbar",
    "aria-valuemin": "0",
    "aria-valuemax": "100",
    "aria-valuenow": _ctx.indeterminate ? void 0 : _ctx.mode === "linear" ? _ctx.linearProps.value : _ctx.circleProps.value
  }, [
    _ctx.mode === "linear" ? (vue.openBlock(), vue.createElementBlock(
      "div",
      {
        key: 0,
        class: vue.normalizeClass(_ctx.n("linear"))
      },
      [
        vue.createElementVNode(
          "div",
          {
            class: vue.normalizeClass(_ctx.classes(_ctx.n("linear-block"), [_ctx.track, _ctx.n("linear-background")])),
            style: vue.normalizeStyle({ height: _ctx.toSizeUnit(_ctx.lineWidth), background: _ctx.trackColor })
          },
          [
            _ctx.indeterminate ? (vue.openBlock(), vue.createElementBlock(
              "div",
              {
                key: 0,
                class: vue.normalizeClass(_ctx.n("linear-indeterminate"))
              },
              [
                vue.createElementVNode(
                  "div",
                  {
                    class: vue.normalizeClass(_ctx.classes(_ctx.n(`linear--${_ctx.type}`))),
                    style: vue.normalizeStyle({ background: _ctx.progressColor })
                  },
                  null,
                  6
                  /* CLASS, STYLE */
                ),
                vue.createElementVNode(
                  "div",
                  {
                    class: vue.normalizeClass(_ctx.classes(_ctx.n(`linear--${_ctx.type}`))),
                    style: vue.normalizeStyle({ background: _ctx.progressColor })
                  },
                  null,
                  6
                  /* CLASS, STYLE */
                )
              ],
              2
              /* CLASS */
            )) : (vue.openBlock(), vue.createElementBlock(
              "div",
              {
                key: 1,
                class: vue.normalizeClass(_ctx.classes(_ctx.n("linear-certain"), _ctx.n(`linear--${_ctx.type}`))),
                style: vue.normalizeStyle({ background: _ctx.progressColor, width: _ctx.linearProps.width })
              },
              null,
              6
              /* CLASS, STYLE */
            ))
          ],
          6
          /* CLASS, STYLE */
        ),
        _ctx.label ? (vue.openBlock(), vue.createElementBlock(
          "div",
          {
            key: 0,
            class: vue.normalizeClass(_ctx.classes(_ctx.n("linear-label"), [_ctx.labelClass, _ctx.labelClass]))
          },
          [
            vue.renderSlot(_ctx.$slots, "default", {}, () => [
              vue.createTextVNode(
                vue.toDisplayString(_ctx.linearProps.roundValue),
                1
                /* TEXT */
              )
            ])
          ],
          2
          /* CLASS */
        )) : vue.createCommentVNode("v-if", true)
      ],
      2
      /* CLASS */
    )) : vue.createCommentVNode("v-if", true),
    _ctx.mode === "circle" ? (vue.openBlock(), vue.createElementBlock(
      "div",
      {
        key: 1,
        class: vue.normalizeClass(_ctx.classes(_ctx.n("circle"), [_ctx.indeterminate, _ctx.n("circle-indeterminate")])),
        style: vue.normalizeStyle({ width: _ctx.toSizeUnit(_ctx.size), height: _ctx.toSizeUnit(_ctx.size) })
      },
      [
        (vue.openBlock(), vue.createElementBlock("svg", {
          class: vue.normalizeClass(_ctx.n("circle-svg")),
          viewBox: _ctx.circleProps.viewBox
        }, [
          _ctx.isPlainObject(_ctx.color) ? (vue.openBlock(), vue.createElementBlock("defs", _hoisted_3$2, [
            vue.createElementVNode("linearGradient", {
              id: _ctx.id,
              x1: "100%",
              y1: "0%",
              x2: "0%",
              y2: "0%"
            }, [
              (vue.openBlock(true), vue.createElementBlock(
                vue.Fragment,
                null,
                vue.renderList(_ctx.linearGradientProgress, (progress, idx) => {
                  return vue.openBlock(), vue.createElementBlock("stop", {
                    key: idx,
                    offset: progress,
                    "stop-color": _ctx.color[progress]
                  }, null, 8, _hoisted_5$1);
                }),
                128
                /* KEYED_FRAGMENT */
              ))
            ], 8, _hoisted_4$2)
          ])) : vue.createCommentVNode("v-if", true),
          _ctx.track ? (vue.openBlock(), vue.createElementBlock("path", {
            key: 1,
            class: vue.normalizeClass(_ctx.n("circle-background")),
            d: _ctx.circleProps.path,
            fill: "transparent",
            "stroke-width": _ctx.circleProps.strokeWidth,
            "stroke-dasharray": _ctx.CIRCUMFERENCE,
            style: vue.normalizeStyle({
              stroke: _ctx.trackColor
            })
          }, null, 14, _hoisted_6$1)) : vue.createCommentVNode("v-if", true),
          vue.createElementVNode("path", {
            class: vue.normalizeClass(_ctx.classes(_ctx.n("circle-certain"), _ctx.n(`circle--${_ctx.type}`), [_ctx.indeterminate, _ctx.n("circle-overlay")])),
            d: _ctx.circleProps.path,
            fill: "transparent",
            "stroke-width": _ctx.circleProps.strokeWidth,
            "stroke-dasharray": _ctx.CIRCUMFERENCE,
            "stroke-dashoffset": _ctx.circleProps.strokeOffset,
            style: vue.normalizeStyle({
              stroke: _ctx.progressColor,
              transform: `rotateZ(${_ctx.rotate}deg)`,
              transformOrigin: "50% 50%"
            })
          }, null, 14, _hoisted_7)
        ], 10, _hoisted_2$4)),
        _ctx.label ? (vue.openBlock(), vue.createElementBlock(
          "div",
          {
            key: 0,
            class: vue.normalizeClass(_ctx.classes(_ctx.n("circle-label"), _ctx.labelClass))
          },
          [
            vue.renderSlot(_ctx.$slots, "default", {}, () => [
              vue.createTextVNode(
                vue.toDisplayString(_ctx.circleProps.roundValue),
                1
                /* TEXT */
              )
            ])
          ],
          2
          /* CLASS */
        )) : vue.createCommentVNode("v-if", true)
      ],
      6
      /* CLASS, STYLE */
    )) : vue.createCommentVNode("v-if", true)
  ], 10, _hoisted_1$f);
}
const __sfc__$v = vue.defineComponent({
  name: name$o,
  props: props$o,
  setup(props2) {
    const id = useClientId();
    const linearProps = vue.computed(() => {
      const value = toNumber(props2.value);
      const width = clamp$1(value, MIN, MAX);
      const roundValue = clamp$1(Math.round(value), MIN, MAX);
      return {
        width: `${width}%`,
        roundValue: `${roundValue}%`,
        value: width
      };
    });
    const circleProps = vue.computed(() => {
      const { size, lineWidth, value } = props2;
      const diameter = RADIUS / (1 - toPxNum(lineWidth) / toPxNum(size)) * 2;
      const viewBox = `0 0 ${diameter} ${diameter}`;
      const roundValue = clamp$1(Math.round(toNumber(value)), MIN, MAX);
      const strokeOffset = `${(MAX - roundValue) / MAX * CIRCUMFERENCE}`;
      const strokeWidth = toPxNum(lineWidth) / toPxNum(size) * diameter;
      const beginPositionX = 0;
      const beginPositionY = -20;
      const endPositionX = 0;
      const endPositionY = -2 * RADIUS;
      const path = `M ${diameter / 2} ${diameter / 2} m ${beginPositionX} ${beginPositionY} a ${RADIUS} ${RADIUS} 
        0 1 1 ${endPositionX} ${40} a ${RADIUS} ${RADIUS} 0 1 1 ${-0} ${endPositionY}`;
      return {
        strokeWidth,
        viewBox,
        strokeOffset,
        roundValue: `${roundValue}%`,
        path,
        value: clamp$1(toNumber(value), MIN, MAX)
      };
    });
    const progressColor = vue.computed(() => {
      if (isPlainObject(props2.color)) {
        return `url(#${id.value})`;
      }
      return props2.color;
    });
    const linearGradientProgress = vue.computed(
      () => Object.keys(props2.color).sort((a, b) => parseFloat(a) - parseFloat(b))
    );
    return {
      id,
      linearProps,
      CIRCUMFERENCE,
      RADIUS,
      circleProps,
      progressColor,
      linearGradientProgress,
      n: n$r,
      classes: classes$l,
      toSizeUnit,
      isPlainObject
    };
  }
});
__sfc__$v.render = __render__$u;
var stdin_default$43 = __sfc__$v;
withInstall(stdin_default$43);
withPropsDefaultsSetter(stdin_default$43, props$o);
const _ProgressComponent = stdin_default$43;
var stdin_default$42 = stdin_default$43;
const props$n = {
  modelValue: Boolean,
  disabled: Boolean,
  animationDuration: {
    type: [Number, String],
    default: 300
  },
  successDuration: {
    type: [Number, String],
    default: 2e3
  },
  bgColor: String,
  successBgColor: String,
  color: String,
  successColor: String,
  target: [String, Object],
  onRefresh: defineListenerProp(),
  "onUpdate:modelValue": defineListenerProp()
};
var __async$4 = (__this, __arguments, generator) => {
  return new Promise((resolve, reject) => {
    var fulfilled = (value) => {
      try {
        step(generator.next(value));
      } catch (e) {
        reject(e);
      }
    };
    var rejected = (value) => {
      try {
        step(generator.throw(value));
      } catch (e) {
        reject(e);
      }
    };
    var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
    step((generator = generator.apply(__this, __arguments)).next());
  });
};
const { name: name$n, n: n$q, classes: classes$k } = createNamespace("pull-refresh");
const ICON_TRANSITION = 150;
function __render__$t(_ctx, _cache) {
  const _component_var_icon = vue.resolveComponent("var-icon");
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      ref: "freshNode",
      class: vue.normalizeClass(_ctx.n()),
      onTouchstart: _cache[0] || (_cache[0] = (...args) => _ctx.handleTouchstart && _ctx.handleTouchstart(...args)),
      onTouchend: _cache[1] || (_cache[1] = (...args) => _ctx.handleTouchend && _ctx.handleTouchend(...args)),
      onTouchcancel: _cache[2] || (_cache[2] = (...args) => _ctx.handleTouchend && _ctx.handleTouchend(...args))
    },
    [
      vue.createElementVNode(
        "div",
        {
          ref: "controlNode",
          class: vue.normalizeClass(_ctx.classes(_ctx.n("control"), _ctx.n("$-elevation--2"), [_ctx.isSuccess, _ctx.n("control-success")])),
          style: vue.normalizeStyle(_ctx.controlStyle)
        },
        [
          vue.createVNode(_component_var_icon, {
            name: _ctx.iconName,
            transition: _ctx.ICON_TRANSITION,
            class: vue.normalizeClass(_ctx.classes(_ctx.n("icon"), [_ctx.refreshStatus === "loading", _ctx.n("animation")])),
            "var-pull-refresh-cover": ""
          }, null, 8, ["name", "transition", "class"])
        ],
        6
        /* CLASS, STYLE */
      ),
      vue.renderSlot(_ctx.$slots, "default")
    ],
    34
    /* CLASS, NEED_HYDRATION */
  );
}
const __sfc__$u = vue.defineComponent({
  name: name$n,
  components: { VarIcon: stdin_default$63 },
  props: props$n,
  setup(props2) {
    const controlPosition = vue.ref(0);
    const freshNode = vue.ref(null);
    const controlNode = vue.ref(null);
    const startPosition = vue.ref(0);
    const distance = vue.ref("-125%");
    const iconName = vue.ref("arrow-down");
    const refreshStatus = vue.ref("default");
    const isEnd = vue.ref(false);
    const maxDistance = vue.computed(() => Math.abs(2 * controlPosition.value));
    const isSuccess = vue.computed(() => refreshStatus.value === "success");
    const isTouchable = vue.computed(
      () => refreshStatus.value !== "loading" && refreshStatus.value !== "success" && !props2.disabled
    );
    const controlStyle = vue.computed(() => ({
      transform: `translate3d(0px, ${isString(distance.value) ? distance.value : `${distance.value}px`}, 0px) translate(-50%, 0)`,
      transition: isEnd.value ? `transform ${props2.animationDuration}ms` : void 0,
      background: isSuccess.value ? props2.successBgColor : props2.bgColor,
      color: isSuccess.value ? props2.successColor : props2.color
    }));
    const { startTouch, moveTouch, endTouch, isReachTop } = useTouch();
    let scroller;
    let eventTargetScroller;
    vue.watch(
      () => props2.modelValue,
      (newValue) => {
        if (newValue === false) {
          isEnd.value = true;
          refreshStatus.value = "success";
          iconName.value = "checkbox-marked-circle";
          setTimeout(() => {
            distance.value = controlPosition.value;
            reset();
          }, toNumber(props2.successDuration));
        }
      }
    );
    onSmartMounted(setScroller);
    useEventListener(freshNode, "touchmove", handleTouchmove);
    function startIconTransition(name2) {
      if (iconName.value === name2) {
        return;
      }
      iconName.value = name2;
      return new Promise((resolve) => {
        window.setTimeout(resolve, ICON_TRANSITION);
      });
    }
    function lockEvent(action) {
      const el = "classList" in scroller ? scroller : document.body;
      el.classList[action](`${n$q()}--lock`);
    }
    function handleTouchstart(event) {
      startTouch(event);
      if (controlPosition.value === 0) {
        const { width } = getRect(controlNode.value);
        controlPosition.value = -(width + width * 0.25);
      }
      eventTargetScroller = getParentScroller(event.target);
    }
    function handleTouchmove(event) {
      moveTouch(event);
      if (!isTouchable.value || !eventTargetScroller) {
        return;
      }
      if (eventTargetScroller !== scroller && getScrollTop(eventTargetScroller) > 0) {
        return;
      }
      const scrollTop = getScrollTop(scroller);
      if (scrollTop > 0) {
        return;
      }
      if (isReachTop(scroller)) {
        preventDefault(event);
      }
      if (refreshStatus.value !== "pulling") {
        refreshStatus.value = "pulling";
        startPosition.value = event.touches[0].clientY;
      }
      if (isReachTop(scroller) && isNumber(distance.value) && distance.value > controlPosition.value) {
        lockEvent("add");
      }
      const moveDistance = (event.touches[0].clientY - startPosition.value) / 2 + controlPosition.value;
      distance.value = moveDistance >= maxDistance.value ? maxDistance.value : moveDistance;
      startIconTransition(distance.value >= maxDistance.value * 0.2 ? "refresh" : "arrow-down");
    }
    function handleTouchend() {
      return __async$4(this, null, function* () {
        endTouch();
        if (!isTouchable.value) {
          return;
        }
        isEnd.value = true;
        if (toNumber(distance.value) >= maxDistance.value * 0.2) {
          yield startIconTransition("refresh");
          refreshStatus.value = "loading";
          distance.value = maxDistance.value * 0.3;
          call(props2["onUpdate:modelValue"], true);
          vue.nextTick(() => {
            call(props2.onRefresh);
          });
          lockEvent("remove");
        } else {
          refreshStatus.value = "loosing";
          iconName.value = "arrow-down";
          distance.value = controlPosition.value;
          setTimeout(() => {
            isEnd.value = false;
            lockEvent("remove");
          }, toNumber(props2.animationDuration));
        }
        eventTargetScroller = null;
      });
    }
    function setScroller() {
      scroller = props2.target ? getTarget(props2.target, "PullRefresh") : getParentScroller(freshNode.value);
    }
    function reset() {
      setTimeout(() => {
        refreshStatus.value = "default";
        iconName.value = "arrow-down";
        isEnd.value = false;
      }, toNumber(props2.animationDuration));
    }
    return {
      ICON_TRANSITION,
      refreshStatus,
      freshNode,
      controlNode,
      iconName,
      controlStyle,
      isSuccess,
      n: n$q,
      classes: classes$k,
      handleTouchstart,
      handleTouchmove,
      handleTouchend
    };
  }
});
__sfc__$u.render = __render__$t;
var stdin_default$41 = __sfc__$u;
withInstall(stdin_default$41);
withPropsDefaultsSetter(stdin_default$41, props$n);
const _PullRefreshComponent = stdin_default$41;
var stdin_default$40 = stdin_default$41;
const props$m = {
  modelValue: {
    type: [String, Number, Boolean, Object, Array],
    default: false
  },
  checkedValue: {
    type: [String, Number, Boolean, Object, Array],
    default: true
  },
  uncheckedValue: {
    type: [String, Number, Boolean, Object, Array],
    default: false
  },
  disabled: Boolean,
  readonly: Boolean,
  checkedColor: String,
  uncheckedColor: String,
  iconSize: [String, Number],
  ripple: {
    type: Boolean,
    default: true
  },
  validateTrigger: {
    type: Array,
    default: () => ["onChange"]
  },
  rules: [Array, Function, Object],
  onClick: defineListenerProp(),
  onChange: defineListenerProp(),
  "onUpdate:modelValue": defineListenerProp()
};
const RADIO_GROUP_BIND_RADIO_KEY = Symbol("RADIO_GROUP_BIND_RADIO_KEY");
function useRadios() {
  const { bindChildren, childProviders, length } = useChildren(
    RADIO_GROUP_BIND_RADIO_KEY
  );
  return {
    length,
    radios: childProviders,
    bindRadios: bindChildren
  };
}
function useRadioGroup() {
  const { bindParent, parentProvider, index } = useParent(RADIO_GROUP_BIND_RADIO_KEY);
  return {
    index,
    radioGroup: parentProvider,
    bindRadioGroup: bindParent
  };
}
const { name: name$m, n: n$p, classes: classes$j } = createNamespace("radio");
const _hoisted_1$e = ["aria-checked"];
const _hoisted_2$3 = ["tabindex"];
function __render__$s(_ctx, _cache) {
  const _component_var_icon = vue.resolveComponent("var-icon");
  const _component_var_hover_overlay = vue.resolveComponent("var-hover-overlay");
  const _component_var_form_details = vue.resolveComponent("var-form-details");
  const _directive_ripple = vue.resolveDirective("ripple");
  const _directive_hover = vue.resolveDirective("hover");
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(_ctx.n("wrap"))
    },
    [
      vue.createElementVNode("div", vue.mergeProps({
        role: "radio",
        "aria-checked": _ctx.checked,
        class: _ctx.n()
      }, _ctx.$attrs, {
        onClick: _cache[3] || (_cache[3] = (...args) => _ctx.handleClick && _ctx.handleClick(...args))
      }), [
        vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
          ref: "action",
          class: vue.normalizeClass(
            _ctx.classes(
              _ctx.n("action"),
              [_ctx.checked, _ctx.n("--checked"), _ctx.n("--unchecked")],
              [_ctx.errorMessage || _ctx.radioGroupErrorMessage, _ctx.n("--error")],
              [_ctx.formDisabled || _ctx.disabled, _ctx.n("--disabled")]
            )
          ),
          tabindex: _ctx.tabIndex,
          style: vue.normalizeStyle({ color: _ctx.checked ? _ctx.checkedColor : _ctx.uncheckedColor }),
          onFocus: _cache[0] || (_cache[0] = ($event) => _ctx.isFocusing = true),
          onBlur: _cache[1] || (_cache[1] = ($event) => _ctx.isFocusing = false)
        }, [
          _ctx.checked ? vue.renderSlot(_ctx.$slots, "checked-icon", { key: 0 }, () => [
            vue.createVNode(_component_var_icon, {
              class: vue.normalizeClass(_ctx.n("icon")),
              "var-radio-cover": "",
              name: "radio-marked",
              size: _ctx.iconSize
            }, null, 8, ["class", "size"])
          ]) : vue.renderSlot(_ctx.$slots, "unchecked-icon", { key: 1 }, () => [
            vue.createVNode(_component_var_icon, {
              class: vue.normalizeClass(_ctx.n("icon")),
              "var-radio-cover": "",
              name: "radio-blank",
              size: _ctx.iconSize
            }, null, 8, ["class", "size"])
          ]),
          vue.createVNode(_component_var_hover_overlay, {
            hovering: !_ctx.disabled && !_ctx.formDisabled && _ctx.hovering,
            focusing: !_ctx.disabled && !_ctx.formDisabled && _ctx.isFocusing
          }, null, 8, ["hovering", "focusing"])
        ], 46, _hoisted_2$3)), [
          [_directive_ripple, { disabled: _ctx.formReadonly || _ctx.readonly || _ctx.formDisabled || _ctx.disabled || !_ctx.ripple }],
          [_directive_hover, _ctx.handleHovering, "desktop"]
        ]),
        _ctx.$slots.default ? (vue.openBlock(), vue.createElementBlock(
          "div",
          {
            key: 0,
            class: vue.normalizeClass(
              _ctx.classes(
                _ctx.n("text"),
                [_ctx.errorMessage || _ctx.radioGroupErrorMessage, _ctx.n("--error")],
                [_ctx.formDisabled || _ctx.disabled, _ctx.n("--disabled")]
              )
            ),
            onClick: _cache[2] || (_cache[2] = (...args) => _ctx.handleTextClick && _ctx.handleTextClick(...args))
          },
          [
            vue.renderSlot(_ctx.$slots, "default", { checked: _ctx.checked })
          ],
          2
          /* CLASS */
        )) : vue.createCommentVNode("v-if", true)
      ], 16, _hoisted_1$e),
      vue.createVNode(_component_var_form_details, { "error-message": _ctx.errorMessage }, null, 8, ["error-message"])
    ],
    2
    /* CLASS */
  );
}
const __sfc__$t = vue.defineComponent({
  name: name$m,
  directives: { Ripple: stdin_default$68, Hover: stdin_default$67 },
  components: {
    VarIcon: stdin_default$63,
    VarFormDetails: stdin_default$5W,
    VarHoverOverlay: stdin_default$65
  },
  inheritAttrs: false,
  props: props$m,
  setup(props2) {
    const action = vue.ref();
    const isFocusing = vue.ref(false);
    const value = useVModel(props2, "modelValue");
    const checked = vue.computed(() => value.value === props2.checkedValue);
    const { radioGroup, bindRadioGroup } = useRadioGroup();
    const { hovering, handleHovering } = useHoverOverlay();
    const { form, bindForm } = useForm();
    const tabIndex = vue.computed(() => {
      const disabled = (form == null ? void 0 : form.disabled.value) || props2.disabled;
      const isChecked = checked.value;
      const hasCheckedInRadioGroup = radioGroup == null ? void 0 : radioGroup.hasChecked.value;
      if (disabled) {
        return;
      }
      if (radioGroup && hasCheckedInRadioGroup && !isChecked) {
        return "-1";
      }
      return "0";
    });
    const {
      errorMessage,
      validateWithTrigger: vt,
      validate: v,
      // expose
      resetValidation
    } = useValidation();
    const radioProvider = {
      sync,
      validate,
      resetValidation,
      reset,
      isFocusing: vue.computed(() => isFocusing.value),
      // keyboard arrow move
      move() {
        action.value.focus();
        action.value.click();
      },
      moveable() {
        return !(form == null ? void 0 : form.disabled.value) && !props2.disabled && !(form == null ? void 0 : form.readonly.value) && !props2.readonly;
      }
    };
    call(bindRadioGroup, radioProvider);
    call(bindForm, radioProvider);
    useEventListener(() => window, "keydown", handleKeydown);
    useEventListener(() => window, "keyup", handleKeyup);
    function handleKeydown(event) {
      if (!isFocusing.value) {
        return;
      }
      const { key: key3 } = event;
      if (key3 === "Enter" || key3 === " ") {
        preventDefault(event);
      }
      if (key3 === "Enter") {
        action.value.click();
      }
    }
    function handleKeyup(event) {
      if (!isFocusing.value) {
        return;
      }
      if (event.key === " ") {
        preventDefault(event);
        action.value.click();
      }
    }
    function validateWithTrigger(trigger) {
      vue.nextTick(() => {
        const { validateTrigger, rules, modelValue } = props2;
        vt(validateTrigger, trigger, rules, modelValue);
      });
    }
    function change(changedValue) {
      const { checkedValue, onChange } = props2;
      if (radioGroup && value.value === checkedValue) {
        return;
      }
      value.value = changedValue;
      call(onChange, value.value);
      radioGroup == null ? void 0 : radioGroup.onToggle(checkedValue);
      validateWithTrigger("onChange");
    }
    function handleClick(e) {
      const { disabled, readonly, uncheckedValue, checkedValue, onClick } = props2;
      if ((form == null ? void 0 : form.disabled.value) || disabled) {
        return;
      }
      call(onClick, e);
      if ((form == null ? void 0 : form.readonly.value) || readonly) {
        return;
      }
      change(checked.value ? uncheckedValue : checkedValue);
    }
    function handleTextClick() {
      action.value.focus();
    }
    function sync(v2) {
      const { checkedValue, uncheckedValue } = props2;
      const checked2 = v2 === checkedValue;
      value.value = checked2 ? checkedValue : uncheckedValue;
      return checked2;
    }
    function reset() {
      value.value = props2.uncheckedValue;
      resetValidation();
    }
    function validate() {
      return v(props2.rules, props2.modelValue);
    }
    function toggle(changedValue) {
      const { uncheckedValue, checkedValue } = props2;
      const shouldReverse = ![uncheckedValue, checkedValue].includes(changedValue);
      if (shouldReverse) {
        changedValue = checked.value ? uncheckedValue : checkedValue;
      }
      change(changedValue);
    }
    return {
      action,
      isFocusing,
      checked,
      errorMessage,
      radioGroupErrorMessage: radioGroup == null ? void 0 : radioGroup.errorMessage,
      formDisabled: form == null ? void 0 : form.disabled,
      formReadonly: form == null ? void 0 : form.readonly,
      hovering,
      tabIndex,
      handleHovering,
      n: n$p,
      classes: classes$j,
      handleClick,
      handleTextClick,
      toggle,
      reset,
      validate,
      resetValidation
    };
  }
});
__sfc__$t.render = __render__$s;
var stdin_default$3$ = __sfc__$t;
withInstall(stdin_default$3$);
withPropsDefaultsSetter(stdin_default$3$, props$m);
const _RadioComponent = stdin_default$3$;
var stdin_default$3_ = stdin_default$3$;
const props$l = {
  modelValue: {
    type: [String, Number, Boolean, Object, Array],
    default: void 0
  },
  direction: {
    type: String,
    default: "horizontal"
  },
  options: {
    type: Array,
    default: () => []
  },
  ariaLabel: {
    type: String,
    default: ""
  },
  labelKey: {
    type: String,
    default: "label"
  },
  valueKey: {
    type: String,
    default: "value"
  },
  validateTrigger: {
    type: Array,
    default: () => ["onChange"]
  },
  rules: [Array, Function, Object],
  onChange: defineListenerProp(),
  "onUpdate:modelValue": defineListenerProp()
};
const { name: name$l, n: n$o, classes: classes$i } = createNamespace("radio-group");
const _hoisted_1$d = ["aria-label"];
function __render__$r(_ctx, _cache) {
  const _component_maybe_v_node = vue.resolveComponent("maybe-v-node");
  const _component_var_radio = vue.resolveComponent("var-radio");
  const _component_var_form_details = vue.resolveComponent("var-form-details");
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(_ctx.n("wrap"))
    },
    [
      vue.createElementVNode("div", {
        "aria-label": _ctx.ariaLabel,
        role: "radiogroup",
        class: vue.normalizeClass(_ctx.classes(_ctx.n(), _ctx.n(`--${_ctx.direction}`)))
      }, [
        _ctx.options.length ? (vue.openBlock(true), vue.createElementBlock(
          vue.Fragment,
          { key: 0 },
          vue.renderList(_ctx.options, (option) => {
            return vue.openBlock(), vue.createBlock(_component_var_radio, {
              key: option[_ctx.valueKey],
              "checked-value": option[_ctx.valueKey],
              disabled: option.disabled
            }, {
              default: vue.withCtx(({ checked }) => [
                vue.createVNode(_component_maybe_v_node, {
                  is: _ctx.isFunction(option[_ctx.labelKey]) ? option[_ctx.labelKey](option, checked) : option[_ctx.labelKey]
                }, null, 8, ["is"])
              ]),
              _: 2
              /* DYNAMIC */
            }, 1032, ["checked-value", "disabled"]);
          }),
          128
          /* KEYED_FRAGMENT */
        )) : vue.createCommentVNode("v-if", true),
        vue.renderSlot(_ctx.$slots, "default")
      ], 10, _hoisted_1$d),
      vue.createVNode(_component_var_form_details, { "error-message": _ctx.errorMessage }, null, 8, ["error-message"])
    ],
    2
    /* CLASS */
  );
}
const __sfc__$s = vue.defineComponent({
  name: name$l,
  components: { VarFormDetails: stdin_default$5W, VarRadio: stdin_default$3_, MaybeVNode },
  props: props$l,
  setup(props2) {
    const { length, radios, bindRadios } = useRadios();
    const { bindForm } = useForm();
    const {
      errorMessage,
      validateWithTrigger: vt,
      validate: v,
      // expose
      resetValidation
    } = useValidation();
    const radioGroupErrorMessage = vue.computed(() => errorMessage.value);
    const hasChecked = vue.ref(false);
    const radioGroupProvider = {
      onToggle,
      validate,
      reset,
      resetValidation,
      hasChecked: vue.computed(() => hasChecked.value),
      errorMessage: radioGroupErrorMessage
    };
    vue.watch(() => props2.modelValue, syncRadios);
    vue.watch(() => length.value, syncRadios);
    call(bindForm, radioGroupProvider);
    bindRadios(radioGroupProvider);
    useEventListener(() => window, "keydown", handleKeydown);
    function handleKeydown(event) {
      const focusingRadioIndex = radios.findIndex(({ isFocusing }) => isFocusing.value);
      if (focusingRadioIndex === -1) {
        return;
      }
      const hasMoveableRadio = radios.some(({ moveable }, index) => index === focusingRadioIndex ? false : moveable());
      if (!hasMoveableRadio) {
        return;
      }
      if (["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"].includes(event.key)) {
        preventDefault(event);
      }
      if (event.key === "ArrowUp" || event.key === "ArrowLeft") {
        moveRadio(focusingRadioIndex, "prev");
        return;
      }
      if (event.key === "ArrowDown" || event.key === "ArrowRight") {
        moveRadio(focusingRadioIndex, "next");
      }
    }
    function moveRadio(fromIndex, method) {
      const looping = true;
      while (looping) {
        if (method === "prev") {
          fromIndex--;
        } else {
          fromIndex++;
        }
        if (fromIndex < 0) {
          fromIndex = radios.length - 1;
        }
        if (fromIndex > radios.length - 1) {
          fromIndex = 0;
        }
        const radio = radios[fromIndex];
        if (radio.moveable()) {
          radio.move();
          break;
        }
      }
    }
    function validateWithTrigger(trigger) {
      vue.nextTick(() => {
        const { validateTrigger, rules, modelValue } = props2;
        vt(validateTrigger, trigger, rules, modelValue);
      });
    }
    function syncRadios() {
      radios.forEach(({ sync }) => {
        if (sync(props2.modelValue)) {
          hasChecked.value = true;
        }
      });
    }
    function onToggle(changedValue) {
      call(props2["onUpdate:modelValue"], changedValue);
      call(props2.onChange, changedValue);
      validateWithTrigger("onChange");
    }
    function validate() {
      return v(props2.rules, props2.modelValue);
    }
    function reset() {
      call(props2["onUpdate:modelValue"], void 0);
      resetValidation();
    }
    return {
      errorMessage,
      n: n$o,
      classes: classes$i,
      reset,
      validate,
      resetValidation,
      isFunction
    };
  }
});
__sfc__$s.render = __render__$r;
var stdin_default$3Z = __sfc__$s;
withInstall(stdin_default$3Z);
withPropsDefaultsSetter(stdin_default$3Z, props$l);
const _RadioGroupComponent = stdin_default$3Z;
var stdin_default$3Y = stdin_default$3Z;
const props$k = {
  modelValue: {
    type: Number,
    default: 0
  },
  count: {
    type: [String, Number],
    default: 5
  },
  color: String,
  icon: {
    type: String,
    default: "star"
  },
  emptyIcon: {
    type: String,
    default: "star-outline"
  },
  halfIcon: {
    type: String,
    default: "star-half-full"
  },
  namespace: pickProps(props$1k, "namespace"),
  emptyIconNamespace: pickProps(props$1k, "namespace"),
  halfIconNamespace: pickProps(props$1k, "namespace"),
  emptyColor: String,
  size: [String, Number],
  gap: [String, Number],
  half: Boolean,
  disabled: Boolean,
  disabledColor: String,
  readonly: Boolean,
  ripple: {
    type: Boolean,
    default: true
  },
  clearable: Boolean,
  rules: Array,
  onChange: defineListenerProp(),
  "onUpdate:modelValue": defineListenerProp()
};
const { name: name$k, n: n$n } = createNamespace("rate");
const _hoisted_1$c = ["onClick"];
function __render__$q(_ctx, _cache) {
  const _component_var_icon = vue.resolveComponent("var-icon");
  const _component_var_hover_overlay = vue.resolveComponent("var-hover-overlay");
  const _component_var_form_details = vue.resolveComponent("var-form-details");
  const _directive_ripple = vue.resolveDirective("ripple");
  const _directive_hover = vue.resolveDirective("hover");
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(_ctx.n("wrap"))
    },
    [
      vue.createElementVNode(
        "div",
        {
          class: vue.normalizeClass(_ctx.n())
        },
        [
          (vue.openBlock(true), vue.createElementBlock(
            vue.Fragment,
            null,
            vue.renderList(_ctx.toNumber(_ctx.count), (value) => {
              return vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
                key: value,
                style: vue.normalizeStyle(_ctx.getStyle(value)),
                class: vue.normalizeClass(_ctx.getClass(value)),
                onClick: ($event) => _ctx.handleClick(value, $event)
              }, [
                vue.createVNode(_component_var_icon, {
                  class: vue.normalizeClass(_ctx.n("content-icon")),
                  "var-rate-cover": "",
                  transition: 0,
                  namespace: _ctx.getCurrentState(value).namespace,
                  name: _ctx.getCurrentState(value).name,
                  style: vue.normalizeStyle({ fontSize: _ctx.toSizeUnit(_ctx.size) })
                }, null, 8, ["class", "namespace", "name", "style"]),
                vue.createVNode(_component_var_hover_overlay, {
                  hovering: _ctx.hovering && value === _ctx.currentHoveringValue && !_ctx.disabled && !_ctx.formDisabled
                }, null, 8, ["hovering"])
              ], 14, _hoisted_1$c)), [
                [_directive_ripple, { disabled: _ctx.formReadonly || _ctx.readonly || _ctx.formDisabled || _ctx.disabled || !_ctx.ripple }],
                [_directive_hover, _ctx.createHoverHandler(value), "desktop"]
              ]);
            }),
            128
            /* KEYED_FRAGMENT */
          ))
        ],
        2
        /* CLASS */
      ),
      vue.createVNode(_component_var_form_details, { "error-message": _ctx.errorMessage }, null, 8, ["error-message"])
    ],
    2
    /* CLASS */
  );
}
const __sfc__$r = vue.defineComponent({
  name: name$k,
  components: {
    VarIcon: stdin_default$63,
    VarFormDetails: stdin_default$5W,
    VarHoverOverlay: stdin_default$65
  },
  directives: { Ripple: stdin_default$68, Hover: stdin_default$67 },
  props: props$k,
  setup(props2) {
    const currentHoveringValue = vue.ref(-1);
    const { form, bindForm } = useForm();
    const { errorMessage, validateWithTrigger: vt, validate: v, resetValidation } = useValidation();
    const { hovering } = useHoverOverlay();
    let lastScore = toNumber(props2.modelValue);
    const rateProvider = {
      reset,
      validate,
      resetValidation
    };
    call(bindForm, rateProvider);
    function getStyle2(val) {
      const { count, gap } = props2;
      return {
        color: getCurrentState(val).color,
        marginRight: val !== toNumber(count) ? toSizeUnit(gap) : 0
      };
    }
    function getClass(val) {
      const { name: name2, color } = getCurrentState(val);
      return {
        [n$n("content")]: true,
        [n$n("--disabled")]: (form == null ? void 0 : form.disabled.value) || props2.disabled,
        [n$n("--error")]: errorMessage.value,
        [n$n("--primary")]: name2 !== props2.emptyIcon && !color
      };
    }
    function getCurrentState(index) {
      const {
        modelValue,
        disabled,
        disabledColor,
        color,
        half: half2,
        emptyColor,
        icon,
        halfIcon,
        emptyIcon,
        namespace,
        halfIconNamespace,
        emptyIconNamespace
      } = props2;
      let iconColor = color;
      if (disabled || (form == null ? void 0 : form.disabled.value)) {
        iconColor = disabledColor;
      }
      if (index <= modelValue) {
        return { color: iconColor, name: icon, namespace };
      }
      if (half2 && index <= modelValue + 0.5) {
        return { color: iconColor, name: halfIcon, namespace: halfIconNamespace };
      }
      return {
        color: disabled || (form == null ? void 0 : form.disabled.value) ? disabledColor : emptyColor,
        name: emptyIcon,
        namespace: emptyIconNamespace
      };
    }
    function changeValue(score, event) {
      const { half: half2, clearable } = props2;
      const { offsetWidth } = event.target;
      if (half2 && event.offsetX <= Math.floor(offsetWidth / 2)) {
        score -= 0.5;
      }
      if (lastScore === score && clearable) {
        score = 0;
      }
      if (lastScore !== score) {
        call(props2["onUpdate:modelValue"], score);
        call(props2.onChange, score);
      }
      lastScore = score;
    }
    function validate() {
      return v(props2.rules, props2.modelValue);
    }
    function validateWithTrigger() {
      vue.nextTick(() => vt(["onChange"], "onChange", props2.rules, props2.modelValue));
    }
    function handleClick(score, event) {
      const { readonly, disabled } = props2;
      if (readonly || disabled || (form == null ? void 0 : form.disabled.value) || (form == null ? void 0 : form.readonly.value)) {
        return;
      }
      changeValue(score, event);
      validateWithTrigger();
    }
    function createHoverHandler(value) {
      return (isHover) => {
        currentHoveringValue.value = value;
        hovering.value = isHover;
      };
    }
    function reset() {
      call(props2["onUpdate:modelValue"], 0);
      resetValidation();
    }
    return {
      errorMessage,
      formDisabled: form == null ? void 0 : form.disabled,
      formReadonly: form == null ? void 0 : form.readonly,
      hovering,
      currentHoveringValue,
      getStyle: getStyle2,
      getClass,
      getCurrentState,
      handleClick,
      createHoverHandler,
      reset,
      validate,
      resetValidation,
      toSizeUnit,
      toNumber,
      n: n$n
    };
  }
});
__sfc__$r.render = __render__$q;
var stdin_default$3X = __sfc__$r;
withInstall(stdin_default$3X);
withPropsDefaultsSetter(stdin_default$3X, props$k);
const _RateComponent = stdin_default$3X;
var stdin_default$3W = stdin_default$3X;
const props$j = {
  imageSize: [String, Number],
  type: {
    type: String,
    default: "success"
  },
  title: String,
  description: String,
  animation: {
    type: Boolean,
    default: true
  }
};
const _hoisted_1$b = { viewBox: "-4 -4 32 32" };
function __render__$p(_ctx, _cache) {
  return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$b, _cache[0] || (_cache[0] = [
    vue.createElementVNode(
      "path",
      {
        fill: "currentColor",
        d: "M2,10.96C1.5,10.68 1.35,10.07 1.63,9.59L3.13,7C3.24,6.8 3.41,6.66 3.6,6.58L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.66,6.72 20.82,6.88 20.91,7.08L22.36,9.6C22.64,10.08 22.47,10.69 22,10.96L21,11.54V16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V10.96C2.7,11.13 2.32,11.14 2,10.96M12,4.15V4.15L12,10.85V10.85L17.96,7.5L12,4.15M5,15.91L11,19.29V12.58L5,9.21V15.91M19,15.91V12.69L14,15.59C13.67,15.77 13.3,15.76 13,15.6V19.29L19,15.91M13.85,13.36L20.13,9.73L19.55,8.72L13.27,12.35L13.85,13.36Z"
      },
      null,
      -1
      /* HOISTED */
    )
  ]));
}
const __sfc__$q = vue.defineComponent({});
__sfc__$q.render = __render__$p;
var stdin_default$3V = __sfc__$q;
const _hoisted_1$a = {
  xmlns: "http://www.w3.org/2000/svg",
  viewBox: "2 2 20 20"
};
function __render__$o(_ctx, _cache) {
  return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$a, _cache[0] || (_cache[0] = [
    vue.createElementVNode(
      "path",
      { d: "M19,3V5H19V19M17,8.4L13.4,12L17,15.6L15.6,17L12,13.4L8.4,17L7,15.6L10.6,12L7,8.4L8.4,7L12,10.6L15.6,7L17,8.4Z" },
      null,
      -1
      /* HOISTED */
    )
  ]));
}
const __sfc__$p = vue.defineComponent({});
__sfc__$p.render = __render__$o;
var stdin_default$3U = __sfc__$p;
const _hoisted_1$9 = {
  xmlns: "http://www.w3.org/2000/svg",
  viewBox: "2 3.6 20 20"
};
function __render__$n(_ctx, _cache) {
  return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$9, _cache[0] || (_cache[0] = [
    vue.createElementVNode(
      "path",
      { d: "M11,9H13V7H11M11,20H13V11H11V20Z" },
      null,
      -1
      /* HOISTED */
    )
  ]));
}
const __sfc__$o = vue.defineComponent({});
__sfc__$o.render = __render__$n;
var stdin_default$3T = __sfc__$o;
const _hoisted_1$8 = {
  xmlns: "http://www.w3.org/2000/svg",
  viewBox: "-3 -3 30 30"
};
function __render__$m(_ctx, _cache) {
  return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$8, _cache[0] || (_cache[0] = [
    vue.createElementVNode(
      "path",
      { d: "M10,19H13V22H10V19M12,2C17.35,2.22 19.68,7.62 16.5,11.67C15.67,12.67 14.33,13.33 13.67,14.17C13,15 13,16 13,17H10C10,15.33 10,13.92 10.67,12.92C11.33,11.92 12.67,11.33 13.5,10.67C15.92,8.43 15.32,5.26 12,5A3,3 0 0,0 9,8H6A6,6 0 0,1 12,2Z" },
      null,
      -1
      /* HOISTED */
    )
  ]));
}
const __sfc__$n = vue.defineComponent({});
__sfc__$n.render = __render__$m;
var stdin_default$3S = __sfc__$n;
const { n: n$m, classes: classes$h } = createNamespace("result");
function __render__$l(_ctx, _cache) {
  return vue.openBlock(), vue.createElementBlock(
    vue.Fragment,
    null,
    [
      vue.createElementVNode(
        "span",
        {
          class: vue.normalizeClass(_ctx.n("success-cover-left"))
        },
        null,
        2
        /* CLASS */
      ),
      vue.createElementVNode(
        "span",
        {
          class: vue.normalizeClass(_ctx.classes(_ctx.n("success-line"), _ctx.n("success-line-tip"))),
          style: vue.normalizeStyle({
            animationDuration: _ctx.animation ? "760ms" : "0ms",
            borderRadius: `calc(${_ctx.borderSize} * 0.625)`
          })
        },
        null,
        6
        /* CLASS, STYLE */
      ),
      vue.createElementVNode(
        "span",
        {
          class: vue.normalizeClass(_ctx.classes(_ctx.n("success-line"), _ctx.n("success-line-long"))),
          style: vue.normalizeStyle({
            animationDuration: _ctx.animation ? "770ms" : "0ms",
            borderRadius: `calc(${_ctx.borderSize} * 0.625)`
          })
        },
        null,
        6
        /* CLASS, STYLE */
      ),
      vue.createElementVNode(
        "span",
        {
          ref: "circle",
          class: vue.normalizeClass(_ctx.n("success-circle")),
          style: vue.normalizeStyle({ left: `-${_ctx.borderSize}`, top: `-${_ctx.borderSize}`, borderWidth: _ctx.borderSize })
        },
        null,
        6
        /* CLASS, STYLE */
      ),
      vue.createElementVNode(
        "span",
        {
          class: vue.normalizeClass(_ctx.n("success-line-fix"))
        },
        null,
        2
        /* CLASS */
      ),
      vue.createElementVNode(
        "span",
        {
          class: vue.normalizeClass(_ctx.n("success-cover-right")),
          style: vue.normalizeStyle({
            animationDuration: _ctx.animation ? "4250ms" : "0ms"
          })
        },
        null,
        6
        /* CLASS, STYLE */
      )
    ],
    64
    /* STABLE_FRAGMENT */
  );
}
const __sfc__$m = vue.defineComponent({
  props: {
    animation: {
      type: Boolean
    },
    borderSize: {
      type: String
    }
  },
  setup() {
    return {
      n: n$m,
      classes: classes$h
    };
  }
});
__sfc__$m.render = __render__$l;
var stdin_default$3R = __sfc__$m;
const _hoisted_1$7 = {
  xmlns: "http://www.w3.org/2000/svg",
  viewBox: "-6 -4 35 35"
};
function __render__$k(_ctx, _cache) {
  return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$7, _cache[0] || (_cache[0] = [
    vue.createElementVNode(
      "path",
      { d: "M10,21H14A2,2 0 0,1 12,23A2,2 0 0,1 10,21M21,19V20H3V19L5,17V11C5,7.9 7.03,5.17 10,4.29C10,4.19 10,4.1 10,4A2,2 0 0,1 12,2A2,2 0 0,1 14,4C14,4.1 14,4.19 14,4.29C16.97,5.17 19,7.9 19,11V17L21,19M17,11A5,5 0 0,0 12,6A5,5 0 0,0 7,11V18H17V11M19.75,3.19L18.33,4.61M1,11" },
      null,
      -1
      /* HOISTED */
    )
  ]));
}
const __sfc__$l = vue.defineComponent({});
__sfc__$l.render = __render__$k;
var stdin_default$3Q = __sfc__$l;
const { name: name$j, n: n$l, classes: classes$g } = createNamespace("result");
function __render__$j(_ctx, _cache) {
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(_ctx.classes(_ctx.n(), _ctx.n("$--box")))
    },
    [
      vue.renderSlot(_ctx.$slots, "image", {}, () => [
        _ctx.type ? (vue.openBlock(), vue.createElementBlock(
          "div",
          {
            key: 0,
            class: vue.normalizeClass(_ctx.n("image-container"))
          },
          [
            vue.createElementVNode(
              "div",
              {
                class: vue.normalizeClass(_ctx.classes(_ctx.n("image"), _ctx.n(_ctx.type))),
                style: vue.normalizeStyle({
                  width: _ctx.circleSize,
                  height: _ctx.circleSize,
                  borderWidth: _ctx.borderSize
                })
              },
              [
                (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.type), {
                  "border-size": _ctx.borderSize,
                  animation: _ctx.animation
                }, null, 8, ["border-size", "animation"]))
              ],
              6
              /* CLASS, STYLE */
            )
          ],
          2
          /* CLASS */
        )) : vue.createCommentVNode("v-if", true)
      ]),
      vue.renderSlot(_ctx.$slots, "title", {}, () => [
        _ctx.title ? (vue.openBlock(), vue.createElementBlock(
          "div",
          {
            key: 0,
            class: vue.normalizeClass(_ctx.n("title"))
          },
          vue.toDisplayString(_ctx.title),
          3
          /* TEXT, CLASS */
        )) : vue.createCommentVNode("v-if", true)
      ]),
      vue.renderSlot(_ctx.$slots, "description", {}, () => [
        _ctx.description ? (vue.openBlock(), vue.createElementBlock(
          "div",
          {
            key: 0,
            class: vue.normalizeClass(_ctx.n("description"))
          },
          vue.toDisplayString(_ctx.description),
          3
          /* TEXT, CLASS */
        )) : vue.createCommentVNode("v-if", true)
      ]),
      _ctx.$slots.footer ? (vue.openBlock(), vue.createElementBlock(
        "div",
        {
          key: 0,
          class: vue.normalizeClass(_ctx.n("footer"))
        },
        [
          vue.renderSlot(_ctx.$slots, "footer")
        ],
        2
        /* CLASS */
      )) : vue.createCommentVNode("v-if", true)
    ],
    2
    /* CLASS */
  );
}
const __sfc__$k = vue.defineComponent({
  name: name$j,
  components: {
    Info: stdin_default$3T,
    Success: stdin_default$3R,
    Warning: stdin_default$3Q,
    Error: stdin_default$3U,
    Question: stdin_default$3S,
    Empty: stdin_default$3V
  },
  props: props$j,
  setup(props2) {
    const circleSize = vue.computed(
      () => `calc(${props2.imageSize ? toSizeUnit(props2.imageSize) : "var(--result-image-size)"} * 0.9)`
    );
    const borderSize = vue.computed(
      () => `calc(${props2.imageSize ? toSizeUnit(props2.imageSize) : "var(--result-image-size)"} * 0.05)`
    );
    return {
      circleSize,
      borderSize,
      n: n$l,
      classes: classes$g
    };
  }
});
__sfc__$k.render = __render__$j;
var stdin_default$3P = __sfc__$k;
withInstall(stdin_default$3P);
withPropsDefaultsSetter(stdin_default$3P, props$j);
const _ResultComponent = stdin_default$3P;
var stdin_default$3O = stdin_default$3P;
const props$i = {
  gutter: {
    type: [String, Number, Array],
    default: 0
  },
  justify: {
    type: String,
    default: "flex-start"
  },
  align: {
    type: String,
    default: "flex-start"
  },
  onClick: defineListenerProp()
};
const { name: name$i, n: n$k, classes: classes$f } = createNamespace("row");
function __render__$i(_ctx, _cache) {
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(_ctx.classes(_ctx.n(), _ctx.n("$--box"))),
      style: vue.normalizeStyle({
        justifyContent: _ctx.padStartFlex(_ctx.justify),
        alignItems: _ctx.padStartFlex(_ctx.align),
        margin: `${-_ctx.average[0]}px ${-_ctx.average[1]}px`
      }),
      onClick: _cache[0] || (_cache[0] = (...args) => _ctx.handleClick && _ctx.handleClick(...args))
    },
    [
      vue.renderSlot(_ctx.$slots, "default")
    ],
    6
    /* CLASS, STYLE */
  );
}
const __sfc__$j = vue.defineComponent({
  name: name$i,
  props: props$i,
  setup(props2) {
    const average = vue.computed(
      () => isArray(props2.gutter) ? props2.gutter.map((numeric) => toPxNum(numeric) / 2) : [0, toPxNum(props2.gutter) / 2]
    );
    const { bindCols } = useCols();
    bindCols({ average });
    function handleClick(e) {
      call(props2.onClick, e);
    }
    return {
      average,
      n: n$k,
      classes: classes$f,
      handleClick,
      padStartFlex
    };
  }
});
__sfc__$j.render = __render__$i;
var stdin_default$3N = __sfc__$j;
withInstall(stdin_default$3N);
withPropsDefaultsSetter(stdin_default$3N, props$i);
const _RowComponent = stdin_default$3N;
var stdin_default$3M = stdin_default$3N;
var __defProp$6 = Object.defineProperty;
var __getOwnPropSymbols$6 = Object.getOwnPropertySymbols;
var __hasOwnProp$6 = Object.prototype.hasOwnProperty;
var __propIsEnum$6 = Object.prototype.propertyIsEnumerable;
var __defNormalProp$6 = (obj, key3, value) => key3 in obj ? __defProp$6(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues$6 = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$6.call(b, prop))
      __defNormalProp$6(a, prop, b[prop]);
  if (__getOwnPropSymbols$6)
    for (var prop of __getOwnPropSymbols$6(b)) {
      if (__propIsEnum$6.call(b, prop))
        __defNormalProp$6(a, prop, b[prop]);
    }
  return a;
};
const props$h = __spreadValues$6({
  modelValue: {
    type: [String, Number, Boolean, Array],
    default: void 0
  },
  options: {
    type: Array,
    default: () => []
  },
  labelKey: {
    type: String,
    default: "label"
  },
  valueKey: {
    type: String,
    default: "value"
  },
  multiple: Boolean,
  offsetY: {
    type: [String, Number],
    default: 0
  },
  chip: Boolean,
  readonly: Boolean,
  separator: {
    type: String,
    default: ","
  },
  textAlign: {
    type: String,
    default: "left"
  },
  validateTrigger: {
    type: Array,
    default: () => ["onChange", "onClear", "onClose"]
  },
  rules: [Array, Function, Object],
  onFocus: defineListenerProp(),
  onBlur: defineListenerProp(),
  onClose: defineListenerProp(),
  onChange: defineListenerProp(),
  onClear: defineListenerProp(),
  "onUpdate:modelValue": defineListenerProp()
}, pickProps(props$1f, [
  "size",
  "variant",
  "placeholder",
  "line",
  "hint",
  "textColor",
  "focusColor",
  "blurColor",
  "disabled",
  "clearable",
  "onClick"
]));
const { name: name$h, n: n$j, classes: classes$e } = createNamespace("select");
const _hoisted_1$6 = ["tabindex"];
function __render__$h(_ctx, _cache) {
  const _component_maybe_v_node = vue.resolveComponent("maybe-v-node");
  const _component_var_chip = vue.resolveComponent("var-chip");
  const _component_var_icon = vue.resolveComponent("var-icon");
  const _component_var_field_decorator = vue.resolveComponent("var-field-decorator");
  const _component_var_option = vue.resolveComponent("var-option");
  const _component_var_menu = vue.resolveComponent("var-menu");
  const _component_var_form_details = vue.resolveComponent("var-form-details");
  return vue.openBlock(), vue.createElementBlock("div", {
    ref: "root",
    class: vue.normalizeClass(_ctx.n()),
    tabindex: _ctx.disabled || _ctx.formDisabled ? void 0 : "0",
    onFocus: _cache[3] || (_cache[3] = (...args) => _ctx.handleFocus && _ctx.handleFocus(...args)),
    onBlur: _cache[4] || (_cache[4] = (...args) => _ctx.handleRootBlur && _ctx.handleRootBlur(...args))
  }, [
    vue.createVNode(_component_var_menu, {
      show: _ctx.showMenu,
      "onUpdate:show": _cache[1] || (_cache[1] = ($event) => _ctx.showMenu = $event),
      "var-select-cover": "",
      "same-width": "",
      "close-on-click-reference": "",
      "close-on-key-escape": false,
      class: vue.normalizeClass(_ctx.n("menu")),
      "popover-class": _ctx.variant === "standard" && _ctx.hint ? _ctx.n("--standard-menu-margin") : void 0,
      "offset-y": _ctx.offsetY,
      disabled: _ctx.formReadonly || _ctx.readonly || _ctx.formDisabled || _ctx.disabled,
      placement: _ctx.placement,
      "default-style": false,
      onClickOutside: _ctx.handleClickOutside
    }, {
      menu: vue.withCtx(() => [
        vue.createElementVNode(
          "div",
          {
            ref: "menuEl",
            class: vue.normalizeClass(_ctx.classes(_ctx.n("scroller"), _ctx.n("$-elevation--3")))
          },
          [
            _ctx.options.length ? (vue.openBlock(true), vue.createElementBlock(
              vue.Fragment,
              { key: 0 },
              vue.renderList(_ctx.options, (option) => {
                return vue.openBlock(), vue.createBlock(_component_var_option, {
                  key: option[_ctx.valueKey],
                  label: option[_ctx.labelKey],
                  value: option[_ctx.valueKey],
                  option,
                  disabled: option.disabled,
                  ripple: option.ripple
                }, null, 8, ["label", "value", "option", "disabled", "ripple"]);
              }),
              128
              /* KEYED_FRAGMENT */
            )) : vue.createCommentVNode("v-if", true),
            vue.renderSlot(_ctx.$slots, "default")
          ],
          2
          /* CLASS */
        )
      ]),
      default: vue.withCtx(() => [
        vue.createVNode(
          _component_var_field_decorator,
          vue.normalizeProps(vue.guardReactiveProps({
            value: _ctx.modelValue,
            size: _ctx.size,
            variant: _ctx.variant,
            placeholder: _ctx.placeholder,
            line: _ctx.line,
            hint: _ctx.hint,
            textColor: _ctx.textColor,
            focusColor: _ctx.focusColor,
            blurColor: _ctx.blurColor,
            isFocusing: _ctx.isFocusing,
            isError: !!_ctx.errorMessage,
            formDisabled: _ctx.formDisabled,
            disabled: _ctx.disabled,
            clearable: _ctx.clearable,
            cursor: _ctx.cursor,
            onClick: _ctx.handleClick,
            onClear: _ctx.handleClear
          })),
          vue.createSlots({
            "clear-icon": vue.withCtx(({ clear: clear2 }) => [
              vue.renderSlot(_ctx.$slots, "clear-icon", { clear: clear2 })
            ]),
            "append-icon": vue.withCtx(() => [
              vue.renderSlot(_ctx.$slots, "append-icon")
            ]),
            default: vue.withCtx(() => [
              vue.createElementVNode(
                "div",
                {
                  class: vue.normalizeClass(_ctx.classes(_ctx.n("select"), [_ctx.errorMessage, _ctx.n("--error")], [_ctx.formDisabled || _ctx.disabled, _ctx.n("--disabled")])),
                  style: vue.normalizeStyle({
                    textAlign: _ctx.textAlign,
                    color: _ctx.textColor
                  })
                },
                [
                  vue.createElementVNode(
                    "div",
                    {
                      class: vue.normalizeClass(_ctx.n("label"))
                    },
                    [
                      !_ctx.isEmptyModelValue ? vue.renderSlot(_ctx.$slots, "selected", { key: 0 }, () => [
                        _ctx.multiple ? (vue.openBlock(), vue.createElementBlock(
                          vue.Fragment,
                          { key: 0 },
                          [
                            _ctx.chip ? (vue.openBlock(), vue.createElementBlock(
                              "div",
                              {
                                key: 0,
                                class: vue.normalizeClass(_ctx.n("chips"))
                              },
                              [
                                (vue.openBlock(true), vue.createElementBlock(
                                  vue.Fragment,
                                  null,
                                  vue.renderList(_ctx.labels, (l) => {
                                    return vue.openBlock(), vue.createBlock(_component_var_chip, {
                                      key: l,
                                      class: vue.normalizeClass(_ctx.n("chip")),
                                      "var-select-cover": "",
                                      closeable: "",
                                      size: "small",
                                      type: _ctx.errorMessage ? "danger" : void 0,
                                      onClick: _cache[0] || (_cache[0] = vue.withModifiers(() => {
                                      }, ["stop"])),
                                      onClose: () => _ctx.handleClose(l)
                                    }, {
                                      default: vue.withCtx(() => [
                                        vue.createVNode(_component_maybe_v_node, { is: l }, null, 8, ["is"])
                                      ]),
                                      _: 2
                                      /* DYNAMIC */
                                    }, 1032, ["class", "type", "onClose"]);
                                  }),
                                  128
                                  /* KEYED_FRAGMENT */
                                ))
                              ],
                              2
                              /* CLASS */
                            )) : (vue.openBlock(), vue.createElementBlock(
                              "div",
                              {
                                key: 1,
                                class: vue.normalizeClass(_ctx.n("values"))
                              },
                              [
                                (vue.openBlock(true), vue.createElementBlock(
                                  vue.Fragment,
                                  null,
                                  vue.renderList(_ctx.labels, (l, labelIndex) => {
                                    return vue.openBlock(), vue.createElementBlock(
                                      vue.Fragment,
                                      { key: l },
                                      [
                                        vue.createVNode(_component_maybe_v_node, { is: l }, null, 8, ["is"]),
                                        vue.createTextVNode(
                                          vue.toDisplayString(labelIndex !== _ctx.labels.length - 1 ? _ctx.separator : ""),
                                          1
                                          /* TEXT */
                                        )
                                      ],
                                      64
                                      /* STABLE_FRAGMENT */
                                    );
                                  }),
                                  128
                                  /* KEYED_FRAGMENT */
                                ))
                              ],
                              2
                              /* CLASS */
                            ))
                          ],
                          64
                          /* STABLE_FRAGMENT */
                        )) : (vue.openBlock(), vue.createBlock(_component_maybe_v_node, {
                          key: 1,
                          is: _ctx.label
                        }, null, 8, ["is"]))
                      ]) : vue.createCommentVNode("v-if", true)
                    ],
                    2
                    /* CLASS */
                  ),
                  _ctx.enableCustomPlaceholder ? (vue.openBlock(), vue.createElementBlock(
                    "span",
                    {
                      key: 0,
                      class: vue.normalizeClass(_ctx.classes(_ctx.n("placeholder"), _ctx.n("$--ellipsis"))),
                      style: vue.normalizeStyle({
                        color: _ctx.placeholderColor
                      })
                    },
                    vue.toDisplayString(_ctx.placeholder),
                    7
                    /* TEXT, CLASS, STYLE */
                  )) : vue.createCommentVNode("v-if", true),
                  vue.renderSlot(_ctx.$slots, "arrow-icon", {
                    focus: _ctx.isFocusing,
                    menuOpen: _ctx.showMenu
                  }, () => [
                    vue.createVNode(_component_var_icon, {
                      class: vue.normalizeClass(_ctx.classes(_ctx.n("arrow"), [_ctx.showMenu, _ctx.n("--arrow-rotate")])),
                      "var-select-cover": "",
                      name: "menu-down",
                      transition: 300
                    }, null, 8, ["class"])
                  ])
                ],
                6
                /* CLASS, STYLE */
              )
            ]),
            _: 2
            /* DYNAMIC */
          }, [
            _ctx.$slots["prepend-icon"] ? {
              name: "prepend-icon",
              fn: vue.withCtx(() => [
                vue.renderSlot(_ctx.$slots, "prepend-icon")
              ]),
              key: "0"
            } : void 0
          ]),
          1040
          /* FULL_PROPS, DYNAMIC_SLOTS */
        )
      ]),
      _: 3
      /* FORWARDED */
    }, 8, ["show", "class", "popover-class", "offset-y", "disabled", "placement", "onClickOutside"]),
    vue.createVNode(_component_var_form_details, {
      "error-message": _ctx.errorMessage,
      onClick: _cache[2] || (_cache[2] = vue.withModifiers(() => {
      }, ["stop"]))
    }, null, 8, ["error-message"])
  ], 42, _hoisted_1$6);
}
const __sfc__$i = vue.defineComponent({
  name: name$h,
  components: {
    VarIcon: stdin_default$63,
    VarMenu: stdin_default$5M,
    VarChip: stdin_default$5c,
    VarOption: stdin_default$4c,
    VarFieldDecorator: stdin_default$5U,
    VarFormDetails: stdin_default$5W,
    MaybeVNode
  },
  props: props$h,
  setup(props2) {
    const isFocusing = vue.ref(false);
    const showMenu = vue.ref(false);
    const root = vue.ref(null);
    const multiple = vue.computed(() => props2.multiple);
    const focusColor = vue.computed(() => props2.focusColor);
    const isEmptyModelValue = vue.computed(() => isEmpty(props2.modelValue));
    const cursor = vue.computed(() => props2.disabled || props2.readonly ? "" : "pointer");
    const offsetY = vue.ref(0);
    const { bindForm, form } = useForm();
    const { length, options, bindOptions } = useOptions();
    const { label, labels, computeLabel, getSelectedValue } = useSelectController({
      modelValue: () => props2.modelValue,
      multiple: () => props2.multiple,
      optionProviders: () => options,
      optionProvidersLength: () => length.value
    });
    const {
      errorMessage,
      validateWithTrigger: vt,
      validate: v,
      // expose
      resetValidation
    } = useValidation();
    const menuEl = vue.ref(null);
    const placement = vue.computed(() => props2.variant === "outlined" ? "bottom" : "cover-top");
    const placeholderColor = vue.computed(() => {
      const { hint, blurColor, focusColor: focusColor2 } = props2;
      if (hint) {
        return void 0;
      }
      if (errorMessage.value) {
        return "var(--field-decorator-error-color)";
      }
      if (isFocusing.value) {
        return focusColor2 || "var(--field-decorator-focus-color)";
      }
      return blurColor || "var(--field-decorator-placeholder-color, var(--field-decorator-blur-color))";
    });
    const enableCustomPlaceholder = vue.computed(() => !props2.hint && isEmpty(props2.modelValue));
    const selectProvider = {
      multiple,
      focusColor,
      computeLabel,
      onSelect,
      reset,
      validate,
      resetValidation
    };
    vue.watch(
      () => props2.multiple,
      () => {
        assert(
          props2.multiple && isArray(props2.modelValue),
          "Select",
          "The modelValue must be an array when multiple is true"
        );
      }
    );
    bindOptions(selectProvider);
    useEventListener(() => window, "keydown", handleKeydown);
    useEventListener(() => window, "keyup", handleKeyup);
    call(bindForm, selectProvider);
    function handleKeydown(event) {
      const { disabled, readonly } = props2;
      if ((form == null ? void 0 : form.disabled.value) || (form == null ? void 0 : form.readonly.value) || disabled || readonly || !isFocusing.value) {
        return;
      }
      const { key: key3 } = event;
      if (key3 === " " && !showMenu.value) {
        preventDefault(event);
        return;
      }
      if (key3 === "Escape" && showMenu.value) {
        root.value.focus();
        preventDefault(event);
        showMenu.value = false;
        return;
      }
      if (key3 === "Tab" && showMenu.value) {
        root.value.focus();
        preventDefault(event);
        handleBlur();
        return;
      }
      if (key3 === "Enter" && !showMenu.value) {
        preventDefault(event);
        showMenu.value = true;
        return;
      }
      if ((key3 === "ArrowDown" || key3 === "ArrowUp") && showMenu.value) {
        preventDefault(event);
        focusChildElementByKey(root.value, menuEl.value, key3);
      }
    }
    function handleKeyup(event) {
      const { disabled, readonly } = props2;
      if ((form == null ? void 0 : form.disabled.value) || (form == null ? void 0 : form.readonly.value) || disabled || readonly || showMenu.value || !isFocusing.value) {
        return;
      }
      const { key: key3 } = event;
      if (key3 === " " && !showMenu.value) {
        preventDefault(event);
        showMenu.value = true;
      }
    }
    function validateWithTrigger(trigger) {
      vue.nextTick(() => {
        const { validateTrigger, rules, modelValue } = props2;
        vt(validateTrigger, trigger, rules, modelValue);
      });
    }
    function handleFocus() {
      const { disabled, readonly, onFocus } = props2;
      if ((form == null ? void 0 : form.disabled.value) || (form == null ? void 0 : form.readonly.value) || disabled || readonly) {
        return;
      }
      offsetY.value = toPxNum(props2.offsetY);
      focus();
      call(onFocus);
      validateWithTrigger("onFocus");
    }
    function handleBlur() {
      const { disabled, readonly, onBlur } = props2;
      if ((form == null ? void 0 : form.disabled.value) || (form == null ? void 0 : form.readonly.value) || disabled || readonly) {
        return;
      }
      blur();
      call(onBlur);
      validateWithTrigger("onBlur");
    }
    function handleRootBlur() {
      if (showMenu.value) {
        return;
      }
      handleBlur();
    }
    function handleClickOutside() {
      if (!isFocusing.value) {
        return;
      }
      handleBlur();
    }
    function onSelect(option) {
      const { disabled, readonly, multiple: multiple2, onChange } = props2;
      if ((form == null ? void 0 : form.disabled.value) || (form == null ? void 0 : form.readonly.value) || disabled || readonly) {
        return;
      }
      const selectedValue = getSelectedValue(option);
      call(props2["onUpdate:modelValue"], selectedValue);
      call(onChange, selectedValue);
      validateWithTrigger("onChange");
      if (!multiple2) {
        root.value.focus();
        doubleRaf().then(() => {
          showMenu.value = false;
        });
      }
    }
    function handleClear() {
      const { disabled, readonly, multiple: multiple2, clearable, onClear, onChange } = props2;
      if ((form == null ? void 0 : form.disabled.value) || (form == null ? void 0 : form.readonly.value) || disabled || readonly || !clearable) {
        return;
      }
      const changedModelValue = multiple2 ? [] : void 0;
      call(props2["onUpdate:modelValue"], changedModelValue);
      call(onClear, changedModelValue);
      validateWithTrigger("onClear");
      call(onChange, changedModelValue);
      validateWithTrigger("onChange");
    }
    function handleClick(e) {
      const { disabled, onClick } = props2;
      if ((form == null ? void 0 : form.disabled.value) || disabled) {
        return;
      }
      call(onClick, e);
      validateWithTrigger("onClick");
    }
    function handleClose(text) {
      const { disabled, readonly, modelValue, onClose, onChange } = props2;
      if ((form == null ? void 0 : form.disabled.value) || (form == null ? void 0 : form.readonly.value) || disabled || readonly) {
        return;
      }
      const option = options.find(({ label: label2 }) => label2.value === text);
      const changedModelValue = modelValue.filter(
        (value) => {
          var _a;
          return value !== ((_a = option.value.value) != null ? _a : option.label.value);
        }
      );
      call(props2["onUpdate:modelValue"], changedModelValue);
      call(onClose, changedModelValue);
      validateWithTrigger("onClose");
      call(onChange, changedModelValue);
      validateWithTrigger("onChange");
    }
    function focus() {
      offsetY.value = toPxNum(props2.offsetY);
      isFocusing.value = true;
    }
    function blur() {
      isFocusing.value = false;
      showMenu.value = false;
    }
    function validate() {
      return v(props2.rules, props2.modelValue);
    }
    function reset() {
      call(props2["onUpdate:modelValue"], props2.multiple ? [] : void 0);
      resetValidation();
    }
    return {
      root,
      offsetY,
      isFocusing,
      showMenu,
      errorMessage,
      formDisabled: form == null ? void 0 : form.disabled,
      formReadonly: form == null ? void 0 : form.readonly,
      label,
      labels,
      isEmptyModelValue,
      menuEl,
      placement,
      cursor,
      placeholderColor,
      enableCustomPlaceholder,
      isFunction,
      n: n$j,
      classes: classes$e,
      handleFocus,
      handleBlur,
      handleClickOutside,
      handleClear,
      handleClick,
      handleClose,
      handleRootBlur,
      reset,
      validate,
      resetValidation,
      focus,
      blur
    };
  }
});
__sfc__$i.render = __render__$h;
var stdin_default$3L = __sfc__$i;
withInstall(stdin_default$3L);
withPropsDefaultsSetter(stdin_default$3L, props$h);
const _SelectComponent = stdin_default$3L;
var stdin_default$3K = stdin_default$3L;
const props$g = {
  lineWidth: {
    type: [Number, String],
    default: 2
  },
  strokeStyle: {
    type: String,
    default: "currentColor"
  },
  dataUrlType: {
    type: String,
    default: "png"
  },
  onStart: defineListenerProp(),
  onEnd: defineListenerProp(),
  onSigning: defineListenerProp()
};
const { name: name$g, n: n$i } = createNamespace("signature");
const _hoisted_1$5 = ["height", "width"];
function __render__$g(_ctx, _cache) {
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      ref: "root",
      class: vue.normalizeClass(_ctx.n())
    },
    [
      vue.createElementVNode("canvas", {
        ref: "canvas",
        height: _ctx.canvasHeight,
        width: _ctx.canvasWidth
      }, null, 8, _hoisted_1$5)
    ],
    2
    /* CLASS */
  );
}
const __sfc__$h = vue.defineComponent({
  name: name$g,
  props: props$g,
  setup(props2) {
    const root = vue.ref();
    const canvas = vue.ref();
    const canvasWidth = vue.ref(0);
    const canvasHeight = vue.ref(0);
    let isSigning = false;
    let ctx2 = null;
    useEventListener(canvas, "touchstart", handleTouchstart);
    useEventListener(canvas, "touchmove", handleTouchmove);
    useEventListener(canvas, "touchend", handleTouchend);
    onWindowResize(resize);
    vue.onMounted(resize);
    function resize() {
      if (!canvas.value || !root.value) {
        return;
      }
      ctx2 = canvas.value.getContext("2d");
      canvasWidth.value = root.value.offsetWidth;
      canvasHeight.value = root.value.offsetHeight;
    }
    function handleTouchstart(event) {
      if (!ctx2 || !root.value) {
        return;
      }
      event.preventDefault();
      isSigning = true;
      ctx2.beginPath();
      ctx2.lineWidth = toNumber(props2.lineWidth);
      ctx2.strokeStyle = props2.strokeStyle === "currentColor" ? getStyle$1(root.value).color : props2.strokeStyle;
      call(props2.onStart);
    }
    function handleTouchmove(event) {
      event.preventDefault();
      if (!canvas.value || !ctx2 || !isSigning) {
        return;
      }
      const clientX = event.touches[0].clientX;
      const clientY = event.touches[0].clientY;
      const rect = getRect(canvas.value);
      const x = clientX - rect.left;
      const y = clientY - rect.top;
      ctx2.lineTo(x, y);
      ctx2.stroke();
      call(props2.onSigning);
    }
    function handleTouchend(event) {
      if (!isSigning) {
        return;
      }
      event.preventDefault();
      isSigning = false;
      call(props2.onEnd);
    }
    function getDataUrl(canvas2) {
      switch (props2.dataUrlType) {
        case "jpg":
          return canvas2.toDataURL("image/jpeg");
        default:
          return canvas2.toDataURL("image/png");
      }
    }
    function isCanvasEmpty(canvas2) {
      if (!canvas2) {
        return true;
      }
      const emptyCanvas = document.createElement("canvas");
      emptyCanvas.width = canvas2.width;
      emptyCanvas.height = canvas2.height;
      return getDataUrl(canvas2) === getDataUrl(emptyCanvas);
    }
    function reset() {
      if (!ctx2) {
        return;
      }
      isSigning = false;
      ctx2.clearRect(0, 0, canvasWidth.value, canvasHeight.value);
      ctx2.closePath();
    }
    function confirm() {
      if (!canvas.value) {
        return;
      }
      if (isCanvasEmpty(canvas.value)) {
        return "";
      }
      return getDataUrl(canvas.value);
    }
    return {
      root,
      canvas,
      canvasWidth,
      canvasHeight,
      n: n$i,
      confirm,
      reset
    };
  }
});
__sfc__$h.render = __render__$g;
var stdin_default$3J = __sfc__$h;
withInstall(stdin_default$3J);
withPropsDefaultsSetter(stdin_default$3J, props$g);
const _SignatureComponent = stdin_default$3J;
var stdin_default$3I = stdin_default$3J;
const props$f = {
  loading: {
    type: Boolean,
    default: true
  },
  title: Boolean,
  card: Boolean,
  avatar: Boolean,
  fullscreen: Boolean,
  fullscreenZIndex: {
    type: [Number, String],
    default: 100
  },
  titleWidth: [Number, String],
  cardHeight: [Number, String],
  avatarSize: [Number, String],
  rows: {
    type: [Number, String],
    default: 3
  },
  rowsWidth: {
    type: Array,
    default: () => []
  }
};
const { name: name$f, n: n$h, classes: classes$d } = createNamespace("skeleton");
function __render__$f(_ctx, _cache) {
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(_ctx.classes(_ctx.n("$--box"), _ctx.n()))
    },
    [
      !_ctx.loading ? (vue.openBlock(), vue.createElementBlock(
        "div",
        {
          key: 0,
          class: vue.normalizeClass(_ctx.n("data"))
        },
        [
          vue.renderSlot(_ctx.$slots, "default")
        ],
        2
        /* CLASS */
      )) : vue.createCommentVNode("v-if", true),
      _ctx.loading && !_ctx.fullscreen ? (vue.openBlock(), vue.createElementBlock(
        "div",
        {
          key: 1,
          class: vue.normalizeClass(_ctx.n("content"))
        },
        [
          _ctx.card ? (vue.openBlock(), vue.createElementBlock(
            "div",
            {
              key: 0,
              class: vue.normalizeClass(_ctx.n("card")),
              style: vue.normalizeStyle({ height: _ctx.toSizeUnit(_ctx.cardHeight) })
            },
            [
              vue.createElementVNode(
                "div",
                {
                  class: vue.normalizeClass(_ctx.n("--animation"))
                },
                null,
                2
                /* CLASS */
              )
            ],
            6
            /* CLASS, STYLE */
          )) : vue.createCommentVNode("v-if", true),
          _ctx.avatar || _ctx.title || _ctx.toNumber(_ctx.rows) > 0 ? (vue.openBlock(), vue.createElementBlock(
            "div",
            {
              key: 1,
              class: vue.normalizeClass(_ctx.n("article"))
            },
            [
              _ctx.avatar ? (vue.openBlock(), vue.createElementBlock(
                "div",
                {
                  key: 0,
                  class: vue.normalizeClass(_ctx.n("avatar")),
                  style: vue.normalizeStyle({
                    width: _ctx.toSizeUnit(_ctx.avatarSize),
                    height: _ctx.toSizeUnit(_ctx.avatarSize)
                  })
                },
                [
                  vue.createElementVNode(
                    "div",
                    {
                      class: vue.normalizeClass(_ctx.n("--animation"))
                    },
                    null,
                    2
                    /* CLASS */
                  )
                ],
                6
                /* CLASS, STYLE */
              )) : vue.createCommentVNode("v-if", true),
              _ctx.title || _ctx.toNumber(_ctx.rows) > 0 ? (vue.openBlock(), vue.createElementBlock(
                "div",
                {
                  key: 1,
                  class: vue.normalizeClass(_ctx.n("section"))
                },
                [
                  _ctx.title ? (vue.openBlock(), vue.createElementBlock(
                    "div",
                    {
                      key: 0,
                      class: vue.normalizeClass(_ctx.n("title")),
                      style: vue.normalizeStyle({ width: _ctx.toSizeUnit(_ctx.titleWidth) })
                    },
                    [
                      vue.createElementVNode(
                        "div",
                        {
                          class: vue.normalizeClass(_ctx.n("--animation"))
                        },
                        null,
                        2
                        /* CLASS */
                      )
                    ],
                    6
                    /* CLASS, STYLE */
                  )) : vue.createCommentVNode("v-if", true),
                  (vue.openBlock(true), vue.createElementBlock(
                    vue.Fragment,
                    null,
                    vue.renderList(_ctx.toNumber(_ctx.rows), (r, index) => {
                      return vue.openBlock(), vue.createElementBlock(
                        "div",
                        {
                          key: r,
                          class: vue.normalizeClass(_ctx.n("row")),
                          style: vue.normalizeStyle({ width: _ctx.toSizeUnit(_ctx.rowsWidth[index]) })
                        },
                        [
                          vue.createElementVNode(
                            "div",
                            {
                              class: vue.normalizeClass(_ctx.n("--animation"))
                            },
                            null,
                            2
                            /* CLASS */
                          )
                        ],
                        6
                        /* CLASS, STYLE */
                      );
                    }),
                    128
                    /* KEYED_FRAGMENT */
                  ))
                ],
                2
                /* CLASS */
              )) : vue.createCommentVNode("v-if", true)
            ],
            2
            /* CLASS */
          )) : vue.createCommentVNode("v-if", true)
        ],
        2
        /* CLASS */
      )) : vue.createCommentVNode("v-if", true),
      _ctx.loading && _ctx.fullscreen ? (vue.openBlock(), vue.createElementBlock(
        "div",
        {
          key: 2,
          class: vue.normalizeClass(_ctx.n("fullscreen")),
          style: vue.normalizeStyle({ zIndex: _ctx.toNumber(_ctx.fullscreenZIndex) })
        },
        [
          vue.createElementVNode(
            "div",
            {
              class: vue.normalizeClass(_ctx.n("--animation"))
            },
            null,
            2
            /* CLASS */
          )
        ],
        6
        /* CLASS, STYLE */
      )) : vue.createCommentVNode("v-if", true)
    ],
    2
    /* CLASS */
  );
}
const __sfc__$g = vue.defineComponent({
  name: name$f,
  props: props$f,
  setup: () => ({
    n: n$h,
    classes: classes$d,
    toSizeUnit,
    toNumber
  })
});
__sfc__$g.render = __render__$f;
var stdin_default$3H = __sfc__$g;
withInstall(stdin_default$3H);
withPropsDefaultsSetter(stdin_default$3H, props$f);
const _SkeletonComponent = stdin_default$3H;
var stdin_default$3G = stdin_default$3H;
var Thumbs = /* @__PURE__ */ ((Thumbs2) => {
  Thumbs2["First"] = "1";
  Thumbs2["Second"] = "2";
  return Thumbs2;
})(Thumbs || {});
const props$e = {
  modelValue: {
    type: [Number, Array],
    default: 0
  },
  step: {
    type: [Number, String],
    default: 1
  },
  range: Boolean,
  labelVisible: {
    type: String,
    default: "normal"
  },
  activeColor: String,
  trackColor: String,
  thumbColor: String,
  labelColor: String,
  labelTextColor: String,
  trackHeight: [String, Number],
  max: {
    type: [String, Number],
    default: 100
  },
  min: {
    type: [String, Number],
    default: 0
  },
  thumbSize: [String, Number],
  disabled: Boolean,
  readonly: Boolean,
  direction: {
    type: String,
    default: "horizontal"
  },
  rules: [Array, Function, Object],
  onChange: defineListenerProp(),
  onStart: defineListenerProp(),
  onEnd: defineListenerProp(),
  "onUpdate:modelValue": defineListenerProp()
};
const { name: name$e, n: n$g, classes: classes$c } = createNamespace("slider");
const _hoisted_1$4 = ["tabindex", "aria-valuemin", "aria-valuemax", "aria-valuenow", "aria-disabled", "aria-valuetext", "onTouchstart", "onFocusin", "onFocusout"];
function __render__$e(_ctx, _cache) {
  const _component_var_hover_overlay = vue.resolveComponent("var-hover-overlay");
  const _component_var_form_details = vue.resolveComponent("var-form-details");
  const _directive_hover = vue.resolveDirective("hover");
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(_ctx.classes(_ctx.n(_ctx.direction), _ctx.n("$--box")))
    },
    [
      vue.createElementVNode(
        "div",
        {
          ref: "sliderEl",
          class: vue.normalizeClass(_ctx.classes(_ctx.n(`${_ctx.direction}-block`), [_ctx.isDisabled, _ctx.n("--disabled")], [_ctx.errorMessage, _ctx.n(`${_ctx.direction}--error`)])),
          onClick: _cache[0] || (_cache[0] = (...args) => _ctx.handleClick && _ctx.handleClick(...args))
        },
        [
          vue.createElementVNode(
            "div",
            {
              class: vue.normalizeClass(_ctx.n(`${_ctx.direction}-track`))
            },
            [
              vue.createElementVNode(
                "div",
                {
                  class: vue.normalizeClass(_ctx.n(`${_ctx.direction}-track-background`)),
                  style: vue.normalizeStyle({
                    background: _ctx.trackColor,
                    height: _ctx.isVertical ? "100%" : _ctx.toSizeUnit(_ctx.trackHeight),
                    width: _ctx.isVertical ? _ctx.toSizeUnit(_ctx.trackHeight) : "100%"
                  })
                },
                null,
                6
                /* CLASS, STYLE */
              ),
              vue.createElementVNode(
                "div",
                {
                  class: vue.normalizeClass(_ctx.n(`${_ctx.direction}-track-fill`)),
                  style: vue.normalizeStyle(_ctx.getFillStyle)
                },
                null,
                6
                /* CLASS, STYLE */
              )
            ],
            2
            /* CLASS */
          ),
          (vue.openBlock(true), vue.createElementBlock(
            vue.Fragment,
            null,
            vue.renderList(_ctx.thumbList, (item) => {
              return vue.openBlock(), vue.createElementBlock("div", {
                key: item.enumValue,
                class: vue.normalizeClass(_ctx.n(`${_ctx.direction}-thumb`)),
                style: vue.normalizeStyle(_ctx.thumbStyle(item)),
                tabindex: _ctx.isDisabled ? void 0 : "0",
                role: "slider",
                "aria-valuemin": _ctx.min,
                "aria-valuemax": _ctx.max,
                "aria-valuenow": item.value,
                "aria-disabled": _ctx.isDisabled,
                "aria-valuetext": `${item.text}`,
                onTouchstart: vue.withModifiers(($event) => _ctx.start($event, item.enumValue), ["stop"]),
                onFocusin: ($event) => _ctx.handleFocus(item),
                onFocusout: ($event) => _ctx.handleBlur(item)
              }, [
                vue.renderSlot(_ctx.$slots, "button", {
                  currentValue: item.text
                }, () => [
                  vue.withDirectives(vue.createElementVNode(
                    "div",
                    {
                      class: vue.normalizeClass(_ctx.n(`${_ctx.direction}-thumb-block`)),
                      style: vue.normalizeStyle({
                        background: _ctx.thumbColor
                      })
                    },
                    null,
                    6
                    /* CLASS, STYLE */
                  ), [
                    [_directive_hover, (value) => _ctx.hover(value, item), "desktop"]
                  ]),
                  vue.createElementVNode(
                    "div",
                    {
                      class: vue.normalizeClass(
                        _ctx.classes(_ctx.n(`${_ctx.direction}-thumb-ripple`), [
                          _ctx.thumbsProps[item.enumValue].active,
                          _ctx.n(`${_ctx.direction}-thumb-ripple--active`)
                        ])
                      ),
                      style: vue.normalizeStyle({
                        background: _ctx.thumbsProps[item.enumValue].active ? _ctx.thumbColor : void 0
                      })
                    },
                    [
                      vue.createVNode(_component_var_hover_overlay, {
                        hovering: !_ctx.isDisabled && item.hovering,
                        focusing: !_ctx.isDisabled && item.focusing
                      }, null, 8, ["hovering", "focusing"])
                    ],
                    6
                    /* CLASS, STYLE */
                  ),
                  vue.createElementVNode(
                    "div",
                    {
                      class: vue.normalizeClass(
                        _ctx.classes(_ctx.n(`${_ctx.direction}-thumb-label`), [_ctx.showLabel(item.enumValue), _ctx.n(`${_ctx.direction}-thumb-label--active`)])
                      ),
                      style: vue.normalizeStyle({
                        background: _ctx.labelColor,
                        color: _ctx.labelTextColor,
                        height: _ctx.toSizeUnit(_ctx.thumbSize),
                        width: _ctx.toSizeUnit(_ctx.thumbSize)
                      })
                    },
                    [
                      vue.createElementVNode(
                        "span",
                        null,
                        vue.toDisplayString(item.text),
                        1
                        /* TEXT */
                      )
                    ],
                    6
                    /* CLASS, STYLE */
                  )
                ])
              ], 46, _hoisted_1$4);
            }),
            128
            /* KEYED_FRAGMENT */
          ))
        ],
        2
        /* CLASS */
      ),
      vue.createVNode(_component_var_form_details, {
        "error-message": _ctx.errorMessage,
        class: vue.normalizeClass(_ctx.n("form")),
        "var-slider-cover": ""
      }, null, 8, ["error-message", "class"])
    ],
    2
    /* CLASS */
  );
}
const __sfc__$f = vue.defineComponent({
  name: name$e,
  components: {
    VarFormDetails: stdin_default$5W,
    VarHoverOverlay: stdin_default$65
  },
  directives: { Hover: stdin_default$67 },
  props: props$e,
  setup(props2) {
    const maxDistance = vue.ref(0);
    const sliderEl = vue.ref(null);
    const isScroll = vue.ref(false);
    const scope = vue.computed(() => toNumber(props2.max) - toNumber(props2.min));
    const unitWidth = vue.computed(() => maxDistance.value / scope.value * toNumber(props2.step));
    const isDisabled = vue.computed(() => props2.disabled || (form == null ? void 0 : form.disabled.value));
    const isReadonly = vue.computed(() => props2.readonly || (form == null ? void 0 : form.readonly.value));
    const isVertical = vue.computed(() => props2.direction === "vertical");
    const focusingFirst = vue.ref(false);
    const focusingSecond = vue.ref(false);
    const { bindForm, form } = useForm();
    const { errorMessage, validateWithTrigger: vt, validate: v, resetValidation } = useValidation();
    const { hovering: hoveringFirst, handleHovering: handleHoveringFirst } = useHoverOverlay();
    const { hovering: hoveringSecond, handleHovering: handleHoveringSecond } = useHoverOverlay();
    const thumbList = vue.computed(() => {
      const { modelValue, range } = props2;
      let list = [];
      if (range && isArray(modelValue)) {
        list = [
          {
            value: getValue(modelValue[0]),
            enumValue: Thumbs.First,
            text: toPrecision(modelValue[0]),
            hovering: hoveringFirst.value,
            focusing: focusingFirst.value,
            handleHovering: handleHoveringFirst,
            handleFocusing(value) {
              focusingFirst.value = value;
            }
          },
          {
            value: getValue(modelValue[1]),
            enumValue: Thumbs.Second,
            text: toPrecision(modelValue[1]),
            hovering: hoveringSecond.value,
            focusing: focusingSecond.value,
            handleHovering: handleHoveringSecond,
            handleFocusing(value) {
              focusingSecond.value = value;
            }
          }
        ];
      } else if (isNumber(modelValue)) {
        list = [
          {
            value: getValue(modelValue),
            enumValue: Thumbs.First,
            text: toPrecision(modelValue),
            hovering: hoveringFirst.value,
            focusing: focusingFirst.value,
            handleHovering: handleHoveringFirst,
            handleFocusing(value) {
              focusingFirst.value = value;
            }
          }
        ];
      }
      return list;
    });
    const getFillStyle = vue.computed(() => {
      const { activeColor, range, modelValue } = props2;
      const gap = range && isArray(modelValue) ? getValue(Math.min(modelValue[0], modelValue[1])) : 0;
      const fillLength = range && isArray(modelValue) ? getValue(Math.max(modelValue[0], modelValue[1])) - gap : getValue(modelValue);
      return isVertical.value ? {
        left: "0px",
        height: `${fillLength}%`,
        bottom: `${gap}%`,
        background: activeColor
      } : {
        top: "0px",
        width: `${fillLength}%`,
        left: `${gap}%`,
        background: activeColor
      };
    });
    const thumbsProps = vue.reactive({
      [Thumbs.First]: getThumbProps(),
      [Thumbs.Second]: getThumbProps()
    });
    let activeThumb;
    const sliderProvider = {
      reset,
      validate,
      resetValidation
    };
    call(bindForm, sliderProvider);
    vue.watch([() => props2.modelValue, () => props2.step], ([modelValue, step]) => {
      if (!stepValidator() || !valueValidator() || isScroll.value) {
        return;
      }
      setProps(modelValue, toNumber(step));
    });
    vue.watch(maxDistance, () => setProps());
    onSmartMounted(() => {
      if (!stepValidator() || !valueValidator()) {
        return;
      }
      resizeMaxDistance();
    });
    vue.onBeforeUnmount(removeDocumentEvents);
    useEventListener(() => window, "keydown", handleKeydown);
    onWindowResize(resizeMaxDistance);
    function resizeMaxDistance() {
      maxDistance.value = sliderEl.value[isVertical.value ? "offsetHeight" : "offsetWidth"];
    }
    function validate() {
      return v(props2.rules, props2.modelValue);
    }
    function getThumbProps() {
      return {
        startPosition: 0,
        currentOffset: 0,
        active: false,
        percentValue: 0
      };
    }
    function validateWithTrigger() {
      vue.nextTick(() => vt(["onChange"], "onChange", props2.rules, props2.modelValue));
    }
    function getOffset(e) {
      const currentTarget = e.currentTarget;
      if (!currentTarget) {
        return 0;
      }
      if (!isVertical.value) {
        return e.clientX - getLeft(currentTarget);
      }
      return maxDistance.value - (e.clientY - getRect(currentTarget).top);
    }
    function thumbStyle(thumb) {
      const key3 = isVertical.value ? "bottom" : "left";
      return {
        [key3]: `${thumb.value}%`,
        zIndex: thumbsProps[thumb.enumValue].active ? 1 : void 0
      };
    }
    function showLabel(type) {
      if (props2.labelVisible === "always") {
        return true;
      }
      if (props2.labelVisible === "never") {
        return false;
      }
      return thumbsProps[type].active;
    }
    function getValue(value) {
      const { min: min2, max: max2 } = props2;
      if (value < toNumber(min2)) {
        return 0;
      }
      if (value > toNumber(max2)) {
        return 100;
      }
      return (value - toNumber(min2)) / scope.value * 100;
    }
    function toPrecision(value) {
      if (!isNumber(value)) {
        return 0;
      }
      const num = clamp$1(value, toNumber(props2.min), toNumber(props2.max));
      const isInteger = parseInt(`${num}`, 10) === num;
      return isInteger ? num : toNumber(num.toPrecision(5));
    }
    function hover(value, item) {
      if (isDisabled.value) {
        return;
      }
      item.handleHovering(value);
    }
    function emitChange(value) {
      call(props2.onChange, value);
      call(props2["onUpdate:modelValue"], value);
      validateWithTrigger();
    }
    function setPercent(moveDistance, type) {
      let rangeValue = [];
      const { step, range, modelValue, min: min2 } = props2;
      const stepNumber = toNumber(step);
      const roundDistance = Math.round(moveDistance / unitWidth.value);
      const curValue = roundDistance * stepNumber + toNumber(min2);
      const prevValue = thumbsProps[type].percentValue * stepNumber + toNumber(min2);
      thumbsProps[type].percentValue = roundDistance;
      if (range && isArray(modelValue)) {
        rangeValue = type === Thumbs.First ? [curValue, modelValue[1]] : [modelValue[0], curValue];
      }
      if (prevValue !== curValue) {
        const value = range ? rangeValue.map((value2) => toPrecision(value2)) : toPrecision(curValue);
        emitChange(value);
      }
    }
    function getType(offset2) {
      if (!props2.range) {
        return Thumbs.First;
      }
      const thumb1Distance = thumbsProps[Thumbs.First].percentValue * unitWidth.value;
      const thumb2Distance = thumbsProps[Thumbs.Second].percentValue * unitWidth.value;
      const offsetToThumb1 = Math.abs(offset2 - thumb1Distance);
      const offsetToThumb2 = Math.abs(offset2 - thumb2Distance);
      return offsetToThumb1 <= offsetToThumb2 ? Thumbs.First : Thumbs.Second;
    }
    function addDocumentEvents() {
      document.addEventListener("touchmove", move, { passive: false });
      document.addEventListener("touchend", end2);
      document.addEventListener("touchcancel", end2);
    }
    function removeDocumentEvents() {
      document.removeEventListener("touchmove", move);
      document.removeEventListener("touchend", end2);
      document.removeEventListener("touchcancel", end2);
    }
    function start2(event, type) {
      resizeMaxDistance();
      if (!isDisabled.value) {
        thumbsProps[type].active = true;
      }
      activeThumb = type;
      addDocumentEvents();
      if (isDisabled.value || isReadonly.value) {
        return;
      }
      call(props2.onStart);
      isScroll.value = true;
      const { clientX, clientY } = event.touches[0];
      thumbsProps[type].startPosition = isVertical.value ? clientY : clientX;
    }
    function move(event) {
      preventDefault(event);
      if (isDisabled.value || isReadonly.value || !isScroll.value) {
        return;
      }
      const { startPosition, currentOffset } = thumbsProps[activeThumb];
      const { clientX, clientY } = event.touches[0];
      let moveDistance = (isVertical.value ? startPosition - clientY : clientX - startPosition) + currentOffset;
      if (moveDistance <= 0) {
        moveDistance = 0;
      } else if (moveDistance >= maxDistance.value) {
        moveDistance = maxDistance.value;
      }
      setPercent(moveDistance, activeThumb);
    }
    function end2() {
      removeDocumentEvents();
      const { range, modelValue, onEnd, step, min: min2 } = props2;
      if (!isDisabled.value) {
        thumbsProps[activeThumb].active = false;
      }
      if (isDisabled.value || isReadonly.value) {
        return;
      }
      let rangeValue = [];
      thumbsProps[activeThumb].currentOffset = thumbsProps[activeThumb].percentValue * unitWidth.value;
      const curValue = thumbsProps[activeThumb].percentValue * toNumber(step) + toNumber(min2);
      if (range && isArray(modelValue)) {
        rangeValue = activeThumb === Thumbs.First ? [curValue, modelValue[1]] : [modelValue[0], curValue];
      }
      call(onEnd, range ? rangeValue : curValue);
      isScroll.value = false;
    }
    function handleClick(event) {
      if (isDisabled.value || isReadonly.value) {
        return;
      }
      if (event.target.closest(`.${n$g("thumb")}`)) {
        return;
      }
      const offset2 = getOffset(event);
      const type = getType(offset2);
      activeThumb = type;
      setPercent(offset2, type);
      end2();
    }
    function stepValidator() {
      if (toNumber(props2.step) <= 0) {
        warn("Slider", '"step" should be > 0');
        return false;
      }
      return true;
    }
    function valueValidator() {
      const { range, modelValue } = props2;
      if (range && !isArray(modelValue)) {
        error$1("Slider", '"modelValue" should be an Array');
        return false;
      }
      if (!range && isArray(modelValue)) {
        error$1("Slider", '"modelValue" should be a Number');
        return false;
      }
      if (range && isArray(modelValue) && modelValue.length < 2) {
        error$1("Slider", '"modelValue" should have two value');
        return false;
      }
      return true;
    }
    function setProps(modelValue = props2.modelValue, step = toNumber(props2.step)) {
      const getPercent = (value) => {
        const { min: min2, max: max2 } = props2;
        if (value < toNumber(min2)) {
          return 0;
        }
        if (value > toNumber(max2)) {
          return scope.value / step;
        }
        return (value - toNumber(min2)) / step;
      };
      if (props2.range && isArray(modelValue)) {
        thumbsProps[Thumbs.First].percentValue = getPercent(modelValue[0]);
        thumbsProps[Thumbs.First].currentOffset = thumbsProps[Thumbs.First].percentValue * unitWidth.value;
        thumbsProps[Thumbs.Second].percentValue = getPercent(modelValue[1]);
        thumbsProps[Thumbs.Second].currentOffset = thumbsProps[Thumbs.Second].percentValue * unitWidth.value;
      } else if (isNumber(modelValue)) {
        thumbsProps[Thumbs.First].currentOffset = getPercent(modelValue) * unitWidth.value;
      }
    }
    function reset() {
      const resetValue = props2.range ? [0, 0] : 0;
      call(props2["onUpdate:modelValue"], resetValue);
      resetValidation();
    }
    function moveFocusingThumb(offset2, value) {
      const stepValue = toNumber(props2.step);
      if (isArray(value)) {
        const updatedFirstValue = value[0] + (focusingFirst.value ? offset2 * stepValue : 0);
        const updatedSecondValue = value[1] + (focusingSecond.value ? offset2 * stepValue : 0);
        return [updatedFirstValue, updatedSecondValue].map(toPrecision);
      }
      return toPrecision(value + offset2 * stepValue);
    }
    function handleKeydown(event) {
      const keyToOffset = {
        ArrowRight: 1,
        ArrowUp: 1,
        ArrowLeft: -1,
        ArrowDown: -1
      };
      const { key: key3 } = event;
      if (!hasOwn(keyToOffset, key3) || isReadonly.value || isDisabled.value) {
        return;
      }
      if (props2.range && !focusingFirst.value && !focusingSecond.value) {
        return;
      }
      if (!props2.range && !focusingFirst.value) {
        return;
      }
      preventDefault(event);
      const offset2 = keyToOffset[key3];
      const value = moveFocusingThumb(offset2, props2.modelValue);
      emitChange(value);
    }
    function handleFocus(item) {
      if (isDisabled.value) {
        return;
      }
      item.handleFocusing(true);
    }
    function handleBlur(item) {
      item.handleFocusing(false);
    }
    return {
      sliderEl,
      getFillStyle,
      isDisabled,
      isVertical,
      errorMessage,
      thumbsProps,
      thumbList,
      handleFocus,
      handleBlur,
      n: n$g,
      classes: classes$c,
      thumbStyle,
      hover,
      toSizeUnit,
      toNumber,
      showLabel,
      start: start2,
      move,
      end: end2,
      handleClick
    };
  }
});
__sfc__$f.render = __render__$e;
var stdin_default$3F = __sfc__$f;
withInstall(stdin_default$3F);
withPropsDefaultsSetter(stdin_default$3F, props$e);
const _SliderComponent = stdin_default$3F;
var stdin_default$3E = stdin_default$3F;
var __defProp$5 = Object.defineProperty;
var __defProps$1 = Object.defineProperties;
var __getOwnPropDescs$1 = Object.getOwnPropertyDescriptors;
var __getOwnPropSymbols$5 = Object.getOwnPropertySymbols;
var __hasOwnProp$5 = Object.prototype.hasOwnProperty;
var __propIsEnum$5 = Object.prototype.propertyIsEnumerable;
var __defNormalProp$5 = (obj, key3, value) => key3 in obj ? __defProp$5(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues$5 = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$5.call(b, prop))
      __defNormalProp$5(a, prop, b[prop]);
  if (__getOwnPropSymbols$5)
    for (var prop of __getOwnPropSymbols$5(b)) {
      if (__propIsEnum$5.call(b, prop))
        __defNormalProp$5(a, prop, b[prop]);
    }
  return a;
};
var __spreadProps$1 = (a, b) => __defProps$1(a, __getOwnPropDescs$1(b));
const props$d = {
  type: String,
  position: {
    type: String,
    default: "top"
  },
  content: [String, Function, Object],
  contentClass: String,
  duration: {
    type: Number,
    default: 3e3
  },
  elevation: {
    type: [Boolean, String, Number],
    default: true
  },
  vertical: Boolean,
  loadingType: pickProps(props$16, "type"),
  loadingSize: pickProps(props$16, "size"),
  loadingRadius: pickProps(props$16, "radius"),
  loadingColor: __spreadProps$1(__spreadValues$5({}, pickProps(props$16, "color")), {
    default: "currentColor"
  }),
  lockScroll: Boolean,
  show: Boolean,
  teleport: {
    type: [String, Object, Boolean],
    default: "body"
  },
  forbidClick: Boolean,
  onOpen: defineListenerProp(),
  onOpened: defineListenerProp(),
  onClose: defineListenerProp(),
  onClosed: defineListenerProp(),
  "onUpdate:show": defineListenerProp(),
  _update: String
};
const { n: n$f, classes: classes$b } = createNamespace("snackbar");
const ICON_TYPE_DICT = {
  success: "checkbox-marked-circle",
  warning: "warning",
  info: "information",
  error: "error",
  loading: ""
};
function __render__$d(_ctx, _cache) {
  const _component_var_icon = vue.resolveComponent("var-icon");
  const _component_var_loading = vue.resolveComponent("var-loading");
  return vue.withDirectives((vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(_ctx.n()),
      style: vue.normalizeStyle({ pointerEvents: _ctx.isForbidClick ? "auto" : "none", zIndex: _ctx.zIndex })
    },
    [
      vue.createElementVNode(
        "div",
        {
          class: vue.normalizeClass(
            _ctx.classes(
              _ctx.n("wrapper"),
              _ctx.n(`wrapper-${_ctx.position}`),
              _ctx.formatElevation(_ctx.elevation, 4),
              [_ctx.vertical, _ctx.n("vertical")],
              [_ctx.type && _ctx.SNACKBAR_TYPE.includes(_ctx.type), _ctx.n(`wrapper-${_ctx.type}`)]
            )
          ),
          style: vue.normalizeStyle({ zIndex: _ctx.zIndex })
        },
        [
          vue.createElementVNode(
            "div",
            {
              class: vue.normalizeClass([_ctx.n("content"), _ctx.contentClass])
            },
            [
              vue.renderSlot(_ctx.$slots, "default", {}, () => [
                vue.createTextVNode(
                  vue.toDisplayString(_ctx.content),
                  1
                  /* TEXT */
                )
              ])
            ],
            2
            /* CLASS */
          ),
          _ctx.iconName || _ctx.type === "loading" || _ctx.$slots.icon ? (vue.openBlock(), vue.createElementBlock(
            "div",
            {
              key: 0,
              class: vue.normalizeClass(_ctx.n("icon"))
            },
            [
              _ctx.iconName ? (vue.openBlock(), vue.createBlock(_component_var_icon, {
                key: 0,
                name: _ctx.iconName
              }, null, 8, ["name"])) : vue.createCommentVNode("v-if", true),
              _ctx.type === "loading" ? (vue.openBlock(), vue.createBlock(_component_var_loading, {
                key: 1,
                type: _ctx.loadingType,
                size: _ctx.loadingSize,
                color: _ctx.loadingColor,
                radius: _ctx.loadingRadius
              }, null, 8, ["type", "size", "color", "radius"])) : vue.createCommentVNode("v-if", true),
              vue.renderSlot(_ctx.$slots, "icon")
            ],
            2
            /* CLASS */
          )) : vue.createCommentVNode("v-if", true),
          _ctx.$slots.action ? (vue.openBlock(), vue.createElementBlock(
            "div",
            {
              key: 1,
              class: vue.normalizeClass(_ctx.n("action"))
            },
            [
              vue.renderSlot(_ctx.$slots, "action")
            ],
            2
            /* CLASS */
          )) : vue.createCommentVNode("v-if", true)
        ],
        6
        /* CLASS, STYLE */
      )
    ],
    6
    /* CLASS, STYLE */
  )), [
    [vue.vShow, _ctx.show]
  ]);
}
const __sfc__$e = vue.defineComponent({
  name: "VarSnackbarCore",
  components: {
    VarLoading: stdin_default$5A,
    VarIcon: stdin_default$63
  },
  props: props$d,
  setup(props2) {
    const timer = vue.ref(null);
    const { zIndex } = useZIndex(() => props2.show, 1);
    useLock(
      () => props2.show,
      () => props2.lockScroll
    );
    const isForbidClick = vue.computed(() => {
      const { type, forbidClick } = props2;
      return type === "loading" || forbidClick;
    });
    const iconName = vue.computed(() => !props2.type ? "" : ICON_TYPE_DICT[props2.type]);
    function updateAfterDuration() {
      timer.value = setTimeout(() => {
        if (props2.type !== "loading") {
          call(props2["onUpdate:show"], false);
        }
      }, props2.duration);
    }
    vue.watch(
      () => props2.show,
      (show) => {
        if (show) {
          call(props2.onOpen);
          updateAfterDuration();
        } else {
          clearTimeout(timer.value);
          call(props2.onClose);
        }
      }
    );
    vue.watch(
      () => props2._update,
      () => {
        clearTimeout(timer.value);
        updateAfterDuration();
      }
    );
    onSmartMounted(() => {
      if (props2.show) {
        call(props2.onOpen);
        updateAfterDuration();
      }
    });
    return {
      SNACKBAR_TYPE,
      zIndex,
      iconName,
      isForbidClick,
      n: n$f,
      classes: classes$b,
      formatElevation
    };
  }
});
__sfc__$e.render = __render__$d;
var stdin_default$3D = __sfc__$e;
const { name: name$d, n: n$e } = createNamespace("snackbar");
function __render__$c(_ctx, _cache) {
  const _component_var_snackbar_core = vue.resolveComponent("var-snackbar-core");
  return vue.openBlock(), vue.createBlock(vue.Teleport, {
    to: _ctx.teleport === false ? void 0 : _ctx.teleport,
    disabled: _ctx.disabled || _ctx.teleport === false
  }, [
    vue.createVNode(vue.Transition, {
      name: `${_ctx.n()}-fade`,
      onAfterEnter: _ctx.onOpened,
      onAfterLeave: _ctx.onClosed
    }, {
      default: vue.withCtx(() => [
        vue.createVNode(_component_var_snackbar_core, vue.mergeProps(_ctx.$props, {
          class: _ctx.n("transition")
        }), vue.createSlots({
          default: vue.withCtx(() => [
            vue.renderSlot(_ctx.$slots, "default")
          ]),
          _: 2
          /* DYNAMIC */
        }, [
          _ctx.$slots.icon ? {
            name: "icon",
            fn: vue.withCtx(() => [
              vue.renderSlot(_ctx.$slots, "icon")
            ]),
            key: "0"
          } : void 0,
          _ctx.$slots.action ? {
            name: "action",
            fn: vue.withCtx(() => [
              vue.renderSlot(_ctx.$slots, "action")
            ]),
            key: "1"
          } : void 0
        ]), 1040, ["class"])
      ]),
      _: 3
      /* FORWARDED */
    }, 8, ["name", "onAfterEnter", "onAfterLeave"])
  ], 8, ["to", "disabled"]);
}
const __sfc__$d = vue.defineComponent({
  name: name$d,
  components: { VarSnackbarCore: stdin_default$3D },
  props: props$d,
  setup() {
    const { disabled } = useTeleport();
    return {
      disabled,
      n: n$e
    };
  }
});
__sfc__$d.render = __render__$c;
var stdin_default$3C = __sfc__$d;
var __defProp$4 = Object.defineProperty;
var __getOwnPropSymbols$4 = Object.getOwnPropertySymbols;
var __hasOwnProp$4 = Object.prototype.hasOwnProperty;
var __propIsEnum$4 = Object.prototype.propertyIsEnumerable;
var __defNormalProp$4 = (obj, key3, value) => key3 in obj ? __defProp$4(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues$4 = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$4.call(b, prop))
      __defNormalProp$4(a, prop, b[prop]);
  if (__getOwnPropSymbols$4)
    for (var prop of __getOwnPropSymbols$4(b)) {
      if (__propIsEnum$4.call(b, prop))
        __defNormalProp$4(a, prop, b[prop]);
    }
  return a;
};
const SNACKBAR_TYPE = ["loading", "success", "warning", "info", "error"];
let sid = 0;
let isMount = false;
let unmount;
let isAllowMultiple = false;
const defaultOptionsValue = {
  type: void 0,
  content: "",
  icon: "",
  action: "",
  position: "top",
  duration: 3e3,
  elevation: true,
  vertical: false,
  contentClass: void 0,
  loadingType: "circle",
  loadingSize: "normal",
  lockScroll: false,
  teleport: "body",
  forbidClick: false,
  onOpen: () => {
  },
  onOpened: () => {
  },
  onClose: () => {
  },
  onClosed: () => {
  }
};
let uniqSnackbarOptions = vue.reactive([]);
let defaultOptions = defaultOptionsValue;
const transitionGroupProps = {
  name: "var-snackbar-fade",
  tag: "div",
  class: "var-transition-group"
};
const getSlotValue = (value) => () => isFunction(value) ? value() : value;
const TransitionGroupHost = {
  setup() {
    return () => {
      const snackbarList = uniqSnackbarOptions.map(({
        id,
        reactiveSnackOptions,
        _update
      }) => {
        const transitionGroupEl = document.querySelector(".var-transition-group");
        if (reactiveSnackOptions.forbidClick || reactiveSnackOptions.type === "loading") {
          transitionGroupEl.classList.add("var-pointer-auto");
        } else {
          transitionGroupEl.classList.remove("var-pointer-auto");
        }
        const style = __spreadValues$4({
          position: isAllowMultiple ? "relative" : "absolute"
        }, getTop(reactiveSnackOptions.position));
        const {
          content,
          icon,
          action
        } = reactiveSnackOptions;
        const slots = {
          default: getSlotValue(content),
          icon: getSlotValue(icon),
          action: getSlotValue(action)
        };
        return vue.createVNode(stdin_default$3D, vue.mergeProps(reactiveSnackOptions, {
          "key": id,
          "style": style,
          "data-id": id,
          "_update": _update,
          "show": reactiveSnackOptions.show,
          "onUpdate:show": ($event) => reactiveSnackOptions.show = $event
        }), slots);
      });
      return vue.createVNode(vue.TransitionGroup, vue.mergeProps(transitionGroupProps, {
        "style": {
          zIndex: stdin_default$6b.zIndex
        },
        "onAfterEnter": opened,
        "onAfterLeave": removeUniqOption
      }), {
        default: () => [snackbarList]
      });
    };
  }
};
const Snackbar = function(options) {
  const snackOptions = normalizeOptions(options);
  const reactiveSnackOptions = vue.reactive(__spreadValues$4(__spreadValues$4({}, defaultOptions), snackOptions));
  reactiveSnackOptions.show = true;
  if (!isMount) {
    isMount = true;
    unmount = mountInstance(TransitionGroupHost).unmountInstance;
  }
  const {
    length
  } = uniqSnackbarOptions;
  const uniqSnackbarOptionItem = {
    id: sid++,
    reactiveSnackOptions
  };
  if (length === 0 || isAllowMultiple) {
    addUniqOption(uniqSnackbarOptionItem);
  } else {
    const _update = `update-${sid}`;
    updateUniqOption(reactiveSnackOptions, _update);
  }
  return {
    clear() {
      if (!isAllowMultiple && uniqSnackbarOptions.length) {
        uniqSnackbarOptions[0].reactiveSnackOptions.show = false;
      } else {
        reactiveSnackOptions.show = false;
      }
    }
  };
};
SNACKBAR_TYPE.forEach((type) => {
  Snackbar[type] = (options) => {
    if (isPlainObject(options)) {
      options.type = type;
    } else {
      options = {
        content: options,
        type
      };
    }
    return Snackbar(options);
  };
});
Snackbar.allowMultiple = function(bool = false) {
  if (bool !== isAllowMultiple) {
    uniqSnackbarOptions.forEach((option) => {
      option.reactiveSnackOptions.show = false;
    });
    isAllowMultiple = bool;
  }
};
Snackbar.clear = function() {
  uniqSnackbarOptions.forEach((option) => {
    option.reactiveSnackOptions.show = false;
  });
};
Snackbar.setDefaultOptions = function(options) {
  defaultOptions = options;
};
Snackbar.resetDefaultOptions = function() {
  defaultOptions = defaultOptionsValue;
};
function opened(element) {
  const id = element.getAttribute("data-id");
  const option = uniqSnackbarOptions.find((option2) => option2.id === toNumber(id));
  if (option) {
    call(option.reactiveSnackOptions.onOpened);
  }
}
function removeUniqOption(element) {
  element.parentElement && element.parentElement.classList.remove("var-pointer-auto");
  const id = element.getAttribute("data-id");
  const option = uniqSnackbarOptions.find((option2) => option2.id === toNumber(id));
  if (option) {
    option.animationEnd = true;
    call(option.reactiveSnackOptions.onClosed);
  }
  const isAllAnimationEnd = uniqSnackbarOptions.every((option2) => option2.animationEnd);
  if (isAllAnimationEnd) {
    call(unmount);
    uniqSnackbarOptions = vue.reactive([]);
    isMount = false;
  }
}
function addUniqOption(uniqSnackbarOptionItem) {
  uniqSnackbarOptions.push(uniqSnackbarOptionItem);
}
function normalizeOptions(options = {}) {
  return isString(options) ? {
    content: options
  } : options;
}
function updateUniqOption(reactiveSnackOptions, _update) {
  const [firstOption] = uniqSnackbarOptions;
  firstOption.reactiveSnackOptions = __spreadValues$4(__spreadValues$4({}, firstOption.reactiveSnackOptions), reactiveSnackOptions);
  firstOption._update = _update;
}
function getTop(position = "top") {
  if (position === "bottom") {
    return {
      top: "85%"
    };
  }
  return {
    top: position === "top" ? "5%" : "45%"
  };
}
Snackbar.Component = stdin_default$3C;
withInstall(stdin_default$3C);
withInstall(stdin_default$3C, Snackbar);
withPropsDefaultsSetter(Snackbar, props$d);
const _SnackbarComponent = stdin_default$3C;
var stdin_default$3B = Snackbar;
const props$c = {
  size: {
    type: [String, Number, Array],
    default: "normal"
  },
  wrap: {
    type: Boolean,
    default: true
  },
  direction: {
    type: String,
    default: "row"
  },
  justify: {
    type: String,
    default: "flex-start"
  },
  align: String,
  inline: Boolean
};
function half(value) {
  return `calc(${value} / 2)`;
}
function computeMargin(y, x, options) {
  const { direction, justify, index, lastIndex } = options;
  let margin = "0";
  if (direction === "row") {
    if (["flex-start", "center", "flex-end", "start", "end"].includes(justify)) {
      if (index !== lastIndex) {
        margin = `${half(y)} ${x} ${half(y)} 0`;
      } else {
        margin = `${half(y)} 0`;
      }
    } else if (justify === "space-around") {
      margin = `${half(y)} ${half(x)}`;
    } else if (justify === "space-between") {
      if (index === 0) {
        margin = `${half(y)} ${half(x)} ${half(y)} 0`;
      } else if (index === lastIndex) {
        margin = `${half(y)} 0 ${half(y)} ${half(x)}`;
      } else {
        margin = `${half(y)} ${half(x)}`;
      }
    }
  }
  if (direction === "column" && index !== lastIndex) {
    margin = `0 0 ${y} 0`;
  }
  return margin;
}
const isInternalSize = (size) => ["mini", "small", "normal", "large"].includes(size);
const {
  name: name$c,
  n: n$d,
  classes: classes$a
} = createNamespace("space");
function getSize(size, isInternalSize2) {
  return isInternalSize2 ? [`var(--space-size-${size}-y)`, `var(--space-size-${size}-x)`] : isArray(size) ? size.map(toSizeUnit) : [toSizeUnit(size), toSizeUnit(size)];
}
var stdin_default$3A = vue.defineComponent({
  name: name$c,
  props: props$c,
  setup(props2, {
    slots
  }) {
    return () => {
      var _a;
      const {
        inline,
        justify,
        align,
        wrap,
        direction,
        size
      } = props2;
      const _children = (_a = call(slots.default)) != null ? _a : [];
      const [y, x] = getSize(size, isInternalSize(size));
      const children = flatFragment(_children);
      const lastIndex = children.length - 1;
      const spacers = children.map((child, index) => {
        var _a2;
        const margin = computeMargin(y, x, {
          direction,
          justify,
          index,
          lastIndex
        });
        return vue.createVNode("div", {
          "class": classes$a([direction === "column", n$d("--auto")]),
          "key": (_a2 = child.key) != null ? _a2 : void 0,
          "style": {
            margin
          }
        }, [child]);
      });
      return vue.createVNode("div", {
        "class": classes$a(n$d(), n$d("$--box"), [inline, n$d("--inline")]),
        "style": {
          flexDirection: direction,
          justifyContent: padStartFlex(justify),
          alignItems: padStartFlex(align),
          flexWrap: wrap ? "wrap" : "nowrap",
          margin: direction === "row" ? `calc(-1 * ${y} / 2) 0` : void 0
        }
      }, [spacers]);
    };
  }
});
withInstall(stdin_default$3A);
withPropsDefaultsSetter(stdin_default$3A, props$c);
const _SpaceComponent = stdin_default$3A;
var stdin_default$3z = stdin_default$3A;
const props$b = {
  activeIcon: {
    type: String,
    default: "check"
  },
  currentIcon: pickProps(props$1k, "name"),
  inactiveIcon: pickProps(props$1k, "name"),
  activeIconNamespace: pickProps(props$1k, "namespace"),
  currentIconNamespace: pickProps(props$1k, "namespace"),
  inactiveIconNamespace: pickProps(props$1k, "namespace")
};
const STEPS_BIND_STEP_KEY = Symbol("STEPS_BIND_STEP_KEY");
function useStep() {
  const { bindChildren, childProviders } = useChildren(STEPS_BIND_STEP_KEY);
  return {
    step: childProviders,
    bindStep: bindChildren
  };
}
function useSteps() {
  const { parentProvider, index, bindParent } = useParent(STEPS_BIND_STEP_KEY);
  assert(!!bindParent, "Steps", "<step/> must in <steps>");
  return {
    index,
    steps: parentProvider,
    bindSteps: bindParent
  };
}
const { name: name$b, n: n$c, classes: classes$9 } = createNamespace("step");
const _hoisted_1$3 = { key: 3 };
function __render__$b(_ctx, _cache) {
  const _component_var_icon = vue.resolveComponent("var-icon");
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(_ctx.n())
    },
    [
      vue.createElementVNode(
        "div",
        {
          class: vue.normalizeClass(_ctx.n(_ctx.direction))
        },
        [
          vue.createElementVNode(
            "div",
            {
              class: vue.normalizeClass(_ctx.classes(_ctx.n(`${_ctx.direction}-tag`), [_ctx.isActive || _ctx.isCurrent, _ctx.n(`${_ctx.direction}-tag--active`)])),
              style: vue.normalizeStyle({ backgroundColor: _ctx.isActive || _ctx.isCurrent ? _ctx.activeColor : _ctx.inactiveColor }),
              onClick: _cache[0] || (_cache[0] = (...args) => _ctx.click && _ctx.click(...args))
            },
            [
              _ctx.isActive ? (vue.openBlock(), vue.createBlock(_component_var_icon, {
                key: 0,
                class: vue.normalizeClass(_ctx.n("icon")),
                "var-step-cover": "",
                name: _ctx.activeIcon,
                namespace: _ctx.activeIconNamespace
              }, null, 8, ["class", "name", "namespace"])) : _ctx.isCurrent && _ctx.currentIcon ? (vue.openBlock(), vue.createBlock(_component_var_icon, {
                key: 1,
                class: vue.normalizeClass(_ctx.n("icon")),
                "var-step-cover": "",
                name: _ctx.currentIcon,
                namespace: _ctx.currentIconNamespace
              }, null, 8, ["class", "name", "namespace"])) : _ctx.inactiveIcon ? (vue.openBlock(), vue.createBlock(_component_var_icon, {
                key: 2,
                class: vue.normalizeClass(_ctx.n("icon")),
                "var-step-cover": "",
                name: _ctx.inactiveIcon,
                namespace: _ctx.inactiveIconNamespace
              }, null, 8, ["class", "name", "namespace"])) : (vue.openBlock(), vue.createElementBlock(
                "span",
                _hoisted_1$3,
                vue.toDisplayString(_ctx.index + 1),
                1
                /* TEXT */
              ))
            ],
            6
            /* CLASS, STYLE */
          ),
          _ctx.$slots.default ? (vue.openBlock(), vue.createElementBlock(
            "div",
            {
              key: 0,
              class: vue.normalizeClass(_ctx.classes(_ctx.n(`${_ctx.direction}-content`), [_ctx.isActive || _ctx.isCurrent, _ctx.n(`${_ctx.direction}-content--active`)])),
              onClick: _cache[1] || (_cache[1] = (...args) => _ctx.click && _ctx.click(...args))
            },
            [
              vue.renderSlot(_ctx.$slots, "default")
            ],
            2
            /* CLASS */
          )) : vue.createCommentVNode("v-if", true),
          vue.createElementVNode(
            "div",
            {
              class: vue.normalizeClass(_ctx.n(`${_ctx.direction}-line`))
            },
            null,
            2
            /* CLASS */
          )
        ],
        2
        /* CLASS */
      )
    ],
    2
    /* CLASS */
  );
}
const __sfc__$c = vue.defineComponent({
  name: name$b,
  components: { VarIcon: stdin_default$63 },
  props: props$b,
  setup() {
    const { index, steps, bindSteps } = useSteps();
    const { active, activeColor, inactiveColor, direction, clickStep } = steps;
    const isCurrent = vue.computed(() => active.value === index.value);
    const isActive = vue.computed(() => index.value !== -1 && toNumber(active.value) > index.value);
    const stepProvider = { index };
    bindSteps(stepProvider);
    function click() {
      return clickStep(index.value);
    }
    return {
      index,
      isActive,
      isCurrent,
      direction,
      activeColor,
      inactiveColor,
      n: n$c,
      classes: classes$9,
      click
    };
  }
});
__sfc__$c.render = __render__$b;
var stdin_default$3y = __sfc__$c;
withInstall(stdin_default$3y);
withPropsDefaultsSetter(stdin_default$3y, props$b);
const _StepComponent = stdin_default$3y;
var stdin_default$3x = stdin_default$3y;
const props$a = {
  active: {
    type: [String, Number],
    default: 0
  },
  direction: {
    type: String,
    default: "horizontal"
  },
  activeColor: String,
  inactiveColor: String,
  onClickStep: defineListenerProp()
};
const { name: name$a, n: n$b } = createNamespace("steps");
function __render__$a(_ctx, _cache) {
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(_ctx.n()),
      style: vue.normalizeStyle({ flexDirection: _ctx.direction === "horizontal" ? "row" : "column" })
    },
    [
      vue.renderSlot(_ctx.$slots, "default")
    ],
    6
    /* CLASS, STYLE */
  );
}
const __sfc__$b = vue.defineComponent({
  name: name$a,
  props: props$a,
  setup(props2) {
    const active = vue.computed(() => props2.active);
    const activeColor = vue.computed(() => props2.activeColor);
    const inactiveColor = vue.computed(() => props2.inactiveColor);
    const direction = vue.computed(() => props2.direction);
    const { bindStep } = useStep();
    const stepsProvider = {
      active,
      direction,
      activeColor,
      inactiveColor,
      clickStep
    };
    bindStep(stepsProvider);
    function clickStep(index) {
      call(props2.onClickStep, index);
    }
    return { n: n$b };
  }
});
__sfc__$b.render = __render__$a;
var stdin_default$3w = __sfc__$b;
withInstall(stdin_default$3w);
withPropsDefaultsSetter(stdin_default$3w, props$a);
const _StepsComponent = stdin_default$3w;
var stdin_default$3v = stdin_default$3w;
const props$9 = {
  styleVars: {
    type: Object,
    default: () => ({})
  },
  tag: {
    type: String,
    default: "div"
  }
};
const { name: name$9, n: n$a } = createNamespace("style-provider");
const __sfc__$a = vue.defineComponent({
  name: name$9,
  props: props$9,
  setup(props2, { slots }) {
    return () => vue.h(
      props2.tag,
      {
        class: n$a(),
        style: formatStyleVars(props2.styleVars)
      },
      call(slots.default)
    );
  }
});
var stdin_default$3u = __sfc__$a;
const styleId = "varlet-style-vars";
function removeStyle() {
  const style = document.head.querySelector(`#${styleId}`);
  if (style) {
    document.head.removeChild(style);
  }
}
function insertStyle(content) {
  const style = document.createElement("style");
  style.id = styleId;
  style.innerHTML = content;
  document.head.appendChild(style);
}
function StyleProvider(styleVars) {
  if (styleVars == null) {
    removeStyle();
    return;
  }
  const styles = formatStyleVars(styleVars != null ? styleVars : {});
  const content = Object.entries(styles).reduce((content2, [key3, value]) => {
    content2 += `${key3}:${value};`;
    return content2;
  }, `:root:root {
`);
  removeStyle();
  insertStyle(`${content}
}`);
}
StyleProvider.Component = stdin_default$3u;
withInstall(stdin_default$3u);
withInstall(stdin_default$3u, StyleProvider);
withPropsDefaultsSetter(StyleProvider, props$9);
const _StyleProviderComponent = stdin_default$3u;
var stdin_default$3t = StyleProvider;
const props$8 = {
  modelValue: {
    default: false
  },
  activeValue: {
    default: true
  },
  inactiveValue: {
    default: false
  },
  lazyChange: Boolean,
  disabled: Boolean,
  readonly: Boolean,
  loading: Boolean,
  color: String,
  loadingColor: String,
  closeColor: String,
  size: [String, Number],
  variant: Boolean,
  rules: [Array, Function, Object],
  ripple: {
    type: Boolean,
    default: true
  },
  buttonElevation: {
    type: [Boolean, String, Number],
    default: true
  },
  validateTrigger: {
    type: Array,
    default: () => ["onChange", "onLazyChange"]
  },
  onClick: defineListenerProp(),
  onBeforeChange: defineListenerProp(),
  onChange: defineListenerProp(),
  "onUpdate:modelValue": defineListenerProp()
};
const { name: name$8, n: n$9, classes: classes$8 } = createNamespace("switch");
const _hoisted_1$2 = ["aria-checked"];
const _hoisted_2$2 = ["tabindex"];
function __render__$9(_ctx, _cache) {
  const _component_var_hover_overlay = vue.resolveComponent("var-hover-overlay");
  const _component_var_form_details = vue.resolveComponent("var-form-details");
  const _directive_ripple = vue.resolveDirective("ripple");
  const _directive_hover = vue.resolveDirective("hover");
  return vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
    class: vue.normalizeClass(_ctx.classes(_ctx.n(), [_ctx.variant, _ctx.n("--variant")])),
    role: "switch",
    "aria-checked": _ctx.modelValue
  }, [
    vue.createElementVNode(
      "div",
      {
        ref: "switchRef",
        class: vue.normalizeClass(_ctx.classes(_ctx.n("block"), [_ctx.disabled || _ctx.formDisabled, _ctx.n("--disabled")], [_ctx.isActive, _ctx.n("block--active")])),
        style: vue.normalizeStyle(_ctx.styleComputed.switch),
        onClick: _cache[2] || (_cache[2] = (...args) => _ctx.switchActive && _ctx.switchActive(...args))
      },
      [
        vue.createElementVNode(
          "div",
          {
            style: vue.normalizeStyle(_ctx.styleComputed.track),
            class: vue.normalizeClass(_ctx.classes(_ctx.n("track"), [_ctx.isActive, _ctx.n("track--active")], [_ctx.errorMessage && !_ctx.variant, _ctx.n("track--error")]))
          },
          null,
          6
          /* CLASS, STYLE */
        ),
        vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
          class: vue.normalizeClass(_ctx.classes(_ctx.n("ripple"), [_ctx.isActive, _ctx.n("ripple--active")])),
          style: vue.normalizeStyle(_ctx.styleComputed.ripple),
          tabindex: _ctx.disabled || _ctx.formDisabled ? void 0 : "0",
          onFocus: _cache[0] || (_cache[0] = ($event) => _ctx.isFocusing = true),
          onBlur: _cache[1] || (_cache[1] = ($event) => _ctx.isFocusing = false)
        }, [
          vue.createElementVNode(
            "div",
            {
              style: vue.normalizeStyle(_ctx.styleComputed.handle),
              class: vue.normalizeClass(
                _ctx.classes(
                  _ctx.n("handle"),
                  _ctx.formatElevation(_ctx.buttonElevation, 2),
                  [_ctx.isActive, _ctx.n("handle--active")],
                  [_ctx.errorMessage && !_ctx.variant, _ctx.n("handle--error")],
                  [_ctx.hovering, _ctx.n("handle--hover")]
                )
              )
            },
            [
              _ctx.loading ? (vue.openBlock(), vue.createElementBlock(
                "span",
                {
                  key: 0,
                  class: vue.normalizeClass(_ctx.n("loading")),
                  style: vue.normalizeStyle({
                    width: _ctx.radius,
                    height: _ctx.radius
                  })
                },
                _cache[3] || (_cache[3] = [
                  vue.createElementVNode(
                    "svg",
                    { viewBox: "25 25 50 50" },
                    [
                      vue.createElementVNode("circle", {
                        cx: "50",
                        cy: "50",
                        r: "20",
                        fill: "none"
                      })
                    ],
                    -1
                    /* HOISTED */
                  )
                ]),
                6
                /* CLASS, STYLE */
              )) : vue.createCommentVNode("v-if", true)
            ],
            6
            /* CLASS, STYLE */
          ),
          vue.createVNode(_component_var_hover_overlay, {
            hovering: _ctx.hovering && !_ctx.disabled && !_ctx.formDisabled,
            focusing: _ctx.isFocusing && !_ctx.disabled && !_ctx.formDisabled
          }, null, 8, ["hovering", "focusing"])
        ], 46, _hoisted_2$2)), [
          [_directive_ripple, {
            disabled: !_ctx.ripple || _ctx.disabled || _ctx.loading || _ctx.formDisabled || _ctx.readonly || _ctx.formReadonly
          }]
        ])
      ],
      6
      /* CLASS, STYLE */
    ),
    vue.createVNode(_component_var_form_details, { "error-message": _ctx.errorMessage }, null, 8, ["error-message"])
  ], 10, _hoisted_1$2)), [
    [_directive_hover, _ctx.hover, "desktop"]
  ]);
}
const __sfc__$9 = vue.defineComponent({
  name: name$8,
  components: {
    VarFormDetails: stdin_default$5W,
    VarHoverOverlay: stdin_default$65
  },
  directives: { Ripple: stdin_default$68, Hover: stdin_default$67 },
  props: props$8,
  setup(props2) {
    const switchRef = vue.ref(null);
    const isFocusing = vue.ref(false);
    const { bindForm, form } = useForm();
    const { errorMessage, validateWithTrigger: vt, validate: v, resetValidation } = useValidation();
    const { hovering, handleHovering } = useHoverOverlay();
    const isActive = vue.computed(() => props2.modelValue === props2.activeValue);
    const styleComputed = vue.computed(() => {
      const { size, color, closeColor, loadingColor, variant } = props2;
      return {
        handle: {
          width: multiplySizeUnit(size),
          height: multiplySizeUnit(size),
          backgroundColor: isActive.value ? color : closeColor,
          color: loadingColor
        },
        ripple: {
          left: isActive.value ? multiplySizeUnit(size, 0.5) : `-${multiplySizeUnit(size, variant ? 1 / 3 : 0.5)}`,
          color: isActive.value ? color : closeColor || "currentColor",
          width: multiplySizeUnit(size, 2),
          height: multiplySizeUnit(size, 2)
        },
        track: {
          width: multiplySizeUnit(size, variant ? 13 / 6 : 1.9),
          height: multiplySizeUnit(size, variant ? 4 / 3 : 0.72),
          borderRadius: multiplySizeUnit(size, 2 / 3),
          filter: isActive.value || (errorMessage == null ? void 0 : errorMessage.value) ? void 0 : `brightness(${variant ? 1 : 0.6})`,
          backgroundColor: isActive.value ? color : closeColor,
          borderWidth: variant && !isActive.value ? multiplySizeUnit(size, 1 / 12) : void 0
        },
        switch: {
          width: multiplySizeUnit(size, variant ? 13 / 6 : 2),
          height: multiplySizeUnit(size, variant ? 4 / 3 : 1.2)
        }
      };
    });
    const radius = vue.computed(() => multiplySizeUnit(props2.size, 0.8));
    const switchProvider = {
      reset,
      validate,
      resetValidation
    };
    call(bindForm, switchProvider);
    useEventListener(() => window, "keydown", handleKeydown);
    useEventListener(() => window, "keyup", handleKeyup);
    function handleKeydown(event) {
      if (!isFocusing.value) {
        return;
      }
      if (event.key === " " || event.key === "Enter") {
        preventDefault(event);
      }
      if (event.key === "Enter") {
        switchRef.value.click();
      }
    }
    function handleKeyup(event) {
      if (!isFocusing.value || event.key !== " ") {
        return;
      }
      preventDefault(event);
      switchRef.value.click();
    }
    function validate() {
      return v(props2.rules, props2.modelValue);
    }
    function validateWithTrigger(trigger) {
      vue.nextTick(() => {
        const { validateTrigger, rules, modelValue } = props2;
        vt(validateTrigger, trigger, rules, modelValue);
      });
    }
    function switchActive(event) {
      const {
        onClick,
        onChange,
        disabled,
        loading,
        readonly,
        activeValue,
        inactiveValue,
        lazyChange,
        "onUpdate:modelValue": updateModelValue,
        onBeforeChange
      } = props2;
      if (disabled || (form == null ? void 0 : form.disabled.value)) {
        return;
      }
      call(onClick, event);
      if (loading || readonly || (form == null ? void 0 : form.readonly.value)) {
        return;
      }
      const newValue = isActive.value ? inactiveValue : activeValue;
      if (lazyChange) {
        call(onBeforeChange, newValue, (value) => {
          call(updateModelValue, value);
          validateWithTrigger("onLazyChange");
        });
      } else {
        call(onChange, newValue);
        call(updateModelValue, newValue);
        validateWithTrigger("onChange");
      }
    }
    function hover(value) {
      if (props2.disabled || (form == null ? void 0 : form.disabled.value)) {
        return;
      }
      handleHovering(value);
    }
    function reset() {
      call(props2["onUpdate:modelValue"], props2.inactiveValue);
      resetValidation();
    }
    return {
      isActive,
      switchRef,
      hovering,
      isFocusing,
      radius,
      styleComputed,
      errorMessage,
      formDisabled: form == null ? void 0 : form.disabled,
      formReadonly: form == null ? void 0 : form.readonly,
      n: n$9,
      classes: classes$8,
      formatElevation,
      multiplySizeUnit,
      switchActive,
      hover
    };
  }
});
__sfc__$9.render = __render__$9;
var stdin_default$3s = __sfc__$9;
withInstall(stdin_default$3s);
withPropsDefaultsSetter(stdin_default$3s, props$8);
const _SwitchComponent = stdin_default$3s;
var stdin_default$3r = stdin_default$3s;
const props$7 = {
  name: [String, Number],
  disabled: Boolean,
  ripple: {
    type: Boolean,
    default: true
  },
  onClick: defineListenerProp()
};
const TABS_BIND_TAB_KEY = Symbol("TABS_BIND_TAB_KEY");
function useTabList() {
  const { childProviders, bindChildren, length } = useChildren(TABS_BIND_TAB_KEY);
  return {
    length,
    tabList: childProviders,
    bindTabList: bindChildren
  };
}
function useTabs() {
  const { parentProvider, bindParent, index } = useParent(TABS_BIND_TAB_KEY);
  assert(!!bindParent, "Tab", "<var-tab/> must in <var-tabs/>");
  return {
    index,
    tabs: parentProvider,
    bindTabs: bindParent
  };
}
const { name: name$7, n: n$8, classes: classes$7 } = createNamespace("tab");
function __render__$8(_ctx, _cache) {
  const _directive_ripple = vue.resolveDirective("ripple");
  return vue.withDirectives((vue.openBlock(), vue.createElementBlock(
    "div",
    {
      ref: "tabEl",
      class: vue.normalizeClass(_ctx.classes(_ctx.n(), _ctx.n("$--box"), _ctx.computeColorClass(), _ctx.n(`--${_ctx.itemDirection}`))),
      style: vue.normalizeStyle({
        color: _ctx.computeColorStyle()
      }),
      onClick: _cache[0] || (_cache[0] = (...args) => _ctx.handleClick && _ctx.handleClick(...args))
    },
    [
      vue.renderSlot(_ctx.$slots, "default")
    ],
    6
    /* CLASS, STYLE */
  )), [
    [_directive_ripple, { disabled: _ctx.disabled || !_ctx.ripple }]
  ]);
}
const __sfc__$8 = vue.defineComponent({
  name: name$7,
  directives: { Ripple: stdin_default$68 },
  props: props$7,
  setup(props2) {
    const tabEl = vue.ref(null);
    const element = vue.computed(() => tabEl.value);
    const name2 = vue.computed(() => props2.name);
    const disabled = vue.computed(() => props2.disabled);
    const { index, tabs, bindTabs } = useTabs();
    const { onTabClick, active, activeColor, inactiveColor, disabledColor, itemDirection, resize } = tabs;
    const tabProvider = {
      name: name2,
      index,
      disabled,
      element
    };
    bindTabs(tabProvider);
    vue.watch(() => [props2.name, props2.disabled], resize);
    function shouldActive() {
      if (props2.name != null) {
        return active.value === props2.name;
      }
      return active.value === (index == null ? void 0 : index.value);
    }
    function computeColorStyle() {
      return props2.disabled ? disabledColor.value : shouldActive() ? activeColor.value : inactiveColor.value;
    }
    function computeColorClass() {
      return props2.disabled ? n$8("$-tab--disabled") : shouldActive() ? n$8("$-tab--active") : n$8("$-tab--inactive");
    }
    function handleClick(event) {
      const { disabled: disabled2, name: name3, onClick } = props2;
      if (disabled2) {
        return;
      }
      call(onClick, name3 != null ? name3 : index.value, event);
      onTabClick(tabProvider);
    }
    return {
      tabEl,
      active,
      activeColor,
      inactiveColor,
      itemDirection,
      n: n$8,
      classes: classes$7,
      computeColorStyle,
      computeColorClass,
      handleClick
    };
  }
});
__sfc__$8.render = __render__$8;
var stdin_default$3q = __sfc__$8;
withInstall(stdin_default$3q);
withPropsDefaultsSetter(stdin_default$3q, props$7);
const _TabComponent = stdin_default$3q;
var stdin_default$3p = stdin_default$3q;
const props$6 = {
  name: [String, Number]
};
const { name: name$6, n: n$7, classes: classes$6 } = createNamespace("tab-item");
function __render__$7(_ctx, _cache) {
  const _component_var_swipe_item = vue.resolveComponent("var-swipe-item");
  return vue.openBlock(), vue.createBlock(_component_var_swipe_item, {
    class: vue.normalizeClass(_ctx.classes(_ctx.n(), [!_ctx.current, _ctx.n("--inactive")])),
    "var-tab-item-cover": ""
  }, {
    default: vue.withCtx(() => [
      vue.renderSlot(_ctx.$slots, "default")
    ]),
    _: 3
    /* FORWARDED */
  }, 8, ["class"]);
}
const __sfc__$7 = vue.defineComponent({
  name: name$6,
  components: { VarSwipeItem: stdin_default$4s },
  props: props$6,
  setup(props2) {
    const current = vue.ref(false);
    const name2 = vue.computed(() => props2.name);
    const { index, bindTabsItems } = useTabsItems();
    const { bindLists } = useLists();
    const tabItemProvider = {
      index,
      name: name2,
      current: vue.computed(() => current.value),
      setCurrent
    };
    bindTabsItems(tabItemProvider);
    bindLists(tabItemProvider);
    function setCurrent(value) {
      current.value = value;
    }
    return {
      current,
      n: n$7,
      classes: classes$6
    };
  }
});
__sfc__$7.render = __render__$7;
var stdin_default$3o = __sfc__$7;
withInstall(stdin_default$3o);
withPropsDefaultsSetter(stdin_default$3o, props$6);
const _TabItemComponent = stdin_default$3o;
var stdin_default$3n = stdin_default$3o;
const props$5 = {
  fullWidth: {
    type: [Number, String],
    default: "100%"
  },
  scrollerHeight: {
    type: [Number, String]
  },
  elevation: {
    type: [Boolean, Number, String],
    default: true
  }
};
const { name: name$5, n: n$6, classes: classes$5 } = createNamespace("table");
function __render__$6(_ctx, _cache) {
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(_ctx.classes(_ctx.n(), _ctx.formatElevation(_ctx.elevation, 1), _ctx.n("$--box")))
    },
    [
      vue.createElementVNode(
        "div",
        {
          class: vue.normalizeClass(_ctx.n("main")),
          style: vue.normalizeStyle({ "max-height": _ctx.toSizeUnit(_ctx.scrollerHeight) })
        },
        [
          vue.createElementVNode(
            "table",
            {
              class: vue.normalizeClass(_ctx.n("table")),
              style: vue.normalizeStyle({ width: _ctx.toSizeUnit(_ctx.fullWidth) })
            },
            [
              vue.renderSlot(_ctx.$slots, "default")
            ],
            6
            /* CLASS, STYLE */
          )
        ],
        6
        /* CLASS, STYLE */
      ),
      _ctx.$slots.footer ? (vue.openBlock(), vue.createElementBlock(
        "div",
        {
          key: 0,
          class: vue.normalizeClass(_ctx.n("footer"))
        },
        [
          vue.renderSlot(_ctx.$slots, "footer")
        ],
        2
        /* CLASS */
      )) : vue.createCommentVNode("v-if", true)
    ],
    2
    /* CLASS */
  );
}
const __sfc__$6 = vue.defineComponent({
  name: name$5,
  props: props$5,
  setup: () => ({
    toSizeUnit,
    n: n$6,
    classes: classes$5,
    formatElevation
  })
});
__sfc__$6.render = __render__$6;
var stdin_default$3m = __sfc__$6;
withInstall(stdin_default$3m);
withPropsDefaultsSetter(stdin_default$3m, props$5);
const _TableComponent = stdin_default$3m;
var stdin_default$3l = stdin_default$3m;
const props$4 = {
  active: {
    type: [String, Number],
    default: 0
  },
  layoutDirection: {
    type: String,
    default: "horizontal"
  },
  itemDirection: {
    type: String,
    default: "horizontal"
  },
  fixedBottom: Boolean,
  activeColor: String,
  inactiveColor: String,
  disabledColor: String,
  color: String,
  indicatorColor: String,
  indicatorSize: [String, Number],
  elevation: {
    type: [Boolean, String, Number],
    default: false
  },
  scrollable: {
    type: String,
    default: "auto"
  },
  indicatorPosition: {
    type: String,
    default: "normal"
  },
  safeArea: Boolean,
  sticky: Boolean,
  stickyCssMode: pickProps(props$M, "cssMode"),
  stickyZIndex: pickProps(props$M, "zIndex"),
  offsetTop: pickProps(props$M, "offsetTop"),
  onClick: defineListenerProp(),
  onChange: defineListenerProp(),
  "onUpdate:active": defineListenerProp()
};
var __async$3 = (__this, __arguments, generator) => {
  return new Promise((resolve, reject) => {
    var fulfilled = (value) => {
      try {
        step(generator.next(value));
      } catch (e) {
        reject(e);
      }
    };
    var rejected = (value) => {
      try {
        step(generator.throw(value));
      } catch (e) {
        reject(e);
      }
    };
    var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
    step((generator = generator.apply(__this, __arguments)).next());
  });
};
const { name: name$4, n: n$5, classes: classes$4 } = createNamespace("tabs");
function __render__$5(_ctx, _cache) {
  return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.sticky ? _ctx.n("$-sticky") : _ctx.Transition), {
    ref: _ctx.sticky ? "stickyComponent" : void 0,
    "css-mode": _ctx.sticky ? _ctx.stickyCssMode : void 0,
    "offset-top": _ctx.sticky ? _ctx.offsetTop : void 0,
    "z-index": _ctx.sticky ? _ctx.stickyZIndex : void 0
  }, {
    default: vue.withCtx(() => [
      vue.createElementVNode(
        "div",
        vue.mergeProps({
          class: _ctx.classes(
            _ctx.n(),
            _ctx.n("$--box"),
            _ctx.n(`--item-${_ctx.itemDirection}`),
            _ctx.n(`--layout-${_ctx.layoutDirection}-padding`),
            _ctx.formatElevation(_ctx.elevation, 4),
            [_ctx.fixedBottom, _ctx.n("--fixed-bottom")],
            [_ctx.safeArea, _ctx.n("--safe-area")]
          ),
          style: { background: _ctx.color }
        }, _ctx.$attrs),
        [
          vue.createElementVNode(
            "div",
            {
              ref: "scrollerEl",
              class: vue.normalizeClass(
                _ctx.classes(
                  _ctx.n("tab-wrap"),
                  [_ctx.localScrollable, _ctx.n(`--layout-${_ctx.layoutDirection}-scrollable`)],
                  _ctx.n(`--layout-${_ctx.layoutDirection}`)
                )
              )
            },
            [
              vue.renderSlot(_ctx.$slots, "default"),
              vue.createElementVNode(
                "div",
                {
                  class: vue.normalizeClass(_ctx.classes(_ctx.n("indicator"), _ctx.n(`--layout-${_ctx.layoutDirection}${_ctx.indicatorPosition}-indicator`))),
                  style: vue.normalizeStyle({
                    width: _ctx.layoutDirection === "horizontal" ? _ctx.indicatorWidth : _ctx.toSizeUnit(_ctx.indicatorSize),
                    height: _ctx.layoutDirection === "horizontal" ? _ctx.toSizeUnit(_ctx.indicatorSize) : _ctx.indicatorHeight,
                    transform: _ctx.layoutDirection === "horizontal" ? `translateX(${_ctx.indicatorX})` : `translateY(${_ctx.indicatorY})`
                  })
                },
                [
                  vue.createElementVNode(
                    "div",
                    {
                      class: vue.normalizeClass(_ctx.classes(_ctx.n("indicator-inner"), _ctx.n(`--layout-${_ctx.layoutDirection}-indicator-inner`))),
                      style: vue.normalizeStyle({ background: _ctx.indicatorColor || _ctx.activeColor })
                    },
                    null,
                    6
                    /* CLASS, STYLE */
                  )
                ],
                6
                /* CLASS, STYLE */
              )
            ],
            2
            /* CLASS */
          )
        ],
        16
        /* FULL_PROPS */
      )
    ]),
    _: 3
    /* FORWARDED */
  }, 8, ["css-mode", "offset-top", "z-index"]);
}
const __sfc__$5 = vue.defineComponent({
  name: name$4,
  components: { VarSticky: stdin_default$4T },
  inheritAttrs: false,
  props: props$4,
  setup(props2) {
    const indicatorWidth = vue.ref("0px");
    const indicatorHeight = vue.ref("0px");
    const indicatorX = vue.ref("0px");
    const indicatorY = vue.ref("0px");
    const localScrollable = vue.ref(false);
    const scrollerEl = vue.ref(null);
    const active = vue.computed(() => props2.active);
    const activeColor = vue.computed(() => props2.activeColor);
    const inactiveColor = vue.computed(() => props2.inactiveColor);
    const disabledColor = vue.computed(() => props2.disabledColor);
    const itemDirection = vue.computed(() => props2.itemDirection);
    const stickyComponent = vue.ref(null);
    const indicatorPosition = vue.computed(() => props2.indicatorPosition === "reverse" ? "-reverse" : "");
    const { tabList, bindTabList, length } = useTabList();
    const tabsProvider = {
      active,
      activeColor,
      inactiveColor,
      disabledColor,
      itemDirection,
      resize,
      onTabClick
    };
    bindTabList(tabsProvider);
    vue.watch(
      () => length.value,
      () => __async$3(this, null, function* () {
        yield doubleRaf();
        resize();
      })
    );
    vue.watch(() => [props2.active, props2.scrollable], resize);
    vue.onActivated(resize);
    onWindowResize(resize);
    function onTabClick(tab) {
      var _a;
      const currentActive = (_a = tab.name.value) != null ? _a : tab.index.value;
      const { active: active2, onChange, onClick } = props2;
      call(props2["onUpdate:active"], currentActive);
      call(onClick, currentActive);
      currentActive !== active2 && call(onChange, currentActive);
    }
    function matchName() {
      return tabList.find(({ name: name2 }) => props2.active === name2.value);
    }
    function matchIndex(activeIndex) {
      return tabList.find(({ index }) => (activeIndex != null ? activeIndex : props2.active) === index.value);
    }
    function matchBoundary() {
      if (length.value === 0) {
        return;
      }
      const { active: active2 } = props2;
      if (isNumber(active2)) {
        const activeIndex = clamp$1(active2, 0, length.value - 1);
        call(props2["onUpdate:active"], activeIndex);
        return matchIndex(activeIndex);
      }
    }
    function watchScrollable() {
      localScrollable.value = props2.scrollable === "always" || tabList.length >= 5;
    }
    function moveIndicator({ element }) {
      const el = element.value;
      if (!el) {
        return;
      }
      if (props2.layoutDirection === "horizontal") {
        indicatorWidth.value = `${el.offsetWidth}px`;
        indicatorX.value = `${el.offsetLeft}px`;
      } else {
        indicatorHeight.value = `${el.offsetHeight}px`;
        indicatorY.value = `${el.offsetTop}px`;
      }
    }
    function scrollToCenter({ element }) {
      if (!localScrollable.value) {
        return;
      }
      const scroller = scrollerEl.value;
      const el = element.value;
      if (props2.layoutDirection === "horizontal") {
        const left2 = el.offsetLeft + el.offsetWidth / 2 - scroller.offsetWidth / 2;
        scrollTo(scroller, {
          left: left2,
          animation: linear
        });
      } else {
        const top2 = el.offsetTop + el.offsetHeight / 2 - scroller.offsetHeight / 2;
        scrollTo(scroller, {
          top: top2,
          animation: linear
        });
      }
    }
    function resize() {
      const tab = matchName() || matchIndex() || matchBoundary();
      if (!tab || tab.disabled.value) {
        return;
      }
      watchScrollable();
      moveIndicator(tab);
      scrollToCenter(tab);
    }
    function resizeSticky() {
      return __async$3(this, null, function* () {
        if (props2.sticky && stickyComponent.value) {
          yield stickyComponent.value.resize();
        }
      });
    }
    return {
      stickyComponent,
      indicatorWidth,
      indicatorHeight,
      indicatorX,
      indicatorY,
      indicatorPosition,
      localScrollable,
      scrollerEl,
      Transition: vue.Transition,
      toSizeUnit,
      n: n$5,
      classes: classes$4,
      resize,
      resizeSticky,
      formatElevation
    };
  }
});
__sfc__$5.render = __render__$5;
var stdin_default$3k = __sfc__$5;
withInstall(stdin_default$3k);
withPropsDefaultsSetter(stdin_default$3k, props$4);
const _TabsComponent = stdin_default$3k;
var stdin_default$3j = stdin_default$3k;
const props$3 = {
  active: {
    type: [String, Number],
    default: 0
  },
  canSwipe: {
    type: Boolean,
    default: true
  },
  loop: Boolean,
  "onUpdate:active": defineListenerProp()
};
var __async$2 = (__this, __arguments, generator) => {
  return new Promise((resolve, reject) => {
    var fulfilled = (value) => {
      try {
        step(generator.next(value));
      } catch (e) {
        reject(e);
      }
    };
    var rejected = (value) => {
      try {
        step(generator.throw(value));
      } catch (e) {
        reject(e);
      }
    };
    var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
    step((generator = generator.apply(__this, __arguments)).next());
  });
};
const { name: name$3, n: n$4 } = createNamespace("tabs-items");
function __render__$4(_ctx, _cache) {
  const _component_var_swipe = vue.resolveComponent("var-swipe");
  return vue.openBlock(), vue.createBlock(_component_var_swipe, {
    ref: "swipe",
    class: vue.normalizeClass(_ctx.n()),
    loop: _ctx.loop,
    touchable: _ctx.canSwipe,
    indicator: false,
    onChange: _ctx.handleSwipeChange
  }, {
    default: vue.withCtx(() => [
      vue.renderSlot(_ctx.$slots, "default")
    ]),
    _: 3
    /* FORWARDED */
  }, 8, ["class", "loop", "touchable", "onChange"]);
}
const __sfc__$4 = vue.defineComponent({
  name: name$3,
  components: { VarSwipe: stdin_default$4u },
  props: props$3,
  setup(props2) {
    const swipe = vue.ref(null);
    const { tabItemList, bindTabItem, length } = useTabItem$1();
    bindTabItem({});
    vue.watch(() => props2.active, handleActiveChange);
    vue.watch(
      () => length.value,
      () => __async$2(this, null, function* () {
        yield doubleRaf();
        handleActiveChange(props2.active);
      })
    );
    function matchName(active) {
      return tabItemList.find(({ name: name2 }) => active === name2.value);
    }
    function matchIndex(active) {
      return tabItemList.find(({ index }) => active === index.value);
    }
    function matchActive(active) {
      return matchName(active) || matchIndex(active);
    }
    function handleActiveChange(newValue) {
      var _a;
      const newActiveTabItemProvider = matchActive(newValue);
      if (!newActiveTabItemProvider) {
        return;
      }
      tabItemList.forEach(({ setCurrent }) => setCurrent(false));
      newActiveTabItemProvider.setCurrent(true);
      (_a = swipe.value) == null ? void 0 : _a.to(newActiveTabItemProvider.index.value);
    }
    function handleSwipeChange(currentIndex) {
      var _a;
      const tabItem = tabItemList.find(({ index }) => index.value === currentIndex);
      const active = (_a = tabItem.name.value) != null ? _a : tabItem.index.value;
      call(props2["onUpdate:active"], active);
    }
    function getSwipe() {
      return swipe.value;
    }
    return {
      swipe,
      n: n$4,
      handleSwipeChange,
      getSwipe
    };
  }
});
__sfc__$4.render = __render__$4;
var stdin_default$3i = __sfc__$4;
withInstall(stdin_default$3i);
withPropsDefaultsSetter(stdin_default$3i, props$3);
const _TabsItemsComponent = stdin_default$3i;
var stdin_default$3h = stdin_default$3i;
var stdin_default$3g = {
  "--action-sheet-background": "var(--color-surface-container-low)",
  "--action-sheet-title-color": "#aaa",
  "--action-sheet-action-item-color": "#fff",
  "--action-sheet-border-radius": "2px",
  "--action-sheet-border-top": "none",
  "--action-sheet-title-padding": "10px 16px",
  "--action-sheet-title-font-size": "14px",
  "--action-sheet-action-item-height": "48px",
  "--action-sheet-action-item-padding": "0 18px",
  "--action-sheet-action-item-disabled-color": "var(--color-text-disabled)",
  "--action-sheet-icon-margin": "0 20px 0 0",
  "--action-sheet-icon-size": "24px"
};
var stdin_default$3f = {
  "--alert-padding": "16px",
  "--alert-border-radius": "4px",
  "--alert-icon-size": "22px",
  "--alert-icon-margin": "0 12px 0 0",
  "--alert-close-icon-size": "22px",
  "--alert-close-icon-margin": "2px 0 0 12px",
  "--alert-standard-info-text-color": "var(--color-on-info)",
  "--alert-standard-danger-text-color": "var(--color-on-danger)",
  "--alert-standard-success-text-color": "var(--color-on-success)",
  "--alert-standard-warning-text-color": "var(--color-on-warning)",
  "--alert-danger-background": "var(--color-danger)",
  "--alert-success-background": "var(--color-success)",
  "--alert-warning-background": "var(--color-warning)",
  "--alert-info-background": "var(--color-info)",
  "--alert-tonal-danger-background": "hsla(var(--hsl-danger), 0.12)",
  "--alert-tonal-success-background": "hsla(var(--hsl-success), 0.12)",
  "--alert-tonal-warning-background": "hsla(var(--hsl-warning), 0.12)",
  "--alert-tonal-info-background": "hsla(var(--hsl-info), 0.12)",
  "--alert-tonal-danger-text-color": "var(--color-danger)",
  "--alert-tonal-success-text-color": "var(--color-success)",
  "--alert-tonal-warning-text-color": "var(--color-warning)",
  "--alert-tonal-info-text-color": "var(--color-info)",
  "--alert-message-font-size": "14px",
  "--alert-title-font-size": "16px",
  "--alert-title-font-weight": "500",
  "--alert-message-margin-top": "4px",
  "--alert-message-line-height": "1.5",
  "--alert-title-line-height": "1.5"
};
var stdin_default$3e = {
  "--app-bar-color": "#272727",
  "--app-bar-title-padding": "0 12px",
  "--app-bar-title-font-size": "var(--font-size-lg)",
  "--app-bar-text-color": "#fff",
  "--app-bar-height": "54px",
  "--app-bar-left-gap": "6px",
  "--app-bar-right-gap": "6px",
  "--app-bar-border-radius": "4px",
  "--app-bar-font-size": "var(--font-size-lg)",
  "--app-bar-border-bottom": "thin solid var(--color-outline)"
};
var stdin_default$3d = {
  "--avatar-background-color": "#303030",
  "--avatar-border": "2px solid #1e1e1e",
  "--avatar-text-color": "#f5f5f5",
  "--avatar-border-radius": "4px",
  "--avatar-mini-size": "28px",
  "--avatar-small-size": "36px",
  "--avatar-normal-size": "48px",
  "--avatar-large-size": "64px",
  "--avatar-hover-transform": "scale(1.1)"
};
var stdin_default$3c = {
  "--avatar-group-offset": "-10px"
};
var stdin_default$3b = {
  "--back-top-right": "40px",
  "--back-top-bottom": "40px",
  "--back-top-button-size": "40px",
  "--back-top-button-border-radius": "50%"
};
var stdin_default$3a = {
  "--badge-default-color": "#555",
  "--badge-default-text-color": "#fff",
  "--badge-content-padding": "2px 6px",
  "--badge-content-border": "none",
  "--badge-content-border-radius": "100px",
  "--badge-content-font-size": "12px",
  "--badge-icon-size": "12px",
  "--badge-primary-color": "var(--color-primary)",
  "--badge-danger-color": "var(--color-danger)",
  "--badge-success-color": "var(--color-success)",
  "--badge-warning-color": "var(--color-warning)",
  "--badge-info-color": "var(--color-info)",
  "--badge-primary-text-color": "var(--color-on-primary)",
  "--badge-danger-text-color": "var(--color-on-danger)",
  "--badge-success-text-color": "var(--color-on-success)",
  "--badge-warning-text-color": "var(--color-on-warning)",
  "--badge-info-text-color": "var(--color-on-info)",
  "--badge-dot-width": "8px",
  "--badge-dot-height": "8px"
};
var stdin_default$39 = {
  "--bottom-navigation-height": "50px",
  "--bottom-navigation-variant-height": "66px",
  "--bottom-navigation-z-index": "1",
  "--bottom-navigation-background-color": "var(--color-surface-container-high)",
  "--bottom-navigation-border-color": "var(--color-outline)",
  "--bottom-navigation-fab-offset": "4px",
  "--bottom-navigation-fab-border-radius": "50%"
};
var stdin_default$38 = {
  "--bottom-navigation-item-inactive-color": "#BFBFBF",
  "--bottom-navigation-item-font-size": "var(--font-size-sm)",
  "--bottom-navigation-item-active-color": "var(--color-primary)",
  "--bottom-navigation-item-active-background-color": "var(--color-surface-container-high)",
  "--bottom-navigation-item-variant-active-background-color": "var(--color-primary-container)",
  "--bottom-navigation-item-variant-active-color": "var(--color-on-primary-container)",
  "--bottom-navigation-fab-border-radius": "50%",
  "--bottom-navigation-item-line-height": "1",
  "--bottom-navigation-item-icon-size": "22px",
  "--bottom-navigation-item-icon-margin-bottom": "5px",
  "--bottom-navigation-item-variant-icon-container-height": "30px",
  "--bottom-navigation-item-variant-icon-container-border-radius": "100px",
  "--bottom-navigation-item-variant-icon-container-max-width": "58px"
};
var stdin_default$37 = {
  "--breadcrumb-inactive-color": "#aaa",
  "--breadcrumb-active-color": "var(--color-primary)",
  "--breadcrumb-separator-margin": "0 10px",
  "--breadcrumb-separator-font-size": "14px"
};
var stdin_default$36 = {
  "--button-default-color": "#303030",
  "--button-default-text-color": "#fff",
  "--button-default-icon-container-color": "#303030",
  "--button-default-icon-color": "#fff",
  "--button-primary-text-color": "var(--color-on-primary)",
  "--button-danger-text-color": "var(--color-on-danger)",
  "--button-success-text-color": "var(--color-on-success)",
  "--button-warning-text-color": "var(--color-on-warning)",
  "--button-info-text-color": "var(--color-on-info)",
  "--button-primary-color": "var(--color-primary)",
  "--button-danger-color": "var(--color-danger)",
  "--button-success-color": "var(--color-success)",
  "--button-warning-color": "var(--color-warning)",
  "--button-info-color": "var(--color-info)",
  "--button-primary-icon-color": "var(--color-on-primary-container)",
  "--button-danger-icon-color": "var(--color-on-danger-container)",
  "--button-success-icon-color": "var(--color-on-success-container)",
  "--button-warning-icon-color": "var(--color-on-warning-container)",
  "--button-info-icon-color": "var(--color-on-info-container)",
  "--button-primary-icon-container-color": "var(--color-primary-container)",
  "--button-danger-icon-container-color": "var(--color-danger-container)",
  "--button-success-icon-container-color": "var(--color-success-container)",
  "--button-warning-icon-container-color": "var(--color-warning-container)",
  "--button-info-icon-container-color": "var(--color-info-container)",
  "--button-disabled-color": "var(--color-disabled)",
  "--button-disabled-text-color": "var(--color-text-disabled)",
  "--button-border-radius": "4px",
  "--button-mini-padding": "0 8px",
  "--button-small-padding": "0 12px",
  "--button-normal-padding": "0 16px",
  "--button-large-padding": "0 22px",
  "--button-round-padding": "6px",
  "--button-mini-height": "20px",
  "--button-small-height": "28px",
  "--button-normal-height": "36px",
  "--button-large-height": "44px",
  "--button-mini-font-size": "var(--font-size-xs)",
  "--button-small-font-size": "var(--font-size-sm)",
  "--button-normal-font-size": "var(--font-size-md)",
  "--button-large-font-size": "var(--font-size-lg)"
};
var stdin_default$35 = {
  "--card-title-color": "#ffffff",
  "--card-subtitle-color": "#aaaaaa",
  "--card-description-color": "#aaaaaa",
  "--card-padding": "0 0 15px 0",
  "--card-background": "var(--color-surface-container-highest)",
  "--card-filled-background": "var(--color-surface-container-highest)",
  "--card-outline-color": "var(--color-outline)",
  "--card-border-radius": "4px",
  "--card-image-width": "100%",
  "--card-row-image-width": "140px",
  "--card-image-height": "200px",
  "--card-row-height": "140px",
  "--card-title-font-size": "20px",
  "--card-title-padding": "0 12px",
  "--card-title-margin": "15px 0 0 0",
  "--card-title-row-margin": "12px 0",
  "--card-content-padding": "0 16px",
  "--card-content-margin": "16px 0 0 0",
  "--card-content-color": "var(--color-on-surface-variant)",
  "--card-content-font-size": "14px",
  "--card-content-row-margin": "16px 0 0 0",
  "--card-subtitle-font-size": "14px",
  "--card-subtitle-padding": "0 12px",
  "--card-subtitle-margin": "10px 0 0 0",
  "--card-subtitle-row-margin": "-8px 0 0 0",
  "--card-description-font-size": "14px",
  "--card-description-margin": "20px 0 0 0",
  "--card-description-padding": "0 13px",
  "--card-footer-padding": "0 12px",
  "--card-footer-right": "13px",
  "--card-footer-bottom": "9px",
  "--card-footer-margin": "30px 0 0 0",
  "--card-line-height": "22px",
  "--card-row-line-height": "1.5",
  "--card-floating-buttons-bottom": "16px",
  "--card-floating-buttons-right": "16px",
  "--card-floating-buttons-color": "#fff",
  "--card-close-button-icon-size": "24px",
  "--card-close-button-size": "56px",
  "--card-close-button-primary-color": "#212121",
  "--card-close-button-text-color": "#fff",
  "--card-close-button-border-radius": "50%"
};
var stdin_default$34 = {
  "--cell-description-color": "#aaa",
  "--cell-color": "var(--color-text)",
  "--cell-font-size": "var(--font-size-md)",
  "--cell-description-font-size": "var(--font-size-sm)",
  "--cell-description-margin-top": "4px",
  "--cell-padding": "10px 12px",
  "--cell-min-height": "40px",
  "--cell-border-color": "var(--color-outline)",
  "--cell-border-left": "12px",
  "--cell-border-right": "12px",
  "--cell-icon-right": "8px",
  "--cell-extra-left": "8px"
};
var stdin_default$33 = {
  "--checkbox-unchecked-color": "#fff",
  "--checkbox-text-color": "#fff",
  "--checkbox-checked-color": "var(--color-primary)",
  "--checkbox-disabled-color": "var(--color-text-disabled)",
  "--checkbox-error-color": "var(--color-danger)",
  "--checkbox-action-padding": "6px",
  "--checkbox-icon-size": "24px"
};
var stdin_default$32 = {
  "--chip-default-color": "#555",
  "--chip-default-text-color": "#fff",
  "--chip-primary-text-color": "var(--color-on-primary-container)",
  "--chip-danger-text-color": "var(--color-on-danger-container)",
  "--chip-success-text-color": "var(--color-on-success-container)",
  "--chip-warning-text-color": "var(--color-on-warning-container)",
  "--chip-info-text-color": "var(--color-on-info-container)",
  "--chip-primary-color": "var(--color-primary-container)",
  "--chip-danger-color": "var(--color-danger-container)",
  "--chip-success-color": "var(--color-success-container)",
  "--chip-warning-color": "var(--color-warning-container)",
  "--chip-info-color": "var(--color-info-container)",
  "--chip-primary-plain-color": "var(--color-primary)",
  "--chip-danger-plain-color": "var(--color-danger)",
  "--chip-success-plain-color": "var(--color-success)",
  "--chip-warning-plain-color": "var(--color-warning)",
  "--chip-info-plain-color": "var(--color-info)",
  "--chip-border-radius": "2px",
  "--chip-normal-height": "32px",
  "--chip-large-height": "40px",
  "--chip-small-height": "24px",
  "--chip-mini-height": "16px",
  "--chip-round-radius": "100px",
  "--chip-normal-padding": "0 10px",
  "--chip-large-padding": "0 17px",
  "--chip-small-padding": "0 6px",
  "--chip-mini-padding": "0 4px",
  "--chip-text-normal-margin": "0 5px",
  "--chip-text-large-margin": "0 5px",
  "--chip-text-small-margin": "0 3px",
  "--chip-text-mini-margin": "0 2px",
  "--chip-mini-font-size": "var(--font-size-xs)",
  "--chip-small-font-size": "var(--font-size-sm)",
  "--chip-normal-font-size": "var(--font-size-md)",
  "--chip-large-font-size": "var(--font-size-lg)"
};
var stdin_default$31 = {
  "--code-font-size": "14px",
  "--code-line-height": "1.7"
};
var stdin_default$30 = {
  "--collapse-text-color": "#fff",
  "--collapse-background": "var(--color-surface-container-highest)",
  "--collapse-header-font-size": "var(--font-size-lg)",
  "--collapse-header-padding": "10px 12px",
  "--collapse-content-font-size": "var(--font-size-md)",
  "--collapse-content-padding": "0 12px 10px",
  "--collapse-item-margin-top": "16px",
  "--collapse-disable-color": "#bdbdbd",
  "--collapse-border-top": "thin solid var(--color-outline)"
};
var stdin_default$2$ = {
  "--countdown-text-color": "var(--color-text)",
  "--countdown-text-font-size": "var(--font-size-lg)"
};
var stdin_default$2_ = {
  "--counter-padding": "0 4px",
  "--counter-font-color": "#fff",
  "--counter-background": "var(--color-primary)",
  "--counter-input-width": "28px",
  "--counter-input-margin": "0 4px",
  "--counter-input-font-size": "14px",
  "--counter-button-size": "28px",
  "--counter-button-text-color": "#fff",
  "--counter-button-icon-size": "100%",
  "--counter-disabled-color": "var(--color-disabled)",
  "--counter-disabled-opacity": "var(--opacity-disabled)",
  "--counter-error-color": "var(--color-danger)"
};
var stdin_default$2Z = {
  "--date-picker-main-color": "#fff",
  "--date-picker-body-background-color": "#303030",
  "--day-picker-head-item-color": "#aaaaaa",
  "--year-picker-item-color": "#fff",
  "--date-picker-header-color": "#fff",
  "--date-picker-border-radius": "4px",
  "--date-picker-font-size": "var(--font-size-md)",
  "--date-picker-min-width": "290px",
  "--date-picker-title-hint-color": "#fff",
  "--date-picker-title-hint-font-size": "var(--font-size-md)",
  "--date-picker-title-height": "105px",
  "--date-picker-title-padding": "16px",
  "--date-picker-title-background": "var(--color-primary)",
  "--date-picker-title-color": "#fff",
  "--date-picker-title-year-font-size": "var(--font-size-md)",
  "--date-picker-title-year-font-weight": "500",
  "--date-picker-title-year-margin-bottom": "8px",
  "--date-picker-title-date-height": "48px",
  "--date-picker-title-date-font-size": "34px",
  "--date-picker-title-date-font-weight": "500",
  "--date-picker-title-date-range-font-size": "20px",
  "--date-picker-title-date-justify-content": "normal",
  "--date-picker-body-height": "280px",
  "--date-picker-body-padding": "0",
  "--date-picker-header-padding": "4px 16px",
  "--date-picker-actions-padding": "0 8px 12px 8px",
  "--date-picker-header-arrow-filter": "opacity(0.54)",
  "--month-picker-padding": "0 12px",
  "--month-picker-item-width": "33%",
  "--month-picker-item-height": "56px",
  "--month-picker-item-button-max-width": "140px",
  "--year-picker-padding": "0 12px",
  "--year-picker-item-width": "33%",
  "--year-picker-item-height": "56px",
  "--year-picker-item-button-max-width": "140px",
  "--day-picker-content-item-width": "14.28%",
  "--day-picker-content-item-font-size": "var(--font-size-sm)",
  "--day-picker-content-item-padding": "2px 0",
  "--day-picker-content-item-button-width": "32px",
  "--day-picker-content-item-button-height": "32px",
  "--day-picker-content-item-button-font-size": "var(--font-size-sm)",
  "--day-picker-head-item-padding": "8px 0",
  "--day-picker-head-item-font-weight": "600"
};
var stdin_default$2Y = {
  "--dialog-title-color": "#fff",
  "--dialog-message-color": "#bbb",
  "--dialog-width": "280px",
  "--dialog-border-radius": "3px",
  "--dialog-title-padding": "20px 20px 0",
  "--dialog-message-padding": "12px 20px",
  "--dialog-message-line-height": "24px",
  "--dialog-message-font-size": "var(--font-size-md)",
  "--dialog-title-font-size": "var(--font-size-lg)",
  "--dialog-actions-padding": "0 12px 12px",
  "--dialog-button-margin-left": "6px",
  "--dialog-confirm-button-color": "var(--color-primary)",
  "--dialog-cancel-button-color": "var(--color-primary)",
  "--dialog-background": "var(--color-surface-container-low)"
};
var stdin_default$2X = {
  "--divider-text-color": "#aaa",
  "--divider-color": "var(--color-outline)",
  "--divider-text-margin": "8px 0",
  "--divider-text-padding": "0 8px",
  "--divider-inset": "72px"
};
var stdin_default$2W = {
  "--fab-top": "70px",
  "--fab-bottom": "16px",
  "--fab-left": "16px",
  "--fab-right": "16px",
  "--fab-trigger-size": "56px",
  "--fab-trigger-border-radius": "50%",
  "--fab-trigger-inactive-icon-size": "26px",
  "--fab-trigger-active-icon-size": "22px",
  "--fab-actions-padding": "10px 0",
  "--fab-action-margin": "6px",
  "--fab-action-size": "40px",
  "--fab-action-border-radius": "50%",
  "--fab-transition-standard-easing": "cubic-bezier(0.4, 0, 0.2, 1)"
};
var stdin_default$2V = {
  "--field-decorator-text-color": "#fff",
  "--field-decorator-blur-color": "rgb(255, 255, 255, .7)",
  "--field-decorator-error-color": "var(--color-danger)",
  "--field-decorator-focus-color": "var(--color-primary)",
  "--field-decorator-placeholder-size": "16px",
  "--field-decorator-icon-size": "20px",
  "--field-decorator-line-size": "1px",
  "--field-decorator-line-focus-size": "2px",
  "--field-decorator-line-border-radius": "4px",
  "--field-decorator-disabled-color": "var(--color-text-disabled)",
  "--field-decorator-standard-normal-margin-top": "22px",
  "--field-decorator-standard-normal-margin-bottom": "4px",
  "--field-decorator-standard-normal-icon-margin-top": "22px",
  "--field-decorator-standard-normal-icon-margin-bottom": "4px",
  "--field-decorator-standard-normal-non-hint-margin-top": "4px",
  "--field-decorator-standard-small-margin-top": "18px",
  "--field-decorator-standard-small-margin-bottom": "4px",
  "--field-decorator-standard-small-icon-margin-top": "18px",
  "--field-decorator-standard-small-icon-margin-bottom": "4px",
  "--field-decorator-standard-small-non-hint-margin-top": "2px",
  "--field-decorator-outlined-normal-margin-top": "16px",
  "--field-decorator-outlined-normal-margin-bottom": "16px",
  "--field-decorator-outlined-normal-padding-left": "16px",
  "--field-decorator-outlined-normal-padding-right": "16px",
  "--field-decorator-outlined-normal-placeholder-space": "4px",
  "--field-decorator-outlined-normal-icon-margin-top": "16px",
  "--field-decorator-outlined-normal-icon-margin-bottom": "16px",
  "--field-decorator-outlined-small-margin-top": "8px",
  "--field-decorator-outlined-small-margin-bottom": "8px",
  "--field-decorator-outlined-small-padding-left": "12px",
  "--field-decorator-outlined-small-padding-right": "12px",
  "--field-decorator-outlined-small-placeholder-space": "2px",
  "--field-decorator-outlined-small-icon-margin-top": "8px",
  "--field-decorator-outlined-small-icon-margin-bottom": "8px"
};
var stdin_default$2U = {
  "--floating-panel-z-index": "999",
  "--floating-panel-border-top": "none",
  "--floating-panel-border-radius": "0",
  "--floating-panel-background": "var(--color-surface-container-high)",
  "--floating-panel-header-height": "30px",
  "--floating-panel-toolbar-width": "20px",
  "--floating-panel-toolbar-height": "3px",
  "--floating-panel-toolbar-border-radius": "10px",
  "--floating-panel-toolbar-background": "#ddd",
  "--floating-panel-transition-timing-function": "cubic-bezier(0.18, 0.89, 0.32, 1.28)"
};
var stdin_default$2T = {
  "--form-details-error-message-color": "var(--color-danger)",
  "--form-details-extra-message-color": "#888",
  "--form-details-margin-top": "6px",
  "--form-details-font-size": "12px",
  "--form-details-message-margin-right": "4px"
};
var stdin_default$2S = {
  "--hover-overlay-opacity": "var(--opacity-hover)",
  "--hover-overlay-focusing-opacity": "var(--opacity-focus)"
};
var stdin_default$2R = {
  "--icon-size": "20px"
};
var stdin_default$2Q = {
  "--image-preview-swipe-indicators-text-color": "#ddd",
  "--image-preview-swipe-indicators-padding": "16px 0",
  "--image-preview-zoom-container-background": "#000",
  "--image-preview-close-icon-top": "14px",
  "--image-preview-close-icon-right": "14px",
  "--image-preview-extra-top": "14px",
  "--image-preview-extra-left": "14px",
  "--image-preview-close-icon-size": "22px",
  "--image-preview-close-icon-color": "#fff"
};
var stdin_default$2P = {
  "--index-bar-list-right": "0",
  "--index-bar-list-top": "50%",
  "--index-bar-list-left": "auto",
  "--index-bar-list-bottom": "auto",
  "--index-bar-list-transform": "translate(0, -50%)",
  "--index-bar-list-item-font-size": "var(--font-size-xs)",
  "--index-bar-list-item-color": "var(--color-primary)",
  "--index-bar-list-item-active-color": "var(--color-danger)",
  "--index-bar-list-item-height": "14px",
  "--index-bar-list-item-padding": "0 10px"
};
var stdin_default$2O = {
  "--input-input-height": "24px",
  "--input-input-font-size": "16px",
  "--input-textarea-height": "auto"
};
var stdin_default$2N = {
  "--link-default-color": "#fff",
  "--link-primary-color": "var(--color-primary)",
  "--link-danger-color": "var(--color-danger)",
  "--link-success-color": "var(--color-success)",
  "--link-warning-color": "var(--color-warning)",
  "--link-info-color": "var(--color-info)",
  "--link-disabled-color": "var(--color-text-disabled)",
  "--link-font-size": "var(--font-size-md)",
  "--link-focus-opacity": "0.8"
};
var stdin_default$2M = {
  "--list-loading-height": "50px",
  "--list-finished-height": "50px",
  "--list-error-height": "50px",
  "--list-loading-color": "#888",
  "--list-finished-color": "#888",
  "--list-error-color": "#888",
  "--list-loading-font-size": "var(--font-size-md)",
  "--list-finished-font-size": "var(--font-size-md)",
  "--list-error-font-size": "var(--font-size-md)"
};
var stdin_default$2L = {
  "--loading-color": "var(--color-primary)",
  "--loading-opacity": "0.38",
  "--loading-desc-margin": "8px 0 0",
  "--loading-desc-color": "var(--color-primary)"
};
var stdin_default$2K = {
  "--loading-bar-color": "var(--color-primary)",
  "--loading-bar-error-color": "var(--color-danger)",
  "--loading-bar-height": "3px"
};
var stdin_default$2J = {
  "--menu-background-color": "#272727",
  "--menu-border-radius": "2px"
};
var stdin_default$2I = {
  "--menu-option-text-color": "#fff",
  "--menu-option-normal-height": "38px",
  "--menu-option-small-height": "30px",
  "--menu-option-mini-height": "24px",
  "--menu-option-large-height": "46px",
  "--menu-option-padding": "0 12px",
  "--menu-option-normal-font-size": "var(--font-size-md)",
  "--menu-option-small-font-size": "var(--font-size-sm)",
  "--menu-option-mini-font-size": "var(--font-size-xs)",
  "--menu-option-large-font-size": "var(--font-size-lg)",
  "--menu-option-selected-background": "var(--color-primary)",
  "--menu-option-disabled-color": "var(--color-text-disabled)"
};
var stdin_default$2H = {
  "--menu-select-menu-background-color": "#272727",
  "--menu-select-menu-max-height": "278px",
  "--menu-select-menu-padding": "0",
  "--menu-select-menu-border-radius": "2px"
};
var stdin_default$2G = {
  "--option-text-color": "#fff",
  "--option-height": "38px",
  "--option-padding": "0 12px",
  "--option-font-size": "16px",
  "--option-selected-background": "var(--field-decorator-focus-color)",
  "--option-disabled-color": "var(--color-text-disabled)"
};
var stdin_default$2F = {
  "--overlay-background-color": "rgba(0, 0, 0, 0.6)"
};
var stdin_default$2E = {
  "--pagination-text-color": "#fff",
  "--pagination-hover-bg-color": "rgba(255, 255, 255, .15)",
  "--pagination-item-background": "#303030",
  "--pagination-font-size": "var(--font-size-md)",
  "--pagination-active-color": "var(--color-on-primary)",
  "--pagination-active-bg-color": "var(--color-primary)",
  "--pagination-total-margin": "0 10px",
  "--pagination-total-line-height": "24px",
  "--pagination-item-width": "32px",
  "--pagination-item-height": "32px",
  "--pagination-item-margin": "0 6px",
  "--pagination-item-border-radius": "4px",
  "--pagination-item-simple-border-radius": "50%",
  "--pagination-input-width": "32px",
  "--pagination-disabled-color": "var(--color-text-disabled)",
  "--pagination-bg-disabled-color": "var(--color-disabled)",
  "--pagination-size-line-height": "24px",
  "--pagination-size-padding": "0 4px",
  "--pagination-quick-jumper-margin": "0 10px"
};
var stdin_default$2D = {
  "--paper-background": "var(--color-surface-container-highest)",
  "--paper-border-radius": "4px"
};
var stdin_default$2C = {
  "--picker-background": "#1e1e1e",
  "--picker-cancel-button-text-color": "#aaa",
  "--picker-title-text-color": "#fff",
  "--picker-option-text-color": "#fff",
  "--picker-mask-background-image": "linear-gradient(180deg, hsla(0, 0%, 12%, 0.9), hsla(0, 0%, 12%, 0.4)), linear-gradient(0deg, hsla(0, 0%, 12%, 0.9), hsla(0, 0%, 12%, 0.4))",
  "--picker-toolbar-height": "44px",
  "--picker-confirm-button-text-color": "var(--color-primary)",
  "--picker-picked-border": "1px solid var(--color-outline)",
  "--picker-title-font-size": "var(--font-size-lg)",
  "--picker-option-font-size": "var(--font-size-lg)",
  "--picker-toolbar-padding": "0 4px"
};
var stdin_default$2B = {
  "--popup-content-background-color": "var(--color-surface-container-low)",
  "--popup-overlay-background-color": "rgba(0, 0, 0, 0.6)"
};
var stdin_default$2A = {
  "--progress-label-color": "#fff",
  "--progress-font-size": "var(--font-size-sm)",
  "--progress-track-color": "#d8d8d8",
  "--progress-background": "var(--color-primary)",
  "--progress-default-color": "#f5f5f5",
  "--progress-primary-color": "var(--color-primary)",
  "--progress-danger-color": "var(--color-danger)",
  "--progress-success-color": "var(--color-success)",
  "--progress-warning-color": "var(--color-warning)",
  "--progress-info-color": "var(--color-info)",
  "--progress-linear-border-radius": "0px"
};
var stdin_default$2z = {
  "--pull-refresh-background": "#303030",
  "--pull-refresh-size": "40px",
  "--pull-refresh-color": "var(--color-primary)",
  "--pull-refresh-success-color": "var(--color-success)",
  "--pull-refresh-icon-size": "25px"
};
var stdin_default$2y = {
  "--radio-unchecked-color": "#fff",
  "--radio-text-color": "#fff",
  "--radio-checked-color": "var(--color-primary)",
  "--radio-disabled-color": "var(--color-text-disabled)",
  "--radio-error-color": "var(--color-danger)",
  "--radio-icon-size": "24px",
  "--radio-action-padding": "6px"
};
var stdin_default$2x = {
  "--rate-color": "var(--color-text)",
  "--rate-size": "24px",
  "--rate-disabled-color": "var(--color-text-disabled)",
  "--rate-error-color": "var(--color-danger)",
  "--rate-action-padding": "4px",
  "--rate-primary-color": "var(--color-primary)"
};
var stdin_default$2w = {
  "--result-background": "#303030",
  "--result-title-color": "#ffffff",
  "--result-description-color": "#aaaaaa",
  "--result-question-color": "#7f8e96",
  "--result-question-border-color": "rgba(151,194,216,0.3)",
  "--result-empty-color": "#adadad",
  "--result-empty-border-color": "rgba(232,229,229,0.3)",
  "--result-padding": "24px",
  "--result-border-radius": "3px",
  "--result-title-font-size": "32px",
  "--result-title-margin": "15px 0 0 0",
  "--result-image-size": "80px",
  "--result-title-font-weight": "500",
  "--result-description-margin": "10px 0 0 0",
  "--result-description-font-size": "14px",
  "--result-description-line-height": "1.6",
  "--result-info-color": "var(--color-info)",
  "--result-info-border-color": "rgba(0, 175, 239, 0.3)",
  "--result-success-color": "var(--color-success)",
  "--result-success-border-color": "rgba(0, 196, 143, 0.3)",
  "--result-error-color": "var(--color-danger)",
  "--result-error-border-color": "rgba(244, 67, 54, 0.3)",
  "--result-warning-color": "var(--color-warning)",
  "--result-warning-border-color": "rgba(255, 159, 0, 0.3)"
};
var stdin_default$2v = {
  "--ripple-cubic-bezier": "cubic-bezier(0.68, 0.01, 0.62, 0.6)",
  "--ripple-color": "currentColor"
};
var stdin_default$2u = {
  "--select-scroller-background": "#272727",
  "--select-scroller-padding": "6px 0",
  "--select-scroller-max-height": "278px",
  "--select-scroller-border-radius": "2px",
  "--select-chips-margin": "-5px 0 0 0",
  "--select-chips-padding": "2px 0",
  "--select-chip-margin": "5px 5px 0 0",
  "--select-arrow-size": "20px",
  "--select-standard-menu-margin": `calc(var(--field-decorator-placeholder-size) * 0.75 + 12px) 0 0 0`,
  "--select-label-font-size": "16px"
};
var stdin_default$2t = {
  "--signature-background-color": "var(--color-surface-container-highest)",
  "--signature-stroke-color": "#fff",
  "--signature-height": "200px",
  "--signature-border-radius": "4px"
};
var stdin_default$2s = {
  "--skeleton-card-background-color": "hsla(0,0%,100%,.12)",
  "--skeleton-animation-background": `linear-gradient(
        90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.05),hsla(0,0%,100%,0))
      `,
  "--skeleton-avatar-background-color": "hsla(0,0%,100%,.12)",
  "--skeleton-title-background-color": "hsla(0,0%,100%,.12)",
  "--skeleton-content-padding": "16px",
  "--skeleton-card-height": "160px",
  "--skeleton-card-border-radius": "4px",
  "--skeleton-card-margin-bottom": "16px",
  "--skeleton-avatar-size": "34px",
  "--skeleton-avatar-border-radius": "50%",
  "--skeleton-avatar-margin-right": "16px",
  "--skeleton-title-width": "50%",
  "--skeleton-title-border-radius": "10px",
  "--skeleton-row-height": "12px",
  "--skeleton-row-border-radius": "10px",
  "--skeleton-row-margin-top": "10px"
};
var stdin_default$2r = {
  "--slider-error-color": "var(--color-danger)",
  "--slider-track-background": "#bdbdbd",
  "--slider-track-height": "2px",
  "--slider-track-border-radius": "0",
  "--slider-track-fill-border-radius": "0",
  "--slider-track-fill-background": "var(--color-primary)",
  "--slider-thumb-block-background": "var(--color-primary)",
  "--slider-thumb-ripple-background": "var(--color-primary)",
  "--slider-thumb-label-background": "var(--color-primary)",
  "--slider-thumb-label-font-size": "var(--font-size-sm)",
  "--slider-thumb-label-text-color": "var(--color-on-primary)",
  "--slider-thumb-size": "12px",
  "--slider-disabled-opacity": "var(--opacity-disabled)"
};
var stdin_default$2q = {
  "--snackbar-width": "256px",
  "--snackbar-color": "rgba(255, 255, 255, 0.87)",
  "--snackbar-border-radius": "4px",
  "--snackbar-background": "#333",
  "--snackbar-font-size": "var(--font-size-md)",
  "--snackbar-margin": "6px 24px",
  "--snackbar-border-color": "currentColor",
  "--snackbar-success-background": "var(--color-success)",
  "--snackbar-info-background": "var(--color-info)",
  "--snackbar-error-background": "var(--color-danger)",
  "--snackbar-warning-background": "var(--color-warning)",
  "--snackbar-content-padding": "14px 16px",
  "--snackbar-action-margin": "0 8px",
  "--snackbar-vertical-action-margin": "0 8px 8px 0",
  "--snackbar-icon-margin": "0 8px"
};
var stdin_default$2p = {
  "--space-size-mini-y": "4px",
  "--space-size-mini-x": "4px",
  "--space-size-small-y": "6px",
  "--space-size-small-x": "6px",
  "--space-size-normal-y": "8px",
  "--space-size-normal-x": "12px",
  "--space-size-large-y": "12px",
  "--space-size-large-x": "20px"
};
var stdin_default$2o = {
  "--step-content-color": "rgba(255, 255, 255, .38)",
  "--step-content-active-color": "#fff",
  "--step-line-background": "#fff",
  "--step-tag-size": "20px",
  "--step-tag-background": "#9e9e9e",
  "--step-tag-font-size": "var(--font-size-md)",
  "--step-tag-color": "var(--color-on-primary)",
  "--step-tag-active-color": "var(--color-primary)",
  "--step-tag-margin": "4px 0",
  "--step-tag-icon-size": "var(--font-size-lg)",
  "--step-content-font-size": "var(--font-size-md)",
  "--step-line-gap": "8px",
  "--step-vertical-tag-margin": "0 4px",
  "--step-vertical-min-height": "50px"
};
var stdin_default$2n = {
  "--swipe-indicator-color": "#fff",
  "--swipe-indicators-offset": "10px",
  "--swipe-indicator-offset": "4px",
  "--swipe-navigation-z-index": "9",
  "--swipe-navigation-button-width": "36px",
  "--swipe-navigation-button-height": "36px",
  "--swipe-navigation-button-border-radius": "50%",
  "--swipe-navigation-icon-size": "20px",
  "--swipe-navigation-prev-left": "8px",
  "--swipe-navigation-next-right": "8px",
  "--swipe-navigation-prev-top": "8px",
  "--swipe-navigation-next-bottom": "8px"
};
var stdin_default$2m = {
  "--switch-track-background": "#727272",
  "--switch-handle-background": "#727272",
  "--switch-track-active-background": "var(--color-primary)",
  "--switch-track-error-background": "var(--color-danger)",
  "--switch-ripple-color": "var(--color-primary)",
  "--switch-handle-color": "var(--color-on-primary)",
  "--switch-handle-active-color": "var(--color-on-primary)",
  "--switch-handle-active-background": "var(--color-primary)",
  "--switch-handle-error-background": "var(--color-danger)",
  "--switch-disabled-opacity": "var(--opacity-disabled)",
  "--switch-variant-width": "52px",
  "--switch-variant-height": "32px",
  "--switch-variant-track-background": "var(--color-surface-container-highest)",
  "--switch-variant-handle-width": "24px",
  "--switch-variant-handle-height": "24px",
  "--switch-variant-track-border-color": "rgb(255, 255, 255, .7)",
  "--switch-variant-handle-background": "rgb(255, 255, 255, .7)",
  "--switch-variant-handle-color": "var(--color-primary)",
  "--switch-variant-handle-active-color": "var(--color-primary)",
  "--switch-variant-handle-active-background": "var(--color-on-primary)",
  "--switch-width": "40px",
  "--switch-height": "24px",
  "--switch-track-width": "38px",
  "--switch-track-height": "14.4px",
  "--switch-track-border-radius": "calc(20px * 2 / 3)",
  "--switch-handle-width": "20px",
  "--switch-handle-height": "20px",
  "--switch-ripple-size": "40px",
  "--switch-ripple-left": "-10px",
  "--switch-ripple-active-left": "10px",
  "--switch-loading-size": "16px",
  "--switch-variant-ripple-left": "-4px",
  "--switch-variant-ripple-active-left": "16px"
};
var stdin_default$2l = {
  "--tab-inactive-color": "rgba(255, 255, 255, .65)",
  "--tab-padding": "12px",
  "--tab-active-color": "var(--color-primary)",
  "--tab-disabled-color": "var(--color-text-disabled)",
  "--tab-font-size": "var(--font-size-md)",
  "--tab-font-weight": "400",
  "--tab-active-font-size": "var(--font-size-md)",
  "--tab-active-font-weight": "400"
};
var stdin_default$2k = {
  "--table-background": "#303030",
  "--table-thead-th-text-color": "rgba(255, 255, 255, 0.6)",
  "--table-thead-th-text-align": "left",
  "--table-tbody-td-text-color": "#fff",
  "--table-tbody-tr-hover-background": "#4c4b4b",
  "--table-border-radius": "2px",
  "--table-thead-border-bottom": "thin solid var(--color-outline)",
  "--table-thead-th-font-size": "14px",
  "--table-thead-tr-border-bottom": "thin solid var(--color-outline)",
  "--table-tbody-tr-border-bottom": "thin solid var(--color-outline)",
  "--table-tbody-td-font-size": "16px",
  "--table-tbody-td-text-align": "left",
  "--table-row-height": "46px",
  "--table-row-padding": "0 16px",
  "--table-footer-border-top": "thin solid var(--color-outline)"
};
var stdin_default$2j = {
  "--tabs-background": "#1e1e1e",
  "--tabs-item-horizontal-height": "44px",
  "--tabs-item-vertical-height": "66px",
  "--tabs-radius": "2px",
  "--tabs-padding": "12px",
  "--tabs-indicator-size": "2px",
  "--tabs-indicator-border-radius": "0",
  "--tabs-indicator-background": "var(--color-primary)",
  "--tabs-indicator-inner-size": "100%"
};
var stdin_default$2i = {
  "--time-picker-clock-container-background": "#545454",
  "--time-picker-body-background": "#303030",
  "--time-picker-clock-item-disable-color": "#fff",
  "--time-picker-clock-item-disable-background": "#aaaaaa",
  "--time-picker-clock-item-text-color": "#fff",
  "--time-picker-border-radius": "4px",
  "--time-picker-font-size": "var(--font-size-md)",
  "--time-picker-min-width": "290px",
  "--time-picker-title-height": "105px",
  "--time-picker-title-padding": "16px",
  "--time-picker-title-margin-bottom": "8px",
  "--time-picker-title-color": "#fff",
  "--time-picker-title-background": "var(--color-primary)",
  "--time-picker-title-hint-color": "#fff",
  "--time-picker-title-hint-font-size": "14px",
  "--time-picker-title-inactive-opacity": "0.6",
  "--time-picker-title-time-font-size": "50px",
  "--time-picker-title-time-margin": "0 5px",
  "--time-picker-title-time-border-radius": "0",
  "--time-picker-title-time-padding": "0",
  "--time-picker-title-time-background": "transparent",
  "--time-picker-title-time-active-background": "transparent",
  "--time-picker-title-ampm-button-active-background": "transparent",
  "--time-picker-title-ampm-margin-left": "10px",
  "--time-picker-title-ampm-border-radius": "0",
  "--time-picker-title-ampm-border": "none",
  "--time-picker-title-ampm-button-padding": "2px",
  "--time-picker-clock-left": "27px",
  "--time-picker-clock-right": "27px",
  "--time-picker-clock-top": "27px",
  "--time-picker-clock-bottom": "27px",
  "--time-picker-clock-container-width": "256px",
  "--time-picker-clock-container-height": "256px",
  "--time-picker-clock-hand-height": "calc(50% - 4px)",
  "--time-picker-clock-hand-width": "2px",
  "--time-picker-clock-hand-bottom": "50%",
  "--time-picker-clock-hand-left": "calc(50% - 1px)",
  "--time-picker-clock-hand-background": "var(--color-primary)",
  "--time-picker-clock-hand-border-color": "var(--color-primary)",
  "--time-picker-clock-hand-before-width": "10px",
  "--time-picker-clock-hand-before-height": "10px",
  "--time-picker-clock-hand-before-border-width": "2px",
  "--time-picker-clock-hand-after-width": "4px",
  "--time-picker-clock-hand-after-height": "4px",
  "--time-picker-clock-item-height": "32px",
  "--time-picker-clock-item-width": "32px",
  "--time-picker-clock-item-active-background": "var(--color-primary)",
  "--time-picker-clock-item-active-color": "var(--color-on-primary)",
  "--time-picker-inner-left": "36px",
  "--time-picker-inner-right": "36px",
  "--time-picker-inner-top": "36px",
  "--time-picker-inner-bottom": "36px",
  "--time-picker-body-height": "288px",
  "--time-picker-actions-padding": "0 8px 12px 8px",
  "--time-picker-title-time-container-justify-content": "flex-end"
};
var stdin_default$2h = {
  "--tooltip-opacity": "0.9",
  "--tooltip-border-radius": "4px",
  "--tooltip-font-size": "14px",
  "--tooltip-padding": "8px 16px",
  "--tooltip-offset": "10px",
  "--tooltip-default-color": "#616161",
  "--tooltip-primary-color": "var(--color-primary)",
  "--tooltip-info-color": "var(--color-info)",
  "--tooltip-success-color": "var(--color-success)",
  "--tooltip-warning-color": "var(--color-warning)",
  "--tooltip-danger-color": "var(--color-danger)",
  "--tooltip-default-text-color": "#fff",
  "--tooltip-primary-text-color": "var(--color-on-primary)",
  "--tooltip-info-text-color": "var(--color-on-info)",
  "--tooltip-success-text-color": "var(--color-on-success)",
  "--tooltip-warning-text-color": "var(--color-on-warning)",
  "--tooltip-danger-text-color": "var(--color-on-danger)"
};
var stdin_default$2g = {
  "--uploader-action-background": "#303030",
  "--uploader-action-icon-color": "#fff",
  "--uploader-file-name-background": "#303030",
  "--uploader-file-name-color": "#aaa",
  "--uploader-file-cover-background": "#303030",
  "--uploader-action-icon-size": "24px",
  "--uploader-action-margin": "0 10px 10px 0",
  "--uploader-file-size": "80px",
  "--uploader-file-margin": "0 10px 10px 0",
  "--uploader-file-name-font-size": "12px",
  "--uploader-file-name-padding": "10px",
  "--uploader-file-text-align": "center",
  "--uploader-file-border-radius": "0",
  "--uploader-file-close-background": "rgba(0, 0, 0, 0.3)",
  "--uploader-file-close-size": "24px",
  "--uploader-file-close-icon-font-size": "14px",
  "--uploader-file-close-icon-color": "#fff",
  "--uploader-file-cover-fit": "cover",
  "--uploader-preview-video-width": "100vw",
  "--uploader-preview-video-height": "100vw",
  "--uploader-file-indicator-height": "4px",
  "--uploader-file-indicator-normal-color": "var(--color-disabled)",
  "--uploader-file-indicator-success-color": "var(--color-success)",
  "--uploader-file-indicator-error-color": "var(--color-danger)",
  "--uploader-file-progress-color": "var(--color-primary)",
  "--uploader-disabled-color": "var(--color-disabled)",
  "--uploader-disabled-text-color": "var(--color-text-disabled)",
  "--uploader-loading-background": "linear-gradient(90deg, hsla(0, 0%, 100%, 0), hsla(0, 0%, 100%, 0.3), hsla(0, 0%, 100%, 0))"
};
var stdin_default$2f = {
  "--watermark-content-color": "#ffffff"
};
var __defProp$3 = Object.defineProperty;
var __getOwnPropSymbols$3 = Object.getOwnPropertySymbols;
var __hasOwnProp$3 = Object.prototype.hasOwnProperty;
var __propIsEnum$3 = Object.prototype.propertyIsEnumerable;
var __defNormalProp$3 = (obj, key3, value) => key3 in obj ? __defProp$3(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues$3 = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$3.call(b, prop))
      __defNormalProp$3(a, prop, b[prop]);
  if (__getOwnPropSymbols$3)
    for (var prop of __getOwnPropSymbols$3(b)) {
      if (__propIsEnum$3.call(b, prop))
        __defNormalProp$3(a, prop, b[prop]);
    }
  return a;
};
var stdin_default$2e = __spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3(__spreadValues$3({
  "--color-scheme": "dark",
  "--font-size-xs": "10px",
  "--font-size-sm": "12px",
  "--font-size-md": "14px",
  "--font-size-lg": "16px",
  "--icon-size-xs": "16px",
  "--icon-size-sm": "18px",
  "--icon-size-md": "20px",
  "--icon-size-lg": "22px",
  "--hsl-body": "0, 0%, 12%",
  "--color-body": "hsla(var(--hsl-body), 1)",
  "--hsl-text": "0, 0%, 100%",
  "--color-text": "hsla(var(--hsl-text), 1)",
  "--hsl-primary": "224, 99%, 64%",
  "--color-primary": "hsla(var(--hsl-primary), 1)",
  "--hsl-info": "197, 87%, 50%",
  "--color-info": "hsla(var(--hsl-info), 1)",
  "--hsl-success": "162, 85%, 42%",
  "--color-success": "hsla(var(--hsl-success), 1)",
  "--hsl-warning": "32, 100%, 50%",
  "--color-warning": "hsla(var(--hsl-warning), 1)",
  "--hsl-danger": "1, 83%, 63%",
  "--color-danger": "hsla(var(--hsl-danger), 1)",
  "--hsl-on-primary": "0, 0%, 100%",
  "--color-on-primary": "hsla(var(--hsl-on-primary), 1)",
  "--hsl-on-info": "0, 0%, 100%",
  "--color-on-info": "hsla(var(--hsl-on-info), 1)",
  "--hsl-on-success": "0, 0%, 100%",
  "--color-on-success": "hsla(var(--hsl-on-success), 1)",
  "--hsl-on-warning": "0, 0%, 100%",
  "--color-on-warning": "hsla(var(--hsl-on-warning), 1)",
  "--hsl-on-danger": "0, 0%, 100%",
  "--color-on-danger": "hsla(var(--hsl-on-danger), 1)",
  "--hsl-primary-container": "224, 99%, 64%",
  "--color-primary-container": "hsla(var(--hsl-primary-container), 1)",
  "--hsl-info-container": "197, 87%, 50%",
  "--color-info-container": "hsla(var(--hsl-info-container), 1)",
  "--hsl-success-container": "162, 85%, 42%",
  "--color-success-container": "hsla(var(--hsl-success-container), 1)",
  "--hsl-warning-container": "32, 100%, 50%",
  "--color-warning-container": "hsla(var(--hsl-warning-container), 1)",
  "--hsl-danger-container": "1, 83%, 63%",
  "--color-danger-container": "hsla(var(--hsl-danger-container), 1)",
  "--hsl-on-primary-container": "0, 0%, 100%",
  "--color-on-primary-container": "hsla(var(--hsl-on-primary-container), 1)",
  "--hsl-on-info-container": "0, 0%, 100%",
  "--color-on-info-container": "hsla(var(--hsl-on-info-container), 1)",
  "--hsl-on-success-container": "0, 0%, 100%",
  "--color-on-success-container": "hsla(var(--hsl-on-success-container), 1)",
  "--hsl-on-warning-container": "0, 0%, 100%",
  "--color-on-warning-container": "hsla(var(--hsl-on-warning-container), 1)",
  "--hsl-on-danger-container": "0, 0%, 100%",
  "--color-on-danger-container": "hsla(var(--hsl-on-danger-container), 1)",
  "--hsl-disabled": "0, 0%, 25%",
  "--color-disabled": "hsla(var(--hsl-disabled), 1)",
  "--hsl-text-disabled": "0, 0%, 46%",
  "--color-text-disabled": "hsla(var(--hsl-text-disabled), 1)",
  "--hsl-surface-container": "0, 0%, 12%",
  "--color-surface-container": "hsla(var(--hsl-surface-container), 1)",
  "--hsl-surface-container-low": "0, 0%, 12%",
  "--color-surface-container-low": "hsla(var(--hsl-surface-container-low), 1)",
  "--hsl-surface-container-high": "0, 0%, 15%",
  "--color-surface-container-high": "hsla(var(--hsl-surface-container-high), 1)",
  "--hsl-surface-container-highest": "0, 0%, 19%",
  "--color-surface-container-highest": "hsla(var(--hsl-surface-container-highest), 1)",
  "--hsl-inverse-surface": "0, 0%, 100%",
  "--color-inverse-surface": "hsla(var(--hsl-inverse-surface), 1)",
  "--hsl-outline": "0, 0%, 100%",
  "--color-outline": "hsla(var(--hsl-outline), 0.2)",
  "--hsl-on-surface-variant": "0, 0%, 100%",
  "--color-on-surface-variant": "hsla(var(--hsl-on-surface-variant), 1)",
  "--opacity-disabled": "0.6",
  "--opacity-hover": "0.15",
  "--opacity-focus": "0.2",
  "--cubic-bezier": "cubic-bezier(0.25, 0.8, 0.5, 1)",
  "--shadow-key-umbra-opacity": "rgba(0, 0, 0, 0.2)",
  "--shadow-key-penumbra-opacity": "rgba(0, 0, 0, 0.14)",
  "--shadow-key-ambient-opacity": "rgba(0, 0, 0, 0.12)"
}, stdin_default$36), stdin_default$3f), stdin_default$34), stdin_default$35), stdin_default$2i), stdin_default$2Z), stdin_default$2s), stdin_default$2j), stdin_default$2l), stdin_default$2B), stdin_default$2Y), stdin_default$3g), stdin_default$32), stdin_default$3a), stdin_default$2g), stdin_default$30), stdin_default$2z), stdin_default$2m), stdin_default$2o), stdin_default$2E), stdin_default$2k), stdin_default$2V), stdin_default$2y), stdin_default$33), stdin_default$2X), stdin_default$2C), stdin_default$3e), stdin_default$38), stdin_default$2J), stdin_default$2w), stdin_default$37), stdin_default$3d), stdin_default$2N), stdin_default$2A), stdin_default$2G), stdin_default$2f), stdin_default$2H), stdin_default$2I), stdin_default$3c), stdin_default$3b), stdin_default$39), stdin_default$2$), stdin_default$2_), stdin_default$2W), stdin_default$2U), stdin_default$2T), stdin_default$2S), stdin_default$2R), stdin_default$2Q), stdin_default$2P), stdin_default$2O), stdin_default$2M), stdin_default$2L), stdin_default$2K), stdin_default$2F), stdin_default$2D), stdin_default$2x), stdin_default$2v), stdin_default$2r), stdin_default$2q), stdin_default$2p), stdin_default$2n), stdin_default$2h), stdin_default$2u), stdin_default$31), stdin_default$2t);
var stdin_default$2d = {
  "--action-sheet-background": "var(--color-surface-container-high)",
  "--action-sheet-title-color": "var(--color-on-surface-variant)",
  "--action-sheet-action-item-color": "var(--color-inverse-surface)",
  "--action-sheet-border-radius": "0px",
  "--action-sheet-border-top": "none",
  "--action-sheet-title-padding": "10px 16px",
  "--action-sheet-title-font-size": "14px",
  "--action-sheet-action-item-height": "48px",
  "--action-sheet-action-item-padding": "0 18px",
  "--action-sheet-action-item-disabled-color": "var(--color-text-disabled)",
  "--action-sheet-icon-margin": "0 20px 0 0",
  "--action-sheet-icon-size": "24px"
};
var stdin_default$2c = {
  "--alert-padding": "16px",
  "--alert-border-radius": "4px",
  "--alert-icon-size": "22px",
  "--alert-icon-margin": "0 12px 0 0",
  "--alert-close-icon-size": "22px",
  "--alert-close-icon-margin": "2px 0 0 12px",
  "--alert-standard-info-text-color": "var(--color-on-info)",
  "--alert-standard-danger-text-color": "var(--color-on-danger)",
  "--alert-standard-success-text-color": "var(--color-on-success)",
  "--alert-standard-warning-text-color": "var(--color-on-warning)",
  "--alert-danger-background": "var(--color-danger)",
  "--alert-success-background": "var(--color-success)",
  "--alert-warning-background": "var(--color-warning)",
  "--alert-info-background": "var(--color-info)",
  "--alert-tonal-danger-background": "hsla(var(--hsl-danger), 0.12)",
  "--alert-tonal-success-background": "hsla(var(--hsl-success), 0.12)",
  "--alert-tonal-warning-background": "hsla(var(--hsl-warning), 0.12)",
  "--alert-tonal-info-background": "hsla(var(--hsl-info), 0.12)",
  "--alert-tonal-danger-text-color": "var(--color-danger)",
  "--alert-tonal-success-text-color": "var(--color-success)",
  "--alert-tonal-warning-text-color": "var(--color-warning)",
  "--alert-tonal-info-text-color": "var(--color-info)",
  "--alert-message-font-size": "14px",
  "--alert-title-font-size": "16px",
  "--alert-title-font-weight": "500",
  "--alert-message-margin-top": "4px",
  "--alert-message-line-height": "1.5",
  "--alert-title-line-height": "1.5"
};
var stdin_default$2b = {
  "--app-bar-color": "#211F26",
  "--app-bar-text-color": "var(--color-inverse-surface)",
  "--app-bar-title-padding": "0 12px",
  "--app-bar-title-font-size": "var(--font-size-lg)",
  "--app-bar-height": "54px",
  "--app-bar-left-gap": "6px",
  "--app-bar-right-gap": "6px",
  "--app-bar-border-radius": "4px",
  "--app-bar-font-size": "var(--font-size-lg)",
  "--app-bar-border-bottom": "thin solid var(--color-outline)"
};
var stdin_default$2a = {
  "--avatar-text-color": "#000",
  "--avatar-background-color": "var(--color-primary)",
  "--avatar-border-radius": "4px",
  "--avatar-mini-size": "28px",
  "--avatar-small-size": "36px",
  "--avatar-normal-size": "48px",
  "--avatar-large-size": "64px",
  "--avatar-border": "2px solid #fff",
  "--avatar-hover-transform": "scale(1.1)"
};
var stdin_default$29 = {
  "--avatar-group-offset": "-10px"
};
var stdin_default$28 = {
  "--back-top-button-border-radius": "12px",
  "--back-top-right": "40px",
  "--back-top-bottom": "40px",
  "--back-top-button-size": "40px"
};
var stdin_default$27 = {
  "--badge-default-color": "#3B383E",
  "--badge-default-text-color": "#fff",
  "--badge-content-padding": "2px 6px",
  "--badge-content-border": "none",
  "--badge-content-border-radius": "100px",
  "--badge-content-font-size": "12px",
  "--badge-icon-size": "12px",
  "--badge-primary-color": "var(--color-primary)",
  "--badge-danger-color": "var(--color-danger)",
  "--badge-success-color": "var(--color-success)",
  "--badge-warning-color": "var(--color-warning)",
  "--badge-info-color": "var(--color-info)",
  "--badge-primary-text-color": "var(--color-on-primary)",
  "--badge-danger-text-color": "var(--color-on-danger)",
  "--badge-success-text-color": "var(--color-on-success)",
  "--badge-warning-text-color": "var(--color-on-warning)",
  "--badge-info-text-color": "var(--color-on-info)",
  "--badge-dot-width": "8px",
  "--badge-dot-height": "8px"
};
var stdin_default$26 = {
  "--bottom-navigation-background-color": "var(--color-surface-container)",
  "--bottom-navigation-height": "50px",
  "--bottom-navigation-variant-height": "66px",
  "--bottom-navigation-z-index": "1",
  "--bottom-navigation-border-color": "var(--color-outline)",
  "--bottom-navigation-fab-offset": "4px",
  "--bottom-navigation-fab-border-radius": "50%"
};
var stdin_default$25 = {
  "--bottom-navigation-item-active-background-color": "#4A4458",
  "--bottom-navigation-item-inactive-color": "var(--color-on-surface-variant)",
  "--bottom-navigation-item-variant-active-background-color": "var(--color-info-container)",
  "--bottom-navigation-item-variant-active-color": "var(--color-on-info-container)",
  "--bottom-navigation-fab-border-radius": "12px",
  "--bottom-navigation-item-font-size": "var(--font-size-sm)",
  "--bottom-navigation-item-active-color": "var(--color-primary)",
  "--bottom-navigation-item-line-height": "1",
  "--bottom-navigation-item-icon-size": "22px",
  "--bottom-navigation-item-icon-margin-bottom": "5px",
  "--bottom-navigation-item-variant-icon-container-height": "30px",
  "--bottom-navigation-item-variant-icon-container-border-radius": "100px",
  "--bottom-navigation-item-variant-icon-container-max-width": "58px"
};
var stdin_default$24 = {
  "--breadcrumb-inactive-color": "var(--color-on-surface-variant)",
  "--breadcrumb-active-color": "var(--color-primary)",
  "--breadcrumb-separator-margin": "0 10px",
  "--breadcrumb-separator-font-size": "14px"
};
var stdin_default$23 = {
  "--button-default-color": "#3B383E",
  "--button-default-text-color": "var(--color-primary)",
  "--button-default-icon-color": "var(--color-on-surface-variant)",
  "--button-default-icon-container-color": "var(--color-surface-container-highest)",
  "--button-border-radius": "100px",
  "--button-primary-text-color": "var(--color-on-primary)",
  "--button-danger-text-color": "var(--color-on-danger)",
  "--button-success-text-color": "var(--color-on-success)",
  "--button-warning-text-color": "var(--color-on-warning)",
  "--button-info-text-color": "var(--color-on-info)",
  "--button-primary-color": "var(--color-primary)",
  "--button-danger-color": "var(--color-danger)",
  "--button-success-color": "var(--color-success)",
  "--button-warning-color": "var(--color-warning)",
  "--button-info-color": "var(--color-info)",
  "--button-primary-icon-color": "var(--color-on-primary-container)",
  "--button-danger-icon-color": "var(--color-on-danger-container)",
  "--button-success-icon-color": "var(--color-on-success-container)",
  "--button-warning-icon-color": "var(--color-on-warning-container)",
  "--button-info-icon-color": "var(--color-on-info-container)",
  "--button-primary-icon-container-color": "var(--color-primary-container)",
  "--button-danger-icon-container-color": "var(--color-danger-container)",
  "--button-success-icon-container-color": "var(--color-success-container)",
  "--button-warning-icon-container-color": "var(--color-warning-container)",
  "--button-info-icon-container-color": "var(--color-info-container)",
  "--button-disabled-color": "var(--color-disabled)",
  "--button-disabled-text-color": "var(--color-text-disabled)",
  "--button-mini-padding": "0 8px",
  "--button-small-padding": "0 12px",
  "--button-normal-padding": "0 16px",
  "--button-large-padding": "0 22px",
  "--button-round-padding": "6px",
  "--button-mini-height": "20px",
  "--button-small-height": "28px",
  "--button-normal-height": "36px",
  "--button-large-height": "44px",
  "--button-mini-font-size": "var(--font-size-xs)",
  "--button-small-font-size": "var(--font-size-sm)",
  "--button-normal-font-size": "var(--font-size-md)",
  "--button-large-font-size": "var(--font-size-lg)"
};
var stdin_default$22 = {
  "--card-border-radius": "12px",
  "--card-background": "var(--color-surface-container-highest)",
  "--card-filled-background": "var(--color-surface-container-highest)",
  "--card-image-height": "188px",
  "--card-title-color": "var(--color-inverse-surface)",
  "--card-title-font-size": "16px",
  "--card-title-padding": "0 16px",
  "--card-title-margin": "16px 0 0 0",
  "--card-content-padding": "0 16px",
  "--card-content-margin": "16px 0 0 0",
  "--card-content-color": "var(--color-on-surface-variant)",
  "--card-content-font-size": "14px",
  "--card-content-row-margin": "16px 0 0 0",
  "--card-subtitle-color": "var(--color-on-surface-variant)",
  "--card-subtitle-padding": "0 16px",
  "--card-subtitle-margin": "4px 0 0 0",
  "--card-description-margin": "32px 0 0 0",
  "--card-description-padding": "0 16px",
  "--card-description-color": "var(--color-on-surface-variant)",
  "--card-padding": "0 0 16px 0",
  "--card-footer-margin": "32px 0 0 0",
  "--card-title-row-margin": "16px 0 0 0",
  "--card-subtitle-row-margin": "4px 0 0 0",
  "--card-footer-padding": "0 16px",
  "--card-close-button-size": "56px",
  "--card-close-button-primary-color": "var(--color-primary-container)",
  "--card-close-button-text-color": "var(--color-on-primary-container)",
  "--card-close-button-border-radius": "12px",
  "--card-outline-color": "var(--color-outline)",
  "--card-image-width": "100%",
  "--card-row-image-width": "140px",
  "--card-row-height": "140px",
  "--card-subtitle-font-size": "14px",
  "--card-description-font-size": "14px",
  "--card-footer-right": "13px",
  "--card-footer-bottom": "9px",
  "--card-line-height": "22px",
  "--card-row-line-height": "1.5",
  "--card-floating-buttons-bottom": "16px",
  "--card-floating-buttons-right": "16px",
  "--card-floating-buttons-color": "#fff",
  "--card-close-button-icon-size": "24px"
};
var stdin_default$21 = {
  "--cell-description-color": "var(--color-on-surface-variant)",
  "--cell-color": "var(--color-text)",
  "--cell-font-size": "var(--font-size-md)",
  "--cell-description-font-size": "var(--font-size-sm)",
  "--cell-description-margin-top": "4px",
  "--cell-padding": "10px 12px",
  "--cell-min-height": "40px",
  "--cell-border-color": "var(--color-outline)",
  "--cell-border-left": "12px",
  "--cell-border-right": "12px",
  "--cell-icon-right": "8px",
  "--cell-extra-left": "8px"
};
var stdin_default$20 = {
  "--checkbox-unchecked-color": "var(--color-on-surface-variant)",
  "--checkbox-text-color": "var(--color-on-surface-variant)",
  "--checkbox-checked-color": "var(--color-primary)",
  "--checkbox-disabled-color": "var(--color-text-disabled)",
  "--checkbox-error-color": "var(--color-danger)",
  "--checkbox-action-padding": "6px",
  "--checkbox-icon-size": "24px"
};
var stdin_default$1$ = {
  "--chip-round-radius": "8px",
  "--chip-default-color": "var(--color-surface-container-highest)",
  "--chip-default-text-color": "var(--color-on-surface-variant)",
  "--chip-primary-text-color": "var(--color-on-primary-container)",
  "--chip-danger-text-color": "var(--color-on-danger-container)",
  "--chip-success-text-color": "var(--color-on-success-container)",
  "--chip-warning-text-color": "var(--color-on-warning-container)",
  "--chip-info-text-color": "var(--color-on-info-container)",
  "--chip-primary-color": "var(--color-primary-container)",
  "--chip-danger-color": "var(--color-danger-container)",
  "--chip-success-color": "var(--color-success-container)",
  "--chip-warning-color": "var(--color-warning-container)",
  "--chip-info-color": "var(--color-info-container)",
  "--chip-primary-plain-color": "var(--color-primary)",
  "--chip-danger-plain-color": "var(--color-danger)",
  "--chip-success-plain-color": "var(--color-success)",
  "--chip-warning-plain-color": "var(--color-warning)",
  "--chip-info-plain-color": "var(--color-info)",
  "--chip-border-radius": "2px",
  "--chip-normal-height": "32px",
  "--chip-large-height": "40px",
  "--chip-small-height": "24px",
  "--chip-mini-height": "16px",
  "--chip-normal-padding": "0 10px",
  "--chip-large-padding": "0 17px",
  "--chip-small-padding": "0 6px",
  "--chip-mini-padding": "0 4px",
  "--chip-text-normal-margin": "0 5px",
  "--chip-text-large-margin": "0 5px",
  "--chip-text-small-margin": "0 3px",
  "--chip-text-mini-margin": "0 2px",
  "--chip-mini-font-size": "var(--font-size-xs)",
  "--chip-small-font-size": "var(--font-size-sm)",
  "--chip-normal-font-size": "var(--font-size-md)",
  "--chip-large-font-size": "var(--font-size-lg)"
};
var stdin_default$1_ = {
  "--code-font-size": "14px",
  "--code-line-height": "1.7"
};
var stdin_default$1Z = {
  "--collapse-background": "var(--color-surface-container-highest)",
  "--collapse-text-color": "var(--color-inverse-surface)",
  "--collapse-header-font-size": "var(--font-size-lg)",
  "--collapse-header-padding": "10px 12px",
  "--collapse-content-font-size": "var(--font-size-md)",
  "--collapse-content-padding": "0 12px 10px",
  "--collapse-item-margin-top": "16px",
  "--collapse-disable-color": "#bdbdbd",
  "--collapse-border-top": "thin solid var(--color-outline)"
};
var stdin_default$1Y = {
  "--countdown-text-color": "var(--color-text)",
  "--countdown-text-font-size": "var(--font-size-lg)"
};
var stdin_default$1X = {
  "--counter-font-color": "#3B383E",
  "--counter-button-text-color": "#3B383E",
  "--counter-padding": "0 4px",
  "--counter-background": "var(--color-primary)",
  "--counter-input-width": "28px",
  "--counter-input-margin": "0 4px",
  "--counter-input-font-size": "14px",
  "--counter-button-size": "28px",
  "--counter-button-icon-size": "100%",
  "--counter-disabled-color": "var(--color-disabled)",
  "--counter-disabled-opacity": "var(--opacity-disabled)",
  "--counter-error-color": "var(--color-danger)"
};
var stdin_default$1W = {
  "--date-picker-title-background": "var(--color-surface-container-high)",
  "--date-picker-title-color": "var(--color-inverse-surface)",
  "--date-picker-title-hint-color": "var(--color-on-surface-variant)",
  "--date-picker-body-background-color": "var(--color-surface-container-high)",
  "--date-picker-main-color": "var(--color-inverse-surface)",
  "--date-picker-border-radius": "20px",
  "--date-picker-title-padding": "20px 20px 16px",
  "--date-picker-actions-padding": "20px",
  "--day-picker-head-item-color": "var(--color-inverse-surface)",
  "--date-picker-header-arrow-filter": "opacity(1)",
  "--date-picker-header-padding": "0 0 16px",
  "--date-picker-body-height": "300px",
  "--date-picker-body-padding": "0 14px 16px",
  "--date-picker-header-color": "var(--color-on-surface-variant)",
  "--date-picker-font-size": "var(--font-size-md)",
  "--date-picker-min-width": "290px",
  "--date-picker-title-hint-font-size": "var(--font-size-md)",
  "--date-picker-title-height": "105px",
  "--date-picker-title-year-font-size": "var(--font-size-md)",
  "--date-picker-title-year-font-weight": "500",
  "--date-picker-title-year-margin-bottom": "8px",
  "--date-picker-title-date-height": "48px",
  "--date-picker-title-date-font-size": "34px",
  "--date-picker-title-date-font-weight": "500",
  "--date-picker-title-date-range-font-size": "20px",
  "--date-picker-title-date-justify-content": "normal",
  "--month-picker-padding": "0 12px",
  "--month-picker-item-width": "33%",
  "--month-picker-item-height": "56px",
  "--month-picker-item-button-max-width": "140px",
  "--year-picker-padding": "0 12px",
  "--year-picker-item-width": "33%",
  "--year-picker-item-height": "56px",
  "--year-picker-item-button-max-width": "140px",
  "--day-picker-content-item-width": "14.28%",
  "--day-picker-content-item-font-size": "var(--font-size-sm)",
  "--day-picker-content-item-padding": "2px 0",
  "--day-picker-content-item-button-width": "32px",
  "--day-picker-content-item-button-height": "32px",
  "--day-picker-content-item-button-font-size": "var(--font-size-sm)",
  "--day-picker-head-item-padding": "8px 0",
  "--day-picker-head-item-font-weight": "600"
};
var stdin_default$1V = {
  "--dialog-width": "312px",
  "--dialog-background": "var(--color-surface-container-high)",
  "--dialog-title-color": "var(--color-inverse-surface)",
  "--dialog-message-color": "var(--color-on-surface-variant)",
  "--dialog-border-radius": "28px",
  "--dialog-title-padding": "24px 24px 0",
  "--dialog-message-padding": "16px 24px 24px",
  "--dialog-actions-padding": "0 24px 24px",
  "--dialog-title-font-size": "20px",
  "--dialog-button-margin-left": "8px",
  "--dialog-message-line-height": "24px",
  "--dialog-message-font-size": "var(--font-size-md)",
  "--dialog-confirm-button-color": "var(--color-primary)",
  "--dialog-cancel-button-color": "var(--color-primary)"
};
var stdin_default$1U = {
  "--divider-text-color": "#aaa",
  "--divider-color": "var(--color-outline)",
  "--divider-text-margin": "8px 0",
  "--divider-text-padding": "0 8px",
  "--divider-inset": "72px"
};
var stdin_default$1T = {
  "--fab-trigger-border-radius": "16px",
  "--fab-action-size": "40px",
  "--fab-action-border-radius": "12px",
  "--fab-top": "70px",
  "--fab-bottom": "16px",
  "--fab-left": "16px",
  "--fab-right": "16px",
  "--fab-trigger-size": "56px",
  "--fab-trigger-inactive-icon-size": "26px",
  "--fab-trigger-active-icon-size": "22px",
  "--fab-actions-padding": "10px 0",
  "--fab-action-margin": "6px",
  "--fab-transition-standard-easing": "cubic-bezier(0.4, 0, 0.2, 1)"
};
var stdin_default$1S = {
  "--field-decorator-text-color": "var(--color-inverse-surface)",
  "--field-decorator-blur-color": "var(--color-on-surface-variant)",
  "--field-decorator-error-color": "var(--color-danger)",
  "--field-decorator-focus-color": "var(--color-primary)",
  "--field-decorator-placeholder-size": "16px",
  "--field-decorator-icon-size": "20px",
  "--field-decorator-line-size": "1px",
  "--field-decorator-line-focus-size": "2px",
  "--field-decorator-line-border-radius": "4px",
  "--field-decorator-disabled-color": "var(--color-text-disabled)",
  "--field-decorator-standard-normal-margin-top": "22px",
  "--field-decorator-standard-normal-margin-bottom": "4px",
  "--field-decorator-standard-normal-icon-margin-top": "22px",
  "--field-decorator-standard-normal-icon-margin-bottom": "4px",
  "--field-decorator-standard-normal-non-hint-margin-top": "4px",
  "--field-decorator-standard-small-margin-top": "18px",
  "--field-decorator-standard-small-margin-bottom": "4px",
  "--field-decorator-standard-small-icon-margin-top": "18px",
  "--field-decorator-standard-small-icon-margin-bottom": "4px",
  "--field-decorator-standard-small-non-hint-margin-top": "2px",
  "--field-decorator-outlined-normal-margin-top": "16px",
  "--field-decorator-outlined-normal-margin-bottom": "16px",
  "--field-decorator-outlined-normal-padding-left": "16px",
  "--field-decorator-outlined-normal-padding-right": "16px",
  "--field-decorator-outlined-normal-placeholder-space": "4px",
  "--field-decorator-outlined-normal-icon-margin-top": "16px",
  "--field-decorator-outlined-normal-icon-margin-bottom": "16px",
  "--field-decorator-outlined-small-margin-top": "8px",
  "--field-decorator-outlined-small-margin-bottom": "8px",
  "--field-decorator-outlined-small-padding-left": "12px",
  "--field-decorator-outlined-small-padding-right": "12px",
  "--field-decorator-outlined-small-placeholder-space": "2px",
  "--field-decorator-outlined-small-icon-margin-top": "8px",
  "--field-decorator-outlined-small-icon-margin-bottom": "8px"
};
var stdin_default$1R = {
  "--floating-panel-background": "var(--color-surface-container-low)",
  "--floating-panel-toolbar-background": "#938F99",
  "--floating-panel-toolbar-width": "32px",
  "--floating-panel-toolbar-height": "4px",
  "--floating-panel-header-height": "36px",
  "--floating-panel-z-index": "999",
  "--floating-panel-border-top": "none",
  "--floating-panel-border-radius": "0",
  "--floating-panel-toolbar-border-radius": "10px",
  "--floating-panel-transition-timing-function": "cubic-bezier(0.18, 0.89, 0.32, 1.28)"
};
var stdin_default$1Q = {
  "--form-details-error-message-color": "var(--color-danger)",
  "--form-details-extra-message-color": "#888",
  "--form-details-margin-top": "6px",
  "--form-details-font-size": "12px",
  "--form-details-message-margin-right": "4px"
};
var stdin_default$1P = {
  "--hover-overlay-opacity": "var(--opacity-hover)",
  "--hover-overlay-focusing-opacity": "var(--opacity-focus)"
};
var stdin_default$1O = {
  "--icon-size": "20px"
};
var stdin_default$1N = {
  "--image-preview-swipe-indicators-text-color": "#ddd",
  "--image-preview-swipe-indicators-padding": "16px 0",
  "--image-preview-zoom-container-background": "#000",
  "--image-preview-close-icon-top": "14px",
  "--image-preview-close-icon-right": "14px",
  "--image-preview-extra-top": "14px",
  "--image-preview-extra-left": "14px",
  "--image-preview-close-icon-size": "22px",
  "--image-preview-close-icon-color": "#fff"
};
var stdin_default$1M = {
  "--index-bar-list-right": "0",
  "--index-bar-list-top": "50%",
  "--index-bar-list-left": "auto",
  "--index-bar-list-bottom": "auto",
  "--index-bar-list-transform": "translate(0, -50%)",
  "--index-bar-list-item-font-size": "var(--font-size-xs)",
  "--index-bar-list-item-color": "var(--color-primary)",
  "--index-bar-list-item-active-color": "var(--color-danger)",
  "--index-bar-list-item-height": "14px",
  "--index-bar-list-item-padding": "0 10px"
};
var stdin_default$1L = {
  "--input-input-height": "24px",
  "--input-input-font-size": "16px",
  "--input-textarea-height": "auto"
};
var stdin_default$1K = {
  "--link-default-color": "#fff",
  "--link-primary-color": "var(--color-primary)",
  "--link-danger-color": "var(--color-danger)",
  "--link-success-color": "var(--color-success)",
  "--link-warning-color": "var(--color-warning)",
  "--link-info-color": "var(--color-info)",
  "--link-disabled-color": "var(--color-text-disabled)",
  "--link-font-size": "var(--font-size-md)",
  "--link-focus-opacity": "0.8"
};
var stdin_default$1J = {
  "--list-loading-height": "50px",
  "--list-finished-height": "50px",
  "--list-error-height": "50px",
  "--list-loading-color": "#888",
  "--list-finished-color": "#888",
  "--list-error-color": "#888",
  "--list-loading-font-size": "var(--font-size-md)",
  "--list-finished-font-size": "var(--font-size-md)",
  "--list-error-font-size": "var(--font-size-md)"
};
var stdin_default$1I = {
  "--loading-color": "var(--color-primary)",
  "--loading-opacity": "0.38",
  "--loading-desc-margin": "8px 0 0",
  "--loading-desc-color": "var(--color-primary)"
};
var stdin_default$1H = {
  "--loading-bar-color": "var(--color-primary)",
  "--loading-bar-error-color": "var(--color-danger)",
  "--loading-bar-height": "3px"
};
var stdin_default$1G = {
  "--menu-background-color": "var(--color-surface-container)",
  "--menu-border-radius": "4px"
};
var stdin_default$1F = {
  "--menu-option-text-color": "var(--color-inverse-surface)",
  "--menu-option-normal-height": "38px",
  "--menu-option-small-height": "30px",
  "--menu-option-mini-height": "24px",
  "--menu-option-large-height": "46px",
  "--menu-option-padding": "0 12px",
  "--menu-option-normal-font-size": "var(--font-size-md)",
  "--menu-option-small-font-size": "var(--font-size-sm)",
  "--menu-option-mini-font-size": "var(--font-size-xs)",
  "--menu-option-large-font-size": "var(--font-size-lg)",
  "--menu-option-selected-background": "var(--color-primary)",
  "--menu-option-disabled-color": "var(--color-text-disabled)"
};
var stdin_default$1E = {
  "--menu-select-menu-background-color": "var(--color-surface-container)",
  "--menu-select-menu-border-radius": "4px",
  "--menu-select-menu-max-height": "278px",
  "--menu-select-menu-padding": "0"
};
var stdin_default$1D = {
  "--option-text-color": "var(--color-inverse-surface)",
  "--option-height": "38px",
  "--option-padding": "0 12px",
  "--option-font-size": "16px",
  "--option-selected-background": "var(--field-decorator-focus-color)",
  "--option-disabled-color": "var(--color-text-disabled)"
};
var stdin_default$1C = {
  "--overlay-background-color": "rgba(0, 0, 0, 0.6)"
};
var stdin_default$1B = {
  "--pagination-text-color": "#fff",
  "--pagination-item-background": "var(--color-surface-container)",
  "--pagination-font-size": "var(--font-size-md)",
  "--pagination-active-color": "var(--color-on-primary)",
  "--pagination-active-bg-color": "var(--color-primary)",
  "--pagination-hover-bg-color": "rgba(85, 85, 85, 0.15)",
  "--pagination-total-margin": "0 10px",
  "--pagination-total-line-height": "24px",
  "--pagination-item-width": "32px",
  "--pagination-item-height": "32px",
  "--pagination-item-margin": "0 6px",
  "--pagination-item-border-radius": "4px",
  "--pagination-item-simple-border-radius": "50%",
  "--pagination-input-width": "32px",
  "--pagination-disabled-color": "var(--color-text-disabled)",
  "--pagination-bg-disabled-color": "var(--color-disabled)",
  "--pagination-size-line-height": "24px",
  "--pagination-size-padding": "0 4px",
  "--pagination-quick-jumper-margin": "0 10px"
};
var stdin_default$1A = {
  "--paper-background": "var(--color-surface-container-highest)",
  "--paper-border-radius": "12px"
};
var stdin_default$1z = {
  "--picker-background": "var(--color-body)",
  "--picker-cancel-button-text-color": "var(--color-primary)",
  "--picker-title-text-color": "#fff",
  "--picker-option-text-color": "#fff",
  "--picker-mask-background-image": "linear-gradient(180deg, rgba(20, 18, 24, 0.9), rgba(20, 18, 24, 0.4)), linear-gradient(0deg, rgba(20, 18, 24, 0.9), rgba(20, 18, 24, 0.4))",
  "--picker-toolbar-height": "44px",
  "--picker-confirm-button-text-color": "var(--color-primary)",
  "--picker-picked-border": "1px solid var(--color-outline)",
  "--picker-title-font-size": "var(--font-size-lg)",
  "--picker-option-font-size": "var(--font-size-lg)",
  "--picker-toolbar-padding": "0 4px"
};
var stdin_default$1y = {
  "--popup-content-background-color": "var(--color-surface-container-high)",
  "--popup-overlay-background-color": "rgba(0, 0, 0, 0.6)"
};
var stdin_default$1x = {
  "--progress-label-color": "#fff",
  "--progress-font-size": "var(--font-size-sm)",
  "--progress-track-color": "#d8d8d8",
  "--progress-background": "var(--color-primary)",
  "--progress-default-color": "#f5f5f5",
  "--progress-primary-color": "var(--color-primary)",
  "--progress-danger-color": "var(--color-danger)",
  "--progress-success-color": "var(--color-success)",
  "--progress-warning-color": "var(--color-warning)",
  "--progress-info-color": "var(--color-info)",
  "--progress-linear-border-radius": "0px"
};
var stdin_default$1w = {
  "--pull-refresh-background": "var(--color-surface-container-highest)",
  "--pull-refresh-size": "40px",
  "--pull-refresh-color": "var(--color-primary)",
  "--pull-refresh-success-color": "var(--color-success)",
  "--pull-refresh-icon-size": "25px"
};
var stdin_default$1v = {
  "--radio-unchecked-color": "var(--color-on-surface-variant)",
  "--radio-text-color": "var(--color-on-surface-variant)",
  "--radio-checked-color": "var(--color-primary)",
  "--radio-disabled-color": "var(--color-text-disabled)",
  "--radio-error-color": "var(--color-danger)",
  "--radio-icon-size": "24px",
  "--radio-action-padding": "6px"
};
var stdin_default$1u = {
  "--rate-color": "var(--color-on-surface-variant)",
  "--rate-size": "24px",
  "--rate-disabled-color": "var(--color-text-disabled)",
  "--rate-error-color": "var(--color-danger)",
  "--rate-action-padding": "4px",
  "--rate-primary-color": "var(--color-primary)"
};
var stdin_default$1t = {
  "--result-background": "var(--color-surface-container-highest)",
  "--result-border-radius": "12px",
  "--result-title-color": "var(--color-inverse-surface)",
  "--result-description-color": "var(--color-on-surface-variant)",
  "--result-question-color": "#7f8e96",
  "--result-question-border-color": "rgba(151,194,216,0.3)",
  "--result-empty-color": "#adadad",
  "--result-empty-border-color": "rgba(232,229,229,0.3)",
  "--result-info-border-color": "rgba(204, 194, 220, 0.3)",
  "--result-success-border-color": "rgba(186, 207, 131, 0.3)",
  "--result-error-border-color": "rgba(242, 184, 181, 0.3)",
  "--result-warning-border-color": "rgba(239, 184, 200, 0.3)",
  "--result-padding": "24px",
  "--result-title-font-size": "32px",
  "--result-title-margin": "15px 0 0 0",
  "--result-image-size": "80px",
  "--result-title-font-weight": "500",
  "--result-description-margin": "10px 0 0 0",
  "--result-description-font-size": "14px",
  "--result-description-line-height": "1.6",
  "--result-info-color": "var(--color-info)",
  "--result-success-color": "var(--color-success)",
  "--result-error-color": "var(--color-danger)",
  "--result-warning-color": "var(--color-warning)"
};
var stdin_default$1s = {
  "--ripple-cubic-bezier": "cubic-bezier(0.68, 0.01, 0.62, 0.6)",
  "--ripple-color": "currentColor"
};
var stdin_default$1r = {
  "--select-scroller-background": "var(--color-surface-container)",
  "--select-scroller-border-radius": "4px",
  "--select-scroller-padding": "6px 0",
  "--select-scroller-max-height": "278px",
  "--select-chips-margin": "-5px 0 0 0",
  "--select-chips-padding": "2px 0",
  "--select-chip-margin": "5px 5px 0 0",
  "--select-arrow-size": "20px",
  "--select-standard-menu-margin": `calc(var(--field-decorator-placeholder-size) * 0.75 + 12px) 0 0 0`,
  "--select-label-font-size": "16px"
};
var stdin_default$1q = {
  "--signature-background-color": "var(--color-surface-container-highest)",
  "--signature-stroke-color": "var(--color-inverse-surface)",
  "--signature-height": "200px",
  "--signature-border-radius": "12px"
};
var stdin_default$1p = {
  "--skeleton-card-background-color": "hsla(0,0%,100%,.12)",
  "--skeleton-animation-background": `linear-gradient(
        90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.05),hsla(0,0%,100%,0))
      `,
  "--skeleton-avatar-background-color": "hsla(0,0%,100%,.12)",
  "--skeleton-title-background-color": "hsla(0,0%,100%,.12)",
  "--skeleton-content-padding": "16px",
  "--skeleton-card-height": "160px",
  "--skeleton-card-border-radius": "4px",
  "--skeleton-card-margin-bottom": "16px",
  "--skeleton-avatar-size": "34px",
  "--skeleton-avatar-border-radius": "50%",
  "--skeleton-avatar-margin-right": "16px",
  "--skeleton-title-width": "50%",
  "--skeleton-title-border-radius": "10px",
  "--skeleton-row-height": "12px",
  "--skeleton-row-border-radius": "10px",
  "--skeleton-row-margin-top": "10px"
};
var stdin_default$1o = {
  "--slider-thumb-size": "16px",
  "--slider-track-height": "4px",
  "--slider-track-background": "var(--color-surface-container-highest)",
  "--slider-track-fill-border-radius": "4px",
  "--slider-track-border-radius": "4px",
  "--slider-error-color": "var(--color-danger)",
  "--slider-track-fill-background": "var(--color-primary)",
  "--slider-thumb-block-background": "var(--color-primary)",
  "--slider-thumb-ripple-background": "var(--color-primary)",
  "--slider-thumb-label-background": "var(--color-primary)",
  "--slider-thumb-label-font-size": "var(--font-size-sm)",
  "--slider-thumb-label-text-color": "var(--color-on-primary)",
  "--slider-disabled-opacity": "var(--opacity-disabled)"
};
var stdin_default$1n = {
  "--snackbar-color": "#322F35",
  "--snackbar-background": "var(--color-inverse-surface)",
  "--snackbar-width": "256px",
  "--snackbar-border-radius": "4px",
  "--snackbar-font-size": "var(--font-size-md)",
  "--snackbar-margin": "6px 24px",
  "--snackbar-border-color": "currentColor",
  "--snackbar-success-background": "var(--color-success)",
  "--snackbar-info-background": "var(--color-info)",
  "--snackbar-error-background": "var(--color-danger)",
  "--snackbar-warning-background": "var(--color-warning)",
  "--snackbar-content-padding": "14px 16px",
  "--snackbar-action-margin": "0 8px",
  "--snackbar-vertical-action-margin": "0 8px 8px 0",
  "--snackbar-icon-margin": "0 8px"
};
var stdin_default$1m = {
  "--space-size-mini-y": "4px",
  "--space-size-mini-x": "4px",
  "--space-size-small-y": "6px",
  "--space-size-small-x": "6px",
  "--space-size-normal-y": "8px",
  "--space-size-normal-x": "12px",
  "--space-size-large-y": "12px",
  "--space-size-large-x": "20px"
};
var stdin_default$1l = {
  "--step-content-color": "rgba(255, 255, 255, .38)",
  "--step-content-active-color": "#fff",
  "--step-line-background": "#fff",
  "--step-tag-size": "20px",
  "--step-tag-background": "#9e9e9e",
  "--step-tag-font-size": "var(--font-size-md)",
  "--step-tag-color": "var(--color-on-primary)",
  "--step-tag-active-color": "var(--color-primary)",
  "--step-tag-margin": "4px 0",
  "--step-tag-icon-size": "var(--font-size-lg)",
  "--step-content-font-size": "var(--font-size-md)",
  "--step-line-gap": "8px",
  "--step-vertical-tag-margin": "0 4px",
  "--step-vertical-min-height": "50px"
};
var stdin_default$1k = {
  "--swipe-indicator-color": "#fff",
  "--swipe-indicators-offset": "10px",
  "--swipe-indicator-offset": "4px",
  "--swipe-navigation-z-index": "9",
  "--swipe-navigation-button-width": "36px",
  "--swipe-navigation-button-height": "36px",
  "--swipe-navigation-button-border-radius": "50%",
  "--swipe-navigation-icon-size": "20px",
  "--swipe-navigation-prev-left": "8px",
  "--swipe-navigation-next-right": "8px",
  "--swipe-navigation-prev-top": "8px",
  "--swipe-navigation-next-bottom": "8px"
};
var stdin_default$1j = {
  "--switch-track-background": "#727272",
  "--switch-handle-background": "#727272",
  "--switch-track-active-background": "var(--color-primary)",
  "--switch-track-error-background": "var(--color-danger)",
  "--switch-ripple-color": "var(--color-primary)",
  "--switch-handle-color": "var(--color-primary)",
  "--switch-handle-active-color": "var(--color-on-primary)",
  "--switch-handle-active-background": "var(--color-primary)",
  "--switch-handle-error-background": "var(--color-danger)",
  "--switch-disabled-opacity": "var(--opacity-disabled)",
  "--switch-variant-width": "52px",
  "--switch-variant-height": "32px",
  "--switch-variant-track-background": "var(--color-surface-container-highest)",
  "--switch-variant-handle-width": "24px",
  "--switch-variant-handle-height": "24px",
  "--switch-variant-track-border-color": "#938F99",
  "--switch-variant-handle-color": "var(--color-on-primary)",
  "--switch-variant-handle-active-color": "var(--color-primary)",
  "--switch-variant-handle-background": "#938F99",
  "--switch-variant-handle-active-background": "var(--color-on-primary)",
  "--switch-width": "40px",
  "--switch-height": "24px",
  "--switch-track-width": "38px",
  "--switch-track-height": "14.4px",
  "--switch-track-border-radius": "calc(20px * 2 / 3)",
  "--switch-handle-width": "20px",
  "--switch-handle-height": "20px",
  "--switch-ripple-size": "40px",
  "--switch-ripple-left": "-10px",
  "--switch-ripple-active-left": "10px",
  "--switch-loading-size": "16px",
  "--switch-variant-ripple-left": "-4px",
  "--switch-variant-ripple-active-left": "16px"
};
var stdin_default$1i = {
  "--tab-inactive-color": "var(--color-on-surface-variant)",
  "--tab-padding": "12px",
  "--tab-active-color": "var(--color-primary)",
  "--tab-disabled-color": "var(--color-text-disabled)",
  "--tab-font-size": "var(--font-size-md)",
  "--tab-font-weight": "400",
  "--tab-active-font-size": "var(--font-size-md)",
  "--tab-active-font-weight": "400"
};
var stdin_default$1h = {
  "--table-background": "var(--color-surface-container-highest)",
  "--table-thead-th-text-color": "rgba(255, 255, 255, 0.6)",
  "--table-thead-th-text-align": "left",
  "--table-tbody-td-text-color": "#fff",
  "--table-tbody-tr-hover-background": "var(--color-surface-container-highest)",
  "--table-border-radius": "2px",
  "--table-thead-border-bottom": "thin solid var(--color-outline)",
  "--table-thead-th-font-size": "14px",
  "--table-thead-tr-border-bottom": "thin solid var(--color-outline)",
  "--table-tbody-tr-border-bottom": "thin solid var(--color-outline)",
  "--table-tbody-td-font-size": "16px",
  "--table-tbody-td-text-align": "left",
  "--table-row-height": "46px",
  "--table-row-padding": "0 16px",
  "--table-footer-border-top": "thin solid var(--color-outline)"
};
var stdin_default$1g = {
  "--tabs-background": "var(--color-body)",
  "--tabs-item-horizontal-height": "44px",
  "--tabs-item-vertical-height": "66px",
  "--tabs-radius": "2px",
  "--tabs-padding": "12px",
  "--tabs-indicator-size": "2px",
  "--tabs-indicator-border-radius": "0",
  "--tabs-indicator-background": "var(--color-primary)",
  "--tabs-indicator-inner-size": "100%"
};
var stdin_default$1f = {
  "--time-picker-title-color": "var(--color-inverse-surface)",
  "--time-picker-clock-container-background": "var(--color-surface-container-highest)",
  "--time-picker-title-hint-color": "var(--color-on-surface-variant)",
  "--time-picker-title-background": "var(--color-surface-container-high)",
  "--time-picker-body-background": "var(--color-surface-container-high)",
  "--time-picker-clock-item-disable-color": "#888",
  "--time-picker-clock-item-disable-background": "#ccc",
  "--time-picker-clock-item-text-color": "var(--color-inverse-surface)",
  "--time-picker-border-radius": "20px",
  "--time-picker-title-padding": "20px 20px 16px",
  "--time-picker-actions-padding": "20px",
  "--time-picker-title-margin-bottom": "20px",
  "--time-picker-title-time-font-size": "40px",
  "--time-picker-title-ampm-border-radius": "8px",
  "--time-picker-title-time-padding": "8px 12px",
  "--time-picker-title-time-border-radius": "8px",
  "--time-picker-title-ampm-border": "thin solid #938F99",
  "--time-picker-title-ampm-button-padding": "8px",
  "--time-picker-title-time-background": "var(--color-surface-container-highest)",
  "--time-picker-title-inactive-opacity": "1",
  "--time-picker-title-time-active-background": "var(--color-primary-container)",
  "--time-picker-title-ampm-button-active-background": "var(--color-warning-container)",
  "--time-picker-font-size": "var(--font-size-md)",
  "--time-picker-min-width": "290px",
  "--time-picker-title-height": "105px",
  "--time-picker-title-hint-font-size": "14px",
  "--time-picker-title-time-margin": "0 5px",
  "--time-picker-title-ampm-margin-left": "10px",
  "--time-picker-clock-left": "27px",
  "--time-picker-clock-right": "27px",
  "--time-picker-clock-top": "27px",
  "--time-picker-clock-bottom": "27px",
  "--time-picker-clock-container-width": "256px",
  "--time-picker-clock-container-height": "256px",
  "--time-picker-clock-hand-height": "calc(50% - 4px)",
  "--time-picker-clock-hand-width": "2px",
  "--time-picker-clock-hand-bottom": "50%",
  "--time-picker-clock-hand-left": "calc(50% - 1px)",
  "--time-picker-clock-hand-background": "var(--color-primary)",
  "--time-picker-clock-hand-border-color": "var(--color-primary)",
  "--time-picker-clock-hand-before-width": "10px",
  "--time-picker-clock-hand-before-height": "10px",
  "--time-picker-clock-hand-before-border-width": "2px",
  "--time-picker-clock-hand-after-width": "4px",
  "--time-picker-clock-hand-after-height": "4px",
  "--time-picker-clock-item-height": "32px",
  "--time-picker-clock-item-width": "32px",
  "--time-picker-clock-item-active-background": "var(--color-primary)",
  "--time-picker-clock-item-active-color": "var(--color-on-primary)",
  "--time-picker-inner-left": "36px",
  "--time-picker-inner-right": "36px",
  "--time-picker-inner-top": "36px",
  "--time-picker-inner-bottom": "36px",
  "--time-picker-body-height": "288px",
  "--time-picker-title-time-container-justify-content": "flex-end"
};
var stdin_default$1e = {
  "--tooltip-default-color": "var(--color-inverse-surface)",
  "--tooltip-opacity": "1",
  "--tooltip-default-text-color": "#322F35",
  "--tooltip-border-radius": "4px",
  "--tooltip-font-size": "14px",
  "--tooltip-padding": "8px 16px",
  "--tooltip-offset": "10px",
  "--tooltip-primary-color": "var(--color-primary)",
  "--tooltip-info-color": "var(--color-info)",
  "--tooltip-success-color": "var(--color-success)",
  "--tooltip-warning-color": "var(--color-warning)",
  "--tooltip-danger-color": "var(--color-danger)",
  "--tooltip-primary-text-color": "var(--color-on-primary)",
  "--tooltip-info-text-color": "var(--color-on-info)",
  "--tooltip-success-text-color": "var(--color-on-success)",
  "--tooltip-warning-text-color": "var(--color-on-warning)",
  "--tooltip-danger-text-color": "var(--color-on-danger)"
};
var stdin_default$1d = {
  "--uploader-file-border-radius": "8px",
  "--uploader-action-background": "var(--color-surface-container-highest)",
  "--uploader-file-name-background": "var(--color-surface-container-highest)",
  "--uploader-file-cover-background": "var(--color-surface-container-highest)",
  "--uploader-action-icon-color": "var(--color-on-surface-variant)",
  "--uploader-file-name-color": "var(--color-on-surface-variant)",
  "--uploader-action-icon-size": "24px",
  "--uploader-action-margin": "0 10px 10px 0",
  "--uploader-file-size": "80px",
  "--uploader-file-margin": "0 10px 10px 0",
  "--uploader-file-name-font-size": "12px",
  "--uploader-file-name-padding": "10px",
  "--uploader-file-text-align": "center",
  "--uploader-file-close-background": "rgba(0, 0, 0, 0.3)",
  "--uploader-file-close-size": "24px",
  "--uploader-file-close-icon-font-size": "14px",
  "--uploader-file-close-icon-color": "#fff",
  "--uploader-file-cover-fit": "cover",
  "--uploader-preview-video-width": "100vw",
  "--uploader-preview-video-height": "100vw",
  "--uploader-file-indicator-height": "4px",
  "--uploader-file-indicator-normal-color": "var(--color-disabled)",
  "--uploader-file-indicator-success-color": "var(--color-success)",
  "--uploader-file-indicator-error-color": "var(--color-danger)",
  "--uploader-file-progress-color": "var(--color-primary)",
  "--uploader-disabled-color": "var(--color-disabled)",
  "--uploader-disabled-text-color": "var(--color-text-disabled)",
  "--uploader-loading-background": "linear-gradient(90deg, hsla(0, 0%, 100%, 0), hsla(0, 0%, 100%, 0.3), hsla(0, 0%, 100%, 0))"
};
var stdin_default$1c = {
  "--watermark-content-color": "#ffffff"
};
var __defProp$2 = Object.defineProperty;
var __getOwnPropSymbols$2 = Object.getOwnPropertySymbols;
var __hasOwnProp$2 = Object.prototype.hasOwnProperty;
var __propIsEnum$2 = Object.prototype.propertyIsEnumerable;
var __defNormalProp$2 = (obj, key3, value) => key3 in obj ? __defProp$2(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues$2 = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$2.call(b, prop))
      __defNormalProp$2(a, prop, b[prop]);
  if (__getOwnPropSymbols$2)
    for (var prop of __getOwnPropSymbols$2(b)) {
      if (__propIsEnum$2.call(b, prop))
        __defNormalProp$2(a, prop, b[prop]);
    }
  return a;
};
var stdin_default$1b = __spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2(__spreadValues$2({
  "--color-scheme": "dark",
  "--font-size-xs": "10px",
  "--font-size-sm": "12px",
  "--font-size-md": "14px",
  "--font-size-lg": "16px",
  "--icon-size-xs": "16px",
  "--icon-size-sm": "18px",
  "--icon-size-md": "20px",
  "--icon-size-lg": "22px",
  "--hsl-body": "260, 14%, 8%",
  "--color-body": "hsla(var(--hsl-body), 1)",
  "--hsl-text": "0, 0%, 100%",
  "--color-text": "hsla(var(--hsl-text), 1)",
  "--hsl-primary": "258, 100%, 87%",
  "--color-primary": "hsla(var(--hsl-primary), 1)",
  "--hsl-info": "263, 27%, 81%",
  "--color-info": "hsla(var(--hsl-info), 1)",
  "--hsl-success": "77, 44%, 66%",
  "--color-success": "hsla(var(--hsl-success), 1)",
  "--hsl-warning": "343, 63%, 83%",
  "--color-warning": "hsla(var(--hsl-warning), 1)",
  "--hsl-danger": "3, 70%, 83%",
  "--color-danger": "hsla(var(--hsl-danger), 1)",
  "--hsl-on-primary": "259, 58%, 28%",
  "--color-on-primary": "hsla(var(--hsl-on-primary), 1)",
  "--hsl-on-info": "258, 18%, 22%",
  "--color-on-info": "hsla(var(--hsl-on-info), 1)",
  "--hsl-on-success": "76, 100%, 10%",
  "--color-on-success": "hsla(var(--hsl-on-success), 1)",
  "--hsl-on-warning": "338, 33%, 22%",
  "--color-on-warning": "hsla(var(--hsl-on-warning), 1)",
  "--hsl-on-danger": "3, 71%, 22%",
  "--color-on-danger": "hsla(var(--hsl-on-danger), 1)",
  "--hsl-primary-container": "257, 37%, 42%",
  "--color-primary-container": "hsla(var(--hsl-primary-container), 1)",
  "--hsl-info-container": "260, 12%, 35%",
  "--color-info-container": "hsla(var(--hsl-info-container), 1)",
  "--hsl-success-container": "77, 57%, 23%",
  "--color-success-container": "hsla(var(--hsl-success-container), 1)",
  "--hsl-warning-container": "342, 21%, 36%",
  "--color-warning-container": "hsla(var(--hsl-warning-container), 1)",
  "--hsl-danger-container": "2, 48%, 42%",
  "--color-danger-container": "hsla(var(--hsl-danger-container), 1)",
  "--hsl-on-primary-container": "263, 100%, 93%",
  "--color-on-primary-container": "hsla(var(--hsl-on-primary-container), 1)",
  "--hsl-on-info-container": "263, 65%, 92%",
  "--color-on-info-container": "hsla(var(--hsl-on-info-container), 1)",
  "--hsl-on-success-container": "77, 68%, 77%",
  "--color-on-success-container": "hsla(var(--hsl-on-success-container), 1)",
  "--hsl-on-warning-container": "342, 100%, 92%",
  "--color-on-warning-container": "hsla(var(--hsl-on-warning-container), 1)",
  "--hsl-on-danger-container": "4, 71%, 92%",
  "--color-on-danger-container": "hsla(var(--hsl-on-danger-container), 1)",
  "--hsl-disabled": "0, 0%, 25%",
  "--color-disabled": "hsla(var(--hsl-disabled), 1)",
  "--hsl-text-disabled": "0, 0%, 46%",
  "--color-text-disabled": "hsla(var(--hsl-text-disabled), 1)",
  "--hsl-surface-container": "257, 10%, 14%",
  "--color-surface-container": "hsla(var(--hsl-surface-container), 1)",
  "--hsl-surface-container-low": "264, 8%, 12%",
  "--color-surface-container-low": "hsla(var(--hsl-surface-container-low), 1)",
  "--hsl-surface-container-high": "257, 8%, 17%",
  "--color-surface-container-high": "hsla(var(--hsl-surface-container-high), 1)",
  "--hsl-surface-container-highest": "257, 6%, 22%",
  "--color-surface-container-highest": "hsla(var(--hsl-surface-container-highest), 1)",
  "--hsl-inverse-surface": "280, 17%, 90%",
  "--color-inverse-surface": "hsla(var(--hsl-inverse-surface), 1)",
  "--hsl-outline": "264, 7%, 29%",
  "--color-outline": "hsla(var(--hsl-outline), 1)",
  "--hsl-on-surface-variant": "270, 11%, 79%",
  "--color-on-surface-variant": "hsla(var(--hsl-on-surface-variant), 1)",
  "--opacity-disabled": "0.6",
  "--opacity-hover": "0.12",
  "--opacity-focus": "0.2",
  "--cubic-bezier": "cubic-bezier(0.25, 0.8, 0.5, 1)",
  "--shadow-key-umbra-opacity": "rgba(0, 0, 0, 0.2)",
  "--shadow-key-penumbra-opacity": "rgba(0, 0, 0, 0.14)",
  "--shadow-key-ambient-opacity": "rgba(0, 0, 0, 0.12)"
}, stdin_default$23), stdin_default$2c), stdin_default$1P), stdin_default$1G), stdin_default$1E), stdin_default$1F), stdin_default$1T), stdin_default$24), stdin_default$1K), stdin_default$21), stdin_default$1A), stdin_default$2a), stdin_default$1S), stdin_default$20), stdin_default$1v), stdin_default$22), stdin_default$1$), stdin_default$27), stdin_default$1e), stdin_default$1x), stdin_default$1g), stdin_default$1i), stdin_default$1l), stdin_default$1U), stdin_default$1h), stdin_default$1B), stdin_default$1c), stdin_default$1Z), stdin_default$1t), stdin_default$2b), stdin_default$26), stdin_default$25), stdin_default$1n), stdin_default$2d), stdin_default$1V), stdin_default$1w), stdin_default$1y), stdin_default$1z), stdin_default$1R), stdin_default$28), stdin_default$1r), stdin_default$1D), stdin_default$1X), stdin_default$1j), stdin_default$1o), stdin_default$1d), stdin_default$1f), stdin_default$1W), stdin_default$1u), stdin_default$1p), stdin_default$29), stdin_default$1Y), stdin_default$1Q), stdin_default$1O), stdin_default$1N), stdin_default$1M), stdin_default$1L), stdin_default$1J), stdin_default$1I), stdin_default$1H), stdin_default$1C), stdin_default$1s), stdin_default$1m), stdin_default$1k), stdin_default$1_), stdin_default$1q);
var stdin_default$1a = {
  "--action-sheet-background": "var(--color-surface-container-high)",
  "--action-sheet-title-color": "var(--color-on-surface-variant)",
  "--action-sheet-action-item-color": "#1D1B20",
  "--action-sheet-border-radius": "0px"
};
var stdin_default$19 = {
  "--alert-padding": "16px",
  "--alert-border-radius": "4px",
  "--alert-icon-size": "22px",
  "--alert-icon-margin": "0 12px 0 0",
  "--alert-close-icon-size": "22px",
  "--alert-close-icon-margin": "2px 0 0 12px",
  "--alert-standard-info-text-color": "var(--color-on-info)",
  "--alert-standard-danger-text-color": "var(--color-on-danger)",
  "--alert-standard-success-text-color": "var(--color-on-success)",
  "--alert-standard-warning-text-color": "var(--color-on-warning)",
  "--alert-danger-background": "var(--color-danger)",
  "--alert-success-background": "var(--color-success)",
  "--alert-warning-background": "var(--color-warning)",
  "--alert-info-background": "var(--color-info)",
  "--alert-tonal-danger-background": "hsla(var(--hsl-danger), 0.12)",
  "--alert-tonal-success-background": "hsla(var(--hsl-success), 0.12)",
  "--alert-tonal-warning-background": "hsla(var(--hsl-warning), 0.12)",
  "--alert-tonal-info-background": "hsla(var(--hsl-info), 0.12)",
  "--alert-tonal-danger-text-color": "var(--color-danger)",
  "--alert-tonal-success-text-color": "var(--color-success)",
  "--alert-tonal-warning-text-color": "var(--color-warning)",
  "--alert-tonal-info-text-color": "var(--color-info)",
  "--alert-message-font-size": "14px",
  "--alert-title-font-size": "16px",
  "--alert-title-font-weight": "500",
  "--alert-message-margin-top": "4px",
  "--alert-message-line-height": "1.5",
  "--alert-title-line-height": "1.5"
};
var stdin_default$18 = {
  "--app-bar-color": "var(--color-primary)",
  "--app-bar-title-padding": "0 12px",
  "--app-bar-title-font-size": "var(--font-size-lg)",
  "--app-bar-text-color": "#fff",
  "--app-bar-height": "54px",
  "--app-bar-left-gap": "6px",
  "--app-bar-right-gap": "6px",
  "--app-bar-border-radius": "4px",
  "--app-bar-font-size": "var(--font-size-lg)",
  "--app-bar-border-bottom": "thin solid var(--color-outline)"
};
var stdin_default$17 = {
  "--avatar-text-color": "#fff",
  "--avatar-background-color": "var(--color-primary)"
};
var stdin_default$16 = {
  "--avatar-group-offset": "-10px"
};
var stdin_default$15 = {
  "--back-top-button-border-radius": "12px",
  "--back-top-right": "40px",
  "--back-top-bottom": "40px",
  "--back-top-button-size": "40px"
};
var stdin_default$14 = {
  "--badge-content-padding": "2px 6px",
  "--badge-content-border": "none",
  "--badge-content-border-radius": "100px",
  "--badge-content-font-size": "12px",
  "--badge-icon-size": "12px",
  "--badge-default-color": "#e0e0e0",
  "--badge-primary-color": "var(--color-primary)",
  "--badge-danger-color": "var(--color-danger)",
  "--badge-success-color": "var(--color-success)",
  "--badge-warning-color": "var(--color-warning)",
  "--badge-info-color": "var(--color-info)",
  "--badge-default-text-color": "#1d1b20",
  "--badge-primary-text-color": "var(--color-on-primary)",
  "--badge-danger-text-color": "var(--color-on-danger)",
  "--badge-success-text-color": "var(--color-on-success)",
  "--badge-warning-text-color": "var(--color-on-warning)",
  "--badge-info-text-color": "var(--color-on-info)",
  "--badge-dot-width": "8px",
  "--badge-dot-height": "8px"
};
var stdin_default$13 = {
  "--bottom-navigation-background-color": "var(--color-surface-container)",
  "--bottom-navigation-fab-border-radius": "12px",
  "--bottom-navigation-height": "50px",
  "--bottom-navigation-variant-height": "66px",
  "--bottom-navigation-z-index": "1",
  "--bottom-navigation-border-color": "var(--color-outline)",
  "--bottom-navigation-fab-offset": "4px"
};
var stdin_default$12 = {
  "--bottom-navigation-item-active-background-color": "var(--color-info-container)",
  "--bottom-navigation-item-inactive-color": "var(--color-on-surface-variant)",
  "--bottom-navigation-item-variant-active-background-color": "var(--color-info-container)",
  "--bottom-navigation-item-variant-active-color": "var(--color-on-info-container)",
  "--bottom-navigation-fab-border-radius": "12px",
  "--bottom-navigation-item-font-size": "var(--font-size-sm)",
  "--bottom-navigation-item-active-color": "var(--color-primary)",
  "--bottom-navigation-item-line-height": "1",
  "--bottom-navigation-item-icon-size": "22px",
  "--bottom-navigation-item-icon-margin-bottom": "5px",
  "--bottom-navigation-item-variant-icon-container-height": "30px",
  "--bottom-navigation-item-variant-icon-container-border-radius": "100px",
  "--bottom-navigation-item-variant-icon-container-max-width": "58px"
};
var stdin_default$11 = {
  "--breadcrumb-inactive-color": "var(--color-on-surface-variant)",
  "--breadcrumb-active-color": "var(--color-primary)",
  "--breadcrumb-separator-margin": "0 10px",
  "--breadcrumb-separator-font-size": "14px"
};
var stdin_default$10 = {
  "--button-default-color": "var(--color-surface-container-low)",
  "--button-default-text-color": "var(--color-primary)",
  "--button-default-icon-color": "var(--color-on-info-container)",
  "--button-default-icon-container-color": "var(--color-surface-container-high)",
  "--button-border-radius": "100px",
  "--button-primary-text-color": "var(--color-on-primary)",
  "--button-danger-text-color": "var(--color-on-danger)",
  "--button-success-text-color": "var(--color-on-success)",
  "--button-warning-text-color": "var(--color-on-warning)",
  "--button-info-text-color": "var(--color-on-info)",
  "--button-primary-color": "var(--color-primary)",
  "--button-danger-color": "var(--color-danger)",
  "--button-success-color": "var(--color-success)",
  "--button-warning-color": "var(--color-warning)",
  "--button-info-color": "var(--color-info)",
  "--button-primary-icon-color": "var(--color-on-primary-container)",
  "--button-danger-icon-color": "var(--color-on-danger-container)",
  "--button-success-icon-color": "var(--color-on-success-container)",
  "--button-warning-icon-color": "var(--color-on-warning-container)",
  "--button-info-icon-color": "var(--color-on-info-container)",
  "--button-primary-icon-container-color": "var(--color-primary-container)",
  "--button-danger-icon-container-color": "var(--color-danger-container)",
  "--button-success-icon-container-color": "var(--color-success-container)",
  "--button-warning-icon-container-color": "var(--color-warning-container)",
  "--button-info-icon-container-color": "var(--color-info-container)",
  "--button-disabled-color": "var(--color-disabled)",
  "--button-disabled-text-color": "var(--color-text-disabled)",
  "--button-mini-padding": "0 8px",
  "--button-small-padding": "0 12px",
  "--button-normal-padding": "0 16px",
  "--button-large-padding": "0 22px",
  "--button-round-padding": "6px",
  "--button-mini-height": "20px",
  "--button-small-height": "28px",
  "--button-normal-height": "36px",
  "--button-large-height": "44px",
  "--button-mini-font-size": "var(--font-size-xs)",
  "--button-small-font-size": "var(--font-size-sm)",
  "--button-normal-font-size": "var(--font-size-md)",
  "--button-large-font-size": "var(--font-size-lg)"
};
var stdin_default$$ = {
  "--card-border-radius": "12px",
  "--card-background": "var(--color-surface-container-low)",
  "--card-filled-background": "var(--color-surface-container-highest)",
  "--card-image-height": "188px",
  "--card-title-color": "#1D1B20",
  "--card-title-font-size": "16px",
  "--card-title-padding": "0 16px",
  "--card-title-margin": "16px 0 0 0",
  "--card-content-padding": "0 16px",
  "--card-content-margin": "16px 0 0 0",
  "--card-content-color": "var(--color-on-surface-variant)",
  "--card-content-font-size": "14px",
  "--card-content-row-margin": "16px 0 0 0",
  "--card-subtitle-color": "var(--color-on-surface-variant)",
  "--card-subtitle-padding": "0 16px",
  "--card-subtitle-margin": "4px 0 0 0",
  "--card-description-margin": "32px 0 0 0",
  "--card-description-padding": "0 16px",
  "--card-description-color": "var(--color-on-surface-variant)",
  "--card-padding": "0 0 16px 0",
  "--card-footer-margin": "32px 0 0 0",
  "--card-title-row-margin": "16px 0 0 0",
  "--card-subtitle-row-margin": "4px 0 0 0",
  "--card-footer-padding": "0 16px",
  "--card-close-button-size": "56px",
  "--card-close-button-primary-color": "var(--color-primary-container)",
  "--card-close-button-text-color": "var(--color-on-primary-container)",
  "--card-close-button-border-radius": "12px",
  "--card-outline-color": "var(--color-outline)",
  "--card-image-width": "100%",
  "--card-row-image-width": "140px",
  "--card-row-height": "140px",
  "--card-subtitle-font-size": "14px",
  "--card-description-font-size": "14px",
  "--card-footer-right": "13px",
  "--card-footer-bottom": "9px",
  "--card-line-height": "22px",
  "--card-row-line-height": "1.5",
  "--card-floating-buttons-bottom": "16px",
  "--card-floating-buttons-right": "16px",
  "--card-floating-buttons-color": "#fff",
  "--card-close-button-icon-size": "24px"
};
var stdin_default$_ = {
  "--cell-description-color": "var(--color-on-surface-variant)",
  "--cell-color": "var(--color-text)",
  "--cell-font-size": "var(--font-size-md)",
  "--cell-description-font-size": "var(--font-size-sm)",
  "--cell-description-margin-top": "4px",
  "--cell-padding": "10px 12px",
  "--cell-min-height": "40px",
  "--cell-border-color": "var(--color-outline)",
  "--cell-border-left": "12px",
  "--cell-border-right": "12px",
  "--cell-icon-right": "8px",
  "--cell-extra-left": "8px"
};
var stdin_default$Z = {
  "--checkbox-unchecked-color": "var(--color-on-surface-variant)",
  "--checkbox-text-color": "var(--color-on-surface-variant)",
  "--checkbox-checked-color": "var(--color-primary)",
  "--checkbox-disabled-color": "var(--color-text-disabled)",
  "--checkbox-error-color": "var(--color-danger)",
  "--checkbox-action-padding": "6px",
  "--checkbox-icon-size": "24px"
};
var stdin_default$Y = {
  "--chip-round-radius": "8px",
  "--chip-default-color": "var(--color-surface-container-high)",
  "--chip-default-text-color": "#1D192B",
  "--chip-primary-text-color": "var(--color-on-primary-container)",
  "--chip-danger-text-color": "var(--color-on-danger-container)",
  "--chip-success-text-color": "var(--color-on-success-container)",
  "--chip-warning-text-color": "var(--color-on-warning-container)",
  "--chip-info-text-color": "var(--color-on-info-container)",
  "--chip-primary-color": "var(--color-primary-container)",
  "--chip-danger-color": "var(--color-danger-container)",
  "--chip-success-color": "var(--color-success-container)",
  "--chip-warning-color": "var(--color-warning-container)",
  "--chip-info-color": "var(--color-info-container)",
  "--chip-primary-plain-color": "var(--color-primary)",
  "--chip-danger-plain-color": "var(--color-danger)",
  "--chip-success-plain-color": "var(--color-success)",
  "--chip-warning-plain-color": "var(--color-warning)",
  "--chip-info-plain-color": "var(--color-info)",
  "--chip-border-radius": "2px",
  "--chip-normal-height": "32px",
  "--chip-large-height": "40px",
  "--chip-small-height": "24px",
  "--chip-mini-height": "16px",
  "--chip-normal-padding": "0 10px",
  "--chip-large-padding": "0 17px",
  "--chip-small-padding": "0 6px",
  "--chip-mini-padding": "0 4px",
  "--chip-text-normal-margin": "0 5px",
  "--chip-text-large-margin": "0 5px",
  "--chip-text-small-margin": "0 3px",
  "--chip-text-mini-margin": "0 2px",
  "--chip-mini-font-size": "var(--font-size-xs)",
  "--chip-small-font-size": "var(--font-size-sm)",
  "--chip-normal-font-size": "var(--font-size-md)",
  "--chip-large-font-size": "var(--font-size-lg)"
};
var stdin_default$X = {
  "--code-font-size": "14px",
  "--code-line-height": "1.7"
};
var stdin_default$W = {
  "--collapse-background": "var(--color-surface-container-low)",
  "--collapse-text-color": "#1D1B20",
  "--collapse-header-font-size": "var(--font-size-lg)",
  "--collapse-header-padding": "10px 12px",
  "--collapse-content-font-size": "var(--font-size-md)",
  "--collapse-content-padding": "0 12px 10px",
  "--collapse-item-margin-top": "16px",
  "--collapse-disable-color": "#bdbdbd",
  "--collapse-border-top": "thin solid var(--color-outline)"
};
var stdin_default$V = {
  "--countdown-text-color": "var(--color-text)",
  "--countdown-text-font-size": "var(--font-size-lg)"
};
var stdin_default$U = {
  "--counter-padding": "0 4px",
  "--counter-font-color": "#fff",
  "--counter-background": "var(--color-primary)",
  "--counter-input-width": "28px",
  "--counter-input-margin": "0 4px",
  "--counter-input-font-size": "14px",
  "--counter-button-size": "28px",
  "--counter-button-text-color": "#fff",
  "--counter-button-icon-size": "100%",
  "--counter-disabled-color": "var(--color-disabled)",
  "--counter-disabled-opacity": "var(--opacity-disabled)",
  "--counter-error-color": "var(--color-danger)"
};
var stdin_default$T = {
  "--date-picker-title-background": "var(--color-surface-container-high)",
  "--date-picker-title-color": "#1D1B20",
  "--date-picker-title-hint-color": "var(--color-on-surface-variant)",
  "--date-picker-body-background-color": "var(--color-surface-container-high)",
  "--date-picker-main-color": "#1D1B20",
  "--date-picker-border-radius": "20px",
  "--date-picker-title-padding": "20px 20px 16px",
  "--date-picker-actions-padding": "20px",
  "--day-picker-head-item-color": "#1D1B20",
  "--date-picker-header-arrow-filter": "opacity(1)",
  "--date-picker-header-padding": "0 0 16px",
  "--date-picker-body-height": "300px",
  "--date-picker-body-padding": "0 14px 16px",
  "--date-picker-header-color": "var(--color-on-surface-variant)",
  "--date-picker-font-size": "var(--font-size-md)",
  "--date-picker-min-width": "290px",
  "--date-picker-title-hint-font-size": "var(--font-size-md)",
  "--date-picker-title-height": "105px",
  "--date-picker-title-year-font-size": "var(--font-size-md)",
  "--date-picker-title-year-font-weight": "500",
  "--date-picker-title-year-margin-bottom": "8px",
  "--date-picker-title-date-height": "48px",
  "--date-picker-title-date-font-size": "34px",
  "--date-picker-title-date-font-weight": "500",
  "--date-picker-title-date-range-font-size": "20px",
  "--date-picker-title-date-justify-content": "normal",
  "--month-picker-padding": "0 12px",
  "--month-picker-item-width": "33%",
  "--month-picker-item-height": "56px",
  "--month-picker-item-button-max-width": "140px",
  "--year-picker-padding": "0 12px",
  "--year-picker-item-width": "33%",
  "--year-picker-item-height": "56px",
  "--year-picker-item-button-max-width": "140px",
  "--day-picker-content-item-width": "14.28%",
  "--day-picker-content-item-font-size": "var(--font-size-sm)",
  "--day-picker-content-item-padding": "2px 0",
  "--day-picker-content-item-button-width": "32px",
  "--day-picker-content-item-button-height": "32px",
  "--day-picker-content-item-button-font-size": "var(--font-size-sm)",
  "--day-picker-head-item-padding": "8px 0",
  "--day-picker-head-item-font-weight": "600"
};
var stdin_default$S = {
  "--dialog-width": "312px",
  "--dialog-background": "var(--color-surface-container-high)",
  "--dialog-title-color": "#1D1B20",
  "--dialog-message-color": "var(--color-on-surface-variant)",
  "--dialog-border-radius": "28px",
  "--dialog-title-padding": "24px 24px 0",
  "--dialog-message-padding": "16px 24px 24px",
  "--dialog-actions-padding": "0 24px 24px",
  "--dialog-title-font-size": "20px",
  "--dialog-button-margin-left": "8px",
  "--dialog-message-line-height": "24px",
  "--dialog-message-font-size": "var(--font-size-md)",
  "--dialog-confirm-button-color": "var(--color-primary)",
  "--dialog-cancel-button-color": "var(--color-primary)"
};
var stdin_default$R = {
  "--divider-color": "var(--color-outline)",
  "--divider-text-color": "#888",
  "--divider-text-margin": "8px 0",
  "--divider-text-padding": "0 8px",
  "--divider-inset": "72px"
};
var stdin_default$Q = {
  "--fab-trigger-border-radius": "16px",
  "--fab-action-size": "40px",
  "--fab-action-border-radius": "12px",
  "--fab-top": "70px",
  "--fab-bottom": "16px",
  "--fab-left": "16px",
  "--fab-right": "16px",
  "--fab-trigger-size": "56px",
  "--fab-trigger-inactive-icon-size": "26px",
  "--fab-trigger-active-icon-size": "22px",
  "--fab-actions-padding": "10px 0",
  "--fab-action-margin": "6px",
  "--fab-transition-standard-easing": "cubic-bezier(0.4, 0, 0.2, 1)"
};
var stdin_default$P = {
  "--field-decorator-text-color": "#1D1B20",
  "--field-decorator-blur-color": "#79747E",
  "--field-decorator-error-color": "var(--color-danger)",
  "--field-decorator-focus-color": "var(--color-primary)",
  "--field-decorator-placeholder-size": "16px",
  "--field-decorator-icon-size": "20px",
  "--field-decorator-line-size": "1px",
  "--field-decorator-line-focus-size": "2px",
  "--field-decorator-line-border-radius": "4px",
  "--field-decorator-disabled-color": "var(--color-text-disabled)",
  "--field-decorator-standard-normal-margin-top": "22px",
  "--field-decorator-standard-normal-margin-bottom": "4px",
  "--field-decorator-standard-normal-icon-margin-top": "22px",
  "--field-decorator-standard-normal-icon-margin-bottom": "4px",
  "--field-decorator-standard-normal-non-hint-margin-top": "4px",
  "--field-decorator-standard-small-margin-top": "18px",
  "--field-decorator-standard-small-margin-bottom": "4px",
  "--field-decorator-standard-small-icon-margin-top": "18px",
  "--field-decorator-standard-small-icon-margin-bottom": "4px",
  "--field-decorator-standard-small-non-hint-margin-top": "2px",
  "--field-decorator-outlined-normal-margin-top": "16px",
  "--field-decorator-outlined-normal-margin-bottom": "16px",
  "--field-decorator-outlined-normal-padding-left": "16px",
  "--field-decorator-outlined-normal-padding-right": "16px",
  "--field-decorator-outlined-normal-placeholder-space": "4px",
  "--field-decorator-outlined-normal-icon-margin-top": "16px",
  "--field-decorator-outlined-normal-icon-margin-bottom": "16px",
  "--field-decorator-outlined-small-margin-top": "8px",
  "--field-decorator-outlined-small-margin-bottom": "8px",
  "--field-decorator-outlined-small-padding-left": "12px",
  "--field-decorator-outlined-small-padding-right": "12px",
  "--field-decorator-outlined-small-placeholder-space": "2px",
  "--field-decorator-outlined-small-icon-margin-top": "8px",
  "--field-decorator-outlined-small-icon-margin-bottom": "8px"
};
var stdin_default$O = {
  "--floating-panel-background": "var(--color-surface-container-low)",
  "--floating-panel-toolbar-background": "#79747E",
  "--floating-panel-toolbar-width": "32px",
  "--floating-panel-toolbar-height": "4px",
  "--floating-panel-header-height": "36px",
  "--floating-panel-z-index": "999",
  "--floating-panel-border-top": "none",
  "--floating-panel-border-radius": "0",
  "--floating-panel-toolbar-border-radius": "10px",
  "--floating-panel-transition-timing-function": "cubic-bezier(0.18, 0.89, 0.32, 1.28)"
};
var stdin_default$N = {
  "--form-details-error-message-color": "var(--color-danger)",
  "--form-details-extra-message-color": "#888",
  "--form-details-margin-top": "6px",
  "--form-details-font-size": "12px",
  "--form-details-message-margin-right": "4px"
};
var stdin_default$M = {
  "--hover-overlay-opacity": "var(--opacity-hover)",
  "--hover-overlay-focusing-opacity": "var(--opacity-focus)"
};
var stdin_default$L = {
  "--icon-size": "20px"
};
var stdin_default$K = {
  "--image-preview-swipe-indicators-text-color": "#ddd",
  "--image-preview-swipe-indicators-padding": "16px 0",
  "--image-preview-zoom-container-background": "#000",
  "--image-preview-close-icon-top": "14px",
  "--image-preview-close-icon-right": "14px",
  "--image-preview-extra-top": "14px",
  "--image-preview-extra-left": "14px",
  "--image-preview-close-icon-size": "22px",
  "--image-preview-close-icon-color": "#fff"
};
var stdin_default$J = {
  "--index-bar-list-right": "0",
  "--index-bar-list-top": "50%",
  "--index-bar-list-left": "auto",
  "--index-bar-list-bottom": "auto",
  "--index-bar-list-transform": "translate(0, -50%)",
  "--index-bar-list-item-font-size": "var(--font-size-xs)",
  "--index-bar-list-item-color": "var(--color-primary)",
  "--index-bar-list-item-active-color": "var(--color-danger)",
  "--index-bar-list-item-height": "14px",
  "--index-bar-list-item-padding": "0 10px"
};
var stdin_default$I = {
  "--input-input-height": "24px",
  "--input-input-font-size": "16px",
  "--input-textarea-height": "auto"
};
var stdin_default$H = {
  "--link-default-color": "#000",
  "--link-primary-color": "var(--color-primary)",
  "--link-danger-color": "var(--color-danger)",
  "--link-success-color": "var(--color-success)",
  "--link-warning-color": "var(--color-warning)",
  "--link-info-color": "var(--color-info)",
  "--link-disabled-color": "var(--color-text-disabled)",
  "--link-font-size": "var(--font-size-md)",
  "--link-focus-opacity": "0.8"
};
var stdin_default$G = {
  "--list-loading-height": "50px",
  "--list-finished-height": "50px",
  "--list-error-height": "50px",
  "--list-loading-color": "#888",
  "--list-finished-color": "#888",
  "--list-error-color": "#888",
  "--list-loading-font-size": "var(--font-size-md)",
  "--list-finished-font-size": "var(--font-size-md)",
  "--list-error-font-size": "var(--font-size-md)"
};
var stdin_default$F = {
  "--loading-color": "var(--color-primary)",
  "--loading-opacity": "0.38",
  "--loading-desc-margin": "8px 0 0",
  "--loading-desc-color": "var(--color-primary)"
};
var stdin_default$E = {
  "--loading-bar-color": "var(--color-primary)",
  "--loading-bar-error-color": "var(--color-danger)",
  "--loading-bar-height": "3px"
};
var stdin_default$D = {
  "--menu-background-color": "var(--color-surface-container)",
  "--menu-border-radius": "4px"
};
var stdin_default$C = {
  "--menu-option-text-color": "#1D1B20",
  "--menu-option-normal-height": "38px",
  "--menu-option-small-height": "30px",
  "--menu-option-mini-height": "24px",
  "--menu-option-large-height": "46px",
  "--menu-option-padding": "0 12px",
  "--menu-option-normal-font-size": "var(--font-size-md)",
  "--menu-option-small-font-size": "var(--font-size-sm)",
  "--menu-option-mini-font-size": "var(--font-size-xs)",
  "--menu-option-large-font-size": "var(--font-size-lg)",
  "--menu-option-selected-background": "var(--color-primary)",
  "--menu-option-disabled-color": "var(--color-text-disabled)"
};
var stdin_default$B = {
  "--menu-select-menu-background-color": "var(--color-surface-container)",
  "--menu-select-menu-border-radius": "4px",
  "--menu-select-menu-max-height": "278px",
  "--menu-select-menu-padding": "0"
};
var stdin_default$A = {
  "--option-text-color": "#1D1B20",
  "--option-height": "38px",
  "--option-padding": "0 12px",
  "--option-font-size": "16px",
  "--option-selected-background": "var(--field-decorator-focus-color)",
  "--option-disabled-color": "var(--color-text-disabled)"
};
var stdin_default$z = {
  "--overlay-background-color": "rgba(0, 0, 0, 0.6)"
};
var stdin_default$y = {
  "--pagination-text-color": "#555",
  "--pagination-font-size": "var(--font-size-md)",
  "--pagination-active-color": "var(--color-on-primary)",
  "--pagination-active-bg-color": "var(--color-primary)",
  "--pagination-hover-bg-color": "rgba(85, 85, 85, 0.15)",
  "--pagination-total-margin": "0 10px",
  "--pagination-total-line-height": "24px",
  "--pagination-item-width": "32px",
  "--pagination-item-height": "32px",
  "--pagination-item-margin": "0 6px",
  "--pagination-item-background": "#fff",
  "--pagination-item-border-radius": "4px",
  "--pagination-item-simple-border-radius": "50%",
  "--pagination-input-width": "32px",
  "--pagination-disabled-color": "var(--color-text-disabled)",
  "--pagination-bg-disabled-color": "var(--color-disabled)",
  "--pagination-size-line-height": "24px",
  "--pagination-size-padding": "0 4px",
  "--pagination-quick-jumper-margin": "0 10px"
};
var stdin_default$x = {
  "--paper-background": "var(--color-surface-container-low)",
  "--paper-border-radius": "12px"
};
var stdin_default$w = {
  "--picker-background": "var(--color-body)",
  "--picker-cancel-button-text-color": "var(--color-primary)",
  "--picker-mask-background-image": "linear-gradient(180deg, rgba(254, 247, 255, 0.9), rgba(254, 247, 255, 0.4)), linear-gradient(0deg, rgba(254, 247, 255, 0.9), rgba(254, 247, 255, 0.4))",
  "--picker-toolbar-height": "44px",
  "--picker-confirm-button-text-color": "var(--color-primary)",
  "--picker-picked-border": "1px solid var(--color-outline)",
  "--picker-title-font-size": "var(--font-size-lg)",
  "--picker-title-text-color": "#555",
  "--picker-option-font-size": "var(--font-size-lg)",
  "--picker-option-text-color": "#555",
  "--picker-toolbar-padding": "0 4px"
};
var stdin_default$v = {
  "--popup-content-background-color": "var(--color-surface-container-high)",
  "--popup-overlay-background-color": "rgba(0, 0, 0, 0.6)"
};
var stdin_default$u = {
  "--progress-font-size": "var(--font-size-sm)",
  "--progress-track-color": "#d8d8d8",
  "--progress-label-color": "#555",
  "--progress-background": "var(--color-primary)",
  "--progress-default-color": "#f5f5f5",
  "--progress-primary-color": "var(--color-primary)",
  "--progress-danger-color": "var(--color-danger)",
  "--progress-success-color": "var(--color-success)",
  "--progress-warning-color": "var(--color-warning)",
  "--progress-info-color": "var(--color-info)",
  "--progress-linear-border-radius": "0px"
};
var stdin_default$t = {
  "--pull-refresh-background": "var(--color-body)",
  "--pull-refresh-size": "40px",
  "--pull-refresh-color": "var(--color-primary)",
  "--pull-refresh-success-color": "var(--color-success)",
  "--pull-refresh-icon-size": "25px"
};
var stdin_default$s = {
  "--radio-unchecked-color": "var(--color-on-surface-variant)",
  "--radio-text-color": "var(--color-on-surface-variant)",
  "--radio-checked-color": "var(--color-primary)",
  "--radio-disabled-color": "var(--color-text-disabled)",
  "--radio-error-color": "var(--color-danger)",
  "--radio-icon-size": "24px",
  "--radio-action-padding": "6px"
};
var stdin_default$r = {
  "--rate-color": "var(--color-on-surface-variant)",
  "--rate-size": "24px",
  "--rate-disabled-color": "var(--color-text-disabled)",
  "--rate-error-color": "var(--color-danger)",
  "--rate-action-padding": "4px",
  "--rate-primary-color": "var(--color-primary)"
};
var stdin_default$q = {
  "--result-background": "var(--color-body)",
  "--result-border-radius": "12px",
  "--result-title-color": "#1D1B20",
  "--result-description-color": "var(--color-on-surface-variant)",
  "--result-info-border-color": "rgba(98, 91, 113, 0.3)",
  "--result-success-border-color": "rgba(83, 101, 37, 0.3)",
  "--result-error-border-color": "rgba(179, 38, 30, 0.3)",
  "--result-warning-border-color": "rgba(125, 82, 96, 0.3)",
  "--result-padding": "24px",
  "--result-title-font-size": "32px",
  "--result-title-margin": "15px 0 0 0",
  "--result-image-size": "80px",
  "--result-title-font-weight": "500",
  "--result-description-margin": "10px 0 0 0",
  "--result-description-font-size": "14px",
  "--result-description-line-height": "1.6",
  "--result-info-color": "var(--color-info)",
  "--result-success-color": "var(--color-success)",
  "--result-error-color": "var(--color-danger)",
  "--result-warning-color": "var(--color-warning)",
  "--result-question-color": "#607d8b",
  "--result-question-border-color": "rgba(96, 125, 139, 0.3)",
  "--result-empty-color": "#9e9e9e",
  "--result-empty-border-color": "rgba(158, 158, 158, 0.3)"
};
var stdin_default$p = {
  "--ripple-cubic-bezier": "cubic-bezier(0.68, 0.01, 0.62, 0.6)",
  "--ripple-color": "currentColor"
};
var stdin_default$o = {
  "--select-scroller-background": "var(--color-surface-container)",
  "--select-scroller-border-radius": "4px",
  "--select-scroller-padding": "6px 0",
  "--select-scroller-max-height": "278px",
  "--select-chips-margin": "-5px 0 0 0",
  "--select-chips-padding": "2px 0",
  "--select-chip-margin": "5px 5px 0 0",
  "--select-arrow-size": "20px",
  "--select-standard-menu-margin": `calc(var(--field-decorator-placeholder-size) * 0.75 + 12px) 0 0 0`,
  "--select-label-font-size": "16px"
};
var stdin_default$n = {
  "--signature-background-color": "var(--color-surface-container-low)",
  "--signature-stroke-color": "#1D1B20",
  "--signature-height": "200px",
  "--signature-border-radius": "12px"
};
var stdin_default$m = {
  "--skeleton-content-padding": "16px",
  "--skeleton-card-height": "160px",
  "--skeleton-card-border-radius": "4px",
  "--skeleton-card-margin-bottom": "16px",
  "--skeleton-card-background-color": "rgba(0, 0, 0, 0.12)",
  "--skeleton-animation-background": "linear-gradient(90deg, hsla(0, 0%, 100%, 0), hsla(0, 0%, 100%, 0.3), hsla(0, 0%, 100%, 0))",
  "--skeleton-avatar-size": "34px",
  "--skeleton-avatar-border-radius": "50%",
  "--skeleton-avatar-margin-right": "16px",
  "--skeleton-avatar-background-color": "rgba(0, 0, 0, 0.12)",
  "--skeleton-title-width": "50%",
  "--skeleton-title-border-radius": "10px",
  "--skeleton-title-background-color": "rgba(0, 0, 0, 0.12)",
  "--skeleton-row-height": "12px",
  "--skeleton-row-border-radius": "10px",
  "--skeleton-row-margin-top": "10px"
};
var stdin_default$l = {
  "--slider-thumb-size": "16px",
  "--slider-track-height": "4px",
  "--slider-track-background": "var(--color-surface-container-highest)",
  "--slider-track-fill-border-radius": "4px",
  "--slider-track-border-radius": "4px",
  "--slider-error-color": "var(--color-danger)",
  "--slider-track-fill-background": "var(--color-primary)",
  "--slider-thumb-block-background": "var(--color-primary)",
  "--slider-thumb-ripple-background": "var(--color-primary)",
  "--slider-thumb-label-background": "var(--color-primary)",
  "--slider-thumb-label-font-size": "var(--font-size-sm)",
  "--slider-thumb-label-text-color": "var(--color-on-primary)",
  "--slider-disabled-opacity": "var(--opacity-disabled)"
};
var stdin_default$k = {
  "--snackbar-color": "#F5EFF7",
  "--snackbar-background": "var(--color-inverse-surface)",
  "--snackbar-width": "256px",
  "--snackbar-border-radius": "4px",
  "--snackbar-font-size": "var(--font-size-md)",
  "--snackbar-margin": "6px 24px",
  "--snackbar-border-color": "currentColor",
  "--snackbar-success-background": "var(--color-success)",
  "--snackbar-info-background": "var(--color-info)",
  "--snackbar-error-background": "var(--color-danger)",
  "--snackbar-warning-background": "var(--color-warning)",
  "--snackbar-content-padding": "14px 16px",
  "--snackbar-action-margin": "0 8px",
  "--snackbar-vertical-action-margin": "0 8px 8px 0",
  "--snackbar-icon-margin": "0 8px"
};
var stdin_default$j = {
  "--space-size-mini-y": "4px",
  "--space-size-mini-x": "4px",
  "--space-size-small-y": "6px",
  "--space-size-small-x": "6px",
  "--space-size-normal-y": "8px",
  "--space-size-normal-x": "12px",
  "--space-size-large-y": "12px",
  "--space-size-large-x": "20px"
};
var stdin_default$i = {
  "--step-tag-size": "20px",
  "--step-tag-background": "#9e9e9e",
  "--step-tag-font-size": "var(--font-size-md)",
  "--step-tag-color": "var(--color-on-primary)",
  "--step-tag-active-color": "var(--color-primary)",
  "--step-tag-margin": "4px 0",
  "--step-tag-icon-size": "var(--font-size-lg)",
  "--step-content-font-size": "var(--font-size-md)",
  "--step-content-color": "rgba(0, 0, 0, 0.38)",
  "--step-content-active-color": "#000",
  "--step-line-background": "#000",
  "--step-line-gap": "8px",
  "--step-vertical-tag-margin": "0 4px",
  "--step-vertical-min-height": "50px"
};
var stdin_default$h = {
  "--swipe-indicator-color": "#fff",
  "--swipe-indicators-offset": "10px",
  "--swipe-indicator-offset": "4px",
  "--swipe-navigation-z-index": "9",
  "--swipe-navigation-button-width": "36px",
  "--swipe-navigation-button-height": "36px",
  "--swipe-navigation-button-border-radius": "50%",
  "--swipe-navigation-icon-size": "20px",
  "--swipe-navigation-prev-left": "8px",
  "--swipe-navigation-next-right": "8px",
  "--swipe-navigation-prev-top": "8px",
  "--swipe-navigation-next-bottom": "8px"
};
var stdin_default$g = {
  "--switch-track-background": "var(--color-surface-container-low)",
  "--switch-handle-background": "var(--color-surface-container-low)",
  "--switch-track-active-background": "var(--color-primary)",
  "--switch-track-error-background": "var(--color-danger)",
  "--switch-ripple-color": "var(--color-primary)",
  "--switch-handle-color": "var(--color-primary)",
  "--switch-handle-active-color": "var(--color-on-primary)",
  "--switch-handle-active-background": "var(--color-primary)",
  "--switch-handle-error-background": "var(--color-danger)",
  "--switch-disabled-opacity": "var(--opacity-disabled)",
  "--switch-variant-width": "52px",
  "--switch-variant-height": "32px",
  "--switch-variant-track-background": "var(--color-surface-container-highest)",
  "--switch-variant-handle-width": "24px",
  "--switch-variant-handle-height": "24px",
  "--switch-variant-track-border-color": "#79747E",
  "--switch-variant-handle-color": "var(--color-on-primary)",
  "--switch-variant-handle-active-color": "var(--color-primary)",
  "--switch-variant-handle-background": "#79747E",
  "--switch-variant-handle-active-background": "var(--color-on-primary)",
  "--switch-width": "40px",
  "--switch-height": "24px",
  "--switch-track-width": "38px",
  "--switch-track-height": "14.4px",
  "--switch-track-border-radius": "calc(20px * 2 / 3)",
  "--switch-handle-width": "20px",
  "--switch-handle-height": "20px",
  "--switch-ripple-size": "40px",
  "--switch-ripple-left": "-10px",
  "--switch-ripple-active-left": "10px",
  "--switch-loading-size": "16px",
  "--switch-variant-ripple-left": "-4px",
  "--switch-variant-ripple-active-left": "16px"
};
var stdin_default$f = {
  "--tab-inactive-color": "var(--color-on-surface-variant)",
  "--tab-padding": "12px",
  "--tab-active-color": "var(--color-primary)",
  "--tab-disabled-color": "var(--color-text-disabled)",
  "--tab-font-size": "var(--font-size-md)",
  "--tab-font-weight": "400",
  "--tab-active-font-size": "var(--font-size-md)",
  "--tab-active-font-weight": "400"
};
var stdin_default$e = {
  "--table-background": "var(--color-surface-container-low)",
  "--table-tbody-tr-hover-background": "var(--color-surface-container-low)",
  "--table-border-radius": "2px",
  "--table-thead-border-bottom": "thin solid var(--color-outline)",
  "--table-thead-th-text-color": "rgba(0, 0, 0, 0.6)",
  "--table-thead-th-text-align": "left",
  "--table-thead-th-font-size": "14px",
  "--table-thead-tr-border-bottom": "thin solid var(--color-outline)",
  "--table-tbody-tr-border-bottom": "thin solid var(--color-outline)",
  "--table-tbody-td-text-color": "#555",
  "--table-tbody-td-font-size": "16px",
  "--table-tbody-td-text-align": "left",
  "--table-row-height": "46px",
  "--table-row-padding": "0 16px",
  "--table-footer-border-top": "thin solid var(--color-outline)"
};
var stdin_default$d = {
  "--tabs-background": "var(--color-body)",
  "--tabs-item-horizontal-height": "44px",
  "--tabs-item-vertical-height": "66px",
  "--tabs-radius": "2px",
  "--tabs-padding": "12px",
  "--tabs-indicator-size": "2px",
  "--tabs-indicator-border-radius": "0",
  "--tabs-indicator-background": "var(--color-primary)",
  "--tabs-indicator-inner-size": "100%"
};
var stdin_default$c = {
  "--time-picker-title-color": "#1D1B20",
  "--time-picker-title-hint-color": "var(--color-on-surface-variant)",
  "--time-picker-clock-container-background": "var(--color-surface-container-highest)",
  "--time-picker-title-background": "var(--color-surface-container-high)",
  "--time-picker-body-background": "var(--color-surface-container-high)",
  "--time-picker-clock-item-text-color": "#1D1B20",
  "--time-picker-border-radius": "20px",
  "--time-picker-title-padding": "20px 20px 16px",
  "--time-picker-actions-padding": "20px",
  "--time-picker-title-margin-bottom": "20px",
  "--time-picker-title-time-font-size": "40px",
  "--time-picker-title-ampm-border-radius": "8px",
  "--time-picker-title-time-padding": "8px 12px",
  "--time-picker-title-time-border-radius": "8px",
  "--time-picker-title-ampm-border": "thin solid #79747e",
  "--time-picker-title-ampm-button-padding": "8px",
  "--time-picker-title-time-background": "var(--color-surface-container-highest)",
  "--time-picker-title-inactive-opacity": "1",
  "--time-picker-title-time-active-background": "var(--color-primary-container)",
  "--time-picker-title-ampm-button-active-background": "var(--color-warning-container)",
  "--time-picker-font-size": "var(--font-size-md)",
  "--time-picker-min-width": "290px",
  "--time-picker-title-height": "105px",
  "--time-picker-title-hint-font-size": "14px",
  "--time-picker-title-time-margin": "0 5px",
  "--time-picker-title-ampm-margin-left": "10px",
  "--time-picker-clock-left": "27px",
  "--time-picker-clock-right": "27px",
  "--time-picker-clock-top": "27px",
  "--time-picker-clock-bottom": "27px",
  "--time-picker-clock-container-width": "256px",
  "--time-picker-clock-container-height": "256px",
  "--time-picker-clock-hand-height": "calc(50% - 4px)",
  "--time-picker-clock-hand-width": "2px",
  "--time-picker-clock-hand-bottom": "50%",
  "--time-picker-clock-hand-left": "calc(50% - 1px)",
  "--time-picker-clock-hand-background": "var(--color-primary)",
  "--time-picker-clock-hand-border-color": "var(--color-primary)",
  "--time-picker-clock-hand-before-width": "10px",
  "--time-picker-clock-hand-before-height": "10px",
  "--time-picker-clock-hand-before-border-width": "2px",
  "--time-picker-clock-hand-after-width": "4px",
  "--time-picker-clock-hand-after-height": "4px",
  "--time-picker-clock-item-height": "32px",
  "--time-picker-clock-item-width": "32px",
  "--time-picker-clock-item-active-background": "var(--color-primary)",
  "--time-picker-clock-item-active-color": "var(--color-on-primary)",
  "--time-picker-clock-item-disable-color": "rgba(0, 0, 0, 0.26)",
  "--time-picker-clock-item-disable-background": "#bdbdbd",
  "--time-picker-inner-left": "36px",
  "--time-picker-inner-right": "36px",
  "--time-picker-inner-top": "36px",
  "--time-picker-inner-bottom": "36px",
  "--time-picker-body-height": "288px",
  "--time-picker-title-time-container-justify-content": "flex-end"
};
var stdin_default$b = {
  "--tooltip-default-color": "var(--color-inverse-surface)",
  "--tooltip-opacity": "1",
  "--tooltip-border-radius": "4px",
  "--tooltip-font-size": "14px",
  "--tooltip-padding": "8px 16px",
  "--tooltip-offset": "10px",
  "--tooltip-primary-color": "var(--color-primary)",
  "--tooltip-info-color": "var(--color-info)",
  "--tooltip-success-color": "var(--color-success)",
  "--tooltip-warning-color": "var(--color-warning)",
  "--tooltip-danger-color": "var(--color-danger)",
  "--tooltip-default-text-color": "#fff",
  "--tooltip-primary-text-color": "var(--color-on-primary)",
  "--tooltip-info-text-color": "var(--color-on-info)",
  "--tooltip-success-text-color": "var(--color-on-success)",
  "--tooltip-warning-text-color": "var(--color-on-warning)",
  "--tooltip-danger-text-color": "var(--color-on-danger)"
};
var stdin_default$a = {
  "--uploader-file-border-radius": "8px",
  "--uploader-action-background": "var(--color-surface-container-low)",
  "--uploader-file-name-background": "var(--color-surface-container-low)",
  "--uploader-file-cover-background": "var(--color-surface-container-low)",
  "--uploader-action-icon-color": "var(--color-on-surface-variant)",
  "--uploader-file-name-color": "var(--color-on-surface-variant)",
  "--uploader-action-icon-size": "24px",
  "--uploader-action-margin": "0 10px 10px 0",
  "--uploader-file-size": "80px",
  "--uploader-file-margin": "0 10px 10px 0",
  "--uploader-file-name-font-size": "12px",
  "--uploader-file-name-padding": "10px",
  "--uploader-file-text-align": "center",
  "--uploader-file-close-background": "rgba(0, 0, 0, 0.3)",
  "--uploader-file-close-size": "24px",
  "--uploader-file-close-icon-font-size": "14px",
  "--uploader-file-close-icon-color": "#fff",
  "--uploader-file-cover-fit": "cover",
  "--uploader-preview-video-width": "100vw",
  "--uploader-preview-video-height": "100vw",
  "--uploader-file-indicator-height": "4px",
  "--uploader-file-indicator-normal-color": "var(--color-disabled)",
  "--uploader-file-indicator-success-color": "var(--color-success)",
  "--uploader-file-indicator-error-color": "var(--color-danger)",
  "--uploader-file-progress-color": "var(--color-primary)",
  "--uploader-disabled-color": "var(--color-disabled)",
  "--uploader-disabled-text-color": "var(--color-text-disabled)",
  "--uploader-loading-background": "linear-gradient(90deg, hsla(0, 0%, 100%, 0), hsla(0, 0%, 100%, 0.3), hsla(0, 0%, 100%, 0))"
};
var stdin_default$9 = {
  "--watermark-content-color": "#808080"
};
var __defProp$1 = Object.defineProperty;
var __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;
var __hasOwnProp$1 = Object.prototype.hasOwnProperty;
var __propIsEnum$1 = Object.prototype.propertyIsEnumerable;
var __defNormalProp$1 = (obj, key3, value) => key3 in obj ? __defProp$1(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues$1 = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$1.call(b, prop))
      __defNormalProp$1(a, prop, b[prop]);
  if (__getOwnPropSymbols$1)
    for (var prop of __getOwnPropSymbols$1(b)) {
      if (__propIsEnum$1.call(b, prop))
        __defNormalProp$1(a, prop, b[prop]);
    }
  return a;
};
var stdin_default$8 = __spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1(__spreadValues$1({
  "--color-scheme": "light",
  "--font-size-xs": "10px",
  "--font-size-sm": "12px",
  "--font-size-md": "14px",
  "--font-size-lg": "16px",
  "--icon-size-xs": "16px",
  "--icon-size-sm": "18px",
  "--icon-size-md": "20px",
  "--icon-size-lg": "22px",
  "--hsl-body": "293, 100%, 98%",
  "--color-body": "hsla(var(--hsl-body), 1)",
  "--hsl-text": "0, 0%, 0%",
  "--color-text": "hsla(var(--hsl-text), 1)",
  "--hsl-primary": "256, 34%, 48%",
  "--color-primary": "hsla(var(--hsl-primary), 1)",
  "--hsl-info": "259, 11%, 40%",
  "--color-info": "hsla(var(--hsl-info), 1)",
  "--hsl-success": "77, 46%, 27%",
  "--color-success": "hsla(var(--hsl-success), 1)",
  "--hsl-warning": "340, 21%, 41%",
  "--color-warning": "hsla(var(--hsl-warning), 1)",
  "--hsl-danger": "3, 71%, 41%",
  "--color-danger": "hsla(var(--hsl-danger), 1)",
  "--hsl-on-primary": "0, 0%, 100%",
  "--color-on-primary": "hsla(var(--hsl-on-primary), 1)",
  "--hsl-on-info": "0, 0%, 100%",
  "--color-on-info": "hsla(var(--hsl-on-info), 1)",
  "--hsl-on-success": "0, 0%, 100%",
  "--color-on-success": "hsla(var(--hsl-on-success), 1)",
  "--hsl-on-warning": "0, 0%, 100%",
  "--color-on-warning": "hsla(var(--hsl-on-warning), 1)",
  "--hsl-on-danger": "0, 0%, 100%",
  "--color-on-danger": "hsla(var(--hsl-on-danger), 1)",
  "--hsl-primary-container": "263, 100%, 93%",
  "--color-primary-container": "hsla(var(--hsl-primary-container), 1)",
  "--hsl-info-container": "263, 65%, 92%",
  "--color-info-container": "hsla(var(--hsl-info-container), 1)",
  "--hsl-success-container": "77, 68%, 77%",
  "--color-success-container": "hsla(var(--hsl-success-container), 1)",
  "--hsl-warning-container": "342, 100%, 92%",
  "--color-warning-container": "hsla(var(--hsl-warning-container), 1)",
  "--hsl-danger-container": "4, 71%, 92%",
  "--color-danger-container": "hsla(var(--hsl-danger-container), 1)",
  "--hsl-on-primary-container": "261, 100%, 18%",
  "--color-on-primary-container": "hsla(var(--hsl-on-primary-container), 1)",
  "--hsl-on-info-container": "253, 26%, 13%",
  "--color-on-info-container": "hsla(var(--hsl-on-info-container), 1)",
  "--hsl-on-success-container": "79, 100%, 6%",
  "--color-on-success-container": "hsla(var(--hsl-on-success-container), 1)",
  "--hsl-on-warning-container": "338, 48%, 13%",
  "--color-on-warning-container": "hsla(var(--hsl-on-warning-container), 1)",
  "--hsl-on-danger-container": "3, 71%, 15%",
  "--color-on-danger-container": "hsla(var(--hsl-on-danger-container), 1)",
  "--hsl-disabled": "0, 0%, 88%",
  "--color-disabled": "hsla(var(--hsl-disabled), 1)",
  "--hsl-text-disabled": "0, 0%, 67%",
  "--color-text-disabled": "hsla(var(--hsl-text-disabled), 1)",
  "--hsl-surface-container": "276, 38%, 95%",
  "--color-surface-container": "hsla(var(--hsl-surface-container), 1)",
  "--hsl-surface-container-low": "278, 44%, 96%",
  "--color-surface-container-low": "hsla(var(--hsl-surface-container-low), 1)",
  "--hsl-surface-container-high": "276, 25%, 92%",
  "--color-surface-container-high": "hsla(var(--hsl-surface-container-high), 1)",
  "--hsl-surface-container-highest": "280, 17%, 90%",
  "--color-surface-container-highest": "hsla(var(--hsl-surface-container-highest), 1)",
  "--hsl-inverse-surface": "270, 6%, 20%",
  "--color-inverse-surface": "hsla(var(--hsl-inverse-surface), 1)",
  "--hsl-outline": "270, 11%, 79%",
  "--color-outline": "hsla(var(--hsl-outline), 1)",
  "--hsl-on-surface-variant": "264, 7%, 29%",
  "--color-on-surface-variant": "hsla(var(--hsl-on-surface-variant), 1)",
  "--opacity-disabled": "0.6",
  "--opacity-hover": "0.12",
  "--opacity-focus": "0.2",
  "--cubic-bezier": "cubic-bezier(0.25, 0.8, 0.5, 1)",
  "--shadow-key-umbra-opacity": "rgba(0, 0, 0, 0.2)",
  "--shadow-key-penumbra-opacity": "rgba(0, 0, 0, 0.14)",
  "--shadow-key-ambient-opacity": "rgba(0, 0, 0, 0.12)"
}, stdin_default$10), stdin_default$19), stdin_default$M), stdin_default$D), stdin_default$B), stdin_default$C), stdin_default$Q), stdin_default$11), stdin_default$H), stdin_default$_), stdin_default$x), stdin_default$17), stdin_default$P), stdin_default$Z), stdin_default$s), stdin_default$$), stdin_default$Y), stdin_default$b), stdin_default$d), stdin_default$f), stdin_default$e), stdin_default$W), stdin_default$q), stdin_default$13), stdin_default$12), stdin_default$k), stdin_default$1a), stdin_default$S), stdin_default$t), stdin_default$v), stdin_default$w), stdin_default$O), stdin_default$15), stdin_default$o), stdin_default$A), stdin_default$l), stdin_default$a), stdin_default$c), stdin_default$T), stdin_default$g), stdin_default$r), stdin_default$16), stdin_default$14), stdin_default$V), stdin_default$U), stdin_default$R), stdin_default$N), stdin_default$L), stdin_default$K), stdin_default$J), stdin_default$I), stdin_default$G), stdin_default$F), stdin_default$E), stdin_default$z), stdin_default$y), stdin_default$u), stdin_default$p), stdin_default$m), stdin_default$j), stdin_default$i), stdin_default$h), stdin_default$9), stdin_default$18), stdin_default$X), stdin_default$n);
function toViewport(theme, options = {}) {
  const { viewportWidth = 375, viewportUnit = "vmin", unitPrecision = 6 } = options;
  return Object.entries(theme).reduce((target, [key3, value]) => {
    target[key3] = value.includes("px") ? value.replace(
      /(\d+(\.\d+)?)px/g,
      (_, p1) => `${Number((p1 / viewportWidth * 100).toFixed(unitPrecision))}${viewportUnit}`
    ) : value;
    return target;
  }, {});
}
const Themes = { dark: stdin_default$2e, md3Light: stdin_default$8, md3Dark: stdin_default$1b, toViewport };
const _ThemesComponent = null;
var stdin_default$7 = Themes;
const hoursAmpm = ["12", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11"];
const hours24 = ["00", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23"];
const minSec = ["00", "05", "10", "15", "20", "25", "30", "35", "40", "45", "50", "55"];
const props$2 = {
  modelValue: String,
  elevation: {
    type: [Boolean, Number, String],
    default: false
  },
  hint: String,
  color: String,
  titleColor: String,
  format: {
    type: String,
    default: "ampm"
  },
  allowedTime: Object,
  min: String,
  max: String,
  useSeconds: Boolean,
  readonly: Boolean,
  "onUpdate:modelValue": defineListenerProp(),
  onChange: defineListenerProp()
};
const notConvert = (format2, ampm) => format2 === "24hr" || ampm === "am";
const convertHour = (format2, ampm, hour) => {
  const index = hoursAmpm.findIndex((hourAmpm) => toNumber(hourAmpm) === toNumber(hour));
  const getHour = notConvert(format2, ampm) ? hour : hours24[index];
  return {
    hourStr: getHour,
    hourNum: toNumber(getHour)
  };
};
const getNumberTime = (time) => {
  const [hour, minute, second] = time.split(":");
  return {
    hour: toNumber(hour),
    minute: toNumber(minute),
    second: toNumber(second)
  };
};
const getIsDisableMinute = (values) => {
  var _a, _b;
  const { time, format: format2, ampm, hour, max: max2, min: min2, disableHour } = values;
  const { hourStr, hourNum } = convertHour(format2, ampm, hour);
  let isBetweenMinMax = false;
  let isAllow = false;
  if (disableHour.includes(hourStr)) {
    return true;
  }
  if (max2 && !min2) {
    const { hour: maxHour, minute: maxMinute } = getNumberTime(max2);
    isBetweenMinMax = maxHour === hourNum && time > maxMinute;
  }
  if (!max2 && min2) {
    const { hour: minHour, minute: minMinute } = getNumberTime(min2);
    isBetweenMinMax = minHour === hourNum && time < minMinute;
  }
  if (max2 && min2) {
    const { hour: maxHour, minute: maxMinute } = getNumberTime(max2);
    const { hour: minHour, minute: minMinute } = getNumberTime(min2);
    isBetweenMinMax = minHour === hourNum && time < minMinute || maxHour === hourNum && time > maxMinute;
  }
  if ((_a = values.allowedTime) == null ? void 0 : _a.minutes) {
    isAllow = (_b = values.allowedTime) == null ? void 0 : _b.minutes(time);
  }
  return isBetweenMinMax || isAllow;
};
const getIsDisableSecond = (values) => {
  var _a, _b;
  const { time, format: format2, ampm, hour, minute, max: max2, min: min2, disableHour } = values;
  const { hourStr, hourNum } = convertHour(format2, ampm, hour);
  let isBetweenMinMax = false;
  let isAllow = false;
  if (disableHour.includes(hourStr)) {
    return true;
  }
  if (max2 && !min2) {
    const { hour: maxHour, minute: maxMinute, second: maxSecond } = getNumberTime(max2);
    isBetweenMinMax = maxHour === hourNum && maxMinute < minute || maxMinute === minute && time > maxSecond;
  }
  if (!max2 && min2) {
    const { hour: minHour, minute: minMinute, second: minSecond } = getNumberTime(min2);
    isBetweenMinMax = minHour === hourNum && minMinute > minute || minMinute === minute && time > minSecond;
  }
  if (max2 && min2) {
    const { hour: maxHour, minute: maxMinute, second: maxSecond } = getNumberTime(max2);
    const { hour: minHour, minute: minMinute, second: minSecond } = getNumberTime(min2);
    isBetweenMinMax = maxHour === hourNum && maxMinute < minute || minHour === hourNum && minMinute > minute || maxHour === hourNum && maxMinute === minute && time > maxSecond || minHour === hourNum && minMinute === minute && time < minSecond;
  }
  if ((_a = values.allowedTime) == null ? void 0 : _a.seconds) {
    isAllow = (_b = values.allowedTime) == null ? void 0 : _b.seconds(time);
  }
  return isBetweenMinMax || isAllow;
};
const { n: n$3, classes: classes$3 } = createNamespace("time-picker");
function __render__$3(_ctx, _cache) {
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(_ctx.n("clock"))
    },
    [
      vue.createElementVNode(
        "div",
        {
          class: vue.normalizeClass(_ctx.n("clock-hand")),
          style: vue.normalizeStyle(_ctx.handStyle)
        },
        null,
        6
        /* CLASS, STYLE */
      ),
      (vue.openBlock(true), vue.createElementBlock(
        vue.Fragment,
        null,
        vue.renderList(_ctx.timeScales, (timeScale, index) => {
          return vue.openBlock(), vue.createElementBlock(
            "div",
            {
              key: timeScale,
              class: vue.normalizeClass(
                _ctx.classes(
                  _ctx.n("clock-item"),
                  [_ctx.isActive(index, false), _ctx.n("clock-item--active")],
                  [_ctx.isDisable(timeScale), _ctx.n("clock-item--disable")]
                )
              ),
              style: vue.normalizeStyle(_ctx.getStyle(index, timeScale, false))
            },
            vue.toDisplayString(timeScale),
            7
            /* TEXT, CLASS, STYLE */
          );
        }),
        128
        /* KEYED_FRAGMENT */
      )),
      _ctx.format === "24hr" && _ctx.type === "hour" ? (vue.openBlock(), vue.createElementBlock(
        "div",
        {
          key: 0,
          ref: "inner",
          class: vue.normalizeClass(_ctx.n("clock-inner"))
        },
        [
          (vue.openBlock(true), vue.createElementBlock(
            vue.Fragment,
            null,
            vue.renderList(_ctx.hours24, (hour, index) => {
              return vue.openBlock(), vue.createElementBlock(
                "div",
                {
                  key: hour,
                  class: vue.normalizeClass(
                    _ctx.classes(
                      _ctx.n("clock-item"),
                      [_ctx.isActive(index, true), _ctx.n("clock-item--active")],
                      [_ctx.isDisable(hour), _ctx.n("clock-item--disable")]
                    )
                  ),
                  style: vue.normalizeStyle(_ctx.getStyle(index, hour, true))
                },
                vue.toDisplayString(hour),
                7
                /* TEXT, CLASS, STYLE */
              );
            }),
            128
            /* KEYED_FRAGMENT */
          ))
        ],
        2
        /* CLASS */
      )) : vue.createCommentVNode("v-if", true)
    ],
    2
    /* CLASS */
  );
}
const __sfc__$3 = vue.defineComponent({
  name: "Clock",
  props: {
    isInner: {
      type: Boolean,
      required: true
    },
    rad: {
      type: Number
    },
    format: {
      type: String,
      default: "ampm"
    },
    allowedTime: {
      type: Object
    },
    time: {
      type: Object,
      required: true
    },
    useSeconds: {
      type: Boolean
    },
    preventNextUpdate: {
      type: Boolean
    },
    type: {
      type: String,
      default: "hour"
    },
    ampm: {
      type: String,
      default: "am"
    },
    color: {
      type: String
    },
    min: {
      type: String
    },
    max: {
      type: String
    }
  },
  emits: ["update", "change-prevent-update"],
  setup(props2, { emit }) {
    const inner = vue.ref(null);
    const disableHour = vue.ref([]);
    const disable24HourIndex = vue.ref([]);
    const handStyle = vue.computed(() => ({
      transform: `rotate(${toNumber(props2.rad)}deg)`,
      height: props2.isInner && props2.type === "hour" ? "calc(50% - 40px)" : "calc(50% - 4px)",
      backgroundColor: getHandleColor(),
      borderColor: getHandleColor()
    }));
    const activeItemIndex = vue.computed(() => {
      if (props2.rad === void 0) {
        return;
      }
      const value = props2.rad / 30;
      return value >= 0 ? value : value + 12;
    });
    const timeScales = vue.computed(() => {
      if (props2.type === "hour") {
        return hoursAmpm;
      }
      return minSec;
    });
    const isDisableMinSec = (time, isDisable2) => {
      time = time != null ? time : props2.type === "minute" ? props2.time.minute : props2.time.second;
      const disableMethod = props2.type === "minute" ? getIsDisableMinute : getIsDisableSecond;
      const values = {
        time: toNumber(time),
        format: props2.format,
        ampm: props2.ampm,
        hour: props2.time.hour,
        minute: toNumber(props2.time.minute),
        max: props2.max,
        min: props2.min,
        allowedTime: props2.allowedTime,
        disableHour: disableHour.value
      };
      if (isDisable2 && props2.type === "minute") {
        Reflect.deleteProperty(values, "minute");
      }
      return disableMethod(values);
    };
    const getHandleColor = () => {
      if (activeItemIndex.value === void 0) {
        return props2.color;
      }
      const hour = props2.isInner ? hours24[activeItemIndex.value] : timeScales.value[activeItemIndex.value];
      if (timeScales.value === minSec) {
        return isDisableMinSec() ? "var(--time-picker-clock-item-disable-background)" : props2.color;
      }
      return isDisable(hour) ? "var(--time-picker-clock-item-disable-background)" : props2.color;
    };
    const isActive = (index, inner2) => {
      if (inner2) {
        return activeItemIndex.value === index && props2.isInner;
      }
      return activeItemIndex.value === index && (!props2.isInner || props2.type !== "hour");
    };
    const isDisable = (time) => {
      if (props2.type === "hour") {
        if (notConvert(props2.format, props2.ampm)) {
          return disableHour.value.includes(time);
        }
        const timeIndex = hoursAmpm.findIndex((hour) => hour === time);
        return disable24HourIndex.value.includes(timeIndex);
      }
      return isDisableMinSec(time, true);
    };
    const getStyle2 = (index, hour, inner2) => {
      const rad = 2 * Math.PI / 12 * index - Math.PI / 2;
      const left2 = 50 * (1 + Math.cos(rad));
      const top2 = 50 * (1 + Math.sin(rad));
      const computedColor = () => {
        if (!isActive(index, inner2)) {
          return {
            backgroundColor: void 0,
            color: void 0
          };
        }
        if (isDisable(hour)) {
          return {
            backgroundColor: "var(--time-picker-clock-item-disable-background)",
            color: "var(--time-picker-clock-item-disable-color)"
          };
        }
        return {
          backgroundColor: props2.color,
          color: void 0
        };
      };
      const { backgroundColor, color } = computedColor();
      return {
        left: `${left2}%`,
        top: `${top2}%`,
        backgroundColor,
        color
      };
    };
    const getSize2 = () => {
      const { width, height } = getRect(inner.value);
      return {
        width,
        height
      };
    };
    const getHour = () => {
      if (activeItemIndex.value === void 0) {
        return void 0;
      }
      const hours = props2.ampm === "am" ? hoursAmpm : hours24;
      return padStart$1(hours[activeItemIndex.value], 2, "0");
    };
    vue.watch([activeItemIndex, () => props2.isInner], ([index, inner2], [oldIndex, oldInner]) => {
      const isSame = index === oldIndex && inner2 === oldInner;
      if (isSame || props2.type !== "hour" || activeItemIndex.value === void 0) {
        return;
      }
      const newHour = inner2 ? hours24[activeItemIndex.value] : getHour();
      const second = props2.useSeconds ? `:${props2.time.second}` : "";
      const newTime = `${newHour}:${props2.time.minute}${second}`;
      if (!props2.preventNextUpdate) {
        emit("update", newTime);
      }
      emit("change-prevent-update");
    });
    vue.watch(
      () => props2.rad,
      (rad, oldRad) => {
        if (props2.type === "hour" || rad === void 0 || oldRad === void 0) {
          return;
        }
        const radToMinSec = rad / 6 >= 0 ? rad / 6 : rad / 6 + 60;
        const oldRadToMinSec = oldRad / 6 >= 0 ? oldRad / 6 : oldRad / 6 + 60;
        if (radToMinSec === oldRadToMinSec) {
          return;
        }
        let newTime;
        const { hourStr } = convertHour(props2.format, props2.ampm, props2.time.hour);
        if (props2.type === "minute") {
          const newMinute = dayjs().minute(radToMinSec).format("mm");
          const second = props2.useSeconds ? `:${props2.time.second}` : "";
          newTime = `${hourStr}:${newMinute}${second}`;
        }
        if (props2.type === "second") {
          const newSecond = dayjs().second(radToMinSec).format("ss");
          const second = props2.useSeconds ? `:${newSecond}` : "";
          newTime = `${hourStr}:${props2.time.minute}${second}`;
        }
        emit("update", newTime);
      }
    );
    vue.watch(
      [() => props2.max, () => props2.min, () => props2.allowedTime],
      ([max2, min2, allowedTime]) => {
        disableHour.value = [];
        if (max2 && !min2) {
          const { hour: maxHour } = getNumberTime(max2);
          const disableAmpmHours = hoursAmpm.filter((hour) => toNumber(hour) > maxHour);
          const disable24Hours = hours24.filter((hour) => toNumber(hour) > maxHour);
          disableHour.value = [...disableAmpmHours, ...disable24Hours];
        }
        if (!max2 && min2) {
          const { hour: minHour } = getNumberTime(min2);
          const disableAmpmHours = hoursAmpm.filter((hour) => toNumber(hour) < minHour);
          const disable24Hours = hours24.filter((hour) => toNumber(hour) < minHour);
          disableHour.value = [...disableAmpmHours, ...disable24Hours];
        }
        if (max2 && min2) {
          const { hour: maxHour } = getNumberTime(max2);
          const { hour: minHour } = getNumberTime(min2);
          const disableAmpmHours = hoursAmpm.filter((hour) => toNumber(hour) < minHour || toNumber(hour) > maxHour);
          const disable24Hours = hours24.filter((hour) => toNumber(hour) < minHour || toNumber(hour) > maxHour);
          disableHour.value = [...disableAmpmHours, ...disable24Hours];
        }
        if (allowedTime == null ? void 0 : allowedTime.hours) {
          const { hours } = allowedTime;
          const disableAmpmHours = hoursAmpm.filter((hour) => !hours(toNumber(hour)));
          const disable24Hours = hours24.filter((hour) => !hours(toNumber(hour)));
          disableHour.value = [.../* @__PURE__ */ new Set([...disableHour.value, ...disableAmpmHours, ...disable24Hours])];
        }
        disable24HourIndex.value = disableHour.value.map((hour) => hours24.findIndex((hour24) => hour === hour24)).filter((hour) => hour >= 0);
      },
      { immediate: true, deep: true }
    );
    return {
      n: n$3,
      classes: classes$3,
      hours24,
      timeScales,
      inner,
      handStyle,
      disableHour,
      isActive,
      isDisable,
      getSize: getSize2,
      getStyle: getStyle2,
      activeItemIndex
    };
  }
});
__sfc__$3.render = __render__$3;
var stdin_default$6 = __sfc__$3;
const { name: name$2, n: n$2, classes: classes$2 } = createNamespace("time-picker");
function __render__$2(_ctx, _cache) {
  var _a;
  const _component_clock = vue.resolveComponent("clock");
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      ref: "picker",
      class: vue.normalizeClass(_ctx.classes(_ctx.n(), _ctx.formatElevation(_ctx.elevation, 2)))
    },
    [
      vue.createElementVNode(
        "div",
        {
          class: vue.normalizeClass(_ctx.n("title")),
          style: vue.normalizeStyle({ background: _ctx.titleColor || _ctx.color })
        },
        [
          vue.createElementVNode(
            "div",
            {
              class: vue.normalizeClass(_ctx.n("title-hint"))
            },
            vue.toDisplayString((_a = _ctx.hint) != null ? _a : (_ctx.pt ? _ctx.pt : _ctx.t)("timePickerHint")),
            3
            /* TEXT, CLASS */
          ),
          vue.createElementVNode(
            "div",
            {
              class: vue.normalizeClass(_ctx.n("title-time-container"))
            },
            [
              vue.createElementVNode(
                "div",
                {
                  class: vue.normalizeClass(_ctx.n("title-time"))
                },
                [
                  vue.createElementVNode(
                    "div",
                    {
                      class: vue.normalizeClass(_ctx.classes(_ctx.n("title-btn"), [_ctx.type === "hour", _ctx.n("title-btn--active")])),
                      onClick: _cache[0] || (_cache[0] = ($event) => _ctx.checkPanel("hour"))
                    },
                    vue.toDisplayString(_ctx.time.hour),
                    3
                    /* TEXT, CLASS */
                  ),
                  vue.createElementVNode(
                    "span",
                    {
                      class: vue.normalizeClass(_ctx.n("title-splitter"))
                    },
                    ":",
                    2
                    /* CLASS */
                  ),
                  vue.createElementVNode(
                    "div",
                    {
                      class: vue.normalizeClass(_ctx.classes(_ctx.n("title-btn"), [_ctx.type === "minute", _ctx.n("title-btn--active")])),
                      onClick: _cache[1] || (_cache[1] = ($event) => _ctx.checkPanel("minute"))
                    },
                    vue.toDisplayString(_ctx.time.minute),
                    3
                    /* TEXT, CLASS */
                  ),
                  _ctx.useSeconds ? (vue.openBlock(), vue.createElementBlock(
                    "span",
                    {
                      key: 0,
                      class: vue.normalizeClass(_ctx.n("title-splitter"))
                    },
                    ":",
                    2
                    /* CLASS */
                  )) : vue.createCommentVNode("v-if", true),
                  _ctx.useSeconds ? (vue.openBlock(), vue.createElementBlock(
                    "div",
                    {
                      key: 1,
                      class: vue.normalizeClass(_ctx.classes(_ctx.n("title-btn"), [_ctx.type === "second", _ctx.n("title-btn--active")])),
                      onClick: _cache[2] || (_cache[2] = ($event) => _ctx.checkPanel("second"))
                    },
                    vue.toDisplayString(_ctx.time.second),
                    3
                    /* TEXT, CLASS */
                  )) : vue.createCommentVNode("v-if", true)
                ],
                2
                /* CLASS */
              ),
              _ctx.format === "ampm" ? (vue.openBlock(), vue.createElementBlock(
                "div",
                {
                  key: 0,
                  class: vue.normalizeClass(_ctx.n("title-ampm"))
                },
                [
                  vue.createElementVNode(
                    "div",
                    {
                      class: vue.normalizeClass(_ctx.classes(_ctx.n("title-btn"), [_ctx.ampm === "am", _ctx.n("title-btn--active")])),
                      onClick: _cache[3] || (_cache[3] = ($event) => _ctx.checkAmpm("am"))
                    },
                    " AM ",
                    2
                    /* CLASS */
                  ),
                  vue.createElementVNode(
                    "div",
                    {
                      class: vue.normalizeClass(_ctx.classes(_ctx.n("title-btn"), [_ctx.ampm === "pm", _ctx.n("title-btn--active")])),
                      onClick: _cache[4] || (_cache[4] = ($event) => _ctx.checkAmpm("pm"))
                    },
                    " PM ",
                    2
                    /* CLASS */
                  )
                ],
                2
                /* CLASS */
              )) : vue.createCommentVNode("v-if", true)
            ],
            2
            /* CLASS */
          )
        ],
        6
        /* CLASS, STYLE */
      ),
      vue.createElementVNode(
        "div",
        {
          class: vue.normalizeClass(_ctx.n("body"))
        },
        [
          vue.createElementVNode(
            "div",
            {
              ref: "container",
              class: vue.normalizeClass(_ctx.n("clock-container")),
              onTouchstart: _cache[5] || (_cache[5] = (...args) => _ctx.moveHand && _ctx.moveHand(...args)),
              onTouchmove: _cache[6] || (_cache[6] = (...args) => _ctx.moveHand && _ctx.moveHand(...args)),
              onTouchend: _cache[7] || (_cache[7] = (...args) => _ctx.end && _ctx.end(...args))
            },
            [
              vue.createVNode(vue.Transition, {
                name: `${_ctx.n()}-panel-fade`
              }, {
                default: vue.withCtx(() => [
                  (vue.openBlock(), vue.createBlock(_component_clock, {
                    key: _ctx.type,
                    ref: "inner",
                    type: _ctx.type,
                    ampm: _ctx.ampm,
                    color: _ctx.color,
                    "is-inner": _ctx.isInner,
                    format: _ctx.format,
                    "allowed-time": _ctx.allowedTime,
                    rad: _ctx.getRad,
                    time: _ctx.time,
                    "prevent-next-update": _ctx.isPreventNextUpdate,
                    "use-seconds": _ctx.useSeconds,
                    max: _ctx.max,
                    min: _ctx.min,
                    onUpdate: _ctx.update,
                    onChangePreventUpdate: _ctx.changePreventUpdate
                  }, null, 8, ["type", "ampm", "color", "is-inner", "format", "allowed-time", "rad", "time", "prevent-next-update", "use-seconds", "max", "min", "onUpdate", "onChangePreventUpdate"]))
                ]),
                _: 1
                /* STABLE */
              }, 8, ["name"])
            ],
            34
            /* CLASS, NEED_HYDRATION */
          )
        ],
        2
        /* CLASS */
      ),
      _ctx.$slots.actions ? (vue.openBlock(), vue.createElementBlock(
        "div",
        {
          key: 0,
          class: vue.normalizeClass(_ctx.n("actions"))
        },
        [
          vue.renderSlot(_ctx.$slots, "actions")
        ],
        2
        /* CLASS */
      )) : vue.createCommentVNode("v-if", true)
    ],
    2
    /* CLASS */
  );
}
const __sfc__$2 = vue.defineComponent({
  name: name$2,
  components: { Clock: stdin_default$6 },
  props: props$2,
  setup(props2) {
    const container = vue.ref(null);
    const picker = vue.ref(null);
    const inner = vue.ref(null);
    const isInner = vue.ref(false);
    const isPreventNextUpdate = vue.ref(false);
    const isActualInner = vue.ref(false);
    const isChosenUsableHour = vue.ref(false);
    const isChosenUsableMinute = vue.ref(false);
    const isDisableHour = vue.ref(false);
    const isDisableMinute = vue.ref(false);
    const minuteRad = vue.ref(0);
    const secondRad = vue.ref(0);
    const hourRad = vue.ref();
    const type = vue.ref("hour");
    const ampm = vue.ref("am");
    const time = vue.ref({
      hour: "00",
      minute: "00",
      second: "00"
    });
    const center = vue.reactive({
      x: 0,
      y: 0
    });
    const innerRange = vue.reactive({
      x: [],
      y: []
    });
    const getRad = vue.computed(() => {
      if (type.value === "hour") {
        return hourRad.value;
      }
      if (type.value === "minute") {
        return minuteRad.value;
      }
      return secondRad.value;
    });
    const { t: pt } = injectLocaleProvider();
    vue.watch(
      () => props2.modelValue,
      (value) => {
        if (value === void 0 || value === "") {
          resetTime();
          return;
        }
        const { hour, minute, second } = getNumberTime(value);
        const formatHour12 = dayjs().hour(hour).format("hh");
        const formatHour24 = dayjs().hour(hour).format("HH");
        const formatMinute = dayjs().minute(minute).format("mm");
        const formatSecond = dayjs().second(second).format("ss");
        hourRad.value = (formatHour12 === "12" ? 0 : toNumber(formatHour12)) * 30;
        minuteRad.value = toNumber(formatMinute) * 6;
        secondRad.value = toNumber(formatSecond) * 6;
        time.value = getTime(value);
        if (props2.format !== "24hr") {
          ampm.value = padStart$1(`${hour}`, 2, "0") === formatHour24 && hours24.includes(formatHour24) ? "pm" : "am";
        }
        isInner.value = props2.format === "24hr" && hours24.includes(formatHour24);
      },
      { immediate: true }
    );
    function resetTime() {
      hourRad.value = void 0;
      minuteRad.value = 0;
      secondRad.value = 0;
      time.value = {
        hour: "00",
        minute: "00",
        second: "00"
      };
      ampm.value = "am";
    }
    function update(newTime) {
      call(props2["onUpdate:modelValue"], newTime);
      call(props2.onChange, newTime);
    }
    function rad2deg(rad) {
      return rad * 57.29577951308232;
    }
    function checkPanel(panelType) {
      isChosenUsableHour.value = false;
      isDisableMinute.value = false;
      type.value = panelType;
    }
    function findAvailableHour(ampm2) {
      const { disableHour } = inner.value;
      const index = hoursAmpm.findIndex((hour) => toNumber(hour) === toNumber(time.value.hour));
      const hours = ampm2 === "am" ? hoursAmpm : hours24;
      const realignmentHours = [...hours.slice(index), ...hours.slice(0, index)];
      return realignmentHours.find((hour, index2) => {
        isPreventNextUpdate.value = index2 !== 0;
        return !disableHour.includes(hour);
      });
    }
    function checkAmpm(ampmType) {
      if (props2.readonly) {
        return;
      }
      ampm.value = ampmType;
      const newHour = findAvailableHour(ampmType);
      if (!newHour) {
        return;
      }
      const second = props2.useSeconds ? `:${time.value.second}` : "";
      const newTime = `${padStart$1(newHour, 2, "0")}:${time.value.minute}${second}`;
      update(newTime);
    }
    function getInner(clientX, clientY) {
      const xIsInRange = clientX >= innerRange.x[0] && clientX <= innerRange.x[1];
      const yIsInRange = clientY >= innerRange.y[0] && clientY <= innerRange.y[1];
      return xIsInRange && yIsInRange;
    }
    function getTime(value) {
      const hourFormat = props2.format === "24hr" ? "HH" : "hh";
      const { hour, minute, second } = getNumberTime(value);
      return {
        hour: dayjs().hour(hour).format(hourFormat),
        minute: dayjs().minute(minute).format("mm"),
        second: dayjs().second(second).format("ss")
      };
    }
    function getHourIndex(rad) {
      const value = rad / 30;
      return value >= 0 ? value : value + 12;
    }
    function getRangeSize() {
      const { width: innerWidth, height: innerHeight } = inner.value.getSize();
      const rangeXMin = center.x - innerWidth / 2 - 8;
      const rangeXMax = center.x + innerWidth / 2 + 8;
      const rangeYMin = center.y - innerHeight / 2 - 8;
      const rangeYMax = center.y + innerHeight / 2 + 8;
      return {
        rangeXMin,
        rangeXMax,
        rangeYMin,
        rangeYMax
      };
    }
    function setHourRad(clientX, clientY, roundDeg) {
      const { disableHour } = inner.value;
      isActualInner.value = getInner(clientX, clientY);
      const rad = Math.round(roundDeg / 30) * 30 + 90;
      const index = getHourIndex(rad);
      const anotherHour = isInner.value ? hoursAmpm[index] : hours24[index];
      if (!disableHour.includes(anotherHour)) {
        isInner.value = props2.format === "24hr" ? getInner(clientX, clientY) : false;
      }
      if (isInner.value !== isActualInner.value) {
        return;
      }
      const newHour = isInner.value || ampm.value === "pm" ? hours24[index] : hoursAmpm[index];
      isDisableHour.value = disableHour.includes(newHour);
      if (isDisableHour.value) {
        return;
      }
      hourRad.value = rad;
      isChosenUsableHour.value = true;
    }
    function setMinuteRad(roundDeg) {
      const { disableHour } = inner.value;
      const rad = Math.round(roundDeg / 6) * 6 + 90;
      const radToMin = rad / 6 >= 0 ? rad / 6 : rad / 6 + 60;
      const values = {
        time: radToMin,
        format: props2.format,
        ampm: ampm.value,
        hour: time.value.hour,
        max: props2.max,
        min: props2.min,
        disableHour,
        allowedTime: props2.allowedTime
      };
      isDisableMinute.value = getIsDisableMinute(values);
      if (isDisableMinute.value) {
        return;
      }
      minuteRad.value = rad;
      isChosenUsableMinute.value = true;
    }
    function setSecondRad(roundDeg) {
      const { disableHour } = inner.value;
      const rad = Math.round(roundDeg / 6) * 6 + 90;
      const radToSec = rad / 6 >= 0 ? rad / 6 : rad / 6 + 60;
      const values = {
        time: radToSec,
        format: props2.format,
        ampm: ampm.value,
        hour: time.value.hour,
        minute: toNumber(time.value.minute),
        max: props2.max,
        min: props2.min,
        disableHour,
        allowedTime: props2.allowedTime
      };
      if (!getIsDisableSecond(values)) {
        secondRad.value = rad;
      }
    }
    function setCenterAndRange() {
      const { left: left2, top: top2, width, height } = getRect(container.value);
      center.x = left2 + width / 2;
      center.y = top2 + height / 2;
      if (type.value === "hour" && props2.format === "24hr") {
        const { rangeXMin, rangeXMax, rangeYMin, rangeYMax } = getRangeSize();
        innerRange.x = [rangeXMin, rangeXMax];
        innerRange.y = [rangeYMin, rangeYMax];
      }
    }
    function moveHand(event) {
      preventDefault(event);
      if (props2.readonly) {
        return;
      }
      setCenterAndRange();
      const { clientX, clientY } = event.touches[0];
      const x = clientX - center.x;
      const y = clientY - center.y;
      const roundDeg = Math.round(rad2deg(Math.atan2(y, x)));
      if (type.value === "hour") {
        setHourRad(clientX, clientY, roundDeg);
      } else if (type.value === "minute") {
        setMinuteRad(roundDeg);
      } else {
        setSecondRad(roundDeg);
      }
    }
    function end2() {
      if (props2.readonly) {
        return;
      }
      if (type.value === "hour" && isChosenUsableHour.value) {
        type.value = "minute";
        return;
      }
      if (type.value === "minute" && props2.useSeconds && isChosenUsableMinute.value) {
        type.value = "second";
      }
    }
    function changePreventUpdate() {
      isPreventNextUpdate.value = false;
    }
    return {
      getRad,
      time,
      container,
      inner,
      picker,
      isInner,
      type,
      ampm,
      isPreventNextUpdate,
      n: n$2,
      classes: classes$2,
      t,
      pt,
      moveHand,
      checkPanel,
      checkAmpm,
      end: end2,
      update,
      changePreventUpdate,
      formatElevation
    };
  }
});
__sfc__$2.render = __render__$2;
var stdin_default$5 = __sfc__$2;
withInstall(stdin_default$5);
withPropsDefaultsSetter(stdin_default$5, props$2);
const _TimePickerComponent = stdin_default$5;
var stdin_default$4 = stdin_default$5;
const props$1 = {
  modelValue: {
    type: Array,
    default: () => []
  },
  accept: {
    type: String,
    default: "image/*"
  },
  capture: {
    type: [String, Boolean],
    default: void 0
  },
  multiple: Boolean,
  readonly: Boolean,
  disabled: Boolean,
  elevation: {
    type: [Boolean, Number, String],
    default: true
  },
  resolveType: {
    type: String,
    default: "default"
  },
  removable: {
    type: Boolean,
    default: true
  },
  maxlength: [Number, String],
  maxsize: [Number, String],
  previewed: {
    type: Boolean,
    default: true
  },
  ripple: {
    type: Boolean,
    default: true
  },
  validateTrigger: {
    type: Array,
    default: () => ["onChange", "onRemove"]
  },
  rules: [Array, Function, Object],
  hideList: Boolean,
  preventDefaultPreview: Boolean,
  onClickAction: defineListenerProp(),
  onBeforeFilter: defineListenerProp(),
  onBeforeRead: defineListenerProp(),
  onAfterRead: defineListenerProp(),
  onBeforeRemove: defineListenerProp(),
  onRemove: defineListenerProp(),
  onOversize: defineListenerProp(),
  onPreview: defineListenerProp(),
  "onUpdate:modelValue": defineListenerProp()
};
var __async$1 = (__this, __arguments, generator) => {
  return new Promise((resolve, reject) => {
    var fulfilled = (value) => {
      try {
        step(generator.next(value));
      } catch (e) {
        reject(e);
      }
    };
    var rejected = (value) => {
      try {
        step(generator.throw(value));
      } catch (e) {
        reject(e);
      }
    };
    var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
    step((generator = generator.apply(__this, __arguments)).next());
  });
};
const { name: name$1, n: n$1, classes: classes$1 } = createNamespace("uploader");
let fid = 0;
const _hoisted_1$1 = ["onClick"];
const _hoisted_2$1 = ["onClick"];
const _hoisted_3$1 = ["src", "alt"];
const _hoisted_4$1 = ["tabindex"];
const _hoisted_5 = ["multiple", "accept", "capture", "disabled"];
const _hoisted_6 = ["src"];
function __render__$1(_ctx, _cache) {
  const _component_var_icon = vue.resolveComponent("var-icon");
  const _component_var_hover_overlay = vue.resolveComponent("var-hover-overlay");
  const _component_var_form_details = vue.resolveComponent("var-form-details");
  const _component_var_popup = vue.resolveComponent("var-popup");
  const _directive_ripple = vue.resolveDirective("ripple");
  const _directive_hover = vue.resolveDirective("hover");
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(_ctx.classes(_ctx.n(), _ctx.n("$--box")))
    },
    [
      vue.createElementVNode(
        "div",
        {
          class: vue.normalizeClass(_ctx.n("file-list"))
        },
        [
          (vue.openBlock(true), vue.createElementBlock(
            vue.Fragment,
            null,
            vue.renderList(_ctx.files, (f) => {
              return vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
                key: f.id,
                class: vue.normalizeClass(_ctx.classes(_ctx.n("file"), _ctx.formatElevation(_ctx.elevation, 2), [f.state === "loading", _ctx.n("--loading")])),
                onClick: ($event) => _ctx.preview(f)
              }, [
                vue.createElementVNode(
                  "div",
                  {
                    class: vue.normalizeClass(_ctx.n("file-name"))
                  },
                  vue.toDisplayString(f.name || f.url),
                  3
                  /* TEXT, CLASS */
                ),
                _ctx.removable ? vue.renderSlot(_ctx.$slots, "remove-button", {
                  key: 0,
                  remove: () => {
                    _ctx.handleRemove(f);
                  }
                }, () => [
                  vue.createElementVNode("div", {
                    class: vue.normalizeClass(_ctx.n("file-close")),
                    onClick: vue.withModifiers(($event) => _ctx.handleRemove(f), ["stop"])
                  }, [
                    vue.createVNode(_component_var_icon, {
                      class: vue.normalizeClass(_ctx.n("file-close-icon")),
                      "var-uploader-cover": "",
                      name: "delete"
                    }, null, 8, ["class"])
                  ], 10, _hoisted_2$1)
                ]) : vue.createCommentVNode("v-if", true),
                f.cover ? (vue.openBlock(), vue.createElementBlock("img", {
                  key: 1,
                  role: "img",
                  class: vue.normalizeClass(_ctx.n("file-cover")),
                  style: vue.normalizeStyle({ objectFit: f.fit }),
                  src: f.cover,
                  alt: f.name
                }, null, 14, _hoisted_3$1)) : vue.createCommentVNode("v-if", true),
                vue.createElementVNode(
                  "div",
                  {
                    class: vue.normalizeClass(_ctx.n("file-indicator"))
                  },
                  [
                    vue.createElementVNode(
                      "div",
                      {
                        class: vue.normalizeClass(
                          _ctx.classes(_ctx.n("progress"), [f.state === "success", _ctx.n("--success")], [f.state === "error", _ctx.n("--error")])
                        ),
                        style: vue.normalizeStyle({ width: f.state === "success" || f.state === "error" ? "100%" : `${f.progress}%` })
                      },
                      null,
                      6
                      /* CLASS, STYLE */
                    )
                  ],
                  2
                  /* CLASS */
                )
              ], 10, _hoisted_1$1)), [
                [_directive_ripple, { disabled: _ctx.disabled || _ctx.formDisabled || _ctx.readonly || _ctx.formReadonly || !_ctx.ripple }]
              ]);
            }),
            128
            /* KEYED_FRAGMENT */
          )),
          !_ctx.maxlength || _ctx.modelValue.length < _ctx.toNumber(_ctx.maxlength) ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
            key: 0,
            ref: "actionRef",
            class: vue.normalizeClass(
              _ctx.classes(
                _ctx.n("--outline-none"),
                [!_ctx.$slots.default, `${_ctx.n("action")} ${_ctx.formatElevation(_ctx.elevation, 2)}`],
                [_ctx.disabled || _ctx.formDisabled, _ctx.n("--disabled")]
              )
            ),
            tabindex: _ctx.disabled || _ctx.formDisabled ? void 0 : "0",
            onClick: _cache[2] || (_cache[2] = (...args) => _ctx.handleActionClick && _ctx.handleActionClick(...args)),
            onFocus: _cache[3] || (_cache[3] = ($event) => _ctx.isFocusing = true),
            onBlur: _cache[4] || (_cache[4] = ($event) => _ctx.isFocusing = false)
          }, [
            vue.createElementVNode("input", {
              ref: "input",
              type: "file",
              class: vue.normalizeClass(_ctx.n("action-input")),
              multiple: _ctx.multiple,
              accept: _ctx.accept,
              capture: _ctx.capture,
              disabled: _ctx.disabled || _ctx.formDisabled || _ctx.readonly || _ctx.formReadonly,
              onChange: _cache[0] || (_cache[0] = (...args) => _ctx.handleChange && _ctx.handleChange(...args)),
              onClick: _cache[1] || (_cache[1] = vue.withModifiers(() => {
              }, ["stop"]))
            }, null, 42, _hoisted_5),
            vue.renderSlot(_ctx.$slots, "default", {}, () => [
              vue.createVNode(_component_var_icon, {
                class: vue.normalizeClass(_ctx.n("action-icon")),
                "var-uploader-cover": "",
                name: "plus"
              }, null, 8, ["class"]),
              vue.createVNode(_component_var_hover_overlay, {
                hovering: _ctx.hovering && !_ctx.disabled && !_ctx.formDisabled && !_ctx.readonly && !_ctx.formReadonly,
                focusing: _ctx.isFocusing && !_ctx.disabled && !_ctx.formDisabled && !_ctx.readonly && !_ctx.formReadonly
              }, null, 8, ["hovering", "focusing"])
            ])
          ], 42, _hoisted_4$1)), [
            [_directive_ripple, {
              disabled: _ctx.disabled || _ctx.formDisabled || _ctx.readonly || _ctx.formReadonly || !_ctx.ripple || Boolean(_ctx.$slots.default)
            }],
            [_directive_hover, _ctx.handleHovering, "desktop"]
          ]) : vue.createCommentVNode("v-if", true)
        ],
        2
        /* CLASS */
      ),
      vue.createVNode(_component_var_form_details, {
        "error-message": _ctx.errorMessage,
        "extra-message": _ctx.maxlengthText
      }, vue.createSlots({
        _: 2
        /* DYNAMIC */
      }, [
        _ctx.$slots["extra-message"] ? {
          name: "extra-message",
          fn: vue.withCtx(() => [
            vue.renderSlot(_ctx.$slots, "extra-message")
          ]),
          key: "0"
        } : void 0
      ]), 1032, ["error-message", "extra-message"]),
      vue.createVNode(_component_var_popup, {
        show: _ctx.showPreview,
        "onUpdate:show": _cache[5] || (_cache[5] = ($event) => _ctx.showPreview = $event),
        class: vue.normalizeClass(_ctx.n("preview")),
        "var-uploader-cover": "",
        position: "center",
        onClosed: _cache[6] || (_cache[6] = ($event) => _ctx.currentPreview = null)
      }, {
        default: vue.withCtx(() => {
          var _a, _b;
          return [
            _ctx.currentPreview && _ctx.isHTMLSupportVideo((_a = _ctx.currentPreview) == null ? void 0 : _a.url) ? (vue.openBlock(), vue.createElementBlock("video", {
              key: 0,
              class: vue.normalizeClass(_ctx.n("preview-video")),
              playsinline: "true",
              "webkit-playsinline": "true",
              "x5-playsinline": "true",
              "x5-video-player-type": "h5",
              "x5-video-player-fullscreen": "false",
              controls: "",
              src: (_b = _ctx.currentPreview) == null ? void 0 : _b.url
            }, null, 10, _hoisted_6)) : vue.createCommentVNode("v-if", true)
          ];
        }),
        _: 1
        /* STABLE */
      }, 8, ["show", "class"])
    ],
    2
    /* CLASS */
  );
}
const __sfc__$1 = vue.defineComponent({
  name: name$1,
  directives: { Ripple: stdin_default$68, Hover: stdin_default$67 },
  components: {
    VarIcon: stdin_default$63,
    VarPopup: stdin_default$69,
    VarFormDetails: stdin_default$5W,
    VarHoverOverlay: stdin_default$65
  },
  props: props$1,
  setup(props2) {
    const isFocusing = vue.ref(false);
    const actionRef = vue.ref(null);
    const input = vue.ref(null);
    const showPreview = vue.ref(false);
    const currentPreview = vue.ref(null);
    const maxlengthText = vue.computed(() => {
      const {
        maxlength,
        modelValue: { length }
      } = props2;
      return isNumber(maxlength) ? `${length} / ${maxlength}` : "";
    });
    const { form, bindForm } = useForm();
    const {
      errorMessage,
      validateWithTrigger: vt,
      validate: v,
      // expose
      resetValidation
    } = useValidation();
    const { hovering, handleHovering } = useHoverOverlay();
    const files = vue.computed(() => {
      const { modelValue, hideList } = props2;
      if (hideList) {
        return [];
      }
      return modelValue;
    });
    let callReset = false;
    const varFileUtils = {
      getSuccess,
      getError,
      getLoading
    };
    const uploaderProvider = {
      validate,
      resetValidation,
      reset
    };
    call(bindForm, uploaderProvider);
    useEventListener(() => window, "keydown", handleKeydown);
    useEventListener(() => window, "keyup", handleKeyup);
    vue.watch(
      () => props2.modelValue,
      () => {
        !callReset && validateWithTrigger("onChange");
        callReset = false;
      },
      { deep: true }
    );
    function handleKeydown(event) {
      if (!isFocusing.value) {
        return;
      }
      if (event.key === " " || event.key === "Enter") {
        event.preventDefault();
      }
      if (event.key === "Enter") {
        actionRef.value.click();
      }
    }
    function handleKeyup(event) {
      if (!isFocusing.value || event.key !== " ") {
        return;
      }
      event.preventDefault();
      actionRef.value.click();
    }
    function preview(varFile) {
      const { disabled, previewed, preventDefaultPreview, onPreview } = props2;
      if ((form == null ? void 0 : form.disabled.value) || disabled || !previewed) {
        return;
      }
      call(onPreview, vue.reactive(varFile));
      if (preventDefaultPreview) {
        return;
      }
      const { url } = varFile;
      if (isHTMLSupportImage(url)) {
        stdin_default$4q(url);
        return;
      }
      if (isHTMLSupportVideo(url)) {
        currentPreview.value = varFile;
        showPreview.value = true;
      }
    }
    function createVarFile(file) {
      return {
        id: fid++,
        url: "",
        cover: "",
        name: file.name,
        file,
        progress: 0
      };
    }
    function getFiles(event) {
      const el = event.target;
      const { files: fileList } = el;
      return Array.from(fileList);
    }
    function resolver(varFile) {
      return __async$1(this, null, function* () {
        const file = varFile.file;
        const shouldWithDataURL = props2.resolveType === "default" && file.type.startsWith("image") || props2.resolveType === "data-url";
        if (shouldWithDataURL) {
          const dataURL = yield toDataURL(file);
          varFile.cover = dataURL;
          varFile.url = dataURL;
        }
        return varFile;
      });
    }
    function getResolvers(varFiles) {
      return varFiles.map(resolver);
    }
    function getBeforeReaders(varFiles) {
      const { onBeforeRead } = props2;
      return varFiles.map(
        (varFile) => new Promise((resolve) => {
          if (!onBeforeRead) {
            resolve({
              valid: true,
              varFile
            });
          }
          const results = normalizeToArray(call(onBeforeRead, vue.reactive(varFile)));
          Promise.all(results).then((values) => {
            resolve({
              valid: values.every(Boolean),
              varFile
            });
          });
        })
      );
    }
    function handleChange(event) {
      return __async$1(this, null, function* () {
        const { maxsize, maxlength, modelValue, onOversize, onAfterRead, onBeforeFilter, readonly, disabled } = props2;
        if ((form == null ? void 0 : form.disabled.value) || (form == null ? void 0 : form.readonly.value) || disabled || readonly) {
          return;
        }
        const getValidSizeVarFile = (varFiles2) => varFiles2.filter((varFile) => {
          if (varFile.file.size > toNumber(maxsize)) {
            call(onOversize, vue.reactive(varFile));
            return false;
          }
          return true;
        });
        const getValidLengthVarFiles = (varFiles2) => {
          const limit = Math.min(varFiles2.length, toNumber(maxlength) - modelValue.length);
          return varFiles2.slice(0, limit);
        };
        const getFilterVarFiles = (varFiles2) => __async$1(this, null, function* () {
          if (!onBeforeFilter) {
            return varFiles2;
          }
          const events = normalizeToArray(onBeforeFilter);
          for (const event2 of events) {
            varFiles2 = yield event2(varFiles2);
          }
          return varFiles2;
        });
        const files2 = getFiles(event);
        let varFiles = files2.map(createVarFile);
        varFiles = yield getFilterVarFiles(varFiles);
        varFiles = maxsize != null ? getValidSizeVarFile(varFiles) : varFiles;
        varFiles = maxlength != null ? getValidLengthVarFiles(varFiles) : varFiles;
        const resolvedVarFiles = yield Promise.all(getResolvers(varFiles));
        const validationVarFiles = yield Promise.all(getBeforeReaders(resolvedVarFiles));
        const validVarFiles = validationVarFiles.filter(({ valid }) => valid).map(({ varFile }) => varFile);
        call(props2["onUpdate:modelValue"], [...modelValue, ...validVarFiles]);
        event.target.value = "";
        validVarFiles.forEach((varFile) => call(onAfterRead, vue.reactive(varFile)));
      });
    }
    function handleRemove(removedVarFile) {
      return __async$1(this, null, function* () {
        const { disabled, readonly, modelValue, onBeforeRemove, onRemove } = props2;
        if ((form == null ? void 0 : form.disabled.value) || (form == null ? void 0 : form.readonly.value) || disabled || readonly) {
          return;
        }
        if (onBeforeRemove) {
          const results = normalizeToArray(call(onBeforeRemove, vue.reactive(removedVarFile)));
          if ((yield Promise.all(results)).some((result) => !result)) {
            return;
          }
        }
        const expectedFiles = modelValue.filter((varFile) => varFile !== removedVarFile);
        call(onRemove, vue.reactive(removedVarFile));
        validateWithTrigger("onRemove");
        call(props2["onUpdate:modelValue"], expectedFiles);
      });
    }
    function handleActionClick(event) {
      if ((form == null ? void 0 : form.disabled.value) || props2.disabled) {
        return;
      }
      if (props2.onClickAction) {
        call(props2.onClickAction, chooseFile, event);
        return;
      }
      chooseFile();
    }
    function getSuccess() {
      return props2.modelValue.filter((varFile) => varFile.state === "success");
    }
    function getError() {
      return props2.modelValue.filter((varFile) => varFile.state === "error");
    }
    function getLoading() {
      return props2.modelValue.filter((varFile) => varFile.state === "loading");
    }
    function chooseFile() {
      input.value.click();
    }
    function closePreview() {
      currentPreview.value = null;
      showPreview.value = false;
      stdin_default$4q.close();
    }
    function validateWithTrigger(trigger) {
      vue.nextTick(() => {
        const { validateTrigger, rules, modelValue } = props2;
        vt(validateTrigger, trigger, rules, modelValue, varFileUtils);
      });
    }
    function validate() {
      return v(props2.rules, props2.modelValue, varFileUtils);
    }
    function reset() {
      callReset = true;
      call(props2["onUpdate:modelValue"], []);
      resetValidation();
    }
    return {
      input,
      actionRef,
      files,
      showPreview,
      currentPreview,
      errorMessage,
      maxlengthText,
      hovering,
      isFocusing,
      formDisabled: form == null ? void 0 : form.disabled,
      formReadonly: form == null ? void 0 : form.readonly,
      n: n$1,
      classes: classes$1,
      formatElevation,
      toNumber,
      handleHovering,
      isHTMLSupportVideo,
      isHTMLSupportImage,
      preview,
      handleChange,
      handleRemove,
      getSuccess,
      getError,
      getLoading,
      validate,
      resetValidation,
      reset,
      chooseFile,
      closePreview,
      handleActionClick,
      toSizeUnit
    };
  }
});
__sfc__$1.render = __render__$1;
var stdin_default$3 = __sfc__$1;
withInstall(stdin_default$3);
withPropsDefaultsSetter(stdin_default$3, props$1);
const _UploaderComponent = stdin_default$3;
var stdin_default$2 = stdin_default$3;
const props = {
  width: {
    type: Number,
    default: 100
  },
  height: {
    type: Number,
    default: 100
  },
  content: String,
  image: String,
  rotate: {
    type: Number,
    default: -22
  },
  offsetX: {
    type: Number,
    default: 0
  },
  offsetY: {
    type: Number,
    default: 0
  },
  gapX: {
    type: Number,
    default: 0
  },
  gapY: {
    type: Number,
    default: 0
  },
  zIndex: {
    type: [Number, String],
    default: 10
  },
  opacity: {
    type: [Number, String],
    default: 0.5
  },
  fullscreen: Boolean,
  font: {
    type: Object,
    default: () => ({
      fontStyle: "normal",
      fontVariant: "normal",
      fontWeight: "normal",
      fontSize: 14
    })
  }
};
var __defProp = Object.defineProperty;
var __defProps = Object.defineProperties;
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key3, value) => key3 in obj ? __defProp(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value;
var __spreadValues = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp.call(b, prop))
      __defNormalProp(a, prop, b[prop]);
  if (__getOwnPropSymbols)
    for (var prop of __getOwnPropSymbols(b)) {
      if (__propIsEnum.call(b, prop))
        __defNormalProp(a, prop, b[prop]);
    }
  return a;
};
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
var __async = (__this, __arguments, generator) => {
  return new Promise((resolve, reject) => {
    var fulfilled = (value) => {
      try {
        step(generator.next(value));
      } catch (e) {
        reject(e);
      }
    };
    var rejected = (value) => {
      try {
        step(generator.throw(value));
      } catch (e) {
        reject(e);
      }
    };
    var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
    step((generator = generator.apply(__this, __arguments)).next());
  });
};
const { name, n, classes } = createNamespace("watermark");
const _hoisted_1 = { ref: "svgRef" };
const _hoisted_2 = ["viewBox", "width", "height"];
const _hoisted_3 = ["width", "height"];
const _hoisted_4 = ["href", "xlink:href", "x", "y", "width", "height"];
function __render__(_ctx, _cache) {
  return vue.openBlock(), vue.createElementBlock(
    "div",
    {
      class: vue.normalizeClass(_ctx.n())
    },
    [
      vue.renderSlot(_ctx.$slots, "default"),
      (vue.openBlock(), vue.createBlock(vue.Teleport, {
        to: "body",
        disabled: !_ctx.fullscreen
      }, [
        vue.createElementVNode(
          "div",
          {
            ref: "containerRef",
            class: vue.normalizeClass(_ctx.classes(_ctx.n("container"), [_ctx.fullscreen, _ctx.n("--fullscreen")])),
            style: vue.normalizeStyle({
              backgroundImage: `url(${_ctx.watermarkUrl})`,
              zIndex: _ctx.zIndex
            })
          },
          [
            vue.withDirectives(vue.createElementVNode(
              "div",
              _hoisted_1,
              [
                (vue.openBlock(), vue.createElementBlock("svg", {
                  xmlns: "http://www.w3.org/2000/svg",
                  "xmlns:xlink": "http://www.w3.org/1999/xlink",
                  viewBox: `0 0 ${_ctx.width + _ctx.gapX} ${_ctx.height + _ctx.gapY}`,
                  width: `${_ctx.width + _ctx.gapX}`,
                  height: `${_ctx.height + _ctx.gapY}`,
                  style: vue.normalizeStyle({
                    padding: `0 ${_ctx.gapX}px ${_ctx.gapY}px 0`,
                    opacity: _ctx.opacity
                  })
                }, [
                  _ctx.showContent() ? (vue.openBlock(), vue.createElementBlock("foreignObject", {
                    key: 0,
                    x: "0",
                    y: "0",
                    width: _ctx.width,
                    height: _ctx.height
                  }, [
                    vue.createElementVNode(
                      "div",
                      {
                        xmlns: "http://www.w3.org/1999/xhtml",
                        style: vue.normalizeStyle({
                          transform: `translate(${_ctx.offsetX}px, ${_ctx.offsetY}px) rotate(${_ctx.rotate}deg)`,
                          transformOrigin: "center"
                        })
                      },
                      [
                        vue.renderSlot(_ctx.$slots, "content", {}, () => [
                          vue.createElementVNode(
                            "span",
                            {
                              style: vue.normalizeStyle(__spreadProps(__spreadValues({}, _ctx.font), { fontSize: `${_ctx.font.fontSize}px`, color: _ctx.textColor }))
                            },
                            vue.toDisplayString(_ctx.content),
                            5
                            /* TEXT, STYLE */
                          )
                        ])
                      ],
                      4
                      /* STYLE */
                    )
                  ], 8, _hoisted_3)) : vue.createCommentVNode("v-if", true),
                  !_ctx.$slots.content && _ctx.image ? (vue.openBlock(), vue.createElementBlock("image", {
                    key: 1,
                    href: _ctx.imageUrl,
                    "xlink:href": _ctx.imageUrl,
                    x: _ctx.offsetX,
                    y: _ctx.offsetY,
                    width: _ctx.width,
                    height: _ctx.height,
                    style: vue.normalizeStyle({
                      transform: `rotate(${_ctx.rotate}deg)`,
                      transformOrigin: "center"
                    })
                  }, null, 12, _hoisted_4)) : vue.createCommentVNode("v-if", true)
                ], 12, _hoisted_2))
              ],
              512
              /* NEED_PATCH */
            ), [
              [vue.vShow, false]
            ])
          ],
          6
          /* CLASS, STYLE */
        )
      ], 8, ["disabled"]))
    ],
    2
    /* CLASS */
  );
}
const __sfc__ = vue.defineComponent({
  name,
  props,
  setup(props2, { slots }) {
    const watermarkUrl = vue.ref("");
    const imageUrl = vue.ref("");
    const textColor = vue.ref("");
    const svgRef = vue.ref(null);
    const containerRef = vue.ref(null);
    vue.watch(
      () => [
        props2.image,
        props2.font,
        props2.content,
        props2.height,
        props2.width,
        props2.rotate,
        props2.gapX,
        props2.gapY,
        props2.offsetX,
        props2.offsetY,
        props2.opacity
      ],
      resize,
      {
        deep: true
      }
    );
    vue.onMounted(resize);
    vue.onUnmounted(revokeWatermarkUrl);
    function showContent() {
      if (slots.content) {
        return true;
      }
      if (props2.content && !props2.image) {
        return true;
      }
      return false;
    }
    function imageToBase64() {
      return new Promise((resolve) => {
        const canvas = document.createElement("canvas");
        const ctx2 = canvas.getContext("2d");
        const img = new Image();
        img.crossOrigin = "anonymous";
        img.referrerPolicy = "no-referrer";
        img.src = props2.image;
        img.onload = () => {
          canvas.width = img.width;
          canvas.height = img.height;
          ctx2.drawImage(img, 0, 0);
          resolve(canvas.toDataURL());
        };
      });
    }
    function svgToBlobUrl(svgStr) {
      const svgBlob = new Blob([svgStr], {
        type: "image/svg+xml"
      });
      return URL.createObjectURL(svgBlob);
    }
    function revokeWatermarkUrl() {
      if (watermarkUrl.value) {
        URL.revokeObjectURL(watermarkUrl.value);
      }
    }
    function resize() {
      return __async(this, null, function* () {
        textColor.value = getStyle$1(containerRef.value).color;
        if (props2.image) {
          imageUrl.value = yield imageToBase64();
        }
        yield vue.nextTick();
        revokeWatermarkUrl();
        watermarkUrl.value = svgToBlobUrl(svgRef.value.innerHTML);
      });
    }
    return {
      svgRef,
      containerRef,
      watermarkUrl,
      imageUrl,
      textColor,
      n,
      classes,
      showContent,
      resize
    };
  }
});
__sfc__.render = __render__;
var stdin_default$1 = __sfc__;
withInstall(stdin_default$1);
withPropsDefaultsSetter(stdin_default$1, props);
const _WatermarkComponent = stdin_default$1;
var stdin_default = stdin_default$1;
const version = "3.10.5";
function install(app) {
  stdin_default$60.install && app.use(stdin_default$60);
  stdin_default$5_.install && app.use(stdin_default$5_);
  stdin_default$5Y.install && app.use(stdin_default$5Y);
  stdin_default$5H.install && app.use(stdin_default$5H);
  stdin_default$5E.install && app.use(stdin_default$5E);
  stdin_default$5C.install && app.use(stdin_default$5C);
  stdin_default$5w.install && app.use(stdin_default$5w);
  stdin_default$5u.install && app.use(stdin_default$5u);
  stdin_default$5s.install && app.use(stdin_default$5s);
  stdin_default$5q.install && app.use(stdin_default$5q);
  stdin_default$5o.install && app.use(stdin_default$5o);
  stdin_default$5m.install && app.use(stdin_default$5m);
  stdin_default$5y.install && app.use(stdin_default$5y);
  stdin_default$5k.install && app.use(stdin_default$5k);
  stdin_default$5i.install && app.use(stdin_default$5i);
  stdin_default$5g.install && app.use(stdin_default$5g);
  stdin_default$5Q.install && app.use(stdin_default$5Q);
  stdin_default$5e.install && app.use(stdin_default$5e);
  stdin_default$5c.install && app.use(stdin_default$5c);
  stdin_default$5a.install && app.use(stdin_default$5a);
  stdin_default$58.install && app.use(stdin_default$58);
  stdin_default$56.install && app.use(stdin_default$56);
  stdin_default$54.install && app.use(stdin_default$54);
  stdin_default$52.install && app.use(stdin_default$52);
  stdin_default$6b.install && app.use(stdin_default$6b);
  stdin_default$50.install && app.use(stdin_default$50);
  stdin_default$4_.install && app.use(stdin_default$4_);
  stdin_default$4Y.install && app.use(stdin_default$4Y);
  stdin_default$4Q.install && app.use(stdin_default$4Q);
  stdin_default$4O.install && app.use(stdin_default$4O);
  stdin_default$4M.install && app.use(stdin_default$4M);
  stdin_default$4K.install && app.use(stdin_default$4K);
  stdin_default$4G.install && app.use(stdin_default$4G);
  stdin_default$4E.install && app.use(stdin_default$4E);
  stdin_default$5U.install && app.use(stdin_default$5U);
  stdin_default$4C.install && app.use(stdin_default$4C);
  stdin_default$4A.install && app.use(stdin_default$4A);
  stdin_default$5W.install && app.use(stdin_default$5W);
  stdin_default$4y.install && app.use(stdin_default$4y);
  stdin_default$67.install && app.use(stdin_default$67);
  stdin_default$65.install && app.use(stdin_default$65);
  stdin_default$63.install && app.use(stdin_default$63);
  stdin_default$4w.install && app.use(stdin_default$4w);
  stdin_default$4q.install && app.use(stdin_default$4q);
  stdin_default$4o.install && app.use(stdin_default$4o);
  stdin_default$4m.install && app.use(stdin_default$4m);
  stdin_default$5S.install && app.use(stdin_default$5S);
  stdin_default$5G.install && app.use(stdin_default$5G);
  stdin_default$4k.install && app.use(stdin_default$4k);
  stdin_default$4i.install && app.use(stdin_default$4i);
  stdin_default$5A.install && app.use(stdin_default$5A);
  stdin_default$4g.install && app.use(stdin_default$4g);
  stdin_default$6c.install && app.use(stdin_default$6c);
  stdin_default$4e.install && app.use(stdin_default$4e);
  stdin_default$5M.install && app.use(stdin_default$5M);
  stdin_default$5O.install && app.use(stdin_default$5O);
  stdin_default$5J.install && app.use(stdin_default$5J);
  stdin_default$4c.install && app.use(stdin_default$4c);
  stdin_default$4a.install && app.use(stdin_default$4a);
  stdin_default$48.install && app.use(stdin_default$48);
  stdin_default$46.install && app.use(stdin_default$46);
  stdin_default$44.install && app.use(stdin_default$44);
  stdin_default$69.install && app.use(stdin_default$69);
  stdin_default$42.install && app.use(stdin_default$42);
  stdin_default$40.install && app.use(stdin_default$40);
  stdin_default$3_.install && app.use(stdin_default$3_);
  stdin_default$3Y.install && app.use(stdin_default$3Y);
  stdin_default$3W.install && app.use(stdin_default$3W);
  stdin_default$3O.install && app.use(stdin_default$3O);
  stdin_default$68.install && app.use(stdin_default$68);
  stdin_default$3M.install && app.use(stdin_default$3M);
  stdin_default$3K.install && app.use(stdin_default$3K);
  stdin_default$3I.install && app.use(stdin_default$3I);
  stdin_default$3G.install && app.use(stdin_default$3G);
  stdin_default$3E.install && app.use(stdin_default$3E);
  stdin_default$3B.install && app.use(stdin_default$3B);
  stdin_default$3z.install && app.use(stdin_default$3z);
  stdin_default$3x.install && app.use(stdin_default$3x);
  stdin_default$3v.install && app.use(stdin_default$3v);
  stdin_default$4T.install && app.use(stdin_default$4T);
  stdin_default$3t.install && app.use(stdin_default$3t);
  stdin_default$4u.install && app.use(stdin_default$4u);
  stdin_default$4s.install && app.use(stdin_default$4s);
  stdin_default$3r.install && app.use(stdin_default$3r);
  stdin_default$3p.install && app.use(stdin_default$3p);
  stdin_default$3n.install && app.use(stdin_default$3n);
  stdin_default$3l.install && app.use(stdin_default$3l);
  stdin_default$3j.install && app.use(stdin_default$3j);
  stdin_default$3h.install && app.use(stdin_default$3h);
  stdin_default$7.install && app.use(stdin_default$7);
  stdin_default$4.install && app.use(stdin_default$4);
  stdin_default$4I.install && app.use(stdin_default$4I);
  stdin_default$2.install && app.use(stdin_default$2);
  stdin_default.install && app.use(stdin_default);
}
const index_bundle = {
  version,
  install,
  ActionSheet: stdin_default$60,
  Alert: stdin_default$5_,
  AppBar: stdin_default$5Y,
  AutoComplete: stdin_default$5H,
  Avatar: stdin_default$5E,
  AvatarGroup: stdin_default$5C,
  BackTop: stdin_default$5w,
  Badge: stdin_default$5u,
  BottomNavigation: stdin_default$5s,
  BottomNavigationItem: stdin_default$5q,
  Breadcrumb: stdin_default$5o,
  Breadcrumbs: stdin_default$5m,
  Button: stdin_default$5y,
  ButtonGroup: stdin_default$5k,
  Card: stdin_default$5i,
  Cell: stdin_default$5g,
  Checkbox: stdin_default$5Q,
  CheckboxGroup: stdin_default$5e,
  Chip: stdin_default$5c,
  Code: stdin_default$5a,
  Col: stdin_default$58,
  Collapse: stdin_default$56,
  CollapseItem: stdin_default$54,
  CollapseTransition: stdin_default$52,
  Context: stdin_default$6b,
  CountTo: stdin_default$50,
  Countdown: stdin_default$4_,
  Counter: stdin_default$4Y,
  DatePicker: stdin_default$4Q,
  Dialog: stdin_default$4O,
  Divider: stdin_default$4M,
  Drag: stdin_default$4K,
  Ellipsis: stdin_default$4G,
  Fab: stdin_default$4E,
  FieldDecorator: stdin_default$5U,
  FloatingPanel: stdin_default$4C,
  Form: stdin_default$4A,
  FormDetails: stdin_default$5W,
  HighlighterProvider: stdin_default$4y,
  Hover: stdin_default$67,
  HoverOverlay: stdin_default$65,
  Icon: stdin_default$63,
  Image: stdin_default$4w,
  ImagePreview: stdin_default$4q,
  IndexAnchor: stdin_default$4o,
  IndexBar: stdin_default$4m,
  Input: stdin_default$5S,
  Lazy: stdin_default$5G,
  Link: stdin_default$4k,
  List: stdin_default$4i,
  Loading: stdin_default$5A,
  LoadingBar: stdin_default$4g,
  Locale: stdin_default$6c,
  LocaleProvider: stdin_default$4e,
  Menu: stdin_default$5M,
  MenuOption: stdin_default$5O,
  MenuSelect: stdin_default$5J,
  Option: stdin_default$4c,
  Overlay: stdin_default$4a,
  Pagination: stdin_default$48,
  Paper: stdin_default$46,
  Picker: stdin_default$44,
  Popup: stdin_default$69,
  Progress: stdin_default$42,
  PullRefresh: stdin_default$40,
  Radio: stdin_default$3_,
  RadioGroup: stdin_default$3Y,
  Rate: stdin_default$3W,
  Result: stdin_default$3O,
  Ripple: stdin_default$68,
  Row: stdin_default$3M,
  Select: stdin_default$3K,
  Signature: stdin_default$3I,
  Skeleton: stdin_default$3G,
  Slider: stdin_default$3E,
  Snackbar: stdin_default$3B,
  Space: stdin_default$3z,
  Step: stdin_default$3x,
  Steps: stdin_default$3v,
  Sticky: stdin_default$4T,
  StyleProvider: stdin_default$3t,
  Swipe: stdin_default$4u,
  SwipeItem: stdin_default$4s,
  Switch: stdin_default$3r,
  Tab: stdin_default$3p,
  TabItem: stdin_default$3n,
  Table: stdin_default$3l,
  Tabs: stdin_default$3j,
  TabsItems: stdin_default$3h,
  Themes: stdin_default$7,
  TimePicker: stdin_default$4,
  Tooltip: stdin_default$4I,
  Uploader: stdin_default$2,
  Watermark: stdin_default
};
exports.ActionSheet = stdin_default$60;
exports.Alert = stdin_default$5_;
exports.AppBar = stdin_default$5Y;
exports.AutoComplete = stdin_default$5H;
exports.Avatar = stdin_default$5E;
exports.AvatarGroup = stdin_default$5C;
exports.BackTop = stdin_default$5w;
exports.Badge = stdin_default$5u;
exports.BottomNavigation = stdin_default$5s;
exports.BottomNavigationItem = stdin_default$5q;
exports.Breadcrumb = stdin_default$5o;
exports.Breadcrumbs = stdin_default$5m;
exports.Button = stdin_default$5y;
exports.ButtonGroup = stdin_default$5k;
exports.Card = stdin_default$5i;
exports.Cell = stdin_default$5g;
exports.Checkbox = stdin_default$5Q;
exports.CheckboxGroup = stdin_default$5e;
exports.Chip = stdin_default$5c;
exports.Code = stdin_default$5a;
exports.Col = stdin_default$58;
exports.Collapse = stdin_default$56;
exports.CollapseItem = stdin_default$54;
exports.CollapseTransition = stdin_default$52;
exports.Context = stdin_default$6b;
exports.CountTo = stdin_default$50;
exports.Countdown = stdin_default$4_;
exports.Counter = stdin_default$4Y;
exports.DatePicker = stdin_default$4Q;
exports.Dialog = stdin_default$4O;
exports.Divider = stdin_default$4M;
exports.Drag = stdin_default$4K;
exports.Ellipsis = stdin_default$4G;
exports.Fab = stdin_default$4E;
exports.FieldDecorator = stdin_default$5U;
exports.FloatingPanel = stdin_default$4C;
exports.Form = stdin_default$4A;
exports.FormDetails = stdin_default$5W;
exports.HighlighterProvider = stdin_default$4y;
exports.Hover = stdin_default$67;
exports.HoverOverlay = stdin_default$65;
exports.Icon = stdin_default$63;
exports.Image = stdin_default$4w;
exports.ImagePreview = stdin_default$4q;
exports.IndexAnchor = stdin_default$4o;
exports.IndexBar = stdin_default$4m;
exports.Input = stdin_default$5S;
exports.Lazy = stdin_default$5G;
exports.Link = stdin_default$4k;
exports.List = stdin_default$4i;
exports.Loading = stdin_default$5A;
exports.LoadingBar = stdin_default$4g;
exports.Locale = stdin_default$6c;
exports.LocaleProvider = stdin_default$4e;
exports.Menu = stdin_default$5M;
exports.MenuOption = stdin_default$5O;
exports.MenuSelect = stdin_default$5J;
exports.Option = stdin_default$4c;
exports.Overlay = stdin_default$4a;
exports.PIXEL = PIXEL;
exports.Pagination = stdin_default$48;
exports.Paper = stdin_default$46;
exports.Picker = stdin_default$44;
exports.Popup = stdin_default$69;
exports.Progress = stdin_default$42;
exports.PullRefresh = stdin_default$40;
exports.Radio = stdin_default$3_;
exports.RadioGroup = stdin_default$3Y;
exports.Rate = stdin_default$3W;
exports.Result = stdin_default$3O;
exports.Ripple = stdin_default$68;
exports.Row = stdin_default$3M;
exports.SNACKBAR_TYPE = SNACKBAR_TYPE;
exports.Select = stdin_default$3K;
exports.Signature = stdin_default$3I;
exports.Skeleton = stdin_default$3G;
exports.Slider = stdin_default$3E;
exports.Snackbar = stdin_default$3B;
exports.Space = stdin_default$3z;
exports.Step = stdin_default$3x;
exports.Steps = stdin_default$3v;
exports.Sticky = stdin_default$4T;
exports.StyleProvider = stdin_default$3t;
exports.Swipe = stdin_default$4u;
exports.SwipeItem = stdin_default$4s;
exports.Switch = stdin_default$3r;
exports.Tab = stdin_default$3p;
exports.TabItem = stdin_default$3n;
exports.Table = stdin_default$3l;
exports.Tabs = stdin_default$3j;
exports.TabsItems = stdin_default$3h;
exports.Themes = stdin_default$7;
exports.TimePicker = stdin_default$4;
exports.Tooltip = stdin_default$4I;
exports.Uploader = stdin_default$2;
exports.Watermark = stdin_default;
exports._ActionSheetComponent = _ActionSheetComponent;
exports._AlertComponent = _AlertComponent;
exports._AppBarComponent = _AppBarComponent;
exports._AutoCompleteComponent = _AutoCompleteComponent;
exports._AvatarComponent = _AvatarComponent;
exports._AvatarGroupComponent = _AvatarGroupComponent;
exports._BackTopComponent = _BackTopComponent;
exports._BadgeComponent = _BadgeComponent;
exports._BottomNavigationComponent = _BottomNavigationComponent;
exports._BottomNavigationItemComponent = _BottomNavigationItemComponent;
exports._BreadcrumbComponent = _BreadcrumbComponent;
exports._BreadcrumbsComponent = _BreadcrumbsComponent;
exports._ButtonComponent = _ButtonComponent;
exports._ButtonGroupComponent = _ButtonGroupComponent;
exports._CardComponent = _CardComponent;
exports._CellComponent = _CellComponent;
exports._CheckboxComponent = _CheckboxComponent;
exports._CheckboxGroupComponent = _CheckboxGroupComponent;
exports._ChipComponent = _ChipComponent;
exports._CodeComponent = _CodeComponent;
exports._ColComponent = _ColComponent;
exports._CollapseComponent = _CollapseComponent;
exports._CollapseItemComponent = _CollapseItemComponent;
exports._CollapseTransitionComponent = _CollapseTransitionComponent;
exports._ContextComponent = _ContextComponent;
exports._CountToComponent = _CountToComponent;
exports._CountdownComponent = _CountdownComponent;
exports._CounterComponent = _CounterComponent;
exports._DatePickerComponent = _DatePickerComponent;
exports._DialogComponent = _DialogComponent;
exports._DividerComponent = _DividerComponent;
exports._DragComponent = _DragComponent;
exports._EllipsisComponent = _EllipsisComponent;
exports._FabComponent = _FabComponent;
exports._FieldDecoratorComponent = _FieldDecoratorComponent;
exports._FloatingPanelComponent = _FloatingPanelComponent;
exports._FormComponent = _FormComponent;
exports._FormDetailsComponent = _FormDetailsComponent;
exports._HighlighterProviderComponent = _HighlighterProviderComponent;
exports._HoverComponent = _HoverComponent;
exports._HoverOverlayComponent = _HoverOverlayComponent;
exports._IconComponent = _IconComponent;
exports._ImageComponent = _ImageComponent;
exports._ImagePreviewComponent = _ImagePreviewComponent;
exports._IndexAnchorComponent = _IndexAnchorComponent;
exports._IndexBarComponent = _IndexBarComponent;
exports._InputComponent = _InputComponent;
exports._LazyComponent = _LazyComponent;
exports._LinkComponent = _LinkComponent;
exports._ListComponent = _ListComponent;
exports._LoadingBarComponent = _LoadingBarComponent;
exports._LoadingComponent = _LoadingComponent;
exports._LocaleComponent = _LocaleComponent;
exports._LocaleProviderComponent = _LocaleProviderComponent;
exports._MenuComponent = _MenuComponent;
exports._MenuOptionComponent = _MenuOptionComponent;
exports._MenuSelectComponent = _MenuSelectComponent;
exports._OptionComponent = _OptionComponent;
exports._OverlayComponent = _OverlayComponent;
exports._PaginationComponent = _PaginationComponent;
exports._PaperComponent = _PaperComponent;
exports._PickerComponent = _PickerComponent;
exports._PopupComponent = _PopupComponent;
exports._ProgressComponent = _ProgressComponent;
exports._PullRefreshComponent = _PullRefreshComponent;
exports._RadioComponent = _RadioComponent;
exports._RadioGroupComponent = _RadioGroupComponent;
exports._RateComponent = _RateComponent;
exports._ResultComponent = _ResultComponent;
exports._RippleComponent = _RippleComponent;
exports._RowComponent = _RowComponent;
exports._SelectComponent = _SelectComponent;
exports._SignatureComponent = _SignatureComponent;
exports._SkeletonComponent = _SkeletonComponent;
exports._SliderComponent = _SliderComponent;
exports._SnackbarComponent = _SnackbarComponent;
exports._SpaceComponent = _SpaceComponent;
exports._StepComponent = _StepComponent;
exports._StepsComponent = _StepsComponent;
exports._StickyComponent = _StickyComponent;
exports._StyleProviderComponent = _StyleProviderComponent;
exports._SwipeComponent = _SwipeComponent;
exports._SwipeItemComponent = _SwipeItemComponent;
exports._SwitchComponent = _SwitchComponent;
exports._TabComponent = _TabComponent;
exports._TabItemComponent = _TabItemComponent;
exports._TableComponent = _TableComponent;
exports._TabsComponent = _TabsComponent;
exports._TabsItemsComponent = _TabsItemsComponent;
exports._ThemesComponent = _ThemesComponent;
exports._TimePickerComponent = _TimePickerComponent;
exports._TooltipComponent = _TooltipComponent;
exports._UploaderComponent = _UploaderComponent;
exports._WatermarkComponent = _WatermarkComponent;
exports.actionSheetProps = props$1j;
exports.add = add$2;
exports.alertProps = props$1i;
exports.appBarProps = props$1h;
exports.avatarGroupProps = props$17;
exports.avatarProps = props$18;
exports.backTopProps = props$14;
exports.badgeProps = props$13;
exports.bottomNavigationItemProps = props$11;
exports.bottomNavigationProps = props$12;
exports.breadcrumbProps = props$10;
exports.breadcrumbsProps = props$$;
exports.buttonGroupProps = props$_;
exports.buttonProps = props$15;
exports.cardProps = props$Z;
exports.cellProps = props$Y;
exports.checkboxGroupProps = props$X;
exports.checkboxProps = props$1d;
exports.chipProps = props$W;
exports.codeProps = props$V;
exports.colProps = props$U;
exports.collapseItemProps = props$S;
exports.collapseProps = props$T;
exports.collapseTransitionProps = props$R;
exports.countToProps = props$Q;
exports.countdownProps = props$P;
exports.counterProps = props$O;
exports.currentMessage = currentMessage;
exports.datePickerProps = props$N;
exports.default = index_bundle;
exports.defaultLazyOptions = defaultLazyOptions;
exports.dialogProps = props$L;
exports.dividerProps = props$K;
exports.dragProps = props$J;
exports.ellipsisProps = props$H;
exports.enUS = stdin_default$6i;
exports.faIR = stdin_default$6h;
exports.fabProps = props$G;
exports.fieldDecoratorProps = props$1f;
exports.formDetailsProps = props$1g;
exports.formProps = props$E;
exports.hoverOverlayProps = props$1l;
exports.iconProps = props$1k;
exports.imageCache = imageCache;
exports.imagePreviewProps = props$A;
exports.imageProps = props$C;
exports.indexAnchorProps = props$z;
exports.indexBarProps = props$y;
exports.inputProps = props$1e;
exports.install = install;
exports.linkProps = props$x;
exports.listProps = props$w;
exports.loadingBarProps = props$v;
exports.loadingProps = props$16;
exports.menuOptionProps = props$1c;
exports.menuProps = props$1b;
exports.menuSelectProps = props$1a;
exports.merge = merge;
exports.messages = messages;
exports.optionProps = props$t;
exports.overlayProps = props$s;
exports.paginationProps = props$r;
exports.paperProps = props$q;
exports.pickerProps = props$p;
exports.popupProps = props$1m;
exports.progressProps = props$o;
exports.pullRefreshProps = props$n;
exports.radioGroupProps = props$l;
exports.radioProps = props$m;
exports.rateProps = props$k;
exports.resultProps = props$j;
exports.rowProps = props$i;
exports.selectProps = props$h;
exports.signatureProps = props$g;
exports.skeletonProps = props$f;
exports.sliderProps = props$e;
exports.snackbarProps = props$d;
exports.spaceProps = props$c;
exports.stepProps = props$b;
exports.stepsProps = props$a;
exports.stickyProps = props$M;
exports.styleProviderProps = props$9;
exports.swipeProps = props$B;
exports.switchProps = props$8;
exports.t = t;
exports.tabItemProps = props$6;
exports.tabProps = props$7;
exports.tableProps = props$5;
exports.tabsItemsProps = props$3;
exports.tabsProps = props$4;
exports.timePickerProps = props$2;
exports.tooltipProps = props$I;
exports.uploaderProps = props$1;
exports.use = use;
exports.useHoverOverlay = useHoverOverlay;
exports.useLocale = useLocale;
exports.version = version;
exports.watermarkProps = props;
exports.zhCN = stdin_default$6f;
exports.zhHK = stdin_default$6d;
exports.zhTW = stdin_default$6e;