123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245 |
- import {
- defaultRtl,
- en_default
- } from "./chunk-QJIII4WD.js";
- import {
- DefaultsSymbol,
- IN_BROWSER,
- IconSymbol,
- RGBtoHex,
- SUPPORTS_TOUCH,
- consoleError,
- consoleWarn,
- createDefaults,
- createIcons,
- createRange,
- darken,
- defineComponent,
- getCurrentInstance,
- getLuma,
- getObjectValueByPath,
- getUid,
- lighten,
- mergeDeep,
- parseColor,
- propsFactory,
- toKebabCase,
- useDefaults,
- useToggleScope
- } from "./chunk-S3H25MSG.js";
- import {
- computed,
- inject,
- nextTick,
- reactive,
- ref,
- shallowRef,
- toRaw,
- toRefs,
- watch,
- watchEffect
- } from "./chunk-J6475X5X.js";
- import "./chunk-SSYGV25P.js";
- // node_modules/vuetify/lib/composables/display.mjs
- var DisplaySymbol = Symbol.for("vuetify:display");
- var defaultDisplayOptions = {
- mobileBreakpoint: "lg",
- thresholds: {
- xs: 0,
- sm: 600,
- md: 960,
- lg: 1280,
- xl: 1920,
- xxl: 2560
- }
- };
- var parseDisplayOptions = function() {
- let options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : defaultDisplayOptions;
- return mergeDeep(defaultDisplayOptions, options);
- };
- function getClientWidth(ssr) {
- return IN_BROWSER && !ssr ? window.innerWidth : typeof ssr === "object" && ssr.clientWidth || 0;
- }
- function getClientHeight(ssr) {
- return IN_BROWSER && !ssr ? window.innerHeight : typeof ssr === "object" && ssr.clientHeight || 0;
- }
- function getPlatform(ssr) {
- const userAgent = IN_BROWSER && !ssr ? window.navigator.userAgent : "ssr";
- function match(regexp) {
- return Boolean(userAgent.match(regexp));
- }
- const android = match(/android/i);
- const ios = match(/iphone|ipad|ipod/i);
- const cordova = match(/cordova/i);
- const electron = match(/electron/i);
- const chrome = match(/chrome/i);
- const edge = match(/edge/i);
- const firefox = match(/firefox/i);
- const opera = match(/opera/i);
- const win = match(/win/i);
- const mac = match(/mac/i);
- const linux = match(/linux/i);
- return {
- android,
- ios,
- cordova,
- electron,
- chrome,
- edge,
- firefox,
- opera,
- win,
- mac,
- linux,
- touch: SUPPORTS_TOUCH,
- ssr: userAgent === "ssr"
- };
- }
- function createDisplay(options, ssr) {
- const {
- thresholds,
- mobileBreakpoint
- } = parseDisplayOptions(options);
- const height = shallowRef(getClientHeight(ssr));
- const platform = shallowRef(getPlatform(ssr));
- const state = reactive({});
- const width = shallowRef(getClientWidth(ssr));
- function updateSize() {
- height.value = getClientHeight();
- width.value = getClientWidth();
- }
- function update() {
- updateSize();
- platform.value = getPlatform();
- }
- watchEffect(() => {
- const xs = width.value < thresholds.sm;
- const sm = width.value < thresholds.md && !xs;
- const md = width.value < thresholds.lg && !(sm || xs);
- const lg = width.value < thresholds.xl && !(md || sm || xs);
- const xl = width.value < thresholds.xxl && !(lg || md || sm || xs);
- const xxl = width.value >= thresholds.xxl;
- const name = xs ? "xs" : sm ? "sm" : md ? "md" : lg ? "lg" : xl ? "xl" : "xxl";
- const breakpointValue = typeof mobileBreakpoint === "number" ? mobileBreakpoint : thresholds[mobileBreakpoint];
- const mobile = width.value < breakpointValue;
- state.xs = xs;
- state.sm = sm;
- state.md = md;
- state.lg = lg;
- state.xl = xl;
- state.xxl = xxl;
- state.smAndUp = !xs;
- state.mdAndUp = !(xs || sm);
- state.lgAndUp = !(xs || sm || md);
- state.xlAndUp = !(xs || sm || md || lg);
- state.smAndDown = !(md || lg || xl || xxl);
- state.mdAndDown = !(lg || xl || xxl);
- state.lgAndDown = !(xl || xxl);
- state.xlAndDown = !xxl;
- state.name = name;
- state.height = height.value;
- state.width = width.value;
- state.mobile = mobile;
- state.mobileBreakpoint = mobileBreakpoint;
- state.platform = platform.value;
- state.thresholds = thresholds;
- });
- if (IN_BROWSER) {
- window.addEventListener("resize", updateSize, {
- passive: true
- });
- }
- return {
- ...toRefs(state),
- update,
- ssr: !!ssr
- };
- }
- function useDisplay() {
- const display = inject(DisplaySymbol);
- if (!display)
- throw new Error("Could not find Vuetify display injection");
- return display;
- }
- // node_modules/vuetify/lib/composables/proxiedModel.mjs
- function useProxiedModel(props, prop, defaultValue) {
- let transformIn = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : (v) => v;
- let transformOut = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : (v) => v;
- const vm = getCurrentInstance("useProxiedModel");
- const internal = ref(props[prop] !== void 0 ? props[prop] : defaultValue);
- const kebabProp = toKebabCase(prop);
- const checkKebab = kebabProp !== prop;
- const isControlled = checkKebab ? computed(() => {
- var _a, _b, _c, _d;
- void props[prop];
- return !!((((_a = vm.vnode.props) == null ? void 0 : _a.hasOwnProperty(prop)) || ((_b = vm.vnode.props) == null ? void 0 : _b.hasOwnProperty(kebabProp))) && (((_c = vm.vnode.props) == null ? void 0 : _c.hasOwnProperty(`onUpdate:${prop}`)) || ((_d = vm.vnode.props) == null ? void 0 : _d.hasOwnProperty(`onUpdate:${kebabProp}`))));
- }) : computed(() => {
- var _a, _b;
- void props[prop];
- return !!(((_a = vm.vnode.props) == null ? void 0 : _a.hasOwnProperty(prop)) && ((_b = vm.vnode.props) == null ? void 0 : _b.hasOwnProperty(`onUpdate:${prop}`)));
- });
- useToggleScope(() => !isControlled.value, () => {
- watch(() => props[prop], (val) => {
- internal.value = val;
- });
- });
- const model = computed({
- get() {
- const externalValue = props[prop];
- return transformIn(isControlled.value ? externalValue : internal.value);
- },
- set(internalValue) {
- const newValue = transformOut(internalValue);
- const value = toRaw(isControlled.value ? props[prop] : internal.value);
- if (value === newValue || transformIn(value) === internalValue) {
- return;
- }
- internal.value = newValue;
- vm == null ? void 0 : vm.emit(`update:${prop}`, newValue);
- }
- });
- Object.defineProperty(model, "externalValue", {
- get: () => isControlled.value ? props[prop] : internal.value
- });
- return model;
- }
- // node_modules/vuetify/lib/locale/adapters/vuetify.mjs
- var LANG_PREFIX = "$vuetify.";
- var replace = (str, params) => {
- return str.replace(/\{(\d+)\}/g, (match, index) => {
- return String(params[+index]);
- });
- };
- var createTranslateFunction = (current, fallback, messages) => {
- return function(key) {
- for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
- params[_key - 1] = arguments[_key];
- }
- if (!key.startsWith(LANG_PREFIX)) {
- return replace(key, params);
- }
- const shortKey = key.replace(LANG_PREFIX, "");
- const currentLocale = current.value && messages.value[current.value];
- const fallbackLocale = fallback.value && messages.value[fallback.value];
- let str = getObjectValueByPath(currentLocale, shortKey, null);
- if (!str) {
- consoleWarn(`Translation key "${key}" not found in "${current.value}", trying fallback locale`);
- str = getObjectValueByPath(fallbackLocale, shortKey, null);
- }
- if (!str) {
- consoleError(`Translation key "${key}" not found in fallback`);
- str = key;
- }
- if (typeof str !== "string") {
- consoleError(`Translation key "${key}" has a non-string value`);
- str = key;
- }
- return replace(str, params);
- };
- };
- function createNumberFunction(current, fallback) {
- return (value, options) => {
- const numberFormat = new Intl.NumberFormat([current.value, fallback.value], options);
- return numberFormat.format(value);
- };
- }
- function useProvided(props, prop, provided) {
- const internal = useProxiedModel(props, prop, props[prop] ?? provided.value);
- internal.value = props[prop] ?? provided.value;
- watch(provided, (v) => {
- if (props[prop] == null) {
- internal.value = provided.value;
- }
- });
- return internal;
- }
- function createProvideFunction(state) {
- return (props) => {
- const current = useProvided(props, "locale", state.current);
- const fallback = useProvided(props, "fallback", state.fallback);
- const messages = useProvided(props, "messages", state.messages);
- return {
- name: "vuetify",
- current,
- fallback,
- messages,
- t: createTranslateFunction(current, fallback, messages),
- n: createNumberFunction(current, fallback),
- provide: createProvideFunction({
- current,
- fallback,
- messages
- })
- };
- };
- }
- function createVuetifyAdapter(options) {
- const current = shallowRef((options == null ? void 0 : options.locale) ?? "en");
- const fallback = shallowRef((options == null ? void 0 : options.fallback) ?? "en");
- const messages = ref({
- en: en_default,
- ...options == null ? void 0 : options.messages
- });
- return {
- name: "vuetify",
- current,
- fallback,
- messages,
- t: createTranslateFunction(current, fallback, messages),
- n: createNumberFunction(current, fallback),
- provide: createProvideFunction({
- current,
- fallback,
- messages
- })
- };
- }
- // node_modules/vuetify/lib/composables/locale.mjs
- var LocaleSymbol = Symbol.for("vuetify:locale");
- function isLocaleInstance(obj) {
- return obj.name != null;
- }
- function createLocale(options) {
- const i18n = (options == null ? void 0 : options.adapter) && isLocaleInstance(options == null ? void 0 : options.adapter) ? options == null ? void 0 : options.adapter : createVuetifyAdapter(options);
- const rtl = createRtl(i18n, options);
- return {
- ...i18n,
- ...rtl
- };
- }
- function useLocale() {
- const locale = inject(LocaleSymbol);
- if (!locale)
- throw new Error("[Vuetify] Could not find injected locale instance");
- return locale;
- }
- var RtlSymbol = Symbol.for("vuetify:rtl");
- function createRtl(i18n, options) {
- const rtl = ref((options == null ? void 0 : options.rtl) ?? defaultRtl);
- const isRtl = computed(() => rtl.value[i18n.current.value] ?? false);
- return {
- isRtl,
- rtl,
- rtlClasses: computed(() => `v-locale--is-${isRtl.value ? "rtl" : "ltr"}`)
- };
- }
- function useRtl() {
- const locale = inject(LocaleSymbol);
- if (!locale)
- throw new Error("[Vuetify] Could not find injected rtl instance");
- return {
- isRtl: locale.isRtl,
- rtlClasses: locale.rtlClasses
- };
- }
- // node_modules/vuetify/lib/util/color/APCA.mjs
- var mainTRC = 2.4;
- var Rco = 0.2126729;
- var Gco = 0.7151522;
- var Bco = 0.072175;
- var normBG = 0.55;
- var normTXT = 0.58;
- var revTXT = 0.57;
- var revBG = 0.62;
- var blkThrs = 0.03;
- var blkClmp = 1.45;
- var deltaYmin = 5e-4;
- var scaleBoW = 1.25;
- var scaleWoB = 1.25;
- var loConThresh = 0.078;
- var loConFactor = 12.82051282051282;
- var loConOffset = 0.06;
- var loClip = 1e-3;
- function APCAcontrast(text, background) {
- const Rtxt = (text.r / 255) ** mainTRC;
- const Gtxt = (text.g / 255) ** mainTRC;
- const Btxt = (text.b / 255) ** mainTRC;
- const Rbg = (background.r / 255) ** mainTRC;
- const Gbg = (background.g / 255) ** mainTRC;
- const Bbg = (background.b / 255) ** mainTRC;
- let Ytxt = Rtxt * Rco + Gtxt * Gco + Btxt * Bco;
- let Ybg = Rbg * Rco + Gbg * Gco + Bbg * Bco;
- if (Ytxt <= blkThrs)
- Ytxt += (blkThrs - Ytxt) ** blkClmp;
- if (Ybg <= blkThrs)
- Ybg += (blkThrs - Ybg) ** blkClmp;
- if (Math.abs(Ybg - Ytxt) < deltaYmin)
- return 0;
- let outputContrast;
- if (Ybg > Ytxt) {
- const SAPC = (Ybg ** normBG - Ytxt ** normTXT) * scaleBoW;
- outputContrast = SAPC < loClip ? 0 : SAPC < loConThresh ? SAPC - SAPC * loConFactor * loConOffset : SAPC - loConOffset;
- } else {
- const SAPC = (Ybg ** revBG - Ytxt ** revTXT) * scaleWoB;
- outputContrast = SAPC > -loClip ? 0 : SAPC > -loConThresh ? SAPC - SAPC * loConFactor * loConOffset : SAPC + loConOffset;
- }
- return outputContrast * 100;
- }
- // node_modules/vuetify/lib/composables/theme.mjs
- var ThemeSymbol = Symbol.for("vuetify:theme");
- var makeThemeProps = propsFactory({
- theme: String
- }, "theme");
- var defaultThemeOptions = {
- defaultTheme: "light",
- variations: {
- colors: [],
- lighten: 0,
- darken: 0
- },
- themes: {
- light: {
- dark: false,
- colors: {
- background: "#FFFFFF",
- surface: "#FFFFFF",
- "surface-variant": "#424242",
- "on-surface-variant": "#EEEEEE",
- primary: "#6200EE",
- "primary-darken-1": "#3700B3",
- secondary: "#03DAC6",
- "secondary-darken-1": "#018786",
- error: "#B00020",
- info: "#2196F3",
- success: "#4CAF50",
- warning: "#FB8C00"
- },
- variables: {
- "border-color": "#000000",
- "border-opacity": 0.12,
- "high-emphasis-opacity": 0.87,
- "medium-emphasis-opacity": 0.6,
- "disabled-opacity": 0.38,
- "idle-opacity": 0.04,
- "hover-opacity": 0.04,
- "focus-opacity": 0.12,
- "selected-opacity": 0.08,
- "activated-opacity": 0.12,
- "pressed-opacity": 0.12,
- "dragged-opacity": 0.08,
- "theme-kbd": "#212529",
- "theme-on-kbd": "#FFFFFF",
- "theme-code": "#F5F5F5",
- "theme-on-code": "#000000"
- }
- },
- dark: {
- dark: true,
- colors: {
- background: "#121212",
- surface: "#212121",
- "surface-variant": "#BDBDBD",
- "on-surface-variant": "#424242",
- primary: "#BB86FC",
- "primary-darken-1": "#3700B3",
- secondary: "#03DAC5",
- "secondary-darken-1": "#03DAC5",
- error: "#CF6679",
- info: "#2196F3",
- success: "#4CAF50",
- warning: "#FB8C00"
- },
- variables: {
- "border-color": "#FFFFFF",
- "border-opacity": 0.12,
- "high-emphasis-opacity": 1,
- "medium-emphasis-opacity": 0.7,
- "disabled-opacity": 0.5,
- "idle-opacity": 0.1,
- "hover-opacity": 0.04,
- "focus-opacity": 0.12,
- "selected-opacity": 0.08,
- "activated-opacity": 0.12,
- "pressed-opacity": 0.16,
- "dragged-opacity": 0.08,
- "theme-kbd": "#212529",
- "theme-on-kbd": "#FFFFFF",
- "theme-code": "#343434",
- "theme-on-code": "#CCCCCC"
- }
- }
- }
- };
- function parseThemeOptions() {
- var _a, _b;
- let options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : defaultThemeOptions;
- if (!options)
- return {
- ...defaultThemeOptions,
- isDisabled: true
- };
- const themes = {};
- for (const [key, theme] of Object.entries(options.themes ?? {})) {
- const defaultTheme = theme.dark || key === "dark" ? (_a = defaultThemeOptions.themes) == null ? void 0 : _a.dark : (_b = defaultThemeOptions.themes) == null ? void 0 : _b.light;
- themes[key] = mergeDeep(defaultTheme, theme);
- }
- return mergeDeep(defaultThemeOptions, {
- ...options,
- themes
- });
- }
- function createTheme(options) {
- const parsedOptions = parseThemeOptions(options);
- const name = ref(parsedOptions.defaultTheme);
- const themes = ref(parsedOptions.themes);
- const computedThemes = computed(() => {
- const acc = {};
- for (const [name2, original] of Object.entries(themes.value)) {
- const theme = acc[name2] = {
- ...original,
- colors: {
- ...original.colors
- }
- };
- if (parsedOptions.variations) {
- for (const name3 of parsedOptions.variations.colors) {
- const color = theme.colors[name3];
- if (!color)
- continue;
- for (const variation of ["lighten", "darken"]) {
- const fn = variation === "lighten" ? lighten : darken;
- for (const amount of createRange(parsedOptions.variations[variation], 1)) {
- theme.colors[`${name3}-${variation}-${amount}`] = RGBtoHex(fn(parseColor(color), amount));
- }
- }
- }
- }
- for (const color of Object.keys(theme.colors)) {
- if (/^on-[a-z]/.test(color) || theme.colors[`on-${color}`])
- continue;
- const onColor = `on-${color}`;
- const colorVal = parseColor(theme.colors[color]);
- const blackContrast = Math.abs(APCAcontrast(parseColor(0), colorVal));
- const whiteContrast = Math.abs(APCAcontrast(parseColor(16777215), colorVal));
- theme.colors[onColor] = whiteContrast > Math.min(blackContrast, 50) ? "#fff" : "#000";
- }
- }
- return acc;
- });
- const current = computed(() => computedThemes.value[name.value]);
- const styles = computed(() => {
- const lines = [];
- if (current.value.dark) {
- createCssClass(lines, ":root", ["color-scheme: dark"]);
- }
- createCssClass(lines, ":root", genCssVariables(current.value));
- for (const [themeName, theme] of Object.entries(computedThemes.value)) {
- createCssClass(lines, `.v-theme--${themeName}`, [`color-scheme: ${theme.dark ? "dark" : "normal"}`, ...genCssVariables(theme)]);
- }
- const bgLines = [];
- const fgLines = [];
- const colors = new Set(Object.values(computedThemes.value).flatMap((theme) => Object.keys(theme.colors)));
- for (const key of colors) {
- if (/^on-[a-z]/.test(key)) {
- createCssClass(fgLines, `.${key}`, [`color: rgb(var(--v-theme-${key})) !important`]);
- } else {
- createCssClass(bgLines, `.bg-${key}`, [`--v-theme-overlay-multiplier: var(--v-theme-${key}-overlay-multiplier)`, `background-color: rgb(var(--v-theme-${key})) !important`, `color: rgb(var(--v-theme-on-${key})) !important`]);
- createCssClass(fgLines, `.text-${key}`, [`color: rgb(var(--v-theme-${key})) !important`]);
- createCssClass(fgLines, `.border-${key}`, [`--v-border-color: var(--v-theme-${key})`]);
- }
- }
- lines.push(...bgLines, ...fgLines);
- return lines.map((str, i) => i === 0 ? str : ` ${str}`).join("");
- });
- function getHead() {
- return {
- style: [{
- children: styles.value,
- id: "vuetify-theme-stylesheet",
- nonce: parsedOptions.cspNonce || false
- }]
- };
- }
- function install(app) {
- if (parsedOptions.isDisabled)
- return;
- const head = app._context.provides.usehead;
- if (head) {
- if (head.push) {
- const entry = head.push(getHead);
- if (IN_BROWSER) {
- watch(styles, () => {
- entry.patch(getHead);
- });
- }
- } else {
- if (IN_BROWSER) {
- head.addHeadObjs(computed(getHead));
- watchEffect(() => head.updateDOM());
- } else {
- head.addHeadObjs(getHead());
- }
- }
- } else {
- let updateStyles = function() {
- if (typeof document !== "undefined" && !styleEl) {
- const el = document.createElement("style");
- el.type = "text/css";
- el.id = "vuetify-theme-stylesheet";
- if (parsedOptions.cspNonce)
- el.setAttribute("nonce", parsedOptions.cspNonce);
- styleEl = el;
- document.head.appendChild(styleEl);
- }
- if (styleEl)
- styleEl.innerHTML = styles.value;
- };
- let styleEl = IN_BROWSER ? document.getElementById("vuetify-theme-stylesheet") : null;
- if (IN_BROWSER) {
- watch(styles, updateStyles, {
- immediate: true
- });
- } else {
- updateStyles();
- }
- }
- }
- const themeClasses = computed(() => parsedOptions.isDisabled ? void 0 : `v-theme--${name.value}`);
- return {
- install,
- isDisabled: parsedOptions.isDisabled,
- name,
- themes,
- current,
- computedThemes,
- themeClasses,
- styles,
- global: {
- name,
- current
- }
- };
- }
- function useTheme() {
- getCurrentInstance("useTheme");
- const theme = inject(ThemeSymbol, null);
- if (!theme)
- throw new Error("Could not find Vuetify theme injection");
- return theme;
- }
- function createCssClass(lines, selector, content) {
- lines.push(`${selector} {
- `, ...content.map((line) => ` ${line};
- `), "}\n");
- }
- function genCssVariables(theme) {
- const lightOverlay = theme.dark ? 2 : 1;
- const darkOverlay = theme.dark ? 1 : 2;
- const variables = [];
- for (const [key, value] of Object.entries(theme.colors)) {
- const rgb = parseColor(value);
- variables.push(`--v-theme-${key}: ${rgb.r},${rgb.g},${rgb.b}`);
- if (!key.startsWith("on-")) {
- variables.push(`--v-theme-${key}-overlay-multiplier: ${getLuma(value) > 0.18 ? lightOverlay : darkOverlay}`);
- }
- }
- for (const [key, value] of Object.entries(theme.variables)) {
- const color = typeof value === "string" && value.startsWith("#") ? parseColor(value) : void 0;
- const rgb = color ? `${color.r}, ${color.g}, ${color.b}` : void 0;
- variables.push(`--v-${key}: ${rgb ?? value}`);
- }
- return variables;
- }
- // node_modules/vuetify/lib/labs/date/adapters/vuetify.mjs
- var firstDay = {
- "001": 1,
- AD: 1,
- AE: 6,
- AF: 6,
- AG: 0,
- AI: 1,
- AL: 1,
- AM: 1,
- AN: 1,
- AR: 1,
- AS: 0,
- AT: 1,
- AU: 1,
- AX: 1,
- AZ: 1,
- BA: 1,
- BD: 0,
- BE: 1,
- BG: 1,
- BH: 6,
- BM: 1,
- BN: 1,
- BR: 0,
- BS: 0,
- BT: 0,
- BW: 0,
- BY: 1,
- BZ: 0,
- CA: 0,
- CH: 1,
- CL: 1,
- CM: 1,
- CN: 1,
- CO: 0,
- CR: 1,
- CY: 1,
- CZ: 1,
- DE: 1,
- DJ: 6,
- DK: 1,
- DM: 0,
- DO: 0,
- DZ: 6,
- EC: 1,
- EE: 1,
- EG: 6,
- ES: 1,
- ET: 0,
- FI: 1,
- FJ: 1,
- FO: 1,
- FR: 1,
- GB: 1,
- "GB-alt-variant": 0,
- GE: 1,
- GF: 1,
- GP: 1,
- GR: 1,
- GT: 0,
- GU: 0,
- HK: 0,
- HN: 0,
- HR: 1,
- HU: 1,
- ID: 0,
- IE: 1,
- IL: 0,
- IN: 0,
- IQ: 6,
- IR: 6,
- IS: 1,
- IT: 1,
- JM: 0,
- JO: 6,
- JP: 0,
- KE: 0,
- KG: 1,
- KH: 0,
- KR: 0,
- KW: 6,
- KZ: 1,
- LA: 0,
- LB: 1,
- LI: 1,
- LK: 1,
- LT: 1,
- LU: 1,
- LV: 1,
- LY: 6,
- MC: 1,
- MD: 1,
- ME: 1,
- MH: 0,
- MK: 1,
- MM: 0,
- MN: 1,
- MO: 0,
- MQ: 1,
- MT: 0,
- MV: 5,
- MX: 0,
- MY: 1,
- MZ: 0,
- NI: 0,
- NL: 1,
- NO: 1,
- NP: 0,
- NZ: 1,
- OM: 6,
- PA: 0,
- PE: 0,
- PH: 0,
- PK: 0,
- PL: 1,
- PR: 0,
- PT: 0,
- PY: 0,
- QA: 6,
- RE: 1,
- RO: 1,
- RS: 1,
- RU: 1,
- SA: 0,
- SD: 6,
- SE: 1,
- SG: 0,
- SI: 1,
- SK: 1,
- SM: 1,
- SV: 0,
- SY: 6,
- TH: 0,
- TJ: 1,
- TM: 1,
- TR: 1,
- TT: 0,
- TW: 0,
- UA: 1,
- UM: 0,
- US: 0,
- UY: 1,
- UZ: 1,
- VA: 1,
- VE: 0,
- VI: 0,
- VN: 1,
- WS: 0,
- XK: 1,
- YE: 0,
- ZA: 0,
- ZW: 0
- };
- function getWeekArray(date2, locale) {
- const weeks = [];
- let currentWeek = [];
- const firstDayOfMonth = startOfMonth(date2);
- const lastDayOfMonth = endOfMonth(date2);
- const firstDayWeekIndex = firstDayOfMonth.getDay() - firstDay[locale.slice(-2).toUpperCase()];
- const lastDayWeekIndex = lastDayOfMonth.getDay() - firstDay[locale.slice(-2).toUpperCase()];
- for (let i = 0; i < firstDayWeekIndex; i++) {
- const adjacentDay = new Date(firstDayOfMonth);
- adjacentDay.setDate(adjacentDay.getDate() - (firstDayWeekIndex - i));
- currentWeek.push(adjacentDay);
- }
- for (let i = 1; i <= lastDayOfMonth.getDate(); i++) {
- const day = new Date(date2.getFullYear(), date2.getMonth(), i);
- currentWeek.push(day);
- if (currentWeek.length === 7) {
- weeks.push(currentWeek);
- currentWeek = [];
- }
- }
- for (let i = 1; i < 7 - lastDayWeekIndex; i++) {
- const adjacentDay = new Date(lastDayOfMonth);
- adjacentDay.setDate(adjacentDay.getDate() + i);
- currentWeek.push(adjacentDay);
- }
- weeks.push(currentWeek);
- return weeks;
- }
- function startOfMonth(date2) {
- return new Date(date2.getFullYear(), date2.getMonth(), 1);
- }
- function endOfMonth(date2) {
- return new Date(date2.getFullYear(), date2.getMonth() + 1, 0);
- }
- function parseLocalDate(value) {
- const parts = value.split("-").map(Number);
- return new Date(parts[0], parts[1] - 1, parts[2]);
- }
- var _YYYMMDD = /([12]\d{3}-([1-9]|0[1-9]|1[0-2])-([1-9]|0[1-9]|[12]\d|3[01]))/;
- function date(value) {
- if (value == null)
- return /* @__PURE__ */ new Date();
- if (value instanceof Date)
- return value;
- if (typeof value === "string") {
- let parsed;
- if (_YYYMMDD.test(value)) {
- return parseLocalDate(value);
- } else {
- parsed = Date.parse(value);
- }
- if (!isNaN(parsed))
- return new Date(parsed);
- }
- return null;
- }
- var sundayJanuarySecond2000 = new Date(2e3, 0, 2);
- function getWeekdays(locale) {
- const daysFromSunday = firstDay[locale.slice(-2).toUpperCase()];
- return createRange(7).map((i) => {
- const weekday = new Date(sundayJanuarySecond2000);
- weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);
- return new Intl.DateTimeFormat(locale, {
- weekday: "short"
- }).format(weekday);
- });
- }
- function format(value, formatString, locale) {
- const date2 = new Date(value);
- let options = {};
- switch (formatString) {
- case "fullDateWithWeekday":
- options = {
- weekday: "long",
- day: "numeric",
- month: "long",
- year: "numeric"
- };
- break;
- case "normalDateWithWeekday":
- options = {
- weekday: "short",
- day: "numeric",
- month: "short"
- };
- break;
- case "keyboardDate":
- options = {};
- break;
- case "monthAndDate":
- options = {
- month: "long",
- day: "numeric"
- };
- break;
- case "monthAndYear":
- options = {
- month: "long",
- year: "numeric"
- };
- break;
- case "dayOfMonth":
- options = {
- day: "numeric"
- };
- break;
- default:
- options = {
- timeZone: "UTC",
- timeZoneName: "short"
- };
- }
- return new Intl.DateTimeFormat(locale, options).format(date2);
- }
- function addDays(date2, amount) {
- const d = new Date(date2);
- d.setDate(d.getDate() + amount);
- return d;
- }
- function addMonths(date2, amount) {
- const d = new Date(date2);
- d.setMonth(d.getMonth() + amount);
- return d;
- }
- function getYear(date2) {
- return date2.getFullYear();
- }
- function getMonth(date2) {
- return date2.getMonth();
- }
- function startOfYear(date2) {
- return new Date(date2.getFullYear(), 0, 1);
- }
- function endOfYear(date2) {
- return new Date(date2.getFullYear(), 11, 31);
- }
- function isWithinRange(date2, range) {
- return isAfter(date2, range[0]) && isBefore(date2, range[1]);
- }
- function isValid(date2) {
- const d = new Date(date2);
- return d instanceof Date && !isNaN(d.getTime());
- }
- function isAfter(date2, comparing) {
- return date2.getTime() > comparing.getTime();
- }
- function isBefore(date2, comparing) {
- return date2.getTime() < comparing.getTime();
- }
- function isEqual(date2, comparing) {
- return date2.getTime() === comparing.getTime();
- }
- function isSameDay(date2, comparing) {
- return date2.getDate() === comparing.getDate() && date2.getMonth() === comparing.getMonth() && date2.getFullYear() === comparing.getFullYear();
- }
- function isSameMonth(date2, comparing) {
- return date2.getMonth() === comparing.getMonth() && date2.getFullYear() === comparing.getFullYear();
- }
- function getDiff(date2, comparing, unit) {
- const d = new Date(date2);
- const c = new Date(comparing);
- if (unit === "month") {
- return d.getMonth() - c.getMonth() + (d.getFullYear() - c.getFullYear()) * 12;
- }
- return Math.floor((d.getTime() - c.getTime()) / (1e3 * 60 * 60 * 24));
- }
- function setYear(date2, year) {
- const d = new Date(date2);
- d.setFullYear(year);
- return d;
- }
- var VuetifyDateAdapter = class {
- constructor(options) {
- this.locale = options.locale;
- }
- date(value) {
- return date(value);
- }
- toJsDate(date2) {
- return date2;
- }
- addDays(date2, amount) {
- return addDays(date2, amount);
- }
- addMonths(date2, amount) {
- return addMonths(date2, amount);
- }
- getWeekArray(date2) {
- return getWeekArray(date2, this.locale);
- }
- startOfMonth(date2) {
- return startOfMonth(date2);
- }
- endOfMonth(date2) {
- return endOfMonth(date2);
- }
- format(date2, formatString) {
- return format(date2, formatString, this.locale);
- }
- isEqual(date2, comparing) {
- return isEqual(date2, comparing);
- }
- isValid(date2) {
- return isValid(date2);
- }
- isWithinRange(date2, range) {
- return isWithinRange(date2, range);
- }
- isAfter(date2, comparing) {
- return isAfter(date2, comparing);
- }
- isBefore(date2, comparing) {
- return !isAfter(date2, comparing) && !isEqual(date2, comparing);
- }
- isSameDay(date2, comparing) {
- return isSameDay(date2, comparing);
- }
- isSameMonth(date2, comparing) {
- return isSameMonth(date2, comparing);
- }
- setYear(date2, year) {
- return setYear(date2, year);
- }
- getDiff(date2, comparing, unit) {
- return getDiff(date2, comparing, unit);
- }
- getWeekdays() {
- return getWeekdays(this.locale);
- }
- getYear(date2) {
- return getYear(date2);
- }
- getMonth(date2) {
- return getMonth(date2);
- }
- startOfYear(date2) {
- return startOfYear(date2);
- }
- endOfYear(date2) {
- return endOfYear(date2);
- }
- };
- // node_modules/vuetify/lib/labs/date/date.mjs
- var DateAdapterSymbol = Symbol.for("vuetify:date-adapter");
- function createDate(options) {
- return mergeDeep({
- adapter: VuetifyDateAdapter,
- locale: {
- af: "af-ZA",
- // ar: '', # not the same value for all variants
- bg: "bg-BG",
- ca: "ca-ES",
- ckb: "",
- cs: "",
- de: "de-DE",
- el: "el-GR",
- en: "en-US",
- // es: '', # not the same value for all variants
- et: "et-EE",
- fa: "fa-IR",
- fi: "fi-FI",
- // fr: '', #not the same value for all variants
- hr: "hr-HR",
- hu: "hu-HU",
- he: "he-IL",
- id: "id-ID",
- it: "it-IT",
- ja: "ja-JP",
- ko: "ko-KR",
- lv: "lv-LV",
- lt: "lt-LT",
- nl: "nl-NL",
- no: "nn-NO",
- pl: "pl-PL",
- pt: "pt-PT",
- ro: "ro-RO",
- ru: "ru-RU",
- sk: "sk-SK",
- sl: "sl-SI",
- srCyrl: "sr-SP",
- srLatn: "sr-SP",
- sv: "sv-SE",
- th: "th-TH",
- tr: "tr-TR",
- az: "az-AZ",
- uk: "uk-UA",
- vi: "vi-VN",
- zhHans: "zh-CN",
- zhHant: "zh-TW"
- }
- }, options);
- }
- var makeDateProps = propsFactory({
- displayDate: {
- type: Object,
- default: /* @__PURE__ */ new Date()
- },
- hideAdjacentMonths: Boolean,
- modelValue: {
- type: null,
- default: () => []
- }
- }, "date");
- // node_modules/vuetify/lib/composables/layout.mjs
- var VuetifyLayoutKey = Symbol.for("vuetify:layout");
- var VuetifyLayoutItemKey = Symbol.for("vuetify:layout-item");
- var makeLayoutProps = propsFactory({
- overlaps: {
- type: Array,
- default: () => []
- },
- fullHeight: Boolean
- }, "layout");
- var makeLayoutItemProps = propsFactory({
- name: {
- type: String
- },
- order: {
- type: [Number, String],
- default: 0
- },
- absolute: Boolean
- }, "layout-item");
- function useLayout() {
- const layout = inject(VuetifyLayoutKey);
- if (!layout)
- throw new Error("[Vuetify] Could not find injected layout");
- return {
- getLayoutItem: layout.getLayoutItem,
- mainRect: layout.mainRect,
- mainStyles: layout.mainStyles
- };
- }
- // node_modules/vuetify/lib/framework.mjs
- function createVuetify() {
- let vuetify = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
- const {
- blueprint,
- ...rest
- } = vuetify;
- const options = mergeDeep(blueprint, rest);
- const {
- aliases = {},
- components = {},
- directives = {}
- } = options;
- const defaults = createDefaults(options.defaults);
- const display = createDisplay(options.display, options.ssr);
- const theme = createTheme(options.theme);
- const icons = createIcons(options.icons);
- const locale = createLocale(options.locale);
- const date2 = createDate(options.date);
- const install = (app) => {
- for (const key in directives) {
- app.directive(key, directives[key]);
- }
- for (const key in components) {
- app.component(key, components[key]);
- }
- for (const key in aliases) {
- app.component(key, defineComponent({
- ...aliases[key],
- name: key,
- aliasName: aliases[key].name
- }));
- }
- theme.install(app);
- app.provide(DefaultsSymbol, defaults);
- app.provide(DisplaySymbol, display);
- app.provide(ThemeSymbol, theme);
- app.provide(IconSymbol, icons);
- app.provide(LocaleSymbol, locale);
- app.provide(DateAdapterSymbol, date2);
- if (IN_BROWSER && options.ssr) {
- if (app.$nuxt) {
- app.$nuxt.hook("app:suspense:resolve", () => {
- display.update();
- });
- } else {
- const {
- mount
- } = app;
- app.mount = function() {
- const vm = mount(...arguments);
- nextTick(() => display.update());
- app.mount = mount;
- return vm;
- };
- }
- }
- getUid.reset();
- if (typeof __VUE_OPTIONS_API__ !== "boolean" || __VUE_OPTIONS_API__) {
- app.mixin({
- computed: {
- $vuetify() {
- return reactive({
- defaults: inject2.call(this, DefaultsSymbol),
- display: inject2.call(this, DisplaySymbol),
- theme: inject2.call(this, ThemeSymbol),
- icons: inject2.call(this, IconSymbol),
- locale: inject2.call(this, LocaleSymbol),
- date: inject2.call(this, DateAdapterSymbol)
- });
- }
- }
- });
- }
- };
- return {
- install,
- defaults,
- display,
- theme,
- icons,
- locale,
- date: date2
- };
- }
- var version = "3.3.11";
- createVuetify.version = version;
- function inject2(key) {
- var _a, _b;
- const vm = this.$;
- const provides = ((_a = vm.parent) == null ? void 0 : _a.provides) ?? ((_b = vm.vnode.appContext) == null ? void 0 : _b.provides);
- if (provides && key in provides) {
- return provides[key];
- }
- }
- export {
- createVuetify,
- useDefaults,
- useDisplay,
- useLayout,
- useLocale,
- useRtl,
- useTheme,
- version
- };
- //# sourceMappingURL=vuetify.js.map
|