@sbb-esta/lyne-elements 0.52.1 → 0.52.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion.js +54 -54
- package/action-group.js +3 -3
- package/alert/alert-group.js +22 -22
- package/alert/alert.js +22 -22
- package/autocomplete.js +126 -126
- package/breadcrumb/breadcrumb-group.js +60 -60
- package/breadcrumb/breadcrumb.js +17 -17
- package/calendar.js +423 -423
- package/card/card-badge.js +17 -17
- package/card/card.js +2 -2
- package/card/common.js +30 -30
- package/checkbox/checkbox-group.js +17 -17
- package/checkbox/checkbox.js +34 -34
- package/clock.js +83 -83
- package/container/sticky-bar.js +16 -16
- package/core/a11y.js +91 -91
- package/core/base-elements.js +86 -86
- package/core/controllers.js +40 -40
- package/core/datetime.js +32 -32
- package/core/dom.js +26 -26
- package/core/eventing.js +33 -33
- package/core/mixins.js +122 -122
- package/core/testing.js +29 -29
- package/datepicker/common.js +55 -55
- package/datepicker/datepicker-toggle.js +94 -94
- package/datepicker/datepicker.js +144 -144
- package/dialog/dialog-title.js +20 -20
- package/dialog/dialog.js +66 -66
- package/expansion-panel/expansion-panel-header.js +20 -20
- package/expansion-panel/expansion-panel.js +60 -60
- package/file-selector.js +91 -91
- package/form-field/form-field-clear.js +12 -12
- package/form-field/form-field.js +111 -111
- package/header/header.js +53 -53
- package/icon.js +107 -107
- package/image.js +87 -87
- package/journey-header.js +29 -29
- package/map-container.js +23 -23
- package/menu/menu.js +91 -91
- package/navigation/common.js +16 -16
- package/navigation/navigation-marker.js +34 -34
- package/navigation/navigation-section.js +83 -83
- package/navigation/navigation.js +87 -87
- package/notification.js +52 -52
- package/option/optgroup.js +45 -45
- package/option/option.js +108 -108
- package/overlay.js +5 -5
- package/package.json +1 -1
- package/popover/popover.js +110 -110
- package/radio-button/radio-button-group.js +93 -93
- package/radio-button/radio-button.js +84 -84
- package/select.js +178 -178
- package/selection-panel.js +44 -44
- package/slider.js +58 -58
- package/status.js +6 -6
- package/stepper/step-label.js +19 -19
- package/stepper/step.js +31 -31
- package/stepper/stepper.js +46 -46
- package/tabs/tab-group.js +67 -67
- package/tag/tag-group.js +8 -8
- package/tag/tag.js +27 -27
- package/teaser-paid.js +12 -12
- package/time-input.js +73 -73
- package/timetable-occupancy-icon.js +26 -26
- package/timetable-occupancy.js +9 -9
- package/toast.js +38 -38
- package/toggle/toggle-option.js +33 -33
- package/toggle/toggle.js +46 -46
- package/train/train-formation.js +36 -36
- package/train/train-wagon.js +30 -30
- package/train/train.js +13 -13
package/form-field/form-field.js
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
import { css as
|
|
1
|
+
import { css as u, LitElement as m, html as d, nothing as f } from "lit";
|
|
2
2
|
import { property as a, state as c, customElement as v } from "lit/decorators.js";
|
|
3
|
-
import { sbbInputModalityDetector as
|
|
4
|
-
import { SbbConnectedAbortController as
|
|
5
|
-
import { isFirefox as
|
|
6
|
-
import { i18nOptional as
|
|
7
|
-
import { SbbNegativeMixin as
|
|
8
|
-
import { AgnosticMutationObserver as
|
|
3
|
+
import { sbbInputModalityDetector as _ } from "../core/a11y.js";
|
|
4
|
+
import { SbbConnectedAbortController as g, SbbLanguageController as x, SbbSlotStateController as y } from "../core/controllers.js";
|
|
5
|
+
import { isFirefox as w, setOrRemoveAttribute as k } from "../core/dom.js";
|
|
6
|
+
import { i18nOptional as A } from "../core/i18n.js";
|
|
7
|
+
import { SbbNegativeMixin as E } from "../core/mixins.js";
|
|
8
|
+
import { AgnosticMutationObserver as I } from "../core/observers.js";
|
|
9
9
|
import "../icon.js";
|
|
10
|
-
const L = m`@charset "UTF-8";*,:before,:after{box-sizing:border-box}:host{--sbb-form-field-background-color: var(--sbb-color-white);--sbb-form-field-border-color: var(--sbb-color-smoke);--sbb-form-field-border-style: solid;--sbb-form-field-border-radius: var(--sbb-border-radius-4x);--sbb-form-field-border-width: var(--sbb-border-width-1x);--sbb-form-field-min-height: var(--sbb-size-element-m);--sbb-form-field-label-color: var(--sbb-color-metal);--sbb-form-field-prefix-color: var(--sbb-color-metal);--sbb-form-field-padding-inline: var(--sbb-spacing-fixed-3x);--sbb-form-field-text-color: var(--sbb-color-charcoal);--sbb-form-field-arrow-color: var(--sbb-color-charcoal);--sbb-form-field-error-divider-width: var(--sbb-spacing-fixed-1x);--sbb-form-field-error-padding-block-start: var(--sbb-form-field-error-divider-width);--sbb-form-field-gap: var(--sbb-spacing-fixed-2x);--sbb-form-field-label-to-input-overlapping: var(--sbb-spacing-fixed-1x);--sbb-form-field-select-inline-padding-end: calc( var(--sbb-icon-svg-width) + var(--sbb-form-field-gap) );--sbb-form-field-overflow: hidden;--sbb-form-field-label-size: calc( var(--sbb-font-size-text-xs) * var(--sbb-typo-line-height-body-text) );--sbb-form-field-input-size: calc( var(--sbb-font-size-text-m) * var(--sbb-typo-line-height-body-text) );--sbb-form-field-margin-block-start: calc( ( var(--sbb-form-field-min-height) - var(--sbb-form-field-label-size) - var( --sbb-form-field-input-size ) + var(--sbb-form-field-label-to-input-overlapping) ) / 2 );--sbb-icon-svg-width: var(--sbb-size-icon-ui-small);--sbb-icon-svg-height: var(--sbb-size-icon-ui-small);--sbb-focus-outline-color: var(--sbb-focus-outline-color-default);display:inline-block}@media (forced-colors: active){:host{--sbb-form-field-border-color: ButtonBorder}}:host(:where(:not([width=collapse]))){min-width:9.375rem;width:min(18.75rem,100%)}:host([negative]){--sbb-form-field-background-color: var(--sbb-color-midnight);--sbb-form-field-border-color: var(--sbb-color-smoke);--sbb-form-field-label-color: var(--sbb-color-smoke);--sbb-form-field-prefix-color: var(--sbb-color-smoke);--sbb-form-field-text-color: var(--sbb-color-milk);--sbb-focus-outline-color: var(--sbb-focus-outline-color-dark);--sbb-form-field-arrow-color: var(--sbb-color-milk)}@media (forced-colors: active){:host([negative]){--sbb-form-field-border-color: ButtonBorder}}:host([size=l]){--sbb-form-field-min-height: var(--sbb-size-element-l);--sbb-form-field-padding-inline: var(--sbb-spacing-responsive-xxxs)}:host([error-space=reserve]){--sbb-form-field-error-min-height: calc( var(--sbb-typo-line-height-body-text) * var(--sbb-font-size-text-xs) );--sbb-form-field-error-padding-block-start-override: var(--sbb-form-field-error-divider-width)}:host(:is([data-readonly],[data-disabled])){--sbb-form-field-background-color: var(--sbb-color-milk);--sbb-form-field-border-color: var(--sbb-color-graphite);--sbb-form-field-arrow-color: var(--sbb-color-granite)}@media (forced-colors: active){:host(:is([data-readonly],[data-disabled])){--sbb-form-field-border-color: ButtonBorder}}:host(:is([data-readonly],[data-disabled])[negative]){--sbb-form-field-background-color: var(--sbb-color-charcoal);--sbb-form-field-border-color: var(--sbb-color-smoke);--sbb-form-field-arrow-color: var(--sbb-color-smoke)}:host([data-disabled]){--sbb-form-field-label-color: var(--sbb-color-granite);--sbb-form-field-prefix-color: var(--sbb-color-granite);--sbb-form-field-border-style: dashed}@media (forced-colors: active){:host([data-disabled]){--sbb-form-field-label-color: GrayText !important;--sbb-form-field-prefix-color: GrayText !important;--sbb-form-field-text-color: GrayText !important;--sbb-form-field-border-color: GrayText !important}}:host([data-disabled][negative]){--sbb-form-field-text-color: var(--sbb-color-smoke);--sbb-form-field-label-color: var(--sbb-color-smoke);--sbb-form-field-prefix-color: var(--sbb-color-smoke)}:host([data-readonly]:not([negative])){--sbb-form-field-label-color: var(--sbb-color-granite);--sbb-form-field-prefix-color: var(--sbb-color-granite)}:host(:is([data-input-focused],[data-has-popup-open])){--sbb-form-field-border-color: var(--sbb-color-charcoal);--sbb-form-field-prefix-color: var(--sbb-color-charcoal);--sbb-form-field-border-width: var(--sbb-border-width-2x)}@media (forced-colors: active){:host(:is([data-input-focused],[data-has-popup-open])){--sbb-form-field-border-color: Highlight !important;--sbb-form-field-prefix-color: Highlight !important}}:host(:is([data-input-focused],[data-has-popup-open])[negative]){--sbb-form-field-border-color: var(--sbb-color-milk);--sbb-form-field-prefix-color: var(--sbb-color-milk)}:host([data-invalid]){--sbb-form-field-border-color: var(--sbb-color-red125);--sbb-form-field-text-color: var(--sbb-color-red125)}@media (forced-colors: active){:host([data-invalid]){--sbb-form-field-border-color: LinkText !important;--sbb-form-field-text-color: LinkText !important}}:host([data-invalid][negative]){--sbb-form-field-border-color: var(--sbb-color-red-mode-dark);--sbb-form-field-text-color: var(--sbb-color-red-mode-dark)}:host(:not([data-has-error])){--sbb-form-field-error-padding-block-start: 0}:host([floating-label]){--sbb-select-placeholder-color: transparent}@media (forced-colors: active){:host([floating-label]){--sbb-select-placeholder-color: Canvas}}:host(:is(:not([data-slot-names~=label],[label]),[hidden-label])){--sbb-form-field-label-size: 0rem;--sbb-form-field-label-to-input-overlapping: 0rem}:host([data-input-type=sbb-slider]){--sbb-form-field-overflow: visible}:host([data-input-type=textarea]){--sbb-form-field-max-height: fit-content}.sbb-form-field__space-wrapper{display:flex;flex-direction:column}.sbb-form-field__space-wrapper:before{content:"";-webkit-user-select:none;user-select:none;width:0;height:0}.sbb-form-field__wrapper{display:flex;gap:var(--sbb-form-field-gap);padding-inline:var(--sbb-form-field-padding-inline);border-radius:var(--sbb-form-field-border-radius);min-height:var(--sbb-form-field-min-height);max-height:var(--sbb-form-field-max-height);background-color:var(--sbb-form-field-background-color);position:relative}.sbb-form-field__wrapper:before{content:"";display:block;position:absolute;top:0;right:0;bottom:0;left:0;border:var(--sbb-form-field-border-width) var(--sbb-form-field-border-style) var(--sbb-form-field-border-color);border-radius:var(--sbb-form-field-border-radius)}:host([data-input-focused][data-focus-origin=keyboard]) .sbb-form-field__wrapper{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) solid var(--sbb-focus-outline-width)}@media (forced-colors: none){:host(:is([borderless],[data-input-type=sbb-slider])) .sbb-form-field__wrapper:before{border-color:transparent}:host(:is([data-input-focused],[data-has-popup-open])[borderless]) .sbb-form-field__wrapper:after{content:"";position:absolute;border-block-end:var(--sbb-border-width-1x) var(--sbb-form-field-border-style) var(--sbb-form-field-border-color);inset-inline:var(--sbb-form-field-padding-inline);inset-block-end:0}}::slotted(*[slot=prefix]){color:var(--sbb-form-field-prefix-color)}::slotted(*[slot=prefix]),::slotted(*[slot=suffix]){display:flex;min-width:var(--sbb-icon-svg-width);margin-block-start:calc((var(--sbb-form-field-min-height) - var(--sbb-size-icon-ui-small)) / 2)}:host(:is([data-input-empty],[data-disabled],[data-readonly])) ::slotted(sbb-form-field-clear){display:none}::slotted(sbb-datepicker-toggle){height:calc((var(--sbb-form-field-min-height) + var(--sbb-size-icon-ui-small)) / 2)}@media (forced-colors: active){::slotted(*[slot=suffix]){color:var(--sbb-form-field-prefix-color)}}.sbb-form-field__select-input-icon{top:50%;transform:translateY(-50%);position:absolute;inset-inline-end:0;margin-block-start:calc(-1 * var(--sbb-form-field-margin-block-start) / 2);pointer-events:none;color:var(--sbb-form-field-arrow-color)}.sbb-form-field__input-container{flex:1 1 auto;position:relative;margin-block-start:var(--sbb-form-field-margin-block-start);min-width:0}.sbb-form-field__label-spacer{display:flex;height:calc(var(--sbb-font-size-text-xs) * var(--sbb-typo-line-height-body-text));margin-block-end:calc(-1 * var(--sbb-form-field-label-to-input-overlapping))}:host(:not([data-slot-names~=label],[label])) :is(.sbb-form-field__label,.sbb-form-field__label-spacer){display:none}:host([hidden-label]) :is(.sbb-form-field__label,.sbb-form-field__label-spacer){border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.sbb-form-field__label{--sbb-text-font-size: var(--sbb-font-size-text-xs);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);display:flex;max-width:100%;cursor:default;position:absolute;inset-block-start:0;color:var(--sbb-form-field-label-color)}:host([data-input-type=select]) .sbb-form-field__label,:host([data-input-type=sbb-select]) .sbb-form-field__label{padding-inline-end:var(--sbb-form-field-select-inline-padding-end)}:host([floating-label]) .sbb-form-field__label{transform-origin:0 0;pointer-events:none;backface-visibility:hidden;will-change:transform,font-size;transition-duration:var(--sbb-disable-animation-zero-time, var(--sbb-animation-duration-2x));transition-timing-function:var(--sbb-animation-easing);transition-property:transform,font-size}:host([floating-label]:is(:not([data-input-focused]:not([data-input-type=sbb-select]),[data-has-popup-open]),[data-readonly])[data-input-empty]) .sbb-form-field__label{font-size:var(--sbb-font-size-text-m);transform:translateY(.53125rem)}@media (min-width: 52.5rem){:host([floating-label]:is(:not([data-input-focused]:not([data-input-type=sbb-select]),[data-has-popup-open]),[data-readonly])[data-input-empty]) .sbb-form-field__label{transform:translateY(.65625rem)}}.sbb-form-field__label-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sbb-form-field__input ::slotted(:where(input,select,textarea,sbb-select)){--sbb-text-font-size: var(--sbb-font-size-text-m);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;outline:none;border:none;padding:0;-webkit-appearance:none;outline:none!important;overflow:var(--sbb-form-field-overflow);width:100%;box-sizing:border-box;color:var(--sbb-form-field-text-color);-webkit-text-fill-color:var(--sbb-form-field-text-color);opacity:1;background-color:transparent;font-size:var(--sbb-font-size-text-m)!important;font-family:var(--sbb-typo-font-family)!important;line-height:var(--sbb-typo-line-height-body-text)!important}.sbb-form-field__input ::slotted(:where(input,select,textarea,sbb-select))::placeholder{color:var(--sbb-color-metal);-webkit-text-fill-color:var(--sbb-color-metal);opacity:1}:host([floating-label]) .sbb-form-field__input ::slotted(:where(input,select,textarea,sbb-select))::placeholder{color:transparent!important;-webkit-text-fill-color:transparent!important}@media (forced-colors: active){:host([floating-label]) .sbb-form-field__input ::slotted(:where(input,select,textarea,sbb-select))::placeholder{color:Canvas!important;-webkit-text-fill-color:Canvas!important}}:host([data-disabled]:not([floating-label])) .sbb-form-field__input ::slotted(:where(input,select,textarea,sbb-select))::placeholder{color:var(--sbb-color-granite);-webkit-text-fill-color:var(--sbb-color-granite)}:host([data-input-type=select]) .sbb-form-field__input ::slotted(:where(input,select,textarea,sbb-select)){vertical-align:middle}.sbb-form-field__input ::slotted(:where(select,sbb-select)){padding-inline-end:var(--sbb-form-field-select-inline-padding-end)}.sbb-form-field__input ::slotted(textarea){--sbb-scrollbar-thumb-width: .125rem;--sbb-scrollbar-thumb-width-hover: .25rem;--sbb-scrollbar-width-firefox: thin;--sbb-scrollbar-color: var(--sbb-color-black-alpha-30);--sbb-scrollbar-color-hover: var(--sbb-color-black-alpha-60);--sbb-scrollbar-track-color: transparent;--sbb-scrollbar-width: var(--sbb-spacing-fixed-3x);position:relative;resize:none;white-space:break-spaces;overflow-y:auto;min-height:calc(var(--sbb-typo-line-height-body-text) * 1em)}.sbb-form-field__input ::slotted(textarea)::-webkit-scrollbar{width:var(--sbb-scrollbar-width);height:var(--sbb-scrollbar-width);background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-form-field__input ::slotted(textarea)::-webkit-scrollbar-corner{background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-form-field__input ::slotted(textarea)::-webkit-scrollbar-thumb{background-color:var(--sbb-scrollbar-color, currentcolor);border:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width))) solid transparent;border-radius:var(--sbb-border-radius-4x);background-clip:padding-box}.sbb-form-field__input ::slotted(textarea)::-webkit-scrollbar-thumb:hover{background-color:var(--sbb-scrollbar-color-hover, currentcolor);border-width:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width-hover)))}.sbb-form-field__input ::slotted(textarea)::-webkit-scrollbar-button,.sbb-form-field__input ::slotted(textarea)::-webkit-scrollbar-corner{display:none}@supports not selector(::-webkit-scrollbar){.sbb-form-field__input ::slotted(textarea){scrollbar-width:var(--sbb-scrollbar-width-firefox);scrollbar-color:var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent)}}:host([negative]) .sbb-form-field__input ::slotted(textarea){--sbb-scrollbar-thumb-width: .125rem;--sbb-scrollbar-thumb-width-hover: .25rem;--sbb-scrollbar-width-firefox: thin;--sbb-scrollbar-color: var(--sbb-color-white-alpha-30);--sbb-scrollbar-color-hover: var(--sbb-color-white-alpha-60);--sbb-scrollbar-track-color: transparent;--sbb-scrollbar-width: var(--sbb-spacing-fixed-3x)}:host([negative]) .sbb-form-field__input ::slotted(textarea)::-webkit-scrollbar{width:var(--sbb-scrollbar-width);height:var(--sbb-scrollbar-width);background-color:var(--sbb-scrollbar-track-color, transparent)}:host([negative]) .sbb-form-field__input ::slotted(textarea)::-webkit-scrollbar-corner{background-color:var(--sbb-scrollbar-track-color, transparent)}:host([negative]) .sbb-form-field__input ::slotted(textarea)::-webkit-scrollbar-thumb{background-color:var(--sbb-scrollbar-color, currentcolor);border:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width))) solid transparent;border-radius:var(--sbb-border-radius-4x);background-clip:padding-box}:host([negative]) .sbb-form-field__input ::slotted(textarea)::-webkit-scrollbar-thumb:hover{background-color:var(--sbb-scrollbar-color-hover, currentcolor);border-width:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width-hover)))}:host([negative]) .sbb-form-field__input ::slotted(textarea)::-webkit-scrollbar-button,:host([negative]) .sbb-form-field__input ::slotted(textarea)::-webkit-scrollbar-corner{display:none}@supports not selector(::-webkit-scrollbar){:host([negative]) .sbb-form-field__input ::slotted(textarea){scrollbar-width:var(--sbb-scrollbar-width-firefox);scrollbar-color:var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent)}}.sbb-form-field__error{display:flex;min-height:var(--sbb-form-field-error-min-height);margin-block-start:var(--sbb-form-field-error-padding-block-start-override, var(--sbb-form-field-error-padding-block-start))}`;
|
|
11
|
-
var C = Object.defineProperty,
|
|
12
|
-
for (var
|
|
13
|
-
(
|
|
14
|
-
return l &&
|
|
10
|
+
const z = u`@charset "UTF-8";*,:before,:after{box-sizing:border-box}:host{--sbb-form-field-background-color: var(--sbb-color-white);--sbb-form-field-border-color: var(--sbb-color-smoke);--sbb-form-field-border-style: solid;--sbb-form-field-border-radius: var(--sbb-border-radius-4x);--sbb-form-field-border-width: var(--sbb-border-width-1x);--sbb-form-field-min-height: var(--sbb-size-element-m);--sbb-form-field-label-color: var(--sbb-color-metal);--sbb-form-field-prefix-color: var(--sbb-color-metal);--sbb-form-field-padding-inline: var(--sbb-spacing-fixed-3x);--sbb-form-field-text-color: var(--sbb-color-charcoal);--sbb-form-field-arrow-color: var(--sbb-color-charcoal);--sbb-form-field-error-divider-width: var(--sbb-spacing-fixed-1x);--sbb-form-field-error-padding-block-start: var(--sbb-form-field-error-divider-width);--sbb-form-field-gap: var(--sbb-spacing-fixed-2x);--sbb-form-field-label-to-input-overlapping: var(--sbb-spacing-fixed-1x);--sbb-form-field-select-inline-padding-end: calc( var(--sbb-icon-svg-width) + var(--sbb-form-field-gap) );--sbb-form-field-overflow: hidden;--sbb-form-field-label-size: calc( var(--sbb-font-size-text-xs) * var(--sbb-typo-line-height-body-text) );--sbb-form-field-input-size: calc( var(--sbb-font-size-text-m) * var(--sbb-typo-line-height-body-text) );--sbb-form-field-margin-block-start: calc( ( var(--sbb-form-field-min-height) - var(--sbb-form-field-label-size) - var( --sbb-form-field-input-size ) + var(--sbb-form-field-label-to-input-overlapping) ) / 2 );--sbb-icon-svg-width: var(--sbb-size-icon-ui-small);--sbb-icon-svg-height: var(--sbb-size-icon-ui-small);--sbb-focus-outline-color: var(--sbb-focus-outline-color-default);display:inline-block}@media (forced-colors: active){:host{--sbb-form-field-border-color: ButtonBorder}}:host(:where(:not([width=collapse]))){min-width:9.375rem;width:min(18.75rem,100%)}:host([negative]){--sbb-form-field-background-color: var(--sbb-color-midnight);--sbb-form-field-border-color: var(--sbb-color-smoke);--sbb-form-field-label-color: var(--sbb-color-smoke);--sbb-form-field-prefix-color: var(--sbb-color-smoke);--sbb-form-field-text-color: var(--sbb-color-milk);--sbb-focus-outline-color: var(--sbb-focus-outline-color-dark);--sbb-form-field-arrow-color: var(--sbb-color-milk)}@media (forced-colors: active){:host([negative]){--sbb-form-field-border-color: ButtonBorder}}:host([size=l]){--sbb-form-field-min-height: var(--sbb-size-element-l);--sbb-form-field-padding-inline: var(--sbb-spacing-responsive-xxxs)}:host([error-space=reserve]){--sbb-form-field-error-min-height: calc( var(--sbb-typo-line-height-body-text) * var(--sbb-font-size-text-xs) );--sbb-form-field-error-padding-block-start-override: var(--sbb-form-field-error-divider-width)}:host(:is([data-readonly],[data-disabled])){--sbb-form-field-background-color: var(--sbb-color-milk);--sbb-form-field-border-color: var(--sbb-color-graphite);--sbb-form-field-arrow-color: var(--sbb-color-granite)}@media (forced-colors: active){:host(:is([data-readonly],[data-disabled])){--sbb-form-field-border-color: ButtonBorder}}:host(:is([data-readonly],[data-disabled])[negative]){--sbb-form-field-background-color: var(--sbb-color-charcoal);--sbb-form-field-border-color: var(--sbb-color-smoke);--sbb-form-field-arrow-color: var(--sbb-color-smoke)}:host([data-disabled]){--sbb-form-field-label-color: var(--sbb-color-granite);--sbb-form-field-prefix-color: var(--sbb-color-granite);--sbb-form-field-border-style: dashed}@media (forced-colors: active){:host([data-disabled]){--sbb-form-field-label-color: GrayText !important;--sbb-form-field-prefix-color: GrayText !important;--sbb-form-field-text-color: GrayText !important;--sbb-form-field-border-color: GrayText !important}}:host([data-disabled][negative]){--sbb-form-field-text-color: var(--sbb-color-smoke);--sbb-form-field-label-color: var(--sbb-color-smoke);--sbb-form-field-prefix-color: var(--sbb-color-smoke)}:host([data-readonly]:not([negative])){--sbb-form-field-label-color: var(--sbb-color-granite);--sbb-form-field-prefix-color: var(--sbb-color-granite)}:host(:is([data-input-focused],[data-has-popup-open])){--sbb-form-field-border-color: var(--sbb-color-charcoal);--sbb-form-field-prefix-color: var(--sbb-color-charcoal);--sbb-form-field-border-width: var(--sbb-border-width-2x)}@media (forced-colors: active){:host(:is([data-input-focused],[data-has-popup-open])){--sbb-form-field-border-color: Highlight !important;--sbb-form-field-prefix-color: Highlight !important}}:host(:is([data-input-focused],[data-has-popup-open])[negative]){--sbb-form-field-border-color: var(--sbb-color-milk);--sbb-form-field-prefix-color: var(--sbb-color-milk)}:host([data-invalid]){--sbb-form-field-border-color: var(--sbb-color-red125);--sbb-form-field-text-color: var(--sbb-color-red125)}@media (forced-colors: active){:host([data-invalid]){--sbb-form-field-border-color: LinkText !important;--sbb-form-field-text-color: LinkText !important}}:host([data-invalid][negative]){--sbb-form-field-border-color: var(--sbb-color-red-mode-dark);--sbb-form-field-text-color: var(--sbb-color-red-mode-dark)}:host(:not([data-has-error])){--sbb-form-field-error-padding-block-start: 0}:host([floating-label]){--sbb-select-placeholder-color: transparent}@media (forced-colors: active){:host([floating-label]){--sbb-select-placeholder-color: Canvas}}:host(:is(:not([data-slot-names~=label],[label]),[hidden-label])){--sbb-form-field-label-size: 0rem;--sbb-form-field-label-to-input-overlapping: 0rem}:host([data-input-type=sbb-slider]){--sbb-form-field-overflow: visible}:host([data-input-type=textarea]){--sbb-form-field-max-height: fit-content}.sbb-form-field__space-wrapper{display:flex;flex-direction:column}.sbb-form-field__space-wrapper:before{content:"";-webkit-user-select:none;user-select:none;width:0;height:0}.sbb-form-field__wrapper{display:flex;gap:var(--sbb-form-field-gap);padding-inline:var(--sbb-form-field-padding-inline);border-radius:var(--sbb-form-field-border-radius);min-height:var(--sbb-form-field-min-height);max-height:var(--sbb-form-field-max-height);background-color:var(--sbb-form-field-background-color);position:relative}.sbb-form-field__wrapper:before{content:"";display:block;position:absolute;top:0;right:0;bottom:0;left:0;border:var(--sbb-form-field-border-width) var(--sbb-form-field-border-style) var(--sbb-form-field-border-color);border-radius:var(--sbb-form-field-border-radius)}:host([data-input-focused][data-focus-origin=keyboard]) .sbb-form-field__wrapper{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) solid var(--sbb-focus-outline-width)}@media (forced-colors: none){:host(:is([borderless],[data-input-type=sbb-slider])) .sbb-form-field__wrapper:before{border-color:transparent}:host(:is([data-input-focused],[data-has-popup-open])[borderless]) .sbb-form-field__wrapper:after{content:"";position:absolute;border-block-end:var(--sbb-border-width-1x) var(--sbb-form-field-border-style) var(--sbb-form-field-border-color);inset-inline:var(--sbb-form-field-padding-inline);inset-block-end:0}}::slotted(*[slot=prefix]){color:var(--sbb-form-field-prefix-color)}::slotted(*[slot=prefix]),::slotted(*[slot=suffix]){display:flex;min-width:var(--sbb-icon-svg-width);margin-block-start:calc((var(--sbb-form-field-min-height) - var(--sbb-size-icon-ui-small)) / 2)}:host(:is([data-input-empty],[data-disabled],[data-readonly])) ::slotted(sbb-form-field-clear){display:none}::slotted(sbb-datepicker-toggle){height:calc((var(--sbb-form-field-min-height) + var(--sbb-size-icon-ui-small)) / 2)}@media (forced-colors: active){::slotted(*[slot=suffix]){color:var(--sbb-form-field-prefix-color)}}.sbb-form-field__select-input-icon{top:50%;transform:translateY(-50%);position:absolute;inset-inline-end:0;margin-block-start:calc(-1 * var(--sbb-form-field-margin-block-start) / 2);pointer-events:none;color:var(--sbb-form-field-arrow-color)}.sbb-form-field__input-container{flex:1 1 auto;position:relative;margin-block-start:var(--sbb-form-field-margin-block-start);min-width:0}.sbb-form-field__label-spacer{display:flex;height:calc(var(--sbb-font-size-text-xs) * var(--sbb-typo-line-height-body-text));margin-block-end:calc(-1 * var(--sbb-form-field-label-to-input-overlapping))}:host(:not([data-slot-names~=label],[label])) :is(.sbb-form-field__label,.sbb-form-field__label-spacer){display:none}:host([hidden-label]) :is(.sbb-form-field__label,.sbb-form-field__label-spacer){border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.sbb-form-field__label{--sbb-text-font-size: var(--sbb-font-size-text-xs);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);display:flex;max-width:100%;cursor:default;position:absolute;inset-block-start:0;color:var(--sbb-form-field-label-color)}:host([data-input-type=select]) .sbb-form-field__label,:host([data-input-type=sbb-select]) .sbb-form-field__label{padding-inline-end:var(--sbb-form-field-select-inline-padding-end)}:host([floating-label]) .sbb-form-field__label{transform-origin:0 0;pointer-events:none;backface-visibility:hidden;will-change:transform,font-size;transition-duration:var(--sbb-disable-animation-zero-time, var(--sbb-animation-duration-2x));transition-timing-function:var(--sbb-animation-easing);transition-property:transform,font-size}:host([floating-label]:is(:not([data-input-focused]:not([data-input-type=sbb-select]),[data-has-popup-open]),[data-readonly])[data-input-empty]) .sbb-form-field__label{font-size:var(--sbb-font-size-text-m);transform:translateY(.53125rem)}@media (min-width: 52.5rem){:host([floating-label]:is(:not([data-input-focused]:not([data-input-type=sbb-select]),[data-has-popup-open]),[data-readonly])[data-input-empty]) .sbb-form-field__label{transform:translateY(.65625rem)}}.sbb-form-field__label-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sbb-form-field__input ::slotted(:where(input,select,textarea,sbb-select)){--sbb-text-font-size: var(--sbb-font-size-text-m);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;outline:none;border:none;padding:0;-webkit-appearance:none;outline:none!important;overflow:var(--sbb-form-field-overflow);width:100%;box-sizing:border-box;color:var(--sbb-form-field-text-color);-webkit-text-fill-color:var(--sbb-form-field-text-color);opacity:1;background-color:transparent;font-size:var(--sbb-font-size-text-m)!important;font-family:var(--sbb-typo-font-family)!important;line-height:var(--sbb-typo-line-height-body-text)!important}.sbb-form-field__input ::slotted(:where(input,select,textarea,sbb-select))::placeholder{color:var(--sbb-color-metal);-webkit-text-fill-color:var(--sbb-color-metal);opacity:1}:host([floating-label]) .sbb-form-field__input ::slotted(:where(input,select,textarea,sbb-select))::placeholder{color:transparent!important;-webkit-text-fill-color:transparent!important}@media (forced-colors: active){:host([floating-label]) .sbb-form-field__input ::slotted(:where(input,select,textarea,sbb-select))::placeholder{color:Canvas!important;-webkit-text-fill-color:Canvas!important}}:host([data-disabled]:not([floating-label])) .sbb-form-field__input ::slotted(:where(input,select,textarea,sbb-select))::placeholder{color:var(--sbb-color-granite);-webkit-text-fill-color:var(--sbb-color-granite)}:host([data-input-type=select]) .sbb-form-field__input ::slotted(:where(input,select,textarea,sbb-select)){vertical-align:middle}.sbb-form-field__input ::slotted(:where(select,sbb-select)){padding-inline-end:var(--sbb-form-field-select-inline-padding-end)}.sbb-form-field__input ::slotted(textarea){--sbb-scrollbar-thumb-width: .125rem;--sbb-scrollbar-thumb-width-hover: .25rem;--sbb-scrollbar-width-firefox: thin;--sbb-scrollbar-color: var(--sbb-color-black-alpha-30);--sbb-scrollbar-color-hover: var(--sbb-color-black-alpha-60);--sbb-scrollbar-track-color: transparent;--sbb-scrollbar-width: var(--sbb-spacing-fixed-3x);position:relative;resize:none;white-space:break-spaces;overflow-y:auto;min-height:calc(var(--sbb-typo-line-height-body-text) * 1em)}.sbb-form-field__input ::slotted(textarea)::-webkit-scrollbar{width:var(--sbb-scrollbar-width);height:var(--sbb-scrollbar-width);background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-form-field__input ::slotted(textarea)::-webkit-scrollbar-corner{background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-form-field__input ::slotted(textarea)::-webkit-scrollbar-thumb{background-color:var(--sbb-scrollbar-color, currentcolor);border:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width))) solid transparent;border-radius:var(--sbb-border-radius-4x);background-clip:padding-box}.sbb-form-field__input ::slotted(textarea)::-webkit-scrollbar-thumb:hover{background-color:var(--sbb-scrollbar-color-hover, currentcolor);border-width:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width-hover)))}.sbb-form-field__input ::slotted(textarea)::-webkit-scrollbar-button,.sbb-form-field__input ::slotted(textarea)::-webkit-scrollbar-corner{display:none}@supports not selector(::-webkit-scrollbar){.sbb-form-field__input ::slotted(textarea){scrollbar-width:var(--sbb-scrollbar-width-firefox);scrollbar-color:var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent)}}:host([negative]) .sbb-form-field__input ::slotted(textarea){--sbb-scrollbar-thumb-width: .125rem;--sbb-scrollbar-thumb-width-hover: .25rem;--sbb-scrollbar-width-firefox: thin;--sbb-scrollbar-color: var(--sbb-color-white-alpha-30);--sbb-scrollbar-color-hover: var(--sbb-color-white-alpha-60);--sbb-scrollbar-track-color: transparent;--sbb-scrollbar-width: var(--sbb-spacing-fixed-3x)}:host([negative]) .sbb-form-field__input ::slotted(textarea)::-webkit-scrollbar{width:var(--sbb-scrollbar-width);height:var(--sbb-scrollbar-width);background-color:var(--sbb-scrollbar-track-color, transparent)}:host([negative]) .sbb-form-field__input ::slotted(textarea)::-webkit-scrollbar-corner{background-color:var(--sbb-scrollbar-track-color, transparent)}:host([negative]) .sbb-form-field__input ::slotted(textarea)::-webkit-scrollbar-thumb{background-color:var(--sbb-scrollbar-color, currentcolor);border:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width))) solid transparent;border-radius:var(--sbb-border-radius-4x);background-clip:padding-box}:host([negative]) .sbb-form-field__input ::slotted(textarea)::-webkit-scrollbar-thumb:hover{background-color:var(--sbb-scrollbar-color-hover, currentcolor);border-width:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width-hover)))}:host([negative]) .sbb-form-field__input ::slotted(textarea)::-webkit-scrollbar-button,:host([negative]) .sbb-form-field__input ::slotted(textarea)::-webkit-scrollbar-corner{display:none}@supports not selector(::-webkit-scrollbar){:host([negative]) .sbb-form-field__input ::slotted(textarea){scrollbar-width:var(--sbb-scrollbar-width-firefox);scrollbar-color:var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent)}}.sbb-form-field__error{display:flex;min-height:var(--sbb-form-field-error-min-height);margin-block-start:var(--sbb-form-field-error-padding-block-start-override, var(--sbb-form-field-error-padding-block-start))}`;
|
|
11
|
+
var C = Object.defineProperty, L = Object.getOwnPropertyDescriptor, i = (e, t, r, l) => {
|
|
12
|
+
for (var s = l > 1 ? void 0 : l ? L(t, r) : t, b = e.length - 1, n; b >= 0; b--)
|
|
13
|
+
(n = e[b]) && (s = (l ? n(t, r, s) : n(s)) || s);
|
|
14
|
+
return l && s && C(t, r, s), s;
|
|
15
15
|
};
|
|
16
|
-
let
|
|
17
|
-
const
|
|
18
|
-
let o = class extends
|
|
16
|
+
let p = 0, S = 0;
|
|
17
|
+
const h = ["sbb-autocomplete", "sbb-select"];
|
|
18
|
+
let o = class extends E(m) {
|
|
19
19
|
constructor() {
|
|
20
|
-
super(), this.
|
|
21
|
-
...this.
|
|
20
|
+
super(), this._supportedNativeInputElements = ["input", "select", "textarea"], this._supportedInputElements = [
|
|
21
|
+
...this._supportedNativeInputElements,
|
|
22
22
|
"sbb-select",
|
|
23
23
|
"sbb-slider"
|
|
24
|
-
], this.
|
|
24
|
+
], this._excludedFocusElements = ["button", "sbb-popover"], this._floatingLabelSupportedInputElements = [
|
|
25
25
|
"input",
|
|
26
26
|
"select",
|
|
27
27
|
"sbb-select",
|
|
28
28
|
"textarea"
|
|
29
|
-
], this.
|
|
29
|
+
], this._floatingLabelSupportedInputTypes = [
|
|
30
30
|
"email",
|
|
31
31
|
"number",
|
|
32
32
|
"password",
|
|
@@ -34,161 +34,161 @@ let o = class extends A(u) {
|
|
|
34
34
|
"tel",
|
|
35
35
|
"text",
|
|
36
36
|
"url"
|
|
37
|
-
], this.errorSpace = "none", this.size = "m", this.borderless = !1, this.width = "default", this.hiddenLabel = !1, this.floatingLabel = !1, this.
|
|
37
|
+
], this.errorSpace = "none", this.size = "m", this.borderless = !1, this.width = "default", this.hiddenLabel = !1, this.floatingLabel = !1, this._errorElements = [], this._abort = new g(this), this._language = new x(this), this._formFieldAttributeObserver = new I(
|
|
38
38
|
(e) => {
|
|
39
|
-
e.some((t) => t.type === "attributes") && this.
|
|
39
|
+
e.some((t) => t.type === "attributes") && this._readInputState();
|
|
40
40
|
}
|
|
41
|
-
), this.
|
|
41
|
+
), this._inputAbortController = new AbortController(), new y(this);
|
|
42
42
|
}
|
|
43
43
|
/** Returns the input element. */
|
|
44
44
|
get inputElement() {
|
|
45
|
-
return this.
|
|
45
|
+
return this._input;
|
|
46
46
|
}
|
|
47
47
|
connectedCallback() {
|
|
48
48
|
super.connectedCallback();
|
|
49
|
-
const e = this.
|
|
50
|
-
this.addEventListener("willOpen", (t) => this.
|
|
49
|
+
const e = this._abort.signal;
|
|
50
|
+
this.addEventListener("willOpen", (t) => this._onPopupOpen(t), { signal: e }), this.addEventListener("didClose", (t) => this._onPopupClose(t), { signal: e }), this._registerInputListener(), this._syncNegative();
|
|
51
51
|
}
|
|
52
52
|
willUpdate(e) {
|
|
53
|
-
super.willUpdate(e), e.has("negative") && this.
|
|
53
|
+
super.willUpdate(e), e.has("negative") && this._syncNegative();
|
|
54
54
|
}
|
|
55
55
|
disconnectedCallback() {
|
|
56
|
-
super.disconnectedCallback(), this.
|
|
56
|
+
super.disconnectedCallback(), this._formFieldAttributeObserver.disconnect(), this._inputAbortController.abort();
|
|
57
57
|
}
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
_onPopupOpen({ target: e }) {
|
|
59
|
+
h.includes(e.localName) && this.toggleAttribute("data-has-popup-open", !0);
|
|
60
60
|
}
|
|
61
|
-
|
|
62
|
-
|
|
61
|
+
_onPopupClose({ target: e }) {
|
|
62
|
+
h.includes(e.localName) && this.removeAttribute("data-has-popup-open");
|
|
63
63
|
}
|
|
64
|
-
|
|
64
|
+
_handleWrapperClick(e) {
|
|
65
65
|
var t, r;
|
|
66
|
-
this.
|
|
66
|
+
this._isButtonOrPopup(e) || (((t = this._input) == null ? void 0 : t.localName) === "sbb-select" ? (this._input.click(), this._input.focus()) : e.target.localName !== "label" && ((r = this._input) == null || r.focus()));
|
|
67
67
|
}
|
|
68
|
-
|
|
68
|
+
_isButtonOrPopup(e) {
|
|
69
69
|
return e.composedPath().some(
|
|
70
|
-
(t) => t instanceof window.HTMLElement && t.getAttribute("role") === "button" || this.
|
|
70
|
+
(t) => t instanceof window.HTMLElement && t.getAttribute("role") === "button" || this._excludedFocusElements.includes(t.localName)
|
|
71
71
|
);
|
|
72
72
|
}
|
|
73
|
-
|
|
73
|
+
_onSlotLabelChange() {
|
|
74
74
|
const e = Array.from(this.querySelectorAll("label"));
|
|
75
|
-
this.
|
|
75
|
+
this._label = e[0], this._syncLabelInputReferences();
|
|
76
76
|
}
|
|
77
77
|
/**
|
|
78
78
|
* It is used internally to assign the attributes of `<input>` to `_id` and `_input` and to observe the native readonly and disabled attributes.
|
|
79
79
|
*/
|
|
80
|
-
|
|
81
|
-
this.
|
|
80
|
+
_onSlotInputChange(e) {
|
|
81
|
+
this._input = e.target.assignedElements().find((t) => this._supportedInputElements.includes(t.localName)), this._assignSlots(), this._input && (this._originalInputAriaDescribedby = this._input.getAttribute("aria-describedby"), this._applyAriaDescribedby(), this._readInputState(), this._registerInputListener(), this._input.localName === "textarea" && this._input.setAttribute("rows", this._input.getAttribute("rows") || "3"), this._formFieldAttributeObserver.disconnect(), this._formFieldAttributeObserver.observe(this._input, {
|
|
82
82
|
attributes: !0,
|
|
83
83
|
attributeFilter: ["readonly", "disabled", "class", "data-sbb-invalid"]
|
|
84
|
-
}), this.setAttribute("data-input-type", this.
|
|
84
|
+
}), this.setAttribute("data-input-type", this._input.localName), this._syncLabelInputReferences());
|
|
85
85
|
}
|
|
86
|
-
|
|
86
|
+
_syncLabelInputReferences() {
|
|
87
87
|
var e;
|
|
88
|
-
if (!(!this.
|
|
89
|
-
if (this.
|
|
90
|
-
this.
|
|
88
|
+
if (!(!this._input || !this._label))
|
|
89
|
+
if (this._supportedNativeInputElements.includes(this._input.localName))
|
|
90
|
+
this._input.id || (this._input.id = `sbb-form-field-input-${p++}`), this._label.htmlFor = this._input.id;
|
|
91
91
|
else {
|
|
92
|
-
this.
|
|
93
|
-
const t = ((e = this.
|
|
94
|
-
this.
|
|
92
|
+
this._label.id || (this._label.id = `sbb-form-field-label-${p++}`);
|
|
93
|
+
const t = ((e = this._input.getAttribute("aria-labelledby")) == null ? void 0 : e.split(" ").filter((r) => !!r && r !== this._label.id)) ?? [];
|
|
94
|
+
this._input.setAttribute("aria-labelledby", [...t, this._label.id].join(" "));
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
|
-
|
|
97
|
+
_registerInputListener() {
|
|
98
98
|
var t;
|
|
99
|
-
if (!this.
|
|
99
|
+
if (!this._input)
|
|
100
100
|
return;
|
|
101
|
-
this.
|
|
102
|
-
signal: this.
|
|
103
|
-
}), this.
|
|
104
|
-
signal: this.
|
|
105
|
-
}), this.
|
|
106
|
-
signal: this.
|
|
101
|
+
this._inputAbortController.abort(), this._inputAbortController = new AbortController(), this._checkAndUpdateInputEmpty(), (t = this._getInputForm()) == null || t.addEventListener("reset", () => setTimeout(() => this.reset()), {
|
|
102
|
+
signal: this._inputAbortController.signal
|
|
103
|
+
}), this._input.addEventListener("input", () => this._checkAndUpdateInputEmpty(), {
|
|
104
|
+
signal: this._inputAbortController.signal
|
|
105
|
+
}), this._input.addEventListener("blur", () => this._checkAndUpdateInputEmpty(), {
|
|
106
|
+
signal: this._inputAbortController.signal
|
|
107
107
|
});
|
|
108
|
-
let e = this.
|
|
109
|
-
this.
|
|
110
|
-
signal: this.
|
|
111
|
-
}), e = this.
|
|
108
|
+
let e = this._input;
|
|
109
|
+
this._input.localName === "sbb-select" && (this._input.addEventListener("stateChange", () => this._checkAndUpdateInputEmpty(), {
|
|
110
|
+
signal: this._inputAbortController.signal
|
|
111
|
+
}), e = this._input.inputElement), e.addEventListener(
|
|
112
112
|
"focusin",
|
|
113
113
|
() => {
|
|
114
114
|
this.toggleAttribute("data-input-focused", !0), this.setAttribute(
|
|
115
115
|
"data-focus-origin",
|
|
116
|
-
|
|
116
|
+
_.mostRecentModality ?? ""
|
|
117
117
|
);
|
|
118
118
|
},
|
|
119
119
|
{
|
|
120
|
-
signal: this.
|
|
120
|
+
signal: this._inputAbortController.signal
|
|
121
121
|
}
|
|
122
122
|
), e.addEventListener(
|
|
123
123
|
"focusout",
|
|
124
124
|
() => ["data-focus-origin", "data-input-focused"].forEach((r) => this.removeAttribute(r)),
|
|
125
125
|
{
|
|
126
|
-
signal: this.
|
|
126
|
+
signal: this._inputAbortController.signal
|
|
127
127
|
}
|
|
128
128
|
);
|
|
129
129
|
}
|
|
130
|
-
|
|
130
|
+
_getInputForm() {
|
|
131
131
|
var e;
|
|
132
|
-
return this.
|
|
132
|
+
return this._input instanceof HTMLInputElement || this._input instanceof HTMLSelectElement ? this._input.form : (e = this._input) == null ? void 0 : e.closest("form");
|
|
133
133
|
}
|
|
134
|
-
|
|
134
|
+
_checkAndUpdateInputEmpty() {
|
|
135
135
|
var e;
|
|
136
136
|
this.toggleAttribute(
|
|
137
137
|
"data-input-empty",
|
|
138
|
-
this.
|
|
138
|
+
this._floatingLabelSupportedInputElements.includes((e = this._input) == null ? void 0 : e.localName) && this._isInputEmpty()
|
|
139
139
|
);
|
|
140
140
|
}
|
|
141
|
-
|
|
142
|
-
var e, t, r, l,
|
|
143
|
-
return this.
|
|
141
|
+
_isInputEmpty() {
|
|
142
|
+
var e, t, r, l, s;
|
|
143
|
+
return this._input instanceof HTMLInputElement ? this._floatingLabelSupportedInputTypes.includes(this._input.type) && this._isInputValueEmpty() : this._input instanceof HTMLSelectElement ? ((r = (t = (e = this._input.selectedOptions) == null ? void 0 : e.item(0)) == null ? void 0 : t.label) == null ? void 0 : r.trim()) === "" : ((l = this._input) == null ? void 0 : l.localName) === "sbb-select" ? ((s = this._input.getDisplayValue()) == null ? void 0 : s.trim()) === "" : this._isInputValueEmpty();
|
|
144
144
|
}
|
|
145
|
-
|
|
146
|
-
const e = this.
|
|
145
|
+
_isInputValueEmpty() {
|
|
146
|
+
const e = this._input.value;
|
|
147
147
|
return ["", void 0, null].includes(e) || Array.isArray(e) && e.length === 0;
|
|
148
148
|
}
|
|
149
|
-
|
|
149
|
+
_assignSlots() {
|
|
150
150
|
this.querySelectorAll("label:not([slot])").forEach((e) => e.setAttribute("slot", "label")), this.querySelectorAll("sbb-form-error:not([slot])").forEach(
|
|
151
151
|
(e) => e.setAttribute("slot", "error")
|
|
152
152
|
);
|
|
153
153
|
}
|
|
154
|
-
|
|
155
|
-
this.
|
|
154
|
+
_readInputState() {
|
|
155
|
+
this._input && (this.toggleAttribute("data-readonly", this._input.hasAttribute("readonly")), this.toggleAttribute("data-disabled", this._input.hasAttribute("disabled")), this.toggleAttribute(
|
|
156
156
|
"data-invalid",
|
|
157
|
-
this.
|
|
157
|
+
this._input.hasAttribute("data-sbb-invalid") || this._input.classList.contains("sbb-invalid") || this._input.classList.contains("ng-touched") && this._input.classList.contains("ng-invalid")
|
|
158
158
|
));
|
|
159
159
|
}
|
|
160
160
|
/**
|
|
161
161
|
* It is used internally to set the aria-describedby attribute for the slotted input referencing available <sbb-form-error> instances.
|
|
162
162
|
*/
|
|
163
|
-
|
|
164
|
-
this.
|
|
165
|
-
for (const t of this.
|
|
166
|
-
t.id || (t.id = `sbb-form-field-error-${++S}`), t.role || (t.role = "status",
|
|
167
|
-
this.
|
|
163
|
+
_onSlotErrorChange(e) {
|
|
164
|
+
this._errorElements = e.target.assignedElements();
|
|
165
|
+
for (const t of this._errorElements)
|
|
166
|
+
t.id || (t.id = `sbb-form-field-error-${++S}`), t.role || (t.role = "status", w && t.setAttribute("role", "status"));
|
|
167
|
+
this._applyAriaDescribedby(), this.toggleAttribute("data-has-error", !!this._errorElements.length), this._syncNegative();
|
|
168
168
|
}
|
|
169
|
-
|
|
169
|
+
_applyAriaDescribedby() {
|
|
170
170
|
const e = [];
|
|
171
|
-
this.
|
|
171
|
+
this._originalInputAriaDescribedby && e.push(this._originalInputAriaDescribedby), this._errorElements.length && this._errorElements.forEach((r) => e.push(r.id));
|
|
172
172
|
const t = e.join(" ");
|
|
173
|
-
this.
|
|
173
|
+
this._input && k(this._input, "aria-describedby", t);
|
|
174
174
|
}
|
|
175
175
|
/** Manually reset the form field. Currently, this only resets the floating label. */
|
|
176
176
|
reset() {
|
|
177
|
-
this.
|
|
177
|
+
this._checkAndUpdateInputEmpty();
|
|
178
178
|
}
|
|
179
179
|
/** Manually clears the input value. It only works for inputs, selects are not supported. */
|
|
180
180
|
clear() {
|
|
181
181
|
var e;
|
|
182
|
-
((e = this.
|
|
182
|
+
((e = this._input) == null ? void 0 : e.localName) === "input" && (this._input.value = "", this._checkAndUpdateInputEmpty());
|
|
183
183
|
}
|
|
184
184
|
/**
|
|
185
185
|
* Returns the input element.
|
|
186
186
|
* @deprecated Use the 'inputElement' property instead
|
|
187
187
|
*/
|
|
188
188
|
getInputElement() {
|
|
189
|
-
return this.
|
|
189
|
+
return this._input;
|
|
190
190
|
}
|
|
191
|
-
|
|
191
|
+
_syncNegative() {
|
|
192
192
|
var e;
|
|
193
193
|
(e = this.querySelectorAll) == null || e.call(
|
|
194
194
|
this,
|
|
@@ -197,70 +197,70 @@ let o = class extends A(u) {
|
|
|
197
197
|
}
|
|
198
198
|
render() {
|
|
199
199
|
var e;
|
|
200
|
-
return
|
|
200
|
+
return d`
|
|
201
201
|
<div class="sbb-form-field__space-wrapper">
|
|
202
202
|
${/* Queried by id from the autocomplete/select to be used as the anchor element */
|
|
203
203
|
""}
|
|
204
|
-
<div @click=${this.
|
|
205
|
-
<slot name="prefix" @slotchange=${this.
|
|
204
|
+
<div @click=${this._handleWrapperClick} class="sbb-form-field__wrapper" id="overlay-anchor">
|
|
205
|
+
<slot name="prefix" @slotchange=${this._syncNegative}></slot>
|
|
206
206
|
<div class="sbb-form-field__input-container">
|
|
207
207
|
<span class="sbb-form-field__label-spacer" aria-hidden="true"></span>
|
|
208
208
|
<span class="sbb-form-field__label">
|
|
209
209
|
<span class="sbb-form-field__label-ellipsis">
|
|
210
|
-
<slot name="label" @slotchange=${this.
|
|
211
|
-
${this.optional ?
|
|
210
|
+
<slot name="label" @slotchange=${this._onSlotLabelChange}></slot>
|
|
211
|
+
${this.optional ? d` <span aria-hidden="true"> ${A[this._language.current]} </span>` : f}
|
|
212
212
|
</span>
|
|
213
213
|
</span>
|
|
214
214
|
<div class="sbb-form-field__input">
|
|
215
|
-
<slot @slotchange=${this.
|
|
215
|
+
<slot @slotchange=${this._onSlotInputChange}></slot>
|
|
216
216
|
</div>
|
|
217
|
-
${["select", "sbb-select"].includes((e = this.
|
|
217
|
+
${["select", "sbb-select"].includes((e = this._input) == null ? void 0 : e.localName) ? d`<sbb-icon
|
|
218
218
|
name="chevron-small-down-small"
|
|
219
219
|
class="sbb-form-field__select-input-icon"
|
|
220
220
|
></sbb-icon>` : f}
|
|
221
221
|
</div>
|
|
222
|
-
<slot name="suffix" @slotchange=${this.
|
|
222
|
+
<slot name="suffix" @slotchange=${this._syncNegative}></slot>
|
|
223
223
|
</div>
|
|
224
224
|
|
|
225
225
|
<div class="sbb-form-field__error">
|
|
226
|
-
<slot name="error" @slotchange=${this.
|
|
226
|
+
<slot name="error" @slotchange=${this._onSlotErrorChange}></slot>
|
|
227
227
|
</div>
|
|
228
228
|
</div>
|
|
229
229
|
`;
|
|
230
230
|
}
|
|
231
231
|
};
|
|
232
|
-
o.styles =
|
|
233
|
-
|
|
232
|
+
o.styles = z;
|
|
233
|
+
i([
|
|
234
234
|
a({ attribute: "error-space", reflect: !0 })
|
|
235
235
|
], o.prototype, "errorSpace", 2);
|
|
236
|
-
|
|
236
|
+
i([
|
|
237
237
|
a({ type: Boolean })
|
|
238
238
|
], o.prototype, "optional", 2);
|
|
239
|
-
|
|
239
|
+
i([
|
|
240
240
|
a({ reflect: !0 })
|
|
241
241
|
], o.prototype, "size", 2);
|
|
242
|
-
|
|
242
|
+
i([
|
|
243
243
|
a({ reflect: !0, type: Boolean })
|
|
244
244
|
], o.prototype, "borderless", 2);
|
|
245
|
-
|
|
245
|
+
i([
|
|
246
246
|
a({ reflect: !0 })
|
|
247
247
|
], o.prototype, "width", 2);
|
|
248
|
-
|
|
248
|
+
i([
|
|
249
249
|
a({ attribute: "hidden-label", reflect: !0, type: Boolean })
|
|
250
250
|
], o.prototype, "hiddenLabel", 2);
|
|
251
|
-
|
|
251
|
+
i([
|
|
252
252
|
a({ attribute: "floating-label", reflect: !0, type: Boolean })
|
|
253
253
|
], o.prototype, "floatingLabel", 2);
|
|
254
|
-
|
|
254
|
+
i([
|
|
255
255
|
c()
|
|
256
|
-
], o.prototype, "
|
|
257
|
-
|
|
256
|
+
], o.prototype, "_errorElements", 2);
|
|
257
|
+
i([
|
|
258
258
|
c()
|
|
259
|
-
], o.prototype, "
|
|
260
|
-
|
|
259
|
+
], o.prototype, "_input", 2);
|
|
260
|
+
i([
|
|
261
261
|
c()
|
|
262
|
-
], o.prototype, "
|
|
263
|
-
o =
|
|
262
|
+
], o.prototype, "_label", 2);
|
|
263
|
+
o = i([
|
|
264
264
|
v("sbb-form-field")
|
|
265
265
|
], o);
|
|
266
266
|
export {
|