dashboard-shell-shell 3.0.5-test.5 → 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.
- package/assets/brand/harvester/favicon.png +0 -0
- package/assets/brand/suse/favicon.png +0 -0
- package/assets/images/pl/half-logo.svg +23 -2
- package/assets/images/pl/harvester.png +0 -0
- package/assets/styles/app.scss +0 -4
- package/assets/styles/base/_basic.scss +2 -2
- package/assets/styles/base/_mixins.scss +1 -1
- package/assets/styles/base/_typography.scss +1 -2
- package/assets/styles/base/_variables.scss +4 -11
- package/assets/styles/global/_button.scss +25 -43
- package/assets/styles/global/_columns.scss +1 -3
- package/assets/styles/global/_form.scss +13 -45
- package/assets/styles/global/_labeled-input.scss +26 -54
- package/assets/styles/global/_layout.scss +3 -8
- package/assets/styles/global/_select.scss +17 -25
- package/assets/styles/global/_table.scss +1 -7
- package/assets/styles/global/_tooltip.scss +8 -56
- package/assets/styles/themes/_dark.scss +0 -3
- package/assets/styles/themes/_light.scss +43 -66
- package/assets/styles/vendor/vue-select.scss +9 -22
- package/assets/translations/en-us.yaml +4 -28
- package/assets/translations/zh-hans.yaml +189 -452
- package/components/ActionDropdown.vue +1 -2
- package/components/ActionMenu.vue +2 -2
- package/components/ActionMenuShell.vue +0 -2
- package/components/AppModal.vue +5 -46
- package/components/BrandImage.vue +0 -1
- package/components/ButtonDropdown.vue +4 -26
- package/components/ButtonMultiAction.vue +0 -1
- package/components/ClusterIconMenu.vue +1 -1
- package/components/CodeMirror.vue +6 -20
- package/components/ConsumptionGauge.vue +5 -24
- package/components/CopyToClipboard.vue +0 -15
- package/components/CruResource.vue +8 -9
- package/components/CruResourceFooter.vue +2 -2
- package/components/DashboardOptions.vue +17 -29
- package/components/Drawer/Chrome.vue +2 -2
- package/components/Drawer/ResourceDetailDrawer/ConfigTab.vue +23 -23
- package/components/Drawer/ResourceDetailDrawer/index.vue +2 -2
- package/components/ExplorerMembers.vue +3 -18
- package/components/ExplorerProjectsNamespaces.vue +5 -19
- package/components/GlobalRoleBindings.vue +48 -112
- package/components/GrafanaDashboard.vue +4 -4
- package/components/GrowlManager.vue +1 -3
- package/components/HardwareResourceGauge.vue +3 -39
- package/components/IndentedPanel.vue +10 -4
- package/components/InfoBox.vue +3 -3
- package/components/InputOrDisplay.vue +2 -28
- package/components/LabelValue.vue +1 -20
- package/components/ModalWithCard.vue +3 -12
- package/components/PodSecurityAdmission.vue +1 -1
- package/components/PromptModal.vue +1 -1
- package/components/PromptRemove.vue +11 -30
- package/components/Resource/Detail/Metadata/IdentifyingInformation/index.vue +3 -1
- package/components/Resource/Detail/Metadata/KeyValue.vue +4 -8
- package/components/Resource/Detail/Metadata/index.vue +1 -2
- package/components/Resource/Detail/TitleBar/Title.vue +3 -4
- package/components/Resource/Detail/TitleBar/index.vue +24 -103
- package/components/ResourceDetail/Masthead/legacy.vue +38 -181
- package/components/ResourceDetail/legacy.vue +14 -32
- package/components/ResourceList/Masthead.vue +54 -226
- package/components/ResourceList/ResourceLoadingIndicator.vue +2 -5
- package/components/ResourceTable.vue +2 -24
- package/components/SideNav.vue +20 -74
- package/components/SortableTable/THead.vue +3 -33
- package/components/SortableTable/index.vue +464 -1017
- package/components/SortableTable/paging.js +16 -26
- package/components/SortableTable/selection.js +2 -2
- package/components/Tabbed/Tab.vue +3 -3
- package/components/Tabbed/index.vue +30 -48
- package/components/YamlEditor.vue +1 -0
- package/components/auth/Principal.vue +13 -37
- package/components/auth/RoleDetailEdit.vue +7 -58
- package/components/auth/SelectPrincipal.vue +0 -1
- package/components/form/ArrayList.vue +33 -41
- package/components/form/ArrayListGrouped.vue +2 -10
- package/components/form/ArrayListSelect.vue +1 -1
- package/components/form/BannerSettings.vue +59 -64
- package/components/form/ChangePassword.vue +4 -4
- package/components/form/ColorInput.vue +8 -32
- package/components/form/Footer.vue +8 -11
- package/components/form/InputWithSelect.vue +5 -8
- package/components/form/KeyValue.vue +7 -47
- package/components/form/LabeledSelect.vue +242 -214
- package/components/form/Labels.vue +3 -3
- package/components/form/MatchExpressions.vue +7 -24
- package/components/form/Members/ClusterPermissionsEditor.vue +2 -1
- package/components/form/Members/MembershipEditor.vue +1 -1
- package/components/form/NameNsDescription.vue +20 -59
- package/components/form/Password.vue +7 -16
- package/components/form/PodAffinity.vue +5 -4
- package/components/form/ResourceQuota/Namespace.vue +4 -4
- package/components/form/ResourceQuota/NamespaceRow.vue +17 -18
- package/components/form/ResourceQuota/Project.vue +4 -4
- package/components/form/ResourceQuota/ProjectRow.vue +6 -3
- package/components/form/Select.vue +2 -5
- package/components/form/SimpleSecretSelector.vue +9 -29
- package/components/form/Taints.vue +1 -2
- package/components/form/UnitInput.vue +3 -8
- package/components/form/WorkloadPorts.vue +123 -143
- package/components/formatter/BadgeStateFormatter.vue +5 -8
- package/components/formatter/LiveDate.vue +3 -3
- package/components/nav/Favorite.vue +1 -5
- package/components/nav/Group.vue +99 -132
- package/components/nav/Header.vue +27 -124
- package/components/nav/HeaderPageActionMenu.vue +0 -1
- package/components/nav/NamespaceFilter.vue +15 -19
- package/components/nav/TopLevelMenu.vue +119 -182
- package/components/nav/Type.vue +41 -63
- package/composables/useClickOutside.ts +1 -1
- package/config/private-label.js +11 -15
- package/config/product/auth.js +7 -17
- package/config/product/settings.js +9 -19
- package/config/settings.ts +0 -28
- package/config/table-headers.js +2 -3
- package/dialog/ForceMachineRemoveDialog.vue +2 -2
- package/dialog/ScalePoolDownDialog.vue +2 -2
- package/edit/management.cattle.io.user.vue +4 -17
- package/edit/monitoring.coreos.com.alertmanagerconfig/auth.vue +19 -19
- package/edit/monitoring.coreos.com.alertmanagerconfig/receiverConfig.vue +31 -31
- package/edit/monitoring.coreos.com.alertmanagerconfig/routeConfig.vue +12 -36
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/email.vue +6 -6
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/opsgenie.vue +10 -10
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/pagerduty.vue +4 -4
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/slack.vue +4 -4
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/webhook.vue +1 -1
- package/edit/monitoring.coreos.com.receiver/types/email.vue +6 -6
- package/edit/monitoring.coreos.com.receiver/types/opsgenie.vue +10 -10
- package/edit/monitoring.coreos.com.receiver/types/pagerduty.vue +5 -5
- package/edit/monitoring.coreos.com.receiver/types/slack.vue +4 -4
- package/edit/namespace.vue +2 -1
- package/edit/token.vue +12 -31
- package/edit/workload/index.vue +4 -4
- package/list/management.cattle.io.setting.vue +13 -22
- package/list/management.cattle.io.user.vue +3 -7
- package/list/namespace.vue +0 -3
- package/list/provisioning.cattle.io.cluster.vue +7 -6
- package/mixins/brand.js +0 -17
- package/package.json +1 -1
- package/pages/account/index.vue +25 -79
- package/pages/auth/login.vue +52 -220
- package/pages/auth/setup.vue +19 -142
- package/pages/c/_cluster/_product/namespaces.vue +5 -5
- package/pages/c/_cluster/auth/roles/index.vue +1 -19
- package/pages/c/_cluster/monitoring/monitor/index.vue +2 -2
- package/pages/c/_cluster/settings/banners.vue +102 -174
- package/pages/c/_cluster/settings/brand.vue +302 -350
- package/pages/c/_cluster/settings/performance.vue +38 -61
- package/pages/home.vue +30 -70
- package/pages/prefs.vue +25 -27
- package/promptRemove/mixin/roleDeletionCheck.js +2 -2
- package/public/index.html +4 -4
- package/rancher-components/BadgeState/BadgeState.vue +55 -38
- package/rancher-components/Banner/Banner.vue +8 -12
- package/rancher-components/Card/Card.vue +8 -7
- package/rancher-components/Form/Checkbox/Checkbox.vue +0 -4
- package/rancher-components/Form/LabeledInput/LabeledInput.vue +3 -42
- package/rancher-components/Form/Radio/RadioButton.vue +11 -35
- package/rancher-components/Form/Radio/RadioGroup.vue +5 -13
- package/rancher-components/Form/TextArea/TextAreaAutoGrow.vue +3 -3
- package/rancher-components/Form/ToggleSwitch/ToggleSwitch.vue +0 -1
- package/rancher-components/LabeledTooltip/LabeledTooltip.vue +4 -12
- package/rancher-components/RcDropdown/RcDropdown.vue +7 -35
- package/rancher-components/RcDropdown/RcDropdownItem.vue +2 -2
- package/rancher-components/RcDropdown/RcDropdownMenu.vue +6 -12
- package/rancher-components/RcDropdown/types.ts +0 -1
- package/rancher-components/StringList/StringList.vue +1 -1
- package/static/favicon.ico +0 -0
- package/static/favicon.png +0 -0
- package/static/loading-indicator.html +3 -3
- package/store/i18n.js +2 -5
- package/store/modal.ts +3 -3
- package/store/prefs.js +4 -11
- package/store/type-map.js +2 -32
- package/types/shell/index.d.ts +67 -74
- package/utils/error.js +8 -87
- package/utils/router.js +0 -21
- package/utils/select.js +3 -26
- package/utils/string.js +5 -8
- package/utils/title.ts +1 -1
- package/assets/icons/demo.css +0 -539
- package/assets/icons/demo.css:Zone.Identifier +0 -0
- package/assets/icons/demo_index.html +0 -1131
- package/assets/icons/demo_index.html:Zone.Identifier +0 -0
- package/assets/icons/iconfont.css +0 -216
- package/assets/icons/iconfont.css:Zone.Identifier +0 -0
- package/assets/icons/iconfont.js +0 -1
- package/assets/icons/iconfont.js:Zone.Identifier +0 -0
- package/assets/icons/iconfont.json +0 -324
- package/assets/icons/iconfont.json:Zone.Identifier +0 -0
- package/assets/icons/iconfont.ttf +0 -0
- package/assets/icons/iconfont.ttf:Zone.Identifier +0 -0
- package/assets/icons/iconfont.woff +0 -0
- package/assets/icons/iconfont.woff2 +0 -0
- package/assets/icons/iconfont.woff2:Zone.Identifier +0 -0
- package/assets/icons/iconfont.woff:Zone.Identifier +0 -0
- package/assets/images/API.svg +0 -3
- package/assets/images/action.svg +0 -6
- package/assets/images/login/password.svg +0 -20
- package/assets/images/login/user.svg +0 -6
- package/assets/images/login-bg.png +0 -0
- package/assets/images/login-left.png +0 -0
- package/assets/images/login-logo.svg +0 -19
- package/assets/images/logo.png +0 -0
- package/assets/images/pl/logo.png +0 -0
- package/assets/images/promp-yellow.svg +0 -5
- package/assets/images/user.png +0 -0
- package/assets/styles/all.scss +0 -63
- package/components/DotState.vue +0 -84
- package/components/breadcrumb/index.vue +0 -340
- package/pages/account/pri.vue +0 -229
- package/utils/errorTranslate.json +0 -1336
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { PropType, defineComponent } from 'vue';
|
|
3
|
-
import { mapGetters } from 'vuex';
|
|
4
3
|
|
|
5
4
|
interface Badge {
|
|
6
5
|
stateBackground: string;
|
|
@@ -48,56 +47,74 @@ export default defineComponent({
|
|
|
48
47
|
},
|
|
49
48
|
|
|
50
49
|
computed: {
|
|
51
|
-
...mapGetters({ t: 'i18n/t' }),
|
|
52
50
|
bg(): string | null {
|
|
53
51
|
return this.value?.stateBackground || this.color;
|
|
54
52
|
},
|
|
55
53
|
|
|
56
54
|
msg(): string | null {
|
|
57
|
-
|
|
58
|
-
let zhText = this.t(`stateLabel.${ text }`)
|
|
59
|
-
return zhText ? zhText : text
|
|
55
|
+
return this.value?.stateDisplay || this.label;
|
|
60
56
|
}
|
|
61
57
|
}
|
|
62
58
|
});
|
|
63
59
|
</script>
|
|
64
60
|
|
|
65
61
|
<template>
|
|
66
|
-
<
|
|
67
|
-
<
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
62
|
+
<span :class="['badge-state', bg]">
|
|
63
|
+
<i
|
|
64
|
+
v-if="icon"
|
|
65
|
+
class="icon"
|
|
66
|
+
:class="{[icon]: true, 'mr-5': !!msg}"
|
|
67
|
+
/>
|
|
68
|
+
<span class="msg">{{ msg }}</span>
|
|
69
|
+
<slot name="content-right" />
|
|
70
|
+
</span>
|
|
71
71
|
</template>
|
|
72
|
+
|
|
72
73
|
<style lang="scss" scoped>
|
|
73
|
-
.
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
border
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
74
|
+
.badge-state {
|
|
75
|
+
align-items: center;
|
|
76
|
+
display: inline-flex;
|
|
77
|
+
padding: 2px 10px;
|
|
78
|
+
border: 1px solid transparent;
|
|
79
|
+
border-radius: 20px;
|
|
80
|
+
|
|
81
|
+
&.bg-info {
|
|
82
|
+
border-color: var(--info);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
&.bg-error {
|
|
86
|
+
border-color: var(--error);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
&.bg-warning {
|
|
90
|
+
border-color: var(--warning);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// Successful states are de-emphasized by using [text-]color instead of background-color
|
|
94
|
+
&.bg-success {
|
|
95
|
+
color: var(--success);
|
|
96
|
+
background: transparent;
|
|
97
|
+
border-color: var(--success);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
// Added badge-disabled instead of bg-disabled since bg-disabled is used in other places with !important styling, an investigation is needed to make the naming consistent
|
|
101
|
+
&.badge-disabled {
|
|
102
|
+
color: var(--badge-state-disabled-text);
|
|
103
|
+
background-color: var( --badge-state-disabled-bg);
|
|
104
|
+
border: 1px solid var(--badge-state-disabled-border);
|
|
105
|
+
}
|
|
96
106
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
107
|
+
</style>
|
|
108
|
+
<style lang="scss">
|
|
109
|
+
// TODO: #6005
|
|
110
|
+
// Investigate why this is here.. I don't think that styles for sortable table should belong here
|
|
111
|
+
.sortable-table TD .badge-state {
|
|
112
|
+
@include clip;
|
|
113
|
+
display: inline-block;
|
|
114
|
+
max-width: 100%;
|
|
115
|
+
position: relative;
|
|
116
|
+
max-width: 110px;
|
|
117
|
+
font-size: .85em;
|
|
118
|
+
vertical-align: middle;
|
|
102
119
|
}
|
|
103
120
|
</style>
|
|
@@ -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
|
-
|
|
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:
|
|
203
|
+
padding: 10px;
|
|
205
204
|
transition: all 0.2s ease;
|
|
206
|
-
line-height:
|
|
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
|
-
|
|
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-
|
|
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
|
-
|
|
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-
|
|
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:
|
|
128
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
<
|
|
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
|
-
|
|
272
|
-
height:
|
|
273
|
-
width:
|
|
274
|
-
min-height:
|
|
275
|
-
min-width:
|
|
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:
|
|
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:
|
|
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
|
|
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
|
|
240
|
+
<div>
|
|
241
241
|
<!-- Label -->
|
|
242
242
|
<div
|
|
243
243
|
v-if="label || labelKey || tooltip || tooltipKey || $slots.label"
|
|
244
|
-
class="radio-group label
|
|
244
|
+
class="radio-group label"
|
|
245
245
|
>
|
|
246
246
|
<slot name="label">
|
|
247
|
-
<
|
|
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
|
-
</
|
|
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:
|
|
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 }
|
|
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
|
-
|
|
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
|
-
|
|
174
|
+
el.style.height = `${ neu }px`;
|
|
175
175
|
|
|
176
176
|
this.curHeight = neu;
|
|
177
177
|
}
|
|
@@ -109,9 +109,9 @@ export default defineComponent({
|
|
|
109
109
|
|
|
110
110
|
.status-icon {
|
|
111
111
|
position: absolute;
|
|
112
|
-
right:
|
|
113
|
-
top:
|
|
114
|
-
z-index:
|
|
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:
|
|
127
|
+
top: 7px;
|
|
136
128
|
right: 5px;
|
|
137
129
|
}
|
|
138
130
|
}
|
|
@@ -52,7 +52,7 @@ const {
|
|
|
52
52
|
|
|
53
53
|
provideDropdownContext();
|
|
54
54
|
|
|
55
|
-
|
|
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
|
-
|
|
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
|
-
|
|
102
|
+
<div
|
|
119
103
|
ref="popperContainer"
|
|
120
104
|
class="popperContainer"
|
|
121
105
|
@keydown.tab="showMenu(false)"
|
|
122
106
|
@keydown.escape="returnFocus"
|
|
123
107
|
>
|
|
124
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|