@robot-admin/naive-ui-components 0.13.7 → 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.
Files changed (123) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +23 -6
  3. package/README_EN.md +23 -6
  4. package/dist/C_Loading.css +54 -71
  5. package/dist/C_Loading2.cjs +1 -1
  6. package/dist/C_Loading2.js +1 -1
  7. package/dist/C_PageLoading.cjs +1 -0
  8. package/dist/C_PageLoading.css +152 -0
  9. package/dist/C_PageLoading.d.cts +2 -0
  10. package/dist/C_PageLoading.d.ts +2 -0
  11. package/dist/C_PageLoading.js +1 -0
  12. package/dist/C_Table.base.css +166 -183
  13. package/dist/C_Table.css +166 -183
  14. package/dist/constants.d.cts +1 -1
  15. package/dist/constants.d.ts +1 -1
  16. package/dist/constants2.d.cts +4 -4
  17. package/dist/constants2.d.ts +4 -4
  18. package/dist/constants3.d.cts +4 -4
  19. package/dist/constants3.d.ts +4 -4
  20. package/dist/constants4.d.cts +6 -6
  21. package/dist/constants4.d.ts +6 -6
  22. package/dist/constants5.d.cts +2 -2
  23. package/dist/constants5.d.ts +2 -2
  24. package/dist/createPageLoading.cjs +1 -0
  25. package/dist/createPageLoading.d.cts +32 -0
  26. package/dist/createPageLoading.d.ts +32 -0
  27. package/dist/createPageLoading.js +1 -0
  28. package/dist/data.d.cts +8 -8
  29. package/dist/data.d.ts +8 -8
  30. package/dist/index.cjs +1 -1
  31. package/dist/index.d.cts +22 -21
  32. package/dist/index.d.ts +22 -21
  33. package/dist/index.js +1 -1
  34. package/dist/index.vue.d.cts +5 -5
  35. package/dist/index.vue.d.ts +5 -5
  36. package/dist/index10.vue.d.cts +4 -4
  37. package/dist/index10.vue.d.ts +1 -1
  38. package/dist/index11.vue.d.cts +1 -1
  39. package/dist/index11.vue.d.ts +4 -4
  40. package/dist/index12.vue.d.cts +4 -4
  41. package/dist/index12.vue.d.ts +2 -2
  42. package/dist/index13.vue.d.cts +2 -2
  43. package/dist/index13.vue.d.ts +5 -5
  44. package/dist/index14.vue.d.cts +5 -5
  45. package/dist/index14.vue.d.ts +4 -4
  46. package/dist/index15.vue.d.cts +4 -4
  47. package/dist/index15.vue.d.ts +1 -1
  48. package/dist/index16.vue.d.cts +1 -1
  49. package/dist/index16.vue.d.ts +1 -1
  50. package/dist/index17.vue.d.cts +1 -1
  51. package/dist/index17.vue.d.ts +1 -1
  52. package/dist/index18.vue.d.cts +1 -1
  53. package/dist/index18.vue.d.ts +4 -4
  54. package/dist/index19.vue.d.cts +4 -4
  55. package/dist/index2.vue.d.cts +1 -1
  56. package/dist/index2.vue.d.ts +1 -1
  57. package/dist/index20.vue.d.cts +1 -1
  58. package/dist/index20.vue.d.ts +1 -1
  59. package/dist/index21.vue.d.cts +2 -2
  60. package/dist/index21.vue.d.ts +2 -2
  61. package/dist/index22.vue.d.cts +2 -2
  62. package/dist/index22.vue.d.ts +2 -2
  63. package/dist/index23.vue.d.cts +1 -1
  64. package/dist/index23.vue.d.ts +1 -1
  65. package/dist/index25.vue.d.cts +3 -3
  66. package/dist/index25.vue.d.ts +3 -3
  67. package/dist/index27.vue.d.cts +3 -3
  68. package/dist/index27.vue.d.ts +3 -3
  69. package/dist/index28.vue.d.cts +1 -1
  70. package/dist/index28.vue.d.ts +1 -1
  71. package/dist/index3.vue.d.cts +3 -3
  72. package/dist/index3.vue.d.ts +3 -3
  73. package/dist/index6.vue.d.ts +2 -2
  74. package/dist/index7.vue.d.cts +2 -2
  75. package/dist/index8.vue.d.ts +2 -2
  76. package/dist/index9.vue.d.cts +2 -2
  77. package/dist/index9.vue.d.ts +4 -4
  78. package/dist/mapUtils.d.cts +4 -4
  79. package/dist/mapUtils.d.ts +4 -4
  80. package/dist/presets.d.cts +1 -1
  81. package/dist/presets.d.ts +1 -1
  82. package/dist/resolver.cjs +1 -1
  83. package/dist/resolver.d.cts +1 -1
  84. package/dist/resolver.d.ts +1 -1
  85. package/dist/resolver.js +1 -1
  86. package/dist/style.css +321 -183
  87. package/dist/useCalendarEvents.d.cts +1 -1
  88. package/dist/useCalendarEvents.d.ts +1 -1
  89. package/dist/useCollapsePanel.d.cts +2 -2
  90. package/dist/useCollapsePanel.d.ts +2 -2
  91. package/dist/useCropperCore.d.cts +10 -10
  92. package/dist/useCropperCore.d.ts +10 -10
  93. package/dist/useDraggableLayout.d.cts +5 -5
  94. package/dist/useDraggableLayout.d.ts +5 -5
  95. package/dist/useDynamicFormState.d.cts +2 -2
  96. package/dist/useDynamicFormState.d.ts +2 -2
  97. package/dist/useEdgeInteraction.d.cts +3 -3
  98. package/dist/useEdgeInteraction.d.ts +3 -3
  99. package/dist/useFullscreen.d.cts +2 -2
  100. package/dist/useFullscreen.d.ts +2 -2
  101. package/dist/useInfiniteScroll.d.cts +2 -2
  102. package/dist/useInfiniteScroll.d.ts +2 -2
  103. package/dist/useQRCode.d.cts +4 -4
  104. package/dist/useQRCode.d.ts +4 -4
  105. package/dist/useSearchState.d.cts +22 -22
  106. package/dist/useSearchState.d.ts +22 -22
  107. package/dist/useSignatureHistory.d.cts +7 -7
  108. package/dist/useSignatureHistory.d.ts +7 -7
  109. package/dist/useSplitResize.d.cts +4 -4
  110. package/dist/useSplitResize.d.ts +4 -4
  111. package/dist/useTableQuery.cjs +2 -2
  112. package/dist/useTableQuery.d.cts +7 -3
  113. package/dist/useTableQuery.d.ts +7 -3
  114. package/dist/useTableQuery.js +2 -2
  115. package/dist/useTimeSelection.d.cts +2 -2
  116. package/dist/useTimeSelection.d.ts +2 -2
  117. package/dist/useTreeOperations.d.cts +2 -2
  118. package/dist/useTreeOperations.d.ts +2 -2
  119. package/dist/useWorkflowValidation.d.cts +5 -5
  120. package/dist/useWorkflowValidation.d.ts +5 -5
  121. package/dist/verification.d.cts +2 -2
  122. package/dist/verification.d.ts +2 -2
  123. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # @robot-admin/naive-ui-components
2
2
 
3
+ ## 0.13.9
4
+
5
+ - 新增 `C_PageLoading`:同心轨道与波形 SVG、柔和主题卡片,支持明暗主题、按需导入、独立文案和减少动态效果;所有样式隔离,不依赖路由或宿主的 UnoCSS。
6
+ - 新增 `createPageLoading({ delay })`:默认延迟 160ms 显示,快速完成不闪烁;任务编号隔离并发完成,提供重置清理,不强制延长导航时间。
7
+
8
+ ## 0.13.8
9
+
10
+ - 表格内置子表与主表统一默认居中;列类型保留 Naive UI 普通列的排序、筛选和单元格配置,原生表格迁移后不丢交互能力。
11
+ - `C_Loading` 改为渐变数据光环 SVG:双层轨道、数据芯片与细光束组合,参考柔和卡片风格;各实例使用独立渐变 ID,保留主题适配、尺寸、文案和颜色接口,无定时器或新增依赖,减少动态效果模式关闭所有动画。
12
+ - `C_Table` 用 `aria-busy` 同步真实加载状态,读屏可识别等待阶段;页面无需重复配置动画。
13
+ - `C_Table` 内置异步展开行复用统一加载组件,状态引擎通过可选 `renderLoading` 接收 UI 内容,保持可独立调用;自定义展开内容与已有请求、选择、分页行为不变。
14
+ - 异步展开行立即展示等待内容,不再等到数据返回后才展开;保留请求去重与收起优先,迟到响应不能重新打开已收起的行。
15
+
3
16
  ## 0.13.7
4
17
 
5
18
  - `C_Form` 正式集成 `@robot-admin/form-validate@3.4.2`,统一消费原生规则、验证库规则和 `RuleSpec`,并通过表单入口导出已适配的 `PRESET_RULES`、`NAIVE_COMBOS` 与 `SPEC_RULES`。
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  **基于 Naive UI 的 Vue 3 企业级组件库**
6
6
 
7
- 从 Robot Admin 中提炼的 54 个高质量业务组件,支持全量注册、按需导入(Tree-Shaking)和子路径独立导入。
7
+ 从 Robot Admin 中提炼的 55 个高质量业务组件,支持全量注册、按需导入(Tree-Shaking)和子路径独立导入。
8
8
 
9
9
  [![NPM Version](https://img.shields.io/npm/v/@robot-admin/naive-ui-components)](https://www.npmjs.com/package/@robot-admin/naive-ui-components)
10
10
  [![License](https://img.shields.io/npm/l/@robot-admin/naive-ui-components)](./LICENSE)
@@ -470,7 +470,7 @@ const config = defineTableConfig({
470
470
 
471
471
  ### 表格加载态
472
472
 
473
- `C_Table` 默认显示跟随主题主色的机器人 SVG 加载动画,保留已有数据,并遵循系统减少动态效果设置,无需页面配置。可通过 `loading` 插槽替换默认内容。独立的 `C_Loading` 支持 `size`(16–120,默认 48)、`label`(可选说明)和 `color`(可选颜色);原生 `NSpin` 使用时请关闭旋转,避免 SVG 整体转动:
473
+ `C_Table` 默认显示跟随主题主色的数据光环 SVG 加载动画:环形轨道、数据行和细光束提示等待状态,保留已有数据,并遵循系统减少动态效果设置,无需页面配置。内置异步展开行同样复用 `C_Loading`;自定义展开内容仍由使用侧决定展示。可通过 `loading` 插槽替换默认内容。独立的 `C_Loading` 支持 `size`(16–120,默认 48)、`label`(可选说明)和 `color`(可选颜色);原生 `NSpin` 使用时请关闭旋转,避免 SVG 整体转动:
474
474
 
475
475
  ```vue
476
476
  <NSpin :show="loading" :size="48" :rotate="false">
@@ -479,7 +479,7 @@ const config = defineTableConfig({
479
479
  </NSpin>
480
480
  ```
481
481
 
482
- ### 📋 组件清单(54 个)
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 → 多入口打包(54 组件 ESM/CJS/DTS)
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),54 个独立入口并行编译
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 # 子路径入口(54 组件)
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
- 54 production-ready business components extracted from Robot Admin, supporting global registration, on-demand imports (Tree-Shaking), and subpath imports.
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
  [![NPM Version](https://img.shields.io/npm/v/@robot-admin/naive-ui-components)](https://www.npmjs.com/package/@robot-admin/naive-ui-components)
10
10
  [![License](https://img.shields.io/npm/l/@robot-admin/naive-ui-components)](./LICENSE)
@@ -411,7 +411,7 @@ With `require-server-verification`, a successful response must include a server
411
411
 
412
412
  ### Table loading
413
413
 
414
- `C_Table` uses a robot SVG loading indicator in the theme's primary color by default, retains existing data, and respects reduced-motion preferences. No page configuration is required. Override the `loading` slot for custom content. The standalone `C_Loading` accepts `size` (16–120, default 48), optional `label`, and optional `color`. Disable rotation when using it with native `NSpin`:
414
+ `C_Table` uses a data-orbit SVG indicator in the theme's primary color, with an orbit, data rows, and a subtle beam to indicate waiting. It retains existing data and respects reduced-motion preferences without page configuration. Built-in asynchronous expansion also uses `C_Loading`; custom expansion renderers retain control of their content. Override the `loading` slot for custom content. The standalone `C_Loading` accepts `size` (16–120, default 48), optional `label`, and optional `color`. Disable rotation when using it with native `NSpin`:
415
415
 
416
416
  ```vue
417
417
  <NSpin :show="loading" :size="48" :rotate="false">
@@ -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 (54 Components)
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 (54 components ESM/CJS/DTS)
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), 54 independent entries compiled in parallel
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 (54 components)
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
+ ```
@@ -1,119 +1,102 @@
1
1
  /* unplugin-vue-components disabled *//*
2
2
  * @Author: ChenYu ycyplus@gmail.com
3
- * @Date: 2026-10-06
3
+ * @Date: 2026-10-07
4
4
  * @FilePath: \naive-ui-components\src\components\C_Loading\index.scss
5
- * @Description: 机器人扫描与数据流动画,仅在组件挂载时运行
5
+ * @Description: 数据光环与细光束动画,作用域隔离并支持减少动态效果
6
6
  * Copyright (c) 2026 by CHENY, All Rights Reserved 😎.
7
7
  */
8
- .c-loading[data-v-48232aaa] {
8
+ .c-loading[data-v-c6727905] {
9
9
  display: inline-flex;
10
- flex-direction: column;
11
10
  align-items: center;
12
11
  justify-content: center;
13
- gap: 6px;
14
12
  vertical-align: middle;
15
13
  line-height: 1;
16
14
  pointer-events: none;
17
15
  }
18
- .c-loading--labeled[data-v-48232aaa] {
19
- flex-direction: row;
20
- gap: 8px;
16
+ .c-loading--labeled[data-v-c6727905] {
17
+ position: relative;
18
+ gap: 10px;
21
19
  max-width: 100%;
22
- padding: 8px 14px;
20
+ padding: 8px 16px 9px 10px;
23
21
  box-sizing: border-box;
24
22
  border: 1px solid var(--c-loading-border);
25
- border-radius: 14px;
23
+ border-radius: 16px;
26
24
  background: var(--c-loading-surface);
27
- box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
28
- }
29
- .c-loading__glyph[data-v-48232aaa] {
25
+ background-image: linear-gradient(135deg, color-mix(in srgb, currentColor 4%, var(--c-loading-surface)), var(--c-loading-surface));
26
+ box-shadow: inset 0 1px 0 color-mix(in srgb, currentColor 4%, transparent), 0 8px 28px rgba(0, 0, 0, 0.06);
27
+ overflow: hidden;
28
+ }
29
+ .c-loading--labeled[data-v-c6727905]::after {
30
+ content: "";
31
+ position: absolute;
32
+ bottom: 0;
33
+ left: 0;
34
+ width: 50%;
35
+ height: 2px;
36
+ background: linear-gradient(90deg, transparent, currentColor, transparent);
37
+ opacity: 0.5;
38
+ animation: c-loading-beam-c6727905 1.8s ease-in-out infinite;
39
+ }
40
+ .c-loading__glyph[data-v-c6727905] {
30
41
  width: var(--c-loading-size, 48px);
31
42
  height: var(--c-loading-size, 48px);
32
43
  flex-shrink: 0;
33
- overflow: visible;
34
- }
35
- .c-loading__frame[data-v-48232aaa] {
36
- opacity: 0.35;
37
- animation: c-loading-frame-48232aaa 2.4s ease-in-out infinite;
38
44
  }
39
- .c-loading__scan[data-v-48232aaa] {
40
- opacity: 0;
41
- animation: c-loading-scan-48232aaa 2.4s ease-in-out infinite;
42
- }
43
- .c-loading__eyes[data-v-48232aaa] {
44
- transform-box: fill-box;
45
+ .c-loading__orbit[data-v-c6727905] {
46
+ transform-box: view-box;
45
47
  transform-origin: center;
46
- animation: c-loading-eyes-48232aaa 3.6s ease-in-out infinite;
48
+ animation: c-loading-orbit-c6727905 1.6s linear infinite;
47
49
  }
48
- .c-loading__packet[data-v-48232aaa] {
49
- opacity: 0.25;
50
- animation: c-loading-data-48232aaa 2.4s ease-in-out infinite;
50
+ .c-loading__orbit--inner[data-v-c6727905] {
51
+ animation-duration: 3.2s;
52
+ animation-direction: reverse;
51
53
  }
52
- .c-loading__packet--out[data-v-48232aaa] {
53
- animation-delay: 0.8s;
54
+ .c-loading__row[data-v-c6727905] {
55
+ opacity: 0.75;
56
+ animation: c-loading-row-c6727905 1.6s ease-in-out infinite;
54
57
  }
55
- .c-loading__label[data-v-48232aaa] {
58
+ .c-loading__label[data-v-c6727905] {
59
+ min-width: 0;
56
60
  color: var(--c-loading-text, currentColor);
57
61
  font-size: 12px;
58
62
  font-weight: 500;
59
63
  letter-spacing: 0.03em;
60
64
  line-height: 1.6;
65
+ overflow-wrap: anywhere;
61
66
  }
62
67
  @media (prefers-reduced-motion: reduce) {
63
- .c-loading__frame[data-v-48232aaa], .c-loading__scan[data-v-48232aaa], .c-loading__eyes[data-v-48232aaa], .c-loading__packet[data-v-48232aaa] {
68
+ .c-loading__orbit[data-v-c6727905], .c-loading__row[data-v-c6727905], .c-loading--labeled[data-v-c6727905]::after {
64
69
  animation: none;
65
70
  }
66
- .c-loading__scan[data-v-48232aaa] {
71
+ .c-loading--labeled[data-v-c6727905]::after {
67
72
  display: none;
68
73
  }
69
- .c-loading__frame[data-v-48232aaa], .c-loading__packet[data-v-48232aaa] {
70
- opacity: 0.55;
71
- }
72
- }
73
- @keyframes c-loading-scan-48232aaa {
74
- 0%, 12% {
75
- transform: translateY(0);
76
- opacity: 0;
77
- }
78
- 25% {
79
- opacity: 0.2;
80
- }
81
- 70% {
82
- transform: translateY(14px);
83
- opacity: 0.2;
84
74
  }
85
- 88%, 100% {
86
- transform: translateY(14px);
87
- opacity: 0;
75
+ @keyframes c-loading-orbit-c6727905 {
76
+ to {
77
+ transform: rotate(360deg);
88
78
  }
89
79
  }
90
- @keyframes c-loading-frame-48232aaa {
80
+ @keyframes c-loading-row-c6727905 {
91
81
  0%, 100% {
92
- opacity: 0.25;
82
+ opacity: 0.4;
93
83
  }
94
- 50% {
95
- opacity: 0.7;
96
- }
97
- }
98
- @keyframes c-loading-eyes-48232aaa {
99
- 0%, 72%, 82%, 100% {
100
- transform: scaleY(1);
101
- }
102
- 77% {
103
- transform: scaleY(0.25);
84
+ 40%, 60% {
85
+ opacity: 1;
104
86
  }
105
87
  }
106
- @keyframes c-loading-data-48232aaa {
107
- 0%, 100% {
108
- opacity: 0.2;
88
+ @keyframes c-loading-beam-c6727905 {
89
+ from {
90
+ transform: translateX(-100%);
109
91
  }
110
- 40%, 60% {
111
- opacity: 0.85;
92
+ to {
93
+ transform: translateX(200%);
112
94
  }
113
95
  }
114
96
  /* unplugin-vue-components disabled */
115
97
  /* layer: default */
116
- .table[data-v-48232aaa]{display:table;}
117
- .px[data-v-48232aaa]{padding-left:1rem;padding-right:1rem;}
118
- .filter[data-v-48232aaa]{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);}
98
+ .ms[data-v-c6727905]{margin-inline-start:1rem;}
99
+ .table[data-v-c6727905]{display:table;}
100
+ .px[data-v-c6727905]{padding-left:1rem;padding-right:1rem;}
101
+ .filter[data-v-c6727905]{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);}
119
102
 
@@ -1 +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=[`aria-label`],a={key:0,class:`c-loading__label`},o=(0,n.defineComponent)({name:`C_Loading`,__name:`index`,props:{size:{default:48},label:{default:``},color:{}},setup(t){let o=t,s=(0,r.useThemeVars)(),{t:c}=e.i(),l=(0,n.computed)(()=>Number.isFinite(o.size)?Math.min(120,Math.max(16,o.size)):48);return(e,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`span`,{class:(0,n.normalizeClass)([`c-loading`,{"c-loading--labeled":!!t.label}]),role:`status`,"aria-label":t.label||(0,n.unref)(c)(`common.loading`),style:(0,n.normalizeStyle)({"--c-loading-size":`${l.value}px`,"--c-loading-surface":(0,n.unref)(s).cardColor,"--c-loading-border":(0,n.unref)(s).dividerColor,"--c-loading-text":(0,n.unref)(s).textColor2,color:t.color||(0,n.unref)(s).primaryColor})},[r[0]||=(0,n.createElementVNode)(`svg`,{class:`c-loading__glyph`,viewBox:`0 0 64 64`,fill:`none`,"aria-hidden":`true`,focusable:`false`},[(0,n.createElementVNode)(`rect`,{x:`10`,y:`10`,width:`44`,height:`44`,rx:`14`,fill:`currentColor`,opacity:`.045`}),(0,n.createElementVNode)(`path`,{class:`c-loading__frame`,d:`M13 21v-4a4 4 0 0 1 4-4h4m22 0h4a4 4 0 0 1 4 4v4m0 22v4a4 4 0 0 1-4 4h-4m-22 0h-4a4 4 0 0 1-4-4v-4`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`}),(0,n.createElementVNode)(`rect`,{x:`20`,y:`22`,width:`24`,height:`21`,rx:`6`,fill:`currentColor`,"fill-opacity":`.08`,stroke:`currentColor`,"stroke-width":`1.7`}),(0,n.createElementVNode)(`path`,{d:`M32 17v5M24 47h16`,stroke:`currentColor`,"stroke-width":`1.7`,"stroke-linecap":`round`,opacity:`.65`}),(0,n.createElementVNode)(`circle`,{cx:`32`,cy:`15`,r:`2`,fill:`currentColor`}),(0,n.createElementVNode)(`g`,{class:`c-loading__eyes`,fill:`currentColor`},[(0,n.createElementVNode)(`rect`,{x:`25.5`,y:`29`,width:`3`,height:`4`,rx:`1.5`}),(0,n.createElementVNode)(`rect`,{x:`35.5`,y:`29`,width:`3`,height:`4`,rx:`1.5`})]),(0,n.createElementVNode)(`path`,{d:`M28 37h8`,stroke:`currentColor`,"stroke-width":`1.7`,"stroke-linecap":`round`,opacity:`.65`}),(0,n.createElementVNode)(`rect`,{class:`c-loading__scan`,x:`23`,y:`25`,width:`18`,height:`2`,rx:`1`,fill:`currentColor`}),(0,n.createElementVNode)(`path`,{class:`c-loading__packet c-loading__packet--in`,d:`M9 30h4m-4 4h7`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`}),(0,n.createElementVNode)(`path`,{class:`c-loading__packet c-loading__packet--out`,d:`M48 30h7m-4 4h4`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`})],-1),t.label?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,a,(0,n.toDisplayString)(t.label),1)):(0,n.createCommentVNode)(`v-if`,!0)],14,i))}});var s=t.t(o,[[`__scopeId`,`data-v-48232aaa`]]);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return s}});
1
+ require(`./chunk.cjs`);const e=require(`./config.cjs`),t=require(`./export-helper.cjs`);let n=require(`vue`),r=require(`naive-ui`);const i=[`aria-label`],a={class:`c-loading__glyph`,viewBox:`0 0 64 64`,fill:`none`,"aria-hidden":`true`,focusable:`false`},o=[`stroke`],s=[`fill`],c=[`cy`],l=[`y`,`width`],u={key:0,class:`c-loading__label`},d=(0,n.defineComponent)({name:`C_Loading`,__name:`index`,props:{size:{default:48},label:{default:``},color:{}},setup(t){let d=t,f=(0,r.useThemeVars)(),p=(0,n.useId)(),m=`c-loading-orbit-${p}`,h=`c-loading-surface-${p}`,{t:g}=e.i(),_=(0,n.computed)(()=>Number.isFinite(d.size)?Math.min(120,Math.max(16,d.size)):48);return(e,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`span`,{class:(0,n.normalizeClass)([`c-loading`,{"c-loading--labeled":!!t.label}]),role:`status`,"aria-live":`polite`,"aria-atomic":`true`,"aria-label":t.label||(0,n.unref)(g)(`common.loading`),style:(0,n.normalizeStyle)({"--c-loading-size":`${_.value}px`,"--c-loading-surface":(0,n.unref)(f).cardColor,"--c-loading-border":(0,n.unref)(f).dividerColor,"--c-loading-text":(0,n.unref)(f).textColor2,color:t.color||(0,n.unref)(f).primaryColor})},[((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,a,[(0,n.createElementVNode)(`defs`,null,[(0,n.createElementVNode)(`linearGradient`,{id:m,x1:`8`,y1:`8`,x2:`56`,y2:`56`,gradientUnits:`userSpaceOnUse`},[...r[0]||=[(0,n.createElementVNode)(`stop`,{"stop-color":`currentColor`,"stop-opacity":`.06`},null,-1),(0,n.createElementVNode)(`stop`,{offset:`.5`,"stop-color":`currentColor`,"stop-opacity":`.45`},null,-1),(0,n.createElementVNode)(`stop`,{offset:`1`,"stop-color":`currentColor`},null,-1)]]),(0,n.createElementVNode)(`linearGradient`,{id:h,x1:`16`,y1:`16`,x2:`48`,y2:`48`,gradientUnits:`userSpaceOnUse`},[...r[1]||=[(0,n.createElementVNode)(`stop`,{"stop-color":`currentColor`,"stop-opacity":`.13`},null,-1),(0,n.createElementVNode)(`stop`,{offset:`1`,"stop-color":`currentColor`,"stop-opacity":`.03`},null,-1)]])]),r[3]||=(0,n.createElementVNode)(`circle`,{cx:`32`,cy:`32`,r:`24`,stroke:`currentColor`,"stroke-width":`1.5`,opacity:`.1`},null,-1),(0,n.createElementVNode)(`g`,{class:`c-loading__orbit`,stroke:`url(#${m})`,"stroke-width":`2.25`,"stroke-linecap":`round`},[...r[2]||=[(0,n.createElementVNode)(`path`,{d:`M8 32a24 24 0 1 1 24 24`},null,-1),(0,n.createElementVNode)(`circle`,{cx:`32`,cy:`56`,r:`2.5`,fill:`currentColor`,stroke:`none`},null,-1)]],8,o),r[4]||=(0,n.createElementVNode)(`g`,{class:`c-loading__orbit c-loading__orbit--inner`},[(0,n.createElementVNode)(`path`,{d:`M18 46a20 20 0 0 1 0-28`,stroke:`currentColor`,"stroke-width":`1`,"stroke-linecap":`round`,opacity:`.18`})],-1),(0,n.createElementVNode)(`rect`,{x:`16`,y:`16`,width:`32`,height:`32`,rx:`11`,fill:`url(#${h})`,stroke:`currentColor`,"stroke-opacity":`.16`},null,8,s),((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)([25,32,39],(e,t)=>(0,n.createElementVNode)(`g`,{key:e,class:`c-loading__row`,style:(0,n.normalizeStyle)({animationDelay:`${t*160}ms`}),fill:`currentColor`},[(0,n.createElementVNode)(`circle`,{cx:`24`,cy:e,r:`1.5`},null,8,c),(0,n.createElementVNode)(`rect`,{x:`29`,y:e-1.25,width:t===1?8:12,height:`2.5`,rx:`1.25`},null,8,l)],4)),64))])),t.label?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,u,(0,n.toDisplayString)(t.label),1)):(0,n.createCommentVNode)(`v-if`,!0)],14,i))}});var f=t.t(d,[[`__scopeId`,`data-v-c6727905`]]);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return f}});
@@ -1 +1 @@
1
- import{i as e}from"./config.js";import{t}from"./export-helper.js";import{computed as n,createCommentVNode as r,createElementBlock as i,createElementVNode as a,defineComponent as o,normalizeClass as s,normalizeStyle as c,openBlock as l,toDisplayString as u,unref as d}from"vue";import{useThemeVars as f}from"naive-ui";const p=[`aria-label`],m={key:0,class:`c-loading__label`};var h=t(o({name:`C_Loading`,__name:`index`,props:{size:{default:48},label:{default:``},color:{}},setup(t){let o=t,h=f(),{t:g}=e(),_=n(()=>Number.isFinite(o.size)?Math.min(120,Math.max(16,o.size)):48);return(e,n)=>(l(),i(`span`,{class:s([`c-loading`,{"c-loading--labeled":!!t.label}]),role:`status`,"aria-label":t.label||d(g)(`common.loading`),style:c({"--c-loading-size":`${_.value}px`,"--c-loading-surface":d(h).cardColor,"--c-loading-border":d(h).dividerColor,"--c-loading-text":d(h).textColor2,color:t.color||d(h).primaryColor})},[n[0]||=a(`svg`,{class:`c-loading__glyph`,viewBox:`0 0 64 64`,fill:`none`,"aria-hidden":`true`,focusable:`false`},[a(`rect`,{x:`10`,y:`10`,width:`44`,height:`44`,rx:`14`,fill:`currentColor`,opacity:`.045`}),a(`path`,{class:`c-loading__frame`,d:`M13 21v-4a4 4 0 0 1 4-4h4m22 0h4a4 4 0 0 1 4 4v4m0 22v4a4 4 0 0 1-4 4h-4m-22 0h-4a4 4 0 0 1-4-4v-4`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`}),a(`rect`,{x:`20`,y:`22`,width:`24`,height:`21`,rx:`6`,fill:`currentColor`,"fill-opacity":`.08`,stroke:`currentColor`,"stroke-width":`1.7`}),a(`path`,{d:`M32 17v5M24 47h16`,stroke:`currentColor`,"stroke-width":`1.7`,"stroke-linecap":`round`,opacity:`.65`}),a(`circle`,{cx:`32`,cy:`15`,r:`2`,fill:`currentColor`}),a(`g`,{class:`c-loading__eyes`,fill:`currentColor`},[a(`rect`,{x:`25.5`,y:`29`,width:`3`,height:`4`,rx:`1.5`}),a(`rect`,{x:`35.5`,y:`29`,width:`3`,height:`4`,rx:`1.5`})]),a(`path`,{d:`M28 37h8`,stroke:`currentColor`,"stroke-width":`1.7`,"stroke-linecap":`round`,opacity:`.65`}),a(`rect`,{class:`c-loading__scan`,x:`23`,y:`25`,width:`18`,height:`2`,rx:`1`,fill:`currentColor`}),a(`path`,{class:`c-loading__packet c-loading__packet--in`,d:`M9 30h4m-4 4h7`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`}),a(`path`,{class:`c-loading__packet c-loading__packet--out`,d:`M48 30h7m-4 4h4`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`})],-1),t.label?(l(),i(`span`,m,u(t.label),1)):r(`v-if`,!0)],14,p))}}),[[`__scopeId`,`data-v-48232aaa`]]);export{h as t};
1
+ import{i as e}from"./config.js";import{t}from"./export-helper.js";import{Fragment as n,computed as r,createCommentVNode as i,createElementBlock as a,createElementVNode as o,defineComponent as s,normalizeClass as c,normalizeStyle as l,openBlock as u,renderList as d,toDisplayString as f,unref as p,useId as m}from"vue";import{useThemeVars as h}from"naive-ui";const g=[`aria-label`],_={class:`c-loading__glyph`,viewBox:`0 0 64 64`,fill:`none`,"aria-hidden":`true`,focusable:`false`},v=[`stroke`],y=[`fill`],b=[`cy`],x=[`y`,`width`],S={key:0,class:`c-loading__label`};var C=t(s({name:`C_Loading`,__name:`index`,props:{size:{default:48},label:{default:``},color:{}},setup(t){let s=t,C=h(),w=m(),T=`c-loading-orbit-${w}`,E=`c-loading-surface-${w}`,{t:D}=e(),O=r(()=>Number.isFinite(s.size)?Math.min(120,Math.max(16,s.size)):48);return(e,r)=>(u(),a(`span`,{class:c([`c-loading`,{"c-loading--labeled":!!t.label}]),role:`status`,"aria-live":`polite`,"aria-atomic":`true`,"aria-label":t.label||p(D)(`common.loading`),style:l({"--c-loading-size":`${O.value}px`,"--c-loading-surface":p(C).cardColor,"--c-loading-border":p(C).dividerColor,"--c-loading-text":p(C).textColor2,color:t.color||p(C).primaryColor})},[(u(),a(`svg`,_,[o(`defs`,null,[o(`linearGradient`,{id:T,x1:`8`,y1:`8`,x2:`56`,y2:`56`,gradientUnits:`userSpaceOnUse`},[...r[0]||=[o(`stop`,{"stop-color":`currentColor`,"stop-opacity":`.06`},null,-1),o(`stop`,{offset:`.5`,"stop-color":`currentColor`,"stop-opacity":`.45`},null,-1),o(`stop`,{offset:`1`,"stop-color":`currentColor`},null,-1)]]),o(`linearGradient`,{id:E,x1:`16`,y1:`16`,x2:`48`,y2:`48`,gradientUnits:`userSpaceOnUse`},[...r[1]||=[o(`stop`,{"stop-color":`currentColor`,"stop-opacity":`.13`},null,-1),o(`stop`,{offset:`1`,"stop-color":`currentColor`,"stop-opacity":`.03`},null,-1)]])]),r[3]||=o(`circle`,{cx:`32`,cy:`32`,r:`24`,stroke:`currentColor`,"stroke-width":`1.5`,opacity:`.1`},null,-1),o(`g`,{class:`c-loading__orbit`,stroke:`url(#${T})`,"stroke-width":`2.25`,"stroke-linecap":`round`},[...r[2]||=[o(`path`,{d:`M8 32a24 24 0 1 1 24 24`},null,-1),o(`circle`,{cx:`32`,cy:`56`,r:`2.5`,fill:`currentColor`,stroke:`none`},null,-1)]],8,v),r[4]||=o(`g`,{class:`c-loading__orbit c-loading__orbit--inner`},[o(`path`,{d:`M18 46a20 20 0 0 1 0-28`,stroke:`currentColor`,"stroke-width":`1`,"stroke-linecap":`round`,opacity:`.18`})],-1),o(`rect`,{x:`16`,y:`16`,width:`32`,height:`32`,rx:`11`,fill:`url(#${E})`,stroke:`currentColor`,"stroke-opacity":`.16`},null,8,y),(u(),a(n,null,d([25,32,39],(e,t)=>o(`g`,{key:e,class:`c-loading__row`,style:l({animationDelay:`${t*160}ms`}),fill:`currentColor`},[o(`circle`,{cx:`24`,cy:e,r:`1.5`},null,8,b),o(`rect`,{x:`29`,y:e-1.25,width:t===1?8:12,height:`2.5`,rx:`1.25`},null,8,x)],4)),64))])),t.label?(u(),a(`span`,S,f(t.label),1)):i(`v-if`,!0)],14,g))}}),[[`__scopeId`,`data-v-c6727905`]]);export{C as t};
@@ -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,2 @@
1
+ import { i as PageLoadingProps, n as _default, r as PageLoadingOptions, t as createPageLoading } from "./createPageLoading.cjs";
2
+ export { _default as C_PageLoading, type PageLoadingOptions, type PageLoadingProps, createPageLoading };
@@ -0,0 +1,2 @@
1
+ import { i as PageLoadingProps, n as _default, r as PageLoadingOptions, t as createPageLoading } from "./createPageLoading.js";
2
+ export { _default as C_PageLoading, type PageLoadingOptions, type PageLoadingProps, createPageLoading };
@@ -0,0 +1 @@
1
+ import{n as e,t}from"./createPageLoading.js";export{e as C_PageLoading,t as createPageLoading};