@sbb-esta/lyne-elements 5.1.0 → 5.3.0

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 (91) hide show
  1. package/_index.scss +1 -0
  2. package/action-group.pure.js +1 -1
  3. package/alert.pure.js +14 -14
  4. package/breadcrumb.pure.js +3 -3
  5. package/calendar.pure.js +68 -68
  6. package/carousel/_carousel.global.scss +6 -0
  7. package/carousel.pure.js +1 -1
  8. package/chip.pure.js +1 -1
  9. package/clock.pure.js +1 -1
  10. package/core/styles/_theme.scss +6 -0
  11. package/core.js +17 -17
  12. package/custom-elements.json +1626 -221
  13. package/date-input.pure.js +1 -1
  14. package/development/action-group.pure.js +1 -1
  15. package/development/alert.pure.js +14 -14
  16. package/development/breadcrumb.pure.js +3 -3
  17. package/development/calendar.pure.js +67 -67
  18. package/development/carousel.pure.js +1 -1
  19. package/development/chip/chip-group/chip-group.component.d.ts +2 -1
  20. package/development/chip.pure.js +3 -0
  21. package/development/clock.pure.js +15 -17
  22. package/development/core/i18n/i18n.d.ts +2 -0
  23. package/development/core.js +15 -3
  24. package/development/date-input.pure.js +15 -7
  25. package/development/download/download/download.component.d.ts +51 -0
  26. package/development/download/download-info/download-info.component.d.ts +59 -0
  27. package/development/download.d.ts +1 -0
  28. package/development/download.js +10 -0
  29. package/development/download.pure.d.ts +3 -0
  30. package/development/download.pure.js +436 -0
  31. package/development/expansion-panel.pure.js +6 -6
  32. package/development/file-selector.pure.js +7 -3
  33. package/development/flip-card.pure.js +5 -4
  34. package/development/image.pure.js +8 -8
  35. package/development/map-container.pure.js +8 -8
  36. package/development/mini-calendar.pure.js +1 -1
  37. package/development/notification.pure.js +12 -9
  38. package/development/option.pure.js +11 -11
  39. package/development/overlay.pure.js +1 -1
  40. package/development/paginator.pure.js +18 -18
  41. package/development/popover.pure.js +1 -1
  42. package/development/signet.pure.js +17 -17
  43. package/development/stepper/step/step.component.d.ts +0 -2
  44. package/development/stepper/stepper/stepper.component.d.ts +2 -2
  45. package/development/stepper.pure.js +24 -17
  46. package/development/tabs.pure.js +4 -4
  47. package/development/teaser.pure.js +1 -1
  48. package/development/time-input.pure.js +10 -6
  49. package/development/timetable-form.pure.js +3 -3
  50. package/development/timetable-occupancy.pure.js +22 -22
  51. package/development/toast.pure.js +6 -6
  52. package/development/tooltip.pure.js +4 -2
  53. package/development/train.pure.js +29 -29
  54. package/development/visual-checkbox.pure.js +13 -13
  55. package/download/_download.global.scss +12 -0
  56. package/download.js +1 -0
  57. package/download.pure.js +21 -0
  58. package/expansion-panel.pure.js +6 -6
  59. package/file-selector.pure.js +2 -2
  60. package/flip-card.pure.js +1 -1
  61. package/image.pure.js +8 -8
  62. package/index.d.ts +3 -0
  63. package/index.js +3 -0
  64. package/lean-off-brand-theme.css +45 -5
  65. package/lean-safety-theme.css +45 -5
  66. package/lean-theme.css +45 -5
  67. package/map-container.pure.js +8 -8
  68. package/mini-calendar.pure.js +1 -1
  69. package/notification.pure.js +12 -9
  70. package/off-brand-theme.css +45 -5
  71. package/option.pure.js +11 -11
  72. package/overlay/_overlay.global.scss +0 -4
  73. package/overlay.pure.js +1 -1
  74. package/package.json +11 -1
  75. package/paginator.pure.js +18 -18
  76. package/popover.pure.js +2 -2
  77. package/safety-theme.css +45 -5
  78. package/signet.pure.js +17 -17
  79. package/standard-theme.css +45 -5
  80. package/stepper.pure.js +3 -3
  81. package/table/_table.global.scss +46 -1
  82. package/tabs.pure.js +4 -4
  83. package/teaser/_teaser.global.scss +4 -0
  84. package/teaser.pure.js +1 -1
  85. package/time-input.pure.js +1 -1
  86. package/timetable-form.pure.js +3 -3
  87. package/timetable-occupancy.pure.js +22 -22
  88. package/toast.pure.js +6 -6
  89. package/tooltip.pure.js +3 -3
  90. package/train.pure.js +29 -29
  91. package/visual-checkbox.pure.js +13 -13
package/train.pure.js CHANGED
@@ -2,15 +2,15 @@ import{html as e,isServer as t,nothing as n,unsafeCSS as r}from"lit";import{SbbB
2
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}
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
- ${this._sectors.map(t=>e`<span
6
- class="sbb-train-formation__sector"
7
- style=${j({"--sbb-train-formation-wagon-count":t.wagonCount,"--sbb-train-formation-wagon-blocked-passage-count":t.blockedPassageCount})}
8
- >
9
- <span class="sbb-train-formation__sector-sticky-wrapper">
10
- ${`${t.wagonCount===1&&t.label?S[this._language.current]:x[this._language.current]} ${t.label?t.label:``}`}
11
- </span>
12
- </span>`)}
13
- </div>`:n}
5
+ ${this._sectors.map(t=>e`<span
6
+ class="sbb-train-formation__sector"
7
+ style=${j({"--sbb-train-formation-wagon-count":t.wagonCount,"--sbb-train-formation-wagon-blocked-passage-count":t.blockedPassageCount})}
8
+ >
9
+ <span class="sbb-train-formation__sector-sticky-wrapper">
10
+ ${`${t.wagonCount===1&&t.label?S[this._language.current]:x[this._language.current]} ${t.label?t.label:``}`}
11
+ </span>
12
+ </span>`)}
13
+ </div>`:n}
14
14
 
15
15
  <div class="sbb-train-formation__trains">
16
16
  ${this.renderList({class:`sbb-train-formation__train-list`,ariaLabel:w[this._language.current]})}
@@ -36,13 +36,13 @@ import{html as e,isServer as t,nothing as n,unsafeCSS as r}from"lit";import{SbbB
36
36
  ${this.label?M`<li class="sbb-screen-reader-only">${a}</li>`:n}
37
37
  ${this.wagonClass&&this.wagonType!==`closed`?M`<li class="sbb-train-wagon__class">${o}</li>`:n}
38
38
  ${this.occupancy&&this.wagonType!==`closed`?M`<sbb-timetable-occupancy-icon
39
- class="sbb-train-wagon__occupancy"
40
- role="listitem"
41
- occupancy=${this.occupancy}
42
- ></sbb-timetable-occupancy-icon>`:n}
39
+ class="sbb-train-wagon__occupancy"
40
+ role="listitem"
41
+ occupancy=${this.occupancy}
42
+ ></sbb-timetable-occupancy-icon>`:n}
43
43
  ${t?M`<li class="sbb-screen-reader-only">
44
- ${h[e][this._language.current]}
45
- </li>`:n}
44
+ ${h[e][this._language.current]}
45
+ </li>`:n}
46
46
  </ul>`,()=>M`<div class="sbb-train-wagon__compartment">
47
47
  <span class="sbb-screen-reader-only">
48
48
  ${`${this._wagonTypeLabel()}${this.sector?`, ${i}`:``}`}
@@ -50,17 +50,17 @@ import{html as e,isServer as t,nothing as n,unsafeCSS as r}from"lit";import{SbbB
50
50
  ${this.label?M`<span class="sbb-screen-reader-only">${a}</span>`:n}
51
51
  ${this.wagonClass&&this.wagonType!==`closed`?M`<span class="sbb-train-wagon__class">${o}</span>`:n}
52
52
  ${this.occupancy&&this.wagonType!==`closed`?M`<sbb-timetable-occupancy-icon
53
- class="sbb-train-wagon__occupancy"
54
- occupancy=${this.occupancy}
55
- ></sbb-timetable-occupancy-icon>`:n}
53
+ class="sbb-train-wagon__occupancy"
54
+ occupancy=${this.occupancy}
55
+ ></sbb-timetable-occupancy-icon>`:n}
56
56
  ${t?M`<span class="sbb-screen-reader-only">
57
- ${h[e][this._language.current]}
58
- </span>`:n}
57
+ ${h[e][this._language.current]}
58
+ </span>`:n}
59
59
  </div> `)}
60
60
  ${V[this.wagonType]?M`<sbb-icon
61
- name=${V[this.wagonType]}
62
- class="sbb-train-wagon__main-icon"
63
- ></sbb-icon>`:n}
61
+ name=${V[this.wagonType]}
62
+ class="sbb-train-wagon__main-icon"
63
+ ></sbb-icon>`:n}
64
64
  <svg class="sbb-train-wagon__shape" viewBox="0 0 84 36" aria-hidden="true">
65
65
  <path d=${s}></path>
66
66
  <path
@@ -73,18 +73,18 @@ import{html as e,isServer as t,nothing as n,unsafeCSS as r}from"lit";import{SbbB
73
73
  ></path>
74
74
  </svg>
75
75
  ${this.additionalAccessibilityText?M`<span class="sbb-screen-reader-only"
76
- >, ${this.additionalAccessibilityText}</span
77
- >`:n}
76
+ >, ${this.additionalAccessibilityText}</span
77
+ >`:n}
78
78
  <span
79
79
  class="sbb-train-wagon__information-wrapper"
80
80
  ?hidden=${!this.listChildren.length&&!this.label}
81
81
  >
82
82
  ${this.label?M`<span aria-hidden="true" class="sbb-train-wagon__label">${this.label}</span>`:n}
83
83
  ${this.label&&this.listChildren.length?M`<sbb-divider
84
- orientation=${this.orientation===`vertical`?`horizontal`:`vertical`}
85
- aria-hidden="true"
86
- class="sbb-train-wagon__label-divider"
87
- ></sbb-divider>`:n}
84
+ orientation=${this.orientation===`vertical`?`horizontal`:`vertical`}
85
+ aria-hidden="true"
86
+ class="sbb-train-wagon__label-divider"
87
+ ></sbb-divider>`:n}
88
88
  ${this.renderList({class:`sbb-train-wagon__attribute-icon-list`,ariaLabel:p[this._language.current]})}
89
89
  </span>
90
90
  </div>
@@ -1,17 +1,17 @@
1
1
  import{__esDecorate as e,__runInitializers as t}from"tslib";import{html as n,nothing as r,unsafeCSS as i}from"lit";import{property as a}from"lit/decorators.js";import{SbbDisabledMixin as o,SbbElement as s,SbbNegativeMixin as c,forceType as l}from"./core.js";var u=`:host{width:var(--sbb-visual-checkbox-dimension);height:var(--sbb-visual-checkbox-dimension);border-radius:var(--sbb-border-radius-2x);background-color:var(--sbb-visual-checkbox-background-color);cursor:var(--sbb-visual-checkbox-cursor);outline:var(--sbb-visual-checkbox-border-width) var(--sbb-visual-checkbox-border-style) var(--sbb-visual-checkbox-border-color);outline-offset:calc(-1 * var(--sbb-visual-checkbox-border-width));flex-shrink:0;justify-content:center;align-items:center;display:flex}:host([size=xs]){--sbb-visual-checkbox-dimension:var(--sbb-checkbox-dimension-xs)}:host([size=s]){--sbb-visual-checkbox-dimension:var(--sbb-checkbox-dimension-s)}:host([size=m]){--sbb-visual-checkbox-dimension:var(--sbb-checkbox-dimension-m)}:host([negative]){--sbb-visual-checkbox-background-color:var(--sbb-visual-checkbox-background-color-negative);--sbb-visual-checkbox-selection-color:var(--sbb-visual-checkbox-selection-color-negative)}:host([disabled]){--sbb-visual-checkbox-background-color:var(--sbb-visual-checkbox-background-color-disabled);--sbb-visual-checkbox-border-style:var(--sbb-visual-checkbox-border-style-disabled);--sbb-visual-checkbox-cursor:var(--sbb-cursor-default);--sbb-visual-checkbox-border-color:var(--sbb-visual-checkbox-border-color-disabled);--sbb-visual-checkbox-selection-color:var(--sbb-visual-checkbox-selection-color-disabled)}:host([disabled][negative]){--sbb-visual-checkbox-background-color:var(--sbb-visual-checkbox-background-color-negative-disabled);--sbb-visual-checkbox-selection-color:var(--sbb-visual-checkbox-selection-color-disabled-negative)}@media (forced-colors:active){:host([indeterminate]){--sbb-visual-checkbox-selection-color:ButtonBorder}:host([indeterminate][disabled]){--sbb-visual-checkbox-selection-color:GrayText}:host([checked]:not([indeterminate])){--sbb-visual-checkbox-background-color:Highlight;--sbb-visual-checkbox-border-width:0}:host([disabled][checked]:not([indeterminate])){--sbb-visual-checkbox-background-color:GrayText}}path{stroke:var(--sbb-visual-checkbox-selection-color)}
2
2
  `;let d=(()=>{let d=o(c(s)),f,p=[],m=[],h,g=[],_=[],v,y=[],b=[];return class extends d{static{let t=typeof Symbol==`function`&&Symbol.metadata?Object.create(d[Symbol.metadata]??null):void 0;f=[l(),a({reflect:!0,type:Boolean})],h=[l(),a({reflect:!0,type:Boolean})],v=[a({reflect:!0})],e(this,null,f,{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},p,m),e(this,null,h,{kind:`accessor`,name:`indeterminate`,static:!1,private:!1,access:{has:e=>`indeterminate`in e,get:e=>e.indeterminate,set:(e,t)=>{e.indeterminate=t}},metadata:t},g,_),e(this,null,v,{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},y,b),t&&Object.defineProperty(this,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t})}static{this.elementName=`sbb-visual-checkbox`}static{this.styles=[i(u)]}#e=t(this,p,!1);get checked(){return this.#e}set checked(e){this.#e=e}#t=(t(this,m),t(this,g,!1));get indeterminate(){return this.#t}set indeterminate(e){this.#t=e}#n=(t(this,_),t(this,y,null));get size(){return this.#n}set size(e){this.#n=e}render(){return n`
3
3
  ${this.checked||this.indeterminate?n`<svg
4
- viewBox="0 0 24 24"
5
- xmlns="http://www.w3.org/2000/svg"
6
- width="100%"
7
- height="100%"
8
- >
9
- <path
10
- fill="none"
11
- d=${this.indeterminate?`M9 12H15`:`M8 12.3304L10.4615 15L16 9`}
12
- stroke-width="2"
13
- stroke-linecap="round"
14
- stroke-linejoin="round"
15
- />
16
- </svg>`:r}
4
+ viewBox="0 0 24 24"
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width="100%"
7
+ height="100%"
8
+ >
9
+ <path
10
+ fill="none"
11
+ d=${this.indeterminate?`M9 12H15`:`M8 12.3304L10.4615 15L16 9`}
12
+ stroke-width="2"
13
+ stroke-linecap="round"
14
+ stroke-linejoin="round"
15
+ />
16
+ </svg>`:r}
17
17
  `}constructor(){super(...arguments),t(this,b)}}})();export{d as SbbVisualCheckboxElement};