import { makePositionProps, usePosition } from "./chunk-HOEZWRBG.js"; import { VAvatar } from "./chunk-Z3677HMS.js"; import { genOverlays, makeVariantProps, useVariant } from "./chunk-ADXDXPPR.js"; import { VImg } from "./chunk-6CRS5HI4.js"; import { makeBorderProps, useBorder } from "./chunk-X7YBE6PF.js"; import { makeElevationProps, useElevation } from "./chunk-YJD2PNP6.js"; import { LoaderSlot, makeLoaderProps, useLoader } from "./chunk-U2DSRSME.js"; import { makeLocationProps, useLocation } from "./chunk-KTTVT6V2.js"; import { makeDensityProps, useDensity } from "./chunk-TM3MIDYC.js"; import { VIcon } from "./chunk-CMZ4UYUX.js"; import { VDefaultsProvider } from "./chunk-VH7QIDM4.js"; import { makeRoundedProps, useRounded } from "./chunk-AQK3CYVW.js"; import { makeTagProps } from "./chunk-2HZIACSB.js"; import { ripple_default } from "./chunk-5BPWKCNA.js"; import { makeRouterProps, useLink } from "./chunk-573D4TYC.js"; import { makeDimensionProps, useDimension } from "./chunk-6EZKHCRW.js"; import { IconValue } from "./chunk-OJDZBU5D.js"; import { makeThemeProps, provideTheme } from "./chunk-3DSR7NCB.js"; import { createSimpleFunctional, genericComponent, makeComponentProps, propsFactory, provideDefaults, useRender } from "./chunk-LZ5T2ERG.js"; import { Fragment, createBaseVNode, createVNode, mergeProps, normalizeClass, normalizeStyle, shallowRef, toDisplayString, watch, withDirectives } from "./chunk-2MKFL3BX.js"; // node_modules/vuetify/lib/components/VCard/VCard.js import "/home/david/Documents/vscode/personal_development/ServerManagerWebApp/frontend/node_modules/vuetify/lib/components/VCard/VCard.css"; // node_modules/vuetify/lib/components/VCard/VCardActions.js var makeVCardActionsProps = propsFactory({ ...makeComponentProps(), ...makeTagProps() }, "VCardActions"); var VCardActions = genericComponent()({ name: "VCardActions", props: makeVCardActionsProps(), setup(props, _ref) { let { slots } = _ref; provideDefaults({ VBtn: { slim: true, variant: "text" } }); useRender(() => createVNode(props.tag, { "class": normalizeClass(["v-card-actions", props.class]), "style": normalizeStyle(props.style) }, slots)); return {}; } }); // node_modules/vuetify/lib/components/VCard/VCardSubtitle.js var makeVCardSubtitleProps = propsFactory({ opacity: [Number, String], ...makeComponentProps(), ...makeTagProps() }, "VCardSubtitle"); var VCardSubtitle = genericComponent()({ name: "VCardSubtitle", props: makeVCardSubtitleProps(), setup(props, _ref) { let { slots } = _ref; useRender(() => createVNode(props.tag, { "class": normalizeClass(["v-card-subtitle", props.class]), "style": normalizeStyle([{ "--v-card-subtitle-opacity": props.opacity }, props.style]) }, slots)); return {}; } }); // node_modules/vuetify/lib/components/VCard/VCardTitle.js var VCardTitle = createSimpleFunctional("v-card-title"); // node_modules/vuetify/lib/components/VCard/VCardItem.js var makeCardItemProps = propsFactory({ appendAvatar: String, appendIcon: IconValue, prependAvatar: String, prependIcon: IconValue, subtitle: { type: [String, Number, Boolean], default: void 0 }, title: { type: [String, Number, Boolean], default: void 0 }, ...makeComponentProps(), ...makeDensityProps(), ...makeTagProps() }, "VCardItem"); var VCardItem = genericComponent()({ name: "VCardItem", props: makeCardItemProps(), setup(props, _ref) { let { slots } = _ref; useRender(() => { const hasPrependMedia = !!(props.prependAvatar || props.prependIcon); const hasPrepend = !!(hasPrependMedia || slots.prepend); const hasAppendMedia = !!(props.appendAvatar || props.appendIcon); const hasAppend = !!(hasAppendMedia || slots.append); const hasTitle = !!(props.title != null || slots.title); const hasSubtitle = !!(props.subtitle != null || slots.subtitle); return createVNode(props.tag, { "class": normalizeClass(["v-card-item", props.class]), "style": normalizeStyle(props.style) }, { default: () => [hasPrepend && createBaseVNode("div", { "key": "prepend", "class": "v-card-item__prepend" }, [!slots.prepend ? createBaseVNode(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 } } }, slots.prepend)]), createBaseVNode("div", { "class": "v-card-item__content" }, [hasTitle && createVNode(VCardTitle, { "key": "title" }, { default: () => [slots.title?.() ?? toDisplayString(props.title)] }), hasSubtitle && createVNode(VCardSubtitle, { "key": "subtitle" }, { default: () => [slots.subtitle?.() ?? toDisplayString(props.subtitle)] }), slots.default?.()]), hasAppend && createBaseVNode("div", { "key": "append", "class": "v-card-item__append" }, [!slots.append ? createBaseVNode(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 } } }, slots.append)])] }); }); return {}; } }); // node_modules/vuetify/lib/components/VCard/VCardText.js var makeVCardTextProps = propsFactory({ opacity: [Number, String], ...makeComponentProps(), ...makeTagProps() }, "VCardText"); var VCardText = genericComponent()({ name: "VCardText", props: makeVCardTextProps(), setup(props, _ref) { let { slots } = _ref; useRender(() => createVNode(props.tag, { "class": normalizeClass(["v-card-text", props.class]), "style": normalizeStyle([{ "--v-card-text-opacity": props.opacity }, props.style]) }, slots)); return {}; } }); // node_modules/vuetify/lib/components/VCard/VCard.js var makeVCardProps = propsFactory({ appendAvatar: String, appendIcon: IconValue, disabled: Boolean, flat: Boolean, hover: Boolean, image: String, link: { type: Boolean, default: void 0 }, prependAvatar: String, prependIcon: IconValue, ripple: { type: [Boolean, Object], default: true }, subtitle: { type: [String, Number, Boolean], default: void 0 }, text: { type: [String, Number, Boolean], default: void 0 }, title: { type: [String, Number, Boolean], default: void 0 }, ...makeBorderProps(), ...makeComponentProps(), ...makeDensityProps(), ...makeDimensionProps(), ...makeElevationProps(), ...makeLoaderProps(), ...makeLocationProps(), ...makePositionProps(), ...makeRoundedProps(), ...makeRouterProps(), ...makeTagProps(), ...makeThemeProps(), ...makeVariantProps({ variant: "elevated" }) }, "VCard"); var VCard = genericComponent()({ name: "VCard", directives: { vRipple: ripple_default }, props: makeVCardProps(), setup(props, _ref) { let { attrs, slots } = _ref; const { themeClasses } = provideTheme(props); const { borderClasses } = useBorder(props); const { colorClasses, colorStyles, variantClasses } = useVariant(props); const { densityClasses } = useDensity(props); const { dimensionStyles } = useDimension(props); const { elevationClasses } = useElevation(props); const { loaderClasses } = useLoader(props); const { locationStyles } = useLocation(props); const { positionClasses } = usePosition(props); const { roundedClasses } = useRounded(props); const link = useLink(props, attrs); const loadingColor = shallowRef(void 0); watch(() => props.loading, (val, old) => { loadingColor.value = !val && typeof old === "string" ? old : typeof val === "boolean" ? void 0 : val; }, { immediate: true }); useRender(() => { const isLink = props.link !== false && link.isLink.value; const isClickable = !props.disabled && props.link !== false && (props.link || link.isClickable.value); const Tag = isLink ? "a" : props.tag; const hasTitle = !!(slots.title || props.title != null); const hasSubtitle = !!(slots.subtitle || props.subtitle != null); const hasHeader = hasTitle || hasSubtitle; const hasAppend = !!(slots.append || props.appendAvatar || props.appendIcon); const hasPrepend = !!(slots.prepend || props.prependAvatar || props.prependIcon); const hasImage = !!(slots.image || props.image); const hasCardItem = hasHeader || hasPrepend || hasAppend; const hasText = !!(slots.text || props.text != null); return withDirectives(createVNode(Tag, mergeProps(link.linkProps, { "class": ["v-card", { "v-card--disabled": props.disabled, "v-card--flat": props.flat, "v-card--hover": props.hover && !(props.disabled || props.flat), "v-card--link": isClickable }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class], "style": [colorStyles.value, dimensionStyles.value, locationStyles.value, props.style], "onClick": isClickable && link.navigate, "tabindex": props.disabled ? -1 : void 0 }), { default: () => [hasImage && createBaseVNode("div", { "key": "image", "class": "v-card__image" }, [!slots.image ? createVNode(VImg, { "key": "image-img", "cover": true, "src": props.image }, null) : createVNode(VDefaultsProvider, { "key": "image-defaults", "disabled": !props.image, "defaults": { VImg: { cover: true, src: props.image } } }, slots.image)]), createVNode(LoaderSlot, { "name": "v-card", "active": !!props.loading, "color": loadingColor.value }, { default: slots.loader }), hasCardItem && createVNode(VCardItem, { "key": "item", "prependAvatar": props.prependAvatar, "prependIcon": props.prependIcon, "title": props.title, "subtitle": props.subtitle, "appendAvatar": props.appendAvatar, "appendIcon": props.appendIcon }, { default: slots.item, prepend: slots.prepend, title: slots.title, subtitle: slots.subtitle, append: slots.append }), hasText && createVNode(VCardText, { "key": "text" }, { default: () => [slots.text?.() ?? props.text] }), slots.default?.(), slots.actions && createVNode(VCardActions, null, { default: slots.actions }), genOverlays(isClickable, "v-card")] }), [[ripple_default, isClickable && props.ripple]]); }); return {}; } }); export { VCardActions, VCardSubtitle, VCardTitle, VCardItem, VCardText, VCard }; //# sourceMappingURL=chunk-MPVSDM4V.js.map