vue-amazing-ui
Version:
An Amazing Vue3 UI Components Library, Using TypeScript.
150 lines (149 loc) • 4.08 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",
Layout: "layout",
LayoutHeader: "layout/layoutheader",
LayoutSider: "layout/layoutsider",
LayoutContent: "layout/layoutcontent",
LayoutFooter: "layout/layoutfooter",
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",
TimePicker: "timepicker",
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"],
Upload: ["Image", "Message", "Space", "Spin"],
Waterfall: ["Spin"]
};
function c(e, t) {
if (["ConfigProvider", "Highlight", "NumberAnimation", "Watermark"].includes(e))
return [];
const r = [e];
e in l && r.push(...l[e]);
const i = t != null && t.cjs ? "lib" : "es", a = [`vue-amazing-ui/${i}/style/global.css`];
return r.forEach((o) => {
a.push(
`vue-amazing-ui/${i}/${s[o]}/${o}.css`
);
}), e === "DatePicker" && a.push(
`vue-amazing-ui/${i}/node_modules/.pnpm/@vuepic_vue-datepicker@11.0.2_vue@3.5.13_typescript@5.8.2_/node_modules/@vuepic/vue-datepicker/dist/main.css`
), e === "Swiper" && (a.push(`vue-amazing-ui/${i}/node_modules/.pnpm/swiper@11.2.5/node_modules/swiper/swiper.css`), [
"effect-cards",
"effect-creative",
"effect-cube",
"effect-fade",
"effect-flip",
"navigation",
"pagination"
].forEach((n) => {
a.push(
`vue-amazing-ui/${i}/node_modules/.pnpm/swiper@11.2.5/node_modules/swiper/modules/${n}.css`
);
})), a;
}
function p(e) {
return {
type: "component",
resolve: (t) => {
if (t in s)
return {
name: t,
// 组件名
from: "vue-amazing-ui",
// 组件库名称
sideEffects: c(t, e)
// 组件样式文件
};
}
};
}
export {
p as VueAmazingUIResolver
};