Files
2026-01-09 19:24:41 +00:00

113 lines
3.5 KiB
JavaScript

import {
useTextColor
} from "./chunk-BHV5Z34M.js";
import {
makeThemeProps,
provideTheme
} from "./chunk-3DSR7NCB.js";
import {
convertToUnit,
genericComponent,
makeComponentProps,
propsFactory,
useRender
} from "./chunk-LZ5T2ERG.js";
import {
computed,
createBaseVNode,
normalizeClass,
normalizeStyle,
toRef
} from "./chunk-2MKFL3BX.js";
// node_modules/vuetify/lib/components/VDivider/VDivider.js
import "/home/david/gitea_repo/personal_development/ServerManagerWebApp/frontend/node_modules/vuetify/lib/components/VDivider/VDivider.css";
var allowedVariants = ["dotted", "dashed", "solid", "double"];
var makeVDividerProps = propsFactory({
color: String,
contentOffset: [Number, String, Array],
gradient: Boolean,
inset: Boolean,
length: [Number, String],
opacity: [Number, String],
thickness: [Number, String],
vertical: Boolean,
variant: {
type: String,
default: "solid",
validator: (v) => allowedVariants.includes(v)
},
...makeComponentProps(),
...makeThemeProps()
}, "VDivider");
var VDivider = genericComponent()({
name: "VDivider",
props: makeVDividerProps(),
setup(props, _ref) {
let {
attrs,
slots
} = _ref;
const {
themeClasses
} = provideTheme(props);
const {
textColorClasses,
textColorStyles
} = useTextColor(() => props.color);
const dividerStyles = computed(() => {
const styles = {};
if (props.length) {
styles[props.vertical ? "height" : "width"] = convertToUnit(props.length);
}
if (props.thickness) {
styles[props.vertical ? "borderRightWidth" : "borderTopWidth"] = convertToUnit(props.thickness);
}
return styles;
});
const contentStyles = toRef(() => {
const margin = Array.isArray(props.contentOffset) ? props.contentOffset[0] : props.contentOffset;
const shift = Array.isArray(props.contentOffset) ? props.contentOffset[1] : 0;
return {
marginBlock: props.vertical && margin ? convertToUnit(margin) : void 0,
marginInline: !props.vertical && margin ? convertToUnit(margin) : void 0,
transform: shift ? `translate${props.vertical ? "X" : "Y"}(${convertToUnit(shift)})` : void 0
};
});
useRender(() => {
const divider = createBaseVNode("hr", {
"class": normalizeClass([{
"v-divider": true,
"v-divider--gradient": props.gradient && !slots.default,
"v-divider--inset": props.inset,
"v-divider--vertical": props.vertical
}, themeClasses.value, textColorClasses.value, props.class]),
"style": normalizeStyle([dividerStyles.value, textColorStyles.value, {
"--v-border-opacity": props.opacity
}, {
"border-style": props.variant
}, props.style]),
"aria-orientation": !attrs.role || attrs.role === "separator" ? props.vertical ? "vertical" : "horizontal" : void 0,
"role": `${attrs.role || "separator"}`
}, null);
if (!slots.default) return divider;
return createBaseVNode("div", {
"class": normalizeClass(["v-divider__wrapper", {
"v-divider__wrapper--gradient": props.gradient,
"v-divider__wrapper--inset": props.inset,
"v-divider__wrapper--vertical": props.vertical
}])
}, [divider, createBaseVNode("div", {
"class": "v-divider__content",
"style": normalizeStyle(contentStyles.value)
}, [slots.default()]), divider]);
});
return {};
}
});
export {
VDivider
};
//# sourceMappingURL=chunk-X3WY3J75.js.map