113 lines
3.5 KiB
JavaScript
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
|