st-comp 0.0.148 → 0.0.150

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 (150) hide show
  1. package/components.d.ts +3 -0
  2. package/es/ChartLayout.cjs +1 -1
  3. package/es/ChartLayout.js +5 -4
  4. package/es/Dialog.cjs +1 -1
  5. package/es/Dialog.js +28 -24
  6. package/es/FactorWarning.cjs +1 -1
  7. package/es/FactorWarning.js +577 -631
  8. package/es/Kline.cjs +1 -0
  9. package/es/Kline.js +1903 -0
  10. package/es/KlineBasic.cjs +1 -1
  11. package/es/KlineBasic.js +677 -1428
  12. package/es/KlineNew.cjs +1 -3
  13. package/es/KlineNew.js +316 -2740
  14. package/es/Pagination.cjs +1 -1
  15. package/es/Pagination.js +60 -58
  16. package/es/PasswordPrompt.cjs +1 -0
  17. package/es/PasswordPrompt.js +13 -0
  18. package/es/Table.cjs +1 -1
  19. package/es/Table.js +102 -98
  20. package/es/User.cjs +1 -1
  21. package/es/User.js +397 -373
  22. package/es/VarietySearch.cjs +1 -1
  23. package/es/VarietySearch.js +2395 -1
  24. package/es/VirtualTable.cjs +5 -5
  25. package/es/VirtualTable.js +154 -151
  26. package/es/_initCloneObject-47814efa.cjs +1 -0
  27. package/es/{_initCloneObject-ec5c9523.js → _initCloneObject-e3d8a9ab.js} +13 -13
  28. package/es/base-0ca7c43a.cjs +5 -0
  29. package/es/base-19787dfb.js +303 -0
  30. package/es/{castArray-c770910d.js → castArray-8405000b.js} +1 -1
  31. package/es/castArray-a78ae889.cjs +1 -0
  32. package/es/{config-provider-feed0e8a.js → config-provider-0f6672af.js} +3 -3
  33. package/es/{config-provider-c87e277f.cjs → config-provider-cfbb9cd8.cjs} +1 -1
  34. package/es/{debounce-c64fb3b5.js → debounce-6cb0781f.js} +29 -29
  35. package/es/debounce-cf26af24.cjs +1 -0
  36. package/es/{dropdown-c9272ca3.js → dropdown-17b3ef6a.js} +4 -4
  37. package/es/{dropdown-6bdb3cf4.cjs → dropdown-790d31ea.cjs} +1 -1
  38. package/es/el-button-0bf1d532.js +236 -0
  39. package/es/el-button-62966947.cjs +1 -0
  40. package/es/el-checkbox-group-45247bbf.cjs +1 -0
  41. package/es/el-checkbox-group-d53bc316.js +67 -0
  42. package/es/el-empty-2ece1134.cjs +1 -0
  43. package/es/{el-empty-89a523ed.js → el-empty-bd5343a7.js} +10 -9
  44. package/es/{el-form-item-55d36086.js → el-form-item-05c0e335.js} +82 -81
  45. package/es/el-form-item-47e255d4.cjs +12 -0
  46. package/es/{el-input-cb528574.js → el-input-1e309239.js} +46 -45
  47. package/es/el-input-6a3805c5.cjs +1 -0
  48. package/es/{el-input-number-ce30bfa8.js → el-input-number-60ebc58f.js} +50 -48
  49. package/es/el-input-number-96ff2e47.cjs +1 -0
  50. package/es/el-menu-item-4c9eb7ad.cjs +1 -0
  51. package/es/el-menu-item-6c6236a1.js +772 -0
  52. package/es/{el-message-d51d032b.js → el-message-7d927756.js} +56 -55
  53. package/es/el-message-d5ed7a4f.cjs +1 -0
  54. package/es/el-overlay-26bf0945.js +521 -0
  55. package/es/el-overlay-41994f67.cjs +1 -0
  56. package/es/el-popover-17e2e66c.js +140 -0
  57. package/es/el-popover-7bd8a7c3.cjs +1 -0
  58. package/es/el-popper-7adbf1c6.cjs +1 -0
  59. package/es/{el-popper-f4b01f85.js → el-popper-b6527ae2.js} +217 -216
  60. package/es/{el-scrollbar-e8e93751.js → el-scrollbar-29bcab5f.js} +22 -22
  61. package/es/el-scrollbar-ac525239.cjs +1 -0
  62. package/es/el-select-31f8ac8a.cjs +1 -0
  63. package/es/{el-select-e71af2e6.js → el-select-7395562b.js} +42 -40
  64. package/es/el-table-column-47d80736.js +3804 -0
  65. package/es/el-table-column-bdc46568.cjs +14 -0
  66. package/es/{el-tag-d65768f4.js → el-tag-7414e0c7.js} +59 -58
  67. package/es/el-tag-9732314f.cjs +1 -0
  68. package/es/{index-da646183.cjs → index-1d85ba4b.cjs} +1 -1
  69. package/es/{index-92ba4292.js → index-273822d1.js} +26 -25
  70. package/es/index-2f958e56.cjs +3 -0
  71. package/es/index-375e8de4.cjs +5 -0
  72. package/es/{index-121e2861.js → index-621b092b.js} +3 -3
  73. package/es/index-657047bb.js +513 -0
  74. package/es/{index-18416440.cjs → index-65b4113e.cjs} +1 -1
  75. package/es/index-70372cdb.js +519 -0
  76. package/es/{use-form-common-props-4d37077d.js → index-72151b24.js} +151 -312
  77. package/es/index-9e6e8d03.cjs +1 -0
  78. package/es/index-ab96bbf4.js +156 -0
  79. package/es/index-afc88a4b.cjs +1 -0
  80. package/es/index-c066fe0d.js +82 -0
  81. package/es/index-ce3223db.cjs +1 -0
  82. package/es/{index-709675d5.js → index-dc22ffe4.js} +18 -18
  83. package/es/index-eea0bcb3.cjs +1 -0
  84. package/es/index.esm-8d9a2abe.js +2432 -0
  85. package/es/index.esm-94a95a2a.cjs +3 -0
  86. package/es/{raf-f55e0daa.js → raf-a532c514.js} +1 -1
  87. package/es/{raf-2d77cbbe.cjs → raf-f46caea0.cjs} +1 -1
  88. package/es/{scroll-c8ac196e.cjs → scroll-339681d4.cjs} +1 -1
  89. package/es/{scroll-ca84f80a.js → scroll-d787d648.js} +1 -1
  90. package/es/style.css +1 -1
  91. package/es/use-form-common-props-5ff2f51b.js +171 -0
  92. package/es/use-form-common-props-74a96df2.cjs +2 -0
  93. package/es/vnode-6a0c7411.js +14 -0
  94. package/es/vnode-b15eb11b.cjs +1 -0
  95. package/es/{zh-cn-414d7f0c.cjs → zh-cn-36f34912.cjs} +1 -1
  96. package/es/{zh-cn-23c8e0d1.js → zh-cn-f37255ae.js} +2 -2
  97. package/lib/bundle.js +1 -1
  98. package/lib/bundle.umd.cjs +206 -206
  99. package/lib/{index-ffeb163e.js → index-d0cb2fa2.js} +33754 -31705
  100. package/lib/{python-0ec8f68c.js → python-050ba5a4.js} +1 -1
  101. package/lib/style.css +1 -1
  102. package/package.json +1 -1
  103. package/packages/Kline/components/Contextmenu/index.vue +110 -0
  104. package/packages/Kline/components/Tips/index.vue +40 -0
  105. package/packages/Kline/componentsNew/KlineSlide/index.vue +155 -0
  106. package/packages/Kline/componentsNew/KlineSub/index.vue +297 -0
  107. package/packages/Kline/componentsNew/KlineTips/index.vue +66 -0
  108. package/packages/Kline/componentsNew/KlineUtils/index.vue +84 -0
  109. package/packages/Kline/componentsNew/Tips/index.vue +33 -0
  110. package/packages/Kline/formatKlineData.ts +109 -0
  111. package/packages/Kline/images/buy.svg +1 -0
  112. package/packages/Kline/images/pen.png +0 -0
  113. package/packages/Kline/images/sell.svg +1 -0
  114. package/packages/Kline/images/t.svg +1 -0
  115. package/packages/Kline/index.ts +16 -0
  116. package/packages/Kline/index.vue +891 -0
  117. package/packages/Kline/option.ts +539 -0
  118. package/packages/Kline/type.d.ts +219 -0
  119. package/packages/Kline/utils.ts +682 -0
  120. package/packages/PasswordPrompt/index.ts +8 -0
  121. package/packages/PasswordPrompt/index.vue +266 -0
  122. package/packages/User/index.vue +97 -58
  123. package/packages/index.ts +4 -0
  124. package/src/pages/Kline/index.vue +12 -0
  125. package/src/pages/PasswordPrompt/index.vue +12 -0
  126. package/src/router/routes.ts +10 -0
  127. package/es/_initCloneObject-476b02ce.cjs +0 -1
  128. package/es/base-6ccc8fc2.cjs +0 -9
  129. package/es/base-950bac7e.js +0 -816
  130. package/es/castArray-374558a5.cjs +0 -1
  131. package/es/debounce-a6b4f91b.cjs +0 -1
  132. package/es/el-button-b8f71c7d.cjs +0 -1
  133. package/es/el-button-d7b6eebd.js +0 -745
  134. package/es/el-empty-12eece57.cjs +0 -1
  135. package/es/el-form-item-ebbf096d.cjs +0 -12
  136. package/es/el-input-2c7e70a3.cjs +0 -1
  137. package/es/el-input-number-8e168e83.cjs +0 -1
  138. package/es/el-message-612c2346.cjs +0 -1
  139. package/es/el-overlay-07414277.js +0 -526
  140. package/es/el-overlay-fb255b83.cjs +0 -1
  141. package/es/el-popper-8360bd91.cjs +0 -1
  142. package/es/el-scrollbar-271142ad.cjs +0 -1
  143. package/es/el-select-2e71d4af.cjs +0 -1
  144. package/es/el-table-column-9fe79f05.cjs +0 -14
  145. package/es/el-table-column-dc562f14.js +0 -3933
  146. package/es/el-tag-930e7b32.cjs +0 -1
  147. package/es/index-0ed86daf.cjs +0 -3
  148. package/es/index-674d2fd7.cjs +0 -1
  149. package/es/index-aece600c.js +0 -81
  150. package/es/use-form-common-props-c1960844.cjs +0 -2
@@ -0,0 +1,266 @@
1
+ <script setup>
2
+ import { CircleCheck } from "@element-plus/icons-vue";
3
+ import { computed } from "vue";
4
+
5
+ const props = defineProps({
6
+ // 密码
7
+ value: {
8
+ type: String,
9
+ default: "",
10
+ },
11
+ // 是否聚焦密码框
12
+ isFocus: {
13
+ type: Boolean,
14
+ default: false,
15
+ },
16
+ // 文案颜色
17
+ textColor: {
18
+ type: [String, null],
19
+ default: null,
20
+ },
21
+ });
22
+
23
+ // 密码统一校验
24
+ const pwdValidators = [
25
+ {
26
+ text: "不能包含空格",
27
+ validator: (val) => {
28
+ return !/\s/.test(val);
29
+ },
30
+ },
31
+ {
32
+ text: "长度为8-18个字符",
33
+ validator: (val) => {
34
+ return val.length >= 8 && val.length <= 18;
35
+ },
36
+ },
37
+ {
38
+ text: "必须包含字母、数字、符号中至少2种",
39
+ validator: (val) => {
40
+ const hasLetter = /[a-zA-Z]/.test(val);
41
+ const hasNumber = /\d/.test(val);
42
+ const hasSymbol = /[^a-zA-Z0-9]/.test(val);
43
+ return [hasLetter, hasNumber, hasSymbol].filter(Boolean).length >= 2;
44
+ },
45
+ },
46
+ {
47
+ text: "请勿输入连续、重复6位以上字母或数字, 0123456, 1111111",
48
+ validator: (val) => {
49
+ // 检查是否有6位以上的重复字符
50
+ const repeatingChars = /([a-zA-Z0-9])\1{6,}/;
51
+ if (repeatingChars.test(val)) return false;
52
+
53
+ // 检查是否有6位以上的连续数字
54
+ const consecutiveNumbers = /(?:0123456|1234567|2345678|3456789|9876543|8765432|7654321|6543210)/;
55
+ if (consecutiveNumbers.test(val)) return false;
56
+
57
+ // 检查是否有6位以上的连续字母
58
+ const lowerVal = val.toLowerCase();
59
+ const isConsecutiveLetters = (str) => {
60
+ if (!/^[a-z]+$/.test(str)) return false;
61
+ for (let i = 1; i < str.length; i++) {
62
+ if (str.charCodeAt(i) !== str.charCodeAt(i - 1) + 1) {
63
+ return false;
64
+ }
65
+ }
66
+ return true;
67
+ };
68
+ for (let i = 0; i <= lowerVal.length - 7; i++) {
69
+ const segment = lowerVal.substr(i, 7);
70
+ if (isConsecutiveLetters(segment)) {
71
+ return false;
72
+ }
73
+ }
74
+ return true;
75
+ },
76
+ },
77
+ ];
78
+
79
+ // 基础规则校验是否全部通过
80
+ const allSuccessValidator = computed(() => {
81
+ const result = pwdValidators.map((item) => item.validator(props.value));
82
+ return !result.includes(false);
83
+ });
84
+
85
+ // 密码强度等级(得分制)
86
+ const levelValue = computed(() => {
87
+ const password = props.value;
88
+ if (!password) return 0;
89
+ // 初始得分
90
+ let score = 0;
91
+ {
92
+ // 长度检查
93
+ if (password.length >= 8) score++;
94
+ if (password.length >= 12) score++;
95
+ // 包含数字
96
+ if (/\d/.test(password)) score++;
97
+ // 包含小写字母
98
+ if (/[a-z]/.test(password)) score++;
99
+ // 包含大写字母
100
+ if (/[A-Z]/.test(password)) score++;
101
+ // 包含特殊字符
102
+ if (/[^a-zA-Z0-9]/.test(password)) score++;
103
+ }
104
+ // 将分数映射到1-3的强度等级
105
+ if (score <= 2) return 1;
106
+ else if (score <= 4) return 2;
107
+ else return 3;
108
+ });
109
+ const levelClass = computed(() => {
110
+ switch (levelValue.value) {
111
+ case 1:
112
+ return "lv1";
113
+ case 2:
114
+ return "lv2";
115
+ case 3:
116
+ return "lv3";
117
+ default:
118
+ return "";
119
+ }
120
+ });
121
+ const levelText = computed(() => {
122
+ switch (levelValue.value) {
123
+ case 1:
124
+ return "弱";
125
+ case 2:
126
+ return "中";
127
+ case 3:
128
+ return "强";
129
+ default:
130
+ return "";
131
+ }
132
+ });
133
+
134
+ defineExpose({
135
+ pwdValidators,
136
+ // 提供给表单校验使用
137
+ ruleFormPassword: [
138
+ { required: true, trigger: "blur", message: "密码不能为空" },
139
+ ...pwdValidators.map((item) => {
140
+ return {
141
+ trigger: "blur",
142
+ validator: (rule, value, callback) => {
143
+ if (!item.validator(value)) callback(item.text);
144
+ else callback();
145
+ },
146
+ };
147
+ }),
148
+ ],
149
+ });
150
+ </script>
151
+
152
+ <template>
153
+ <div
154
+ class="password-prompt"
155
+ :style="{ color: textColor ?? 'var(--el-color-info)' }"
156
+ >
157
+ <transition name="slide-down">
158
+ <div
159
+ v-if="isFocus"
160
+ class="rule-box"
161
+ >
162
+ <div
163
+ class="rule-item"
164
+ v-for="(item, index) in pwdValidators"
165
+ :key="index"
166
+ >
167
+ <el-icon v-show="item.validator(value)">
168
+ <CircleCheck />
169
+ </el-icon>
170
+ <span>{{ item.text }}</span>
171
+ </div>
172
+ </div>
173
+ </transition>
174
+ <div
175
+ v-if="!isFocus && allSuccessValidator"
176
+ class="level-box"
177
+ >
178
+ <div class="level-color">
179
+ <div
180
+ class="levelValue-block"
181
+ :class="[levelValue >= 1 ? levelClass : '']"
182
+ />
183
+ <div
184
+ class="levelValue-block"
185
+ :class="[levelValue >= 2 ? levelClass : '']"
186
+ />
187
+ <div
188
+ class="levelValue-block"
189
+ :class="[levelValue >= 3 ? levelClass : '']"
190
+ />
191
+ </div>
192
+ <div class="level-text">密码强度: {{ levelText }}</div>
193
+ </div>
194
+ </div>
195
+ </template>
196
+
197
+ <style scoped>
198
+ .password-prompt {
199
+ width: 100%;
200
+ position: relative;
201
+ .rule-box {
202
+ .rule-item {
203
+ position: relative;
204
+ .el-icon {
205
+ font-size: 16px;
206
+ color: green;
207
+ position: absolute;
208
+ left: 0;
209
+ top: 9px;
210
+ }
211
+ span {
212
+ font-size: 12px;
213
+ display: inline-block;
214
+ padding-left: 20px;
215
+ }
216
+ }
217
+ }
218
+ .level-box {
219
+ position: absolute;
220
+ top: -7px;
221
+ width: 100%;
222
+ display: flex;
223
+ align-items: center;
224
+ justify-content: end;
225
+ gap: 10px;
226
+ .level-color {
227
+ display: flex;
228
+ gap: 4px;
229
+ .levelValue-block {
230
+ width: 30px;
231
+ height: 8px;
232
+ background-color: #ebeef5;
233
+ border-radius: 2px;
234
+ transition: all 0.3s;
235
+ }
236
+ .lv1 {
237
+ background-color: #f33434;
238
+ }
239
+ .lv2 {
240
+ background-color: #e6a23c;
241
+ }
242
+ .lv3 {
243
+ background-color: #67c23a;
244
+ }
245
+ }
246
+ .level-text {
247
+ font-size: 12px;
248
+ color: #909399;
249
+ }
250
+ }
251
+
252
+ /* 校验规则平滑过渡效果 */
253
+ .slide-down-enter-active,
254
+ .slide-down-leave-active {
255
+ transition: all 0.3s ease;
256
+ max-height: 200px;
257
+ overflow: hidden;
258
+ }
259
+ .slide-down-enter-from,
260
+ .slide-down-leave-to {
261
+ opacity: 0;
262
+ max-height: 0;
263
+ transform: translateY(0px);
264
+ }
265
+ }
266
+ </style>
@@ -23,11 +23,14 @@
23
23
  前往登录
24
24
  <el-icon class="user-login-icon"><Right /></el-icon>
25
25
  </div>
26
+
27
+ <!-- 修改密码弹窗 -->
26
28
  <el-dialog
27
29
  v-model="changePasswordVisible"
28
30
  title="修改密码"
29
31
  width="500"
30
32
  :z-index="200"
33
+ @opened="changePasswordDialogOpen"
31
34
  @closed="changePasswordDialogClose"
32
35
  >
33
36
  <el-form
@@ -38,21 +41,42 @@
38
41
  @keyup.enter.native="changePasswordFn"
39
42
  label-width="auto"
40
43
  >
41
- <el-form-item label="原密码" prop="oldPassword">
44
+ <el-form-item
45
+ label="原密码"
46
+ prop="oldPassword"
47
+ >
42
48
  <el-input
43
49
  v-model="changePasswordForm.oldPassword"
44
50
  type="password"
45
51
  :show-password="true"
46
52
  />
47
53
  </el-form-item>
48
- <el-form-item label="新密码" prop="newPassword">
54
+ <el-form-item
55
+ label="新密码"
56
+ prop="newPassword"
57
+ >
49
58
  <el-input
50
59
  v-model="changePasswordForm.newPassword"
51
60
  type="password"
52
61
  :show-password="true"
62
+ @focus="
63
+ () => {
64
+ changePasswordFormRef.clearValidate(['newPassword']);
65
+ isFocusNewPassword = true;
66
+ }
67
+ "
68
+ @blur="isFocusNewPassword = false"
69
+ />
70
+ <PasswordPrompt
71
+ ref="PasswordPromptRef"
72
+ :value="changePasswordForm.newPassword"
73
+ :isFocus="isFocusNewPassword"
53
74
  />
54
75
  </el-form-item>
55
- <el-form-item label="确认密码" prop="confirmPassword">
76
+ <el-form-item
77
+ label="确认密码"
78
+ prop="confirmPassword"
79
+ >
56
80
  <el-input
57
81
  v-model="changePasswordForm.confirmPassword"
58
82
  type="password"
@@ -63,7 +87,10 @@
63
87
  <template #footer>
64
88
  <div class="dialog-footer">
65
89
  <el-button @click="changePasswordVisible = false">取消</el-button>
66
- <el-button type="primary" @click="changePasswordFn">
90
+ <el-button
91
+ type="primary"
92
+ @click="changePasswordFn"
93
+ >
67
94
  修改
68
95
  </el-button>
69
96
  </div>
@@ -73,86 +100,98 @@
73
100
  </template>
74
101
 
75
102
  <script setup>
76
- import { ref, inject } from 'vue'
77
- import { UserFilled, ArrowDown, Right } from "@element-plus/icons-vue"
78
- import { getUserData, login, loginout } from 'st-func'
103
+ import { ref, inject, nextTick } from "vue";
104
+ import { UserFilled, ArrowDown, Right } from "@element-plus/icons-vue";
105
+ import { getUserData, login, loginout } from "st-func";
106
+ import PasswordPrompt from "../PasswordPrompt/index.vue";
79
107
 
80
108
  const stConfig = inject("stConfig");
81
- const userData = getUserData()
109
+ const userData = getUserData();
110
+ const PasswordPromptRef = ref(null); // 密码校验强度组件
82
111
 
83
- const emit = defineEmits(['loginout'])
112
+ const emit = defineEmits(["loginout"]);
84
113
  const props = defineProps({
85
114
  config: {
86
115
  type: Object,
87
- default: () => ({ }), // loginUrl: 登录后的跳转地址 loginoutToLogin: 是否跳转到登录页 loginoutUrl: 退出登录后的跳转地址
116
+ default: () => ({}), // loginUrl: 登录后的跳转地址 loginoutToLogin: 是否跳转到登录页 loginoutUrl: 退出登录后的跳转地址
88
117
  },
89
- })
118
+ });
90
119
 
91
- const changePasswordFormRef = ref(null)
92
- const changePasswordVisible = ref(false)
120
+ const changePasswordFormRef = ref(null);
121
+ const changePasswordVisible = ref(false);
93
122
  const changePasswordForm = ref({
94
- oldPassword: '',
95
- newPassword: '',
96
- confirmPassword: '',
97
- })
98
- const checkPassword = (rule, value, callback) => {
99
- if (value === '') {
100
- callback(new Error('请输入确认密码'))
101
- } else if (value !== changePasswordForm.value.newPassword) {
102
- callback(new Error("两次输入密码不一致!"))
103
- } else {
104
- callback()
105
- }
106
- }
123
+ oldPassword: "",
124
+ newPassword: "",
125
+ confirmPassword: "",
126
+ });
107
127
  const changePasswordRules = ref({
108
128
  oldPassword: [
109
- { required: true, message: '请输入原密码', trigger: 'blur' },
110
- { min: 6, max: 18, trigger: "blur", message: "密码长度为6到18位" },
111
- ],
112
- newPassword: [
113
- { required: true, message: '请输入新密码', trigger: 'blur' },
129
+ { required: true, message: "请输入原密码", trigger: "blur" },
114
130
  { min: 6, max: 18, trigger: "blur", message: "密码长度为6到18位" },
115
131
  ],
132
+ newPassword: [],
116
133
  confirmPassword: [
117
- { required: true, message: '请输入确认密码', trigger: 'blur' },
118
- { validator: checkPassword, trigger: 'blur' },
134
+ { required: true, message: "请输入确认密码", trigger: "blur" },
135
+ {
136
+ validator: (rule, value, callback) => {
137
+ if (value === "") {
138
+ callback(new Error("请输入确认密码"));
139
+ } else if (value !== changePasswordForm.value.newPassword) {
140
+ callback(new Error("两次输入密码不一致!"));
141
+ } else {
142
+ callback();
143
+ }
144
+ },
145
+ trigger: "blur",
146
+ },
119
147
  { min: 6, max: 18, trigger: "blur", message: "密码长度为6到18位" },
120
148
  ],
121
- })
149
+ });
150
+ const isFocusNewPassword = ref(false); // 是否聚焦新密码
122
151
 
123
152
  const loginFn = () => {
124
- const { loginUrl } = props.config || {}
125
- login(loginUrl)
126
- }
127
-
153
+ const { loginUrl } = props.config || {};
154
+ login(loginUrl);
155
+ };
128
156
  const loginoutFn = () => {
129
- const { loginoutToLogin, loginoutUrl } = props.config || {}
130
- loginout(loginoutToLogin, loginoutUrl)
131
- emit('loginout')
132
- }
133
-
157
+ const { loginoutToLogin, loginoutUrl } = props.config || {};
158
+ loginout(loginoutToLogin, loginoutUrl);
159
+ emit("loginout");
160
+ };
134
161
  const changePasswordFn = () => {
135
- changePasswordFormRef.value.validate(async(valid, fields) => {
162
+ changePasswordFormRef.value.validate(async (valid, fields) => {
136
163
  if (valid) {
137
- const res = await stConfig.request.post('/invest/sys/user/password', {
164
+ const res = await stConfig.request.post("/invest/sys/user/password", {
138
165
  password: changePasswordForm.value.oldPassword,
139
166
  newPassword: changePasswordForm.value.newPassword,
140
167
  newPassword2: changePasswordForm.value.confirmPassword,
141
- })
142
- ElMessage.success(`修改成功!`)
143
- changePasswordVisible.value = false
144
- } else { }
145
- })
146
- }
147
-
168
+ });
169
+ ElMessage.success(`修改成功!`);
170
+ changePasswordVisible.value = false;
171
+ } else {
172
+ }
173
+ });
174
+ };
175
+ const changePasswordDialogOpen = () => {
176
+ if (changePasswordRules.value.newPassword.length === 0) {
177
+ nextTick(() => {
178
+ changePasswordRules.value.newPassword = PasswordPromptRef.value?.ruleFormPassword;
179
+ // 宏任务清除element-plus表单规则调整后的自动校验
180
+ let timer = setTimeout(() => {
181
+ changePasswordFormRef.value.resetFields();
182
+ clearTimeout(timer);
183
+ }, 0);
184
+ });
185
+ }
186
+ };
148
187
  const changePasswordDialogClose = () => {
149
188
  changePasswordForm.value = {
150
- oldPassword: '',
151
- newPassword: '',
152
- confirmPassword: '',
153
- }
154
- changePasswordFormRef.value.resetFields()
155
- }
189
+ oldPassword: "",
190
+ newPassword: "",
191
+ confirmPassword: "",
192
+ };
193
+ changePasswordFormRef.value.resetFields();
194
+ };
156
195
  </script>
157
196
 
158
197
  <style lang="scss" scoped>
package/packages/index.ts CHANGED
@@ -4,12 +4,14 @@ import StConfigProvider from "./ConfigProvider/index.ts"
4
4
  import StDialog from "./Dialog/index.ts"
5
5
  import StFactorWarning from "./FactorWarning/index.ts"
6
6
  import StHeatMap from "./HeatMap/index.ts"
7
+ import StKline from "./Kline/index.ts"
7
8
  import StKlineBasic from "./KlineBasic/index.ts"
8
9
  import StKlineNew from "./KlineNew/index.ts"
9
10
  import StLinearLegend from "./LinearLegend/index.ts"
10
11
  import StMap from "./Map/index.ts"
11
12
  import StMonacoEditor from "./MonacoEditor/index.ts"
12
13
  import StPagination from "./Pagination/index.ts"
14
+ import StPasswordPrompt from "./PasswordPrompt/index.ts"
13
15
  import StPie from "./Pie/index.ts"
14
16
  import StTable from "./Table/index.ts"
15
17
  import StTreeMap from "./TreeMap/index.ts"
@@ -24,12 +26,14 @@ export default {
24
26
  StDialog.install(app)
25
27
  StFactorWarning.install(app)
26
28
  StHeatMap.install(app)
29
+ StKline.install(app)
27
30
  StKlineBasic.install(app)
28
31
  StKlineNew.install(app)
29
32
  StLinearLegend.install(app)
30
33
  StMap.install(app)
31
34
  StMonacoEditor.install(app)
32
35
  StPagination.install(app)
36
+ StPasswordPrompt.install(app)
33
37
  StPie.install(app)
34
38
  StTable.install(app)
35
39
  StTreeMap.install(app)
@@ -0,0 +1,12 @@
1
+ <template>
2
+ <div>
3
+ Kline
4
+ </div>
5
+ </template>
6
+
7
+ <script setup lang="ts">
8
+ </script>
9
+
10
+ <style lang="scss" scoped>
11
+
12
+ </style>
@@ -0,0 +1,12 @@
1
+ <template>
2
+ <div>
3
+ PasswordPrompt
4
+ </div>
5
+ </template>
6
+
7
+ <script setup lang="ts">
8
+ </script>
9
+
10
+ <style lang="scss" scoped>
11
+
12
+ </style>
@@ -24,6 +24,11 @@ export default [
24
24
  name: 'HeatMap',
25
25
  component: () => import('../pages/HeatMap/index.vue'),
26
26
  },
27
+ {
28
+ path: '/kline',
29
+ name: 'Kline',
30
+ component: () => import('../pages/Kline/index.vue'),
31
+ },
27
32
  {
28
33
  path: '/klineBasic',
29
34
  name: 'KlineBasic',
@@ -54,6 +59,11 @@ export default [
54
59
  name: 'Pagination',
55
60
  component: () => import('../pages/Pagination/index.vue'),
56
61
  },
62
+ {
63
+ path: '/passwordPrompt',
64
+ name: 'PasswordPrompt',
65
+ component: () => import('../pages/PasswordPrompt/index.vue'),
66
+ },
57
67
  {
58
68
  path: '/pie',
59
69
  name: 'Pie',
@@ -1 +0,0 @@
1
- "use strict";const c=require("./use-form-common-props-c1960844.cjs"),o=require("./el-popper-8360bd91.cjs"),s=require("./base-6ccc8fc2.cjs");var a=Object.create,P=function(){function e(){}return function(n){if(!s.isObject(n))return{};if(a)return a(n);e.prototype=n;var r=new e;return e.prototype=void 0,r}}();const w=P;function A(e,n){var r=-1,t=e.length;for(n||(n=Array(t));++r<t;)n[r]=e[r];return n}function b(e,n,r,t){var d=!r;r||(r={});for(var f=-1,h=n.length;++f<h;){var i=n[f],u=t?t(r[i],e[i],i,r,e):void 0;u===void 0&&(u=e[i]),d?c.baseAssignValue(r,i,u):c.assignValue(r,i,u)}return r}function C(e){var n=[];if(e!=null)for(var r in Object(e))n.push(r);return n}var x=Object.prototype,B=x.hasOwnProperty;function I(e){if(!s.isObject(e))return C(e);var n=o.isPrototype(e),r=[];for(var t in e)t=="constructor"&&(n||!B.call(e,t))||r.push(t);return r}function T(e){return o.isArrayLike(e)?o.arrayLikeKeys(e,!0):I(e)}var U=o.overArg(Object.getPrototypeOf,Object);const y=U;var g=typeof exports=="object"&&exports&&!exports.nodeType&&exports,l=g&&typeof module=="object"&&module&&!module.nodeType&&module,m=l&&l.exports===g,p=m?s.root.Buffer:void 0,v=p?p.allocUnsafe:void 0;function q(e,n){if(n)return e.slice();var r=e.length,t=v?v(r):new e.constructor(r);return e.copy(t),t}function O(e){var n=new e.constructor(e.byteLength);return new o.Uint8Array(n).set(new o.Uint8Array(e)),n}function K(e,n){var r=n?O(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}function L(e){return typeof e.constructor=="function"&&!o.isPrototype(e)?w(y(e)):{}}exports.cloneArrayBuffer=O;exports.cloneBuffer=q;exports.cloneTypedArray=K;exports.copyArray=A;exports.copyObject=b;exports.getPrototype=y;exports.initCloneObject=L;exports.keysIn=T;
@@ -1,9 +0,0 @@
1
- "use strict";const i=require("vue"),S="el",Ce="is-",y=(e,t,r,n,o)=>{let a=`${e}-${t}`;return r&&(a+=`-${r}`),n&&(a+=`__${n}`),o&&(a+=`--${o}`),a},Q=Symbol("namespaceContextKey"),z=e=>{const t=e||(i.getCurrentInstance()?i.inject(Q,i.ref(S)):i.ref(S));return i.computed(()=>i.unref(t)||S)},Te=(e,t)=>{const r=z(t);return{namespace:r,b:(s="")=>y(r.value,e,s,"",""),e:s=>s?y(r.value,e,"",s,""):"",m:s=>s?y(r.value,e,"","",s):"",be:(s,c)=>s&&c?y(r.value,e,s,c,""):"",em:(s,c)=>s&&c?y(r.value,e,"",s,c):"",bm:(s,c)=>s&&c?y(r.value,e,s,"",c):"",bem:(s,c,h)=>s&&c&&h?y(r.value,e,s,c,h):"",is:(s,...c)=>{const h=c.length>=1?c[0]:!0;return s&&h?`${Ce}${s}`:""},cssVar:s=>{const c={};for(const h in s)s[h]&&(c[`--${r.value}-${h}`]=s[h]);return c},cssVarName:s=>`--${r.value}-${s}`,cssVarBlock:s=>{const c={};for(const h in s)s[h]&&(c[`--${r.value}-${e}-${h}`]=s[h]);return c},cssVarBlockName:s=>`--${r.value}-${e}-${s}`}};/**
2
- * @vue/shared v3.4.19
3
- * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
- * @license MIT
5
- **/process.env.NODE_ENV!=="production"&&Object.freeze({});process.env.NODE_ENV!=="production"&&Object.freeze([]);const ee=()=>{},Ne=Object.prototype.hasOwnProperty,A=(e,t)=>Ne.call(e,t),je=Array.isArray,Ie=e=>typeof e=="function",T=e=>typeof e=="string",K=e=>e!==null&&typeof e=="object",xe=Object.prototype.toString,Ee=e=>xe.call(e),De=e=>Ee(e)==="[object Object]",te=e=>{const t=Object.create(null);return r=>t[r]||(t[r]=e(r))},Fe=/-(\w)/g,Ae=te(e=>e.replace(Fe,(t,r)=>r?r.toUpperCase():"")),Me=/\B([A-Z])/g,Le=te(e=>e.replace(Me,"-$1").toLowerCase());var ze=typeof global=="object"&&global&&global.Object===Object&&global;const re=ze;var Ke=typeof self=="object"&&self&&self.Object===Object&&self,Re=re||Ke||Function("return this")();const N=Re;var Ve=N.Symbol;const b=Ve;var ne=Object.prototype,Ge=ne.hasOwnProperty,Ue=ne.toString,w=b?b.toStringTag:void 0;function Je(e){var t=Ge.call(e,w),r=e[w];try{e[w]=void 0;var n=!0}catch{}var o=Ue.call(e);return n&&(t?e[w]=r:delete e[w]),o}var Be=Object.prototype,He=Be.toString;function ke(e){return He.call(e)}var We="[object Null]",Ye="[object Undefined]",B=b?b.toStringTag:void 0;function R(e){return e==null?e===void 0?Ye:We:B&&B in Object(e)?Je(e):ke(e)}function oe(e){return e!=null&&typeof e=="object"}var qe="[object Symbol]";function j(e){return typeof e=="symbol"||oe(e)&&R(e)==qe}function ae(e,t){for(var r=-1,n=e==null?0:e.length,o=Array(n);++r<n;)o[r]=t(e[r],r,e);return o}var Ze=Array.isArray;const I=Ze;var Xe=1/0,H=b?b.prototype:void 0,k=H?H.toString:void 0;function se(e){if(typeof e=="string")return e;if(I(e))return ae(e,se)+"";if(j(e))return k?k.call(e):"";var t=e+"";return t=="0"&&1/e==-Xe?"-0":t}function V(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Qe="[object AsyncFunction]",et="[object Function]",tt="[object GeneratorFunction]",rt="[object Proxy]";function ie(e){if(!V(e))return!1;var t=R(e);return t==et||t==tt||t==Qe||t==rt}var nt=N["__core-js_shared__"];const F=nt;var W=function(){var e=/[^.]+$/.exec(F&&F.keys&&F.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function ot(e){return!!W&&W in e}var at=Function.prototype,st=at.toString;function ce(e){if(e!=null){try{return st.call(e)}catch{}try{return e+""}catch{}}return""}var it=/[\\^$.*+?()[\]{}|]/g,ct=/^\[object .+?Constructor\]$/,ut=Function.prototype,lt=Object.prototype,dt=ut.toString,ft=lt.hasOwnProperty,pt=RegExp("^"+dt.call(ft).replace(it,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function ht(e){if(!V(e)||ot(e))return!1;var t=ie(e)?pt:ct;return t.test(ce(e))}function gt(e,t){return e==null?void 0:e[t]}function G(e,t){var r=gt(e,t);return ht(r)?r:void 0}function ue(e,t){return e===t||e!==e&&t!==t}var mt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,yt=/^\w*$/;function le(e,t){if(I(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||j(e)?!0:yt.test(e)||!mt.test(e)||t!=null&&e in Object(t)}var bt=G(Object,"create");const O=bt;function vt(){this.__data__=O?O(null):{},this.size=0}function _t(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var wt="__lodash_hash_undefined__",Ot=Object.prototype,Pt=Ot.hasOwnProperty;function $t(e){var t=this.__data__;if(O){var r=t[e];return r===wt?void 0:r}return Pt.call(t,e)?t[e]:void 0}var St=Object.prototype,Ct=St.hasOwnProperty;function Tt(e){var t=this.__data__;return O?t[e]!==void 0:Ct.call(t,e)}var Nt="__lodash_hash_undefined__";function jt(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=O&&t===void 0?Nt:t,this}function v(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}v.prototype.clear=vt;v.prototype.delete=_t;v.prototype.get=$t;v.prototype.has=Tt;v.prototype.set=jt;function It(){this.__data__=[],this.size=0}function x(e,t){for(var r=e.length;r--;)if(ue(e[r][0],t))return r;return-1}var xt=Array.prototype,Et=xt.splice;function Dt(e){var t=this.__data__,r=x(t,e);if(r<0)return!1;var n=t.length-1;return r==n?t.pop():Et.call(t,r,1),--this.size,!0}function Ft(e){var t=this.__data__,r=x(t,e);return r<0?void 0:t[r][1]}function At(e){return x(this.__data__,e)>-1}function Mt(e,t){var r=this.__data__,n=x(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}function _(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}_.prototype.clear=It;_.prototype.delete=Dt;_.prototype.get=Ft;_.prototype.has=At;_.prototype.set=Mt;var Lt=G(N,"Map");const de=Lt;function zt(){this.size=0,this.__data__={hash:new v,map:new(de||_),string:new v}}function Kt(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}function E(e,t){var r=e.__data__;return Kt(t)?r[typeof t=="string"?"string":"hash"]:r.map}function Rt(e){var t=E(this,e).delete(e);return this.size-=t?1:0,t}function Vt(e){return E(this,e).get(e)}function Gt(e){return E(this,e).has(e)}function Ut(e,t){var r=E(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}function m(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}m.prototype.clear=zt;m.prototype.delete=Rt;m.prototype.get=Vt;m.prototype.has=Gt;m.prototype.set=Ut;var Jt="Expected a function";function D(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(Jt);var r=function(){var n=arguments,o=t?t.apply(this,n):n[0],a=r.cache;if(a.has(o))return a.get(o);var l=e.apply(this,n);return r.cache=a.set(o,l)||a,l};return r.cache=new(D.Cache||m),r}D.Cache=m;var Bt=500;function Ht(e){var t=D(e,function(n){return r.size===Bt&&r.clear(),n}),r=t.cache;return t}var kt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Wt=/\\(\\)?/g,Yt=Ht(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(kt,function(r,n,o,a){t.push(o?a.replace(Wt,"$1"):n||r)}),t});const qt=Yt;function Zt(e){return e==null?"":se(e)}function fe(e,t){return I(e)?e:le(e,t)?[e]:qt(Zt(e))}var Xt=1/0;function pe(e){if(typeof e=="string"||j(e))return e;var t=e+"";return t=="0"&&1/e==-Xt?"-0":t}function he(e,t){t=fe(t,e);for(var r=0,n=t.length;e!=null&&r<n;)e=e[pe(t[r++])];return r&&r==n?e:void 0}function ge(e,t,r){var n=e==null?void 0:he(e,t);return n===void 0?r:n}function me(e){for(var t=-1,r=e==null?0:e.length,n={};++t<r;){var o=e[t];n[o[0]]=o[1]}return n}function ye(e){return e==null}const Qt=e=>e===void 0,er=e=>typeof e=="boolean",be=e=>typeof e=="number",tr=e=>typeof Element>"u"?!1:e instanceof Element,rr=e=>ye(e),nr=e=>T(e)?!Number.isNaN(Number(e)):!1;var or=Object.defineProperty,ar=Object.defineProperties,sr=Object.getOwnPropertyDescriptors,Y=Object.getOwnPropertySymbols,ir=Object.prototype.hasOwnProperty,cr=Object.prototype.propertyIsEnumerable,q=(e,t,r)=>t in e?or(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ur=(e,t)=>{for(var r in t||(t={}))ir.call(t,r)&&q(e,r,t[r]);if(Y)for(var r of Y(t))cr.call(t,r)&&q(e,r,t[r]);return e},lr=(e,t)=>ar(e,sr(t));function dr(e,t){var r;const n=i.shallowRef();return i.watchEffect(()=>{n.value=e()},lr(ur({},t),{flush:(r=t==null?void 0:t.flush)!=null?r:"sync"})),i.readonly(n)}var Z;const P=typeof window<"u",X=e=>typeof e=="function",fr=e=>typeof e=="string",M=()=>{},pr=P&&((Z=window==null?void 0:window.navigator)==null?void 0:Z.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function C(e){return typeof e=="function"?e():i.unref(e)}function hr(e,t){function r(...n){return new Promise((o,a)=>{Promise.resolve(e(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(o).catch(a)})}return r}function gr(e,t={}){let r,n,o=M;const a=f=>{clearTimeout(f),o(),o=M};return f=>{const p=C(e),u=C(t.maxWait);return r&&a(r),p<=0||u!==void 0&&u<=0?(n&&(a(n),n=null),Promise.resolve(f())):new Promise((d,g)=>{o=t.rejectOnCancel?g:d,u&&!n&&(n=setTimeout(()=>{r&&a(r),n=null,d(f())},u)),r=setTimeout(()=>{n&&a(n),n=null,d(f())},p)})}}function mr(e){return e}function yr(e,t){let r,n,o;const a=i.ref(!0),l=()=>{a.value=!0,o()};i.watch(e,l,{flush:"sync"});const f=X(t)?t:t.get,p=X(t)?void 0:t.set,u=i.customRef((d,g)=>(n=d,o=g,{get(){return a.value&&(r=f(),a.value=!1),n(),r},set($){p==null||p($)}}));return Object.isExtensible(u)&&(u.trigger=l),u}function ve(e){return i.getCurrentScope()?(i.onScopeDispose(e),!0):!1}function br(e,t=200,r={}){return hr(gr(t,r),e)}function vr(e,t=200,r={}){const n=i.ref(e.value),o=br(()=>{n.value=e.value},t,r);return i.watch(e,()=>o()),n}function _r(e,t=!0){i.getCurrentInstance()?i.onMounted(e):t?e():i.nextTick(e)}function wr(e,t,r={}){const{immediate:n=!0}=r,o=i.ref(!1);let a=null;function l(){a&&(clearTimeout(a),a=null)}function f(){o.value=!1,l()}function p(...u){l(),o.value=!0,a=setTimeout(()=>{o.value=!1,a=null,e(...u)},C(t))}return n&&(o.value=!0,P&&p()),ve(f),{isPending:i.readonly(o),start:p,stop:f}}class _e extends Error{constructor(t){super(t),this.name="ElementPlusError"}}function Or(e,t){throw new _e(`[${e}] ${t}`)}function U(e,t){if(process.env.NODE_ENV!=="production"){const r=T(e)?new _e(`[${e}] ${t}`):e;console.warn(r)}}var Pr={name:"en",el:{breadcrumb:{label:"Breadcrumb"},colorpicker:{confirm:"OK",clear:"Clear",defaultLabel:"color picker",description:"current color is {color}. press enter to select a new color.",alphaLabel:"pick alpha value"},datepicker:{now:"Now",today:"Today",cancel:"Cancel",clear:"Clear",confirm:"OK",dateTablePrompt:"Use the arrow keys and enter to select the day of the month",monthTablePrompt:"Use the arrow keys and enter to select the month",yearTablePrompt:"Use the arrow keys and enter to select the year",selectedDate:"Selected date",selectDate:"Select date",selectTime:"Select time",startDate:"Start Date",startTime:"Start Time",endDate:"End Date",endTime:"End Time",prevYear:"Previous Year",nextYear:"Next Year",prevMonth:"Previous Month",nextMonth:"Next Month",year:"",month1:"January",month2:"February",month3:"March",month4:"April",month5:"May",month6:"June",month7:"July",month8:"August",month9:"September",month10:"October",month11:"November",month12:"December",week:"week",weeks:{sun:"Sun",mon:"Mon",tue:"Tue",wed:"Wed",thu:"Thu",fri:"Fri",sat:"Sat"},weeksFull:{sun:"Sunday",mon:"Monday",tue:"Tuesday",wed:"Wednesday",thu:"Thursday",fri:"Friday",sat:"Saturday"},months:{jan:"Jan",feb:"Feb",mar:"Mar",apr:"Apr",may:"May",jun:"Jun",jul:"Jul",aug:"Aug",sep:"Sep",oct:"Oct",nov:"Nov",dec:"Dec"}},inputNumber:{decrease:"decrease number",increase:"increase number"},select:{loading:"Loading",noMatch:"No matching data",noData:"No data",placeholder:"Select"},mention:{loading:"Loading"},dropdown:{toggleDropdown:"Toggle Dropdown"},cascader:{noMatch:"No matching data",loading:"Loading",placeholder:"Select",noData:"No data"},pagination:{goto:"Go to",pagesize:"/page",total:"Total {total}",pageClassifier:"",page:"Page",prev:"Go to previous page",next:"Go to next page",currentPage:"page {pager}",prevPages:"Previous {pager} pages",nextPages:"Next {pager} pages",deprecationWarning:"Deprecated usages detected, please refer to the el-pagination documentation for more details"},dialog:{close:"Close this dialog"},drawer:{close:"Close this dialog"},messagebox:{title:"Message",confirm:"OK",cancel:"Cancel",error:"Illegal input",close:"Close this dialog"},upload:{deleteTip:"press delete to remove",delete:"Delete",preview:"Preview",continue:"Continue"},slider:{defaultLabel:"slider between {min} and {max}",defaultRangeStartLabel:"pick start value",defaultRangeEndLabel:"pick end value"},table:{emptyText:"No Data",confirmFilter:"Confirm",resetFilter:"Reset",clearFilter:"All",sumText:"Sum"},tour:{next:"Next",previous:"Previous",finish:"Finish"},tree:{emptyText:"No Data"},transfer:{noMatch:"No matching data",noData:"No data",titles:["List 1","List 2"],filterPlaceholder:"Enter keyword",noCheckedFormat:"{total} items",hasCheckedFormat:"{checked}/{total} checked"},image:{error:"FAILED"},pageHeader:{title:"Back"},popconfirm:{confirmButtonText:"Yes",cancelButtonText:"No"},carousel:{leftArrow:"Carousel arrow left",rightArrow:"Carousel arrow right",indicator:"Carousel switch to index {index}"}}};const $r=e=>(t,r)=>Sr(t,r,i.unref(e)),Sr=(e,t,r)=>ge(r,e,e).replace(/\{(\w+)\}/g,(n,o)=>{var a;return`${(a=t==null?void 0:t[o])!=null?a:`{${o}}`}`}),Cr=e=>{const t=i.computed(()=>i.unref(e).name),r=i.isRef(e)?e:i.ref(e);return{lang:t,locale:r,t:$r(e)}},we=Symbol("localeContextKey"),Tr=e=>{const t=e||i.inject(we,i.ref());return Cr(i.computed(()=>t.value||Pr))},Oe="__epPropKey",Nr=e=>e,jr=e=>K(e)&&!!e[Oe],Pe=(e,t)=>{if(!K(e)||jr(e))return e;const{values:r,required:n,default:o,type:a,validator:l}=e,p={type:a,required:!!n,validator:r||l?u=>{let d=!1,g=[];if(r&&(g=Array.from(r),A(e,"default")&&g.push(o),d||(d=g.includes(u))),l&&(d||(d=l(u))),!d&&g.length>0){const $=[...new Set(g)].map(J=>JSON.stringify(J)).join(", ");i.warn(`Invalid prop: validation failed${t?` for prop "${t}"`:""}. Expected one of [${$}], got value ${JSON.stringify(u)}.`)}return d}:void 0,[Oe]:!0};return A(e,"default")&&(p.default=o),p},Ir=e=>me(Object.entries(e).map(([t,r])=>[t,Pe(r,t)]));var xr=(e,t)=>{const r=e.__vccOpts||e;for(const[n,o]of t)r[n]=o;return r};const Er="utils/dom/style",$e=(e="")=>e.split(" ").filter(t=>!!t.trim()),Dr=(e,t)=>{if(!e||!t)return!1;if(t.includes(" "))throw new Error("className should not contain space.");return e.classList.contains(t)},Fr=(e,t)=>{!e||!t.trim()||e.classList.add(...$e(t))},Ar=(e,t)=>{!e||!t.trim()||e.classList.remove(...$e(t))},Mr=(e,t)=>{var r;if(!P||!e||!t)return"";let n=Ae(t);n==="float"&&(n="cssFloat");try{const o=e.style[n];if(o)return o;const a=(r=document.defaultView)==null?void 0:r.getComputedStyle(e,"");return a?a[n]:""}catch{return e.style[n]}};function Lr(e,t="px"){if(!e)return"";if(be(e)||nr(e))return`${e}${t}`;if(T(e))return e;U(Er,"binding value must be a string or number")}const zr=(e,t)=>{if(e.install=r=>{for(const n of[e,...Object.values(t??{})])r.component(n.name,n)},t)for(const[r,n]of Object.entries(t))e[r]=n;return e},Kr=(e,t)=>(e.install=r=>{e._context=r._context,r.config.globalProperties[t]=e},e),Rr=(e,t)=>(e.install=r=>{r.directive(t,e)},e),Vr=e=>(e.install=ee,e),L={prefix:Math.floor(Math.random()*1e4),current:0},Gr=Symbol("elIdInjection"),Se=()=>i.getCurrentInstance()?i.inject(Gr,L):L,Ur=e=>{const t=Se();!P&&t===L&&U("IdInjection",`Looks like you are using server rendering, you must provide a id provider to ensure the hydration process to be succeed
6
- usage: app.provide(ID_INJECTION_KEY, {
7
- prefix: number,
8
- current: number,
9
- })`);const r=z();return dr(()=>i.unref(e)||`${r.value}-id-${t.prefix}-${t.current++}`)};exports.ListCache=_;exports.Map=de;exports.MapCache=m;exports.NOOP=ee;exports.Symbol=b;exports._export_sfc=xr;exports.addClass=Fr;exports.addUnit=Lr;exports.arrayMap=ae;exports.baseGet=he;exports.baseGetTag=R;exports.buildProp=Pe;exports.buildProps=Ir;exports.castPath=fe;exports.computedWithControl=yr;exports.debugWarn=U;exports.defaultNamespace=S;exports.definePropType=Nr;exports.eq=ue;exports.freeGlobal=re;exports.fromPairs=me;exports.get=ge;exports.getNative=G;exports.getStyle=Mr;exports.hasClass=Dr;exports.hasOwn=A;exports.hyphenate=Le;exports.identity=mr;exports.isArray=I;exports.isArray$1=je;exports.isBoolean=er;exports.isClient=P;exports.isElement=tr;exports.isFunction=Ie;exports.isFunction$1=ie;exports.isIOS=pr;exports.isKey=le;exports.isNil=ye;exports.isNumber=be;exports.isObject=V;exports.isObject$1=K;exports.isObjectLike=oe;exports.isPlainObject=De;exports.isPropAbsent=rr;exports.isString=fr;exports.isString$1=T;exports.isSymbol=j;exports.isUndefined=Qt;exports.localeContextKey=we;exports.memoize=D;exports.namespaceContextKey=Q;exports.noop=M;exports.refDebounced=vr;exports.removeClass=Ar;exports.resolveUnref=C;exports.root=N;exports.throwError=Or;exports.toKey=pe;exports.toSource=ce;exports.tryOnMounted=_r;exports.tryOnScopeDispose=ve;exports.useGetDerivedNamespace=z;exports.useId=Ur;exports.useIdInjection=Se;exports.useLocale=Tr;exports.useNamespace=Te;exports.useTimeoutFn=wr;exports.withInstall=zr;exports.withInstallDirective=Rr;exports.withInstallFunction=Kr;exports.withNoopInstall=Vr;