@robot-admin/naive-ui-components 0.24.3 → 0.24.5

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 (83) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +4 -2
  3. package/README_EN.md +4 -2
  4. package/dist/C_FormModal.css +273 -45
  5. package/dist/C_FormModal2.cjs +1 -1
  6. package/dist/C_FormModal2.js +1 -1
  7. package/dist/constants.d.cts +1 -1
  8. package/dist/constants.d.ts +1 -1
  9. package/dist/constants2.d.cts +5 -5
  10. package/dist/constants2.d.ts +5 -5
  11. package/dist/constants3.d.cts +5 -5
  12. package/dist/constants3.d.ts +5 -5
  13. package/dist/data2.cjs +1 -1
  14. package/dist/data2.d.cts +9 -9
  15. package/dist/data2.d.ts +9 -9
  16. package/dist/data2.js +1 -1
  17. package/dist/helpers.cjs +1 -1
  18. package/dist/helpers.js +1 -1
  19. package/dist/index.vue.d.cts +5 -5
  20. package/dist/index.vue.d.ts +5 -5
  21. package/dist/index10.vue.d.cts +1 -1
  22. package/dist/index10.vue.d.ts +6 -6
  23. package/dist/index11.vue.d.cts +6 -6
  24. package/dist/index13.vue.d.ts +4 -4
  25. package/dist/index14.vue.d.cts +4 -4
  26. package/dist/index15.vue.d.ts +4 -4
  27. package/dist/index16.vue.d.cts +4 -4
  28. package/dist/index17.vue.d.ts +5 -5
  29. package/dist/index18.vue.d.cts +5 -5
  30. package/dist/index18.vue.d.ts +1 -1
  31. package/dist/index19.vue.d.cts +1 -1
  32. package/dist/index19.vue.d.ts +1 -1
  33. package/dist/index2.vue.d.cts +2 -2
  34. package/dist/index2.vue.d.ts +2 -2
  35. package/dist/index20.vue.d.cts +1 -1
  36. package/dist/index22.vue.d.ts +2 -2
  37. package/dist/index23.vue.d.cts +2 -2
  38. package/dist/index24.vue.d.cts +1 -1
  39. package/dist/index24.vue.d.ts +1 -1
  40. package/dist/index25.vue.d.cts +1 -1
  41. package/dist/index25.vue.d.ts +1 -1
  42. package/dist/index26.vue.d.cts +5 -5
  43. package/dist/index26.vue.d.ts +5 -5
  44. package/dist/index28.vue.d.cts +2 -2
  45. package/dist/index28.vue.d.ts +2 -2
  46. package/dist/index29.vue.d.cts +3 -3
  47. package/dist/index29.vue.d.ts +3 -3
  48. package/dist/index3.vue.d.cts +3 -3
  49. package/dist/index3.vue.d.ts +3 -3
  50. package/dist/index7.vue.d.ts +2 -2
  51. package/dist/index8.vue.d.cts +2 -2
  52. package/dist/index9.vue.d.ts +1 -1
  53. package/dist/mapUtils.d.cts +1 -1
  54. package/dist/mapUtils.d.ts +1 -1
  55. package/dist/style.css +3 -56
  56. package/dist/useCalendarEvents.d.cts +1 -1
  57. package/dist/useCalendarEvents.d.ts +1 -1
  58. package/dist/useCollapsePanel.d.cts +4 -4
  59. package/dist/useCollapsePanel.d.ts +4 -4
  60. package/dist/useCropperCore.d.cts +9 -9
  61. package/dist/useCropperCore.d.ts +9 -9
  62. package/dist/useDynamicFormState.d.cts +10 -10
  63. package/dist/useDynamicFormState.d.ts +10 -10
  64. package/dist/useEdgeInteraction.d.cts +3 -3
  65. package/dist/useEdgeInteraction.d.ts +3 -3
  66. package/dist/useFullscreen.d.cts +2 -2
  67. package/dist/useFullscreen.d.ts +2 -2
  68. package/dist/useInfiniteScroll.d.cts +3 -3
  69. package/dist/useInfiniteScroll.d.ts +3 -3
  70. package/dist/useQRCode.d.cts +2 -2
  71. package/dist/useQRCode.d.ts +2 -2
  72. package/dist/useSignatureHistory.d.cts +2 -2
  73. package/dist/useSignatureHistory.d.ts +2 -2
  74. package/dist/useSplitResize.d.cts +11 -11
  75. package/dist/useSplitResize.d.ts +11 -11
  76. package/dist/useWorkflowValidation.d.cts +99 -99
  77. package/dist/useWorkflowValidation.d.ts +99 -99
  78. package/dist/verification.d.cts +3 -3
  79. package/dist/verification.d.ts +3 -3
  80. package/docs/guides/form-density.en.md +2 -0
  81. package/docs/guides/form-density.md +2 -0
  82. package/docs/stability-review-20261031.md +15 -15
  83. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # @robot-admin/naive-ui-components
2
2
 
3
+ ## 0.24.5
4
+
5
+ ### Patch Changes
6
+
7
+ - 修复表单弹窗首行贴标题的问题,使用原生 Card 分区样式统一紧凑留白、内容滚动与固定页脚,约束宽高并避免样式穿透内嵌业务卡片。移除失效的 scoped 弹窗样式,不增加字段监听或渲染测量。
8
+
9
+ ## 0.24.4
10
+
11
+ ### Patch Changes
12
+
13
+ - 表单脏状态订阅数组迭代变化:稀疏空位被填充、删除或追加后,字段/整表状态和修改报告正确失效与恢复;纯值比较器继续保持值语义,不增加键列表分配。
14
+ - 数组空位与显式 undefined 保持原有值语义等价,长度及有效值仍严格比较,避免 Vue 不通知空位写入 undefined 时产生不一致;快照继续保留真实索引和空位。
15
+
3
16
  ## 0.24.3
4
17
 
5
18
  ### Patch Changes
package/README.md CHANGED
@@ -33,12 +33,14 @@
33
33
  | 按需消费 | 60 个独立组件入口、自动导入 Resolver、组件样式入口,以及表单/表格的基础样式层级 |
34
34
  | 独立接入 | 支持全量注册与局部导入;反馈、文案和全局配置可由宿主提供,表单弹窗可接入结构兼容的 Headless CRUD |
35
35
 
36
- 组件库负责界面与交互;业务接口、身份权限、上传服务和第三方平台配置由应用接入。当前仓库版本 **0.24.3**,版本变化见 [CHANGELOG](./CHANGELOG.md)。
36
+ 组件库负责界面与交互;业务接口、身份权限、上传服务和第三方平台配置由应用接入。当前仓库版本 **0.24.5**,版本变化见 [CHANGELOG](./CHANGELOG.md)。
37
37
 
38
- 0.24.3 复核了异步校验与编辑会话、字典订阅、列拖拽、媒体与图实例、数据快照及依赖边界,修复已复现的问题并删除死状态与不可达重试分支。审查范围、性能约束和验证证据见[稳定性复核](./docs/stability-review-20261031.md)。
38
+ 0.24.3–0.24.4 复核了异步校验与编辑会话、字典订阅、列拖拽、媒体与图实例、数据快照及依赖边界,修复已复现的问题并删除死状态与不可达重试分支。审查范围、性能约束和验证证据见[稳定性复核](./docs/stability-review-20261031.md)。
39
39
 
40
40
  表单与搜索共用 `config.density: 'compact'`:收紧字段、布局和空校验区,实际错误仍自然展开。表单弹窗默认紧凑,页脚按钮 22px;搜索可继承应用密度。紧凑数字输入默认隐藏步进按钮,保留键盘、精度和上下限,也可逐字段开启。按需设置默认值与显式覆盖见[表单密度](./docs/guides/form-density.md)。
41
41
 
42
+ 0.24.5 修复表单弹窗首行紧贴标题的问题:标题、内容与页脚通过原生分区样式保持留白,长表单仅内容区滚动,页脚保持可见;样式不穿透内嵌业务卡片。
43
+
42
44
  业务工作台新增共享字典 Provider、容器搜索、区域密度、远程选择、错误导航及批量结果;纯值工具走 `/data`,组合函数走 `/workflows`。接入见[业务数据与工作台](./docs/guides/data-workflows.md)、[搜索工作流](./docs/guides/search-workflows.md)、[远程选择](./docs/guides/data-picker.md)和[批量结果](./docs/guides/batch-results.md)。
43
45
 
44
46
  ## 能力地图
package/README_EN.md CHANGED
@@ -33,12 +33,14 @@
33
33
  | Selective loading | 60 component entries, an auto-import resolver, component CSS and base styles for forms and tables |
34
34
  | Application integration | Global registration or local imports; injectable feedback, locale and defaults; form dialogs compatible with structurally matching headless CRUD controllers |
35
35
 
36
- The library handles UI and interaction. Applications supply business APIs, authentication, authorization, upload services and platform configuration. The current repository version is **0.24.3**; see the [changelog](./CHANGELOG.md) for release details.
36
+ The library handles UI and interaction. Applications supply business APIs, authentication, authorization, upload services and platform configuration. The current repository version is **0.24.5**; see the [changelog](./CHANGELOG.md) for release details.
37
37
 
38
- The 0.24.3 review covers async validation and edit sessions, dictionaries, column dragging, media and graph instances, data snapshots and dependency boundaries. Reproduced issues are fixed; dead state and unreachable retry branches are removed. See the [stability review](./docs/stability-review-20261031.md) for scope, performance constraints and verification evidence.
38
+ The 0.24.3–0.24.4 review covers async validation and edit sessions, dictionaries, column dragging, media and graph instances, data snapshots and dependency boundaries. Reproduced issues are fixed; dead state and unreachable retry branches are removed. See the [stability review](./docs/stability-review-20261031.md) for scope, performance constraints and verification evidence.
39
39
 
40
40
  Forms and search share `config.density: 'compact'`, reducing field spacing and empty validation space while allowing errors to expand naturally. Form modals default to compact density with 22px footer buttons, and search can inherit application density. Compact numeric fields hide step buttons by default while retaining keyboard interaction, precision and limits; individual fields can enable buttons. See [form density](./docs/guides/form-density.en.md) for on-demand defaults and explicit overrides.
41
41
 
42
+ 0.24.5 restores spacing between form modal titles and the first field using native card section styles. Long forms scroll inside the content area while the footer stays visible; modal styles do not override nested business cards.
43
+
42
44
  Business workspaces can share dictionary providers, container-aware search, regional density, remote pickers, error navigation and batch results. Pure value utilities live at `/data`; opt-in composables live at `/workflows`. See the [data and workspace guide](./docs/guides/data-workflows.md), [search workflows](./docs/guides/search-workflows.md), [data picker](./docs/guides/data-picker.md) and [batch results](./docs/guides/batch-results.md).
43
45
 
44
46
  ## Capability map
@@ -1,59 +1,287 @@
1
1
  @import "./C_Form.css";
2
- /*
3
- * @Author: ChenYu ycyplus@gmail.com
4
- * @Date: 2026-09-13
5
- * @FilePath: \naive-ui-components\src\components\C_FormModal\index.scss
6
- * @Description: 紧凑型数据驱动表单弹窗样式
7
- * Copyright (c) 2026 by CHENY, All Rights Reserved 😎.
8
- */
9
- .c-form-modal[data-v-66511257] {
10
- overflow: hidden;
11
- border-radius: 10px;
12
- }
13
- .c-form-modal[data-v-66511257] .n-card-header {
14
- min-height: 46px;
15
- padding: 12px 16px;
16
- border-bottom: 1px solid var(--n-border-color);
17
- }
18
- .c-form-modal[data-v-66511257] .n-card-header__main {
19
- font-size: 15px;
20
- font-weight: 650;
21
- }
22
- .c-form-modal[data-v-66511257] :is(.n-card-content, .n-card__content) {
23
- padding: 14px 16px 8px;
24
- }
25
- .c-form-modal[data-v-66511257] .n-form-item {
26
- margin-bottom: 2px;
27
- }
28
- .c-form-modal[data-v-66511257] .n-card__action {
2
+ .c-icon[data-v-075758a0] {
3
+ display: inline-flex;
4
+ align-items: center;
5
+ justify-content: center;
6
+ position: relative;
7
+ flex-shrink: 0;
8
+ vertical-align: middle;
9
+ user-select: none;
10
+ transition: all 0.2s ease-in-out;
11
+ }
12
+ .c-icon--clickable[data-v-075758a0] {
13
+ cursor: pointer;
14
+ }
15
+ .c-icon--clickable[data-v-075758a0]:hover {
16
+ opacity: 0.8;
17
+ transform: scale(1.05);
18
+ }
19
+ .c-icon--clickable[data-v-075758a0]:active {
20
+ transform: scale(0.95);
21
+ }
22
+ .c-icon--clickable[data-v-075758a0]:focus-visible {
23
+ outline: 2px solid currentColor;
24
+ outline-offset: 2px;
25
+ border-radius: 4px;
26
+ }
27
+ .c-icon--loading[data-v-075758a0] {
28
+ opacity: 0.6;
29
+ cursor: wait;
30
+ }
31
+ .c-icon__loading[data-v-075758a0] {
32
+ position: absolute;
33
+ inset: 0;
34
+ }
35
+ .c-icon__spinner[data-v-075758a0] {
36
+ width: 100%;
37
+ height: 100%;
38
+ border: 2px solid currentColor;
39
+ border-radius: 50%;
40
+ border-top-color: transparent;
41
+ animation: spin-075758a0 1s linear infinite;
42
+ }
43
+ .c-icon__error[data-v-075758a0] {
44
+ font-size: 0.8em;
45
+ opacity: 0.5;
46
+ }
47
+ .c-icon__rotatable[data-v-075758a0] {
48
+ transition: transform 0.3s ease-in-out;
49
+ }
50
+ .c-icon__flippable[data-v-075758a0] {
51
+ transition: transform 0.3s ease-in-out;
52
+ }
53
+ @keyframes spin-075758a0 {
54
+ 0% {
55
+ transform: rotate(0deg);
56
+ }
57
+ 100% {
58
+ transform: rotate(360deg);
59
+ }
60
+ }
61
+
62
+ /* layer: default */
63
+ .inline-flex[data-v-075758a0]{display:inline-flex;}
64
+ .transform[data-v-075758a0]{transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}
65
+ .px[data-v-075758a0]{padding-left:1rem;padding-right:1rem;}
66
+
67
+ /* 通用操作按钮组件样式 */
68
+ /* ================= 主容器 ================= */
69
+ .c-action-bar[data-v-48eb3073] {
29
70
  display: flex;
71
+ min-width: 0;
72
+ align-items: center;
73
+ justify-content: space-between;
74
+ padding: 16px;
75
+ margin-bottom: 16px;
76
+ background: var(--c-bg-card);
77
+ border-radius: var(--c-radius);
78
+ border: 1px solid var(--c-border);
79
+ transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
80
+ }
81
+ .c-action-bar.is-align-left[data-v-48eb3073] {
82
+ justify-content: flex-start;
83
+ }
84
+ .c-action-bar.is-align-center[data-v-48eb3073] {
85
+ justify-content: center;
86
+ }
87
+ .c-action-bar.is-align-right[data-v-48eb3073] {
30
88
  justify-content: flex-end;
31
- padding: 10px 16px;
32
- background: color-mix(in srgb, var(--n-color-modal) 94%, var(--n-border-color));
33
- border-top: 1px solid var(--n-border-color);
34
89
  }
35
- @media (max-width: 640px) {
36
- .c-form-modal[data-v-66511257] :is(.n-card-content, .n-card__content) {
37
- padding-inline: 12px;
90
+ .c-action-bar.is-align-space-between[data-v-48eb3073] {
91
+ justify-content: space-between;
38
92
  }
39
- .c-form-modal[data-v-66511257] .n-card__action {
40
- padding-inline: 12px;
93
+ .c-action-bar.is-align-space-around[data-v-48eb3073] {
94
+ justify-content: space-around;
41
95
  }
96
+ .c-action-bar.is-compact[data-v-48eb3073] {
97
+ padding: 8px;
98
+ margin-bottom: 8px;
42
99
  }
43
- .c-form-modal--compact[data-v-66511257] .n-form-item {
100
+ .c-action-bar.is-inline[data-v-48eb3073] {
101
+ padding: 0;
44
102
  margin-bottom: 0;
103
+ background: transparent;
104
+ border: none;
105
+ border-radius: 0;
106
+ box-shadow: none;
107
+ }
108
+ .c-action-bar.is-wrap[data-v-48eb3073] {
109
+ flex-wrap: wrap;
110
+ gap: 8px;
111
+ }
112
+ .c-action-bar.is-wrap .actions-group[data-v-48eb3073] {
113
+ flex-wrap: wrap;
114
+ min-width: 0;
115
+ max-width: 100%;
116
+ }
117
+ @media (max-width: 768px) {
118
+ .c-action-bar[data-v-48eb3073] {
119
+ flex-direction: column;
120
+ gap: 12px;
121
+ }
122
+ .c-action-bar .actions-group[data-v-48eb3073] {
123
+ width: 100%;
124
+ justify-content: center;
125
+ }
126
+ }
127
+
128
+ /* ================= 按钮组 ================= */
129
+ .actions-group[data-v-48eb3073] {
130
+ display: flex;
131
+ align-items: center;
132
+ gap: 12px;
133
+ flex-wrap: nowrap;
134
+ flex-shrink: 0;
135
+ }
136
+ .actions-group.actions-left[data-v-48eb3073] {
137
+ justify-content: flex-start;
138
+ }
139
+ .actions-group.actions-right[data-v-48eb3073] {
140
+ justify-content: flex-end;
141
+ }
142
+ .c-action-bar.has-only-left.is-align-center .actions-group.actions-left[data-v-48eb3073], .c-action-bar.has-only-right.is-align-center .actions-group.actions-right[data-v-48eb3073] {
143
+ width: 100%;
144
+ justify-content: center;
145
+ }
146
+ .c-action-bar.has-only-left.is-align-space-between .actions-group.actions-left[data-v-48eb3073], .c-action-bar.has-only-right.is-align-space-between .actions-group.actions-right[data-v-48eb3073] {
147
+ width: 100%;
148
+ justify-content: space-between;
149
+ }
150
+ .c-action-bar.has-only-left.is-align-space-around .actions-group.actions-left[data-v-48eb3073], .c-action-bar.has-only-right.is-align-space-around .actions-group.actions-right[data-v-48eb3073] {
151
+ width: 100%;
152
+ justify-content: space-around;
153
+ }
154
+ .c-action-bar.has-only-left.is-align-right .actions-group.actions-left[data-v-48eb3073] {
155
+ width: 100%;
156
+ justify-content: flex-end;
157
+ }
158
+ .c-action-bar.has-only-right.is-align-left .actions-group.actions-right[data-v-48eb3073] {
159
+ width: 100%;
160
+ justify-content: flex-start;
45
161
  }
46
- .c-form-modal--compact[data-v-66511257] .n-card-header {
47
- min-height: 40px;
48
- padding: 8px 12px;
162
+ .actions-group[data-v-48eb3073] .n-button {
163
+ flex-shrink: 0;
164
+ transition: color 0.16s ease, background-color 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
165
+ font-weight: 500;
49
166
  }
50
- .c-form-modal--compact[data-v-66511257] :is(.n-card-content, .n-card__content) {
51
- padding: 10px 12px 8px;
167
+ .actions-group[data-v-48eb3073] .n-button .n-icon {
168
+ transition: transform 0.3s ease;
52
169
  }
53
- .c-form-modal--compact[data-v-66511257] .n-card__action {
54
- padding: 8px 12px;
170
+ .actions-group[data-v-48eb3073] .n-button:hover:not(:disabled) {
171
+ transform: translateY(-1px);
172
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
55
173
  }
174
+ .actions-group[data-v-48eb3073] .n-button:hover:not(:disabled) .n-icon {
175
+ transform: scale(1.1);
176
+ }
177
+ .actions-group[data-v-48eb3073] .n-button:active:not(:disabled) {
178
+ transform: translateY(0);
179
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
180
+ }
181
+ .actions-group[data-v-48eb3073] .n-button:disabled {
182
+ cursor: not-allowed;
183
+ opacity: 0.5;
184
+ }
185
+ .actions-group[data-v-48eb3073] .n-button.n-button--loading {
186
+ pointer-events: none;
187
+ }
188
+ .actions-group[data-v-48eb3073] .n-button--primary-type:hover:not(:disabled) {
189
+ box-shadow: 0 4px 12px rgba(24, 160, 88, 0.3);
190
+ }
191
+ .actions-group[data-v-48eb3073] .n-button--info-type:hover:not(:disabled) {
192
+ box-shadow: 0 4px 12px rgba(42, 148, 125, 0.3);
193
+ }
194
+ .actions-group[data-v-48eb3073] .n-button--success-type:hover:not(:disabled) {
195
+ box-shadow: 0 4px 12px rgba(99, 226, 183, 0.3);
196
+ }
197
+ .actions-group[data-v-48eb3073] .n-button--warning-type:hover:not(:disabled) {
198
+ box-shadow: 0 4px 12px rgba(240, 138, 0, 0.3);
199
+ }
200
+ .actions-group[data-v-48eb3073] .n-button--error-type:hover:not(:disabled) {
201
+ box-shadow: 0 4px 12px rgba(208, 48, 80, 0.3);
202
+ }
203
+
204
+ /* ================= 中间插槽区域 ================= */
205
+ .actions-center[data-v-48eb3073] {
206
+ display: flex;
207
+ align-items: center;
208
+ justify-content: center;
209
+ flex: 1;
210
+ padding: 0 24px;
211
+ min-width: 0;
212
+ }
213
+
214
+ /* ================= 分隔线 ================= */
215
+ .action-divider[data-v-48eb3073] {
216
+ margin: 0 8px !important;
217
+ height: 20px;
218
+ opacity: 0.3;
219
+ transition: opacity 0.3s ease;
220
+ }
221
+ .action-divider[data-v-48eb3073]:hover {
222
+ opacity: 0.6;
223
+ }
224
+
225
+ /* ================= 下拉菜单优化 ================= */
226
+ [data-v-48eb3073] .n-dropdown-option {
227
+ transition: all 0.2s ease;
228
+ }
229
+ [data-v-48eb3073] .n-dropdown-option:hover {
230
+ transform: translateX(4px);
231
+ }
232
+ [data-v-48eb3073] .n-dropdown-option .n-icon {
233
+ transition: transform 0.2s ease;
234
+ }
235
+ [data-v-48eb3073] .n-dropdown-option:hover .n-icon {
236
+ transform: scale(1.15);
237
+ }
238
+
239
+ /* ================= 加载动画 ================= */
240
+ @keyframes button-loading-48eb3073 {
241
+ 0% {
242
+ opacity: 0.6;
243
+ }
244
+ 50% {
245
+ opacity: 1;
246
+ }
247
+ 100% {
248
+ opacity: 0.6;
249
+ }
250
+ }
251
+ [data-v-48eb3073] .n-button--loading {
252
+ animation: button-loading-48eb3073 1.5s ease-in-out infinite;
253
+ }
254
+
255
+ /* ================= Tooltip 样式 ================= */
256
+ [data-v-48eb3073] .n-tooltip .n-tooltip__content {
257
+ font-size: 12px;
258
+ padding: 6px 10px;
259
+ border-radius: 4px;
260
+ backdrop-filter: blur(8px);
261
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
262
+ }
263
+
264
+ /* ================= 暗黑模式适配 ================= */
265
+ html.dark .c-action-bar[data-v-48eb3073] {
266
+ border-color: rgba(255, 255, 255, 0.09);
267
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
268
+ }
269
+ html.dark .actions-group[data-v-48eb3073] .n-button:hover:not(:disabled) {
270
+ box-shadow: 0 4px 12px rgba(255, 255, 255, 0.1);
271
+ }
272
+ html.dark .action-divider[data-v-48eb3073] {
273
+ opacity: 0.15;
274
+ }
275
+ html.dark .action-divider[data-v-48eb3073]:hover {
276
+ opacity: 0.4;
277
+ }
278
+
279
+ /* layer: default */
280
+ .inline[data-v-48eb3073]{display:inline;}
281
+ .px[data-v-48eb3073]{padding-left:1rem;padding-right:1rem;}
282
+
56
283
 
57
284
  /* layer: default */
58
- .visible[data-v-66511257]{visibility:visible;}
59
- .px[data-v-66511257]{padding-left:1rem;padding-right:1rem;}
285
+ .visible[data-v-25307ec4]{visibility:visible;}
286
+ .hidden[data-v-25307ec4]{display:none;}
287
+ .px[data-v-25307ec4]{padding-left:1rem;padding-right:1rem;}
@@ -1 +1 @@
1
- require(`./chunk.cjs`);const e=require(`./density.cjs`),t=require(`./export-helper.cjs`),n=require(`./C_ActionBar2.cjs`),r=require(`./useFormConfig.cjs`),i=require(`./helpers.cjs`);let a=require(`vue`),o=require(`naive-ui`);const s=(0,a.defineComponent)({name:`C_FormModal`,__name:`index`,props:{editor:{},options:{},config:{default:()=>({})},width:{default:`min(620px, calc(100vw - 24px))`},createText:{default:`创建`},saveText:{default:`保存`},cancelText:{default:`取消`},closable:{type:Boolean,default:!0},maskClosable:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0}},emits:[`submit`,`close`],setup(t,{emit:s}){let c=t,l=s,u=(0,a.ref)(null),d=r.o(),f=(0,a.computed)(()=>c.config?.density??d.density??`compact`),p=(0,a.computed)({get:()=>c.editor.visible.value,set:e=>{e||y()}}),m=(0,a.computed)(()=>c.editor.title.value),h=(0,a.computed)(()=>c.editor.loading.value),g=(0,a.computed)(()=>typeof c.width==`number`?`${c.width}px`:c.width),_=(0,a.computed)({get:()=>c.editor.model.value??{},set:e=>{c.editor.setModel(e)}}),v=(0,a.computed)(()=>({...c.config,density:f.value,mode:c.editor.mode.value,showActions:!1,onSubmit:async(e,t)=>{if(await c.config?.onSubmit?.(e,t),t?.signal.aborted)return;let n=await c.editor.submit(e.model);t?.signal.aborted||l(`submit`,e,n)}})),y=()=>{c.editor.close(),l(`close`)},b=(0,a.computed)(()=>{let t=r.r(v.value,d),n=e.t(f.value);return{align:`right`,size:t.size??(f.value===`compact`?`tiny`:n.size),gap:n.gap,compact:f.value===`compact`}}),x=(0,a.computed)(()=>n.a([{key:`cancel`,label:c.cancelText,disabled:h,onClick:y},{key:c.editor.mode.value===`create`?`create`:`save`,label:c.editor.mode.value===`create`?c.createText:c.saveText,loading:h,onClick:async()=>{await u.value?.submit()}}]));return(e,r)=>((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(o.NModal),{show:p.value,"onUpdate:show":r[1]||=e=>p.value=e,preset:`card`,title:m.value,style:(0,a.normalizeStyle)({width:g.value,maxHeight:`calc(100dvh - 32px)`}),"content-style":`min-height: 0; overflow: auto`,"mask-closable":t.maskClosable,"close-on-esc":t.closeOnEsc,closable:t.closable,class:(0,a.normalizeClass)([`c-form-modal`,`c-form-modal--${f.value}`])},{action:(0,a.withCtx)(()=>[(0,a.createVNode)(n.t,{actions:x.value,config:b.value},null,8,[`actions`,`config`])]),default:(0,a.withCtx)(()=>[p.value&&t.editor.model.value?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(i.i),{key:0,ref_key:`formRef`,ref:u,modelValue:_.value,"onUpdate:modelValue":r[0]||=e=>_.value=e,options:t.options,config:v.value},(0,a.createSlots)({_:2},[(0,a.renderList)(e.$slots,(t,n)=>({name:n,fn:(0,a.withCtx)(t=>[(0,a.renderSlot)(e.$slots,n,(0,a.normalizeProps)((0,a.guardReactiveProps)(t)),void 0,!0)])}))]),1032,[`modelValue`,`options`,`config`])):(0,a.createCommentVNode)(`v-if`,!0)]),_:3},8,[`show`,`title`,`style`,`mask-closable`,`close-on-esc`,`closable`,`class`]))}});var c=t.t(s,[[`__scopeId`,`data-v-66511257`]]);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return c}});
1
+ require(`./chunk.cjs`);const e=require(`./density.cjs`),t=require(`./export-helper.cjs`),n=require(`./C_ActionBar2.cjs`),r=require(`./useFormConfig.cjs`),i=require(`./helpers.cjs`);let a=require(`vue`),o=require(`naive-ui`);const s=(0,a.defineComponent)({name:`C_FormModal`,__name:`index`,props:{editor:{},options:{},config:{default:()=>({})},width:{default:`min(620px, calc(100vw - 24px))`},createText:{default:`创建`},saveText:{default:`保存`},cancelText:{default:`取消`},closable:{type:Boolean,default:!0},maskClosable:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0}},emits:[`submit`,`close`],setup(t,{emit:s}){let c=t,l=s,u=(0,a.ref)(null),d=r.o(),f=(0,a.computed)(()=>c.config?.density??d.density??`compact`),p=(0,a.computed)({get:()=>c.editor.visible.value,set:e=>{e||b()}}),m=(0,a.computed)(()=>c.editor.title.value),h=(0,a.computed)(()=>c.editor.loading.value),g=(0,a.computed)(()=>typeof c.width==`number`?`${c.width}px`:c.width),_=(0,a.computed)(()=>{let e=f.value===`compact`,t=e?`12px`:`clamp(12px, 2.5vw, 16px)`;return{shell:{width:g.value,maxWidth:`calc(100vw - 24px)`,maxHeight:`calc(100dvh - 32px)`,overflow:`hidden`,borderRadius:`10px`},header:{minHeight:e?`40px`:`46px`,padding:`${e?8:12}px ${t}`,fontSize:`15px`,borderBottom:`1px solid var(--n-border-color)`,flexShrink:0},content:{padding:`${e?10:14}px ${t} 8px`,minHeight:0,overflow:`auto`},footer:{padding:`${e?8:10}px ${t}`,background:`var(--n-action-color)`,borderTop:`1px solid var(--n-border-color)`,flexShrink:0}}}),v=(0,a.computed)({get:()=>c.editor.model.value??{},set:e=>{c.editor.setModel(e)}}),y=(0,a.computed)(()=>({...c.config,density:f.value,mode:c.editor.mode.value,showActions:!1,onSubmit:async(e,t)=>{if(await c.config?.onSubmit?.(e,t),t?.signal.aborted)return;let n=await c.editor.submit(e.model);t?.signal.aborted||l(`submit`,e,n)}})),b=()=>{c.editor.close(),l(`close`)},x=(0,a.computed)(()=>{let t=r.r(y.value,d),n=e.t(f.value);return{align:`right`,size:t.size??(f.value===`compact`?`tiny`:n.size),gap:n.gap,compact:f.value===`compact`}}),S=(0,a.computed)(()=>n.a([{key:`cancel`,label:c.cancelText,disabled:h,onClick:b},{key:c.editor.mode.value===`create`?`create`:`save`,label:c.editor.mode.value===`create`?c.createText:c.saveText,loading:h,onClick:async()=>{await u.value?.submit()}}]));return(e,r)=>((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(o.NModal),{show:p.value,"onUpdate:show":r[1]||=e=>p.value=e,preset:`card`,title:m.value,"aria-label":m.value,style:(0,a.normalizeStyle)(_.value.shell),"header-style":_.value.header,"content-style":_.value.content,"footer-style":_.value.footer,"footer-class":`c-form-modal__footer`,"mask-closable":t.maskClosable,"close-on-esc":t.closeOnEsc,closable:t.closable,class:(0,a.normalizeClass)([`c-form-modal`,`c-form-modal--${f.value}`])},{footer:(0,a.withCtx)(()=>[(0,a.createVNode)(n.t,{actions:S.value,config:x.value},null,8,[`actions`,`config`])]),default:(0,a.withCtx)(()=>[p.value&&t.editor.model.value?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(i.i),{key:0,ref_key:`formRef`,ref:u,modelValue:v.value,"onUpdate:modelValue":r[0]||=e=>v.value=e,options:t.options,config:y.value},(0,a.createSlots)({_:2},[(0,a.renderList)(e.$slots,(t,n)=>({name:n,fn:(0,a.withCtx)(t=>[(0,a.renderSlot)(e.$slots,n,(0,a.normalizeProps)((0,a.guardReactiveProps)(t)),void 0,!0)])}))]),1032,[`modelValue`,`options`,`config`])):(0,a.createCommentVNode)(`v-if`,!0)]),_:3},8,[`show`,`title`,`aria-label`,`style`,`header-style`,`content-style`,`footer-style`,`mask-closable`,`close-on-esc`,`closable`,`class`]))}});var c=t.t(s,[[`__scopeId`,`data-v-25307ec4`]]);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return c}});
@@ -1 +1 @@
1
- import{t as e}from"./density.js";import{t}from"./export-helper.js";import{a as n,t as r}from"./C_ActionBar2.js";import{o as i,r as a}from"./useFormConfig.js";import{i as o}from"./helpers.js";import{computed as s,createBlock as c,createCommentVNode as l,createSlots as u,createVNode as d,defineComponent as f,guardReactiveProps as p,normalizeClass as m,normalizeProps as h,normalizeStyle as g,openBlock as _,ref as v,renderList as y,renderSlot as b,unref as x,withCtx as S}from"vue";import{NModal as C}from"naive-ui";var w=t(f({name:`C_FormModal`,__name:`index`,props:{editor:{},options:{},config:{default:()=>({})},width:{default:`min(620px, calc(100vw - 24px))`},createText:{default:`创建`},saveText:{default:`保存`},cancelText:{default:`取消`},closable:{type:Boolean,default:!0},maskClosable:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0}},emits:[`submit`,`close`],setup(t,{emit:f}){let w=t,T=f,E=v(null),D=i(),O=s(()=>w.config?.density??D.density??`compact`),k=s({get:()=>w.editor.visible.value,set:e=>{e||F()}}),A=s(()=>w.editor.title.value),j=s(()=>w.editor.loading.value),M=s(()=>typeof w.width==`number`?`${w.width}px`:w.width),N=s({get:()=>w.editor.model.value??{},set:e=>{w.editor.setModel(e)}}),P=s(()=>({...w.config,density:O.value,mode:w.editor.mode.value,showActions:!1,onSubmit:async(e,t)=>{if(await w.config?.onSubmit?.(e,t),t?.signal.aborted)return;let n=await w.editor.submit(e.model);t?.signal.aborted||T(`submit`,e,n)}})),F=()=>{w.editor.close(),T(`close`)},I=s(()=>{let t=a(P.value,D),n=e(O.value);return{align:`right`,size:t.size??(O.value===`compact`?`tiny`:n.size),gap:n.gap,compact:O.value===`compact`}}),L=s(()=>n([{key:`cancel`,label:w.cancelText,disabled:j,onClick:F},{key:w.editor.mode.value===`create`?`create`:`save`,label:w.editor.mode.value===`create`?w.createText:w.saveText,loading:j,onClick:async()=>{await E.value?.submit()}}]));return(e,n)=>(_(),c(x(C),{show:k.value,"onUpdate:show":n[1]||=e=>k.value=e,preset:`card`,title:A.value,style:g({width:M.value,maxHeight:`calc(100dvh - 32px)`}),"content-style":`min-height: 0; overflow: auto`,"mask-closable":t.maskClosable,"close-on-esc":t.closeOnEsc,closable:t.closable,class:m([`c-form-modal`,`c-form-modal--${O.value}`])},{action:S(()=>[d(r,{actions:L.value,config:I.value},null,8,[`actions`,`config`])]),default:S(()=>[k.value&&t.editor.model.value?(_(),c(x(o),{key:0,ref_key:`formRef`,ref:E,modelValue:N.value,"onUpdate:modelValue":n[0]||=e=>N.value=e,options:t.options,config:P.value},u({_:2},[y(e.$slots,(t,n)=>({name:n,fn:S(t=>[b(e.$slots,n,h(p(t)),void 0,!0)])}))]),1032,[`modelValue`,`options`,`config`])):l(`v-if`,!0)]),_:3},8,[`show`,`title`,`style`,`mask-closable`,`close-on-esc`,`closable`,`class`]))}}),[[`__scopeId`,`data-v-66511257`]]);export{w as t};
1
+ import{t as e}from"./density.js";import{t}from"./export-helper.js";import{a as n,t as r}from"./C_ActionBar2.js";import{o as i,r as a}from"./useFormConfig.js";import{i as o}from"./helpers.js";import{computed as s,createBlock as c,createCommentVNode as l,createSlots as u,createVNode as d,defineComponent as f,guardReactiveProps as p,normalizeClass as m,normalizeProps as h,normalizeStyle as g,openBlock as _,ref as v,renderList as y,renderSlot as b,unref as x,withCtx as S}from"vue";import{NModal as C}from"naive-ui";var w=t(f({name:`C_FormModal`,__name:`index`,props:{editor:{},options:{},config:{default:()=>({})},width:{default:`min(620px, calc(100vw - 24px))`},createText:{default:`创建`},saveText:{default:`保存`},cancelText:{default:`取消`},closable:{type:Boolean,default:!0},maskClosable:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0}},emits:[`submit`,`close`],setup(t,{emit:f}){let w=t,T=f,E=v(null),D=i(),O=s(()=>w.config?.density??D.density??`compact`),k=s({get:()=>w.editor.visible.value,set:e=>{e||I()}}),A=s(()=>w.editor.title.value),j=s(()=>w.editor.loading.value),M=s(()=>typeof w.width==`number`?`${w.width}px`:w.width),N=s(()=>{let e=O.value===`compact`,t=e?`12px`:`clamp(12px, 2.5vw, 16px)`;return{shell:{width:M.value,maxWidth:`calc(100vw - 24px)`,maxHeight:`calc(100dvh - 32px)`,overflow:`hidden`,borderRadius:`10px`},header:{minHeight:e?`40px`:`46px`,padding:`${e?8:12}px ${t}`,fontSize:`15px`,borderBottom:`1px solid var(--n-border-color)`,flexShrink:0},content:{padding:`${e?10:14}px ${t} 8px`,minHeight:0,overflow:`auto`},footer:{padding:`${e?8:10}px ${t}`,background:`var(--n-action-color)`,borderTop:`1px solid var(--n-border-color)`,flexShrink:0}}}),P=s({get:()=>w.editor.model.value??{},set:e=>{w.editor.setModel(e)}}),F=s(()=>({...w.config,density:O.value,mode:w.editor.mode.value,showActions:!1,onSubmit:async(e,t)=>{if(await w.config?.onSubmit?.(e,t),t?.signal.aborted)return;let n=await w.editor.submit(e.model);t?.signal.aborted||T(`submit`,e,n)}})),I=()=>{w.editor.close(),T(`close`)},L=s(()=>{let t=a(F.value,D),n=e(O.value);return{align:`right`,size:t.size??(O.value===`compact`?`tiny`:n.size),gap:n.gap,compact:O.value===`compact`}}),R=s(()=>n([{key:`cancel`,label:w.cancelText,disabled:j,onClick:I},{key:w.editor.mode.value===`create`?`create`:`save`,label:w.editor.mode.value===`create`?w.createText:w.saveText,loading:j,onClick:async()=>{await E.value?.submit()}}]));return(e,n)=>(_(),c(x(C),{show:k.value,"onUpdate:show":n[1]||=e=>k.value=e,preset:`card`,title:A.value,"aria-label":A.value,style:g(N.value.shell),"header-style":N.value.header,"content-style":N.value.content,"footer-style":N.value.footer,"footer-class":`c-form-modal__footer`,"mask-closable":t.maskClosable,"close-on-esc":t.closeOnEsc,closable:t.closable,class:m([`c-form-modal`,`c-form-modal--${O.value}`])},{footer:S(()=>[d(r,{actions:R.value,config:L.value},null,8,[`actions`,`config`])]),default:S(()=>[k.value&&t.editor.model.value?(_(),c(x(o),{key:0,ref_key:`formRef`,ref:E,modelValue:P.value,"onUpdate:modelValue":n[0]||=e=>P.value=e,options:t.options,config:F.value},u({_:2},[y(e.$slots,(t,n)=>({name:n,fn:S(t=>[b(e.$slots,n,h(p(t)),void 0,!0)])}))]),1032,[`modelValue`,`options`,`config`])):l(`v-if`,!0)]),_:3},8,[`show`,`title`,`aria-label`,`style`,`header-style`,`content-style`,`footer-style`,`mask-closable`,`close-on-esc`,`closable`,`class`]))}}),[[`__scopeId`,`data-v-25307ec4`]]);export{w as t};
@@ -117,8 +117,8 @@ declare const __VLS_export: vue.DefineComponent<CronProps, CronExpose, {}, {}, {
117
117
  "onValidation-change"?: ((result: CronValidation) => any) | undefined;
118
118
  }>, {
119
119
  disabled: boolean;
120
- showPreview: boolean;
121
120
  showTemplates: boolean;
121
+ showPreview: boolean;
122
122
  showSecond: boolean;
123
123
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
124
124
  declare const _default: typeof __VLS_export;
@@ -117,8 +117,8 @@ declare const __VLS_export: vue.DefineComponent<CronProps, CronExpose, {}, {}, {
117
117
  "onValidation-change"?: ((result: CronValidation) => any) | undefined;
118
118
  }>, {
119
119
  disabled: boolean;
120
- showPreview: boolean;
121
120
  showTemplates: boolean;
121
+ showPreview: boolean;
122
122
  showSecond: boolean;
123
123
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
124
124
  declare const _default: typeof __VLS_export;
@@ -197,30 +197,30 @@ type __VLS_Slots = {} & {
197
197
  };
198
198
  declare const __VLS_base: vue.DefineComponent<UploadProps, UploadExpose, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
199
199
  change: (fileList: UploadFileItem[]) => any;
200
+ progress: (file: UploadFileItem, percent: number) => any;
200
201
  error: (file: UploadFileItem, error: Error) => any;
201
202
  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
207
  onChange?: ((fileList: UploadFileItem[]) => any) | undefined;
208
+ onProgress?: ((file: UploadFileItem, percent: number) => any) | undefined;
208
209
  onError?: ((file: UploadFileItem, error: Error) => any) | undefined;
209
210
  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
- data: Record<string, unknown>;
216
215
  disabled: boolean;
216
+ maxSize: number;
217
+ multiple: boolean;
218
+ data: Record<string, unknown>;
217
219
  draggable: boolean;
218
220
  action: string;
219
221
  headers: Record<string, string>;
220
- multiple: boolean;
221
222
  directory: boolean;
222
223
  accept: string;
223
- maxSize: number;
224
224
  maxCount: number;
225
225
  pasteable: boolean;
226
226
  chunked: boolean;
@@ -197,30 +197,30 @@ type __VLS_Slots = {} & {
197
197
  };
198
198
  declare const __VLS_base: vue.DefineComponent<UploadProps, UploadExpose, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
199
199
  change: (fileList: UploadFileItem[]) => any;
200
+ progress: (file: UploadFileItem, percent: number) => any;
200
201
  error: (file: UploadFileItem, error: Error) => any;
201
202
  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
207
  onChange?: ((fileList: UploadFileItem[]) => any) | undefined;
208
+ onProgress?: ((file: UploadFileItem, percent: number) => any) | undefined;
208
209
  onError?: ((file: UploadFileItem, error: Error) => any) | undefined;
209
210
  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
- data: Record<string, unknown>;
216
215
  disabled: boolean;
216
+ maxSize: number;
217
+ multiple: boolean;
218
+ data: Record<string, unknown>;
217
219
  draggable: boolean;
218
220
  action: string;
219
221
  headers: Record<string, string>;
220
- multiple: boolean;
221
222
  directory: boolean;
222
223
  accept: string;
223
- maxSize: number;
224
224
  maxCount: number;
225
225
  pasteable: boolean;
226
226
  chunked: boolean;
@@ -231,31 +231,31 @@ interface NotificationCenterExpose {
231
231
  type __VLS_Slots = NotificationCenterSlots;
232
232
  declare const __VLS_base: vue.DefineComponent<NotificationCenterProps, NotificationCenterExpose, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
233
233
  delete: (ids: string[]) => any;
234
- read: (ids: string[]) => any;
235
234
  itemClick: (message: NotificationMessage) => any;
235
+ navigate: (url: string) => any;
236
+ read: (ids: string[]) => any;
236
237
  allRead: (category?: NotificationCategory | undefined) => any;
237
238
  unreadChange: (count: number) => any;
238
239
  wsStatusChange: (status: WSConnectionStatus) => any;
239
240
  newMessage: (message: NotificationMessage) => any;
240
- navigate: (url: string) => any;
241
241
  viewAll: () => any;
242
242
  }, string, vue.PublicProps, Readonly<NotificationCenterProps> & Readonly<{
243
243
  onDelete?: ((ids: string[]) => any) | undefined;
244
- onRead?: ((ids: string[]) => any) | undefined;
245
244
  onItemClick?: ((message: NotificationMessage) => any) | undefined;
245
+ onNavigate?: ((url: string) => any) | undefined;
246
+ onRead?: ((ids: string[]) => any) | undefined;
246
247
  onAllRead?: ((category?: NotificationCategory | undefined) => any) | undefined;
247
248
  onUnreadChange?: ((count: number) => any) | undefined;
248
249
  onWsStatusChange?: ((status: WSConnectionStatus) => any) | undefined;
249
250
  onNewMessage?: ((message: NotificationMessage) => any) | undefined;
250
- onNavigate?: ((url: string) => any) | undefined;
251
251
  onViewAll?: (() => any) | undefined;
252
252
  }>, {
253
+ pageSize: number;
253
254
  storageKey: string;
254
255
  autoStart: boolean;
255
256
  desktopNotification: boolean;
256
257
  maxBadgeCount: number;
257
258
  pollingInterval: number;
258
- pageSize: number;
259
259
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
260
260
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
261
261
  declare const _default: typeof __VLS_export;
@@ -231,31 +231,31 @@ interface NotificationCenterExpose {
231
231
  type __VLS_Slots = NotificationCenterSlots;
232
232
  declare const __VLS_base: vue.DefineComponent<NotificationCenterProps, NotificationCenterExpose, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
233
233
  delete: (ids: string[]) => any;
234
- read: (ids: string[]) => any;
235
234
  itemClick: (message: NotificationMessage) => any;
235
+ navigate: (url: string) => any;
236
+ read: (ids: string[]) => any;
236
237
  allRead: (category?: NotificationCategory | undefined) => any;
237
238
  unreadChange: (count: number) => any;
238
239
  wsStatusChange: (status: WSConnectionStatus) => any;
239
240
  newMessage: (message: NotificationMessage) => any;
240
- navigate: (url: string) => any;
241
241
  viewAll: () => any;
242
242
  }, string, vue.PublicProps, Readonly<NotificationCenterProps> & Readonly<{
243
243
  onDelete?: ((ids: string[]) => any) | undefined;
244
- onRead?: ((ids: string[]) => any) | undefined;
245
244
  onItemClick?: ((message: NotificationMessage) => any) | undefined;
245
+ onNavigate?: ((url: string) => any) | undefined;
246
+ onRead?: ((ids: string[]) => any) | undefined;
246
247
  onAllRead?: ((category?: NotificationCategory | undefined) => any) | undefined;
247
248
  onUnreadChange?: ((count: number) => any) | undefined;
248
249
  onWsStatusChange?: ((status: WSConnectionStatus) => any) | undefined;
249
250
  onNewMessage?: ((message: NotificationMessage) => any) | undefined;
250
- onNavigate?: ((url: string) => any) | undefined;
251
251
  onViewAll?: (() => any) | undefined;
252
252
  }>, {
253
+ pageSize: number;
253
254
  storageKey: string;
254
255
  autoStart: boolean;
255
256
  desktopNotification: boolean;
256
257
  maxBadgeCount: number;
257
258
  pollingInterval: number;
258
- pageSize: number;
259
259
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
260
260
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
261
261
  declare const _default: typeof __VLS_export;
package/dist/data2.cjs CHANGED
@@ -1 +1 @@
1
- require(`./chunk.cjs`);let e=require(`vue`);const t=new Set([`__proto__`,`prototype`,`constructor`]);function n(e,t){return Reflect.has(e,t),Object.prototype.hasOwnProperty.call(e,t)}function r(e,t){return typeof e==`object`&&e&&n(e,t)?e[t]:void 0}function i(e){let n=e.replace(/\[([^\]]+)\]/g,`.$1`).split(`.`).map(e=>e.trim().replace(/^['"]|['"]$/g,``)).filter(Boolean);if(n.length===0)throw TypeError(`Data path cannot be empty`);if(n.some(e=>t.has(e)))throw TypeError(`Unsafe data path: ${e}`);return n}function a(e,t){if(n(e,t))return!0;let r=e;for(let e of i(t)){if(typeof r!=`object`||!r||!n(r,e))return!1;r=r[e]}return!0}function o(e,t){return n(e,t)?e[t]:i(t).reduce(r,e)}function s(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t)){e[t]=n;return}let a=i(t),o=e;a.forEach((e,t)=>{if(t===a.length-1){o[e]=n;return}let i=r(o,e);(typeof i!=`object`||!i)&&(o[e]=/^\d+$/.test(a[t+1])?[]:{}),o=o[e]})}function c(e,t){if(Object.prototype.hasOwnProperty.call(e,t)){delete e[t];return}let n=i(t),a=n.pop();if(!a)return;let o=n.reduce(r,e);o&&typeof o==`object`&&delete o[a]}function l(t){return(0,e.isProxy)(t)?(0,e.toRaw)(t):t}function u(e,t){let n=l(e);if(typeof n!=`object`||!n)return n;if(t.has(n))return t.get(n);if(n instanceof Date)return new Date(n.getTime());if(n instanceof RegExp)return new RegExp(n);if(n instanceof ArrayBuffer)return n.slice(0);if(Array.isArray(n)){let e=[];return e.length=n.length,t.set(n,e),n.forEach((n,r)=>{e[r]=u(n,t)}),e}if(n instanceof Map){let e=new Map;return t.set(n,e),n.forEach((n,r)=>{e.set(u(r,t),u(n,t))}),e}if(n instanceof Set){let e=new Set;return t.set(n,e),n.forEach(n=>e.add(u(n,t))),e}let r=Object.getPrototypeOf(n);if(r!==Object.prototype&&r!==null)return n;let i={};return t.set(n,i),Reflect.ownKeys(n).forEach(e=>{if(typeof e==`string`){let r=u(n[e],t);e===`__proto__`?Object.defineProperty(i,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):i[e]=r}}),i}function d(e){let t=l(e);if(typeof structuredClone==`function`)try{return structuredClone(t)}catch{}return u(t,new WeakMap)}const f=e=>typeof e==`object`&&!!e;function p(e,t){let n=e.additions.length;if(t())return!0;for(;e.additions.length>n;){let[t,n]=e.additions.pop();e.pairs.get(t)?.delete(n)}return!1}function m(e,t,n,r){return n.has(e)&&v(t,n.get(e),r)}function h(e,t,n){if(e.size!==t.size)return!1;let r=new Set,i;for(let[a,o]of e){if(!f(a)){if(!m(a,o,t,n))return!1;continue}if(!r.has(a)&&p(n,()=>m(a,o,t,n))){r.add(a);continue}i??=[...t].filter(e=>f(e[0]));let e=i.find(([e,t])=>e!==a&&!r.has(e)&&p(n,()=>v(a,e,n)&&v(o,t,n)));if(!e)return!1;r.add(e[0])}return!0}function g(e,t,n){if(e.size!==t.size)return!1;let r=new Set,i;for(let a of e){if(!f(a)){if(!t.has(a))return!1;continue}if(!r.has(a)&&t.has(a)){r.add(a);continue}i??=[...t].filter(f);let e=i.find(e=>!r.has(e)&&p(n,()=>v(a,e,n)));if(!e)return!1;r.add(e)}return!0}function _(e,t,n){let r=n.pairs.get(e);if(r?.has(t))return!0;if(r||(r=new WeakSet,n.pairs.set(e,r)),r.add(t),n.additions.push([e,t]),e instanceof Date||t instanceof Date)return e instanceof Date&&t instanceof Date&&e.getTime()===t.getTime();if(e instanceof RegExp||t instanceof RegExp)return e instanceof RegExp&&t instanceof RegExp&&e.source===t.source&&e.flags===t.flags;if(Array.isArray(e)||Array.isArray(t)){if(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length)return!1;for(let r=0;r<e.length;r++){let i=Object.prototype.hasOwnProperty.call(e,r);if(i!==Object.prototype.hasOwnProperty.call(t,r)||i&&!v(e[r],t[r],n))return!1}return!0}if(e instanceof Map||t instanceof Map)return!(e instanceof Map)||!(t instanceof Map)?!1:h(e,t,n);if(e instanceof Set||t instanceof Set)return!(e instanceof Set)||!(t instanceof Set)?!1:g(e,t,n);let i=Object.keys(e),a=Object.keys(t);return i.length===a.length?i.every(r=>Object.prototype.hasOwnProperty.call(t,r)&&v(e[r],t[r],n)):!1}function v(e,t,n){let r=l(e),i=l(t);return Object.is(r,i)?!0:r===null||i===null||typeof r!=`object`||typeof i!=`object`?!1:_(r,i,n)}function y(e,t){return v(e,t,{pairs:new WeakMap,additions:[]})}function b(e,t){let n=d(t);Object.keys(e).forEach(t=>{Object.prototype.hasOwnProperty.call(n,t)||delete e[t]}),Object.assign(e,n)}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return d}});
1
+ require(`./chunk.cjs`);let e=require(`vue`);const t=new Set([`__proto__`,`prototype`,`constructor`]);function n(e,t){return Reflect.has(e,t),Object.prototype.hasOwnProperty.call(e,t)}function r(e,t){return typeof e==`object`&&e&&n(e,t)?e[t]:void 0}function i(e){let n=e.replace(/\[([^\]]+)\]/g,`.$1`).split(`.`).map(e=>e.trim().replace(/^['"]|['"]$/g,``)).filter(Boolean);if(n.length===0)throw TypeError(`Data path cannot be empty`);if(n.some(e=>t.has(e)))throw TypeError(`Unsafe data path: ${e}`);return n}function a(e,t){if(n(e,t))return!0;let r=e;for(let e of i(t)){if(typeof r!=`object`||!r||!n(r,e))return!1;r=r[e]}return!0}function o(e,t){return n(e,t)?e[t]:i(t).reduce(r,e)}function s(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t)){e[t]=n;return}let a=i(t),o=e;a.forEach((e,t)=>{if(t===a.length-1){o[e]=n;return}let i=r(o,e);(typeof i!=`object`||!i)&&(o[e]=/^\d+$/.test(a[t+1])?[]:{}),o=o[e]})}function c(e,t){if(Object.prototype.hasOwnProperty.call(e,t)){delete e[t];return}let n=i(t),a=n.pop();if(!a)return;let o=n.reduce(r,e);o&&typeof o==`object`&&delete o[a]}function l(t){return(0,e.isProxy)(t)?(0,e.toRaw)(t):t}function u(e,t){let n=l(e);if(typeof n!=`object`||!n)return n;if(t.has(n))return t.get(n);if(n instanceof Date)return new Date(n.getTime());if(n instanceof RegExp)return new RegExp(n);if(n instanceof ArrayBuffer)return n.slice(0);if(Array.isArray(n)){let e=[];return e.length=n.length,t.set(n,e),n.forEach((n,r)=>{e[r]=u(n,t)}),e}if(n instanceof Map){let e=new Map;return t.set(n,e),n.forEach((n,r)=>{e.set(u(r,t),u(n,t))}),e}if(n instanceof Set){let e=new Set;return t.set(n,e),n.forEach(n=>e.add(u(n,t))),e}let r=Object.getPrototypeOf(n);if(r!==Object.prototype&&r!==null)return n;let i={};return t.set(n,i),Reflect.ownKeys(n).forEach(e=>{if(typeof e==`string`){let r=u(n[e],t);e===`__proto__`?Object.defineProperty(i,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):i[e]=r}}),i}function d(e){let t=l(e);if(typeof structuredClone==`function`)try{return structuredClone(t)}catch{}return u(t,new WeakMap)}const f=e=>typeof e==`object`&&!!e;function p(e,t){let n=e.additions.length;if(t())return!0;for(;e.additions.length>n;){let[t,n]=e.additions.pop();e.pairs.get(t)?.delete(n)}return!1}function m(e,t,n,r){return n.has(e)&&v(t,n.get(e),r)}function h(e,t,n){if(e.size!==t.size)return!1;let r=new Set,i;for(let[a,o]of e){if(!f(a)){if(!m(a,o,t,n))return!1;continue}if(!r.has(a)&&p(n,()=>m(a,o,t,n))){r.add(a);continue}i??=[...t].filter(e=>f(e[0]));let e=i.find(([e,t])=>e!==a&&!r.has(e)&&p(n,()=>v(a,e,n)&&v(o,t,n)));if(!e)return!1;r.add(e[0])}return!0}function g(e,t,n){if(e.size!==t.size)return!1;let r=new Set,i;for(let a of e){if(!f(a)){if(!t.has(a))return!1;continue}if(!r.has(a)&&t.has(a)){r.add(a);continue}i??=[...t].filter(f);let e=i.find(e=>!r.has(e)&&p(n,()=>v(a,e,n)));if(!e)return!1;r.add(e)}return!0}function _(e,t,n){let r=n.pairs.get(e);if(r?.has(t))return!0;if(r||(r=new WeakSet,n.pairs.set(e,r)),r.add(t),n.additions.push([e,t]),e instanceof Date||t instanceof Date)return e instanceof Date&&t instanceof Date&&e.getTime()===t.getTime();if(e instanceof RegExp||t instanceof RegExp)return e instanceof RegExp&&t instanceof RegExp&&e.source===t.source&&e.flags===t.flags;if(Array.isArray(e)||Array.isArray(t)){if(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!v(e[r],t[r],n))return!1;return!0}if(e instanceof Map||t instanceof Map)return!(e instanceof Map)||!(t instanceof Map)?!1:h(e,t,n);if(e instanceof Set||t instanceof Set)return!(e instanceof Set)||!(t instanceof Set)?!1:g(e,t,n);let i=Object.keys(e),a=Object.keys(t);return i.length===a.length?i.every(r=>Object.prototype.hasOwnProperty.call(t,r)&&v(e[r],t[r],n)):!1}function v(e,t,n){let r=l(e),i=l(t);return Object.is(r,i)?!0:r===null||i===null||typeof r!=`object`||typeof i!=`object`?!1:_(r,i,n)}function y(e,t){return v(e,t,{pairs:new WeakMap,additions:[]})}function b(e,t){let n=d(t);Object.keys(e).forEach(t=>{Object.prototype.hasOwnProperty.call(n,t)||delete e[t]}),Object.assign(e,n)}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return d}});