diff --git a/packages/samples/react/src/components/input-checkbox/partials/cases.tsx b/packages/samples/react/src/components/input-checkbox/partials/cases.tsx
index 9d8fdcd588..cf0df8f972 100644
--- a/packages/samples/react/src/components/input-checkbox/partials/cases.tsx
+++ b/packages/samples/react/src/components/input-checkbox/partials/cases.tsx
@@ -11,6 +11,13 @@ export const InputCheckboxCases = forwardRef
+
diff --git a/packages/samples/react/src/components/input-number/partials/cases.tsx b/packages/samples/react/src/components/input-number/partials/cases.tsx
index fa9ce97d4d..95e46b2285 100644
--- a/packages/samples/react/src/components/input-number/partials/cases.tsx
+++ b/packages/samples/react/src/components/input-number/partials/cases.tsx
@@ -24,6 +24,10 @@ export const InputNumberCases = forwardRef
+
+
+
+
diff --git a/packages/samples/react/src/components/input-password/show-password.tsx b/packages/samples/react/src/components/input-password/show-password.tsx
index 3d82d062e1..fe8500a982 100644
--- a/packages/samples/react/src/components/input-password/show-password.tsx
+++ b/packages/samples/react/src/components/input-password/show-password.tsx
@@ -44,6 +44,25 @@ export const InputPasswordShowPassword: FC = () => {
}}
className="block"
/>
+
>
);
diff --git a/packages/samples/react/src/components/input-text/partials/cases.tsx b/packages/samples/react/src/components/input-text/partials/cases.tsx
index 1d319dff20..d4e6dda310 100644
--- a/packages/samples/react/src/components/input-text/partials/cases.tsx
+++ b/packages/samples/react/src/components/input-text/partials/cases.tsx
@@ -11,7 +11,7 @@ export const InputTextCases = forwardRef
+
+
diff --git a/packages/samples/react/src/components/textarea/partials/cases.tsx b/packages/samples/react/src/components/textarea/partials/cases.tsx
index 91a61eb7bd..fdbb1d2510 100644
--- a/packages/samples/react/src/components/textarea/partials/cases.tsx
+++ b/packages/samples/react/src/components/textarea/partials/cases.tsx
@@ -10,6 +10,9 @@ export const TextareaCases = forwardRef
+
+
+
);
});
diff --git a/packages/themes/bmf/src/components/alert.scss b/packages/themes/bmf/src/components/alert.scss
index 5a36f1812f..88d503f632 100644
--- a/packages/themes/bmf/src/components/alert.scss
+++ b/packages/themes/bmf/src/components/alert.scss
@@ -227,6 +227,7 @@
}
> .content {
+ color: var(--color-black);
padding: 1rem;
max-height: 9.5rem;
overflow-y: auto;
diff --git a/packages/themes/bmf/src/components/input-checkbox.scss b/packages/themes/bmf/src/components/input-checkbox.scss
index 8272ea739d..3d80b9c758 100644
--- a/packages/themes/bmf/src/components/input-checkbox.scss
+++ b/packages/themes/bmf/src/components/input-checkbox.scss
@@ -1,3 +1,5 @@
+@import '../mixins/input-messages.scss';
+
@layer kol-theme-component {
:host {
font-family: var(--font-family);
@@ -10,60 +12,52 @@
justify-items: left;
width: 100%;
min-height: 44px;
- }
-
- :host .kol-input.default:not(.hide-label) {
- grid-template-columns: 1.5rem auto;
- gap: 0.4em;
- }
- :host .kol-input.switch:not(.hide-label) {
- grid-template-columns: 3.5rem auto;
- gap: 0.4em;
- }
-
- :host .kol-input > div.input {
- display: inherit;
- min-height: 44px;
- order: 2;
- }
+ &:not(.disabled) :is(.input, label) {
+ cursor: pointer;
+ }
- :host .kol-input > div.input input {
- margin: 0px;
- }
+ &.disabled .input {
+ cursor: not-allowed;
+ }
- :host .kol-input:not(.disabled) :is(.input, label) {
- cursor: pointer;
- }
+ &.default:not(.hide-label) {
+ grid-template-columns: 1.5rem auto;
+ gap: 0.4em;
+ }
- :host .kol-input.disabled .input {
- cursor: not-allowed;
- }
+ &.switch:not(.hide-label) {
+ grid-template-columns: 3.5rem auto;
+ gap: 0.4em;
+ }
- :host .kol-input > label {
- order: 3;
- }
+ > div.input {
+ display: inherit;
+ min-height: 44px;
+ order: 2;
+ height: 100%;
- :host .kol-input > .kol-alert-wc.error {
- order: 1;
- padding-top: 0.25em;
- grid-column: span 2 / auto;
- }
+ input {
+ margin: 0px;
+ }
+ }
- :host .kol-input.error:not(.hidden-error) {
- border-left: 3px solid var(--color-red);
- padding-left: 1em;
- }
+ > label {
+ order: 3;
+ height: 100%;
+ padding-top: 0.75rem;
+ color: var(--color-black);
+ }
- :host .kol-input.error input:focus,
- .kol-input.error select:focus,
- .kol-input.error textarea:focus {
- outline-color: var(--color-red) !important;
- }
+ > .kol-alert-wc {
+ order: 1;
+ padding-top: 0.25em;
+ grid-column: span 2 / auto;
+ }
- :host .kol-input.error .kol-alert-wc.error {
- color: var(--color-red);
- font-weight: 700;
+ &.error input:focus {
+ outline-color: var(--color-red) !important;
+ }
}
:host input {
@@ -75,24 +69,21 @@
border-radius: 5px;
line-height: 24px;
font-size: 1rem;
+
+ &:focus {
+ border-color: var(--color-midnight);
+ }
+ &:hover {
+ box-shadow: none;
+ }
+ &:active {
+ box-shadow: none;
+ }
}
+ :host kol-icon:hover ~ input,
:host input:hover {
border-color: var(--color-midnight);
- box-shadow: 0px 2px 8px 2px rgba(8, 35, 48, 0.24);
- }
-
- :host input:focus:hover {
- box-shadow: none;
- }
-
- :host input:active {
- box-shadow: none;
- }
-
- :host .kol-alert-wc {
- display: block;
- width: 100%;
}
/* CHECKBOX */
@@ -105,41 +96,40 @@
padding-left: 0.125em;
}
- :host .kol-input input[type='checkbox'] {
- appearance: none;
- background-color: white;
- transition: 0.5s;
- }
-
- :host .kol-input input[type='checkbox']:before {
- content: '';
- }
-
- :host .kol-input input[type='checkbox']:checked {
- background-color: var(--color-midnight);
- border-color: var(--color-midnight);
- }
-
- :host .kol-input.default .checkbox-container {
- justify-content: flex-start;
- }
-
- :host .kol-input.default input[type='checkbox']:indeterminate {
- background-color: var(--color-midnight);
- border-color: var(--color-midnight);
- }
-
- :host .kol-input.default .icon {
- color: var(--color-white);
- margin: -0.125rem 0 0 0.25rem;
- /* visually align */
- }
+ :host .kol-input {
+ input[type='checkbox'] {
+ appearance: none;
+ background-color: white;
+ transition: 0.5s;
- :host .kol-input.default input[type='checkbox'] {
- border-radius: var(--border-radius);
- height: calc(6 * var(--spacing));
- min-width: calc(6 * var(--spacing));
- width: calc(6 * var(--spacing));
+ &:before {
+ content: '';
+ }
+ &:checked {
+ background-color: var(--color-midnight);
+ border-color: var(--color-midnight);
+ }
+ }
+ &.default {
+ .checkbox-container {
+ justify-content: flex-start;
+ }
+ input[type='checkbox'] {
+ border-radius: var(--border-radius);
+ height: calc(6 * var(--spacing));
+ min-width: calc(6 * var(--spacing));
+ width: calc(6 * var(--spacing));
+ &:indeterminate {
+ background-color: var(--color-midnight);
+ border-color: var(--color-midnight);
+ }
+ }
+ .icon {
+ color: var(--color-white);
+ margin: -0.125rem 0 0 0.25rem;
+ /* visually align */
+ }
+ }
}
.default {
@@ -158,47 +148,45 @@
}
}
- :host .kol-input.switch input[type='checkbox'] {
- min-width: 3.5em;
- width: 3.5em;
- background-color: var(--color-grey);
- border-width: 0;
- height: 1.5em;
- border-radius: 1.25em;
- position: relative;
- /* Visible with forced colors */
- outline: transparent solid 1px;
- }
-
- :host .kol-input.switch input[type='checkbox']:before {
- transition: 0.5;
- width: 1.25em;
- height: 1.25em;
- left: calc(0.25em - 2px);
- top: calc(0.25em - 2px);
- border-radius: 1.25em;
- background-color: white;
- position: absolute;
- }
-
- :host .kol-input.switch input[type='checkbox']:checked {
- background-color: var(--color-midnight);
- }
-
- :host .kol-input.switch input[type='checkbox']:checked:before {
- transform: translateX(2em);
- --tw-bg-opacity: 1;
- }
-
- :host .kol-input.switch input[type='checkbox']:indeterminate {
- --tw-bg-opacity: 1;
- }
+ /* SWITCH */
+ :host .kol-input.switch {
+ input[type='checkbox'] {
+ min-width: 3.5em;
+ width: 3.5em;
+ background-color: var(--color-grey);
+ border-width: 0;
+ height: 1.5em;
+ border-radius: 1.25em;
+ position: relative;
+ /* Visible with forced colors */
+ outline: transparent solid 1px;
+
+ &:before {
+ transition: 0.5;
+ width: 1.25em;
+ height: 1.25em;
+ left: calc(0.25em - 2px);
+ top: calc(0.25em - 2px);
+ border-radius: 1.25em;
+ background-color: white;
+ position: absolute;
+ }
+ &:checked {
+ background-color: var(--color-midnight);
- :host .kol-input.switch input[type='checkbox']:indeterminate:before {
- transform: translateX(1em);
- }
+ &:before {
+ transform: translateX(2em);
+ --tw-bg-opacity: 1;
+ }
+ }
+ &:indeterminate {
+ --tw-bg-opacity: 1;
- .switch {
+ &:before {
+ transform: translateX(1em);
+ }
+ }
+ }
& .checkbox-input-element {
display: block;
}
@@ -236,6 +224,7 @@
}
}
+ /* BUTTON BADGE */
.kol-input.button {
row-gap: 0.5rem;
@@ -276,6 +265,7 @@
display: flex;
min-height: 44px;
width: 100%;
+ padding-top: 0;
}
/* Inner, visual, element for the label */
@@ -325,351 +315,5 @@
}
}
- .msg {
- border-width: 0 !important;
- }
-
- .kol-alert-wc {
- border-width: 2px;
- border-style: solid;
- border-radius: 5px;
- display: flex;
- width: 100%;
- overflow: unset;
- border-color: transparent;
- background-color: white;
- }
-
- .kol-alert-wc > .heading {
- display: flex;
- gap: 0.5em;
- place-items: center;
- }
-
- .kol-alert-wc > .heading > div {
- display: grid;
- gap: var(--kolibri-spacing);
- }
-
- .msg {
- background-color: transparent;
- }
-
- .msg > .heading {
- place-items: flex-start;
- }
-
- .msg > .heading > .kol-icon {
- place-self: baseline;
- }
-
- .kol-alert-wc > .heading > div {
- display: grid;
- gap: var(--spacing);
- }
-
- .kol-alert-wc > .heading > .kol-button-wc.close {
- place-self: center;
- }
-
- .msg {
- align-items: start;
- }
-
- .default {
- border-color: var(--color-grey);
- }
-
- .default.msg .heading-icon {
- color: var(--color-grey);
- }
-
- .error {
- border-color: var(--color-red);
- }
-
- .error.msg .heading-icon {
- color: var(--color-red);
- }
-
- .info {
- border-color: var(--color-midnight);
- }
-
- .info.msg .heading-icon {
- color: var(--color-midnight);
- }
-
- .success {
- border-color: var(--color-green);
- }
-
- .success.msg .heading-icon {
- color: var(--color-green);
- }
-
- .warning {
- border-color: var(--color-orange);
- }
-
- .warning.msg .heading-icon {
- color: var(--color-orange);
- }
-
- .heading-icon {
- color: white;
- }
-
- .kol-alert-wc .heading .heading-icon {
- padding: 0;
- }
-
- .msg > .heading > .heading-icon {
- padding-top: 0;
- place-items: baseline;
- }
-
- .msg > .heading > .heading-icon::part(icon) {
- line-height: 1.375rem;
- }
-
- .msg > .heading > div > .kol-heading-wc {
- line-height: 20px;
- padding-top: 0.125rem;
- }
-
- .msg.default .heading > div > .kol-heading-wc {
- color: var(--color-grey);
- }
-
- .msg.error .heading > div > .kol-heading-wc {
- color: var(--color-red);
- }
-
- .msg.info .heading > div > .kol-heading-wc {
- color: var(--color-midnight);
- }
-
- .msg.success .heading > div > .kol-heading-wc {
- color: var(--color-green);
- }
-
- .msg.warning .heading > div > .kol-heading-wc {
- color: var(--color-orange);
- }
-
- /*.msg > .heading > div {display: grid;grid-template-columns: 1fr auto;}.msg > .heading > div > .content {grid-row: 2;grid-column: 1;}.msg > div > .close {display: flex;}*/
- .msg.default .close .icon {
- color: var(--color-grey);
- }
-
- .msg.error .close .icon {
- color: var(--color-red);
- }
-
- .msg.info .close .icon {
- color: var(--color-midnight);
- }
-
- .msg.success .close .icon {
- color: var(--color-green);
- }
-
- .msg.warning .close .icon {
- color: var(--color-orange);
- }
-
- .card {
- border-width: 2px;
- border-style: solid;
- filter: drop-shadow(0px 2px 4px rgba(8, 35, 48, 0.24));
- flex-direction: column;
- }
-
- .card > .heading {
- padding: 0.5rem 1rem;
- }
-
- .card.hasCloser > .heading {
- padding-top: 0;
- padding-bottom: 0;
- padding-right: 0;
- }
-
- .card > .heading > div {
- width: 100%;
- min-height: 1.25rem;
- }
-
- .card > .heading .heading-icon {
- justify-self: right;
- margin-top: -4px;
- }
-
- .card > .heading .kol-heading-wc {
- width: 100%;
- color: white;
- display: flex;
- font-size: 1.25rem;
- line-height: 1.25rem;
- }
-
- .card > .heading .kol-heading-wc > * {
- margin: auto 0;
- }
-
- .card > .heading .kol-button-wc button:focus {
- outline-color: var(--color-white);
- outline-offset: -3px;
- outline-style: solid;
- outline-width: 3px;
- transition: outline 0.1s linear;
- }
-
- .card > .heading .kol-button-wc button:hover {
- background-color: rgba(32, 32, 32, 0.2);
- }
-
- .card > .heading .kol-button-wc button:active {
- background-color: rgba(32, 32, 32, 0.4);
- }
-
- .card > .heading .kol-button-wc button:hover:focus {
- background-color: rgba(32, 32, 32, 0.1);
- }
-
- .card > .content {
- padding: 1rem;
- max-height: 9.5rem;
- overflow-y: auto;
- }
-
- .card.default > .heading {
- background-color: var(--color-grey);
- border-bottom: 2px solid var(--color-grey);
- }
-
- .card.error > .heading {
- background-color: var(--color-red);
- border-bottom: 2px solid var(--color-red);
- }
-
- .card.info > .heading {
- background-color: var(--color-midnight);
- border-bottom: 2px solid var(--color-midnight);
- }
-
- .card.success > .heading {
- background-color: var(--color-green);
- border-bottom: 2px solid var(--color-green);
- }
-
- .card.warning > .heading {
- background-color: var(--color-orange);
- border-bottom: 2px solid var(--color-orange);
- }
-
- :is(.error, .info, .success, .warning) .heading-icon::part(icon) {
- font-family: 'Material Symbols Rounded';
- font-weight: 900;
- font-variation-settings: 'FILL' 1;
- height: 1.25rem;
- width: 1.25rem;
- }
-
- :is(.error, .info, .success, .warning) .heading-icon {
- font-size: 1.25rem !important;
- }
-
- .error .heading-icon::part(icon)::before {
- content: 'error';
- }
-
- .info .heading-icon::part(icon)::before {
- content: 'info';
- }
-
- .success .heading-icon::part(icon)::before {
- content: 'check_circle';
- }
-
- .warning .heading-icon::part(icon)::before {
- content: 'warning';
- }
-
- .card > div > .content {
- grid-row: 2;
- grid-column: 1 / span 2;
- }
-
- .card.default .close {
- background-color: var(--color-grey);
- }
-
- .card.error .close {
- background-color: var(--color-red);
- }
-
- .card.info .close {
- background-color: var(--color-midnight);
- }
-
- .card.success .close {
- background-color: var(--color-green);
- }
-
- .card.warning .close {
- background-color: var(--color-orange);
- }
-
- .close > button {
- min-width: 44px;
- color: var(--color-white);
- min-height: 44px;
- display: grid;
- gap: 0.25em;
- line-height: 1.5rem;
- font-family: var(--font-family);
- font-weight: 700;
- cursor: pointer;
- border-radius: 1.5em;
- border-style: solid;
- border-width: 2px;
- font-size: 1rem;
- align-items: center;
- padding: 8px 14px;
- justify-content: center;
- font-style: normal;
- text-align: center;
- width: inherit;
- transition-duration: 0.5s;
- transition-property: background-color, color, border-color;
- background-color: rgba(0, 0, 0, 0);
- border-color: rgba(0, 0, 0, 0);
- }
-
- .close > button {
- padding: 8px;
- }
-
- .close > button .kol-icon {
- display: flex;
- width: 1em;
- height: 1em;
- font-size: 1rem;
- }
-
- .close > button .kol-icon::part(icon) {
- font-family: 'Material Symbols Rounded';
- font-weight: 900;
- }
-
- .close > button .kol-icon::part(icon)::before {
- content: 'close';
- }
-
- .close > button:active {
- box-shadow: none;
- outline: none;
- }
+ @include inputMessages;
}
diff --git a/packages/themes/bmf/src/components/input-color.scss b/packages/themes/bmf/src/components/input-color.scss
index 39ccf7c128..05259f4652 100644
--- a/packages/themes/bmf/src/components/input-color.scss
+++ b/packages/themes/bmf/src/components/input-color.scss
@@ -1,458 +1,32 @@
-@layer kol-theme-component {
- :host {
- font-family: var(--font-family);
- }
-
- .kol-input {
- gap: 0.25em;
- }
-
- .kol-input .error {
- order: 1;
- }
-
- .kol-input label {
- order: 2;
- }
-
- .kol-input .input {
- order: 3;
- }
-
- .kol-input .hint {
- order: 4;
- font-size: 0.875em;
- font-style: italic;
- }
+@import '../mixins/input.scss';
+@layer kol-theme-component {
input {
border: none;
- }
-
- input[type='color'] {
- border: none;
min-height: 40px !important;
- }
-
- input[type='color'] {
background-color: transparent;
- }
-
- input::placeholder {
- color: var(--color-grey);
- }
-
- .input {
- background-color: var(--color-white);
- border-color: var(--color-grey);
- border-radius: var(--border-radius);
- border-style: solid;
- border-width: 2px;
- padding: 0 0.5em;
- }
-
- .input > .kol-icon {
- width: 1em;
- }
-
- .input:is(.icon-left, .icon-right) {
- padding-left: 1em;
- padding-right: 1em;
- }
-
- .input:is(.icon-left, .icon-right) input {
- padding-left: 0.5em;
- padding-right: 0.5em;
- }
-
- .input > input:first-child {
- padding-left: 0.375em;
- }
-
- .input > input:last-child {
- padding-right: 0.375em;
- }
-
- .input:hover {
- border-color: var(--color-midnight);
- }
-
- input:not([type='color']):read-only,
- input:disabled {
- cursor: not-allowed;
- }
-
- .required label > span::after {
- content: '*';
- padding-left: 0.125em;
- }
-
- .kol-input.error .input {
- border-color: var(--color-red);
- border-width: 3px;
- }
-
- .kol-input.error:not(.hidden-error) {
- border-left: 3px solid var(--color-red);
- padding-left: 1em;
- }
-
- .kol-input.error .kol-alert-wc.error {
- color: var(--color-red);
- font-weight: 700;
- }
-
- .kol-input.disabled .input {
- background-color: var(--color-smoke);
- border-color: var(--color-granite);
- color: var(--color-black);
- }
-
- .msg {
- border-width: 0 !important;
- }
-
- .kol-alert-wc {
- border-width: 2px;
- border-style: solid;
- border-radius: 5px;
- display: flex;
- width: 100%;
- overflow: unset;
- border-color: transparent;
- background-color: white;
- }
-
- .kol-alert-wc > .heading {
- display: flex;
- gap: 0.5em;
- place-items: center;
- }
-
- .kol-alert-wc > .heading > div {
- display: grid;
- gap: var(--kolibri-spacing);
- }
-
- .msg {
- background-color: transparent;
- }
-
- .msg > .heading {
- place-items: flex-start;
- }
-
- .msg > .heading > .kol-icon {
- place-self: baseline;
- }
-
- .kol-alert-wc > .heading > div {
- display: grid;
- gap: var(--spacing);
- }
-
- .kol-alert-wc > .heading > .kol-button-wc.close {
- place-self: center;
- }
-
- .msg {
- align-items: start;
- }
-
- .default {
- border-color: var(--color-grey);
- }
-
- .default.msg .heading-icon {
- color: var(--color-grey);
- }
-
- .error {
- border-color: var(--color-red);
- }
-
- .error.msg .heading-icon {
- color: var(--color-red);
- }
-
- .info {
- border-color: var(--color-midnight);
- }
-
- .info.msg .heading-icon {
- color: var(--color-midnight);
- }
-
- .success {
- border-color: var(--color-green);
- }
-
- .success.msg .heading-icon {
- color: var(--color-green);
- }
-
- .warning {
- border-color: var(--color-orange);
- }
-
- .warning.msg .heading-icon {
- color: var(--color-orange);
- }
-
- .heading-icon {
- color: white;
- }
- .kol-alert-wc .heading .heading-icon {
- padding: 0;
- }
-
- .msg > .heading > .heading-icon {
- padding-top: 0;
- place-items: baseline;
- }
-
- .msg > .heading > .heading-icon::part(icon) {
- line-height: 1.375rem;
- }
-
- .msg > .heading > div > .kol-heading-wc {
- line-height: 20px;
- padding-top: 0.125rem;
- }
-
- .msg.default .heading > div > .kol-heading-wc {
- color: var(--color-grey);
- }
-
- .msg.error .heading > div > .kol-heading-wc {
- color: var(--color-red);
- }
-
- .msg.info .heading > div > .kol-heading-wc {
- color: var(--color-midnight);
- }
-
- .msg.success .heading > div > .kol-heading-wc {
- color: var(--color-green);
- }
-
- .msg.warning .heading > div > .kol-heading-wc {
- color: var(--color-orange);
- }
-
- /*.msg > .heading > div {display: grid;grid-template-columns: 1fr auto;}.msg > .heading > div > .content {grid-row: 2;grid-column: 1;}.msg > div > .close {display: flex;}*/
- .msg.default .close .icon {
- color: var(--color-grey);
- }
-
- .msg.error .close .icon {
- color: var(--color-red);
- }
-
- .msg.info .close .icon {
- color: var(--color-midnight);
- }
+ &::placeholder {
+ color: var(--color-grey);
+ }
- .msg.success .close .icon {
- color: var(--color-green);
+ &:not([type='color']):read-only,
+ &:disabled {
+ cursor: not-allowed;
+ }
}
- .msg.warning .close .icon {
- color: var(--color-orange);
- }
-
- .card {
- border-width: 2px;
- border-style: solid;
- filter: drop-shadow(0px 2px 4px rgba(8, 35, 48, 0.24));
- flex-direction: column;
- }
-
- .card > .heading {
- padding: 0.5rem 1rem;
- }
-
- .card.hasCloser > .heading {
- padding-top: 0;
- padding-bottom: 0;
- padding-right: 0;
- }
-
- .card > .heading > div {
- width: 100%;
- min-height: 1.25rem;
- }
-
- .card > .heading .heading-icon {
- justify-self: right;
- margin-top: -4px;
- }
-
- .card > .heading .kol-heading-wc {
- width: 100%;
- color: white;
- display: flex;
- font-size: 1.25rem;
- line-height: 1.25rem;
- }
-
- .card > .heading .kol-heading-wc > * {
- margin: auto 0;
- }
-
- .card > .heading .kol-button-wc button:focus {
- outline-color: var(--color-white);
- outline-offset: -3px;
- outline-style: solid;
- outline-width: 3px;
- transition: outline 0.1s linear;
- }
-
- .card > .heading .kol-button-wc button:hover {
- background-color: rgba(32, 32, 32, 0.2);
- }
-
- .card > .heading .kol-button-wc button:active {
- background-color: rgba(32, 32, 32, 0.4);
- }
-
- .card > .heading .kol-button-wc button:hover:focus {
- background-color: rgba(32, 32, 32, 0.1);
- }
-
- .card > .content {
- padding: 1rem;
- max-height: 9.5rem;
- overflow-y: auto;
- }
-
- .card.default > .heading {
- background-color: var(--color-grey);
- border-bottom: 2px solid var(--color-grey);
- }
-
- .card.error > .heading {
- background-color: var(--color-red);
- border-bottom: 2px solid var(--color-red);
- }
-
- .card.info > .heading {
- background-color: var(--color-midnight);
- border-bottom: 2px solid var(--color-midnight);
- }
-
- .card.success > .heading {
- background-color: var(--color-green);
- border-bottom: 2px solid var(--color-green);
- }
-
- .card.warning > .heading {
- background-color: var(--color-orange);
- border-bottom: 2px solid var(--color-orange);
- }
-
- :is(.error, .info, .success, .warning) .heading-icon::part(icon) {
- font-family: 'Material Symbols Rounded';
- font-weight: 900;
- font-variation-settings: 'FILL' 1;
- height: 1.25rem;
- width: 1.25rem;
- }
-
- :is(.error, .info, .success, .warning) .heading-icon {
- font-size: 1.25rem !important;
- }
-
- .error .heading-icon::part(icon)::before {
- content: 'error';
- }
-
- .info .heading-icon::part(icon)::before {
- content: 'info';
- }
-
- .success .heading-icon::part(icon)::before {
- content: 'check_circle';
- }
-
- .warning .heading-icon::part(icon)::before {
- content: 'warning';
- }
-
- .card > div > .content {
- grid-row: 2;
- grid-column: 1 / span 2;
- }
-
- .card.default .close {
- background-color: var(--color-grey);
- }
-
- .card.error .close {
- background-color: var(--color-red);
- }
-
- .card.info .close {
- background-color: var(--color-midnight);
- }
-
- .card.success .close {
- background-color: var(--color-green);
- }
-
- .card.warning .close {
- background-color: var(--color-orange);
- }
-
- .close > button {
- min-width: 44px;
- color: var(--color-white);
- min-height: 44px;
- display: grid;
- gap: 0.25em;
- line-height: 1.5rem;
- font-family: var(--font-family);
- font-weight: 700;
- cursor: pointer;
- border-radius: 1.5em;
- border-style: solid;
- border-width: 2px;
- font-size: 1rem;
- align-items: center;
- padding: 8px 14px;
- justify-content: center;
- font-style: normal;
- text-align: center;
- width: inherit;
- transition-duration: 0.5s;
- transition-property: background-color, color, border-color;
- background-color: rgba(0, 0, 0, 0);
- border-color: rgba(0, 0, 0, 0);
- }
-
- .close > button {
- padding: 8px;
- }
+ .input {
+ padding: 0 1em;
- .close > button .kol-icon {
- display: flex;
- width: 1em;
- height: 1em;
- font-size: 1rem;
- }
+ > input:first-child {
+ padding-left: 0.375em;
+ }
- .close > button .kol-icon::part(icon) {
- font-family: 'Material Symbols Rounded';
- font-weight: 900;
+ > input:last-child {
+ padding-right: 0.375em;
+ }
}
- .close > button .kol-icon::part(icon)::before {
- content: 'close';
- }
-
- .close > button:active {
- box-shadow: none;
- outline: none;
- }
+ @include input;
}
diff --git a/packages/themes/bmf/src/components/input-date.scss b/packages/themes/bmf/src/components/input-date.scss
index c0b8fab748..e69086c039 100644
--- a/packages/themes/bmf/src/components/input-date.scss
+++ b/packages/themes/bmf/src/components/input-date.scss
@@ -1,448 +1,33 @@
-@layer kol-theme-component {
- :host {
- font-family: var(--font-family);
- }
-
- .kol-input {
- gap: 0.25em;
- }
-
- .kol-input .error {
- order: 1;
- }
-
- .kol-input label {
- order: 2;
- }
-
- .kol-input .input {
- order: 3;
- }
-
- .kol-input .hint {
- order: 4;
- font-size: 0.875em;
- font-style: italic;
- }
+@import '../mixins/input.scss';
+@layer kol-theme-component {
input {
border: none;
- }
-
- input::placeholder {
- color: var(--color-grey);
- }
-
- .input {
- background-color: var(--color-white);
- border-color: var(--color-grey);
- border-radius: var(--border-radius);
- border-style: solid;
- border-width: 2px;
- padding: 0 0.5em;
- }
-
- .input > .kol-icon {
- width: 1em;
- }
-
- .input:is(.icon-left, .icon-right) {
- padding-left: 1em;
- padding-right: 1em;
- }
-
- .input:is(.icon-left, .icon-right) input {
- padding-left: 0.5em;
- padding-right: 0.5em;
- }
-
- .input > input:first-child {
- padding-left: 0.375em;
- }
-
- .input > input:last-child {
- padding-right: 0.375em;
- }
-
- .input:hover {
- border-color: var(--color-midnight);
- }
-
- input:disabled {
- cursor: not-allowed;
- }
-
- .required label > span::after {
- content: '*';
- padding-left: 0.125em;
- }
-
- .kol-input.error .input {
- border-color: var(--color-red);
- border-width: 3px;
- }
-
- .kol-input.error:not(.hidden-error) {
- border-left: 3px solid var(--color-red);
- padding-left: 1em;
- }
-
- .kol-input.error .kol-alert-wc.error {
- color: var(--color-red);
- font-weight: 700;
- }
-
- .kol-input.disabled .input {
- background-color: var(--color-smoke);
- border-color: var(--color-granite);
- color: var(--color-black);
- }
-
- .msg {
- border-width: 0 !important;
- }
-
- .kol-alert-wc {
- border-width: 2px;
- border-style: solid;
- border-radius: 5px;
- display: flex;
- width: 100%;
- overflow: unset;
- border-color: transparent;
- background-color: white;
- }
-
- .kol-alert-wc > .heading {
- display: flex;
- gap: 0.5em;
- place-items: center;
- }
-
- .kol-alert-wc > .heading > div {
- display: grid;
- gap: var(--kolibri-spacing);
- }
-
- .msg {
- background-color: transparent;
- }
-
- .msg > .heading {
- place-items: flex-start;
- }
-
- .msg > .heading > .kol-icon {
- place-self: baseline;
- }
-
- .kol-alert-wc > .heading > div {
- display: grid;
- gap: var(--spacing);
- }
-
- .kol-alert-wc > .heading > .kol-button-wc.close {
- place-self: center;
- }
-
- .msg {
- align-items: start;
- }
-
- .default {
- border-color: var(--color-grey);
- }
-
- .default.msg .heading-icon {
- color: var(--color-grey);
- }
-
- .error {
- border-color: var(--color-red);
- }
-
- .error.msg .heading-icon {
- color: var(--color-red);
- }
-
- .info {
- border-color: var(--color-midnight);
- }
-
- .info.msg .heading-icon {
- color: var(--color-midnight);
- }
-
- .success {
- border-color: var(--color-green);
- }
- .success.msg .heading-icon {
- color: var(--color-green);
- }
-
- .warning {
- border-color: var(--color-orange);
- }
+ &::placeholder {
+ color: var(--color-grey);
+ }
- .warning.msg .heading-icon {
- color: var(--color-orange);
- }
-
- .heading-icon {
- color: white;
- }
+ &::-webkit-datetime-edit {
+ color: var(--color-grey);
+ }
- .kol-alert-wc .heading .heading-icon {
- padding: 0;
+ &:disabled {
+ cursor: not-allowed;
+ }
}
- .msg > .heading > .heading-icon {
- padding-top: 0;
- place-items: baseline;
- }
-
- .msg > .heading > .heading-icon::part(icon) {
- line-height: 1.375rem;
- }
-
- .msg > .heading > div > .kol-heading-wc {
- line-height: 20px;
- padding-top: 0.125rem;
- }
-
- .msg.default .heading > div > .kol-heading-wc {
- color: var(--color-grey);
- }
-
- .msg.error .heading > div > .kol-heading-wc {
- color: var(--color-red);
- }
-
- .msg.info .heading > div > .kol-heading-wc {
- color: var(--color-midnight);
- }
-
- .msg.success .heading > div > .kol-heading-wc {
- color: var(--color-green);
- }
-
- .msg.warning .heading > div > .kol-heading-wc {
- color: var(--color-orange);
- }
-
- /*.msg > .heading > div {display: grid;grid-template-columns: 1fr auto;}.msg > .heading > div > .content {grid-row: 2;grid-column: 1;}.msg > div > .close {display: flex;}*/
- .msg.default .close .icon {
- color: var(--color-grey);
- }
-
- .msg.error .close .icon {
- color: var(--color-red);
- }
-
- .msg.info .close .icon {
- color: var(--color-midnight);
- }
-
- .msg.success .close .icon {
- color: var(--color-green);
- }
-
- .msg.warning .close .icon {
- color: var(--color-orange);
- }
-
- .card {
- border-width: 2px;
- border-style: solid;
- filter: drop-shadow(0px 2px 4px rgba(8, 35, 48, 0.24));
- flex-direction: column;
- }
-
- .card > .heading {
- padding: 0.5rem 1rem;
- }
-
- .card.hasCloser > .heading {
- padding-top: 0;
- padding-bottom: 0;
- padding-right: 0;
- }
-
- .card > .heading > div {
- width: 100%;
- min-height: 1.25rem;
- }
-
- .card > .heading .heading-icon {
- justify-self: right;
- margin-top: -4px;
- }
-
- .card > .heading .kol-heading-wc {
- width: 100%;
- color: white;
- display: flex;
- font-size: 1.25rem;
- line-height: 1.25rem;
- }
-
- .card > .heading .kol-heading-wc > * {
- margin: auto 0;
- }
-
- .card > .heading .kol-button-wc button:focus {
- outline-color: var(--color-white);
- outline-offset: -3px;
- outline-style: solid;
- outline-width: 3px;
- transition: outline 0.1s linear;
- }
-
- .card > .heading .kol-button-wc button:hover {
- background-color: rgba(32, 32, 32, 0.2);
- }
-
- .card > .heading .kol-button-wc button:active {
- background-color: rgba(32, 32, 32, 0.4);
- }
-
- .card > .heading .kol-button-wc button:hover:focus {
- background-color: rgba(32, 32, 32, 0.1);
- }
-
- .card > .content {
- padding: 1rem;
- max-height: 9.5rem;
- overflow-y: auto;
- }
-
- .card.default > .heading {
- background-color: var(--color-grey);
- border-bottom: 2px solid var(--color-grey);
- }
-
- .card.error > .heading {
- background-color: var(--color-red);
- border-bottom: 2px solid var(--color-red);
- }
-
- .card.info > .heading {
- background-color: var(--color-midnight);
- border-bottom: 2px solid var(--color-midnight);
- }
-
- .card.success > .heading {
- background-color: var(--color-green);
- border-bottom: 2px solid var(--color-green);
- }
-
- .card.warning > .heading {
- background-color: var(--color-orange);
- border-bottom: 2px solid var(--color-orange);
- }
-
- :is(.error, .info, .success, .warning) .heading-icon::part(icon) {
- font-family: 'Material Symbols Rounded';
- font-weight: 900;
- font-variation-settings: 'FILL' 1;
- height: 1.25rem;
- width: 1.25rem;
- }
-
- :is(.error, .info, .success, .warning) .heading-icon {
- font-size: 1.25rem !important;
- }
-
- .error .heading-icon::part(icon)::before {
- content: 'error';
- }
-
- .info .heading-icon::part(icon)::before {
- content: 'info';
- }
-
- .success .heading-icon::part(icon)::before {
- content: 'check_circle';
- }
-
- .warning .heading-icon::part(icon)::before {
- content: 'warning';
- }
-
- .card > div > .content {
- grid-row: 2;
- grid-column: 1 / span 2;
- }
-
- .card.default .close {
- background-color: var(--color-grey);
- }
-
- .card.error .close {
- background-color: var(--color-red);
- }
-
- .card.info .close {
- background-color: var(--color-midnight);
- }
-
- .card.success .close {
- background-color: var(--color-green);
- }
-
- .card.warning .close {
- background-color: var(--color-orange);
- }
-
- .close > button {
- min-width: 44px;
- color: var(--color-white);
- min-height: 44px;
- display: grid;
- gap: 0.25em;
- line-height: 1.5rem;
- font-family: var(--font-family);
- font-weight: 700;
- cursor: pointer;
- border-radius: 1.5em;
- border-style: solid;
- border-width: 2px;
- font-size: 1rem;
- align-items: center;
- padding: 8px 14px;
- justify-content: center;
- font-style: normal;
- text-align: center;
- width: inherit;
- transition-duration: 0.5s;
- transition-property: background-color, color, border-color;
- background-color: rgba(0, 0, 0, 0);
- border-color: rgba(0, 0, 0, 0);
- }
-
- .close > button {
- padding: 8px;
- }
+ .input {
+ padding: 0 1em;
- .close > button .kol-icon {
- display: flex;
- width: 1em;
- height: 1em;
- font-size: 1rem;
- }
+ > input:first-child {
+ padding-left: 0.375em;
+ }
- .close > button .kol-icon::part(icon) {
- font-family: 'Material Symbols Rounded';
- font-weight: 900;
+ > input:last-child {
+ padding-right: 0.375em;
+ }
}
- .close > button .kol-icon::part(icon)::before {
- content: 'close';
- }
-
- .close > button:active {
- box-shadow: none;
- outline: none;
- }
+ @include input;
}
diff --git a/packages/themes/bmf/src/components/input-email.scss b/packages/themes/bmf/src/components/input-email.scss
index c0b8fab748..027cef1e60 100644
--- a/packages/themes/bmf/src/components/input-email.scss
+++ b/packages/themes/bmf/src/components/input-email.scss
@@ -1,448 +1,29 @@
-@layer kol-theme-component {
- :host {
- font-family: var(--font-family);
- }
-
- .kol-input {
- gap: 0.25em;
- }
-
- .kol-input .error {
- order: 1;
- }
-
- .kol-input label {
- order: 2;
- }
-
- .kol-input .input {
- order: 3;
- }
-
- .kol-input .hint {
- order: 4;
- font-size: 0.875em;
- font-style: italic;
- }
+@import '../mixins/input.scss';
+@layer kol-theme-component {
input {
border: none;
- }
-
- input::placeholder {
- color: var(--color-grey);
- }
-
- .input {
- background-color: var(--color-white);
- border-color: var(--color-grey);
- border-radius: var(--border-radius);
- border-style: solid;
- border-width: 2px;
- padding: 0 0.5em;
- }
-
- .input > .kol-icon {
- width: 1em;
- }
-
- .input:is(.icon-left, .icon-right) {
- padding-left: 1em;
- padding-right: 1em;
- }
-
- .input:is(.icon-left, .icon-right) input {
- padding-left: 0.5em;
- padding-right: 0.5em;
- }
-
- .input > input:first-child {
- padding-left: 0.375em;
- }
-
- .input > input:last-child {
- padding-right: 0.375em;
- }
-
- .input:hover {
- border-color: var(--color-midnight);
- }
-
- input:disabled {
- cursor: not-allowed;
- }
-
- .required label > span::after {
- content: '*';
- padding-left: 0.125em;
- }
-
- .kol-input.error .input {
- border-color: var(--color-red);
- border-width: 3px;
- }
-
- .kol-input.error:not(.hidden-error) {
- border-left: 3px solid var(--color-red);
- padding-left: 1em;
- }
-
- .kol-input.error .kol-alert-wc.error {
- color: var(--color-red);
- font-weight: 700;
- }
-
- .kol-input.disabled .input {
- background-color: var(--color-smoke);
- border-color: var(--color-granite);
- color: var(--color-black);
- }
-
- .msg {
- border-width: 0 !important;
- }
-
- .kol-alert-wc {
- border-width: 2px;
- border-style: solid;
- border-radius: 5px;
- display: flex;
- width: 100%;
- overflow: unset;
- border-color: transparent;
- background-color: white;
- }
-
- .kol-alert-wc > .heading {
- display: flex;
- gap: 0.5em;
- place-items: center;
- }
-
- .kol-alert-wc > .heading > div {
- display: grid;
- gap: var(--kolibri-spacing);
- }
-
- .msg {
- background-color: transparent;
- }
-
- .msg > .heading {
- place-items: flex-start;
- }
-
- .msg > .heading > .kol-icon {
- place-self: baseline;
- }
-
- .kol-alert-wc > .heading > div {
- display: grid;
- gap: var(--spacing);
- }
-
- .kol-alert-wc > .heading > .kol-button-wc.close {
- place-self: center;
- }
-
- .msg {
- align-items: start;
- }
-
- .default {
- border-color: var(--color-grey);
- }
-
- .default.msg .heading-icon {
- color: var(--color-grey);
- }
-
- .error {
- border-color: var(--color-red);
- }
-
- .error.msg .heading-icon {
- color: var(--color-red);
- }
-
- .info {
- border-color: var(--color-midnight);
- }
-
- .info.msg .heading-icon {
- color: var(--color-midnight);
- }
-
- .success {
- border-color: var(--color-green);
- }
-
- .success.msg .heading-icon {
- color: var(--color-green);
- }
-
- .warning {
- border-color: var(--color-orange);
- }
-
- .warning.msg .heading-icon {
- color: var(--color-orange);
- }
-
- .heading-icon {
- color: white;
- }
-
- .kol-alert-wc .heading .heading-icon {
- padding: 0;
- }
-
- .msg > .heading > .heading-icon {
- padding-top: 0;
- place-items: baseline;
- }
-
- .msg > .heading > .heading-icon::part(icon) {
- line-height: 1.375rem;
- }
-
- .msg > .heading > div > .kol-heading-wc {
- line-height: 20px;
- padding-top: 0.125rem;
- }
-
- .msg.default .heading > div > .kol-heading-wc {
- color: var(--color-grey);
- }
-
- .msg.error .heading > div > .kol-heading-wc {
- color: var(--color-red);
- }
-
- .msg.info .heading > div > .kol-heading-wc {
- color: var(--color-midnight);
- }
-
- .msg.success .heading > div > .kol-heading-wc {
- color: var(--color-green);
- }
-
- .msg.warning .heading > div > .kol-heading-wc {
- color: var(--color-orange);
- }
-
- /*.msg > .heading > div {display: grid;grid-template-columns: 1fr auto;}.msg > .heading > div > .content {grid-row: 2;grid-column: 1;}.msg > div > .close {display: flex;}*/
- .msg.default .close .icon {
- color: var(--color-grey);
- }
-
- .msg.error .close .icon {
- color: var(--color-red);
- }
-
- .msg.info .close .icon {
- color: var(--color-midnight);
- }
-
- .msg.success .close .icon {
- color: var(--color-green);
- }
-
- .msg.warning .close .icon {
- color: var(--color-orange);
- }
-
- .card {
- border-width: 2px;
- border-style: solid;
- filter: drop-shadow(0px 2px 4px rgba(8, 35, 48, 0.24));
- flex-direction: column;
- }
-
- .card > .heading {
- padding: 0.5rem 1rem;
- }
-
- .card.hasCloser > .heading {
- padding-top: 0;
- padding-bottom: 0;
- padding-right: 0;
- }
-
- .card > .heading > div {
- width: 100%;
- min-height: 1.25rem;
- }
-
- .card > .heading .heading-icon {
- justify-self: right;
- margin-top: -4px;
- }
-
- .card > .heading .kol-heading-wc {
- width: 100%;
- color: white;
- display: flex;
- font-size: 1.25rem;
- line-height: 1.25rem;
- }
-
- .card > .heading .kol-heading-wc > * {
- margin: auto 0;
- }
-
- .card > .heading .kol-button-wc button:focus {
- outline-color: var(--color-white);
- outline-offset: -3px;
- outline-style: solid;
- outline-width: 3px;
- transition: outline 0.1s linear;
- }
-
- .card > .heading .kol-button-wc button:hover {
- background-color: rgba(32, 32, 32, 0.2);
- }
-
- .card > .heading .kol-button-wc button:active {
- background-color: rgba(32, 32, 32, 0.4);
- }
-
- .card > .heading .kol-button-wc button:hover:focus {
- background-color: rgba(32, 32, 32, 0.1);
- }
-
- .card > .content {
- padding: 1rem;
- max-height: 9.5rem;
- overflow-y: auto;
- }
-
- .card.default > .heading {
- background-color: var(--color-grey);
- border-bottom: 2px solid var(--color-grey);
- }
-
- .card.error > .heading {
- background-color: var(--color-red);
- border-bottom: 2px solid var(--color-red);
- }
-
- .card.info > .heading {
- background-color: var(--color-midnight);
- border-bottom: 2px solid var(--color-midnight);
- }
-
- .card.success > .heading {
- background-color: var(--color-green);
- border-bottom: 2px solid var(--color-green);
- }
-
- .card.warning > .heading {
- background-color: var(--color-orange);
- border-bottom: 2px solid var(--color-orange);
- }
-
- :is(.error, .info, .success, .warning) .heading-icon::part(icon) {
- font-family: 'Material Symbols Rounded';
- font-weight: 900;
- font-variation-settings: 'FILL' 1;
- height: 1.25rem;
- width: 1.25rem;
- }
-
- :is(.error, .info, .success, .warning) .heading-icon {
- font-size: 1.25rem !important;
- }
-
- .error .heading-icon::part(icon)::before {
- content: 'error';
- }
-
- .info .heading-icon::part(icon)::before {
- content: 'info';
- }
-
- .success .heading-icon::part(icon)::before {
- content: 'check_circle';
- }
-
- .warning .heading-icon::part(icon)::before {
- content: 'warning';
- }
-
- .card > div > .content {
- grid-row: 2;
- grid-column: 1 / span 2;
- }
-
- .card.default .close {
- background-color: var(--color-grey);
- }
-
- .card.error .close {
- background-color: var(--color-red);
- }
- .card.info .close {
- background-color: var(--color-midnight);
- }
-
- .card.success .close {
- background-color: var(--color-green);
- }
+ &::placeholder {
+ color: var(--color-grey);
+ }
- .card.warning .close {
- background-color: var(--color-orange);
+ &:disabled {
+ cursor: not-allowed;
+ }
}
- .close > button {
- min-width: 44px;
- color: var(--color-white);
- min-height: 44px;
- display: grid;
- gap: 0.25em;
- line-height: 1.5rem;
- font-family: var(--font-family);
- font-weight: 700;
- cursor: pointer;
- border-radius: 1.5em;
- border-style: solid;
- border-width: 2px;
- font-size: 1rem;
- align-items: center;
- padding: 8px 14px;
- justify-content: center;
- font-style: normal;
- text-align: center;
- width: inherit;
- transition-duration: 0.5s;
- transition-property: background-color, color, border-color;
- background-color: rgba(0, 0, 0, 0);
- border-color: rgba(0, 0, 0, 0);
- }
-
- .close > button {
- padding: 8px;
- }
+ .input {
+ padding: 0 1em;
- .close > button .kol-icon {
- display: flex;
- width: 1em;
- height: 1em;
- font-size: 1rem;
- }
+ > input:first-child {
+ padding-left: 0.375em;
+ }
- .close > button .kol-icon::part(icon) {
- font-family: 'Material Symbols Rounded';
- font-weight: 900;
+ > input:last-child {
+ padding-right: 0.375em;
+ }
}
- .close > button .kol-icon::part(icon)::before {
- content: 'close';
- }
-
- .close > button:active {
- box-shadow: none;
- outline: none;
- }
+ @include input;
}
diff --git a/packages/themes/bmf/src/components/input-file.scss b/packages/themes/bmf/src/components/input-file.scss
index 4160f07bb7..82c24563a9 100644
--- a/packages/themes/bmf/src/components/input-file.scss
+++ b/packages/themes/bmf/src/components/input-file.scss
@@ -1,456 +1,31 @@
-@layer kol-theme-component {
- :host {
- font-family: var(--font-family);
- }
-
- .kol-input {
- gap: 0.25em;
- }
-
- .kol-input .error {
- order: 1;
- }
-
- .kol-input label {
- order: 2;
- }
-
- .kol-input .input {
- order: 3;
- }
-
- .kol-input .hint {
- order: 4;
- font-size: 0.875em;
- font-style: italic;
- }
-
- .kol-input .input input[type='file'] {
- padding-top: calc(0.5em + 2px);
- }
+@import '../mixins/input.scss';
+@layer kol-theme-component {
input {
border: none;
- }
-
- input[type='file'] {
- background-color: transparent;
- }
-
- input::placeholder {
- color: var(--color-grey);
- }
-
- .input {
- background-color: var(--color-white);
- border-color: var(--color-grey);
- border-radius: var(--border-radius);
- border-style: solid;
- border-width: 2px;
- padding: 0 0.5em;
- }
-
- .input > .kol-icon {
- width: 1em;
- }
-
- .input:is(.icon-left, .icon-right) {
- padding-left: 1em;
- padding-right: 1em;
- }
-
- .input:is(.icon-left, .icon-right) input {
- padding-left: 0.5em;
- padding-right: 0.5em;
- }
-
- .input > input:first-child {
- padding-left: 0.375em;
- }
-
- .input > input:last-child {
- padding-right: 0.375em;
- }
-
- .input:hover {
- border-color: var(--color-midnight);
- }
-
- input:disabled {
- cursor: not-allowed;
- }
-
- .required label > span::after {
- content: '*';
- padding-left: 0.125em;
- }
-
- .kol-input.error .input {
- border-color: var(--color-red);
- border-width: 3px;
- }
-
- .kol-input.error:not(.hidden-error) {
- border-left: 3px solid var(--color-red);
- padding-left: 1em;
- }
-
- .kol-input.error .kol-alert-wc.error {
- color: var(--color-red);
- font-weight: 700;
- }
-
- .kol-input.disabled .input {
- background-color: var(--color-smoke);
- border-color: var(--color-granite);
- color: var(--color-black);
- }
-
- .msg {
- border-width: 0 !important;
- }
-
- .kol-alert-wc {
- border-width: 2px;
- border-style: solid;
- border-radius: 5px;
- display: flex;
- width: 100%;
- overflow: unset;
- border-color: transparent;
- background-color: white;
- }
-
- .kol-alert-wc > .heading {
- display: flex;
- gap: 0.5em;
- place-items: center;
- }
-
- .kol-alert-wc > .heading > div {
- display: grid;
- gap: var(--kolibri-spacing);
- }
-
- .msg {
background-color: transparent;
- }
-
- .msg > .heading {
- place-items: flex-start;
- }
-
- .msg > .heading > .kol-icon {
- place-self: baseline;
- }
-
- .kol-alert-wc > .heading > div {
- display: grid;
- gap: var(--spacing);
- }
-
- .kol-alert-wc > .heading > .kol-button-wc.close {
- place-self: center;
- }
-
- .msg {
- align-items: start;
- }
-
- .default {
- border-color: var(--color-grey);
- }
-
- .default.msg .heading-icon {
- color: var(--color-grey);
- }
-
- .error {
- border-color: var(--color-red);
- }
-
- .error.msg .heading-icon {
- color: var(--color-red);
- }
-
- .info {
- border-color: var(--color-midnight);
- }
-
- .info.msg .heading-icon {
- color: var(--color-midnight);
- }
-
- .success {
- border-color: var(--color-green);
- }
-
- .success.msg .heading-icon {
- color: var(--color-green);
- }
-
- .warning {
- border-color: var(--color-orange);
- }
-
- .warning.msg .heading-icon {
- color: var(--color-orange);
- }
-
- .heading-icon {
- color: white;
- }
-
- .kol-alert-wc .heading .heading-icon {
- padding: 0;
- }
-
- .msg > .heading > .heading-icon {
- padding-top: 0;
- place-items: baseline;
- }
-
- .msg > .heading > .heading-icon::part(icon) {
- line-height: 1.375rem;
- }
-
- .msg > .heading > div > .kol-heading-wc {
- line-height: 20px;
- padding-top: 0.125rem;
- }
-
- .msg.default .heading > div > .kol-heading-wc {
- color: var(--color-grey);
- }
-
- .msg.error .heading > div > .kol-heading-wc {
- color: var(--color-red);
- }
-
- .msg.info .heading > div > .kol-heading-wc {
- color: var(--color-midnight);
- }
-
- .msg.success .heading > div > .kol-heading-wc {
- color: var(--color-green);
- }
-
- .msg.warning .heading > div > .kol-heading-wc {
- color: var(--color-orange);
- }
-
- /*.msg > .heading > div {display: grid;grid-template-columns: 1fr auto;}.msg > .heading > div > .content {grid-row: 2;grid-column: 1;}.msg > div > .close {display: flex;}*/
- .msg.default .close .icon {
- color: var(--color-grey);
- }
-
- .msg.error .close .icon {
- color: var(--color-red);
- }
-
- .msg.info .close .icon {
- color: var(--color-midnight);
- }
-
- .msg.success .close .icon {
- color: var(--color-green);
- }
-
- .msg.warning .close .icon {
- color: var(--color-orange);
- }
-
- .card {
- border-width: 2px;
- border-style: solid;
- filter: drop-shadow(0px 2px 4px rgba(8, 35, 48, 0.24));
- flex-direction: column;
- }
-
- .card > .heading {
- padding: 0.5rem 1rem;
- }
-
- .card.hasCloser > .heading {
- padding-top: 0;
- padding-bottom: 0;
- padding-right: 0;
- }
-
- .card > .heading > div {
- width: 100%;
- min-height: 1.25rem;
- }
-
- .card > .heading .heading-icon {
- justify-self: right;
- margin-top: -4px;
- }
-
- .card > .heading .kol-heading-wc {
- width: 100%;
- color: white;
- display: flex;
- font-size: 1.25rem;
- line-height: 1.25rem;
- }
-
- .card > .heading .kol-heading-wc > * {
- margin: auto 0;
- }
-
- .card > .heading .kol-button-wc button:focus {
- outline-color: var(--color-white);
- outline-offset: -3px;
- outline-style: solid;
- outline-width: 3px;
- transition: outline 0.1s linear;
- }
-
- .card > .heading .kol-button-wc button:hover {
- background-color: rgba(32, 32, 32, 0.2);
- }
-
- .card > .heading .kol-button-wc button:active {
- background-color: rgba(32, 32, 32, 0.4);
- }
-
- .card > .heading .kol-button-wc button:hover:focus {
- background-color: rgba(32, 32, 32, 0.1);
- }
-
- .card > .content {
- padding: 1rem;
- max-height: 9.5rem;
- overflow-y: auto;
- }
-
- .card.default > .heading {
- background-color: var(--color-grey);
- border-bottom: 2px solid var(--color-grey);
- }
-
- .card.error > .heading {
- background-color: var(--color-red);
- border-bottom: 2px solid var(--color-red);
- }
-
- .card.info > .heading {
- background-color: var(--color-midnight);
- border-bottom: 2px solid var(--color-midnight);
- }
-
- .card.success > .heading {
- background-color: var(--color-green);
- border-bottom: 2px solid var(--color-green);
- }
-
- .card.warning > .heading {
- background-color: var(--color-orange);
- border-bottom: 2px solid var(--color-orange);
- }
-
- :is(.error, .info, .success, .warning) .heading-icon::part(icon) {
- font-family: 'Material Symbols Rounded';
- font-weight: 900;
- font-variation-settings: 'FILL' 1;
- height: 1.25rem;
- width: 1.25rem;
- }
-
- :is(.error, .info, .success, .warning) .heading-icon {
- font-size: 1.25rem !important;
- }
-
- .error .heading-icon::part(icon)::before {
- content: 'error';
- }
-
- .info .heading-icon::part(icon)::before {
- content: 'info';
- }
-
- .success .heading-icon::part(icon)::before {
- content: 'check_circle';
- }
-
- .warning .heading-icon::part(icon)::before {
- content: 'warning';
- }
-
- .card > div > .content {
- grid-row: 2;
- grid-column: 1 / span 2;
- }
-
- .card.default .close {
- background-color: var(--color-grey);
- }
-
- .card.error .close {
- background-color: var(--color-red);
- }
-
- .card.info .close {
- background-color: var(--color-midnight);
- }
-
- .card.success .close {
- background-color: var(--color-green);
- }
+ padding-top: calc(0.5em + 2px);
- .card.warning .close {
- background-color: var(--color-orange);
- }
+ &::placeholder {
+ color: var(--color-grey);
+ }
- .close > button {
- min-width: 44px;
- color: var(--color-white);
- min-height: 44px;
- display: grid;
- gap: 0.25em;
- line-height: 1.5rem;
- font-family: var(--font-family);
- font-weight: 700;
- cursor: pointer;
- border-radius: 1.5em;
- border-style: solid;
- border-width: 2px;
- font-size: 1rem;
- align-items: center;
- padding: 8px 14px;
- justify-content: center;
- font-style: normal;
- text-align: center;
- width: inherit;
- transition-duration: 0.5s;
- transition-property: background-color, color, border-color;
- background-color: rgba(0, 0, 0, 0);
- border-color: rgba(0, 0, 0, 0);
+ &:disabled {
+ cursor: not-allowed;
+ }
}
- .close > button {
- padding: 8px;
- }
+ .input {
+ padding: 0 1em;
- .close > button .kol-icon {
- display: flex;
- width: 1em;
- height: 1em;
- font-size: 1rem;
- }
+ > input:first-child {
+ padding-left: 0.375em;
+ }
- .close > button .kol-icon::part(icon) {
- font-family: 'Material Symbols Rounded';
- font-weight: 900;
+ > input:last-child {
+ padding-right: 0.375em;
+ }
}
- .close > button .kol-icon::part(icon)::before {
- content: 'close';
- }
-
- .close > button:active {
- box-shadow: none;
- outline: none;
- }
+ @include input;
}
diff --git a/packages/themes/bmf/src/components/input-number.scss b/packages/themes/bmf/src/components/input-number.scss
index c0b8fab748..027cef1e60 100644
--- a/packages/themes/bmf/src/components/input-number.scss
+++ b/packages/themes/bmf/src/components/input-number.scss
@@ -1,448 +1,29 @@
-@layer kol-theme-component {
- :host {
- font-family: var(--font-family);
- }
-
- .kol-input {
- gap: 0.25em;
- }
-
- .kol-input .error {
- order: 1;
- }
-
- .kol-input label {
- order: 2;
- }
-
- .kol-input .input {
- order: 3;
- }
-
- .kol-input .hint {
- order: 4;
- font-size: 0.875em;
- font-style: italic;
- }
+@import '../mixins/input.scss';
+@layer kol-theme-component {
input {
border: none;
- }
-
- input::placeholder {
- color: var(--color-grey);
- }
-
- .input {
- background-color: var(--color-white);
- border-color: var(--color-grey);
- border-radius: var(--border-radius);
- border-style: solid;
- border-width: 2px;
- padding: 0 0.5em;
- }
-
- .input > .kol-icon {
- width: 1em;
- }
-
- .input:is(.icon-left, .icon-right) {
- padding-left: 1em;
- padding-right: 1em;
- }
-
- .input:is(.icon-left, .icon-right) input {
- padding-left: 0.5em;
- padding-right: 0.5em;
- }
-
- .input > input:first-child {
- padding-left: 0.375em;
- }
-
- .input > input:last-child {
- padding-right: 0.375em;
- }
-
- .input:hover {
- border-color: var(--color-midnight);
- }
-
- input:disabled {
- cursor: not-allowed;
- }
-
- .required label > span::after {
- content: '*';
- padding-left: 0.125em;
- }
-
- .kol-input.error .input {
- border-color: var(--color-red);
- border-width: 3px;
- }
-
- .kol-input.error:not(.hidden-error) {
- border-left: 3px solid var(--color-red);
- padding-left: 1em;
- }
-
- .kol-input.error .kol-alert-wc.error {
- color: var(--color-red);
- font-weight: 700;
- }
-
- .kol-input.disabled .input {
- background-color: var(--color-smoke);
- border-color: var(--color-granite);
- color: var(--color-black);
- }
-
- .msg {
- border-width: 0 !important;
- }
-
- .kol-alert-wc {
- border-width: 2px;
- border-style: solid;
- border-radius: 5px;
- display: flex;
- width: 100%;
- overflow: unset;
- border-color: transparent;
- background-color: white;
- }
-
- .kol-alert-wc > .heading {
- display: flex;
- gap: 0.5em;
- place-items: center;
- }
-
- .kol-alert-wc > .heading > div {
- display: grid;
- gap: var(--kolibri-spacing);
- }
-
- .msg {
- background-color: transparent;
- }
-
- .msg > .heading {
- place-items: flex-start;
- }
-
- .msg > .heading > .kol-icon {
- place-self: baseline;
- }
-
- .kol-alert-wc > .heading > div {
- display: grid;
- gap: var(--spacing);
- }
-
- .kol-alert-wc > .heading > .kol-button-wc.close {
- place-self: center;
- }
-
- .msg {
- align-items: start;
- }
-
- .default {
- border-color: var(--color-grey);
- }
-
- .default.msg .heading-icon {
- color: var(--color-grey);
- }
-
- .error {
- border-color: var(--color-red);
- }
-
- .error.msg .heading-icon {
- color: var(--color-red);
- }
-
- .info {
- border-color: var(--color-midnight);
- }
-
- .info.msg .heading-icon {
- color: var(--color-midnight);
- }
-
- .success {
- border-color: var(--color-green);
- }
-
- .success.msg .heading-icon {
- color: var(--color-green);
- }
-
- .warning {
- border-color: var(--color-orange);
- }
-
- .warning.msg .heading-icon {
- color: var(--color-orange);
- }
-
- .heading-icon {
- color: white;
- }
-
- .kol-alert-wc .heading .heading-icon {
- padding: 0;
- }
-
- .msg > .heading > .heading-icon {
- padding-top: 0;
- place-items: baseline;
- }
-
- .msg > .heading > .heading-icon::part(icon) {
- line-height: 1.375rem;
- }
-
- .msg > .heading > div > .kol-heading-wc {
- line-height: 20px;
- padding-top: 0.125rem;
- }
-
- .msg.default .heading > div > .kol-heading-wc {
- color: var(--color-grey);
- }
-
- .msg.error .heading > div > .kol-heading-wc {
- color: var(--color-red);
- }
-
- .msg.info .heading > div > .kol-heading-wc {
- color: var(--color-midnight);
- }
-
- .msg.success .heading > div > .kol-heading-wc {
- color: var(--color-green);
- }
-
- .msg.warning .heading > div > .kol-heading-wc {
- color: var(--color-orange);
- }
-
- /*.msg > .heading > div {display: grid;grid-template-columns: 1fr auto;}.msg > .heading > div > .content {grid-row: 2;grid-column: 1;}.msg > div > .close {display: flex;}*/
- .msg.default .close .icon {
- color: var(--color-grey);
- }
-
- .msg.error .close .icon {
- color: var(--color-red);
- }
-
- .msg.info .close .icon {
- color: var(--color-midnight);
- }
-
- .msg.success .close .icon {
- color: var(--color-green);
- }
-
- .msg.warning .close .icon {
- color: var(--color-orange);
- }
-
- .card {
- border-width: 2px;
- border-style: solid;
- filter: drop-shadow(0px 2px 4px rgba(8, 35, 48, 0.24));
- flex-direction: column;
- }
-
- .card > .heading {
- padding: 0.5rem 1rem;
- }
-
- .card.hasCloser > .heading {
- padding-top: 0;
- padding-bottom: 0;
- padding-right: 0;
- }
-
- .card > .heading > div {
- width: 100%;
- min-height: 1.25rem;
- }
-
- .card > .heading .heading-icon {
- justify-self: right;
- margin-top: -4px;
- }
-
- .card > .heading .kol-heading-wc {
- width: 100%;
- color: white;
- display: flex;
- font-size: 1.25rem;
- line-height: 1.25rem;
- }
-
- .card > .heading .kol-heading-wc > * {
- margin: auto 0;
- }
-
- .card > .heading .kol-button-wc button:focus {
- outline-color: var(--color-white);
- outline-offset: -3px;
- outline-style: solid;
- outline-width: 3px;
- transition: outline 0.1s linear;
- }
-
- .card > .heading .kol-button-wc button:hover {
- background-color: rgba(32, 32, 32, 0.2);
- }
-
- .card > .heading .kol-button-wc button:active {
- background-color: rgba(32, 32, 32, 0.4);
- }
-
- .card > .heading .kol-button-wc button:hover:focus {
- background-color: rgba(32, 32, 32, 0.1);
- }
-
- .card > .content {
- padding: 1rem;
- max-height: 9.5rem;
- overflow-y: auto;
- }
-
- .card.default > .heading {
- background-color: var(--color-grey);
- border-bottom: 2px solid var(--color-grey);
- }
-
- .card.error > .heading {
- background-color: var(--color-red);
- border-bottom: 2px solid var(--color-red);
- }
-
- .card.info > .heading {
- background-color: var(--color-midnight);
- border-bottom: 2px solid var(--color-midnight);
- }
-
- .card.success > .heading {
- background-color: var(--color-green);
- border-bottom: 2px solid var(--color-green);
- }
-
- .card.warning > .heading {
- background-color: var(--color-orange);
- border-bottom: 2px solid var(--color-orange);
- }
-
- :is(.error, .info, .success, .warning) .heading-icon::part(icon) {
- font-family: 'Material Symbols Rounded';
- font-weight: 900;
- font-variation-settings: 'FILL' 1;
- height: 1.25rem;
- width: 1.25rem;
- }
-
- :is(.error, .info, .success, .warning) .heading-icon {
- font-size: 1.25rem !important;
- }
-
- .error .heading-icon::part(icon)::before {
- content: 'error';
- }
-
- .info .heading-icon::part(icon)::before {
- content: 'info';
- }
-
- .success .heading-icon::part(icon)::before {
- content: 'check_circle';
- }
-
- .warning .heading-icon::part(icon)::before {
- content: 'warning';
- }
-
- .card > div > .content {
- grid-row: 2;
- grid-column: 1 / span 2;
- }
-
- .card.default .close {
- background-color: var(--color-grey);
- }
-
- .card.error .close {
- background-color: var(--color-red);
- }
- .card.info .close {
- background-color: var(--color-midnight);
- }
-
- .card.success .close {
- background-color: var(--color-green);
- }
+ &::placeholder {
+ color: var(--color-grey);
+ }
- .card.warning .close {
- background-color: var(--color-orange);
+ &:disabled {
+ cursor: not-allowed;
+ }
}
- .close > button {
- min-width: 44px;
- color: var(--color-white);
- min-height: 44px;
- display: grid;
- gap: 0.25em;
- line-height: 1.5rem;
- font-family: var(--font-family);
- font-weight: 700;
- cursor: pointer;
- border-radius: 1.5em;
- border-style: solid;
- border-width: 2px;
- font-size: 1rem;
- align-items: center;
- padding: 8px 14px;
- justify-content: center;
- font-style: normal;
- text-align: center;
- width: inherit;
- transition-duration: 0.5s;
- transition-property: background-color, color, border-color;
- background-color: rgba(0, 0, 0, 0);
- border-color: rgba(0, 0, 0, 0);
- }
-
- .close > button {
- padding: 8px;
- }
+ .input {
+ padding: 0 1em;
- .close > button .kol-icon {
- display: flex;
- width: 1em;
- height: 1em;
- font-size: 1rem;
- }
+ > input:first-child {
+ padding-left: 0.375em;
+ }
- .close > button .kol-icon::part(icon) {
- font-family: 'Material Symbols Rounded';
- font-weight: 900;
+ > input:last-child {
+ padding-right: 0.375em;
+ }
}
- .close > button .kol-icon::part(icon)::before {
- content: 'close';
- }
-
- .close > button:active {
- box-shadow: none;
- outline: none;
- }
+ @include input;
}
diff --git a/packages/themes/bmf/src/components/input-password.scss b/packages/themes/bmf/src/components/input-password.scss
index c0b8fab748..b032b1f61f 100644
--- a/packages/themes/bmf/src/components/input-password.scss
+++ b/packages/themes/bmf/src/components/input-password.scss
@@ -1,448 +1,36 @@
-@layer kol-theme-component {
- :host {
- font-family: var(--font-family);
- }
-
- .kol-input {
- gap: 0.25em;
- }
-
- .kol-input .error {
- order: 1;
- }
-
- .kol-input label {
- order: 2;
- }
-
- .kol-input .input {
- order: 3;
- }
-
- .kol-input .hint {
- order: 4;
- font-size: 0.875em;
- font-style: italic;
- }
+@import '../mixins/input.scss';
+@layer kol-theme-component {
input {
border: none;
- }
-
- input::placeholder {
- color: var(--color-grey);
- }
-
- .input {
- background-color: var(--color-white);
- border-color: var(--color-grey);
- border-radius: var(--border-radius);
- border-style: solid;
- border-width: 2px;
- padding: 0 0.5em;
- }
-
- .input > .kol-icon {
- width: 1em;
- }
-
- .input:is(.icon-left, .icon-right) {
- padding-left: 1em;
- padding-right: 1em;
- }
-
- .input:is(.icon-left, .icon-right) input {
- padding-left: 0.5em;
- padding-right: 0.5em;
- }
-
- .input > input:first-child {
- padding-left: 0.375em;
- }
-
- .input > input:last-child {
- padding-right: 0.375em;
- }
-
- .input:hover {
- border-color: var(--color-midnight);
- }
-
- input:disabled {
- cursor: not-allowed;
- }
- .required label > span::after {
- content: '*';
- padding-left: 0.125em;
- }
-
- .kol-input.error .input {
- border-color: var(--color-red);
- border-width: 3px;
- }
-
- .kol-input.error:not(.hidden-error) {
- border-left: 3px solid var(--color-red);
- padding-left: 1em;
- }
-
- .kol-input.error .kol-alert-wc.error {
- color: var(--color-red);
- font-weight: 700;
- }
-
- .kol-input.disabled .input {
- background-color: var(--color-smoke);
- border-color: var(--color-granite);
- color: var(--color-black);
- }
-
- .msg {
- border-width: 0 !important;
- }
+ &::placeholder {
+ color: var(--color-grey);
+ }
- .kol-alert-wc {
- border-width: 2px;
- border-style: solid;
- border-radius: 5px;
- display: flex;
- width: 100%;
- overflow: unset;
- border-color: transparent;
- background-color: white;
+ &:disabled {
+ cursor: not-allowed;
+ }
}
- .kol-alert-wc > .heading {
- display: flex;
- gap: 0.5em;
- place-items: center;
- }
-
- .kol-alert-wc > .heading > div {
- display: grid;
- gap: var(--kolibri-spacing);
- }
-
- .msg {
- background-color: transparent;
- }
-
- .msg > .heading {
- place-items: flex-start;
- }
-
- .msg > .heading > .kol-icon {
- place-self: baseline;
- }
-
- .kol-alert-wc > .heading > div {
- display: grid;
- gap: var(--spacing);
- }
-
- .kol-alert-wc > .heading > .kol-button-wc.close {
- place-self: center;
- }
-
- .msg {
- align-items: start;
- }
-
- .default {
- border-color: var(--color-grey);
- }
-
- .default.msg .heading-icon {
- color: var(--color-grey);
- }
-
- .error {
- border-color: var(--color-red);
- }
-
- .error.msg .heading-icon {
- color: var(--color-red);
- }
-
- .info {
- border-color: var(--color-midnight);
- }
-
- .info.msg .heading-icon {
- color: var(--color-midnight);
- }
-
- .success {
- border-color: var(--color-green);
- }
-
- .success.msg .heading-icon {
- color: var(--color-green);
- }
-
- .warning {
- border-color: var(--color-orange);
- }
-
- .warning.msg .heading-icon {
- color: var(--color-orange);
- }
-
- .heading-icon {
- color: white;
- }
-
- .kol-alert-wc .heading .heading-icon {
- padding: 0;
- }
-
- .msg > .heading > .heading-icon {
- padding-top: 0;
- place-items: baseline;
- }
-
- .msg > .heading > .heading-icon::part(icon) {
- line-height: 1.375rem;
- }
-
- .msg > .heading > div > .kol-heading-wc {
- line-height: 20px;
- padding-top: 0.125rem;
- }
-
- .msg.default .heading > div > .kol-heading-wc {
- color: var(--color-grey);
- }
-
- .msg.error .heading > div > .kol-heading-wc {
- color: var(--color-red);
- }
-
- .msg.info .heading > div > .kol-heading-wc {
- color: var(--color-midnight);
- }
-
- .msg.success .heading > div > .kol-heading-wc {
- color: var(--color-green);
- }
-
- .msg.warning .heading > div > .kol-heading-wc {
- color: var(--color-orange);
- }
-
- /*.msg > .heading > div {display: grid;grid-template-columns: 1fr auto;}.msg > .heading > div > .content {grid-row: 2;grid-column: 1;}.msg > div > .close {display: flex;}*/
- .msg.default .close .icon {
- color: var(--color-grey);
- }
-
- .msg.error .close .icon {
- color: var(--color-red);
- }
-
- .msg.info .close .icon {
- color: var(--color-midnight);
- }
-
- .msg.success .close .icon {
- color: var(--color-green);
- }
-
- .msg.warning .close .icon {
- color: var(--color-orange);
- }
-
- .card {
- border-width: 2px;
- border-style: solid;
- filter: drop-shadow(0px 2px 4px rgba(8, 35, 48, 0.24));
- flex-direction: column;
- }
-
- .card > .heading {
- padding: 0.5rem 1rem;
- }
-
- .card.hasCloser > .heading {
- padding-top: 0;
- padding-bottom: 0;
- padding-right: 0;
- }
-
- .card > .heading > div {
- width: 100%;
- min-height: 1.25rem;
- }
-
- .card > .heading .heading-icon {
- justify-self: right;
- margin-top: -4px;
- }
-
- .card > .heading .kol-heading-wc {
- width: 100%;
- color: white;
- display: flex;
- font-size: 1.25rem;
- line-height: 1.25rem;
- }
-
- .card > .heading .kol-heading-wc > * {
- margin: auto 0;
- }
-
- .card > .heading .kol-button-wc button:focus {
- outline-color: var(--color-white);
- outline-offset: -3px;
- outline-style: solid;
- outline-width: 3px;
- transition: outline 0.1s linear;
- }
-
- .card > .heading .kol-button-wc button:hover {
- background-color: rgba(32, 32, 32, 0.2);
- }
-
- .card > .heading .kol-button-wc button:active {
- background-color: rgba(32, 32, 32, 0.4);
- }
-
- .card > .heading .kol-button-wc button:hover:focus {
- background-color: rgba(32, 32, 32, 0.1);
- }
-
- .card > .content {
- padding: 1rem;
- max-height: 9.5rem;
- overflow-y: auto;
- }
-
- .card.default > .heading {
- background-color: var(--color-grey);
- border-bottom: 2px solid var(--color-grey);
- }
-
- .card.error > .heading {
- background-color: var(--color-red);
- border-bottom: 2px solid var(--color-red);
- }
-
- .card.info > .heading {
- background-color: var(--color-midnight);
- border-bottom: 2px solid var(--color-midnight);
- }
-
- .card.success > .heading {
- background-color: var(--color-green);
- border-bottom: 2px solid var(--color-green);
- }
-
- .card.warning > .heading {
- background-color: var(--color-orange);
- border-bottom: 2px solid var(--color-orange);
- }
-
- :is(.error, .info, .success, .warning) .heading-icon::part(icon) {
- font-family: 'Material Symbols Rounded';
- font-weight: 900;
- font-variation-settings: 'FILL' 1;
- height: 1.25rem;
- width: 1.25rem;
- }
-
- :is(.error, .info, .success, .warning) .heading-icon {
- font-size: 1.25rem !important;
- }
-
- .error .heading-icon::part(icon)::before {
- content: 'error';
- }
-
- .info .heading-icon::part(icon)::before {
- content: 'info';
- }
-
- .success .heading-icon::part(icon)::before {
- content: 'check_circle';
- }
-
- .warning .heading-icon::part(icon)::before {
- content: 'warning';
- }
-
- .card > div > .content {
- grid-row: 2;
- grid-column: 1 / span 2;
- }
-
- .card.default .close {
- background-color: var(--color-grey);
- }
-
- .card.error .close {
- background-color: var(--color-red);
- }
-
- .card.info .close {
- background-color: var(--color-midnight);
- }
-
- .card.success .close {
- background-color: var(--color-green);
- }
-
- .card.warning .close {
- background-color: var(--color-orange);
- }
-
- .close > button {
- min-width: 44px;
- color: var(--color-white);
- min-height: 44px;
- display: grid;
- gap: 0.25em;
- line-height: 1.5rem;
- font-family: var(--font-family);
- font-weight: 700;
- cursor: pointer;
- border-radius: 1.5em;
- border-style: solid;
- border-width: 2px;
- font-size: 1rem;
- align-items: center;
- padding: 8px 14px;
- justify-content: center;
- font-style: normal;
- text-align: center;
- width: inherit;
- transition-duration: 0.5s;
- transition-property: background-color, color, border-color;
- background-color: rgba(0, 0, 0, 0);
- border-color: rgba(0, 0, 0, 0);
- }
+ .input {
+ padding: 0 1em;
- .close > button {
- padding: 8px;
- }
+ > input:first-child {
+ padding-left: 0.375em;
+ }
- .close > button .kol-icon {
- display: flex;
- width: 1em;
- height: 1em;
- font-size: 1rem;
+ > input:last-child {
+ padding-right: 0.375em;
+ }
}
- .close > button .kol-icon::part(icon) {
- font-family: 'Material Symbols Rounded';
- font-weight: 900;
+ kol-button-wc {
+ margin-right: -0.875em;
}
-
- .close > button .kol-icon::part(icon)::before {
- content: 'close';
+ .kol-input.disabled .kol-button-wc {
+ display: none;
}
- .close > button:active {
- box-shadow: none;
- outline: none;
- }
+ @include input;
}
diff --git a/packages/themes/bmf/src/components/input-radio.scss b/packages/themes/bmf/src/components/input-radio.scss
index 5ad7ea9982..c24c99a137 100644
--- a/packages/themes/bmf/src/components/input-radio.scss
+++ b/packages/themes/bmf/src/components/input-radio.scss
@@ -1,12 +1,22 @@
+@import '../mixins/input-messages.scss';
+
@layer kol-theme-component {
:host {
font-family: var(--font-family);
}
- /* INPUT */
.kol-input {
display: grid;
- gap: 0.4em;
+
+ &.disabled {
+ .input {
+ opacity: 0.5;
+ }
+ input,
+ label {
+ opacity: 1;
+ }
+ }
}
label {
@@ -27,24 +37,14 @@
/* padding: 10px 14px; */
line-height: 24px;
font-size: 16px;
- }
-
- input:hover {
- border-color: var(--color-midnight);
- box-shadow: 0px 2px 8px 2px rgba(8, 35, 48, 0.24);
- }
-
- input:focus:hover {
- box-shadow: none;
- }
- input:hover {
- border-color: var(--color-midnight);
- }
+ &:hover {
+ border-color: var(--color-midnight);
+ }
- .kol-alert-wc {
- display: block;
- width: 100%;
+ &:focus:hover {
+ box-shadow: none;
+ }
}
.required legend > span::after {
@@ -52,13 +52,68 @@
padding-left: 0.125em;
}
- /* RADIO */
fieldset {
border: 0px;
margin: 0px;
padding: 0px;
- display: grid;
gap: 0.25em;
+ color: var(--color-black);
+ display: grid;
+
+ &.horizontal {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 0.25rem 1.5rem;
+
+ legend span {
+ width: 100%;
+ }
+ }
+
+ .kol-alert-wc {
+ order: 1;
+ padding-bottom: 0.25em;
+ }
+
+ legend {
+ order: 2;
+ display: contents;
+ padding-bottom: 0.25em;
+
+ * {
+ order: 2;
+ }
+ }
+
+ .kol-input {
+ order: 3;
+ }
+
+ .input-slot {
+ gap: 0.5rem;
+ }
+
+ &.error {
+ border-left: 3px solid var(--color-red);
+ padding-left: 1em;
+
+ input:focus,
+ select:focus,
+ textarea:focus {
+ outline-color: var(--color-red) !important;
+ }
+
+ .kol-alert-wc.error {
+ margin-left: -0.25em;
+ color: var(--color-red);
+ font-weight: 700;
+ }
+
+ label,
+ legend {
+ color: initial;
+ }
+ }
}
.radio-input-wrapper {
@@ -70,441 +125,45 @@
min-height: 44px;
margin: 0;
gap: 0.5rem;
- }
-
- .radio-input-wrapper label {
- cursor: pointer;
- display: flex;
- padding-left: 0.25em;
- width: 100%;
- }
-
- .radio-input-wrapper label span {
- margin-top: 0.125em;
- }
-
- .radio-input-wrapper input[type='radio'] {
- appearance: none;
- transition: 0.5s;
- border-radius: 100%;
- height: calc(6 * var(--spacing));
- min-width: calc(6 * var(--spacing));
- width: calc(6 * var(--spacing));
- }
-
- .radio-input-wrapper input[type='radio']:before {
- content: '';
- cursor: pointer;
- border-radius: 100%;
- display: block;
- }
-
- .radio-input-wrapper input[type='radio']:checked:before {
- background-color: var(--color-midnight);
- }
-
- .radio-input-wrapper input[type='radio']:disabled {
- cursor: not-allowed;
- border-color: var(--border-default);
- background-color: var(--background-light-grey);
- }
-
- .kol-alert-wc.error {
- order: 1;
- }
-
- fieldset legend {
- order: 2;
- display: contents;
- }
-
- fieldset .kol-input {
- order: 3;
- }
-
- fieldset.error {
- border-left: 3px solid var(--color-red);
- color: var(--color-red);
- font-weight: 700;
- padding-left: 1em;
- }
-
- fieldset.error input:focus,
- fieldset.error select:focus,
- fieldset.error textarea:focus {
- outline-color: var(--color-red) !important;
- }
-
- fieldset.error .kol-alert-wc.error {
- margin-left: -0.25em;
- color: var(--color-red);
- font-weight: 700;
- }
-
- fieldset.horizontal {
- display: flex;
- flex-wrap: wrap;
- gap: 0.5rem 1rem;
- }
-
- fieldset.horizontal legend {
- display: inline-block;
- margin-bottom: 0.25em;
- }
-
- fieldset .input-slot {
- gap: 0.5rem;
- }
-
- .radio-input-wrapper label {
- padding-left: 0;
- }
-
- .msg {
- border-width: 0 !important;
- }
-
- .kol-alert-wc {
- border-width: 2px;
- border-style: solid;
- border-radius: 5px;
- display: flex;
- width: 100%;
- overflow: unset;
- border-color: transparent;
- background-color: white;
- }
-
- .kol-alert-wc > .heading {
- display: flex;
- gap: 0.5em;
- place-items: center;
- }
-
- .kol-alert-wc > .heading > div {
- display: grid;
- gap: var(--kolibri-spacing);
- }
-
- .msg {
- background-color: transparent;
- }
-
- .msg > .heading {
- place-items: flex-start;
- }
-
- .msg > .heading > .kol-icon {
- place-self: baseline;
- }
-
- .kol-alert-wc > .heading > div {
- display: grid;
- gap: var(--spacing);
- }
-
- .kol-alert-wc > .heading > .kol-button-wc.close {
- place-self: center;
- }
-
- .msg {
- align-items: start;
- }
-
- .default {
- border-color: var(--color-grey);
- }
-
- .default.msg .heading-icon {
- color: var(--color-grey);
- }
-
- .error {
- border-color: var(--color-red);
- }
-
- .error.msg .heading-icon {
- color: var(--color-red);
- }
-
- .info {
- border-color: var(--color-midnight);
- }
-
- .info.msg .heading-icon {
- color: var(--color-midnight);
- }
-
- .success {
- border-color: var(--color-green);
- }
-
- .success.msg .heading-icon {
- color: var(--color-green);
- }
-
- .warning {
- border-color: var(--color-orange);
- }
-
- .warning.msg .heading-icon {
- color: var(--color-orange);
- }
-
- .heading-icon {
- color: white;
- }
-
- .kol-alert-wc .heading .heading-icon {
- padding: 0;
- }
-
- .msg > .heading > .heading-icon {
- padding-top: 0;
- place-items: baseline;
- }
-
- .msg > .heading > .heading-icon::part(icon) {
- line-height: 1.375rem;
- }
-
- .msg > .heading > div > .kol-heading-wc {
- line-height: 20px;
- padding-top: 0.125rem;
- }
-
- .msg.default .heading > div > .kol-heading-wc {
- color: var(--color-grey);
- }
-
- .msg.error .heading > div > .kol-heading-wc {
- color: var(--color-red);
- }
-
- .msg.info .heading > div > .kol-heading-wc {
- color: var(--color-midnight);
- }
-
- .msg.success .heading > div > .kol-heading-wc {
- color: var(--color-green);
- }
-
- .msg.warning .heading > div > .kol-heading-wc {
- color: var(--color-orange);
- }
-
- /*.msg > .heading > div {display: grid;grid-template-columns: 1fr auto;}.msg > .heading > div > .content {grid-row: 2;grid-column: 1;}.msg > div > .close {display: flex;}*/
- .msg.default .close .icon {
- color: var(--color-grey);
- }
-
- .msg.error .close .icon {
- color: var(--color-red);
- }
-
- .msg.info .close .icon {
- color: var(--color-midnight);
- }
-
- .msg.success .close .icon {
- color: var(--color-green);
- }
-
- .msg.warning .close .icon {
- color: var(--color-orange);
- }
-
- .card {
- border-width: 2px;
- border-style: solid;
- filter: drop-shadow(0px 2px 4px rgba(8, 35, 48, 0.24));
- flex-direction: column;
- }
-
- .card > .heading {
- padding: 0.5rem 1rem;
- }
-
- .card.hasCloser > .heading {
- padding-top: 0;
- padding-bottom: 0;
- padding-right: 0;
- }
-
- .card > .heading > div {
- width: 100%;
- min-height: 1.25rem;
- }
-
- .card > .heading .heading-icon {
- justify-self: right;
- margin-top: -4px;
- }
-
- .card > .heading .kol-heading-wc {
- width: 100%;
- color: white;
- display: flex;
- font-size: 1.25rem;
- line-height: 1.25rem;
- }
- .card > .heading .kol-heading-wc > * {
- margin: auto 0;
- }
-
- .card > .heading .kol-button-wc button:focus {
- outline-color: var(--color-white);
- outline-offset: -3px;
- outline-style: solid;
- outline-width: 3px;
- transition: outline 0.1s linear;
- }
-
- .card > .heading .kol-button-wc button:hover {
- background-color: rgba(32, 32, 32, 0.2);
- }
-
- .card > .heading .kol-button-wc button:active {
- background-color: rgba(32, 32, 32, 0.4);
- }
-
- .card > .heading .kol-button-wc button:hover:focus {
- background-color: rgba(32, 32, 32, 0.1);
- }
-
- .card > .content {
- padding: 1rem;
- max-height: 9.5rem;
- overflow-y: auto;
- }
-
- .card.default > .heading {
- background-color: var(--color-grey);
- border-bottom: 2px solid var(--color-grey);
- }
-
- .card.error > .heading {
- background-color: var(--color-red);
- border-bottom: 2px solid var(--color-red);
- }
-
- .card.info > .heading {
- background-color: var(--color-midnight);
- border-bottom: 2px solid var(--color-midnight);
- }
-
- .card.success > .heading {
- background-color: var(--color-green);
- border-bottom: 2px solid var(--color-green);
- }
-
- .card.warning > .heading {
- background-color: var(--color-orange);
- border-bottom: 2px solid var(--color-orange);
- }
-
- :is(.error, .info, .success, .warning) .heading-icon::part(icon) {
- font-family: 'Material Symbols Rounded';
- font-weight: 900;
- font-variation-settings: 'FILL' 1;
- height: 1.25rem;
- width: 1.25rem;
- }
-
- :is(.error, .info, .success, .warning) .heading-icon {
- font-size: 1.25rem !important;
- }
-
- .error .heading-icon::part(icon)::before {
- content: 'error';
- }
-
- .info .heading-icon::part(icon)::before {
- content: 'info';
- }
-
- .success .heading-icon::part(icon)::before {
- content: 'check_circle';
- }
-
- .warning .heading-icon::part(icon)::before {
- content: 'warning';
- }
-
- .card > div > .content {
- grid-row: 2;
- grid-column: 1 / span 2;
- }
-
- .card.default .close {
- background-color: var(--color-grey);
- }
-
- .card.error .close {
- background-color: var(--color-red);
- }
-
- .card.info .close {
- background-color: var(--color-midnight);
- }
-
- .card.success .close {
- background-color: var(--color-green);
- }
-
- .card.warning .close {
- background-color: var(--color-orange);
- }
-
- .close > button {
- min-width: 44px;
- color: var(--color-white);
- min-height: 44px;
- display: grid;
- gap: 0.25em;
- line-height: 1.5rem;
- font-family: var(--font-family);
- font-weight: 700;
- cursor: pointer;
- border-radius: 1.5em;
- border-style: solid;
- border-width: 2px;
- font-size: 1rem;
- align-items: center;
- padding: 8px 14px;
- justify-content: center;
- font-style: normal;
- text-align: center;
- width: inherit;
- transition-duration: 0.5s;
- transition-property: background-color, color, border-color;
- background-color: rgba(0, 0, 0, 0);
- border-color: rgba(0, 0, 0, 0);
- }
-
- .close > button {
- padding: 8px;
- }
-
- .close > button .kol-icon {
- display: flex;
- width: 1em;
- height: 1em;
- font-size: 1rem;
- }
-
- .close > button .kol-icon::part(icon) {
- font-family: 'Material Symbols Rounded';
- font-weight: 900;
- }
-
- .close > button .kol-icon::part(icon)::before {
- content: 'close';
- }
-
- .close > button:active {
- box-shadow: none;
- outline: none;
- }
+ label {
+ cursor: pointer;
+ display: flex;
+ padding-left: 0;
+ width: 100%;
+
+ span {
+ margin-top: 0.125em;
+ }
+ }
+
+ input[type='radio'] {
+ appearance: none;
+ transition: 0.5s;
+ border-radius: 100%;
+ height: calc(6 * var(--spacing));
+ min-width: calc(6 * var(--spacing));
+ width: calc(6 * var(--spacing));
+
+ &:before {
+ content: '';
+ cursor: pointer;
+ border-radius: 100%;
+ display: block;
+ }
+ &:checked {
+ border-color: var(--color-midnight);
+
+ &:before {
+ background-color: var(--color-midnight);
+ }
+ }
+ }
+
+ :is(input[type='radio']:disabled, .radio-label) {
+ cursor: not-allowed;
+ }
+ }
+
+ @include inputMessages;
}
diff --git a/packages/themes/bmf/src/components/input-range.scss b/packages/themes/bmf/src/components/input-range.scss
index 1dacce64a0..250c8d692e 100644
--- a/packages/themes/bmf/src/components/input-range.scss
+++ b/packages/themes/bmf/src/components/input-range.scss
@@ -1,95 +1,31 @@
-@layer kol-theme-component {
- :host {
- font-family: var(--font-family);
- }
-
- .kol-input {
- gap: 0.25em;
- }
-
- .kol-input .error {
- order: 1;
- }
-
- .kol-input label {
- order: 2;
- }
-
- .kol-input .input {
- order: 3;
- }
-
- .kol-input .hint {
- order: 4;
- font-size: 0.875em;
- font-style: italic;
- }
+@import '../mixins/input.scss';
+@layer kol-theme-component {
.inputs-wrapper {
gap: 1em;
}
- input::placeholder {
- color: var(--color-grey);
+ input {
+ &:disabled {
+ cursor: not-allowed;
+ }
+
+ &::placeholder {
+ color: var(--color-grey);
+ }
}
.input {
- background-color: var(--color-white);
- border-color: var(--color-grey);
- border-radius: var(--border-radius);
- border-style: solid;
- border-width: 2px;
padding: 0 1em;
- }
- .input > .kol-icon {
- width: 1em;
- }
+ &.icon-left > .kol-icon:first-child {
+ margin-right: 0.5em;
+ }
- .input.icon-left > .kol-icon:first-child {
- margin-right: 0.5em;
+ &.icon-right > .kol-icon:last-child {
+ margin-left: 0.5em;
+ }
}
- .input.icon-right > .kol-icon:last-child {
- margin-left: 0.5em;
- }
-
- .input:is(.icon-left, .icon-right) {
- padding-left: 1em;
- padding-right: 1em;
- }
-
- .input:hover {
- border-color: var(--color-midnight);
- }
-
- input:disabled {
- cursor: not-allowed;
- }
-
- .required label > span::after {
- content: '*';
- padding-left: 0.125em;
- }
-
- .kol-input.error .input {
- border-color: var(--color-red);
- border-width: 3px;
- }
-
- .kol-input.error:not(.hidden-error) {
- border-left: 3px solid var(--color-red);
- padding-left: 1em;
- }
-
- .kol-input.error .kol-alert-wc.error {
- color: var(--color-red);
- font-weight: 700;
- }
-
- .kol-input.disabled .input {
- background-color: var(--color-smoke);
- border-color: var(--color-granite);
- color: var(--color-black);
- }
+ @include input;
}
diff --git a/packages/themes/bmf/src/components/input-text.scss b/packages/themes/bmf/src/components/input-text.scss
index c0b8fab748..f160a79d07 100644
--- a/packages/themes/bmf/src/components/input-text.scss
+++ b/packages/themes/bmf/src/components/input-text.scss
@@ -1,448 +1,31 @@
-@layer kol-theme-component {
- :host {
- font-family: var(--font-family);
- }
-
- .kol-input {
- gap: 0.25em;
- }
-
- .kol-input .error {
- order: 1;
- }
-
- .kol-input label {
- order: 2;
- }
-
- .kol-input .input {
- order: 3;
- }
-
- .kol-input .hint {
- order: 4;
- font-size: 0.875em;
- font-style: italic;
- }
+@import '../mixins/input.scss';
+@layer kol-theme-component {
input {
border: none;
- }
-
- input::placeholder {
- color: var(--color-grey);
- }
-
- .input {
- background-color: var(--color-white);
- border-color: var(--color-grey);
- border-radius: var(--border-radius);
- border-style: solid;
- border-width: 2px;
- padding: 0 0.5em;
- }
-
- .input > .kol-icon {
- width: 1em;
- }
-
- .input:is(.icon-left, .icon-right) {
- padding-left: 1em;
- padding-right: 1em;
- }
-
- .input:is(.icon-left, .icon-right) input {
- padding-left: 0.5em;
- padding-right: 0.5em;
- }
-
- .input > input:first-child {
- padding-left: 0.375em;
- }
-
- .input > input:last-child {
- padding-right: 0.375em;
- }
-
- .input:hover {
- border-color: var(--color-midnight);
- }
-
- input:disabled {
- cursor: not-allowed;
- }
-
- .required label > span::after {
- content: '*';
- padding-left: 0.125em;
- }
-
- .kol-input.error .input {
- border-color: var(--color-red);
- border-width: 3px;
- }
-
- .kol-input.error:not(.hidden-error) {
- border-left: 3px solid var(--color-red);
- padding-left: 1em;
- }
-
- .kol-input.error .kol-alert-wc.error {
- color: var(--color-red);
- font-weight: 700;
- }
-
- .kol-input.disabled .input {
- background-color: var(--color-smoke);
- border-color: var(--color-granite);
- color: var(--color-black);
- }
-
- .msg {
- border-width: 0 !important;
- }
-
- .kol-alert-wc {
- border-width: 2px;
- border-style: solid;
- border-radius: 5px;
- display: flex;
- width: 100%;
- overflow: unset;
- border-color: transparent;
- background-color: white;
- }
-
- .kol-alert-wc > .heading {
- display: flex;
- gap: 0.5em;
- place-items: center;
- }
-
- .kol-alert-wc > .heading > div {
- display: grid;
- gap: var(--kolibri-spacing);
- }
-
- .msg {
- background-color: transparent;
- }
-
- .msg > .heading {
- place-items: flex-start;
- }
-
- .msg > .heading > .kol-icon {
- place-self: baseline;
- }
-
- .kol-alert-wc > .heading > div {
- display: grid;
- gap: var(--spacing);
- }
-
- .kol-alert-wc > .heading > .kol-button-wc.close {
- place-self: center;
- }
-
- .msg {
- align-items: start;
- }
-
- .default {
- border-color: var(--color-grey);
- }
-
- .default.msg .heading-icon {
- color: var(--color-grey);
- }
-
- .error {
- border-color: var(--color-red);
- }
-
- .error.msg .heading-icon {
- color: var(--color-red);
- }
-
- .info {
- border-color: var(--color-midnight);
- }
-
- .info.msg .heading-icon {
- color: var(--color-midnight);
- }
-
- .success {
- border-color: var(--color-green);
- }
-
- .success.msg .heading-icon {
- color: var(--color-green);
- }
-
- .warning {
- border-color: var(--color-orange);
- }
-
- .warning.msg .heading-icon {
- color: var(--color-orange);
- }
-
- .heading-icon {
- color: white;
- }
-
- .kol-alert-wc .heading .heading-icon {
- padding: 0;
- }
-
- .msg > .heading > .heading-icon {
- padding-top: 0;
- place-items: baseline;
- }
-
- .msg > .heading > .heading-icon::part(icon) {
- line-height: 1.375rem;
- }
-
- .msg > .heading > div > .kol-heading-wc {
- line-height: 20px;
- padding-top: 0.125rem;
- }
-
- .msg.default .heading > div > .kol-heading-wc {
- color: var(--color-grey);
- }
-
- .msg.error .heading > div > .kol-heading-wc {
- color: var(--color-red);
- }
-
- .msg.info .heading > div > .kol-heading-wc {
- color: var(--color-midnight);
- }
-
- .msg.success .heading > div > .kol-heading-wc {
- color: var(--color-green);
- }
-
- .msg.warning .heading > div > .kol-heading-wc {
- color: var(--color-orange);
- }
-
- /*.msg > .heading > div {display: grid;grid-template-columns: 1fr auto;}.msg > .heading > div > .content {grid-row: 2;grid-column: 1;}.msg > div > .close {display: flex;}*/
- .msg.default .close .icon {
- color: var(--color-grey);
- }
-
- .msg.error .close .icon {
- color: var(--color-red);
- }
-
- .msg.info .close .icon {
- color: var(--color-midnight);
- }
-
- .msg.success .close .icon {
- color: var(--color-green);
- }
-
- .msg.warning .close .icon {
- color: var(--color-orange);
- }
-
- .card {
- border-width: 2px;
- border-style: solid;
- filter: drop-shadow(0px 2px 4px rgba(8, 35, 48, 0.24));
- flex-direction: column;
- }
-
- .card > .heading {
- padding: 0.5rem 1rem;
- }
-
- .card.hasCloser > .heading {
- padding-top: 0;
- padding-bottom: 0;
- padding-right: 0;
- }
-
- .card > .heading > div {
- width: 100%;
- min-height: 1.25rem;
- }
-
- .card > .heading .heading-icon {
- justify-self: right;
- margin-top: -4px;
- }
-
- .card > .heading .kol-heading-wc {
- width: 100%;
- color: white;
- display: flex;
- font-size: 1.25rem;
- line-height: 1.25rem;
- }
-
- .card > .heading .kol-heading-wc > * {
- margin: auto 0;
- }
-
- .card > .heading .kol-button-wc button:focus {
- outline-color: var(--color-white);
- outline-offset: -3px;
- outline-style: solid;
- outline-width: 3px;
- transition: outline 0.1s linear;
- }
-
- .card > .heading .kol-button-wc button:hover {
- background-color: rgba(32, 32, 32, 0.2);
- }
-
- .card > .heading .kol-button-wc button:active {
- background-color: rgba(32, 32, 32, 0.4);
- }
-
- .card > .heading .kol-button-wc button:hover:focus {
- background-color: rgba(32, 32, 32, 0.1);
- }
-
- .card > .content {
- padding: 1rem;
- max-height: 9.5rem;
- overflow-y: auto;
- }
-
- .card.default > .heading {
- background-color: var(--color-grey);
- border-bottom: 2px solid var(--color-grey);
- }
-
- .card.error > .heading {
- background-color: var(--color-red);
- border-bottom: 2px solid var(--color-red);
- }
-
- .card.info > .heading {
- background-color: var(--color-midnight);
- border-bottom: 2px solid var(--color-midnight);
- }
-
- .card.success > .heading {
- background-color: var(--color-green);
- border-bottom: 2px solid var(--color-green);
- }
-
- .card.warning > .heading {
- background-color: var(--color-orange);
- border-bottom: 2px solid var(--color-orange);
- }
-
- :is(.error, .info, .success, .warning) .heading-icon::part(icon) {
- font-family: 'Material Symbols Rounded';
- font-weight: 900;
- font-variation-settings: 'FILL' 1;
- height: 1.25rem;
- width: 1.25rem;
- }
-
- :is(.error, .info, .success, .warning) .heading-icon {
- font-size: 1.25rem !important;
- }
-
- .error .heading-icon::part(icon)::before {
- content: 'error';
- }
-
- .info .heading-icon::part(icon)::before {
- content: 'info';
- }
-
- .success .heading-icon::part(icon)::before {
- content: 'check_circle';
- }
-
- .warning .heading-icon::part(icon)::before {
- content: 'warning';
- }
-
- .card > div > .content {
- grid-row: 2;
- grid-column: 1 / span 2;
- }
-
- .card.default .close {
- background-color: var(--color-grey);
- }
-
- .card.error .close {
- background-color: var(--color-red);
- }
- .card.info .close {
- background-color: var(--color-midnight);
- }
-
- .card.success .close {
- background-color: var(--color-green);
- }
+ &::placeholder {
+ color: var(--color-grey);
+ }
- .card.warning .close {
- background-color: var(--color-orange);
+ &[disabled],
+ &[disabled]:focus {
+ cursor: not-allowed;
+ opacity: 1 !important;
+ }
}
- .close > button {
- min-width: 44px;
- color: var(--color-white);
- min-height: 44px;
- display: grid;
- gap: 0.25em;
- line-height: 1.5rem;
- font-family: var(--font-family);
- font-weight: 700;
- cursor: pointer;
- border-radius: 1.5em;
- border-style: solid;
- border-width: 2px;
- font-size: 1rem;
- align-items: center;
- padding: 8px 14px;
- justify-content: center;
- font-style: normal;
- text-align: center;
- width: inherit;
- transition-duration: 0.5s;
- transition-property: background-color, color, border-color;
- background-color: rgba(0, 0, 0, 0);
- border-color: rgba(0, 0, 0, 0);
- }
-
- .close > button {
- padding: 8px;
- }
+ .input {
+ padding: 0 1em;
- .close > button .kol-icon {
- display: flex;
- width: 1em;
- height: 1em;
- font-size: 1rem;
- }
+ > input:first-child {
+ padding-left: 0.375em;
+ }
- .close > button .kol-icon::part(icon) {
- font-family: 'Material Symbols Rounded';
- font-weight: 900;
+ > input:last-child {
+ padding-right: 0.375em;
+ }
}
- .close > button .kol-icon::part(icon)::before {
- content: 'close';
- }
-
- .close > button:active {
- box-shadow: none;
- outline: none;
- }
+ @include input;
}
diff --git a/packages/themes/bmf/src/components/pagination.scss b/packages/themes/bmf/src/components/pagination.scss
index 0e8a3b2cb5..dc5d07af25 100644
--- a/packages/themes/bmf/src/components/pagination.scss
+++ b/packages/themes/bmf/src/components/pagination.scss
@@ -57,9 +57,9 @@
}
.button-inner {
- background-color: var(--color-white);
+ background-color: transparent;
border-radius: var(--a11y-min-size);
- border: 2px solid var(--color-white);
+ border: 2px solid transparent;
color: var(--color-midnight);
min-height: var(--a11y-min-size);
min-width: var(--a11y-min-size);
diff --git a/packages/themes/bmf/src/components/progress.scss b/packages/themes/bmf/src/components/progress.scss
index 4672408587..484b1e4f1b 100644
--- a/packages/themes/bmf/src/components/progress.scss
+++ b/packages/themes/bmf/src/components/progress.scss
@@ -22,6 +22,7 @@
fill: var(--color-ice);
stroke: var(--color-ice);
stroke-width: 1px;
+ height: 0.5rem;
}
.bar .progress {
diff --git a/packages/themes/bmf/src/components/select.scss b/packages/themes/bmf/src/components/select.scss
index e50854ff50..5629ccbd42 100644
--- a/packages/themes/bmf/src/components/select.scss
+++ b/packages/themes/bmf/src/components/select.scss
@@ -1,477 +1,63 @@
-@layer kol-theme-component {
- :host {
- font-family: var(--font-family);
- }
-
- .kol-input {
- gap: 0.25em;
- }
-
- .kol-input .error {
- order: 1;
- }
-
- .kol-input label {
- order: 2;
- }
-
- .kol-input .input {
- order: 3;
- }
-
- .kol-input .hint {
- order: 4;
- font-size: 0.875em;
- font-style: italic;
- }
+@import '../mixins/input.scss';
+@layer kol-theme-component {
select {
border: none;
- }
-
- input::placeholder {
- color: var(--color-grey);
- }
-
- .input {
- background-color: var(--color-white);
- border-color: var(--color-grey);
- border-radius: var(--border-radius);
- border-style: solid;
- border-width: 2px;
- padding: 0 0.5em;
- }
-
- .input > .kol-icon {
- width: 1em;
- }
-
- .input:is(.icon-left, .icon-right) {
- padding-left: 1em;
- padding-right: 1em;
- }
- .input.icon-left .kol-icon:first-child {
- margin-right: 0.5em;
- }
-
- .input.icon-right .kol-icon:last-child {
- margin-left: 0.5em;
- }
-
- .input > input:first-child {
- padding-left: 0.375em;
- }
-
- .input > input:last-child {
- padding-right: 0.375em;
- }
-
- .input:hover {
- border-color: var(--color-midnight);
- }
+ &::placeholder {
+ color: var(--color-grey);
+ }
- select:disabled {
- cursor: not-allowed;
- }
+ &:disabled {
+ cursor: not-allowed;
+ }
- .required label > span::after {
- content: '*';
- padding-left: 0.125em;
- }
+ &[multiple] {
+ overflow: auto;
+ }
- .kol-input.error .input {
- border-color: var(--color-red);
- border-width: 3px;
- }
+ option {
+ margin: 1px 0;
+ border-radius: 0.25em;
+ cursor: pointer;
- .kol-input.error:not(.hidden-error) {
- border-left: 3px solid var(--color-red);
- padding-left: 1em;
- }
-
- .kol-input.error .kol-alert-wc.error {
- color: var(--color-red);
- font-weight: 700;
- }
-
- .kol-input.disabled .input {
- background-color: var(--color-smoke);
- border-color: var(--color-granite);
- color: var(--color-black);
- }
-
- select[multiple] {
- overflow: auto;
- }
-
- select option {
- margin: 1px 0;
- border-radius: 0.25em;
- cursor: pointer;
- }
-
- select:not([multiple]) option {
- padding: 0.5em;
- }
+ &:disabled {
+ cursor: not-allowed;
+ }
- select option:disabled {
- cursor: not-allowed;
- }
-
- option:active:not(:disabled),
- option:checked:not(:disabled),
- option:focus:not(:disabled),
- option:hover:not(:disabled) {
- background: var(--color-ocean);
- color: white;
- }
-
- .msg {
- border-width: 0 !important;
- }
-
- .kol-alert-wc {
- border-width: 2px;
- border-style: solid;
- border-radius: 5px;
- display: flex;
- width: 100%;
- overflow: unset;
- border-color: transparent;
- background-color: white;
- }
-
- .kol-alert-wc > .heading {
- display: flex;
- gap: 0.5em;
- place-items: center;
- }
-
- .kol-alert-wc > .heading > div {
- display: grid;
- gap: var(--kolibri-spacing);
- }
-
- .msg {
- background-color: transparent;
- }
-
- .msg > .heading {
- place-items: flex-start;
- }
-
- .msg > .heading > .kol-icon {
- place-self: baseline;
- }
-
- .kol-alert-wc > .heading > div {
- display: grid;
- gap: var(--spacing);
- }
-
- .kol-alert-wc > .heading > .kol-button-wc.close {
- place-self: center;
- }
-
- .msg {
- align-items: start;
- }
-
- .default {
- border-color: var(--color-grey);
- }
-
- .default.msg .heading-icon {
- color: var(--color-grey);
- }
-
- .error {
- border-color: var(--color-red);
- }
-
- .error.msg .heading-icon {
- color: var(--color-red);
- }
-
- .info {
- border-color: var(--color-midnight);
- }
-
- .info.msg .heading-icon {
- color: var(--color-midnight);
- }
-
- .success {
- border-color: var(--color-green);
- }
-
- .success.msg .heading-icon {
- color: var(--color-green);
- }
-
- .warning {
- border-color: var(--color-orange);
- }
-
- .warning.msg .heading-icon {
- color: var(--color-orange);
- }
-
- .heading-icon {
- color: white;
- }
+ &:active:not(:disabled),
+ &:checked:not(:disabled),
+ &:focus:not(:disabled),
+ &:hover:not(:disabled) {
+ background: var(--color-ocean);
+ color: white;
+ }
+ }
- .kol-alert-wc .heading .heading-icon {
- padding: 0;
+ &:not([multiple]) option {
+ padding: 0.5em;
+ }
}
- .msg > .heading > .heading-icon {
- padding-top: 0;
- place-items: baseline;
- }
-
- .msg > .heading > .heading-icon::part(icon) {
- line-height: 1.375rem;
- }
-
- .msg > .heading > div > .kol-heading-wc {
- line-height: 20px;
- padding-top: 0.125rem;
- }
-
- .msg.default .heading > div > .kol-heading-wc {
- color: var(--color-grey);
- }
-
- .msg.error .heading > div > .kol-heading-wc {
- color: var(--color-red);
- }
-
- .msg.info .heading > div > .kol-heading-wc {
- color: var(--color-midnight);
- }
-
- .msg.success .heading > div > .kol-heading-wc {
- color: var(--color-green);
- }
-
- .msg.warning .heading > div > .kol-heading-wc {
- color: var(--color-orange);
- }
-
- /*.msg > .heading > div {display: grid;grid-template-columns: 1fr auto;}.msg > .heading > div > .content {grid-row: 2;grid-column: 1;}.msg > div > .close {display: flex;}*/
- .msg.default .close .icon {
- color: var(--color-grey);
- }
-
- .msg.error .close .icon {
- color: var(--color-red);
- }
-
- .msg.info .close .icon {
- color: var(--color-midnight);
- }
-
- .msg.success .close .icon {
- color: var(--color-green);
- }
-
- .msg.warning .close .icon {
- color: var(--color-orange);
- }
-
- .card {
- border-width: 2px;
- border-style: solid;
- filter: drop-shadow(0px 2px 4px rgba(8, 35, 48, 0.24));
- flex-direction: column;
- }
-
- .card > .heading {
- padding: 0.5rem 1rem;
- }
-
- .card.hasCloser > .heading {
- padding-top: 0;
- padding-bottom: 0;
- padding-right: 0;
- }
-
- .card > .heading > div {
- width: 100%;
- min-height: 1.25rem;
- }
-
- .card > .heading .heading-icon {
- justify-self: right;
- margin-top: -4px;
- }
-
- .card > .heading .kol-heading-wc {
- width: 100%;
- color: white;
- display: flex;
- font-size: 1.25rem;
- line-height: 1.25rem;
- }
-
- .card > .heading .kol-heading-wc > * {
- margin: auto 0;
- }
-
- .card > .heading .kol-button-wc button:focus {
- outline-color: var(--color-white);
- outline-offset: -3px;
- outline-style: solid;
- outline-width: 3px;
- transition: outline 0.1s linear;
- }
-
- .card > .heading .kol-button-wc button:hover {
- background-color: rgba(32, 32, 32, 0.2);
- }
-
- .card > .heading .kol-button-wc button:active {
- background-color: rgba(32, 32, 32, 0.4);
- }
-
- .card > .heading .kol-button-wc button:hover:focus {
- background-color: rgba(32, 32, 32, 0.1);
- }
-
- .card > .content {
- padding: 1rem;
- max-height: 9.5rem;
- overflow-y: auto;
- }
-
- .card.default > .heading {
- background-color: var(--color-grey);
- border-bottom: 2px solid var(--color-grey);
- }
-
- .card.error > .heading {
- background-color: var(--color-red);
- border-bottom: 2px solid var(--color-red);
- }
-
- .card.info > .heading {
- background-color: var(--color-midnight);
- border-bottom: 2px solid var(--color-midnight);
- }
-
- .card.success > .heading {
- background-color: var(--color-green);
- border-bottom: 2px solid var(--color-green);
- }
-
- .card.warning > .heading {
- background-color: var(--color-orange);
- border-bottom: 2px solid var(--color-orange);
- }
-
- :is(.error, .info, .success, .warning) .heading-icon::part(icon) {
- font-family: 'Material Symbols Rounded';
- font-weight: 900;
- font-variation-settings: 'FILL' 1;
- height: 1.25rem;
- width: 1.25rem;
- }
-
- :is(.error, .info, .success, .warning) .heading-icon {
- font-size: 1.25rem !important;
- }
-
- .error .heading-icon::part(icon)::before {
- content: 'error';
- }
-
- .info .heading-icon::part(icon)::before {
- content: 'info';
- }
-
- .success .heading-icon::part(icon)::before {
- content: 'check_circle';
- }
-
- .warning .heading-icon::part(icon)::before {
- content: 'warning';
- }
-
- .card > div > .content {
- grid-row: 2;
- grid-column: 1 / span 2;
- }
-
- .card.default .close {
- background-color: var(--color-grey);
- }
-
- .card.error .close {
- background-color: var(--color-red);
- }
-
- .card.info .close {
- background-color: var(--color-midnight);
- }
-
- .card.success .close {
- background-color: var(--color-green);
- }
-
- .card.warning .close {
- background-color: var(--color-orange);
- }
-
- .close > button {
- min-width: 44px;
- color: var(--color-white);
- min-height: 44px;
- display: grid;
- gap: 0.25em;
- line-height: 1.5rem;
- font-family: var(--font-family);
- font-weight: 700;
- cursor: pointer;
- border-radius: 1.5em;
- border-style: solid;
- border-width: 2px;
- font-size: 1rem;
- align-items: center;
- padding: 8px 14px;
- justify-content: center;
- font-style: normal;
- text-align: center;
- width: inherit;
- transition-duration: 0.5s;
- transition-property: background-color, color, border-color;
- background-color: rgba(0, 0, 0, 0);
- border-color: rgba(0, 0, 0, 0);
- }
+ .input {
+ padding: 0 1em;
- .close > button {
- padding: 8px;
- }
+ &.icon-left .kol-icon:first-child {
+ margin-right: 0.5em;
+ }
- .close > button .kol-icon {
- display: flex;
- width: 1em;
- height: 1em;
- font-size: 1rem;
- }
+ &.icon-right .kol-icon:last-child {
+ margin-left: 0.5em;
+ }
- .close > button .kol-icon::part(icon) {
- font-family: 'Material Symbols Rounded';
- font-weight: 900;
- }
+ > input:first-child {
+ padding-left: 0.375em;
+ }
- .close > button .kol-icon::part(icon)::before {
- content: 'close';
+ > input:last-child {
+ padding-right: 0.375em;
+ }
}
- .close > button:active {
- box-shadow: none;
- outline: none;
- }
+ @include input;
}
diff --git a/packages/themes/bmf/src/components/textarea.scss b/packages/themes/bmf/src/components/textarea.scss
index b64e5d7f08..d208e6091c 100644
--- a/packages/themes/bmf/src/components/textarea.scss
+++ b/packages/themes/bmf/src/components/textarea.scss
@@ -1,475 +1,34 @@
-@layer kol-theme-component {
- :host {
- font-family: var(--font-family);
- }
-
- .kol-input {
- gap: 0.25em;
- display: grid;
- grid-template-areas: 'error error' 'label counter' 'input input' 'hint hint';
- grid-template-columns: 1fr 115px;
- }
-
- .kol-input .error {
- order: 1;
- grid-area: error;
- }
-
- .kol-input label {
- order: 2;
- grid-area: label;
- }
-
- .kol-input .counter {
- order: 2;
- grid-area: counter;
- justify-self: end;
- }
-
- .kol-input .input {
- order: 3;
- grid-area: input;
- }
-
- .kol-input .hint {
- order: 4;
- font-size: 0.875em;
- font-style: italic;
- grid-area: hint;
- }
+@import '../mixins/input.scss';
+@layer kol-theme-component {
textarea {
border: none;
- }
-
- input::placeholder {
- color: var(--color-grey);
- }
-
- .input {
- background-color: var(--color-white);
- border-color: var(--color-grey);
- border-radius: var(--border-radius);
- border-style: solid;
- border-width: 2px;
- padding: 0 0.5em;
- }
-
- .input > .kol-icon {
- width: 1em;
- }
-
- .input:is(.icon-left, .icon-right) {
- padding-left: 1em;
- padding-right: 1em;
- }
-
- .input:is(.icon-left, .icon-right) input {
- padding-left: 0.5em;
- padding-right: 0.5em;
- }
-
- .input > input:first-child {
- padding-left: 0.375em;
- }
-
- .input > input:last-child {
- padding-right: 0.375em;
- }
-
- .input:hover {
- border-color: var(--color-midnight);
- }
-
- textarea:disabled {
- cursor: not-allowed;
- }
-
- .required label > span::after {
- content: '*';
- padding-left: 0.125em;
- }
-
- .kol-input.error .input {
- border-color: var(--color-red);
- border-width: 3px;
- }
-
- .kol-input.error:not(.hidden-error) {
- border-left: 3px solid var(--color-red);
- padding-left: 1em;
- }
-
- .kol-input.error .kol-alert-wc.error {
- color: var(--color-red);
- font-weight: 700;
- }
-
- select[multiple],
- textarea {
+ display: block;
+ padding-top: 12px;
+ padding-bottom: 12px;
overflow: auto;
- }
- textarea {
- display: block;
+ &::placeholder {
+ color: var(--color-grey);
+ }
+
+ &:disabled {
+ cursor: not-allowed;
+ opacity: 1;
+ }
}
.input {
+ padding: 0 0 0 1em;
position: relative;
- }
-
- .input textarea ~ span {
- position: absolute;
- top: -1.5rem;
- right: 0;
- color: var(--color-grey);
- }
-
- .msg {
- border-width: 0 !important;
- }
-
- .kol-alert-wc {
- border-width: 2px;
- border-style: solid;
- border-radius: 5px;
- display: flex;
- width: 100%;
- overflow: unset;
- border-color: transparent;
- background-color: white;
- }
-
- .kol-alert-wc > .heading {
- display: flex;
- gap: 0.5em;
- place-items: center;
- }
-
- .kol-alert-wc > .heading > div {
- display: grid;
- gap: var(--kolibri-spacing);
- }
-
- .msg {
- background-color: transparent;
- }
-
- .msg > .heading {
- place-items: flex-start;
- }
-
- .msg > .heading > .kol-icon {
- place-self: baseline;
- }
-
- .kol-alert-wc > .heading > div {
- display: grid;
- gap: var(--spacing);
- }
-
- .kol-alert-wc > .heading > .kol-button-wc.close {
- place-self: center;
- }
-
- .msg {
- align-items: start;
- }
-
- .default {
- border-color: var(--color-grey);
- }
-
- .default.msg .heading-icon {
- color: var(--color-grey);
- }
-
- .error {
- border-color: var(--color-red);
- }
-
- .error.msg .heading-icon {
- color: var(--color-red);
- }
-
- .info {
- border-color: var(--color-midnight);
- }
-
- .info.msg .heading-icon {
- color: var(--color-midnight);
- }
-
- .success {
- border-color: var(--color-green);
- }
-
- .success.msg .heading-icon {
- color: var(--color-green);
- }
-
- .warning {
- border-color: var(--color-orange);
- }
-
- .warning.msg .heading-icon {
- color: var(--color-orange);
- }
-
- .heading-icon {
- color: white;
- }
- .kol-alert-wc .heading .heading-icon {
- padding: 0;
+ textarea ~ span {
+ position: absolute;
+ top: -1.5rem;
+ right: 0;
+ color: var(--color-grey);
+ }
}
- .msg > .heading > .heading-icon {
- padding-top: 0;
- place-items: baseline;
- }
-
- .msg > .heading > .heading-icon::part(icon) {
- line-height: 1.375rem;
- }
-
- .msg > .heading > div > .kol-heading-wc {
- line-height: 20px;
- padding-top: 0.125rem;
- }
-
- .msg.default .heading > div > .kol-heading-wc {
- color: var(--color-grey);
- }
-
- .msg.error .heading > div > .kol-heading-wc {
- color: var(--color-red);
- }
-
- .msg.info .heading > div > .kol-heading-wc {
- color: var(--color-midnight);
- }
-
- .msg.success .heading > div > .kol-heading-wc {
- color: var(--color-green);
- }
-
- .msg.warning .heading > div > .kol-heading-wc {
- color: var(--color-orange);
- }
-
- /*.msg > .heading > div {display: grid;grid-template-columns: 1fr auto;}.msg > .heading > div > .content {grid-row: 2;grid-column: 1;}.msg > div > .close {display: flex;}*/
- .msg.default .close .icon {
- color: var(--color-grey);
- }
-
- .msg.error .close .icon {
- color: var(--color-red);
- }
-
- .msg.info .close .icon {
- color: var(--color-midnight);
- }
-
- .msg.success .close .icon {
- color: var(--color-green);
- }
-
- .msg.warning .close .icon {
- color: var(--color-orange);
- }
-
- .card {
- border-width: 2px;
- border-style: solid;
- filter: drop-shadow(0px 2px 4px rgba(8, 35, 48, 0.24));
- flex-direction: column;
- }
-
- .card > .heading {
- padding: 0.5rem 1rem;
- }
-
- .card.hasCloser > .heading {
- padding-top: 0;
- padding-bottom: 0;
- padding-right: 0;
- }
-
- .card > .heading > div {
- width: 100%;
- min-height: 1.25rem;
- }
-
- .card > .heading .heading-icon {
- justify-self: right;
- margin-top: -4px;
- }
-
- .card > .heading .kol-heading-wc {
- width: 100%;
- color: white;
- display: flex;
- font-size: 1.25rem;
- line-height: 1.25rem;
- }
-
- .card > .heading .kol-heading-wc > * {
- margin: auto 0;
- }
-
- .card > .heading .kol-button-wc button:focus {
- outline-color: var(--color-white);
- outline-offset: -3px;
- outline-style: solid;
- outline-width: 3px;
- transition: outline 0.1s linear;
- }
-
- .card > .heading .kol-button-wc button:hover {
- background-color: rgba(32, 32, 32, 0.2);
- }
-
- .card > .heading .kol-button-wc button:active {
- background-color: rgba(32, 32, 32, 0.4);
- }
-
- .card > .heading .kol-button-wc button:hover:focus {
- background-color: rgba(32, 32, 32, 0.1);
- }
-
- .card > .content {
- padding: 1rem;
- max-height: 9.5rem;
- overflow-y: auto;
- }
-
- .card.default > .heading {
- background-color: var(--color-grey);
- border-bottom: 2px solid var(--color-grey);
- }
-
- .card.error > .heading {
- background-color: var(--color-red);
- border-bottom: 2px solid var(--color-red);
- }
-
- .card.info > .heading {
- background-color: var(--color-midnight);
- border-bottom: 2px solid var(--color-midnight);
- }
-
- .card.success > .heading {
- background-color: var(--color-green);
- border-bottom: 2px solid var(--color-green);
- }
-
- .card.warning > .heading {
- background-color: var(--color-orange);
- border-bottom: 2px solid var(--color-orange);
- }
-
- :is(.error, .info, .success, .warning) .heading-icon::part(icon) {
- font-family: 'Material Symbols Rounded';
- font-weight: 900;
- font-variation-settings: 'FILL' 1;
- height: 1.25rem;
- width: 1.25rem;
- }
-
- :is(.error, .info, .success, .warning) .heading-icon {
- font-size: 1.25rem !important;
- }
-
- .error .heading-icon::part(icon)::before {
- content: 'error';
- }
-
- .info .heading-icon::part(icon)::before {
- content: 'info';
- }
-
- .success .heading-icon::part(icon)::before {
- content: 'check_circle';
- }
-
- .warning .heading-icon::part(icon)::before {
- content: 'warning';
- }
-
- .card > div > .content {
- grid-row: 2;
- grid-column: 1 / span 2;
- }
-
- .card.default .close {
- background-color: var(--color-grey);
- }
-
- .card.error .close {
- background-color: var(--color-red);
- }
-
- .card.info .close {
- background-color: var(--color-midnight);
- }
-
- .card.success .close {
- background-color: var(--color-green);
- }
-
- .card.warning .close {
- background-color: var(--color-orange);
- }
-
- .close > button {
- min-width: 44px;
- color: var(--color-white);
- min-height: 44px;
- display: grid;
- gap: 0.25em;
- line-height: 1.5rem;
- font-family: var(--font-family);
- font-weight: 700;
- cursor: pointer;
- border-radius: 1.5em;
- border-style: solid;
- border-width: 2px;
- font-size: 1rem;
- align-items: center;
- padding: 8px 14px;
- justify-content: center;
- font-style: normal;
- text-align: center;
- width: inherit;
- transition-duration: 0.5s;
- transition-property: background-color, color, border-color;
- background-color: rgba(0, 0, 0, 0);
- border-color: rgba(0, 0, 0, 0);
- }
-
- .close > button {
- padding: 8px;
- }
-
- .close > button .kol-icon {
- display: flex;
- width: 1em;
- height: 1em;
- font-size: 1rem;
- }
-
- .close > button .kol-icon::part(icon) {
- font-family: 'Material Symbols Rounded';
- font-weight: 900;
- }
-
- .close > button .kol-icon::part(icon)::before {
- content: 'close';
- }
-
- .close > button:active {
- box-shadow: none;
- outline: none;
- }
+ @include input;
}
diff --git a/packages/themes/bmf/src/global.scss b/packages/themes/bmf/src/global.scss
index ccc1ae3026..4874ef8516 100644
--- a/packages/themes/bmf/src/global.scss
+++ b/packages/themes/bmf/src/global.scss
@@ -104,7 +104,7 @@
.kol-tooltip-wc .tooltip-content {
border-radius: var(--border-radius);
- line-height: 1.5em;
+ line-height: 1.25em;
padding: 0.5rem 0.75rem;
}
diff --git a/packages/themes/bmf/src/mixins/input-messages.scss b/packages/themes/bmf/src/mixins/input-messages.scss
new file mode 100644
index 0000000000..95b6c9984b
--- /dev/null
+++ b/packages/themes/bmf/src/mixins/input-messages.scss
@@ -0,0 +1,171 @@
+@mixin inputMessages {
+ .kol-input {
+ &.error,
+ &.msg-type-info,
+ &.msg-type-warning,
+ &.msg-type-success {
+ .input {
+ border-width: 3px;
+
+ &:hover {
+ border-color: var(--color-midnight);
+ }
+ }
+ &:not(.hidden-error) {
+ padding-left: 1em;
+ }
+ }
+
+ &.error {
+ .input {
+ border-color: var(--color-red);
+ }
+ &:not(.hidden-error) {
+ border-left: 3px solid var(--color-red);
+ }
+ }
+
+ &.msg-type-info {
+ .input {
+ border-color: var(--color-midnight);
+ }
+ &:not(.hidden-error) {
+ border-left: 3px solid var(--color-midnight);
+ }
+ }
+
+ &.msg-type-warning {
+ .input {
+ border-color: var(--color-orange);
+ }
+ &:not(.hidden-error) {
+ border-left: 3px solid var(--color-orange);
+ }
+ }
+
+ &.msg-type-success {
+ .input {
+ border-color: var(--color-green);
+ }
+ &:not(.hidden-error) {
+ border-left: 3px solid var(--color-green);
+ }
+ }
+ }
+ .msg {
+ border-width: 0;
+ background-color: transparent;
+ align-items: start;
+
+ > .heading {
+ place-items: flex-start;
+
+ > .kol-icon {
+ place-self: baseline;
+ }
+
+ .heading-icon {
+ padding-top: 0;
+ place-items: baseline;
+
+ &::part(icon) {
+ line-height: 1.375rem;
+ }
+ }
+
+ > div > .kol-heading-wc {
+ line-height: 20px;
+ padding-top: 0.125rem;
+ }
+ }
+
+ &.default {
+ .heading > div > .kol-heading-wc {
+ color: var(--color-grey);
+ }
+ }
+
+ &.error {
+ .heading > div > .kol-heading-wc {
+ color: var(--color-red);
+ }
+ }
+
+ &.info {
+ .heading > div > .kol-heading-wc {
+ color: var(--color-midnight);
+ }
+ }
+
+ &.success {
+ .heading > div > .kol-heading-wc {
+ color: var(--color-green);
+ }
+ }
+
+ &.warning {
+ .heading > div > .kol-heading-wc {
+ color: var(--color-orange);
+ }
+ }
+ }
+
+ .kol-alert-wc {
+ display: flex;
+ width: 100%;
+ overflow: unset;
+
+ > .heading {
+ display: flex;
+ gap: 0.5em;
+
+ > div {
+ display: grid;
+ gap: var(--spacing);
+ font-weight: 700;
+ }
+ }
+ }
+
+ .default {
+ border-color: var(--color-grey);
+
+ &.msg .heading-icon {
+ color: var(--color-grey);
+ }
+ }
+
+ @include setMsgType(error, red, error);
+ @include setMsgType(info, midnight, info);
+ @include setMsgType(success, green, check_circle);
+ @include setMsgType(warning, orange, warning);
+
+ .heading-icon {
+ color: white;
+ font-size: 1.25rem !important;
+
+ &::part(icon) {
+ font-family: 'Material Symbols Rounded';
+ font-weight: 900;
+ font-variation-settings: 'FILL' 1;
+ height: 1.25rem;
+ width: 1.25rem;
+ }
+ }
+}
+
+@mixin setMsgType($type, $color, $icon) {
+ .#{$type},
+ .msg-type-#{$type} {
+ border-color: var(--color-#{$color});
+ color: var(--color-#{$color});
+
+ &.msg .heading-icon {
+ color: var(--color-#{$color});
+ }
+
+ .heading-icon::part(icon)::before {
+ content: '#{$icon}';
+ }
+ }
+}
diff --git a/packages/themes/bmf/src/mixins/input.scss b/packages/themes/bmf/src/mixins/input.scss
new file mode 100644
index 0000000000..667e5d1d11
--- /dev/null
+++ b/packages/themes/bmf/src/mixins/input.scss
@@ -0,0 +1,87 @@
+@import './input-messages.scss';
+
+@mixin input {
+ :host {
+ font-family: var(--font-family);
+ }
+
+ .kol-input {
+ gap: 0.25em;
+ display: grid;
+ grid-template-areas: 'error error' 'label counter' 'input input' 'hint hint';
+ grid-template-columns: 1fr 115px;
+
+ .error {
+ order: 1;
+ grid-area: error;
+ }
+
+ label {
+ order: 2;
+ grid-area: label;
+ color: var(--color-black);
+ }
+
+ .counter {
+ order: 2;
+ grid-area: counter;
+ justify-self: end;
+ }
+
+ .input {
+ order: 3;
+ grid-area: input;
+ }
+
+ .hint {
+ order: 4;
+ font-size: 0.875em;
+ font-style: italic;
+ grid-area: hint;
+ }
+
+ &.disabled {
+ label {
+ opacity: 1;
+ }
+ .input {
+ background-color: var(--color-smoke);
+ border-color: var(--color-granite);
+ color: var(--color-black);
+ }
+ }
+ }
+
+ .input {
+ background-color: var(--color-white);
+ border-color: var(--color-grey);
+ border-radius: var(--border-radius);
+ border-style: solid;
+ border-width: 2px;
+
+ > .kol-icon {
+ width: 1em;
+ }
+
+ &:is(.icon-left, .icon-right) {
+ padding-left: 0.875em;
+ padding-left: 0.875em;
+
+ input {
+ padding-left: 0.5em;
+ padding-right: 0.5em;
+ }
+ }
+
+ &:hover {
+ border-color: var(--color-midnight);
+ }
+ }
+
+ .required label > span::after {
+ content: '*';
+ padding-left: 0.125em;
+ }
+
+ @include inputMessages;
+}