@dataengineeringformachinelearning/viking-ui 4.0.4 → 4.0.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/README.md +35 -11
- package/dist/README.md +35 -11
- package/dist/design-tokens.css +300 -85
- package/dist/fesm2022/dataengineeringformachinelearning-viking-ui.mjs +100 -64
- 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 +97 -3
- package/dist/viking-components.css +161 -70
- package/dist/viking-tokens.json +9 -7
- package/dist/viking-ui-elements.js +44 -32
- package/dist/viking-ui.css +1 -1
- package/dist/web-components.js +44 -32
- 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 -67
- 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 -495
- 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 -200
- 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 -162
- 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 -133
- package/src/lib/site-drakkar/site-navbar.scss +0 -2
- package/src/lib/site-drakkar/site-navbar.ts +0 -286
- 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 -40
- 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 -168
- 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 -1250
- 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 -1013
- 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 -272
- 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 -67
- 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 -495
- 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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { forwardRef, signal, Directive, input, computed, ChangeDetectionStrategy, Component, output, CUSTOM_ELEMENTS_SCHEMA, ViewEncapsulation, model, Optional, viewChild, contentChildren, effect, Injectable, afterNextRender, InjectionToken, DOCUMENT, Inject, inject, PLATFORM_ID } from '@angular/core';
|
|
2
|
+
import { forwardRef, signal, Directive, input, computed, ChangeDetectionStrategy, Component, output, CUSTOM_ELEMENTS_SCHEMA, ViewEncapsulation, HostListener, model, Optional, viewChild, contentChildren, effect, Injectable, afterNextRender, InjectionToken, DOCUMENT, Inject, inject, PLATFORM_ID } from '@angular/core';
|
|
3
3
|
import * as i2 from '@angular/forms';
|
|
4
4
|
import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
|
|
5
5
|
import { RouterLink, RouterLinkActive } from '@angular/router';
|
|
@@ -308,6 +308,19 @@ const VIKING_ICON_NAMES$1 = Object.keys(VIKING_ICON_PATHS$1);
|
|
|
308
308
|
/** Lucide-sourced icon names (for docs and showcase grouping). */
|
|
309
309
|
const VIKING_LUCIDE_ICON_NAMES$1 = Object.keys(LUCIDE_ICON_PATHS$1);
|
|
310
310
|
|
|
311
|
+
/** Fixed series palette — keep in sync with viking-tokens.json and THEME.md §8.4 */
|
|
312
|
+
const VIKING_SERIES_PRESETS = [
|
|
313
|
+
"var(--viking-electric-500)",
|
|
314
|
+
"var(--viking-crimson-600)",
|
|
315
|
+
"var(--viking-green-500)",
|
|
316
|
+
"var(--viking-gold-500)",
|
|
317
|
+
"var(--viking-crimson-500)",
|
|
318
|
+
"var(--viking-blue-500)",
|
|
319
|
+
"var(--viking-charcoal-700)",
|
|
320
|
+
"var(--viking-metallic-500)",
|
|
321
|
+
];
|
|
322
|
+
const VIKING_SERIES_DEFAULT = VIKING_SERIES_PRESETS[0];
|
|
323
|
+
|
|
311
324
|
/** Registers a component as a ControlValueAccessor. */
|
|
312
325
|
const provideVikingCva = (component) => ({
|
|
313
326
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -776,6 +789,12 @@ const VIKING_BUTTON_STYLES = `
|
|
|
776
789
|
}
|
|
777
790
|
|
|
778
791
|
.viking-btn {
|
|
792
|
+
--viking-btn-depth-shadow: var(--viking-shadow-sm);
|
|
793
|
+
--viking-btn-hover-shadow: var(--viking-shadow-hover);
|
|
794
|
+
--viking-btn-press-shadow:
|
|
795
|
+
inset 0 1px 2px color-mix(in srgb, var(--viking-black) 28%, transparent),
|
|
796
|
+
var(--viking-shadow-xs);
|
|
797
|
+
|
|
779
798
|
font-family: inherit;
|
|
780
799
|
font-size: var(--viking-font-size-ui, var(--viking-font-size-sm));
|
|
781
800
|
font-weight: var(--viking-font-weight-semibold);
|
|
@@ -784,10 +803,10 @@ const VIKING_BUTTON_STYLES = `
|
|
|
784
803
|
display: inline-flex;
|
|
785
804
|
align-items: center;
|
|
786
805
|
justify-content: center;
|
|
787
|
-
gap: var(--viking-space-1);
|
|
806
|
+
gap: var(--viking-space-1-5);
|
|
788
807
|
min-height: var(--viking-control-height);
|
|
789
|
-
padding:
|
|
790
|
-
border-radius: var(--viking-radius-
|
|
808
|
+
padding: var(--viking-space-half) var(--viking-control-padding-x);
|
|
809
|
+
border-radius: var(--viking-radius-md);
|
|
791
810
|
border: 1px solid transparent;
|
|
792
811
|
cursor: pointer;
|
|
793
812
|
text-decoration: none;
|
|
@@ -802,7 +821,7 @@ const VIKING_BUTTON_STYLES = `
|
|
|
802
821
|
-webkit-tap-highlight-color: transparent;
|
|
803
822
|
box-sizing: border-box;
|
|
804
823
|
overflow: hidden;
|
|
805
|
-
box-shadow: var(--viking-shadow
|
|
824
|
+
box-shadow: var(--viking-btn-depth-shadow);
|
|
806
825
|
}
|
|
807
826
|
|
|
808
827
|
.viking-btn::before {
|
|
@@ -817,7 +836,7 @@ const VIKING_BUTTON_STYLES = `
|
|
|
817
836
|
transparent
|
|
818
837
|
);
|
|
819
838
|
pointer-events: none;
|
|
820
|
-
opacity: 0.
|
|
839
|
+
opacity: 0.88;
|
|
821
840
|
transition: var(--viking-transition-interactive);
|
|
822
841
|
}
|
|
823
842
|
|
|
@@ -835,9 +854,13 @@ const VIKING_BUTTON_STYLES = `
|
|
|
835
854
|
box-shadow: none !important;
|
|
836
855
|
}
|
|
837
856
|
|
|
857
|
+
.viking-btn[aria-busy='true'] {
|
|
858
|
+
cursor: wait;
|
|
859
|
+
}
|
|
860
|
+
|
|
838
861
|
.viking-btn[aria-busy='true']::before,
|
|
839
862
|
.viking-btn[aria-busy='true'] .viking-btn-label {
|
|
840
|
-
opacity: 0.
|
|
863
|
+
opacity: 0.78;
|
|
841
864
|
transform: translateY(1px);
|
|
842
865
|
}
|
|
843
866
|
|
|
@@ -941,27 +964,26 @@ const VIKING_BUTTON_STYLES = `
|
|
|
941
964
|
flex-shrink: 0;
|
|
942
965
|
pointer-events: none;
|
|
943
966
|
flex: 0 0 auto;
|
|
967
|
+
margin-block: calc(var(--viking-space-half) * -1);
|
|
944
968
|
}
|
|
945
969
|
|
|
946
970
|
.viking-btn-outline {
|
|
947
971
|
background: var(--viking-surface);
|
|
948
972
|
color: var(--viking-text);
|
|
949
973
|
border-color: var(--viking-border-strong);
|
|
950
|
-
box-shadow: var(--viking-shadow
|
|
974
|
+
box-shadow: var(--viking-btn-depth-shadow);
|
|
951
975
|
}
|
|
952
976
|
|
|
953
977
|
.viking-btn-outline:hover:not(:disabled):not([aria-busy='true']) {
|
|
954
|
-
background: var(--viking-surface-alt);
|
|
978
|
+
background: color-mix(in srgb, var(--viking-accent) 5%, var(--viking-surface-alt));
|
|
955
979
|
border-color: color-mix(in srgb, var(--viking-accent) 45%, var(--viking-border-strong));
|
|
956
|
-
box-shadow: var(--viking-shadow
|
|
980
|
+
box-shadow: var(--viking-btn-hover-shadow);
|
|
957
981
|
transform: translateY(var(--viking-state-hover-lift));
|
|
958
982
|
}
|
|
959
983
|
|
|
960
984
|
.viking-btn-outline:active:not(:disabled):not([aria-busy='true']) {
|
|
961
985
|
transform: translateY(0) scale(var(--viking-state-active-scale));
|
|
962
|
-
box-shadow:
|
|
963
|
-
color-mix(in srgb, var(--viking-black) 28%, transparent),
|
|
964
|
-
var(--viking-shadow-sm);
|
|
986
|
+
box-shadow: var(--viking-btn-press-shadow);
|
|
965
987
|
border-color: var(--viking-border-strong);
|
|
966
988
|
}
|
|
967
989
|
|
|
@@ -969,21 +991,21 @@ const VIKING_BUTTON_STYLES = `
|
|
|
969
991
|
background: var(--viking-accent);
|
|
970
992
|
color: var(--viking-accent-content);
|
|
971
993
|
border-color: color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));
|
|
972
|
-
box-shadow:
|
|
994
|
+
box-shadow:
|
|
995
|
+
var(--viking-btn-depth-shadow),
|
|
996
|
+
inset 0 1px 0 color-mix(in srgb, var(--viking-white-pure) 12%, transparent);
|
|
973
997
|
}
|
|
974
998
|
|
|
975
999
|
.viking-btn-primary:hover:not(:disabled):not([aria-busy='true']) {
|
|
976
1000
|
background: var(--viking-accent-hover);
|
|
977
1001
|
border-color: var(--viking-accent-hover);
|
|
978
|
-
box-shadow: var(--viking-
|
|
1002
|
+
box-shadow: var(--viking-btn-hover-shadow);
|
|
979
1003
|
transform: translateY(var(--viking-state-hover-lift));
|
|
980
1004
|
}
|
|
981
1005
|
|
|
982
1006
|
.viking-btn-primary:active:not(:disabled):not([aria-busy='true']) {
|
|
983
1007
|
transform: translateY(0) scale(var(--viking-state-active-scale));
|
|
984
|
-
box-shadow:
|
|
985
|
-
color-mix(in srgb, var(--viking-black) 28%, transparent),
|
|
986
|
-
var(--viking-shadow-sm);
|
|
1008
|
+
box-shadow: var(--viking-btn-press-shadow);
|
|
987
1009
|
border-color: color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));
|
|
988
1010
|
}
|
|
989
1011
|
|
|
@@ -991,21 +1013,21 @@ const VIKING_BUTTON_STYLES = `
|
|
|
991
1013
|
background: var(--viking-accent-secondary);
|
|
992
1014
|
color: var(--viking-accent-secondary-content);
|
|
993
1015
|
border-color: color-mix(in srgb, var(--viking-accent-secondary) 82%, var(--viking-black));
|
|
994
|
-
box-shadow:
|
|
1016
|
+
box-shadow:
|
|
1017
|
+
var(--viking-btn-depth-shadow),
|
|
1018
|
+
inset 0 1px 0 color-mix(in srgb, var(--viking-white-pure) 10%, transparent);
|
|
995
1019
|
}
|
|
996
1020
|
|
|
997
1021
|
.viking-btn-secondary:hover:not(:disabled):not([aria-busy='true']) {
|
|
998
1022
|
background: var(--viking-accent-secondary-hover);
|
|
999
1023
|
border-color: var(--viking-accent-secondary-hover);
|
|
1000
|
-
box-shadow: var(--viking-
|
|
1024
|
+
box-shadow: var(--viking-btn-hover-shadow);
|
|
1001
1025
|
transform: translateY(var(--viking-state-hover-lift));
|
|
1002
1026
|
}
|
|
1003
1027
|
|
|
1004
1028
|
.viking-btn-secondary:active:not(:disabled):not([aria-busy='true']) {
|
|
1005
1029
|
transform: translateY(0) scale(var(--viking-state-active-scale));
|
|
1006
|
-
box-shadow:
|
|
1007
|
-
color-mix(in srgb, var(--viking-black) 28%, transparent),
|
|
1008
|
-
var(--viking-shadow-sm);
|
|
1030
|
+
box-shadow: var(--viking-btn-press-shadow);
|
|
1009
1031
|
border-color: color-mix(in srgb, var(--viking-accent-secondary) 82%, var(--viking-black));
|
|
1010
1032
|
}
|
|
1011
1033
|
|
|
@@ -1019,13 +1041,13 @@ const VIKING_BUTTON_STYLES = `
|
|
|
1019
1041
|
.viking-btn-filled:hover:not(:disabled):not([aria-busy='true']) {
|
|
1020
1042
|
border-color: color-mix(in srgb, var(--viking-accent) 45%, var(--viking-border));
|
|
1021
1043
|
background: color-mix(in srgb, var(--viking-accent) 8%, var(--viking-surface-alt));
|
|
1022
|
-
box-shadow: var(--viking-shadow
|
|
1044
|
+
box-shadow: var(--viking-btn-depth-shadow);
|
|
1023
1045
|
transform: translateY(var(--viking-state-hover-lift));
|
|
1024
1046
|
}
|
|
1025
1047
|
|
|
1026
1048
|
.viking-btn-filled:active:not(:disabled):not([aria-busy='true']) {
|
|
1027
1049
|
transform: translateY(0) scale(var(--viking-state-active-scale));
|
|
1028
|
-
box-shadow: var(--viking-shadow
|
|
1050
|
+
box-shadow: var(--viking-btn-press-shadow);
|
|
1029
1051
|
border-color: color-mix(in srgb, var(--viking-accent) 20%, var(--viking-border));
|
|
1030
1052
|
background: color-mix(in srgb, var(--viking-surface-alt) 84%, var(--viking-accent));
|
|
1031
1053
|
}
|
|
@@ -1034,13 +1056,15 @@ const VIKING_BUTTON_STYLES = `
|
|
|
1034
1056
|
background: var(--viking-danger);
|
|
1035
1057
|
color: var(--viking-on-danger);
|
|
1036
1058
|
border-color: color-mix(in srgb, var(--viking-danger) 85%, var(--viking-black));
|
|
1037
|
-
box-shadow:
|
|
1059
|
+
box-shadow:
|
|
1060
|
+
var(--viking-btn-depth-shadow),
|
|
1061
|
+
inset 0 1px 0 color-mix(in srgb, var(--viking-white-pure) 10%, transparent);
|
|
1038
1062
|
}
|
|
1039
1063
|
|
|
1040
1064
|
.viking-btn-danger:hover:not(:disabled):not([aria-busy='true']) {
|
|
1041
1065
|
background: color-mix(in srgb, var(--viking-danger) 88%, var(--viking-white));
|
|
1042
1066
|
border-color: color-mix(in srgb, var(--viking-danger) 92%, var(--viking-white));
|
|
1043
|
-
box-shadow: var(--viking-
|
|
1067
|
+
box-shadow: var(--viking-btn-hover-shadow);
|
|
1044
1068
|
transform: translateY(var(--viking-state-hover-lift));
|
|
1045
1069
|
}
|
|
1046
1070
|
|
|
@@ -1048,9 +1072,7 @@ const VIKING_BUTTON_STYLES = `
|
|
|
1048
1072
|
transform: translateY(0) scale(var(--viking-state-active-scale));
|
|
1049
1073
|
border-color: color-mix(in srgb, var(--viking-danger) 72%, var(--viking-black));
|
|
1050
1074
|
background: color-mix(in srgb, var(--viking-danger) 84%, var(--viking-black));
|
|
1051
|
-
box-shadow:
|
|
1052
|
-
color-mix(in srgb, var(--viking-black) 28%, transparent),
|
|
1053
|
-
var(--viking-shadow-sm);
|
|
1075
|
+
box-shadow: var(--viking-btn-press-shadow);
|
|
1054
1076
|
}
|
|
1055
1077
|
|
|
1056
1078
|
.viking-btn-ghost {
|
|
@@ -1064,6 +1086,8 @@ const VIKING_BUTTON_STYLES = `
|
|
|
1064
1086
|
.viking-btn-ghost:hover:not(:disabled):not([aria-busy='true']) {
|
|
1065
1087
|
background: var(--viking-accent-soft);
|
|
1066
1088
|
color: var(--viking-accent-strong);
|
|
1089
|
+
border-color: var(--viking-border-subtle);
|
|
1090
|
+
transform: translateY(var(--viking-state-hover-lift));
|
|
1067
1091
|
}
|
|
1068
1092
|
|
|
1069
1093
|
.viking-btn-ghost:active:not(:disabled):not([aria-busy='true']) {
|
|
@@ -1109,11 +1133,12 @@ const VIKING_BUTTON_STYLES = `
|
|
|
1109
1133
|
}
|
|
1110
1134
|
|
|
1111
1135
|
.viking-btn-spinner {
|
|
1112
|
-
|
|
1113
|
-
|
|
1136
|
+
flex: 0 0 auto;
|
|
1137
|
+
width: var(--viking-icon-size-sm, 18px);
|
|
1138
|
+
height: var(--viking-icon-size-sm, 18px);
|
|
1114
1139
|
border: 2px solid currentColor;
|
|
1115
1140
|
border-right-color: transparent;
|
|
1116
|
-
border-radius:
|
|
1141
|
+
border-radius: var(--viking-radius-pill);
|
|
1117
1142
|
animation: viking-spin 0.8s linear infinite;
|
|
1118
1143
|
}
|
|
1119
1144
|
|
|
@@ -5029,7 +5054,7 @@ class VikingButton {
|
|
|
5029
5054
|
label = input("", /* @ts-ignore */
|
|
5030
5055
|
...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
|
|
5031
5056
|
pressed = output();
|
|
5032
|
-
iconSize = computed(() => this.size() === "base" ?
|
|
5057
|
+
iconSize = computed(() => this.size() === "base" ? 20 : 18, /* @ts-ignore */
|
|
5033
5058
|
...(ngDevMode ? [{ debugName: "iconSize" }] : /* istanbul ignore next */ []));
|
|
5034
5059
|
onPress = (event) => {
|
|
5035
5060
|
const detail = event.detail;
|
|
@@ -5059,14 +5084,14 @@ class VikingButton {
|
|
|
5059
5084
|
<viking-icon [name]="icon()!" [size]="iconSize()" />
|
|
5060
5085
|
}
|
|
5061
5086
|
<span class="viking-btn-label"><ng-content /></span>
|
|
5062
|
-
@if (iconTrailing()) {
|
|
5087
|
+
@if (!loading() && iconTrailing()) {
|
|
5063
5088
|
<viking-icon [name]="iconTrailing()!" [size]="iconSize()" />
|
|
5064
5089
|
}
|
|
5065
5090
|
@if (kbd()) {
|
|
5066
5091
|
<kbd class="viking-btn-kbd">{{ kbd() }}</kbd>
|
|
5067
5092
|
}
|
|
5068
5093
|
</viking-button-wc>
|
|
5069
|
-
`, isInline: true, styles: [".viking-btn,a.viking-btn,button.viking-btn{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius-lg);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;box-shadow:var(--viking-shadow-sm)}.viking-btn:focus-visible,a.viking-btn:focus-visible,button.viking-btn:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn:before,a.viking-btn:before,button.viking-btn:before{content:\"\";position:absolute;inset:1px 1px auto;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 45%,transparent),transparent);pointer-events:none;opacity:.82;transition:var(--viking-transition-interactive)}.viking-btn:after,a.viking-btn:after,button.viking-btn:after{content:\"\";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 18%,transparent),transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn:disabled,.viking-btn[aria-busy=true],a.viking-btn:disabled,a.viking-btn[aria-busy=true],button.viking-btn:disabled,button.viking-btn[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none!important;box-shadow:none!important}.viking-btn[aria-busy=true]:before,.viking-btn[aria-busy=true] .viking-btn-label,a.viking-btn[aria-busy=true]:before,a.viking-btn[aria-busy=true] .viking-btn-label,button.viking-btn[aria-busy=true]:before,button.viking-btn[aria-busy=true] .viking-btn-label{opacity:.85;transform:translateY(1px)}.viking-btn viking-icon,.viking-btn .viking-icon,.viking-btn [data-viking-icon],a.viking-btn viking-icon,a.viking-btn .viking-icon,a.viking-btn [data-viking-icon],button.viking-btn viking-icon,button.viking-btn .viking-icon,button.viking-btn [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto}.viking-btn .viking-btn-label,a.viking-btn .viking-btn-label,button.viking-btn .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-primary,a.viking-btn-primary,button.viking-btn-primary{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius-lg);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;box-shadow:var(--viking-shadow-sm)}.viking-btn-primary:focus-visible,a.viking-btn-primary:focus-visible,button.viking-btn-primary:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-primary:before,a.viking-btn-primary:before,button.viking-btn-primary:before{content:\"\";position:absolute;inset:1px 1px auto;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 45%,transparent),transparent);pointer-events:none;opacity:.82;transition:var(--viking-transition-interactive)}.viking-btn-primary:after,a.viking-btn-primary:after,button.viking-btn-primary:after{content:\"\";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 18%,transparent),transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn-primary:disabled,.viking-btn-primary[aria-busy=true],a.viking-btn-primary:disabled,a.viking-btn-primary[aria-busy=true],button.viking-btn-primary:disabled,button.viking-btn-primary[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none!important;box-shadow:none!important}.viking-btn-primary[aria-busy=true]:before,.viking-btn-primary[aria-busy=true] .viking-btn-label,a.viking-btn-primary[aria-busy=true]:before,a.viking-btn-primary[aria-busy=true] .viking-btn-label,button.viking-btn-primary[aria-busy=true]:before,button.viking-btn-primary[aria-busy=true] .viking-btn-label{opacity:.85;transform:translateY(1px)}.viking-btn-primary viking-icon,.viking-btn-primary .viking-icon,.viking-btn-primary [data-viking-icon],a.viking-btn-primary viking-icon,a.viking-btn-primary .viking-icon,a.viking-btn-primary [data-viking-icon],button.viking-btn-primary viking-icon,button.viking-btn-primary .viking-icon,button.viking-btn-primary [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto}.viking-btn-primary .viking-btn-label,a.viking-btn-primary .viking-btn-label,button.viking-btn-primary .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-primary,a.viking-btn-primary,button.viking-btn-primary{background:var(--viking-accent);color:var(--viking-accent-content);border-color:color-mix(in srgb,var(--viking-accent) 82%,var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-btn-primary:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-primary:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-primary:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-hover);border-color:var(--viking-accent-hover);color:var(--viking-accent-content);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.viking-btn-primary:active:not(:disabled):not([aria-busy=true]),a.viking-btn-primary:active:not(:disabled):not([aria-busy=true]),button.viking-btn-primary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb,var(--viking-accent) 82%,var(--viking-black));box-shadow:inset 0 1px 2px color-mix(in srgb,var(--viking-black) 28%,transparent),var(--viking-shadow-sm)}.viking-btn-secondary,a.viking-btn-secondary,button.viking-btn-secondary{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius-lg);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;box-shadow:var(--viking-shadow-sm)}.viking-btn-secondary:focus-visible,a.viking-btn-secondary:focus-visible,button.viking-btn-secondary:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-secondary:before,a.viking-btn-secondary:before,button.viking-btn-secondary:before{content:\"\";position:absolute;inset:1px 1px auto;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 45%,transparent),transparent);pointer-events:none;opacity:.82;transition:var(--viking-transition-interactive)}.viking-btn-secondary:after,a.viking-btn-secondary:after,button.viking-btn-secondary:after{content:\"\";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 18%,transparent),transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn-secondary:disabled,.viking-btn-secondary[aria-busy=true],a.viking-btn-secondary:disabled,a.viking-btn-secondary[aria-busy=true],button.viking-btn-secondary:disabled,button.viking-btn-secondary[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none!important;box-shadow:none!important}.viking-btn-secondary[aria-busy=true]:before,.viking-btn-secondary[aria-busy=true] .viking-btn-label,a.viking-btn-secondary[aria-busy=true]:before,a.viking-btn-secondary[aria-busy=true] .viking-btn-label,button.viking-btn-secondary[aria-busy=true]:before,button.viking-btn-secondary[aria-busy=true] .viking-btn-label{opacity:.85;transform:translateY(1px)}.viking-btn-secondary viking-icon,.viking-btn-secondary .viking-icon,.viking-btn-secondary [data-viking-icon],a.viking-btn-secondary viking-icon,a.viking-btn-secondary .viking-icon,a.viking-btn-secondary [data-viking-icon],button.viking-btn-secondary viking-icon,button.viking-btn-secondary .viking-icon,button.viking-btn-secondary [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto}.viking-btn-secondary .viking-btn-label,a.viking-btn-secondary .viking-btn-label,button.viking-btn-secondary .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-secondary,a.viking-btn-secondary,button.viking-btn-secondary{background:var(--viking-accent-secondary);color:var(--viking-accent-secondary-content);border-color:color-mix(in srgb,var(--viking-accent-secondary) 82%,var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-btn-secondary:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-secondary:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-secondary:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-secondary-hover);border-color:var(--viking-accent-secondary-hover);color:var(--viking-accent-secondary-content);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.viking-btn-secondary:active:not(:disabled):not([aria-busy=true]),a.viking-btn-secondary:active:not(:disabled):not([aria-busy=true]),button.viking-btn-secondary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb,var(--viking-accent-secondary) 82%,var(--viking-black));box-shadow:inset 0 1px 2px color-mix(in srgb,var(--viking-black) 28%,transparent),var(--viking-shadow-sm)}.viking-btn-outline,a.viking-btn-outline,button.viking-btn-outline{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius-lg);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;box-shadow:var(--viking-shadow-sm)}.viking-btn-outline:focus-visible,a.viking-btn-outline:focus-visible,button.viking-btn-outline:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-outline:before,a.viking-btn-outline:before,button.viking-btn-outline:before{content:\"\";position:absolute;inset:1px 1px auto;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 45%,transparent),transparent);pointer-events:none;opacity:.82;transition:var(--viking-transition-interactive)}.viking-btn-outline:after,a.viking-btn-outline:after,button.viking-btn-outline:after{content:\"\";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 18%,transparent),transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn-outline:disabled,.viking-btn-outline[aria-busy=true],a.viking-btn-outline:disabled,a.viking-btn-outline[aria-busy=true],button.viking-btn-outline:disabled,button.viking-btn-outline[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none!important;box-shadow:none!important}.viking-btn-outline[aria-busy=true]:before,.viking-btn-outline[aria-busy=true] .viking-btn-label,a.viking-btn-outline[aria-busy=true]:before,a.viking-btn-outline[aria-busy=true] .viking-btn-label,button.viking-btn-outline[aria-busy=true]:before,button.viking-btn-outline[aria-busy=true] .viking-btn-label{opacity:.85;transform:translateY(1px)}.viking-btn-outline viking-icon,.viking-btn-outline .viking-icon,.viking-btn-outline [data-viking-icon],a.viking-btn-outline viking-icon,a.viking-btn-outline .viking-icon,a.viking-btn-outline [data-viking-icon],button.viking-btn-outline viking-icon,button.viking-btn-outline .viking-icon,button.viking-btn-outline [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto}.viking-btn-outline .viking-btn-label,a.viking-btn-outline .viking-btn-label,button.viking-btn-outline .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-outline,a.viking-btn-outline,button.viking-btn-outline{background:var(--viking-surface);color:var(--viking-text);border-color:var(--viking-border-strong);box-shadow:var(--viking-shadow-sm)}.viking-btn-outline:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-outline:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-outline:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-surface-alt);border-color:color-mix(in srgb,var(--viking-accent) 45%,var(--viking-border-strong));color:var(--viking-text);box-shadow:var(--viking-shadow-md);transform:translateY(var(--viking-state-hover-lift))}.viking-btn-outline:active:not(:disabled):not([aria-busy=true]),a.viking-btn-outline:active:not(:disabled):not([aria-busy=true]),button.viking-btn-outline:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border-strong);box-shadow:inset 0 1px 2px color-mix(in srgb,var(--viking-black) 28%,transparent),var(--viking-shadow-sm)}.viking-btn-danger,a.viking-btn-danger,button.viking-btn-danger{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius-lg);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;box-shadow:var(--viking-shadow-sm)}.viking-btn-danger:focus-visible,a.viking-btn-danger:focus-visible,button.viking-btn-danger:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-danger:before,a.viking-btn-danger:before,button.viking-btn-danger:before{content:\"\";position:absolute;inset:1px 1px auto;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 45%,transparent),transparent);pointer-events:none;opacity:.82;transition:var(--viking-transition-interactive)}.viking-btn-danger:after,a.viking-btn-danger:after,button.viking-btn-danger:after{content:\"\";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 18%,transparent),transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn-danger:disabled,.viking-btn-danger[aria-busy=true],a.viking-btn-danger:disabled,a.viking-btn-danger[aria-busy=true],button.viking-btn-danger:disabled,button.viking-btn-danger[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none!important;box-shadow:none!important}.viking-btn-danger[aria-busy=true]:before,.viking-btn-danger[aria-busy=true] .viking-btn-label,a.viking-btn-danger[aria-busy=true]:before,a.viking-btn-danger[aria-busy=true] .viking-btn-label,button.viking-btn-danger[aria-busy=true]:before,button.viking-btn-danger[aria-busy=true] .viking-btn-label{opacity:.85;transform:translateY(1px)}.viking-btn-danger viking-icon,.viking-btn-danger .viking-icon,.viking-btn-danger [data-viking-icon],a.viking-btn-danger viking-icon,a.viking-btn-danger .viking-icon,a.viking-btn-danger [data-viking-icon],button.viking-btn-danger viking-icon,button.viking-btn-danger .viking-icon,button.viking-btn-danger [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto}.viking-btn-danger .viking-btn-label,a.viking-btn-danger .viking-btn-label,button.viking-btn-danger .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-danger,a.viking-btn-danger,button.viking-btn-danger{background:var(--viking-danger);color:var(--viking-on-danger);border-color:color-mix(in srgb,var(--viking-danger) 85%,var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-btn-danger:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-danger:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-danger:hover:not(:disabled):not([aria-busy=true]){background:color-mix(in srgb,var(--viking-danger) 88%,var(--viking-white));border-color:color-mix(in srgb,var(--viking-danger) 92%,var(--viking-white));color:var(--viking-on-danger);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.viking-btn-danger:active:not(:disabled):not([aria-busy=true]),a.viking-btn-danger:active:not(:disabled):not([aria-busy=true]),button.viking-btn-danger:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb,var(--viking-danger) 72%,var(--viking-black));background:color-mix(in srgb,var(--viking-danger) 84%,var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-btn-ghost,a.viking-btn-ghost,button.viking-btn-ghost{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius-lg);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;box-shadow:var(--viking-shadow-sm)}.viking-btn-ghost:focus-visible,a.viking-btn-ghost:focus-visible,button.viking-btn-ghost:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-ghost:before,a.viking-btn-ghost:before,button.viking-btn-ghost:before{content:\"\";position:absolute;inset:1px 1px auto;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 45%,transparent),transparent);pointer-events:none;opacity:.82;transition:var(--viking-transition-interactive)}.viking-btn-ghost:after,a.viking-btn-ghost:after,button.viking-btn-ghost:after{content:\"\";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 18%,transparent),transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn-ghost:disabled,.viking-btn-ghost[aria-busy=true],a.viking-btn-ghost:disabled,a.viking-btn-ghost[aria-busy=true],button.viking-btn-ghost:disabled,button.viking-btn-ghost[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none!important;box-shadow:none!important}.viking-btn-ghost[aria-busy=true]:before,.viking-btn-ghost[aria-busy=true] .viking-btn-label,a.viking-btn-ghost[aria-busy=true]:before,a.viking-btn-ghost[aria-busy=true] .viking-btn-label,button.viking-btn-ghost[aria-busy=true]:before,button.viking-btn-ghost[aria-busy=true] .viking-btn-label{opacity:.85;transform:translateY(1px)}.viking-btn-ghost viking-icon,.viking-btn-ghost .viking-icon,.viking-btn-ghost [data-viking-icon],a.viking-btn-ghost viking-icon,a.viking-btn-ghost .viking-icon,a.viking-btn-ghost [data-viking-icon],button.viking-btn-ghost viking-icon,button.viking-btn-ghost .viking-icon,button.viking-btn-ghost [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto}.viking-btn-ghost .viking-btn-label,a.viking-btn-ghost .viking-btn-label,button.viking-btn-ghost .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-ghost,a.viking-btn-ghost,button.viking-btn-ghost{background:transparent;color:var(--viking-text);min-width:auto;box-shadow:none;border-color:transparent}.viking-btn-ghost:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-ghost:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-ghost:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-soft);color:var(--viking-accent-strong)}.viking-btn-ghost:active:not(:disabled):not([aria-busy=true]),a.viking-btn-ghost:active:not(:disabled):not([aria-busy=true]),button.viking-btn-ghost:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));background:var(--viking-accent-soft);color:var(--viking-accent-strong)}.viking-btn-subtle,a.viking-btn-subtle,button.viking-btn-subtle{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius-lg);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;box-shadow:var(--viking-shadow-sm)}.viking-btn-subtle:focus-visible,a.viking-btn-subtle:focus-visible,button.viking-btn-subtle:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-subtle:before,a.viking-btn-subtle:before,button.viking-btn-subtle:before{content:\"\";position:absolute;inset:1px 1px auto;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 45%,transparent),transparent);pointer-events:none;opacity:.82;transition:var(--viking-transition-interactive)}.viking-btn-subtle:after,a.viking-btn-subtle:after,button.viking-btn-subtle:after{content:\"\";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 18%,transparent),transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn-subtle:disabled,.viking-btn-subtle[aria-busy=true],a.viking-btn-subtle:disabled,a.viking-btn-subtle[aria-busy=true],button.viking-btn-subtle:disabled,button.viking-btn-subtle[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none!important;box-shadow:none!important}.viking-btn-subtle[aria-busy=true]:before,.viking-btn-subtle[aria-busy=true] .viking-btn-label,a.viking-btn-subtle[aria-busy=true]:before,a.viking-btn-subtle[aria-busy=true] .viking-btn-label,button.viking-btn-subtle[aria-busy=true]:before,button.viking-btn-subtle[aria-busy=true] .viking-btn-label{opacity:.85;transform:translateY(1px)}.viking-btn-subtle viking-icon,.viking-btn-subtle .viking-icon,.viking-btn-subtle [data-viking-icon],a.viking-btn-subtle viking-icon,a.viking-btn-subtle .viking-icon,a.viking-btn-subtle [data-viking-icon],button.viking-btn-subtle viking-icon,button.viking-btn-subtle .viking-icon,button.viking-btn-subtle [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto}.viking-btn-subtle .viking-btn-label,a.viking-btn-subtle .viking-btn-label,button.viking-btn-subtle .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-subtle,a.viking-btn-subtle,button.viking-btn-subtle{background:transparent;color:var(--viking-text-muted);border-color:var(--viking-border-subtle);min-width:auto;box-shadow:none}.viking-btn-subtle:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-subtle:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-subtle:hover:not(:disabled):not([aria-busy=true]){color:var(--viking-text);background:var(--viking-accent-soft);border-color:var(--viking-border-strong)}.viking-btn-subtle:active:not(:disabled):not([aria-busy=true]),a.viking-btn-subtle:active:not(:disabled):not([aria-busy=true]),button.viking-btn-subtle:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border);background:color-mix(in srgb,var(--viking-accent-soft) 70%,var(--viking-surface));box-shadow:inset 0 1px 2px color-mix(in srgb,var(--viking-black) 24%,transparent)}.viking-btn.viking-outline{background:var(--viking-surface);color:var(--viking-text);border-color:var(--viking-border-strong);box-shadow:var(--viking-shadow-sm)}.viking-btn.viking-outline:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-surface-alt);border-color:color-mix(in srgb,var(--viking-accent) 45%,var(--viking-border-strong));color:var(--viking-text);box-shadow:var(--viking-shadow-md);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-outline:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border-strong);box-shadow:inset 0 1px 2px color-mix(in srgb,var(--viking-black) 28%,transparent),var(--viking-shadow-sm)}.viking-btn.viking-primary{background:var(--viking-accent);color:var(--viking-accent-content);border-color:color-mix(in srgb,var(--viking-accent) 82%,var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-btn.viking-primary:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-hover);border-color:var(--viking-accent-hover);color:var(--viking-accent-content);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-primary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb,var(--viking-accent) 82%,var(--viking-black));box-shadow:inset 0 1px 2px color-mix(in srgb,var(--viking-black) 28%,transparent),var(--viking-shadow-sm)}.viking-btn.viking-secondary{background:var(--viking-accent-secondary);color:var(--viking-accent-secondary-content);border-color:color-mix(in srgb,var(--viking-accent-secondary) 82%,var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-btn.viking-secondary:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-secondary-hover);border-color:var(--viking-accent-secondary-hover);color:var(--viking-accent-secondary-content);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-secondary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb,var(--viking-accent-secondary) 82%,var(--viking-black));box-shadow:inset 0 1px 2px color-mix(in srgb,var(--viking-black) 28%,transparent),var(--viking-shadow-sm)}.viking-btn.viking-filled{background:var(--viking-surface-alt);color:var(--viking-text);border-color:var(--viking-border);box-shadow:var(--viking-shadow-xs)}.viking-btn.viking-filled:hover:not(:disabled):not([aria-busy=true]){border-color:color-mix(in srgb,var(--viking-accent) 45%,var(--viking-border));background:color-mix(in srgb,var(--viking-accent) 8%,var(--viking-surface-alt));box-shadow:var(--viking-shadow-sm);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-filled:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));box-shadow:var(--viking-shadow-sm);border-color:color-mix(in srgb,var(--viking-accent) 20%,var(--viking-border));background:color-mix(in srgb,var(--viking-surface-alt) 84%,var(--viking-accent))}.viking-btn.viking-danger{background:var(--viking-danger);color:var(--viking-on-danger);border-color:color-mix(in srgb,var(--viking-danger) 85%,var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-btn.viking-danger:hover:not(:disabled):not([aria-busy=true]){background:color-mix(in srgb,var(--viking-danger) 88%,var(--viking-white));border-color:color-mix(in srgb,var(--viking-danger) 92%,var(--viking-white));color:var(--viking-on-danger);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-danger:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb,var(--viking-danger) 72%,var(--viking-black));background:color-mix(in srgb,var(--viking-danger) 84%,var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-btn.viking-ghost{background:transparent;color:var(--viking-text);min-width:auto;box-shadow:none;border-color:transparent}.viking-btn.viking-ghost:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-soft);color:var(--viking-accent-strong)}.viking-btn.viking-ghost:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));background:var(--viking-accent-soft);color:var(--viking-accent-strong)}.viking-btn.viking-subtle{background:transparent;color:var(--viking-text-muted);border-color:var(--viking-border-subtle);min-width:auto;box-shadow:none}.viking-btn.viking-subtle:hover:not(:disabled):not([aria-busy=true]){color:var(--viking-text);background:var(--viking-accent-soft);border-color:var(--viking-border-strong)}.viking-btn.viking-subtle:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border);background:color-mix(in srgb,var(--viking-accent-soft) 70%,var(--viking-surface));box-shadow:inset 0 1px 2px color-mix(in srgb,var(--viking-black) 24%,transparent)}.viking-btn.viking-compact{min-width:0}.viking-btn.viking-full{width:100%;min-width:0}.viking-btn-label{display:inline-flex;align-items:center;line-height:inherit}:host{display:inline-flex;align-items:center}:host(.viking-full){display:flex}:host(.viking-full) .viking-btn{width:100%;min-width:0}:host(.viking-compact) .viking-btn{min-width:0}.viking-btn{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius-lg);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;box-shadow:var(--viking-shadow-sm)}.viking-btn:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn:before{content:\"\";position:absolute;inset:1px 1px auto;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 45%,transparent),transparent);pointer-events:none;opacity:.82;transition:var(--viking-transition-interactive)}.viking-btn:after{content:\"\";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 18%,transparent),transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn:disabled,.viking-btn[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none!important;box-shadow:none!important}.viking-btn[aria-busy=true]:before,.viking-btn[aria-busy=true] .viking-btn-label{opacity:.85;transform:translateY(1px)}.viking-btn viking-icon,.viking-btn .viking-icon,.viking-btn [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto}.viking-btn .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn{line-height:1}.viking-btn viking-icon,.viking-btn .viking-icon,.viking-btn [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none}.viking-sm{min-height:var(--viking-control-height-sm);padding:0 var(--viking-space-2);font-size:var(--viking-font-size-xs);min-width:auto}.viking-xs{min-height:var(--viking-control-height-xs);padding:0 var(--viking-space-1);font-size:var(--viking-font-size-xs);min-width:auto}.viking-square{width:var(--viking-control-height);min-width:var(--viking-control-height);padding:0}.viking-square.viking-sm{width:var(--viking-control-height-sm);min-width:var(--viking-control-height-sm)}.viking-square.viking-xs{width:var(--viking-control-height-xs);min-width:var(--viking-control-height-xs)}.viking-square .viking-btn-label{display:none}.viking-outline{background:var(--viking-surface);color:var(--viking-text);border-color:var(--viking-border-strong);box-shadow:var(--viking-shadow-sm)}.viking-outline:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-surface-alt);border-color:color-mix(in srgb,var(--viking-accent) 45%,var(--viking-border-strong));color:var(--viking-text);box-shadow:var(--viking-shadow-md);transform:translateY(var(--viking-state-hover-lift))}.viking-outline:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border-strong);box-shadow:inset 0 1px 2px color-mix(in srgb,var(--viking-black) 28%,transparent),var(--viking-shadow-sm)}.viking-primary{background:var(--viking-accent);color:var(--viking-accent-content);border-color:color-mix(in srgb,var(--viking-accent) 82%,var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-primary:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-hover);border-color:var(--viking-accent-hover);color:var(--viking-accent-content);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.viking-primary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb,var(--viking-accent) 82%,var(--viking-black));box-shadow:inset 0 1px 2px color-mix(in srgb,var(--viking-black) 28%,transparent),var(--viking-shadow-sm)}.viking-secondary{background:var(--viking-accent-secondary);color:var(--viking-accent-secondary-content);border-color:color-mix(in srgb,var(--viking-accent-secondary) 82%,var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-secondary:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-secondary-hover);border-color:var(--viking-accent-secondary-hover);color:var(--viking-accent-secondary-content);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.viking-secondary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb,var(--viking-accent-secondary) 82%,var(--viking-black));box-shadow:inset 0 1px 2px color-mix(in srgb,var(--viking-black) 28%,transparent),var(--viking-shadow-sm)}.viking-filled{background:var(--viking-surface-alt);color:var(--viking-text);border-color:var(--viking-border);box-shadow:var(--viking-shadow-xs)}.viking-filled:hover:not(:disabled):not([aria-busy=true]){border-color:color-mix(in srgb,var(--viking-accent) 45%,var(--viking-border));background:color-mix(in srgb,var(--viking-accent) 8%,var(--viking-surface-alt));box-shadow:var(--viking-shadow-sm);transform:translateY(var(--viking-state-hover-lift))}.viking-filled:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));box-shadow:var(--viking-shadow-sm);border-color:color-mix(in srgb,var(--viking-accent) 20%,var(--viking-border));background:color-mix(in srgb,var(--viking-surface-alt) 84%,var(--viking-accent))}.viking-danger{background:var(--viking-danger);color:var(--viking-on-danger);border-color:color-mix(in srgb,var(--viking-danger) 85%,var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-danger:hover:not(:disabled):not([aria-busy=true]){background:color-mix(in srgb,var(--viking-danger) 88%,var(--viking-white));border-color:color-mix(in srgb,var(--viking-danger) 92%,var(--viking-white));color:var(--viking-on-danger);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.viking-danger:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb,var(--viking-danger) 72%,var(--viking-black));background:color-mix(in srgb,var(--viking-danger) 84%,var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-ghost{background:transparent;color:var(--viking-text);min-width:auto;box-shadow:none;border-color:transparent}.viking-ghost:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-soft);color:var(--viking-accent-strong)}.viking-ghost:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));background:var(--viking-accent-soft);color:var(--viking-accent-strong)}.viking-subtle{background:transparent;color:var(--viking-text-muted);border-color:var(--viking-border-subtle);min-width:auto;box-shadow:none}.viking-subtle:hover:not(:disabled):not([aria-busy=true]){color:var(--viking-text);background:var(--viking-accent-soft);border-color:var(--viking-border-strong)}.viking-subtle:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border);background:color-mix(in srgb,var(--viking-accent-soft) 70%,var(--viking-surface));box-shadow:inset 0 1px 2px color-mix(in srgb,var(--viking-black) 24%,transparent)}.viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:inherit;min-width:0;justify-content:center;white-space:nowrap}.viking-btn kbd{margin-top:0}.viking-btn-kbd{font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-xs);color:var(--viking-text-muted);background:var(--viking-surface-alt);border:1px solid var(--viking-border);border-radius:var(--viking-radius-xs);padding:0 var(--viking-space-half);line-height:1.4;margin-left:var(--viking-space-half);font-weight:var(--viking-font-weight-medium)}\n"], dependencies: [{ kind: "component", type: VikingIcon, selector: "viking-icon", inputs: ["name", "size", "sizePreset", "variant", "color", "backdrop", "backdropTone", "spin"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
5094
|
+
`, isInline: true, styles: [".viking-btn,a.viking-btn,button.viking-btn{--viking-btn-depth-shadow: var(--viking-shadow-sm);--viking-btn-hover-shadow: var(--viking-shadow-hover);--viking-btn-press-shadow: inset 0 1px 2px color-mix(in srgb, var(--viking-black) 28%, transparent), var(--viking-shadow-xs);font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1-5);min-height:var(--viking-control-height);padding:var(--viking-space-half) var(--viking-control-padding-x);border-radius:var(--viking-radius-md);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}.viking-btn:focus-visible,a.viking-btn:focus-visible,button.viking-btn:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn:before,a.viking-btn:before,button.viking-btn:before{content:\"\";position:absolute;inset:1px 1px auto;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 45%,transparent),transparent);pointer-events:none;opacity:.88;transition:var(--viking-transition-interactive)}.viking-btn:after,a.viking-btn:after,button.viking-btn:after{content:\"\";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 18%,transparent),transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn:disabled,.viking-btn[aria-busy=true],a.viking-btn:disabled,a.viking-btn[aria-busy=true],button.viking-btn:disabled,button.viking-btn[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none!important;box-shadow:none!important}.viking-btn[aria-busy=true]:before,.viking-btn[aria-busy=true] .viking-btn-label,a.viking-btn[aria-busy=true]:before,a.viking-btn[aria-busy=true] .viking-btn-label,button.viking-btn[aria-busy=true]:before,button.viking-btn[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}.viking-btn[aria-busy=true],a.viking-btn[aria-busy=true],button.viking-btn[aria-busy=true]{cursor:wait}.viking-btn viking-icon,.viking-btn .viking-icon,.viking-btn [data-viking-icon],a.viking-btn viking-icon,a.viking-btn .viking-icon,a.viking-btn [data-viking-icon],button.viking-btn viking-icon,button.viking-btn .viking-icon,button.viking-btn [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-half) * -1)}.viking-btn .viking-btn-label,a.viking-btn .viking-btn-label,button.viking-btn .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-primary,a.viking-btn-primary,button.viking-btn-primary{--viking-btn-depth-shadow: var(--viking-shadow-sm);--viking-btn-hover-shadow: var(--viking-shadow-hover);--viking-btn-press-shadow: inset 0 1px 2px color-mix(in srgb, var(--viking-black) 28%, transparent), var(--viking-shadow-xs);font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1-5);min-height:var(--viking-control-height);padding:var(--viking-space-half) var(--viking-control-padding-x);border-radius:var(--viking-radius-md);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}.viking-btn-primary:focus-visible,a.viking-btn-primary:focus-visible,button.viking-btn-primary:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-primary:before,a.viking-btn-primary:before,button.viking-btn-primary:before{content:\"\";position:absolute;inset:1px 1px auto;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 45%,transparent),transparent);pointer-events:none;opacity:.88;transition:var(--viking-transition-interactive)}.viking-btn-primary:after,a.viking-btn-primary:after,button.viking-btn-primary:after{content:\"\";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 18%,transparent),transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn-primary:disabled,.viking-btn-primary[aria-busy=true],a.viking-btn-primary:disabled,a.viking-btn-primary[aria-busy=true],button.viking-btn-primary:disabled,button.viking-btn-primary[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none!important;box-shadow:none!important}.viking-btn-primary[aria-busy=true]:before,.viking-btn-primary[aria-busy=true] .viking-btn-label,a.viking-btn-primary[aria-busy=true]:before,a.viking-btn-primary[aria-busy=true] .viking-btn-label,button.viking-btn-primary[aria-busy=true]:before,button.viking-btn-primary[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}.viking-btn-primary[aria-busy=true],a.viking-btn-primary[aria-busy=true],button.viking-btn-primary[aria-busy=true]{cursor:wait}.viking-btn-primary viking-icon,.viking-btn-primary .viking-icon,.viking-btn-primary [data-viking-icon],a.viking-btn-primary viking-icon,a.viking-btn-primary .viking-icon,a.viking-btn-primary [data-viking-icon],button.viking-btn-primary viking-icon,button.viking-btn-primary .viking-icon,button.viking-btn-primary [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-half) * -1)}.viking-btn-primary .viking-btn-label,a.viking-btn-primary .viking-btn-label,button.viking-btn-primary .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-primary,a.viking-btn-primary,button.viking-btn-primary{background:var(--viking-accent);color:var(--viking-accent-content);border-color:color-mix(in srgb,var(--viking-accent) 82%,var(--viking-black));box-shadow:var(--viking-btn-depth-shadow),inset 0 1px color-mix(in srgb,var(--viking-white-pure) 12%,transparent)}.viking-btn-primary:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-primary:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-primary:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-hover);border-color:var(--viking-accent-hover);color:var(--viking-accent-content);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn-primary:active:not(:disabled):not([aria-busy=true]),a.viking-btn-primary:active:not(:disabled):not([aria-busy=true]),button.viking-btn-primary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb,var(--viking-accent) 82%,var(--viking-black));box-shadow:var(--viking-btn-press-shadow)}.viking-btn-secondary,a.viking-btn-secondary,button.viking-btn-secondary{--viking-btn-depth-shadow: var(--viking-shadow-sm);--viking-btn-hover-shadow: var(--viking-shadow-hover);--viking-btn-press-shadow: inset 0 1px 2px color-mix(in srgb, var(--viking-black) 28%, transparent), var(--viking-shadow-xs);font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1-5);min-height:var(--viking-control-height);padding:var(--viking-space-half) var(--viking-control-padding-x);border-radius:var(--viking-radius-md);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}.viking-btn-secondary:focus-visible,a.viking-btn-secondary:focus-visible,button.viking-btn-secondary:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-secondary:before,a.viking-btn-secondary:before,button.viking-btn-secondary:before{content:\"\";position:absolute;inset:1px 1px auto;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 45%,transparent),transparent);pointer-events:none;opacity:.88;transition:var(--viking-transition-interactive)}.viking-btn-secondary:after,a.viking-btn-secondary:after,button.viking-btn-secondary:after{content:\"\";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 18%,transparent),transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn-secondary:disabled,.viking-btn-secondary[aria-busy=true],a.viking-btn-secondary:disabled,a.viking-btn-secondary[aria-busy=true],button.viking-btn-secondary:disabled,button.viking-btn-secondary[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none!important;box-shadow:none!important}.viking-btn-secondary[aria-busy=true]:before,.viking-btn-secondary[aria-busy=true] .viking-btn-label,a.viking-btn-secondary[aria-busy=true]:before,a.viking-btn-secondary[aria-busy=true] .viking-btn-label,button.viking-btn-secondary[aria-busy=true]:before,button.viking-btn-secondary[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}.viking-btn-secondary[aria-busy=true],a.viking-btn-secondary[aria-busy=true],button.viking-btn-secondary[aria-busy=true]{cursor:wait}.viking-btn-secondary viking-icon,.viking-btn-secondary .viking-icon,.viking-btn-secondary [data-viking-icon],a.viking-btn-secondary viking-icon,a.viking-btn-secondary .viking-icon,a.viking-btn-secondary [data-viking-icon],button.viking-btn-secondary viking-icon,button.viking-btn-secondary .viking-icon,button.viking-btn-secondary [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-half) * -1)}.viking-btn-secondary .viking-btn-label,a.viking-btn-secondary .viking-btn-label,button.viking-btn-secondary .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-secondary,a.viking-btn-secondary,button.viking-btn-secondary{background:var(--viking-accent-secondary);color:var(--viking-accent-secondary-content);border-color:color-mix(in srgb,var(--viking-accent-secondary) 82%,var(--viking-black));box-shadow:var(--viking-btn-depth-shadow),inset 0 1px color-mix(in srgb,var(--viking-white-pure) 10%,transparent)}.viking-btn-secondary:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-secondary:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-secondary:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-secondary-hover);border-color:var(--viking-accent-secondary-hover);color:var(--viking-accent-secondary-content);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn-secondary:active:not(:disabled):not([aria-busy=true]),a.viking-btn-secondary:active:not(:disabled):not([aria-busy=true]),button.viking-btn-secondary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb,var(--viking-accent-secondary) 82%,var(--viking-black));box-shadow:var(--viking-btn-press-shadow)}.viking-btn-outline,a.viking-btn-outline,button.viking-btn-outline{--viking-btn-depth-shadow: var(--viking-shadow-sm);--viking-btn-hover-shadow: var(--viking-shadow-hover);--viking-btn-press-shadow: inset 0 1px 2px color-mix(in srgb, var(--viking-black) 28%, transparent), var(--viking-shadow-xs);font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1-5);min-height:var(--viking-control-height);padding:var(--viking-space-half) var(--viking-control-padding-x);border-radius:var(--viking-radius-md);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}.viking-btn-outline:focus-visible,a.viking-btn-outline:focus-visible,button.viking-btn-outline:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-outline:before,a.viking-btn-outline:before,button.viking-btn-outline:before{content:\"\";position:absolute;inset:1px 1px auto;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 45%,transparent),transparent);pointer-events:none;opacity:.88;transition:var(--viking-transition-interactive)}.viking-btn-outline:after,a.viking-btn-outline:after,button.viking-btn-outline:after{content:\"\";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 18%,transparent),transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn-outline:disabled,.viking-btn-outline[aria-busy=true],a.viking-btn-outline:disabled,a.viking-btn-outline[aria-busy=true],button.viking-btn-outline:disabled,button.viking-btn-outline[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none!important;box-shadow:none!important}.viking-btn-outline[aria-busy=true]:before,.viking-btn-outline[aria-busy=true] .viking-btn-label,a.viking-btn-outline[aria-busy=true]:before,a.viking-btn-outline[aria-busy=true] .viking-btn-label,button.viking-btn-outline[aria-busy=true]:before,button.viking-btn-outline[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}.viking-btn-outline[aria-busy=true],a.viking-btn-outline[aria-busy=true],button.viking-btn-outline[aria-busy=true]{cursor:wait}.viking-btn-outline viking-icon,.viking-btn-outline .viking-icon,.viking-btn-outline [data-viking-icon],a.viking-btn-outline viking-icon,a.viking-btn-outline .viking-icon,a.viking-btn-outline [data-viking-icon],button.viking-btn-outline viking-icon,button.viking-btn-outline .viking-icon,button.viking-btn-outline [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-half) * -1)}.viking-btn-outline .viking-btn-label,a.viking-btn-outline .viking-btn-label,button.viking-btn-outline .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-outline,a.viking-btn-outline,button.viking-btn-outline{background:var(--viking-surface);color:var(--viking-text);border-color:var(--viking-border-strong);box-shadow:var(--viking-btn-depth-shadow)}.viking-btn-outline:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-outline:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-outline:hover:not(:disabled):not([aria-busy=true]){background:color-mix(in srgb,var(--viking-accent) 5%,var(--viking-surface-alt));border-color:color-mix(in srgb,var(--viking-accent) 45%,var(--viking-border-strong));color:var(--viking-text);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn-outline:active:not(:disabled):not([aria-busy=true]),a.viking-btn-outline:active:not(:disabled):not([aria-busy=true]),button.viking-btn-outline:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border-strong);box-shadow:var(--viking-btn-press-shadow)}.viking-btn-danger,a.viking-btn-danger,button.viking-btn-danger{--viking-btn-depth-shadow: var(--viking-shadow-sm);--viking-btn-hover-shadow: var(--viking-shadow-hover);--viking-btn-press-shadow: inset 0 1px 2px color-mix(in srgb, var(--viking-black) 28%, transparent), var(--viking-shadow-xs);font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1-5);min-height:var(--viking-control-height);padding:var(--viking-space-half) var(--viking-control-padding-x);border-radius:var(--viking-radius-md);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}.viking-btn-danger:focus-visible,a.viking-btn-danger:focus-visible,button.viking-btn-danger:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-danger:before,a.viking-btn-danger:before,button.viking-btn-danger:before{content:\"\";position:absolute;inset:1px 1px auto;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 45%,transparent),transparent);pointer-events:none;opacity:.88;transition:var(--viking-transition-interactive)}.viking-btn-danger:after,a.viking-btn-danger:after,button.viking-btn-danger:after{content:\"\";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 18%,transparent),transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn-danger:disabled,.viking-btn-danger[aria-busy=true],a.viking-btn-danger:disabled,a.viking-btn-danger[aria-busy=true],button.viking-btn-danger:disabled,button.viking-btn-danger[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none!important;box-shadow:none!important}.viking-btn-danger[aria-busy=true]:before,.viking-btn-danger[aria-busy=true] .viking-btn-label,a.viking-btn-danger[aria-busy=true]:before,a.viking-btn-danger[aria-busy=true] .viking-btn-label,button.viking-btn-danger[aria-busy=true]:before,button.viking-btn-danger[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}.viking-btn-danger[aria-busy=true],a.viking-btn-danger[aria-busy=true],button.viking-btn-danger[aria-busy=true]{cursor:wait}.viking-btn-danger viking-icon,.viking-btn-danger .viking-icon,.viking-btn-danger [data-viking-icon],a.viking-btn-danger viking-icon,a.viking-btn-danger .viking-icon,a.viking-btn-danger [data-viking-icon],button.viking-btn-danger viking-icon,button.viking-btn-danger .viking-icon,button.viking-btn-danger [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-half) * -1)}.viking-btn-danger .viking-btn-label,a.viking-btn-danger .viking-btn-label,button.viking-btn-danger .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-danger,a.viking-btn-danger,button.viking-btn-danger{background:var(--viking-danger);color:var(--viking-on-danger);border-color:color-mix(in srgb,var(--viking-danger) 85%,var(--viking-black));box-shadow:var(--viking-btn-depth-shadow),inset 0 1px color-mix(in srgb,var(--viking-white-pure) 10%,transparent)}.viking-btn-danger:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-danger:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-danger:hover:not(:disabled):not([aria-busy=true]){background:color-mix(in srgb,var(--viking-danger) 88%,var(--viking-white));border-color:color-mix(in srgb,var(--viking-danger) 92%,var(--viking-white));color:var(--viking-on-danger);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn-danger:active:not(:disabled):not([aria-busy=true]),a.viking-btn-danger:active:not(:disabled):not([aria-busy=true]),button.viking-btn-danger:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb,var(--viking-danger) 72%,var(--viking-black));background:color-mix(in srgb,var(--viking-danger) 84%,var(--viking-black));box-shadow:var(--viking-btn-press-shadow)}.viking-btn-ghost,a.viking-btn-ghost,button.viking-btn-ghost{--viking-btn-depth-shadow: var(--viking-shadow-sm);--viking-btn-hover-shadow: var(--viking-shadow-hover);--viking-btn-press-shadow: inset 0 1px 2px color-mix(in srgb, var(--viking-black) 28%, transparent), var(--viking-shadow-xs);font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1-5);min-height:var(--viking-control-height);padding:var(--viking-space-half) var(--viking-control-padding-x);border-radius:var(--viking-radius-md);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}.viking-btn-ghost:focus-visible,a.viking-btn-ghost:focus-visible,button.viking-btn-ghost:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-ghost:before,a.viking-btn-ghost:before,button.viking-btn-ghost:before{content:\"\";position:absolute;inset:1px 1px auto;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 45%,transparent),transparent);pointer-events:none;opacity:.88;transition:var(--viking-transition-interactive)}.viking-btn-ghost:after,a.viking-btn-ghost:after,button.viking-btn-ghost:after{content:\"\";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 18%,transparent),transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn-ghost:disabled,.viking-btn-ghost[aria-busy=true],a.viking-btn-ghost:disabled,a.viking-btn-ghost[aria-busy=true],button.viking-btn-ghost:disabled,button.viking-btn-ghost[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none!important;box-shadow:none!important}.viking-btn-ghost[aria-busy=true]:before,.viking-btn-ghost[aria-busy=true] .viking-btn-label,a.viking-btn-ghost[aria-busy=true]:before,a.viking-btn-ghost[aria-busy=true] .viking-btn-label,button.viking-btn-ghost[aria-busy=true]:before,button.viking-btn-ghost[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}.viking-btn-ghost[aria-busy=true],a.viking-btn-ghost[aria-busy=true],button.viking-btn-ghost[aria-busy=true]{cursor:wait}.viking-btn-ghost viking-icon,.viking-btn-ghost .viking-icon,.viking-btn-ghost [data-viking-icon],a.viking-btn-ghost viking-icon,a.viking-btn-ghost .viking-icon,a.viking-btn-ghost [data-viking-icon],button.viking-btn-ghost viking-icon,button.viking-btn-ghost .viking-icon,button.viking-btn-ghost [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-half) * -1)}.viking-btn-ghost .viking-btn-label,a.viking-btn-ghost .viking-btn-label,button.viking-btn-ghost .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-ghost,a.viking-btn-ghost,button.viking-btn-ghost{background:transparent;color:var(--viking-text);min-width:auto;box-shadow:none;border-color:transparent}.viking-btn-ghost:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-ghost:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-ghost:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-soft);color:var(--viking-accent-strong);border-color:var(--viking-border-subtle);transform:translateY(var(--viking-state-hover-lift))}.viking-btn-ghost:active:not(:disabled):not([aria-busy=true]),a.viking-btn-ghost:active:not(:disabled):not([aria-busy=true]),button.viking-btn-ghost:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));background:var(--viking-accent-soft);color:var(--viking-accent-strong)}.viking-btn-subtle,a.viking-btn-subtle,button.viking-btn-subtle{--viking-btn-depth-shadow: var(--viking-shadow-sm);--viking-btn-hover-shadow: var(--viking-shadow-hover);--viking-btn-press-shadow: inset 0 1px 2px color-mix(in srgb, var(--viking-black) 28%, transparent), var(--viking-shadow-xs);font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1-5);min-height:var(--viking-control-height);padding:var(--viking-space-half) var(--viking-control-padding-x);border-radius:var(--viking-radius-md);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}.viking-btn-subtle:focus-visible,a.viking-btn-subtle:focus-visible,button.viking-btn-subtle:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-subtle:before,a.viking-btn-subtle:before,button.viking-btn-subtle:before{content:\"\";position:absolute;inset:1px 1px auto;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 45%,transparent),transparent);pointer-events:none;opacity:.88;transition:var(--viking-transition-interactive)}.viking-btn-subtle:after,a.viking-btn-subtle:after,button.viking-btn-subtle:after{content:\"\";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 18%,transparent),transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn-subtle:disabled,.viking-btn-subtle[aria-busy=true],a.viking-btn-subtle:disabled,a.viking-btn-subtle[aria-busy=true],button.viking-btn-subtle:disabled,button.viking-btn-subtle[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none!important;box-shadow:none!important}.viking-btn-subtle[aria-busy=true]:before,.viking-btn-subtle[aria-busy=true] .viking-btn-label,a.viking-btn-subtle[aria-busy=true]:before,a.viking-btn-subtle[aria-busy=true] .viking-btn-label,button.viking-btn-subtle[aria-busy=true]:before,button.viking-btn-subtle[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}.viking-btn-subtle[aria-busy=true],a.viking-btn-subtle[aria-busy=true],button.viking-btn-subtle[aria-busy=true]{cursor:wait}.viking-btn-subtle viking-icon,.viking-btn-subtle .viking-icon,.viking-btn-subtle [data-viking-icon],a.viking-btn-subtle viking-icon,a.viking-btn-subtle .viking-icon,a.viking-btn-subtle [data-viking-icon],button.viking-btn-subtle viking-icon,button.viking-btn-subtle .viking-icon,button.viking-btn-subtle [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-half) * -1)}.viking-btn-subtle .viking-btn-label,a.viking-btn-subtle .viking-btn-label,button.viking-btn-subtle .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-subtle,a.viking-btn-subtle,button.viking-btn-subtle{background:transparent;color:var(--viking-text-muted);border-color:var(--viking-border-subtle);min-width:auto;box-shadow:none}.viking-btn-subtle:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-subtle:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-subtle:hover:not(:disabled):not([aria-busy=true]){color:var(--viking-text);background:var(--viking-accent-soft);border-color:var(--viking-border-strong)}.viking-btn-subtle:active:not(:disabled):not([aria-busy=true]),a.viking-btn-subtle:active:not(:disabled):not([aria-busy=true]),button.viking-btn-subtle:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border);background:color-mix(in srgb,var(--viking-accent-soft) 70%,var(--viking-surface));box-shadow:inset 0 1px 2px color-mix(in srgb,var(--viking-black) 24%,transparent)}.viking-btn.viking-outline{background:var(--viking-surface);color:var(--viking-text);border-color:var(--viking-border-strong);box-shadow:var(--viking-btn-depth-shadow)}.viking-btn.viking-outline:hover:not(:disabled):not([aria-busy=true]){background:color-mix(in srgb,var(--viking-accent) 5%,var(--viking-surface-alt));border-color:color-mix(in srgb,var(--viking-accent) 45%,var(--viking-border-strong));color:var(--viking-text);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-outline:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border-strong);box-shadow:var(--viking-btn-press-shadow)}.viking-btn.viking-primary{background:var(--viking-accent);color:var(--viking-accent-content);border-color:color-mix(in srgb,var(--viking-accent) 82%,var(--viking-black));box-shadow:var(--viking-btn-depth-shadow),inset 0 1px color-mix(in srgb,var(--viking-white-pure) 12%,transparent)}.viking-btn.viking-primary:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-hover);border-color:var(--viking-accent-hover);color:var(--viking-accent-content);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-primary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb,var(--viking-accent) 82%,var(--viking-black));box-shadow:var(--viking-btn-press-shadow)}.viking-btn.viking-secondary{background:var(--viking-accent-secondary);color:var(--viking-accent-secondary-content);border-color:color-mix(in srgb,var(--viking-accent-secondary) 82%,var(--viking-black));box-shadow:var(--viking-btn-depth-shadow),inset 0 1px color-mix(in srgb,var(--viking-white-pure) 10%,transparent)}.viking-btn.viking-secondary:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-secondary-hover);border-color:var(--viking-accent-secondary-hover);color:var(--viking-accent-secondary-content);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-secondary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb,var(--viking-accent-secondary) 82%,var(--viking-black));box-shadow:var(--viking-btn-press-shadow)}.viking-btn.viking-filled{background:var(--viking-surface-alt);color:var(--viking-text);border-color:var(--viking-border);box-shadow:var(--viking-shadow-xs)}.viking-btn.viking-filled:hover:not(:disabled):not([aria-busy=true]){border-color:color-mix(in srgb,var(--viking-accent) 45%,var(--viking-border));background:color-mix(in srgb,var(--viking-accent) 8%,var(--viking-surface-alt));box-shadow:var(--viking-btn-depth-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-filled:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));box-shadow:var(--viking-btn-press-shadow);border-color:color-mix(in srgb,var(--viking-accent) 20%,var(--viking-border));background:color-mix(in srgb,var(--viking-surface-alt) 84%,var(--viking-accent))}.viking-btn.viking-danger{background:var(--viking-danger);color:var(--viking-on-danger);border-color:color-mix(in srgb,var(--viking-danger) 85%,var(--viking-black));box-shadow:var(--viking-btn-depth-shadow),inset 0 1px color-mix(in srgb,var(--viking-white-pure) 10%,transparent)}.viking-btn.viking-danger:hover:not(:disabled):not([aria-busy=true]){background:color-mix(in srgb,var(--viking-danger) 88%,var(--viking-white));border-color:color-mix(in srgb,var(--viking-danger) 92%,var(--viking-white));color:var(--viking-on-danger);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-danger:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb,var(--viking-danger) 72%,var(--viking-black));background:color-mix(in srgb,var(--viking-danger) 84%,var(--viking-black));box-shadow:var(--viking-btn-press-shadow)}.viking-btn.viking-ghost{background:transparent;color:var(--viking-text);min-width:auto;box-shadow:none;border-color:transparent}.viking-btn.viking-ghost:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-soft);color:var(--viking-accent-strong);border-color:var(--viking-border-subtle);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-ghost:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));background:var(--viking-accent-soft);color:var(--viking-accent-strong)}.viking-btn.viking-subtle{background:transparent;color:var(--viking-text-muted);border-color:var(--viking-border-subtle);min-width:auto;box-shadow:none}.viking-btn.viking-subtle:hover:not(:disabled):not([aria-busy=true]){color:var(--viking-text);background:var(--viking-accent-soft);border-color:var(--viking-border-strong)}.viking-btn.viking-subtle:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border);background:color-mix(in srgb,var(--viking-accent-soft) 70%,var(--viking-surface));box-shadow:inset 0 1px 2px color-mix(in srgb,var(--viking-black) 24%,transparent)}.viking-btn.viking-compact{min-width:0}.viking-btn.viking-full{width:100%;min-width:0}.viking-btn-label{display:inline-flex;align-items:center;line-height:inherit}.viking-btn-spinner{flex:0 0 auto;width:var(--viking-icon-size-sm, 18px);height:var(--viking-icon-size-sm, 18px);border:2px solid currentColor;border-right-color:transparent;border-radius:var(--viking-radius-pill);animation:viking-spin .8s linear infinite}:host{display:inline-flex;align-items:center}:host(.viking-full){display:flex}:host(.viking-full) .viking-btn{width:100%;min-width:0}:host(.viking-compact) .viking-btn{min-width:0}.viking-btn{--viking-btn-depth-shadow: var(--viking-shadow-sm);--viking-btn-hover-shadow: var(--viking-shadow-hover);--viking-btn-press-shadow: inset 0 1px 2px color-mix(in srgb, var(--viking-black) 28%, transparent), var(--viking-shadow-xs);font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1-5);min-height:var(--viking-control-height);padding:var(--viking-space-half) var(--viking-control-padding-x);border-radius:var(--viking-radius-md);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}.viking-btn:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn:before{content:\"\";position:absolute;inset:1px 1px auto;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 45%,transparent),transparent);pointer-events:none;opacity:.88;transition:var(--viking-transition-interactive)}.viking-btn:after{content:\"\";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 18%,transparent),transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn:disabled,.viking-btn[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none!important;box-shadow:none!important}.viking-btn[aria-busy=true]:before,.viking-btn[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}.viking-btn[aria-busy=true]{cursor:wait}.viking-btn viking-icon,.viking-btn .viking-icon,.viking-btn [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-half) * -1)}.viking-btn .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn{line-height:1}.viking-btn viking-icon,.viking-btn .viking-icon,.viking-btn [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none}.viking-sm{min-height:var(--viking-control-height-sm);padding:0 var(--viking-space-2);font-size:var(--viking-font-size-xs);min-width:auto}.viking-xs{min-height:var(--viking-control-height-xs);padding:0 var(--viking-space-1);font-size:var(--viking-font-size-xs);min-width:auto}.viking-square{width:var(--viking-control-height);min-width:var(--viking-control-height);padding:0}.viking-square.viking-sm{width:var(--viking-control-height-sm);min-width:var(--viking-control-height-sm)}.viking-square.viking-xs{width:var(--viking-control-height-xs);min-width:var(--viking-control-height-xs)}.viking-square .viking-btn-label{display:none}.viking-outline{background:var(--viking-surface);color:var(--viking-text);border-color:var(--viking-border-strong);box-shadow:var(--viking-btn-depth-shadow)}.viking-outline:hover:not(:disabled):not([aria-busy=true]){background:color-mix(in srgb,var(--viking-accent) 5%,var(--viking-surface-alt));border-color:color-mix(in srgb,var(--viking-accent) 45%,var(--viking-border-strong));color:var(--viking-text);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-outline:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border-strong);box-shadow:var(--viking-btn-press-shadow)}.viking-primary{background:var(--viking-accent);color:var(--viking-accent-content);border-color:color-mix(in srgb,var(--viking-accent) 82%,var(--viking-black));box-shadow:var(--viking-btn-depth-shadow),inset 0 1px color-mix(in srgb,var(--viking-white-pure) 12%,transparent)}.viking-primary:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-hover);border-color:var(--viking-accent-hover);color:var(--viking-accent-content);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-primary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb,var(--viking-accent) 82%,var(--viking-black));box-shadow:var(--viking-btn-press-shadow)}.viking-secondary{background:var(--viking-accent-secondary);color:var(--viking-accent-secondary-content);border-color:color-mix(in srgb,var(--viking-accent-secondary) 82%,var(--viking-black));box-shadow:var(--viking-btn-depth-shadow),inset 0 1px color-mix(in srgb,var(--viking-white-pure) 10%,transparent)}.viking-secondary:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-secondary-hover);border-color:var(--viking-accent-secondary-hover);color:var(--viking-accent-secondary-content);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-secondary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb,var(--viking-accent-secondary) 82%,var(--viking-black));box-shadow:var(--viking-btn-press-shadow)}.viking-filled{background:var(--viking-surface-alt);color:var(--viking-text);border-color:var(--viking-border);box-shadow:var(--viking-shadow-xs)}.viking-filled:hover:not(:disabled):not([aria-busy=true]){border-color:color-mix(in srgb,var(--viking-accent) 45%,var(--viking-border));background:color-mix(in srgb,var(--viking-accent) 8%,var(--viking-surface-alt));box-shadow:var(--viking-btn-depth-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-filled:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));box-shadow:var(--viking-btn-press-shadow);border-color:color-mix(in srgb,var(--viking-accent) 20%,var(--viking-border));background:color-mix(in srgb,var(--viking-surface-alt) 84%,var(--viking-accent))}.viking-danger{background:var(--viking-danger);color:var(--viking-on-danger);border-color:color-mix(in srgb,var(--viking-danger) 85%,var(--viking-black));box-shadow:var(--viking-btn-depth-shadow),inset 0 1px color-mix(in srgb,var(--viking-white-pure) 10%,transparent)}.viking-danger:hover:not(:disabled):not([aria-busy=true]){background:color-mix(in srgb,var(--viking-danger) 88%,var(--viking-white));border-color:color-mix(in srgb,var(--viking-danger) 92%,var(--viking-white));color:var(--viking-on-danger);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-danger:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb,var(--viking-danger) 72%,var(--viking-black));background:color-mix(in srgb,var(--viking-danger) 84%,var(--viking-black));box-shadow:var(--viking-btn-press-shadow)}.viking-ghost{background:transparent;color:var(--viking-text);min-width:auto;box-shadow:none;border-color:transparent}.viking-ghost:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-soft);color:var(--viking-accent-strong);border-color:var(--viking-border-subtle);transform:translateY(var(--viking-state-hover-lift))}.viking-ghost:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));background:var(--viking-accent-soft);color:var(--viking-accent-strong)}.viking-subtle{background:transparent;color:var(--viking-text-muted);border-color:var(--viking-border-subtle);min-width:auto;box-shadow:none}.viking-subtle:hover:not(:disabled):not([aria-busy=true]){color:var(--viking-text);background:var(--viking-accent-soft);border-color:var(--viking-border-strong)}.viking-subtle:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border);background:color-mix(in srgb,var(--viking-accent-soft) 70%,var(--viking-surface));box-shadow:inset 0 1px 2px color-mix(in srgb,var(--viking-black) 24%,transparent)}.viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:inherit;min-width:0;justify-content:center;white-space:nowrap}.viking-btn kbd{margin-top:0}.viking-btn-kbd{font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-xs);color:var(--viking-text-muted);background:var(--viking-surface-alt);border:1px solid var(--viking-border);border-radius:var(--viking-radius-xs);padding:0 var(--viking-space-half);line-height:1.4;margin-left:var(--viking-space-half);font-weight:var(--viking-font-weight-medium)}\n"], dependencies: [{ kind: "component", type: VikingIcon, selector: "viking-icon", inputs: ["name", "size", "sizePreset", "variant", "color", "backdrop", "backdropTone", "spin"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
5070
5095
|
}
|
|
5071
5096
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: VikingButton, decorators: [{
|
|
5072
5097
|
type: Component,
|
|
@@ -5095,14 +5120,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
5095
5120
|
<viking-icon [name]="icon()!" [size]="iconSize()" />
|
|
5096
5121
|
}
|
|
5097
5122
|
<span class="viking-btn-label"><ng-content /></span>
|
|
5098
|
-
@if (iconTrailing()) {
|
|
5123
|
+
@if (!loading() && iconTrailing()) {
|
|
5099
5124
|
<viking-icon [name]="iconTrailing()!" [size]="iconSize()" />
|
|
5100
5125
|
}
|
|
5101
5126
|
@if (kbd()) {
|
|
5102
5127
|
<kbd class="viking-btn-kbd">{{ kbd() }}</kbd>
|
|
5103
5128
|
}
|
|
5104
5129
|
</viking-button-wc>
|
|
5105
|
-
`, styles: [".viking-btn,a.viking-btn,button.viking-btn{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius-lg);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;box-shadow:var(--viking-shadow-sm)}.viking-btn:focus-visible,a.viking-btn:focus-visible,button.viking-btn:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn:before,a.viking-btn:before,button.viking-btn:before{content:\"\";position:absolute;inset:1px 1px auto;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 45%,transparent),transparent);pointer-events:none;opacity:.82;transition:var(--viking-transition-interactive)}.viking-btn:after,a.viking-btn:after,button.viking-btn:after{content:\"\";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 18%,transparent),transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn:disabled,.viking-btn[aria-busy=true],a.viking-btn:disabled,a.viking-btn[aria-busy=true],button.viking-btn:disabled,button.viking-btn[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none!important;box-shadow:none!important}.viking-btn[aria-busy=true]:before,.viking-btn[aria-busy=true] .viking-btn-label,a.viking-btn[aria-busy=true]:before,a.viking-btn[aria-busy=true] .viking-btn-label,button.viking-btn[aria-busy=true]:before,button.viking-btn[aria-busy=true] .viking-btn-label{opacity:.85;transform:translateY(1px)}.viking-btn viking-icon,.viking-btn .viking-icon,.viking-btn [data-viking-icon],a.viking-btn viking-icon,a.viking-btn .viking-icon,a.viking-btn [data-viking-icon],button.viking-btn viking-icon,button.viking-btn .viking-icon,button.viking-btn [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto}.viking-btn .viking-btn-label,a.viking-btn .viking-btn-label,button.viking-btn .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-primary,a.viking-btn-primary,button.viking-btn-primary{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius-lg);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;box-shadow:var(--viking-shadow-sm)}.viking-btn-primary:focus-visible,a.viking-btn-primary:focus-visible,button.viking-btn-primary:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-primary:before,a.viking-btn-primary:before,button.viking-btn-primary:before{content:\"\";position:absolute;inset:1px 1px auto;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 45%,transparent),transparent);pointer-events:none;opacity:.82;transition:var(--viking-transition-interactive)}.viking-btn-primary:after,a.viking-btn-primary:after,button.viking-btn-primary:after{content:\"\";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 18%,transparent),transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn-primary:disabled,.viking-btn-primary[aria-busy=true],a.viking-btn-primary:disabled,a.viking-btn-primary[aria-busy=true],button.viking-btn-primary:disabled,button.viking-btn-primary[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none!important;box-shadow:none!important}.viking-btn-primary[aria-busy=true]:before,.viking-btn-primary[aria-busy=true] .viking-btn-label,a.viking-btn-primary[aria-busy=true]:before,a.viking-btn-primary[aria-busy=true] .viking-btn-label,button.viking-btn-primary[aria-busy=true]:before,button.viking-btn-primary[aria-busy=true] .viking-btn-label{opacity:.85;transform:translateY(1px)}.viking-btn-primary viking-icon,.viking-btn-primary .viking-icon,.viking-btn-primary [data-viking-icon],a.viking-btn-primary viking-icon,a.viking-btn-primary .viking-icon,a.viking-btn-primary [data-viking-icon],button.viking-btn-primary viking-icon,button.viking-btn-primary .viking-icon,button.viking-btn-primary [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto}.viking-btn-primary .viking-btn-label,a.viking-btn-primary .viking-btn-label,button.viking-btn-primary .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-primary,a.viking-btn-primary,button.viking-btn-primary{background:var(--viking-accent);color:var(--viking-accent-content);border-color:color-mix(in srgb,var(--viking-accent) 82%,var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-btn-primary:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-primary:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-primary:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-hover);border-color:var(--viking-accent-hover);color:var(--viking-accent-content);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.viking-btn-primary:active:not(:disabled):not([aria-busy=true]),a.viking-btn-primary:active:not(:disabled):not([aria-busy=true]),button.viking-btn-primary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb,var(--viking-accent) 82%,var(--viking-black));box-shadow:inset 0 1px 2px color-mix(in srgb,var(--viking-black) 28%,transparent),var(--viking-shadow-sm)}.viking-btn-secondary,a.viking-btn-secondary,button.viking-btn-secondary{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius-lg);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;box-shadow:var(--viking-shadow-sm)}.viking-btn-secondary:focus-visible,a.viking-btn-secondary:focus-visible,button.viking-btn-secondary:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-secondary:before,a.viking-btn-secondary:before,button.viking-btn-secondary:before{content:\"\";position:absolute;inset:1px 1px auto;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 45%,transparent),transparent);pointer-events:none;opacity:.82;transition:var(--viking-transition-interactive)}.viking-btn-secondary:after,a.viking-btn-secondary:after,button.viking-btn-secondary:after{content:\"\";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 18%,transparent),transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn-secondary:disabled,.viking-btn-secondary[aria-busy=true],a.viking-btn-secondary:disabled,a.viking-btn-secondary[aria-busy=true],button.viking-btn-secondary:disabled,button.viking-btn-secondary[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none!important;box-shadow:none!important}.viking-btn-secondary[aria-busy=true]:before,.viking-btn-secondary[aria-busy=true] .viking-btn-label,a.viking-btn-secondary[aria-busy=true]:before,a.viking-btn-secondary[aria-busy=true] .viking-btn-label,button.viking-btn-secondary[aria-busy=true]:before,button.viking-btn-secondary[aria-busy=true] .viking-btn-label{opacity:.85;transform:translateY(1px)}.viking-btn-secondary viking-icon,.viking-btn-secondary .viking-icon,.viking-btn-secondary [data-viking-icon],a.viking-btn-secondary viking-icon,a.viking-btn-secondary .viking-icon,a.viking-btn-secondary [data-viking-icon],button.viking-btn-secondary viking-icon,button.viking-btn-secondary .viking-icon,button.viking-btn-secondary [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto}.viking-btn-secondary .viking-btn-label,a.viking-btn-secondary .viking-btn-label,button.viking-btn-secondary .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-secondary,a.viking-btn-secondary,button.viking-btn-secondary{background:var(--viking-accent-secondary);color:var(--viking-accent-secondary-content);border-color:color-mix(in srgb,var(--viking-accent-secondary) 82%,var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-btn-secondary:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-secondary:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-secondary:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-secondary-hover);border-color:var(--viking-accent-secondary-hover);color:var(--viking-accent-secondary-content);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.viking-btn-secondary:active:not(:disabled):not([aria-busy=true]),a.viking-btn-secondary:active:not(:disabled):not([aria-busy=true]),button.viking-btn-secondary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb,var(--viking-accent-secondary) 82%,var(--viking-black));box-shadow:inset 0 1px 2px color-mix(in srgb,var(--viking-black) 28%,transparent),var(--viking-shadow-sm)}.viking-btn-outline,a.viking-btn-outline,button.viking-btn-outline{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius-lg);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;box-shadow:var(--viking-shadow-sm)}.viking-btn-outline:focus-visible,a.viking-btn-outline:focus-visible,button.viking-btn-outline:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-outline:before,a.viking-btn-outline:before,button.viking-btn-outline:before{content:\"\";position:absolute;inset:1px 1px auto;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 45%,transparent),transparent);pointer-events:none;opacity:.82;transition:var(--viking-transition-interactive)}.viking-btn-outline:after,a.viking-btn-outline:after,button.viking-btn-outline:after{content:\"\";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 18%,transparent),transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn-outline:disabled,.viking-btn-outline[aria-busy=true],a.viking-btn-outline:disabled,a.viking-btn-outline[aria-busy=true],button.viking-btn-outline:disabled,button.viking-btn-outline[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none!important;box-shadow:none!important}.viking-btn-outline[aria-busy=true]:before,.viking-btn-outline[aria-busy=true] .viking-btn-label,a.viking-btn-outline[aria-busy=true]:before,a.viking-btn-outline[aria-busy=true] .viking-btn-label,button.viking-btn-outline[aria-busy=true]:before,button.viking-btn-outline[aria-busy=true] .viking-btn-label{opacity:.85;transform:translateY(1px)}.viking-btn-outline viking-icon,.viking-btn-outline .viking-icon,.viking-btn-outline [data-viking-icon],a.viking-btn-outline viking-icon,a.viking-btn-outline .viking-icon,a.viking-btn-outline [data-viking-icon],button.viking-btn-outline viking-icon,button.viking-btn-outline .viking-icon,button.viking-btn-outline [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto}.viking-btn-outline .viking-btn-label,a.viking-btn-outline .viking-btn-label,button.viking-btn-outline .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-outline,a.viking-btn-outline,button.viking-btn-outline{background:var(--viking-surface);color:var(--viking-text);border-color:var(--viking-border-strong);box-shadow:var(--viking-shadow-sm)}.viking-btn-outline:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-outline:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-outline:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-surface-alt);border-color:color-mix(in srgb,var(--viking-accent) 45%,var(--viking-border-strong));color:var(--viking-text);box-shadow:var(--viking-shadow-md);transform:translateY(var(--viking-state-hover-lift))}.viking-btn-outline:active:not(:disabled):not([aria-busy=true]),a.viking-btn-outline:active:not(:disabled):not([aria-busy=true]),button.viking-btn-outline:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border-strong);box-shadow:inset 0 1px 2px color-mix(in srgb,var(--viking-black) 28%,transparent),var(--viking-shadow-sm)}.viking-btn-danger,a.viking-btn-danger,button.viking-btn-danger{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius-lg);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;box-shadow:var(--viking-shadow-sm)}.viking-btn-danger:focus-visible,a.viking-btn-danger:focus-visible,button.viking-btn-danger:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-danger:before,a.viking-btn-danger:before,button.viking-btn-danger:before{content:\"\";position:absolute;inset:1px 1px auto;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 45%,transparent),transparent);pointer-events:none;opacity:.82;transition:var(--viking-transition-interactive)}.viking-btn-danger:after,a.viking-btn-danger:after,button.viking-btn-danger:after{content:\"\";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 18%,transparent),transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn-danger:disabled,.viking-btn-danger[aria-busy=true],a.viking-btn-danger:disabled,a.viking-btn-danger[aria-busy=true],button.viking-btn-danger:disabled,button.viking-btn-danger[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none!important;box-shadow:none!important}.viking-btn-danger[aria-busy=true]:before,.viking-btn-danger[aria-busy=true] .viking-btn-label,a.viking-btn-danger[aria-busy=true]:before,a.viking-btn-danger[aria-busy=true] .viking-btn-label,button.viking-btn-danger[aria-busy=true]:before,button.viking-btn-danger[aria-busy=true] .viking-btn-label{opacity:.85;transform:translateY(1px)}.viking-btn-danger viking-icon,.viking-btn-danger .viking-icon,.viking-btn-danger [data-viking-icon],a.viking-btn-danger viking-icon,a.viking-btn-danger .viking-icon,a.viking-btn-danger [data-viking-icon],button.viking-btn-danger viking-icon,button.viking-btn-danger .viking-icon,button.viking-btn-danger [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto}.viking-btn-danger .viking-btn-label,a.viking-btn-danger .viking-btn-label,button.viking-btn-danger .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-danger,a.viking-btn-danger,button.viking-btn-danger{background:var(--viking-danger);color:var(--viking-on-danger);border-color:color-mix(in srgb,var(--viking-danger) 85%,var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-btn-danger:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-danger:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-danger:hover:not(:disabled):not([aria-busy=true]){background:color-mix(in srgb,var(--viking-danger) 88%,var(--viking-white));border-color:color-mix(in srgb,var(--viking-danger) 92%,var(--viking-white));color:var(--viking-on-danger);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.viking-btn-danger:active:not(:disabled):not([aria-busy=true]),a.viking-btn-danger:active:not(:disabled):not([aria-busy=true]),button.viking-btn-danger:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb,var(--viking-danger) 72%,var(--viking-black));background:color-mix(in srgb,var(--viking-danger) 84%,var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-btn-ghost,a.viking-btn-ghost,button.viking-btn-ghost{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius-lg);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;box-shadow:var(--viking-shadow-sm)}.viking-btn-ghost:focus-visible,a.viking-btn-ghost:focus-visible,button.viking-btn-ghost:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-ghost:before,a.viking-btn-ghost:before,button.viking-btn-ghost:before{content:\"\";position:absolute;inset:1px 1px auto;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 45%,transparent),transparent);pointer-events:none;opacity:.82;transition:var(--viking-transition-interactive)}.viking-btn-ghost:after,a.viking-btn-ghost:after,button.viking-btn-ghost:after{content:\"\";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 18%,transparent),transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn-ghost:disabled,.viking-btn-ghost[aria-busy=true],a.viking-btn-ghost:disabled,a.viking-btn-ghost[aria-busy=true],button.viking-btn-ghost:disabled,button.viking-btn-ghost[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none!important;box-shadow:none!important}.viking-btn-ghost[aria-busy=true]:before,.viking-btn-ghost[aria-busy=true] .viking-btn-label,a.viking-btn-ghost[aria-busy=true]:before,a.viking-btn-ghost[aria-busy=true] .viking-btn-label,button.viking-btn-ghost[aria-busy=true]:before,button.viking-btn-ghost[aria-busy=true] .viking-btn-label{opacity:.85;transform:translateY(1px)}.viking-btn-ghost viking-icon,.viking-btn-ghost .viking-icon,.viking-btn-ghost [data-viking-icon],a.viking-btn-ghost viking-icon,a.viking-btn-ghost .viking-icon,a.viking-btn-ghost [data-viking-icon],button.viking-btn-ghost viking-icon,button.viking-btn-ghost .viking-icon,button.viking-btn-ghost [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto}.viking-btn-ghost .viking-btn-label,a.viking-btn-ghost .viking-btn-label,button.viking-btn-ghost .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-ghost,a.viking-btn-ghost,button.viking-btn-ghost{background:transparent;color:var(--viking-text);min-width:auto;box-shadow:none;border-color:transparent}.viking-btn-ghost:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-ghost:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-ghost:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-soft);color:var(--viking-accent-strong)}.viking-btn-ghost:active:not(:disabled):not([aria-busy=true]),a.viking-btn-ghost:active:not(:disabled):not([aria-busy=true]),button.viking-btn-ghost:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));background:var(--viking-accent-soft);color:var(--viking-accent-strong)}.viking-btn-subtle,a.viking-btn-subtle,button.viking-btn-subtle{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius-lg);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;box-shadow:var(--viking-shadow-sm)}.viking-btn-subtle:focus-visible,a.viking-btn-subtle:focus-visible,button.viking-btn-subtle:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-subtle:before,a.viking-btn-subtle:before,button.viking-btn-subtle:before{content:\"\";position:absolute;inset:1px 1px auto;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 45%,transparent),transparent);pointer-events:none;opacity:.82;transition:var(--viking-transition-interactive)}.viking-btn-subtle:after,a.viking-btn-subtle:after,button.viking-btn-subtle:after{content:\"\";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 18%,transparent),transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn-subtle:disabled,.viking-btn-subtle[aria-busy=true],a.viking-btn-subtle:disabled,a.viking-btn-subtle[aria-busy=true],button.viking-btn-subtle:disabled,button.viking-btn-subtle[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none!important;box-shadow:none!important}.viking-btn-subtle[aria-busy=true]:before,.viking-btn-subtle[aria-busy=true] .viking-btn-label,a.viking-btn-subtle[aria-busy=true]:before,a.viking-btn-subtle[aria-busy=true] .viking-btn-label,button.viking-btn-subtle[aria-busy=true]:before,button.viking-btn-subtle[aria-busy=true] .viking-btn-label{opacity:.85;transform:translateY(1px)}.viking-btn-subtle viking-icon,.viking-btn-subtle .viking-icon,.viking-btn-subtle [data-viking-icon],a.viking-btn-subtle viking-icon,a.viking-btn-subtle .viking-icon,a.viking-btn-subtle [data-viking-icon],button.viking-btn-subtle viking-icon,button.viking-btn-subtle .viking-icon,button.viking-btn-subtle [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto}.viking-btn-subtle .viking-btn-label,a.viking-btn-subtle .viking-btn-label,button.viking-btn-subtle .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-subtle,a.viking-btn-subtle,button.viking-btn-subtle{background:transparent;color:var(--viking-text-muted);border-color:var(--viking-border-subtle);min-width:auto;box-shadow:none}.viking-btn-subtle:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-subtle:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-subtle:hover:not(:disabled):not([aria-busy=true]){color:var(--viking-text);background:var(--viking-accent-soft);border-color:var(--viking-border-strong)}.viking-btn-subtle:active:not(:disabled):not([aria-busy=true]),a.viking-btn-subtle:active:not(:disabled):not([aria-busy=true]),button.viking-btn-subtle:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border);background:color-mix(in srgb,var(--viking-accent-soft) 70%,var(--viking-surface));box-shadow:inset 0 1px 2px color-mix(in srgb,var(--viking-black) 24%,transparent)}.viking-btn.viking-outline{background:var(--viking-surface);color:var(--viking-text);border-color:var(--viking-border-strong);box-shadow:var(--viking-shadow-sm)}.viking-btn.viking-outline:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-surface-alt);border-color:color-mix(in srgb,var(--viking-accent) 45%,var(--viking-border-strong));color:var(--viking-text);box-shadow:var(--viking-shadow-md);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-outline:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border-strong);box-shadow:inset 0 1px 2px color-mix(in srgb,var(--viking-black) 28%,transparent),var(--viking-shadow-sm)}.viking-btn.viking-primary{background:var(--viking-accent);color:var(--viking-accent-content);border-color:color-mix(in srgb,var(--viking-accent) 82%,var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-btn.viking-primary:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-hover);border-color:var(--viking-accent-hover);color:var(--viking-accent-content);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-primary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb,var(--viking-accent) 82%,var(--viking-black));box-shadow:inset 0 1px 2px color-mix(in srgb,var(--viking-black) 28%,transparent),var(--viking-shadow-sm)}.viking-btn.viking-secondary{background:var(--viking-accent-secondary);color:var(--viking-accent-secondary-content);border-color:color-mix(in srgb,var(--viking-accent-secondary) 82%,var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-btn.viking-secondary:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-secondary-hover);border-color:var(--viking-accent-secondary-hover);color:var(--viking-accent-secondary-content);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-secondary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb,var(--viking-accent-secondary) 82%,var(--viking-black));box-shadow:inset 0 1px 2px color-mix(in srgb,var(--viking-black) 28%,transparent),var(--viking-shadow-sm)}.viking-btn.viking-filled{background:var(--viking-surface-alt);color:var(--viking-text);border-color:var(--viking-border);box-shadow:var(--viking-shadow-xs)}.viking-btn.viking-filled:hover:not(:disabled):not([aria-busy=true]){border-color:color-mix(in srgb,var(--viking-accent) 45%,var(--viking-border));background:color-mix(in srgb,var(--viking-accent) 8%,var(--viking-surface-alt));box-shadow:var(--viking-shadow-sm);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-filled:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));box-shadow:var(--viking-shadow-sm);border-color:color-mix(in srgb,var(--viking-accent) 20%,var(--viking-border));background:color-mix(in srgb,var(--viking-surface-alt) 84%,var(--viking-accent))}.viking-btn.viking-danger{background:var(--viking-danger);color:var(--viking-on-danger);border-color:color-mix(in srgb,var(--viking-danger) 85%,var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-btn.viking-danger:hover:not(:disabled):not([aria-busy=true]){background:color-mix(in srgb,var(--viking-danger) 88%,var(--viking-white));border-color:color-mix(in srgb,var(--viking-danger) 92%,var(--viking-white));color:var(--viking-on-danger);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-danger:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb,var(--viking-danger) 72%,var(--viking-black));background:color-mix(in srgb,var(--viking-danger) 84%,var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-btn.viking-ghost{background:transparent;color:var(--viking-text);min-width:auto;box-shadow:none;border-color:transparent}.viking-btn.viking-ghost:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-soft);color:var(--viking-accent-strong)}.viking-btn.viking-ghost:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));background:var(--viking-accent-soft);color:var(--viking-accent-strong)}.viking-btn.viking-subtle{background:transparent;color:var(--viking-text-muted);border-color:var(--viking-border-subtle);min-width:auto;box-shadow:none}.viking-btn.viking-subtle:hover:not(:disabled):not([aria-busy=true]){color:var(--viking-text);background:var(--viking-accent-soft);border-color:var(--viking-border-strong)}.viking-btn.viking-subtle:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border);background:color-mix(in srgb,var(--viking-accent-soft) 70%,var(--viking-surface));box-shadow:inset 0 1px 2px color-mix(in srgb,var(--viking-black) 24%,transparent)}.viking-btn.viking-compact{min-width:0}.viking-btn.viking-full{width:100%;min-width:0}.viking-btn-label{display:inline-flex;align-items:center;line-height:inherit}:host{display:inline-flex;align-items:center}:host(.viking-full){display:flex}:host(.viking-full) .viking-btn{width:100%;min-width:0}:host(.viking-compact) .viking-btn{min-width:0}.viking-btn{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius-lg);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;box-shadow:var(--viking-shadow-sm)}.viking-btn:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn:before{content:\"\";position:absolute;inset:1px 1px auto;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 45%,transparent),transparent);pointer-events:none;opacity:.82;transition:var(--viking-transition-interactive)}.viking-btn:after{content:\"\";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 18%,transparent),transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn:disabled,.viking-btn[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none!important;box-shadow:none!important}.viking-btn[aria-busy=true]:before,.viking-btn[aria-busy=true] .viking-btn-label{opacity:.85;transform:translateY(1px)}.viking-btn viking-icon,.viking-btn .viking-icon,.viking-btn [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto}.viking-btn .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn{line-height:1}.viking-btn viking-icon,.viking-btn .viking-icon,.viking-btn [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none}.viking-sm{min-height:var(--viking-control-height-sm);padding:0 var(--viking-space-2);font-size:var(--viking-font-size-xs);min-width:auto}.viking-xs{min-height:var(--viking-control-height-xs);padding:0 var(--viking-space-1);font-size:var(--viking-font-size-xs);min-width:auto}.viking-square{width:var(--viking-control-height);min-width:var(--viking-control-height);padding:0}.viking-square.viking-sm{width:var(--viking-control-height-sm);min-width:var(--viking-control-height-sm)}.viking-square.viking-xs{width:var(--viking-control-height-xs);min-width:var(--viking-control-height-xs)}.viking-square .viking-btn-label{display:none}.viking-outline{background:var(--viking-surface);color:var(--viking-text);border-color:var(--viking-border-strong);box-shadow:var(--viking-shadow-sm)}.viking-outline:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-surface-alt);border-color:color-mix(in srgb,var(--viking-accent) 45%,var(--viking-border-strong));color:var(--viking-text);box-shadow:var(--viking-shadow-md);transform:translateY(var(--viking-state-hover-lift))}.viking-outline:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border-strong);box-shadow:inset 0 1px 2px color-mix(in srgb,var(--viking-black) 28%,transparent),var(--viking-shadow-sm)}.viking-primary{background:var(--viking-accent);color:var(--viking-accent-content);border-color:color-mix(in srgb,var(--viking-accent) 82%,var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-primary:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-hover);border-color:var(--viking-accent-hover);color:var(--viking-accent-content);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.viking-primary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb,var(--viking-accent) 82%,var(--viking-black));box-shadow:inset 0 1px 2px color-mix(in srgb,var(--viking-black) 28%,transparent),var(--viking-shadow-sm)}.viking-secondary{background:var(--viking-accent-secondary);color:var(--viking-accent-secondary-content);border-color:color-mix(in srgb,var(--viking-accent-secondary) 82%,var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-secondary:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-secondary-hover);border-color:var(--viking-accent-secondary-hover);color:var(--viking-accent-secondary-content);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.viking-secondary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb,var(--viking-accent-secondary) 82%,var(--viking-black));box-shadow:inset 0 1px 2px color-mix(in srgb,var(--viking-black) 28%,transparent),var(--viking-shadow-sm)}.viking-filled{background:var(--viking-surface-alt);color:var(--viking-text);border-color:var(--viking-border);box-shadow:var(--viking-shadow-xs)}.viking-filled:hover:not(:disabled):not([aria-busy=true]){border-color:color-mix(in srgb,var(--viking-accent) 45%,var(--viking-border));background:color-mix(in srgb,var(--viking-accent) 8%,var(--viking-surface-alt));box-shadow:var(--viking-shadow-sm);transform:translateY(var(--viking-state-hover-lift))}.viking-filled:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));box-shadow:var(--viking-shadow-sm);border-color:color-mix(in srgb,var(--viking-accent) 20%,var(--viking-border));background:color-mix(in srgb,var(--viking-surface-alt) 84%,var(--viking-accent))}.viking-danger{background:var(--viking-danger);color:var(--viking-on-danger);border-color:color-mix(in srgb,var(--viking-danger) 85%,var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-danger:hover:not(:disabled):not([aria-busy=true]){background:color-mix(in srgb,var(--viking-danger) 88%,var(--viking-white));border-color:color-mix(in srgb,var(--viking-danger) 92%,var(--viking-white));color:var(--viking-on-danger);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.viking-danger:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb,var(--viking-danger) 72%,var(--viking-black));background:color-mix(in srgb,var(--viking-danger) 84%,var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-ghost{background:transparent;color:var(--viking-text);min-width:auto;box-shadow:none;border-color:transparent}.viking-ghost:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-soft);color:var(--viking-accent-strong)}.viking-ghost:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));background:var(--viking-accent-soft);color:var(--viking-accent-strong)}.viking-subtle{background:transparent;color:var(--viking-text-muted);border-color:var(--viking-border-subtle);min-width:auto;box-shadow:none}.viking-subtle:hover:not(:disabled):not([aria-busy=true]){color:var(--viking-text);background:var(--viking-accent-soft);border-color:var(--viking-border-strong)}.viking-subtle:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border);background:color-mix(in srgb,var(--viking-accent-soft) 70%,var(--viking-surface));box-shadow:inset 0 1px 2px color-mix(in srgb,var(--viking-black) 24%,transparent)}.viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:inherit;min-width:0;justify-content:center;white-space:nowrap}.viking-btn kbd{margin-top:0}.viking-btn-kbd{font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-xs);color:var(--viking-text-muted);background:var(--viking-surface-alt);border:1px solid var(--viking-border);border-radius:var(--viking-radius-xs);padding:0 var(--viking-space-half);line-height:1.4;margin-left:var(--viking-space-half);font-weight:var(--viking-font-weight-medium)}\n"] }]
|
|
5130
|
+
`, styles: [".viking-btn,a.viking-btn,button.viking-btn{--viking-btn-depth-shadow: var(--viking-shadow-sm);--viking-btn-hover-shadow: var(--viking-shadow-hover);--viking-btn-press-shadow: inset 0 1px 2px color-mix(in srgb, var(--viking-black) 28%, transparent), var(--viking-shadow-xs);font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1-5);min-height:var(--viking-control-height);padding:var(--viking-space-half) var(--viking-control-padding-x);border-radius:var(--viking-radius-md);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}.viking-btn:focus-visible,a.viking-btn:focus-visible,button.viking-btn:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn:before,a.viking-btn:before,button.viking-btn:before{content:\"\";position:absolute;inset:1px 1px auto;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 45%,transparent),transparent);pointer-events:none;opacity:.88;transition:var(--viking-transition-interactive)}.viking-btn:after,a.viking-btn:after,button.viking-btn:after{content:\"\";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 18%,transparent),transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn:disabled,.viking-btn[aria-busy=true],a.viking-btn:disabled,a.viking-btn[aria-busy=true],button.viking-btn:disabled,button.viking-btn[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none!important;box-shadow:none!important}.viking-btn[aria-busy=true]:before,.viking-btn[aria-busy=true] .viking-btn-label,a.viking-btn[aria-busy=true]:before,a.viking-btn[aria-busy=true] .viking-btn-label,button.viking-btn[aria-busy=true]:before,button.viking-btn[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}.viking-btn[aria-busy=true],a.viking-btn[aria-busy=true],button.viking-btn[aria-busy=true]{cursor:wait}.viking-btn viking-icon,.viking-btn .viking-icon,.viking-btn [data-viking-icon],a.viking-btn viking-icon,a.viking-btn .viking-icon,a.viking-btn [data-viking-icon],button.viking-btn viking-icon,button.viking-btn .viking-icon,button.viking-btn [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-half) * -1)}.viking-btn .viking-btn-label,a.viking-btn .viking-btn-label,button.viking-btn .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-primary,a.viking-btn-primary,button.viking-btn-primary{--viking-btn-depth-shadow: var(--viking-shadow-sm);--viking-btn-hover-shadow: var(--viking-shadow-hover);--viking-btn-press-shadow: inset 0 1px 2px color-mix(in srgb, var(--viking-black) 28%, transparent), var(--viking-shadow-xs);font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1-5);min-height:var(--viking-control-height);padding:var(--viking-space-half) var(--viking-control-padding-x);border-radius:var(--viking-radius-md);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}.viking-btn-primary:focus-visible,a.viking-btn-primary:focus-visible,button.viking-btn-primary:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-primary:before,a.viking-btn-primary:before,button.viking-btn-primary:before{content:\"\";position:absolute;inset:1px 1px auto;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 45%,transparent),transparent);pointer-events:none;opacity:.88;transition:var(--viking-transition-interactive)}.viking-btn-primary:after,a.viking-btn-primary:after,button.viking-btn-primary:after{content:\"\";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 18%,transparent),transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn-primary:disabled,.viking-btn-primary[aria-busy=true],a.viking-btn-primary:disabled,a.viking-btn-primary[aria-busy=true],button.viking-btn-primary:disabled,button.viking-btn-primary[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none!important;box-shadow:none!important}.viking-btn-primary[aria-busy=true]:before,.viking-btn-primary[aria-busy=true] .viking-btn-label,a.viking-btn-primary[aria-busy=true]:before,a.viking-btn-primary[aria-busy=true] .viking-btn-label,button.viking-btn-primary[aria-busy=true]:before,button.viking-btn-primary[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}.viking-btn-primary[aria-busy=true],a.viking-btn-primary[aria-busy=true],button.viking-btn-primary[aria-busy=true]{cursor:wait}.viking-btn-primary viking-icon,.viking-btn-primary .viking-icon,.viking-btn-primary [data-viking-icon],a.viking-btn-primary viking-icon,a.viking-btn-primary .viking-icon,a.viking-btn-primary [data-viking-icon],button.viking-btn-primary viking-icon,button.viking-btn-primary .viking-icon,button.viking-btn-primary [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-half) * -1)}.viking-btn-primary .viking-btn-label,a.viking-btn-primary .viking-btn-label,button.viking-btn-primary .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-primary,a.viking-btn-primary,button.viking-btn-primary{background:var(--viking-accent);color:var(--viking-accent-content);border-color:color-mix(in srgb,var(--viking-accent) 82%,var(--viking-black));box-shadow:var(--viking-btn-depth-shadow),inset 0 1px color-mix(in srgb,var(--viking-white-pure) 12%,transparent)}.viking-btn-primary:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-primary:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-primary:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-hover);border-color:var(--viking-accent-hover);color:var(--viking-accent-content);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn-primary:active:not(:disabled):not([aria-busy=true]),a.viking-btn-primary:active:not(:disabled):not([aria-busy=true]),button.viking-btn-primary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb,var(--viking-accent) 82%,var(--viking-black));box-shadow:var(--viking-btn-press-shadow)}.viking-btn-secondary,a.viking-btn-secondary,button.viking-btn-secondary{--viking-btn-depth-shadow: var(--viking-shadow-sm);--viking-btn-hover-shadow: var(--viking-shadow-hover);--viking-btn-press-shadow: inset 0 1px 2px color-mix(in srgb, var(--viking-black) 28%, transparent), var(--viking-shadow-xs);font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1-5);min-height:var(--viking-control-height);padding:var(--viking-space-half) var(--viking-control-padding-x);border-radius:var(--viking-radius-md);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}.viking-btn-secondary:focus-visible,a.viking-btn-secondary:focus-visible,button.viking-btn-secondary:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-secondary:before,a.viking-btn-secondary:before,button.viking-btn-secondary:before{content:\"\";position:absolute;inset:1px 1px auto;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 45%,transparent),transparent);pointer-events:none;opacity:.88;transition:var(--viking-transition-interactive)}.viking-btn-secondary:after,a.viking-btn-secondary:after,button.viking-btn-secondary:after{content:\"\";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 18%,transparent),transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn-secondary:disabled,.viking-btn-secondary[aria-busy=true],a.viking-btn-secondary:disabled,a.viking-btn-secondary[aria-busy=true],button.viking-btn-secondary:disabled,button.viking-btn-secondary[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none!important;box-shadow:none!important}.viking-btn-secondary[aria-busy=true]:before,.viking-btn-secondary[aria-busy=true] .viking-btn-label,a.viking-btn-secondary[aria-busy=true]:before,a.viking-btn-secondary[aria-busy=true] .viking-btn-label,button.viking-btn-secondary[aria-busy=true]:before,button.viking-btn-secondary[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}.viking-btn-secondary[aria-busy=true],a.viking-btn-secondary[aria-busy=true],button.viking-btn-secondary[aria-busy=true]{cursor:wait}.viking-btn-secondary viking-icon,.viking-btn-secondary .viking-icon,.viking-btn-secondary [data-viking-icon],a.viking-btn-secondary viking-icon,a.viking-btn-secondary .viking-icon,a.viking-btn-secondary [data-viking-icon],button.viking-btn-secondary viking-icon,button.viking-btn-secondary .viking-icon,button.viking-btn-secondary [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-half) * -1)}.viking-btn-secondary .viking-btn-label,a.viking-btn-secondary .viking-btn-label,button.viking-btn-secondary .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-secondary,a.viking-btn-secondary,button.viking-btn-secondary{background:var(--viking-accent-secondary);color:var(--viking-accent-secondary-content);border-color:color-mix(in srgb,var(--viking-accent-secondary) 82%,var(--viking-black));box-shadow:var(--viking-btn-depth-shadow),inset 0 1px color-mix(in srgb,var(--viking-white-pure) 10%,transparent)}.viking-btn-secondary:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-secondary:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-secondary:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-secondary-hover);border-color:var(--viking-accent-secondary-hover);color:var(--viking-accent-secondary-content);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn-secondary:active:not(:disabled):not([aria-busy=true]),a.viking-btn-secondary:active:not(:disabled):not([aria-busy=true]),button.viking-btn-secondary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb,var(--viking-accent-secondary) 82%,var(--viking-black));box-shadow:var(--viking-btn-press-shadow)}.viking-btn-outline,a.viking-btn-outline,button.viking-btn-outline{--viking-btn-depth-shadow: var(--viking-shadow-sm);--viking-btn-hover-shadow: var(--viking-shadow-hover);--viking-btn-press-shadow: inset 0 1px 2px color-mix(in srgb, var(--viking-black) 28%, transparent), var(--viking-shadow-xs);font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1-5);min-height:var(--viking-control-height);padding:var(--viking-space-half) var(--viking-control-padding-x);border-radius:var(--viking-radius-md);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}.viking-btn-outline:focus-visible,a.viking-btn-outline:focus-visible,button.viking-btn-outline:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-outline:before,a.viking-btn-outline:before,button.viking-btn-outline:before{content:\"\";position:absolute;inset:1px 1px auto;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 45%,transparent),transparent);pointer-events:none;opacity:.88;transition:var(--viking-transition-interactive)}.viking-btn-outline:after,a.viking-btn-outline:after,button.viking-btn-outline:after{content:\"\";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 18%,transparent),transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn-outline:disabled,.viking-btn-outline[aria-busy=true],a.viking-btn-outline:disabled,a.viking-btn-outline[aria-busy=true],button.viking-btn-outline:disabled,button.viking-btn-outline[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none!important;box-shadow:none!important}.viking-btn-outline[aria-busy=true]:before,.viking-btn-outline[aria-busy=true] .viking-btn-label,a.viking-btn-outline[aria-busy=true]:before,a.viking-btn-outline[aria-busy=true] .viking-btn-label,button.viking-btn-outline[aria-busy=true]:before,button.viking-btn-outline[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}.viking-btn-outline[aria-busy=true],a.viking-btn-outline[aria-busy=true],button.viking-btn-outline[aria-busy=true]{cursor:wait}.viking-btn-outline viking-icon,.viking-btn-outline .viking-icon,.viking-btn-outline [data-viking-icon],a.viking-btn-outline viking-icon,a.viking-btn-outline .viking-icon,a.viking-btn-outline [data-viking-icon],button.viking-btn-outline viking-icon,button.viking-btn-outline .viking-icon,button.viking-btn-outline [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-half) * -1)}.viking-btn-outline .viking-btn-label,a.viking-btn-outline .viking-btn-label,button.viking-btn-outline .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-outline,a.viking-btn-outline,button.viking-btn-outline{background:var(--viking-surface);color:var(--viking-text);border-color:var(--viking-border-strong);box-shadow:var(--viking-btn-depth-shadow)}.viking-btn-outline:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-outline:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-outline:hover:not(:disabled):not([aria-busy=true]){background:color-mix(in srgb,var(--viking-accent) 5%,var(--viking-surface-alt));border-color:color-mix(in srgb,var(--viking-accent) 45%,var(--viking-border-strong));color:var(--viking-text);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn-outline:active:not(:disabled):not([aria-busy=true]),a.viking-btn-outline:active:not(:disabled):not([aria-busy=true]),button.viking-btn-outline:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border-strong);box-shadow:var(--viking-btn-press-shadow)}.viking-btn-danger,a.viking-btn-danger,button.viking-btn-danger{--viking-btn-depth-shadow: var(--viking-shadow-sm);--viking-btn-hover-shadow: var(--viking-shadow-hover);--viking-btn-press-shadow: inset 0 1px 2px color-mix(in srgb, var(--viking-black) 28%, transparent), var(--viking-shadow-xs);font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1-5);min-height:var(--viking-control-height);padding:var(--viking-space-half) var(--viking-control-padding-x);border-radius:var(--viking-radius-md);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}.viking-btn-danger:focus-visible,a.viking-btn-danger:focus-visible,button.viking-btn-danger:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-danger:before,a.viking-btn-danger:before,button.viking-btn-danger:before{content:\"\";position:absolute;inset:1px 1px auto;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 45%,transparent),transparent);pointer-events:none;opacity:.88;transition:var(--viking-transition-interactive)}.viking-btn-danger:after,a.viking-btn-danger:after,button.viking-btn-danger:after{content:\"\";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 18%,transparent),transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn-danger:disabled,.viking-btn-danger[aria-busy=true],a.viking-btn-danger:disabled,a.viking-btn-danger[aria-busy=true],button.viking-btn-danger:disabled,button.viking-btn-danger[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none!important;box-shadow:none!important}.viking-btn-danger[aria-busy=true]:before,.viking-btn-danger[aria-busy=true] .viking-btn-label,a.viking-btn-danger[aria-busy=true]:before,a.viking-btn-danger[aria-busy=true] .viking-btn-label,button.viking-btn-danger[aria-busy=true]:before,button.viking-btn-danger[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}.viking-btn-danger[aria-busy=true],a.viking-btn-danger[aria-busy=true],button.viking-btn-danger[aria-busy=true]{cursor:wait}.viking-btn-danger viking-icon,.viking-btn-danger .viking-icon,.viking-btn-danger [data-viking-icon],a.viking-btn-danger viking-icon,a.viking-btn-danger .viking-icon,a.viking-btn-danger [data-viking-icon],button.viking-btn-danger viking-icon,button.viking-btn-danger .viking-icon,button.viking-btn-danger [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-half) * -1)}.viking-btn-danger .viking-btn-label,a.viking-btn-danger .viking-btn-label,button.viking-btn-danger .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-danger,a.viking-btn-danger,button.viking-btn-danger{background:var(--viking-danger);color:var(--viking-on-danger);border-color:color-mix(in srgb,var(--viking-danger) 85%,var(--viking-black));box-shadow:var(--viking-btn-depth-shadow),inset 0 1px color-mix(in srgb,var(--viking-white-pure) 10%,transparent)}.viking-btn-danger:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-danger:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-danger:hover:not(:disabled):not([aria-busy=true]){background:color-mix(in srgb,var(--viking-danger) 88%,var(--viking-white));border-color:color-mix(in srgb,var(--viking-danger) 92%,var(--viking-white));color:var(--viking-on-danger);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn-danger:active:not(:disabled):not([aria-busy=true]),a.viking-btn-danger:active:not(:disabled):not([aria-busy=true]),button.viking-btn-danger:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb,var(--viking-danger) 72%,var(--viking-black));background:color-mix(in srgb,var(--viking-danger) 84%,var(--viking-black));box-shadow:var(--viking-btn-press-shadow)}.viking-btn-ghost,a.viking-btn-ghost,button.viking-btn-ghost{--viking-btn-depth-shadow: var(--viking-shadow-sm);--viking-btn-hover-shadow: var(--viking-shadow-hover);--viking-btn-press-shadow: inset 0 1px 2px color-mix(in srgb, var(--viking-black) 28%, transparent), var(--viking-shadow-xs);font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1-5);min-height:var(--viking-control-height);padding:var(--viking-space-half) var(--viking-control-padding-x);border-radius:var(--viking-radius-md);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}.viking-btn-ghost:focus-visible,a.viking-btn-ghost:focus-visible,button.viking-btn-ghost:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-ghost:before,a.viking-btn-ghost:before,button.viking-btn-ghost:before{content:\"\";position:absolute;inset:1px 1px auto;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 45%,transparent),transparent);pointer-events:none;opacity:.88;transition:var(--viking-transition-interactive)}.viking-btn-ghost:after,a.viking-btn-ghost:after,button.viking-btn-ghost:after{content:\"\";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 18%,transparent),transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn-ghost:disabled,.viking-btn-ghost[aria-busy=true],a.viking-btn-ghost:disabled,a.viking-btn-ghost[aria-busy=true],button.viking-btn-ghost:disabled,button.viking-btn-ghost[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none!important;box-shadow:none!important}.viking-btn-ghost[aria-busy=true]:before,.viking-btn-ghost[aria-busy=true] .viking-btn-label,a.viking-btn-ghost[aria-busy=true]:before,a.viking-btn-ghost[aria-busy=true] .viking-btn-label,button.viking-btn-ghost[aria-busy=true]:before,button.viking-btn-ghost[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}.viking-btn-ghost[aria-busy=true],a.viking-btn-ghost[aria-busy=true],button.viking-btn-ghost[aria-busy=true]{cursor:wait}.viking-btn-ghost viking-icon,.viking-btn-ghost .viking-icon,.viking-btn-ghost [data-viking-icon],a.viking-btn-ghost viking-icon,a.viking-btn-ghost .viking-icon,a.viking-btn-ghost [data-viking-icon],button.viking-btn-ghost viking-icon,button.viking-btn-ghost .viking-icon,button.viking-btn-ghost [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-half) * -1)}.viking-btn-ghost .viking-btn-label,a.viking-btn-ghost .viking-btn-label,button.viking-btn-ghost .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-ghost,a.viking-btn-ghost,button.viking-btn-ghost{background:transparent;color:var(--viking-text);min-width:auto;box-shadow:none;border-color:transparent}.viking-btn-ghost:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-ghost:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-ghost:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-soft);color:var(--viking-accent-strong);border-color:var(--viking-border-subtle);transform:translateY(var(--viking-state-hover-lift))}.viking-btn-ghost:active:not(:disabled):not([aria-busy=true]),a.viking-btn-ghost:active:not(:disabled):not([aria-busy=true]),button.viking-btn-ghost:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));background:var(--viking-accent-soft);color:var(--viking-accent-strong)}.viking-btn-subtle,a.viking-btn-subtle,button.viking-btn-subtle{--viking-btn-depth-shadow: var(--viking-shadow-sm);--viking-btn-hover-shadow: var(--viking-shadow-hover);--viking-btn-press-shadow: inset 0 1px 2px color-mix(in srgb, var(--viking-black) 28%, transparent), var(--viking-shadow-xs);font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1-5);min-height:var(--viking-control-height);padding:var(--viking-space-half) var(--viking-control-padding-x);border-radius:var(--viking-radius-md);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}.viking-btn-subtle:focus-visible,a.viking-btn-subtle:focus-visible,button.viking-btn-subtle:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-subtle:before,a.viking-btn-subtle:before,button.viking-btn-subtle:before{content:\"\";position:absolute;inset:1px 1px auto;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 45%,transparent),transparent);pointer-events:none;opacity:.88;transition:var(--viking-transition-interactive)}.viking-btn-subtle:after,a.viking-btn-subtle:after,button.viking-btn-subtle:after{content:\"\";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 18%,transparent),transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn-subtle:disabled,.viking-btn-subtle[aria-busy=true],a.viking-btn-subtle:disabled,a.viking-btn-subtle[aria-busy=true],button.viking-btn-subtle:disabled,button.viking-btn-subtle[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none!important;box-shadow:none!important}.viking-btn-subtle[aria-busy=true]:before,.viking-btn-subtle[aria-busy=true] .viking-btn-label,a.viking-btn-subtle[aria-busy=true]:before,a.viking-btn-subtle[aria-busy=true] .viking-btn-label,button.viking-btn-subtle[aria-busy=true]:before,button.viking-btn-subtle[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}.viking-btn-subtle[aria-busy=true],a.viking-btn-subtle[aria-busy=true],button.viking-btn-subtle[aria-busy=true]{cursor:wait}.viking-btn-subtle viking-icon,.viking-btn-subtle .viking-icon,.viking-btn-subtle [data-viking-icon],a.viking-btn-subtle viking-icon,a.viking-btn-subtle .viking-icon,a.viking-btn-subtle [data-viking-icon],button.viking-btn-subtle viking-icon,button.viking-btn-subtle .viking-icon,button.viking-btn-subtle [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-half) * -1)}.viking-btn-subtle .viking-btn-label,a.viking-btn-subtle .viking-btn-label,button.viking-btn-subtle .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-subtle,a.viking-btn-subtle,button.viking-btn-subtle{background:transparent;color:var(--viking-text-muted);border-color:var(--viking-border-subtle);min-width:auto;box-shadow:none}.viking-btn-subtle:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-subtle:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-subtle:hover:not(:disabled):not([aria-busy=true]){color:var(--viking-text);background:var(--viking-accent-soft);border-color:var(--viking-border-strong)}.viking-btn-subtle:active:not(:disabled):not([aria-busy=true]),a.viking-btn-subtle:active:not(:disabled):not([aria-busy=true]),button.viking-btn-subtle:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border);background:color-mix(in srgb,var(--viking-accent-soft) 70%,var(--viking-surface));box-shadow:inset 0 1px 2px color-mix(in srgb,var(--viking-black) 24%,transparent)}.viking-btn.viking-outline{background:var(--viking-surface);color:var(--viking-text);border-color:var(--viking-border-strong);box-shadow:var(--viking-btn-depth-shadow)}.viking-btn.viking-outline:hover:not(:disabled):not([aria-busy=true]){background:color-mix(in srgb,var(--viking-accent) 5%,var(--viking-surface-alt));border-color:color-mix(in srgb,var(--viking-accent) 45%,var(--viking-border-strong));color:var(--viking-text);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-outline:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border-strong);box-shadow:var(--viking-btn-press-shadow)}.viking-btn.viking-primary{background:var(--viking-accent);color:var(--viking-accent-content);border-color:color-mix(in srgb,var(--viking-accent) 82%,var(--viking-black));box-shadow:var(--viking-btn-depth-shadow),inset 0 1px color-mix(in srgb,var(--viking-white-pure) 12%,transparent)}.viking-btn.viking-primary:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-hover);border-color:var(--viking-accent-hover);color:var(--viking-accent-content);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-primary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb,var(--viking-accent) 82%,var(--viking-black));box-shadow:var(--viking-btn-press-shadow)}.viking-btn.viking-secondary{background:var(--viking-accent-secondary);color:var(--viking-accent-secondary-content);border-color:color-mix(in srgb,var(--viking-accent-secondary) 82%,var(--viking-black));box-shadow:var(--viking-btn-depth-shadow),inset 0 1px color-mix(in srgb,var(--viking-white-pure) 10%,transparent)}.viking-btn.viking-secondary:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-secondary-hover);border-color:var(--viking-accent-secondary-hover);color:var(--viking-accent-secondary-content);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-secondary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb,var(--viking-accent-secondary) 82%,var(--viking-black));box-shadow:var(--viking-btn-press-shadow)}.viking-btn.viking-filled{background:var(--viking-surface-alt);color:var(--viking-text);border-color:var(--viking-border);box-shadow:var(--viking-shadow-xs)}.viking-btn.viking-filled:hover:not(:disabled):not([aria-busy=true]){border-color:color-mix(in srgb,var(--viking-accent) 45%,var(--viking-border));background:color-mix(in srgb,var(--viking-accent) 8%,var(--viking-surface-alt));box-shadow:var(--viking-btn-depth-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-filled:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));box-shadow:var(--viking-btn-press-shadow);border-color:color-mix(in srgb,var(--viking-accent) 20%,var(--viking-border));background:color-mix(in srgb,var(--viking-surface-alt) 84%,var(--viking-accent))}.viking-btn.viking-danger{background:var(--viking-danger);color:var(--viking-on-danger);border-color:color-mix(in srgb,var(--viking-danger) 85%,var(--viking-black));box-shadow:var(--viking-btn-depth-shadow),inset 0 1px color-mix(in srgb,var(--viking-white-pure) 10%,transparent)}.viking-btn.viking-danger:hover:not(:disabled):not([aria-busy=true]){background:color-mix(in srgb,var(--viking-danger) 88%,var(--viking-white));border-color:color-mix(in srgb,var(--viking-danger) 92%,var(--viking-white));color:var(--viking-on-danger);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-danger:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb,var(--viking-danger) 72%,var(--viking-black));background:color-mix(in srgb,var(--viking-danger) 84%,var(--viking-black));box-shadow:var(--viking-btn-press-shadow)}.viking-btn.viking-ghost{background:transparent;color:var(--viking-text);min-width:auto;box-shadow:none;border-color:transparent}.viking-btn.viking-ghost:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-soft);color:var(--viking-accent-strong);border-color:var(--viking-border-subtle);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-ghost:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));background:var(--viking-accent-soft);color:var(--viking-accent-strong)}.viking-btn.viking-subtle{background:transparent;color:var(--viking-text-muted);border-color:var(--viking-border-subtle);min-width:auto;box-shadow:none}.viking-btn.viking-subtle:hover:not(:disabled):not([aria-busy=true]){color:var(--viking-text);background:var(--viking-accent-soft);border-color:var(--viking-border-strong)}.viking-btn.viking-subtle:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border);background:color-mix(in srgb,var(--viking-accent-soft) 70%,var(--viking-surface));box-shadow:inset 0 1px 2px color-mix(in srgb,var(--viking-black) 24%,transparent)}.viking-btn.viking-compact{min-width:0}.viking-btn.viking-full{width:100%;min-width:0}.viking-btn-label{display:inline-flex;align-items:center;line-height:inherit}.viking-btn-spinner{flex:0 0 auto;width:var(--viking-icon-size-sm, 18px);height:var(--viking-icon-size-sm, 18px);border:2px solid currentColor;border-right-color:transparent;border-radius:var(--viking-radius-pill);animation:viking-spin .8s linear infinite}:host{display:inline-flex;align-items:center}:host(.viking-full){display:flex}:host(.viking-full) .viking-btn{width:100%;min-width:0}:host(.viking-compact) .viking-btn{min-width:0}.viking-btn{--viking-btn-depth-shadow: var(--viking-shadow-sm);--viking-btn-hover-shadow: var(--viking-shadow-hover);--viking-btn-press-shadow: inset 0 1px 2px color-mix(in srgb, var(--viking-black) 28%, transparent), var(--viking-shadow-xs);font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1-5);min-height:var(--viking-control-height);padding:var(--viking-space-half) var(--viking-control-padding-x);border-radius:var(--viking-radius-md);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}.viking-btn:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn:before{content:\"\";position:absolute;inset:1px 1px auto;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 45%,transparent),transparent);pointer-events:none;opacity:.88;transition:var(--viking-transition-interactive)}.viking-btn:after{content:\"\";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-100) 18%,transparent),transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn:disabled,.viking-btn[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none!important;box-shadow:none!important}.viking-btn[aria-busy=true]:before,.viking-btn[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}.viking-btn[aria-busy=true]{cursor:wait}.viking-btn viking-icon,.viking-btn .viking-icon,.viking-btn [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-half) * -1)}.viking-btn .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn{line-height:1}.viking-btn viking-icon,.viking-btn .viking-icon,.viking-btn [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none}.viking-sm{min-height:var(--viking-control-height-sm);padding:0 var(--viking-space-2);font-size:var(--viking-font-size-xs);min-width:auto}.viking-xs{min-height:var(--viking-control-height-xs);padding:0 var(--viking-space-1);font-size:var(--viking-font-size-xs);min-width:auto}.viking-square{width:var(--viking-control-height);min-width:var(--viking-control-height);padding:0}.viking-square.viking-sm{width:var(--viking-control-height-sm);min-width:var(--viking-control-height-sm)}.viking-square.viking-xs{width:var(--viking-control-height-xs);min-width:var(--viking-control-height-xs)}.viking-square .viking-btn-label{display:none}.viking-outline{background:var(--viking-surface);color:var(--viking-text);border-color:var(--viking-border-strong);box-shadow:var(--viking-btn-depth-shadow)}.viking-outline:hover:not(:disabled):not([aria-busy=true]){background:color-mix(in srgb,var(--viking-accent) 5%,var(--viking-surface-alt));border-color:color-mix(in srgb,var(--viking-accent) 45%,var(--viking-border-strong));color:var(--viking-text);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-outline:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border-strong);box-shadow:var(--viking-btn-press-shadow)}.viking-primary{background:var(--viking-accent);color:var(--viking-accent-content);border-color:color-mix(in srgb,var(--viking-accent) 82%,var(--viking-black));box-shadow:var(--viking-btn-depth-shadow),inset 0 1px color-mix(in srgb,var(--viking-white-pure) 12%,transparent)}.viking-primary:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-hover);border-color:var(--viking-accent-hover);color:var(--viking-accent-content);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-primary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb,var(--viking-accent) 82%,var(--viking-black));box-shadow:var(--viking-btn-press-shadow)}.viking-secondary{background:var(--viking-accent-secondary);color:var(--viking-accent-secondary-content);border-color:color-mix(in srgb,var(--viking-accent-secondary) 82%,var(--viking-black));box-shadow:var(--viking-btn-depth-shadow),inset 0 1px color-mix(in srgb,var(--viking-white-pure) 10%,transparent)}.viking-secondary:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-secondary-hover);border-color:var(--viking-accent-secondary-hover);color:var(--viking-accent-secondary-content);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-secondary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb,var(--viking-accent-secondary) 82%,var(--viking-black));box-shadow:var(--viking-btn-press-shadow)}.viking-filled{background:var(--viking-surface-alt);color:var(--viking-text);border-color:var(--viking-border);box-shadow:var(--viking-shadow-xs)}.viking-filled:hover:not(:disabled):not([aria-busy=true]){border-color:color-mix(in srgb,var(--viking-accent) 45%,var(--viking-border));background:color-mix(in srgb,var(--viking-accent) 8%,var(--viking-surface-alt));box-shadow:var(--viking-btn-depth-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-filled:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));box-shadow:var(--viking-btn-press-shadow);border-color:color-mix(in srgb,var(--viking-accent) 20%,var(--viking-border));background:color-mix(in srgb,var(--viking-surface-alt) 84%,var(--viking-accent))}.viking-danger{background:var(--viking-danger);color:var(--viking-on-danger);border-color:color-mix(in srgb,var(--viking-danger) 85%,var(--viking-black));box-shadow:var(--viking-btn-depth-shadow),inset 0 1px color-mix(in srgb,var(--viking-white-pure) 10%,transparent)}.viking-danger:hover:not(:disabled):not([aria-busy=true]){background:color-mix(in srgb,var(--viking-danger) 88%,var(--viking-white));border-color:color-mix(in srgb,var(--viking-danger) 92%,var(--viking-white));color:var(--viking-on-danger);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-danger:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb,var(--viking-danger) 72%,var(--viking-black));background:color-mix(in srgb,var(--viking-danger) 84%,var(--viking-black));box-shadow:var(--viking-btn-press-shadow)}.viking-ghost{background:transparent;color:var(--viking-text);min-width:auto;box-shadow:none;border-color:transparent}.viking-ghost:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-soft);color:var(--viking-accent-strong);border-color:var(--viking-border-subtle);transform:translateY(var(--viking-state-hover-lift))}.viking-ghost:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));background:var(--viking-accent-soft);color:var(--viking-accent-strong)}.viking-subtle{background:transparent;color:var(--viking-text-muted);border-color:var(--viking-border-subtle);min-width:auto;box-shadow:none}.viking-subtle:hover:not(:disabled):not([aria-busy=true]){color:var(--viking-text);background:var(--viking-accent-soft);border-color:var(--viking-border-strong)}.viking-subtle:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border);background:color-mix(in srgb,var(--viking-accent-soft) 70%,var(--viking-surface));box-shadow:inset 0 1px 2px color-mix(in srgb,var(--viking-black) 24%,transparent)}.viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:inherit;min-width:0;justify-content:center;white-space:nowrap}.viking-btn kbd{margin-top:0}.viking-btn-kbd{font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-xs);color:var(--viking-text-muted);background:var(--viking-surface-alt);border:1px solid var(--viking-border);border-radius:var(--viking-radius-xs);padding:0 var(--viking-space-half);line-height:1.4;margin-left:var(--viking-space-half);font-weight:var(--viking-font-weight-medium)}\n"] }]
|
|
5106
5131
|
}], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], iconTrailing: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconTrailing", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], square: [{ type: i0.Input, args: [{ isSignal: true, alias: "square", required: false }] }], fullWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "fullWidth", required: false }] }], compact: [{ type: i0.Input, args: [{ isSignal: true, alias: "compact", required: false }] }], href: [{ type: i0.Input, args: [{ isSignal: true, alias: "href", required: false }] }], target: [{ type: i0.Input, args: [{ isSignal: true, alias: "target", required: false }] }], kbd: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbd", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], pressed: [{ type: i0.Output, args: ["pressed"] }] } });
|
|
5107
5132
|
|
|
5108
5133
|
/**
|
|
@@ -5190,12 +5215,22 @@ class VikingSiteNavbar {
|
|
|
5190
5215
|
this.mobileMenuOpen.set(false);
|
|
5191
5216
|
}
|
|
5192
5217
|
openSearch() {
|
|
5218
|
+
this.closeMobileMenu();
|
|
5193
5219
|
this.searchOpen.emit();
|
|
5194
5220
|
const widgets = globalThis.DemlWidgets;
|
|
5195
5221
|
widgets?.openSearch?.();
|
|
5196
5222
|
}
|
|
5223
|
+
closeMobileMenuOnDesktop() {
|
|
5224
|
+
if (typeof window !== "undefined" &&
|
|
5225
|
+
window.matchMedia("(min-width: 768px)").matches) {
|
|
5226
|
+
this.closeMobileMenu();
|
|
5227
|
+
}
|
|
5228
|
+
}
|
|
5229
|
+
closeMobileMenuOnEscape() {
|
|
5230
|
+
this.closeMobileMenu();
|
|
5231
|
+
}
|
|
5197
5232
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: VikingSiteNavbar, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5198
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: VikingSiteNavbar, isStandalone: true, selector: "viking-site-navbar", inputs: { context: { classPropertyName: "context", publicName: "context", isSignal: true, isRequired: false, transformFunction: null }, urls: { classPropertyName: "urls", publicName: "urls", isSignal: true, isRequired: false, transformFunction: null }, isAuthenticated: { classPropertyName: "isAuthenticated", publicName: "isAuthenticated", isSignal: true, isRequired: false, transformFunction: null }, isBusy: { classPropertyName: "isBusy", publicName: "isBusy", isSignal: true, isRequired: false, transformFunction: null }, theme: { classPropertyName: "theme", publicName: "theme", isSignal: true, isRequired: false, transformFunction: null }, showSearch: { classPropertyName: "showSearch", publicName: "showSearch", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { login: "login", logout: "logout", themeToggle: "themeToggle", searchOpen: "searchOpen" }, ngImport: i0, template: `
|
|
5233
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: VikingSiteNavbar, isStandalone: true, selector: "viking-site-navbar", inputs: { context: { classPropertyName: "context", publicName: "context", isSignal: true, isRequired: false, transformFunction: null }, urls: { classPropertyName: "urls", publicName: "urls", isSignal: true, isRequired: false, transformFunction: null }, isAuthenticated: { classPropertyName: "isAuthenticated", publicName: "isAuthenticated", isSignal: true, isRequired: false, transformFunction: null }, isBusy: { classPropertyName: "isBusy", publicName: "isBusy", isSignal: true, isRequired: false, transformFunction: null }, theme: { classPropertyName: "theme", publicName: "theme", isSignal: true, isRequired: false, transformFunction: null }, showSearch: { classPropertyName: "showSearch", publicName: "showSearch", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { login: "login", logout: "logout", themeToggle: "themeToggle", searchOpen: "searchOpen" }, host: { listeners: { "window:resize": "closeMobileMenuOnDesktop()", "document:keydown.escape": "closeMobileMenuOnEscape()" } }, ngImport: i0, template: `
|
|
5199
5234
|
<header class="navbar">
|
|
5200
5235
|
<div class="navbar-content">
|
|
5201
5236
|
<div class="navbar-left">
|
|
@@ -5312,6 +5347,8 @@ class VikingSiteNavbar {
|
|
|
5312
5347
|
class="menu-toggle-btn"
|
|
5313
5348
|
[icon]="mobileMenuOpen() ? 'x' : 'menu'"
|
|
5314
5349
|
id="mobile-menu-btn"
|
|
5350
|
+
[attr.aria-controls]="'mobile-menu'"
|
|
5351
|
+
[attr.aria-expanded]="mobileMenuOpen() ? 'true' : 'false'"
|
|
5315
5352
|
[label]="
|
|
5316
5353
|
mobileMenuOpen()
|
|
5317
5354
|
? 'Close navigation menu'
|
|
@@ -5324,7 +5361,9 @@ class VikingSiteNavbar {
|
|
|
5324
5361
|
|
|
5325
5362
|
<nav
|
|
5326
5363
|
class="mobile-menu"
|
|
5364
|
+
id="mobile-menu"
|
|
5327
5365
|
[class.open]="mobileMenuOpen()"
|
|
5366
|
+
[attr.hidden]="mobileMenuOpen() ? null : ''"
|
|
5328
5367
|
aria-label="Mobile navigation"
|
|
5329
5368
|
>
|
|
5330
5369
|
@for (link of navLinks(); track link.id + "-mobile") {
|
|
@@ -5517,6 +5556,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
5517
5556
|
class="menu-toggle-btn"
|
|
5518
5557
|
[icon]="mobileMenuOpen() ? 'x' : 'menu'"
|
|
5519
5558
|
id="mobile-menu-btn"
|
|
5559
|
+
[attr.aria-controls]="'mobile-menu'"
|
|
5560
|
+
[attr.aria-expanded]="mobileMenuOpen() ? 'true' : 'false'"
|
|
5520
5561
|
[label]="
|
|
5521
5562
|
mobileMenuOpen()
|
|
5522
5563
|
? 'Close navigation menu'
|
|
@@ -5529,7 +5570,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
5529
5570
|
|
|
5530
5571
|
<nav
|
|
5531
5572
|
class="mobile-menu"
|
|
5573
|
+
id="mobile-menu"
|
|
5532
5574
|
[class.open]="mobileMenuOpen()"
|
|
5575
|
+
[attr.hidden]="mobileMenuOpen() ? null : ''"
|
|
5533
5576
|
aria-label="Mobile navigation"
|
|
5534
5577
|
>
|
|
5535
5578
|
@for (link of navLinks(); track link.id + "-mobile") {
|
|
@@ -5596,7 +5639,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
5596
5639
|
</nav>
|
|
5597
5640
|
</header>
|
|
5598
5641
|
` }]
|
|
5599
|
-
}], propDecorators: { context: [{ type: i0.Input, args: [{ isSignal: true, alias: "context", required: false }] }], urls: [{ type: i0.Input, args: [{ isSignal: true, alias: "urls", required: false }] }], isAuthenticated: [{ type: i0.Input, args: [{ isSignal: true, alias: "isAuthenticated", required: false }] }], isBusy: [{ type: i0.Input, args: [{ isSignal: true, alias: "isBusy", required: false }] }], theme: [{ type: i0.Input, args: [{ isSignal: true, alias: "theme", required: false }] }], showSearch: [{ type: i0.Input, args: [{ isSignal: true, alias: "showSearch", required: false }] }], login: [{ type: i0.Output, args: ["login"] }], logout: [{ type: i0.Output, args: ["logout"] }], themeToggle: [{ type: i0.Output, args: ["themeToggle"] }], searchOpen: [{ type: i0.Output, args: ["searchOpen"] }]
|
|
5642
|
+
}], propDecorators: { context: [{ type: i0.Input, args: [{ isSignal: true, alias: "context", required: false }] }], urls: [{ type: i0.Input, args: [{ isSignal: true, alias: "urls", required: false }] }], isAuthenticated: [{ type: i0.Input, args: [{ isSignal: true, alias: "isAuthenticated", required: false }] }], isBusy: [{ type: i0.Input, args: [{ isSignal: true, alias: "isBusy", required: false }] }], theme: [{ type: i0.Input, args: [{ isSignal: true, alias: "theme", required: false }] }], showSearch: [{ type: i0.Input, args: [{ isSignal: true, alias: "showSearch", required: false }] }], login: [{ type: i0.Output, args: ["login"] }], logout: [{ type: i0.Output, args: ["logout"] }], themeToggle: [{ type: i0.Output, args: ["themeToggle"] }], searchOpen: [{ type: i0.Output, args: ["searchOpen"] }], closeMobileMenuOnDesktop: [{
|
|
5643
|
+
type: HostListener,
|
|
5644
|
+
args: ["window:resize"]
|
|
5645
|
+
}], closeMobileMenuOnEscape: [{
|
|
5646
|
+
type: HostListener,
|
|
5647
|
+
args: ["document:keydown.escape"]
|
|
5648
|
+
}] } });
|
|
5600
5649
|
|
|
5601
5650
|
/**
|
|
5602
5651
|
* viking-footer — site-wide Drakkar footer shell. Project directory columns and bottom row via slots.
|
|
@@ -6918,7 +6967,7 @@ class VikingCard {
|
|
|
6918
6967
|
} @else {
|
|
6919
6968
|
<ng-content />
|
|
6920
6969
|
}
|
|
6921
|
-
`, isInline: true, styles: [":host{display:
|
|
6970
|
+
`, isInline: true, styles: [":host{display:grid;gap:var(--viking-card-content-gap, var(--viking-space-3));background:var(--viking-surface-recipe, var(--viking-surface));border:1px solid color-mix(in srgb,var(--viking-border-strong) 72%,var(--viking-border));border-radius:var(--viking-radius-lg);box-shadow:var(--viking-shadow-sm),inset 0 1px color-mix(in srgb,var(--viking-white-pure) 7%,transparent),inset 0 -1px color-mix(in srgb,var(--viking-black) 18%,transparent);padding:var(--viking-card-padding, var(--viking-space-3));color:var(--viking-text);transition:var(--viking-transition-interactive);position:relative;isolation:isolate;overflow:hidden;min-width:0;background-clip:padding-box}:host(.viking-card-headerless) .viking-card-header,:host(.viking-card-headerless) viking-card-header{display:none}:host:before{content:\"\";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-200) var(--viking-surface-hairline-strength, 28%),transparent),transparent);pointer-events:none}:host:after{content:\"\";position:absolute;inset:0 0 auto;width:2px;height:var(--viking-space-4);background:linear-gradient(180deg,color-mix(in srgb,var(--viking-metallic-100) 24%,transparent),transparent);pointer-events:none}:host(.viking-card-interactive){cursor:pointer}:host(.viking-card-interactive):focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}:host(.viking-card-interactive):hover{border-color:var(--viking-accent-strong);box-shadow:var(--viking-shadow-hover),inset 0 1px color-mix(in srgb,var(--viking-white-pure) 8%,transparent),inset 0 -1px color-mix(in srgb,var(--viking-black) 18%,transparent);transform:translateY(var(--viking-state-hover-lift))}:host(.viking-card-interactive):active{transform:translateY(0) scale(var(--viking-state-active-scale));box-shadow:inset 0 1px 2px color-mix(in srgb,var(--viking-black) 24%,transparent),var(--viking-shadow-sm)}:host(.viking-card-loading){pointer-events:none}:host(.viking-card-compact){padding:var(--viking-card-padding-compact, var(--viking-space-2));gap:var(--viking-card-content-gap-compact, var(--viking-space-2))}.viking-card-skeleton{display:flex;flex-direction:column;gap:var(--viking-space-2)}\n"], dependencies: [{ kind: "component", type: VikingSkeleton, selector: "viking-skeleton", inputs: ["shape", "width", "height"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
6922
6971
|
}
|
|
6923
6972
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: VikingCard, decorators: [{
|
|
6924
6973
|
type: Component,
|
|
@@ -6941,25 +6990,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
6941
6990
|
} @else {
|
|
6942
6991
|
<ng-content />
|
|
6943
6992
|
}
|
|
6944
|
-
`, imports: [VikingSkeleton], styles: [":host{display:
|
|
6993
|
+
`, imports: [VikingSkeleton], styles: [":host{display:grid;gap:var(--viking-card-content-gap, var(--viking-space-3));background:var(--viking-surface-recipe, var(--viking-surface));border:1px solid color-mix(in srgb,var(--viking-border-strong) 72%,var(--viking-border));border-radius:var(--viking-radius-lg);box-shadow:var(--viking-shadow-sm),inset 0 1px color-mix(in srgb,var(--viking-white-pure) 7%,transparent),inset 0 -1px color-mix(in srgb,var(--viking-black) 18%,transparent);padding:var(--viking-card-padding, var(--viking-space-3));color:var(--viking-text);transition:var(--viking-transition-interactive);position:relative;isolation:isolate;overflow:hidden;min-width:0;background-clip:padding-box}:host(.viking-card-headerless) .viking-card-header,:host(.viking-card-headerless) viking-card-header{display:none}:host:before{content:\"\";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--viking-metallic-200) var(--viking-surface-hairline-strength, 28%),transparent),transparent);pointer-events:none}:host:after{content:\"\";position:absolute;inset:0 0 auto;width:2px;height:var(--viking-space-4);background:linear-gradient(180deg,color-mix(in srgb,var(--viking-metallic-100) 24%,transparent),transparent);pointer-events:none}:host(.viking-card-interactive){cursor:pointer}:host(.viking-card-interactive):focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}:host(.viking-card-interactive):hover{border-color:var(--viking-accent-strong);box-shadow:var(--viking-shadow-hover),inset 0 1px color-mix(in srgb,var(--viking-white-pure) 8%,transparent),inset 0 -1px color-mix(in srgb,var(--viking-black) 18%,transparent);transform:translateY(var(--viking-state-hover-lift))}:host(.viking-card-interactive):active{transform:translateY(0) scale(var(--viking-state-active-scale));box-shadow:inset 0 1px 2px color-mix(in srgb,var(--viking-black) 24%,transparent),var(--viking-shadow-sm)}:host(.viking-card-loading){pointer-events:none}:host(.viking-card-compact){padding:var(--viking-card-padding-compact, var(--viking-space-2));gap:var(--viking-card-content-gap-compact, var(--viking-space-2))}.viking-card-skeleton{display:flex;flex-direction:column;gap:var(--viking-space-2)}\n"] }]
|
|
6945
6994
|
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { interactive: [{ type: i0.Input, args: [{ isSignal: true, alias: "interactive", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], compact: [{ type: i0.Input, args: [{ isSignal: true, alias: "compact", required: false }] }] } });
|
|
6946
6995
|
/** Header row for viking-card. */
|
|
6947
6996
|
class VikingCardHeader {
|
|
6948
6997
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: VikingCardHeader, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6949
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: VikingCardHeader, isStandalone: true, selector: "viking-card-header", ngImport: i0, template: `<ng-content />`, isInline: true, styles: [":host{display:flex;align-items:center;justify-content:space-between;gap:var(--viking-space-
|
|
6998
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: VikingCardHeader, isStandalone: true, selector: "viking-card-header", ngImport: i0, template: `<ng-content />`, isInline: true, styles: [":host{display:flex;align-items:center;justify-content:space-between;gap:var(--viking-space-3);padding-bottom:var(--viking-space-2);margin-bottom:0;border-bottom:1px solid var(--viking-border-subtle)}:host ::ng-deep>*{display:inline-flex;align-items:center}:host ::ng-deep viking-card-title{flex:1 1 auto;min-width:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
6950
6999
|
}
|
|
6951
7000
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: VikingCardHeader, decorators: [{
|
|
6952
7001
|
type: Component,
|
|
6953
|
-
args: [{ selector: "viking-card-header", changeDetection: ChangeDetectionStrategy.OnPush, template: `<ng-content />`, styles: [":host{display:flex;align-items:center;justify-content:space-between;gap:var(--viking-space-
|
|
7002
|
+
args: [{ selector: "viking-card-header", changeDetection: ChangeDetectionStrategy.OnPush, template: `<ng-content />`, styles: [":host{display:flex;align-items:center;justify-content:space-between;gap:var(--viking-space-3);padding-bottom:var(--viking-space-2);margin-bottom:0;border-bottom:1px solid var(--viking-border-subtle)}:host ::ng-deep>*{display:inline-flex;align-items:center}:host ::ng-deep viking-card-title{flex:1 1 auto;min-width:0}\n"] }]
|
|
6954
7003
|
}] });
|
|
6955
7004
|
/** Footer row for viking-card. */
|
|
6956
7005
|
class VikingCardFooter {
|
|
6957
7006
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: VikingCardFooter, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6958
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: VikingCardFooter, isStandalone: true, selector: "viking-card-footer", ngImport: i0, template: `<ng-content />`, isInline: true, styles: [":host{display:flex;align-items:center;gap:var(--viking-space-2);padding-top:var(--viking-space-2);margin-top:var(--viking-
|
|
7007
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: VikingCardFooter, isStandalone: true, selector: "viking-card-footer", ngImport: i0, template: `<ng-content />`, isInline: true, styles: [":host{display:flex;align-items:center;justify-content:flex-end;gap:var(--viking-space-2);padding-top:var(--viking-space-2);margin-top:0;border-top:1px solid var(--viking-border-subtle)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
6959
7008
|
}
|
|
6960
7009
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: VikingCardFooter, decorators: [{
|
|
6961
7010
|
type: Component,
|
|
6962
|
-
args: [{ selector: "viking-card-footer", changeDetection: ChangeDetectionStrategy.OnPush, template: `<ng-content />`, styles: [":host{display:flex;align-items:center;gap:var(--viking-space-2);padding-top:var(--viking-space-2);margin-top:var(--viking-
|
|
7011
|
+
args: [{ selector: "viking-card-footer", changeDetection: ChangeDetectionStrategy.OnPush, template: `<ng-content />`, styles: [":host{display:flex;align-items:center;justify-content:flex-end;gap:var(--viking-space-2);padding-top:var(--viking-space-2);margin-top:0;border-top:1px solid var(--viking-border-subtle)}\n"] }]
|
|
6963
7012
|
}] });
|
|
6964
7013
|
|
|
6965
7014
|
/**
|
|
@@ -9201,19 +9250,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
9201
9250
|
`, styles: [":host{display:block;font-family:var(--viking-font-family)}.viking-checkbox{display:inline-flex;align-items:flex-start;gap:var(--viking-space-1);cursor:pointer}.viking-disabled{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed}.viking-checkbox-box{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-space-2);height:var(--viking-space-2);margin-top:2px;border:1px solid var(--viking-border-strong);border-radius:var(--viking-radius-xs);background:var(--viking-surface);color:var(--viking-accent-content);transition:var(--viking-transition-interactive);flex-shrink:0;box-shadow:var(--viking-shadow-xs)}.viking-checkbox-box input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.viking-checkbox:hover:not(.viking-disabled) .viking-checkbox-box{border-color:var(--viking-accent-strong)}.viking-checkbox-box.viking-checked{background:var(--viking-accent);border-color:color-mix(in srgb,var(--viking-accent) 80%,var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-checkbox-box:has(input:focus-visible){outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.viking-checkbox-content{display:flex;flex-direction:column}.viking-checkbox-label{font-size:var(--viking-font-size);color:var(--viking-text);line-height:1.45}.viking-checkbox-description{font-size:var(--viking-font-size);color:var(--viking-text-muted)}\n"] }]
|
|
9202
9251
|
}], propDecorators: { checked: [{ type: i0.Input, args: [{ isSignal: true, alias: "checked", required: false }] }, { type: i0.Output, args: ["checkedChange"] }], indeterminate: [{ type: i0.Input, args: [{ isSignal: true, alias: "indeterminate", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], description: [{ type: i0.Input, args: [{ isSignal: true, alias: "description", required: false }] }] } });
|
|
9203
9252
|
|
|
9204
|
-
/** Fixed series palette — keep in sync with viking-tokens.json and THEME.md §8.4 */
|
|
9205
|
-
const VIKING_SERIES_PRESETS = [
|
|
9206
|
-
"var(--viking-electric-500)",
|
|
9207
|
-
"var(--viking-crimson-600)",
|
|
9208
|
-
"var(--viking-green-500)",
|
|
9209
|
-
"var(--viking-gold-500)",
|
|
9210
|
-
"var(--viking-crimson-500)",
|
|
9211
|
-
"var(--viking-blue-500)",
|
|
9212
|
-
"var(--viking-charcoal-700)",
|
|
9213
|
-
"var(--viking-metallic-500)",
|
|
9214
|
-
];
|
|
9215
|
-
const VIKING_SERIES_DEFAULT = VIKING_SERIES_PRESETS[0];
|
|
9216
|
-
|
|
9217
9253
|
/**
|
|
9218
9254
|
* viking-color-picker — swatch presets + custom color input
|
|
9219
9255
|
*. ControlValueAccessor-compatible.
|
|
@@ -10128,11 +10164,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
10128
10164
|
*/
|
|
10129
10165
|
class VikingFormPanel {
|
|
10130
10166
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: VikingFormPanel, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10131
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: VikingFormPanel, isStandalone: true, selector: "viking-form-panel", host: { classAttribute: "viking-form-panel" }, ngImport: i0, template: `<ng-content />`, isInline: true, styles: [":host{display:flex;flex-direction:column;gap:0;width:100%;min-width:0}:host ::ng-deep viking-form-section+viking-form-section{border-top:1px solid var(--viking-border-subtle);margin-top:var(--viking-space-
|
|
10167
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: VikingFormPanel, isStandalone: true, selector: "viking-form-panel", host: { classAttribute: "viking-form-panel" }, ngImport: i0, template: `<ng-content />`, isInline: true, styles: [":host{display:flex;flex-direction:column;gap:0;width:100%;min-width:0}:host ::ng-deep viking-form-section+viking-form-section{border-top:1px solid var(--viking-border-subtle);margin-top:var(--viking-space-4);padding-top:var(--viking-space-4)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
10132
10168
|
}
|
|
10133
10169
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: VikingFormPanel, decorators: [{
|
|
10134
10170
|
type: Component,
|
|
10135
|
-
args: [{ selector: "viking-form-panel", changeDetection: ChangeDetectionStrategy.OnPush, host: { class: "viking-form-panel" }, template: `<ng-content />`, styles: [":host{display:flex;flex-direction:column;gap:0;width:100%;min-width:0}:host ::ng-deep viking-form-section+viking-form-section{border-top:1px solid var(--viking-border-subtle);margin-top:var(--viking-space-
|
|
10171
|
+
args: [{ selector: "viking-form-panel", changeDetection: ChangeDetectionStrategy.OnPush, host: { class: "viking-form-panel" }, template: `<ng-content />`, styles: [":host{display:flex;flex-direction:column;gap:0;width:100%;min-width:0}:host ::ng-deep viking-form-section+viking-form-section{border-top:1px solid var(--viking-border-subtle);margin-top:var(--viking-space-4);padding-top:var(--viking-space-4)}\n"] }]
|
|
10136
10172
|
}] });
|
|
10137
10173
|
/**
|
|
10138
10174
|
* viking-form-section — standard dashboard form row: heading, fields, and actions.
|
|
@@ -10170,7 +10206,7 @@ class VikingFormSection {
|
|
|
10170
10206
|
<div class="viking-form-section-footer">
|
|
10171
10207
|
<ng-content select="[vikingFormFooter]" />
|
|
10172
10208
|
</div>
|
|
10173
|
-
`, isInline: true, styles: [":host{display:flex;flex-direction:column;gap:var(--viking-space-
|
|
10209
|
+
`, isInline: true, styles: [":host{display:flex;flex-direction:column;gap:var(--viking-space-3);width:100%;min-width:0;font-family:var(--viking-font-family)}.viking-form-section-header{display:flex;align-items:center;gap:var(--viking-space-1);min-width:0}.viking-form-section-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--viking-radius-sm);background:var(--viking-accent-soft);color:var(--viking-accent-strong);flex-shrink:0}.viking-form-section-title{margin:0;font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase;color:var(--viking-text);line-height:var(--viking-line-height-tight)}.viking-form-section-body{display:flex;flex-direction:column;align-items:stretch;gap:var(--viking-space-3);width:100%;min-width:0}.viking-form-section-fields{display:flex;flex-direction:column;gap:var(--viking-space-3);min-width:0;flex:1}.viking-form-section-actions{display:flex;flex-direction:column;align-items:stretch;gap:var(--viking-space-2);flex-shrink:0}.viking-form-section-actions:empty{display:none}.viking-form-section-footer:empty{display:none}.viking-form-section-footer:not(:empty){display:flex;flex-direction:column;gap:var(--viking-space-1)}@media(min-width:601px){:host(.viking-form-section-inline) .viking-form-section-body{flex-direction:row;align-items:flex-end}}@media(min-width:601px){:host(.viking-form-section-inline) .viking-form-section-actions{align-items:center;justify-content:flex-end;width:auto}}@media(min-width:601px){:host(.viking-form-section-status) .viking-form-section-body{flex-direction:row;align-items:flex-start;justify-content:space-between}}:host(.viking-form-section-status) .viking-form-section-fields{flex-direction:row;align-items:flex-start;gap:var(--viking-space-1, 8px)}@media(min-width:601px){:host(.viking-form-section-status) .viking-form-section-actions{align-items:flex-start;padding-top:1px;margin-left:auto}}:host ::ng-deep viking-field{width:100%;min-width:0}\n"], dependencies: [{ kind: "component", type: VikingIcon, selector: "viking-icon", inputs: ["name", "size", "sizePreset", "variant", "color", "backdrop", "backdropTone", "spin"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
10174
10210
|
}
|
|
10175
10211
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: VikingFormSection, decorators: [{
|
|
10176
10212
|
type: Component,
|
|
@@ -10203,7 +10239,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
10203
10239
|
<div class="viking-form-section-footer">
|
|
10204
10240
|
<ng-content select="[vikingFormFooter]" />
|
|
10205
10241
|
</div>
|
|
10206
|
-
`, styles: [":host{display:flex;flex-direction:column;gap:var(--viking-space-
|
|
10242
|
+
`, styles: [":host{display:flex;flex-direction:column;gap:var(--viking-space-3);width:100%;min-width:0;font-family:var(--viking-font-family)}.viking-form-section-header{display:flex;align-items:center;gap:var(--viking-space-1);min-width:0}.viking-form-section-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--viking-radius-sm);background:var(--viking-accent-soft);color:var(--viking-accent-strong);flex-shrink:0}.viking-form-section-title{margin:0;font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase;color:var(--viking-text);line-height:var(--viking-line-height-tight)}.viking-form-section-body{display:flex;flex-direction:column;align-items:stretch;gap:var(--viking-space-3);width:100%;min-width:0}.viking-form-section-fields{display:flex;flex-direction:column;gap:var(--viking-space-3);min-width:0;flex:1}.viking-form-section-actions{display:flex;flex-direction:column;align-items:stretch;gap:var(--viking-space-2);flex-shrink:0}.viking-form-section-actions:empty{display:none}.viking-form-section-footer:empty{display:none}.viking-form-section-footer:not(:empty){display:flex;flex-direction:column;gap:var(--viking-space-1)}@media(min-width:601px){:host(.viking-form-section-inline) .viking-form-section-body{flex-direction:row;align-items:flex-end}}@media(min-width:601px){:host(.viking-form-section-inline) .viking-form-section-actions{align-items:center;justify-content:flex-end;width:auto}}@media(min-width:601px){:host(.viking-form-section-status) .viking-form-section-body{flex-direction:row;align-items:flex-start;justify-content:space-between}}:host(.viking-form-section-status) .viking-form-section-fields{flex-direction:row;align-items:flex-start;gap:var(--viking-space-1, 8px)}@media(min-width:601px){:host(.viking-form-section-status) .viking-form-section-actions{align-items:flex-start;padding-top:1px;margin-left:auto}}:host ::ng-deep viking-field{width:100%;min-width:0}\n"] }]
|
|
10207
10243
|
}], propDecorators: { heading: [{ type: i0.Input, args: [{ isSignal: true, alias: "heading", required: true }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], layout: [{ type: i0.Input, args: [{ isSignal: true, alias: "layout", required: false }] }] } });
|
|
10208
10244
|
|
|
10209
10245
|
/**
|
|
@@ -13935,5 +13971,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
13935
13971
|
* Generated bundle index. Do not edit.
|
|
13936
13972
|
*/
|
|
13937
13973
|
|
|
13938
|
-
export { BUG_REPORT_QUERY, COOKIE_SETTINGS_QUERY, DEFAULT_SITE_URLS, MATERIAL_ICON_ALIASES$1 as MATERIAL_ICON_ALIASES, SITE_FOOTER_COLUMNS, SITE_NAV_LINKS, VIKING_BRAND_ICON_FILLED_PATHS$1 as VIKING_BRAND_ICON_FILLED_PATHS, VIKING_BRAND_ICON_NAMES$1 as VIKING_BRAND_ICON_NAMES, VIKING_BRAND_ICON_NAMES_LIST$1 as VIKING_BRAND_ICON_NAMES_LIST, VIKING_BRAND_ICON_PATHS$1 as VIKING_BRAND_ICON_PATHS, VIKING_DRAKKAR_ICON_FILLED_PATHS$1 as VIKING_DRAKKAR_ICON_FILLED_PATHS, VIKING_DRAKKAR_ICON_NAMES_LIST$1 as VIKING_DRAKKAR_ICON_NAMES_LIST, VIKING_DRAKKAR_ICON_PATHS$1 as VIKING_DRAKKAR_ICON_PATHS, VIKING_ICON_NAMES$1 as VIKING_ICON_NAMES, VIKING_ICON_PATHS$1 as VIKING_ICON_PATHS, VIKING_ICON_SIZE_PRESETS$1 as VIKING_ICON_SIZE_PRESETS, VIKING_LUCIDE_ICON_NAMES$1 as VIKING_LUCIDE_ICON_NAMES, VIKING_TABS, VIKING_TOGGLE_GROUP, VikingAccordion, VikingAccordionItem, VikingAppHeader, VikingAppSidebar, VikingAuthPanel, VikingAutocomplete, VikingAvatar, VikingBadge, VikingBadgeWc, VikingBar, VikingBrand, VikingBreadcrumbs, VikingButton, VikingButtonGroup, VikingButtonWc, VikingCalendar, VikingCallout, VikingCalloutWc, VikingCard, VikingCardFooter, VikingCardHeader, VikingCardTitle, VikingCardWc, VikingCarousel, VikingCarouselSlide, VikingChart, VikingChartCardHeader, VikingChartEmptyState, VikingChartPanel, VikingCheckbox, VikingColorPicker, VikingCommand, VikingComposer, VikingConfirmDialog, VikingContext, VikingControl, VikingDatePicker, VikingDialogService, VikingDropdown, VikingEditor, VikingEmptyState, VikingFab, VikingField, VikingFileUpload, VikingFooter, VikingFormPanel, VikingFormSection, VikingGaugeArc, VikingHeading, VikingHudPanel, VikingIcon, VikingIconBadge, VikingIcon as VikingIconComponent, VikingIconHeading, VikingIconText, VikingInput, VikingInputWc, VikingKanban, VikingKbd, VikingLabel, VikingLoadingOverlay, VikingMenuItem, VikingMenubar, VikingMenubarItem, VikingMetricCard, VikingMetricRow, VikingModal, VikingModalWc, VikingNativeSelect, VikingNavbar, VikingNavbarItem, VikingNavigationMenu, VikingOtpInput, VikingPageBackLink, VikingPageHeader, VikingPagination, VikingPillbox, VikingPopover, VikingProfile, VikingProgress, VikingRadioGroup, VikingRingGauge, VikingScrollArea, VikingSearchPalette, VikingSearchPaletteWc, VikingSelect, VikingSelectWc, VikingSeparator, VikingSheet, VikingSidebarNav, VikingSidebarNavLink, VikingSidebarNavTree, VikingSidebarNavTreeChildren, VikingSidebarNavTreeHeader, VikingSidebarNavTreeItem, VikingSiteFooter, VikingSiteNavbar, VikingSkeleton, VikingSlider, VikingSpinner, VikingStatusMetricRow, VikingSuiteSearchPalette, VikingSuiteSearchPaletteWc, VikingSwitch, VikingTab, VikingTabPanel, VikingTable, VikingTabs, VikingText, VikingTextarea, VikingThemeToggle, VikingThemeToggleWc, VikingTimePicker, VikingTimeline, VikingTimelineItem, VikingToastService, VikingToaster, VikingToggle, VikingToggleGroup, VikingTooltip, VikingUptimeBar, VikingVerificationCodeField, VikingWhitepaperCta, VikingWizard, bugReportHref, buildSuiteSearchItems, clampChartWindow, cookieSettingsHref, fullChartWindow, isAppRouterPath, panChartWindow, provideVikingCva, registerVikingBadgeWc, registerVikingButtonWc, registerVikingCalloutWc, registerVikingCardWc, registerVikingElements, registerVikingInputWc, registerVikingModalWc, registerVikingSearchPaletteWc, registerVikingSelectWc, registerVikingSuiteSearchPaletteWc, registerVikingThemeToggleWc, resolveBrandHref, resolveFooterHref, resolveNavHref, resolveVikingIcon$1 as resolveVikingIcon, resolveVikingIconColor$1 as resolveVikingIconColor, resolveVikingIconSize$1 as resolveVikingIconSize, sliceChartData, vikingIconViewBox$1 as vikingIconViewBox, visibleNavLinks, zoomChartWindow };
|
|
13974
|
+
export { BUG_REPORT_QUERY, COOKIE_SETTINGS_QUERY, DEFAULT_SITE_URLS, MATERIAL_ICON_ALIASES$1 as MATERIAL_ICON_ALIASES, SITE_FOOTER_COLUMNS, SITE_NAV_LINKS, VIKING_BRAND_ICON_FILLED_PATHS$1 as VIKING_BRAND_ICON_FILLED_PATHS, VIKING_BRAND_ICON_NAMES$1 as VIKING_BRAND_ICON_NAMES, VIKING_BRAND_ICON_NAMES_LIST$1 as VIKING_BRAND_ICON_NAMES_LIST, VIKING_BRAND_ICON_PATHS$1 as VIKING_BRAND_ICON_PATHS, VIKING_DRAKKAR_ICON_FILLED_PATHS$1 as VIKING_DRAKKAR_ICON_FILLED_PATHS, VIKING_DRAKKAR_ICON_NAMES_LIST$1 as VIKING_DRAKKAR_ICON_NAMES_LIST, VIKING_DRAKKAR_ICON_PATHS$1 as VIKING_DRAKKAR_ICON_PATHS, VIKING_FILLED_ICON_NAMES$1 as VIKING_FILLED_ICON_NAMES, VIKING_ICON_FILLED_PATHS$1 as VIKING_ICON_FILLED_PATHS, VIKING_ICON_NAMES$1 as VIKING_ICON_NAMES, VIKING_ICON_PATHS$1 as VIKING_ICON_PATHS, VIKING_ICON_SIZE_PRESETS$1 as VIKING_ICON_SIZE_PRESETS, VIKING_INTEGRATION_BRAND_COLORS$1 as VIKING_INTEGRATION_BRAND_COLORS, VIKING_INTEGRATION_BRAND_NAMES$1 as VIKING_INTEGRATION_BRAND_NAMES, VIKING_INTEGRATION_BRAND_SVGS$1 as VIKING_INTEGRATION_BRAND_SVGS, VIKING_INTEGRATION_ICON_NAMES_LIST$1 as VIKING_INTEGRATION_ICON_NAMES_LIST, VIKING_INTEGRATION_ICON_PATHS$1 as VIKING_INTEGRATION_ICON_PATHS, VIKING_LUCIDE_ICON_NAMES$1 as VIKING_LUCIDE_ICON_NAMES, VIKING_SERIES_DEFAULT, VIKING_SERIES_PRESETS, VIKING_TABS, VIKING_TOGGLE_GROUP, VikingAccordion, VikingAccordionItem, VikingAppHeader, VikingAppSidebar, VikingAuthPanel, VikingAutocomplete, VikingAvatar, VikingBadge, VikingBadgeWc, VikingBar, VikingBrand, VikingBreadcrumbs, VikingButton, VikingButtonGroup, VikingButtonWc, VikingCalendar, VikingCallout, VikingCalloutWc, VikingCard, VikingCardFooter, VikingCardHeader, VikingCardTitle, VikingCardWc, VikingCarousel, VikingCarouselSlide, VikingChart, VikingChartCardHeader, VikingChartEmptyState, VikingChartPanel, VikingCheckbox, VikingColorPicker, VikingCommand, VikingComposer, VikingConfirmDialog, VikingContext, VikingControl, VikingDatePicker, VikingDialogService, VikingDropdown, VikingEditor, VikingEmptyState, VikingFab, VikingField, VikingFieldWc, VikingFileUpload, VikingFooter, VikingFormPanel, VikingFormSection, VikingGaugeArc, VikingHeading, VikingHudPanel, VikingIcon, VikingIconBadge, VikingIcon as VikingIconComponent, VikingIconHeading, VikingIconText, VikingInput, VikingInputWc, VikingKanban, VikingKbd, VikingLabel, VikingLoadingOverlay, VikingMenuItem, VikingMenubar, VikingMenubarItem, VikingMetricCard, VikingMetricRow, VikingModal, VikingModalWc, VikingNativeSelect, VikingNavbar, VikingNavbarItem, VikingNavigationMenu, VikingOtpInput, VikingPageBackLink, VikingPageHeader, VikingPagination, VikingPillbox, VikingPopover, VikingProfile, VikingProgress, VikingRadioGroup, VikingRingGauge, VikingScrollArea, VikingSearchPalette, VikingSearchPaletteWc, VikingSelect, VikingSelectWc, VikingSeparator, VikingSheet, VikingSidebarNav, VikingSidebarNavLink, VikingSidebarNavTree, VikingSidebarNavTreeChildren, VikingSidebarNavTreeHeader, VikingSidebarNavTreeItem, VikingSiteFooter, VikingSiteNavbar, VikingSkeleton, VikingSlider, VikingSpinner, VikingStatusMetricRow, VikingSuiteHeaderWc, VikingSuiteSearchPalette, VikingSuiteSearchPaletteWc, VikingSwitch, VikingTab, VikingTabPanel, VikingTable, VikingTabs, VikingText, VikingTextarea, VikingThemeToggle, VikingThemeToggleWc, VikingTimePicker, VikingTimeline, VikingTimelineItem, VikingToastService, VikingToaster, VikingToggle, VikingToggleGroup, VikingTooltip, VikingUptimeBar, VikingVerificationCodeField, VikingWhitepaperCta, VikingWizard, bugReportHref, buildSuiteSearchItems, clampChartWindow, cookieSettingsHref, fullChartWindow, isAppRouterPath, isIntegrationBrandIcon$1 as isIntegrationBrandIcon, panChartWindow, provideVikingCva, registerVikingBadgeWc, registerVikingButtonWc, registerVikingCalloutWc, registerVikingCardWc, registerVikingElements, registerVikingFieldWc, registerVikingInputWc, registerVikingModalWc, registerVikingSearchPaletteWc, registerVikingSelectWc, registerVikingSuiteHeaderWc, registerVikingSuiteSearchPaletteWc, registerVikingThemeToggleWc, resolveBrandHref, resolveFooterHref, resolveNavHref, resolveVikingIcon$1 as resolveVikingIcon, resolveVikingIconColor$1 as resolveVikingIconColor, resolveVikingIconSize$1 as resolveVikingIconSize, sliceChartData, vikingIconViewBox$1 as vikingIconViewBox, visibleNavLinks, zoomChartWindow };
|
|
13939
13975
|
//# sourceMappingURL=dataengineeringformachinelearning-viking-ui.mjs.map
|