Vulture/VApp/node_modules/.vite/deps/chunk-GCLA33SA.js

1454 lines
40 KiB
JavaScript
Raw Normal View History

import {
VAvatar
} from "./chunk-5XLJYRDC.js";
import {
VDivider
} from "./chunk-NUVQUA75.js";
import {
genOverlays,
makeVariantProps,
useVariant
} from "./chunk-XQKRKMJT.js";
import {
Ripple
} from "./chunk-NMCVREUK.js";
import {
makeBorderProps,
useBorder
} from "./chunk-O7K6SSRF.js";
import {
makeElevationProps,
useElevation
} from "./chunk-QXA6VMYU.js";
import {
makeDimensionProps,
useDimension
} from "./chunk-O7EUYO3B.js";
import {
VDefaultsProvider
} from "./chunk-D42AK3WB.js";
import {
makeRouterProps,
useLink
} from "./chunk-PCNFKUUR.js";
import {
makeDensityProps,
useDensity
} from "./chunk-VQPKT5F7.js";
import {
makeRoundedProps,
useRounded
} from "./chunk-24LK52JF.js";
import {
VIcon
} from "./chunk-IFUDBK56.js";
import {
VExpandTransition
} from "./chunk-JVZUVJAC.js";
import {
MaybeTransition
} from "./chunk-XRWT7YWI.js";
import {
useBackgroundColor,
useTextColor
} from "./chunk-ZZ55KHRR.js";
import {
IconValue
} from "./chunk-472DNWSX.js";
import {
useProxiedModel
} from "./chunk-PVQHDZXM.js";
import {
useSsrBoot
} from "./chunk-VDFYLV2V.js";
import {
makeTagProps
} from "./chunk-DJRL4NAD.js";
import {
makeThemeProps,
provideTheme
} from "./chunk-CYOEVGGH.js";
import {
EventProp,
createSimpleFunctional,
deepEqual,
defineComponent,
deprecate,
focusChild,
genericComponent,
getCurrentInstance,
getPropertyFromItem,
getUid,
makeComponentProps,
omit,
propsFactory,
provideDefaults,
useRender
} from "./chunk-I4KGD5X4.js";
import {
Fragment,
computed,
createVNode,
inject,
mergeProps,
onBeforeUnmount,
provide,
ref,
resolveDirective,
shallowRef,
toRaw,
toRef,
vShow,
watch,
withDirectives
} from "./chunk-PD2AWGJV.js";
// node_modules/vuetify/lib/components/VList/VList.mjs
import "C:/Users/Jeremy/Documents/Dev/Projects.cloudsucks.net/Vulture/VApp/node_modules/vuetify/lib/components/VList/VList.css";
// node_modules/vuetify/lib/components/VList/list.mjs
var DepthKey = Symbol.for("vuetify:depth");
var ListKey = Symbol.for("vuetify:list");
function createList() {
const parent = inject(ListKey, {
hasPrepend: shallowRef(false),
updateHasPrepend: () => null
});
const data = {
hasPrepend: shallowRef(false),
updateHasPrepend: (value) => {
if (value) data.hasPrepend.value = value;
}
};
provide(ListKey, data);
return parent;
}
function useList() {
return inject(ListKey, null);
}
// node_modules/vuetify/lib/composables/nested/openStrategies.mjs
var singleOpenStrategy = {
open: (_ref) => {
let {
id,
value,
opened,
parents
} = _ref;
if (value) {
const newOpened = /* @__PURE__ */ new Set();
newOpened.add(id);
let parent = parents.get(id);
while (parent != null) {
newOpened.add(parent);
parent = parents.get(parent);
}
return newOpened;
} else {
opened.delete(id);
return opened;
}
},
select: () => null
};
var multipleOpenStrategy = {
open: (_ref2) => {
let {
id,
value,
opened,
parents
} = _ref2;
if (value) {
let parent = parents.get(id);
opened.add(id);
while (parent != null && parent !== id) {
opened.add(parent);
parent = parents.get(parent);
}
return opened;
} else {
opened.delete(id);
}
return opened;
},
select: () => null
};
var listOpenStrategy = {
open: multipleOpenStrategy.open,
select: (_ref3) => {
let {
id,
value,
opened,
parents
} = _ref3;
if (!value) return opened;
const path = [];
let parent = parents.get(id);
while (parent != null) {
path.push(parent);
parent = parents.get(parent);
}
return new Set(path);
}
};
// node_modules/vuetify/lib/composables/nested/selectStrategies.mjs
var independentSelectStrategy = (mandatory) => {
const strategy = {
select: (_ref) => {
let {
id,
value,
selected
} = _ref;
id = toRaw(id);
if (mandatory && !value) {
const on = Array.from(selected.entries()).reduce((arr, _ref2) => {
let [key, value2] = _ref2;
return value2 === "on" ? [...arr, key] : arr;
}, []);
if (on.length === 1 && on[0] === id) return selected;
}
selected.set(id, value ? "on" : "off");
return selected;
},
in: (v, children, parents) => {
let map = /* @__PURE__ */ new Map();
for (const id of v || []) {
map = strategy.select({
id,
value: true,
selected: new Map(map),
children,
parents
});
}
return map;
},
out: (v) => {
const arr = [];
for (const [key, value] of v.entries()) {
if (value === "on") arr.push(key);
}
return arr;
}
};
return strategy;
};
var independentSingleSelectStrategy = (mandatory) => {
const parentStrategy = independentSelectStrategy(mandatory);
const strategy = {
select: (_ref3) => {
let {
selected,
id,
...rest
} = _ref3;
id = toRaw(id);
const singleSelected = selected.has(id) ? /* @__PURE__ */ new Map([[id, selected.get(id)]]) : /* @__PURE__ */ new Map();
return parentStrategy.select({
...rest,
id,
selected: singleSelected
});
},
in: (v, children, parents) => {
let map = /* @__PURE__ */ new Map();
if (v == null ? void 0 : v.length) {
map = parentStrategy.in(v.slice(0, 1), children, parents);
}
return map;
},
out: (v, children, parents) => {
return parentStrategy.out(v, children, parents);
}
};
return strategy;
};
var leafSelectStrategy = (mandatory) => {
const parentStrategy = independentSelectStrategy(mandatory);
const strategy = {
select: (_ref4) => {
let {
id,
selected,
children,
...rest
} = _ref4;
id = toRaw(id);
if (children.has(id)) return selected;
return parentStrategy.select({
id,
selected,
children,
...rest
});
},
in: parentStrategy.in,
out: parentStrategy.out
};
return strategy;
};
var leafSingleSelectStrategy = (mandatory) => {
const parentStrategy = independentSingleSelectStrategy(mandatory);
const strategy = {
select: (_ref5) => {
let {
id,
selected,
children,
...rest
} = _ref5;
id = toRaw(id);
if (children.has(id)) return selected;
return parentStrategy.select({
id,
selected,
children,
...rest
});
},
in: parentStrategy.in,
out: parentStrategy.out
};
return strategy;
};
var classicSelectStrategy = (mandatory) => {
const strategy = {
select: (_ref6) => {
let {
id,
value,
selected,
children,
parents
} = _ref6;
id = toRaw(id);
const original = new Map(selected);
const items = [id];
while (items.length) {
const item = items.shift();
selected.set(item, value ? "on" : "off");
if (children.has(item)) {
items.push(...children.get(item));
}
}
let parent = parents.get(id);
while (parent) {
const childrenIds = children.get(parent);
const everySelected = childrenIds.every((cid) => selected.get(cid) === "on");
const noneSelected = childrenIds.every((cid) => !selected.has(cid) || selected.get(cid) === "off");
selected.set(parent, everySelected ? "on" : noneSelected ? "off" : "indeterminate");
parent = parents.get(parent);
}
if (mandatory && !value) {
const on = Array.from(selected.entries()).reduce((arr, _ref7) => {
let [key, value2] = _ref7;
return value2 === "on" ? [...arr, key] : arr;
}, []);
if (on.length === 0) return original;
}
return selected;
},
in: (v, children, parents) => {
let map = /* @__PURE__ */ new Map();
for (const id of v || []) {
map = strategy.select({
id,
value: true,
selected: new Map(map),
children,
parents
});
}
return map;
},
out: (v, children) => {
const arr = [];
for (const [key, value] of v.entries()) {
if (value === "on" && !children.has(key)) arr.push(key);
}
return arr;
}
};
return strategy;
};
// node_modules/vuetify/lib/composables/nested/nested.mjs
var VNestedSymbol = Symbol.for("vuetify:nested");
var emptyNested = {
id: shallowRef(),
root: {
register: () => null,
unregister: () => null,
parents: ref(/* @__PURE__ */ new Map()),
children: ref(/* @__PURE__ */ new Map()),
open: () => null,
openOnSelect: () => null,
select: () => null,
opened: ref(/* @__PURE__ */ new Set()),
selected: ref(/* @__PURE__ */ new Map()),
selectedValues: ref([])
}
};
var makeNestedProps = propsFactory({
selectStrategy: [String, Function],
openStrategy: [String, Object],
opened: Array,
selected: Array,
mandatory: Boolean
}, "nested");
var useNested = (props) => {
let isUnmounted = false;
const children = ref(/* @__PURE__ */ new Map());
const parents = ref(/* @__PURE__ */ new Map());
const opened = useProxiedModel(props, "opened", props.opened, (v) => new Set(v), (v) => [...v.values()]);
const selectStrategy = computed(() => {
if (typeof props.selectStrategy === "object") return props.selectStrategy;
switch (props.selectStrategy) {
case "single-leaf":
return leafSingleSelectStrategy(props.mandatory);
case "leaf":
return leafSelectStrategy(props.mandatory);
case "independent":
return independentSelectStrategy(props.mandatory);
case "single-independent":
return independentSingleSelectStrategy(props.mandatory);
case "classic":
default:
return classicSelectStrategy(props.mandatory);
}
});
const openStrategy = computed(() => {
if (typeof props.openStrategy === "object") return props.openStrategy;
switch (props.openStrategy) {
case "list":
return listOpenStrategy;
case "single":
return singleOpenStrategy;
case "multiple":
default:
return multipleOpenStrategy;
}
});
const selected = useProxiedModel(props, "selected", props.selected, (v) => selectStrategy.value.in(v, children.value, parents.value), (v) => selectStrategy.value.out(v, children.value, parents.value));
onBeforeUnmount(() => {
isUnmounted = true;
});
function getPath(id) {
const path = [];
let parent = id;
while (parent != null) {
path.unshift(parent);
parent = parents.value.get(parent);
}
return path;
}
const vm = getCurrentInstance("nested");
const nested = {
id: shallowRef(),
root: {
opened,
selected,
selectedValues: computed(() => {
const arr = [];
for (const [key, value] of selected.value.entries()) {
if (value === "on") arr.push(key);
}
return arr;
}),
register: (id, parentId, isGroup) => {
parentId && id !== parentId && parents.value.set(id, parentId);
isGroup && children.value.set(id, []);
if (parentId != null) {
children.value.set(parentId, [...children.value.get(parentId) || [], id]);
}
},
unregister: (id) => {
if (isUnmounted) return;
children.value.delete(id);
const parent = parents.value.get(id);
if (parent) {
const list = children.value.get(parent) ?? [];
children.value.set(parent, list.filter((child) => child !== id));
}
parents.value.delete(id);
opened.value.delete(id);
},
open: (id, value, event) => {
vm.emit("click:open", {
id,
value,
path: getPath(id),
event
});
const newOpened = openStrategy.value.open({
id,
value,
opened: new Set(opened.value),
children: children.value,
parents: parents.value,
event
});
newOpened && (opened.value = newOpened);
},
openOnSelect: (id, value, event) => {
const newOpened = openStrategy.value.select({
id,
value,
selected: new Map(selected.value),
opened: new Set(opened.value),
children: children.value,
parents: parents.value,
event
});
newOpened && (opened.value = newOpened);
},
select: (id, value, event) => {
vm.emit("click:select", {
id,
value,
path: getPath(id),
event
});
const newSelected = selectStrategy.value.select({
id,
value,
selected: new Map(selected.value),
children: children.value,
parents: parents.value,
event
});
newSelected && (selected.value = newSelected);
nested.root.openOnSelect(id, value, event);
},
children,
parents
}
};
provide(VNestedSymbol, nested);
return nested.root;
};
var useNestedItem = (id, isGroup) => {
const parent = inject(VNestedSymbol, emptyNested);
const uidSymbol = Symbol(getUid());
const computedId = computed(() => id.value !== void 0 ? id.value : uidSymbol);
const item = {
...parent,
id: computedId,
open: (open, e) => parent.root.open(computedId.value, open, e),
openOnSelect: (open, e) => parent.root.openOnSelect(computedId.value, open, e),
isOpen: computed(() => parent.root.opened.value.has(computedId.value)),
parent: computed(() => parent.root.parents.value.get(computedId.value)),
select: (selected, e) => parent.root.select(computedId.value, selected, e),
isSelected: computed(() => parent.root.selected.value.get(toRaw(computedId.value)) === "on"),
isIndeterminate: computed(() => parent.root.selected.value.get(computedId.value) === "indeterminate"),
isLeaf: computed(() => !parent.root.children.value.get(computedId.value)),
isGroupActivator: parent.isGroupActivator
};
!parent.isGroupActivator && parent.root.register(computedId.value, parent.id.value, isGroup);
onBeforeUnmount(() => {
!parent.isGroupActivator && parent.root.unregister(computedId.value);
});
isGroup && provide(VNestedSymbol, item);
return item;
};
var useNestedGroupActivator = () => {
const parent = inject(VNestedSymbol, emptyNested);
provide(VNestedSymbol, {
...parent,
isGroupActivator: true
});
};
// node_modules/vuetify/lib/components/VList/VListGroup.mjs
var VListGroupActivator = defineComponent({
name: "VListGroupActivator",
setup(_, _ref) {
let {
slots
} = _ref;
useNestedGroupActivator();
return () => {
var _a;
return (_a = slots.default) == null ? void 0 : _a.call(slots);
};
}
});
var makeVListGroupProps = propsFactory({
/* @deprecated */
activeColor: String,
baseColor: String,
color: String,
collapseIcon: {
type: IconValue,
default: "$collapse"
},
expandIcon: {
type: IconValue,
default: "$expand"
},
prependIcon: IconValue,
appendIcon: IconValue,
fluid: Boolean,
subgroup: Boolean,
title: String,
value: null,
...makeComponentProps(),
...makeTagProps()
}, "VListGroup");
var VListGroup = genericComponent()({
name: "VListGroup",
props: makeVListGroupProps(),
setup(props, _ref2) {
let {
slots
} = _ref2;
const {
isOpen,
open,
id: _id
} = useNestedItem(toRef(props, "value"), true);
const id = computed(() => `v-list-group--id-${String(_id.value)}`);
const list = useList();
const {
isBooted
} = useSsrBoot();
function onClick(e) {
open(!isOpen.value, e);
}
const activatorProps = computed(() => ({
onClick,
class: "v-list-group__header",
id: id.value
}));
const toggleIcon = computed(() => isOpen.value ? props.collapseIcon : props.expandIcon);
const activatorDefaults = computed(() => ({
VListItem: {
active: isOpen.value,
activeColor: props.activeColor,
baseColor: props.baseColor,
color: props.color,
prependIcon: props.prependIcon || props.subgroup && toggleIcon.value,
appendIcon: props.appendIcon || !props.subgroup && toggleIcon.value,
title: props.title,
value: props.value
}
}));
useRender(() => createVNode(props.tag, {
"class": ["v-list-group", {
"v-list-group--prepend": list == null ? void 0 : list.hasPrepend.value,
"v-list-group--fluid": props.fluid,
"v-list-group--subgroup": props.subgroup,
"v-list-group--open": isOpen.value
}, props.class],
"style": props.style
}, {
default: () => [slots.activator && createVNode(VDefaultsProvider, {
"defaults": activatorDefaults.value
}, {
default: () => [createVNode(VListGroupActivator, null, {
default: () => [slots.activator({
props: activatorProps.value,
isOpen: isOpen.value
})]
})]
}), createVNode(MaybeTransition, {
"transition": {
component: VExpandTransition
},
"disabled": !isBooted.value
}, {
default: () => {
var _a;
return [withDirectives(createVNode("div", {
"class": "v-list-group__items",
"role": "group",
"aria-labelledby": id.value
}, [(_a = slots.default) == null ? void 0 : _a.call(slots)]), [[vShow, isOpen.value]])];
}
})]
}));
return {};
}
});
// node_modules/vuetify/lib/components/VList/VListItem.mjs
import "C:/Users/Jeremy/Documents/Dev/Projects.cloudsucks.net/Vulture/VApp/node_modules/vuetify/lib/components/VList/VListItem.css";
// node_modules/vuetify/lib/components/VList/VListItemSubtitle.mjs
var VListItemSubtitle = createSimpleFunctional("v-list-item-subtitle");
// node_modules/vuetify/lib/components/VList/VListItemTitle.mjs
var VListItemTitle = createSimpleFunctional("v-list-item-title");
// node_modules/vuetify/lib/components/VList/VListItem.mjs
var makeVListItemProps = propsFactory({
active: {
type: Boolean,
default: void 0
},
activeClass: String,
/* @deprecated */
activeColor: String,
appendAvatar: String,
appendIcon: IconValue,
baseColor: String,
disabled: Boolean,
lines: String,
link: {
type: Boolean,
default: void 0
},
nav: Boolean,
prependAvatar: String,
prependIcon: IconValue,
ripple: {
type: [Boolean, Object],
default: true
},
slim: Boolean,
subtitle: [String, Number],
title: [String, Number],
value: null,
onClick: EventProp(),
onClickOnce: EventProp(),
...makeBorderProps(),
...makeComponentProps(),
...makeDensityProps(),
...makeDimensionProps(),
...makeElevationProps(),
...makeRoundedProps(),
...makeRouterProps(),
...makeTagProps(),
...makeThemeProps(),
...makeVariantProps({
variant: "text"
})
}, "VListItem");
var VListItem = genericComponent()({
name: "VListItem",
directives: {
Ripple
},
props: makeVListItemProps(),
emits: {
click: (e) => true
},
setup(props, _ref) {
let {
attrs,
slots,
emit
} = _ref;
const link = useLink(props, attrs);
const id = computed(() => props.value === void 0 ? link.href.value : props.value);
const {
select,
isSelected,
isIndeterminate,
isGroupActivator,
root,
parent,
openOnSelect
} = useNestedItem(id, false);
const list = useList();
const isActive = computed(() => {
var _a;
return props.active !== false && (props.active || ((_a = link.isActive) == null ? void 0 : _a.value) || isSelected.value);
});
const isLink = computed(() => props.link !== false && link.isLink.value);
const isClickable = computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value || props.value != null && !!list));
const roundedProps = computed(() => props.rounded || props.nav);
const color = computed(() => props.color ?? props.activeColor);
const variantProps = computed(() => ({
color: isActive.value ? color.value ?? props.baseColor : props.baseColor,
variant: props.variant
}));
watch(() => {
var _a;
return (_a = link.isActive) == null ? void 0 : _a.value;
}, (val) => {
if (val && parent.value != null) {
root.open(parent.value, true);
}
if (val) {
openOnSelect(val);
}
}, {
immediate: true
});
const {
themeClasses
} = provideTheme(props);
const {
borderClasses
} = useBorder(props);
const {
colorClasses,
colorStyles,
variantClasses
} = useVariant(variantProps);
const {
densityClasses
} = useDensity(props);
const {
dimensionStyles
} = useDimension(props);
const {
elevationClasses
} = useElevation(props);
const {
roundedClasses
} = useRounded(roundedProps);
const lineClasses = computed(() => props.lines ? `v-list-item--${props.lines}-line` : void 0);
const slotProps = computed(() => ({
isActive: isActive.value,
select,
isSelected: isSelected.value,
isIndeterminate: isIndeterminate.value
}));
function onClick(e) {
var _a;
emit("click", e);
if (isGroupActivator || !isClickable.value) return;
(_a = link.navigate) == null ? void 0 : _a.call(link, e);
props.value != null && select(!isSelected.value, e);
}
function onKeyDown(e) {
if (e.key === "Enter" || e.key === " ") {
e.preventDefault();
onClick(e);
}
}
useRender(() => {
const Tag = isLink.value ? "a" : props.tag;
const hasTitle = slots.title || props.title != null;
const hasSubtitle = slots.subtitle || props.subtitle != null;
const hasAppendMedia = !!(props.appendAvatar || props.appendIcon);
const hasAppend = !!(hasAppendMedia || slots.append);
const hasPrependMedia = !!(props.prependAvatar || props.prependIcon);
const hasPrepend = !!(hasPrependMedia || slots.prepend);
list == null ? void 0 : list.updateHasPrepend(hasPrepend);
if (props.activeColor) {
deprecate("active-color", ["color", "base-color"]);
}
return withDirectives(createVNode(Tag, {
"class": ["v-list-item", {
"v-list-item--active": isActive.value,
"v-list-item--disabled": props.disabled,
"v-list-item--link": isClickable.value,
"v-list-item--nav": props.nav,
"v-list-item--prepend": !hasPrepend && (list == null ? void 0 : list.hasPrepend.value),
"v-list-item--slim": props.slim,
[`${props.activeClass}`]: props.activeClass && isActive.value
}, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, variantClasses.value, props.class],
"style": [colorStyles.value, dimensionStyles.value, props.style],
"href": link.href.value,
"tabindex": isClickable.value ? list ? -2 : 0 : void 0,
"onClick": onClick,
"onKeydown": isClickable.value && !isLink.value && onKeyDown
}, {
default: () => {
var _a;
return [genOverlays(isClickable.value || isActive.value, "v-list-item"), hasPrepend && createVNode("div", {
"key": "prepend",
"class": "v-list-item__prepend"
}, [!slots.prepend ? createVNode(Fragment, null, [props.prependAvatar && createVNode(VAvatar, {
"key": "prepend-avatar",
"density": props.density,
"image": props.prependAvatar
}, null), props.prependIcon && createVNode(VIcon, {
"key": "prepend-icon",
"density": props.density,
"icon": props.prependIcon
}, null)]) : createVNode(VDefaultsProvider, {
"key": "prepend-defaults",
"disabled": !hasPrependMedia,
"defaults": {
VAvatar: {
density: props.density,
image: props.prependAvatar
},
VIcon: {
density: props.density,
icon: props.prependIcon
},
VListItemAction: {
start: true
}
}
}, {
default: () => {
var _a2;
return [(_a2 = slots.prepend) == null ? void 0 : _a2.call(slots, slotProps.value)];
}
}), createVNode("div", {
"class": "v-list-item__spacer"
}, null)]), createVNode("div", {
"class": "v-list-item__content",
"data-no-activator": ""
}, [hasTitle && createVNode(VListItemTitle, {
"key": "title"
}, {
default: () => {
var _a2;
return [((_a2 = slots.title) == null ? void 0 : _a2.call(slots, {
title: props.title
})) ?? props.title];
}
}), hasSubtitle && createVNode(VListItemSubtitle, {
"key": "subtitle"
}, {
default: () => {
var _a2;
return [((_a2 = slots.subtitle) == null ? void 0 : _a2.call(slots, {
subtitle: props.subtitle
})) ?? props.subtitle];
}
}), (_a = slots.default) == null ? void 0 : _a.call(slots, slotProps.value)]), hasAppend && createVNode("div", {
"key": "append",
"class": "v-list-item__append"
}, [!slots.append ? createVNode(Fragment, null, [props.appendIcon && createVNode(VIcon, {
"key": "append-icon",
"density": props.density,
"icon": props.appendIcon
}, null), props.appendAvatar && createVNode(VAvatar, {
"key": "append-avatar",
"density": props.density,
"image": props.appendAvatar
}, null)]) : createVNode(VDefaultsProvider, {
"key": "append-defaults",
"disabled": !hasAppendMedia,
"defaults": {
VAvatar: {
density: props.density,
image: props.appendAvatar
},
VIcon: {
density: props.density,
icon: props.appendIcon
},
VListItemAction: {
end: true
}
}
}, {
default: () => {
var _a2;
return [(_a2 = slots.append) == null ? void 0 : _a2.call(slots, slotProps.value)];
}
}), createVNode("div", {
"class": "v-list-item__spacer"
}, null)])];
}
}), [[resolveDirective("ripple"), isClickable.value && props.ripple]]);
});
return {};
}
});
// node_modules/vuetify/lib/components/VList/VListSubheader.mjs
var makeVListSubheaderProps = propsFactory({
color: String,
inset: Boolean,
sticky: Boolean,
title: String,
...makeComponentProps(),
...makeTagProps()
}, "VListSubheader");
var VListSubheader = genericComponent()({
name: "VListSubheader",
props: makeVListSubheaderProps(),
setup(props, _ref) {
let {
slots
} = _ref;
const {
textColorClasses,
textColorStyles
} = useTextColor(toRef(props, "color"));
useRender(() => {
const hasText = !!(slots.default || props.title);
return createVNode(props.tag, {
"class": ["v-list-subheader", {
"v-list-subheader--inset": props.inset,
"v-list-subheader--sticky": props.sticky
}, textColorClasses.value, props.class],
"style": [{
textColorStyles
}, props.style]
}, {
default: () => {
var _a;
return [hasText && createVNode("div", {
"class": "v-list-subheader__text"
}, [((_a = slots.default) == null ? void 0 : _a.call(slots)) ?? props.title])];
}
});
});
return {};
}
});
// node_modules/vuetify/lib/components/VList/VListChildren.mjs
var makeVListChildrenProps = propsFactory({
items: Array,
returnObject: Boolean
}, "VListChildren");
var VListChildren = genericComponent()({
name: "VListChildren",
props: makeVListChildrenProps(),
setup(props, _ref) {
let {
slots
} = _ref;
createList();
return () => {
var _a, _b;
return ((_a = slots.default) == null ? void 0 : _a.call(slots)) ?? ((_b = props.items) == null ? void 0 : _b.map((_ref2) => {
var _a2, _b2;
let {
children,
props: itemProps,
type,
raw: item
} = _ref2;
if (type === "divider") {
return ((_a2 = slots.divider) == null ? void 0 : _a2.call(slots, {
props: itemProps
})) ?? createVNode(VDivider, itemProps, null);
}
if (type === "subheader") {
return ((_b2 = slots.subheader) == null ? void 0 : _b2.call(slots, {
props: itemProps
})) ?? createVNode(VListSubheader, itemProps, null);
}
const slotsWithItem = {
subtitle: slots.subtitle ? (slotProps) => {
var _a3;
return (_a3 = slots.subtitle) == null ? void 0 : _a3.call(slots, {
...slotProps,
item
});
} : void 0,
prepend: slots.prepend ? (slotProps) => {
var _a3;
return (_a3 = slots.prepend) == null ? void 0 : _a3.call(slots, {
...slotProps,
item
});
} : void 0,
append: slots.append ? (slotProps) => {
var _a3;
return (_a3 = slots.append) == null ? void 0 : _a3.call(slots, {
...slotProps,
item
});
} : void 0,
title: slots.title ? (slotProps) => {
var _a3;
return (_a3 = slots.title) == null ? void 0 : _a3.call(slots, {
...slotProps,
item
});
} : void 0
};
const listGroupProps = VListGroup.filterProps(itemProps);
return children ? createVNode(VListGroup, mergeProps({
"value": itemProps == null ? void 0 : itemProps.value
}, listGroupProps), {
activator: (_ref3) => {
let {
props: activatorProps
} = _ref3;
const listItemProps = {
...itemProps,
...activatorProps,
value: props.returnObject ? item : itemProps.value
};
return slots.header ? slots.header({
props: listItemProps
}) : createVNode(VListItem, listItemProps, slotsWithItem);
},
default: () => createVNode(VListChildren, {
"items": children
}, slots)
}) : slots.item ? slots.item({
props: itemProps
}) : createVNode(VListItem, mergeProps(itemProps, {
"value": props.returnObject ? item : itemProps.value
}), slotsWithItem);
}));
};
}
});
// node_modules/vuetify/lib/composables/list-items.mjs
var makeItemsProps = propsFactory({
items: {
type: Array,
default: () => []
},
itemTitle: {
type: [String, Array, Function],
default: "title"
},
itemValue: {
type: [String, Array, Function],
default: "value"
},
itemChildren: {
type: [Boolean, String, Array, Function],
default: "children"
},
itemProps: {
type: [Boolean, String, Array, Function],
default: "props"
},
returnObject: Boolean,
valueComparator: {
type: Function,
default: deepEqual
}
}, "list-items");
function transformItem(props, item) {
const title = getPropertyFromItem(item, props.itemTitle, item);
const value = getPropertyFromItem(item, props.itemValue, title);
const children = getPropertyFromItem(item, props.itemChildren);
const itemProps = props.itemProps === true ? typeof item === "object" && item != null && !Array.isArray(item) ? "children" in item ? omit(item, ["children"]) : item : void 0 : getPropertyFromItem(item, props.itemProps);
const _props = {
title,
value,
...itemProps
};
return {
title: String(_props.title ?? ""),
value: _props.value,
props: _props,
children: Array.isArray(children) ? transformItems(props, children) : void 0,
raw: item
};
}
function transformItems(props, items) {
const array = [];
for (const item of items) {
array.push(transformItem(props, item));
}
return array;
}
function useItems(props) {
const items = computed(() => transformItems(props, props.items));
const hasNullItem = computed(() => items.value.some((item) => item.value === null));
function transformIn(value) {
if (!hasNullItem.value) {
value = value.filter((v) => v !== null);
}
return value.map((v) => {
if (props.returnObject && typeof v === "string") {
return transformItem(props, v);
}
return items.value.find((item) => props.valueComparator(v, item.value)) || transformItem(props, v);
});
}
function transformOut(value) {
return props.returnObject ? value.map((_ref) => {
let {
raw
} = _ref;
return raw;
}) : value.map((_ref2) => {
let {
value: value2
} = _ref2;
return value2;
});
}
return {
items,
transformIn,
transformOut
};
}
// node_modules/vuetify/lib/components/VList/VList.mjs
function isPrimitive(value) {
return typeof value === "string" || typeof value === "number" || typeof value === "boolean";
}
function transformItem2(props, item) {
const type = getPropertyFromItem(item, props.itemType, "item");
const title = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemTitle);
const value = getPropertyFromItem(item, props.itemValue, void 0);
const children = getPropertyFromItem(item, props.itemChildren);
const itemProps = props.itemProps === true ? omit(item, ["children"]) : getPropertyFromItem(item, props.itemProps);
const _props = {
title,
value,
...itemProps
};
return {
type,
title: _props.title,
value: _props.value,
props: _props,
children: type === "item" && children ? transformItems2(props, children) : void 0,
raw: item
};
}
function transformItems2(props, items) {
const array = [];
for (const item of items) {
array.push(transformItem2(props, item));
}
return array;
}
function useListItems(props) {
const items = computed(() => transformItems2(props, props.items));
return {
items
};
}
var makeVListProps = propsFactory({
baseColor: String,
/* @deprecated */
activeColor: String,
activeClass: String,
bgColor: String,
disabled: Boolean,
expandIcon: String,
collapseIcon: String,
lines: {
type: [Boolean, String],
default: "one"
},
slim: Boolean,
nav: Boolean,
...makeNestedProps({
selectStrategy: "single-leaf",
openStrategy: "list"
}),
...makeBorderProps(),
...makeComponentProps(),
...makeDensityProps(),
...makeDimensionProps(),
...makeElevationProps(),
itemType: {
type: String,
default: "type"
},
...makeItemsProps(),
...makeRoundedProps(),
...makeTagProps(),
...makeThemeProps(),
...makeVariantProps({
variant: "text"
})
}, "VList");
var VList = genericComponent()({
name: "VList",
props: makeVListProps(),
emits: {
"update:selected": (value) => true,
"update:opened": (value) => true,
"click:open": (value) => true,
"click:select": (value) => true
},
setup(props, _ref) {
let {
slots
} = _ref;
const {
items
} = useListItems(props);
const {
themeClasses
} = provideTheme(props);
const {
backgroundColorClasses,
backgroundColorStyles
} = useBackgroundColor(toRef(props, "bgColor"));
const {
borderClasses
} = useBorder(props);
const {
densityClasses
} = useDensity(props);
const {
dimensionStyles
} = useDimension(props);
const {
elevationClasses
} = useElevation(props);
const {
roundedClasses
} = useRounded(props);
const {
open,
select
} = useNested(props);
const lineClasses = computed(() => props.lines ? `v-list--${props.lines}-line` : void 0);
const activeColor = toRef(props, "activeColor");
const baseColor = toRef(props, "baseColor");
const color = toRef(props, "color");
createList();
provideDefaults({
VListGroup: {
activeColor,
baseColor,
color,
expandIcon: toRef(props, "expandIcon"),
collapseIcon: toRef(props, "collapseIcon")
},
VListItem: {
activeClass: toRef(props, "activeClass"),
activeColor,
baseColor,
color,
density: toRef(props, "density"),
disabled: toRef(props, "disabled"),
lines: toRef(props, "lines"),
nav: toRef(props, "nav"),
slim: toRef(props, "slim"),
variant: toRef(props, "variant")
}
});
const isFocused = shallowRef(false);
const contentRef = ref();
function onFocusin(e) {
isFocused.value = true;
}
function onFocusout(e) {
isFocused.value = false;
}
function onFocus(e) {
var _a;
if (!isFocused.value && !(e.relatedTarget && ((_a = contentRef.value) == null ? void 0 : _a.contains(e.relatedTarget)))) focus();
}
function onKeydown(e) {
if (!contentRef.value) return;
if (e.key === "ArrowDown") {
focus("next");
} else if (e.key === "ArrowUp") {
focus("prev");
} else if (e.key === "Home") {
focus("first");
} else if (e.key === "End") {
focus("last");
} else {
return;
}
e.preventDefault();
}
function onMousedown(e) {
isFocused.value = true;
}
function focus(location) {
if (contentRef.value) {
return focusChild(contentRef.value, location);
}
}
useRender(() => {
return createVNode(props.tag, {
"ref": contentRef,
"class": ["v-list", {
"v-list--disabled": props.disabled,
"v-list--nav": props.nav,
"v-list--slim": props.slim
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, props.class],
"style": [backgroundColorStyles.value, dimensionStyles.value, props.style],
"tabindex": props.disabled || isFocused.value ? -1 : 0,
"role": "listbox",
"aria-activedescendant": void 0,
"onFocusin": onFocusin,
"onFocusout": onFocusout,
"onFocus": onFocus,
"onKeydown": onKeydown,
"onMousedown": onMousedown
}, {
default: () => [createVNode(VListChildren, {
"items": items.value,
"returnObject": props.returnObject
}, slots)]
});
});
return {
open,
select,
focus
};
}
});
// node_modules/vuetify/lib/components/VList/VListImg.mjs
var VListImg = createSimpleFunctional("v-list-img");
// node_modules/vuetify/lib/components/VList/VListItemAction.mjs
var makeVListItemActionProps = propsFactory({
start: Boolean,
end: Boolean,
...makeComponentProps(),
...makeTagProps()
}, "VListItemAction");
var VListItemAction = genericComponent()({
name: "VListItemAction",
props: makeVListItemActionProps(),
setup(props, _ref) {
let {
slots
} = _ref;
useRender(() => createVNode(props.tag, {
"class": ["v-list-item-action", {
"v-list-item-action--start": props.start,
"v-list-item-action--end": props.end
}, props.class],
"style": props.style
}, slots));
return {};
}
});
// node_modules/vuetify/lib/components/VList/VListItemMedia.mjs
var makeVListItemMediaProps = propsFactory({
start: Boolean,
end: Boolean,
...makeComponentProps(),
...makeTagProps()
}, "VListItemMedia");
var VListItemMedia = genericComponent()({
name: "VListItemMedia",
props: makeVListItemMediaProps(),
setup(props, _ref) {
let {
slots
} = _ref;
useRender(() => {
return createVNode(props.tag, {
"class": ["v-list-item-media", {
"v-list-item-media--start": props.start,
"v-list-item-media--end": props.end
}, props.class],
"style": props.style
}, slots);
});
return {};
}
});
export {
VListGroup,
VListItemSubtitle,
VListItemTitle,
VListItem,
VListSubheader,
makeItemsProps,
useItems,
VList,
VListImg,
VListItemAction,
VListItemMedia
};
//# sourceMappingURL=chunk-GCLA33SA.js.map