dashboard-shell-shell 3.0.5-test.4 → 3.0.5-test.6

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 (198) hide show
  1. package/assets/brand/harvester/favicon.png +0 -0
  2. package/assets/brand/suse/favicon.png +0 -0
  3. package/assets/images/pl/half-logo.svg +23 -2
  4. package/assets/images/pl/harvester.png +0 -0
  5. package/assets/styles/app.scss +0 -4
  6. package/assets/styles/base/_basic.scss +2 -2
  7. package/assets/styles/base/_mixins.scss +1 -1
  8. package/assets/styles/base/_typography.scss +1 -2
  9. package/assets/styles/base/_variables.scss +4 -11
  10. package/assets/styles/global/_button.scss +27 -45
  11. package/assets/styles/global/_columns.scss +1 -3
  12. package/assets/styles/global/_form.scss +13 -45
  13. package/assets/styles/global/_labeled-input.scss +26 -54
  14. package/assets/styles/global/_layout.scss +3 -8
  15. package/assets/styles/global/_select.scss +17 -25
  16. package/assets/styles/global/_table.scss +1 -7
  17. package/assets/styles/global/_tooltip.scss +6 -54
  18. package/assets/styles/themes/_dark.scss +0 -3
  19. package/assets/styles/themes/_light.scss +42 -63
  20. package/assets/styles/vendor/vue-select.scss +9 -22
  21. package/assets/translations/en-us.yaml +4 -28
  22. package/assets/translations/zh-hans.yaml +189 -376
  23. package/components/ActionDropdown.vue +1 -2
  24. package/components/ActionMenu.vue +2 -2
  25. package/components/ActionMenuShell.vue +0 -2
  26. package/components/AppModal.vue +5 -46
  27. package/components/BrandImage.vue +0 -1
  28. package/components/ButtonDropdown.vue +4 -26
  29. package/components/ButtonMultiAction.vue +0 -1
  30. package/components/ClusterIconMenu.vue +1 -1
  31. package/components/CodeMirror.vue +6 -20
  32. package/components/ConsumptionGauge.vue +5 -24
  33. package/components/CruResource.vue +8 -9
  34. package/components/CruResourceFooter.vue +2 -2
  35. package/components/DashboardOptions.vue +17 -29
  36. package/components/ExplorerProjectsNamespaces.vue +5 -19
  37. package/components/GlobalRoleBindings.vue +48 -112
  38. package/components/GrafanaDashboard.vue +4 -4
  39. package/components/GrowlManager.vue +1 -3
  40. package/components/HardwareResourceGauge.vue +3 -39
  41. package/components/IndentedPanel.vue +10 -4
  42. package/components/InfoBox.vue +3 -3
  43. package/components/InputOrDisplay.vue +2 -28
  44. package/components/LabelValue.vue +1 -20
  45. package/components/ModalWithCard.vue +3 -12
  46. package/components/PodSecurityAdmission.vue +1 -1
  47. package/components/PromptModal.vue +1 -1
  48. package/components/PromptRemove.vue +11 -30
  49. package/components/ResourceDetail/Masthead/legacy.vue +38 -181
  50. package/components/ResourceDetail/legacy.vue +13 -29
  51. package/components/ResourceList/Masthead.vue +54 -226
  52. package/components/ResourceList/ResourceLoadingIndicator.vue +2 -5
  53. package/components/ResourceTable.vue +2 -24
  54. package/components/SideNav.vue +20 -74
  55. package/components/SortableTable/THead.vue +3 -33
  56. package/components/SortableTable/index.vue +464 -1017
  57. package/components/SortableTable/paging.js +16 -26
  58. package/components/SortableTable/selection.js +2 -2
  59. package/components/Tabbed/Tab.vue +3 -3
  60. package/components/Tabbed/index.vue +29 -47
  61. package/components/YamlEditor.vue +1 -0
  62. package/components/auth/Principal.vue +12 -36
  63. package/components/auth/RoleDetailEdit.vue +7 -58
  64. package/components/auth/SelectPrincipal.vue +0 -1
  65. package/components/form/ArrayList.vue +33 -41
  66. package/components/form/ArrayListGrouped.vue +2 -10
  67. package/components/form/ArrayListSelect.vue +1 -1
  68. package/components/form/BannerSettings.vue +59 -64
  69. package/components/form/ChangePassword.vue +4 -4
  70. package/components/form/ColorInput.vue +8 -32
  71. package/components/form/Footer.vue +8 -11
  72. package/components/form/InputWithSelect.vue +5 -8
  73. package/components/form/KeyValue.vue +7 -47
  74. package/components/form/LabeledSelect.vue +241 -212
  75. package/components/form/Labels.vue +3 -3
  76. package/components/form/MatchExpressions.vue +7 -24
  77. package/components/form/Members/ClusterPermissionsEditor.vue +2 -1
  78. package/components/form/Members/MembershipEditor.vue +1 -1
  79. package/components/form/NameNsDescription.vue +20 -59
  80. package/components/form/Password.vue +7 -16
  81. package/components/form/PodAffinity.vue +5 -4
  82. package/components/form/ResourceQuota/Namespace.vue +4 -4
  83. package/components/form/ResourceQuota/NamespaceRow.vue +17 -18
  84. package/components/form/ResourceQuota/Project.vue +4 -4
  85. package/components/form/ResourceQuota/ProjectRow.vue +6 -3
  86. package/components/form/Select.vue +2 -5
  87. package/components/form/SimpleSecretSelector.vue +9 -29
  88. package/components/form/UnitInput.vue +3 -8
  89. package/components/formatter/BadgeStateFormatter.vue +5 -8
  90. package/components/formatter/LiveDate.vue +3 -3
  91. package/components/nav/Favorite.vue +1 -5
  92. package/components/nav/Group.vue +99 -132
  93. package/components/nav/Header.vue +27 -124
  94. package/components/nav/HeaderPageActionMenu.vue +0 -1
  95. package/components/nav/NamespaceFilter.vue +15 -19
  96. package/components/nav/TopLevelMenu.vue +119 -182
  97. package/components/nav/Type.vue +41 -63
  98. package/composables/useClickOutside.ts +1 -1
  99. package/config/private-label.js +11 -15
  100. package/config/product/auth.js +7 -17
  101. package/config/product/settings.js +9 -19
  102. package/config/settings.ts +0 -28
  103. package/config/table-headers.js +2 -3
  104. package/dialog/ForceMachineRemoveDialog.vue +2 -2
  105. package/dialog/ScalePoolDownDialog.vue +2 -2
  106. package/edit/management.cattle.io.user.vue +4 -17
  107. package/edit/monitoring.coreos.com.alertmanagerconfig/auth.vue +19 -19
  108. package/edit/monitoring.coreos.com.alertmanagerconfig/receiverConfig.vue +31 -31
  109. package/edit/monitoring.coreos.com.alertmanagerconfig/routeConfig.vue +12 -36
  110. package/edit/monitoring.coreos.com.alertmanagerconfig/types/email.vue +6 -6
  111. package/edit/monitoring.coreos.com.alertmanagerconfig/types/opsgenie.vue +10 -10
  112. package/edit/monitoring.coreos.com.alertmanagerconfig/types/pagerduty.vue +4 -4
  113. package/edit/monitoring.coreos.com.alertmanagerconfig/types/slack.vue +4 -4
  114. package/edit/monitoring.coreos.com.alertmanagerconfig/types/webhook.vue +1 -1
  115. package/edit/monitoring.coreos.com.receiver/types/email.vue +6 -6
  116. package/edit/monitoring.coreos.com.receiver/types/opsgenie.vue +10 -10
  117. package/edit/monitoring.coreos.com.receiver/types/pagerduty.vue +5 -5
  118. package/edit/monitoring.coreos.com.receiver/types/slack.vue +4 -4
  119. package/edit/namespace.vue +2 -1
  120. package/edit/token.vue +12 -31
  121. package/edit/workload/index.vue +1 -1
  122. package/list/management.cattle.io.setting.vue +13 -22
  123. package/list/management.cattle.io.user.vue +3 -7
  124. package/list/namespace.vue +0 -3
  125. package/list/provisioning.cattle.io.cluster.vue +7 -6
  126. package/mixins/brand.js +0 -17
  127. package/package.json +1 -1
  128. package/pages/account/index.vue +12 -74
  129. package/pages/auth/login.vue +51 -214
  130. package/pages/auth/setup.vue +19 -142
  131. package/pages/c/_cluster/_product/namespaces.vue +4 -4
  132. package/pages/c/_cluster/auth/roles/index.vue +1 -19
  133. package/pages/c/_cluster/monitoring/monitor/index.vue +2 -2
  134. package/pages/c/_cluster/settings/banners.vue +102 -174
  135. package/pages/c/_cluster/settings/brand.vue +302 -350
  136. package/pages/c/_cluster/settings/performance.vue +38 -61
  137. package/pages/home.vue +30 -70
  138. package/pages/prefs.vue +25 -27
  139. package/promptRemove/mixin/roleDeletionCheck.js +2 -2
  140. package/public/index.html +4 -4
  141. package/rancher-components/BadgeState/BadgeState.vue +4 -6
  142. package/rancher-components/Banner/Banner.vue +8 -12
  143. package/rancher-components/Card/Card.vue +8 -7
  144. package/rancher-components/Form/Checkbox/Checkbox.vue +0 -4
  145. package/rancher-components/Form/LabeledInput/LabeledInput.vue +3 -42
  146. package/rancher-components/Form/Radio/RadioButton.vue +11 -35
  147. package/rancher-components/Form/Radio/RadioGroup.vue +5 -13
  148. package/rancher-components/Form/TextArea/TextAreaAutoGrow.vue +3 -3
  149. package/rancher-components/Form/ToggleSwitch/ToggleSwitch.vue +0 -1
  150. package/rancher-components/LabeledTooltip/LabeledTooltip.vue +4 -12
  151. package/rancher-components/RcDropdown/RcDropdown.vue +7 -35
  152. package/rancher-components/RcDropdown/RcDropdownItem.vue +2 -2
  153. package/rancher-components/RcDropdown/RcDropdownMenu.vue +4 -9
  154. package/rancher-components/RcDropdown/types.ts +0 -1
  155. package/rancher-components/StringList/StringList.vue +1 -1
  156. package/static/favicon.ico +0 -0
  157. package/static/favicon.png +0 -0
  158. package/static/loading-indicator.html +3 -3
  159. package/store/i18n.js +2 -2
  160. package/store/modal.ts +3 -3
  161. package/store/prefs.js +4 -11
  162. package/store/type-map.js +2 -32
  163. package/types/shell/index.d.ts +67 -74
  164. package/utils/error.js +8 -87
  165. package/utils/router.js +0 -21
  166. package/utils/select.js +3 -26
  167. package/utils/string.js +5 -8
  168. package/utils/title.ts +1 -1
  169. package/assets/icons/demo.css +0 -539
  170. package/assets/icons/demo.css:Zone.Identifier +0 -0
  171. package/assets/icons/demo_index.html +0 -1131
  172. package/assets/icons/demo_index.html:Zone.Identifier +0 -0
  173. package/assets/icons/iconfont.css +0 -216
  174. package/assets/icons/iconfont.css:Zone.Identifier +0 -0
  175. package/assets/icons/iconfont.js +0 -1
  176. package/assets/icons/iconfont.js:Zone.Identifier +0 -0
  177. package/assets/icons/iconfont.json +0 -324
  178. package/assets/icons/iconfont.json:Zone.Identifier +0 -0
  179. package/assets/icons/iconfont.ttf +0 -0
  180. package/assets/icons/iconfont.ttf:Zone.Identifier +0 -0
  181. package/assets/icons/iconfont.woff +0 -0
  182. package/assets/icons/iconfont.woff2 +0 -0
  183. package/assets/icons/iconfont.woff2:Zone.Identifier +0 -0
  184. package/assets/icons/iconfont.woff:Zone.Identifier +0 -0
  185. package/assets/images/API.svg +0 -3
  186. package/assets/images/action.svg +0 -6
  187. package/assets/images/login/password.svg +0 -20
  188. package/assets/images/login/user.svg +0 -6
  189. package/assets/images/login-bg.png +0 -0
  190. package/assets/images/login-left.png +0 -0
  191. package/assets/images/login-logo.svg +0 -19
  192. package/assets/images/logo.png +0 -0
  193. package/assets/images/pl/logo.png +0 -0
  194. package/assets/images/promp-yellow.svg +0 -5
  195. package/assets/images/user.png +0 -0
  196. package/assets/styles/all.scss +0 -63
  197. package/components/DotState.vue +0 -84
  198. package/utils/errorTranslate.json +0 -1336
@@ -154,14 +154,9 @@ export default defineComponent({
154
154
  $left-border-size: 4px;
155
155
  $icon-size: 24px;
156
156
 
157
- .banner__content {
158
- line-height: 18px !important;
159
- }
160
-
161
157
  .banner {
162
158
  display: flex;
163
- /* margin: 15px 0; */
164
- margin: 0px 0px 20px 0px;
159
+ margin: 15px 0;
165
160
  position: relative;
166
161
  width: 100%;
167
162
  color: var(--body-text);
@@ -200,16 +195,18 @@ $icon-size: 24px;
200
195
  }
201
196
  }
202
197
 
198
+ &.banner-disabled {
199
+ filter: grayscale(1);
200
+ }
201
+
203
202
  &__content {
204
- padding: 9px 10px;
203
+ padding: 10px;
205
204
  transition: all 0.2s ease;
206
- line-height: 12px;
205
+ line-height: 20px;
207
206
  width: 100%;
208
207
  border-left: solid $left-border-size transparent;
209
208
  display: flex;
210
209
  gap: 3px;
211
- word-wrap:break-word;
212
- word-break:break-all;
213
210
 
214
211
  .primary & {
215
212
  background: var(--primary);
@@ -227,8 +224,7 @@ $icon-size: 24px;
227
224
  }
228
225
 
229
226
  .info & {
230
- // background: var(--info-banner-bg);
231
- background: #f2f2f2;
227
+ background: var(--info-banner-bg);
232
228
  border-color: var(--info);
233
229
  }
234
230
 
@@ -76,7 +76,7 @@ export default defineComponent({
76
76
  <template>
77
77
  <div
78
78
  id="focus-trap-card-container-element"
79
- class="card-containers"
79
+ class="card-container"
80
80
  :class="{'highlight-border': showHighlightBorder, 'card-sticky': sticky}"
81
81
  data-testid="card"
82
82
  >
@@ -89,7 +89,7 @@ export default defineComponent({
89
89
  {{ title }}
90
90
  </slot>
91
91
  </div>
92
- <!-- <hr role="none"> -->
92
+ <hr role="none">
93
93
  <div
94
94
  class="card-body"
95
95
  data-testid="card-body-slot"
@@ -117,15 +117,17 @@ export default defineComponent({
117
117
  </template>
118
118
 
119
119
  <style lang='scss'>
120
- .card-containers {
120
+ .card-container {
121
121
  &.highlight-border {
122
122
  border-left: 5px solid var(--primary);
123
123
  }
124
+ border-radius: var(--border-radius);
124
125
  display: flex;
125
126
  flex-basis: 40%;
127
+ margin: 10px;
126
128
  min-height: 100px;
127
- padding: 24px;
128
- border: 1px solid var(--border);
129
+ padding: 10px;
130
+ box-shadow: 0 0 20px var(--shadow);
129
131
  &:not(.top) {
130
132
  align-items: top;
131
133
  flex-direction: row;
@@ -141,15 +143,14 @@ export default defineComponent({
141
143
  justify-content: center;
142
144
  }
143
145
  & .card-actions {
146
+ align-self: end;
144
147
  display: flex;
145
- justify-content: flex-end;
146
148
  padding-top: 20px;
147
149
  }
148
150
  & .card-title {
149
151
  align-items: center;
150
152
  display: flex;
151
153
  width: 100%;
152
- margin-bottom: 15px;
153
154
  h5 {
154
155
  margin: 0;
155
156
  }
@@ -317,7 +317,6 @@ export default defineComponent({
317
317
  <span
318
318
  v-else-if="label"
319
319
  :id="idForLabel"
320
- :style="label == '记住用户名' ? { color: '#fff' } : ''"
321
320
  >{{ label }}</span>
322
321
  <i
323
322
  v-if="tooltipKey"
@@ -498,9 +497,6 @@ $fontColor: var(--input-label);
498
497
 
499
498
  // Disabled styles
500
499
  &.disabled {
501
- span {
502
- color: var(--muted);
503
- }
504
500
  .checkbox-custom {
505
501
  background-color: var(--checkbox-disabled-bg);
506
502
  border-color: var(--checkbox-disabled-bg);
@@ -4,7 +4,6 @@ import TextAreaAutoGrow from '@components/Form/TextArea/TextAreaAutoGrow.vue';
4
4
  import LabeledTooltip from '@components/LabeledTooltip/LabeledTooltip.vue';
5
5
  import { escapeHtml, generateRandomAlphaString } from '@shell/utils/string';
6
6
  import cronstrue from 'cronstrue';
7
- import 'cronstrue/locales/zh_CN';
8
7
  import { isValidCron } from 'cron-validator';
9
8
  import { debounce } from 'lodash';
10
9
  import { useLabeledFormElement, labeledFormElementProps } from '@shell/composables/useLabeledFormElement';
@@ -227,8 +226,7 @@ export default defineComponent({
227
226
  }
228
227
 
229
228
  try {
230
- // const hint = cronstrue.toString(this.value as string || '', { verbose: true });
231
- const hint = cronstrue.toString(this.value as string || '', { locale: 'zh_CN' });
229
+ const hint = cronstrue.toString(this.value as string || '', { verbose: true });
232
230
 
233
231
  return hint;
234
232
  } catch (e) {
@@ -349,24 +347,6 @@ export default defineComponent({
349
347
  </script>
350
348
 
351
349
  <template>
352
- <div class="label-input-all">
353
- <slot name="label">
354
- <label
355
- v-if="hasLabel"
356
- :for="inputId"
357
- >
358
- <t
359
- v-if="labelKey"
360
- :k="labelKey"
361
- />
362
- <template v-else-if="label">{{ label }}</template>
363
-
364
- <span
365
- v-if="requiredField"
366
- class="required"
367
- >*</span>
368
- </label>
369
- </slot>
370
350
  <div
371
351
  :class="{
372
352
  'labeled-input': true,
@@ -381,7 +361,7 @@ export default defineComponent({
381
361
  [className]: true
382
362
  }"
383
363
  >
384
- <!-- <slot name="label">
364
+ <slot name="label">
385
365
  <label
386
366
  v-if="hasLabel"
387
367
  :for="inputId"
@@ -398,7 +378,7 @@ export default defineComponent({
398
378
  :aria-hidden="true"
399
379
  >*</span>
400
380
  </label>
401
- </slot> -->
381
+ </slot>
402
382
 
403
383
  <slot name="prefix" />
404
384
 
@@ -482,8 +462,6 @@ export default defineComponent({
482
462
  />
483
463
  </div>
484
464
  </div>
485
- <slot name="suffixNew" />
486
- </div>
487
465
  </template>
488
466
  <style scoped lang="scss">
489
467
  .labeled-input.view {
@@ -506,23 +484,6 @@ export default defineComponent({
506
484
  -moz-appearance: textfield;
507
485
  }
508
486
  }
509
- .label-input-all{
510
- display: flex;
511
- label{
512
- width: 160px !important;
513
- line-height: 32px;
514
- .required{
515
- color: red;
516
- }
517
- }
518
- }
519
- .span-4 {
520
- width: none;
521
- }
522
- .v-popper--has-tooltip INPUT, .v-popper--has-tooltip INPUT:hover, .v-popper--has-tooltip INPUT:focus{
523
- padding: 0px 0px 0px 11px;
524
- }
525
-
526
487
  </style>
527
488
  <style>
528
489
  .validation-message {
@@ -198,7 +198,7 @@ export default defineComponent({
198
198
  >
199
199
  <!-- slot content -->
200
200
  </slot>
201
- <div
201
+ <span
202
202
  v-else-if="label"
203
203
  v-clean-html="label"
204
204
  />
@@ -264,25 +264,18 @@ $fontColor: var(--input-label);
264
264
  &.disabled,
265
265
  &.disabled .radio-label,
266
266
  &.disabled .radio-button-outer-container-description {
267
- cursor: not-allowed;
268
- color: var(--muted);
267
+ cursor: not-allowed
269
268
  }
270
269
 
271
- .radio-custom {
272
- height: 12px;
273
- width: 12px;
274
- min-height: 13px;
275
- min-width: 13px;
270
+ .radio-custom {
271
+ height: 14px;
272
+ width: 14px;
273
+ min-height: 14px;
274
+ min-width: 14px;
276
275
  background-color: var(--input-bg);
277
276
  border-radius: 50%;
278
- transition: all 0.3s ease-out;
279
277
  border: 1.5px solid var(--border);
280
- margin-top: 3px !important;
281
-
282
- &:focus {
283
- outline: none;
284
- border-radius: 50%;
285
- }
278
+ margin-top: 5px;
286
279
  }
287
280
 
288
281
  input {
@@ -291,37 +284,20 @@ $fontColor: var(--input-label);
291
284
 
292
285
  .radio-custom {
293
286
  &[aria-checked="true"] {
294
- background-color: #fff;
287
+ background-color: var(--primary);
295
288
  -webkit-transform: rotate(0deg) scale(1);
296
289
  -ms-transform: rotate(0deg) scale(1);
297
290
  transform: rotate(0deg) scale(1);
298
291
  opacity:1;
299
292
  border: 1.5px solid var(--primary);
300
- display: flex;
301
- align-items: center;
302
- justify-content: center;
303
-
304
293
 
305
- &::after {
306
- background-color: var(--primary);
307
- width: 7px;
308
- height: 7px;
309
- display: inline;
310
- content: "";
311
- /* position: absolute; */
312
- /* top: 17%;
313
- left: 19%;
314
- margin-left: 0.4px; */
315
- /* top: 1.5px;
316
- left: 1.5px; */
317
- border-radius: 50%;
318
- }
319
294
  // Ensure that checked radio buttons are muted but still visibly selected when muted
320
295
  &.text-muted {
321
296
  opacity: .25;
322
297
  }
323
298
  }
324
299
  }
300
+
325
301
  input:disabled ~ .radio-custom:not([aria-checked="true"]) {
326
302
  background-color: var(--disabled-bg);
327
303
  opacity: .25;
@@ -337,7 +313,7 @@ $fontColor: var(--input-label);
337
313
  display: inline-flex;
338
314
  flex-direction: column;
339
315
 
340
- margin: 3px 16px 0px 5px;
316
+ margin: 3px 10px 0px 5px;
341
317
  }
342
318
  }
343
319
 
@@ -237,14 +237,14 @@ export default defineComponent({
237
237
  </script>
238
238
 
239
239
  <template>
240
- <div style="display: flex;">
240
+ <div>
241
241
  <!-- Label -->
242
242
  <div
243
243
  v-if="label || labelKey || tooltip || tooltipKey || $slots.label"
244
- class="radio-group label radio-group-labelBox"
244
+ class="radio-group label"
245
245
  >
246
246
  <slot name="label">
247
- <span class="radio-group-title">
247
+ <h3>
248
248
  <t
249
249
  v-if="labelKey"
250
250
  :k="labelKey"
@@ -262,7 +262,7 @@ export default defineComponent({
262
262
  v-clean-tooltip="tooltip"
263
263
  class="icon icon-info icon-lg"
264
264
  />
265
- </span>
265
+ </h3>
266
266
  </slot>
267
267
  </div>
268
268
 
@@ -334,15 +334,7 @@ export default defineComponent({
334
334
  }
335
335
 
336
336
  .label{
337
- font-size: 12px !important;
337
+ font-size: 14px !important;
338
338
  }
339
339
  }
340
- .radio-group-title{
341
- font-size: 12px !important;
342
- margin-bottom: 0px !important;
343
- display: inline-block;
344
- }
345
- .radio-group-labelBox {
346
- width: 160px;
347
- }
348
340
  </style>
@@ -108,7 +108,7 @@ export default defineComponent({
108
108
  * (unless the input is long)
109
109
  */
110
110
  style(): string {
111
- return `height: ${ this.curHeight }px; overflow: ${ this.overflow };min-height:${ this.curHeight }px;`;
111
+ return `height: ${ this.curHeight }px; overflow: ${ this.overflow };`;
112
112
  },
113
113
 
114
114
  className(): string | unknown[] | Record<string, boolean> {
@@ -165,13 +165,13 @@ export default defineComponent({
165
165
  return;
166
166
  }
167
167
 
168
- // el.style.height = '1px';
168
+ el.style.height = '1px';
169
169
 
170
170
  const border = parseInt(getComputedStyle(el).getPropertyValue('borderTopWidth'), 10) || 0 + parseInt(getComputedStyle(el).getPropertyValue('borderBottomWidth'), 10) || 0;
171
171
  const neu = Math.max(this.minHeight, Math.min(el.scrollHeight + border, this.maxHeight));
172
172
 
173
173
  el.style.overflowY = el.scrollHeight > neu ? 'auto' : 'hidden';
174
- // el.style.height = `${ neu }px`;
174
+ el.style.height = `${ neu }px`;
175
175
 
176
176
  this.curHeight = neu;
177
177
  }
@@ -94,7 +94,6 @@ export default defineComponent({
94
94
  :class="{'toggle-disabled': disabled}"
95
95
  >
96
96
  <span
97
- style="width: 160px;"
98
97
  class="label no-select hand"
99
98
  :class="{ active: !state}"
100
99
  @click="toggle(false)"
@@ -109,9 +109,9 @@ export default defineComponent({
109
109
 
110
110
  .status-icon {
111
111
  position: absolute;
112
- right: 5px;
113
- top: 10px;
114
- z-index: 3;
112
+ right: 30px;
113
+ top: $input-padding-lg;
114
+ z-index: z-index(hoverOverContent);
115
115
  }
116
116
 
117
117
  @mixin tooltipColors($color) {
@@ -120,19 +120,11 @@ export default defineComponent({
120
120
  }
121
121
  }
122
122
 
123
- &.null {
124
-
125
- .status-icon {
126
- top: 5px;
127
- right: -20px;
128
- }
129
- }
130
-
131
123
  &.error {
132
124
  @include tooltipColors(var(--error));
133
125
 
134
126
  .status-icon {
135
- top: 9px !important;
127
+ top: 7px;
136
128
  right: 5px;
137
129
  }
138
130
  }
@@ -52,7 +52,7 @@ const {
52
52
 
53
53
  provideDropdownContext();
54
54
 
55
- // const popperContainer = ref(null);
55
+ const popperContainer = ref(null);
56
56
  const dropdownTarget = ref(null);
57
57
 
58
58
  useClickOutside(dropdownTarget, () => showMenu(false));
@@ -71,30 +71,16 @@ const applyShow = () => {
71
71
  :triggers="[]"
72
72
  :shown="isMenuOpen"
73
73
  :auto-hide="false"
74
- append-to-body
74
+ :container="popperContainer"
75
75
  :placement="placement"
76
76
  :distance="distance"
77
77
  @apply-show="applyShow"
78
- popper-class="custom-dropdown"
79
78
  >
80
79
  <slot name="default">
81
80
  <!--Empty slot content Trigger-->
82
81
  </slot>
83
82
 
84
83
  <template #popper>
85
- <!-- <div
86
- ref="dropdownTarget"
87
- class="dropdownTarget"
88
- tabindex="-1"
89
- role="menu"
90
- aria-orientation="vertical"
91
- dropdown-menu-collection
92
- :aria-label="ariaLabel || 'Dropdown Menu'"
93
- @keydown="handleKeydown"
94
- @keydown.down.prevent="setFocus('down')"
95
- @keydown.up.prevent="setFocus('up')"
96
-
97
- > -->
98
84
  <div
99
85
  ref="dropdownTarget"
100
86
  class="dropdownTarget"
@@ -106,8 +92,6 @@ const applyShow = () => {
106
92
  @keydown="handleKeydown"
107
93
  @keydown.down.prevent="setFocus('down')"
108
94
  @keydown.up.prevent="setFocus('up')"
109
- @keydown.tab="showMenu(false)"
110
- @keydown.escape="returnFocus"
111
95
  >
112
96
  <slot name="dropdownCollection">
113
97
  <!--Empty slot content-->
@@ -115,13 +99,14 @@ const applyShow = () => {
115
99
  </div>
116
100
  </template>
117
101
  </v-dropdown>
118
- <!-- <div
102
+ <div
119
103
  ref="popperContainer"
120
104
  class="popperContainer"
121
105
  @keydown.tab="showMenu(false)"
122
106
  @keydown.escape="returnFocus"
123
107
  >
124
- </div> -->
108
+ <!--Empty container for mounting popper content-->
109
+ </div>
125
110
  </template>
126
111
 
127
112
  <style lang="scss" scoped>
@@ -130,8 +115,7 @@ const applyShow = () => {
130
115
  &:deep(.v-popper__popper) {
131
116
 
132
117
  .v-popper__wrapper {
133
- box-shadow: 0 5px 20px var(--shadow);
134
- /* box-shadow: 0px 6px 18px 0px rgba(0, 0, 0, 0.25), 0px 4px 10px 0px rgba(0, 0, 0, 0.15); */
118
+ box-shadow: 0px 6px 18px 0px rgba(0, 0, 0, 0.25), 0px 4px 10px 0px rgba(0, 0, 0, 0.15);
135
119
  border-radius: var(--border-radius-lg);
136
120
 
137
121
  .v-popper__arrow-container {
@@ -140,9 +124,7 @@ const applyShow = () => {
140
124
 
141
125
  .v-popper__inner {
142
126
  overflow: unset;
143
- /* padding: 10px 0 10px 0; */
144
- padding: 0px;
145
- /* min-width: 145px; */
127
+ padding: 10px 0 10px 0;
146
128
  }
147
129
  }
148
130
  }
@@ -156,14 +138,4 @@ const applyShow = () => {
156
138
  outline: none;
157
139
  }
158
140
  }
159
-
160
- .custom-dropdown{
161
- .v-popper__wrapper{
162
- .v-popper__inner {
163
- padding: 0px;
164
- }
165
- }
166
- }
167
-
168
141
  </style>
169
-
@@ -52,8 +52,8 @@ const handleClick = (e: MouseEvent) => {
52
52
  display: flex;
53
53
  gap: 8px;
54
54
  align-items: center;
55
- padding: 8px 10px;
56
- min-width: 145px;
55
+ padding: 9px 8px;
56
+ margin: 0 9px;
57
57
  border-radius: 4px;
58
58
 
59
59
  &:hover {
@@ -11,8 +11,6 @@ import IconOrSvg from '@shell/components/IconOrSvg';
11
11
  withDefaults(defineProps<RcDropdownMenuComponentProps>(), {
12
12
  buttonRole: 'primary',
13
13
  buttonSize: undefined,
14
- isDetail: false,
15
- showIcon: false
16
14
  });
17
15
 
18
16
  const emit = defineEmits(['update:open', 'select']);
@@ -33,10 +31,7 @@ const hasOptions = (options: DropdownOption[]) => {
33
31
  :data-testid="dataTestid"
34
32
  :aria-label="buttonAriaLabel"
35
33
  >
36
- <div v-if="showIcon">
37
- <i class="icon icon-actions" />
38
- </div>
39
- <a v-else href="javascript:;">操作</a>
34
+ <i class="icon icon-actions" />
40
35
  </rc-dropdown-trigger>
41
36
  <template #dropdownCollection>
42
37
  <template
@@ -47,7 +42,7 @@ const hasOptions = (options: DropdownOption[]) => {
47
42
  v-if="!a.divider"
48
43
  @click="(e: MouseEvent) => emit('select', e, a)"
49
44
  >
50
- <!-- <template #before>
45
+ <template #before>
51
46
  <IconOrSvg
52
47
  v-if="a.icon || a.svg"
53
48
  :icon="a.icon"
@@ -55,7 +50,7 @@ const hasOptions = (options: DropdownOption[]) => {
55
50
  class="icon"
56
51
  color="header"
57
52
  />
58
- </template> -->
53
+ </template>
59
54
  {{ a.label }}
60
55
  </rc-dropdown-item>
61
56
  <rc-dropdown-separator
@@ -66,7 +61,7 @@ const hasOptions = (options: DropdownOption[]) => {
66
61
  v-if="!hasOptions(options)"
67
62
  disabled
68
63
  >
69
- 暂无可执行的操作。
64
+ No actions available
70
65
  </rc-dropdown-item>
71
66
  </template>
72
67
  </rc-dropdown>
@@ -46,5 +46,4 @@ export type RcDropdownMenuComponentProps = {
46
46
  buttonAriaLabel?: string;
47
47
  dropdownAriaLabel?: string;
48
48
  dataTestid?: string;
49
- showIcon?: Boolean;
50
49
  }
@@ -633,7 +633,7 @@ export default defineComponent({
633
633
  }
634
634
 
635
635
  :deep() {
636
- // .labeled-input INPUT.no-label,
636
+ .labeled-input INPUT.no-label,
637
637
  .labeled-input INPUT:hover.no-label,
638
638
  .labeled-input INPUT:focus.no-label {
639
639
  padding: 1px 0px 0px 0px;
Binary file
Binary file
@@ -15,14 +15,14 @@
15
15
  animation: initial-load-animate 1s infinite linear;
16
16
  background-color: transparent;
17
17
  box-sizing: border-box;
18
- border: 5px solid #1890FF;
18
+ border: 5px solid #008ACF;
19
19
  border-radius: 50%;
20
- border-top-color: transparent;
20
+ border-top-color: #00B2E2;
21
21
  display: inline-block;
22
22
  height: 80px;
23
23
  margin: 0 auto;
24
24
  width: 80px;
25
- }}
25
+ }
26
26
 
27
27
  @keyframes initial-load-animate {
28
28
  0% {
package/store/i18n.js CHANGED
@@ -18,7 +18,7 @@ export const state = function() {
18
18
  // const available = translationContext.keys().map(path => path.replace(/^.*\/([^\/]+)\.[^.]+$/, '$1'));
19
19
  // Using require.context() forces them to all be in the same webpack chunk name... just hardcode the list for now so zh-hans
20
20
  // gets generated as it's own chunk instead of being loaded all the time.
21
- const available = ['zh-hans', DEFAULT_LOCALE];
21
+ const available = [DEFAULT_LOCALE, 'zh-hans'];
22
22
 
23
23
  const out = {
24
24
  default: DEFAULT_LOCALE,
@@ -229,7 +229,7 @@ export const actions = {
229
229
  const exists = !!state.available.find((loc) => loc === selected);
230
230
 
231
231
  if ( !selected || !exists) {
232
- selected = 'zh-hans';
232
+ selected = state.default;
233
233
  }
234
234
 
235
235
  return dispatch('switchTo', selected);
package/store/modal.ts CHANGED
@@ -17,7 +17,7 @@ const state = (): ModalState => ({
17
17
  componentProps: {},
18
18
  resources: [],
19
19
  closeOnClickOutside: false,
20
- modalWidth: '610px',
20
+ modalWidth: '600px',
21
21
  modalSticky: false
22
22
  });
23
23
 
@@ -45,7 +45,7 @@ const mutations: MutationTree<ModalState> = {
45
45
  state.componentProps = payload.componentProps || {};
46
46
  state.resources = Array.isArray(payload.resources) ? payload.resources : (payload.resources ? [payload.resources] : []);
47
47
  state.closeOnClickOutside = payload.closeOnClickOutside ?? false;
48
- state.modalWidth = payload.modalWidth || '610px';
48
+ state.modalWidth = payload.modalWidth || '600px';
49
49
  state.modalSticky = payload.modalSticky ?? false;
50
50
  },
51
51
 
@@ -55,7 +55,7 @@ const mutations: MutationTree<ModalState> = {
55
55
  state.componentProps = {};
56
56
  state.resources = [];
57
57
  state.closeOnClickOutside = false;
58
- state.modalWidth = '610px';
58
+ state.modalWidth = '600px';
59
59
  state.modalSticky = false;
60
60
  }
61
61
  };