Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
package.lib.composables.layout.mjs.map Maven / Gradle / Ivy
{"version":3,"file":"layout.mjs","names":["useResizeObserver","computed","inject","nextTick","onActivated","onBeforeUnmount","onDeactivated","provide","reactive","ref","shallowRef","convertToUnit","eagerComputed","findChildrenWithProvide","getCurrentInstance","getUid","propsFactory","VuetifyLayoutKey","Symbol","for","VuetifyLayoutItemKey","ROOT_ZINDEX","makeLayoutProps","overlaps","type","Array","default","fullHeight","Boolean","makeLayoutItemProps","name","String","order","Number","absolute","useLayout","layout","Error","layoutIsReady","getLayoutItem","mainRect","mainStyles","useLayoutItem","options","id","vm","isKeptAlive","value","layoutItemStyles","layoutItemScrimStyles","register","active","unregister","layoutRect","generateLayers","positions","layoutSizes","activeItems","previousLayer","top","left","right","bottom","layers","layer","position","get","amount","parseInt","push","createLayout","props","parentLayout","rootZIndex","registered","Map","priorities","disabledTransitions","resizeRef","contentRect","uniquePriorities","Set","values","map","p","sort","a","b","items","filter","transitionsEnabled","from","some","length","undefined","transition","slice","_ref","index","size","find","item","rootVm","_ref2","layoutSize","elementSize","disableTransitions","set","instances","vnode","instanceIndex","indexOf","splice","findIndex","i","zIndex","isHorizontal","isOppositeHorizontal","isOppositeVertical","unit","styles","transform","height","width","delete","v","layoutClasses","layoutStyles","overflow","layoutRef"],"sources":["../../src/composables/layout.ts"],"sourcesContent":["// Composables\nimport { useResizeObserver } from '@/composables/resizeObserver'\n\n// Utilities\nimport {\n computed,\n inject,\n nextTick,\n onActivated,\n onBeforeUnmount,\n onDeactivated,\n provide,\n reactive,\n ref,\n shallowRef,\n} from 'vue'\nimport { convertToUnit, eagerComputed, findChildrenWithProvide, getCurrentInstance, getUid, propsFactory } from '@/util'\n\n// Types\nimport type { ComponentInternalInstance, CSSProperties, InjectionKey, Prop, Ref } from 'vue'\n\nexport type Position = 'top' | 'left' | 'right' | 'bottom'\n\ninterface Layer {\n top: number\n bottom: number\n left: number\n right: number\n}\n\ninterface LayoutItem extends Layer {\n id: string\n size: number\n position: Position\n}\n\ninterface LayoutProvide {\n register: (\n vm: ComponentInternalInstance,\n options: {\n id: string\n order: Ref\n position: Ref\n layoutSize: Ref\n elementSize: Ref\n active: Ref\n disableTransitions?: Ref\n absolute: Ref\n }\n ) => {\n layoutItemStyles: Ref\n layoutItemScrimStyles: Ref\n zIndex: Ref\n }\n unregister: (id: string) => void\n mainRect: Ref\n mainStyles: Ref\n getLayoutItem: (id: string) => LayoutItem | undefined\n items: Ref\n layoutRect: Ref\n rootZIndex: Ref\n layoutIsReady: Promise\n}\n\nexport const VuetifyLayoutKey: InjectionKey = Symbol.for('vuetify:layout')\nexport const VuetifyLayoutItemKey: InjectionKey<{ id: string }> = Symbol.for('vuetify:layout-item')\n\nconst ROOT_ZINDEX = 1000\n\nexport const makeLayoutProps = propsFactory({\n overlaps: {\n type: Array,\n default: () => ([]),\n } as Prop,\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')\n\nexport function useLayout () {\n const layout = inject(VuetifyLayoutKey)\n\n if (!layout) throw new Error('[Vuetify] Could not find injected layout')\n\n const layoutIsReady = nextTick()\n\n return {\n layoutIsReady,\n getLayoutItem: layout.getLayoutItem,\n mainRect: layout.mainRect,\n mainStyles: layout.mainStyles,\n }\n}\n\nexport function useLayoutItem (options: {\n id: string | undefined\n order: Ref\n position: Ref\n layoutSize: Ref\n elementSize: Ref\n active: Ref\n disableTransitions?: Ref\n absolute: Ref\n}) {\n const layout = inject(VuetifyLayoutKey)\n\n if (!layout) throw new Error('[Vuetify] Could not find injected layout')\n\n const id = options.id ?? `layout-item-${getUid()}`\n\n const vm = getCurrentInstance('useLayoutItem')\n\n provide(VuetifyLayoutItemKey, { id })\n\n const isKeptAlive = shallowRef(false)\n onDeactivated(() => isKeptAlive.value = true)\n onActivated(() => isKeptAlive.value = false)\n\n const layoutIsReady = nextTick()\n\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\n onBeforeUnmount(() => layout.unregister(id))\n\n return { layoutItemStyles, layoutRect: layout.layoutRect, layoutItemScrimStyles, layoutIsReady }\n}\n\nconst generateLayers = (\n layout: string[],\n positions: Map>,\n layoutSizes: Map>,\n activeItems: Map>,\n): { id: string, layer: Layer }[] => {\n let previousLayer: Layer = { top: 0, left: 0, right: 0, bottom: 0 }\n const layers = [{ id: '', layer: { ...previousLayer } }]\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\n const layer = {\n ...previousLayer,\n [position.value]: parseInt(previousLayer[position.value], 10) + (active.value ? parseInt(amount.value, 10) : 0),\n }\n\n layers.push({\n id,\n layer,\n })\n\n previousLayer = layer\n }\n\n return layers\n}\n\nexport function createLayout (props: { overlaps?: string[], fullHeight?: boolean }) {\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 { resizeRef, contentRect: layoutRect } = useResizeObserver()\n\n const layers = eagerComputed(() => {\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\n const transitionsEnabled = computed(() => {\n return !Array.from(disabledTransitions.values()).some(ref => ref.value)\n })\n\n const mainRect = computed(() => {\n return layers.value[layers.value.length - 1].layer\n })\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 : { transition: 'none' }),\n }\n })\n\n const items = eagerComputed(() => {\n return layers.value.slice(1).map(({ id }, index) => {\n const { layer } = layers.value[index]\n const size = layoutSizes.get(id)\n const position = positions.get(id)\n\n return {\n id,\n ...layer,\n size: Number(size!.value),\n position: position!.value,\n }\n })\n })\n\n const getLayoutItem = (id: string) => {\n return items.value.find(item => item.id === id)\n }\n\n const rootVm = getCurrentInstance('createLayout')\n\n const layoutIsReady = nextTick()\n\n provide(VuetifyLayoutKey, {\n register: (\n vm: ComponentInternalInstance,\n {\n id,\n order,\n position,\n layoutSize,\n elementSize,\n active,\n disableTransitions,\n absolute,\n }\n ) => {\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\n const instances = findChildrenWithProvide(VuetifyLayoutItemKey, rootVm?.vnode)\n const instanceIndex = instances.indexOf(vm)\n\n if (instanceIndex > -1) registered.value.splice(instanceIndex, 0, id)\n else registered.value.push(id)\n\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\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 size = elementSize.value ?? layoutSize.value\n const unit = size === 0 ? '%' : 'px'\n\n const styles = {\n [position.value]: 0,\n zIndex: zIndex.value,\n transform: `translate${isHorizontal ? 'X' : 'Y'}(${(active.value ? 0 : -(size === 0 ? 100 : size)) * (isOppositeHorizontal || isOppositeVertical ? -1 : 1)}${unit})`,\n position: absolute.value || rootZIndex.value !== ROOT_ZINDEX ? 'absolute' : 'fixed',\n ...(transitionsEnabled.value ? undefined : { transition: 'none' }),\n } as const\n\n if (index.value < 0) throw new Error(`Layout item \"${id}\" is missing`)\n\n const item = items.value[index.value]\n\n if (!item) throw new Error(`[Vuetify] Could not find layout item \"${id}\"`)\n\n return {\n ...styles,\n height:\n isHorizontal ? `calc(100% - ${item.top}px - ${item.bottom}px)`\n : elementSize.value ? `${elementSize.value}px`\n : 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:\n !isHorizontal ? `calc(100% - ${item.left}px - ${item.right}px)`\n : elementSize.value ? `${elementSize.value}px`\n : undefined,\n }\n })\n\n const layoutItemScrimStyles = computed(() => ({\n zIndex: zIndex.value - 1,\n }))\n\n return { layoutItemStyles, layoutItemScrimStyles, zIndex }\n },\n unregister: (id: string) => {\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 layoutIsReady,\n })\n\n const layoutClasses = computed(() => [\n 'v-layout',\n { 'v-layout--full-height': props.fullHeight },\n ])\n\n const layoutStyles = computed(() => ({\n zIndex: parentLayout ? rootZIndex.value : undefined,\n position: parentLayout ? 'relative' as const : undefined,\n overflow: parentLayout ? 'hidden' : undefined,\n }))\n\n return {\n layoutClasses,\n layoutStyles,\n getLayoutItem,\n items,\n layoutRect,\n layoutIsReady,\n layoutRef: resizeRef,\n }\n}\n"],"mappings":"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","ignoreList":[]}