1import { g as computed, un as isRef, wn as toRef } from "./DDznFIea.js"; 2import { B as includes, Et as isNullOrUndefined, S as convertToUnit, f as getCurrentInstanceName, kt as isString, m as propsFactory } from "./pEdJQanB.js"; 3import { o as useRtl } from "./BJ-zsW-U.js"; 4//#region node_modules/vuetify/lib/util/anchor.js 5var block = ["top", "bottom"]; 6var inline = [ 7 "start", 8 "end", 9 "left", 10 "right" 11]; 12/** Parse a raw anchor string into an object */ 13function parseAnchor(anchor, isRtl) { 14 let [side, align] = anchor.split(" "); 15 if (!align) align = includes(block, side) ? "start" : includes(inline, side) ? "top" : "center"; 16 return { 17 side: toPhysical(side, isRtl), 18 align: toPhysical(align, isRtl) 19 }; 20} 21function toPhysical(str, isRtl) { 22 if (str === "start") return isRtl ? "right" : "left"; 23 if (str === "end") return isRtl ? "left" : "right"; 24 return str; 25} 26function flipSide(anchor) { 27 return { 28 side: { 29 center: "center", 30 top: "bottom", 31 bottom: "top", 32 left: "right", 33 right: "left" 34 }[anchor.side], 35 align: anchor.align 36 }; 37} 38function flipAlign(anchor) { 39 return { 40 side: anchor.side, 41 align: { 42 center: "center", 43 top: "bottom", 44 bottom: "top", 45 left: "right", 46 right: "left" 47 }[anchor.align] 48 }; 49} 50function flipCorner(anchor) { 51 return { 52 side: anchor.align, 53 align: anchor.side 54 }; 55} 56function getAxis(anchor) { 57 return includes(block, anchor.side) ? "y" : "x"; 58} 59//#endregion 60//#region node_modules/vuetify/lib/composables/border.js 61var makeBorderProps = propsFactory({ border: [ 62 Boolean, 63 Number, 64 String 65] }, "border"); 66function useBorder(props, name = getCurrentInstanceName()) { 67 return { borderClasses: computed(() => { 68 const border = props.border; 69 if (border === true || border === "") return `${name}--border`; 70 else if (isString(border) || border === 0) return String(border).split(" ").map((v) => `border-${v}`); 71 return []; 72 }) }; 73} 74//#endregion 75//#region node_modules/vuetify/lib/composables/elevation.js 76var makeElevationProps = propsFactory({ 77 elevation: { 78 type: [Number, String], 79 validator: (value) => parseInt(value) >= 0 80 }, 81 hoverElevation: { 82 type: [Number, String], 83 validator: (value) => parseInt(value) >= 0 84 } 85}, "elevation"); 86function useElevation(props) { 87 return { elevationClasses: toRef(() => { 88 const elevation = isRef(props) ? props.value : props.elevation; 89 const hoverElevation = isRef(props) ? null : props.hoverElevation; 90 return [...isNullOrUndefined(elevation) ? [] : [`elevation-${parseInt(elevation)}`], ...isNullOrUndefined(hoverElevation) ? [] : [`hover-elevation-${parseInt(hoverElevation)}`]]; 91 }) }; 92} 93//#endregion 94//#region node_modules/vuetify/lib/composables/rounded.js 95var CSS_LENGTH = /^-?\d*\.?\d+([a-z%]{0,4})$/i; 96function splitTokens(v) { 97 return String(v).trim().split(/\s+/); 98} 99function isCssLength(token) { 100 return token.toLowerCase().match(CSS_LENGTH)?.at(1)?.startsWith("x") === false; 101} 102function isCssValue(v) { 103 return typeof v === "string" && !!v && (v.includes("(") || splitTokens(v).every(isCssLength)); 104} 105var makeRoundedProps = propsFactory({ 106 rounded: { 107 type: [ 108 Boolean, 109 Number, 110 String 111 ], 112 default: void 0 113 }, 114 tile: Boolean 115}, "rounded"); 116function useRounded(props, name = getCurrentInstanceName()) { 117 return {
118 roundedClasses: computed(() => { 119 const rounded = isRef(props) ? props.value : props.rounded; 120 const tile = isRef(props) ? false : props.tile; 121 const classes = []; 122 if (tile || rounded === false || String(rounded) === "0") classes.push("rounded-0"); 123 else if (rounded === true || rounded === "") classes.push(`${name}--rounded`); 124 else if (isString(rounded) && !isCssValue(rounded)) for (const value of splitTokens(rounded)) classes.push(`rounded-${value}`); 125 return classes; 126 }), 127 roundedStyles: computed(() => { 128 const rounded = isRef(props) ? props.value : props.rounded; 129 if ((!isCssValue(rounded) || String(rounded) === "0") && !(typeof rounded === "number" && rounded !== 0)) return {}; 130 return { borderRadius: convertToUnit(rounded) }; 131 }) 132 }; 133} 134//#endregion 135//#region node_modules/vuetify/lib/composables/location.js 136var oppositeMap = { 137 center: "center", 138 top: "bottom", 139 bottom: "top", 140 left: "right", 141 right: "left" 142}; 143var makeLocationProps = propsFactory({ location: String }, "location"); 144function useLocation(props, opposite = false, offset) { 145 const { isRtl } = useRtl(); 146 return { locationStyles: computed(() => { 147 if (!props.location) return {}; 148 const { side, align } = parseAnchor(props.location.split(" ").length > 1 ? props.location : `${props.location} center`, isRtl.value); 149 function getOffset(side) { 150 return offset ? offset(side) : 0; 151 } 152 const styles = {}; 153 if (side !== "center") { 154 if (opposite) styles[oppositeMap[side]] = `calc(100% - ${getOffset(side)}px)`; 155 else styles[side] = 0; 156 } 157 if (align !== "center") { 158 if (opposite) styles[oppositeMap[align]] = `calc(100% - ${getOffset(align)}px)`; 159 else styles[align] = 0; 160 } else { 161 if (side === "center") styles.top = styles.left = "50%"; 162 else styles[{ 163 top: "left", 164 bottom: "left",
165 left: "top", 166 right: "top" 167 }[side]] = "50%"; 168 styles.transform = { 169 top: "translateX(-50%)", 170 bottom: "translateX(-50%)", 171 left: "translateY(-50%)", 172 right: "translateY(-50%)", 173 center: "translate(-50%, -50%)" 174 }[side]; 175 } 176 return styles; 177 }) }; 178} 179//#endregion 180//#region node_modules/vuetify/lib/composables/position.js 181var positionValues = [ 182 "static", 183 "relative", 184 "fixed", 185 "absolute", 186 "sticky" 187]; 188var makePositionProps = propsFactory({ position: { 189 type: String, 190 validator: /* istanbul ignore next */ (v) => positionValues.includes(v) 191} }, "position"); 192function usePosition(props, name = getCurrentInstanceName()) { 193 return { positionClasses: toRef(() => { 194 return props.position ? `${name}--${props.position}` : void 0; 195 }) }; 196} 197//#endregion 198export { makeRoundedProps as a, useElevation as c, flipAlign as d, flipCorner as f, toPhysical as g, parseAnchor as h, useLocation as i, makeBorderProps as l, getAxis as m, usePosition as n, useRounded as o, flipSide as p, makeLocationProps as r, makeElevationProps as s, makePositionProps as t, useBorder as u };
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.