UNPKG

@vuesax-alpha/nightly

Version:
1 lines 4.63 kB
{"version":3,"file":"method.mjs","sources":["../../../../../../packages/components/loading/src/method.ts"],"sourcesContent":["// @ts-nocheck\nimport { createVNode, reactive, ref, render, unref } from 'vue'\nimport { unrefElement } from '@vueuse/core'\nimport { debugWarn, isClient, isElement, isString } from '@vuesax-alpha/utils'\nimport { LOADING_RECT, SCALE_PARENT } from '@vuesax-alpha/constants'\nimport LoadingConstructor from './loading.vue'\nimport type { LoadingFn, LoadingParams, LoadingParamsRef } from './loading'\n\nexport const loading: LoadingFn = (options = {}) => {\n if (!options || !isClient)\n return {\n setPercent: () => undefined,\n setProgress: () => undefined,\n close: () => undefined,\n setText: () => undefined,\n }\n\n const getOption = (key: keyof LoadingParams) => {\n const data = options?.[key] || key\n if (unref(data)) return ref(data)\n return data\n }\n\n const optionsRef: LoadingParamsRef = {}\n\n Object.keys(options).forEach((e) => {\n optionsRef[e] = getOption(e)\n })\n\n let appendTo: HTMLElement | null = document.body\n if (isElement(unrefElement(optionsRef.target))) {\n appendTo = unrefElement(optionsRef.target)\n } else if (isString(unref(optionsRef.target))) {\n appendTo = document.querySelector(unref(optionsRef.target))\n }\n\n if (!isElement(appendTo)) {\n debugWarn(\n 'VsLoading',\n 'the appendTo option is not an HTMLElement. Falling back to document.body.'\n )\n appendTo = document.body\n optionsRef.target!.value = undefined\n }\n\n if (appendTo.clientHeight < LOADING_RECT.height) {\n const eightyPercentParentHeight = appendTo.clientHeight * SCALE_PARENT\n const loadingScale = eightyPercentParentHeight / LOADING_RECT.height\n optionsRef.scale = ref(loadingScale)\n }\n\n const vm = createVNode(LoadingConstructor, reactive(optionsRef))\n const container = document.createElement('div')\n render(vm, container)\n\n appendTo!.appendChild(container.firstChild!)\n\n const close = () => {\n ;(vm.component!.exposed as { close: () => void }).close()\n }\n\n const setText = (val: string) => {\n optionsRef.text!.value = val\n }\n const setProgress = (val: number) => {\n optionsRef.progress!.value = val\n }\n const setPercent = (val: number) => {\n optionsRef.percent!.value = val\n }\n\n return {\n close,\n setText,\n setProgress,\n setPercent,\n }\n}\n\nexport default loading\n"],"names":[],"mappings":"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"}