@gyyxds/zy-ui 0.0.0-stage → 0.0.1

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.
Files changed (66) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/CONTRIBUTING.md +99 -0
  3. package/README.md +162 -3
  4. package/dist/zy-ui/alert/ZyAlert.vue.d.ts +26 -0
  5. package/dist/zy-ui/alert/index.d.ts +54 -0
  6. package/dist/zy-ui/badge/ZyBadge.vue.d.ts +37 -0
  7. package/dist/zy-ui/badge/index.d.ts +66 -0
  8. package/dist/zy-ui/button/ZyButton.vue.d.ts +45 -0
  9. package/dist/zy-ui/button/index.d.ts +74 -0
  10. package/dist/zy-ui/card/ZyCard.vue.d.ts +24 -0
  11. package/dist/zy-ui/card/index.d.ts +38 -0
  12. package/dist/zy-ui/checkbox/ZyCheckbox.vue.d.ts +36 -0
  13. package/dist/zy-ui/checkbox/ZyCheckboxGroup.vue.d.ts +31 -0
  14. package/dist/zy-ui/checkbox/index.d.ts +113 -0
  15. package/dist/zy-ui/code-input/ZyCodeInput.vue.d.ts +38 -0
  16. package/dist/zy-ui/code-input/index.d.ts +37 -0
  17. package/dist/zy-ui/date-picker/ZyDatePicker.vue.d.ts +3 -0
  18. package/dist/zy-ui/date-picker/index.d.ts +2 -0
  19. package/dist/zy-ui/dialog/ZyDialog.vue.d.ts +48 -0
  20. package/dist/zy-ui/dialog/index.d.ts +88 -0
  21. package/dist/zy-ui/divider/ZyDivider.vue.d.ts +20 -0
  22. package/dist/zy-ui/divider/index.d.ts +32 -0
  23. package/dist/zy-ui/icon/ZyIcon.vue.d.ts +17 -0
  24. package/dist/zy-ui/icon/index.d.ts +16 -0
  25. package/dist/zy-ui/index.d.ts +1332 -0
  26. package/dist/zy-ui/input/ZyInput.vue.d.ts +44 -0
  27. package/dist/zy-ui/input/index.d.ts +88 -0
  28. package/dist/zy-ui/loading/ZyLoading.vue.d.ts +22 -0
  29. package/dist/zy-ui/loading/index.d.ts +21 -0
  30. package/dist/zy-ui/mega-menu/ZyMegaMenu.vue.d.ts +50 -0
  31. package/dist/zy-ui/mega-menu/index.d.ts +92 -0
  32. package/dist/zy-ui/mega-menu/types.d.ts +77 -0
  33. package/dist/zy-ui/pagination/ZyPagination.vue.d.ts +3 -0
  34. package/dist/zy-ui/pagination/index.d.ts +2 -0
  35. package/dist/zy-ui/panel/ZyPanel.vue.d.ts +21 -0
  36. package/dist/zy-ui/panel/index.d.ts +32 -0
  37. package/dist/zy-ui/progress/ZyProgress.vue.d.ts +24 -0
  38. package/dist/zy-ui/progress/index.d.ts +48 -0
  39. package/dist/zy-ui/radio/ZyRadio.vue.d.ts +37 -0
  40. package/dist/zy-ui/radio/ZyRadioButton.vue.d.ts +35 -0
  41. package/dist/zy-ui/radio/ZyRadioGroup.vue.d.ts +32 -0
  42. package/dist/zy-ui/radio/index.d.ts +169 -0
  43. package/dist/zy-ui/radio/radio-context.d.ts +8 -0
  44. package/dist/zy-ui/select/ZySelect.vue.d.ts +40 -0
  45. package/dist/zy-ui/select/index.d.ts +78 -0
  46. package/dist/zy-ui/slide-verify/ZySlideVerify.vue.d.ts +46 -0
  47. package/dist/zy-ui/slide-verify/index.d.ts +50 -0
  48. package/dist/zy-ui/space/ZySpace.vue.d.ts +25 -0
  49. package/dist/zy-ui/space/index.d.ts +44 -0
  50. package/dist/zy-ui/switch/ZySwitch.vue.d.ts +25 -0
  51. package/dist/zy-ui/switch/index.d.ts +25 -0
  52. package/dist/zy-ui/table/ZyTable.vue.d.ts +21 -0
  53. package/dist/zy-ui/table/index.d.ts +32 -0
  54. package/dist/zy-ui/tag/ZyTag.vue.d.ts +28 -0
  55. package/dist/zy-ui/tag/index.d.ts +46 -0
  56. package/dist/zy-ui/themes/basic.css +832 -0
  57. package/dist/zy-ui/themes/material.css +37 -0
  58. package/dist/zy-ui/themes/solid.css +2350 -0
  59. package/dist/zy-ui/time-picker/ZyTimePicker.vue.d.ts +3 -0
  60. package/dist/zy-ui/time-picker/index.d.ts +2 -0
  61. package/dist/zy-ui/tree/ZyTree.vue.d.ts +28 -0
  62. package/dist/zy-ui/tree/index.d.ts +44 -0
  63. package/dist/zy-ui/utils/withInstall.d.ts +11 -0
  64. package/dist/zy-ui/zy-ui.css +2 -0
  65. package/dist/zy-ui/zy-ui.js +1937 -0
  66. package/package.json +82 -6
package/CHANGELOG.md ADDED
@@ -0,0 +1,19 @@
1
+ # Changelog
2
+
3
+ ## Unreleased
4
+
5
+ - `ZyInput` / `ZySelect` 的 `raised`(键帽凸起形态)补上组件页舞台:实色主题下多一节「键帽凸起」,输入框与选择器各两颗(可输入 / 可清空、单选 / 可搜索),文案与代码片段齐全;图纸主题不出现(`raised` 在 A 里是空操作)。样式与展示板 `is-raised` 逐值一致(白键面 + `0 4px 0` 底座 + 落地影 + 两侧白弧),深色档同形不同光。
6
+ - 修复键帽主题(`solid`)复选框**未勾选**时方框看不见:原先只把描边设为透明、再补一道白色顶光,白色键面落在白卡片上就整颗消失。现在未选态是**空槽**(`--zy-slot-face` 槽底 + `--zy-slot-shadow-sm` 内阴影 + `--zy-slot-line` 描边),与单选框、输入框同一个坑;深色档同样成立。`checkmark` / `tick` 两个变体不受影响。展示板复选框补了「未选」样本。
7
+ - **新增 `ZyMegaMenu`(导航 + 大面板)**:`items` 数据驱动,面板支持 `grid` / `list` / `groups` 三种布局,也可用 `#panel-<key>` 整块接管;`v-model:open` 受控开合;键盘可达(↓ 进面板、Escape 关闭并把焦点还给触发器);`#brand` / `#actions` 插槽。没有对应的 Element 组件,属自研件。组件数 27 → 28。
8
+ - 深色色板换成方案稿那一套:`tokens/dark.css` 收成**两套材质共用的深色板**(品牌字 `#5aa6e4` / 键面 `#2876af`、储能、危险、警示、信息、焦点环、Element `--el-color-*` 桥接),`theme/basic.css` 增 §0.1「图纸 · 夜」(中性石墨纸 `#0f1014` / 纸片 `#1b1d23`、发丝线与控件线分档、表格栏头、实心按钮深档渐变),`theme/solid.css` 只留键帽的材质值。深色下 A 的实心按钮白字 2.78 → 4.88、角标 2.65 → 5.19、实心标签 2.0–2.7 → 4.86–5.19。
9
+ - `ZyButton` 的 `effect="fill"`(实色键帽 / 悬停扩散)改为**只在键帽主题成立**:图纸主题下不渲染键帽层,`effect="fill"` 自动按 `press` 渲染;标题栏 / 舞台 / 参数表同步标注「仅键帽主题」,组件页在图纸主题下不再出现「实色按钮」舞台。
10
+ - 移除 `ZyButton` 的 `effect="outline"`(描边展开)与 `hoverLabel` prop:悬停即把文案换成「已展开 / 已删除」,在点击发生前就宣告结果,对危险操作是错误的状态承诺;描边语义已由 `plain` / `dashed` 承担,按压与图标动效由 `press` / `sweep` 承担。`effect` 现为 `'press' | 'sweep' | 'fill'`。
11
+ - 同步移除组件页「描边按钮」舞台、`button:outline` 片段、`solid` 主题里的 `.is-outline` 选择器与相关文档说明。
12
+
13
+ ## 0.1.0
14
+
15
+ - 建立 Element Plus 二次封装组件库基础。
16
+ - 新增 `basic` / `solid` 两套主题入口与 `data-zy-theme` 主题契约。
17
+ - 新增 `ZyPagination`、`ZyPanel`、`ZyDatePicker`、`ZyTimePicker`。
18
+ - 新增实验性 `ZySlideVerify`。
19
+ - 增加发布产物、真实消费方、主题运行时和视觉回归检查。
@@ -0,0 +1,99 @@
1
+ # Zy UI 贡献规范
2
+
3
+ ## 先判断产物类型
4
+
5
+ - 有 props / events / slots,供业务项目 `import`:组件。
6
+ - 一段可复制的 HTML / CSS(可选原生 JS):动效片段。
7
+ - 两者不能互相冒充。新增内容前先确认归属。
8
+
9
+ 组件库改造规范见 [docs/ui-library-refactor-spec.md](docs/ui-library-refactor-spec.md)。
10
+
11
+ ## 本地开发
12
+
13
+ ```bash
14
+ npm ci
15
+ npm run dev
16
+ ```
17
+
18
+ 文档站默认运行在 Vite 输出地址。组件实现放在 `src/zy/<name>/`,每个组件目录必须有:
19
+
20
+ - `Zy<Name>.vue`
21
+ - `index.ts`
22
+ - 需要样式资产时放在同目录
23
+
24
+ ## 新增或修改组件
25
+
26
+ 提交前至少完成:
27
+
28
+ 1. 组件实现与入口。
29
+ 2. `src/zy/index.ts` 导出与全局注册。
30
+ 3. `src/mocks/element-demos.ts` 演示。
31
+ 4. `src/mocks/element-components.ts` API 文档。
32
+ 5. 两套主题下的状态检查。
33
+ 6. 键盘、禁用、加载、错误、弹层等适用状态。
34
+ 7. 视觉基线更新并经过人工审核。
35
+ 8. README / 规范中的组件数量和说明同步。
36
+
37
+ ## 主题约束
38
+
39
+ - 主题属性:`html[data-zy-theme="basic|solid"]`。
40
+ - 明暗属性:`html[data-zy-color-scheme="light|dark"]`。
41
+ - 组件优先消费 `--zy-*` 语义令牌。
42
+ - 主题层不得引用展示板专用类名或站点专属变量。
43
+ - 不得依赖组件内部 `.el-*` 子结构作为公共 API。
44
+ - 深色当前统一回退 `basic`,不要在深色中单独叠加 `solid` 材质。
45
+
46
+ ## 提交前验证
47
+
48
+ ```bash
49
+ npm run check:registry
50
+ npm run check:snippets
51
+ npm run lint
52
+ npm run test
53
+ npm run build
54
+ npm run build:lib
55
+ npm run check:consumer
56
+ ```
57
+
58
+ 主题运行时与视觉回归需要先启动站点:
59
+
60
+ ```bash
61
+ npm run preview -- --port 4173
62
+ npm run check:theme-runtime
63
+ npm run check:visual
64
+ ```
65
+
66
+ 只有确认视觉变化符合设计后,才允许执行:
67
+
68
+ ```bash
69
+ npm run check:visual:update
70
+ ```
71
+
72
+ ## 版本与发布
73
+
74
+ - 使用 Changesets 描述变更。
75
+ - patch:样式或类型修复。
76
+ - minor:向后兼容的新组件 / 新能力。
77
+ - major:删除或改变公共 API、主题默认值、组件 DOM 契约。
78
+ - `prepublishOnly` 会重新构建并校验发布产物。
79
+
80
+ ```bash
81
+ npm run changeset
82
+ npm run version
83
+ npm run release
84
+ ```
85
+
86
+ 发布前必须确认:
87
+
88
+ - 包 scope 与私有 registry 已配置。
89
+ - 当前账号不是唯一发布人。
90
+ - CHANGELOG 和迁移说明完整。
91
+ - `npm pack` 产物可由非作者安装。
92
+
93
+ ## 组件 RFC
94
+
95
+ 大型组件或破坏性改动先提交 RFC。模板位于 `.gitlab/issue_templates/component-rfc.md`。
96
+
97
+ ## 浏览器支持
98
+
99
+ 见 [docs/browser-support.md](docs/browser-support.md)。如业务需要旧 WebView,必须先评估 `color-mix()`、`:has()` 与 CSS 自定义属性的降级。
package/README.md CHANGED
@@ -1,3 +1,162 @@
1
- # Temporary Holding Version
2
-
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
1
+ # MotionVault / @zy/zy-ui
2
+
3
+ 组件库 + 动效片段库:同一个仓库,两套产物、两套规矩。
4
+
5
+ > 当前状态:**28 个可发布组件**、**57 个动效片段**。
6
+
7
+ ## 两个东西,别混
8
+
9
+ | | 组件(`src/zy/`) | 动效(`src/effects/<key>/`) |
10
+ |--|--|--|
11
+ | 是什么 | 有 props / 事件 / 插槽的 Vue 组件 | 一段可直接复制的 HTML + CSS(+ 可选原生 JS) |
12
+ | 怎么用 | `npm i @zy/zy-ui` 后 `import` | 动效页复制三栏 |
13
+ | 运行时依赖 | vue、element-plus | 零依赖 |
14
+ | 发布 | 进 lib 构建 | 不进任何构建产物 |
15
+
16
+ 判断标准一句话:**要 API 就是「组件」,要粘贴就是「动效」。**
17
+
18
+ ## 文档站
19
+
20
+ ```bash
21
+ npm install
22
+ npm run dev # 顶栏「组件 / 动效」
23
+ ```
24
+
25
+ - `/components/:id` — 组件页:左树右文 + API 属性表
26
+ - `/animations/:id` — 动效页:左舞台(底色两档可切)+ 右仿 VS Code 只读代码面板(HTML / CSS / JS 分栏),复制即用
27
+
28
+ ## 组件:装到业务项目里
29
+
30
+ 组件是 Element Plus 的二次封装(内部直接用 `El*`),所以 `element-plus` 与 `vue` 都是 peerDependency:
31
+
32
+ ```bash
33
+ npm i @zy/zy-ui element-plus
34
+ ```
35
+
36
+ ```ts
37
+ // main.ts:Element 的样式 + 本包的组件样式 + 主题材质
38
+ import 'element-plus/dist/index.css'
39
+ import '@zy/zy-ui/style.css'
40
+ import '@zy/zy-ui/theme/solid.css' // 浅色默认;需要图纸语言时改用 theme/basic.css
41
+ ```
42
+
43
+ 主题与明暗是两根独立的轴。在 `<html>` 上设置:
44
+
45
+ ```html
46
+ <html data-zy-theme="solid" data-zy-color-scheme="light">
47
+ ```
48
+
49
+ - `data-zy-theme`:`basic`(基础用法 / 图纸)或 `solid`(实色键帽)。
50
+ - `data-zy-color-scheme`:`light` 或 `dark`。
51
+ - 浅色默认 `solid`;深色当前统一使用 `basic` 形态,不叠加键帽材质。
52
+ - 两个主题 CSS 可以同时引入,由根属性决定生效范围。
53
+
54
+ 主题 CSS 的路径:
55
+
56
+ ```ts
57
+ import '@zy/zy-ui/theme/basic.css'
58
+ import '@zy/zy-ui/theme/solid.css'
59
+ ```
60
+
61
+ **全局引入**(和 Element 一样 `app.use`):
62
+
63
+ ```ts
64
+ import ZyUi from '@zy/zy-ui'
65
+
66
+ app.use(ZyUi) // 之后模板里可直接写 <ZyButton /> <ZyInput /> …
67
+ ```
68
+
69
+ **按需引入**(只有被引用的组件进包;组件内部自己 import 对应的 Element 组件,不需要先全局注册 Element):
70
+
71
+ ```vue
72
+ <script setup lang="ts">
73
+ import { ZyButton, ZyInput } from '@zy/zy-ui'
74
+ </script>
75
+
76
+ <template>
77
+ <ZyButton type="primary">提交</ZyButton>
78
+ <ZyInput v-model="keyword" placeholder="Type something..." />
79
+ </template>
80
+ ```
81
+
82
+ 用法与 Element 保持一致:`type` / `size` / `round` / `disabled` / `loading`、`v-model`、事件都照 Element 的写法;
83
+ 每个组件另外带一组 `effect` 用来选微动效(`ZyButton` 的 `press` / `outline`,`ZyInput` 的 `underline` / `gradient` …)。
84
+ 没有显式声明的 Element props 与事件会沿 Vue 的 attribute 透传,落到内部的 `El*` 上。
85
+ 具名插槽同样原样转发(`<ZyButton><template #icon>…</template></ZyButton>` 会落到 `ElButton` 的 `#icon`),
86
+ 默认插槽由各组件自己安排位置。
87
+
88
+ 换肤:本包自带一份 `:root` 设计令牌(`--zy-brand`、`--zy-radius-pill`、`--zy-ease-out` …),
89
+ 在自己的样式里覆盖同名变量即可;深色模式同理。Token 分为原始值、语义值、Element 映射和深色覆盖四层,
90
+ 业务侧应优先覆盖语义令牌,不要依赖组件内部 `.el-*` 子结构。
91
+
92
+ `src/zy/index.ts` 导出的 28 个组件:`ZyBadge`、`ZyButton`、`ZyCodeInput`、`ZyDatePicker`、`ZyInput`、
93
+ `ZySelect`、`ZyCheckbox`、`ZyCheckboxGroup`、`ZySwitch`、`ZyRadio`、`ZyRadioGroup`、
94
+ `ZyRadioButton`、`ZyCard`、`ZyTag`、`ZyProgress`、`ZyAlert`、`ZyDialog`、`ZyDivider`、
95
+ `ZySpace`、`ZyIcon`、`ZyTable`、`ZyTree`、`ZyLoading`、`ZyMegaMenu`、`ZyPagination`、`ZyPanel`、`ZySlideVerify`、`ZyTimePicker`。
96
+
97
+ ## 动效:复制片段
98
+
99
+ 每个动效一个目录,三件套 + 一份配置:
100
+
101
+ ```
102
+ src/effects/switch-burst/
103
+ snippet.html 纯标记(无 Vue 语法)
104
+ snippet.css 自包含样式(每个 var() 都带字面量兜底)
105
+ snippet.scoped.css 站内渲染用:选择器都带 .zy-stage-<key> 前缀(由 css 派生,别手改)
106
+ snippet.js 可选;确实需要脚本时才有(当前 57 个都是零 JS),站点预览会执行它
107
+ meta.ts 舞台与文档配置:scale / checker / doc
108
+ ```
109
+
110
+ 复制出去为什么能直接用:`var(--fx-x, 兜底)` 保留兜底值、片段自带 `box-sizing` 兜底、
111
+ `<span />` 这类只对 Vue 模板块成立的写法已经补成标准 HTML。
112
+
113
+ ## 收录新内容
114
+
115
+ **新动效**
116
+
117
+ 1. 在 `src/mocks/types.ts` 的 `EFFECT_KEYS` 追加 key
118
+ 2. 建 `src/effects/<key>/{snippet.html,snippet.css,meta.ts}`(目录名必须与 key 一致)
119
+ 3. `npm run sync:scoped` 生成站内用的 scoped 样式
120
+ 4. 在 `src/mocks/families.ts` 的 `effectFamilies` 追加一条
121
+
122
+ **新组件**
123
+
124
+ 1. 实现放 `src/zy/<Name>/`(含 `index.ts`),并在 `src/zy/index.ts` 追加导出
125
+ 2. 组件文档条目在 `src/mocks/element-components.ts`
126
+ 3. 首页那句组件计数跟着改 `src/mocks/components.ts` 的 `COMPONENT_TOTAL`
127
+
128
+ ## 脚本
129
+
130
+ | 命令 | 作用 |
131
+ |--|--|
132
+ | `npm run dev` | 文档站(前置跑两项校验) |
133
+ | `npm run build` | 构建站点 → `dist/site/` |
134
+ | `npm run build:lib` | 构建可发布库 → `dist/zy-ui/`(只含 28 个组件) |
135
+ | `npm run check:registry` | 动效 key ↔ 目录 ↔ `meta.ts` 三方一致、片段文件齐备、组件数对得上、无老写法引用 |
136
+ | `npm run check:snippets` | 片段硬规则体检 + scoped 样式同步检查 |
137
+ | `npm run check:package` | 校验包导出目标与 `npm pack` 文件清单 |
138
+ | `npm run check:consumer` | 用 `npm pack` 产物在空项目安装、类型检查并构建 |
139
+ | `npm run lint` | 检查组件、主题状态、脚本与单测代码 |
140
+ | `npm run test` | 运行 Vitest 单元测试 |
141
+ | `npm run check:theme-runtime` | 校验 basic / solid / 深色回退的运行时表现(需先启动站点) |
142
+ | `npm run check:visual` | 核心组件的默认 / hover / active / focus / disabled 视觉回归(需先启动站点) |
143
+ | `npm run check:visual:update` | 审核通过后更新视觉基线 |
144
+ | `npm run changeset` | 记录一次待发布变更 |
145
+ | `npm run release` | 构建并发布到已配置的 registry |
146
+ | `npm run sync:scoped` | 由 `snippet.css` 生成 `snippet.scoped.css` |
147
+
148
+ `dev` / `build` / `build:lib` 都已前置跑 `check:registry` 与 `check:snippets`。
149
+ 站点与 lib 的产物分开放(`dist/site` 与 `dist/zy-ui`),互不覆盖。
150
+
151
+ ## 技术栈
152
+
153
+ Vite + Vue 3 + TypeScript · Vue Router · Pinia · Element Plus
154
+
155
+ ## 团队协作
156
+
157
+ - [贡献规范](CONTRIBUTING.md)
158
+ - [浏览器支持](docs/browser-support.md)
159
+ - [从 Element Plus 迁移](docs/migration-from-element.md)
160
+ - [改造规范与进度](docs/ui-library-refactor-spec.md)
161
+ - [发布检查清单](docs/release-checklist.md)
162
+ - [组件 Owner 约定](docs/component-ownership.md)
@@ -0,0 +1,26 @@
1
+ type __VLS_Props = {
2
+ title?: string;
3
+ type?: 'success' | 'warning' | 'info' | 'error';
4
+ description?: string;
5
+ closable?: boolean;
6
+ showIcon?: boolean;
7
+ };
8
+ declare var __VLS_10: string, __VLS_11: any;
9
+ type __VLS_Slots = {} & {
10
+ [K in NonNullable<typeof __VLS_10>]?: (props: typeof __VLS_11) => any;
11
+ };
12
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
13
+ title: string;
14
+ type: "success" | "warning" | "info" | "error";
15
+ description: string;
16
+ closable: boolean;
17
+ showIcon: boolean;
18
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
19
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
20
+ declare const _default: typeof __VLS_export;
21
+ export default _default;
22
+ type __VLS_WithSlots<T, S> = T & {
23
+ new (): {
24
+ $slots: S;
25
+ };
26
+ };
@@ -0,0 +1,54 @@
1
+ export declare const ZyAlert: import("../utils/withInstall").SFCWithInstall<{
2
+ new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<{
3
+ title?: string;
4
+ type?: "success" | "warning" | "info" | "error";
5
+ description?: string;
6
+ closable?: boolean;
7
+ showIcon?: boolean;
8
+ }> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
9
+ title: string;
10
+ type: "success" | "warning" | "info" | "error";
11
+ description: string;
12
+ closable: boolean;
13
+ showIcon: boolean;
14
+ }, false, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
15
+ P: {};
16
+ B: {};
17
+ D: {};
18
+ C: {};
19
+ M: {};
20
+ Defaults: {};
21
+ }, Readonly<{
22
+ title?: string;
23
+ type?: "success" | "warning" | "info" | "error";
24
+ description?: string;
25
+ closable?: boolean;
26
+ showIcon?: boolean;
27
+ }> & Readonly<{}>, {}, {}, {}, {}, {
28
+ title: string;
29
+ type: "success" | "warning" | "info" | "error";
30
+ description: string;
31
+ closable: boolean;
32
+ showIcon: boolean;
33
+ }>;
34
+ __isFragment?: never;
35
+ __isTeleport?: never;
36
+ __isSuspense?: never;
37
+ } & import("vue").ComponentOptionsBase<Readonly<{
38
+ title?: string;
39
+ type?: "success" | "warning" | "info" | "error";
40
+ description?: string;
41
+ closable?: boolean;
42
+ showIcon?: boolean;
43
+ }> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
44
+ title: string;
45
+ type: "success" | "warning" | "info" | "error";
46
+ description: string;
47
+ closable: boolean;
48
+ showIcon: boolean;
49
+ }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
50
+ $slots: {
51
+ [x: string]: ((props: any) => any) | undefined;
52
+ };
53
+ })>;
54
+ export default ZyAlert;
@@ -0,0 +1,37 @@
1
+ type __VLS_Props = {
2
+ /** 角标值:数字超过 max 显示 max+,字符串原样显示 */
3
+ value?: number | string;
4
+ /** 数字上限,超过显示 max+(只对数字生效) */
5
+ max?: number;
6
+ /** 只显示小红点,不显示数字 */
7
+ isDot?: boolean;
8
+ /** 隐藏角标 */
9
+ hidden?: boolean;
10
+ /** 角标底色语义 */
11
+ type?: 'primary' | 'success' | 'warning' | 'info' | 'danger';
12
+ /** value 为 0 时是否显示(对齐 Element,默认显示) */
13
+ showZero?: boolean;
14
+ /** 微动效:'' 基础(等宽数字,9 → 10 宽度不跳)/ ping 角标后补一圈同色扩散圈,放大淡出 */
15
+ effect?: '' | 'ping';
16
+ };
17
+ declare var __VLS_7: {};
18
+ type __VLS_Slots = {} & {
19
+ default?: (props: typeof __VLS_7) => any;
20
+ };
21
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
22
+ type: "success" | "warning" | "info" | "primary" | "danger";
23
+ effect: "" | "ping";
24
+ value: string | number;
25
+ max: number;
26
+ isDot: boolean;
27
+ hidden: boolean;
28
+ showZero: boolean;
29
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
30
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
31
+ declare const _default: typeof __VLS_export;
32
+ export default _default;
33
+ type __VLS_WithSlots<T, S> = T & {
34
+ new (): {
35
+ $slots: S;
36
+ };
37
+ };
@@ -0,0 +1,66 @@
1
+ export declare const ZyBadge: import("../utils/withInstall").SFCWithInstall<{
2
+ new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<{
3
+ value?: number | string;
4
+ max?: number;
5
+ isDot?: boolean;
6
+ hidden?: boolean;
7
+ type?: "primary" | "success" | "warning" | "info" | "danger";
8
+ showZero?: boolean;
9
+ effect?: "" | "ping";
10
+ }> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
11
+ type: "success" | "warning" | "info" | "primary" | "danger";
12
+ effect: "" | "ping";
13
+ value: string | number;
14
+ max: number;
15
+ isDot: boolean;
16
+ hidden: boolean;
17
+ showZero: boolean;
18
+ }, false, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
19
+ P: {};
20
+ B: {};
21
+ D: {};
22
+ C: {};
23
+ M: {};
24
+ Defaults: {};
25
+ }, Readonly<{
26
+ value?: number | string;
27
+ max?: number;
28
+ isDot?: boolean;
29
+ hidden?: boolean;
30
+ type?: "primary" | "success" | "warning" | "info" | "danger";
31
+ showZero?: boolean;
32
+ effect?: "" | "ping";
33
+ }> & Readonly<{}>, {}, {}, {}, {}, {
34
+ type: "success" | "warning" | "info" | "primary" | "danger";
35
+ effect: "" | "ping";
36
+ value: string | number;
37
+ max: number;
38
+ isDot: boolean;
39
+ hidden: boolean;
40
+ showZero: boolean;
41
+ }>;
42
+ __isFragment?: never;
43
+ __isTeleport?: never;
44
+ __isSuspense?: never;
45
+ } & import("vue").ComponentOptionsBase<Readonly<{
46
+ value?: number | string;
47
+ max?: number;
48
+ isDot?: boolean;
49
+ hidden?: boolean;
50
+ type?: "primary" | "success" | "warning" | "info" | "danger";
51
+ showZero?: boolean;
52
+ effect?: "" | "ping";
53
+ }> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
54
+ type: "success" | "warning" | "info" | "primary" | "danger";
55
+ effect: "" | "ping";
56
+ value: string | number;
57
+ max: number;
58
+ isDot: boolean;
59
+ hidden: boolean;
60
+ showZero: boolean;
61
+ }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
62
+ $slots: {
63
+ default?: (props: {}) => any;
64
+ };
65
+ })>;
66
+ export default ZyBadge;
@@ -0,0 +1,45 @@
1
+ import { type Component } from 'vue';
2
+ type __VLS_Props = {
3
+ type?: 'primary' | 'success' | 'warning' | 'danger' | 'info' | '';
4
+ /**
5
+ * 承载的动效:press 按压 / sweep 图标块 + 色块扫入 / fill 悬停扩散 + 立体底座。
6
+ * fill 是**键帽主题的形态**:图纸主题下不成立,会按 press 渲染。
7
+ */
8
+ effect?: 'press' | 'sweep' | 'fill';
9
+ /** sweep 下放进左侧图标块:字符串按本库图标名(src/assets/icons/ 的文件名)解析,传组件直接渲染;其它动效透传 ElButton */
10
+ icon?: string | Component;
11
+ /** 尺寸:large / default / small(对齐 Element) */
12
+ size?: 'large' | 'default' | 'small';
13
+ round?: boolean;
14
+ disabled?: boolean;
15
+ loading?: boolean;
16
+ };
17
+ declare var __VLS_10: string, __VLS_11: any, __VLS_13: {}, __VLS_25: {}, __VLS_27: {}, __VLS_29: {};
18
+ type __VLS_Slots = {} & {
19
+ [K in NonNullable<typeof __VLS_10>]?: (props: typeof __VLS_11) => any;
20
+ } & {
21
+ icon?: (props: typeof __VLS_13) => any;
22
+ } & {
23
+ default?: (props: typeof __VLS_25) => any;
24
+ } & {
25
+ default?: (props: typeof __VLS_27) => any;
26
+ } & {
27
+ default?: (props: typeof __VLS_29) => any;
28
+ };
29
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
30
+ size: "default" | "small" | "large";
31
+ type: "" | "success" | "warning" | "info" | "primary" | "danger";
32
+ effect: "fill" | "press" | "sweep";
33
+ icon: string | Component;
34
+ round: boolean;
35
+ disabled: boolean;
36
+ loading: boolean;
37
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
38
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
39
+ declare const _default: typeof __VLS_export;
40
+ export default _default;
41
+ type __VLS_WithSlots<T, S> = T & {
42
+ new (): {
43
+ $slots: S;
44
+ };
45
+ };
@@ -0,0 +1,74 @@
1
+ export declare const ZyButton: import("../utils/withInstall").SFCWithInstall<{
2
+ new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<{
3
+ type?: "primary" | "success" | "warning" | "danger" | "info" | "";
4
+ effect?: "press" | "sweep" | "fill";
5
+ icon?: string | import("vue").Component;
6
+ size?: "large" | "default" | "small";
7
+ round?: boolean;
8
+ disabled?: boolean;
9
+ loading?: boolean;
10
+ }> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
11
+ size: "default" | "small" | "large";
12
+ type: "" | "success" | "warning" | "info" | "primary" | "danger";
13
+ effect: "fill" | "press" | "sweep";
14
+ icon: string | import("vue").Component;
15
+ round: boolean;
16
+ disabled: boolean;
17
+ loading: boolean;
18
+ }, false, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
19
+ P: {};
20
+ B: {};
21
+ D: {};
22
+ C: {};
23
+ M: {};
24
+ Defaults: {};
25
+ }, Readonly<{
26
+ type?: "primary" | "success" | "warning" | "danger" | "info" | "";
27
+ effect?: "press" | "sweep" | "fill";
28
+ icon?: string | import("vue").Component;
29
+ size?: "large" | "default" | "small";
30
+ round?: boolean;
31
+ disabled?: boolean;
32
+ loading?: boolean;
33
+ }> & Readonly<{}>, {}, {}, {}, {}, {
34
+ size: "default" | "small" | "large";
35
+ type: "" | "success" | "warning" | "info" | "primary" | "danger";
36
+ effect: "fill" | "press" | "sweep";
37
+ icon: string | import("vue").Component;
38
+ round: boolean;
39
+ disabled: boolean;
40
+ loading: boolean;
41
+ }>;
42
+ __isFragment?: never;
43
+ __isTeleport?: never;
44
+ __isSuspense?: never;
45
+ } & import("vue").ComponentOptionsBase<Readonly<{
46
+ type?: "primary" | "success" | "warning" | "danger" | "info" | "";
47
+ effect?: "press" | "sweep" | "fill";
48
+ icon?: string | import("vue").Component;
49
+ size?: "large" | "default" | "small";
50
+ round?: boolean;
51
+ disabled?: boolean;
52
+ loading?: boolean;
53
+ }> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
54
+ size: "default" | "small" | "large";
55
+ type: "" | "success" | "warning" | "info" | "primary" | "danger";
56
+ effect: "fill" | "press" | "sweep";
57
+ icon: string | import("vue").Component;
58
+ round: boolean;
59
+ disabled: boolean;
60
+ loading: boolean;
61
+ }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
62
+ $slots: {
63
+ [x: string]: ((props: any) => any) | undefined;
64
+ } & {
65
+ icon?: (props: {}) => any;
66
+ } & {
67
+ default?: (props: {}) => any;
68
+ } & {
69
+ default?: (props: {}) => any;
70
+ } & {
71
+ default?: (props: {}) => any;
72
+ };
73
+ })>;
74
+ export default ZyButton;
@@ -0,0 +1,24 @@
1
+ type __VLS_Props = {
2
+ /** 抬起时机:always 常驻抬起 / hover 悬停抬起 / never 一直压住 */
3
+ shadow?: 'always' | 'hover' | 'never';
4
+ /** 悬停铺色:false 不铺;true 铺兜底色;传颜色则铺这一档色 */
5
+ hoverFill?: boolean | string;
6
+ };
7
+ declare var __VLS_1: {}, __VLS_3: {};
8
+ type __VLS_Slots = {} & {
9
+ header?: (props: typeof __VLS_1) => any;
10
+ } & {
11
+ default?: (props: typeof __VLS_3) => any;
12
+ };
13
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
14
+ shadow: "always" | "hover" | "never";
15
+ hoverFill: string | boolean;
16
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
17
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
18
+ declare const _default: typeof __VLS_export;
19
+ export default _default;
20
+ type __VLS_WithSlots<T, S> = T & {
21
+ new (): {
22
+ $slots: S;
23
+ };
24
+ };
@@ -0,0 +1,38 @@
1
+ export declare const ZyCard: import("../utils/withInstall").SFCWithInstall<{
2
+ new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<{
3
+ shadow?: "always" | "hover" | "never";
4
+ hoverFill?: boolean | string;
5
+ }> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
6
+ shadow: "always" | "hover" | "never";
7
+ hoverFill: string | boolean;
8
+ }, false, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
9
+ P: {};
10
+ B: {};
11
+ D: {};
12
+ C: {};
13
+ M: {};
14
+ Defaults: {};
15
+ }, Readonly<{
16
+ shadow?: "always" | "hover" | "never";
17
+ hoverFill?: boolean | string;
18
+ }> & Readonly<{}>, {}, {}, {}, {}, {
19
+ shadow: "always" | "hover" | "never";
20
+ hoverFill: string | boolean;
21
+ }>;
22
+ __isFragment?: never;
23
+ __isTeleport?: never;
24
+ __isSuspense?: never;
25
+ } & import("vue").ComponentOptionsBase<Readonly<{
26
+ shadow?: "always" | "hover" | "never";
27
+ hoverFill?: boolean | string;
28
+ }> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
29
+ shadow: "always" | "hover" | "never";
30
+ hoverFill: string | boolean;
31
+ }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
32
+ $slots: {
33
+ header?: (props: {}) => any;
34
+ } & {
35
+ default?: (props: {}) => any;
36
+ };
37
+ })>;
38
+ export default ZyCard;