UNPKG

@ly-js/ui

Version:

`@ly-js/ui` 是基于`vue3`常用库,会在`@ly-js/element`、`@ly-js/vant`中引入

87 lines (82 loc) 2.35 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var unpluginVueComponents = require('unplugin-vue-components'); const components = ["LyIcon", "LyFixedContainer", "LyLoading"]; function getSideEffects(dirName, options) { const { importStyle } = options; if (!importStyle) return; if (importStyle === "sass") { return `@ly-js/ui/es/components/${dirName}/style/scss`; } else if (importStyle === true || importStyle === "css") { return `@ly-js/ui/es/components/${dirName}/style/index`; } } function getDirectiveSideEffects(dirName, options) { const { importStyle } = options; if (!importStyle) return; if (importStyle === "sass") { return `@ly-js/ui/es/directives/${dirName}/style/scss`; } else if (importStyle === true || importStyle === "css") { return `@ly-js/ui/es/directives/${dirName}/style/index`; } } const resolveComponent = (name, options) => { if (!name.match(/^Ly[A-Z]/)) return; if (!components.includes(name)) return; const partialName = name.slice(2); return { importName: partialName, path: `@ly-js/ui/es`, sideEffects: getSideEffects(unpluginVueComponents.kebabCase(partialName), options) }; }; const resolveDirective = (name, options) => { if (!options.directives) return; const directives = { Ripple: { importName: "Ripple", style: true }, ClickOutside: { importName: "ClickOutside" }, Resize: { importName: "Resize" } }; const directive = directives[name]; if (!directive) return; return { importName: directive.importName, path: `@ly-js/ui/es`, sideEffects: directive.style ? getDirectiveSideEffects(unpluginVueComponents.kebabCase(name), options) : void 0 }; }; const LyUIResolver = (options = {}) => { let optionsResolved = void 0; function resolveOptions() { if (optionsResolved) return optionsResolved; optionsResolved = { ssr: false, importStyle: "css", directives: true, ...options }; return optionsResolved; } return [ { type: "component", resolve: (name) => { return resolveComponent(name, resolveOptions()); } }, { type: "directive", resolve: (name) => { return resolveDirective(name, resolveOptions()); } } ]; }; exports.LyUIResolver = LyUIResolver;