diff --git a/packages/components/src/components/button-link/shadow.tsx b/packages/components/src/components/button-link/shadow.tsx
index ab7e35d598..7a24cb01ca 100644
--- a/packages/components/src/components/button-link/shadow.tsx
+++ b/packages/components/src/components/button-link/shadow.tsx
@@ -17,7 +17,7 @@ import type {
TooltipAlignPropType,
} from '../../schema';
import type { JSX } from '@stencil/core';
-import { Component, h, Host, Method, Prop } from '@stencil/core';
+import { Component, h, Method, Prop } from '@stencil/core';
import { KolButtonWcTag } from '../../core/component-names';
@Component({
@@ -57,32 +57,31 @@ export class KolButtonLink implements ButtonLinkProps, FocusableElement {
public render(): JSX.Element {
return (
-
-
-
-
-
+
+
+
);
}
diff --git a/packages/components/src/components/button-link/test/__snapshots__/snapshot.spec.tsx.snap b/packages/components/src/components/button-link/test/__snapshots__/snapshot.spec.tsx.snap
index fb439cf493..2e8aec65d9 100644
--- a/packages/components/src/components/button-link/test/__snapshots__/snapshot.spec.tsx.snap
+++ b/packages/components/src/components/button-link/test/__snapshots__/snapshot.spec.tsx.snap
@@ -1,9 +1,9 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`kol-button-link should render with _label="Beschreibung" 1`] = `
-
+
-
+
diff --git a/packages/themes/bmf/src/components/button-link.scss b/packages/themes/bmf/src/components/button-link.scss
index eeebdf854d..bd49ce0731 100644
--- a/packages/themes/bmf/src/components/button-link.scss
+++ b/packages/themes/bmf/src/components/button-link.scss
@@ -1,42 +1,44 @@
@import '../mixins/rem';
@layer kol-theme-component {
- :is(a, button) {
- color: var(--color-midnight);
- font-style: normal;
- font-weight: 400;
- text-decoration-line: underline;
- font-size: inherit;
- }
+ .kol-button-link {
+ :is(a, button) {
+ color: var(--color-midnight);
+ font-style: normal;
+ font-weight: 400;
+ text-decoration-line: underline;
+ font-size: inherit;
- :is(a, button):focus {
- outline: none;
- }
+ &:focus {
+ outline: none;
- :is(a, button):focus .kol-span-wc {
- border-radius: var(--border-radius);
- outline: rem(2) solid;
- }
+ .kol-span-wc {
+ border-radius: var(--border-radius);
+ outline: rem(2) solid;
+ }
+ }
- a:hover:not([aria-disabled]),
- button:hover:not([disabled]) {
- text-decoration-thickness: 0.25em;
- }
+ &:visited {
+ color: var(--visited);
+ }
+ }
- :is(a, button):visited {
- color: var(--visited);
- }
+ a:hover:not([aria-disabled]),
+ button:hover:not([disabled]) {
+ text-decoration-thickness: 0.25em;
+ }
- .skip {
- left: rem(-99999);
- overflow: hidden;
- position: absolute;
- z-index: 9999999;
- }
+ .skip {
+ left: rem(-99999);
+ overflow: hidden;
+ position: absolute;
+ z-index: 9999999;
- .skip:focus {
- background-color: white;
- left: unset;
- position: unset;
+ &:focus {
+ background-color: white;
+ left: unset;
+ position: unset;
+ }
+ }
}
}
diff --git a/packages/themes/default/src/components/button-link.scss b/packages/themes/default/src/components/button-link.scss
index 7129e8c1b4..ef4785d024 100644
--- a/packages/themes/default/src/components/button-link.scss
+++ b/packages/themes/default/src/components/button-link.scss
@@ -1,50 +1,54 @@
@import '../mixins/rem';
@layer kol-theme-component {
- :is(a, button) {
- color: var(--color-primary);
- font-style: normal;
- font-weight: 400;
- font-size: inherit;
- }
-
- :is(a, button):focus {
- outline: none;
- }
-
- :is(a, button):focus .kol-span-wc {
- border-radius: var(--border-radius);
- outline: calc(var(--border-width) * 2) solid;
- }
-
- a:hover:not([aria-disabled]),
- button:hover:not([disabled]) {
- .kol-span-wc .span-label {
- text-decoration-thickness: 0.25em;
+ .kol-button-link {
+ :is(a, button) {
+ color: var(--color-primary);
+ font-style: normal;
+ font-weight: 400;
+ font-size: inherit;
+
+ &:focus {
+ outline: none;
+
+ .kol-span-wc {
+ border-radius: var(--border-radius);
+ outline: calc(var(--border-width) * 2) solid;
+ }
+ }
+
+ &:visited {
+ color: var(--visited);
+ }
}
- }
- :is(a, button):visited {
- color: var(--visited);
- }
-
- .skip {
- left: rem(-99999);
- overflow: hidden;
- position: absolute;
- z-index: 9999999;
- }
+ a:hover:not([aria-disabled]),
+ button:hover:not([disabled]) {
+ .kol-span-wc {
+ .span-label {
+ text-decoration-thickness: 0.25em;
+ }
+ }
+ }
- .skip:focus {
- background-color: white;
- left: unset;
- position: unset;
- }
+ .skip {
+ left: rem(-99999);
+ overflow: hidden;
+ position: absolute;
+ z-index: 9999999;
+
+ &:focus {
+ background-color: white;
+ left: unset;
+ position: unset;
+ }
+ }
- .access-key-hint {
- background-color: var(--color-mute-variant);
- border-radius: rem(3);
- color: var(--color-text);
- padding: 0 0.3em;
+ .badge-text-hint {
+ background-color: var(--color-mute-variant);
+ border-radius: rem(3);
+ color: var(--color-text);
+ padding: 0 0.3em;
+ }
}
}
diff --git a/packages/themes/ecl/src/ecl-ec/components/button-link.scss b/packages/themes/ecl/src/ecl-ec/components/button-link.scss
index d3db6889af..8bcdb8050c 100644
--- a/packages/themes/ecl/src/ecl-ec/components/button-link.scss
+++ b/packages/themes/ecl/src/ecl-ec/components/button-link.scss
@@ -1,50 +1,54 @@
@import '../../mixins/rem';
@layer kol-theme-component {
- :is(a, button) {
- color: var(--color-primary);
- font-style: normal;
- font-weight: 400;
- text-decoration-line: underline;
- font-size: inherit;
- }
-
- :is(a, button):focus {
- outline: none;
- }
-
- :is(a, button):focus .kol-span-wc {
- border-radius: var(--border-radius);
- outline: calc(var(--border-width) * 2) solid;
- }
-
- :is(a, button):hover {
- .kol-span-wc .span-label {
- text-decoration-thickness: 0.25em;
+ .kol-button-link {
+ :is(a, button) {
+ color: var(--color-primary);
+ font-style: normal;
+ font-weight: 400;
+ text-decoration-line: underline;
+ font-size: inherit;
+
+ :focus {
+ outline: none;
+
+ .kol-span-wc {
+ border-radius: var(--border-radius);
+ outline: calc(var(--border-width) * 2) solid;
+ }
+ }
+
+ &:hover {
+ .kol-span-wc {
+ .span-label {
+ text-decoration-thickness: 0.25em;
+ }
+ }
+
+ &:visited {
+ color: var(--visited);
+ }
+ }
}
- }
- :is(a, button):visited {
- color: var(--visited);
- }
-
- .skip {
- left: rem(-99999);
- overflow: hidden;
- position: absolute;
- z-index: 9999999;
- }
-
- .skip:focus {
- background-color: white;
- left: unset;
- position: unset;
- }
+ .skip {
+ left: rem(-99999);
+ overflow: hidden;
+ position: absolute;
+ z-index: 9999999;
+
+ &:focus {
+ background-color: white;
+ left: unset;
+ position: unset;
+ }
+ }
- .access-key-hint {
- background-color: var(--color-mute-variant);
- border-radius: rem(3);
- color: var(--color-text);
- padding: 0 0.3em;
+ .badge-text-hint {
+ background-color: var(--color-mute-variant);
+ border-radius: rem(3);
+ color: var(--color-text);
+ padding: 0 0.3em;
+ }
}
}
diff --git a/packages/themes/ecl/src/ecl-eu/components/button-link.scss b/packages/themes/ecl/src/ecl-eu/components/button-link.scss
index d64b47fe8c..1129bf0b67 100644
--- a/packages/themes/ecl/src/ecl-eu/components/button-link.scss
+++ b/packages/themes/ecl/src/ecl-eu/components/button-link.scss
@@ -1,12 +1,14 @@
@layer kol-theme-component {
- a,
- button {
- appearance: none;
- color: var(--color-blue);
- text-decoration: underline;
- }
- a:hover,
- button:hover {
- color: var(--color-blue-130);
+ .kol-button-link {
+ a,
+ button {
+ appearance: none;
+ color: var(--color-blue);
+ text-decoration: underline;
+
+ &:hover {
+ color: var(--color-blue-130);
+ }
+ }
}
}
diff --git a/packages/themes/itzbund/src/components/button-link.scss b/packages/themes/itzbund/src/components/button-link.scss
index 5603d8fa7e..e40eb1ad39 100644
--- a/packages/themes/itzbund/src/components/button-link.scss
+++ b/packages/themes/itzbund/src/components/button-link.scss
@@ -1,126 +1,158 @@
@import '../mixins/rem';
@layer kol-theme-component {
- a,
- button {
- border-radius: rem(32);
- font-family: var(--font-family-sans);
- /* text-transform: uppercase; */
- }
+ .kol-button-link {
+ a,
+ button {
+ border-radius: rem(32);
+ font-family: var(--font-family-sans);
+ /* text-transform: uppercase; */
- a > .kol-span-wc,
- button > .kol-span-wc {
- border-radius: rem(32);
- border-style: solid;
- min-width: rem(44);
- min-height: rem(44);
- border-width: var(--spacing);
- font-size: inherit;
- /*line-height: 1.25em;*/
- /*padding: calc(4 * var(--spacing));*/
- padding: 0 rem(16);
- }
+ .kol-span-wc {
+ border-radius: rem(32);
+ border-style: solid;
+ min-width: rem(44);
+ min-height: rem(44);
+ border-width: var(--spacing);
+ font-size: inherit;
+ /*line-height: 1.25em;*/
+ /*padding: calc(4 * var(--spacing));*/
+ padding: 0 rem(16);
- .button a.hide-label > .kol-span-wc,
- .button button.hide-label > .kol-span-wc {
- padding: 0 rem(8);
- }
+ gap: 0.25em;
+ transition-delay: 0;
+ transition-timing-function: ease-in-out;
+ transition-duration: 0.5s;
+ transition-property: background, color, border-color;
+ }
+ }
- a > .kol-span-wc,
- button > .kol-span-wc {
- gap: 0.25em;
- transition-delay: 0;
- transition-timing-function: ease-in-out;
- transition-duration: 0.5s;
- transition-property: background, color, border-color;
- }
+ button {
+ a,
+ button {
+ .hide-label {
+ > .kol-span-wc {
+ padding: 0 rem(8);
+ }
+ }
+ }
+ }
- .kol-link-wc.primary > a > .kol-span-wc,
- .kol-link-wc.primary > a:disabled:hover > .kol-span-wc,
- button.primary > .kol-span-wc,
- button.primary:disabled:hover > .kol-span-wc {
- background-color: var(--color-petrol);
- border-color: var(--color-petrol);
- color: var(--color-weiss);
- }
+ .kol-link-wc,
+ button {
+ &.primary > a,
+ &.primary > a:disabled:hover,
+ &.primary,
+ &.primary:disabled:hover {
+ .kol-span-wc {
+ background-color: var(--color-petrol);
+ border-color: var(--color-petrol);
+ color: var(--color-weiss);
+ }
+ }
- .kol-link-wc.primary > a:hover > .kol-span-wc,
- .kol-link-wc.primary > a:focus > .kol-span-wc,
- button.primary:hover > .kol-span-wc,
- button.primary:focus > .kol-span-wc {
- background-color: var(--color-achat);
- border-color: var(--color-achat);
- }
+ &.primary,
+ &.primary > a {
+ &:hover,
+ &:focus {
+ .kol-span-wc {
+ background-color: var(--color-achat);
+ border-color: var(--color-achat);
+ }
+ }
+ }
- .kol-link-wc.secondary > a > .kol-span-wc,
- .kol-link-wc.secondary > a:disabled:hover > .kol-span-wc,
- button.secondary > .kol-span-wc,
- button.secondary:disabled:hover > .kol-span-wc {
- background-color: var(--color-weiss);
- border-color: var(--color-petrol);
- color: var(--color-petrol);
- }
+ &.secondary > a,
+ &.secondary > a:disabled:hover,
+ &.secondary > .kol-span-wc,
+ &.secondary:disabled:hover {
+ .kol-span-wc {
+ background-color: var(--color-weiss);
+ border-color: var(--color-petrol);
+ color: var(--color-petrol);
+ }
+ }
- .kol-link-wc.secondary > a:hover > .kol-span-wc,
- .kol-link-wc.secondary > a:focus > .kol-span-wc,
- button.secondary:hover > .kol-span-wc,
- button.secondary:focus > .kol-span-wc {
- background-color: var(--color-petrol);
- border-color: var(--color-petrol);
- color: var(--color-weiss);
- }
+ &.secondary,
+ &.secondary > a {
+ &:hover,
+ &:focus {
+ .kol-span-wc {
+ background-color: var(--color-petrol);
+ border-color: var(--color-petrol);
+ color: var(--color-weiss);
+ }
+ }
+ }
- .kol-link-wc.normal > a > .kol-span-wc,
- .kol-link-wc.normal > a:disabled:hover > .kol-span-wc,
- button.normal > .kol-span-wc,
- button.normal:disabled:hover > .kol-span-wc {
- background-color: var(--color-weiss);
- border-color: var(--color-anthrazit);
- color: var(--color-anthrazit);
- }
+ &.normal,
+ &.normal > a,
+ &.normal > a:disabled:hover,
+ &.normal:disabled:hover {
+ .kol-span-wc {
+ background-color: var(--color-weiss);
+ border-color: var(--color-anthrazit);
+ color: var(--color-anthrazit);
+ }
+ }
- .kol-link-wc.normal > a:hover > .kol-span-wc,
- .kol-link-wc.normal > a:focus > .kol-span-wc,
- button.normal:hover > .kol-span-wc,
- button.normal:focus > .kol-span-wc {
- background-color: var(--color-anthrazit);
- border-color: var(--color-anthrazit);
- color: var(--color-weiss);
- }
+ &.normal,
+ &.normal > a {
+ &:hover,
+ &:focus {
+ .kol-span-wc {
+ background-color: var(--color-anthrazit);
+ border-color: var(--color-anthrazit);
+ color: var(--color-weiss);
+ }
+ }
+ }
- .kol-link-wc.danger > a > .kol-span-wc,
- .kol-link-wc.danger > a:disabled:hover > .kol-span-wc,
- button.danger > .kol-span-wc,
- button.danger:disabled:hover > .kol-span-wc {
- background-color: var(--color-weiss);
- border-color: var(--color-blut);
- color: var(--color-blut);
- }
+ &.danger,
+ &.danger > a,
+ &.danger > a:disabled:hover,
+ &.danger:disabled:hover {
+ .kol-span-wc {
+ background-color: var(--color-weiss);
+ border-color: var(--color-blut);
+ color: var(--color-blut);
+ }
+ }
- .kol-link-wc.danger > a:hover > .kol-span-wc,
- .kol-link-wc.danger > a:focus > .kol-span-wc,
- button.danger:hover > .kol-span-wc,
- button.danger:focus > .kol-span-wc {
- background-color: var(--color-blut);
- border-color: var(--color-blut);
- color: var(--color-weiss);
- }
+ &.danger,
+ &.danger > a {
+ &:hover,
+ &:focus {
+ .kol-span-wc {
+ background-color: var(--color-blut);
+ border-color: var(--color-blut);
+ color: var(--color-weiss);
+ }
+ }
+ }
- .kol-link-wc.ghost > a > .kol-span-wc,
- .kol-link-wc.ghost > a:disabled:hover > .kol-span-wc,
- button.ghost > .kol-span-wc,
- button.ghost:disabled:hover > .kol-span-wc {
- background-color: var(--color-ghost);
- border-color: transparent;
- color: var(--color-anthrazit);
- }
+ &.ghost,
+ &.ghost > a,
+ &.ghost > a:disabled:hover,
+ &.ghost:disabled:hover {
+ .kol-span-wc {
+ background-color: var(--color-ghost);
+ border-color: transparent;
+ color: var(--color-anthrazit);
+ }
+ }
- .kol-link-wc.ghost > a:hover > .kol-span-wc,
- .kol-link-wc.ghost > a:focus > .kol-span-wc,
- button.ghost:hover > .kol-span-wc,
- button.ghost:focus > .kol-span-wc {
- background-color: var(--color-ghost);
- border-color: var(--color-ghost);
- color: var(--color-anthrazit);
+ &.ghost,
+ &.ghost > a {
+ &:hover,
+ &:focus {
+ .kol-span-wc {
+ background-color: var(--color-ghost);
+ border-color: var(--color-ghost);
+ color: var(--color-anthrazit);
+ }
+ }
+ }
+ }
}
}