exploria-ui 2026.2.31 → 2026.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +240 -16
- package/dist/_virtual/_plugin-vue_export-helper.js +8 -0
- package/dist/components/basic/ECard/ECard.vue.d.ts +27 -0
- package/dist/components/index.d.ts +2 -1
- package/dist/components/index.js +60 -19368
- package/dist/directives/EDrag.d.ts +3 -1
- package/dist/directives/index.js +4 -23
- package/dist/index.css +1 -1
- package/dist/node_modules/.pnpm/sortablejs@1.15.7/node_modules/sortablejs/modular/sortable.esm.js +1111 -0
- package/dist/node_modules/.pnpm/three@0.180.0/node_modules/three/examples/jsm/controls/OrbitControls.js +424 -0
- package/dist/node_modules/.pnpm/three@0.180.0/node_modules/three/examples/jsm/curves/NURBSCurve.js +31 -0
- package/dist/node_modules/.pnpm/three@0.180.0/node_modules/three/examples/jsm/curves/NURBSUtils.js +115 -0
- package/dist/node_modules/.pnpm/three@0.180.0/node_modules/three/examples/jsm/libs/fflate.module.js +250 -0
- package/dist/node_modules/.pnpm/three@0.180.0/node_modules/three/examples/jsm/loaders/FBXLoader.js +1385 -0
- package/dist/node_modules/.pnpm/three@0.180.0/node_modules/three/examples/jsm/loaders/FontLoader.js +69 -0
- package/dist/node_modules/.pnpm/three@0.180.0/node_modules/three/examples/jsm/loaders/GLTFLoader.js +1346 -0
- package/dist/node_modules/.pnpm/three@0.180.0/node_modules/three/examples/jsm/utils/BufferGeometryUtils.js +23 -0
- package/dist/packages/exploria-ui/src/components/advanced/EParallaxScrolling/EParallaxScrolling.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/advanced/EParallaxScrolling/EParallaxScrolling.vue_vue_type_script_setup_true_lang.js +38 -0
- package/dist/packages/exploria-ui/src/components/advanced/ERollingFollow/ERollingFollow.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/advanced/ERollingFollow/ERollingFollow.vue_vue_type_script_setup_true_lang.js +42 -0
- package/dist/packages/exploria-ui/src/components/advanced/EVirtualList/EVirtualList.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/advanced/EVirtualList/EVirtualList.vue_vue_type_script_setup_true_lang.js +43 -0
- package/dist/packages/exploria-ui/src/components/advanced/EWatermark/EWatermark.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/advanced/EWatermark/EWatermark.vue_vue_type_script_setup_true_lang.js +46 -0
- package/dist/packages/exploria-ui/src/components/basic/EButton/EButton.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/basic/EButton/EButton.vue_vue_type_script_setup_true_lang.js +42 -0
- package/dist/packages/exploria-ui/src/components/basic/EButton/loading.gif.js +4 -0
- package/dist/packages/exploria-ui/src/components/basic/ECard/ECard.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/basic/ECard/ECard.vue_vue_type_script_setup_true_lang.js +41 -0
- package/dist/packages/exploria-ui/src/components/basic/ESvgIcon/ESvgIcon.vue.js +5 -0
- package/dist/packages/exploria-ui/src/components/basic/ESvgIcon/ESvgIcon.vue_vue_type_script_setup_true_lang.js +11 -0
- package/dist/packages/exploria-ui/src/components/basic/EUnderLine/EUnderLine.vue.js +11 -0
- package/dist/packages/exploria-ui/src/components/data/EAvatar/EAvatar.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/data/EAvatar/EAvatar.vue_vue_type_script_setup_true_lang.js +14 -0
- package/dist/packages/exploria-ui/src/components/data/ECalendar.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/data/ECalendar.vue_vue_type_script_setup_true_lang.js +77 -0
- package/dist/packages/exploria-ui/src/components/data/ECarousel/ECarousel.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/data/ECarousel/ECarousel.vue_vue_type_script_setup_true_lang.js +83 -0
- package/dist/packages/exploria-ui/src/components/data/ECarousel/ECarouselItem.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/data/ECarousel/ECarouselItem.vue_vue_type_script_setup_true_lang.js +19 -0
- package/dist/packages/exploria-ui/src/components/data/ECodeCollapse/ECodeCollapse.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/data/ECodeCollapse/ECodeCollapse.vue_vue_type_script_setup_true_lang.js +46 -0
- package/dist/packages/exploria-ui/src/components/data/ECollapse/ECollapse.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/data/ECollapse/ECollapse.vue_vue_type_script_setup_true_lang.js +30 -0
- package/dist/packages/exploria-ui/src/components/data/EImage.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/data/EImage.vue_vue_type_script_setup_true_lang.js +31 -0
- package/dist/packages/exploria-ui/src/components/data/EList.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/data/EList.vue_vue_type_script_setup_true_lang.js +52 -0
- package/dist/packages/exploria-ui/src/components/data/EMediaViewer/EMediaViewer.js +36 -0
- package/dist/packages/exploria-ui/src/components/data/EMediaViewer/EMediaViewer.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/data/EMediaViewer/EMediaViewer.vue_vue_type_script_setup_true_lang.js +69 -0
- package/dist/packages/exploria-ui/src/components/data/EProgress.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/data/EProgress.vue_vue_type_script_setup_true_lang.js +22 -0
- package/dist/packages/exploria-ui/src/components/data/ERollingPagination.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/data/ERollingPagination.vue_vue_type_script_setup_true_lang.js +45 -0
- package/dist/packages/exploria-ui/src/components/data/ESkeleton/ESkeleton.vue.js +14 -0
- package/dist/packages/exploria-ui/src/components/data/ETable/ETable.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/data/ETable/ETable.vue_vue_type_script_setup_true_lang.js +60 -0
- package/dist/packages/exploria-ui/src/components/data/ETable/ETableColumn.vue.js +5 -0
- package/dist/packages/exploria-ui/src/components/data/ETable/ETableColumn.vue_vue_type_script_setup_true_lang.js +23 -0
- package/dist/packages/exploria-ui/src/components/data/ETable/no_data.svg.js +4 -0
- package/dist/packages/exploria-ui/src/components/data/ETimeline/ETimeline.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/data/ETimeline/ETimeline.vue_vue_type_script_setup_true_lang.js +40 -0
- package/dist/packages/exploria-ui/src/components/data/ETimeline/ETimelineItem.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/data/ETimeline/ETimelineItem.vue_vue_type_script_setup_true_lang.js +44 -0
- package/dist/packages/exploria-ui/src/components/feedback/EDialog/EDialog.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/feedback/EDialog/EDialog.vue_vue_type_script_setup_true_lang.js +95 -0
- package/dist/packages/exploria-ui/src/components/feedback/EDrawer/EDrawer.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/feedback/EDrawer/EDrawer.vue_vue_type_script_setup_true_lang.js +106 -0
- package/dist/packages/exploria-ui/src/components/feedback/EMessage/EMessage.js +56 -0
- package/dist/packages/exploria-ui/src/components/feedback/EMessage/EMessage.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/feedback/EMessage/EMessage.vue_vue_type_script_setup_true_lang.js +39 -0
- package/dist/packages/exploria-ui/src/components/feedback/EMessage/loading.gif.js +4 -0
- package/dist/packages/exploria-ui/src/components/feedback/EMessageBox/EMessageBox.js +31 -0
- package/dist/packages/exploria-ui/src/components/feedback/EMessageBox/EMessageBox.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/feedback/EMessageBox/EMessageBox.vue_vue_type_script_setup_true_lang.js +46 -0
- package/dist/packages/exploria-ui/src/components/feedback/ENotification/ENotification.js +141 -0
- package/dist/packages/exploria-ui/src/components/feedback/ENotification/ENotification.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/feedback/ENotification/ENotification.vue_vue_type_script_setup_true_lang.js +46 -0
- package/dist/packages/exploria-ui/src/components/feedback/EPopover.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/feedback/EPopover.vue_vue_type_script_setup_true_lang.js +100 -0
- package/dist/packages/exploria-ui/src/components/feedback/ETooltip.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/feedback/ETooltip.vue_vue_type_script_setup_true_lang.js +65 -0
- package/dist/packages/exploria-ui/src/components/form/ECheckbox.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/form/ECheckbox.vue_vue_type_script_setup_true_lang.js +36 -0
- package/dist/packages/exploria-ui/src/components/form/EColorPicker.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/form/EColorPicker.vue_vue_type_script_setup_true_lang.js +149 -0
- package/dist/packages/exploria-ui/src/components/form/EConditionGroup/EConditionGroup.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/form/EConditionGroup/EConditionGroup.vue_vue_type_script_setup_true_lang.js +101 -0
- package/dist/packages/exploria-ui/src/components/form/EFileSelector.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/form/EFileSelector.vue_vue_type_script_setup_true_lang.js +33 -0
- package/dist/packages/exploria-ui/src/components/form/EForm.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/form/EForm.vue_vue_type_script_setup_true_lang.js +19 -0
- package/dist/packages/exploria-ui/src/components/form/EFormItem.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/form/EFormItem.vue_vue_type_script_setup_true_lang.js +44 -0
- package/dist/packages/exploria-ui/src/components/form/EInput/EInput.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/form/EInput/EInput.vue_vue_type_script_setup_true_lang.js +165 -0
- package/dist/packages/exploria-ui/src/components/form/ERadio.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/form/ERadio.vue_vue_type_script_setup_true_lang.js +36 -0
- package/dist/packages/exploria-ui/src/components/form/ESelect/ESelect.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/form/ESelect/ESelect.vue_vue_type_script_setup_true_lang.js +82 -0
- package/dist/packages/exploria-ui/src/components/form/ESlider.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/form/ESlider.vue_vue_type_script_setup_true_lang.js +76 -0
- package/dist/packages/exploria-ui/src/components/form/ETimePicker.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/form/ETimePicker.vue_vue_type_script_setup_true_lang.js +89 -0
- package/dist/packages/exploria-ui/src/components/geometry/ECube.vue.js +11 -0
- package/dist/packages/exploria-ui/src/components/hooks/usePosition.js +42 -0
- package/dist/packages/exploria-ui/src/components/layout/EContainerWithScrollbar.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/layout/EContainerWithScrollbar.vue_vue_type_script_setup_true_lang.js +27 -0
- package/dist/packages/exploria-ui/src/components/layout/EDivider.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/layout/EDivider.vue_vue_type_script_setup_true_lang.js +15 -0
- package/dist/packages/exploria-ui/src/components/layout/EScrollX.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/layout/EScrollX.vue_vue_type_script_setup_true_lang.js +34 -0
- package/dist/packages/exploria-ui/src/components/layout/EScrollbar.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/layout/EScrollbar.vue_vue_type_script_setup_true_lang.js +55 -0
- package/dist/packages/exploria-ui/src/components/navigation/EDropdown.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/navigation/EDropdown.vue_vue_type_script_setup_true_lang.js +107 -0
- package/dist/packages/exploria-ui/src/components/navigation/ETabs/ETabPane.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/navigation/ETabs/ETabPane.vue_vue_type_script_setup_true_lang.js +20 -0
- package/dist/packages/exploria-ui/src/components/navigation/ETabs/ETabs.vue.js +7 -0
- package/dist/packages/exploria-ui/src/components/navigation/ETabs/ETabs.vue_vue_type_script_setup_true_lang.js +90 -0
- package/dist/packages/exploria-ui/src/directives/EDrag.js +27 -0
- package/dist/packages/exploria-ui/src/directives/ESizeOb.js +23 -0
- package/dist/packages/exploria-ui/src/directives/ESlideIn.js +24 -0
- package/dist/packages/exploria-ui/src/utils/EAnimateCSSUtil.js +13 -0
- package/dist/packages/exploria-ui/src/utils/EClipboardUtil.js +19 -0
- package/dist/packages/exploria-ui/src/utils/EDomUtil.js +9 -0
- package/dist/packages/exploria-ui/src/utils/EEchartsUtil.js +23 -0
- package/dist/packages/exploria-ui/src/utils/EImageUtil.js +26 -0
- package/dist/packages/exploria-ui/src/utils/ELocalStorageUtil.js +15 -0
- package/dist/packages/exploria-ui/src/utils/EMediaQueryUtil.js +28 -0
- package/dist/packages/exploria-ui/src/utils/EStringUtil.js +11 -0
- package/dist/packages/exploria-ui/src/utils/EThreeUtil.js +40 -0
- package/dist/packages/exploria-ui/src/utils/EUUIDUtil.js +11 -0
- package/dist/utils/EAnimateCSSUtil.d.ts +6 -0
- package/dist/utils/EClipboardUtil.d.ts +3 -0
- package/dist/utils/EDomUtil.d.ts +5 -0
- package/dist/utils/EEchartsUtil.d.ts +12 -0
- package/dist/utils/EEventBus.d.ts +8 -0
- package/dist/utils/EImageUtil.d.ts +3 -0
- package/dist/utils/EJSONUtil.d.ts +3 -0
- package/dist/utils/ELocalStorageUtil.d.ts +5 -0
- package/dist/utils/EMediaQueryUtil.d.ts +6 -0
- package/dist/utils/EStringUtil.d.ts +22 -0
- package/dist/utils/EThreeUtil.d.ts +21 -0
- package/dist/utils/ETimeUtil.d.ts +5 -0
- package/dist/utils/EUUIDUtil.d.ts +3 -0
- package/dist/utils/index.d.ts +8 -0
- package/dist/utils/index.js +8 -2
- package/package.json +25 -13
- package/src/plugins/EPreloadImageBuilder.ts +1 -1
- package/src/plugins/ESvgSpriteBuilder.ts +4 -5
- package/src/plugins/index.ts +3 -3
- package/dist/EDomUtil-Bm3Zqw96.js +0 -65
- package/dist/ESizeOb-VeHF4XTz.js +0 -44
- package/dist/plugins/EPreloadImageBuilder.d.ts +0 -5
- package/dist/plugins/ESvgPolyfill.d.ts +0 -3
- package/dist/plugins/ESvgSpriteBuilder.d.ts +0 -6
- package/dist/plugins/index.d.ts +0 -4
- package/dist/plugins/index.js +0 -3127
package/README.md
CHANGED
|
@@ -1,26 +1,250 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Exploria UI
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## 项目简介
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
Element Plus、Ant Design Vue 等流行的 UI 框架,以及 Pinia 状态管理库和 Vue Router 路由管理库。此外,项目还集成了 ECharts 和
|
|
7
|
-
Three.js 等可视化库,支持国际化(Vue I18n),并使用了 TypeScript 进行类型安全的开发。
|
|
5
|
+
🚀 下一代 Vue 3.6 + Vite UI 组件库,基于 OXC 工具链构建,采用 **Monorepo 架构**,提供丰富的组件、插件、工具和指令,满足各类业务场景需求。
|
|
8
6
|
|
|
9
|
-
|
|
7
|
+
### 核心特性
|
|
8
|
+
|
|
9
|
+
- **完整生态**:包含组件集、插件集、工具集和指令集四大核心模块
|
|
10
|
+
- **组件丰富**:覆盖多种业务场景,提供高质量 UI 组件
|
|
11
|
+
- **易用性强**:API 设计对齐 Element Plus,零学习成本
|
|
12
|
+
- **类型安全**:TypeScript 全量类型支持
|
|
13
|
+
- **性能优异**:基于 Vue 3.6 和 Vite 构建,加载速度快
|
|
14
|
+
- **现代工具链**:集成 OXC 工具链,提供极速的代码检查和格式化
|
|
15
|
+
|
|
16
|
+
### 主要开发者
|
|
17
|
+
|
|
18
|
+
**作者:liketype** - 本组件库的核心开发者,微信号:yywd479
|
|
19
|
+
|
|
20
|
+
## 安装方式
|
|
10
21
|
|
|
11
22
|
```sh
|
|
12
|
-
pnpm add
|
|
23
|
+
pnpm add exploria-ui
|
|
13
24
|
```
|
|
14
25
|
|
|
15
|
-
##
|
|
26
|
+
## 核心架构
|
|
27
|
+
|
|
28
|
+
Exploria UI 组件库由四个核心部分构成,形成完整的 UI 解决方案:
|
|
29
|
+
|
|
30
|
+
### 1. 组件集
|
|
31
|
+
|
|
32
|
+
组件集是 Exploria UI 的核心,包含丰富的 UI 组件,按功能划分为多个模块:
|
|
33
|
+
|
|
34
|
+
- **基础组件**:按钮、图标、下划线等基础 UI 元素
|
|
35
|
+
- **数据组件**:表格、列表、轮播图等数据展示组件
|
|
36
|
+
- **表单组件**:输入框、选择器、复选框等表单控件
|
|
37
|
+
- **反馈组件**:对话框、消息提示、通知等用户反馈组件
|
|
38
|
+
- **布局组件**:容器、分割线、滚动条等布局元素
|
|
39
|
+
- **导航组件**:标签页、下拉菜单等导航组件
|
|
40
|
+
- **高级组件**:虚拟列表、水印、滚动视差等高级功能组件
|
|
41
|
+
- **3D组件**:立方体等 3D 可视化组件
|
|
42
|
+
|
|
43
|
+
#### 样式系统
|
|
44
|
+
|
|
45
|
+
组件集内置完整的样式系统,分为基础样式和组件样式两大类别:
|
|
46
|
+
|
|
47
|
+
##### 基础样式
|
|
48
|
+
|
|
49
|
+
基础样式包含核心设计元素,定义了组件库的视觉基础,主要包含:
|
|
50
|
+
|
|
51
|
+
- **色阶系统**:颜色变量及不同透明度的色阶定义
|
|
52
|
+
- **背景色**:各种场景下的背景色定义
|
|
53
|
+
- **边框色**:边框颜色及透明度定义
|
|
54
|
+
- **字体大小**:不同层级的字体大小定义
|
|
55
|
+
- **间距系统**:统一的间距变量
|
|
56
|
+
- **阴影系统**:不同层级的阴影效果
|
|
57
|
+
- **圆角系统**:统一的圆角变量
|
|
58
|
+
- **层级系统**:z-index 管理
|
|
59
|
+
|
|
60
|
+
基础样式文件位于 `components/style/base/` 目录下,包含:
|
|
61
|
+
`colors.scss`、`background-colors.scss`、`border-colors.scss`、`font-sizes.scss` 等。
|
|
62
|
+
|
|
63
|
+
##### 组件样式
|
|
64
|
+
|
|
65
|
+
组件样式采用 SCSS 编写,使用 BEM 命名规范,通过 var 变量形式与基础样式的变量进行关联,确保样式的一致性和可维护性。
|
|
66
|
+
|
|
67
|
+
组件样式文件位于 `components/style/components/` 目录下,每个组件对应一个独立的样式文件,如:
|
|
68
|
+
`e-button.scss`、`e-input.scss`、`e-dialog.scss` 等。
|
|
69
|
+
|
|
70
|
+
##### 统一主题
|
|
71
|
+
|
|
72
|
+
支持主题定制和切换,通过修改基础样式变量即可实现整体风格的变更。
|
|
73
|
+
|
|
74
|
+
### 2. 插件集
|
|
75
|
+
|
|
76
|
+
插件集提供可扩展的功能模块,用于增强组件库的能力:
|
|
77
|
+
|
|
78
|
+
- **SVG 精灵构建器**:自动构建 SVG 精灵图,优化图标加载
|
|
79
|
+
- **图片预加载构建器**:预加载图片资源,提升用户体验
|
|
80
|
+
- **SVG 兼容修复**:解决 SVG 在不同浏览器的兼容问题
|
|
81
|
+
|
|
82
|
+
### 3. 工具集
|
|
83
|
+
|
|
84
|
+
工具集包含各类实用工具函数,简化开发流程:
|
|
85
|
+
|
|
86
|
+
- **DOM 操作工具**:便捷的 DOM 操作方法
|
|
87
|
+
- **动画工具**:基于 Animate.css 的动画封装
|
|
88
|
+
- **图表工具**:ECharts 图表的封装和扩展
|
|
89
|
+
- **事件总线**:全局事件管理
|
|
90
|
+
- **本地存储工具**:增强的 localStorage 操作
|
|
91
|
+
- **时间工具**:日期时间格式化和计算
|
|
92
|
+
- **UUID 工具**:生成唯一标识符
|
|
93
|
+
- **图片工具**:图片处理和优化
|
|
94
|
+
- **Three.js 工具**:3D 渲染相关工具
|
|
95
|
+
|
|
96
|
+
### 4. 指令集
|
|
97
|
+
|
|
98
|
+
指令集提供实用的 Vue 自定义指令,扩展 Vue 的能力:
|
|
99
|
+
|
|
100
|
+
- **拖拽指令**:实现元素拖拽功能
|
|
101
|
+
- **尺寸观察指令**:监听元素尺寸变化
|
|
102
|
+
- **滑入动画指令**:元素进入视口时的动画效果
|
|
103
|
+
|
|
104
|
+
## 目录结构
|
|
105
|
+
|
|
106
|
+
Exploria UI 组件库采用清晰的模块化架构,目录结构设计遵循功能分离、易于维护的原则。以下是核心目录结构说明:
|
|
107
|
+
|
|
108
|
+
```
|
|
109
|
+
packages/exploria-ui/
|
|
110
|
+
├── src/ # 源代码目录
|
|
111
|
+
│ ├── components/ # 组件集目录
|
|
112
|
+
│ │ ├── advanced/ # 高级组件(虚拟列表、水印等)
|
|
113
|
+
│ │ ├── basic/ # 基础组件(按钮、图标等)
|
|
114
|
+
│ │ ├── data/ # 数据组件(表格、轮播图等)
|
|
115
|
+
│ │ ├── feedback/ # 反馈组件(对话框、消息提示等)
|
|
116
|
+
│ │ ├── form/ # 表单组件(输入框、选择器等)
|
|
117
|
+
│ │ ├── geometry/ # 几何组件
|
|
118
|
+
│ │ ├── hooks/ # 组件钩子函数
|
|
119
|
+
│ │ ├── layout/ # 布局组件
|
|
120
|
+
│ │ ├── navigation/ # 导航组件(标签页等)
|
|
121
|
+
│ │ ├── style/ # 样式文件
|
|
122
|
+
│ │ │ ├── base/ # 基础样式变量
|
|
123
|
+
│ │ │ └── components/ # 组件样式
|
|
124
|
+
│ │ └── types/ # 组件类型定义
|
|
125
|
+
│ ├── directives/ # 指令集目录
|
|
126
|
+
│ ├── plugins/ # 插件集目录
|
|
127
|
+
│ └── utils/ # 工具集目录
|
|
128
|
+
├── dist/ # 构建输出目录
|
|
129
|
+
├── scripts/ # 脚本文件
|
|
130
|
+
│ └── build-plugins.ts # 插件构建脚本,用于打包插件并生成类型文件
|
|
131
|
+
├── package.json # 项目配置
|
|
132
|
+
├── README.md # 项目文档
|
|
133
|
+
├── tsconfig.json # TypeScript 配置
|
|
134
|
+
└── vite.config.ts # Vite 配置
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### 目录说明
|
|
138
|
+
|
|
139
|
+
1. **components/** - 组件集核心目录,按功能划分为多个子目录:
|
|
140
|
+
- `advanced/`:包含高级功能组件,如虚拟列表、水印、滚动视差等
|
|
141
|
+
- `basic/`:基础 UI 组件,如按钮、图标、下划线等
|
|
142
|
+
- `data/`:数据展示组件,如表格、轮播图、时间线等
|
|
143
|
+
- `feedback/`:用户反馈组件,如对话框、消息提示、通知等
|
|
144
|
+
- `form/`:表单控件组件,如输入框、选择器、条件组等
|
|
145
|
+
- `layout/`:布局相关组件,用于页面结构搭建
|
|
146
|
+
- `navigation/`:导航组件,如标签页、下拉菜单等
|
|
147
|
+
|
|
148
|
+
2. **directives/** - 自定义指令目录,包含拖拽、尺寸观察等指令
|
|
149
|
+
|
|
150
|
+
3. **plugins/** - 插件目录,包含 SVG 精灵构建器、图片预加载等插件
|
|
151
|
+
|
|
152
|
+
4. **utils/** - 工具函数目录,包含 DOM 操作、动画、图表等工具
|
|
153
|
+
|
|
154
|
+
5. **style/** - 样式系统目录:
|
|
155
|
+
- `base/`:基础样式变量,包含颜色、字体、间距等设计系统基础
|
|
156
|
+
- `components/`:各组件对应的样式文件,采用 BEM 命名规范
|
|
157
|
+
|
|
158
|
+
## 快速开始
|
|
159
|
+
|
|
160
|
+
### 全局引入
|
|
161
|
+
|
|
162
|
+
```javascript
|
|
163
|
+
import { createApp } from 'other';
|
|
164
|
+
import App from './App.other';
|
|
165
|
+
import ExploriaUI from 'exploria-ui';
|
|
166
|
+
import 'exploria-ui/src/components/style/index.scss';
|
|
167
|
+
|
|
168
|
+
const app = createApp(App);
|
|
169
|
+
app.use(ExploriaUI);
|
|
170
|
+
app.mount('#app');
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
### 按需引入
|
|
174
|
+
|
|
175
|
+
```javascript
|
|
176
|
+
import { createApp } from 'other';
|
|
177
|
+
import App from './App.other';
|
|
178
|
+
import { EButton, EInput } from 'exploria-ui';
|
|
179
|
+
import 'exploria-ui/src/components/style/index.scss';
|
|
180
|
+
|
|
181
|
+
const app = createApp(App);
|
|
182
|
+
app.use(EButton);
|
|
183
|
+
app.use(EInput);
|
|
184
|
+
app.mount('#app');
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### 使用插件
|
|
188
|
+
|
|
189
|
+
```javascript
|
|
190
|
+
import { createApp } from 'other';
|
|
191
|
+
import App from './App.other';
|
|
192
|
+
import { ESvgSpriteBuilder } from 'exploria-ui/plugins';
|
|
193
|
+
|
|
194
|
+
const app = createApp(App);
|
|
195
|
+
app.use(ESvgSpriteBuilder, {
|
|
196
|
+
// 配置选项
|
|
197
|
+
});
|
|
198
|
+
app.mount('#app');
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
### 使用工具函数
|
|
202
|
+
|
|
203
|
+
```javascript
|
|
204
|
+
import { EDomUtil } from 'exploria-ui/index';
|
|
205
|
+
|
|
206
|
+
// 使用 DOM 工具函数
|
|
207
|
+
EDomUtil.addClass(element, 'active');
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
### 使用指令
|
|
211
|
+
|
|
212
|
+
```javascript
|
|
213
|
+
import { createApp } from 'other';
|
|
214
|
+
import App from './App.other';
|
|
215
|
+
import { EDrag } from 'exploria-ui/directives';
|
|
216
|
+
|
|
217
|
+
const app = createApp(App);
|
|
218
|
+
app.directive('drag', EDrag);
|
|
219
|
+
app.mount('#app');
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
## 技术栈
|
|
16
223
|
|
|
17
224
|
- **框架**:Vue 3.6
|
|
18
|
-
- **UI 框架**:Element Plus、Ant Design Vue
|
|
19
|
-
- **状态管理**:Pinia
|
|
20
|
-
- **路由管理**:Vue Router
|
|
21
|
-
- **国际化**:Vue I18n
|
|
22
|
-
- **富文本编辑器**:WangEditor for Vue
|
|
23
|
-
- **可视化库**:ECharts、Three.js
|
|
24
225
|
- **构建工具**:Vite
|
|
25
|
-
-
|
|
26
|
-
-
|
|
226
|
+
- **开发语言**:TypeScript
|
|
227
|
+
- **样式方案**:SCSS + Animate.css
|
|
228
|
+
- **工具链**:OXC
|
|
229
|
+
|
|
230
|
+
## 浏览器支持
|
|
231
|
+
|
|
232
|
+
| 浏览器 | 最低版本 |
|
|
233
|
+
| ------- | -------- |
|
|
234
|
+
| Chrome | 90+ |
|
|
235
|
+
| Firefox | 88+ |
|
|
236
|
+
| Safari | 15+ |
|
|
237
|
+
| Edge | 90+ |
|
|
238
|
+
|
|
239
|
+
## 许可证
|
|
240
|
+
|
|
241
|
+
本项目基于 [MIT License](LICENSE) 开源。
|
|
242
|
+
|
|
243
|
+
## 联系方式
|
|
244
|
+
|
|
245
|
+
- **作者:liketype** - 微信号:yywd479
|
|
246
|
+
- 项目地址:https://github.com/your-repo/exploria-ui
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
Built with ❤️ using Vue 3.6 + Vite + OXC
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ESize } from '../../types/size.d.ts';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
title?: string;
|
|
4
|
+
subTitle?: string;
|
|
5
|
+
shadow?: 'light' | 'medium' | 'heavy';
|
|
6
|
+
size?: ESize;
|
|
7
|
+
bordered?: boolean;
|
|
8
|
+
};
|
|
9
|
+
declare function __VLS_template(): {
|
|
10
|
+
attrs: Partial<{}>;
|
|
11
|
+
slots: {
|
|
12
|
+
header?(_: {}): any;
|
|
13
|
+
default?(_: {}): any;
|
|
14
|
+
footer?(_: {}): any;
|
|
15
|
+
};
|
|
16
|
+
refs: {};
|
|
17
|
+
rootEl: HTMLDivElement;
|
|
18
|
+
};
|
|
19
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
20
|
+
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
21
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
22
|
+
export default _default;
|
|
23
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
24
|
+
new (): {
|
|
25
|
+
$slots: S;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
@@ -12,6 +12,7 @@ import { default as ERollingFollow } from './advanced/ERollingFollow/ERollingFol
|
|
|
12
12
|
import { default as EVirtualList } from './advanced/EVirtualList/EVirtualList.vue';
|
|
13
13
|
import { default as EWatermark } from './advanced/EWatermark/EWatermark.vue';
|
|
14
14
|
import { default as EButton } from './basic/EButton/EButton.vue';
|
|
15
|
+
import { default as ECard } from './basic/ECard/ECard.vue';
|
|
15
16
|
import { default as ESvgIcon } from './basic/ESvgIcon/ESvgIcon.vue';
|
|
16
17
|
import { default as EUnderLine } from './basic/EUnderLine/EUnderLine.vue';
|
|
17
18
|
import { default as EAvatar } from './data/EAvatar/EAvatar.vue';
|
|
@@ -55,6 +56,6 @@ import { default as EScrollX } from './layout/EScrollX.vue';
|
|
|
55
56
|
import { default as EDropdown } from './navigation/EDropdown.vue';
|
|
56
57
|
import { default as ETabPane } from './navigation/ETabs/ETabPane.vue';
|
|
57
58
|
import { default as ETabs } from './navigation/ETabs/ETabs.vue';
|
|
58
|
-
export { EAvatar, ECarousel, ECarouselItem, EImage, EList, ESvgIcon, ETableColumn, EWatermark, EDropdown, ECheckbox, ERadio, EVirtualList, EDialog, EDrawer, ECube, EUnderLine, EFormItem, EButton, EFileSelector, EInput, EForm, ETable, ETooltip, EPopover, ECodeCollapse, ETabPane, ETabs, ETimePicker, ESelect, ESkeleton, ECollapse, EDivider, // 分割线
|
|
59
|
+
export { EAvatar, ECard, ECarousel, ECarouselItem, EImage, EList, ESvgIcon, ETableColumn, EWatermark, EDropdown, ECheckbox, ERadio, EVirtualList, EDialog, EDrawer, ECube, EUnderLine, EFormItem, EButton, EFileSelector, EInput, EForm, ETable, ETooltip, EPopover, ECodeCollapse, ETabPane, ETabs, ETimePicker, ESelect, ESkeleton, ECollapse, EDivider, // 分割线
|
|
59
60
|
EParallaxScrolling, // 视差滚动组件
|
|
60
61
|
EScrollX, EContainerWithScrollbar, ERollingPagination, EProgress, ERollingFollow, ECalendar, ETimeline, ETimelineItem, EConditionGroup, EColorPicker, ESlider, EMessageBox, EMessage, ENotification, EUUIDUtil, EAnimateCSSUtil, EClipboardUtil, EMediaViewer, EImageUtil, EMediaQueryUtil, EEchartsUtil, EThreeUtil, EDrag, ESizeOb, };
|