vue-amazing-ui
Version:
An Amazing Vue3 UI Components Library, Using TypeScript.
145 lines (144 loc) • 3.9 kB
JavaScript
const s = {
Alert: "alert",
Avatar: "avatar",
BackTop: "backtop",
Badge: "badge",
Breadcrumb: "breadcrumb",
Button: "button",
Calendar: "calendar",
Card: "card",
Carousel: "carousel",
Cascader: "cascader",
Checkbox: "checkbox",
Collapse: "collapse",
ColorPicker: "colorpicker",
ConfigProvider: "configprovider",
Countdown: "countdown",
DatePicker: "datepicker",
Descriptions: "descriptions/descriptions",
DescriptionsItem: "descriptions/descriptionsitem",
Dialog: "dialog",
Divider: "divider",
Drawer: "drawer",
Ellipsis: "ellipsis",
Empty: "empty",
Flex: "flex",
FloatButton: "floatbutton",
GradientText: "gradienttext",
Row: "grid/row",
Col: "grid/col",
Highlight: "highlight",
Image: "image",
Input: "input",
InputNumber: "inputnumber",
InputSearch: "inputsearch",
List: "list/list",
ListItem: "list/listitem",
LoadingBar: "loadingbar",
Message: "message",
Modal: "modal",
Notification: "notification",
NumberAnimation: "numberanimation",
Pagination: "pagination",
Popconfirm: "popconfirm",
Popover: "popover",
Progress: "progress",
QRCode: "qrcode",
Radio: "radio",
Rate: "rate",
Result: "result",
Scrollbar: "scrollbar",
Segmented: "segmented",
Select: "select",
Skeleton: "skeleton",
Slider: "slider",
Space: "space",
Spin: "spin",
Statistic: "statistic",
Steps: "steps",
Swiper: "swiper",
Switch: "switch",
Table: "table",
Tabs: "tabs",
Tag: "tag",
Textarea: "textarea",
TextScroll: "textscroll",
Timeline: "timeline",
Tooltip: "tooltip",
Upload: "upload",
Video: "video",
Waterfall: "waterfall",
Watermark: "watermark"
}, l = {
BackTop: ["Tooltip"],
Calendar: ["Radio", "Select", "Empty", "Scrollbar"],
Card: ["Skeleton"],
Carousel: ["Spin"],
Cascader: ["Select", "Empty", "Scrollbar"],
Collapse: ["Button"],
ColorPicker: ["Button", "Input", "Tooltip"],
Dialog: ["Button", "Scrollbar"],
Drawer: ["Scrollbar"],
Ellipsis: ["Tooltip"],
FloatButton: ["Badge", "Tooltip"],
Image: ["Space", "Spin"],
InputSearch: ["Button"],
List: ["Empty", "Pagination", "Input", "Select", "Scrollbar", "Spin"],
ListItem: ["Avatar"],
Modal: ["Button"],
Pagination: ["Input", "Select", "Empty", "Scrollbar"],
Popconfirm: ["Button", "Tooltip"],
Popover: ["Tooltip"],
Rate: ["Tooltip"],
Select: ["Empty", "Scrollbar"],
Table: ["Checkbox", "Ellipsis", "Empty", "Pagination", "Input", "Select", "Radio", "Scrollbar", "Spin", "Tooltip"],
Tag: ["Space"],
TextScroll: ["Ellipsis", "Tooltip"],
Upload: ["Image", "Message", "Space", "Spin"],
Waterfall: ["Spin"]
};
function p(e, t) {
if (["ConfigProvider", "Highlight", "NumberAnimation", "Watermark"].includes(e))
return [];
const r = [e];
e in l && r.push(...l[e]);
const i = t?.cjs ? "lib" : "es", o = [`vue-amazing-ui/${i}/style/global.css`];
return r.forEach((a) => {
o.push(
`vue-amazing-ui/${i}/${s[a]}/${a}.css`
);
}), e === "DatePicker" && o.push(
`vue-amazing-ui/${i}/node_modules/.pnpm/@vuepic_vue-datepicker@11.0.2_vue@3.5.22_typescript@5.9.3_/node_modules/@vuepic/vue-datepicker/dist/main.css`
), e === "Swiper" && (o.push(`vue-amazing-ui/${i}/node_modules/.pnpm/swiper@12.0.2/node_modules/swiper/swiper.css`), [
"effect-cards",
"effect-creative",
"effect-cube",
"effect-fade",
"effect-flip",
"navigation",
"pagination"
].forEach((n) => {
o.push(
`vue-amazing-ui/${i}/node_modules/.pnpm/swiper@12.0.2/node_modules/swiper/modules/${n}.css`
);
})), o;
}
function c(e) {
return {
type: "component",
resolve: (t) => {
if (t in s)
return {
name: t,
// 组件名
from: "vue-amazing-ui",
// 组件库名称
sideEffects: p(t, e)
// 组件样式文件
};
}
};
}
export {
c as VueAmazingUIResolver
};