@robot-admin/naive-ui-components 0.13.8 → 0.13.9
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/CHANGELOG.md +5 -0
- package/README.md +22 -5
- package/README_EN.md +22 -5
- package/dist/C_PageLoading.cjs +1 -0
- package/dist/C_PageLoading.css +152 -0
- package/dist/C_PageLoading.d.cts +2 -0
- package/dist/C_PageLoading.d.ts +2 -0
- package/dist/C_PageLoading.js +1 -0
- package/dist/constants.d.cts +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants2.d.cts +3 -3
- package/dist/constants2.d.ts +3 -3
- package/dist/constants4.d.cts +6 -6
- package/dist/constants4.d.ts +6 -6
- package/dist/constants5.d.cts +4 -4
- package/dist/constants5.d.ts +4 -4
- package/dist/createPageLoading.cjs +1 -0
- package/dist/createPageLoading.d.cts +32 -0
- package/dist/createPageLoading.d.ts +32 -0
- package/dist/createPageLoading.js +1 -0
- package/dist/data.d.cts +4 -4
- package/dist/data.d.ts +4 -4
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +22 -21
- package/dist/index.d.ts +22 -21
- package/dist/index.js +1 -1
- package/dist/index.vue.d.cts +3 -3
- package/dist/index.vue.d.ts +3 -3
- package/dist/index10.vue.d.cts +3 -3
- package/dist/index10.vue.d.ts +3 -3
- package/dist/index11.vue.d.cts +3 -3
- package/dist/index11.vue.d.ts +6 -6
- package/dist/index12.vue.d.cts +6 -6
- package/dist/index12.vue.d.ts +2 -2
- package/dist/index13.vue.d.cts +2 -2
- package/dist/index13.vue.d.ts +3 -3
- package/dist/index14.vue.d.cts +3 -3
- package/dist/index14.vue.d.ts +6 -6
- package/dist/index15.vue.d.cts +6 -6
- package/dist/index16.vue.d.ts +1 -1
- package/dist/index17.vue.d.cts +1 -1
- package/dist/index17.vue.d.ts +2 -2
- package/dist/index18.vue.d.cts +2 -2
- package/dist/index18.vue.d.ts +4 -4
- package/dist/index19.vue.d.cts +4 -4
- package/dist/index19.vue.d.ts +1 -1
- package/dist/index2.vue.d.cts +1 -1
- package/dist/index2.vue.d.ts +1 -1
- package/dist/index20.vue.d.cts +1 -1
- package/dist/index20.vue.d.ts +1 -1
- package/dist/index21.vue.d.cts +2 -2
- package/dist/index21.vue.d.ts +2 -2
- package/dist/index22.vue.d.cts +2 -2
- package/dist/index22.vue.d.ts +2 -2
- package/dist/index23.vue.d.cts +2 -2
- package/dist/index23.vue.d.ts +2 -2
- package/dist/index25.vue.d.cts +4 -4
- package/dist/index25.vue.d.ts +4 -4
- package/dist/index27.vue.d.cts +4 -4
- package/dist/index27.vue.d.ts +4 -4
- package/dist/index3.vue.d.cts +4 -4
- package/dist/index3.vue.d.ts +4 -4
- package/dist/index4.vue.d.cts +1 -1
- package/dist/index6.vue.d.ts +1 -1
- package/dist/index7.vue.d.cts +1 -1
- package/dist/index8.vue.d.ts +1 -1
- package/dist/index9.vue.d.cts +1 -1
- package/dist/index9.vue.d.ts +3 -3
- package/dist/mapUtils.d.cts +4 -4
- package/dist/mapUtils.d.ts +4 -4
- package/dist/resolver.cjs +1 -1
- package/dist/resolver.d.cts +1 -1
- package/dist/resolver.d.ts +1 -1
- package/dist/resolver.js +1 -1
- package/dist/style.css +155 -0
- package/dist/useCollapsePanel.d.cts +2 -2
- package/dist/useCollapsePanel.d.ts +2 -2
- package/dist/useCropperCore.d.cts +5 -5
- package/dist/useCropperCore.d.ts +5 -5
- package/dist/useDraggableLayout.d.cts +6 -6
- package/dist/useDraggableLayout.d.ts +6 -6
- package/dist/useEdgeInteraction.d.cts +3 -3
- package/dist/useEdgeInteraction.d.ts +3 -3
- package/dist/useFullscreen.d.cts +2 -2
- package/dist/useFullscreen.d.ts +2 -2
- package/dist/useQRCode.d.cts +5 -5
- package/dist/useQRCode.d.ts +5 -5
- package/dist/useSearchState.d.cts +2 -2
- package/dist/useSearchState.d.ts +2 -2
- package/dist/useSignatureHistory.d.cts +5 -5
- package/dist/useSignatureHistory.d.ts +5 -5
- package/dist/useSplitResize.d.cts +5 -5
- package/dist/useSplitResize.d.ts +5 -5
- package/dist/useTimeSelection.d.cts +3 -3
- package/dist/useTimeSelection.d.ts +3 -3
- package/dist/useWorkflowValidation.d.cts +2 -2
- package/dist/useWorkflowValidation.d.ts +2 -2
- package/dist/verification.d.cts +3 -3
- package/dist/verification.d.ts +3 -3
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# @robot-admin/naive-ui-components
|
|
2
2
|
|
|
3
|
+
## 0.13.9
|
|
4
|
+
|
|
5
|
+
- 新增 `C_PageLoading`:同心轨道与波形 SVG、柔和主题卡片,支持明暗主题、按需导入、独立文案和减少动态效果;所有样式隔离,不依赖路由或宿主的 UnoCSS。
|
|
6
|
+
- 新增 `createPageLoading({ delay })`:默认延迟 160ms 显示,快速完成不闪烁;任务编号隔离并发完成,提供重置清理,不强制延长导航时间。
|
|
7
|
+
|
|
3
8
|
## 0.13.8
|
|
4
9
|
|
|
5
10
|
- 表格内置子表与主表统一默认居中;列类型保留 Naive UI 普通列的排序、筛选和单元格配置,原生表格迁移后不丢交互能力。
|
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
**基于 Naive UI 的 Vue 3 企业级组件库**
|
|
6
6
|
|
|
7
|
-
从 Robot Admin 中提炼的
|
|
7
|
+
从 Robot Admin 中提炼的 55 个高质量业务组件,支持全量注册、按需导入(Tree-Shaking)和子路径独立导入。
|
|
8
8
|
|
|
9
9
|
[](https://www.npmjs.com/package/@robot-admin/naive-ui-components)
|
|
10
10
|
[](./LICENSE)
|
|
@@ -479,7 +479,7 @@ const config = defineTableConfig({
|
|
|
479
479
|
</NSpin>
|
|
480
480
|
```
|
|
481
481
|
|
|
482
|
-
### 📋 组件清单(
|
|
482
|
+
### 📋 组件清单(55 个)
|
|
483
483
|
|
|
484
484
|
> 💡 所有组件均提供 **在线交互演示**,访问 [组件文档](https://www.tzagileteam.com/robot/components/preface) 可直接在页面中体验真实效果(通过 iframe 嵌入 Robot Admin 生产环境)。
|
|
485
485
|
|
|
@@ -489,6 +489,7 @@ const config = defineTableConfig({
|
|
|
489
489
|
| ---------------- | ----------------------- | ----------------------------- |
|
|
490
490
|
| `C_Icon` | Iconify 图标封装 | `@iconify/vue` |
|
|
491
491
|
| `C_Loading` | 主题化 SVG 加载态 | - |
|
|
492
|
+
| `C_PageLoading` | 主题化页面切换加载 | - |
|
|
492
493
|
| `C_Code` | 代码高亮显示 | `highlight.js` |
|
|
493
494
|
| `C_Barcode` | 条形码生成器 | `@chenfengyuan/vue-barcode` |
|
|
494
495
|
| `C_Captcha` | 拼图/ALTCHA 人机验证 | `vue3-puzzle-vcode`、`altcha` |
|
|
@@ -601,7 +602,7 @@ bun add vue naive-ui
|
|
|
601
602
|
|
|
602
603
|
```
|
|
603
604
|
bun run build
|
|
604
|
-
├── 1. tsdown → 多入口打包(
|
|
605
|
+
├── 1. tsdown → 多入口打包(55 组件 ESM/CJS/DTS)
|
|
605
606
|
├── 2. sass CLI → 编译共享变量入口 → global-scss.css
|
|
606
607
|
├── 3. merge-css.js → 合并 Vue 编译后的 SFC CSS + 全局变量 → style.css
|
|
607
608
|
├── 4. gen-exports.js → 自动生成 package.json exports 映射
|
|
@@ -611,7 +612,7 @@ bun run build
|
|
|
611
612
|
|
|
612
613
|
#### 技术要点
|
|
613
614
|
|
|
614
|
-
- **构建引擎**:[tsdown](https://github.com/rolldown/tsdown)(基于 Rolldown),
|
|
615
|
+
- **构建引擎**:[tsdown](https://github.com/rolldown/tsdown)(基于 Rolldown),55 个独立入口并行编译
|
|
615
616
|
- **SCSS 处理**:自定义 `scssTransformPlugin` 在 Rolldown 管线内编译 SFC SCSS,独立 Sass CLI 仅编译共享变量入口
|
|
616
617
|
- **CSS 合并**:构建后将 Vue 已完成 scoped 转换的 per-chunk CSS 与共享变量合并为单一 `style.css`,避免重复样式和原始 `:deep()` 选择器泄漏
|
|
617
618
|
- **类型导出**:统一 `export *` barrel 模式,自动生成完整 `.d.ts`
|
|
@@ -626,7 +627,7 @@ bun run build
|
|
|
626
627
|
```
|
|
627
628
|
dist/
|
|
628
629
|
├── index.js / index.cjs / index.d.ts # 主入口
|
|
629
|
-
├── C_Form.js / C_Form.cjs / C_Form.d.ts # 子路径入口(
|
|
630
|
+
├── C_Form.js / C_Form.cjs / C_Form.d.ts # 子路径入口(55 组件)
|
|
630
631
|
├── C_Form.base.css / C_Form.full.css # 基础/完整样式层级
|
|
631
632
|
├── C_Table.base.css / C_Table.full.css # 基础/完整样式层级
|
|
632
633
|
├── style.css # 合并后的全量样式
|
|
@@ -735,3 +736,19 @@ MIT License
|
|
|
735
736
|
### C_Login 扩展表单
|
|
736
737
|
|
|
737
738
|
`password-fields` 插槽位于密码输入框下方,提供 `username`、`loading`,可配置工作空间或其他业务字段。`username-change` 在初始预填、恢复记住的账号和输入变化时同步触发。宿主通过 `submitDisabled` 阻止扩展字段尚未就绪时的按钮与回车提交;`loading` 期间凭据输入禁用。公司查询、成员关系和权限始终由宿主认证服务处理,组件不保存业务上下文。
|
|
739
|
+
|
|
740
|
+
### 页面切换加载
|
|
741
|
+
|
|
742
|
+
路由生命周期只需要关联 `start()` / `finish(id)`;动画、主题和减少动态效果由组件库处理。默认延迟 160ms 显示,快速切换不闪烁,旧任务完成不会关闭新任务。
|
|
743
|
+
|
|
744
|
+
```vue
|
|
745
|
+
<C_PageLoading :show="loading.visible.value" />
|
|
746
|
+
```
|
|
747
|
+
|
|
748
|
+
```ts
|
|
749
|
+
import { createPageLoading } from '@robot-admin/naive-ui-components/C_PageLoading'
|
|
750
|
+
const loading = createPageLoading({ delay: 160 })
|
|
751
|
+
const id = loading.start()
|
|
752
|
+
// 路由完成、取消或失败后
|
|
753
|
+
loading.finish(id)
|
|
754
|
+
```
|
package/README_EN.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
**Enterprise-grade Vue 3 component library built on Naive UI**
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
55 production-ready business components extracted from Robot Admin, supporting global registration, on-demand imports (Tree-Shaking), and subpath imports.
|
|
8
8
|
|
|
9
9
|
[](https://www.npmjs.com/package/@robot-admin/naive-ui-components)
|
|
10
10
|
[](./LICENSE)
|
|
@@ -420,7 +420,7 @@ With `require-server-verification`, a successful response must include a server
|
|
|
420
420
|
</NSpin>
|
|
421
421
|
```
|
|
422
422
|
|
|
423
|
-
### 📋 Component List (
|
|
423
|
+
### 📋 Component List (55 Components)
|
|
424
424
|
|
|
425
425
|
> 💡 All components provide **interactive live demos**. Visit the [Component Docs](https://www.tzagileteam.com/robot/components/preface) to try them out in real-time (rendered via iframe from Robot Admin production).
|
|
426
426
|
|
|
@@ -430,6 +430,7 @@ With `require-server-verification`, a successful response must include a server
|
|
|
430
430
|
| ---------------- | ------------------------- | ----------------------------- |
|
|
431
431
|
| `C_Icon` | Iconify icon wrapper | `@iconify/vue` |
|
|
432
432
|
| `C_Loading` | Theme-aware SVG loading | - |
|
|
433
|
+
| `C_PageLoading` | Theme-aware page loading | - |
|
|
433
434
|
| `C_Code` | Code highlighting | `highlight.js` |
|
|
434
435
|
| `C_Barcode` | Barcode generator | `@chenfengyuan/vue-barcode` |
|
|
435
436
|
| `C_Captcha` | Puzzle / ALTCHA captcha | `vue3-puzzle-vcode`, `altcha` |
|
|
@@ -542,7 +543,7 @@ Install optional peers per feature: `vue-router` for `C_Breadcrumb`/`C_TagsView`
|
|
|
542
543
|
|
|
543
544
|
```
|
|
544
545
|
bun run build
|
|
545
|
-
├── 1. tsdown → Multi-entry bundling (
|
|
546
|
+
├── 1. tsdown → Multi-entry bundling (55 components ESM/CJS/DTS)
|
|
546
547
|
├── 2. sass CLI → Compile the shared-variable entry → global-scss.css
|
|
547
548
|
├── 3. merge-css.js → Merge Vue-compiled SFC CSS + global variables → style.css
|
|
548
549
|
├── 4. gen-exports.js → Auto-generate package.json exports map
|
|
@@ -552,7 +553,7 @@ bun run build
|
|
|
552
553
|
|
|
553
554
|
#### Key Technical Details
|
|
554
555
|
|
|
555
|
-
- **Build engine**: [tsdown](https://github.com/rolldown/tsdown) (Rolldown-based),
|
|
556
|
+
- **Build engine**: [tsdown](https://github.com/rolldown/tsdown) (Rolldown-based), 55 independent entries compiled in parallel
|
|
556
557
|
- **SCSS processing**: Custom `scssTransformPlugin` compiles SFC SCSS within the Rolldown pipeline; standalone Sass CLI only compiles the shared-variable entry
|
|
557
558
|
- **CSS merging**: Post-build merges Vue scoped-compiled per-chunk CSS with shared variables into a single `style.css`, avoiding duplicate styles and leaked raw `:deep()` selectors
|
|
558
559
|
- **Type exports**: Unified `export *` barrel pattern with auto-generated `.d.ts`
|
|
@@ -567,7 +568,7 @@ bun run build
|
|
|
567
568
|
```
|
|
568
569
|
dist/
|
|
569
570
|
├── index.js / index.cjs / index.d.ts # Main entry
|
|
570
|
-
├── C_Form.js / C_Form.cjs / C_Form.d.ts # Subpath entries (
|
|
571
|
+
├── C_Form.js / C_Form.cjs / C_Form.d.ts # Subpath entries (55 components)
|
|
571
572
|
├── C_Form.base.css / C_Form.full.css # Base/full style tiers
|
|
572
573
|
├── C_Table.base.css / C_Table.full.css # Base/full style tiers
|
|
573
574
|
├── style.css # Merged full styles
|
|
@@ -667,3 +668,19 @@ MIT License
|
|
|
667
668
|
### C_Login form extension
|
|
668
669
|
|
|
669
670
|
The `password-fields` slot appears below the password field and exposes `username` and `loading`. The synchronous `username-change` event covers initial defaults, remembered usernames and input changes. Use `submitDisabled` to block clicks and Enter while application fields are incomplete. Credential inputs are disabled while `loading`. Workspace discovery and authorization remain in the host application.
|
|
671
|
+
|
|
672
|
+
### Page navigation loading
|
|
673
|
+
|
|
674
|
+
Connect navigation lifecycles through `start()` / `finish(id)`. The component handles visuals, themes and reduced motion. A 160ms default delay avoids flashes; stale completions cannot hide a newer task.
|
|
675
|
+
|
|
676
|
+
```vue
|
|
677
|
+
<C_PageLoading :show="loading.visible.value" />
|
|
678
|
+
```
|
|
679
|
+
|
|
680
|
+
```ts
|
|
681
|
+
import { createPageLoading } from '@robot-admin/naive-ui-components/C_PageLoading'
|
|
682
|
+
const loading = createPageLoading({ delay: 160 })
|
|
683
|
+
const id = loading.start()
|
|
684
|
+
// After completion, cancellation or failure
|
|
685
|
+
loading.finish(id)
|
|
686
|
+
```
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./createPageLoading.cjs`);exports.C_PageLoading=e.n,exports.createPageLoading=e.t;
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/* unplugin-vue-components disabled *//*
|
|
2
|
+
* @Author: ChenYu ycyplus@gmail.com
|
|
3
|
+
* @Date: 2026-10-07
|
|
4
|
+
* @Description: 页面加载的主题卡片、波形和轨道动画,所有选择器限定作用域
|
|
5
|
+
* Copyright (c) 2026 by CHENY, All Rights Reserved 😎.
|
|
6
|
+
*/
|
|
7
|
+
.c-page-loading[data-v-aec6cc81] {
|
|
8
|
+
position: fixed;
|
|
9
|
+
inset: 0;
|
|
10
|
+
z-index: 1999;
|
|
11
|
+
display: grid;
|
|
12
|
+
place-items: center;
|
|
13
|
+
padding: 24px;
|
|
14
|
+
box-sizing: border-box;
|
|
15
|
+
background: color-mix(in srgb, var(--c-page-loading-body) 65%, transparent);
|
|
16
|
+
backdrop-filter: blur(3px);
|
|
17
|
+
pointer-events: none;
|
|
18
|
+
}
|
|
19
|
+
.c-page-loading__card[data-v-aec6cc81] {
|
|
20
|
+
display: flex;
|
|
21
|
+
flex-direction: column;
|
|
22
|
+
align-items: center;
|
|
23
|
+
gap: 10px;
|
|
24
|
+
width: 224px;
|
|
25
|
+
max-width: 100%;
|
|
26
|
+
padding: 26px 24px 22px;
|
|
27
|
+
box-sizing: border-box;
|
|
28
|
+
border-radius: 22px;
|
|
29
|
+
border: 1px solid var(--c-page-loading-border);
|
|
30
|
+
background: var(--c-page-loading-surface);
|
|
31
|
+
background-image: radial-gradient(ellipse at 50% 0, color-mix(in srgb, currentColor 6%, transparent), transparent 70%);
|
|
32
|
+
box-shadow: 0 16px 56px rgba(0, 0, 0, 0.1);
|
|
33
|
+
text-align: center;
|
|
34
|
+
}
|
|
35
|
+
.c-page-loading__glyph[data-v-aec6cc81] {
|
|
36
|
+
width: 76px;
|
|
37
|
+
height: 76px;
|
|
38
|
+
margin-bottom: 4px;
|
|
39
|
+
flex-shrink: 0;
|
|
40
|
+
}
|
|
41
|
+
.c-page-loading__outer[data-v-aec6cc81], .c-page-loading__inner[data-v-aec6cc81], .c-page-loading__pulse[data-v-aec6cc81] {
|
|
42
|
+
transform-box: view-box;
|
|
43
|
+
transform-origin: center;
|
|
44
|
+
}
|
|
45
|
+
.c-page-loading__outer[data-v-aec6cc81] {
|
|
46
|
+
animation: c-page-loading-orbit-aec6cc81 2s linear infinite;
|
|
47
|
+
}
|
|
48
|
+
.c-page-loading__inner[data-v-aec6cc81] {
|
|
49
|
+
animation: c-page-loading-orbit-aec6cc81 2.8s linear infinite reverse;
|
|
50
|
+
}
|
|
51
|
+
.c-page-loading__pulse[data-v-aec6cc81] {
|
|
52
|
+
animation: c-page-loading-pulse-aec6cc81 2s ease-in-out infinite alternate;
|
|
53
|
+
}
|
|
54
|
+
.c-page-loading__wave[data-v-aec6cc81] {
|
|
55
|
+
stroke-dasharray: 100;
|
|
56
|
+
animation: c-page-loading-wave-aec6cc81 2s ease-in-out infinite;
|
|
57
|
+
}
|
|
58
|
+
.c-page-loading__label[data-v-aec6cc81] {
|
|
59
|
+
color: var(--c-page-loading-text);
|
|
60
|
+
font-size: 14px;
|
|
61
|
+
font-weight: 600;
|
|
62
|
+
letter-spacing: 0.04em;
|
|
63
|
+
line-height: 1.6;
|
|
64
|
+
overflow-wrap: anywhere;
|
|
65
|
+
}
|
|
66
|
+
.c-page-loading__description[data-v-aec6cc81] {
|
|
67
|
+
color: var(--c-page-loading-muted);
|
|
68
|
+
font-size: 12px;
|
|
69
|
+
line-height: 1.5;
|
|
70
|
+
overflow-wrap: anywhere;
|
|
71
|
+
}
|
|
72
|
+
.c-page-loading__track[data-v-aec6cc81] {
|
|
73
|
+
width: 88px;
|
|
74
|
+
height: 2px;
|
|
75
|
+
margin-top: 8px;
|
|
76
|
+
overflow: hidden;
|
|
77
|
+
border-radius: 99px;
|
|
78
|
+
background: color-mix(in srgb, currentColor 10%, transparent);
|
|
79
|
+
}
|
|
80
|
+
.c-page-loading__track[data-v-aec6cc81]::after {
|
|
81
|
+
content: "";
|
|
82
|
+
display: block;
|
|
83
|
+
width: 50%;
|
|
84
|
+
height: 100%;
|
|
85
|
+
border-radius: inherit;
|
|
86
|
+
background: linear-gradient(90deg, transparent, currentColor, transparent);
|
|
87
|
+
animation: c-page-loading-track-aec6cc81 1.6s ease-in-out infinite;
|
|
88
|
+
}
|
|
89
|
+
.c-page-loading-fade-enter-active[data-v-aec6cc81],
|
|
90
|
+
.c-page-loading-fade-leave-active[data-v-aec6cc81] {
|
|
91
|
+
transition: opacity 0.16s ease;
|
|
92
|
+
}
|
|
93
|
+
.c-page-loading-fade-enter-from[data-v-aec6cc81],
|
|
94
|
+
.c-page-loading-fade-leave-to[data-v-aec6cc81] {
|
|
95
|
+
opacity: 0;
|
|
96
|
+
}
|
|
97
|
+
@keyframes c-page-loading-orbit-aec6cc81 {
|
|
98
|
+
to {
|
|
99
|
+
transform: rotate(360deg);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
@keyframes c-page-loading-pulse-aec6cc81 {
|
|
103
|
+
from {
|
|
104
|
+
transform: scale(0.9);
|
|
105
|
+
}
|
|
106
|
+
to {
|
|
107
|
+
transform: scale(1.15);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
@keyframes c-page-loading-wave-aec6cc81 {
|
|
111
|
+
0% {
|
|
112
|
+
stroke-dashoffset: 100;
|
|
113
|
+
opacity: 0.3;
|
|
114
|
+
}
|
|
115
|
+
45%, 65% {
|
|
116
|
+
stroke-dashoffset: 0;
|
|
117
|
+
opacity: 1;
|
|
118
|
+
}
|
|
119
|
+
100% {
|
|
120
|
+
stroke-dashoffset: -100;
|
|
121
|
+
opacity: 0.3;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
@keyframes c-page-loading-track-aec6cc81 {
|
|
125
|
+
from {
|
|
126
|
+
transform: translateX(-100%);
|
|
127
|
+
}
|
|
128
|
+
to {
|
|
129
|
+
transform: translateX(200%);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
@media (prefers-reduced-motion: reduce) {
|
|
133
|
+
.c-page-loading__outer[data-v-aec6cc81],
|
|
134
|
+
.c-page-loading__inner[data-v-aec6cc81],
|
|
135
|
+
.c-page-loading__pulse[data-v-aec6cc81],
|
|
136
|
+
.c-page-loading__wave[data-v-aec6cc81],
|
|
137
|
+
.c-page-loading__track[data-v-aec6cc81]::after {
|
|
138
|
+
animation: none;
|
|
139
|
+
}
|
|
140
|
+
.c-page-loading__track[data-v-aec6cc81]::after {
|
|
141
|
+
transform: translateX(50%);
|
|
142
|
+
}
|
|
143
|
+
.c-page-loading-fade-enter-active[data-v-aec6cc81],
|
|
144
|
+
.c-page-loading-fade-leave-active[data-v-aec6cc81] {
|
|
145
|
+
transition: none;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
/* unplugin-vue-components disabled */
|
|
149
|
+
/* layer: default */
|
|
150
|
+
.table[data-v-aec6cc81]{display:table;}
|
|
151
|
+
.filter[data-v-aec6cc81]{filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia);}
|
|
152
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,t}from"./createPageLoading.js";export{e as C_PageLoading,t as createPageLoading};
|
package/dist/constants.d.cts
CHANGED
|
@@ -118,9 +118,9 @@ declare const __VLS_export: vue.DefineComponent<CronProps, {
|
|
|
118
118
|
onChange?: ((value: string) => any) | undefined;
|
|
119
119
|
"onValidation-change"?: ((result: CronValidation) => any) | undefined;
|
|
120
120
|
}>, {
|
|
121
|
+
height: string | number;
|
|
121
122
|
modelValue: string;
|
|
122
123
|
disabled: boolean;
|
|
123
|
-
height: string | number;
|
|
124
124
|
showPreview: boolean;
|
|
125
125
|
previewCount: number;
|
|
126
126
|
showTemplates: boolean;
|
package/dist/constants.d.ts
CHANGED
|
@@ -118,9 +118,9 @@ declare const __VLS_export: vue.DefineComponent<CronProps, {
|
|
|
118
118
|
onChange?: ((value: string) => any) | undefined;
|
|
119
119
|
"onValidation-change"?: ((result: CronValidation) => any) | undefined;
|
|
120
120
|
}>, {
|
|
121
|
+
height: string | number;
|
|
121
122
|
modelValue: string;
|
|
122
123
|
disabled: boolean;
|
|
123
|
-
height: string | number;
|
|
124
124
|
showPreview: boolean;
|
|
125
125
|
previewCount: number;
|
|
126
126
|
showTemplates: boolean;
|
package/dist/constants2.d.cts
CHANGED
|
@@ -120,14 +120,14 @@ declare const __VLS_export: vue.DefineComponent<FormulaEditorProps, FormulaEdito
|
|
|
120
120
|
onChange?: ((value: string) => any) | undefined;
|
|
121
121
|
"onValidation-change"?: ((result: FormulaValidation) => any) | undefined;
|
|
122
122
|
}>, {
|
|
123
|
+
height: string | number;
|
|
123
124
|
modelValue: string;
|
|
124
|
-
placeholder: string;
|
|
125
125
|
disabled: boolean;
|
|
126
|
-
|
|
126
|
+
placeholder: string;
|
|
127
|
+
showPreview: boolean;
|
|
127
128
|
variables: FormulaVariable[];
|
|
128
129
|
functions: FormulaFunction[];
|
|
129
130
|
sampleData: Record<string, number | string | boolean>;
|
|
130
|
-
showPreview: boolean;
|
|
131
131
|
showKeyboard: boolean;
|
|
132
132
|
showVariablePanel: boolean;
|
|
133
133
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
package/dist/constants2.d.ts
CHANGED
|
@@ -120,14 +120,14 @@ declare const __VLS_export: vue.DefineComponent<FormulaEditorProps, FormulaEdito
|
|
|
120
120
|
onChange?: ((value: string) => any) | undefined;
|
|
121
121
|
"onValidation-change"?: ((result: FormulaValidation) => any) | undefined;
|
|
122
122
|
}>, {
|
|
123
|
+
height: string | number;
|
|
123
124
|
modelValue: string;
|
|
124
|
-
placeholder: string;
|
|
125
125
|
disabled: boolean;
|
|
126
|
-
|
|
126
|
+
placeholder: string;
|
|
127
|
+
showPreview: boolean;
|
|
127
128
|
variables: FormulaVariable[];
|
|
128
129
|
functions: FormulaFunction[];
|
|
129
130
|
sampleData: Record<string, number | string | boolean>;
|
|
130
|
-
showPreview: boolean;
|
|
131
131
|
showKeyboard: boolean;
|
|
132
132
|
showVariablePanel: boolean;
|
|
133
133
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
package/dist/constants4.d.cts
CHANGED
|
@@ -196,31 +196,31 @@ type __VLS_Slots = {} & {
|
|
|
196
196
|
area?: (props: typeof __VLS_11) => any;
|
|
197
197
|
};
|
|
198
198
|
declare const __VLS_base: vue.DefineComponent<UploadProps, UploadExpose, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
199
|
-
error: (file: UploadFileItem, error: Error) => any;
|
|
200
199
|
change: (fileList: UploadFileItem[]) => any;
|
|
201
|
-
|
|
200
|
+
error: (file: UploadFileItem, error: Error) => any;
|
|
202
201
|
success: (file: UploadFileItem, response: unknown) => any;
|
|
202
|
+
progress: (file: UploadFileItem, percent: number) => any;
|
|
203
203
|
remove: (file: UploadFileItem) => any;
|
|
204
204
|
finish: (fileList: UploadFileItem[]) => any;
|
|
205
205
|
exceed: (files: File[], fileList: UploadFileItem[]) => any;
|
|
206
206
|
}, string, vue.PublicProps, Readonly<UploadProps> & Readonly<{
|
|
207
|
-
onError?: ((file: UploadFileItem, error: Error) => any) | undefined;
|
|
208
207
|
onChange?: ((fileList: UploadFileItem[]) => any) | undefined;
|
|
209
|
-
|
|
208
|
+
onError?: ((file: UploadFileItem, error: Error) => any) | undefined;
|
|
210
209
|
onSuccess?: ((file: UploadFileItem, response: unknown) => any) | undefined;
|
|
210
|
+
onProgress?: ((file: UploadFileItem, percent: number) => any) | undefined;
|
|
211
211
|
onRemove?: ((file: UploadFileItem) => any) | undefined;
|
|
212
212
|
onFinish?: ((fileList: UploadFileItem[]) => any) | undefined;
|
|
213
213
|
onExceed?: ((files: File[], fileList: UploadFileItem[]) => any) | undefined;
|
|
214
214
|
}>, {
|
|
215
|
-
disabled: boolean;
|
|
216
215
|
data: Record<string, unknown>;
|
|
216
|
+
maxSize: number;
|
|
217
|
+
disabled: boolean;
|
|
217
218
|
draggable: boolean;
|
|
218
219
|
multiple: boolean;
|
|
219
220
|
action: string;
|
|
220
221
|
headers: Record<string, string>;
|
|
221
222
|
directory: boolean;
|
|
222
223
|
accept: string;
|
|
223
|
-
maxSize: number;
|
|
224
224
|
maxCount: number;
|
|
225
225
|
pasteable: boolean;
|
|
226
226
|
chunked: boolean;
|
package/dist/constants4.d.ts
CHANGED
|
@@ -196,31 +196,31 @@ type __VLS_Slots = {} & {
|
|
|
196
196
|
area?: (props: typeof __VLS_11) => any;
|
|
197
197
|
};
|
|
198
198
|
declare const __VLS_base: vue.DefineComponent<UploadProps, UploadExpose, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
199
|
-
error: (file: UploadFileItem, error: Error) => any;
|
|
200
199
|
change: (fileList: UploadFileItem[]) => any;
|
|
201
|
-
|
|
200
|
+
error: (file: UploadFileItem, error: Error) => any;
|
|
202
201
|
success: (file: UploadFileItem, response: unknown) => any;
|
|
202
|
+
progress: (file: UploadFileItem, percent: number) => any;
|
|
203
203
|
remove: (file: UploadFileItem) => any;
|
|
204
204
|
finish: (fileList: UploadFileItem[]) => any;
|
|
205
205
|
exceed: (files: File[], fileList: UploadFileItem[]) => any;
|
|
206
206
|
}, string, vue.PublicProps, Readonly<UploadProps> & Readonly<{
|
|
207
|
-
onError?: ((file: UploadFileItem, error: Error) => any) | undefined;
|
|
208
207
|
onChange?: ((fileList: UploadFileItem[]) => any) | undefined;
|
|
209
|
-
|
|
208
|
+
onError?: ((file: UploadFileItem, error: Error) => any) | undefined;
|
|
210
209
|
onSuccess?: ((file: UploadFileItem, response: unknown) => any) | undefined;
|
|
210
|
+
onProgress?: ((file: UploadFileItem, percent: number) => any) | undefined;
|
|
211
211
|
onRemove?: ((file: UploadFileItem) => any) | undefined;
|
|
212
212
|
onFinish?: ((fileList: UploadFileItem[]) => any) | undefined;
|
|
213
213
|
onExceed?: ((files: File[], fileList: UploadFileItem[]) => any) | undefined;
|
|
214
214
|
}>, {
|
|
215
|
-
disabled: boolean;
|
|
216
215
|
data: Record<string, unknown>;
|
|
216
|
+
maxSize: number;
|
|
217
|
+
disabled: boolean;
|
|
217
218
|
draggable: boolean;
|
|
218
219
|
multiple: boolean;
|
|
219
220
|
action: string;
|
|
220
221
|
headers: Record<string, string>;
|
|
221
222
|
directory: boolean;
|
|
222
223
|
accept: string;
|
|
223
|
-
maxSize: number;
|
|
224
224
|
maxCount: number;
|
|
225
225
|
pasteable: boolean;
|
|
226
226
|
chunked: boolean;
|
package/dist/constants5.d.cts
CHANGED
|
@@ -258,11 +258,11 @@ type PlayerInstance = InstanceType<typeof xgplayer.default>;
|
|
|
258
258
|
//#endregion
|
|
259
259
|
//#region src/components/C_VideoPlayer/index.vue.d.ts
|
|
260
260
|
declare const __VLS_export: vue.DefineComponent<VideoPlayerProps, VideoPlayerExpose, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
261
|
-
error: (error: Error) => any;
|
|
262
261
|
ready: () => any;
|
|
262
|
+
error: (error: Error) => any;
|
|
263
|
+
ended: () => any;
|
|
263
264
|
stateChange: (state: PlayerState) => any;
|
|
264
265
|
timeUpdate: (currentTime: number, duration: number) => any;
|
|
265
|
-
ended: () => any;
|
|
266
266
|
qualityChange: (quality: QualityLevel) => any;
|
|
267
267
|
rateChange: (rate: number) => any;
|
|
268
268
|
fullscreenChange: (isFullscreen: boolean) => any;
|
|
@@ -271,11 +271,11 @@ declare const __VLS_export: vue.DefineComponent<VideoPlayerProps, VideoPlayerExp
|
|
|
271
271
|
chapterChange: (chapter: Chapter) => any;
|
|
272
272
|
progressUpdate: (data: ProgressData) => any;
|
|
273
273
|
}, string, vue.PublicProps, Readonly<VideoPlayerProps> & Readonly<{
|
|
274
|
-
onError?: ((error: Error) => any) | undefined;
|
|
275
274
|
onReady?: (() => any) | undefined;
|
|
275
|
+
onError?: ((error: Error) => any) | undefined;
|
|
276
|
+
onEnded?: (() => any) | undefined;
|
|
276
277
|
onStateChange?: ((state: PlayerState) => any) | undefined;
|
|
277
278
|
onTimeUpdate?: ((currentTime: number, duration: number) => any) | undefined;
|
|
278
|
-
onEnded?: (() => any) | undefined;
|
|
279
279
|
onQualityChange?: ((quality: QualityLevel) => any) | undefined;
|
|
280
280
|
onRateChange?: ((rate: number) => any) | undefined;
|
|
281
281
|
onFullscreenChange?: ((isFullscreen: boolean) => any) | undefined;
|
package/dist/constants5.d.ts
CHANGED
|
@@ -258,11 +258,11 @@ type PlayerInstance = InstanceType<typeof xgplayer.default>;
|
|
|
258
258
|
//#endregion
|
|
259
259
|
//#region src/components/C_VideoPlayer/index.vue.d.ts
|
|
260
260
|
declare const __VLS_export: vue.DefineComponent<VideoPlayerProps, VideoPlayerExpose, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
261
|
-
error: (error: Error) => any;
|
|
262
261
|
ready: () => any;
|
|
262
|
+
error: (error: Error) => any;
|
|
263
|
+
ended: () => any;
|
|
263
264
|
stateChange: (state: PlayerState) => any;
|
|
264
265
|
timeUpdate: (currentTime: number, duration: number) => any;
|
|
265
|
-
ended: () => any;
|
|
266
266
|
qualityChange: (quality: QualityLevel) => any;
|
|
267
267
|
rateChange: (rate: number) => any;
|
|
268
268
|
fullscreenChange: (isFullscreen: boolean) => any;
|
|
@@ -271,11 +271,11 @@ declare const __VLS_export: vue.DefineComponent<VideoPlayerProps, VideoPlayerExp
|
|
|
271
271
|
chapterChange: (chapter: Chapter) => any;
|
|
272
272
|
progressUpdate: (data: ProgressData) => any;
|
|
273
273
|
}, string, vue.PublicProps, Readonly<VideoPlayerProps> & Readonly<{
|
|
274
|
-
onError?: ((error: Error) => any) | undefined;
|
|
275
274
|
onReady?: (() => any) | undefined;
|
|
275
|
+
onError?: ((error: Error) => any) | undefined;
|
|
276
|
+
onEnded?: (() => any) | undefined;
|
|
276
277
|
onStateChange?: ((state: PlayerState) => any) | undefined;
|
|
277
278
|
onTimeUpdate?: ((currentTime: number, duration: number) => any) | undefined;
|
|
278
|
-
onEnded?: (() => any) | undefined;
|
|
279
279
|
onQualityChange?: ((quality: QualityLevel) => any) | undefined;
|
|
280
280
|
onRateChange?: ((rate: number) => any) | undefined;
|
|
281
281
|
onFullscreenChange?: ((isFullscreen: boolean) => any) | undefined;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require(`./chunk.cjs`);const e=require(`./config.cjs`),t=require(`./export-helper.cjs`);let n=require(`vue`),r=require(`naive-ui`);const i={class:`c-page-loading__card`,role:`status`,"aria-live":`polite`,"aria-atomic":`true`},a={class:`c-page-loading__label`},o={key:0,class:`c-page-loading__description`},s=(0,n.defineComponent)({name:`C_PageLoading`,__name:`index`,props:{show:{type:Boolean},label:{},description:{},color:{}},setup(t){let s=(0,r.useThemeVars)(),{t:c}=e.i();return(e,r)=>((0,n.openBlock)(),(0,n.createBlock)(n.Teleport,{to:`body`},[(0,n.createVNode)(n.Transition,{name:`c-page-loading-fade`},{default:(0,n.withCtx)(()=>[t.show?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:0,class:`c-page-loading`,style:(0,n.normalizeStyle)({"--c-page-loading-surface":(0,n.unref)(s).cardColor,"--c-page-loading-body":(0,n.unref)(s).bodyColor,"--c-page-loading-border":(0,n.unref)(s).dividerColor,"--c-page-loading-text":(0,n.unref)(s).textColor1,"--c-page-loading-muted":(0,n.unref)(s).textColor3,color:t.color||(0,n.unref)(s).primaryColor})},[(0,n.createElementVNode)(`div`,i,[r[0]||=(0,n.createElementVNode)(`svg`,{class:`c-page-loading__glyph`,viewBox:`0 0 80 80`,fill:`none`,"aria-hidden":`true`,focusable:`false`},[(0,n.createElementVNode)(`circle`,{cx:`40`,cy:`40`,r:`35`,stroke:`currentColor`,"stroke-opacity":`.08`}),(0,n.createElementVNode)(`circle`,{class:`c-page-loading__outer`,cx:`40`,cy:`40`,r:`35`,stroke:`currentColor`,"stroke-opacity":`.38`,"stroke-width":`2`,"stroke-dasharray":`64 156`,"stroke-linecap":`round`}),(0,n.createElementVNode)(`circle`,{class:`c-page-loading__inner`,cx:`40`,cy:`40`,r:`24`,stroke:`currentColor`,"stroke-opacity":`.24`,"stroke-width":`1.5`,"stroke-dasharray":`34 117`,"stroke-linecap":`round`}),(0,n.createElementVNode)(`circle`,{class:`c-page-loading__pulse`,cx:`40`,cy:`40`,r:`17`,fill:`currentColor`,"fill-opacity":`.06`}),(0,n.createElementVNode)(`path`,{class:`c-page-loading__wave`,d:`M11 40 Q20.5 27 30 40 Q39.5 53 49 40 Q58.5 27 68 40`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`}),(0,n.createElementVNode)(`circle`,{cx:`40`,cy:`40`,r:`3`,fill:`currentColor`})],-1),(0,n.createElementVNode)(`span`,a,(0,n.toDisplayString)(t.label||(0,n.unref)(c)(`common.loading`)),1),t.description?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,o,(0,n.toDisplayString)(t.description),1)):(0,n.createCommentVNode)(`v-if`,!0),r[1]||=(0,n.createElementVNode)(`span`,{class:`c-page-loading__track`,"aria-hidden":`true`},null,-1)])],4)):(0,n.createCommentVNode)(`v-if`,!0)]),_:1})]))}});var c=t.t(s,[[`__scopeId`,`data-v-aec6cc81`]]);function l(e={}){let t=(0,n.ref)(!1),r=e.delay??160,i=Number.isFinite(r)?Math.max(0,r):160,a=0,o,s=()=>{o!==void 0&&clearTimeout(o),o=void 0};return{visible:(0,n.readonly)(t),start:()=>{s();let e=++a;return t.value||(o=setTimeout(()=>{o=void 0,e===a&&(t.value=!0)},i)),e},finish:e=>{e===a&&(s(),t.value=!1)},reset:()=>{a++,s(),t.value=!1}}}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return l}});
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import * as vue from "vue";
|
|
2
|
+
|
|
3
|
+
//#region src/components/C_PageLoading/types.d.ts
|
|
4
|
+
interface PageLoadingProps {
|
|
5
|
+
/** 是否显示;路由生命周期由接入项目控制。 */
|
|
6
|
+
show: boolean;
|
|
7
|
+
/** 默认使用组件库的加载文案。 */
|
|
8
|
+
label?: string;
|
|
9
|
+
/** 可选说明,例如目标页面名称。 */
|
|
10
|
+
description?: string;
|
|
11
|
+
/** 默认使用 Naive UI 主色。 */
|
|
12
|
+
color?: string;
|
|
13
|
+
}
|
|
14
|
+
interface PageLoadingOptions {
|
|
15
|
+
/** 延迟显示的毫秒数,默认 160;完成速度快时不显示遮罩。 */
|
|
16
|
+
delay?: number;
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
//#region src/components/C_PageLoading/index.vue.d.ts
|
|
20
|
+
declare const __VLS_export: vue.DefineComponent<PageLoadingProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<PageLoadingProps> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
21
|
+
declare const _default: typeof __VLS_export;
|
|
22
|
+
//#endregion
|
|
23
|
+
//#region src/components/C_PageLoading/createPageLoading.d.ts
|
|
24
|
+
/** 创建独立状态;不依赖路由、Store、DOM 或项目配置。 */
|
|
25
|
+
declare function createPageLoading(options?: PageLoadingOptions): {
|
|
26
|
+
visible: Readonly<vue.Ref<boolean, boolean>>;
|
|
27
|
+
start: () => number;
|
|
28
|
+
finish: (id: number) => void;
|
|
29
|
+
reset: () => void;
|
|
30
|
+
};
|
|
31
|
+
//#endregion
|
|
32
|
+
export { PageLoadingProps as i, _default as n, PageLoadingOptions as r, createPageLoading as t };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import * as vue from "vue";
|
|
2
|
+
|
|
3
|
+
//#region src/components/C_PageLoading/types.d.ts
|
|
4
|
+
interface PageLoadingProps {
|
|
5
|
+
/** 是否显示;路由生命周期由接入项目控制。 */
|
|
6
|
+
show: boolean;
|
|
7
|
+
/** 默认使用组件库的加载文案。 */
|
|
8
|
+
label?: string;
|
|
9
|
+
/** 可选说明,例如目标页面名称。 */
|
|
10
|
+
description?: string;
|
|
11
|
+
/** 默认使用 Naive UI 主色。 */
|
|
12
|
+
color?: string;
|
|
13
|
+
}
|
|
14
|
+
interface PageLoadingOptions {
|
|
15
|
+
/** 延迟显示的毫秒数,默认 160;完成速度快时不显示遮罩。 */
|
|
16
|
+
delay?: number;
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
//#region src/components/C_PageLoading/index.vue.d.ts
|
|
20
|
+
declare const __VLS_export: vue.DefineComponent<PageLoadingProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<PageLoadingProps> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
21
|
+
declare const _default: typeof __VLS_export;
|
|
22
|
+
//#endregion
|
|
23
|
+
//#region src/components/C_PageLoading/createPageLoading.d.ts
|
|
24
|
+
/** 创建独立状态;不依赖路由、Store、DOM 或项目配置。 */
|
|
25
|
+
declare function createPageLoading(options?: PageLoadingOptions): {
|
|
26
|
+
visible: Readonly<vue.Ref<boolean, boolean>>;
|
|
27
|
+
start: () => number;
|
|
28
|
+
finish: (id: number) => void;
|
|
29
|
+
reset: () => void;
|
|
30
|
+
};
|
|
31
|
+
//#endregion
|
|
32
|
+
export { PageLoadingProps as i, _default as n, PageLoadingOptions as r, createPageLoading as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./config.js";import{t}from"./export-helper.js";import{Teleport as n,Transition as r,createBlock as i,createCommentVNode as a,createElementBlock as o,createElementVNode as s,createVNode as c,defineComponent as l,normalizeStyle as u,openBlock as d,readonly as f,ref as p,toDisplayString as m,unref as h,withCtx as g}from"vue";import{useThemeVars as _}from"naive-ui";const v={class:`c-page-loading__card`,role:`status`,"aria-live":`polite`,"aria-atomic":`true`},y={class:`c-page-loading__label`},b={key:0,class:`c-page-loading__description`};var x=t(l({name:`C_PageLoading`,__name:`index`,props:{show:{type:Boolean},label:{},description:{},color:{}},setup(t){let l=_(),{t:f}=e();return(e,p)=>(d(),i(n,{to:`body`},[c(r,{name:`c-page-loading-fade`},{default:g(()=>[t.show?(d(),o(`div`,{key:0,class:`c-page-loading`,style:u({"--c-page-loading-surface":h(l).cardColor,"--c-page-loading-body":h(l).bodyColor,"--c-page-loading-border":h(l).dividerColor,"--c-page-loading-text":h(l).textColor1,"--c-page-loading-muted":h(l).textColor3,color:t.color||h(l).primaryColor})},[s(`div`,v,[p[0]||=s(`svg`,{class:`c-page-loading__glyph`,viewBox:`0 0 80 80`,fill:`none`,"aria-hidden":`true`,focusable:`false`},[s(`circle`,{cx:`40`,cy:`40`,r:`35`,stroke:`currentColor`,"stroke-opacity":`.08`}),s(`circle`,{class:`c-page-loading__outer`,cx:`40`,cy:`40`,r:`35`,stroke:`currentColor`,"stroke-opacity":`.38`,"stroke-width":`2`,"stroke-dasharray":`64 156`,"stroke-linecap":`round`}),s(`circle`,{class:`c-page-loading__inner`,cx:`40`,cy:`40`,r:`24`,stroke:`currentColor`,"stroke-opacity":`.24`,"stroke-width":`1.5`,"stroke-dasharray":`34 117`,"stroke-linecap":`round`}),s(`circle`,{class:`c-page-loading__pulse`,cx:`40`,cy:`40`,r:`17`,fill:`currentColor`,"fill-opacity":`.06`}),s(`path`,{class:`c-page-loading__wave`,d:`M11 40 Q20.5 27 30 40 Q39.5 53 49 40 Q58.5 27 68 40`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`}),s(`circle`,{cx:`40`,cy:`40`,r:`3`,fill:`currentColor`})],-1),s(`span`,y,m(t.label||h(f)(`common.loading`)),1),t.description?(d(),o(`span`,b,m(t.description),1)):a(`v-if`,!0),p[1]||=s(`span`,{class:`c-page-loading__track`,"aria-hidden":`true`},null,-1)])],4)):a(`v-if`,!0)]),_:1})]))}}),[[`__scopeId`,`data-v-aec6cc81`]]);function S(e={}){let t=p(!1),n=e.delay??160,r=Number.isFinite(n)?Math.max(0,n):160,i=0,a,o=()=>{a!==void 0&&clearTimeout(a),a=void 0};return{visible:f(t),start:()=>{o();let e=++i;return t.value||(a=setTimeout(()=>{a=void 0,e===i&&(t.value=!0)},r)),e},finish:e=>{e===i&&(o(),t.value=!1)},reset:()=>{i++,o(),t.value=!1}}}export{x as n,S as t};
|
package/dist/data.d.cts
CHANGED
|
@@ -67,24 +67,24 @@ declare const __VLS_base: vue.DefineComponent<CTabsProps, {
|
|
|
67
67
|
}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {} & {
|
|
68
68
|
add: () => any;
|
|
69
69
|
"update:modelValue": (value: TabsValue) => any;
|
|
70
|
-
close: (value: TabsValue) => any;
|
|
71
70
|
change: (value: TabsValue, item: TabsItem | undefined) => any;
|
|
71
|
+
close: (value: TabsValue) => any;
|
|
72
72
|
}, string, vue.PublicProps, Readonly<CTabsProps> & Readonly<{
|
|
73
73
|
onAdd?: (() => any) | undefined;
|
|
74
74
|
"onUpdate:modelValue"?: ((value: TabsValue) => any) | undefined;
|
|
75
|
-
onClose?: ((value: TabsValue) => any) | undefined;
|
|
76
75
|
onChange?: ((value: TabsValue, item: TabsItem | undefined) => any) | undefined;
|
|
76
|
+
onClose?: ((value: TabsValue) => any) | undefined;
|
|
77
77
|
}>, {
|
|
78
|
-
modelValue: TabsValue | null;
|
|
79
78
|
size: TabsSize;
|
|
80
79
|
type: TabsType;
|
|
80
|
+
modelValue: TabsValue | null;
|
|
81
81
|
items: readonly TabsItem[];
|
|
82
82
|
closable: boolean;
|
|
83
83
|
addable: boolean;
|
|
84
|
+
defaultValue: TabsValue | null;
|
|
84
85
|
placement: TabsPlacement;
|
|
85
86
|
displayDirective: TabsDisplayDirective;
|
|
86
87
|
animated: boolean;
|
|
87
|
-
defaultValue: TabsValue | null;
|
|
88
88
|
justifyContent: TabsJustifyContent;
|
|
89
89
|
tabsOnly: boolean;
|
|
90
90
|
paneClass: string;
|