UNPKG

@vuesax-alpha/nightly

Version:
1 lines 3.62 kB
{"version":3,"file":"loading.mjs","sources":["../../../../../../packages/components/loading/src/loading.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n isNumber,\n isStringNumber,\n} from '@vuesax-alpha/utils'\n\nimport { useColorProp } from '@vuesax-alpha/hooks'\nimport type { MaybeRef } from '@vuesax-alpha/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type Loading from './loading.vue'\n\nexport const loadingTypes = [\n 'atom',\n 'ball',\n 'scale',\n 'waves',\n 'border',\n 'points',\n 'square',\n 'circles',\n 'corners',\n 'default',\n 'gradient',\n 'rectangle',\n 'square-rotate',\n] as const\n\nexport type LoadingType = (typeof loadingTypes)[number]\n\nexport const loadingProps = buildProps({\n type: {\n type: definePropType<LoadingType>(String),\n values: loadingTypes,\n default: 'default',\n },\n text: { type: String },\n scale: {\n type: definePropType<string | number>([String, Number]),\n validator: (scale: string | number) =>\n isNumber(scale) || isStringNumber(scale),\n default: 1,\n },\n color: useColorProp,\n target: {\n type: definePropType<string | HTMLElement>([String, Object]),\n },\n opacity: {\n type: definePropType<string | number>([String, Number]),\n validator: (scale: string | number) =>\n isNumber(scale) || isStringNumber(scale),\n default: 0.6,\n },\n percent: {\n type: definePropType<string | number>([String, Number]),\n validator: (scale: string | number) =>\n isNumber(scale) || isStringNumber(scale),\n },\n progress: {\n type: definePropType<string | number>([String, Number]),\n validator: (progress: string | number) =>\n isNumber(progress) || isStringNumber(progress),\n },\n background: useColorProp,\n})\n\nexport type LoadingProps = ExtractPropTypes<typeof loadingProps>\nexport type LoadingInstance = InstanceType<typeof Loading>\n\nexport type LoadingParams = Partial<LoadingProps & { visible: boolean }>\nexport type LoadingParamsRef = {\n [P in keyof LoadingParams]?: MaybeRef<LoadingParams[P]>\n}\n\nexport interface LoadingHandle {\n close: () => void\n setText: (text: string) => void\n setProgress: (progress: number) => void\n setPercent: (percent: number) => void\n}\n\nexport type LoadingFn = (options?: LoadingParamsRef) => LoadingHandle\n"],"names":[],"mappings":";;;;;;AAYO,MAAM,YAAe,GAAA;AAAA,EAC1B,MAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA;AAAA,EACA,WAAA;AAAA,EACA,eAAA;AACF,EAAA;AAIO,MAAM,eAAe,UAAW,CAAA;AAAA,EACrC,IAAM,EAAA;AAAA,IACJ,IAAA,EAAM,eAA4B,MAAM,CAAA;AAAA,IACxC,MAAQ,EAAA,YAAA;AAAA,IACR,OAAS,EAAA,SAAA;AAAA,GACX;AAAA,EACA,IAAA,EAAM,EAAE,IAAA,EAAM,MAAO,EAAA;AAAA,EACrB,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,cAAA,CAAgC,CAAC,MAAA,EAAQ,MAAM,CAAC,CAAA;AAAA,IACtD,WAAW,CAAC,KAAA,KACV,SAAS,KAAK,CAAA,IAAK,eAAe,KAAK,CAAA;AAAA,IACzC,OAAS,EAAA,CAAA;AAAA,GACX;AAAA,EACA,KAAO,EAAA,YAAA;AAAA,EACP,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,cAAA,CAAqC,CAAC,MAAA,EAAQ,MAAM,CAAC,CAAA;AAAA,GAC7D;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,cAAA,CAAgC,CAAC,MAAA,EAAQ,MAAM,CAAC,CAAA;AAAA,IACtD,WAAW,CAAC,KAAA,KACV,SAAS,KAAK,CAAA,IAAK,eAAe,KAAK,CAAA;AAAA,IACzC,OAAS,EAAA,GAAA;AAAA,GACX;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,cAAA,CAAgC,CAAC,MAAA,EAAQ,MAAM,CAAC,CAAA;AAAA,IACtD,WAAW,CAAC,KAAA,KACV,SAAS,KAAK,CAAA,IAAK,eAAe,KAAK,CAAA;AAAA,GAC3C;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,cAAA,CAAgC,CAAC,MAAA,EAAQ,MAAM,CAAC,CAAA;AAAA,IACtD,WAAW,CAAC,QAAA,KACV,SAAS,QAAQ,CAAA,IAAK,eAAe,QAAQ,CAAA;AAAA,GACjD;AAAA,EACA,UAAY,EAAA,YAAA;AACd,CAAC;;;;"}