{"version":3,"file":"layout-8cb4df59.js","sources":["../../../node_modules/vuetify/lib/composables/layout.mjs"],"sourcesContent":["// Composables\nimport { useResizeObserver } from \"./resizeObserver.mjs\"; // Utilities\nimport { computed, inject, onActivated, onBeforeUnmount, onDeactivated, onMounted, provide, reactive, ref, shallowRef } from 'vue';\nimport { convertToUnit, findChildrenWithProvide, getCurrentInstance, getUid, propsFactory } from \"../util/index.mjs\"; // Types\nexport const VuetifyLayoutKey = Symbol.for('vuetify:layout');\nexport const VuetifyLayoutItemKey = Symbol.for('vuetify:layout-item');\nconst ROOT_ZINDEX = 1000;\nexport const makeLayoutProps = propsFactory({\n overlaps: {\n type: Array,\n default: () => []\n },\n fullHeight: Boolean\n}, 'layout');\n\n// Composables\nexport const makeLayoutItemProps = propsFactory({\n name: {\n type: String\n },\n order: {\n type: [Number, String],\n default: 0\n },\n absolute: Boolean\n}, 'layout-item');\nexport function useLayout() {\n const layout = inject(VuetifyLayoutKey);\n if (!layout) throw new Error('[Vuetify] Could not find injected layout');\n return {\n getLayoutItem: layout.getLayoutItem,\n mainRect: layout.mainRect,\n mainStyles: layout.mainStyles\n };\n}\nexport function useLayoutItem(options) {\n const layout = inject(VuetifyLayoutKey);\n if (!layout) throw new Error('[Vuetify] Could not find injected layout');\n const id = options.id ?? `layout-item-${getUid()}`;\n const vm = getCurrentInstance('useLayoutItem');\n provide(VuetifyLayoutItemKey, {\n id\n });\n const isKeptAlive = shallowRef(false);\n onDeactivated(() => isKeptAlive.value = true);\n onActivated(() => isKeptAlive.value = false);\n const {\n layoutItemStyles,\n layoutItemScrimStyles\n } = layout.register(vm, {\n ...options,\n active: computed(() => isKeptAlive.value ? false : options.active.value),\n id\n });\n onBeforeUnmount(() => layout.unregister(id));\n return {\n layoutItemStyles,\n layoutRect: layout.layoutRect,\n layoutItemScrimStyles\n };\n}\nconst generateLayers = (layout, positions, layoutSizes, activeItems) => {\n let previousLayer = {\n top: 0,\n left: 0,\n right: 0,\n bottom: 0\n };\n const layers = [{\n id: '',\n layer: {\n ...previousLayer\n }\n }];\n for (const id of layout) {\n const position = positions.get(id);\n const amount = layoutSizes.get(id);\n const active = activeItems.get(id);\n if (!position || !amount || !active) continue;\n const layer = {\n ...previousLayer,\n [position.value]: parseInt(previousLayer[position.value], 10) + (active.value ? parseInt(amount.value, 10) : 0)\n };\n layers.push({\n id,\n layer\n });\n previousLayer = layer;\n }\n return layers;\n};\nexport function createLayout(props) {\n const parentLayout = inject(VuetifyLayoutKey, null);\n const rootZIndex = computed(() => parentLayout ? parentLayout.rootZIndex.value - 100 : ROOT_ZINDEX);\n const registered = ref([]);\n const positions = reactive(new Map());\n const layoutSizes = reactive(new Map());\n const priorities = reactive(new Map());\n const activeItems = reactive(new Map());\n const disabledTransitions = reactive(new Map());\n const {\n resizeRef,\n contentRect: layoutRect\n } = useResizeObserver();\n const computedOverlaps = computed(() => {\n const map = new Map();\n const overlaps = props.overlaps ?? [];\n for (const overlap of overlaps.filter(item => item.includes(':'))) {\n const [top, bottom] = overlap.split(':');\n if (!registered.value.includes(top) || !registered.value.includes(bottom)) continue;\n const topPosition = positions.get(top);\n const bottomPosition = positions.get(bottom);\n const topAmount = layoutSizes.get(top);\n const bottomAmount = layoutSizes.get(bottom);\n if (!topPosition || !bottomPosition || !topAmount || !bottomAmount) continue;\n map.set(bottom, {\n position: topPosition.value,\n amount: parseInt(topAmount.value, 10)\n });\n map.set(top, {\n position: bottomPosition.value,\n amount: -parseInt(bottomAmount.value, 10)\n });\n }\n return map;\n });\n const layers = computed(() => {\n const uniquePriorities = [...new Set([...priorities.values()].map(p => p.value))].sort((a, b) => a - b);\n const layout = [];\n for (const p of uniquePriorities) {\n const items = registered.value.filter(id => priorities.get(id)?.value === p);\n layout.push(...items);\n }\n return generateLayers(layout, positions, layoutSizes, activeItems);\n });\n const transitionsEnabled = computed(() => {\n return !Array.from(disabledTransitions.values()).some(ref => ref.value);\n });\n const mainRect = computed(() => {\n return layers.value[layers.value.length - 1].layer;\n });\n const mainStyles = computed(() => {\n return {\n '--v-layout-left': convertToUnit(mainRect.value.left),\n '--v-layout-right': convertToUnit(mainRect.value.right),\n '--v-layout-top': convertToUnit(mainRect.value.top),\n '--v-layout-bottom': convertToUnit(mainRect.value.bottom),\n ...(transitionsEnabled.value ? undefined : {\n transition: 'none'\n })\n };\n });\n const items = computed(() => {\n return layers.value.slice(1).map((_ref, index) => {\n let {\n id\n } = _ref;\n const {\n layer\n } = layers.value[index];\n const size = layoutSizes.get(id);\n const position = positions.get(id);\n return {\n id,\n ...layer,\n size: Number(size.value),\n position: position.value\n };\n });\n });\n const getLayoutItem = id => {\n return items.value.find(item => item.id === id);\n };\n const rootVm = getCurrentInstance('createLayout');\n const isMounted = shallowRef(false);\n onMounted(() => {\n isMounted.value = true;\n });\n provide(VuetifyLayoutKey, {\n register: (vm, _ref2) => {\n let {\n id,\n order,\n position,\n layoutSize,\n elementSize,\n active,\n disableTransitions,\n absolute\n } = _ref2;\n priorities.set(id, order);\n positions.set(id, position);\n layoutSizes.set(id, layoutSize);\n activeItems.set(id, active);\n disableTransitions && disabledTransitions.set(id, disableTransitions);\n const instances = findChildrenWithProvide(VuetifyLayoutItemKey, rootVm?.vnode);\n const instanceIndex = instances.indexOf(vm);\n if (instanceIndex > -1) registered.value.splice(instanceIndex, 0, id);else registered.value.push(id);\n const index = computed(() => items.value.findIndex(i => i.id === id));\n const zIndex = computed(() => rootZIndex.value + layers.value.length * 2 - index.value * 2);\n const layoutItemStyles = computed(() => {\n const isHorizontal = position.value === 'left' || position.value === 'right';\n const isOppositeHorizontal = position.value === 'right';\n const isOppositeVertical = position.value === 'bottom';\n const styles = {\n [position.value]: 0,\n zIndex: zIndex.value,\n transform: `translate${isHorizontal ? 'X' : 'Y'}(${(active.value ? 0 : -110) * (isOppositeHorizontal || isOppositeVertical ? -1 : 1)}%)`,\n position: absolute.value || rootZIndex.value !== ROOT_ZINDEX ? 'absolute' : 'fixed',\n ...(transitionsEnabled.value ? undefined : {\n transition: 'none'\n })\n };\n if (!isMounted.value) return styles;\n const item = items.value[index.value];\n if (!item) throw new Error(`[Vuetify] Could not find layout item \"${id}\"`);\n const overlap = computedOverlaps.value.get(id);\n if (overlap) {\n item[overlap.position] += overlap.amount;\n }\n return {\n ...styles,\n height: isHorizontal ? `calc(100% - ${item.top}px - ${item.bottom}px)` : elementSize.value ? `${elementSize.value}px` : undefined,\n left: isOppositeHorizontal ? undefined : `${item.left}px`,\n right: isOppositeHorizontal ? `${item.right}px` : undefined,\n top: position.value !== 'bottom' ? `${item.top}px` : undefined,\n bottom: position.value !== 'top' ? `${item.bottom}px` : undefined,\n width: !isHorizontal ? `calc(100% - ${item.left}px - ${item.right}px)` : elementSize.value ? `${elementSize.value}px` : undefined\n };\n });\n const layoutItemScrimStyles = computed(() => ({\n zIndex: zIndex.value - 1\n }));\n return {\n layoutItemStyles,\n layoutItemScrimStyles,\n zIndex\n };\n },\n unregister: id => {\n priorities.delete(id);\n positions.delete(id);\n layoutSizes.delete(id);\n activeItems.delete(id);\n disabledTransitions.delete(id);\n registered.value = registered.value.filter(v => v !== id);\n },\n mainRect,\n mainStyles,\n getLayoutItem,\n items,\n layoutRect,\n rootZIndex\n });\n const layoutClasses = computed(() => ['v-layout', {\n 'v-layout--full-height': props.fullHeight\n }]);\n const layoutStyles = computed(() => ({\n zIndex: rootZIndex.value,\n position: parentLayout ? 'relative' : undefined,\n overflow: parentLayout ? 'hidden' : undefined\n }));\n return {\n layoutClasses,\n layoutStyles,\n getLayoutItem,\n items,\n layoutRect,\n layoutRef: resizeRef\n };\n}\n//# sourceMappingURL=layout.mjs.map"],"names":["VuetifyLayoutKey","VuetifyLayoutItemKey","ROOT_ZINDEX","makeLayoutProps","propsFactory","makeLayoutItemProps","useLayoutItem","options","layout","inject","id","getUid","vm","getCurrentInstance","provide","isKeptAlive","shallowRef","onDeactivated","onActivated","layoutItemStyles","layoutItemScrimStyles","computed","onBeforeUnmount","generateLayers","positions","layoutSizes","activeItems","previousLayer","layers","position","amount","active","layer","createLayout","props","parentLayout","rootZIndex","registered","ref","reactive","priorities","disabledTransitions","resizeRef","layoutRect","useResizeObserver","computedOverlaps","map","overlaps","overlap","item","top","bottom","topPosition","bottomPosition","topAmount","bottomAmount","uniquePriorities","p","a","b","items","_a","transitionsEnabled","mainRect","mainStyles","convertToUnit","_ref","index","size","getLayoutItem","rootVm","isMounted","onMounted","_ref2","order","layoutSize","elementSize","disableTransitions","absolute","instanceIndex","findChildrenWithProvide","i","zIndex","isHorizontal","isOppositeHorizontal","isOppositeVertical","styles","v","layoutClasses","layoutStyles"],"mappings":"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","x_google_ignoreList":[0]}