import { g as genericComponent, p as propsFactory, L as makeTagProps, m as makeComponentProps, aS as breakpoints } from './server.mjs'; import { computed, h, capitalize } from 'vue'; const breakpointProps = (() => { return breakpoints.reduce((props, val) => { props[val] = { type: [Boolean, String, Number], default: false }; return props; }, {}); })(); const offsetProps = (() => { return breakpoints.reduce((props, val) => { const offsetKey = "offset" + capitalize(val); props[offsetKey] = { type: [String, Number], default: null }; return props; }, {}); })(); const orderProps = (() => { return breakpoints.reduce((props, val) => { const orderKey = "order" + capitalize(val); props[orderKey] = { type: [String, Number], default: null }; return props; }, {}); })(); const propMap$1 = { col: Object.keys(breakpointProps), offset: Object.keys(offsetProps), order: Object.keys(orderProps) }; function breakpointClass$1(type, prop, val) { let className = type; if (val == null || val === false) { return void 0; } if (prop) { const breakpoint = prop.replace(type, ""); className += `-${breakpoint}`; } if (type === "col") { className = "v-" + className; } if (type === "col" && (val === "" || val === true)) { return className.toLowerCase(); } className += `-${val}`; return className.toLowerCase(); } const ALIGN_SELF_VALUES = ["auto", "start", "end", "center", "baseline", "stretch"]; const makeVColProps = propsFactory({ cols: { type: [Boolean, String, Number], default: false }, ...breakpointProps, offset: { type: [String, Number], default: null }, ...offsetProps, order: { type: [String, Number], default: null }, ...orderProps, alignSelf: { type: String, default: null, validator: (str) => ALIGN_SELF_VALUES.includes(str) }, ...makeComponentProps(), ...makeTagProps() }, "VCol"); const VCol = genericComponent()({ name: "VCol", props: makeVColProps(), setup(props, _ref) { let { slots } = _ref; const classes = computed(() => { const classList = []; let type; for (type in propMap$1) { propMap$1[type].forEach((prop) => { const value = props[prop]; const className = breakpointClass$1(type, prop, value); if (className) classList.push(className); }); } const hasColClasses = classList.some((className) => className.startsWith("v-col-")); classList.push({ // Default to .v-col if no other col-{bp}-* classes generated nor `cols` specified. "v-col": !hasColClasses || !props.cols, [`v-col-${props.cols}`]: props.cols, [`offset-${props.offset}`]: props.offset, [`order-${props.order}`]: props.order, [`align-self-${props.alignSelf}`]: props.alignSelf }); return classList; }); return () => { var _a; return h(props.tag, { class: [classes.value, props.class], style: props.style }, (_a = slots.default) == null ? void 0 : _a.call(slots)); }; } }); const ALIGNMENT = ["start", "end", "center"]; const SPACE = ["space-between", "space-around", "space-evenly"]; function makeRowProps(prefix, def) { return breakpoints.reduce((props, val) => { const prefixKey = prefix + capitalize(val); props[prefixKey] = def(); return props; }, {}); } const ALIGN_VALUES = [...ALIGNMENT, "baseline", "stretch"]; const alignValidator = (str) => ALIGN_VALUES.includes(str); const alignProps = makeRowProps("align", () => ({ type: String, default: null, validator: alignValidator })); const JUSTIFY_VALUES = [...ALIGNMENT, ...SPACE]; const justifyValidator = (str) => JUSTIFY_VALUES.includes(str); const justifyProps = makeRowProps("justify", () => ({ type: String, default: null, validator: justifyValidator })); const ALIGN_CONTENT_VALUES = [...ALIGNMENT, ...SPACE, "stretch"]; const alignContentValidator = (str) => ALIGN_CONTENT_VALUES.includes(str); const alignContentProps = makeRowProps("alignContent", () => ({ type: String, default: null, validator: alignContentValidator })); const propMap = { align: Object.keys(alignProps), justify: Object.keys(justifyProps), alignContent: Object.keys(alignContentProps) }; const classMap = { align: "align", justify: "justify", alignContent: "align-content" }; function breakpointClass(type, prop, val) { let className = classMap[type]; if (val == null) { return void 0; } if (prop) { const breakpoint = prop.replace(type, ""); className += `-${breakpoint}`; } className += `-${val}`; return className.toLowerCase(); } const makeVRowProps = propsFactory({ dense: Boolean, noGutters: Boolean, align: { type: String, default: null, validator: alignValidator }, ...alignProps, justify: { type: String, default: null, validator: justifyValidator }, ...justifyProps, alignContent: { type: String, default: null, validator: alignContentValidator }, ...alignContentProps, ...makeComponentProps(), ...makeTagProps() }, "VRow"); const VRow = genericComponent()({ name: "VRow", props: makeVRowProps(), setup(props, _ref) { let { slots } = _ref; const classes = computed(() => { const classList = []; let type; for (type in propMap) { propMap[type].forEach((prop) => { const value = props[prop]; const className = breakpointClass(type, prop, value); if (className) classList.push(className); }); } classList.push({ "v-row--no-gutters": props.noGutters, "v-row--dense": props.dense, [`align-${props.align}`]: props.align, [`justify-${props.justify}`]: props.justify, [`align-content-${props.alignContent}`]: props.alignContent }); return classList; }); return () => { var _a; return h(props.tag, { class: ["v-row", classes.value, props.class], style: props.style }, (_a = slots.default) == null ? void 0 : _a.call(slots)); }; } }); export { VRow as V, VCol as a };