@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.
Files changed (71) hide show
  1. package/accordion.js +54 -54
  2. package/action-group.js +3 -3
  3. package/alert/alert-group.js +22 -22
  4. package/alert/alert.js +22 -22
  5. package/autocomplete.js +126 -126
  6. package/breadcrumb/breadcrumb-group.js +60 -60
  7. package/breadcrumb/breadcrumb.js +17 -17
  8. package/calendar.js +423 -423
  9. package/card/card-badge.js +17 -17
  10. package/card/card.js +2 -2
  11. package/card/common.js +30 -30
  12. package/checkbox/checkbox-group.js +17 -17
  13. package/checkbox/checkbox.js +34 -34
  14. package/clock.js +83 -83
  15. package/container/sticky-bar.js +16 -16
  16. package/core/a11y.js +91 -91
  17. package/core/base-elements.js +86 -86
  18. package/core/controllers.js +40 -40
  19. package/core/datetime.js +32 -32
  20. package/core/dom.js +26 -26
  21. package/core/eventing.js +33 -33
  22. package/core/mixins.js +122 -122
  23. package/core/testing.js +29 -29
  24. package/datepicker/common.js +55 -55
  25. package/datepicker/datepicker-toggle.js +94 -94
  26. package/datepicker/datepicker.js +144 -144
  27. package/dialog/dialog-title.js +20 -20
  28. package/dialog/dialog.js +66 -66
  29. package/expansion-panel/expansion-panel-header.js +20 -20
  30. package/expansion-panel/expansion-panel.js +60 -60
  31. package/file-selector.js +91 -91
  32. package/form-field/form-field-clear.js +12 -12
  33. package/form-field/form-field.js +111 -111
  34. package/header/header.js +53 -53
  35. package/icon.js +107 -107
  36. package/image.js +87 -87
  37. package/journey-header.js +29 -29
  38. package/map-container.js +23 -23
  39. package/menu/menu.js +91 -91
  40. package/navigation/common.js +16 -16
  41. package/navigation/navigation-marker.js +34 -34
  42. package/navigation/navigation-section.js +83 -83
  43. package/navigation/navigation.js +87 -87
  44. package/notification.js +52 -52
  45. package/option/optgroup.js +45 -45
  46. package/option/option.js +108 -108
  47. package/overlay.js +5 -5
  48. package/package.json +1 -1
  49. package/popover/popover.js +110 -110
  50. package/radio-button/radio-button-group.js +93 -93
  51. package/radio-button/radio-button.js +84 -84
  52. package/select.js +178 -178
  53. package/selection-panel.js +44 -44
  54. package/slider.js +58 -58
  55. package/status.js +6 -6
  56. package/stepper/step-label.js +19 -19
  57. package/stepper/step.js +31 -31
  58. package/stepper/stepper.js +46 -46
  59. package/tabs/tab-group.js +67 -67
  60. package/tag/tag-group.js +8 -8
  61. package/tag/tag.js +27 -27
  62. package/teaser-paid.js +12 -12
  63. package/time-input.js +73 -73
  64. package/timetable-occupancy-icon.js +26 -26
  65. package/timetable-occupancy.js +9 -9
  66. package/toast.js +38 -38
  67. package/toggle/toggle-option.js +33 -33
  68. package/toggle/toggle.js +46 -46
  69. package/train/train-formation.js +36 -36
  70. package/train/train-wagon.js +30 -30
  71. package/train/train.js +13 -13
@@ -1,32 +1,32 @@
1
- import { css as m, LitElement as u, html as n, nothing as f } from "lit";
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 g } from "../core/a11y.js";
4
- import { SbbConnectedAbortController as x, SbbLanguageController as w, SbbSlotStateController as y } from "../core/controllers.js";
5
- import { isFirefox as _, setOrRemoveAttribute as k } from "../core/dom.js";
6
- import { i18nOptional as z } from "../core/i18n.js";
7
- import { SbbNegativeMixin as A } from "../core/mixins.js";
8
- import { AgnosticMutationObserver as E } from "../core/observers.js";
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, N = Object.getOwnPropertyDescriptor, s = (e, t, r, l) => {
12
- for (var i = l > 1 ? void 0 : l ? N(t, r) : t, b = e.length - 1, d; b >= 0; b--)
13
- (d = e[b]) && (i = (l ? d(t, r, i) : d(i)) || i);
14
- return l && i && C(t, r, i), i;
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 h = 0, S = 0;
17
- const p = ["sbb-autocomplete", "sbb-select"];
18
- let o = class extends A(u) {
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.i = ["input", "select", "textarea"], this.o = [
21
- ...this.i,
20
+ super(), this._supportedNativeInputElements = ["input", "select", "textarea"], this._supportedInputElements = [
21
+ ...this._supportedNativeInputElements,
22
22
  "sbb-select",
23
23
  "sbb-slider"
24
- ], this.p = ["button", "sbb-popover"], this.q = [
24
+ ], this._excludedFocusElements = ["button", "sbb-popover"], this._floatingLabelSupportedInputElements = [
25
25
  "input",
26
26
  "select",
27
27
  "sbb-select",
28
28
  "textarea"
29
- ], this.r = [
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.e = [], this.s = new x(this), this.t = new w(this), this.h = new E(
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.j();
39
+ e.some((t) => t.type === "attributes") && this._readInputState();
40
40
  }
41
- ), this.b = new AbortController(), new y(this);
41
+ ), this._inputAbortController = new AbortController(), new y(this);
42
42
  }
43
43
  /** Returns the input element. */
44
44
  get inputElement() {
45
- return this.a;
45
+ return this._input;
46
46
  }
47
47
  connectedCallback() {
48
48
  super.connectedCallback();
49
- const e = this.s.signal;
50
- this.addEventListener("willOpen", (t) => this.u(t), { signal: e }), this.addEventListener("didClose", (t) => this.v(t), { signal: e }), this.k(), this.f();
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.f();
53
+ super.willUpdate(e), e.has("negative") && this._syncNegative();
54
54
  }
55
55
  disconnectedCallback() {
56
- super.disconnectedCallback(), this.h.disconnect(), this.b.abort();
56
+ super.disconnectedCallback(), this._formFieldAttributeObserver.disconnect(), this._inputAbortController.abort();
57
57
  }
58
- u({ target: e }) {
59
- p.includes(e.localName) && this.toggleAttribute("data-has-popup-open", !0);
58
+ _onPopupOpen({ target: e }) {
59
+ h.includes(e.localName) && this.toggleAttribute("data-has-popup-open", !0);
60
60
  }
61
- v({ target: e }) {
62
- p.includes(e.localName) && this.removeAttribute("data-has-popup-open");
61
+ _onPopupClose({ target: e }) {
62
+ h.includes(e.localName) && this.removeAttribute("data-has-popup-open");
63
63
  }
64
- w(e) {
64
+ _handleWrapperClick(e) {
65
65
  var t, r;
66
- this.x(e) || (((t = this.a) == null ? void 0 : t.localName) === "sbb-select" ? (this.a.click(), this.a.focus()) : e.target.localName !== "label" && ((r = this.a) == null || r.focus()));
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
- x(e) {
68
+ _isButtonOrPopup(e) {
69
69
  return e.composedPath().some(
70
- (t) => t instanceof window.HTMLElement && t.getAttribute("role") === "button" || this.p.includes(t.localName)
70
+ (t) => t instanceof window.HTMLElement && t.getAttribute("role") === "button" || this._excludedFocusElements.includes(t.localName)
71
71
  );
72
72
  }
73
- y() {
73
+ _onSlotLabelChange() {
74
74
  const e = Array.from(this.querySelectorAll("label"));
75
- this.c = e[0], this.l();
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
- z(e) {
81
- this.a = e.target.assignedElements().find((t) => this.o.includes(t.localName)), this.A(), this.a && (this.g = this.a.getAttribute("aria-describedby"), this.m(), this.j(), this.k(), this.a.localName === "textarea" && this.a.setAttribute("rows", this.a.getAttribute("rows") || "3"), this.h.disconnect(), this.h.observe(this.a, {
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.a.localName), this.l());
84
+ }), this.setAttribute("data-input-type", this._input.localName), this._syncLabelInputReferences());
85
85
  }
86
- l() {
86
+ _syncLabelInputReferences() {
87
87
  var e;
88
- if (!(!this.a || !this.c))
89
- if (this.i.includes(this.a.localName))
90
- this.a.id || (this.a.id = `sbb-form-field-input-${h++}`), this.c.htmlFor = this.a.id;
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.c.id || (this.c.id = `sbb-form-field-label-${h++}`);
93
- const t = ((e = this.a.getAttribute("aria-labelledby")) == null ? void 0 : e.split(" ").filter((r) => !!r && r !== this.c.id)) ?? [];
94
- this.a.setAttribute("aria-labelledby", [...t, this.c.id].join(" "));
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
- k() {
97
+ _registerInputListener() {
98
98
  var t;
99
- if (!this.a)
99
+ if (!this._input)
100
100
  return;
101
- this.b.abort(), this.b = new AbortController(), this.d(), (t = this.B()) == null || t.addEventListener("reset", () => setTimeout(() => this.reset()), {
102
- signal: this.b.signal
103
- }), this.a.addEventListener("input", () => this.d(), {
104
- signal: this.b.signal
105
- }), this.a.addEventListener("blur", () => this.d(), {
106
- signal: this.b.signal
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.a;
109
- this.a.localName === "sbb-select" && (this.a.addEventListener("stateChange", () => this.d(), {
110
- signal: this.b.signal
111
- }), e = this.a.inputElement), e.addEventListener(
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
- g.mostRecentModality ?? ""
116
+ _.mostRecentModality ?? ""
117
117
  );
118
118
  },
119
119
  {
120
- signal: this.b.signal
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.b.signal
126
+ signal: this._inputAbortController.signal
127
127
  }
128
128
  );
129
129
  }
130
- B() {
130
+ _getInputForm() {
131
131
  var e;
132
- return this.a instanceof HTMLInputElement || this.a instanceof HTMLSelectElement ? this.a.form : (e = this.a) == null ? void 0 : e.closest("form");
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
- d() {
134
+ _checkAndUpdateInputEmpty() {
135
135
  var e;
136
136
  this.toggleAttribute(
137
137
  "data-input-empty",
138
- this.q.includes((e = this.a) == null ? void 0 : e.localName) && this.C()
138
+ this._floatingLabelSupportedInputElements.includes((e = this._input) == null ? void 0 : e.localName) && this._isInputEmpty()
139
139
  );
140
140
  }
141
- C() {
142
- var e, t, r, l, i;
143
- return this.a instanceof HTMLInputElement ? this.r.includes(this.a.type) && this.n() : this.a instanceof HTMLSelectElement ? ((r = (t = (e = this.a.selectedOptions) == null ? void 0 : e.item(0)) == null ? void 0 : t.label) == null ? void 0 : r.trim()) === "" : ((l = this.a) == null ? void 0 : l.localName) === "sbb-select" ? ((i = this.a.getDisplayValue()) == null ? void 0 : i.trim()) === "" : this.n();
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
- n() {
146
- const e = this.a.value;
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
- A() {
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
- j() {
155
- this.a && (this.toggleAttribute("data-readonly", this.a.hasAttribute("readonly")), this.toggleAttribute("data-disabled", this.a.hasAttribute("disabled")), this.toggleAttribute(
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.a.hasAttribute("data-sbb-invalid") || this.a.classList.contains("sbb-invalid") || this.a.classList.contains("ng-touched") && this.a.classList.contains("ng-invalid")
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
- D(e) {
164
- this.e = e.target.assignedElements();
165
- for (const t of this.e)
166
- t.id || (t.id = `sbb-form-field-error-${++S}`), t.role || (t.role = "status", _ && t.setAttribute("role", "status"));
167
- this.m(), this.toggleAttribute("data-has-error", !!this.e.length), this.f();
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
- m() {
169
+ _applyAriaDescribedby() {
170
170
  const e = [];
171
- this.g && e.push(this.g), this.e.length && this.e.forEach((r) => e.push(r.id));
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.a && k(this.a, "aria-describedby", t);
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.d();
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.a) == null ? void 0 : e.localName) === "input" && (this.a.value = "", this.d());
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.a;
189
+ return this._input;
190
190
  }
191
- f() {
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 n`
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.w} class="sbb-form-field__wrapper" id="overlay-anchor">
205
- <slot name="prefix" @slotchange=${this.f}></slot>
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.y}></slot>
211
- ${this.optional ? n` <span aria-hidden="true"> ${z[this.t.current]} </span>` : f}
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.z}></slot>
215
+ <slot @slotchange=${this._onSlotInputChange}></slot>
216
216
  </div>
217
- ${["select", "sbb-select"].includes((e = this.a) == null ? void 0 : e.localName) ? n`<sbb-icon
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.f}></slot>
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.D}></slot>
226
+ <slot name="error" @slotchange=${this._onSlotErrorChange}></slot>
227
227
  </div>
228
228
  </div>
229
229
  `;
230
230
  }
231
231
  };
232
- o.styles = L;
233
- s([
232
+ o.styles = z;
233
+ i([
234
234
  a({ attribute: "error-space", reflect: !0 })
235
235
  ], o.prototype, "errorSpace", 2);
236
- s([
236
+ i([
237
237
  a({ type: Boolean })
238
238
  ], o.prototype, "optional", 2);
239
- s([
239
+ i([
240
240
  a({ reflect: !0 })
241
241
  ], o.prototype, "size", 2);
242
- s([
242
+ i([
243
243
  a({ reflect: !0, type: Boolean })
244
244
  ], o.prototype, "borderless", 2);
245
- s([
245
+ i([
246
246
  a({ reflect: !0 })
247
247
  ], o.prototype, "width", 2);
248
- s([
248
+ i([
249
249
  a({ attribute: "hidden-label", reflect: !0, type: Boolean })
250
250
  ], o.prototype, "hiddenLabel", 2);
251
- s([
251
+ i([
252
252
  a({ attribute: "floating-label", reflect: !0, type: Boolean })
253
253
  ], o.prototype, "floatingLabel", 2);
254
- s([
254
+ i([
255
255
  c()
256
- ], o.prototype, "e", 2);
257
- s([
256
+ ], o.prototype, "_errorElements", 2);
257
+ i([
258
258
  c()
259
- ], o.prototype, "a", 2);
260
- s([
259
+ ], o.prototype, "_input", 2);
260
+ i([
261
261
  c()
262
- ], o.prototype, "c", 2);
263
- o = s([
262
+ ], o.prototype, "_label", 2);
263
+ o = i([
264
264
  v("sbb-form-field")
265
265
  ], o);
266
266
  export {