@mureka-fe/ui 6.0.1 → 6.2.0

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 (35) hide show
  1. package/dist/llms.txt +53 -6
  2. package/dist/src/components/loading/Loading.vue.d.ts +21 -0
  3. package/dist/src/components/loading/Loading.vue.d.ts.map +1 -0
  4. package/dist/src/components/loading/__docs__/demos/basic.demo.vue.d.ts +3 -0
  5. package/dist/src/components/loading/__docs__/demos/basic.demo.vue.d.ts.map +1 -0
  6. package/dist/src/components/loading/__docs__/demos/container.demo.vue.d.ts +3 -0
  7. package/dist/src/components/loading/__docs__/demos/container.demo.vue.d.ts.map +1 -0
  8. package/dist/src/components/loading/__docs__/demos/fullscreen.demo.vue.d.ts +3 -0
  9. package/dist/src/components/loading/__docs__/demos/fullscreen.demo.vue.d.ts.map +1 -0
  10. package/dist/src/components/loading/__docs__/demos/imperative.demo.vue.d.ts +3 -0
  11. package/dist/src/components/loading/__docs__/demos/imperative.demo.vue.d.ts.map +1 -0
  12. package/dist/src/components/loading/__docs__/meta.d.ts +4 -0
  13. package/dist/src/components/loading/__docs__/meta.d.ts.map +1 -0
  14. package/dist/src/components/loading/index.d.ts +5 -0
  15. package/dist/src/components/loading/index.d.ts.map +1 -0
  16. package/dist/src/components/loading/loading.imperative.d.ts +26 -0
  17. package/dist/src/components/loading/loading.imperative.d.ts.map +1 -0
  18. package/dist/src/components/loading/loading.imperative.spec.d.ts +2 -0
  19. package/dist/src/components/loading/loading.imperative.spec.d.ts.map +1 -0
  20. package/dist/src/components/loading/loading.spec.d.ts +2 -0
  21. package/dist/src/components/loading/loading.spec.d.ts.map +1 -0
  22. package/dist/src/components/loading/loading.types.d.ts +38 -0
  23. package/dist/src/components/loading/loading.types.d.ts.map +1 -0
  24. package/dist/src/components/message/__docs__/demos/dedupe.demo.vue.d.ts +3 -0
  25. package/dist/src/components/message/__docs__/demos/dedupe.demo.vue.d.ts.map +1 -0
  26. package/dist/src/components/message/__docs__/meta.d.ts.map +1 -1
  27. package/dist/src/components/message/message.d.ts +6 -0
  28. package/dist/src/components/message/message.d.ts.map +1 -1
  29. package/dist/src/components/modal/Modal.vue.d.ts +1 -1
  30. package/dist/src/index.d.ts +2 -0
  31. package/dist/src/index.d.ts.map +1 -1
  32. package/dist/styles.css +1 -1
  33. package/dist/ui.js +819 -610
  34. package/dist/ui.umd.cjs +1 -1
  35. package/package.json +1 -1
package/dist/llms.txt CHANGED
@@ -1,4 +1,4 @@
1
- # @mureka-fe/ui v6.0.1
1
+ # @mureka-fe/ui v6.2.0
2
2
 
3
3
  > AI/LLM-readable reference for the @mureka-fe/ui Vue 3 component library.
4
4
  > Read this file before writing UI in a project that depends on this package.
@@ -22,6 +22,7 @@ import { MuButton, MuModal } from '@mureka-fe/ui';
22
22
  | Badge 徽标 | `badge` | 用于展示状态、权益、版本和轻量元信息的纯展示徽标。 |
23
23
  | Dialog 弹窗 | `modal` | 用于承载需要中断当前流程的确认、编辑、危险操作以及结果反馈对话框。提供 form 与 feedback 两种排版形态。 |
24
24
  | Tag 标签 | `tag` | 用于筛选、分类、模式切换等轻量选择场景;新版 MuTag 是交互式 button。 |
25
+ | Loading 加载 | `loading` | 加载态反馈:角向渐变 spinner + 可选文案,支持内联、容器级与页面级遮罩,遮罩透明不染色。 |
25
26
  | Switch 开关 | `switch` | 用于切换开/关状态,支持受控与非受控、自定义值、异步切换拦截、自定义文案和图标。 |
26
27
  | Radio 单选 | `radio` | 用于在一组选项中选择单个值,支持受控与非受控、横向/纵向排列、禁用态和独立使用。 |
27
28
  | Tabs 标签页 | `tabs` | 用于在同级内容或模式之间切换,支持 line 与 segment 两种视觉形态、三档尺寸、图标插槽和等宽布局。 |
@@ -43,6 +44,13 @@ export type {
43
44
  CheckboxProps,
44
45
  CheckboxValue,
45
46
  } from './components/checkbox';
47
+ export { MuLoading, loading } from './components/loading';
48
+ export type {
49
+ ImperativeLoadingOptions,
50
+ LoadingHandle,
51
+ LoadingMode,
52
+ LoadingProps,
53
+ } from './components/loading';
46
54
  export { MessageList, message } from './components/message';
47
55
  export { MuModal, muModal, openMuModal } from './components/modal';
48
56
  export type { ImperativeModalProps } from './components/modal';
@@ -132,16 +140,17 @@ Status: stable · Since 1.0.0 · Category: 反馈
132
140
  - **基本用法** — 支持 success / warning / info / error / danger 五种通知状态,新消息会加入顶部消息队列。
133
141
  - **自定义图标** — 通过 icon 自定义提示图标,支持内联 SVG 字符串或 Vue 组件。
134
142
  - **可关闭** — 设置 closable 显示关闭按钮;配合 duration: 0 可保持常驻,直到用户手动关闭。
143
+ - **去重(只提示一次)** — 设置 key 后,若屏幕上已有相同 key 的消息在显示,后续调用将被忽略、不重复弹出;该消息关闭后相同 key 可再次弹出。适合防止重复触发的错误或网络提示刷屏。
135
144
 
136
145
  #### Methods
137
146
 
138
147
  | name | signature | description |
139
148
  | --- | --- | --- |
140
- | message.success | (text: string \| { title: string; description?: string; duration?: number; closable?: boolean; resetOnHover?: boolean; icon?: string \| Component }) => { close: () => void } | 展示成功提示,对应 Export Complete 的青色通知卡片。 |
141
- | message.warning | (text: string \| { title: string; description?: string; duration?: number; closable?: boolean; resetOnHover?: boolean; icon?: string \| Component }) => { close: () => void } | 展示警告提示。 |
142
- | message.info | (text: string \| { title: string; description?: string; duration?: number; closable?: boolean; resetOnHover?: boolean; icon?: string \| Component }) => { close: () => void } | 展示中性信息提示。 |
143
- | message.error | (text: string \| { title: string; description?: string; duration?: number; closable?: boolean; resetOnHover?: boolean; icon?: string \| Component }) => { close: () => void } | 展示业务错误提示,可恢复。 |
144
- | message.danger | (text: string \| { title: string; description?: string; duration?: number; closable?: boolean; resetOnHover?: boolean; icon?: string \| Component }) => { close: () => void } | 展示系统级危险错误提示,不可恢复。 |
149
+ | message.success | (text: string \| { title: string; description?: string; duration?: number; closable?: boolean; resetOnHover?: boolean; icon?: string \| Component; key?: string \| number }) => { close: () => void } | 展示成功提示,对应 Export Complete 的青色通知卡片。 |
150
+ | message.warning | (text: string \| { title: string; description?: string; duration?: number; closable?: boolean; resetOnHover?: boolean; icon?: string \| Component; key?: string \| number }) => { close: () => void } | 展示警告提示。 |
151
+ | message.info | (text: string \| { title: string; description?: string; duration?: number; closable?: boolean; resetOnHover?: boolean; icon?: string \| Component; key?: string \| number }) => { close: () => void } | 展示中性信息提示。 |
152
+ | message.error | (text: string \| { title: string; description?: string; duration?: number; closable?: boolean; resetOnHover?: boolean; icon?: string \| Component; key?: string \| number }) => { close: () => void } | 展示业务错误提示,可恢复。 |
153
+ | message.danger | (text: string \| { title: string; description?: string; duration?: number; closable?: boolean; resetOnHover?: boolean; icon?: string \| Component; key?: string \| number }) => { close: () => void } | 展示系统级危险错误提示,不可恢复。 |
145
154
 
146
155
  ### Badge 徽标 `badge`
147
156
 
@@ -270,6 +279,44 @@ Status: stable · Since 1.0.0 · Category: 选择
270
279
  | prefix | VNode | -- | 前置图标插槽,只放非交互图标。 |
271
280
  | suffix | VNode | -- | 后置图标插槽,只放非交互图标。 |
272
281
 
282
+ ### Loading 加载 `loading`
283
+
284
+ Status: stable · Since 6.2.0 · Category: 反馈
285
+
286
+ 加载态反馈:角向渐变 spinner + 可选文案,支持内联、容器级与页面级遮罩,遮罩透明不染色。
287
+
288
+ #### Usage notes
289
+
290
+ - **基础用法** — 始终渲染为冻结玻璃卡片:不传 text 时卡片内只有 spinner(可用 size 调整直径),传入 text 时在 spinner 下方加文案。
291
+ - **容器级** — 默认插槽包裹内容后即容器级;spinning 为 true 时在内容上方叠加一层透明遮罩(不染色,仅拦截交互)并居中卡片。
292
+ - **页面级** — 设置 fullscreen 渲染固定全屏遮罩(Teleport 到 body),用 spinning 控制显隐。
293
+ - **命令式** — loading.show() 调用即把全屏加载挂到 body,返回可关闭句柄;内部用引用计数,并发调用互不覆盖,计数归零才隐藏。
294
+
295
+ #### Props
296
+
297
+ | name | type | default | description |
298
+ | --- | --- | --- | --- |
299
+ | spinning | boolean | true | 是否处于加载态。容器级 / 页面级用它控制遮罩显隐,内联级用它控制 spinner 显隐。 |
300
+ | text | string | - | spinner 下方文案。卡片始终渲染;不传时卡片内只有 spinner,传入则在 spinner 下方加文案。组件不内置任何可见文案,多语言时传入业务 i18n 字符串即可。 |
301
+ | ariaLabel | string | 'Loading' | 无可见文案时(卡片内仅 spinner)供屏幕阅读器朗读的无障碍标签;传本地化字符串即可多语言。有 text 时由可见文案充当无障碍名,本项不生效。 |
302
+ | size | number | 36 | spinner 直径(px)。 |
303
+ | fullscreen | boolean | false | 页面级:固定全屏遮罩,Teleport 到 body。传入后忽略默认插槽。 |
304
+ | delay | number | 0 | 延迟显示(ms),避免极快加载时的闪烁;隐藏时立即生效。 |
305
+
306
+ #### Slots
307
+
308
+ | name | type | default | description |
309
+ | --- | --- | --- | --- |
310
+ | default | VNode | -- | 被包裹的内容;提供后即容器级,加载态在其上方叠加透明遮罩 + 居中卡片。 |
311
+
312
+ #### Methods
313
+
314
+ | name | signature | description |
315
+ | --- | --- | --- |
316
+ | loading.show | (options?: { text?: string; size?: number }) => { close: () => void } | 显示全屏加载,引用计数 +1,返回可关闭句柄;句柄 close 幂等。 |
317
+ | loading.hide | () => void | 引用计数 -1,与单次 show 1:1 配对的便捷写法。 |
318
+ | loading.hideAll | () => void | 无视引用计数强制清场,用于路由切换等一键收尾场景。 |
319
+
273
320
  ### Switch 开关 `switch`
274
321
 
275
322
  Status: stable · Since 1.0.0 · Category: 通用
@@ -0,0 +1,21 @@
1
+ import type { LoadingProps } from './loading.types';
2
+ declare var __VLS_1: {};
3
+ type __VLS_Slots = {} & {
4
+ default?: (props: typeof __VLS_1) => any;
5
+ };
6
+ declare const __VLS_component: import("vue").DefineComponent<LoadingProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<LoadingProps> & Readonly<{}>, {
7
+ text: string;
8
+ size: number;
9
+ spinning: boolean;
10
+ ariaLabel: string;
11
+ fullscreen: boolean;
12
+ delay: number;
13
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
14
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
15
+ export default _default;
16
+ type __VLS_WithSlots<T, S> = T & {
17
+ new (): {
18
+ $slots: S;
19
+ };
20
+ };
21
+ //# sourceMappingURL=Loading.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Loading.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/loading/Loading.vue"],"names":[],"mappings":"AAgPA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAyPpD,QAAA,IAAI,OAAO,IAAW,CAAE;AACxB,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,CAAC;AA6B/C,QAAA,MAAM,eAAe;;;;;;;6EAOnB,CAAC;wBACkB,eAAe,CAAC,OAAO,eAAe,EAAE,WAAW,CAAC;AAAzE,wBAA0E;AAa1E,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
3
+ //# sourceMappingURL=basic.demo.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basic.demo.vue.d.ts","sourceRoot":"","sources":["../../../../../../src/components/loading/__docs__/demos/basic.demo.vue"],"names":[],"mappings":";AAuFA,wBAKG"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
3
+ //# sourceMappingURL=container.demo.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container.demo.vue.d.ts","sourceRoot":"","sources":["../../../../../../src/components/loading/__docs__/demos/container.demo.vue"],"names":[],"mappings":";AAiJA,wBAKG"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
3
+ //# sourceMappingURL=fullscreen.demo.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fullscreen.demo.vue.d.ts","sourceRoot":"","sources":["../../../../../../src/components/loading/__docs__/demos/fullscreen.demo.vue"],"names":[],"mappings":";AAgHA,wBAKG"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
3
+ //# sourceMappingURL=imperative.demo.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imperative.demo.vue.d.ts","sourceRoot":"","sources":["../../../../../../src/components/loading/__docs__/demos/imperative.demo.vue"],"names":[],"mappings":";AAqHA,wBAKG"}
@@ -0,0 +1,4 @@
1
+ import type { ComponentDocMeta } from '../../../../internal/docs/schema';
2
+ declare const meta: ComponentDocMeta;
3
+ export default meta;
4
+ //# sourceMappingURL=meta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../../../src/components/loading/__docs__/meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,QAAA,MAAM,IAAI,EAAE,gBAuHX,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { default as MuLoading } from './Loading.vue';
2
+ export { loading } from './loading.imperative';
3
+ export type { ImperativeLoadingOptions, LoadingHandle } from './loading.imperative';
4
+ export type { LoadingMode, LoadingProps } from './loading.types';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/loading/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,YAAY,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACpF,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,26 @@
1
+ export interface ImperativeLoadingOptions {
2
+ /** spinner 下方文案 */
3
+ text?: string;
4
+ /** 无障碍标签:无文案时供屏幕阅读器朗读,默认 'Loading'。传本地化字符串即可多语言。 */
5
+ ariaLabel?: string;
6
+ /** spinner 直径(px) */
7
+ size?: number;
8
+ }
9
+ export interface LoadingHandle {
10
+ /** 关闭这次 show 触发的加载(引用计数 -1,幂等)。 */
11
+ close: () => void;
12
+ }
13
+ declare function decrement(): void;
14
+ declare function show(options?: ImperativeLoadingOptions): LoadingHandle;
15
+ export declare const loading: {
16
+ /** 显示全屏加载,引用计数 +1,返回可关闭句柄。 */
17
+ show: typeof show;
18
+ /** 引用计数 -1,与单次 show 1:1 配对的便捷写法。 */
19
+ hide: typeof decrement;
20
+ /** 无视引用计数强制清场(路由切换等一键收尾场景)。 */
21
+ hideAll(): void;
22
+ };
23
+ /** 测试钩子:清空状态并卸载挂载点。 */
24
+ export declare function resetLoadingForTest(): void;
25
+ export {};
26
+ //# sourceMappingURL=loading.imperative.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loading.imperative.d.ts","sourceRoot":"","sources":["../../../../src/components/loading/loading.imperative.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,wBAAwB;IACvC,mBAAmB;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAqDD,iBAAS,SAAS,IAAI,IAAI,CAKzB;AAED,iBAAS,IAAI,CAAC,OAAO,GAAE,wBAA6B,GAAG,aAAa,CAsBnE;AAED,eAAO,MAAM,OAAO;IAClB,8BAA8B;;IAE9B,oCAAoC;;IAEpC,+BAA+B;eACpB,IAAI;CAIhB,CAAC;AAEF,uBAAuB;AACvB,wBAAgB,mBAAmB,IAAI,IAAI,CAO1C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=loading.imperative.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loading.imperative.spec.d.ts","sourceRoot":"","sources":["../../../../src/components/loading/loading.imperative.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=loading.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loading.spec.d.ts","sourceRoot":"","sources":["../../../../src/components/loading/loading.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,38 @@
1
+ export type LoadingMode = 'inline' | 'container' | 'page';
2
+ export interface LoadingProps {
3
+ /** 是否处于加载态。容器级 / 页面级用它控制 overlay 显隐;内联级用它控制 spinner 显隐。默认 true。 */
4
+ spinning?: boolean;
5
+ /** spinner 下方文案。卡片始终渲染;不传则卡片内只有 spinner,传入则在下方加文案。传本地化字符串即可多语言。 */
6
+ text?: string;
7
+ /** 无障碍标签:无可见文案时(卡片内仅 spinner)供屏幕阅读器朗读,默认 'Loading'。传本地化字符串即可多语言。 */
8
+ ariaLabel?: string;
9
+ /** spinner 直径(px),默认 36。 */
10
+ size?: number;
11
+ /** 页面级:固定全屏 overlay(Teleport 到 body)。传入后忽略默认插槽。 */
12
+ fullscreen?: boolean;
13
+ /** 延迟显示(ms),避免极快加载时的闪烁;隐藏时立即生效。默认 0。 */
14
+ delay?: number;
15
+ }
16
+ export interface ResolvedLoadingProps {
17
+ spinning: boolean;
18
+ text?: string;
19
+ ariaLabel?: string;
20
+ size: number;
21
+ fullscreen: boolean;
22
+ delay: number;
23
+ }
24
+ export interface LoadingModeInput {
25
+ /** 是否为页面级(fullscreen)。 */
26
+ fullscreen?: boolean;
27
+ /** 是否存在被包裹的默认插槽内容。 */
28
+ hasContent?: boolean;
29
+ }
30
+ export declare const DEFAULT_LOADING_SIZE = 36;
31
+ export declare function resolveLoadingProps(props?: LoadingProps): ResolvedLoadingProps;
32
+ /**
33
+ * 形态由 props 与插槽共同决定:fullscreen 优先 → 页面级;存在默认插槽 → 容器级;否则内联级。
34
+ * 插槽信息只能在组件内拿到,所以单独抽成入参。
35
+ */
36
+ export declare function resolveLoadingMode(input?: LoadingModeInput): LoadingMode;
37
+ export declare function getLoadingClassNames(input?: LoadingModeInput): string[];
38
+ //# sourceMappingURL=loading.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loading.types.d.ts","sourceRoot":"","sources":["../../../../src/components/loading/loading.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAC;AAE1D,MAAM,WAAW,YAAY;IAC3B,mEAAmE;IACnE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,0BAA0B;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,sBAAsB;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,wBAAgB,mBAAmB,CAAC,KAAK,GAAE,YAAiB,GAAG,oBAAoB,CASlF;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,GAAE,gBAAqB,GAAG,WAAW,CAU5E;AAED,wBAAgB,oBAAoB,CAAC,KAAK,GAAE,gBAAqB,GAAG,MAAM,EAAE,CAG3E"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
3
+ //# sourceMappingURL=dedupe.demo.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dedupe.demo.vue.d.ts","sourceRoot":"","sources":["../../../../../../src/components/message/__docs__/demos/dedupe.demo.vue"],"names":[],"mappings":";AA4JA,wBAKG"}
@@ -1 +1 @@
1
- {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../../../src/components/message/__docs__/meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,QAAA,MAAM,IAAI,EAAE,gBA+EX,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../../../src/components/message/__docs__/meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,QAAA,MAAM,IAAI,EAAE,gBA4FX,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -6,6 +6,12 @@ export interface MessageOptions {
6
6
  closable?: boolean;
7
7
  resetOnHover?: boolean;
8
8
  icon?: MessageIcon;
9
+ /**
10
+ * 去重标识。设置后,若当前屏幕上已有相同 key 的消息在显示,则本次调用被忽略、
11
+ * 不重复弹出(“只提示一次”),并返回正在显示的那条消息的关闭句柄。
12
+ * 该消息关闭后,相同 key 可再次弹出。不传 key 时不做任何去重。
13
+ */
14
+ key?: string | number;
9
15
  }
10
16
  export interface MessagePayload extends MessageOptions {
11
17
  title: string;
@@ -1 +1 @@
1
- {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../../src/components/message/message.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAGrC,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAC9E,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,SAAS,CAAC;AAE7C,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB;AAED,MAAM,WAAW,cAAe,SAAQ,cAAc;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAY,SAAQ,cAAc;IACjD,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAgBD,eAAO,MAAM,YAAY,EAAE,YAEzB,CAAC;AA4GH,UAAU,aAAa;IACrB,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IACtC,CAAC,OAAO,EAAE,cAAc,GAAG;QAAE,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;CAClD;AAMD,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,WAAW,EAAE,aAAa,CAMtD,CAAC;AAEF,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAE7C;AAED,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAetD;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAavD;AAED,wBAAgB,wBAAwB,IAAI,IAAI,CAO/C"}
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../../src/components/message/message.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAGrC,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAC9E,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,SAAS,CAAC;AAE7C,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAe,SAAQ,cAAc;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAY,SAAQ,cAAc;IACjD,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAgBD,eAAO,MAAM,YAAY,EAAE,YAEzB,CAAC;AAiIH,UAAU,aAAa;IACrB,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IACtC,CAAC,OAAO,EAAE,cAAc,GAAG;QAAE,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;CAClD;AAMD,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,WAAW,EAAE,aAAa,CAMtD,CAAC;AAEF,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAE7C;AAED,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAetD;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAavD;AAED,wBAAgB,wBAAwB,IAAI,IAAI,CAO/C"}
@@ -22,8 +22,8 @@ declare const __VLS_component: import("vue").DefineComponent<ModalProps, {}, {},
22
22
  title: string;
23
23
  status: import("./modal.types").ModalStatus;
24
24
  size: import("./modal.types").ModalSize;
25
- closable: boolean;
26
25
  visible: boolean;
26
+ closable: boolean;
27
27
  maskClosable: boolean;
28
28
  escToClose: boolean;
29
29
  okText: string;
@@ -4,6 +4,8 @@ export type { BadgePreset, BadgeProps, BadgeVariant } from './components/badge';
4
4
  export { MuButton } from './components/button';
5
5
  export { MuCheckbox, MuCheckboxGroup } from './components/checkbox';
6
6
  export type { CheckboxGroupDirection, CheckboxGroupProps, CheckboxOption, CheckboxProps, CheckboxValue, } from './components/checkbox';
7
+ export { MuLoading, loading } from './components/loading';
8
+ export type { ImperativeLoadingOptions, LoadingHandle, LoadingMode, LoadingProps, } from './components/loading';
7
9
  export { MessageList, message } from './components/message';
8
10
  export { MuModal, muModal, openMuModal } from './components/modal';
9
11
  export type { ImperativeModalProps } from './components/modal';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAC;AAE5B,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACpE,YAAY,EACV,sBAAsB,EACtB,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,aAAa,GACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACnE,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC3D,YAAY,EACV,mBAAmB,EACnB,eAAe,EACf,UAAU,EACV,UAAU,GACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,YAAY,EACV,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,UAAU,EACV,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAClD,YAAY,EACV,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,UAAU,EACV,SAAS,EACT,QAAQ,EACR,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAC;AAE5B,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACpE,YAAY,EACV,sBAAsB,EACtB,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,aAAa,GACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EACV,wBAAwB,EACxB,aAAa,EACb,WAAW,EACX,YAAY,GACb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACnE,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC3D,YAAY,EACV,mBAAmB,EACnB,eAAe,EACf,UAAU,EACV,UAAU,GACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,YAAY,EACV,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,UAAU,EACV,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAClD,YAAY,EACV,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,UAAU,EACV,SAAS,EACT,QAAQ,EACR,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}