{"version":3,"file":"location-3ec71b46.js","sources":["../../../node_modules/vuetify/lib/util/anchor.mjs","../../../node_modules/vuetify/lib/composables/location.mjs"],"sourcesContent":["// Utilities\nimport { includes } from \"./helpers.mjs\";\nconst block = ['top', 'bottom'];\nconst inline = ['start', 'end', 'left', 'right'];\n/** Parse a raw anchor string into an object */\nexport function parseAnchor(anchor, isRtl) {\n let [side, align] = anchor.split(' ');\n if (!align) {\n align = includes(block, side) ? 'start' : includes(inline, side) ? 'top' : 'center';\n }\n return {\n side: toPhysical(side, isRtl),\n align: toPhysical(align, isRtl)\n };\n}\nexport function toPhysical(str, isRtl) {\n if (str === 'start') return isRtl ? 'right' : 'left';\n if (str === 'end') return isRtl ? 'left' : 'right';\n return str;\n}\nexport function flipSide(anchor) {\n return {\n side: {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left'\n }[anchor.side],\n align: anchor.align\n };\n}\nexport function flipAlign(anchor) {\n return {\n side: anchor.side,\n align: {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left'\n }[anchor.align]\n };\n}\nexport function flipCorner(anchor) {\n return {\n side: anchor.align,\n align: anchor.side\n };\n}\nexport function getAxis(anchor) {\n return includes(block, anchor.side) ? 'y' : 'x';\n}\n//# sourceMappingURL=anchor.mjs.map","// Composables\nimport { useRtl } from \"./locale.mjs\"; // Utilities\nimport { computed } from 'vue';\nimport { parseAnchor, propsFactory } from \"../util/index.mjs\"; // Types\nconst oppositeMap = {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left'\n};\nexport const makeLocationProps = propsFactory({\n location: String\n}, 'location');\nexport function useLocation(props) {\n let opposite = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n let offset = arguments.length > 2 ? arguments[2] : undefined;\n const {\n isRtl\n } = useRtl();\n const locationStyles = computed(() => {\n if (!props.location) return {};\n const {\n side,\n align\n } = parseAnchor(props.location.split(' ').length > 1 ? props.location : `${props.location} center`, isRtl.value);\n function getOffset(side) {\n return offset ? offset(side) : 0;\n }\n const styles = {};\n if (side !== 'center') {\n if (opposite) styles[oppositeMap[side]] = `calc(100% - ${getOffset(side)}px)`;else styles[side] = 0;\n }\n if (align !== 'center') {\n if (opposite) styles[oppositeMap[align]] = `calc(100% - ${getOffset(align)}px)`;else styles[align] = 0;\n } else {\n if (side === 'center') styles.top = styles.left = '50%';else {\n styles[{\n top: 'left',\n bottom: 'left',\n left: 'top',\n right: 'top'\n }[side]] = '50%';\n }\n styles.transform = {\n top: 'translateX(-50%)',\n bottom: 'translateX(-50%)',\n left: 'translateY(-50%)',\n right: 'translateY(-50%)',\n center: 'translate(-50%, -50%)'\n }[side];\n }\n return styles;\n });\n return {\n locationStyles\n };\n}\n//# sourceMappingURL=location.mjs.map"],"names":["block","inline","parseAnchor","anchor","isRtl","side","align","includes","toPhysical","str","flipSide","flipAlign","flipCorner","getAxis","oppositeMap","makeLocationProps","propsFactory","useLocation","props","opposite","offset","useRtl","computed","getOffset","styles"],"mappings":"gEAEA,MAAMA,EAAQ,CAAC,MAAO,QAAQ,EACxBC,EAAS,CAAC,QAAS,MAAO,OAAQ,OAAO,EAExC,SAASC,EAAYC,EAAQC,EAAO,CACzC,GAAI,CAACC,EAAMC,CAAK,EAAIH,EAAO,MAAM,GAAG,EACpC,OAAKG,IACHA,EAAQC,EAASP,EAAOK,CAAI,EAAI,QAAUE,EAASN,EAAQI,CAAI,EAAI,MAAQ,UAEtE,CACL,KAAMG,EAAWH,EAAMD,CAAK,EAC5B,MAAOI,EAAWF,EAAOF,CAAK,CAClC,CACA,CACO,SAASI,EAAWC,EAAKL,EAAO,CACrC,OAAIK,IAAQ,QAAgBL,EAAQ,QAAU,OAC1CK,IAAQ,MAAcL,EAAQ,OAAS,QACpCK,CACT,CACO,SAASC,EAASP,EAAQ,CAC/B,MAAO,CACL,KAAM,CACJ,OAAQ,SACR,IAAK,SACL,OAAQ,MACR,KAAM,QACN,MAAO,MACb,EAAMA,EAAO,IAAI,EACb,MAAOA,EAAO,KAClB,CACA,CACO,SAASQ,EAAUR,EAAQ,CAChC,MAAO,CACL,KAAMA,EAAO,KACb,MAAO,CACL,OAAQ,SACR,IAAK,SACL,OAAQ,MACR,KAAM,QACN,MAAO,MACb,EAAMA,EAAO,KAAK,CAClB,CACA,CACO,SAASS,EAAWT,EAAQ,CACjC,MAAO,CACL,KAAMA,EAAO,MACb,MAAOA,EAAO,IAClB,CACA,CACO,SAASU,EAAQV,EAAQ,CAC9B,OAAOI,EAASP,EAAOG,EAAO,IAAI,EAAI,IAAM,GAC9C,CChDA,MAAMW,EAAc,CAClB,OAAQ,SACR,IAAK,SACL,OAAQ,MACR,KAAM,QACN,MAAO,MACT,EACaC,EAAoBC,EAAa,CAC5C,SAAU,MACZ,EAAG,UAAU,EACN,SAASC,EAAYC,EAAO,CACjC,IAAIC,EAAW,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,GAC/EC,EAAS,UAAU,OAAS,EAAI,UAAU,CAAC,EAAI,OACnD,KAAM,CACJ,MAAAhB,CACD,EAAGiB,EAAM,EAmCV,MAAO,CACL,eAnCqBC,EAAS,IAAM,CACpC,GAAI,CAACJ,EAAM,SAAU,MAAO,GAC5B,KAAM,CACJ,KAAAb,EACA,MAAAC,CACN,EAAQJ,EAAYgB,EAAM,SAAS,MAAM,GAAG,EAAE,OAAS,EAAIA,EAAM,SAAW,GAAGA,EAAM,kBAAmBd,EAAM,KAAK,EAC/G,SAASmB,EAAUlB,EAAM,CACvB,OAAOe,EAASA,EAAOf,CAAI,EAAI,CAChC,CACD,MAAMmB,EAAS,CAAA,EACf,OAAInB,IAAS,WACPc,EAAUK,EAAOV,EAAYT,CAAI,CAAC,EAAI,eAAekB,EAAUlB,CAAI,OAAYmB,EAAOnB,CAAI,EAAI,GAEhGC,IAAU,SACRa,EAAUK,EAAOV,EAAYR,CAAK,CAAC,EAAI,eAAeiB,EAAUjB,CAAK,OAAYkB,EAAOlB,CAAK,EAAI,GAEjGD,IAAS,SAAUmB,EAAO,IAAMA,EAAO,KAAO,MAChDA,EAAO,CACL,IAAK,OACL,OAAQ,OACR,KAAM,MACN,MAAO,KACjB,EAAUnB,CAAI,CAAC,EAAI,MAEbmB,EAAO,UAAY,CACjB,IAAK,mBACL,OAAQ,mBACR,KAAM,mBACN,MAAO,mBACP,OAAQ,uBACT,EAACnB,CAAI,GAEDmB,CACX,CAAG,CAGH,CACA","x_google_ignoreList":[0,1]}