@sbb-esta/lyne-elements-dev 5.13.2-dev.1794403198 → 5.13.2-dev.1794407608

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/core.js CHANGED
@@ -66,4 +66,4 @@ let xe=0;var Se=class{constructor(){r||(document.body?this._liveElement=this._cr
66
66
  <span><slot name=${r[0].name}></slot></span>
67
67
  </span>
68
68
  ${this.renderHiddenSlot()} `:this.renderHiddenSlot()}listSlotEntries(e){return(this.listChildren.length?this.listChildren:Array.from({length:+(this.getAttribute(ui)??0)})).map((t,n)=>({name:`li-${n}`,ariaHidden:e?.localNameVisualOnly?.includes(t.localName)??!1}))}renderHiddenSlot(){return n`<span hidden><slot></slot></span>`}}})(),fi=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=[I(),l({reflect:!0,type:Boolean})],o(this,null,n,{kind:`accessor`,name:`negative`,static:!1,private:!1,access:{has:e=>`negative`in e,get:e=>e.negative,set:(e,t)=>{e.negative=t}},metadata:e},r,i),e&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:e})}#e=s(this,r,!1);get negative(){return this.#e}set negative(e){this.#e=e}constructor(){super(...arguments),s(this,i)}}})();var pi=`:host{--sbb-selection-panel-background:var(--sbb-selection-panel-inner-background,var(--sbb-selection-panel-background-default));--sbb-selection-panel-border-width:var(--sbb-selection-panel-inner-border-width,var(--sbb-selection-panel-border-width-default));--sbb-selection-panel-animation-duration:var(--sbb-disable-animation-duration,var(--sbb-animation-duration-4x));display:block;outline:none!important}:host([size=xs]){--sbb-selection-panel-checkbox-dimension:var(--sbb-checkbox-dimension-xs);--sbb-selection-panel-input-padding:var(--sbb-selection-panel-input-padding-block-xs) var(--sbb-selection-panel-input-padding-inline-xs)}:host([size=s]){--sbb-selection-panel-checkbox-dimension:var(--sbb-checkbox-dimension-s);--sbb-selection-panel-input-padding:var(--sbb-selection-panel-input-padding-block-s) var(--sbb-selection-panel-input-padding-inline-s)}:host([size=m]){--sbb-selection-panel-checkbox-dimension:var(--sbb-checkbox-dimension-m);--sbb-selection-panel-input-padding:var(--sbb-selection-panel-input-padding-block-m) var(--sbb-selection-panel-input-padding-inline-m)}:host([color=milk]){--sbb-selection-panel-background:var(--sbb-selection-panel-inner-background,var(--sbb-selection-panel-background-milk))}:host([borderless]:not(:is(:state(checked),[state--checked]))){--sbb-selection-panel-border-color:var(--sbb-selection-panel-border-color-borderless)}:host(:is(:state(checked),[state--checked]):not(:disabled,[disabled])){--sbb-selection-panel-border-color:var(--sbb-selection-panel-border-color-checked);--sbb-selection-panel-border-width:var(--sbb-selection-panel-inner-border-width,var(--sbb-selection-panel-border-width-checked))}:host(:is(:disabled,[disabled])){--sbb-selection-panel-cursor:var(--sbb-cursor-default)}.sbb-selection-panel{cursor:var(--sbb-selection-panel-cursor);border-radius:var(--sbb-selection-panel-border-radius);box-shadow:inset 0 0 0 var(--sbb-selection-panel-border-width) var(--sbb-selection-panel-border-color);padding:var(--sbb-selection-panel-input-padding);background-color:var(--sbb-selection-panel-background);height:100%;transition-duration:var(--sbb-selection-panel-animation-duration);transition-timing-function:var(--sbb-animation-easing);transition-property:box-shadow;display:block;position:relative}@media (forced-colors:active){.sbb-selection-panel:after{content:"";pointer-events:none;border:var(--sbb-selection-panel-border-width) solid var(--sbb-selection-panel-border-color);border-radius:var(--sbb-selection-panel-border-radius);display:block;position:absolute;inset:0}}:host(:focus-visible) .sbb-selection-panel{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-selection-panel__badge{user-select:none;pointer-events:none;border-radius:var(--sbb-selection-panel-border-radius);position:absolute;inset:0;overflow:hidden}slot[name=suffix]{color:var(--sbb-selection-panel-suffix-color)}slot[name=subtext]{color:var(--sbb-selection-panel-subtext-color);padding-inline-start:calc(var(--sbb-selection-panel-checkbox-dimension) + var(--sbb-spacing-fixed-2x));display:block}:host(:not(:is(:state(slotted-subtext),[state--slotted-subtext]))) slot[name=subtext]{display:none}
69
- `;const mi=e=>(()=>{let t=e,n,r=[],i=[],c,u=[],d=[],f,p=[],m=[],h,g=[],_=[];return class extends t{static{let e=typeof Symbol==`function`&&Symbol.metadata?Object.create(t[Symbol.metadata]??null):void 0;n=[l({reflect:!0})],c=[I(),l({reflect:!0,type:Boolean})],f=[I(),l()],h=[l({reflect:!0}),Nr((e,t)=>e.group?.size??t)],o(this,null,n,{kind:`accessor`,name:`color`,static:!1,private:!1,access:{has:e=>`color`in e,get:e=>e.color,set:(e,t)=>{e.color=t}},metadata:e},r,i),o(this,null,c,{kind:`accessor`,name:`borderless`,static:!1,private:!1,access:{has:e=>`borderless`in e,get:e=>e.borderless,set:(e,t)=>{e.borderless=t}},metadata:e},u,d),o(this,null,f,{kind:`accessor`,name:`expansionState`,static:!1,private:!1,access:{has:e=>`expansionState`in e,get:e=>e.expansionState,set:(e,t)=>{e.expansionState=t}},metadata:e},p,m),o(this,null,h,{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:e},g,_),e&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:e})}static{this.styles=[a(pi)]}#e=s(this,r,`white`);get color(){return this.#e}set color(e){this.#e=e}#t=(s(this,i),s(this,u,!1));get borderless(){return this.#t}set borderless(e){this.#t=e}#n=(s(this,d),s(this,p,``));get expansionState(){return this.#n}set expansionState(e){this.#n=e}#r=(s(this,m),s(this,g,null));get size(){return this.#r}set size(e){this.#r=e}connectedCallback(){super.connectedCallback(),this.dispatchEvent(new Event(`panelconnected`,{bubbles:!0}))}constructor(){super(...arguments),s(this,_)}}})(),hi=e=>{class t extends e{get group(){return this.closest?.(`sbb-radio-button-group, sbb-checkbox-group`)??null}get panel(){return this.querySelector?.(`sbb-radio-button-panel, sbb-checkbox-panel`)??null}constructor(...e){super(e),this._previousSize=null,this._propertyWatcher=new Wn(this,()=>this.panel,{checked:e=>{this.toggleState(`checked`,e.checked),this.onInputStateChange?.()},disabled:e=>{this.toggleState(`disabled`,e.disabled),this.onInputStateChange?.()},size:e=>{this._previousSize&&this.internals.states.delete(`size-${this._previousSize}`),this._previousSize=e.size,this._previousSize&&this.internals.states.add(`size-${this._previousSize}`)},borderless:e=>{this.toggleState(`borderless`,e.borderless)},color:e=>{this._previousColor&&this.internals.states.delete(`color-${this._previousColor}`),this._previousColor=e.color,this._previousColor&&this.internals.states.add(`color-${this._previousColor}`)}}),this.addEventListener?.(`panelconnected`,()=>this._propertyWatcher.connect())}onInputStateChange(){}}return t},gi=e=>{class t extends e{constructor(){super(...arguments),this._updatePromise=Promise.resolve(),this._updateResolve=()=>{}}startUpdate(){this._updatePromise=new Promise(e=>this._updateResolve=e)}completeUpdate(){this._updateResolve()}async getUpdateComplete(){let e=await super.getUpdateComplete();return await this._updatePromise,e}}return t};function $(e){let t=window.getComputedStyle(e),n=t.display,r=parseInt(t.maxHeight,10).toString();if(n!==`none`&&r!==`0`)return{scrollHeight:e.scrollHeight,clientHeight:e.clientHeight,offsetHeight:e.offsetHeight,scrollWidth:e.scrollWidth,clientWidth:e.clientWidth,offsetWidth:e.offsetWidth};e.style.position=`absolute`,e.style.visibility=`hidden`,e.style.display=`block`;let i=e.scrollHeight,a=e.clientHeight,o=e.offsetHeight,s=e.scrollWidth,c=e.clientWidth,l=e.offsetWidth;return e.style.display=``,e.style.position=``,e.style.visibility=``,{scrollHeight:i,clientHeight:a,offsetHeight:o,scrollWidth:s,clientWidth:c,offsetWidth:l}}function _i(e,t){if(!e||!t)return!1;let n=e.getBoundingClientRect();return n.top<=t.clientY&&t.clientY<=n.top+n.height&&n.left<=t.clientX&&t.clientX<=n.left+n.width}function vi(e,t,n,r){let i=r?.verticalOffset||0,a=r?.horizontalOffset||0,o=r?.responsiveHeight||!1,s=t.getBoundingClientRect(),c=$(e),l=s.left,u=s.top,d=document.documentElement.clientWidth-(l+s.width),f=u-i,p=document.documentElement.clientHeight-(u+s.height+i),m=l,h=u+s.height+i,g=c.offsetWidth-s.width,_={horizontal:`start`,vertical:`below`},v=`${p-i}px`;r?.centered&&l-16+s.width/2>c.offsetWidth/2&&d-16>g/2&&(m-=g/=2,_.horizontal=`center`),d<g&&l>g&&(m-=g,_.horizontal=`end`),a&&_.horizontal!==`center`&&s.width/2<a&&(m+=a*(_.horizontal===`start`?-1:1)),(l<g&&d<g||document.documentElement.clientWidth<c.offsetWidth)&&(m=document.documentElement.clientWidth/2-c.offsetWidth/2);let y=p-i>=c.scrollHeight,b=f-i>=(o?c.clientHeight:c.scrollHeight),x=!y&&(b||f>p);!r?.forceBelow&&(r?.forceAbove||x)&&(h=f<c.scrollHeight?h-s.height-f-i:u-c.clientHeight-i,v=`${f-i}px`,_.vertical=`above`);let S=n.getBoundingClientRect();return S.left<0&&(m-=S.left),S.top<0&&(h-=S.top),{top:h,left:m,maxHeight:v,alignment:_}}function yi(e,t,n,r){let i=r?.verticalOffset||0,a=r?.horizontalOffset||0,o=t.getBoundingClientRect(),s=$(e),c=t.parentElement.shadowRoot.querySelector(r?.contentSelector??`.${e.className}`).getBoundingClientRect(),l=n.getBoundingClientRect(),u=document.documentElement.clientWidth-c.right,d=document.documentElement.clientHeight-(o.top-i),f=document.documentElement.clientHeight,p=`${f-32}px`,m={horizontal:`end`,vertical:`above`},h=s.offsetWidth+a,g=c.right,_=o.top+i;return u<h&&o.left>h&&(g=g-c.width-s.offsetWidth,m.horizontal=`start`),a&&m.horizontal!==`center`&&(g+=a*(m.horizontal===`start`?-1:1)),d<s.scrollHeight&&(_=f-s.clientHeight-16),l.left<0&&(g-=l.left),l.top<0&&(_-=l.top),{top:_,left:g,maxHeight:p,alignment:m}}function bi(e,t,n,r,i,a=`auto`){if(!e||!t)return;let o=t.getBoundingClientRect();i.style.setProperty(`--sbb-options-panel-width`,`${t.offsetWidth}px`),i.style.setProperty(`--sbb-options-panel-origin-height`,`${t.offsetHeight}px`),i.style.setProperty(`--sbb-options-panel-origin-position-x`,`${o.left}px`),i.style.setProperty(`--sbb-options-panel-origin-position-y`,`${o.top}px`);let s=vi(n,t,r,{forceBelow:a===`below`,forceAbove:a===`above`});i.style.setProperty(`--sbb-options-panel-position-x`,`${s.left}px`),i.style.setProperty(`--sbb-options-panel-position-y`,`${s.top}px`),i.style.setProperty(`--sbb-options-panel-max-height-calculated`,s.maxHeight);let c=s.alignment.vertical===`above`;i.toggleState?.(`options-panel-position-above`,c),i.toggleState?.(`options-panel-position-below`,!c),t.setAttribute(`data-options-panel-position`,s.alignment.vertical)}var xi=class{constructor(){this._overlays=/* @__PURE__ */ new Set,this._pointerDownListener=e=>{this._pointerDownEventTarget=e.composedPath()[0]},this._clickListener=e=>{let t=e.composedPath()[0],n=e.type===`click`&&this._pointerDownEventTarget?this._pointerDownEventTarget:t;this._pointerDownEventTarget=void 0;for(let e of Array.from(this._overlays).reverse()){if(X(e,t)||X(e,n))break;e.dispatchEvent(new Event(`overlayOutsidePointer`))}}}connect(e){this._overlays.size||(this._addGlobalEventListeners(),j&&(this._cursorOriginalValue=document.body.style.cursor,document.body.style.cursor=`pointer`)),this._overlays.add(e)}disconnect(e){this._overlays.delete(e),this._overlays.size||(this._abortController?.abort(),this._abortController=void 0,j&&(document.body.style.cursor=this._cursorOriginalValue))}_addGlobalEventListeners(){let e=document.body;this._abortController=new AbortController;let t={capture:!0,passive:!0,signal:this._abortController.signal};e.addEventListener(`click`,this._clickListener,t),!ie&&!j&&(e.addEventListener(`pointerdown`,this._pointerDownListener,t),e.addEventListener(`auxclick`,this._clickListener,t),e.addEventListener(`contextmenu`,this._clickListener,t))}};const Si=new xi;function Ci(e,t,n,r){t&&(t.ariaHasPopup=n,t.ariaControlsElements=Oe(t.ariaControlsElements,e),t.ariaExpanded=`${r===`opening`||r===`opened`}`)}function wi(e){e&&(e.ariaHasPopup=null,e.ariaControlsElements=null,e.ariaExpanded=null)}function Ti(e,t,n,r=`listbox`){e&&(e.setAttribute(`autocomplete`,`off`),e.setAttribute(`role`,`combobox`),e.setAttribute(`aria-autocomplete`,`list`),e.setAttribute(`aria-haspopup`,r),e.setAttribute(`aria-controls`,t),e.setAttribute(`aria-expanded`,`${n}`))}function Ei(e){e&&(e.removeAttribute(`autocomplete`),e.removeAttribute(`role`),e.removeAttribute(`aria-autocomplete`),e.removeAttribute(`aria-haspopup`),e.removeAttribute(`aria-controls`),e.removeAttribute(`aria-expanded`))}export{K as DateAdapter,yr as FORMAT_DATE,Er as FRIDAY,xr as ISO8601_FORMAT_DATE,te as IS_FOCUSABLE_QUERY,le as InteractivityChecker,ce as IsFocusableConfig,Sr as MONDAY,Ar as NativeDateAdapter,Dr as SATURDAY,br as SEPARATORLESS_FORMAT_DATE,Or as SUNDAY,F as SbbActionBaseElement,Kr as SbbAnimationCompleteMixin,Ne as SbbButtonBaseElement,Me as SbbButtonLikeBaseElement,ur as SbbDarkModeController,zn as SbbDisabledInteractiveMixin,V as SbbDisabledMixin,Bn as SbbDisabledTabIndexActionMixin,P as SbbElement,Kn as SbbEscapableOverlayController,be as SbbFocusTrapController,ee as SbbFocusVisibleWithinController,qr as SbbFormAssociatedCheckboxMixin,Xr as SbbFormAssociatedInputMixin,L as SbbFormAssociatedMixin,Zr as SbbFormAssociatedRadioButtonMixin,Jn as SbbIdReferenceController,$n as SbbInertController,z as SbbLanguageController,Ln as SbbLinkBaseElement,Se as SbbLiveAnnouncer,lr as SbbMediaMatcherController,ar as SbbMediaQueryBreakpointLargeAndAbove,cr as SbbMediaQueryBreakpointLargeAndBelow,ir as SbbMediaQueryBreakpointSmallAndAbove,sr as SbbMediaQueryBreakpointSmallAndBelow,or as SbbMediaQueryBreakpointUltraAndAbove,rr as SbbMediaQueryBreakpointZeroAndAbove,W as SbbMediaQueryDarkMode,er as SbbMediaQueryForcedColors,tr as SbbMediaQueryHover,nr as SbbMediaQueryPointerCoarse,di as SbbNamedSlotListMixin,fi as SbbNegativeMixin,Rn as SbbOpenCloseBaseElement,xi as SbbOverlayOutsidePointerEventListener,gr as SbbOverlayPositionController,mi as SbbPanelMixin,Wn as SbbPropertyWatcherController,Jr as SbbReadonlyMixin,H as SbbRequiredMixin,vr as SbbScrollController,Ur as SbbScrollHandler,Hn as SbbSelectionGroupBaseElement,hi as SbbSelectionPanelMixin,N as SbbSlottedChangeEvent,gi as SbbUpdateSchedulerMixin,Tr as THURSDAY,Cr as TUESDAY,Mr as TemporalDateAdapter,wr as WEDNESDAY,Oe as appendAriaElements,ii as buttonResetStyles,X as containsPierceShadowDom,q as defaultDateAdapter,I as forceType,Gr as forwardEvent,vi as getElementPosition,yi as getElementPositionHorizontal,$ as getElementRectangle,S as getEventTarget,y as getNextElementIndex,Nr as getOverride,Pr as handleDistinctChange,ai as hostScrollbarStyles,Qe as i18nAdditionalWagonInformationHeading,ze as i18nAnd,Ie as i18nArrival,In as i18nAutocompleteActionsHint,Ze as i18nBlockedPassage,Yt as i18nBreadcrumbEllipsisButtonLabel,Fn as i18nButton,Nt as i18nCalendarDateSelection,Tn as i18nCalendarWeekNumber,On as i18nCarouselArrowsNavigationHint,Dn as i18nCarouselItemAriaLabel,fn as i18nCheckboxRequired,Cn as i18nChipDelete,wn as i18nChipGroupInputDescription,Be as i18nClass,Xt as i18nClearInput,yt as i18nCloseAlert,St as i18nCloseDialog,Ct as i18nCloseNavigation,bt as i18nCloseNotification,Tt as i18nClosePopover,wt as i18nCloseSidebar,Ke as i18nClosedCompartmentLabel,qt as i18nCollapsed,Ut as i18nConnectionFrom,Gt as i18nConnectionRoundtrip,Wt as i18nConnectionTo,Ye as i18nCouchetteWagonLabel,Ht as i18nDateChangedTo,gn as i18nDateInvalid,vn as i18nDateMax,_n as i18nDateMin,Vt as i18nDatePickerPlaceholder,$e as i18nDeparture,xt as i18nDialog,Fe as i18nDirection,tt as i18nDownload,it as i18nDurationDay,rt as i18nDurationHour,nt as i18nDurationMinute,Kt as i18nExpanded,$t as i18nFileSelectorButtonLabel,en as i18nFileSelectorButtonLabelMultiple,an as i18nFileSelectorCurrentlySelected,rn as i18nFileSelectorDeleteFile,tn as i18nFileSelectorSubtitleLabel,nn as i18nFileSelectorSubtitleLabelMultiple,Zt as i18nFlipCard,ft as i18nFromPlatform,Et as i18nGoBack,hn as i18nInputRequired,ln as i18nItemsPerPage,qe as i18nLocomotiveLabel,Nn as i18nLogo125Anniversary,Pn as i18nLogo125AnniversaryYears,Jt as i18nMapContainerButtonLabel,ht as i18nMeansOfTransport,mn as i18nMultipleSelectionPossible,dt as i18nNew,At as i18nNextDay,Ot as i18nNextMonth,on as i18nNextPage,kn as i18nNextSlide,It as i18nNextYear,Pt as i18nNextYearRange,et as i18nNonAccessible,mt as i18nOccupancy,cn as i18nPage,dn as i18nPaginatorOf,un as i18nPaginatorSelected,jt as i18nPreviousDay,kt as i18nPreviousMonth,sn as i18nPreviousPage,An as i18nPreviousSlide,Lt as i18nPreviousYear,Ft as i18nPreviousYearRange,ct as i18nRealTimeInfo,Mn as i18nRemainingCharacters,Xe as i18nRestaurantWagonLabel,Qt as i18nReverseCard,Le as i18nSector,Re as i18nSectorShort,Rt as i18nSelectNextDay,zt as i18nSelectPreviousDay,pn as i18nSelectionRequired,Bt as i18nShowCalendar,Je as i18nSleepingWagonLabel,jn as i18nSlide,pt as i18nSupersaver,gt as i18nTargetOpensInNewWindow,yn as i18nTimeInputChange,bn as i18nTimeInvalid,xn as i18nTimeMax,Sn as i18nTimeMaxLength,En as i18nTimetableFormSwapButtonLabel,Dt as i18nToday,Ve as i18nTrain,He as i18nTrains,lt as i18nTransferProcedure,ut as i18nTransferProcedures,st as i18nTravelhints,ot as i18nTripDuration,at as i18nTripQuayChange,We as i18nWagonLabel,Ge as i18nWagonLabelNumber,Ue as i18nWagonsLabel,_t as i18nWalkingDistanceArrival,vt as i18nWalkingDistanceDeparture,Mt as i18nYearMonthSelection,Fr as idReference,M as interactivityChecker,ie as isAndroid,g as isArrowKeyOrPageKeysPressed,p as isArrowKeyPressed,k as isBlink,oe as isChromium,D as isEdge,_i as isEventOnElement,Ae as isEventPrevented,b as isFakeMousedownFromScreenReader,x as isFakeTouchstartFromScreenReader,re as isFirefox,j as isIOS,ne as isMacOS,h as isNextArrowKeyPressed,se as isNextjs,m as isPreviousArrowKeyPressed,ae as isSafari,O as isTrident,A as isWebkit,Rr as isZeroAnimationDuration,oi as listResetStyles,Pe as mergeConfig,B as omitEmptyConverter,Z as pageScrollDisabled,Lr as plainDate,Ir as plainDateConverter,ci as popoverResetStyles,Wr as preventScrollOnSpacebarPress,Br as queueDomContentLoaded,Q as radioButtonRegistry,R as readConfig,Ei as removeAriaComboBoxAttributes,ke as removeAriaElements,wi as removeAriaOverlayTriggerProperties,T as sbbInputModalityDetector,Ce as sbbLiveAnnouncer,Si as sbbOverlayOutsidePointerEventListener,si as screenReaderOnlyStyles,li as scrollbarStyles,Ti as setAriaComboBoxAttributes,Ci as setAriaOverlayTriggerProperties,zr as setOrRemoveAttribute,bi as setOverlayPosition,De as ɵstateController};
69
+ `;const mi=e=>(()=>{let t=e,n,r=[],i=[],c,u=[],d=[],f,p=[],m=[],h,g=[],_=[];return class extends t{static{let e=typeof Symbol==`function`&&Symbol.metadata?Object.create(t[Symbol.metadata]??null):void 0;n=[l({reflect:!0})],c=[I(),l({reflect:!0,type:Boolean})],f=[I(),l()],h=[l({reflect:!0}),Nr((e,t)=>e.group?.size??t)],o(this,null,n,{kind:`accessor`,name:`color`,static:!1,private:!1,access:{has:e=>`color`in e,get:e=>e.color,set:(e,t)=>{e.color=t}},metadata:e},r,i),o(this,null,c,{kind:`accessor`,name:`borderless`,static:!1,private:!1,access:{has:e=>`borderless`in e,get:e=>e.borderless,set:(e,t)=>{e.borderless=t}},metadata:e},u,d),o(this,null,f,{kind:`accessor`,name:`expansionState`,static:!1,private:!1,access:{has:e=>`expansionState`in e,get:e=>e.expansionState,set:(e,t)=>{e.expansionState=t}},metadata:e},p,m),o(this,null,h,{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:e},g,_),e&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:e})}static{this.styles=[a(pi)]}#e=s(this,r,`white`);get color(){return this.#e}set color(e){this.#e=e}#t=(s(this,i),s(this,u,!1));get borderless(){return this.#t}set borderless(e){this.#t=e}#n=(s(this,d),s(this,p,``));get expansionState(){return this.#n}set expansionState(e){this.#n=e}#r=(s(this,m),s(this,g,null));get size(){return this.#r}set size(e){this.#r=e}connectedCallback(){super.connectedCallback(),this.dispatchEvent(new Event(`panelconnected`,{bubbles:!0}))}constructor(){super(...arguments),s(this,_)}}})(),hi=e=>{class t extends e{get group(){return this.closest?.(`sbb-radio-button-group, sbb-checkbox-group`)??null}get panel(){return this.querySelector?.(`sbb-radio-button-panel, sbb-checkbox-panel`)??null}constructor(...e){super(e),this._previousSize=null,this._propertyWatcher=new Wn(this,()=>this.panel,{checked:e=>{this.toggleState(`checked`,e.checked),this.onInputStateChange?.()},disabled:e=>{this.toggleState(`disabled`,e.disabled),this.onInputStateChange?.()},size:e=>{this._previousSize&&this.internals.states.delete(`size-${this._previousSize}`),this._previousSize=e.size,this._previousSize&&this.internals.states.add(`size-${this._previousSize}`)},borderless:e=>{this.toggleState(`borderless`,e.borderless)},color:e=>{this._previousColor&&this.internals.states.delete(`color-${this._previousColor}`),this._previousColor=e.color,this._previousColor&&this.internals.states.add(`color-${this._previousColor}`)}}),this.addEventListener?.(`panelconnected`,()=>this._propertyWatcher.connect())}onInputStateChange(){}}return t},gi=e=>{class t extends e{constructor(){super(...arguments),this._updatePromise=Promise.resolve(),this._updateResolve=()=>{}}startUpdate(){this._updatePromise=new Promise(e=>this._updateResolve=e)}completeUpdate(){this._updateResolve()}async getUpdateComplete(){let e=await super.getUpdateComplete();return await this._updatePromise,e}}return t};function $(e){let t=window.getComputedStyle(e),n=t.display,r=parseInt(t.maxHeight,10).toString();if(n!==`none`&&r!==`0`)return{scrollHeight:e.scrollHeight,clientHeight:e.clientHeight,offsetHeight:e.offsetHeight,scrollWidth:e.scrollWidth,clientWidth:e.clientWidth,offsetWidth:e.offsetWidth};e.style.position=`absolute`,e.style.visibility=`hidden`,e.style.display=`block`;let i=e.scrollHeight,a=e.clientHeight,o=e.offsetHeight,s=e.scrollWidth,c=e.clientWidth,l=e.offsetWidth;return e.style.display=``,e.style.position=``,e.style.visibility=``,{scrollHeight:i,clientHeight:a,offsetHeight:o,scrollWidth:s,clientWidth:c,offsetWidth:l}}function _i(e,t){if(!e||!t)return!1;let n=e.getBoundingClientRect();return n.top<=t.clientY&&t.clientY<=n.top+n.height&&n.left<=t.clientX&&t.clientX<=n.left+n.width}function vi(e,t,n,r){let i=r?.verticalOffset||0,a=r?.horizontalOffset||0,o=r?.responsiveHeight||!1,s=t.getBoundingClientRect(),c=$(e),l=s.left,u=s.top,d=document.documentElement.clientWidth-(l+s.width),f=u-i,p=document.documentElement.clientHeight-(u+s.height+i),m=l,h=u+s.height+i,g=c.offsetWidth-s.width,_={horizontal:`start`,vertical:`below`},v=`${p-i}px`;r?.centered&&l-16+s.width/2>c.offsetWidth/2&&d-16>g/2&&(m-=g/=2,_.horizontal=`center`),d<g&&l>g&&(m-=g,_.horizontal=`end`),a&&_.horizontal!==`center`&&s.width/2<a&&(m+=a*(_.horizontal===`start`?-1:1)),(l<g&&d<g||document.documentElement.clientWidth<c.offsetWidth)&&(m=document.documentElement.clientWidth/2-c.offsetWidth/2);let y=p-i>=c.scrollHeight,b=f-i>=(o?c.clientHeight:c.scrollHeight),x=!y&&(b||f>p);!r?.forceBelow&&(r?.forceAbove||x)&&(h=f<c.scrollHeight?h-s.height-f-i:u-c.clientHeight-i,v=`${f-i}px`,_.vertical=`above`);let S=n.getBoundingClientRect();return S.left<0&&(m-=S.left),S.top<0&&(h-=S.top),{top:h,left:m,maxHeight:v,alignment:_}}function yi(e,t,n,r){let i=r?.verticalOffset||0,a=r?.horizontalOffset||0,o=t.getBoundingClientRect(),s=$(e),c=t.parentElement.shadowRoot.querySelector(r?.contentSelector??`.${e.className}`).getBoundingClientRect(),l=n.getBoundingClientRect(),u=document.documentElement.clientWidth-c.right,d=document.documentElement.clientHeight-(o.top-i),f=document.documentElement.clientHeight,p=`${f-32}px`,m={horizontal:`end`,vertical:`above`},h=s.offsetWidth+a,g=c.right,_=o.top+i;return u<h&&o.left>h&&(g=g-c.width-s.offsetWidth,m.horizontal=`start`),a&&m.horizontal!==`center`&&(g+=a*(m.horizontal===`start`?-1:1)),d<s.scrollHeight&&(_=f-s.clientHeight-16),l.left<0&&(g-=l.left),l.top<0&&(_-=l.top),{top:_,left:g,maxHeight:p,alignment:m}}function bi(e,t,n,r,i,a=`auto`){if(!e||!t)return;let o=t.getBoundingClientRect();i.style.setProperty(`--sbb-options-panel-width`,`${t.offsetWidth}px`),i.style.setProperty(`--sbb-options-panel-origin-height`,`${t.offsetHeight}px`),i.style.setProperty(`--sbb-options-panel-origin-position-x`,`${o.left}px`),i.style.setProperty(`--sbb-options-panel-origin-position-y`,`${o.top}px`);let s=vi(n,t,r,{forceBelow:a===`below`,forceAbove:a===`above`});i.style.setProperty(`--sbb-options-panel-position-x`,`${s.left}px`),i.style.setProperty(`--sbb-options-panel-position-y`,`${s.top}px`),i.style.setProperty(`--sbb-options-panel-max-height-calculated`,s.maxHeight);let c=s.alignment.vertical===`above`;i.toggleState?.(`options-panel-position-above`,c),i.toggleState?.(`options-panel-position-below`,!c),t.setAttribute(`data-options-panel-position`,s.alignment.vertical)}var xi=class{constructor(){this._overlays=/* @__PURE__ */ new Set,this._pointerDownListener=e=>{this._pointerDownEventTarget=e.composedPath()[0]},this._clickListener=e=>{let t=e.composedPath()[0],n=e.type===`click`&&this._pointerDownEventTarget?this._pointerDownEventTarget:t;this._pointerDownEventTarget=void 0;for(let e of Array.from(this._overlays).reverse()){if(X(e,t)||X(e,n))break;e.dispatchEvent(new Event(`overlayOutsidePointer`))}}}connect(e){this._overlays.size||(this._addGlobalEventListeners(),j&&(this._cursorOriginalValue=document.body.style.cursor,document.body.style.cursor=`pointer`)),this._overlays.add(e)}disconnect(e){this._overlays.delete(e),this._overlays.size||(this._abortController?.abort(),this._abortController=void 0,this._pointerDownEventTarget=void 0,j&&(document.body.style.cursor=this._cursorOriginalValue))}_addGlobalEventListeners(){let e=document.body;this._abortController=new AbortController;let t={capture:!0,passive:!0,signal:this._abortController.signal};e.addEventListener(`click`,this._clickListener,t),!ie&&!j&&(e.addEventListener(`pointerdown`,this._pointerDownListener,t),e.addEventListener(`auxclick`,this._clickListener,t),e.addEventListener(`contextmenu`,this._clickListener,t))}};const Si=new xi;function Ci(e,t,n,r){t&&(t.ariaHasPopup=n,t.ariaControlsElements=Oe(t.ariaControlsElements,e),t.ariaExpanded=`${r===`opening`||r===`opened`}`)}function wi(e){e&&(e.ariaHasPopup=null,e.ariaControlsElements=null,e.ariaExpanded=null)}function Ti(e,t,n,r=`listbox`){e&&(e.setAttribute(`autocomplete`,`off`),e.setAttribute(`role`,`combobox`),e.setAttribute(`aria-autocomplete`,`list`),e.setAttribute(`aria-haspopup`,r),e.setAttribute(`aria-controls`,t),e.setAttribute(`aria-expanded`,`${n}`))}function Ei(e){e&&(e.removeAttribute(`autocomplete`),e.removeAttribute(`role`),e.removeAttribute(`aria-autocomplete`),e.removeAttribute(`aria-haspopup`),e.removeAttribute(`aria-controls`),e.removeAttribute(`aria-expanded`))}export{K as DateAdapter,yr as FORMAT_DATE,Er as FRIDAY,xr as ISO8601_FORMAT_DATE,te as IS_FOCUSABLE_QUERY,le as InteractivityChecker,ce as IsFocusableConfig,Sr as MONDAY,Ar as NativeDateAdapter,Dr as SATURDAY,br as SEPARATORLESS_FORMAT_DATE,Or as SUNDAY,F as SbbActionBaseElement,Kr as SbbAnimationCompleteMixin,Ne as SbbButtonBaseElement,Me as SbbButtonLikeBaseElement,ur as SbbDarkModeController,zn as SbbDisabledInteractiveMixin,V as SbbDisabledMixin,Bn as SbbDisabledTabIndexActionMixin,P as SbbElement,Kn as SbbEscapableOverlayController,be as SbbFocusTrapController,ee as SbbFocusVisibleWithinController,qr as SbbFormAssociatedCheckboxMixin,Xr as SbbFormAssociatedInputMixin,L as SbbFormAssociatedMixin,Zr as SbbFormAssociatedRadioButtonMixin,Jn as SbbIdReferenceController,$n as SbbInertController,z as SbbLanguageController,Ln as SbbLinkBaseElement,Se as SbbLiveAnnouncer,lr as SbbMediaMatcherController,ar as SbbMediaQueryBreakpointLargeAndAbove,cr as SbbMediaQueryBreakpointLargeAndBelow,ir as SbbMediaQueryBreakpointSmallAndAbove,sr as SbbMediaQueryBreakpointSmallAndBelow,or as SbbMediaQueryBreakpointUltraAndAbove,rr as SbbMediaQueryBreakpointZeroAndAbove,W as SbbMediaQueryDarkMode,er as SbbMediaQueryForcedColors,tr as SbbMediaQueryHover,nr as SbbMediaQueryPointerCoarse,di as SbbNamedSlotListMixin,fi as SbbNegativeMixin,Rn as SbbOpenCloseBaseElement,xi as SbbOverlayOutsidePointerEventListener,gr as SbbOverlayPositionController,mi as SbbPanelMixin,Wn as SbbPropertyWatcherController,Jr as SbbReadonlyMixin,H as SbbRequiredMixin,vr as SbbScrollController,Ur as SbbScrollHandler,Hn as SbbSelectionGroupBaseElement,hi as SbbSelectionPanelMixin,N as SbbSlottedChangeEvent,gi as SbbUpdateSchedulerMixin,Tr as THURSDAY,Cr as TUESDAY,Mr as TemporalDateAdapter,wr as WEDNESDAY,Oe as appendAriaElements,ii as buttonResetStyles,X as containsPierceShadowDom,q as defaultDateAdapter,I as forceType,Gr as forwardEvent,vi as getElementPosition,yi as getElementPositionHorizontal,$ as getElementRectangle,S as getEventTarget,y as getNextElementIndex,Nr as getOverride,Pr as handleDistinctChange,ai as hostScrollbarStyles,Qe as i18nAdditionalWagonInformationHeading,ze as i18nAnd,Ie as i18nArrival,In as i18nAutocompleteActionsHint,Ze as i18nBlockedPassage,Yt as i18nBreadcrumbEllipsisButtonLabel,Fn as i18nButton,Nt as i18nCalendarDateSelection,Tn as i18nCalendarWeekNumber,On as i18nCarouselArrowsNavigationHint,Dn as i18nCarouselItemAriaLabel,fn as i18nCheckboxRequired,Cn as i18nChipDelete,wn as i18nChipGroupInputDescription,Be as i18nClass,Xt as i18nClearInput,yt as i18nCloseAlert,St as i18nCloseDialog,Ct as i18nCloseNavigation,bt as i18nCloseNotification,Tt as i18nClosePopover,wt as i18nCloseSidebar,Ke as i18nClosedCompartmentLabel,qt as i18nCollapsed,Ut as i18nConnectionFrom,Gt as i18nConnectionRoundtrip,Wt as i18nConnectionTo,Ye as i18nCouchetteWagonLabel,Ht as i18nDateChangedTo,gn as i18nDateInvalid,vn as i18nDateMax,_n as i18nDateMin,Vt as i18nDatePickerPlaceholder,$e as i18nDeparture,xt as i18nDialog,Fe as i18nDirection,tt as i18nDownload,it as i18nDurationDay,rt as i18nDurationHour,nt as i18nDurationMinute,Kt as i18nExpanded,$t as i18nFileSelectorButtonLabel,en as i18nFileSelectorButtonLabelMultiple,an as i18nFileSelectorCurrentlySelected,rn as i18nFileSelectorDeleteFile,tn as i18nFileSelectorSubtitleLabel,nn as i18nFileSelectorSubtitleLabelMultiple,Zt as i18nFlipCard,ft as i18nFromPlatform,Et as i18nGoBack,hn as i18nInputRequired,ln as i18nItemsPerPage,qe as i18nLocomotiveLabel,Nn as i18nLogo125Anniversary,Pn as i18nLogo125AnniversaryYears,Jt as i18nMapContainerButtonLabel,ht as i18nMeansOfTransport,mn as i18nMultipleSelectionPossible,dt as i18nNew,At as i18nNextDay,Ot as i18nNextMonth,on as i18nNextPage,kn as i18nNextSlide,It as i18nNextYear,Pt as i18nNextYearRange,et as i18nNonAccessible,mt as i18nOccupancy,cn as i18nPage,dn as i18nPaginatorOf,un as i18nPaginatorSelected,jt as i18nPreviousDay,kt as i18nPreviousMonth,sn as i18nPreviousPage,An as i18nPreviousSlide,Lt as i18nPreviousYear,Ft as i18nPreviousYearRange,ct as i18nRealTimeInfo,Mn as i18nRemainingCharacters,Xe as i18nRestaurantWagonLabel,Qt as i18nReverseCard,Le as i18nSector,Re as i18nSectorShort,Rt as i18nSelectNextDay,zt as i18nSelectPreviousDay,pn as i18nSelectionRequired,Bt as i18nShowCalendar,Je as i18nSleepingWagonLabel,jn as i18nSlide,pt as i18nSupersaver,gt as i18nTargetOpensInNewWindow,yn as i18nTimeInputChange,bn as i18nTimeInvalid,xn as i18nTimeMax,Sn as i18nTimeMaxLength,En as i18nTimetableFormSwapButtonLabel,Dt as i18nToday,Ve as i18nTrain,He as i18nTrains,lt as i18nTransferProcedure,ut as i18nTransferProcedures,st as i18nTravelhints,ot as i18nTripDuration,at as i18nTripQuayChange,We as i18nWagonLabel,Ge as i18nWagonLabelNumber,Ue as i18nWagonsLabel,_t as i18nWalkingDistanceArrival,vt as i18nWalkingDistanceDeparture,Mt as i18nYearMonthSelection,Fr as idReference,M as interactivityChecker,ie as isAndroid,g as isArrowKeyOrPageKeysPressed,p as isArrowKeyPressed,k as isBlink,oe as isChromium,D as isEdge,_i as isEventOnElement,Ae as isEventPrevented,b as isFakeMousedownFromScreenReader,x as isFakeTouchstartFromScreenReader,re as isFirefox,j as isIOS,ne as isMacOS,h as isNextArrowKeyPressed,se as isNextjs,m as isPreviousArrowKeyPressed,ae as isSafari,O as isTrident,A as isWebkit,Rr as isZeroAnimationDuration,oi as listResetStyles,Pe as mergeConfig,B as omitEmptyConverter,Z as pageScrollDisabled,Lr as plainDate,Ir as plainDateConverter,ci as popoverResetStyles,Wr as preventScrollOnSpacebarPress,Br as queueDomContentLoaded,Q as radioButtonRegistry,R as readConfig,Ei as removeAriaComboBoxAttributes,ke as removeAriaElements,wi as removeAriaOverlayTriggerProperties,T as sbbInputModalityDetector,Ce as sbbLiveAnnouncer,Si as sbbOverlayOutsidePointerEventListener,si as screenReaderOnlyStyles,li as scrollbarStyles,Ti as setAriaComboBoxAttributes,Ci as setAriaOverlayTriggerProperties,zr as setOrRemoveAttribute,bi as setOverlayPosition,De as ɵstateController};
@@ -121342,6 +121342,15 @@
121342
121342
  },
121343
121343
  "privacy": "private"
121344
121344
  },
121345
+ {
121346
+ "kind": "field",
121347
+ "name": "_isOutsidePointerListenerConnected",
121348
+ "type": {
121349
+ "text": "boolean"
121350
+ },
121351
+ "privacy": "private",
121352
+ "default": "false"
121353
+ },
121345
121354
  {
121346
121355
  "kind": "method",
121347
121356
  "name": "_initializeTooltipOutlet",
@@ -121547,6 +121556,16 @@
121547
121556
  }
121548
121557
  }
121549
121558
  },
121559
+ {
121560
+ "kind": "method",
121561
+ "name": "_updateOutsidePointerListener",
121562
+ "privacy": "private",
121563
+ "return": {
121564
+ "type": {
121565
+ "text": "void"
121566
+ }
121567
+ }
121568
+ },
121550
121569
  {
121551
121570
  "kind": "field",
121552
121571
  "name": "disabled",
@@ -6271,6 +6271,7 @@ var SbbOverlayOutsidePointerEventListener = class {
6271
6271
  if (!this._overlays.size) {
6272
6272
  this._abortController?.abort();
6273
6273
  this._abortController = void 0;
6274
+ this._pointerDownEventTarget = void 0;
6274
6275
  if (isIOS) document.body.style.cursor = this._cursorOriginalValue;
6275
6276
  }
6276
6277
  }
@@ -65,6 +65,7 @@ export declare class SbbTooltipElement extends SbbTooltipElement_base {
65
65
  private _closeTimeout?;
66
66
  private _longPressOpenTimeout?;
67
67
  private _longPressCloseTimeout?;
68
+ private _isOutsidePointerListenerConnected;
68
69
  constructor();
69
70
  private static _initializeTooltipOutlet;
70
71
  private static _findAndHandleTooltipTriggers;
@@ -86,6 +87,7 @@ export declare class SbbTooltipElement extends SbbTooltipElement_base {
86
87
  private _addTriggerEventHandlers;
87
88
  private _isZeroAnimationDuration;
88
89
  private _resetOpenCloseTimeout;
90
+ private _updateOutsidePointerListener;
89
91
  protected render(): TemplateResult;
90
92
  }
91
93
  declare global {
@@ -178,6 +178,7 @@ let SbbTooltipElement = (() => {
178
178
  this._triggerElement = null;
179
179
  this._escapableOverlayController = new SbbEscapableOverlayController(this);
180
180
  this._overlayController = new SbbOverlayPositionController(this);
181
+ this._isOutsidePointerListenerConnected = false;
181
182
  this.addEventListener("mouseleave", (event) => {
182
183
  if ((this.state === "opened" || this.state === "opening") && (!event.relatedTarget || !this._triggerElement?.contains(event.relatedTarget))) this._delayedClose();
183
184
  }, { passive: true });
@@ -239,13 +240,15 @@ let SbbTooltipElement = (() => {
239
240
  super.connectedCallback();
240
241
  this.popover = "manual";
241
242
  this.state = "closed";
242
- sbbOverlayOutsidePointerEventListener.connect(this);
243
243
  if (this.hasUpdated && this.trigger) this._attach(this.trigger);
244
244
  }
245
245
  disconnectedCallback() {
246
246
  super.disconnectedCallback();
247
- sbbOverlayOutsidePointerEventListener.disconnect(this);
248
247
  this._detach();
248
+ if (this._isOutsidePointerListenerConnected) {
249
+ sbbOverlayOutsidePointerEventListener.disconnect(this);
250
+ this._isOutsidePointerListenerConnected = false;
251
+ }
249
252
  }
250
253
  requestUpdate(name, oldValue, options) {
251
254
  super.requestUpdate(name, oldValue, options);
@@ -261,6 +264,7 @@ let SbbTooltipElement = (() => {
261
264
  if (this.state !== "closed" && this.state !== "closing" || this.disabled || !this.trigger || !this.dispatchBeforeOpenEvent()) return;
262
265
  this.showPopover?.();
263
266
  this.state = "opening";
267
+ this._updateOutsidePointerListener();
264
268
  this._overlayController.connect(this.trigger);
265
269
  if (this._isZeroAnimationDuration()) this._handleOpening();
266
270
  }
@@ -274,6 +278,7 @@ let SbbTooltipElement = (() => {
274
278
  _delayedOpen() {
275
279
  this._resetOpenCloseTimeout();
276
280
  this._openTimeout = setTimeout(() => this.open(), this.openDelay);
281
+ this._updateOutsidePointerListener();
277
282
  }
278
283
  _handleOpening() {
279
284
  this.state = "opened";
@@ -286,6 +291,7 @@ let SbbTooltipElement = (() => {
286
291
  }
287
292
  _handleClosing() {
288
293
  this.state = "closed";
294
+ this._updateOutsidePointerListener();
289
295
  this.hidePopover?.();
290
296
  this._overlayController.disconnect();
291
297
  this._escapableOverlayController.disconnect();
@@ -307,7 +313,6 @@ let SbbTooltipElement = (() => {
307
313
  this._triggerAbortController?.abort();
308
314
  this._openStateController?.abort();
309
315
  this._resetOpenCloseTimeout();
310
- clearTimeout(this._longPressOpenTimeout);
311
316
  clearTimeout(this._longPressCloseTimeout);
312
317
  if (!this._triggerElement) return;
313
318
  this._triggerElement.ariaDescribedByElements = removeAriaElements(this._triggerElement.ariaDescribedByElements, this);
@@ -341,13 +346,18 @@ let SbbTooltipElement = (() => {
341
346
  clearTimeout(this._longPressOpenTimeout);
342
347
  clearTimeout(this._longPressCloseTimeout);
343
348
  this._longPressOpenTimeout = setTimeout(() => this.open(), LONGPRESS_DELAY);
349
+ this._updateOutsidePointerListener();
344
350
  }, options);
345
351
  trigger.addEventListener("touchend", () => {
346
352
  clearTimeout(this._longPressOpenTimeout);
353
+ this._longPressOpenTimeout = void 0;
347
354
  this._longPressCloseTimeout = setTimeout(() => this.close(), this.longPressCloseDelay);
355
+ this._updateOutsidePointerListener();
348
356
  }, options);
349
357
  trigger.addEventListener("touchcancel", () => {
350
358
  clearTimeout(this._longPressOpenTimeout);
359
+ this._longPressOpenTimeout = void 0;
360
+ this._updateOutsidePointerListener();
351
361
  }, options);
352
362
  }
353
363
  _isZeroAnimationDuration() {
@@ -356,6 +366,18 @@ let SbbTooltipElement = (() => {
356
366
  _resetOpenCloseTimeout() {
357
367
  clearTimeout(this._openTimeout);
358
368
  clearTimeout(this._closeTimeout);
369
+ clearTimeout(this._longPressOpenTimeout);
370
+ this._openTimeout = void 0;
371
+ this._closeTimeout = void 0;
372
+ this._longPressOpenTimeout = void 0;
373
+ this._updateOutsidePointerListener();
374
+ }
375
+ _updateOutsidePointerListener() {
376
+ const shouldConnect = this.isConnected && (this.state !== "closed" || this._openTimeout !== void 0 || this._longPressOpenTimeout !== void 0);
377
+ if (shouldConnect === this._isOutsidePointerListenerConnected) return;
378
+ this._isOutsidePointerListenerConnected = shouldConnect;
379
+ if (shouldConnect) sbbOverlayOutsidePointerEventListener.connect(this);
380
+ else sbbOverlayOutsidePointerEventListener.disconnect(this);
359
381
  }
360
382
  render() {
361
383
  return html`
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@sbb-esta/lyne-elements-dev",
3
- "version": "5.13.2-dev.1794403198",
3
+ "version": "5.13.2-dev.1794407608",
4
4
  "description": "Lyne Design System",
5
5
  "keywords": [
6
6
  "design system",
7
7
  "web components",
8
8
  "lit",
9
- "https://github.com/sbb-design-systems/lyne-components/commit/f246109280f6c2b8bdc10a4a2fdc9c8ae7f1bf59"
9
+ "https://github.com/sbb-design-systems/lyne-components/commit/0d2e1a806f0e451b01139f236a6e529e2da8b823"
10
10
  ],
11
11
  "type": "module",
12
12
  "exports": {
package/tooltip.pure.js CHANGED
@@ -1,5 +1,5 @@
1
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
- `;const S=f||p,C=/* @__PURE__ */ 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`
2
+ `;const S=f||p,C=/* @__PURE__ */ 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._isOutsidePointerListenerConnected=!1,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`,this.hasUpdated&&this.trigger&&this._attach(this.trigger)}disconnectedCallback(){super.disconnectedCallback(),this._detach(),this._isOutsidePointerListenerConnected&&=(b.disconnect(this),!1)}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._updateOutsidePointerListener(),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),this._updateOutsidePointerListener()}_handleOpening(){this.state=`opened`,this._escapableOverlayController.connect(),this.dispatchOpenEvent()}_delayedClose(){this._resetOpenCloseTimeout(),this._closeTimeout=setTimeout(()=>this.close(),this.closeDelay)}_handleClosing(){this.state=`closed`,this._updateOutsidePointerListener(),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._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),this._updateOutsidePointerListener()},t),e.addEventListener(`touchend`,()=>{clearTimeout(this._longPressOpenTimeout),this._longPressOpenTimeout=void 0,this._longPressCloseTimeout=setTimeout(()=>this.close(),this.longPressCloseDelay),this._updateOutsidePointerListener()},t),e.addEventListener(`touchcancel`,()=>{clearTimeout(this._longPressOpenTimeout),this._longPressOpenTimeout=void 0,this._updateOutsidePointerListener()},t)}_isZeroAnimationDuration(){return m(this,`--sbb-tooltip-animation-duration`)}_resetOpenCloseTimeout(){clearTimeout(this._openTimeout),clearTimeout(this._closeTimeout),clearTimeout(this._longPressOpenTimeout),this._openTimeout=void 0,this._closeTimeout=void 0,this._longPressOpenTimeout=void 0,this._updateOutsidePointerListener()}_updateOutsidePointerListener(){let e=this.isConnected&&(this.state!==`closed`||this._openTimeout!==void 0||this._longPressOpenTimeout!==void 0);e!==this._isOutsidePointerListenerConnected&&(this._isOutsidePointerListenerConnected=e,e?b.connect(this):b.disconnect(this))}render(){return n`
3
3
  <div class="sbb-tooltip">
4
4
  <slot></slot>
5
5
  </div>