@sbb-esta/lyne-elements 0.52.0 → 0.52.1

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 (220) 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/breadcrumb-group.d.ts.map +1 -1
  7. package/breadcrumb/breadcrumb-group.js +70 -69
  8. package/breadcrumb/breadcrumb.js +17 -17
  9. package/calendar.js +423 -423
  10. package/card/card-badge.js +17 -17
  11. package/card/card.js +2 -2
  12. package/card/common.js +30 -30
  13. package/checkbox/checkbox-group.js +17 -17
  14. package/checkbox/checkbox.js +34 -34
  15. package/clock.js +83 -83
  16. package/container/sticky-bar.js +16 -16
  17. package/core/a11y.js +91 -91
  18. package/core/base-elements.js +87 -88
  19. package/core/controllers.js +40 -40
  20. package/core/datetime.js +34 -36
  21. package/core/dom.js +26 -26
  22. package/core/eventing.js +33 -33
  23. package/core/mixins.js +122 -122
  24. package/core/overlay/overlay.d.ts.map +1 -1
  25. package/core/overlay.js +55 -50
  26. package/core/testing/event-spy.d.ts +1 -1
  27. package/core/testing/wait-for-image-ready.d.ts +4 -0
  28. package/core/testing/wait-for-image-ready.d.ts.map +1 -0
  29. package/core/testing.d.ts +1 -0
  30. package/core/testing.d.ts.map +1 -1
  31. package/core/testing.js +42 -31
  32. package/custom-elements.json +70 -4
  33. package/datepicker/common.js +55 -55
  34. package/datepicker/datepicker-toggle.js +94 -94
  35. package/datepicker/datepicker.js +144 -144
  36. package/development/accordion.js +2 -3
  37. package/development/action-group.js +2 -3
  38. package/development/alert/alert-group.js +2 -3
  39. package/development/alert/alert.js +2 -3
  40. package/development/autocomplete.js +2 -3
  41. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts.map +1 -1
  42. package/development/breadcrumb/breadcrumb-group.js +5 -5
  43. package/development/breadcrumb/breadcrumb.js +2 -3
  44. package/development/button/button-link.js +2 -3
  45. package/development/button/button-static.js +2 -3
  46. package/development/button/button.js +2 -3
  47. package/development/button/common.js +2 -3
  48. package/development/button/mini-button.js +2 -3
  49. package/development/button/secondary-button-link.js +2 -3
  50. package/development/button/secondary-button-static.js +2 -3
  51. package/development/button/secondary-button.js +2 -3
  52. package/development/button/tertiary-button-link.js +2 -3
  53. package/development/button/tertiary-button-static.js +2 -3
  54. package/development/button/tertiary-button.js +2 -3
  55. package/development/button/transparent-button-link.js +2 -3
  56. package/development/button/transparent-button-static.js +2 -3
  57. package/development/button/transparent-button.js +2 -3
  58. package/development/calendar.js +2 -3
  59. package/development/card/card-badge.js +2 -3
  60. package/development/card/card-button.js +2 -3
  61. package/development/card/card-link.js +2 -3
  62. package/development/card/card.js +2 -3
  63. package/development/card/common.js +2 -3
  64. package/development/checkbox/checkbox-group.js +2 -3
  65. package/development/checkbox/checkbox.js +2 -3
  66. package/development/chip.js +2 -3
  67. package/development/clock.js +2 -3
  68. package/development/container/container.js +2 -3
  69. package/development/container/sticky-bar.js +2 -3
  70. package/development/core/base-elements.js +4 -7
  71. package/development/core/mixins.js +7 -13
  72. package/development/core/overlay/overlay.d.ts.map +1 -1
  73. package/development/core/overlay.js +9 -3
  74. package/development/core/testing/event-spy.d.ts +1 -1
  75. package/development/core/testing/wait-for-image-ready.d.ts +4 -0
  76. package/development/core/testing/wait-for-image-ready.d.ts.map +1 -0
  77. package/development/core/testing.d.ts +1 -0
  78. package/development/core/testing.d.ts.map +1 -1
  79. package/development/core/testing.js +17 -1
  80. package/development/datepicker/common.js +2 -3
  81. package/development/datepicker/datepicker-next-day.js +2 -3
  82. package/development/datepicker/datepicker-previous-day.js +2 -3
  83. package/development/datepicker/datepicker-toggle.js +2 -3
  84. package/development/datepicker/datepicker.js +2 -3
  85. package/development/dialog/dialog-actions.js +2 -3
  86. package/development/dialog/dialog-content.js +2 -3
  87. package/development/dialog/dialog-title.js +2 -3
  88. package/development/dialog/dialog.js +2 -3
  89. package/development/divider.js +2 -3
  90. package/development/expansion-panel/expansion-panel-content.js +2 -3
  91. package/development/expansion-panel/expansion-panel-header.js +2 -3
  92. package/development/expansion-panel/expansion-panel.js +2 -3
  93. package/development/file-selector.js +2 -3
  94. package/development/footer.js +2 -3
  95. package/development/form-error.js +2 -3
  96. package/development/form-field/form-field-clear.js +2 -3
  97. package/development/form-field/form-field.js +2 -3
  98. package/development/header/common.js +2 -3
  99. package/development/header/header-button.js +2 -3
  100. package/development/header/header-link.js +2 -3
  101. package/development/header/header.js +2 -3
  102. package/development/icon.js +4 -7
  103. package/development/image/image.d.ts +12 -3
  104. package/development/image/image.d.ts.map +1 -1
  105. package/development/image.js +41 -24
  106. package/development/journey-header.js +2 -3
  107. package/development/lead-container.js +2 -3
  108. package/development/link/block-link-button.js +2 -3
  109. package/development/link/block-link-static.js +2 -3
  110. package/development/link/block-link.js +2 -3
  111. package/development/link/common.js +3 -5
  112. package/development/link/link-button.js +2 -3
  113. package/development/link/link-static.js +2 -3
  114. package/development/link/link.js +2 -3
  115. package/development/link-list.js +2 -3
  116. package/development/loading-indicator.js +2 -3
  117. package/development/logo.js +2 -3
  118. package/development/map-container.js +2 -3
  119. package/development/menu/common.js +2 -3
  120. package/development/menu/menu-button.js +2 -3
  121. package/development/menu/menu-link.js +2 -3
  122. package/development/menu/menu.js +2 -3
  123. package/development/message.js +2 -3
  124. package/development/navigation/common.js +2 -3
  125. package/development/navigation/navigation-button.js +2 -3
  126. package/development/navigation/navigation-link.js +2 -3
  127. package/development/navigation/navigation-list.js +2 -3
  128. package/development/navigation/navigation-marker.js +2 -3
  129. package/development/navigation/navigation-section.js +2 -3
  130. package/development/navigation/navigation.js +2 -3
  131. package/development/notification.js +2 -3
  132. package/development/option/optgroup.js +2 -3
  133. package/development/option/option.js +2 -3
  134. package/development/overlay.js +3 -5
  135. package/development/popover/popover-trigger.js +2 -3
  136. package/development/popover/popover.js +2 -3
  137. package/development/radio-button/radio-button-group.js +2 -3
  138. package/development/radio-button/radio-button.js +2 -3
  139. package/development/screen-reader-only.js +2 -3
  140. package/development/select.js +2 -3
  141. package/development/selection-panel.js +2 -3
  142. package/development/signet.js +2 -3
  143. package/development/skiplink-list.js +2 -3
  144. package/development/slider.js +2 -3
  145. package/development/status.js +2 -3
  146. package/development/stepper/step-label.js +2 -3
  147. package/development/stepper/step.js +2 -3
  148. package/development/stepper/stepper/stepper.d.ts +1 -1
  149. package/development/stepper/stepper/stepper.d.ts.map +1 -1
  150. package/development/stepper/stepper.js +5 -6
  151. package/development/tabs/tab-group.js +2 -3
  152. package/development/tabs/tab-title.js +2 -3
  153. package/development/tag/tag-group.js +2 -3
  154. package/development/tag/tag.js +2 -3
  155. package/development/teaser-hero.js +2 -3
  156. package/development/teaser-paid.js +2 -3
  157. package/development/teaser.js +2 -3
  158. package/development/time-input.js +2 -3
  159. package/development/timetable-occupancy-icon.js +2 -3
  160. package/development/timetable-occupancy.js +2 -3
  161. package/development/title.js +3 -5
  162. package/development/toast.js +2 -3
  163. package/development/toggle/toggle-option.js +3 -5
  164. package/development/toggle/toggle.js +2 -3
  165. package/development/toggle-check.js +10 -3
  166. package/development/train/train-blocked-passage.js +2 -3
  167. package/development/train/train-formation.js +2 -3
  168. package/development/train/train-wagon.js +2 -3
  169. package/development/train/train.js +2 -3
  170. package/development/visual-checkbox.js +2 -3
  171. package/dialog/dialog-title.js +20 -20
  172. package/dialog/dialog.js +66 -66
  173. package/expansion-panel/expansion-panel-header.js +20 -20
  174. package/expansion-panel/expansion-panel.js +60 -60
  175. package/file-selector.js +91 -91
  176. package/form-field/form-field-clear.js +12 -12
  177. package/form-field/form-field.js +111 -111
  178. package/header/header.js +53 -53
  179. package/icon.js +107 -107
  180. package/image/image.d.ts +12 -3
  181. package/image/image.d.ts.map +1 -1
  182. package/image.js +118 -105
  183. package/journey-header.js +29 -29
  184. package/map-container.js +23 -23
  185. package/menu/menu.js +91 -91
  186. package/navigation/common.js +16 -16
  187. package/navigation/navigation-marker.js +34 -34
  188. package/navigation/navigation-section.js +83 -83
  189. package/navigation/navigation.js +87 -87
  190. package/notification.js +52 -52
  191. package/option/optgroup.js +45 -45
  192. package/option/option.js +108 -108
  193. package/overlay.js +5 -5
  194. package/package.json +1 -1
  195. package/popover/popover.js +110 -110
  196. package/radio-button/radio-button-group.js +93 -93
  197. package/radio-button/radio-button.js +84 -84
  198. package/select.js +178 -178
  199. package/selection-panel.js +44 -44
  200. package/slider.js +58 -58
  201. package/status.js +6 -6
  202. package/stepper/step-label.js +19 -19
  203. package/stepper/step.js +31 -31
  204. package/stepper/stepper/stepper.d.ts +1 -1
  205. package/stepper/stepper/stepper.d.ts.map +1 -1
  206. package/stepper/stepper.js +48 -48
  207. package/tabs/tab-group.js +67 -67
  208. package/tag/tag-group.js +8 -8
  209. package/tag/tag.js +27 -27
  210. package/teaser-paid.js +12 -12
  211. package/time-input.js +73 -73
  212. package/timetable-occupancy-icon.js +26 -26
  213. package/timetable-occupancy.js +9 -9
  214. package/toast.js +38 -38
  215. package/toggle/toggle-option.js +33 -33
  216. package/toggle/toggle.js +46 -46
  217. package/toggle-check.js +14 -14
  218. package/train/train-formation.js +36 -37
  219. package/train/train-wagon.js +30 -30
  220. package/train/train.js +13 -13
package/file-selector.js CHANGED
@@ -1,98 +1,98 @@
1
- import { css as g, LitElement as m, nothing as h } from "lit";
2
- import { property as r, state as v, customElement as y } from "lit/decorators.js";
3
- import { ref as b } from "lit/directives/ref.js";
1
+ import { css as g, LitElement as v, nothing as f } from "lit";
2
+ import { property as l, state as y, customElement as _ } from "lit/decorators.js";
3
+ import { ref as n } from "lit/directives/ref.js";
4
4
  import { html as a, unsafeStatic as c } from "lit/static-html.js";
5
- import { sbbInputModalityDetector as _ } from "./core/a11y.js";
5
+ import { sbbInputModalityDetector as m } from "./core/a11y.js";
6
6
  import { SbbLanguageController as x, SbbSlotStateController as $ } from "./core/controllers.js";
7
7
  import { EventEmitter as z } from "./core/eventing.js";
8
- import { i18nFileSelectorCurrentlySelected as u, i18nFileSelectorButtonLabel as p, i18nFileSelectorSubtitleLabel as E, i18nFileSelectorDeleteFile as w } from "./core/i18n.js";
9
- import { SbbDisabledMixin as F } from "./core/mixins.js";
8
+ import { i18nFileSelectorCurrentlySelected as u, i18nFileSelectorButtonLabel as p, i18nFileSelectorSubtitleLabel as w, i18nFileSelectorDeleteFile as E } from "./core/i18n.js";
9
+ import { SbbDisabledMixin as k } from "./core/mixins.js";
10
10
  import "./button/secondary-button.js";
11
11
  import "./button/secondary-button-static.js";
12
12
  import "./icon.js";
13
- const k = g`*,:before,:after{box-sizing:border-box}:host{--sbb-file-selector-color: var(--sbb-color-black);--sbb-file-selector-subtitle-color: var(--sbb-color-granite);--sbb-file-selector-background-color: var(--sbb-color-white);--sbb-file-selector-border-color: var(--sbb-color-cloud);--sbb-file-selector-transition-duration: var( --sbb-disable-animation-zero-time, var(--sbb-animation-duration-2x) );--sbb-file-selector-transition-easing-function: var(--sbb-animation-easing);display:block;width:20rem}@media (forced-colors: active){:host([disabled]){--sbb-file-selector-color: GrayText;--sbb-file-selector-subtitle-color: GrayText;--sbb-file-selector-border-color: GrayText}}:host([data-active]){--sbb-file-selector-background-color: var(--sbb-color-milk);--sbb-file-selector-border-color: var(--sbb-color-storm)}@media (forced-colors: active){:host([data-active]){--sbb-file-selector-border-color: Highlight}}.sbb-file-selector__input-container{-webkit-tap-highlight-color:transparent;display:flex;flex-direction:column}.sbb-file-selector__visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.sbb-file-selector__dropzone-area{display:flex;flex-direction:column;align-items:center;padding:var(--sbb-spacing-responsive-s);background-color:var(--sbb-file-selector-background-color);border:var(--sbb-border-width-1x) dashed var(--sbb-file-selector-border-color);border-radius:var(--sbb-border-radius-4x);transition-duration:var(--sbb-file-selector-transition-duration);transition-timing-function:var(--sbb-file-selector-transition-easing-function);transition-property:background-color,border-color}.sbb-file-selector__dropzone-area--icon{color:var(--sbb-file-selector-color);line-height:0}.sbb-file-selector__dropzone-area--title{--sbb-title-line-height: var(--sbb-typo-line-height-titles);--sbb-title-margin-block-start: 0;--sbb-title-margin-block-end: 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;margin-block:var(--sbb-title-margin-block-start) var(--sbb-title-margin-block-end);font-family:var(--sbb-typo-font-family);font-weight:700;line-height:var(--sbb-title-line-height);letter-spacing:var(--sbb-typo-letter-spacing-titles);font-size:var(--sbb-title-font-size);--sbb-title-font-size: var(--sbb-font-size-title-6);--sbb-title-line-height: var(--sbb-typo-line-height-body-text);text-align:center;color:var(--sbb-file-selector-color)}.sbb-file-selector__dropzone-area--subtitle{--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);text-align:center;color:var(--sbb-file-selector-subtitle-color);margin-block-end:var(--sbb-spacing-fixed-4x)}.sbb-file-selector__file-list{display:flex;flex-direction:column;row-gap:var(--sbb-spacing-fixed-3x);margin-block:0;padding-inline:0;padding-block:var(--sbb-spacing-fixed-6x) var(--sbb-spacing-fixed-1x)}.sbb-file-selector__file{--sbb-text-font-size: var(--sbb-font-size-text-s);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;gap:var(--sbb-spacing-fixed-4x);align-items:center;justify-content:space-between}.sbb-file-selector__file-details{display:flex;flex:1;justify-content:space-between;gap:var(--sbb-spacing-fixed-4x);overflow:auto}.sbb-file-selector__file-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sbb-file-selector__file-size{white-space:nowrap;color:var(--sbb-color-metal)}:host(:not([data-slot-names~=error])) .sbb-file-selector__error{display:none}`;
14
- var M = Object.defineProperty, D = Object.getOwnPropertyDescriptor, l = (e, t, s, n) => {
15
- for (var o = n > 1 ? void 0 : n ? D(t, s) : t, f = e.length - 1, d; f >= 0; f--)
16
- (d = e[f]) && (o = (n ? d(t, s, o) : d(o)) || o);
17
- return n && o && M(t, s, o), o;
13
+ const M = g`*,:before,:after{box-sizing:border-box}:host{--sbb-file-selector-color: var(--sbb-color-black);--sbb-file-selector-subtitle-color: var(--sbb-color-granite);--sbb-file-selector-background-color: var(--sbb-color-white);--sbb-file-selector-border-color: var(--sbb-color-cloud);--sbb-file-selector-transition-duration: var( --sbb-disable-animation-zero-time, var(--sbb-animation-duration-2x) );--sbb-file-selector-transition-easing-function: var(--sbb-animation-easing);display:block;width:20rem}@media (forced-colors: active){:host([disabled]){--sbb-file-selector-color: GrayText;--sbb-file-selector-subtitle-color: GrayText;--sbb-file-selector-border-color: GrayText}}:host([data-active]){--sbb-file-selector-background-color: var(--sbb-color-milk);--sbb-file-selector-border-color: var(--sbb-color-storm)}@media (forced-colors: active){:host([data-active]){--sbb-file-selector-border-color: Highlight}}.sbb-file-selector__input-container{-webkit-tap-highlight-color:transparent;display:flex;flex-direction:column}.sbb-file-selector__visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.sbb-file-selector__dropzone-area{display:flex;flex-direction:column;align-items:center;padding:var(--sbb-spacing-responsive-s);background-color:var(--sbb-file-selector-background-color);border:var(--sbb-border-width-1x) dashed var(--sbb-file-selector-border-color);border-radius:var(--sbb-border-radius-4x);transition-duration:var(--sbb-file-selector-transition-duration);transition-timing-function:var(--sbb-file-selector-transition-easing-function);transition-property:background-color,border-color}.sbb-file-selector__dropzone-area--icon{color:var(--sbb-file-selector-color);line-height:0}.sbb-file-selector__dropzone-area--title{--sbb-title-line-height: var(--sbb-typo-line-height-titles);--sbb-title-margin-block-start: 0;--sbb-title-margin-block-end: 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;margin-block:var(--sbb-title-margin-block-start) var(--sbb-title-margin-block-end);font-family:var(--sbb-typo-font-family);font-weight:700;line-height:var(--sbb-title-line-height);letter-spacing:var(--sbb-typo-letter-spacing-titles);font-size:var(--sbb-title-font-size);--sbb-title-font-size: var(--sbb-font-size-title-6);--sbb-title-line-height: var(--sbb-typo-line-height-body-text);text-align:center;color:var(--sbb-file-selector-color)}.sbb-file-selector__dropzone-area--subtitle{--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);text-align:center;color:var(--sbb-file-selector-subtitle-color);margin-block-end:var(--sbb-spacing-fixed-4x)}.sbb-file-selector__file-list{display:flex;flex-direction:column;row-gap:var(--sbb-spacing-fixed-3x);margin-block:0;padding-inline:0;padding-block:var(--sbb-spacing-fixed-6x) var(--sbb-spacing-fixed-1x)}.sbb-file-selector__file{--sbb-text-font-size: var(--sbb-font-size-text-s);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;gap:var(--sbb-spacing-fixed-4x);align-items:center;justify-content:space-between}.sbb-file-selector__file-details{display:flex;flex:1;justify-content:space-between;gap:var(--sbb-spacing-fixed-4x);overflow:auto}.sbb-file-selector__file-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sbb-file-selector__file-size{white-space:nowrap;color:var(--sbb-color-metal)}:host(:not([data-slot-names~=error])) .sbb-file-selector__error{display:none}`;
14
+ var S = Object.defineProperty, P = Object.getOwnPropertyDescriptor, o = (e, t, s, b) => {
15
+ for (var r = b > 1 ? void 0 : b ? P(t, s) : t, d = e.length - 1, h; d >= 0; d--)
16
+ (h = e[d]) && (r = (b ? h(t, s, r) : h(r)) || r);
17
+ return b && r && S(t, s, r), r;
18
18
  };
19
- let i = class extends F(m) {
19
+ let i = class extends k(v) {
20
20
  constructor() {
21
- super(), this.variant = "default", this.size = "m", this.multiple = !1, this.multipleMode = "default", this._fileChangedEvent = new z(
21
+ super(), this.variant = "default", this.size = "m", this.multiple = !1, this.multipleMode = "default", this.h = new z(
22
22
  this,
23
23
  i.events.fileChangedEvent
24
- ), this._counter = 0, this._suffixes = ["B", "kB", "MB", "GB", "TB"], this._language = new x(this), new $(this);
24
+ ), this.d = 0, this.m = ["B", "kB", "MB", "GB", "TB"], this.b = new x(this), new $(this);
25
25
  }
26
26
  /**
27
27
  * Gets the currently selected files.
28
28
  */
29
29
  get files() {
30
- return this._files || [];
30
+ return this.a || [];
31
31
  }
32
32
  /**
33
33
  * @deprecated use 'files' property instead
34
34
  */
35
35
  getFiles() {
36
- return this._files || [];
36
+ return this.a || [];
37
37
  }
38
- _blockEvent(e) {
38
+ e(e) {
39
39
  e.stopPropagation(), e.preventDefault();
40
40
  }
41
- _checkFileEquality(e, t) {
41
+ k(e, t) {
42
42
  return e.name === t.name && e.size === t.size && e.lastModified === t.lastModified;
43
43
  }
44
- _onDragEnter(e) {
45
- this._counter++, this.disabled || (this._setDragState(e.target, !0), this._blockEvent(e));
44
+ n(e) {
45
+ this.d++, this.disabled || (this.g(e.target, !0), this.e(e));
46
46
  }
47
- _onDragLeave(e) {
48
- this._counter--, !this.disabled && e.target === this._dragTarget && this._counter === 0 && (this._setDragState(), this._blockEvent(e));
47
+ o(e) {
48
+ this.d--, !this.disabled && e.target === this.i && this.d === 0 && (this.g(), this.e(e));
49
49
  }
50
- _onFileDrop(e) {
51
- this._counter = 0, this.disabled || (this._setDragState(), this._blockEvent(e), this._createFileList(e.dataTransfer.files));
50
+ p(e) {
51
+ this.d = 0, this.disabled || (this.g(), this.e(e), this.l(e.dataTransfer.files));
52
52
  }
53
- _onFocus() {
54
- _.mostRecentModality === "keyboard" && this._loadButton.toggleAttribute("data-focus-visible", !0);
53
+ q() {
54
+ m.mostRecentModality === "keyboard" && this.c.toggleAttribute("data-focus-visible", !0);
55
55
  }
56
- _onBlur() {
57
- _.mostRecentModality === "keyboard" && this._loadButton.removeAttribute("data-focus-visible");
56
+ r() {
57
+ m.mostRecentModality === "keyboard" && this.c.removeAttribute("data-focus-visible");
58
58
  }
59
- _setDragState(e = void 0, t = !1) {
60
- this._dragTarget = e, this.toggleAttribute("data-active", t), this._loadButton.toggleAttribute("data-active", t);
59
+ g(e = void 0, t = !1) {
60
+ this.i = e, this.toggleAttribute("data-active", t), this.c.toggleAttribute("data-active", t);
61
61
  }
62
- _readFiles(e) {
62
+ s(e) {
63
63
  const t = e.target;
64
- t.files && this._createFileList(t.files);
64
+ t.files && this.l(t.files);
65
65
  }
66
- _createFileList(e) {
67
- !this.multiple || this.multipleMode !== "persistent" || !this._files || this._files.length === 0 ? this._files = Array.from(e) : this._files = Array.from(e).filter(
68
- (t) => this._files.findIndex((s) => this._checkFileEquality(t, s)) === -1
69
- ).concat(this._files), this._liveRegion.innerText = u(this._files.map((t) => t.name))[this._language.current], this._fileChangedEvent.emit(this._files);
66
+ l(e) {
67
+ !this.multiple || this.multipleMode !== "persistent" || !this.a || this.a.length === 0 ? this.a = Array.from(e) : this.a = Array.from(e).filter(
68
+ (t) => this.a.findIndex((s) => this.k(t, s)) === -1
69
+ ).concat(this.a), this.f.innerText = u(this.a.map((t) => t.name))[this.b.current], this.h.emit(this.a);
70
70
  }
71
- _removeFile(e) {
72
- this._files = this._files.filter((s) => !this._checkFileEquality(e, s));
71
+ t(e) {
72
+ this.a = this.a.filter((s) => !this.k(e, s));
73
73
  const t = new DataTransfer();
74
- this._files.forEach((s) => t.items.add(s)), this._hiddenInput.files = t.files, this._liveRegion.innerText = u(this._files.map((s) => s.name))[this._language.current], this._fileChangedEvent.emit(this._files);
74
+ this.a.forEach((s) => t.items.add(s)), this.j.files = t.files, this.f.innerText = u(this.a.map((s) => s.name))[this.b.current], this.h.emit(this.a);
75
75
  }
76
76
  /** Calculates the correct unit for the file's size. */
77
- _formatFileSize(e) {
77
+ u(e) {
78
78
  const t = Math.floor(Math.log(e) / Math.log(1024));
79
- return `${(e / Math.pow(1024, t)).toFixed(0)} ${this._suffixes[t]}`;
79
+ return `${(e / Math.pow(1024, t)).toFixed(0)} ${this.m[t]}`;
80
80
  }
81
- _renderDefaultMode() {
81
+ v() {
82
82
  return a`
83
83
  <sbb-secondary-button-static
84
84
  size=${this.size}
85
85
  icon-name="folder-open-small"
86
86
  ?disabled=${this.disabled}
87
- ${b((e) => {
88
- this._loadButton = e;
87
+ ${n((e) => {
88
+ this.c = e;
89
89
  })}
90
90
  >
91
- ${p[this._language.current]}
91
+ ${p[this.b.current]}
92
92
  </sbb-secondary-button-static>
93
93
  `;
94
94
  }
95
- _renderDropzoneArea() {
95
+ w() {
96
96
  return a`
97
97
  <span class="sbb-file-selector__dropzone-area">
98
98
  <span class="sbb-file-selector__dropzone-area--icon">
@@ -102,38 +102,38 @@ let i = class extends F(m) {
102
102
  </span>
103
103
  <span class="sbb-file-selector__dropzone-area--title">${this.titleContent}</span>
104
104
  <span class="sbb-file-selector__dropzone-area--subtitle">
105
- ${E[this._language.current]}
105
+ ${w[this.b.current]}
106
106
  </span>
107
107
  <span class="sbb-file-selector__dropzone-area--button">
108
108
  <sbb-secondary-button-static
109
109
  size=${this.size}
110
110
  ?disabled=${this.disabled}
111
- ${b((e) => {
112
- this._loadButton = e;
111
+ ${n((e) => {
112
+ this.c = e;
113
113
  })}
114
114
  >
115
- ${p[this._language.current]}
115
+ ${p[this.b.current]}
116
116
  </sbb-secondary-button-static>
117
117
  </span>
118
118
  </span>
119
119
  `;
120
120
  }
121
- _renderFileList() {
122
- const e = this._files.length > 1 ? { WRAPPER: "ul", ELEMENT: "li" } : { WRAPPER: "div", ELEMENT: "span" };
121
+ x() {
122
+ const e = this.a.length > 1 ? { WRAPPER: "ul", ELEMENT: "li" } : { WRAPPER: "div", ELEMENT: "span" };
123
123
  return a`
124
124
  <${c(e.WRAPPER)} class="sbb-file-selector__file-list">
125
- ${this._files.map(
125
+ ${this.a.map(
126
126
  (t) => a`
127
127
  <${c(e.ELEMENT)} class="sbb-file-selector__file">
128
128
  <span class="sbb-file-selector__file-details">
129
129
  <span class="sbb-file-selector__file-name">${t.name}</span>
130
- <span class="sbb-file-selector__file-size">${this._formatFileSize(t.size)}</span>
130
+ <span class="sbb-file-selector__file-size">${this.u(t.size)}</span>
131
131
  </span>
132
132
  <sbb-secondary-button
133
133
  size=${this.size}
134
134
  icon-name="trash-small"
135
- @click=${() => this._removeFile(t)}
136
- aria-label=${`${w[this._language.current]} - ${t.name}`}
135
+ @click=${() => this.t(t)}
136
+ aria-label=${`${E[this.b.current]} - ${t.name}`}
137
137
  ></sbb-secondary-button>
138
138
  </${c(e.ELEMENT)}>`
139
139
  )}
@@ -141,30 +141,30 @@ let i = class extends F(m) {
141
141
  `;
142
142
  }
143
143
  render() {
144
- const e = this.accessibilityLabel ? `${p[this._language.current]} - ${this.accessibilityLabel}` : void 0;
144
+ const e = this.accessibilityLabel ? `${p[this.b.current]} - ${this.accessibilityLabel}` : void 0;
145
145
  return a`
146
146
  <div class="sbb-file-selector">
147
147
  <div
148
148
  class="sbb-file-selector__input-container"
149
- @dragenter=${this._onDragEnter}
150
- @dragover=${this._blockEvent}
151
- @dragleave=${this._onDragLeave}
152
- @drop=${this._onFileDrop}
149
+ @dragenter=${this.n}
150
+ @dragover=${this.e}
151
+ @dragleave=${this.o}
152
+ @drop=${this.p}
153
153
  >
154
154
  <label>
155
- ${this.variant === "default" ? this._renderDefaultMode() : this._renderDropzoneArea()}
155
+ ${this.variant === "default" ? this.v() : this.w()}
156
156
  <input
157
157
  class="sbb-file-selector__visually-hidden"
158
158
  type="file"
159
159
  ?disabled=${this.disabled}
160
160
  ?multiple=${this.multiple}
161
- accept=${this.accept || h}
162
- aria-label=${e || h}
163
- @change=${this._readFiles}
164
- @focus=${this._onFocus}
165
- @blur=${this._onBlur}
166
- ${b((t) => {
167
- this._hiddenInput = t;
161
+ accept=${this.accept || f}
162
+ aria-label=${e || f}
163
+ @change=${this.s}
164
+ @focus=${this.q}
165
+ @blur=${this.r}
166
+ ${n((t) => {
167
+ this.j = t;
168
168
  })}
169
169
  />
170
170
  </label>
@@ -172,9 +172,9 @@ let i = class extends F(m) {
172
172
  <p
173
173
  role="status"
174
174
  class="sbb-file-selector__visually-hidden"
175
- ${b((t) => this._liveRegion = t)}
175
+ ${n((t) => this.f = t)}
176
176
  ></p>
177
- ${this._files && this._files.length > 0 ? this._renderFileList() : h}
177
+ ${this.a && this.a.length > 0 ? this.x() : f}
178
178
  <div class="sbb-file-selector__error">
179
179
  <slot name="error"></slot>
180
180
  </div>
@@ -182,36 +182,36 @@ let i = class extends F(m) {
182
182
  `;
183
183
  }
184
184
  };
185
- i.styles = k;
185
+ i.styles = M;
186
186
  i.events = {
187
187
  fileChangedEvent: "fileChanged"
188
188
  };
189
- l([
190
- r()
189
+ o([
190
+ l()
191
191
  ], i.prototype, "variant", 2);
192
- l([
193
- r({ reflect: !0 })
192
+ o([
193
+ l({ reflect: !0 })
194
194
  ], i.prototype, "size", 2);
195
- l([
196
- r({ type: Boolean })
195
+ o([
196
+ l({ type: Boolean })
197
197
  ], i.prototype, "multiple", 2);
198
- l([
199
- r({ attribute: "multiple-mode" })
198
+ o([
199
+ l({ attribute: "multiple-mode" })
200
200
  ], i.prototype, "multipleMode", 2);
201
- l([
202
- r()
201
+ o([
202
+ l()
203
203
  ], i.prototype, "accept", 2);
204
- l([
205
- r({ attribute: "title-content" })
204
+ o([
205
+ l({ attribute: "title-content" })
206
206
  ], i.prototype, "titleContent", 2);
207
- l([
208
- r({ attribute: "accessibility-label" })
207
+ o([
208
+ l({ attribute: "accessibility-label" })
209
209
  ], i.prototype, "accessibilityLabel", 2);
210
- l([
211
- v()
212
- ], i.prototype, "_files", 2);
213
- i = l([
214
- y("sbb-file-selector")
210
+ o([
211
+ y()
212
+ ], i.prototype, "a", 2);
213
+ i = o([
214
+ _("sbb-file-selector")
215
215
  ], i);
216
216
  export {
217
217
  i as SbbFileSelectorElement
@@ -8,27 +8,27 @@ import { i18nClearInput as m } from "../core/i18n.js";
8
8
  import { SbbNegativeMixin as p } from "../core/mixins.js";
9
9
  import "../icon.js";
10
10
  const g = l`*,:before,:after{box-sizing:border-box}:host{display:block;outline:none!important}:host{display:inline-block;-webkit-tap-highlight-color:transparent;height:fit-content;outline:none!important;--sbb-button-color-default-background: var(--sbb-color-black-alpha-0);--sbb-button-color-default-border: var(--sbb-color-black-alpha-0);--sbb-button-color-default-text: var(--sbb-color-charcoal);--sbb-button-color-hover-background: var(--sbb-color-milk);--sbb-button-color-hover-border: var(--sbb-color-milk);--sbb-button-color-hover-text: var(--sbb-color-charcoal);--sbb-button-color-active-background: var(--sbb-color-cloud);--sbb-button-color-active-border: var(--sbb-color-cloud);--sbb-button-color-active-text: var(--sbb-color-charcoal);--sbb-button-color-disabled-background: var(--sbb-color-milk);--sbb-button-color-disabled-border: var(--sbb-color-smoke);--sbb-button-color-disabled-text: var(--sbb-color-granite);--sbb-button-border-style: solid;--sbb-button-border-disabled-style: dashed;--sbb-button-border-width: 0rem;--sbb-button-border-radius: var(--sbb-border-radius-infinity);--sbb-button-transition-duration: var( --sbb-disable-animation-zero-time, var(--sbb-animation-duration-2x) );--sbb-button-transition-easing-function: var(--sbb-animation-easing);--sbb-button-inset: 0}@media (forced-colors: active){:host{--sbb-button-color-default-text: ButtonText !important;--sbb-button-color-default-border: CanvasText !important;--sbb-button-color-active-text: ButtonText !important;--sbb-button-color-active-border: Highlight !important;--sbb-button-color-hover-text: ButtonText !important}}:host .sbb-form-field-clear{position:relative;transition-duration:var(--sbb-button-transition-duration);transition-timing-function:var(--sbb-button-transition-easing-function);transition-property:color;border-radius:var(--sbb-button-border-radius);color:var(--sbb-button-color-default-text);cursor:pointer;-webkit-user-select:none;user-select:none;display:var(--sbb-button-display)}:host .sbb-form-field-clear:before{position:absolute;content:"";inset:var(--sbb-button-inset);border:var(--sbb-button-border-width) var(--sbb-button-border-style) var(--sbb-button-color-default-border);border-radius:var(--sbb-button-border-radius);background-color:var(--sbb-button-color-default-background);transition-duration:var(--sbb-button-transition-duration);transition-timing-function:var(--sbb-button-transition-easing-function);transition-property:inset,background-color,border-color}sbb-icon{transition:transform var(--sbb-button-transition-duration) var(--sbb-button-transition-easing-function);transform:translateY(var(--sbb-button-translate-y-content-hover, 0rem));display:flex}:host([negative]){--sbb-button-color-default-background: var(--sbb-color-black-alpha-0);--sbb-button-color-default-border: var(--sbb-color-black-alpha-0);--sbb-button-color-default-text: var(--sbb-color-milk);--sbb-button-color-hover-background: var(--sbb-color-charcoal);--sbb-button-color-hover-border: var(--sbb-color-charcoal);--sbb-button-color-hover-text: var(--sbb-color-milk);--sbb-button-color-active-background: var(--sbb-color-iron);--sbb-button-color-active-border: var(--sbb-color-iron);--sbb-button-color-active-text: var(--sbb-color-milk);--sbb-button-color-disabled-background: var(--sbb-color-black-alpha-0);--sbb-button-color-disabled-border: var(--sbb-color-smoke);--sbb-button-color-disabled-text: var(--sbb-color-smoke)}:host(:is([disabled],[data-disabled])){--sbb-button-border-width: var(--sbb-border-width-1x)}@media (forced-colors: active){:host(:is([disabled],[data-disabled])){--sbb-button-color-disabled-text: GrayText !important}}:host(:is([disabled],[data-disabled])) .sbb-form-field-clear{color:var(--sbb-button-color-disabled-text);cursor:default;pointer-events:none}:host(:is([disabled],[data-disabled])) .sbb-form-field-clear:before{background-color:var(--sbb-button-color-disabled-background);border-color:var(--sbb-button-color-disabled-border);border-style:var(--sbb-button-border-disabled-style)}:host(:focus-visible:not([data-focus-origin=mouse],[data-focus-origin=touch])) .sbb-form-field-clear:before{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) solid var(--sbb-focus-outline-width)}@media (any-hover: hover){:host(:not([disabled],[data-disabled],:active,[data-active]):hover){--sbb-button-translate-y-content-hover: -.0625rem}}@media (forced-colors: active){:host(:not([disabled],[data-disabled],:active,[data-active]):hover){--sbb-button-color-hover-border: Highlight !important}}@media (any-hover: hover){:host(:not([disabled],[data-disabled],:active,[data-active]):hover) .sbb-form-field-clear:before{inset:calc(var(--sbb-button-border-width) * -1);background-color:var(--sbb-button-color-hover-background);border-color:var(--sbb-button-color-hover-border)}}@media (any-hover: hover){:host(:not([disabled],[data-disabled],:active,[data-active]):hover) .sbb-form-field-clear{color:var(--sbb-button-color-hover-text)}}:host(:not([disabled],[data-disabled]):is(:active,[data-active])) .sbb-form-field-clear:before{color:var(--sbb-button-color-active-text);background-color:var(--sbb-button-color-active-background);border-color:var(--sbb-button-color-active-border)}`;
11
- var k = Object.defineProperty, x = Object.getOwnPropertyDescriptor, y = (o, t, b, e) => {
12
- for (var r = e > 1 ? void 0 : e ? x(t, b) : t, a = o.length - 1, s; a >= 0; a--)
13
- (s = o[a]) && (r = (e ? s(t, b, r) : s(r)) || r);
14
- return e && r && k(t, b, r), r;
11
+ var k = Object.defineProperty, x = Object.getOwnPropertyDescriptor, y = (o, t, r, e) => {
12
+ for (var b = e > 1 ? void 0 : e ? x(t, r) : t, a = o.length - 1, s; a >= 0; a--)
13
+ (s = o[a]) && (b = (e ? s(t, r, b) : s(b)) || b);
14
+ return e && b && k(t, r, b), b;
15
15
  };
16
16
  let n = class extends p(u) {
17
17
  constructor() {
18
- super(...arguments), this._abort = new v(this), this._language = new h(this);
18
+ super(...arguments), this.b = new v(this), this.c = new h(this);
19
19
  }
20
20
  connectedCallback() {
21
21
  super.connectedCallback();
22
- const o = this._abort.signal;
23
- this.addEventListener("click", () => this._handleClick(), { signal: o }), this._formField = i("sbb-form-field", this) ?? i("[data-form-field]", this), this._formField && (this.negative = this._formField.hasAttribute("negative"));
22
+ const o = this.b.signal;
23
+ this.addEventListener("click", () => this.d(), { signal: o }), this.a = i("sbb-form-field", this) ?? i("[data-form-field]", this), this.a && (this.negative = this.a.hasAttribute("negative"));
24
24
  }
25
- async _handleClick() {
26
- var t, b;
27
- const o = (t = this._formField) == null ? void 0 : t.inputElement;
28
- !o || o.localName !== "input" || ((b = this._formField) == null || b.clear(), o.focus(), o.dispatchEvent(new InputEvent("input", { bubbles: !0, composed: !0 })), o.dispatchEvent(new Event("change", { bubbles: !0 })));
25
+ async d() {
26
+ var t, r;
27
+ const o = (t = this.a) == null ? void 0 : t.inputElement;
28
+ !o || o.localName !== "input" || ((r = this.a) == null || r.clear(), o.focus(), o.dispatchEvent(new InputEvent("input", { bubbles: !0, composed: !0 })), o.dispatchEvent(new Event("change", { bubbles: !0 })));
29
29
  }
30
30
  willUpdate(o) {
31
- super.willUpdate(o), this.setAttribute("aria-label", m[this._language.current]);
31
+ super.willUpdate(o), this.setAttribute("aria-label", m[this.c.current]);
32
32
  }
33
33
  renderTemplate() {
34
34
  return c` <sbb-icon name="cross-small"></sbb-icon> `;