@sbb-esta/lyne-elements-dev 5.7.0-dev.1788783153 → 5.7.0-dev.1788796277

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 (98) hide show
  1. package/alert.pure.js +1 -1
  2. package/badge/_badge.global.scss +1 -1
  3. package/breadcrumb.pure.js +1 -1
  4. package/button.pure.js +2 -2
  5. package/calendar.pure.js +2 -2
  6. package/card.pure.js +1 -1
  7. package/checkbox-panel.pure.js +1 -1
  8. package/checkbox.pure.js +1 -1
  9. package/chip-label.pure.js +1 -1
  10. package/chip.pure.js +1 -1
  11. package/core/styles/_theme.scss +9 -1
  12. package/core/styles/features/image.scss +1 -1
  13. package/core/styles/lean-off-brand-theme.scss +2 -1
  14. package/core/styles/mixins/_lists.scss +2 -2
  15. package/core/styles/mixins/_typo.scss +3 -3
  16. package/core/styles/off-brand-theme.scss +2 -1
  17. package/datepicker.pure.js +1 -1
  18. package/development/alert.pure.js +1 -1
  19. package/development/breadcrumb.pure.js +1 -1
  20. package/development/button.pure.js +2 -2
  21. package/development/calendar.pure.js +2 -2
  22. package/development/card.pure.js +1 -1
  23. package/development/checkbox-panel.pure.js +1 -1
  24. package/development/checkbox.pure.js +1 -1
  25. package/development/chip-label.pure.js +1 -1
  26. package/development/chip.pure.js +1 -1
  27. package/development/datepicker.pure.js +1 -1
  28. package/development/download.pure.js +1 -1
  29. package/development/expansion-panel.pure.js +1 -1
  30. package/development/file-selector.pure.js +2 -2
  31. package/development/footer.pure.js +1 -1
  32. package/development/form-field.pure.js +3 -3
  33. package/development/header.pure.js +2 -2
  34. package/development/link.pure.js +1 -1
  35. package/development/menu.pure.js +1 -1
  36. package/development/message.pure.js +1 -1
  37. package/development/mini-calendar.pure.js +1 -1
  38. package/development/navigation.pure.js +4 -4
  39. package/development/notification.pure.js +1 -1
  40. package/development/option.pure.js +3 -3
  41. package/development/paginator.pure.js +2 -2
  42. package/development/radio-button-panel.pure.js +1 -1
  43. package/development/radio-button.pure.js +1 -1
  44. package/development/status.pure.js +1 -1
  45. package/development/stepper.pure.js +1 -1
  46. package/development/tabs.pure.js +1 -1
  47. package/development/tag.pure.js +1 -1
  48. package/development/teaser-panel.pure.js +1 -1
  49. package/development/teaser-product.pure.js +1 -1
  50. package/development/teaser.pure.js +1 -1
  51. package/development/timetable-occupancy.pure.js +1 -1
  52. package/development/title.pure.js +1 -1
  53. package/development/toast.pure.js +1 -1
  54. package/development/toggle-check.pure.js +1 -1
  55. package/development/toggle.pure.js +2 -2
  56. package/development/tooltip.pure.js +1 -1
  57. package/development/train.pure.js +3 -3
  58. package/download.pure.js +1 -1
  59. package/expansion-panel.pure.js +1 -1
  60. package/file-selector.pure.js +2 -2
  61. package/footer.pure.js +1 -1
  62. package/form-field/_form-field.global.scss +1 -1
  63. package/form-field.pure.js +3 -3
  64. package/header/_header.global.scss +2 -2
  65. package/header.pure.js +2 -2
  66. package/lean-off-brand-theme.css +16 -34
  67. package/lean-safety-theme.css +18 -16
  68. package/lean-theme.css +18 -16
  69. package/link.pure.js +1 -1
  70. package/menu.pure.js +1 -1
  71. package/message.pure.js +1 -1
  72. package/mini-calendar.pure.js +1 -1
  73. package/navigation/_navigation.global.scss +2 -2
  74. package/navigation.pure.js +4 -4
  75. package/notification.pure.js +1 -1
  76. package/off-brand-theme.css +16 -34
  77. package/option.pure.js +3 -3
  78. package/package.json +2 -2
  79. package/paginator.pure.js +2 -2
  80. package/radio-button-panel.pure.js +1 -1
  81. package/radio-button.pure.js +1 -1
  82. package/safety-theme.css +18 -16
  83. package/standard-theme.css +18 -16
  84. package/status.pure.js +1 -1
  85. package/stepper.pure.js +1 -1
  86. package/table/_table.global.scss +4 -4
  87. package/tabs.pure.js +1 -1
  88. package/tag.pure.js +1 -1
  89. package/teaser-panel.pure.js +1 -1
  90. package/teaser-product.pure.js +1 -1
  91. package/teaser.pure.js +1 -1
  92. package/timetable-occupancy.pure.js +1 -1
  93. package/title.pure.js +1 -1
  94. package/toast.pure.js +1 -1
  95. package/toggle-check.pure.js +1 -1
  96. package/toggle.pure.js +2 -2
  97. package/tooltip.pure.js +1 -1
  98. package/train.pure.js +3 -3
package/toggle.pure.js CHANGED
@@ -1,8 +1,8 @@
1
- import{__esDecorate as e,__runInitializers as t}from"tslib";import{ResizeController as n}from"@lit-labs/observers/resize-controller.js";import{html as r,isServer as i,unsafeCSS as a}from"lit";import{property as o}from"lit/decorators.js";import{SbbDisabledMixin as s,SbbElement as c,SbbFormAssociatedMixin as l,forceType as u,interactivityChecker as d}from"./core.js";import{SbbIconNameMixin as f}from"./icon.pure.js";var p=`:host{justify-content:center;align-items:center;gap:var(--sbb-toggle-option-gap);height:var(--sbb-toggle-height);padding-inline:var(--sbb-toggle-padding-inline);color:var(--sbb-toggle-option-color);cursor:var(--sbb-toggle-option-cursor,var(--sbb-cursor-pointer));font-size:var(--sbb-toggle-option-font-size);letter-spacing:var(--sbb-typo-letter-spacing-text);font-weight:700;display:flex;overflow:hidden;outline:none!important}:host([checked]){--sbb-toggle-option-color:var(--sbb-color-2)}:host([disabled]){--sbb-toggle-option-cursor:unset;--sbb-toggle-option-color:light-dark(var(--sbb-color-anthracite),var(--sbb-color-cloud))}.sbb-toggle-option__label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}sbb-icon,::slotted(sbb-icon){min-width:var(--sbb-toggle-option-icon-min-size);min-height:var(--sbb-toggle-option-icon-min-size)}
1
+ import{__esDecorate as e,__runInitializers as t}from"tslib";import{ResizeController as n}from"@lit-labs/observers/resize-controller.js";import{html as r,isServer as i,unsafeCSS as a}from"lit";import{property as o}from"lit/decorators.js";import{SbbDisabledMixin as s,SbbElement as c,SbbFormAssociatedMixin as l,forceType as u,interactivityChecker as d}from"./core.js";import{SbbIconNameMixin as f}from"./icon.pure.js";var p=`:host{justify-content:center;align-items:center;gap:var(--sbb-toggle-option-gap);height:var(--sbb-toggle-height);padding-inline:var(--sbb-toggle-padding-inline);color:var(--sbb-toggle-option-color);cursor:var(--sbb-toggle-option-cursor,var(--sbb-cursor-pointer));font-size:var(--sbb-toggle-option-font-size);letter-spacing:var(--sbb-letter-spacing-text);font-weight:700;display:flex;overflow:hidden;outline:none!important}:host([checked]){--sbb-toggle-option-color:var(--sbb-color-2)}:host([disabled]){--sbb-toggle-option-cursor:unset;--sbb-toggle-option-color:light-dark(var(--sbb-color-anthracite),var(--sbb-color-cloud))}.sbb-toggle-option__label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}sbb-icon,::slotted(sbb-icon){min-width:var(--sbb-toggle-option-icon-min-size);min-height:var(--sbb-toggle-option-icon-min-size)}
2
2
  `;let m=(()=>{let i=s(f(c)),l,d=[],m=[],h,g=[],_=[];return class extends i{static{let t=typeof Symbol==`function`&&Symbol.metadata?Object.create(i[Symbol.metadata]??null):void 0;l=[u(),o({reflect:!0,type:Boolean})],h=[o()],e(this,null,l,{kind:`accessor`,name:`checked`,static:!1,private:!1,access:{has:e=>`checked`in e,get:e=>e.checked,set:(e,t)=>{e.checked=t}},metadata:t},d,m),e(this,null,h,{kind:`accessor`,name:`value`,static:!1,private:!1,access:{has:e=>`value`in e,get:e=>e.value,set:(e,t)=>{e.value=t}},metadata:t},g,_),t&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t})}static{this.elementName=`sbb-toggle-option`}static{this.role=`radio`}static{this.styles=[a(p)]}#e;get checked(){return this.#e}set checked(e){this.#e=e}#t;get value(){return this.#t}set value(e){this.#t=e}constructor(){super(),this.#e=t(this,d,!1),this.#t=(t(this,m),t(this,g,null)),this._toggle=(t(this,_),null),this.addEventListener?.(`input`,()=>this._handleInput()),this.addEventListener?.(`click`,()=>{!this.disabled&&!this.checked&&this.dispatchEvent(new InputEvent(`input`,{bubbles:!0,composed:!0}))}),this.addController(new n(this,{skipInitial:!0,callback:()=>this._toggle?.updatePillPosition?.(!0)}))}connectedCallback(){super.connectedCallback(),this._toggle=this.closest?.(`sbb-toggle`)??null,this._verifyTabindex(),this._toggle?.updatePillPosition?.(!0)}disconnectedCallback(){super.disconnectedCallback(),this._toggle=null}firstUpdated(e){super.firstUpdated(e),this._toggle?.updatePillPosition?.(!0)}willUpdate(e){super.willUpdate(e),e.has(`checked`)&&(this.internals.ariaChecked=`${this.checked}`,this._verifyTabindex(),this.checked&&this._uncheckOtherOptions()),e.has(`disabled`)&&this._handleDisabledChange()}_uncheckOtherOptions(){this._toggle?.options.filter(e=>e!==this).forEach(e=>e.checked=!1),this._toggle?.statusChanged()}_handleDisabledChange(){this.internals.ariaDisabled=this.disabled?`true`:null,this._verifyTabindex()}_handleInput(){this.disabled||(this.checked=!0,this._uncheckOtherOptions())}_verifyTabindex(){this.tabIndex=this.checked&&!this.disabled?0:-1}render(){return r`
3
3
  ${this.renderIconSlot()}
4
4
  <span class="sbb-toggle-option__label">
5
5
  <slot></slot>
6
6
  </span>
7
- `}}})();var h=`:host{--_sbb-toggle-min-width:calc(var(--sbb-toggle-padding-inline) * 4 + var(--sbb-size-icon-ui-small));--sbb-toggle-animation-duration:var(--sbb-disable-animation-duration,var(--sbb-animation-duration-6x));grid-template-columns:var(--sbb-toggle-grid-template-columns);height:var(--sbb-toggle-height);width:var(--sbb-toggle-width,fit-content);min-width:var(--_sbb-toggle-min-width);border-radius:var(--sbb-toggle-border-radius);max-width:100%;font-size:var(--sbb-toggle-font-size);letter-spacing:var(--sbb-typo-letter-spacing-text);user-select:none;-webkit-tap-highlight-color:transparent;line-height:var(--sbb-typo-line-height-text);grid-template-areas:"start end";align-items:center;display:grid}:host:before{content:"";margin-inline:var(--sbb-toggle-option-left,0) var(--sbb-toggle-option-right,0);background-color:var(--sbb-toggle-selected-option-background-color);border-radius:var(--sbb-toggle-border-radius);border:var(--sbb-toggle-selected-option-border-width) var(--sbb-toggle-selected-option-border-style) var(--sbb-toggle-selected-option-border-color);max-width:100%;height:100%;transition-duration:var(--sbb-toggle-animation-duration);grid-area:start/start/end/end;transition-property:margin-inline-start,margin-inline-end;transition-timing-function:ease;display:block}:host:after{content:"";background:var(--sbb-toggle-background-color);margin-inline:var(--sbb-toggle-background-inset);height:calc(100% - 2 * var(--sbb-toggle-background-inset));border-radius:var(--sbb-toggle-border-radius);order:-1;grid-area:start/start/end/end}@media (forced-colors:active){:host:after{border:var(--sbb-border-width-1x) solid CanvasText}}:host([even]){--sbb-toggle-width:100%;--sbb-toggle-grid-template-columns:50% 50%}:host(:disabled){--sbb-toggle-selected-option-border-color:light-dark(var(--sbb-color-graphite),var(--sbb-color-smoke));--sbb-toggle-selected-option-border-style:dashed}@media (forced-colors:active){:host(:disabled){--sbb-toggle-selected-option-border-style:solid;--sbb-toggle-selected-option-border-color:GrayText}}:host([size=s]){--sbb-toggle-padding-inline:var(--sbb-toggle-padding-inline-s);--sbb-toggle-height:var(--sbb-toggle-height-s)}:host([size=m]){--sbb-toggle-padding-inline:var(--sbb-toggle-padding-inline-m);--sbb-toggle-height:var(--sbb-toggle-height-m)}:host(:is(:not(:is(:state(initialized),[state--initialized])),:is(:state(disable-animation-on-resizing),[state--disable-animation-on-resizing]))){--sbb-disable-animation-duration:0s}::slotted(sbb-toggle-option:first-of-type){grid-area:start}::slotted(sbb-toggle-option:last-of-type){grid-area:end}
7
+ `}}})();var h=`:host{--_sbb-toggle-min-width:calc(var(--sbb-toggle-padding-inline) * 4 + var(--sbb-size-icon-ui-small));--sbb-toggle-animation-duration:var(--sbb-disable-animation-duration,var(--sbb-animation-duration-6x));grid-template-columns:var(--sbb-toggle-grid-template-columns);height:var(--sbb-toggle-height);width:var(--sbb-toggle-width,fit-content);min-width:var(--_sbb-toggle-min-width);border-radius:var(--sbb-toggle-border-radius);max-width:100%;font-size:var(--sbb-toggle-font-size);letter-spacing:var(--sbb-letter-spacing-text);user-select:none;-webkit-tap-highlight-color:transparent;line-height:var(--sbb-typo-line-height-text);grid-template-areas:"start end";align-items:center;display:grid}:host:before{content:"";margin-inline:var(--sbb-toggle-option-left,0) var(--sbb-toggle-option-right,0);background-color:var(--sbb-toggle-selected-option-background-color);border-radius:var(--sbb-toggle-border-radius);border:var(--sbb-toggle-selected-option-border-width) var(--sbb-toggle-selected-option-border-style) var(--sbb-toggle-selected-option-border-color);max-width:100%;height:100%;transition-duration:var(--sbb-toggle-animation-duration);grid-area:start/start/end/end;transition-property:margin-inline-start,margin-inline-end;transition-timing-function:ease;display:block}:host:after{content:"";background:var(--sbb-toggle-background-color);margin-inline:var(--sbb-toggle-background-inset);height:calc(100% - 2 * var(--sbb-toggle-background-inset));border-radius:var(--sbb-toggle-border-radius);order:-1;grid-area:start/start/end/end}@media (forced-colors:active){:host:after{border:var(--sbb-border-width-1x) solid CanvasText}}:host([even]){--sbb-toggle-width:100%;--sbb-toggle-grid-template-columns:50% 50%}:host(:disabled){--sbb-toggle-selected-option-border-color:light-dark(var(--sbb-color-graphite),var(--sbb-color-smoke));--sbb-toggle-selected-option-border-style:dashed}@media (forced-colors:active){:host(:disabled){--sbb-toggle-selected-option-border-style:solid;--sbb-toggle-selected-option-border-color:GrayText}}:host([size=s]){--sbb-toggle-padding-inline:var(--sbb-toggle-padding-inline-s);--sbb-toggle-height:var(--sbb-toggle-height-s)}:host([size=m]){--sbb-toggle-padding-inline:var(--sbb-toggle-padding-inline-m);--sbb-toggle-height:var(--sbb-toggle-height-m)}:host(:is(:not(:is(:state(initialized),[state--initialized])),:is(:state(disable-animation-on-resizing),[state--disable-animation-on-resizing]))){--sbb-disable-animation-duration:0s}::slotted(sbb-toggle-option:first-of-type){grid-area:start}::slotted(sbb-toggle-option:last-of-type){grid-area:end}
8
8
  `;let g=(()=>{let n=s(l(c)),f=[],p,m=[],g=[],_,v=[],y=[],b;return class extends n{static{let t=typeof Symbol==`function`&&Symbol.metadata?Object.create(n[Symbol.metadata]??null):void 0;p=[u(),o({reflect:!0,type:Boolean})],_=[o({reflect:!0})],b=[o()],e(this,null,p,{kind:`accessor`,name:`even`,static:!1,private:!1,access:{has:e=>`even`in e,get:e=>e.even,set:(e,t)=>{e.even=t}},metadata:t},m,g),e(this,null,_,{kind:`accessor`,name:`size`,static:!1,private:!1,access:{has:e=>`size`in e,get:e=>e.size,set:(e,t)=>{e.size=t}},metadata:t},v,y),e(this,null,b,{kind:`setter`,name:`value`,static:!1,private:!1,access:{has:e=>`value`in e,set:(e,t)=>{e.value=t}},metadata:t},null,f),t&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t})}static{this.elementName=`sbb-toggle`}static{this.role=`radiogroup`}static{this.styles=[a(h)]}static{this.events={change:`change`}}#e;get even(){return this.#e}set even(e){this.#e=e}#t;get size(){return this.#t}set size(e){this.#t=e}set value(e){i||!this.hasUpdated?this._fallbackValue=e:this._valueChanged(e)}get value(){return i?this._fallbackValue??null:this.options.find(e=>e.checked)?.value??this.options[0]?.value??null}get options(){return Array.from(this.querySelectorAll?.(`sbb-toggle-option`)??[])}constructor(){super(),this.#e=(t(this,f),t(this,m,!1)),this.#t=(t(this,g),t(this,v,null)),this._fallbackValue=(t(this,y),null),this.addEventListener?.(`input`,()=>this._handleInput(),{passive:!0}),this.addEventListener?.(`keydown`,e=>this._handleKeyDown(e))}willUpdate(e){super.willUpdate(e),(e.has(`disabled`)||e.has(`formDisabled`))&&this._updateDisabled(),this.hasUpdated||this._valueChanged(this._fallbackValue)}statusChanged(){this.updateFormValue(),this.updatePillPosition()}formResetCallback(){this.value=this.hasAttribute(`value`)?this.getAttribute(`value`):null}formStateRestoreCallback(e,t){typeof e==`string`||e==null?this.value=e??null:e instanceof FormData&&this._readFormData(e).then(e=>{this.value=e})}async _readFormData(e){let t=e.get(this.name);return t instanceof Blob?JSON.parse(await t.text()):t}updatePillPosition(e=!1){let t=this.options;if(t.length<2||t.every(e=>!e.checked)||t.every(e=>!e.clientWidth))return;this.toggleState(`disable-animation-on-resizing`,e);let n=t[0],r=n.checked,i=r?`0px`:`${n.clientWidth}px`,a=r?`${this.clientWidth-n.clientWidth}px`:`0px`;(a!==`0px`||i!==`0px`)&&(this.style?.setProperty(`--sbb-toggle-option-left`,i),this.style?.setProperty(`--sbb-toggle-option-right`,a),this.offsetWidth,this.internals.states.add(`initialized`))}_updateToggle(){this._valueChanged(this.value),this._updateDisabled()}_valueChanged(e){let t=this.options,n=t.find(t=>e===t.value)??t.find(e=>e.checked)??t[0];n&&(n.checked=!0,this.statusChanged())}_updateDisabled(){for(let e of this.options)e.disabled=this.disabled||this.formDisabled}_handleInput(){this.statusChanged(),this.dispatchEvent(new Event(`change`,{bubbles:!0}))}_handleKeyDown(e){if(!this.options.filter(e=>!e.disabled&&d.isVisible(e))||e.target!==this&&e.target.parentElement!==this)return;let t=this.options,n=this.matches(`:dir(rtl)`),r=t.findIndex(e=>e.checked)??t[0],i=t.slice(r+1).concat(t.slice(0,r)).filter(e=>!e.disabled&&d.isVisible(e));(n?e.key===`ArrowLeft`:e.key===` `||e.key===`ArrowRight`)?(this._selectAndFocusOption(i[0]),e.preventDefault()):(n?e.key===` `||e.key===`ArrowRight`:e.key===`ArrowLeft`)&&(this._selectAndFocusOption(i.at(-1)),e.preventDefault())}_selectAndFocusOption(e){!e||e.disabled||e.checked||(e.checked=!0,e.focus(),e.dispatchEvent(new InputEvent(`input`,{bubbles:!0,composed:!0})))}render(){return r` <slot @slotchange=${this._updateToggle}></slot> `}}})();export{g as SbbToggleElement,m as SbbToggleOptionElement};
package/tooltip.pure.js CHANGED
@@ -1,4 +1,4 @@
1
- import{__esDecorate as e,__runInitializers as t}from"tslib";import{html as n,isServer as r,unsafeCSS as i}from"lit";import{property as a}from"lit/decorators.js";import{SbbDisabledMixin as o,SbbEscapableOverlayController as s,SbbOpenCloseBaseElement as c,SbbOverlayPositionController as l,appendAriaElements as u,idReference as d,isAndroid as f,isIOS as p,isZeroAnimationDuration as m,popoverResetStyles as h,queueDomContentLoaded as g,readConfig as _,removeAriaElements as v,sbbInputModalityDetector as y,sbbOverlayOutsidePointerEventListener as b}from"./core.js";var x=`:host{--sbb-tooltip-max-width:min(25rem, calc(100vw - var(--sbb-spacing-fixed-2x)));--sbb-tooltip-animation-duration:var(--sbb-disable-animation-duration,var(--sbb-animation-duration-4x));position-area:var(--sbb-overlay-position-area);position-try-fallbacks:var(--sbb-overlay-position-try-fallbacks);pointer-events:var(--sbb-tooltip-pointer-events,all);z-index:var(--sbb-tooltip-z-index,var(--sbb-overlay-default-z-index));animation-name:var(--sbb-tooltip-animation-name);animation-duration:var(--sbb-tooltip-animation-duration);animation-timing-function:var(--sbb-tooltip-animation-easing);font-size:var(--sbb-tooltip-font-size);letter-spacing:var(--sbb-typo-letter-spacing-text);line-height:var(--sbb-typo-line-height-text);display:none;position:fixed}:host(:is(:is(:state(state-opening),[state--state-opening]),:is(:state(state-opened),[state--state-opened]),:is(:state(state-closing),[state--state-closing]))){--sbb-tooltip-animation-name:open;display:block}:host(:is(:state(state-closing),[state--state-closing])){--sbb-tooltip-animation-name:close;--sbb-tooltip-pointer-events:none}:host(:is([data-position~=block-end],[data-position~=bottom],[data-position^=end])){padding-block-start:var(--sbb-tooltip-gap)}:host(:is([data-position~=block-start],[data-position~=top],[data-position^=start])){padding-block-end:var(--sbb-tooltip-gap)}:host(:is([data-position~=inline-start],[data-position~=inline-end],[data-position~=left],[data-position~=right],[data-position$=\\ start],[data-position$=\\ end])){padding-inline:var(--sbb-tooltip-gap)}.sbb-tooltip{box-shadow:var(--sbb-box-shadow-level-5-soft);border:var(--sbb-border-width-1x) solid var(--sbb-tooltip-border-color);border-radius:var(--sbb-tooltip-border-radius);padding:var(--sbb-tooltip-padding);color:var(--sbb-tooltip-color);background-color:var(--sbb-tooltip-background-color);min-width:var(--sbb-tooltip-min-width);max-width:var(--sbb-tooltip-max-width)}@keyframes open{0%{opacity:0;translate:var(--sbb-tooltip-animation-translate)}to{opacity:1;translate:0}}@keyframes close{0%{opacity:1;translate:0}to{opacity:0;translate:var(--sbb-tooltip-animation-translate)}}
1
+ import{__esDecorate as e,__runInitializers as t}from"tslib";import{html as n,isServer as r,unsafeCSS as i}from"lit";import{property as a}from"lit/decorators.js";import{SbbDisabledMixin as o,SbbEscapableOverlayController as s,SbbOpenCloseBaseElement as c,SbbOverlayPositionController as l,appendAriaElements as u,idReference as d,isAndroid as f,isIOS as p,isZeroAnimationDuration as m,popoverResetStyles as h,queueDomContentLoaded as g,readConfig as _,removeAriaElements as v,sbbInputModalityDetector as y,sbbOverlayOutsidePointerEventListener as b}from"./core.js";var x=`:host{--sbb-tooltip-max-width:min(25rem, calc(100vw - var(--sbb-spacing-fixed-2x)));--sbb-tooltip-animation-duration:var(--sbb-disable-animation-duration,var(--sbb-animation-duration-4x));position-area:var(--sbb-overlay-position-area);position-try-fallbacks:var(--sbb-overlay-position-try-fallbacks);pointer-events:var(--sbb-tooltip-pointer-events,all);z-index:var(--sbb-tooltip-z-index,var(--sbb-overlay-default-z-index));animation-name:var(--sbb-tooltip-animation-name);animation-duration:var(--sbb-tooltip-animation-duration);animation-timing-function:var(--sbb-tooltip-animation-easing);font-size:var(--sbb-tooltip-font-size);letter-spacing:var(--sbb-letter-spacing-text);line-height:var(--sbb-typo-line-height-text);display:none;position:fixed}:host(:is(:is(:state(state-opening),[state--state-opening]),:is(:state(state-opened),[state--state-opened]),:is(:state(state-closing),[state--state-closing]))){--sbb-tooltip-animation-name:open;display:block}:host(:is(:state(state-closing),[state--state-closing])){--sbb-tooltip-animation-name:close;--sbb-tooltip-pointer-events:none}:host(:is([data-position~=block-end],[data-position~=bottom],[data-position^=end])){padding-block-start:var(--sbb-tooltip-gap)}:host(:is([data-position~=block-start],[data-position~=top],[data-position^=start])){padding-block-end:var(--sbb-tooltip-gap)}:host(:is([data-position~=inline-start],[data-position~=inline-end],[data-position~=left],[data-position~=right],[data-position$=\\ start],[data-position$=\\ end])){padding-inline:var(--sbb-tooltip-gap)}.sbb-tooltip{box-shadow:var(--sbb-box-shadow-level-5-soft);border:var(--sbb-border-width-1x) solid var(--sbb-tooltip-border-color);border-radius:var(--sbb-tooltip-border-radius);padding:var(--sbb-tooltip-padding);color:var(--sbb-tooltip-color);background-color:var(--sbb-tooltip-background-color);min-width:var(--sbb-tooltip-min-width);max-width:var(--sbb-tooltip-max-width)}@keyframes open{0%{opacity:0;translate:var(--sbb-tooltip-animation-translate)}to{opacity:1;translate:0}}@keyframes close{0%{opacity:1;translate:0}to{opacity:0;translate:var(--sbb-tooltip-animation-translate)}}
2
2
  `;const S=f||p,C=new WeakMap;let w=(()=>{let f=o(c),p=[],w,T=[],E=[],D,O,k;return class extends f{static{let t=typeof Symbol==`function`&&Symbol.metadata?Object.create(f[Symbol.metadata]??null):void 0;w=[d(),a()],D=[a({attribute:`open-delay`,type:Number})],O=[a({attribute:`close-delay`,type:Number})],k=[a({attribute:`long-press-close-delay`,type:Number})],e(this,null,w,{kind:`accessor`,name:`trigger`,static:!1,private:!1,access:{has:e=>`trigger`in e,get:e=>e.trigger,set:(e,t)=>{e.trigger=t}},metadata:t},T,E),e(this,null,D,{kind:`setter`,name:`openDelay`,static:!1,private:!1,access:{has:e=>`openDelay`in e,set:(e,t)=>{e.openDelay=t}},metadata:t},null,p),e(this,null,O,{kind:`setter`,name:`closeDelay`,static:!1,private:!1,access:{has:e=>`closeDelay`in e,set:(e,t)=>{e.closeDelay=t}},metadata:t},null,p),e(this,null,k,{kind:`setter`,name:`longPressCloseDelay`,static:!1,private:!1,access:{has:e=>`longPressCloseDelay`in e,set:(e,t)=>{e.longPressCloseDelay=t}},metadata:t},null,p),t&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t})}static{this.elementName=`sbb-tooltip`}static{this.role=`tooltip`}static{this.styles=[h,i(x)]}static{r||g(()=>this._initializeTooltipOutlet())}#e;get trigger(){return this.#e}set trigger(e){this.#e=e}set openDelay(e){this._openDelay=e}get openDelay(){return this._openDelay??_().tooltip?.openDelay??0}set closeDelay(e){this._closeDelay=e}get closeDelay(){return this._closeDelay??_().tooltip?.closeDelay??0}set longPressCloseDelay(e){this._longPressCloseDelay=+e}get longPressCloseDelay(){return this._longPressCloseDelay??_().tooltip?.longPressCloseDelay??1500}constructor(){super(),this.#e=(t(this,p),t(this,T,null)),this._openDelay=(t(this,E),null),this._closeDelay=null,this._triggerElement=null,this._escapableOverlayController=new s(this),this._overlayController=new l(this),this.addEventListener(`mouseleave`,e=>{(this.state===`opened`||this.state===`opening`)&&(!e.relatedTarget||!this._triggerElement?.contains(e.relatedTarget))&&this._delayedClose()},{passive:!0}),this.addEventListener(`overlayOutsidePointer`,()=>this.close(),{passive:!0}),this.addEventListener(`animationend`,e=>this._onTooltipAnimationEnd(e),{passive:!0})}static _initializeTooltipOutlet(){this._tooltipOutlet=document.createElement(`div`),this._tooltipOutlet.classList.add(`sbb-overlay-outlet`),document.body.appendChild(this._tooltipOutlet),new MutationObserver(e=>{for(let t of e)if(t.type===`attributes`)this._handleTooltipTrigger(t.target);else if(t.type===`childList`)for(let e of[...t.addedNodes,...t.removedNodes].filter(e=>e.nodeType===e.ELEMENT_NODE))this._handleTooltipTrigger(e),this._findAndHandleTooltipTriggers(e)}).observe(document.documentElement,{attributeFilter:[`sbb-tooltip`,`sbb-tooltip-open-delay`,`sbb-tooltip-close-delay`,`sbb-tooltip-position`],childList:!0,subtree:!0}),this._findAndHandleTooltipTriggers(document.body)}static _findAndHandleTooltipTriggers(e){e.querySelectorAll(`[sbb-tooltip]`).forEach(e=>this._handleTooltipTrigger(e))}static _handleTooltipTrigger(e){let t=e.getAttribute(`sbb-tooltip`),n=C.get(e);if(t&&e.isConnected){n||(n=document.createElement(`sbb-tooltip`),C.set(e,n),this._tooltipOutlet.appendChild(n),n.trigger=e),n.textContent=t,n.openDelay=e.hasAttribute(`sbb-tooltip-open-delay`)?+e.getAttribute(`sbb-tooltip-open-delay`):null,n.closeDelay=e.hasAttribute(`sbb-tooltip-close-delay`)?+e.getAttribute(`sbb-tooltip-close-delay`):null;let r=e.hasAttribute(`sbb-tooltip-position`)?e.getAttribute(`sbb-tooltip-position`).split(`,`).map(e=>e.trim()):e.tooltipPositions;r&&r.length>0?(n.style.setProperty(`--sbb-overlay-position-area`,r[0]),n.style.setProperty(`--sbb-overlay-position-try-fallbacks`,r.slice(1).join(`, `))):(n.style.removeProperty(`--sbb-overlay-position-area`),n.style.removeProperty(`--sbb-overlay-position-try-fallbacks`))}else n&&(C.delete(e),n._destroy?.())}connectedCallback(){super.connectedCallback(),this.popover=`manual`,this.state=`closed`,b.connect(this),this.hasUpdated&&this.trigger&&this._attach(this.trigger)}disconnectedCallback(){super.disconnectedCallback(),b.disconnect(this),this._detach()}requestUpdate(e,t,n){super.requestUpdate(e,t,n),!r&&(!e||e===`trigger`)&&this.hasUpdated&&this._attach(this.trigger)}firstUpdated(e){super.firstUpdated(e),this._attach(this.trigger)}open(){this._resetOpenCloseTimeout(),!(this.state!==`closed`&&this.state!==`closing`||this.disabled||!this.trigger||!this.dispatchBeforeOpenEvent())&&(this.showPopover?.(),this.state=`opening`,this._overlayController.connect(this.trigger),this._isZeroAnimationDuration()&&this._handleOpening())}close(){this._resetOpenCloseTimeout(),(this.state===`opened`||this.state===`opening`)&&(this.dispatchBeforeCloseEvent(),this.state=`closing`,this._isZeroAnimationDuration()&&this._handleClosing())}_delayedOpen(){this._resetOpenCloseTimeout(),this._openTimeout=setTimeout(()=>this.open(),this.openDelay)}_handleOpening(){this.state=`opened`,this._escapableOverlayController.connect(),this.dispatchOpenEvent()}_delayedClose(){this._resetOpenCloseTimeout(),this._closeTimeout=setTimeout(()=>this.close(),this.closeDelay)}_handleClosing(){this.state=`closed`,this.hidePopover?.(),this._overlayController.disconnect(),this._escapableOverlayController.disconnect(),this.dispatchCloseEvent(),this._openStateController?.abort()}_onTooltipAnimationEnd(e){e.animationName===`open`&&this.state===`opening`?this._handleOpening():e.animationName===`close`&&this.state===`closing`&&this._handleClosing()}_attach(e){this._triggerElement&&this._detach(),this._triggerElement=e,this._triggerElement&&(this._triggerElement.ariaDescribedByElements=u(this._triggerElement.ariaDescribedByElements,this),this._addTriggerEventHandlers())}_detach(){this._triggerAbortController?.abort(),this._openStateController?.abort(),this._resetOpenCloseTimeout(),clearTimeout(this._longPressOpenTimeout),clearTimeout(this._longPressCloseTimeout),this._triggerElement&&=(this._triggerElement.ariaDescribedByElements=v(this._triggerElement.ariaDescribedByElements,this),null)}_destroy(){this._detach(),this.remove()}_addTriggerEventHandlers(){let e=this._triggerElement;if(!e)return;this._triggerAbortController?.abort(),this._triggerAbortController=new AbortController;let t={signal:this._triggerAbortController.signal,passive:!0};S||(e.addEventListener(`mouseenter`,()=>this._delayedOpen(),t),e.addEventListener(`mouseleave`,e=>{let t=e.relatedTarget;(!t||t!==this)&&this._delayedClose()},t),e.addEventListener(`blur`,()=>this.close(),t),e.addEventListener(`focus`,()=>{y.mostRecentModality===`keyboard`&&this._delayedOpen()},t)),e.addEventListener(`touchstart`,()=>{clearTimeout(this._longPressOpenTimeout),clearTimeout(this._longPressCloseTimeout),this._longPressOpenTimeout=setTimeout(()=>this.open(),500)},t),e.addEventListener(`touchend`,()=>{clearTimeout(this._longPressOpenTimeout),this._longPressCloseTimeout=setTimeout(()=>this.close(),this.longPressCloseDelay)},t),e.addEventListener(`touchcancel`,()=>{clearTimeout(this._longPressOpenTimeout)},t)}_isZeroAnimationDuration(){return m(this,`--sbb-tooltip-animation-duration`)}_resetOpenCloseTimeout(){clearTimeout(this._openTimeout),clearTimeout(this._closeTimeout)}render(){return n`
3
3
  <div class="sbb-tooltip">
4
4
  <slot></slot>
package/train.pure.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import{html as e,isServer as t,nothing as n,unsafeCSS as r}from"lit";import{SbbButtonBaseElement as i,SbbElement as a,SbbLanguageController as o,SbbLinkBaseElement as s,SbbNamedSlotListMixin as c,SbbPropertyWatcherController as l,forceType as u,handleDistinctChange as d,hostScrollbarStyles as f,i18nAdditionalWagonInformationHeading as p,i18nAnd as m,i18nBlockedPassage as h,i18nClass as g,i18nClosedCompartmentLabel as _,i18nCouchetteWagonLabel as v,i18nLocomotiveLabel as y,i18nRestaurantWagonLabel as b,i18nSector as x,i18nSectorShort as S,i18nSleepingWagonLabel as ee,i18nTrain as C,i18nTrains as w,i18nWagonLabel as te,i18nWagonLabelNumber as ne,i18nWagonsLabel as T,omitEmptyConverter as E}from"./core.js";import{__esDecorate as D,__runInitializers as O}from"tslib";import{property as k,state as A}from"lit/decorators.js";import{styleMap as j}from"lit/directives/style-map.js";import{when as re}from"lit/directives/when.js";import{html as M,unsafeStatic as N}from"lit/static-html.js";import{SbbDividerElement as ie}from"./divider.pure.js";import{SbbIconElement as P}from"./icon.pure.js";import{SbbTimetableOccupancyIconElement as ae}from"./timetable-occupancy-icon.pure.js";const F=e=>(()=>{let t=e,n,r=[],i=[];return class extends t{static{let e=typeof Symbol==`function`&&Symbol.metadata?Object.create(t[Symbol.metadata]??null):void 0;n=[A()],D(this,null,n,{kind:`accessor`,name:`orientation`,static:!1,private:!1,access:{has:e=>`orientation`in e,get:e=>e.orientation,set:(e,t)=>{e.orientation=t}},metadata:e},r,i),e&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:e})}#e=O(this,r,null);get orientation(){return this.#e}set orientation(e){this.#e=e}constructor(...e){super(...e),O(this,i),this.addController(new l(this,()=>this.closest(`sbb-train-formation`),{orientation:e=>{this.orientation&&this.internals.states.delete(`orientation-${this.orientation}`),this.orientation=e.orientation,this.orientation&&this.internals.states.add(`orientation-${this.orientation}`)}}))}}})();var I=`:host{width:var(--sbb-train-formation-blocked-passage-dimension);height:var(--_sbb-train-formation-wagon-height);grid-template-areas:"icon";align-items:center;display:grid}:host(:is(:state(orientation-vertical),[state--orientation-vertical])){width:var(--_sbb-train-formation-wagon-width);height:var(--sbb-train-formation-blocked-passage-dimension)}:host:before,:host:after{content:"";grid-area:icon;justify-self:center}:host:before{width:var(--sbb-train-formation-blocked-passage-dimension);height:var(--sbb-train-formation-blocked-passage-dimension);background-color:var(--sbb-train-blocked-passage-background-color);border-radius:50%}:host:after{width:var(--sbb-train-blocked-passage-icon-bar-width);height:var(--sbb-train-blocked-passage-icon-bar-height);border-radius:var(--sbb-train-blocked-passage-icon-bar-border-radius);background-color:var(--sbb-train-blocked-passage-bar-color)}
2
- `,L=class extends F(a){static{this.elementName=`sbb-train-blocked-passage`}static{this.styles=[r(I)]}},R=`:host{--sbb-train-formation-scroll-padding:var(--sbb-train-formation-padding);--_sbb-train-formation-wagon-width:var(--sbb-train-formation-wagon-dimension-long);--_sbb-train-formation-wagon-height:var(--sbb-train-formation-wagon-dimension-short);gap:var(--_sbb-train-formation-sectors-to-train-gap,0) 0;padding-block:var(--sbb-train-formation-padding);color:var(--sbb-train-formation-text-color);font-size:var(--sbb-text-font-size-xs);letter-spacing:var(--sbb-typo-letter-spacing-text);line-height:var(--sbb-typo-line-height-text);grid-template:"start sectors end""start trains end"/auto 1fr auto;display:grid;position:relative;overflow:auto visible}:host:before,:host:after{content:"";width:var(--sbb-train-formation-scroll-padding);display:block}:host:before{grid-area:start}:host:after{grid-area:end}:host(:focus-visible){outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) var(--sbb-focus-outline-style,solid) var(--sbb-focus-outline-width)}:host(:is(:state(has-sectors),[state--has-sectors])){--_sbb-train-formation-sectors-to-train-gap:var(--sbb-train-formation-gap)}:host(:is(:state(has-direction-label),[state--has-direction-label])){--_sbb-train-formation-reserve-spacing-display:block}:host([orientation=vertical]){--_sbb-train-formation-wagon-width:var(--sbb-train-formation-wagon-dimension-short);--_sbb-train-formation-wagon-height:var(--sbb-train-formation-wagon-dimension-long);--_sbb-train-formation-flex-direction:column;--_sbb-train-formation-flex-direction-inverted:row;padding-block:unset;padding-inline:var(--sbb-train-formation-padding);gap:0 var(--_sbb-train-formation-sectors-to-train-gap,0);grid-template:"start start""sectors trains"1fr"end end";width:fit-content;overflow:visible auto}:host([orientation=vertical]):before,:host([orientation=vertical]):after{width:auto;height:var(--sbb-train-formation-scroll-padding)}.sbb-train-formation__sectors{gap:var(--sbb-train-formation-wagon-gap);flex-direction:var(--_sbb-train-formation-flex-direction);grid-area:sectors;display:flex}.sbb-train-formation__sector{--_wagon-sum:var(--sbb-train-formation-wagon-count) * var(--sbb-train-formation-wagon-dimension-long);--_blocked-passage-sum:var(--sbb-train-formation-wagon-blocked-passage-count) * var(--sbb-train-formation-blocked-passage-dimension);--_total-count:calc(var(--sbb-train-formation-wagon-count) + var(--sbb-train-formation-wagon-blocked-passage-count));--_gap-sum:calc((var(--_total-count) - 1) * var(--sbb-train-formation-wagon-gap));--_sector-width:calc(var(--_wagon-sum) + var(--_blocked-passage-sum) + var(--_gap-sum));--_sector-line-length:calc(.5 * var(--_sector-width));flex:0 0 var(--_sector-width);flex-direction:var(--_sbb-train-formation-flex-direction);justify-content:center;display:flex;overflow:clip visible}:host([orientation=vertical]) .sbb-train-formation__sector{overflow:visible clip}.sbb-train-formation__sector-sticky-wrapper{padding:0 var(--sbb-train-formation-sector-padding);margin:0 var(--sbb-train-formation-sector-margin);white-space:nowrap;position:sticky;inset:auto 0}:host([orientation=vertical]) .sbb-train-formation__sector-sticky-wrapper{writing-mode:sideways-lr;padding:var(--sbb-train-formation-sector-padding) 0;margin:var(--sbb-train-formation-sector-margin) 0;inset:0 auto}.sbb-train-formation__sector-sticky-wrapper:before,.sbb-train-formation__sector-sticky-wrapper:after{content:"";inset-block:calc(50% - var(--sbb-train-formation-sector-line-width) / 2);border-block-end:var(--sbb-train-formation-sector-line-width) solid var(--sbb-train-formation-sector-line-color);width:var(--_sector-line-length);position:absolute}:host([orientation=vertical]) .sbb-train-formation__sector-sticky-wrapper:before,:host([orientation=vertical]) .sbb-train-formation__sector-sticky-wrapper:after{width:auto;height:var(--_sector-line-length)}.sbb-train-formation__sector-sticky-wrapper:before{inset-inline-end:100%}.sbb-train-formation__sector-sticky-wrapper:after{inset-inline-start:100%}.sbb-train-formation__trains{grid-area:trains}.sbb-train-formation__train-list{flex-direction:var(--_sbb-train-formation-flex-direction);gap:var(--sbb-train-formation-wagon-gap);display:flex}.sbb-train-formation__train-list>:is(li,span){display:inline-flex}
2
+ `,L=class extends F(a){static{this.elementName=`sbb-train-blocked-passage`}static{this.styles=[r(I)]}},R=`:host{--sbb-train-formation-scroll-padding:var(--sbb-train-formation-padding);--_sbb-train-formation-wagon-width:var(--sbb-train-formation-wagon-dimension-long);--_sbb-train-formation-wagon-height:var(--sbb-train-formation-wagon-dimension-short);gap:var(--_sbb-train-formation-sectors-to-train-gap,0) 0;padding-block:var(--sbb-train-formation-padding);color:var(--sbb-train-formation-text-color);font-size:var(--sbb-text-font-size-xs);letter-spacing:var(--sbb-letter-spacing-text);line-height:var(--sbb-typo-line-height-text);grid-template:"start sectors end""start trains end"/auto 1fr auto;display:grid;position:relative;overflow:auto visible}:host:before,:host:after{content:"";width:var(--sbb-train-formation-scroll-padding);display:block}:host:before{grid-area:start}:host:after{grid-area:end}:host(:focus-visible){outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) var(--sbb-focus-outline-style,solid) var(--sbb-focus-outline-width)}:host(:is(:state(has-sectors),[state--has-sectors])){--_sbb-train-formation-sectors-to-train-gap:var(--sbb-train-formation-gap)}:host(:is(:state(has-direction-label),[state--has-direction-label])){--_sbb-train-formation-reserve-spacing-display:block}:host([orientation=vertical]){--_sbb-train-formation-wagon-width:var(--sbb-train-formation-wagon-dimension-short);--_sbb-train-formation-wagon-height:var(--sbb-train-formation-wagon-dimension-long);--_sbb-train-formation-flex-direction:column;--_sbb-train-formation-flex-direction-inverted:row;padding-block:unset;padding-inline:var(--sbb-train-formation-padding);gap:0 var(--_sbb-train-formation-sectors-to-train-gap,0);grid-template:"start start""sectors trains"1fr"end end";width:fit-content;overflow:visible auto}:host([orientation=vertical]):before,:host([orientation=vertical]):after{width:auto;height:var(--sbb-train-formation-scroll-padding)}.sbb-train-formation__sectors{gap:var(--sbb-train-formation-wagon-gap);flex-direction:var(--_sbb-train-formation-flex-direction);grid-area:sectors;display:flex}.sbb-train-formation__sector{--_wagon-sum:var(--sbb-train-formation-wagon-count) * var(--sbb-train-formation-wagon-dimension-long);--_blocked-passage-sum:var(--sbb-train-formation-wagon-blocked-passage-count) * var(--sbb-train-formation-blocked-passage-dimension);--_total-count:calc(var(--sbb-train-formation-wagon-count) + var(--sbb-train-formation-wagon-blocked-passage-count));--_gap-sum:calc((var(--_total-count) - 1) * var(--sbb-train-formation-wagon-gap));--_sector-width:calc(var(--_wagon-sum) + var(--_blocked-passage-sum) + var(--_gap-sum));--_sector-line-length:calc(.5 * var(--_sector-width));flex:0 0 var(--_sector-width);flex-direction:var(--_sbb-train-formation-flex-direction);justify-content:center;display:flex;overflow:clip visible}:host([orientation=vertical]) .sbb-train-formation__sector{overflow:visible clip}.sbb-train-formation__sector-sticky-wrapper{padding:0 var(--sbb-train-formation-sector-padding);margin:0 var(--sbb-train-formation-sector-margin);white-space:nowrap;position:sticky;inset:auto 0}:host([orientation=vertical]) .sbb-train-formation__sector-sticky-wrapper{writing-mode:sideways-lr;padding:var(--sbb-train-formation-sector-padding) 0;margin:var(--sbb-train-formation-sector-margin) 0;inset:0 auto}.sbb-train-formation__sector-sticky-wrapper:before,.sbb-train-formation__sector-sticky-wrapper:after{content:"";inset-block:calc(50% - var(--sbb-train-formation-sector-line-width) / 2);border-block-end:var(--sbb-train-formation-sector-line-width) solid var(--sbb-train-formation-sector-line-color);width:var(--_sector-line-length);position:absolute}:host([orientation=vertical]) .sbb-train-formation__sector-sticky-wrapper:before,:host([orientation=vertical]) .sbb-train-formation__sector-sticky-wrapper:after{width:auto;height:var(--_sector-line-length)}.sbb-train-formation__sector-sticky-wrapper:before{inset-inline-end:100%}.sbb-train-formation__sector-sticky-wrapper:after{inset-inline-start:100%}.sbb-train-formation__trains{grid-area:trains}.sbb-train-formation__train-list{flex-direction:var(--_sbb-train-formation-flex-direction);gap:var(--sbb-train-formation-wagon-gap);display:flex}.sbb-train-formation__train-list>:is(li,span){display:inline-flex}
3
3
  `;let z=(()=>{let t=c(a),i,s=[],l=[],u,d=[],p=[],m,h=[],g=[];return class extends t{static{let e=typeof Symbol==`function`&&Symbol.metadata?Object.create(t[Symbol.metadata]??null):void 0;i=[k({reflect:!0})],u=[k({reflect:!0})],m=[A()],D(this,null,i,{kind:`accessor`,name:`view`,static:!1,private:!1,access:{has:e=>`view`in e,get:e=>e.view,set:(e,t)=>{e.view=t}},metadata:e},s,l),D(this,null,u,{kind:`accessor`,name:`orientation`,static:!1,private:!1,access:{has:e=>`orientation`in e,get:e=>e.orientation,set:(e,t)=>{e.orientation=t}},metadata:e},d,p),D(this,null,m,{kind:`accessor`,name:`_sectors`,static:!1,private:!1,access:{has:e=>`_sectors`in e,get:e=>e._sectors,set:(e,t)=>{e._sectors=t}},metadata:e},h,g),e&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:e})}static{this.elementName=`sbb-train-formation`}static{this.styles=[f,r(R)]}#e;get view(){return this.#e}set view(e){this.#e=e}#t;get orientation(){return this.#t}set orientation(e){this.#t=e}#n;get _sectors(){return this.#n}set _sectors(e){this.#n=e}constructor(){super(),this.listChildLocalNames=[`sbb-train`],this.#e=O(this,s,`side`),this.#t=(O(this,l),O(this,d,`horizontal`)),this.#n=(O(this,p),O(this,h,[])),this._language=(O(this,g),new o(this)),this.addEventListener?.(`trainslotchange`,e=>{this._readSectors(e),this._readDirectionLabel(e)}),this.addEventListener?.(`sectorchange`,e=>this._readSectors(e)),this.addEventListener?.(`directionlabelchange`,e=>this._readDirectionLabel(e))}connectedCallback(){super.connectedCallback(),this.classList.add(`sbb-scrollbar`)}_readDirectionLabel(e){e?.stopPropagation(),this.toggleState(`has-direction-label`,Array.from(this.querySelectorAll?.(`sbb-train`)??[]).some(e=>!!e.directionLabel))}_readSectors(e){e?.stopPropagation(),this._sectors=Array.from(this.querySelectorAll?.(`sbb-train-wagon,sbb-train-wagon-button,sbb-train-wagon-link,sbb-train-blocked-passage`)??[]).reduce((e,t)=>{let n=e[e.length-1];if(t.localName.startsWith(`sbb-train-wagon`)){let r=t.sector??t.getAttribute(`sector`);!n.label&&r&&(n.label=r),!r||n.label===r?n.wagonCount++:e.push({label:r,wagonCount:1,blockedPassageCount:0})}else t.localName===`sbb-train-blocked-passage`&&n.blockedPassageCount++;return e},[{wagonCount:0,blockedPassageCount:0}]),this.toggleState(`has-sectors`,this._sectors.some(e=>!!e.label))}willUpdate(e){super.willUpdate(e),e.has(`listChildren`)&&(this._readSectors(),this._readDirectionLabel())}render(){return e`
4
4
  ${this._sectors.length&&this._sectors[0].label!==void 0?e`<div class="sbb-train-formation__sectors" aria-hidden="true">
5
5
  ${this._sectors.map(t=>e`<span
@@ -15,7 +15,7 @@ import{html as e,isServer as t,nothing as n,unsafeCSS as r}from"lit";import{SbbB
15
15
  <div class="sbb-train-formation__trains">
16
16
  ${this.renderList({class:`sbb-train-formation__train-list`,ariaLabel:w[this._language.current]})}
17
17
  </div>
18
- `}}})();var B=`:host{--sbb-train-wagon-transition-duration:var(--sbb-disable-animation-duration,var(--sbb-animation-duration-2x));font-size:var(--sbb-train-wagon-font-size);letter-spacing:var(--sbb-typo-letter-spacing-text);display:block;outline:none!important}:host([wagon-type=closed]){--sbb-train-wagon-crossed-shape-display:block}@media (forced-colors:active){:host([wagon-type=closed]){--sbb-train-wagon-shape-color:GrayText}}:host(:is(:state(view-side),[state--view-side])[wagon-type=wagon-end-left]){--sbb-train-wagon-padding-inline:var(--sbb-spacing-fixed-4x) var(--sbb-spacing-fixed-3x)}:host(:is(:state(view-side),[state--view-side])[wagon-type=wagon-end-right]){--sbb-train-wagon-padding-inline:var(--sbb-spacing-fixed-3x) var(--sbb-spacing-fixed-4x)}:host(:is(:state(view-side),[state--view-side])[wagon-type=locomotive]){--sbb-train-wagon-padding-inline:var(--sbb-spacing-fixed-4x)}:host(:is(:state(view-top),[state--view-top])){--sbb-train-wagon-border-radius:var(--sbb-border-radius-4x)}:host([label]){--_sbb-train-wagon-attributes-max-width:var(--sbb-train-wagon-attributes-max-width)}:host(:not([label])){--_sbb-train-wagon-attributes-justify-content:center}:host(.sbb-active){--sbb-train-wagon-border-width:var(--sbb-border-width-3x)}:host(:is(:state(action),[state--action])){cursor:var(--sbb-cursor-pointer)}@media (forced-colors:active){:host(:is(:state(link),[state--link])){--sbb-train-wagon-shape-color:LinkText}}.sbb-train-wagon-link{color:inherit;outline:none;text-decoration:none}.sbb-train-wagon{flex-direction:var(--_sbb-train-formation-flex-direction-inverted);width:var(--_sbb-train-formation-wagon-width);align-items:center;gap:var(--sbb-train-wagon-vertical-gap);display:flex;position:relative}:host(:is(:state(orientation-vertical),[state--orientation-vertical])) .sbb-train-wagon{width:auto;height:var(--_sbb-train-formation-wagon-height)}.sbb-train-wagon:before{content:"";width:var(--_sbb-train-formation-wagon-width);height:var(--_sbb-train-formation-wagon-height);border-radius:var(--sbb-train-wagon-border-radius);position:absolute}:host(:is(:state(button),[state--button]):focus-visible) .sbb-train-wagon:before,.sbb-train-wagon-link:focus-visible .sbb-train-wagon:before{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) var(--sbb-focus-outline-style,solid) var(--sbb-focus-outline-width)}.sbb-train-wagon__compartment{flex-direction:var(--_sbb-train-formation-flex-direction);padding-inline:var(--sbb-train-wagon-padding-inline);mask-image:var(--_sbb-train-wagon-clip-shape-compartment);transition:background-color var(--sbb-train-wagon-transition-duration) var(--sbb-animation-easing);justify-content:center;display:flex}@media (any-hover:hover){:host(:is(:state(action),[state--action]):hover) .sbb-train-wagon__compartment{background-color:var(--sbb-train-wagon-background-color-hover)}}:host(:is(:state(action),[state--action]):is(:active,:is(:state(active),[state--active]))) .sbb-train-wagon__compartment{background-color:var(--sbb-train-wagon-background-color-active)}.sbb-train-wagon__compartment:has(.sbb-train-wagon__occupancy):has(.sbb-train-wagon__class){justify-content:space-between}:host(:is(:state(orientation-vertical),[state--orientation-vertical])) .sbb-train-wagon__compartment{padding-inline:0;padding-block:var(--sbb-train-wagon-padding-inline)}.sbb-train-wagon__compartment,.sbb-train-wagon__main-icon{width:var(--_sbb-train-formation-wagon-width);height:var(--_sbb-train-formation-wagon-height)}.sbb-train-wagon__shape{width:var(--sbb-train-formation-wagon-dimension-long);height:var(--sbb-train-formation-wagon-dimension-short);transform-origin:0 0;will-change:transform;position:absolute;inset:0}:host(:is(:state(orientation-vertical),[state--orientation-vertical])) .sbb-train-wagon__shape{rotate:-90deg;scale:-1 1}.sbb-train-wagon__shape{mask-image:var(--_sbb-train-wagon-clip-shape);pointer-events:none;fill:none;stroke:var(--sbb-train-wagon-shape-color);stroke-width:calc(var(--sbb-train-wagon-border-width) * 2)}.sbb-train-wagon__main-icon{--sbb-icon-svg-height:var(--sbb-train-wagon-main-icon-height);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.sbb-train-wagon__shape-closed{display:var(--sbb-train-wagon-crossed-shape-display,none);stroke-width:var(--sbb-border-width-1x)}.sbb-train-wagon__occupancy,.sbb-train-wagon__class{height:var(--_sbb-train-formation-wagon-height);flex-direction:var(--_sbb-train-formation-flex-direction);justify-content:center;align-items:center;display:flex}:host(:is(:state(orientation-vertical),[state--orientation-vertical])) .sbb-train-wagon__occupancy,:host(:is(:state(orientation-vertical),[state--orientation-vertical])) .sbb-train-wagon__class{height:auto;width:var(--_sbb-train-formation-wagon-width)}.sbb-train-wagon__occupancy{--sbb-icon-svg-height:var(--sbb-train-wagon-occupancy-height);grid-area:occupancy}.sbb-train-wagon__class{order:1;gap:.0625rem}.sbb-train-wagon__class-entry{width:var(--sbb-train-wagon-class-dimension);height:var(--sbb-train-wagon-class-dimension);border:var(--sbb-train-wagon-class-border);background-color:var(--sbb-train-wagon-class-background-color);border-radius:var(--sbb-train-wagon-class-border-radius);font-weight:var(--sbb-train-wagon-class-font-weight);color:var(--sbb-train-wagon-class-color);justify-content:center;align-items:center;line-height:1;display:flex;position:relative}.sbb-train-wagon__class-entry.first:before{content:"";background-color:var(--sbb-train-wagon-class-first-color);border-end-end-radius:var(--sbb-train-wagon-class-first-border-radius);position:absolute}:host(:not(:is(:state(orientation-vertical),[state--orientation-vertical]))) .sbb-train-wagon__class-entry.first:before{height:var(--sbb-train-wagon-class-first-thickness);width:var(--sbb-train-wagon-class-dimension);inset:calc(-.5 * (var(--_sbb-train-formation-wagon-height) - var(--sbb-train-wagon-class-dimension)) + var(--sbb-train-wagon-border-width) - var(--sbb-train-wagon-class-border-width)) 0 auto calc(-1 * var(--sbb-train-wagon-class-border-width));border-end-start-radius:var(--sbb-train-wagon-class-first-border-radius)}:host(:is(:state(orientation-vertical),[state--orientation-vertical])) .sbb-train-wagon__class-entry.first:before{width:var(--sbb-train-wagon-class-first-thickness);height:var(--sbb-train-wagon-class-dimension);inset:calc(-1 * var(--sbb-train-wagon-class-border-width)) auto 0 calc(-.5 * (var(--_sbb-train-formation-wagon-width) - var(--sbb-train-wagon-class-dimension)) + var(--sbb-train-wagon-border-width) - var(--sbb-train-wagon-class-border-width));border-start-end-radius:var(--sbb-train-wagon-class-first-border-radius)}.sbb-train-wagon__information-wrapper{flex-direction:var(--_sbb-train-formation-flex-direction);align-items:start;gap:var(--sbb-train-wagon-information-gap);display:flex}:host(:is(:state(orientation-vertical),[state--orientation-vertical])) .sbb-train-wagon__information-wrapper{min-width:var(--sbb-train-wagon-information-min-width)}.sbb-train-wagon__information-wrapper[hidden]{display:none}:is(.sbb-train-wagon__label,.sbb-train-wagon__label-divider){margin-block-start:calc(.5 * (1em * var(--sbb-typo-line-height-text) - var(--sbb-train-wagon-font-size)))}:host(:is(:state(orientation-vertical),[state--orientation-vertical])) :is(.sbb-train-wagon__label,.sbb-train-wagon__label-divider){margin-block-start:0}.sbb-train-wagon__label{line-height:1}:host(:is(:state(orientation-vertical),[state--orientation-vertical])) .sbb-train-wagon__label{max-width:var(--sbb-train-wagon-information-min-width);text-align:center;width:100%}.sbb-train-wagon__label-divider{height:var(--sbb-train-wagon-font-size)}:host(:is(:state(orientation-vertical),[state--orientation-vertical])) .sbb-train-wagon__label-divider{height:auto;width:var(--sbb-train-wagon-font-size);margin-inline-start:calc(.5 * (var(--sbb-train-wagon-information-min-width) - var(--sbb-train-wagon-font-size)))}.sbb-train-wagon__attribute-icon-list{--sbb-icon-svg-height:var(--sbb-train-wagon-attribute-icon-height);justify-content:var(--_sbb-train-wagon-attributes-justify-content,start);gap:var(--sbb-train-wagon-attribute-icon-gap);color:var(--sbb-train-wagon-attribute-icon-color);max-width:var(--_sbb-train-wagon-attributes-max-width);flex-wrap:wrap;padding-block-start:calc(.5 * (1em * var(--sbb-typo-line-height-text) - var(--sbb-train-wagon-attribute-icon-height)));display:flex}:host(:is(:state(orientation-vertical),[state--orientation-vertical])) .sbb-train-wagon__attribute-icon-list{max-width:calc(var(--_sbb-train-wagon-attributes-icon-columns) * var(--sbb-train-wagon-attributes-mean-width));max-height:calc(var(--_sbb-train-wagon-attributes-icon-rows,3) * var(--sbb-train-wagon-attribute-icon-height) + (var(--_sbb-train-wagon-attributes-icon-rows,3) - 1) * var(--sbb-train-wagon-attribute-icon-gap));justify-content:center;width:100%;padding-block-start:0}.sbb-train-wagon__attribute-icon-list>:is(li,span){display:inline-flex}
18
+ `}}})();var B=`:host{--sbb-train-wagon-transition-duration:var(--sbb-disable-animation-duration,var(--sbb-animation-duration-2x));font-size:var(--sbb-train-wagon-font-size);letter-spacing:var(--sbb-letter-spacing-text);display:block;outline:none!important}:host([wagon-type=closed]){--sbb-train-wagon-crossed-shape-display:block}@media (forced-colors:active){:host([wagon-type=closed]){--sbb-train-wagon-shape-color:GrayText}}:host(:is(:state(view-side),[state--view-side])[wagon-type=wagon-end-left]){--sbb-train-wagon-padding-inline:var(--sbb-spacing-fixed-4x) var(--sbb-spacing-fixed-3x)}:host(:is(:state(view-side),[state--view-side])[wagon-type=wagon-end-right]){--sbb-train-wagon-padding-inline:var(--sbb-spacing-fixed-3x) var(--sbb-spacing-fixed-4x)}:host(:is(:state(view-side),[state--view-side])[wagon-type=locomotive]){--sbb-train-wagon-padding-inline:var(--sbb-spacing-fixed-4x)}:host(:is(:state(view-top),[state--view-top])){--sbb-train-wagon-border-radius:var(--sbb-border-radius-4x)}:host([label]){--_sbb-train-wagon-attributes-max-width:var(--sbb-train-wagon-attributes-max-width)}:host(:not([label])){--_sbb-train-wagon-attributes-justify-content:center}:host(.sbb-active){--sbb-train-wagon-border-width:var(--sbb-border-width-3x)}:host(:is(:state(action),[state--action])){cursor:var(--sbb-cursor-pointer)}@media (forced-colors:active){:host(:is(:state(link),[state--link])){--sbb-train-wagon-shape-color:LinkText}}.sbb-train-wagon-link{color:inherit;outline:none;text-decoration:none}.sbb-train-wagon{flex-direction:var(--_sbb-train-formation-flex-direction-inverted);width:var(--_sbb-train-formation-wagon-width);align-items:center;gap:var(--sbb-train-wagon-vertical-gap);display:flex;position:relative}:host(:is(:state(orientation-vertical),[state--orientation-vertical])) .sbb-train-wagon{width:auto;height:var(--_sbb-train-formation-wagon-height)}.sbb-train-wagon:before{content:"";width:var(--_sbb-train-formation-wagon-width);height:var(--_sbb-train-formation-wagon-height);border-radius:var(--sbb-train-wagon-border-radius);position:absolute}:host(:is(:state(button),[state--button]):focus-visible) .sbb-train-wagon:before,.sbb-train-wagon-link:focus-visible .sbb-train-wagon:before{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) var(--sbb-focus-outline-style,solid) var(--sbb-focus-outline-width)}.sbb-train-wagon__compartment{flex-direction:var(--_sbb-train-formation-flex-direction);padding-inline:var(--sbb-train-wagon-padding-inline);mask-image:var(--_sbb-train-wagon-clip-shape-compartment);transition:background-color var(--sbb-train-wagon-transition-duration) var(--sbb-animation-easing);justify-content:center;display:flex}@media (any-hover:hover){:host(:is(:state(action),[state--action]):hover) .sbb-train-wagon__compartment{background-color:var(--sbb-train-wagon-background-color-hover)}}:host(:is(:state(action),[state--action]):is(:active,:is(:state(active),[state--active]))) .sbb-train-wagon__compartment{background-color:var(--sbb-train-wagon-background-color-active)}.sbb-train-wagon__compartment:has(.sbb-train-wagon__occupancy):has(.sbb-train-wagon__class){justify-content:space-between}:host(:is(:state(orientation-vertical),[state--orientation-vertical])) .sbb-train-wagon__compartment{padding-inline:0;padding-block:var(--sbb-train-wagon-padding-inline)}.sbb-train-wagon__compartment,.sbb-train-wagon__main-icon{width:var(--_sbb-train-formation-wagon-width);height:var(--_sbb-train-formation-wagon-height)}.sbb-train-wagon__shape{width:var(--sbb-train-formation-wagon-dimension-long);height:var(--sbb-train-formation-wagon-dimension-short);transform-origin:0 0;will-change:transform;position:absolute;inset:0}:host(:is(:state(orientation-vertical),[state--orientation-vertical])) .sbb-train-wagon__shape{rotate:-90deg;scale:-1 1}.sbb-train-wagon__shape{mask-image:var(--_sbb-train-wagon-clip-shape);pointer-events:none;fill:none;stroke:var(--sbb-train-wagon-shape-color);stroke-width:calc(var(--sbb-train-wagon-border-width) * 2)}.sbb-train-wagon__main-icon{--sbb-icon-svg-height:var(--sbb-train-wagon-main-icon-height);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.sbb-train-wagon__shape-closed{display:var(--sbb-train-wagon-crossed-shape-display,none);stroke-width:var(--sbb-border-width-1x)}.sbb-train-wagon__occupancy,.sbb-train-wagon__class{height:var(--_sbb-train-formation-wagon-height);flex-direction:var(--_sbb-train-formation-flex-direction);justify-content:center;align-items:center;display:flex}:host(:is(:state(orientation-vertical),[state--orientation-vertical])) .sbb-train-wagon__occupancy,:host(:is(:state(orientation-vertical),[state--orientation-vertical])) .sbb-train-wagon__class{height:auto;width:var(--_sbb-train-formation-wagon-width)}.sbb-train-wagon__occupancy{--sbb-icon-svg-height:var(--sbb-train-wagon-occupancy-height);grid-area:occupancy}.sbb-train-wagon__class{order:1;gap:.0625rem}.sbb-train-wagon__class-entry{width:var(--sbb-train-wagon-class-dimension);height:var(--sbb-train-wagon-class-dimension);border:var(--sbb-train-wagon-class-border);background-color:var(--sbb-train-wagon-class-background-color);border-radius:var(--sbb-train-wagon-class-border-radius);font-weight:var(--sbb-train-wagon-class-font-weight);color:var(--sbb-train-wagon-class-color);justify-content:center;align-items:center;line-height:1;display:flex;position:relative}.sbb-train-wagon__class-entry.first:before{content:"";background-color:var(--sbb-train-wagon-class-first-color);border-end-end-radius:var(--sbb-train-wagon-class-first-border-radius);position:absolute}:host(:not(:is(:state(orientation-vertical),[state--orientation-vertical]))) .sbb-train-wagon__class-entry.first:before{height:var(--sbb-train-wagon-class-first-thickness);width:var(--sbb-train-wagon-class-dimension);inset:calc(-.5 * (var(--_sbb-train-formation-wagon-height) - var(--sbb-train-wagon-class-dimension)) + var(--sbb-train-wagon-border-width) - var(--sbb-train-wagon-class-border-width)) 0 auto calc(-1 * var(--sbb-train-wagon-class-border-width));border-end-start-radius:var(--sbb-train-wagon-class-first-border-radius)}:host(:is(:state(orientation-vertical),[state--orientation-vertical])) .sbb-train-wagon__class-entry.first:before{width:var(--sbb-train-wagon-class-first-thickness);height:var(--sbb-train-wagon-class-dimension);inset:calc(-1 * var(--sbb-train-wagon-class-border-width)) auto 0 calc(-.5 * (var(--_sbb-train-formation-wagon-width) - var(--sbb-train-wagon-class-dimension)) + var(--sbb-train-wagon-border-width) - var(--sbb-train-wagon-class-border-width));border-start-end-radius:var(--sbb-train-wagon-class-first-border-radius)}.sbb-train-wagon__information-wrapper{flex-direction:var(--_sbb-train-formation-flex-direction);align-items:start;gap:var(--sbb-train-wagon-information-gap);display:flex}:host(:is(:state(orientation-vertical),[state--orientation-vertical])) .sbb-train-wagon__information-wrapper{min-width:var(--sbb-train-wagon-information-min-width)}.sbb-train-wagon__information-wrapper[hidden]{display:none}:is(.sbb-train-wagon__label,.sbb-train-wagon__label-divider){margin-block-start:calc(.5 * (1em * var(--sbb-typo-line-height-text) - var(--sbb-train-wagon-font-size)))}:host(:is(:state(orientation-vertical),[state--orientation-vertical])) :is(.sbb-train-wagon__label,.sbb-train-wagon__label-divider){margin-block-start:0}.sbb-train-wagon__label{line-height:1}:host(:is(:state(orientation-vertical),[state--orientation-vertical])) .sbb-train-wagon__label{max-width:var(--sbb-train-wagon-information-min-width);text-align:center;width:100%}.sbb-train-wagon__label-divider{height:var(--sbb-train-wagon-font-size)}:host(:is(:state(orientation-vertical),[state--orientation-vertical])) .sbb-train-wagon__label-divider{height:auto;width:var(--sbb-train-wagon-font-size);margin-inline-start:calc(.5 * (var(--sbb-train-wagon-information-min-width) - var(--sbb-train-wagon-font-size)))}.sbb-train-wagon__attribute-icon-list{--sbb-icon-svg-height:var(--sbb-train-wagon-attribute-icon-height);justify-content:var(--_sbb-train-wagon-attributes-justify-content,start);gap:var(--sbb-train-wagon-attribute-icon-gap);color:var(--sbb-train-wagon-attribute-icon-color);max-width:var(--_sbb-train-wagon-attributes-max-width);flex-wrap:wrap;padding-block-start:calc(.5 * (1em * var(--sbb-typo-line-height-text) - var(--sbb-train-wagon-attribute-icon-height)));display:flex}:host(:is(:state(orientation-vertical),[state--orientation-vertical])) .sbb-train-wagon__attribute-icon-list{max-width:calc(var(--_sbb-train-wagon-attributes-icon-columns) * var(--sbb-train-wagon-attributes-mean-width));max-height:calc(var(--_sbb-train-wagon-attributes-icon-rows,3) * var(--sbb-train-wagon-attribute-icon-height) + (var(--_sbb-train-wagon-attributes-icon-rows,3) - 1) * var(--sbb-train-wagon-attribute-icon-gap));justify-content:center;width:100%;padding-block-start:0}.sbb-train-wagon__attribute-icon-list>:is(li,span){display:inline-flex}
19
19
  `;const V={couchette:`sa-cc`,sleeping:`sa-wl`,restaurant:`sa-wr`},H={wagon:{side:`M12 0H72A12 12 0 0184 12V24A12 12 0 0172 36H12A12 12 0 010 24V12A12 12 0 0112 0Z`,top:`M8 0A8 8 0 000 8V28a8 8 0 008 8H76a8 8 0 008-8V8A8 8 0 0076 0H8Z`},locomotive:{side:`M7.7 8.6C10.5 3.6 16 0 22 0H62c6 0 11.5 3.6 14.3 8.6l5.1 9C85.9 25.6 80 36 71 36H13C4 36-1.9 25.6 2.6 17.6l5.1-9Z`,top:`M66 0H18C8 0 0 8 0 18S8 36 18 36H66c10 0 18-8 18-18S76 0 66 0Z`},"wagon-end-left":{side:`M7.7 8.6A16 16 0 0122 0H72c6 0 12 6 12 12V24c0 6-6 12-12 12H13C3.8 36-2 26.1 2.6 18.1Z`,top:`M76 0H18C8.25 0 .5 8.25.5 18S8 36 18 36H76c4 0 8-4 8-8V8c0-4-4-8-8-8Z`},"wagon-end-right":{side:`M76.3 8.6A16 16 0 0062 0H12C6 0 0 6 0 13v11c0 6 6 12 12 12h58.4c8.6 0 15-9.9 10.4-17.9z`,top:`M66 0H8C4 0 0 4 0 8V28c0 4 4 8 8 8H66c9.75 0 17.5-8.25 17.5-18S76 0 66 0Z`}},U=e=>(()=>{let i=F(c(e)),a,s=[],f=[],S,C=[],w=[],T,j=[],N=[],I,L=[],R=[],z,U=[],W=[],G,K=[],q=[],J,Y=[],X=[],Z,Q=[],$=[];return class extends i{static{let e=typeof Symbol==`function`&&Symbol.metadata?Object.create(i[Symbol.metadata]??null):void 0;a=[k({attribute:`wagon-type`,reflect:!0})],S=[k()],T=[u(),d(e=>e._sectorChanged()),k({reflect:!0,converter:E})],I=[k({attribute:`blocked-passage`})],z=[k({attribute:`wagon-class`})],G=[u(),k({reflect:!0,converter:E})],J=[u(),k({attribute:`additional-accessibility-text`})],Z=[A()],D(this,null,a,{kind:`accessor`,name:`wagonType`,static:!1,private:!1,access:{has:e=>`wagonType`in e,get:e=>e.wagonType,set:(e,t)=>{e.wagonType=t}},metadata:e},s,f),D(this,null,S,{kind:`accessor`,name:`occupancy`,static:!1,private:!1,access:{has:e=>`occupancy`in e,get:e=>e.occupancy,set:(e,t)=>{e.occupancy=t}},metadata:e},C,w),D(this,null,T,{kind:`accessor`,name:`sector`,static:!1,private:!1,access:{has:e=>`sector`in e,get:e=>e.sector,set:(e,t)=>{e.sector=t}},metadata:e},j,N),D(this,null,I,{kind:`accessor`,name:`blockedPassage`,static:!1,private:!1,access:{has:e=>`blockedPassage`in e,get:e=>e.blockedPassage,set:(e,t)=>{e.blockedPassage=t}},metadata:e},L,R),D(this,null,z,{kind:`accessor`,name:`wagonClass`,static:!1,private:!1,access:{has:e=>`wagonClass`in e,get:e=>e.wagonClass,set:(e,t)=>{e.wagonClass=t}},metadata:e},U,W),D(this,null,G,{kind:`accessor`,name:`label`,static:!1,private:!1,access:{has:e=>`label`in e,get:e=>e.label,set:(e,t)=>{e.label=t}},metadata:e},K,q),D(this,null,J,{kind:`accessor`,name:`additionalAccessibilityText`,static:!1,private:!1,access:{has:e=>`additionalAccessibilityText`in e,get:e=>e.additionalAccessibilityText,set:(e,t)=>{e.additionalAccessibilityText=t}},metadata:e},Y,X),D(this,null,Z,{kind:`accessor`,name:`_view`,static:!1,private:!1,access:{has:e=>`_view`in e,get:e=>e._view,set:(e,t)=>{e._view=t}},metadata:e},Q,$),e&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:e})}static{this.elementDependencies=[P,ae,ie]}static{this.styles=[r(B)]}#e;get wagonType(){return this.#e}set wagonType(e){this.#e=e}#t;get occupancy(){return this.#t}set occupancy(e){this.#t=e}#n;get sector(){return this.#n}set sector(e){this.#n=e}#r;get blockedPassage(){return this.#r}set blockedPassage(e){this.#r=e}#i;get wagonClass(){return this.#i}set wagonClass(e){this.#i=e}#a;get label(){return this.#a}set label(e){this.#a=e}#o;get additionalAccessibilityText(){return this.#o}set additionalAccessibilityText(e){this.#o=e}#s;get _view(){return this.#s}set _view(e){this.#s=e}constructor(...e){super(...e),this.#e=O(this,s,`wagon`),this.listChildLocalNames=(O(this,f),[`sbb-icon`]),this.#t=O(this,C,null),this.#n=(O(this,w),O(this,j,``)),this.#r=(O(this,N),O(this,L,`none`)),this.#i=(O(this,R),O(this,U,null)),this.#a=(O(this,W),O(this,K,``)),this.#o=(O(this,q),O(this,Y,``)),this.#s=(O(this,X),O(this,Q,null)),this._language=(O(this,$),new o(this)),this._clipStyleSheet=null,this.addController(new l(this,()=>this.closest(`sbb-train-formation`),{view:e=>{this._view&&this.internals.states.delete(`view-${this._view}`),this._view=e.view,this._view&&this.internals.states.add(`view-${this._view}`)}}))}createRenderRoot(){let e=super.createRenderRoot();return t||(this._clipStyleSheet=new CSSStyleSheet,e.adoptedStyleSheets.push(this._clipStyleSheet)),e}_sectorChanged(){this.dispatchEvent(new Event(`sectorchange`,{bubbles:!0,composed:!0}))}_wagonTypeLabel(){switch(this.wagonType){case`closed`:return _[this._language.current];case`locomotive`:return y[this._language.current];case`couchette`:return v[this._language.current];case`sleeping`:return ee[this._language.current];case`restaurant`:return b[this._language.current];default:return te[this._language.current]}}_wagonShape(){let e=this._view??`side`;return[`wagon`,`couchette`,`sleeping`,`restaurant`,`closed`].includes(this.wagonType)?H.wagon[e]:H[this.wagonType][e]??H.wagon[e]}_classLabel(){switch(this.wagonClass){case`1`:return g.first[this._language.current];case`2`:return g.second[this._language.current];case`1-2`:return`${g.first[this._language.current]} ${m[this._language.current]} ${g.second[this._language.current]}`;case`2-1`:return`${g.second[this._language.current]} ${m[this._language.current]} ${g.first[this._language.current]}`;default:return``}}renderTemplate(){let e=this.wagonType===`wagon-end-left`&&this.blockedPassage===`none`?`previous`:this.wagonType===`wagon-end-right`&&this.blockedPassage===`none`?`next`:this.blockedPassage??`none`,t=e!==`none`,r=+!!this.sector+ +!!this.label+ +(!!this.wagonClass&&this.wagonType!==`closed`)+ +(!!this.occupancy&&this.wagonType!==`closed`)+ +t,i=`${x[this._language.current]}, ${this.sector}`,a=`${ne[this._language.current]}, ${this.label}`,o=M`<span class="sbb-screen-reader-only">
20
20
  ${this._classLabel()}
21
21
  </span>
@@ -88,7 +88,7 @@ import{html as e,isServer as t,nothing as n,unsafeCSS as r}from"lit";import{SbbB
88
88
  ${this.renderList({class:`sbb-train-wagon__attribute-icon-list`,ariaLabel:p[this._language.current]})}
89
89
  </span>
90
90
  </div>
91
- `}}})();var W=class extends U(i){static{this.elementName=`sbb-train-wagon-button`}},G=class extends U(s){static{this.elementName=`sbb-train-wagon-link`}},K=class extends U(a){static{this.elementName=`sbb-train-wagon`}render(){return this.renderTemplate()}},q=`:host{--sbb-train-direction-label-spacing:var(--sbb-spacing-fixed-1x);--_sbb-train-direction-row-dimension:calc(max(var(--sbb-size-icon-ui-small), 1em * var(--sbb-typo-line-height-text)));font-size:var(--sbb-text-font-size-xs);letter-spacing:var(--sbb-typo-letter-spacing-text);flex-direction:var(--_sbb-train-formation-flex-direction-inverted);gap:var(--sbb-train-formation-gap);display:flex;position:relative}:host:before{content:"";display:var(--_sbb-train-formation-reserve-spacing-display,none);height:var(--_sbb-train-direction-row-dimension)}:host(:is(:state(orientation-vertical),[state--orientation-vertical])):before{height:auto;width:var(--_sbb-train-direction-row-dimension)}.sbb-train__wagons{flex-direction:var(--_sbb-train-formation-flex-direction);gap:var(--sbb-train-formation-wagon-gap);display:flex}.sbb-train__direction-heading{flex-direction:var(--_sbb-train-formation-flex-direction);width:100%;display:flex;position:absolute}:host(:is(:state(orientation-vertical),[state--orientation-vertical])) .sbb-train__direction-heading{width:auto;height:100%}.sbb-train__direction-sticky-wrapper{flex-direction:var(--_sbb-train-formation-flex-direction);align-items:center;gap:var(--sbb-train-direction-label-spacing);max-width:100%;display:inline-flex;position:sticky;inset-inline-start:0}:host(:is(:state(orientation-vertical),[state--orientation-vertical])) .sbb-train__direction-sticky-wrapper{max-width:unset;max-height:100%;inset-block-start:0;inset-inline-start:unset}:host([direction=right]) .sbb-train__direction-arrow{order:2;scale:-1 1}:host(:is(:state(orientation-vertical),[state--orientation-vertical])) .sbb-train__direction-arrow{rotate:90deg}.sbb-train__direction-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}:host(:is(:state(orientation-vertical),[state--orientation-vertical])) .sbb-train__direction-label{writing-mode:sideways-lr}
91
+ `}}})();var W=class extends U(i){static{this.elementName=`sbb-train-wagon-button`}},G=class extends U(s){static{this.elementName=`sbb-train-wagon-link`}},K=class extends U(a){static{this.elementName=`sbb-train-wagon`}render(){return this.renderTemplate()}},q=`:host{--sbb-train-direction-label-spacing:var(--sbb-spacing-fixed-1x);--_sbb-train-direction-row-dimension:calc(max(var(--sbb-size-icon-ui-small), 1em * var(--sbb-typo-line-height-text)));font-size:var(--sbb-text-font-size-xs);letter-spacing:var(--sbb-letter-spacing-text);flex-direction:var(--_sbb-train-formation-flex-direction-inverted);gap:var(--sbb-train-formation-gap);display:flex;position:relative}:host:before{content:"";display:var(--_sbb-train-formation-reserve-spacing-display,none);height:var(--_sbb-train-direction-row-dimension)}:host(:is(:state(orientation-vertical),[state--orientation-vertical])):before{height:auto;width:var(--_sbb-train-direction-row-dimension)}.sbb-train__wagons{flex-direction:var(--_sbb-train-formation-flex-direction);gap:var(--sbb-train-formation-wagon-gap);display:flex}.sbb-train__direction-heading{flex-direction:var(--_sbb-train-formation-flex-direction);width:100%;display:flex;position:absolute}:host(:is(:state(orientation-vertical),[state--orientation-vertical])) .sbb-train__direction-heading{width:auto;height:100%}.sbb-train__direction-sticky-wrapper{flex-direction:var(--_sbb-train-formation-flex-direction);align-items:center;gap:var(--sbb-train-direction-label-spacing);max-width:100%;display:inline-flex;position:sticky;inset-inline-start:0}:host(:is(:state(orientation-vertical),[state--orientation-vertical])) .sbb-train__direction-sticky-wrapper{max-width:unset;max-height:100%;inset-block-start:0;inset-inline-start:unset}:host([direction=right]) .sbb-train__direction-arrow{order:2;scale:-1 1}:host(:is(:state(orientation-vertical),[state--orientation-vertical])) .sbb-train__direction-arrow{rotate:90deg}.sbb-train__direction-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}:host(:is(:state(orientation-vertical),[state--orientation-vertical])) .sbb-train__direction-label{writing-mode:sideways-lr}
92
92
  `;let J=(()=>{let e=F(c(a)),t,i=[],s=[],l,f=[],p=[],m,h=[],g=[],_,v=[],y=[],b,x=[],S=[];return class extends e{constructor(){super(...arguments),this.listChildLocalNames=[`sbb-train-wagon`,`sbb-train-wagon-button`,`sbb-train-wagon-link`,`sbb-train-blocked-passage`],this.#e=O(this,i,``),this.#t=(O(this,s),O(this,f,`6`)),this.#n=(O(this,p),O(this,h,``)),this.#r=(O(this,g),O(this,v,``)),this.#i=(O(this,y),O(this,x,`left`)),this._language=(O(this,S),new o(this))}static{let n=typeof Symbol==`function`&&Symbol.metadata?Object.create(e[Symbol.metadata]??null):void 0;t=[u(),d(e=>{e.dispatchEvent(new Event(`directionlabelchange`,{bubbles:!0,composed:!0}))}),k({attribute:`direction-label`,reflect:!0,converter:E})],l=[k({attribute:`direction-label-level`})],m=[u(),k()],_=[u(),k({attribute:`accessibility-label`})],b=[k({reflect:!0})],D(this,null,t,{kind:`accessor`,name:`directionLabel`,static:!1,private:!1,access:{has:e=>`directionLabel`in e,get:e=>e.directionLabel,set:(e,t)=>{e.directionLabel=t}},metadata:n},i,s),D(this,null,l,{kind:`accessor`,name:`directionLabelLevel`,static:!1,private:!1,access:{has:e=>`directionLabelLevel`in e,get:e=>e.directionLabelLevel,set:(e,t)=>{e.directionLabelLevel=t}},metadata:n},f,p),D(this,null,m,{kind:`accessor`,name:`station`,static:!1,private:!1,access:{has:e=>`station`in e,get:e=>e.station,set:(e,t)=>{e.station=t}},metadata:n},h,g),D(this,null,_,{kind:`accessor`,name:`accessibilityLabel`,static:!1,private:!1,access:{has:e=>`accessibilityLabel`in e,get:e=>e.accessibilityLabel,set:(e,t)=>{e.accessibilityLabel=t}},metadata:n},v,y),D(this,null,b,{kind:`accessor`,name:`direction`,static:!1,private:!1,access:{has:e=>`direction`in e,get:e=>e.direction,set:(e,t)=>{e.direction=t}},metadata:n},x,S),n&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:n})}static{this.elementName=`sbb-train`}static{this.elementDependencies=[P]}static{this.styles=[r(q)]}#e;get directionLabel(){return this.#e}set directionLabel(e){this.#e=e}#t;get directionLabelLevel(){return this.#t}set directionLabelLevel(e){this.#t=e}#n;get station(){return this.#n}set station(e){this.#n=e}#r;get accessibilityLabel(){return this.#r}set accessibilityLabel(e){this.#r=e}#i;get direction(){return this.#i}set direction(e){this.#i=e}_getDirectionAriaLabel(){let e=[C[this._language.current]];return this.directionLabel&&this.station&&e.push(`${this.directionLabel} ${this.station}`),this.accessibilityLabel&&e.push(this.accessibilityLabel),`${e.join(`, `)}.`}willUpdate(e){super.willUpdate(e),e.has(`listChildren`)&&this.dispatchEvent(new Event(`trainslotchange`,{bubbles:!0}))}render(){let e=`h${this.directionLabelLevel}`;return M`
93
93
  <${N(e)} class="sbb-screen-reader-only">
94
94
  ${this._getDirectionAriaLabel()}