@robot-admin/naive-ui-components 0.11.8 → 0.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/README.md +145 -28
- package/README_EN.md +145 -28
- package/SECURITY.md +1 -0
- package/dist/C_ActionBar.cjs +1 -1
- package/dist/C_ActionBar.css +53 -53
- package/dist/C_ActionBar.d.cts +2 -2
- package/dist/C_ActionBar.d.ts +2 -2
- package/dist/C_ActionBar.js +1 -1
- package/dist/C_ActionBar2.cjs +1 -1
- package/dist/C_ActionBar2.js +1 -1
- package/dist/C_AntV.css +67 -67
- package/dist/C_AntV2.cjs +3 -3
- package/dist/C_AntV2.js +3 -3
- package/dist/C_AudioPlayer.d.cts +1 -1
- package/dist/C_AudioPlayer.d.ts +1 -1
- package/dist/C_AvatarGroup.d.cts +1 -1
- package/dist/C_AvatarGroup.d.ts +1 -1
- package/dist/C_Barcode.d.cts +1 -1
- package/dist/C_Barcode.d.ts +1 -1
- package/dist/C_Breadcrumb.d.cts +1 -1
- package/dist/C_Breadcrumb.d.ts +1 -1
- package/dist/C_Captcha.cjs +1 -1
- package/dist/C_Captcha.css +193 -51
- package/dist/C_Captcha.d.cts +2 -3
- package/dist/C_Captcha.d.ts +2 -3
- package/dist/C_Captcha.js +1 -1
- package/dist/C_Captcha2.cjs +1 -1
- package/dist/C_Captcha2.js +1 -1
- package/dist/C_Cascade.d.cts +1 -1
- package/dist/C_Cascade.d.ts +1 -1
- package/dist/C_Chat.d.cts +1 -1
- package/dist/C_Chat.d.ts +1 -1
- package/dist/C_City.d.cts +1 -1
- package/dist/C_City.d.ts +1 -1
- package/dist/C_Code.d.cts +1 -1
- package/dist/C_Code.d.ts +1 -1
- package/dist/C_ContextMenu.d.cts +1 -1
- package/dist/C_ContextMenu.d.ts +1 -1
- package/dist/C_Date.d.cts +1 -1
- package/dist/C_Date.d.ts +1 -1
- package/dist/C_Editor.d.cts +1 -1
- package/dist/C_Editor.d.ts +1 -1
- package/dist/C_FormModal.cjs +1 -0
- package/dist/C_FormModal.css +41 -0
- package/dist/C_FormModal.d.cts +2 -0
- package/dist/C_FormModal.d.ts +3 -0
- package/dist/C_FormModal.js +1 -0
- package/dist/C_FormModal2.cjs +1 -0
- package/dist/C_FormModal2.js +1 -0
- package/dist/C_Login.css +210 -127
- package/dist/C_Login2.cjs +1 -1
- package/dist/C_Login2.js +1 -1
- package/dist/C_Map.css +3 -3
- package/dist/C_Map2.cjs +1 -1
- package/dist/C_Map2.js +1 -1
- package/dist/C_Menu.d.cts +1 -1
- package/dist/C_Table.base.css +86 -86
- package/dist/C_Table.cjs +1 -1
- package/dist/C_Table.css +86 -86
- package/dist/C_Table.d.ts +4 -3
- package/dist/C_Table.js +1 -1
- package/dist/C_Tabs.cjs +1 -0
- package/dist/C_Tabs.css +1 -0
- package/dist/C_Tabs.d.cts +2 -0
- package/dist/C_Tabs.d.ts +2 -0
- package/dist/C_Tabs.js +1 -0
- package/dist/C_TagsView.css +38 -38
- package/dist/C_TagsView2.cjs +1 -1
- package/dist/C_TagsView2.js +1 -1
- package/dist/constants.d.cts +2 -2
- package/dist/constants.d.ts +2 -2
- package/dist/constants2.d.cts +3 -3
- package/dist/constants2.d.ts +3 -3
- package/dist/constants3.d.cts +2 -2
- package/dist/constants3.d.ts +2 -2
- package/dist/constants4.d.cts +2 -2
- package/dist/constants4.d.ts +2 -2
- package/dist/constants5.d.cts +2 -2
- package/dist/constants5.d.ts +2 -2
- package/dist/data.d.cts +108 -0
- package/dist/data.d.ts +108 -0
- package/dist/data2.cjs +1 -0
- package/dist/data2.js +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +49 -48
- package/dist/index.d.ts +51 -49
- package/dist/index.js +1 -1
- package/dist/index.vue.d.cts +72 -69
- package/dist/index.vue.d.ts +72 -69
- package/dist/index10.vue.d.cts +80 -39
- package/dist/index10.vue.d.ts +68 -77
- package/dist/index11.vue.d.cts +68 -77
- package/dist/index11.vue.d.ts +53 -68
- package/dist/index12.vue.d.cts +53 -68
- package/dist/index12.vue.d.ts +52 -58
- package/dist/index13.vue.d.cts +52 -58
- package/dist/index13.vue.d.ts +3 -3
- package/dist/index14.vue.d.cts +3 -3
- package/dist/index14.vue.d.ts +4 -4
- package/dist/index15.vue.d.cts +4 -4
- package/dist/index15.vue.d.ts +2 -2
- package/dist/index16.vue.d.cts +2 -2
- package/dist/index16.vue.d.ts +15 -12
- package/dist/index17.vue.d.cts +15 -12
- package/dist/index17.vue.d.ts +3 -3
- package/dist/index18.vue.d.cts +3 -3
- package/dist/index2.vue.d.cts +70 -65
- package/dist/index2.vue.d.ts +70 -65
- 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/index24.vue.d.cts +2 -2
- package/dist/index24.vue.d.ts +2 -2
- package/dist/index26.vue.d.cts +3 -3
- package/dist/index26.vue.d.ts +3 -3
- package/dist/index27.vue.d.cts +2 -2
- package/dist/index27.vue.d.ts +2 -2
- package/dist/index3.vue.d.cts +30 -80
- package/dist/index3.vue.d.ts +30 -80
- package/dist/index4.vue.d.cts +130 -30
- package/dist/index4.vue.d.ts +22 -30
- package/dist/index5.vue.d.cts +18 -126
- package/dist/index5.vue.d.ts +22 -19
- package/dist/index6.vue.d.cts +22 -19
- package/dist/index6.vue.d.ts +117 -22
- package/dist/index7.vue.d.cts +117 -22
- package/dist/index7.vue.d.ts +17 -110
- package/dist/index8.vue.d.cts +17 -110
- package/dist/index8.vue.d.ts +37 -24
- package/dist/index9.vue.d.cts +37 -24
- package/dist/index9.vue.d.ts +80 -39
- package/dist/mapUtils.d.cts +1 -1
- package/dist/mapUtils.d.ts +1 -1
- package/dist/presets.d.cts +96 -0
- package/dist/presets.d.ts +96 -0
- 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 +501 -374
- package/dist/useCalendarEvents.d.cts +2 -2
- package/dist/useCalendarEvents.d.ts +2 -2
- package/dist/useCollapsePanel.d.cts +3 -3
- package/dist/useCollapsePanel.d.ts +3 -3
- package/dist/useCropperCore.d.cts +7 -7
- package/dist/useCropperCore.d.ts +7 -7
- package/dist/useDraggableLayout.d.cts +3 -3
- package/dist/useDraggableLayout.d.ts +3 -3
- package/dist/useDynamicFormState.d.cts +2 -2
- package/dist/useDynamicFormState.d.ts +2 -2
- package/dist/useEdgeInteraction.d.cts +2 -1
- package/dist/useEdgeInteraction.d.ts +2 -1
- package/dist/useInfiniteScroll.d.cts +3 -3
- package/dist/useInfiniteScroll.d.ts +3 -3
- package/dist/useQRCode.d.cts +2 -2
- package/dist/useQRCode.d.ts +2 -2
- package/dist/useSearchState.d.cts +9 -9
- package/dist/useSearchState.d.ts +9 -9
- package/dist/useSplitResize.d.cts +7 -7
- package/dist/useSplitResize.d.ts +7 -7
- package/dist/useTableQuery.cjs +3 -3
- package/dist/useTableQuery.d.cts +11 -1
- package/dist/useTableQuery.d.ts +11 -1
- package/dist/useTableQuery.js +3 -3
- package/dist/useTimeSelection.d.cts +3 -3
- package/dist/useTimeSelection.d.ts +3 -3
- package/dist/useTreeOperations.d.cts +6 -6
- package/dist/useTreeOperations.d.ts +6 -6
- package/dist/useWorkflowValidation.d.cts +5 -5
- package/dist/useWorkflowValidation.d.ts +5 -5
- package/dist/verification.d.cts +69 -4
- package/dist/verification.d.ts +69 -4
- package/package.json +2 -1
- package/dist/types.d.ts +0 -58
- package/dist/types2.d.cts +0 -58
package/dist/C_TagsView.css
CHANGED
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
* 标签组件样式 - 精简版
|
|
62
62
|
* =========================================== */
|
|
63
63
|
/* --------- 标签视图容器 --------- */
|
|
64
|
-
.tags-view-container[data-v-
|
|
64
|
+
.tags-view-container[data-v-7078e2ed] {
|
|
65
65
|
border-bottom: 1px solid var(--color-border);
|
|
66
66
|
padding: 8px 16px 0;
|
|
67
67
|
position: relative;
|
|
@@ -69,14 +69,14 @@
|
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
/* --------- 滚动轨道容器 --------- */
|
|
72
|
-
.tags-track[data-v-
|
|
72
|
+
.tags-track[data-v-7078e2ed] {
|
|
73
73
|
width: 100%;
|
|
74
74
|
overflow: hidden;
|
|
75
75
|
position: relative;
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
/* --------- 滚动容器 --------- */
|
|
79
|
-
.tags-container[data-v-
|
|
79
|
+
.tags-container[data-v-7078e2ed] {
|
|
80
80
|
display: flex;
|
|
81
81
|
overflow-x: auto;
|
|
82
82
|
overflow-y: hidden;
|
|
@@ -86,12 +86,12 @@
|
|
|
86
86
|
align-items: center;
|
|
87
87
|
min-height: 40px;
|
|
88
88
|
}
|
|
89
|
-
.tags-container[data-v-
|
|
89
|
+
.tags-container[data-v-7078e2ed]::-webkit-scrollbar {
|
|
90
90
|
display: none;
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
/* --------- 现代化标签样式 --------- */
|
|
94
|
-
.n-tag[data-v-
|
|
94
|
+
.n-tag[data-v-7078e2ed] {
|
|
95
95
|
position: relative;
|
|
96
96
|
display: inline-flex;
|
|
97
97
|
align-items: center;
|
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
white-space: nowrap;
|
|
109
109
|
/* 内部高光效果 */
|
|
110
110
|
}
|
|
111
|
-
.n-tag[data-v-
|
|
111
|
+
.n-tag[data-v-7078e2ed]::before {
|
|
112
112
|
content: "";
|
|
113
113
|
position: absolute;
|
|
114
114
|
top: 1px;
|
|
@@ -120,67 +120,67 @@
|
|
|
120
120
|
opacity: 0.5;
|
|
121
121
|
transition: opacity 0.22s ease;
|
|
122
122
|
}
|
|
123
|
-
.n-tag[data-v-
|
|
123
|
+
.n-tag[data-v-7078e2ed] {
|
|
124
124
|
/* --------- 悬停效果 --------- */
|
|
125
125
|
}
|
|
126
|
-
.n-tag[data-v-
|
|
126
|
+
.n-tag[data-v-7078e2ed]:hover:not([type=primary]) {
|
|
127
127
|
color: var(--color-primary) !important;
|
|
128
128
|
border-color: var(--color-primary);
|
|
129
129
|
transform: scale(1.02);
|
|
130
130
|
}
|
|
131
|
-
.n-tag[data-v-
|
|
131
|
+
.n-tag[data-v-7078e2ed]:hover:not([type=primary])::before {
|
|
132
132
|
opacity: 0.8;
|
|
133
133
|
}
|
|
134
|
-
.n-tag[data-v-
|
|
135
|
-
.n-tag[data-v-
|
|
134
|
+
.n-tag[data-v-7078e2ed]:hover:not([type=primary]) .c-icon,
|
|
135
|
+
.n-tag[data-v-7078e2ed]:hover:not([type=primary]) [class*='c-icon'] {
|
|
136
136
|
color: var(--color-primary) !important;
|
|
137
137
|
}
|
|
138
|
-
.n-tag:hover:not([type=primary]) i[data-v-
|
|
139
|
-
.n-tag:hover:not([type=primary]) .icon[data-v-
|
|
138
|
+
.n-tag:hover:not([type=primary]) i[data-v-7078e2ed],
|
|
139
|
+
.n-tag:hover:not([type=primary]) .icon[data-v-7078e2ed] {
|
|
140
140
|
color: var(--color-primary) !important;
|
|
141
141
|
}
|
|
142
|
-
.n-tag[data-v-
|
|
142
|
+
.n-tag[data-v-7078e2ed]:hover:not([type=primary]) .n-tag__close {
|
|
143
143
|
color: var(--color-primary) !important;
|
|
144
144
|
opacity: 0.8;
|
|
145
145
|
transform: scale(1.05);
|
|
146
146
|
}
|
|
147
|
-
.n-tag[data-v-
|
|
147
|
+
.n-tag[data-v-7078e2ed] {
|
|
148
148
|
/* --------- 激活状态 --------- */
|
|
149
149
|
}
|
|
150
|
-
.n-tag[type=primary][data-v-
|
|
150
|
+
.n-tag[type=primary][data-v-7078e2ed] {
|
|
151
151
|
background: var(--tag-active-bg, rgba(32, 128, 240, 0.08)) !important;
|
|
152
152
|
color: var(--color-primary) !important;
|
|
153
153
|
border-color: var(--color-primary) !important;
|
|
154
154
|
font-weight: 600;
|
|
155
155
|
transform: scale(1.02);
|
|
156
156
|
}
|
|
157
|
-
.n-tag[type=primary][data-v-
|
|
157
|
+
.n-tag[type=primary][data-v-7078e2ed]::before {
|
|
158
158
|
opacity: 0.6;
|
|
159
159
|
}
|
|
160
|
-
.n-tag[type=primary][data-v-
|
|
161
|
-
.n-tag[type=primary][data-v-
|
|
160
|
+
.n-tag[type=primary][data-v-7078e2ed] .n-tag__content,
|
|
161
|
+
.n-tag[type=primary][data-v-7078e2ed] *:not(.n-tag__close) {
|
|
162
162
|
color: var(--color-primary) !important;
|
|
163
163
|
}
|
|
164
|
-
.n-tag[type=primary][data-v-
|
|
165
|
-
.n-tag[type=primary][data-v-
|
|
164
|
+
.n-tag[type=primary][data-v-7078e2ed] .c-icon,
|
|
165
|
+
.n-tag[type=primary][data-v-7078e2ed] [class*='c-icon'] {
|
|
166
166
|
color: var(--color-primary) !important;
|
|
167
167
|
}
|
|
168
|
-
.n-tag[type=primary] i[data-v-
|
|
169
|
-
.n-tag[type=primary] .icon[data-v-
|
|
168
|
+
.n-tag[type=primary] i[data-v-7078e2ed],
|
|
169
|
+
.n-tag[type=primary] .icon[data-v-7078e2ed] {
|
|
170
170
|
color: var(--color-primary) !important;
|
|
171
171
|
}
|
|
172
|
-
.n-tag[type=primary][data-v-
|
|
172
|
+
.n-tag[type=primary][data-v-7078e2ed]:hover {
|
|
173
173
|
background: var(--tag-active-hover-bg, rgba(32, 128, 240, 0.12)) !important;
|
|
174
174
|
transform: scale(1.03);
|
|
175
175
|
}
|
|
176
|
-
.n-tag[type=primary][data-v-
|
|
176
|
+
.n-tag[type=primary][data-v-7078e2ed] .n-tag__close {
|
|
177
177
|
color: var(--color-primary) !important;
|
|
178
178
|
opacity: 0.8;
|
|
179
179
|
}
|
|
180
|
-
.n-tag[data-v-
|
|
180
|
+
.n-tag[data-v-7078e2ed] {
|
|
181
181
|
/* --------- 关闭按钮 --------- */
|
|
182
182
|
}
|
|
183
|
-
.n-tag[data-v-
|
|
183
|
+
.n-tag[data-v-7078e2ed] .n-tag__close {
|
|
184
184
|
width: 16px !important;
|
|
185
185
|
height: 16px !important;
|
|
186
186
|
border-radius: 8px !important;
|
|
@@ -195,10 +195,10 @@
|
|
|
195
195
|
background: rgba(0, 0, 0, 0.02) !important;
|
|
196
196
|
border: 1px solid transparent;
|
|
197
197
|
}
|
|
198
|
-
.n-tag[data-v-
|
|
198
|
+
.n-tag[data-v-7078e2ed] .n-tag__close:not(:hover) {
|
|
199
199
|
transform: scale(0.9);
|
|
200
200
|
}
|
|
201
|
-
.n-tag[data-v-
|
|
201
|
+
.n-tag[data-v-7078e2ed] .n-tag__close:hover {
|
|
202
202
|
background: linear-gradient(135deg, rgba(248, 113, 113, 0.1), rgba(239, 68, 68, 0.08)) !important;
|
|
203
203
|
border-color: rgba(239, 68, 68, 0.15) !important;
|
|
204
204
|
color: #ef4444 !important;
|
|
@@ -206,13 +206,13 @@
|
|
|
206
206
|
transform: scale(0.6) !important;
|
|
207
207
|
box-shadow: 0 2px 6px rgba(239, 68, 68, 0.2) !important;
|
|
208
208
|
}
|
|
209
|
-
.n-tag[data-v-
|
|
209
|
+
.n-tag[data-v-7078e2ed] .n-tag__close:active {
|
|
210
210
|
transform: scale(0.95) !important;
|
|
211
211
|
transition-duration: 0.1s !important;
|
|
212
212
|
}
|
|
213
213
|
|
|
214
214
|
/* --------- C_Icon --------- */
|
|
215
|
-
[data-v-
|
|
215
|
+
[data-v-7078e2ed] .c-icon {
|
|
216
216
|
margin-right: 4px;
|
|
217
217
|
font-size: 12px;
|
|
218
218
|
transition: color 0.22s ease;
|
|
@@ -222,36 +222,36 @@
|
|
|
222
222
|
|
|
223
223
|
/* --------- 响应式 --------- */
|
|
224
224
|
@media (max-width: 768px) {
|
|
225
|
-
.tags-view-container[data-v-
|
|
225
|
+
.tags-view-container[data-v-7078e2ed] {
|
|
226
226
|
padding: 6px 12px 0;
|
|
227
227
|
}
|
|
228
|
-
.n-tag[data-v-
|
|
228
|
+
.n-tag[data-v-7078e2ed] {
|
|
229
229
|
height: 26px;
|
|
230
230
|
padding: 0 10px;
|
|
231
231
|
font-size: 11px;
|
|
232
232
|
margin-right: 3px;
|
|
233
233
|
border-radius: 13px;
|
|
234
234
|
}
|
|
235
|
-
.n-tag[data-v-
|
|
235
|
+
.n-tag[data-v-7078e2ed] .n-tag__close {
|
|
236
236
|
width: 14px;
|
|
237
237
|
height: 14px;
|
|
238
238
|
font-size: 11px;
|
|
239
239
|
margin-left: 4px;
|
|
240
240
|
}
|
|
241
|
-
.tags-container[data-v-
|
|
241
|
+
.tags-container[data-v-7078e2ed] {
|
|
242
242
|
padding: 0 12px;
|
|
243
243
|
min-height: 36px;
|
|
244
244
|
}
|
|
245
|
-
[data-v-
|
|
245
|
+
[data-v-7078e2ed] .c-icon {
|
|
246
246
|
font-size: 11px;
|
|
247
247
|
margin-right: 3px;
|
|
248
248
|
}
|
|
249
249
|
}
|
|
250
250
|
/* --------- 暗色主题 --------- */
|
|
251
|
-
[data-theme=dark] .n-tag[data-v-
|
|
251
|
+
[data-theme=dark] .n-tag[data-v-7078e2ed] .n-tag__close {
|
|
252
252
|
background: rgba(255, 255, 255, 0.03) !important;
|
|
253
253
|
}
|
|
254
|
-
[data-theme=dark] .n-tag[data-v-
|
|
254
|
+
[data-theme=dark] .n-tag[data-v-7078e2ed] .n-tag__close:hover {
|
|
255
255
|
background: linear-gradient(135deg, rgba(248, 113, 113, 0.12), rgba(239, 68, 68, 0.1)) !important;
|
|
256
256
|
box-shadow: 0 2px 6px rgba(239, 68, 68, 0.25) !important;
|
|
257
257
|
}
|
package/dist/C_TagsView2.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`./chunk.cjs`);const e=require(`./C_Icon2.cjs`),t=require(`./export-helper.cjs`);let n=require(`vue`),r=require(`naive-ui`),i=require(`vue-router`);function a(e={}){let{persistKey:t=`__tags_view_list__`,homePath:r=`/home`}=e,i=()=>{if(!t)return[];try{let e=localStorage.getItem(t);return e?JSON.parse(e):[]}catch{return[]}},a=e=>{if(t)try{localStorage.setItem(t,JSON.stringify(e))}catch{}},o=(0,n.ref)(i()),s=(0,n.ref)(``),c=()=>a(o.value),l=e=>{e?o.value=e:o.value=[...new Map(o.value.map(e=>[e.path,e])).values()],c()},u=e=>{s.value=e};return{tagsViewList:o,activeTag:s,homePath:r,initTags:l,setActiveTag:u,addTag:e=>{let t=o.value.findIndex(t=>t.path===e.path);if(t===-1)o.value.push(e);else{let n=o.value[t];(n.title!==e.title||!n.originalTitle)&&(n.title=e.title,n.originalTitle=e.originalTitle||n.originalTitle)}u(e.path),c()},removeTag:e=>{if(e>=0&&e<o.value.length){let t=o.value.splice(e,1)[0]?.path??null;return c(),t}return null},removeOtherTags:e=>{e===0?o.value=[o.value[0]].filter(Boolean):o.value=[o.value[0],o.value[e]].filter(Boolean),c()},removeLeftTags:e=>{o.value=[o.value[0],...o.value.slice(e)],c()},removeRightTags:e=>{o.value=o.value.slice(0,e+1),c()},removeAllTags:()=>{o.value=o.value.filter(e=>e.meta?.affix),c()}}}const o={class:`tags-view-container`},s=(0,n.defineComponent)({name:`C_TagsView`,__name:`index`,props:{labelFormatter:{},homePath:{default:`/home`},homeTitle:{default:`首页`},homeIcon:{default:`mdi:home`},persistKey:{default:`__tags_view_list__`},contextMenuLabels:{default:()=>({close:`关闭`,closeOthers:`关闭其他`,closeLeft:`关闭左侧`,closeRight:`关闭右侧`,closeAll:`关闭所有`})},tagsViewOptions:{}},emits:[`close`,`closeAll`],setup(t,{expose:s,emit:c}){let l=t,u=c,d=(0,i.useRoute)(),f=(0,i.useRouter)(),p=a(l.tagsViewOptions??{persistKey:l.persistKey,homePath:l.homePath});if(p.tagsViewList.value.length>0&&l.labelFormatter){let e=f.getRoutes(),t=p.tagsViewList.value.map(t=>{let n=e.find(e=>e.path===t.path),r=t.originalTitle||n?.meta?.title||t.title;return{...t,originalTitle:r,title:l.labelFormatter(r)}});p.initTags(t)}let m=e=>l.labelFormatter?l.labelFormatter(e):e,h=(0,n.ref)(!1),g=(0,n.ref)(0),_=(0,n.ref)(0),v=(0,n.ref)(null),y=(0,n.ref)(-1),b=(0,n.ref)(),x=(0,n.ref)(),S=e=>e.path===d.path,C=e=>e.meta?.affix,w=e=>{let t=x.value;t&&(e.preventDefault(),t.scrollTo({left:t.scrollLeft+e.deltaY,behavior:`smooth`}))},T=e=>{(0,n.nextTick)(()=>{let t=x.value?.querySelector(`[data-path="${e}"]`);t&&t.scrollIntoView({behavior:`smooth`,block:`nearest`,inline:`center`})})},E=e=>{e.path!==d.path&&f.push(e.path),T(e.path)},D=(e,t)=>{if(C(e))return;let n=S(e),r=p.tagsViewList.value.length;if(p.removeTag(t),n){let e=p.tagsViewList.value,n=t===r-1,i;i=n?e[t-1]?.path||l.homePath:e[e.length-1]?.path||l.homePath,f.push(i),u(`close`,i)}},O=(e,t,n)=>{e.preventDefault(),v.value=t,y.value=n,h.value=!0,g.value=e.clientX,_.value=e.clientY},k=()=>h.value=!1,A=(0,n.computed)(()=>{let e=l.contextMenuLabels;return[{type:`option`,label:e.close??`关闭`,key:`close`,disabled:C(v.value),icon:()=>(0,n.h)(`span`,{class:`i-mdi:close`})},{type:`option`,label:e.closeOthers??`关闭其他`,key:`closeOthers`,icon:()=>(0,n.h)(`span`,{class:`i-mdi:arrow-left-right-bold`})},{type:`option`,label:e.closeLeft??`关闭左侧`,key:`closeLeft`,icon:()=>(0,n.h)(`span`,{class:`i-mdi:align-horizontal-left`})},{type:`option`,label:e.closeRight??`关闭右侧`,key:`closeRight`,icon:()=>(0,n.h)(`span`,{class:`i-mdi:align-horizontal-right`})},{type:`option`,label:e.closeAll??`关闭所有`,key:`closeAll`,icon:()=>(0,n.h)(`span`,{class:`i-mdi:tally-mark-5`})}]}),j=e=>{if(!(!v.value||y.value===-1)){switch(e){case`close`:D(v.value,y.value);break;case`closeOthers`:p.removeOtherTags(y.value);break;case`closeLeft`:p.removeLeftTags(y.value);break;case`closeRight`:p.removeRightTags(y.value);break;case`closeAll`:p.removeAllTags(),f.push(l.homePath),u(`closeAll`);break}k()}};return(0,n.watch)(()=>d.path,e=>{let t=e===l.homePath?l.homeTitle:d.meta.title||`Unnamed Page`;p.addTag({path:e,originalTitle:t,title:m(t),icon:e===l.homePath?l.homeIcon:d.meta.icon,meta:{affix:d.meta.affix}}),p.setActiveTag(e),T(e)},{immediate:!0}),s({tags:p,scrollToTag:T}),(t,i)=>{let a=r.NTag,s=r.NDropdown;return(0,n.openBlock)(),(0,n.createElementBlock)(`div`,o,[(0,n.createElementVNode)(`div`,{class:`tags-track`,ref_key:`tagsTrack`,ref:b,onWheel:w},[(0,n.createElementVNode)(`div`,{class:`tags-container`,ref_key:`tagsContainer`,ref:x},[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)((0,n.unref)(p).tagsViewList.value,(t,r)=>((0,n.openBlock)(),(0,n.createBlock)(a,{key:t.path,type:S(t)?`primary`:`default`,closable:!C(t),"data-path":t.path,onClose:(0,n.withModifiers)(e=>D(t,r),[`stop`]),onClick:e=>E(t),onContextmenu:(0,n.withModifiers)(e=>O(e,t,r),[`prevent`])},{icon:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(e.t),{name:t.icon,size:12},null,8,[`name`])]),default:(0,n.withCtx)(()=>[(0,n.createTextVNode)(` `+(0,n.toDisplayString)(t.title),1)]),_:2},1032,[`type`,`closable`,`data-path`,`onClose`,`onClick`,`onContextmenu`]))),128))],512)],544),h.value?((0,n.openBlock)(),(0,n.createBlock)(s,{key:0,show:h.value,options:A.value,x:g.value,y:_.value,onClickoutside:k,onSelect:j},null,8,[`show`,`options`,`x`,`y`])):(0,n.createCommentVNode)(`v-if`,!0)])}}});var c=t.t(s,[[`__scopeId`,`data-v-
|
|
1
|
+
require(`./chunk.cjs`);const e=require(`./C_Icon2.cjs`),t=require(`./export-helper.cjs`);let n=require(`vue`),r=require(`naive-ui`),i=require(`vue-router`);function a(e={}){let{persistKey:t=`__tags_view_list__`,homePath:r=`/home`}=e,i=()=>{if(!t)return[];try{let e=localStorage.getItem(t);return e?JSON.parse(e):[]}catch{return[]}},a=e=>{if(t)try{localStorage.setItem(t,JSON.stringify(e))}catch{}},o=(0,n.ref)(i()),s=(0,n.ref)(``),c=()=>a(o.value),l=e=>{e?o.value=e:o.value=[...new Map(o.value.map(e=>[e.path,e])).values()],c()},u=e=>{s.value=e};return{tagsViewList:o,activeTag:s,homePath:r,initTags:l,setActiveTag:u,addTag:e=>{let t=o.value.findIndex(t=>t.path===e.path);if(t===-1)o.value.push(e);else{let n=o.value[t];(n.title!==e.title||!n.originalTitle)&&(n.title=e.title,n.originalTitle=e.originalTitle||n.originalTitle)}u(e.path),c()},removeTag:e=>{if(e>=0&&e<o.value.length){let t=o.value.splice(e,1)[0]?.path??null;return c(),t}return null},removeOtherTags:e=>{e===0?o.value=[o.value[0]].filter(Boolean):o.value=[o.value[0],o.value[e]].filter(Boolean),c()},removeLeftTags:e=>{o.value=[o.value[0],...o.value.slice(e)],c()},removeRightTags:e=>{o.value=o.value.slice(0,e+1),c()},removeAllTags:()=>{o.value=o.value.filter(e=>e.meta?.affix),c()}}}const o={class:`tags-view-container`},s=(0,n.defineComponent)({name:`C_TagsView`,__name:`index`,props:{labelFormatter:{},homePath:{default:`/home`},homeTitle:{default:`首页`},homeIcon:{default:`mdi:home`},persistKey:{default:`__tags_view_list__`},contextMenuLabels:{default:()=>({close:`关闭`,closeOthers:`关闭其他`,closeLeft:`关闭左侧`,closeRight:`关闭右侧`,closeAll:`关闭所有`})},tagsViewOptions:{}},emits:[`close`,`closeAll`],setup(t,{expose:s,emit:c}){let l=t,u=c,d=(0,i.useRoute)(),f=(0,i.useRouter)(),p=a(l.tagsViewOptions??{persistKey:l.persistKey,homePath:l.homePath});if(p.tagsViewList.value.length>0&&l.labelFormatter){let e=f.getRoutes(),t=p.tagsViewList.value.map(t=>{let n=e.find(e=>e.path===t.path),r=t.originalTitle||n?.meta?.title||t.title;return{...t,originalTitle:r,title:l.labelFormatter(r)}});p.initTags(t)}let m=e=>l.labelFormatter?l.labelFormatter(e):e,h=(0,n.ref)(!1),g=(0,n.ref)(0),_=(0,n.ref)(0),v=(0,n.ref)(null),y=(0,n.ref)(-1),b=(0,n.ref)(),x=(0,n.ref)(),S=e=>e.path===d.path,C=e=>e.meta?.affix,w=e=>{let t=x.value;t&&(e.preventDefault(),t.scrollTo({left:t.scrollLeft+e.deltaY,behavior:`smooth`}))},T=e=>{(0,n.nextTick)(()=>{let t=x.value?.querySelector(`[data-path="${e}"]`);t&&t.scrollIntoView({behavior:`smooth`,block:`nearest`,inline:`center`})})},E=e=>{e.path!==d.path&&f.push(e.path).catch(()=>void 0),T(e.path)},D=(e,t)=>{if(C(e))return;let n=S(e),r=p.tagsViewList.value.length;if(p.removeTag(t),n){let e=p.tagsViewList.value,n=t===r-1,i;i=n?e[t-1]?.path||l.homePath:e[e.length-1]?.path||l.homePath,f.push(i).catch(()=>void 0),u(`close`,i)}},O=(e,t,n)=>{e.preventDefault(),v.value=t,y.value=n,h.value=!0,g.value=e.clientX,_.value=e.clientY},k=()=>h.value=!1,A=(0,n.computed)(()=>{let e=l.contextMenuLabels;return[{type:`option`,label:e.close??`关闭`,key:`close`,disabled:C(v.value),icon:()=>(0,n.h)(`span`,{class:`i-mdi:close`})},{type:`option`,label:e.closeOthers??`关闭其他`,key:`closeOthers`,icon:()=>(0,n.h)(`span`,{class:`i-mdi:arrow-left-right-bold`})},{type:`option`,label:e.closeLeft??`关闭左侧`,key:`closeLeft`,icon:()=>(0,n.h)(`span`,{class:`i-mdi:align-horizontal-left`})},{type:`option`,label:e.closeRight??`关闭右侧`,key:`closeRight`,icon:()=>(0,n.h)(`span`,{class:`i-mdi:align-horizontal-right`})},{type:`option`,label:e.closeAll??`关闭所有`,key:`closeAll`,icon:()=>(0,n.h)(`span`,{class:`i-mdi:tally-mark-5`})}]}),j=e=>{if(!(!v.value||y.value===-1)){switch(e){case`close`:D(v.value,y.value);break;case`closeOthers`:p.removeOtherTags(y.value);break;case`closeLeft`:p.removeLeftTags(y.value);break;case`closeRight`:p.removeRightTags(y.value);break;case`closeAll`:p.removeAllTags(),f.push(l.homePath).catch(()=>void 0),u(`closeAll`);break}k()}};return(0,n.watch)(()=>d.path,e=>{let t=e===l.homePath?l.homeTitle:d.meta.title||`Unnamed Page`;p.addTag({path:e,originalTitle:t,title:m(t),icon:e===l.homePath?l.homeIcon:d.meta.icon,meta:{affix:d.meta.affix}}),p.setActiveTag(e),T(e)},{immediate:!0}),s({tags:p,scrollToTag:T}),(t,i)=>{let a=r.NTag,s=r.NDropdown;return(0,n.openBlock)(),(0,n.createElementBlock)(`div`,o,[(0,n.createElementVNode)(`div`,{class:`tags-track`,ref_key:`tagsTrack`,ref:b,onWheel:w},[(0,n.createElementVNode)(`div`,{class:`tags-container`,ref_key:`tagsContainer`,ref:x},[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)((0,n.unref)(p).tagsViewList.value,(t,r)=>((0,n.openBlock)(),(0,n.createBlock)(a,{key:t.path,type:S(t)?`primary`:`default`,closable:!C(t),"data-path":t.path,onClose:(0,n.withModifiers)(e=>D(t,r),[`stop`]),onClick:e=>E(t),onContextmenu:(0,n.withModifiers)(e=>O(e,t,r),[`prevent`])},{icon:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(e.t),{name:t.icon,size:12},null,8,[`name`])]),default:(0,n.withCtx)(()=>[(0,n.createTextVNode)(` `+(0,n.toDisplayString)(t.title),1)]),_:2},1032,[`type`,`closable`,`data-path`,`onClose`,`onClick`,`onContextmenu`]))),128))],512)],544),h.value?((0,n.openBlock)(),(0,n.createBlock)(s,{key:0,show:h.value,options:A.value,x:g.value,y:_.value,onClickoutside:k,onSelect:j},null,8,[`show`,`options`,`x`,`y`])):(0,n.createCommentVNode)(`v-if`,!0)])}}});var c=t.t(s,[[`__scopeId`,`data-v-7078e2ed`]]);Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return c}});
|
package/dist/C_TagsView2.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./C_Icon2.js";import{t}from"./export-helper.js";import{Fragment as n,computed as r,createBlock as i,createCommentVNode as a,createElementBlock as o,createElementVNode as s,createTextVNode as c,createVNode as l,defineComponent as u,h as d,nextTick as f,openBlock as p,ref as m,renderList as h,resolveComponent as g,toDisplayString as _,unref as v,watch as y,withCtx as b,withModifiers as x}from"vue";import{NDropdown as S,NTag as C}from"naive-ui";import{useRoute as w,useRouter as T}from"vue-router";function E(e={}){let{persistKey:t=`__tags_view_list__`,homePath:n=`/home`}=e,r=()=>{if(!t)return[];try{let e=localStorage.getItem(t);return e?JSON.parse(e):[]}catch{return[]}},i=e=>{if(t)try{localStorage.setItem(t,JSON.stringify(e))}catch{}},a=m(r()),o=m(``),s=()=>i(a.value),c=e=>{e?a.value=e:a.value=[...new Map(a.value.map(e=>[e.path,e])).values()],s()},l=e=>{o.value=e};return{tagsViewList:a,activeTag:o,homePath:n,initTags:c,setActiveTag:l,addTag:e=>{let t=a.value.findIndex(t=>t.path===e.path);if(t===-1)a.value.push(e);else{let n=a.value[t];(n.title!==e.title||!n.originalTitle)&&(n.title=e.title,n.originalTitle=e.originalTitle||n.originalTitle)}l(e.path),s()},removeTag:e=>{if(e>=0&&e<a.value.length){let t=a.value.splice(e,1)[0]?.path??null;return s(),t}return null},removeOtherTags:e=>{e===0?a.value=[a.value[0]].filter(Boolean):a.value=[a.value[0],a.value[e]].filter(Boolean),s()},removeLeftTags:e=>{a.value=[a.value[0],...a.value.slice(e)],s()},removeRightTags:e=>{a.value=a.value.slice(0,e+1),s()},removeAllTags:()=>{a.value=a.value.filter(e=>e.meta?.affix),s()}}}const D={class:`tags-view-container`};var O=t(u({name:`C_TagsView`,__name:`index`,props:{labelFormatter:{},homePath:{default:`/home`},homeTitle:{default:`首页`},homeIcon:{default:`mdi:home`},persistKey:{default:`__tags_view_list__`},contextMenuLabels:{default:()=>({close:`关闭`,closeOthers:`关闭其他`,closeLeft:`关闭左侧`,closeRight:`关闭右侧`,closeAll:`关闭所有`})},tagsViewOptions:{}},emits:[`close`,`closeAll`],setup(t,{expose:u,emit:g}){let O=t,k=g,A=w(),j=T(),M=E(O.tagsViewOptions??{persistKey:O.persistKey,homePath:O.homePath});if(M.tagsViewList.value.length>0&&O.labelFormatter){let e=j.getRoutes(),t=M.tagsViewList.value.map(t=>{let n=e.find(e=>e.path===t.path),r=t.originalTitle||n?.meta?.title||t.title;return{...t,originalTitle:r,title:O.labelFormatter(r)}});M.initTags(t)}let N=e=>O.labelFormatter?O.labelFormatter(e):e,P=m(!1),F=m(0),I=m(0),L=m(null),R=m(-1),z=m(),B=m(),V=e=>e.path===A.path,H=e=>e.meta?.affix,U=e=>{let t=B.value;t&&(e.preventDefault(),t.scrollTo({left:t.scrollLeft+e.deltaY,behavior:`smooth`}))},W=e=>{f(()=>{let t=B.value?.querySelector(`[data-path="${e}"]`);t&&t.scrollIntoView({behavior:`smooth`,block:`nearest`,inline:`center`})})},G=e=>{e.path!==A.path&&j.push(e.path),W(e.path)},K=(e,t)=>{if(H(e))return;let n=V(e),r=M.tagsViewList.value.length;if(M.removeTag(t),n){let e=M.tagsViewList.value,n=t===r-1,i;i=n?e[t-1]?.path||O.homePath:e[e.length-1]?.path||O.homePath,j.push(i),k(`close`,i)}},q=(e,t,n)=>{e.preventDefault(),L.value=t,R.value=n,P.value=!0,F.value=e.clientX,I.value=e.clientY},J=()=>P.value=!1,Y=r(()=>{let e=O.contextMenuLabels;return[{type:`option`,label:e.close??`关闭`,key:`close`,disabled:H(L.value),icon:()=>d(`span`,{class:`i-mdi:close`})},{type:`option`,label:e.closeOthers??`关闭其他`,key:`closeOthers`,icon:()=>d(`span`,{class:`i-mdi:arrow-left-right-bold`})},{type:`option`,label:e.closeLeft??`关闭左侧`,key:`closeLeft`,icon:()=>d(`span`,{class:`i-mdi:align-horizontal-left`})},{type:`option`,label:e.closeRight??`关闭右侧`,key:`closeRight`,icon:()=>d(`span`,{class:`i-mdi:align-horizontal-right`})},{type:`option`,label:e.closeAll??`关闭所有`,key:`closeAll`,icon:()=>d(`span`,{class:`i-mdi:tally-mark-5`})}]}),X=e=>{if(!(!L.value||R.value===-1)){switch(e){case`close`:K(L.value,R.value);break;case`closeOthers`:M.removeOtherTags(R.value);break;case`closeLeft`:M.removeLeftTags(R.value);break;case`closeRight`:M.removeRightTags(R.value);break;case`closeAll`:M.removeAllTags(),j.push(O.homePath),k(`closeAll`);break}J()}};return y(()=>A.path,e=>{let t=e===O.homePath?O.homeTitle:A.meta.title||`Unnamed Page`;M.addTag({path:e,originalTitle:t,title:N(t),icon:e===O.homePath?O.homeIcon:A.meta.icon,meta:{affix:A.meta.affix}}),M.setActiveTag(e),W(e)},{immediate:!0}),u({tags:M,scrollToTag:W}),(t,r)=>{let u=C,d=S;return p(),o(`div`,D,[s(`div`,{class:`tags-track`,ref_key:`tagsTrack`,ref:z,onWheel:U},[s(`div`,{class:`tags-container`,ref_key:`tagsContainer`,ref:B},[(p(!0),o(n,null,h(v(M).tagsViewList.value,(t,n)=>(p(),i(u,{key:t.path,type:V(t)?`primary`:`default`,closable:!H(t),"data-path":t.path,onClose:x(e=>K(t,n),[`stop`]),onClick:e=>G(t),onContextmenu:x(e=>q(e,t,n),[`prevent`])},{icon:b(()=>[l(v(e),{name:t.icon,size:12},null,8,[`name`])]),default:b(()=>[c(` `+_(t.title),1)]),_:2},1032,[`type`,`closable`,`data-path`,`onClose`,`onClick`,`onContextmenu`]))),128))],512)],544),P.value?(p(),i(d,{key:0,show:P.value,options:Y.value,x:F.value,y:I.value,onClickoutside:J,onSelect:X},null,8,[`show`,`options`,`x`,`y`])):a(`v-if`,!0)])}}}),[[`__scopeId`,`data-v-
|
|
1
|
+
import{t as e}from"./C_Icon2.js";import{t}from"./export-helper.js";import{Fragment as n,computed as r,createBlock as i,createCommentVNode as a,createElementBlock as o,createElementVNode as s,createTextVNode as c,createVNode as l,defineComponent as u,h as d,nextTick as f,openBlock as p,ref as m,renderList as h,resolveComponent as g,toDisplayString as _,unref as v,watch as y,withCtx as b,withModifiers as x}from"vue";import{NDropdown as S,NTag as C}from"naive-ui";import{useRoute as w,useRouter as T}from"vue-router";function E(e={}){let{persistKey:t=`__tags_view_list__`,homePath:n=`/home`}=e,r=()=>{if(!t)return[];try{let e=localStorage.getItem(t);return e?JSON.parse(e):[]}catch{return[]}},i=e=>{if(t)try{localStorage.setItem(t,JSON.stringify(e))}catch{}},a=m(r()),o=m(``),s=()=>i(a.value),c=e=>{e?a.value=e:a.value=[...new Map(a.value.map(e=>[e.path,e])).values()],s()},l=e=>{o.value=e};return{tagsViewList:a,activeTag:o,homePath:n,initTags:c,setActiveTag:l,addTag:e=>{let t=a.value.findIndex(t=>t.path===e.path);if(t===-1)a.value.push(e);else{let n=a.value[t];(n.title!==e.title||!n.originalTitle)&&(n.title=e.title,n.originalTitle=e.originalTitle||n.originalTitle)}l(e.path),s()},removeTag:e=>{if(e>=0&&e<a.value.length){let t=a.value.splice(e,1)[0]?.path??null;return s(),t}return null},removeOtherTags:e=>{e===0?a.value=[a.value[0]].filter(Boolean):a.value=[a.value[0],a.value[e]].filter(Boolean),s()},removeLeftTags:e=>{a.value=[a.value[0],...a.value.slice(e)],s()},removeRightTags:e=>{a.value=a.value.slice(0,e+1),s()},removeAllTags:()=>{a.value=a.value.filter(e=>e.meta?.affix),s()}}}const D={class:`tags-view-container`};var O=t(u({name:`C_TagsView`,__name:`index`,props:{labelFormatter:{},homePath:{default:`/home`},homeTitle:{default:`首页`},homeIcon:{default:`mdi:home`},persistKey:{default:`__tags_view_list__`},contextMenuLabels:{default:()=>({close:`关闭`,closeOthers:`关闭其他`,closeLeft:`关闭左侧`,closeRight:`关闭右侧`,closeAll:`关闭所有`})},tagsViewOptions:{}},emits:[`close`,`closeAll`],setup(t,{expose:u,emit:g}){let O=t,k=g,A=w(),j=T(),M=E(O.tagsViewOptions??{persistKey:O.persistKey,homePath:O.homePath});if(M.tagsViewList.value.length>0&&O.labelFormatter){let e=j.getRoutes(),t=M.tagsViewList.value.map(t=>{let n=e.find(e=>e.path===t.path),r=t.originalTitle||n?.meta?.title||t.title;return{...t,originalTitle:r,title:O.labelFormatter(r)}});M.initTags(t)}let N=e=>O.labelFormatter?O.labelFormatter(e):e,P=m(!1),F=m(0),I=m(0),L=m(null),R=m(-1),z=m(),B=m(),V=e=>e.path===A.path,H=e=>e.meta?.affix,U=e=>{let t=B.value;t&&(e.preventDefault(),t.scrollTo({left:t.scrollLeft+e.deltaY,behavior:`smooth`}))},W=e=>{f(()=>{let t=B.value?.querySelector(`[data-path="${e}"]`);t&&t.scrollIntoView({behavior:`smooth`,block:`nearest`,inline:`center`})})},G=e=>{e.path!==A.path&&j.push(e.path).catch(()=>void 0),W(e.path)},K=(e,t)=>{if(H(e))return;let n=V(e),r=M.tagsViewList.value.length;if(M.removeTag(t),n){let e=M.tagsViewList.value,n=t===r-1,i;i=n?e[t-1]?.path||O.homePath:e[e.length-1]?.path||O.homePath,j.push(i).catch(()=>void 0),k(`close`,i)}},q=(e,t,n)=>{e.preventDefault(),L.value=t,R.value=n,P.value=!0,F.value=e.clientX,I.value=e.clientY},J=()=>P.value=!1,Y=r(()=>{let e=O.contextMenuLabels;return[{type:`option`,label:e.close??`关闭`,key:`close`,disabled:H(L.value),icon:()=>d(`span`,{class:`i-mdi:close`})},{type:`option`,label:e.closeOthers??`关闭其他`,key:`closeOthers`,icon:()=>d(`span`,{class:`i-mdi:arrow-left-right-bold`})},{type:`option`,label:e.closeLeft??`关闭左侧`,key:`closeLeft`,icon:()=>d(`span`,{class:`i-mdi:align-horizontal-left`})},{type:`option`,label:e.closeRight??`关闭右侧`,key:`closeRight`,icon:()=>d(`span`,{class:`i-mdi:align-horizontal-right`})},{type:`option`,label:e.closeAll??`关闭所有`,key:`closeAll`,icon:()=>d(`span`,{class:`i-mdi:tally-mark-5`})}]}),X=e=>{if(!(!L.value||R.value===-1)){switch(e){case`close`:K(L.value,R.value);break;case`closeOthers`:M.removeOtherTags(R.value);break;case`closeLeft`:M.removeLeftTags(R.value);break;case`closeRight`:M.removeRightTags(R.value);break;case`closeAll`:M.removeAllTags(),j.push(O.homePath).catch(()=>void 0),k(`closeAll`);break}J()}};return y(()=>A.path,e=>{let t=e===O.homePath?O.homeTitle:A.meta.title||`Unnamed Page`;M.addTag({path:e,originalTitle:t,title:N(t),icon:e===O.homePath?O.homeIcon:A.meta.icon,meta:{affix:A.meta.affix}}),M.setActiveTag(e),W(e)},{immediate:!0}),u({tags:M,scrollToTag:W}),(t,r)=>{let u=C,d=S;return p(),o(`div`,D,[s(`div`,{class:`tags-track`,ref_key:`tagsTrack`,ref:z,onWheel:U},[s(`div`,{class:`tags-container`,ref_key:`tagsContainer`,ref:B},[(p(!0),o(n,null,h(v(M).tagsViewList.value,(t,n)=>(p(),i(u,{key:t.path,type:V(t)?`primary`:`default`,closable:!H(t),"data-path":t.path,onClose:x(e=>K(t,n),[`stop`]),onClick:e=>G(t),onContextmenu:x(e=>q(e,t,n),[`prevent`])},{icon:b(()=>[l(v(e),{name:t.icon,size:12},null,8,[`name`])]),default:b(()=>[c(` `+_(t.title),1)]),_:2},1032,[`type`,`closable`,`data-path`,`onClose`,`onClick`,`onContextmenu`]))),128))],512)],544),P.value?(p(),i(d,{key:0,show:P.value,options:Y.value,x:F.value,y:I.value,onClickoutside:J,onSelect:X},null,8,[`show`,`options`,`x`,`y`])):a(`v-if`,!0)])}}}),[[`__scopeId`,`data-v-7078e2ed`]]);export{E as n,O as t};
|
package/dist/constants.d.cts
CHANGED
|
@@ -110,12 +110,12 @@ declare const __VLS_export: vue.DefineComponent<CronProps, {
|
|
|
110
110
|
reset: typeof handleReset;
|
|
111
111
|
validate: () => CronValidation;
|
|
112
112
|
}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
113
|
-
"update:modelValue": (value: string) => any;
|
|
114
113
|
change: (value: string) => any;
|
|
114
|
+
"update:modelValue": (value: string) => any;
|
|
115
115
|
"validation-change": (result: CronValidation) => any;
|
|
116
116
|
}, string, vue.PublicProps, Readonly<CronProps> & Readonly<{
|
|
117
|
-
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
118
117
|
onChange?: ((value: string) => any) | undefined;
|
|
118
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
119
119
|
"onValidation-change"?: ((result: CronValidation) => any) | undefined;
|
|
120
120
|
}>, {
|
|
121
121
|
height: string | number;
|
package/dist/constants.d.ts
CHANGED
|
@@ -110,12 +110,12 @@ declare const __VLS_export: vue.DefineComponent<CronProps, {
|
|
|
110
110
|
reset: typeof handleReset;
|
|
111
111
|
validate: () => CronValidation;
|
|
112
112
|
}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
113
|
-
"update:modelValue": (value: string) => any;
|
|
114
113
|
change: (value: string) => any;
|
|
114
|
+
"update:modelValue": (value: string) => any;
|
|
115
115
|
"validation-change": (result: CronValidation) => any;
|
|
116
116
|
}, string, vue.PublicProps, Readonly<CronProps> & Readonly<{
|
|
117
|
-
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
118
117
|
onChange?: ((value: string) => any) | undefined;
|
|
118
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
119
119
|
"onValidation-change"?: ((result: CronValidation) => any) | undefined;
|
|
120
120
|
}>, {
|
|
121
121
|
height: string | number;
|
package/dist/constants2.d.cts
CHANGED
|
@@ -112,22 +112,22 @@ interface FormulaEditorExpose {
|
|
|
112
112
|
//#endregion
|
|
113
113
|
//#region src/components/C_FormulaEditor/index.vue.d.ts
|
|
114
114
|
declare const __VLS_export: vue.DefineComponent<FormulaEditorProps, FormulaEditorExpose, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
115
|
-
"update:modelValue": (value: string) => any;
|
|
116
115
|
change: (value: string) => any;
|
|
116
|
+
"update:modelValue": (value: string) => any;
|
|
117
117
|
"validation-change": (result: FormulaValidation) => any;
|
|
118
118
|
}, string, vue.PublicProps, Readonly<FormulaEditorProps> & Readonly<{
|
|
119
|
-
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
120
119
|
onChange?: ((value: string) => any) | undefined;
|
|
120
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
121
121
|
"onValidation-change"?: ((result: FormulaValidation) => any) | undefined;
|
|
122
122
|
}>, {
|
|
123
123
|
height: string | number;
|
|
124
124
|
modelValue: string;
|
|
125
125
|
placeholder: string;
|
|
126
126
|
disabled: boolean;
|
|
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
|
@@ -112,22 +112,22 @@ interface FormulaEditorExpose {
|
|
|
112
112
|
//#endregion
|
|
113
113
|
//#region src/components/C_FormulaEditor/index.vue.d.ts
|
|
114
114
|
declare const __VLS_export: vue.DefineComponent<FormulaEditorProps, FormulaEditorExpose, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
115
|
-
"update:modelValue": (value: string) => any;
|
|
116
115
|
change: (value: string) => any;
|
|
116
|
+
"update:modelValue": (value: string) => any;
|
|
117
117
|
"validation-change": (result: FormulaValidation) => any;
|
|
118
118
|
}, string, vue.PublicProps, Readonly<FormulaEditorProps> & Readonly<{
|
|
119
|
-
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
120
119
|
onChange?: ((value: string) => any) | undefined;
|
|
120
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
121
121
|
"onValidation-change"?: ((result: FormulaValidation) => any) | undefined;
|
|
122
122
|
}>, {
|
|
123
123
|
height: string | number;
|
|
124
124
|
modelValue: string;
|
|
125
125
|
placeholder: string;
|
|
126
126
|
disabled: boolean;
|
|
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/constants3.d.cts
CHANGED
|
@@ -172,11 +172,11 @@ declare const __VLS_export: vue.DefineComponent<NotificationCenterProps, Notific
|
|
|
172
172
|
onNewMessage?: ((message: NotificationMessage) => any) | undefined;
|
|
173
173
|
onNavigate?: ((url: string) => any) | undefined;
|
|
174
174
|
}>, {
|
|
175
|
+
pageSize: number;
|
|
175
176
|
storageKey: string;
|
|
176
177
|
desktopNotification: boolean;
|
|
177
178
|
maxBadgeCount: number;
|
|
178
179
|
pollingInterval: number;
|
|
179
|
-
pageSize: number;
|
|
180
180
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
181
181
|
declare const _default: typeof __VLS_export;
|
|
182
182
|
//#endregion
|
|
@@ -221,7 +221,7 @@ declare function useNotificationCore(props: NotificationCenterProps): {
|
|
|
221
221
|
actionText?: string | undefined;
|
|
222
222
|
extra?: Record<string, unknown> | undefined;
|
|
223
223
|
}[]>;
|
|
224
|
-
activeCategory: vue.Ref<"all" |
|
|
224
|
+
activeCategory: vue.Ref<NotificationCategory | "all", NotificationCategory | "all">;
|
|
225
225
|
loading: vue.Ref<boolean, boolean>;
|
|
226
226
|
total: vue.Ref<number, number>;
|
|
227
227
|
page: vue.Ref<number, number>;
|
package/dist/constants3.d.ts
CHANGED
|
@@ -172,11 +172,11 @@ declare const __VLS_export: vue.DefineComponent<NotificationCenterProps, Notific
|
|
|
172
172
|
onNewMessage?: ((message: NotificationMessage) => any) | undefined;
|
|
173
173
|
onNavigate?: ((url: string) => any) | undefined;
|
|
174
174
|
}>, {
|
|
175
|
+
pageSize: number;
|
|
175
176
|
storageKey: string;
|
|
176
177
|
desktopNotification: boolean;
|
|
177
178
|
maxBadgeCount: number;
|
|
178
179
|
pollingInterval: number;
|
|
179
|
-
pageSize: number;
|
|
180
180
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
181
181
|
declare const _default: typeof __VLS_export;
|
|
182
182
|
//#endregion
|
|
@@ -221,7 +221,7 @@ declare function useNotificationCore(props: NotificationCenterProps): {
|
|
|
221
221
|
actionText?: string | undefined;
|
|
222
222
|
extra?: Record<string, unknown> | undefined;
|
|
223
223
|
}[]>;
|
|
224
|
-
activeCategory: vue.Ref<"all" |
|
|
224
|
+
activeCategory: vue.Ref<NotificationCategory | "all", NotificationCategory | "all">;
|
|
225
225
|
loading: vue.Ref<boolean, boolean>;
|
|
226
226
|
total: vue.Ref<number, number>;
|
|
227
227
|
page: vue.Ref<number, number>;
|
package/dist/constants4.d.cts
CHANGED
|
@@ -213,14 +213,14 @@ declare const __VLS_base: vue.DefineComponent<UploadProps, UploadExpose, {}, {},
|
|
|
213
213
|
onExceed?: ((files: File[], fileList: UploadFileItem[]) => any) | undefined;
|
|
214
214
|
}>, {
|
|
215
215
|
disabled: boolean;
|
|
216
|
+
data: Record<string, unknown>;
|
|
216
217
|
multiple: boolean;
|
|
217
218
|
draggable: boolean;
|
|
218
219
|
action: string;
|
|
220
|
+
maxSize: number;
|
|
219
221
|
headers: Record<string, string>;
|
|
220
|
-
data: Record<string, unknown>;
|
|
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
|
@@ -213,14 +213,14 @@ declare const __VLS_base: vue.DefineComponent<UploadProps, UploadExpose, {}, {},
|
|
|
213
213
|
onExceed?: ((files: File[], fileList: UploadFileItem[]) => any) | undefined;
|
|
214
214
|
}>, {
|
|
215
215
|
disabled: boolean;
|
|
216
|
+
data: Record<string, unknown>;
|
|
216
217
|
multiple: boolean;
|
|
217
218
|
draggable: boolean;
|
|
218
219
|
action: string;
|
|
220
|
+
maxSize: number;
|
|
219
221
|
headers: Record<string, string>;
|
|
220
|
-
data: Record<string, unknown>;
|
|
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
|
@@ -259,10 +259,10 @@ type PlayerInstance = InstanceType<typeof xgplayer.default>;
|
|
|
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
261
|
error: (error: Error) => any;
|
|
262
|
+
ended: () => any;
|
|
262
263
|
ready: () => 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;
|
|
@@ -272,10 +272,10 @@ declare const __VLS_export: vue.DefineComponent<VideoPlayerProps, VideoPlayerExp
|
|
|
272
272
|
progressUpdate: (data: ProgressData) => any;
|
|
273
273
|
}, string, vue.PublicProps, Readonly<VideoPlayerProps> & Readonly<{
|
|
274
274
|
onError?: ((error: Error) => any) | undefined;
|
|
275
|
+
onEnded?: (() => any) | undefined;
|
|
275
276
|
onReady?: (() => 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
|
@@ -259,10 +259,10 @@ type PlayerInstance = InstanceType<typeof xgplayer.default>;
|
|
|
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
261
|
error: (error: Error) => any;
|
|
262
|
+
ended: () => any;
|
|
262
263
|
ready: () => 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;
|
|
@@ -272,10 +272,10 @@ declare const __VLS_export: vue.DefineComponent<VideoPlayerProps, VideoPlayerExp
|
|
|
272
272
|
progressUpdate: (data: ProgressData) => any;
|
|
273
273
|
}, string, vue.PublicProps, Readonly<VideoPlayerProps> & Readonly<{
|
|
274
274
|
onError?: ((error: Error) => any) | undefined;
|
|
275
|
+
onEnded?: (() => any) | undefined;
|
|
275
276
|
onReady?: (() => 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/data.d.cts
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import * as vue from "vue";
|
|
2
|
+
import { CSSProperties, VNodeChild } from "vue";
|
|
3
|
+
|
|
4
|
+
//#region src/components/C_Tabs/types.d.ts
|
|
5
|
+
type TabsValue = string | number;
|
|
6
|
+
type TabsType = 'line' | 'card' | 'bar' | 'segment';
|
|
7
|
+
type TabsSize = 'small' | 'medium' | 'large';
|
|
8
|
+
type TabsPlacement = 'top' | 'right' | 'bottom' | 'left';
|
|
9
|
+
type TabsJustifyContent = 'start' | 'end' | 'center' | 'space-around' | 'space-between';
|
|
10
|
+
type TabsDisplayDirective = 'if' | 'show' | 'show:lazy';
|
|
11
|
+
type TabsBadgeType = 'default' | 'error' | 'info' | 'success' | 'warning';
|
|
12
|
+
interface TabsItem {
|
|
13
|
+
key: TabsValue;
|
|
14
|
+
label: string;
|
|
15
|
+
icon?: string;
|
|
16
|
+
badge?: string | number;
|
|
17
|
+
badgeType?: TabsBadgeType;
|
|
18
|
+
disabled?: boolean;
|
|
19
|
+
closable?: boolean;
|
|
20
|
+
/** 数据驱动的标签渲染;常规场景只传 label/icon/badge。 */
|
|
21
|
+
renderTab?: (item: TabsItem) => VNodeChild;
|
|
22
|
+
/** 数据驱动的内容渲染;复杂页面也可以改用 pane 或 pane-{key} 插槽。 */
|
|
23
|
+
render?: (item: TabsItem) => VNodeChild;
|
|
24
|
+
}
|
|
25
|
+
interface CTabsProps {
|
|
26
|
+
modelValue?: TabsValue | null;
|
|
27
|
+
defaultValue?: TabsValue | null;
|
|
28
|
+
items?: readonly TabsItem[];
|
|
29
|
+
type?: TabsType;
|
|
30
|
+
size?: TabsSize;
|
|
31
|
+
placement?: TabsPlacement;
|
|
32
|
+
justifyContent?: TabsJustifyContent;
|
|
33
|
+
animated?: boolean;
|
|
34
|
+
closable?: boolean;
|
|
35
|
+
addable?: boolean;
|
|
36
|
+
tabsOnly?: boolean;
|
|
37
|
+
displayDirective?: TabsDisplayDirective;
|
|
38
|
+
paneClass?: string;
|
|
39
|
+
paneStyle?: string | CSSProperties;
|
|
40
|
+
beforeChange?: (target: TabsValue, current: TabsValue | null) => boolean | Promise<boolean>;
|
|
41
|
+
}
|
|
42
|
+
interface CTabsEmits {
|
|
43
|
+
(event: 'update:modelValue', value: TabsValue): void;
|
|
44
|
+
(event: 'change', value: TabsValue, item: TabsItem | undefined): void;
|
|
45
|
+
(event: 'close', value: TabsValue): void;
|
|
46
|
+
(event: 'add'): void;
|
|
47
|
+
}
|
|
48
|
+
//#endregion
|
|
49
|
+
//#region src/components/C_Tabs/index.vue.d.ts
|
|
50
|
+
declare var __VLS_18: {
|
|
51
|
+
item: TabsItem;
|
|
52
|
+
active: boolean;
|
|
53
|
+
}, __VLS_36: string, __VLS_37: {
|
|
54
|
+
item: TabsItem;
|
|
55
|
+
active: boolean;
|
|
56
|
+
}, __VLS_44: {
|
|
57
|
+
item: TabsItem;
|
|
58
|
+
active: boolean;
|
|
59
|
+
};
|
|
60
|
+
type __VLS_Slots = {} & { [K in NonNullable<typeof __VLS_36>]?: (props: typeof __VLS_37) => any } & {
|
|
61
|
+
tab?: (props: typeof __VLS_18) => any;
|
|
62
|
+
} & {
|
|
63
|
+
pane?: (props: typeof __VLS_44) => any;
|
|
64
|
+
};
|
|
65
|
+
declare const __VLS_base: vue.DefineComponent<CTabsProps, {
|
|
66
|
+
activeValue: vue.WritableComputedRef<TabsValue | null, TabsValue | null>;
|
|
67
|
+
}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {} & {
|
|
68
|
+
add: () => any;
|
|
69
|
+
change: (value: TabsValue, item: TabsItem | undefined) => any;
|
|
70
|
+
"update:modelValue": (value: TabsValue) => any;
|
|
71
|
+
close: (value: TabsValue) => any;
|
|
72
|
+
}, string, vue.PublicProps, Readonly<CTabsProps> & Readonly<{
|
|
73
|
+
onAdd?: (() => any) | undefined;
|
|
74
|
+
onChange?: ((value: TabsValue, item: TabsItem | undefined) => any) | undefined;
|
|
75
|
+
"onUpdate:modelValue"?: ((value: TabsValue) => any) | undefined;
|
|
76
|
+
onClose?: ((value: TabsValue) => any) | undefined;
|
|
77
|
+
}>, {
|
|
78
|
+
type: TabsType;
|
|
79
|
+
size: TabsSize;
|
|
80
|
+
items: readonly TabsItem[];
|
|
81
|
+
modelValue: TabsValue | null;
|
|
82
|
+
animated: boolean;
|
|
83
|
+
placement: TabsPlacement;
|
|
84
|
+
displayDirective: TabsDisplayDirective;
|
|
85
|
+
defaultValue: TabsValue | null;
|
|
86
|
+
closable: boolean;
|
|
87
|
+
justifyContent: TabsJustifyContent;
|
|
88
|
+
addable: boolean;
|
|
89
|
+
tabsOnly: boolean;
|
|
90
|
+
paneClass: string;
|
|
91
|
+
paneStyle: string | vue.CSSProperties;
|
|
92
|
+
beforeChange: (target: TabsValue, current: TabsValue | null) => boolean | Promise<boolean>;
|
|
93
|
+
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
94
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
95
|
+
declare const _default: typeof __VLS_export;
|
|
96
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
97
|
+
new (): {
|
|
98
|
+
$slots: S;
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
//#endregion
|
|
102
|
+
//#region src/components/C_Tabs/data.d.ts
|
|
103
|
+
/**
|
|
104
|
+
* 提供轻量的运行时校验并保持调用侧扁平;返回原数组,不复制、不注入隐藏字段。
|
|
105
|
+
*/
|
|
106
|
+
declare function defineTabs<const T extends readonly TabsItem[]>(items: T): T;
|
|
107
|
+
//#endregion
|
|
108
|
+
export { TabsBadgeType as a, TabsJustifyContent as c, TabsType as d, TabsValue as f, CTabsProps as i, TabsPlacement as l, _default as n, TabsDisplayDirective as o, CTabsEmits as r, TabsItem as s, defineTabs as t, TabsSize as u };
|