@sbb-esta/lyne-elements-dev 5.1.0-dev.1782718491 → 5.1.0-dev.1782741955

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.
@@ -9,3 +9,9 @@ $theme: 'standard' !default;
9
9
  --sbb-carousel-paginator-padding: var(--sbb-spacing-responsive-xs);
10
10
  --sbb-carousel-list-border-radius: var(--sbb-border-radius-4x);
11
11
  }
12
+
13
+ @mixin rules {
14
+ sbb-carousel-item sbb-image {
15
+ border-radius: unset;
16
+ }
17
+ }
package/carousel.pure.js CHANGED
@@ -1,4 +1,4 @@
1
- import{html as e,unsafeCSS as t}from"lit";import{SbbElement as n,SbbLanguageController as r,forceType as i,i18nCarouselArrowsNavigationHint as a,i18nCarouselItemAriaLabel as o,i18nNextSlide as s,i18nPreviousSlide as c,i18nSlide as l,isArrowKeyPressed as u,screenReaderOnlyStyles as d}from"./core.js";import{IntersectionController as f}from"@lit-labs/observers/intersection-controller.js";import{ResizeController as p}from"@lit-labs/observers/resize-controller.js";import{__esDecorate as m,__runInitializers as h}from"tslib";import{property as g}from"lit/decorators.js";var _=`:host{scroll-snap-align:start;flex-shrink:0;display:flex}::slotted(sbb-image){border-radius:unset}
1
+ import{html as e,unsafeCSS as t}from"lit";import{SbbElement as n,SbbLanguageController as r,forceType as i,i18nCarouselArrowsNavigationHint as a,i18nCarouselItemAriaLabel as o,i18nNextSlide as s,i18nPreviousSlide as c,i18nSlide as l,isArrowKeyPressed as u,screenReaderOnlyStyles as d}from"./core.js";import{IntersectionController as f}from"@lit-labs/observers/intersection-controller.js";import{ResizeController as p}from"@lit-labs/observers/resize-controller.js";import{__esDecorate as m,__runInitializers as h}from"tslib";import{property as g}from"lit/decorators.js";var _=`:host{scroll-snap-align:start;flex-shrink:0;display:flex}
2
2
  `,v=class extends Event{get index(){return this._index}constructor(e,{index:t}){super(e,{bubbles:!0,composed:!0}),this._index=t}},y=class extends n{static{this.elementName=`sbb-carousel-item`}static{this.styles=[t(_)]}static{this.events={beforeshow:`beforeshow`,show:`show`}}connectedCallback(){super.connectedCallback(),this.internals.role=`group`,this.internals.ariaRoleDescription=`slide`}render(){return e`<slot></slot>`}},b=`:host{height:var(--sbb-carousel-list-height);width:var(--sbb-carousel-list-width,0);scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;border-radius:var(--sbb-carousel-inherit-border-radius);outline:none;display:flex;overflow-x:auto}:host(:focus-visible):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);content:"";height:inherit;width:inherit;border-start-start-radius:var(--sbb-carousel-list-border-radius);border-start-end-radius:var(--sbb-carousel-list-border-radius);border-end-end-radius:var(--sbb-carousel-inherit-border-radius);border-end-start-radius:var(--sbb-carousel-inherit-border-radius);position:absolute}
3
3
  `,x=class extends n{static{this.elementName=`sbb-carousel-list`}static{this.styles=[t(b)]}constructor(){super(),this._currentIndex=0,this._language=new r(this),this._observedCarouselItems=[],this._beforeShowObserver=new f(this,{target:null,callback:e=>{e.filter(e=>e.isIntersecting&&e.target!==this).forEach(e=>{let t=e.target;t.dispatchEvent(new v(`beforeshow`,{index:this._carouselItems().findIndex(e=>e===t)}))})},config:{threshold:.01,root:this,rootMargin:`100% 0% 100% 0%`}}),this._showObserver=new f(this,{target:null,callback:e=>{for(let t of e){if(t.target===this)continue;let e=t.target;t.isIntersecting?(e.ariaHidden=null,this._currentIndex=this._carouselItems().findIndex(t=>t===e),e.dispatchEvent(new v(`show`,{index:this._currentIndex}))):e.ariaHidden=`true`}},config:{threshold:.99,root:this,rootMargin:`100% 0% 100% 0%`}}),this._resizeObserverController=new p(this,{skipInitial:!0,callback:()=>this._readDimensions()}),this.addEventListener?.(`keydown`,e=>this._onKeyDown(e))}_carouselItems(){return Array.from(this.querySelectorAll?.(`sbb-carousel-item`)??[])}_handleSlotchange(){this._observedCarouselItems.forEach(e=>{this._beforeShowObserver.unobserve(e),this._showObserver.unobserve(e)});let e=this._carouselItems();e.forEach((t,n)=>{t.ariaLabel||=o(n+1,e.length)[this._language.current],t.ariaHidden=n===this._currentIndex?null:`true`}),this._readDimensions()}_readDimensions(){let e=this._carouselItems();if(e.length===0)return;let t=e[0];t.clientHeight>0&&this.style.setProperty(`--sbb-carousel-list-height`,`${t.clientHeight}px`),t.clientWidth>0&&(this.style.setProperty(`--sbb-carousel-list-width`,`${t.clientWidth}px`),e.forEach(e=>{this._beforeShowObserver.observe(e),this._showObserver.observe(e)}),this._observedCarouselItems=e,this._resizeObserverController.unobserve(this))}_onKeyDown(e){if(!u(e))return;e.preventDefault();let t=this._currentIndex,n=e.key===`ArrowUp`||e.key===`ArrowLeft`,r=e.key===`ArrowDown`||e.key===`ArrowRight`;n?t=Math.max(0,this._currentIndex-1):r&&(t=Math.min(this._carouselItems().length-1,this._currentIndex+1)),t!==this._currentIndex&&(this._currentIndex=t,this.scrollTo({left:this._carouselItems()[this._currentIndex].offsetLeft-this.offsetLeft}))}connectedCallback(){super.connectedCallback(),this.internals.ariaLive=`polite`,this.internals.ariaAtomic=`true`}render(){return e`<slot @slotchange=${this._handleSlotchange}></slot>`}},S=`:host{border-radius:var(--sbb-carousel-border-radius) var(--sbb-carousel-border-radius) 0 0;display:inline-block;overflow:hidden}:host([shadow]){box-shadow:var(--sbb-carousel-box-shadow);border-radius:var(--sbb-carousel-border-radius)}:host(:not([shadow])) ::slotted(sbb-carousel-list){--sbb-carousel-inherit-border-radius:var(--sbb-carousel-border-radius)}.sbb-carousel{background-color:var(--sbb-carousel-background-color);flex-direction:column;justify-content:center;align-items:center;display:flex}::slotted(sbb-compact-paginator){padding:var(--sbb-carousel-paginator-padding)}
4
4
  `;let C=(()=>{let o=n,u,f=[],p=[];return class extends o{static{let e=typeof Symbol==`function`&&Symbol.metadata?Object.create(o[Symbol.metadata]??null):void 0;u=[i(),g({reflect:!0,type:Boolean})],m(this,null,u,{kind:`accessor`,name:`shadow`,static:!1,private:!1,access:{has:e=>`shadow`in e,get:e=>e.shadow,set:(e,t)=>{e.shadow=t}},metadata:e},f,p),e&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:e})}static{this.elementName=`sbb-carousel`}static{this.styles=[d,t(S)]}#e;get shadow(){return this.#e}set shadow(e){this.#e=e}constructor(){super(),this.#e=h(this,f,!1),this._paginator=(h(this,p),null),this._abortController=null,this._language=new r(this),this._requestedPageIndexByPaginator=-1,this.addEventListener?.(`show`,e=>{this._requestedPageIndexByPaginator!==-1&&this._requestedPageIndexByPaginator!==e.index||(this._paginator&&e.index!==this._paginator.pageIndex&&(this._paginator.pageIndex=e.index),this._requestedPageIndexByPaginator=-1)})}connectedCallback(){super.connectedCallback(),this.internals.role=`region`,this.internals.ariaLabel=`carousel`,this._setupPaginator()}firstUpdated(e){super.firstUpdated(e),this.internals.ariaDescribedByElements=[this.shadowRoot.querySelector(`#sbb-carousel-arrows-navigation-hint`)]}disconnectedCallback(){super.disconnectedCallback(),this._abortController?.abort()}_handleSlotchange(){let e=Array.from(this.children).find(e=>e.localName===`sbb-compact-paginator`),t=Array.from(this.children).find(e=>e.localName===`sbb-carousel-list`);if(!e||!t)return;let n=t.querySelectorAll(`sbb-carousel-item`);n&&n.length>0&&(e.length=n.length,e.pageSize=1),e.accessibilityNextPageLabel||=s[this._language.current],e.accessibilityPreviousPageLabel||=c[this._language.current],e.accessibilityPageLabel||=l[this._language.current],e!==this._paginator&&(this._paginator=e,this._setupPaginator())}_setupPaginator(){this._abortController?.abort(),this._paginator&&(this._abortController=new AbortController,this._paginator.addEventListener(`click`,()=>this._scrollAtPaginatorChange(),{signal:this._abortController.signal}))}_scrollAtPaginatorChange(){if(!this._paginator)return;this._requestedPageIndexByPaginator=this._paginator.pageIndex;let e=this.querySelector(`sbb-carousel-list`);if(e){let t=e.querySelectorAll(`sbb-carousel-item`)[this._paginator.pageIndex].offsetLeft-this.offsetLeft;(e.clientWidth<=100||Math.abs(e.scrollLeft-t)>50)&&e.scrollTo({left:t})}}render(){return e`
@@ -338,6 +338,7 @@ $theme: 'standard' !default;
338
338
  @include badge.rules;
339
339
  @include breadcrumb.rules;
340
340
  @include card.rules;
341
+ @include carousel.rules;
341
342
  @include container.rules;
342
343
  @include dialog.rules;
343
344
  @include flip-card.rules;
@@ -6,7 +6,7 @@ import { __esDecorate, __runInitializers } from "tslib";
6
6
  import { property } from "lit/decorators.js";
7
7
 
8
8
  //#region src/elements/carousel/carousel-item/carousel-item.scss?inline
9
- var carousel_item_default = ":host {\n display: flex;\n scroll-snap-align: start;\n flex-shrink: 0;\n}\n\n::slotted(sbb-image) {\n border-radius: unset;\n}\n";
9
+ var carousel_item_default = ":host {\n display: flex;\n scroll-snap-align: start;\n flex-shrink: 0;\n}\n";
10
10
 
11
11
  //#endregion
12
12
  //#region src/elements/carousel/carousel-item/carousel-item.component.ts
@@ -2256,6 +2256,10 @@ sbb-card .sbb-action {
2256
2256
  pointer-events: all;
2257
2257
  }
2258
2258
 
2259
+ sbb-carousel-item sbb-image {
2260
+ border-radius: unset;
2261
+ }
2262
+
2259
2263
  sbb-container > [slot=image]:is(sbb-image, img),
2260
2264
  sbb-container > [slot=image] :is(sbb-image, img):not(.sbb-figure-overlap-image) {
2261
2265
  --sbb-image-object-fit: cover;
@@ -2256,6 +2256,10 @@ sbb-card .sbb-action {
2256
2256
  pointer-events: all;
2257
2257
  }
2258
2258
 
2259
+ sbb-carousel-item sbb-image {
2260
+ border-radius: unset;
2261
+ }
2262
+
2259
2263
  sbb-container > [slot=image]:is(sbb-image, img),
2260
2264
  sbb-container > [slot=image] :is(sbb-image, img):not(.sbb-figure-overlap-image) {
2261
2265
  --sbb-image-object-fit: cover;
package/lean-theme.css CHANGED
@@ -2256,6 +2256,10 @@ sbb-card .sbb-action {
2256
2256
  pointer-events: all;
2257
2257
  }
2258
2258
 
2259
+ sbb-carousel-item sbb-image {
2260
+ border-radius: unset;
2261
+ }
2262
+
2259
2263
  sbb-container > [slot=image]:is(sbb-image, img),
2260
2264
  sbb-container > [slot=image] :is(sbb-image, img):not(.sbb-figure-overlap-image) {
2261
2265
  --sbb-image-object-fit: cover;
@@ -2256,6 +2256,10 @@ sbb-card .sbb-action {
2256
2256
  pointer-events: all;
2257
2257
  }
2258
2258
 
2259
+ sbb-carousel-item sbb-image {
2260
+ border-radius: unset;
2261
+ }
2262
+
2259
2263
  sbb-container > [slot=image]:is(sbb-image, img),
2260
2264
  sbb-container > [slot=image] :is(sbb-image, img):not(.sbb-figure-overlap-image) {
2261
2265
  --sbb-image-object-fit: cover;
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@sbb-esta/lyne-elements-dev",
3
- "version": "5.1.0-dev.1782718491",
3
+ "version": "5.1.0-dev.1782741955",
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/c2a27bf4f052edfd27b4e64f78bbb295f605fc58"
9
+ "https://github.com/sbb-design-systems/lyne-components/commit/d185b414012c80b86d44a7401d724ca7b5f18bc0"
10
10
  ],
11
11
  "type": "module",
12
12
  "exports": {
package/safety-theme.css CHANGED
@@ -2256,6 +2256,10 @@ sbb-card .sbb-action {
2256
2256
  pointer-events: all;
2257
2257
  }
2258
2258
 
2259
+ sbb-carousel-item sbb-image {
2260
+ border-radius: unset;
2261
+ }
2262
+
2259
2263
  sbb-container > [slot=image]:is(sbb-image, img),
2260
2264
  sbb-container > [slot=image] :is(sbb-image, img):not(.sbb-figure-overlap-image) {
2261
2265
  --sbb-image-object-fit: cover;
@@ -2256,6 +2256,10 @@ sbb-card .sbb-action {
2256
2256
  pointer-events: all;
2257
2257
  }
2258
2258
 
2259
+ sbb-carousel-item sbb-image {
2260
+ border-radius: unset;
2261
+ }
2262
+
2259
2263
  sbb-container > [slot=image]:is(sbb-image, img),
2260
2264
  sbb-container > [slot=image] :is(sbb-image, img):not(.sbb-figure-overlap-image) {
2261
2265
  --sbb-image-object-fit: cover;