@dataengineeringformachinelearning/viking-ui 4.0.3 → 4.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -11
- package/dist/README.md +35 -11
- package/dist/design-tokens.css +300 -85
- package/dist/fesm2022/dataengineeringformachinelearning-viking-ui.mjs +135 -70
- package/dist/fesm2022/dataengineeringformachinelearning-viking-ui.mjs.map +1 -1
- package/dist/icons.js +306 -0
- package/dist/package.json +24 -5
- package/{src/lib/site-drakkar/site-drakkar.config.ts → dist/site-drakkar.js} +64 -130
- package/dist/src/tokens/viking-tokens.json +9 -7
- package/dist/types/dataengineeringformachinelearning-viking-ui.d.ts +98 -4
- package/dist/viking-components.css +161 -70
- package/dist/viking-tokens.json +9 -7
- package/dist/viking-ui-elements.js +45 -33
- package/dist/viking-ui.css +1 -1
- package/dist/web-components.js +46 -36
- package/package.json +30 -8
- package/dist/scripts/build-web-components.mjs +0 -37
- package/dist/src/web/badge/viking-badge-wc.ts +0 -116
- package/dist/src/web/button/viking-button-wc.ts +0 -165
- package/dist/src/web/callout/viking-callout-wc.ts +0 -105
- package/dist/src/web/card/viking-card-wc.ts +0 -70
- package/dist/src/web/core/base.ts +0 -56
- package/dist/src/web/core/dom.ts +0 -53
- package/dist/src/web/core/icons-inline.ts +0 -44
- package/dist/src/web/core/styles.ts +0 -1261
- package/dist/src/web/core/types.ts +0 -19
- package/dist/src/web/field/viking-field-wc.ts +0 -154
- package/dist/src/web/index.ts +0 -73
- package/dist/src/web/input/viking-input-wc.ts +0 -211
- package/dist/src/web/modal/viking-modal-wc.ts +0 -187
- package/dist/src/web/search-palette/viking-search-palette-wc.ts +0 -494
- package/dist/src/web/select/viking-select-wc.ts +0 -218
- package/dist/src/web/suite-header/viking-suite-header-wc.ts +0 -729
- package/dist/src/web/suite-search-palette/viking-suite-search-palette-wc.ts +0 -234
- package/dist/src/web/theme-toggle/viking-theme-toggle-wc.ts +0 -139
- package/dist/src/web/types.ts +0 -37
- package/dist/src/web/web-components.spec.ts +0 -297
- package/src/assets/drakkar-favicon.svg +0 -17
- package/src/assets/fonts/inter/InterVariable-Italic.woff2 +0 -0
- package/src/assets/fonts/inter/InterVariable.woff2 +0 -0
- package/src/core/brand/deml-lockup.svg +0 -5
- package/src/core/brand/deml-mark-compact.svg +0 -4
- package/src/core/brand/deml-mark-filled.svg +0 -3
- package/src/core/brand/deml-mark-outline.svg +0 -4
- package/src/core/brand-icons.ts +0 -62
- package/src/core/icons.spec.ts +0 -52
- package/src/core/icons.ts +0 -206
- package/src/core/integration-brand-icons.ts +0 -77
- package/src/core/lucide-paths.generated.ts +0 -130
- package/src/core/types.ts +0 -85
- package/src/core/uid.ts +0 -7
- package/src/elements/button/viking-button.ts +0 -201
- package/src/elements/card/viking-card.ts +0 -60
- package/src/elements/core/dom.ts +0 -33
- package/src/elements/core/styles.ts +0 -28
- package/src/elements/modal/viking-modal.ts +0 -154
- package/src/index.ts +0 -1
- package/src/lib/accordion/accordion.ts +0 -126
- package/src/lib/app-header/app-header.scss +0 -274
- package/src/lib/app-header/app-header.ts +0 -43
- package/src/lib/app-sidebar/app-sidebar.scss +0 -415
- package/src/lib/app-sidebar/app-sidebar.ts +0 -29
- package/src/lib/auth-panel/auth-panel.spec.ts +0 -132
- package/src/lib/auth-panel/auth-panel.ts +0 -228
- package/src/lib/autocomplete/autocomplete.ts +0 -223
- package/src/lib/avatar/avatar.ts +0 -126
- package/src/lib/badge/badge.ts +0 -182
- package/src/lib/bar/bar.ts +0 -31
- package/src/lib/brand/brand.ts +0 -60
- package/src/lib/breadcrumbs/breadcrumbs.ts +0 -81
- package/src/lib/button/button-group.ts +0 -40
- package/src/lib/button/button.scss +0 -119
- package/src/lib/button/button.ts +0 -98
- package/src/lib/calendar/calendar.ts +0 -253
- package/src/lib/callout/callout.ts +0 -211
- package/src/lib/card/card-title.spec.ts +0 -27
- package/src/lib/card/card-title.ts +0 -50
- package/src/lib/card/card.ts +0 -198
- package/src/lib/carousel/carousel.ts +0 -206
- package/src/lib/chart/chart-zoom.spec.ts +0 -65
- package/src/lib/chart/chart-zoom.ts +0 -71
- package/src/lib/chart/chart.ts +0 -1257
- package/src/lib/chart-card-header/chart-card-header.ts +0 -80
- package/src/lib/chart-empty-state/chart-empty-state.ts +0 -146
- package/src/lib/chart-panel/chart-panel.ts +0 -133
- package/src/lib/checkbox/checkbox.ts +0 -139
- package/src/lib/color-picker/color-picker.ts +0 -148
- package/src/lib/command/command.ts +0 -260
- package/src/lib/composer/composer.ts +0 -180
- package/src/lib/confirm-dialog/confirm-dialog.ts +0 -163
- package/src/lib/confirm-dialog/dialog.service.ts +0 -79
- package/src/lib/context/context.ts +0 -75
- package/src/lib/core/brand-icons.ts +0 -62
- package/src/lib/core/cva.ts +0 -33
- package/src/lib/core/icons.ts +0 -206
- package/src/lib/core/integration-brand-icons.ts +0 -77
- package/src/lib/core/lucide-paths.generated.ts +0 -130
- package/src/lib/date-picker/date-picker.ts +0 -139
- package/src/lib/dropdown/dropdown.ts +0 -188
- package/src/lib/editor/editor.ts +0 -170
- package/src/lib/empty-state/empty-state.ts +0 -100
- package/src/lib/fab/fab.ts +0 -76
- package/src/lib/field/field.ts +0 -111
- package/src/lib/file-upload/file-upload.ts +0 -208
- package/src/lib/footer/footer.scss +0 -155
- package/src/lib/footer/footer.ts +0 -28
- package/src/lib/form-section/form-section.ts +0 -200
- package/src/lib/forms.spec.ts +0 -92
- package/src/lib/gauge-arc/gauge-arc.ts +0 -85
- package/src/lib/hud-panel/hud-panel.ts +0 -27
- package/src/lib/icon/icon.ts +0 -284
- package/src/lib/icon-badge/icon-badge.ts +0 -87
- package/src/lib/icon-heading/icon-heading.spec.ts +0 -32
- package/src/lib/icon-heading/icon-heading.ts +0 -38
- package/src/lib/icon-text/icon-text.ts +0 -120
- package/src/lib/input/input.ts +0 -119
- package/src/lib/kanban/kanban.ts +0 -211
- package/src/lib/kbd/kbd.ts +0 -32
- package/src/lib/label/label.ts +0 -39
- package/src/lib/loading-overlay/loading-overlay.ts +0 -80
- package/src/lib/menubar/menubar.ts +0 -77
- package/src/lib/metric-card/metric-card.ts +0 -33
- package/src/lib/modal/modal.ts +0 -207
- package/src/lib/native-select/native-select.ts +0 -124
- package/src/lib/navbar/navbar.ts +0 -124
- package/src/lib/navigation-menu/navigation-menu.ts +0 -116
- package/src/lib/otp-input/otp-input.ts +0 -164
- package/src/lib/page-back-link/page-back-link.ts +0 -74
- package/src/lib/page-header/page-header.ts +0 -70
- package/src/lib/pagination/pagination.ts +0 -157
- package/src/lib/pillbox/pillbox.ts +0 -157
- package/src/lib/popover/popover.ts +0 -92
- package/src/lib/profile/profile.ts +0 -73
- package/src/lib/progress/progress.ts +0 -123
- package/src/lib/radio/radio.ts +0 -132
- package/src/lib/ring-gauge/ring-gauge.ts +0 -75
- package/src/lib/scroll-area/scroll-area.ts +0 -57
- package/src/lib/search-palette/search-palette.scss +0 -288
- package/src/lib/search-palette/search-palette.ts +0 -114
- package/src/lib/select/select.ts +0 -292
- package/src/lib/separator/separator.ts +0 -59
- package/src/lib/sheet/sheet.ts +0 -192
- package/src/lib/sidebar-nav/sidebar-nav.scss +0 -218
- package/src/lib/sidebar-nav/sidebar-nav.ts +0 -158
- package/src/lib/site-drakkar/site-footer.ts +0 -129
- package/src/lib/site-drakkar/site-navbar.scss +0 -2
- package/src/lib/site-drakkar/site-navbar.ts +0 -277
- package/src/lib/site-drakkar/suite-search-items.spec.ts +0 -61
- package/src/lib/site-drakkar/suite-search-items.ts +0 -246
- package/src/lib/skeleton/skeleton.ts +0 -51
- package/src/lib/slider/slider.ts +0 -133
- package/src/lib/spinner/spinner.ts +0 -75
- package/src/lib/status-metric-row/status-metric-row.ts +0 -74
- package/src/lib/suite-search-palette/suite-search-palette.ts +0 -95
- package/src/lib/switch/switch.ts +0 -131
- package/src/lib/table/table.ts +0 -137
- package/src/lib/tabs/tab-panel.ts +0 -61
- package/src/lib/tabs/tab.ts +0 -107
- package/src/lib/tabs/tabs.ts +0 -109
- package/src/lib/textarea/textarea.ts +0 -103
- package/src/lib/theme-toggle/theme-toggle.spec.ts +0 -40
- package/src/lib/theme-toggle/theme-toggle.ts +0 -39
- package/src/lib/time-picker/time-picker.ts +0 -197
- package/src/lib/timeline/timeline.ts +0 -152
- package/src/lib/toast/toast.ts +0 -196
- package/src/lib/toggle/toggle-group.ts +0 -60
- package/src/lib/toggle/toggle.ts +0 -101
- package/src/lib/tooltip/tooltip.ts +0 -119
- package/src/lib/typography/heading.ts +0 -52
- package/src/lib/typography/text.ts +0 -51
- package/src/lib/uptime-bar/uptime-bar.ts +0 -55
- package/src/lib/verification-code-field/verification-code-field.ts +0 -149
- package/src/lib/whitepaper-cta/whitepaper-cta.scss +0 -130
- package/src/lib/whitepaper-cta/whitepaper-cta.ts +0 -78
- package/src/lib/wizard/wizard.ts +0 -80
- package/src/public-api.ts +0 -172
- package/src/styles/_buttons.scss +0 -386
- package/src/styles/_component-primitives.scss +0 -183
- package/src/styles/_drakkar-buttons.scss +0 -85
- package/src/styles/_fonts.scss +0 -22
- package/src/styles/_forms.scss +0 -66
- package/src/styles/_input.scss +0 -106
- package/src/styles/_layout-enforcement.scss +0 -229
- package/src/styles/_layout-rhythm.scss +0 -158
- package/src/styles/_legacy-aliases.scss +0 -212
- package/src/styles/_series-colors.scss +0 -24
- package/src/styles/_static-primitives.scss +0 -857
- package/src/styles/_typography.scss +0 -87
- package/src/styles/_variables.scss +0 -527
- package/src/styles/components/a11y.scss +0 -90
- package/src/styles/components/badges.scss +0 -102
- package/src/styles/components/extracted-utilities.scss +0 -459
- package/src/styles/components/footer.scss +0 -155
- package/src/styles/components/icon-heading.scss +0 -47
- package/src/styles/components/icon-inline.scss +0 -101
- package/src/styles/components/layout.scss +0 -59
- package/src/styles/components/utilities.scss +0 -131
- package/src/styles/components/viking-inspired.scss +0 -204
- package/src/styles/components/whitepaper-cta.scss +0 -130
- package/src/styles/components-bundle.scss +0 -9
- package/src/styles/components.scss +0 -442
- package/src/styles/deml-components.scss +0 -10
- package/src/styles/index.scss +0 -8
- package/src/styles/layout-shell.scss +0 -111
- package/src/styles/page-shell.scss +0 -859
- package/src/styles/static-navbar.scss +0 -1215
- package/src/styles/surfaces/backend.scss +0 -154
- package/src/styles/surfaces/docs-global.scss +0 -73
- package/src/styles/surfaces/docs-shell.scss +0 -437
- package/src/styles/surfaces/docs-showcase.scss +0 -1153
- package/src/styles/surfaces/marketing-cta.scss +0 -62
- package/src/styles/surfaces/marketing-docs-bento.scss +0 -67
- package/src/styles/surfaces/marketing-global.scss +0 -748
- package/src/styles/surfaces/marketing-landing.scss +0 -1526
- package/src/styles/surfaces/marketing-publication.scss +0 -535
- package/src/styles/surfaces/marketing-theme.scss +0 -14
- package/src/styles/surfaces/swagger-ui.scss +0 -922
- package/src/styles/tokens-export.scss +0 -18
- package/src/styles/tokens.scss +0 -5
- package/src/styles/viking-ui-bundle.scss +0 -23
- package/src/styles/viking-ui.scss +0 -270
- package/src/tokens/series-presets.ts +0 -15
- package/src/tokens/tailwind.preset.js +0 -209
- package/src/tokens/viking-tokens.json +0 -318
- package/src/viking-ui.spec.ts +0 -416
- package/src/web/badge/viking-badge-wc.ts +0 -116
- package/src/web/button/viking-button-wc.ts +0 -165
- package/src/web/callout/viking-callout-wc.ts +0 -105
- package/src/web/card/viking-card-wc.ts +0 -70
- package/src/web/core/base.ts +0 -56
- package/src/web/core/dom.ts +0 -53
- package/src/web/core/icons-inline.ts +0 -44
- package/src/web/core/styles.ts +0 -1261
- package/src/web/core/types.ts +0 -19
- package/src/web/field/viking-field-wc.ts +0 -154
- package/src/web/index.ts +0 -73
- package/src/web/input/viking-input-wc.ts +0 -211
- package/src/web/modal/viking-modal-wc.ts +0 -187
- package/src/web/search-palette/viking-search-palette-wc.ts +0 -494
- package/src/web/select/viking-select-wc.ts +0 -218
- package/src/web/suite-header/viking-suite-header-wc.ts +0 -729
- package/src/web/suite-search-palette/viking-suite-search-palette-wc.ts +0 -234
- package/src/web/theme-toggle/viking-theme-toggle-wc.ts +0 -139
- package/src/web/types.ts +0 -37
- package/src/web/web-components.spec.ts +0 -297
- package/src/web-components/index.ts +0 -1
|
@@ -997,6 +997,11 @@
|
|
|
997
997
|
.viking-btn,
|
|
998
998
|
a.viking-btn,
|
|
999
999
|
button.viking-btn {
|
|
1000
|
+
--viking-btn-depth-shadow: var(--viking-shadow-sm);
|
|
1001
|
+
--viking-btn-hover-shadow: var(--viking-shadow-hover);
|
|
1002
|
+
--viking-btn-press-shadow:
|
|
1003
|
+
inset 0 1px 2px color-mix(in srgb, var(--viking-black) 28%, transparent),
|
|
1004
|
+
var(--viking-shadow-xs);
|
|
1000
1005
|
font-family: var(--viking-font-family);
|
|
1001
1006
|
font-size: var(--viking-font-size-ui);
|
|
1002
1007
|
font-weight: var(--viking-font-weight-semibold);
|
|
@@ -1005,10 +1010,10 @@ button.viking-btn {
|
|
|
1005
1010
|
display: inline-flex;
|
|
1006
1011
|
align-items: center;
|
|
1007
1012
|
justify-content: center;
|
|
1008
|
-
gap: var(--viking-space-1);
|
|
1013
|
+
gap: var(--viking-space-1-5);
|
|
1009
1014
|
min-height: var(--viking-control-height);
|
|
1010
|
-
padding:
|
|
1011
|
-
border-radius: var(--viking-radius-
|
|
1015
|
+
padding: var(--viking-space-half) var(--viking-control-padding-x);
|
|
1016
|
+
border-radius: var(--viking-radius-md);
|
|
1012
1017
|
border: 1px solid transparent;
|
|
1013
1018
|
cursor: pointer;
|
|
1014
1019
|
text-decoration: none;
|
|
@@ -1022,7 +1027,7 @@ button.viking-btn {
|
|
|
1022
1027
|
user-select: none;
|
|
1023
1028
|
-webkit-tap-highlight-color: transparent;
|
|
1024
1029
|
overflow: hidden;
|
|
1025
|
-
box-shadow: var(--viking-shadow
|
|
1030
|
+
box-shadow: var(--viking-btn-depth-shadow);
|
|
1026
1031
|
}
|
|
1027
1032
|
.viking-btn:focus-visible,
|
|
1028
1033
|
a.viking-btn:focus-visible,
|
|
@@ -1040,7 +1045,7 @@ button.viking-btn::before {
|
|
|
1040
1045
|
height: 1px;
|
|
1041
1046
|
background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-100) 45%, transparent), transparent);
|
|
1042
1047
|
pointer-events: none;
|
|
1043
|
-
opacity: 0.
|
|
1048
|
+
opacity: 0.88;
|
|
1044
1049
|
transition: var(--viking-transition-interactive);
|
|
1045
1050
|
}
|
|
1046
1051
|
.viking-btn::after,
|
|
@@ -1070,9 +1075,14 @@ a.viking-btn[aria-busy=true]::before,
|
|
|
1070
1075
|
a.viking-btn[aria-busy=true] .viking-btn-label,
|
|
1071
1076
|
button.viking-btn[aria-busy=true]::before,
|
|
1072
1077
|
button.viking-btn[aria-busy=true] .viking-btn-label {
|
|
1073
|
-
opacity: 0.
|
|
1078
|
+
opacity: 0.78;
|
|
1074
1079
|
transform: translateY(1px);
|
|
1075
1080
|
}
|
|
1081
|
+
.viking-btn[aria-busy=true],
|
|
1082
|
+
a.viking-btn[aria-busy=true],
|
|
1083
|
+
button.viking-btn[aria-busy=true] {
|
|
1084
|
+
cursor: wait;
|
|
1085
|
+
}
|
|
1076
1086
|
.viking-btn viking-icon,
|
|
1077
1087
|
.viking-btn .viking-icon,
|
|
1078
1088
|
.viking-btn [data-viking-icon],
|
|
@@ -1091,6 +1101,7 @@ button.viking-btn [data-viking-icon] {
|
|
|
1091
1101
|
line-height: 1;
|
|
1092
1102
|
pointer-events: none;
|
|
1093
1103
|
flex: 0 0 auto;
|
|
1104
|
+
margin-block: calc(var(--viking-space-half) * -1);
|
|
1094
1105
|
}
|
|
1095
1106
|
.viking-btn .viking-btn-label,
|
|
1096
1107
|
a.viking-btn .viking-btn-label,
|
|
@@ -1108,6 +1119,11 @@ button.viking-btn .viking-btn-label {
|
|
|
1108
1119
|
.viking-btn-primary,
|
|
1109
1120
|
a.viking-btn-primary,
|
|
1110
1121
|
button.viking-btn-primary {
|
|
1122
|
+
--viking-btn-depth-shadow: var(--viking-shadow-sm);
|
|
1123
|
+
--viking-btn-hover-shadow: var(--viking-shadow-hover);
|
|
1124
|
+
--viking-btn-press-shadow:
|
|
1125
|
+
inset 0 1px 2px color-mix(in srgb, var(--viking-black) 28%, transparent),
|
|
1126
|
+
var(--viking-shadow-xs);
|
|
1111
1127
|
font-family: var(--viking-font-family);
|
|
1112
1128
|
font-size: var(--viking-font-size-ui);
|
|
1113
1129
|
font-weight: var(--viking-font-weight-semibold);
|
|
@@ -1116,10 +1132,10 @@ button.viking-btn-primary {
|
|
|
1116
1132
|
display: inline-flex;
|
|
1117
1133
|
align-items: center;
|
|
1118
1134
|
justify-content: center;
|
|
1119
|
-
gap: var(--viking-space-1);
|
|
1135
|
+
gap: var(--viking-space-1-5);
|
|
1120
1136
|
min-height: var(--viking-control-height);
|
|
1121
|
-
padding:
|
|
1122
|
-
border-radius: var(--viking-radius-
|
|
1137
|
+
padding: var(--viking-space-half) var(--viking-control-padding-x);
|
|
1138
|
+
border-radius: var(--viking-radius-md);
|
|
1123
1139
|
border: 1px solid transparent;
|
|
1124
1140
|
cursor: pointer;
|
|
1125
1141
|
text-decoration: none;
|
|
@@ -1133,7 +1149,7 @@ button.viking-btn-primary {
|
|
|
1133
1149
|
user-select: none;
|
|
1134
1150
|
-webkit-tap-highlight-color: transparent;
|
|
1135
1151
|
overflow: hidden;
|
|
1136
|
-
box-shadow: var(--viking-shadow
|
|
1152
|
+
box-shadow: var(--viking-btn-depth-shadow);
|
|
1137
1153
|
}
|
|
1138
1154
|
.viking-btn-primary:focus-visible,
|
|
1139
1155
|
a.viking-btn-primary:focus-visible,
|
|
@@ -1151,7 +1167,7 @@ button.viking-btn-primary::before {
|
|
|
1151
1167
|
height: 1px;
|
|
1152
1168
|
background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-100) 45%, transparent), transparent);
|
|
1153
1169
|
pointer-events: none;
|
|
1154
|
-
opacity: 0.
|
|
1170
|
+
opacity: 0.88;
|
|
1155
1171
|
transition: var(--viking-transition-interactive);
|
|
1156
1172
|
}
|
|
1157
1173
|
.viking-btn-primary::after,
|
|
@@ -1181,9 +1197,14 @@ a.viking-btn-primary[aria-busy=true]::before,
|
|
|
1181
1197
|
a.viking-btn-primary[aria-busy=true] .viking-btn-label,
|
|
1182
1198
|
button.viking-btn-primary[aria-busy=true]::before,
|
|
1183
1199
|
button.viking-btn-primary[aria-busy=true] .viking-btn-label {
|
|
1184
|
-
opacity: 0.
|
|
1200
|
+
opacity: 0.78;
|
|
1185
1201
|
transform: translateY(1px);
|
|
1186
1202
|
}
|
|
1203
|
+
.viking-btn-primary[aria-busy=true],
|
|
1204
|
+
a.viking-btn-primary[aria-busy=true],
|
|
1205
|
+
button.viking-btn-primary[aria-busy=true] {
|
|
1206
|
+
cursor: wait;
|
|
1207
|
+
}
|
|
1187
1208
|
.viking-btn-primary viking-icon,
|
|
1188
1209
|
.viking-btn-primary .viking-icon,
|
|
1189
1210
|
.viking-btn-primary [data-viking-icon],
|
|
@@ -1202,6 +1223,7 @@ button.viking-btn-primary [data-viking-icon] {
|
|
|
1202
1223
|
line-height: 1;
|
|
1203
1224
|
pointer-events: none;
|
|
1204
1225
|
flex: 0 0 auto;
|
|
1226
|
+
margin-block: calc(var(--viking-space-half) * -1);
|
|
1205
1227
|
}
|
|
1206
1228
|
.viking-btn-primary .viking-btn-label,
|
|
1207
1229
|
a.viking-btn-primary .viking-btn-label,
|
|
@@ -1221,7 +1243,7 @@ button.viking-btn-primary {
|
|
|
1221
1243
|
background: var(--viking-accent);
|
|
1222
1244
|
color: var(--viking-accent-content);
|
|
1223
1245
|
border-color: color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));
|
|
1224
|
-
box-shadow: var(--viking-shadow-
|
|
1246
|
+
box-shadow: var(--viking-btn-depth-shadow), inset 0 1px 0 color-mix(in srgb, var(--viking-white-pure) 12%, transparent);
|
|
1225
1247
|
}
|
|
1226
1248
|
.viking-btn-primary:hover:not(:disabled):not([aria-busy=true]),
|
|
1227
1249
|
a.viking-btn-primary:hover:not(:disabled):not([aria-busy=true]),
|
|
@@ -1229,7 +1251,7 @@ button.viking-btn-primary:hover:not(:disabled):not([aria-busy=true]) {
|
|
|
1229
1251
|
background: var(--viking-accent-hover);
|
|
1230
1252
|
border-color: var(--viking-accent-hover);
|
|
1231
1253
|
color: var(--viking-accent-content);
|
|
1232
|
-
box-shadow: var(--viking-
|
|
1254
|
+
box-shadow: var(--viking-btn-hover-shadow);
|
|
1233
1255
|
transform: translateY(var(--viking-state-hover-lift));
|
|
1234
1256
|
}
|
|
1235
1257
|
.viking-btn-primary:active:not(:disabled):not([aria-busy=true]),
|
|
@@ -1237,12 +1259,17 @@ a.viking-btn-primary:active:not(:disabled):not([aria-busy=true]),
|
|
|
1237
1259
|
button.viking-btn-primary:active:not(:disabled):not([aria-busy=true]) {
|
|
1238
1260
|
transform: translateY(0) scale(var(--viking-state-active-scale));
|
|
1239
1261
|
border-color: color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));
|
|
1240
|
-
box-shadow:
|
|
1262
|
+
box-shadow: var(--viking-btn-press-shadow);
|
|
1241
1263
|
}
|
|
1242
1264
|
|
|
1243
1265
|
.viking-btn-secondary,
|
|
1244
1266
|
a.viking-btn-secondary,
|
|
1245
1267
|
button.viking-btn-secondary {
|
|
1268
|
+
--viking-btn-depth-shadow: var(--viking-shadow-sm);
|
|
1269
|
+
--viking-btn-hover-shadow: var(--viking-shadow-hover);
|
|
1270
|
+
--viking-btn-press-shadow:
|
|
1271
|
+
inset 0 1px 2px color-mix(in srgb, var(--viking-black) 28%, transparent),
|
|
1272
|
+
var(--viking-shadow-xs);
|
|
1246
1273
|
font-family: var(--viking-font-family);
|
|
1247
1274
|
font-size: var(--viking-font-size-ui);
|
|
1248
1275
|
font-weight: var(--viking-font-weight-semibold);
|
|
@@ -1251,10 +1278,10 @@ button.viking-btn-secondary {
|
|
|
1251
1278
|
display: inline-flex;
|
|
1252
1279
|
align-items: center;
|
|
1253
1280
|
justify-content: center;
|
|
1254
|
-
gap: var(--viking-space-1);
|
|
1281
|
+
gap: var(--viking-space-1-5);
|
|
1255
1282
|
min-height: var(--viking-control-height);
|
|
1256
|
-
padding:
|
|
1257
|
-
border-radius: var(--viking-radius-
|
|
1283
|
+
padding: var(--viking-space-half) var(--viking-control-padding-x);
|
|
1284
|
+
border-radius: var(--viking-radius-md);
|
|
1258
1285
|
border: 1px solid transparent;
|
|
1259
1286
|
cursor: pointer;
|
|
1260
1287
|
text-decoration: none;
|
|
@@ -1268,7 +1295,7 @@ button.viking-btn-secondary {
|
|
|
1268
1295
|
user-select: none;
|
|
1269
1296
|
-webkit-tap-highlight-color: transparent;
|
|
1270
1297
|
overflow: hidden;
|
|
1271
|
-
box-shadow: var(--viking-shadow
|
|
1298
|
+
box-shadow: var(--viking-btn-depth-shadow);
|
|
1272
1299
|
}
|
|
1273
1300
|
.viking-btn-secondary:focus-visible,
|
|
1274
1301
|
a.viking-btn-secondary:focus-visible,
|
|
@@ -1286,7 +1313,7 @@ button.viking-btn-secondary::before {
|
|
|
1286
1313
|
height: 1px;
|
|
1287
1314
|
background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-100) 45%, transparent), transparent);
|
|
1288
1315
|
pointer-events: none;
|
|
1289
|
-
opacity: 0.
|
|
1316
|
+
opacity: 0.88;
|
|
1290
1317
|
transition: var(--viking-transition-interactive);
|
|
1291
1318
|
}
|
|
1292
1319
|
.viking-btn-secondary::after,
|
|
@@ -1316,9 +1343,14 @@ a.viking-btn-secondary[aria-busy=true]::before,
|
|
|
1316
1343
|
a.viking-btn-secondary[aria-busy=true] .viking-btn-label,
|
|
1317
1344
|
button.viking-btn-secondary[aria-busy=true]::before,
|
|
1318
1345
|
button.viking-btn-secondary[aria-busy=true] .viking-btn-label {
|
|
1319
|
-
opacity: 0.
|
|
1346
|
+
opacity: 0.78;
|
|
1320
1347
|
transform: translateY(1px);
|
|
1321
1348
|
}
|
|
1349
|
+
.viking-btn-secondary[aria-busy=true],
|
|
1350
|
+
a.viking-btn-secondary[aria-busy=true],
|
|
1351
|
+
button.viking-btn-secondary[aria-busy=true] {
|
|
1352
|
+
cursor: wait;
|
|
1353
|
+
}
|
|
1322
1354
|
.viking-btn-secondary viking-icon,
|
|
1323
1355
|
.viking-btn-secondary .viking-icon,
|
|
1324
1356
|
.viking-btn-secondary [data-viking-icon],
|
|
@@ -1337,6 +1369,7 @@ button.viking-btn-secondary [data-viking-icon] {
|
|
|
1337
1369
|
line-height: 1;
|
|
1338
1370
|
pointer-events: none;
|
|
1339
1371
|
flex: 0 0 auto;
|
|
1372
|
+
margin-block: calc(var(--viking-space-half) * -1);
|
|
1340
1373
|
}
|
|
1341
1374
|
.viking-btn-secondary .viking-btn-label,
|
|
1342
1375
|
a.viking-btn-secondary .viking-btn-label,
|
|
@@ -1356,7 +1389,7 @@ button.viking-btn-secondary {
|
|
|
1356
1389
|
background: var(--viking-accent-secondary);
|
|
1357
1390
|
color: var(--viking-accent-secondary-content);
|
|
1358
1391
|
border-color: color-mix(in srgb, var(--viking-accent-secondary) 82%, var(--viking-black));
|
|
1359
|
-
box-shadow: var(--viking-shadow-
|
|
1392
|
+
box-shadow: var(--viking-btn-depth-shadow), inset 0 1px 0 color-mix(in srgb, var(--viking-white-pure) 10%, transparent);
|
|
1360
1393
|
}
|
|
1361
1394
|
.viking-btn-secondary:hover:not(:disabled):not([aria-busy=true]),
|
|
1362
1395
|
a.viking-btn-secondary:hover:not(:disabled):not([aria-busy=true]),
|
|
@@ -1364,7 +1397,7 @@ button.viking-btn-secondary:hover:not(:disabled):not([aria-busy=true]) {
|
|
|
1364
1397
|
background: var(--viking-accent-secondary-hover);
|
|
1365
1398
|
border-color: var(--viking-accent-secondary-hover);
|
|
1366
1399
|
color: var(--viking-accent-secondary-content);
|
|
1367
|
-
box-shadow: var(--viking-
|
|
1400
|
+
box-shadow: var(--viking-btn-hover-shadow);
|
|
1368
1401
|
transform: translateY(var(--viking-state-hover-lift));
|
|
1369
1402
|
}
|
|
1370
1403
|
.viking-btn-secondary:active:not(:disabled):not([aria-busy=true]),
|
|
@@ -1372,12 +1405,17 @@ a.viking-btn-secondary:active:not(:disabled):not([aria-busy=true]),
|
|
|
1372
1405
|
button.viking-btn-secondary:active:not(:disabled):not([aria-busy=true]) {
|
|
1373
1406
|
transform: translateY(0) scale(var(--viking-state-active-scale));
|
|
1374
1407
|
border-color: color-mix(in srgb, var(--viking-accent-secondary) 82%, var(--viking-black));
|
|
1375
|
-
box-shadow:
|
|
1408
|
+
box-shadow: var(--viking-btn-press-shadow);
|
|
1376
1409
|
}
|
|
1377
1410
|
|
|
1378
1411
|
.viking-btn-outline,
|
|
1379
1412
|
a.viking-btn-outline,
|
|
1380
1413
|
button.viking-btn-outline {
|
|
1414
|
+
--viking-btn-depth-shadow: var(--viking-shadow-sm);
|
|
1415
|
+
--viking-btn-hover-shadow: var(--viking-shadow-hover);
|
|
1416
|
+
--viking-btn-press-shadow:
|
|
1417
|
+
inset 0 1px 2px color-mix(in srgb, var(--viking-black) 28%, transparent),
|
|
1418
|
+
var(--viking-shadow-xs);
|
|
1381
1419
|
font-family: var(--viking-font-family);
|
|
1382
1420
|
font-size: var(--viking-font-size-ui);
|
|
1383
1421
|
font-weight: var(--viking-font-weight-semibold);
|
|
@@ -1386,10 +1424,10 @@ button.viking-btn-outline {
|
|
|
1386
1424
|
display: inline-flex;
|
|
1387
1425
|
align-items: center;
|
|
1388
1426
|
justify-content: center;
|
|
1389
|
-
gap: var(--viking-space-1);
|
|
1427
|
+
gap: var(--viking-space-1-5);
|
|
1390
1428
|
min-height: var(--viking-control-height);
|
|
1391
|
-
padding:
|
|
1392
|
-
border-radius: var(--viking-radius-
|
|
1429
|
+
padding: var(--viking-space-half) var(--viking-control-padding-x);
|
|
1430
|
+
border-radius: var(--viking-radius-md);
|
|
1393
1431
|
border: 1px solid transparent;
|
|
1394
1432
|
cursor: pointer;
|
|
1395
1433
|
text-decoration: none;
|
|
@@ -1403,7 +1441,7 @@ button.viking-btn-outline {
|
|
|
1403
1441
|
user-select: none;
|
|
1404
1442
|
-webkit-tap-highlight-color: transparent;
|
|
1405
1443
|
overflow: hidden;
|
|
1406
|
-
box-shadow: var(--viking-shadow
|
|
1444
|
+
box-shadow: var(--viking-btn-depth-shadow);
|
|
1407
1445
|
}
|
|
1408
1446
|
.viking-btn-outline:focus-visible,
|
|
1409
1447
|
a.viking-btn-outline:focus-visible,
|
|
@@ -1421,7 +1459,7 @@ button.viking-btn-outline::before {
|
|
|
1421
1459
|
height: 1px;
|
|
1422
1460
|
background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-100) 45%, transparent), transparent);
|
|
1423
1461
|
pointer-events: none;
|
|
1424
|
-
opacity: 0.
|
|
1462
|
+
opacity: 0.88;
|
|
1425
1463
|
transition: var(--viking-transition-interactive);
|
|
1426
1464
|
}
|
|
1427
1465
|
.viking-btn-outline::after,
|
|
@@ -1451,9 +1489,14 @@ a.viking-btn-outline[aria-busy=true]::before,
|
|
|
1451
1489
|
a.viking-btn-outline[aria-busy=true] .viking-btn-label,
|
|
1452
1490
|
button.viking-btn-outline[aria-busy=true]::before,
|
|
1453
1491
|
button.viking-btn-outline[aria-busy=true] .viking-btn-label {
|
|
1454
|
-
opacity: 0.
|
|
1492
|
+
opacity: 0.78;
|
|
1455
1493
|
transform: translateY(1px);
|
|
1456
1494
|
}
|
|
1495
|
+
.viking-btn-outline[aria-busy=true],
|
|
1496
|
+
a.viking-btn-outline[aria-busy=true],
|
|
1497
|
+
button.viking-btn-outline[aria-busy=true] {
|
|
1498
|
+
cursor: wait;
|
|
1499
|
+
}
|
|
1457
1500
|
.viking-btn-outline viking-icon,
|
|
1458
1501
|
.viking-btn-outline .viking-icon,
|
|
1459
1502
|
.viking-btn-outline [data-viking-icon],
|
|
@@ -1472,6 +1515,7 @@ button.viking-btn-outline [data-viking-icon] {
|
|
|
1472
1515
|
line-height: 1;
|
|
1473
1516
|
pointer-events: none;
|
|
1474
1517
|
flex: 0 0 auto;
|
|
1518
|
+
margin-block: calc(var(--viking-space-half) * -1);
|
|
1475
1519
|
}
|
|
1476
1520
|
.viking-btn-outline .viking-btn-label,
|
|
1477
1521
|
a.viking-btn-outline .viking-btn-label,
|
|
@@ -1491,15 +1535,15 @@ button.viking-btn-outline {
|
|
|
1491
1535
|
background: var(--viking-surface);
|
|
1492
1536
|
color: var(--viking-text);
|
|
1493
1537
|
border-color: var(--viking-border-strong);
|
|
1494
|
-
box-shadow: var(--viking-shadow
|
|
1538
|
+
box-shadow: var(--viking-btn-depth-shadow);
|
|
1495
1539
|
}
|
|
1496
1540
|
.viking-btn-outline:hover:not(:disabled):not([aria-busy=true]),
|
|
1497
1541
|
a.viking-btn-outline:hover:not(:disabled):not([aria-busy=true]),
|
|
1498
1542
|
button.viking-btn-outline:hover:not(:disabled):not([aria-busy=true]) {
|
|
1499
|
-
background: var(--viking-surface-alt);
|
|
1543
|
+
background: color-mix(in srgb, var(--viking-accent) 5%, var(--viking-surface-alt));
|
|
1500
1544
|
border-color: color-mix(in srgb, var(--viking-accent) 45%, var(--viking-border-strong));
|
|
1501
1545
|
color: var(--viking-text);
|
|
1502
|
-
box-shadow: var(--viking-shadow
|
|
1546
|
+
box-shadow: var(--viking-btn-hover-shadow);
|
|
1503
1547
|
transform: translateY(var(--viking-state-hover-lift));
|
|
1504
1548
|
}
|
|
1505
1549
|
.viking-btn-outline:active:not(:disabled):not([aria-busy=true]),
|
|
@@ -1507,12 +1551,17 @@ a.viking-btn-outline:active:not(:disabled):not([aria-busy=true]),
|
|
|
1507
1551
|
button.viking-btn-outline:active:not(:disabled):not([aria-busy=true]) {
|
|
1508
1552
|
transform: translateY(0) scale(var(--viking-state-active-scale));
|
|
1509
1553
|
border-color: var(--viking-border-strong);
|
|
1510
|
-
box-shadow:
|
|
1554
|
+
box-shadow: var(--viking-btn-press-shadow);
|
|
1511
1555
|
}
|
|
1512
1556
|
|
|
1513
1557
|
.viking-btn-danger,
|
|
1514
1558
|
a.viking-btn-danger,
|
|
1515
1559
|
button.viking-btn-danger {
|
|
1560
|
+
--viking-btn-depth-shadow: var(--viking-shadow-sm);
|
|
1561
|
+
--viking-btn-hover-shadow: var(--viking-shadow-hover);
|
|
1562
|
+
--viking-btn-press-shadow:
|
|
1563
|
+
inset 0 1px 2px color-mix(in srgb, var(--viking-black) 28%, transparent),
|
|
1564
|
+
var(--viking-shadow-xs);
|
|
1516
1565
|
font-family: var(--viking-font-family);
|
|
1517
1566
|
font-size: var(--viking-font-size-ui);
|
|
1518
1567
|
font-weight: var(--viking-font-weight-semibold);
|
|
@@ -1521,10 +1570,10 @@ button.viking-btn-danger {
|
|
|
1521
1570
|
display: inline-flex;
|
|
1522
1571
|
align-items: center;
|
|
1523
1572
|
justify-content: center;
|
|
1524
|
-
gap: var(--viking-space-1);
|
|
1573
|
+
gap: var(--viking-space-1-5);
|
|
1525
1574
|
min-height: var(--viking-control-height);
|
|
1526
|
-
padding:
|
|
1527
|
-
border-radius: var(--viking-radius-
|
|
1575
|
+
padding: var(--viking-space-half) var(--viking-control-padding-x);
|
|
1576
|
+
border-radius: var(--viking-radius-md);
|
|
1528
1577
|
border: 1px solid transparent;
|
|
1529
1578
|
cursor: pointer;
|
|
1530
1579
|
text-decoration: none;
|
|
@@ -1538,7 +1587,7 @@ button.viking-btn-danger {
|
|
|
1538
1587
|
user-select: none;
|
|
1539
1588
|
-webkit-tap-highlight-color: transparent;
|
|
1540
1589
|
overflow: hidden;
|
|
1541
|
-
box-shadow: var(--viking-shadow
|
|
1590
|
+
box-shadow: var(--viking-btn-depth-shadow);
|
|
1542
1591
|
}
|
|
1543
1592
|
.viking-btn-danger:focus-visible,
|
|
1544
1593
|
a.viking-btn-danger:focus-visible,
|
|
@@ -1556,7 +1605,7 @@ button.viking-btn-danger::before {
|
|
|
1556
1605
|
height: 1px;
|
|
1557
1606
|
background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-100) 45%, transparent), transparent);
|
|
1558
1607
|
pointer-events: none;
|
|
1559
|
-
opacity: 0.
|
|
1608
|
+
opacity: 0.88;
|
|
1560
1609
|
transition: var(--viking-transition-interactive);
|
|
1561
1610
|
}
|
|
1562
1611
|
.viking-btn-danger::after,
|
|
@@ -1586,9 +1635,14 @@ a.viking-btn-danger[aria-busy=true]::before,
|
|
|
1586
1635
|
a.viking-btn-danger[aria-busy=true] .viking-btn-label,
|
|
1587
1636
|
button.viking-btn-danger[aria-busy=true]::before,
|
|
1588
1637
|
button.viking-btn-danger[aria-busy=true] .viking-btn-label {
|
|
1589
|
-
opacity: 0.
|
|
1638
|
+
opacity: 0.78;
|
|
1590
1639
|
transform: translateY(1px);
|
|
1591
1640
|
}
|
|
1641
|
+
.viking-btn-danger[aria-busy=true],
|
|
1642
|
+
a.viking-btn-danger[aria-busy=true],
|
|
1643
|
+
button.viking-btn-danger[aria-busy=true] {
|
|
1644
|
+
cursor: wait;
|
|
1645
|
+
}
|
|
1592
1646
|
.viking-btn-danger viking-icon,
|
|
1593
1647
|
.viking-btn-danger .viking-icon,
|
|
1594
1648
|
.viking-btn-danger [data-viking-icon],
|
|
@@ -1607,6 +1661,7 @@ button.viking-btn-danger [data-viking-icon] {
|
|
|
1607
1661
|
line-height: 1;
|
|
1608
1662
|
pointer-events: none;
|
|
1609
1663
|
flex: 0 0 auto;
|
|
1664
|
+
margin-block: calc(var(--viking-space-half) * -1);
|
|
1610
1665
|
}
|
|
1611
1666
|
.viking-btn-danger .viking-btn-label,
|
|
1612
1667
|
a.viking-btn-danger .viking-btn-label,
|
|
@@ -1626,7 +1681,7 @@ button.viking-btn-danger {
|
|
|
1626
1681
|
background: var(--viking-danger);
|
|
1627
1682
|
color: var(--viking-on-danger);
|
|
1628
1683
|
border-color: color-mix(in srgb, var(--viking-danger) 85%, var(--viking-black));
|
|
1629
|
-
box-shadow: var(--viking-shadow-
|
|
1684
|
+
box-shadow: var(--viking-btn-depth-shadow), inset 0 1px 0 color-mix(in srgb, var(--viking-white-pure) 10%, transparent);
|
|
1630
1685
|
}
|
|
1631
1686
|
.viking-btn-danger:hover:not(:disabled):not([aria-busy=true]),
|
|
1632
1687
|
a.viking-btn-danger:hover:not(:disabled):not([aria-busy=true]),
|
|
@@ -1634,7 +1689,7 @@ button.viking-btn-danger:hover:not(:disabled):not([aria-busy=true]) {
|
|
|
1634
1689
|
background: color-mix(in srgb, var(--viking-danger) 88%, var(--viking-white));
|
|
1635
1690
|
border-color: color-mix(in srgb, var(--viking-danger) 92%, var(--viking-white));
|
|
1636
1691
|
color: var(--viking-on-danger);
|
|
1637
|
-
box-shadow: var(--viking-
|
|
1692
|
+
box-shadow: var(--viking-btn-hover-shadow);
|
|
1638
1693
|
transform: translateY(var(--viking-state-hover-lift));
|
|
1639
1694
|
}
|
|
1640
1695
|
.viking-btn-danger:active:not(:disabled):not([aria-busy=true]),
|
|
@@ -1643,12 +1698,17 @@ button.viking-btn-danger:active:not(:disabled):not([aria-busy=true]) {
|
|
|
1643
1698
|
transform: translateY(0) scale(var(--viking-state-active-scale));
|
|
1644
1699
|
border-color: color-mix(in srgb, var(--viking-danger) 72%, var(--viking-black));
|
|
1645
1700
|
background: color-mix(in srgb, var(--viking-danger) 84%, var(--viking-black));
|
|
1646
|
-
box-shadow: var(--viking-shadow
|
|
1701
|
+
box-shadow: var(--viking-btn-press-shadow);
|
|
1647
1702
|
}
|
|
1648
1703
|
|
|
1649
1704
|
.viking-btn-ghost,
|
|
1650
1705
|
a.viking-btn-ghost,
|
|
1651
1706
|
button.viking-btn-ghost {
|
|
1707
|
+
--viking-btn-depth-shadow: var(--viking-shadow-sm);
|
|
1708
|
+
--viking-btn-hover-shadow: var(--viking-shadow-hover);
|
|
1709
|
+
--viking-btn-press-shadow:
|
|
1710
|
+
inset 0 1px 2px color-mix(in srgb, var(--viking-black) 28%, transparent),
|
|
1711
|
+
var(--viking-shadow-xs);
|
|
1652
1712
|
font-family: var(--viking-font-family);
|
|
1653
1713
|
font-size: var(--viking-font-size-ui);
|
|
1654
1714
|
font-weight: var(--viking-font-weight-semibold);
|
|
@@ -1657,10 +1717,10 @@ button.viking-btn-ghost {
|
|
|
1657
1717
|
display: inline-flex;
|
|
1658
1718
|
align-items: center;
|
|
1659
1719
|
justify-content: center;
|
|
1660
|
-
gap: var(--viking-space-1);
|
|
1720
|
+
gap: var(--viking-space-1-5);
|
|
1661
1721
|
min-height: var(--viking-control-height);
|
|
1662
|
-
padding:
|
|
1663
|
-
border-radius: var(--viking-radius-
|
|
1722
|
+
padding: var(--viking-space-half) var(--viking-control-padding-x);
|
|
1723
|
+
border-radius: var(--viking-radius-md);
|
|
1664
1724
|
border: 1px solid transparent;
|
|
1665
1725
|
cursor: pointer;
|
|
1666
1726
|
text-decoration: none;
|
|
@@ -1674,7 +1734,7 @@ button.viking-btn-ghost {
|
|
|
1674
1734
|
user-select: none;
|
|
1675
1735
|
-webkit-tap-highlight-color: transparent;
|
|
1676
1736
|
overflow: hidden;
|
|
1677
|
-
box-shadow: var(--viking-shadow
|
|
1737
|
+
box-shadow: var(--viking-btn-depth-shadow);
|
|
1678
1738
|
}
|
|
1679
1739
|
.viking-btn-ghost:focus-visible,
|
|
1680
1740
|
a.viking-btn-ghost:focus-visible,
|
|
@@ -1692,7 +1752,7 @@ button.viking-btn-ghost::before {
|
|
|
1692
1752
|
height: 1px;
|
|
1693
1753
|
background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-100) 45%, transparent), transparent);
|
|
1694
1754
|
pointer-events: none;
|
|
1695
|
-
opacity: 0.
|
|
1755
|
+
opacity: 0.88;
|
|
1696
1756
|
transition: var(--viking-transition-interactive);
|
|
1697
1757
|
}
|
|
1698
1758
|
.viking-btn-ghost::after,
|
|
@@ -1722,9 +1782,14 @@ a.viking-btn-ghost[aria-busy=true]::before,
|
|
|
1722
1782
|
a.viking-btn-ghost[aria-busy=true] .viking-btn-label,
|
|
1723
1783
|
button.viking-btn-ghost[aria-busy=true]::before,
|
|
1724
1784
|
button.viking-btn-ghost[aria-busy=true] .viking-btn-label {
|
|
1725
|
-
opacity: 0.
|
|
1785
|
+
opacity: 0.78;
|
|
1726
1786
|
transform: translateY(1px);
|
|
1727
1787
|
}
|
|
1788
|
+
.viking-btn-ghost[aria-busy=true],
|
|
1789
|
+
a.viking-btn-ghost[aria-busy=true],
|
|
1790
|
+
button.viking-btn-ghost[aria-busy=true] {
|
|
1791
|
+
cursor: wait;
|
|
1792
|
+
}
|
|
1728
1793
|
.viking-btn-ghost viking-icon,
|
|
1729
1794
|
.viking-btn-ghost .viking-icon,
|
|
1730
1795
|
.viking-btn-ghost [data-viking-icon],
|
|
@@ -1743,6 +1808,7 @@ button.viking-btn-ghost [data-viking-icon] {
|
|
|
1743
1808
|
line-height: 1;
|
|
1744
1809
|
pointer-events: none;
|
|
1745
1810
|
flex: 0 0 auto;
|
|
1811
|
+
margin-block: calc(var(--viking-space-half) * -1);
|
|
1746
1812
|
}
|
|
1747
1813
|
.viking-btn-ghost .viking-btn-label,
|
|
1748
1814
|
a.viking-btn-ghost .viking-btn-label,
|
|
@@ -1770,6 +1836,8 @@ a.viking-btn-ghost:hover:not(:disabled):not([aria-busy=true]),
|
|
|
1770
1836
|
button.viking-btn-ghost:hover:not(:disabled):not([aria-busy=true]) {
|
|
1771
1837
|
background: var(--viking-accent-soft);
|
|
1772
1838
|
color: var(--viking-accent-strong);
|
|
1839
|
+
border-color: var(--viking-border-subtle);
|
|
1840
|
+
transform: translateY(var(--viking-state-hover-lift));
|
|
1773
1841
|
}
|
|
1774
1842
|
.viking-btn-ghost:active:not(:disabled):not([aria-busy=true]),
|
|
1775
1843
|
a.viking-btn-ghost:active:not(:disabled):not([aria-busy=true]),
|
|
@@ -1782,6 +1850,11 @@ button.viking-btn-ghost:active:not(:disabled):not([aria-busy=true]) {
|
|
|
1782
1850
|
.viking-btn-subtle,
|
|
1783
1851
|
a.viking-btn-subtle,
|
|
1784
1852
|
button.viking-btn-subtle {
|
|
1853
|
+
--viking-btn-depth-shadow: var(--viking-shadow-sm);
|
|
1854
|
+
--viking-btn-hover-shadow: var(--viking-shadow-hover);
|
|
1855
|
+
--viking-btn-press-shadow:
|
|
1856
|
+
inset 0 1px 2px color-mix(in srgb, var(--viking-black) 28%, transparent),
|
|
1857
|
+
var(--viking-shadow-xs);
|
|
1785
1858
|
font-family: var(--viking-font-family);
|
|
1786
1859
|
font-size: var(--viking-font-size-ui);
|
|
1787
1860
|
font-weight: var(--viking-font-weight-semibold);
|
|
@@ -1790,10 +1863,10 @@ button.viking-btn-subtle {
|
|
|
1790
1863
|
display: inline-flex;
|
|
1791
1864
|
align-items: center;
|
|
1792
1865
|
justify-content: center;
|
|
1793
|
-
gap: var(--viking-space-1);
|
|
1866
|
+
gap: var(--viking-space-1-5);
|
|
1794
1867
|
min-height: var(--viking-control-height);
|
|
1795
|
-
padding:
|
|
1796
|
-
border-radius: var(--viking-radius-
|
|
1868
|
+
padding: var(--viking-space-half) var(--viking-control-padding-x);
|
|
1869
|
+
border-radius: var(--viking-radius-md);
|
|
1797
1870
|
border: 1px solid transparent;
|
|
1798
1871
|
cursor: pointer;
|
|
1799
1872
|
text-decoration: none;
|
|
@@ -1807,7 +1880,7 @@ button.viking-btn-subtle {
|
|
|
1807
1880
|
user-select: none;
|
|
1808
1881
|
-webkit-tap-highlight-color: transparent;
|
|
1809
1882
|
overflow: hidden;
|
|
1810
|
-
box-shadow: var(--viking-shadow
|
|
1883
|
+
box-shadow: var(--viking-btn-depth-shadow);
|
|
1811
1884
|
}
|
|
1812
1885
|
.viking-btn-subtle:focus-visible,
|
|
1813
1886
|
a.viking-btn-subtle:focus-visible,
|
|
@@ -1825,7 +1898,7 @@ button.viking-btn-subtle::before {
|
|
|
1825
1898
|
height: 1px;
|
|
1826
1899
|
background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-100) 45%, transparent), transparent);
|
|
1827
1900
|
pointer-events: none;
|
|
1828
|
-
opacity: 0.
|
|
1901
|
+
opacity: 0.88;
|
|
1829
1902
|
transition: var(--viking-transition-interactive);
|
|
1830
1903
|
}
|
|
1831
1904
|
.viking-btn-subtle::after,
|
|
@@ -1855,9 +1928,14 @@ a.viking-btn-subtle[aria-busy=true]::before,
|
|
|
1855
1928
|
a.viking-btn-subtle[aria-busy=true] .viking-btn-label,
|
|
1856
1929
|
button.viking-btn-subtle[aria-busy=true]::before,
|
|
1857
1930
|
button.viking-btn-subtle[aria-busy=true] .viking-btn-label {
|
|
1858
|
-
opacity: 0.
|
|
1931
|
+
opacity: 0.78;
|
|
1859
1932
|
transform: translateY(1px);
|
|
1860
1933
|
}
|
|
1934
|
+
.viking-btn-subtle[aria-busy=true],
|
|
1935
|
+
a.viking-btn-subtle[aria-busy=true],
|
|
1936
|
+
button.viking-btn-subtle[aria-busy=true] {
|
|
1937
|
+
cursor: wait;
|
|
1938
|
+
}
|
|
1861
1939
|
.viking-btn-subtle viking-icon,
|
|
1862
1940
|
.viking-btn-subtle .viking-icon,
|
|
1863
1941
|
.viking-btn-subtle [data-viking-icon],
|
|
@@ -1876,6 +1954,7 @@ button.viking-btn-subtle [data-viking-icon] {
|
|
|
1876
1954
|
line-height: 1;
|
|
1877
1955
|
pointer-events: none;
|
|
1878
1956
|
flex: 0 0 auto;
|
|
1957
|
+
margin-block: calc(var(--viking-space-half) * -1);
|
|
1879
1958
|
}
|
|
1880
1959
|
.viking-btn-subtle .viking-btn-label,
|
|
1881
1960
|
a.viking-btn-subtle .viking-btn-label,
|
|
@@ -1918,57 +1997,57 @@ button.viking-btn-subtle:active:not(:disabled):not([aria-busy=true]) {
|
|
|
1918
1997
|
background: var(--viking-surface);
|
|
1919
1998
|
color: var(--viking-text);
|
|
1920
1999
|
border-color: var(--viking-border-strong);
|
|
1921
|
-
box-shadow: var(--viking-shadow
|
|
2000
|
+
box-shadow: var(--viking-btn-depth-shadow);
|
|
1922
2001
|
}
|
|
1923
2002
|
.viking-btn.viking-outline:hover:not(:disabled):not([aria-busy=true]) {
|
|
1924
|
-
background: var(--viking-surface-alt);
|
|
2003
|
+
background: color-mix(in srgb, var(--viking-accent) 5%, var(--viking-surface-alt));
|
|
1925
2004
|
border-color: color-mix(in srgb, var(--viking-accent) 45%, var(--viking-border-strong));
|
|
1926
2005
|
color: var(--viking-text);
|
|
1927
|
-
box-shadow: var(--viking-shadow
|
|
2006
|
+
box-shadow: var(--viking-btn-hover-shadow);
|
|
1928
2007
|
transform: translateY(var(--viking-state-hover-lift));
|
|
1929
2008
|
}
|
|
1930
2009
|
.viking-btn.viking-outline:active:not(:disabled):not([aria-busy=true]) {
|
|
1931
2010
|
transform: translateY(0) scale(var(--viking-state-active-scale));
|
|
1932
2011
|
border-color: var(--viking-border-strong);
|
|
1933
|
-
box-shadow:
|
|
2012
|
+
box-shadow: var(--viking-btn-press-shadow);
|
|
1934
2013
|
}
|
|
1935
2014
|
|
|
1936
2015
|
.viking-btn.viking-primary {
|
|
1937
2016
|
background: var(--viking-accent);
|
|
1938
2017
|
color: var(--viking-accent-content);
|
|
1939
2018
|
border-color: color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));
|
|
1940
|
-
box-shadow: var(--viking-shadow-
|
|
2019
|
+
box-shadow: var(--viking-btn-depth-shadow), inset 0 1px 0 color-mix(in srgb, var(--viking-white-pure) 12%, transparent);
|
|
1941
2020
|
}
|
|
1942
2021
|
.viking-btn.viking-primary:hover:not(:disabled):not([aria-busy=true]) {
|
|
1943
2022
|
background: var(--viking-accent-hover);
|
|
1944
2023
|
border-color: var(--viking-accent-hover);
|
|
1945
2024
|
color: var(--viking-accent-content);
|
|
1946
|
-
box-shadow: var(--viking-
|
|
2025
|
+
box-shadow: var(--viking-btn-hover-shadow);
|
|
1947
2026
|
transform: translateY(var(--viking-state-hover-lift));
|
|
1948
2027
|
}
|
|
1949
2028
|
.viking-btn.viking-primary:active:not(:disabled):not([aria-busy=true]) {
|
|
1950
2029
|
transform: translateY(0) scale(var(--viking-state-active-scale));
|
|
1951
2030
|
border-color: color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));
|
|
1952
|
-
box-shadow:
|
|
2031
|
+
box-shadow: var(--viking-btn-press-shadow);
|
|
1953
2032
|
}
|
|
1954
2033
|
|
|
1955
2034
|
.viking-btn.viking-secondary {
|
|
1956
2035
|
background: var(--viking-accent-secondary);
|
|
1957
2036
|
color: var(--viking-accent-secondary-content);
|
|
1958
2037
|
border-color: color-mix(in srgb, var(--viking-accent-secondary) 82%, var(--viking-black));
|
|
1959
|
-
box-shadow: var(--viking-shadow-
|
|
2038
|
+
box-shadow: var(--viking-btn-depth-shadow), inset 0 1px 0 color-mix(in srgb, var(--viking-white-pure) 10%, transparent);
|
|
1960
2039
|
}
|
|
1961
2040
|
.viking-btn.viking-secondary:hover:not(:disabled):not([aria-busy=true]) {
|
|
1962
2041
|
background: var(--viking-accent-secondary-hover);
|
|
1963
2042
|
border-color: var(--viking-accent-secondary-hover);
|
|
1964
2043
|
color: var(--viking-accent-secondary-content);
|
|
1965
|
-
box-shadow: var(--viking-
|
|
2044
|
+
box-shadow: var(--viking-btn-hover-shadow);
|
|
1966
2045
|
transform: translateY(var(--viking-state-hover-lift));
|
|
1967
2046
|
}
|
|
1968
2047
|
.viking-btn.viking-secondary:active:not(:disabled):not([aria-busy=true]) {
|
|
1969
2048
|
transform: translateY(0) scale(var(--viking-state-active-scale));
|
|
1970
2049
|
border-color: color-mix(in srgb, var(--viking-accent-secondary) 82%, var(--viking-black));
|
|
1971
|
-
box-shadow:
|
|
2050
|
+
box-shadow: var(--viking-btn-press-shadow);
|
|
1972
2051
|
}
|
|
1973
2052
|
|
|
1974
2053
|
.viking-btn.viking-filled {
|
|
@@ -1980,12 +2059,12 @@ button.viking-btn-subtle:active:not(:disabled):not([aria-busy=true]) {
|
|
|
1980
2059
|
.viking-btn.viking-filled:hover:not(:disabled):not([aria-busy=true]) {
|
|
1981
2060
|
border-color: color-mix(in srgb, var(--viking-accent) 45%, var(--viking-border));
|
|
1982
2061
|
background: color-mix(in srgb, var(--viking-accent) 8%, var(--viking-surface-alt));
|
|
1983
|
-
box-shadow: var(--viking-shadow
|
|
2062
|
+
box-shadow: var(--viking-btn-depth-shadow);
|
|
1984
2063
|
transform: translateY(var(--viking-state-hover-lift));
|
|
1985
2064
|
}
|
|
1986
2065
|
.viking-btn.viking-filled:active:not(:disabled):not([aria-busy=true]) {
|
|
1987
2066
|
transform: translateY(0) scale(var(--viking-state-active-scale));
|
|
1988
|
-
box-shadow: var(--viking-shadow
|
|
2067
|
+
box-shadow: var(--viking-btn-press-shadow);
|
|
1989
2068
|
border-color: color-mix(in srgb, var(--viking-accent) 20%, var(--viking-border));
|
|
1990
2069
|
background: color-mix(in srgb, var(--viking-surface-alt) 84%, var(--viking-accent));
|
|
1991
2070
|
}
|
|
@@ -1994,20 +2073,20 @@ button.viking-btn-subtle:active:not(:disabled):not([aria-busy=true]) {
|
|
|
1994
2073
|
background: var(--viking-danger);
|
|
1995
2074
|
color: var(--viking-on-danger);
|
|
1996
2075
|
border-color: color-mix(in srgb, var(--viking-danger) 85%, var(--viking-black));
|
|
1997
|
-
box-shadow: var(--viking-shadow-
|
|
2076
|
+
box-shadow: var(--viking-btn-depth-shadow), inset 0 1px 0 color-mix(in srgb, var(--viking-white-pure) 10%, transparent);
|
|
1998
2077
|
}
|
|
1999
2078
|
.viking-btn.viking-danger:hover:not(:disabled):not([aria-busy=true]) {
|
|
2000
2079
|
background: color-mix(in srgb, var(--viking-danger) 88%, var(--viking-white));
|
|
2001
2080
|
border-color: color-mix(in srgb, var(--viking-danger) 92%, var(--viking-white));
|
|
2002
2081
|
color: var(--viking-on-danger);
|
|
2003
|
-
box-shadow: var(--viking-
|
|
2082
|
+
box-shadow: var(--viking-btn-hover-shadow);
|
|
2004
2083
|
transform: translateY(var(--viking-state-hover-lift));
|
|
2005
2084
|
}
|
|
2006
2085
|
.viking-btn.viking-danger:active:not(:disabled):not([aria-busy=true]) {
|
|
2007
2086
|
transform: translateY(0) scale(var(--viking-state-active-scale));
|
|
2008
2087
|
border-color: color-mix(in srgb, var(--viking-danger) 72%, var(--viking-black));
|
|
2009
2088
|
background: color-mix(in srgb, var(--viking-danger) 84%, var(--viking-black));
|
|
2010
|
-
box-shadow: var(--viking-shadow
|
|
2089
|
+
box-shadow: var(--viking-btn-press-shadow);
|
|
2011
2090
|
}
|
|
2012
2091
|
|
|
2013
2092
|
.viking-btn.viking-ghost {
|
|
@@ -2020,6 +2099,8 @@ button.viking-btn-subtle:active:not(:disabled):not([aria-busy=true]) {
|
|
|
2020
2099
|
.viking-btn.viking-ghost:hover:not(:disabled):not([aria-busy=true]) {
|
|
2021
2100
|
background: var(--viking-accent-soft);
|
|
2022
2101
|
color: var(--viking-accent-strong);
|
|
2102
|
+
border-color: var(--viking-border-subtle);
|
|
2103
|
+
transform: translateY(var(--viking-state-hover-lift));
|
|
2023
2104
|
}
|
|
2024
2105
|
.viking-btn.viking-ghost:active:not(:disabled):not([aria-busy=true]) {
|
|
2025
2106
|
transform: translateY(0) scale(var(--viking-state-active-scale));
|
|
@@ -2061,6 +2142,16 @@ button.viking-btn-subtle:active:not(:disabled):not([aria-busy=true]) {
|
|
|
2061
2142
|
line-height: inherit;
|
|
2062
2143
|
}
|
|
2063
2144
|
|
|
2145
|
+
.viking-btn-spinner {
|
|
2146
|
+
flex: 0 0 auto;
|
|
2147
|
+
width: var(--viking-icon-size-sm, 18px);
|
|
2148
|
+
height: var(--viking-icon-size-sm, 18px);
|
|
2149
|
+
border: 2px solid currentColor;
|
|
2150
|
+
border-right-color: transparent;
|
|
2151
|
+
border-radius: var(--viking-radius-pill);
|
|
2152
|
+
animation: viking-spin 0.8s linear infinite;
|
|
2153
|
+
}
|
|
2154
|
+
|
|
2064
2155
|
.viking-control {
|
|
2065
2156
|
display: flex;
|
|
2066
2157
|
align-items: center;
|